Moved MyAMS resources to dedicated package
authorThierry Florac <tflorac@ulthar.net>
Sun, 19 Jul 2020 02:02:20 +0200
changeset 565 318533413200
parent 564 a1c75f3e0bc7
child 566 a1707c607eec
Moved MyAMS resources to dedicated package
src/pyams_skin/resources/css/ext/jquery-dndupload.min.css
src/pyams_skin/resources/css/ext/jquery-imgareaselect.min.css
src/pyams_skin/resources/css/ext/jquery-tipsy.css
src/pyams_skin/resources/css/ext/jquery-ui-1.11.2.css
src/pyams_skin/resources/css/fonts/Ubuntu-L.eot
src/pyams_skin/resources/css/myams.css
src/pyams_skin/resources/img/datatable/sort_desc.png
src/pyams_skin/resources/img/fancybox/fancybox_sprite@2x.png
src/pyams_skin/resources/img/mimetypes/16x16/application-msword-template.png
src/pyams_skin/resources/img/mimetypes/16x16/application-pdf.png
src/pyams_skin/resources/img/mimetypes/16x16/application-pgp-keys.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.iccprofile.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.ms-powerpoint.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.database.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.presentation-template.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.presentation.png
src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.spreadsheet.png
src/pyams_skin/resources/img/mimetypes/16x16/application-x-deb.png
src/pyams_skin/resources/img/mimetypes/16x16/application-x-font-bdf.png
src/pyams_skin/resources/img/mimetypes/16x16/application-x-srt.png
src/pyams_skin/resources/img/mimetypes/16x16/application-x-trash.png
src/pyams_skin/resources/img/mimetypes/16x16/audio-ac3.png
src/pyams_skin/resources/img/mimetypes/16x16/message-news.png
src/pyams_skin/resources/img/mimetypes/16x16/text-calendar.png
src/pyams_skin/resources/img/mimetypes/16x16/text-csv.png
src/pyams_skin/resources/img/mimetypes/16x16/text-x-lilypond.png
src/pyams_skin/resources/img/mimetypes/16x16/text-x-python.png
src/pyams_skin/resources/img/mimetypes/application-illustrator.png
src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.chart.png
src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.graphics.png
src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.presentation-template.png
src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.spreadsheet.png
src/pyams_skin/resources/img/mimetypes/application-vnd.scribus.png
src/pyams_skin/resources/img/mimetypes/application-x-compressed-tar.png
src/pyams_skin/resources/img/mimetypes/application-x-egon.png
src/pyams_skin/resources/img/mimetypes/application-x-kplato.png
src/pyams_skin/resources/img/mimetypes/application-x-lyx.png
src/pyams_skin/resources/img/mimetypes/application-x-perl.png
src/pyams_skin/resources/img/mimetypes/application-x-php.png
src/pyams_skin/resources/img/mimetypes/application-x-rpm.png
src/pyams_skin/resources/img/mimetypes/application-x-smb-workgroup.png
src/pyams_skin/resources/img/mimetypes/application-x-troff-man.png
src/pyams_skin/resources/img/mimetypes/audio-x-speex+ogg.png
src/pyams_skin/resources/img/mimetypes/inode-directory.png
src/pyams_skin/resources/img/mimetypes/text-calendar.png
src/pyams_skin/resources/img/mimetypes/text-x-qml.png
src/pyams_skin/resources/img/mimetypes/x-office-address-book.png
src/pyams_skin/resources/img/mimetypes/x-office-document.png
src/pyams_skin/resources/img/select2-spinner.gif
src/pyams_skin/resources/js/ext/ace/ext-error_marker.js
src/pyams_skin/resources/js/ext/ace/ext-searchbox.min.js
src/pyams_skin/resources/js/ext/ace/ext-spellcheck.min.js
src/pyams_skin/resources/js/ext/ace/ext-statusbar.min.js
src/pyams_skin/resources/js/ext/ace/mode-abap.js
src/pyams_skin/resources/js/ext/ace/mode-ada.js
src/pyams_skin/resources/js/ext/ace/mode-assembly_x86.min.js
src/pyams_skin/resources/js/ext/ace/mode-bro.min.js
src/pyams_skin/resources/js/ext/ace/mode-coffee.min.js
src/pyams_skin/resources/js/ext/ace/mode-csound_orchestra.js
src/pyams_skin/resources/js/ext/ace/mode-csound_score.js
src/pyams_skin/resources/js/ext/ace/mode-curly.min.js
src/pyams_skin/resources/js/ext/ace/mode-dockerfile.js
src/pyams_skin/resources/js/ext/ace/mode-edifact.js
src/pyams_skin/resources/js/ext/ace/mode-ftl.min.js
src/pyams_skin/resources/js/ext/ace/mode-gitignore.js
src/pyams_skin/resources/js/ext/ace/mode-gitignore.min.js
src/pyams_skin/resources/js/ext/ace/mode-haskell.min.js
src/pyams_skin/resources/js/ext/ace/mode-hjson.js
src/pyams_skin/resources/js/ext/ace/mode-html_elixir.min.js
src/pyams_skin/resources/js/ext/ace/mode-javascript.min.js
src/pyams_skin/resources/js/ext/ace/mode-kotlin.js
src/pyams_skin/resources/js/ext/ace/mode-lisp.js
src/pyams_skin/resources/js/ext/ace/mode-mask.min.js
src/pyams_skin/resources/js/ext/ace/mode-mysql.js
src/pyams_skin/resources/js/ext/ace/mode-nix.min.js
src/pyams_skin/resources/js/ext/ace/mode-ocaml.min.js
src/pyams_skin/resources/js/ext/ace/mode-pascal.js
src/pyams_skin/resources/js/ext/ace/mode-pascal.min.js
src/pyams_skin/resources/js/ext/ace/mode-powershell.js
src/pyams_skin/resources/js/ext/ace/mode-protobuf.js
src/pyams_skin/resources/js/ext/ace/mode-rhtml.js
src/pyams_skin/resources/js/ext/ace/mode-rst.min.js
src/pyams_skin/resources/js/ext/ace/mode-ruby.min.js
src/pyams_skin/resources/js/ext/ace/mode-sass.js
src/pyams_skin/resources/js/ext/ace/mode-scss.js
src/pyams_skin/resources/js/ext/ace/mode-smarty.js
src/pyams_skin/resources/js/ext/ace/mode-smarty.min.js
src/pyams_skin/resources/js/ext/ace/mode-sparql.js
src/pyams_skin/resources/js/ext/ace/mode-sparql.min.js
src/pyams_skin/resources/js/ext/ace/mode-swift.js
src/pyams_skin/resources/js/ext/ace/mode-tcl.min.js
src/pyams_skin/resources/js/ext/ace/mode-tex.min.js
src/pyams_skin/resources/js/ext/ace/mode-textile.js
src/pyams_skin/resources/js/ext/ace/mode-tsx.min.js
src/pyams_skin/resources/js/ext/ace/mode-vbscript.min.js
src/pyams_skin/resources/js/ext/ace/mode-velocity.min.js
src/pyams_skin/resources/js/ext/ace/mode-verilog.js
src/pyams_skin/resources/js/ext/ace/mode-wollok.min.js
src/pyams_skin/resources/js/ext/ace/mode-xquery.js
src/pyams_skin/resources/js/ext/ace/snippets/applescript.min.js
src/pyams_skin/resources/js/ext/ace/snippets/asl.min.js
src/pyams_skin/resources/js/ext/ace/snippets/bro.min.js
src/pyams_skin/resources/js/ext/ace/snippets/c_cpp.js
src/pyams_skin/resources/js/ext/ace/snippets/c_cpp.min.js
src/pyams_skin/resources/js/ext/ace/snippets/csharp.js
src/pyams_skin/resources/js/ext/ace/snippets/csharp.min.js
src/pyams_skin/resources/js/ext/ace/snippets/csound_orchestra.min.js
src/pyams_skin/resources/js/ext/ace/snippets/d.js
src/pyams_skin/resources/js/ext/ace/snippets/edifact.js
src/pyams_skin/resources/js/ext/ace/snippets/elm.js
src/pyams_skin/resources/js/ext/ace/snippets/gobstones.min.js
src/pyams_skin/resources/js/ext/ace/snippets/groovy.js
src/pyams_skin/resources/js/ext/ace/snippets/haml.min.js
src/pyams_skin/resources/js/ext/ace/snippets/handlebars.min.js
src/pyams_skin/resources/js/ext/ace/snippets/haskell_cabal.js
src/pyams_skin/resources/js/ext/ace/snippets/haxe.min.js
src/pyams_skin/resources/js/ext/ace/snippets/html_ruby.min.js
src/pyams_skin/resources/js/ext/ace/snippets/jade.min.js
src/pyams_skin/resources/js/ext/ace/snippets/json.min.js
src/pyams_skin/resources/js/ext/ace/snippets/livescript.js
src/pyams_skin/resources/js/ext/ace/snippets/logtalk.js
src/pyams_skin/resources/js/ext/ace/snippets/lucene.js
src/pyams_skin/resources/js/ext/ace/snippets/makefile.min.js
src/pyams_skin/resources/js/ext/ace/snippets/mask.min.js
src/pyams_skin/resources/js/ext/ace/snippets/mushcode.js
src/pyams_skin/resources/js/ext/ace/snippets/mysql.js
src/pyams_skin/resources/js/ext/ace/snippets/objectivec.js
src/pyams_skin/resources/js/ext/ace/snippets/ocaml.js
src/pyams_skin/resources/js/ext/ace/snippets/puppet.js
src/pyams_skin/resources/js/ext/ace/snippets/python.min.js
src/pyams_skin/resources/js/ext/ace/snippets/rhtml.js
src/pyams_skin/resources/js/ext/ace/snippets/sjs.min.js
src/pyams_skin/resources/js/ext/ace/snippets/sqlserver.min.js
src/pyams_skin/resources/js/ext/ace/snippets/typescript.js
src/pyams_skin/resources/js/ext/ace/theme-crimson_editor.min.js
src/pyams_skin/resources/js/ext/ace/theme-kuroir.min.js
src/pyams_skin/resources/js/ext/ace/theme-merbivore_soft.js
src/pyams_skin/resources/js/ext/ace/theme-pastel_on_dark.min.js
src/pyams_skin/resources/js/ext/ace/theme-terminal.min.js
src/pyams_skin/resources/js/ext/ace/theme-tomorrow.min.js
src/pyams_skin/resources/js/ext/ace/theme-tomorrow_night_eighties.min.js
src/pyams_skin/resources/js/ext/ace/worker-coffee.js
src/pyams_skin/resources/js/ext/ace/worker-json.min.js
src/pyams_skin/resources/js/ext/ace/worker-xml.min.js
src/pyams_skin/resources/js/ext/bootstrap-modal.js
src/pyams_skin/resources/js/ext/bootstrap-modal.min.js
src/pyams_skin/resources/js/ext/bootstrap-modalmanager.js
src/pyams_skin/resources/js/ext/bootstrap-progressbar-0.6.0.min.js
src/pyams_skin/resources/js/ext/bootstrap-slider-2.0.0.min.js
src/pyams_skin/resources/js/ext/flot/excanvas.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.canvas.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.errorbars.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.flatdata.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.hover.min.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.navigate.min.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.symbol.js
src/pyams_skin/resources/js/ext/flot/jquery.flot.touch.min.js
src/pyams_skin/resources/js/ext/jquery-2.2.4.min.js
src/pyams_skin/resources/js/ext/jquery-dataTables-autoFill.js
src/pyams_skin/resources/js/ext/jquery-dataTables-fixedHeader.min.js
src/pyams_skin/resources/js/ext/jquery-dataTables-rowGrouping.js
src/pyams_skin/resources/js/ext/jquery-dataTables-scroller.min.js
src/pyams_skin/resources/js/ext/jquery-fancybox-2.1.5.min.js
src/pyams_skin/resources/js/ext/jquery-jsonrpc.min.js
src/pyams_skin/resources/js/ext/jquery-scrollto-2.1.2.min.js
src/pyams_skin/resources/js/ext/jquery-select2-3.5.4.min.js
src/pyams_skin/resources/js/ext/jquery-typeahead.js
src/pyams_skin/resources/js/ext/jquery-typeahead.min.js
src/pyams_skin/resources/js/ext/jquery-xmlrpc.js
src/pyams_skin/resources/js/ext/jquery-xmlrpc.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/Editor.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/EditorCommands.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/EnterKey.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/FocusManager.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/Formatter.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/dom/EventUtils.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/fmt/Preview.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/html/DomParser.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/html/Entities.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Collection.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/ColorButton.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DomUtils.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DragHelper.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DragHelper.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FitLayout.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FlowLayout.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FormatControls.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Movable.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Panel.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/PanelButton.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Path.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Spacer.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Spacer.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/TextBox.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Color.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/I18n.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/JSON.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Quirks.js
src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Tools.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/autolink/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/autoresize/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/compat3x/img/menu_arrow.gif
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/compat3x/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/directionality/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/emoticons/img/smiley-innocent.gif
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/emoticons/img/smiley-tongue-out.gif
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/fullpage/plugin.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/link/plugin.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/link/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/paste/classes/Plugin.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/paste/plugin.dev.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/preview/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/spellchecker/classes/Plugin.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/table/plugin.dev.min.js
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/css/visualblocks.css
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/img/div.gif
src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/img/ul.gif
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Label.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Panel.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Path.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Reset.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/TinyMCE.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Window.less
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/fonts/tinymce-small.ttf
src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/img/loader.gif
src/pyams_skin/resources/js/ext/tinymce/plugins/emoticons/img/smiley-cry.gif
src/pyams_skin/resources/js/ext/tinymce/plugins/emoticons/img/smiley-kiss.gif
src/pyams_skin/resources/js/ext/tinymce/plugins/example_dependency/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/plugins/fullpage/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/plugins/fullscreen/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/plugins/media/moxieplayer.swf
src/pyams_skin/resources/js/ext/tinymce/plugins/paste/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/plugins/searchreplace/plugin.min.js
src/pyams_skin/resources/js/ext/tinymce/plugins/visualblocks/css/visualblocks.css
src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/fonts/tinymce-small.eot
src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/fonts/tinymce.svg
src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/img/trans.gif
src/pyams_skin/resources/js/myams-callbacks.min.js
src/pyams_skin/resources/js/myams-i18n.js
src/pyams_skin/resources/js/myams-menus.min.js
src/pyams_skin/resources/js/myams-tree.min.js
src/pyams_skin/resources/js/myams-utf8.min.js
src/pyams_skin/resources/less/apps/chat.less
src/pyams_skin/resources/less/myams.less
src/pyams_skin/resources/less/tabs.less
src/pyams_skin/resources/less/ui.less
--- a/src/pyams_skin/resources/css/ext/jquery-dndupload.min.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-.dndupload{font-size:1.25rem;background-color:#c8dadf;position:relative;padding:40px 20px;text-align:center}.dndupload.has-advanced-upload{outline:2px dashed #92b0b3;outline-offset:-10px;-webkit-transition:outline-offset .15s ease-in-out,background-color .15s linear;transition:outline-offset .15s ease-in-out,background-color .15s linear}.dndupload.is-dragover{outline-offset:-20px;outline-color:#c8dadf;background-color:#fff}.dndupload .box__dragndrop,.dndupload .box__icon{display:none}.dndupload.has-advanced-upload .box__dragndrop{display:inline}.dndupload.has-advanced-upload .box__icon{width:100%;height:80px;fill:#92b0b3;display:block;margin-bottom:40px}.dndupload.is-error .box__input,.dndupload.is-success .box__input,.dndupload.is-uploading .box__input{visibility:hidden}.dndupload .box__error,.dndupload .box__success,.dndupload .box__uploading{display:none;text-align:center}.dndupload.is-error .box__error,.dndupload.is-success .box__success,.dndupload.is-uploading .box__uploading{display:block;position:absolute;top:50%;right:0;left:0;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.dndupload .box__uploading{font-style:italic}.dndupload .box__success{-webkit-animation:appear-from-inside .25s ease-in-out;animation:appear-from-inside .25s ease-in-out}@-webkit-keyframes appear-from-inside{from{-webkit-transform:translateY(-50%) scale(0)}75%{-webkit-transform:translateY(-50%) scale(1.1)}to{-webkit-transform:translateY(-50%) scale(1)}}@keyframes appear-from-inside{from{transform:translateY(-50%) scale(0)}75%{transform:translateY(-50%) scale(1.1)}to{transform:translateY(-50%) scale(1)}}.dndupload .box__input{text-align:center}.dndupload .box__restart{font-weight:700}.dndupload .box__restart:focus,.dndupload .box__restart:hover{color:#39bfd3}.dndupload .box__button{font-weight:700;color:#e5edf1;background-color:#39bfd3;display:none;padding:8px 16px;margin:40px auto 0}.dndupload .box__button:focus,.dndupload .box__button:hover{background-color:#0f3c4b}.js .box__file{width:.1px;height:.1px;opacity:0;overflow:hidden;position:absolute;z-index:-1}.js .box__file+label{max-width:80%;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;display:inline-block;overflow:hidden}.box__file.has-focus+label strong,.box__file:focus+label strong,.js .box__file+label:hover strong{color:#39bfd3}.js .box__file.has-focus+label,.js .box__file:focus+label{outline:1px dotted #000;outline:-webkit-focus-ring-color auto 5px}.no-js .box__file+label{display:none}.no-js .box__button{display:block}
--- a/src/pyams_skin/resources/css/ext/jquery-imgareaselect.min.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-.imgareaselect-border1{background:url(../../img/imgareaselect/border-anim-v.gif) repeat-y left top}.imgareaselect-border2{background:url(../../img/imgareaselect/border-anim-h.gif) repeat-x left top}.imgareaselect-border3{background:url(../../img/imgareaselect/border-anim-v.gif) repeat-y right top}.imgareaselect-border4{background:url(../../img/imgareaselect/border-anim-h.gif) repeat-x left bottom}.imgareaselect-border1,.imgareaselect-border2,.imgareaselect-border3,.imgareaselect-border4{filter:alpha(opacity=50);opacity:.5}.imgareaselect-handle{background-color:#fff;border:solid 1px #000;filter:alpha(opacity=50);opacity:.5}.imgareaselect-outer{background-color:#000;filter:alpha(opacity=50);opacity:.5}
\ No newline at end of file
--- a/src/pyams_skin/resources/css/ext/jquery-tipsy.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-.tipsy {
-	padding: 5px;
-	font-family: "Ubuntu-Light", Arial, Helvetica, sans-serif;
-	font-size: 10px;
-	position: absolute;
-	z-index: 100000;
-}
-
-.tipsy-inner {
-	padding: 5px 8px 4px 8px;
-	background-color: #333;
-	color: white;
-	max-width: 216px;
-	text-align: left;
-	border-radius: 3px;
-	-moz-border-radius: 3px;
-	-webkit-border-radius: 3px;
-}
-
-.tipsy-arrow {
-	position: absolute;
-	background: url('../../img/tipsy.gif') no-repeat top left;
-	width: 9px;
-	height: 5px;
-}
-
-.tipsy-n .tipsy-arrow {
-	top: 0;
-	left: 50%;
-	margin-left: -4px;
-}
-
-.tipsy-nw .tipsy-arrow {
-	top: 0;
-	left: 10px;
-}
-
-.tipsy-ne .tipsy-arrow {
-	top: 0;
-	right: 10px;
-}
-
-.tipsy-s .tipsy-arrow {
-	bottom: 0;
-	left: 50%;
-	margin-left: -4px;
-	background-position: bottom left;
-}
-
-.tipsy-sw .tipsy-arrow {
-	bottom: 0;
-	left: 10px;
-	background-position: bottom left;
-}
-
-.tipsy-se .tipsy-arrow {
-	bottom: 0;
-	right: 10px;
-	background-position: bottom left;
-}
-
-.tipsy-e .tipsy-arrow {
-	top: 50%;
-	margin-top: -4px;
-	right: 0;
-	width: 5px;
-	height: 9px;
-	background-position: top right;
-}
-
-.tipsy-w .tipsy-arrow {
-	top: 50%;
-	margin-top: -4px;
-	left: 0;
-	width: 5px;
-	height: 9px;
-}
--- a/src/pyams_skin/resources/css/ext/jquery-ui-1.11.2.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,827 +0,0 @@
-/*! jQuery UI - v1.11.2 - 2015-01-27
-* http://jqueryui.com
-* Includes: core.css, draggable.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, menu.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css
-* Copyright 2015 jQuery Foundation and other contributors; Licensed MIT */
-
-/* Layout helpers
-----------------------------------*/
-.ui-helper-hidden {
-	display: none;
-}
-.ui-helper-hidden-accessible {
-	border: 0;
-	clip: rect(0 0 0 0);
-	height: 1px;
-	margin: -1px;
-	overflow: hidden;
-	padding: 0;
-	position: absolute;
-	width: 1px;
-}
-.ui-helper-reset {
-	margin: 0;
-	padding: 0;
-	border: 0;
-	outline: 0;
-	line-height: 1.3;
-	text-decoration: none;
-	font-size: 100%;
-	list-style: none;
-}
-.ui-helper-clearfix:before,
-.ui-helper-clearfix:after {
-	content: "";
-	display: table;
-	border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
-	clear: both;
-}
-.ui-helper-clearfix {
-	min-height: 0; /* support: IE7 */
-}
-.ui-helper-zfix {
-	width: 100%;
-	height: 100%;
-	top: 0;
-	left: 0;
-	position: absolute;
-	opacity: 0;
-	filter:Alpha(Opacity=0); /* support: IE8 */
-}
-
-.ui-front {
-	z-index: 100;
-}
-
-
-/* Interaction Cues
-----------------------------------*/
-.ui-state-disabled {
-	cursor: default !important;
-}
-
-
-/* Icons
-----------------------------------*/
-
-/* states and images */
-.ui-icon {
-	display: block;
-	text-indent: -99999px;
-	overflow: hidden;
-	background-repeat: no-repeat;
-}
-
-
-/* Misc visuals
-----------------------------------*/
-
-/* Overlays */
-.ui-widget-overlay {
-	position: fixed;
-	top: 0;
-	left: 0;
-	width: 100%;
-	height: 100%;
-}
-.ui-draggable-handle {
-	-ms-touch-action: none;
-	touch-action: none;
-}
-.ui-resizable {
-	position: relative;
-}
-.ui-resizable-handle {
-	position: absolute;
-	font-size: 0.1px;
-	display: block;
-	-ms-touch-action: none;
-	touch-action: none;
-}
-.ui-resizable-disabled .ui-resizable-handle,
-.ui-resizable-autohide .ui-resizable-handle {
-	display: none;
-}
-.ui-resizable-n {
-	cursor: n-resize;
-	height: 7px;
-	width: 100%;
-	top: -5px;
-	left: 0;
-}
-.ui-resizable-s {
-	cursor: s-resize;
-	height: 7px;
-	width: 100%;
-	bottom: -5px;
-	left: 0;
-}
-.ui-resizable-e {
-	cursor: e-resize;
-	width: 7px;
-	right: -5px;
-	top: 0;
-	height: 100%;
-}
-.ui-resizable-w {
-	cursor: w-resize;
-	width: 7px;
-	left: -5px;
-	top: 0;
-	height: 100%;
-}
-.ui-resizable-se {
-	cursor: se-resize;
-	width: 12px;
-	height: 12px;
-	right: 1px;
-	bottom: 1px;
-}
-.ui-resizable-sw {
-	cursor: sw-resize;
-	width: 9px;
-	height: 9px;
-	left: -5px;
-	bottom: -5px;
-}
-.ui-resizable-nw {
-	cursor: nw-resize;
-	width: 9px;
-	height: 9px;
-	left: -5px;
-	top: -5px;
-}
-.ui-resizable-ne {
-	cursor: ne-resize;
-	width: 9px;
-	height: 9px;
-	right: -5px;
-	top: -5px;
-}
-.ui-selectable {
-	-ms-touch-action: none;
-	touch-action: none;
-}
-.ui-selectable-helper {
-	position: absolute;
-	z-index: 100;
-	border: 1px dotted black;
-}
-.ui-sortable-handle {
-	-ms-touch-action: none;
-	touch-action: none;
-}
-.ui-accordion .ui-accordion-header {
-	display: block;
-	cursor: pointer;
-	position: relative;
-	margin: 2px 0 0 0;
-	padding: .5em .5em .5em .7em;
-	min-height: 0; /* support: IE7 */
-	font-size: 100%;
-}
-.ui-accordion .ui-accordion-icons {
-	padding-left: 2.2em;
-}
-.ui-accordion .ui-accordion-icons .ui-accordion-icons {
-	padding-left: 2.2em;
-}
-.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
-	position: absolute;
-	left: .5em;
-	top: 50%;
-	margin-top: -8px;
-}
-.ui-accordion .ui-accordion-content {
-	padding: 1em 2.2em;
-	border-top: 0;
-	overflow: auto;
-}
-.ui-autocomplete {
-	position: absolute;
-	top: 0;
-	left: 0;
-	cursor: default;
-}
-.ui-button {
-	display: inline-block;
-	position: relative;
-	padding: 0;
-	line-height: normal;
-	margin-right: .1em;
-	cursor: pointer;
-	vertical-align: middle;
-	text-align: center;
-	overflow: visible; /* removes extra width in IE */
-}
-.ui-button,
-.ui-button:link,
-.ui-button:visited,
-.ui-button:hover,
-.ui-button:active {
-	text-decoration: none;
-}
-/* to make room for the icon, a width needs to be set here */
-.ui-button-icon-only {
-	width: 2.2em;
-}
-/* button elements seem to need a little more width */
-button.ui-button-icon-only {
-	width: 2.4em;
-}
-.ui-button-icons-only {
-	width: 3.4em;
-}
-button.ui-button-icons-only {
-	width: 3.7em;
-}
-
-/* button text element */
-.ui-button .ui-button-text {
-	display: block;
-	line-height: normal;
-}
-.ui-button-text-only .ui-button-text {
-	padding: .4em 1em;
-}
-.ui-button-icon-only .ui-button-text,
-.ui-button-icons-only .ui-button-text {
-	padding: .4em;
-	text-indent: -9999999px;
-}
-.ui-button-text-icon-primary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-	padding: .4em 1em .4em 2.1em;
-}
-.ui-button-text-icon-secondary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-	padding: .4em 2.1em .4em 1em;
-}
-.ui-button-text-icons .ui-button-text {
-	padding-left: 2.1em;
-	padding-right: 2.1em;
-}
-/* no icon support for input elements, provide padding by default */
-input.ui-button {
-	padding: .4em 1em;
-}
-
-/* button icon element(s) */
-.ui-button-icon-only .ui-icon,
-.ui-button-text-icon-primary .ui-icon,
-.ui-button-text-icon-secondary .ui-icon,
-.ui-button-text-icons .ui-icon,
-.ui-button-icons-only .ui-icon {
-	position: absolute;
-	top: 50%;
-	margin-top: -8px;
-}
-.ui-button-icon-only .ui-icon {
-	left: 50%;
-	margin-left: -8px;
-}
-.ui-button-text-icon-primary .ui-button-icon-primary,
-.ui-button-text-icons .ui-button-icon-primary,
-.ui-button-icons-only .ui-button-icon-primary {
-	left: .5em;
-}
-.ui-button-text-icon-secondary .ui-button-icon-secondary,
-.ui-button-text-icons .ui-button-icon-secondary,
-.ui-button-icons-only .ui-button-icon-secondary {
-	right: .5em;
-}
-
-/* button sets */
-.ui-buttonset {
-	margin-right: 7px;
-}
-.ui-buttonset .ui-button {
-	margin-left: 0;
-	margin-right: -.3em;
-}
-
-/* workarounds */
-/* reset extra padding in Firefox, see h5bp.com/l */
-input.ui-button::-moz-focus-inner,
-button.ui-button::-moz-focus-inner {
-	border: 0;
-	padding: 0;
-}
-.ui-datepicker {
-	width: 17em;
-	padding: .2em .2em 0;
-	display: none;
-}
-.ui-datepicker .ui-datepicker-header {
-	position: relative;
-	padding: .2em 0;
-}
-.ui-datepicker .ui-datepicker-prev,
-.ui-datepicker .ui-datepicker-next {
-	position: absolute;
-	top: 2px;
-	width: 1.8em;
-	height: 1.8em;
-}
-.ui-datepicker .ui-datepicker-prev-hover,
-.ui-datepicker .ui-datepicker-next-hover {
-	top: 1px;
-}
-.ui-datepicker .ui-datepicker-prev {
-	left: 2px;
-}
-.ui-datepicker .ui-datepicker-next {
-	right: 2px;
-}
-.ui-datepicker .ui-datepicker-prev-hover {
-	left: 1px;
-}
-.ui-datepicker .ui-datepicker-next-hover {
-	right: 1px;
-}
-.ui-datepicker .ui-datepicker-prev span,
-.ui-datepicker .ui-datepicker-next span {
-	display: block;
-	position: absolute;
-	left: 50%;
-	margin-left: -8px;
-	top: 50%;
-	margin-top: -8px;
-}
-.ui-datepicker .ui-datepicker-title {
-	margin: 0 2.3em;
-	line-height: 1.8em;
-	text-align: center;
-}
-.ui-datepicker .ui-datepicker-title select {
-	font-size: 1em;
-	margin: 1px 0;
-}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year {
-	width: 45%;
-}
-.ui-datepicker table {
-	width: 100%;
-	font-size: .9em;
-	border-collapse: collapse;
-	margin: 0 0 .4em;
-}
-.ui-datepicker th {
-	padding: .7em .3em;
-	text-align: center;
-	font-weight: bold;
-	border: 0;
-}
-.ui-datepicker td {
-	border: 0;
-	padding: 1px;
-}
-.ui-datepicker td span,
-.ui-datepicker td a {
-	display: block;
-	padding: .2em;
-	text-align: right;
-	text-decoration: none;
-}
-.ui-datepicker .ui-datepicker-buttonpane {
-	background-image: none;
-	margin: .7em 0 0 0;
-	padding: 0 .2em;
-	border-left: 0;
-	border-right: 0;
-	border-bottom: 0;
-}
-.ui-datepicker .ui-datepicker-buttonpane button {
-	float: right;
-	margin: .5em .2em .4em;
-	cursor: pointer;
-	padding: .2em .6em .3em .6em;
-	width: auto;
-	overflow: visible;
-}
-.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
-	float: left;
-}
-
-/* with multiple calendars */
-.ui-datepicker.ui-datepicker-multi {
-	width: auto;
-}
-.ui-datepicker-multi .ui-datepicker-group {
-	float: left;
-}
-.ui-datepicker-multi .ui-datepicker-group table {
-	width: 95%;
-	margin: 0 auto .4em;
-}
-.ui-datepicker-multi-2 .ui-datepicker-group {
-	width: 50%;
-}
-.ui-datepicker-multi-3 .ui-datepicker-group {
-	width: 33.3%;
-}
-.ui-datepicker-multi-4 .ui-datepicker-group {
-	width: 25%;
-}
-.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
-.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
-	border-left-width: 0;
-}
-.ui-datepicker-multi .ui-datepicker-buttonpane {
-	clear: left;
-}
-.ui-datepicker-row-break {
-	clear: both;
-	width: 100%;
-	font-size: 0;
-}
-
-/* RTL support */
-.ui-datepicker-rtl {
-	direction: rtl;
-}
-.ui-datepicker-rtl .ui-datepicker-prev {
-	right: 2px;
-	left: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-next {
-	left: 2px;
-	right: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-prev:hover {
-	right: 1px;
-	left: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-next:hover {
-	left: 1px;
-	right: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane {
-	clear: right;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane button {
-	float: left;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
-.ui-datepicker-rtl .ui-datepicker-group {
-	float: right;
-}
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
-	border-right-width: 0;
-	border-left-width: 1px;
-}
-.ui-dialog {
-	overflow: hidden;
-	position: absolute;
-	top: 0;
-	left: 0;
-	padding: .2em;
-	outline: 0;
-}
-.ui-dialog .ui-dialog-titlebar {
-	padding: .4em 1em;
-	position: relative;
-}
-.ui-dialog .ui-dialog-title {
-	float: left;
-	margin: .1em 0;
-	white-space: nowrap;
-	width: 90%;
-	overflow: hidden;
-	text-overflow: ellipsis;
-}
-.ui-dialog .ui-dialog-titlebar-close {
-	position: absolute;
-	right: .3em;
-	top: 50%;
-	width: 20px;
-	margin: -10px 0 0 0;
-	padding: 1px;
-	height: 20px;
-}
-.ui-dialog .ui-dialog-content {
-	position: relative;
-	border: 0;
-	padding: .5em 1em;
-	background: none;
-	overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-	text-align: left;
-	border-width: 1px 0 0 0;
-	background-image: none;
-	margin-top: .5em;
-	padding: .3em 1em .5em .4em;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-	float: right;
-}
-.ui-dialog .ui-dialog-buttonpane button {
-	margin: .5em .4em .5em 0;
-	cursor: pointer;
-}
-.ui-dialog .ui-resizable-se {
-	width: 12px;
-	height: 12px;
-	right: -5px;
-	bottom: -5px;
-	background-position: 16px 16px;
-}
-.ui-draggable .ui-dialog-titlebar {
-	cursor: move;
-}
-.ui-menu {
-	list-style: none;
-	padding: 0;
-	margin: 0;
-	display: block;
-	outline: none;
-}
-.ui-menu .ui-menu {
-	position: absolute;
-}
-.ui-menu .ui-menu-item {
-	position: relative;
-	margin: 0;
-	padding: 3px 1em 3px .4em;
-	cursor: pointer;
-	min-height: 0; /* support: IE7 */
-	/* support: IE10, see #8844 */
-	list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7");
-}
-.ui-menu .ui-menu-divider {
-	margin: 5px 0;
-	height: 0;
-	font-size: 0;
-	line-height: 0;
-	border-width: 1px 0 0 0;
-}
-.ui-menu .ui-state-focus,
-.ui-menu .ui-state-active {
-	margin: -1px;
-}
-
-/* icon support */
-.ui-menu-icons {
-	position: relative;
-}
-.ui-menu-icons .ui-menu-item {
-	padding-left: 2em;
-}
-
-/* left-aligned */
-.ui-menu .ui-icon {
-	position: absolute;
-	top: 0;
-	bottom: 0;
-	left: .2em;
-	margin: auto 0;
-}
-
-/* right-aligned */
-.ui-menu .ui-menu-icon {
-	left: auto;
-	right: 0;
-}
-.ui-progressbar {
-	height: 2em;
-	text-align: left;
-	overflow: hidden;
-}
-.ui-progressbar .ui-progressbar-value {
-	margin: -1px;
-	height: 100%;
-}
-.ui-progressbar .ui-progressbar-overlay {
-	background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");
-	height: 100%;
-	filter: alpha(opacity=25); /* support: IE8 */
-	opacity: 0.25;
-}
-.ui-progressbar-indeterminate .ui-progressbar-value {
-	background-image: none;
-}
-.ui-selectmenu-menu {
-	padding: 0;
-	margin: 0;
-	position: absolute;
-	top: 0;
-	left: 0;
-	display: none;
-}
-.ui-selectmenu-menu .ui-menu {
-	overflow: auto;
-	/* Support: IE7 */
-	overflow-x: hidden;
-	padding-bottom: 1px;
-}
-.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup {
-	font-size: 1em;
-	font-weight: bold;
-	line-height: 1.5;
-	padding: 2px 0.4em;
-	margin: 0.5em 0 0 0;
-	height: auto;
-	border: 0;
-}
-.ui-selectmenu-open {
-	display: block;
-}
-.ui-selectmenu-button {
-	display: inline-block;
-	overflow: hidden;
-	position: relative;
-	text-decoration: none;
-	cursor: pointer;
-}
-.ui-selectmenu-button span.ui-icon {
-	right: 0.5em;
-	left: auto;
-	margin-top: -8px;
-	position: absolute;
-	top: 50%;
-}
-.ui-selectmenu-button span.ui-selectmenu-text {
-	text-align: left;
-	padding: 0.4em 2.1em 0.4em 1em;
-	display: block;
-	line-height: 1.4;
-	overflow: hidden;
-	text-overflow: ellipsis;
-	white-space: nowrap;
-}
-.ui-slider {
-	position: relative;
-	text-align: left;
-}
-.ui-slider .ui-slider-handle {
-	position: absolute;
-	z-index: 2;
-	width: 1.2em;
-	height: 1.2em;
-	cursor: default;
-	-ms-touch-action: none;
-	touch-action: none;
-}
-.ui-slider .ui-slider-range {
-	position: absolute;
-	z-index: 1;
-	font-size: .7em;
-	display: block;
-	border: 0;
-	background-position: 0 0;
-}
-
-/* support: IE8 - See #6727 */
-.ui-slider.ui-state-disabled .ui-slider-handle,
-.ui-slider.ui-state-disabled .ui-slider-range {
-	filter: inherit;
-}
-
-.ui-slider-horizontal {
-	height: .8em;
-}
-.ui-slider-horizontal .ui-slider-handle {
-	top: -.3em;
-	margin-left: -.6em;
-}
-.ui-slider-horizontal .ui-slider-range {
-	top: 0;
-	height: 100%;
-}
-.ui-slider-horizontal .ui-slider-range-min {
-	left: 0;
-}
-.ui-slider-horizontal .ui-slider-range-max {
-	right: 0;
-}
-
-.ui-slider-vertical {
-	width: .8em;
-	height: 100px;
-}
-.ui-slider-vertical .ui-slider-handle {
-	left: -.3em;
-	margin-left: 0;
-	margin-bottom: -.6em;
-}
-.ui-slider-vertical .ui-slider-range {
-	left: 0;
-	width: 100%;
-}
-.ui-slider-vertical .ui-slider-range-min {
-	bottom: 0;
-}
-.ui-slider-vertical .ui-slider-range-max {
-	top: 0;
-}
-.ui-spinner {
-	position: relative;
-	display: inline-block;
-	overflow: hidden;
-	padding: 0;
-	vertical-align: middle;
-}
-.ui-spinner-input {
-	border: none;
-	background: none;
-	color: inherit;
-	padding: 0;
-	margin: .2em 0;
-	vertical-align: middle;
-	margin-left: .4em;
-	margin-right: 22px;
-}
-.ui-spinner-button {
-	width: 16px;
-	height: 50%;
-	font-size: .5em;
-	padding: 0;
-	margin: 0;
-	text-align: center;
-	position: absolute;
-	cursor: default;
-	display: block;
-	overflow: hidden;
-	right: 0;
-}
-/* more specificity required here to override default borders */
-.ui-spinner a.ui-spinner-button {
-	border-top: none;
-	border-bottom: none;
-	border-right: none;
-}
-/* vertically center icon */
-.ui-spinner .ui-icon {
-	position: absolute;
-	margin-top: -8px;
-	top: 50%;
-	left: 0;
-}
-.ui-spinner-up {
-	top: 0;
-}
-.ui-spinner-down {
-	bottom: 0;
-}
-
-/* TR overrides */
-.ui-spinner .ui-icon-triangle-1-s {
-	/* need to fix icons sprite */
-	background-position: -65px -16px;
-}
-.ui-tabs {
-	position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
-	padding: .2em;
-}
-.ui-tabs .ui-tabs-nav {
-	margin: 0;
-	padding: .2em .2em 0;
-}
-.ui-tabs .ui-tabs-nav li {
-	list-style: none;
-	float: left;
-	position: relative;
-	top: 0;
-	margin: 1px .2em 0 0;
-	border-bottom-width: 0;
-	padding: 0;
-	white-space: nowrap;
-}
-.ui-tabs .ui-tabs-nav .ui-tabs-anchor {
-	float: left;
-	padding: .5em 1em;
-	text-decoration: none;
-}
-.ui-tabs .ui-tabs-nav li.ui-tabs-active {
-	margin-bottom: -1px;
-	padding-bottom: 1px;
-}
-.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
-.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
-.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
-	cursor: text;
-}
-.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor {
-	cursor: pointer;
-}
-.ui-tabs .ui-tabs-panel {
-	display: block;
-	border-width: 0;
-	padding: 1em 1.4em;
-	background: none;
-}
-.ui-tooltip {
-	padding: 8px;
-	position: absolute;
-	z-index: 9999;
-	max-width: 300px;
-	-webkit-box-shadow: 0 0 5px #aaa;
-	box-shadow: 0 0 5px #aaa;
-}
-body .ui-tooltip {
-	border-width: 2px;
-}
Binary file src/pyams_skin/resources/css/fonts/Ubuntu-L.eot has changed
--- a/src/pyams_skin/resources/css/myams.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18053 +0,0 @@
-/*
- * MyAMS
- * « My Application Management Skin »
- *
- * $Tag$ (rev. 1)
- * A bootstrap based application/administration skin
- *
- * Custom administration and application skin tools
- * Released under Zope Public License ZPL 1.1
- * ©2014-2016 Thierry Florac <tflorac@ulthar.net>
- */
-html {
-  /* */
-}
-/*
- * Colors variations
- */
-.txt-color-danger {
-  color: #a94442 !important;
-}
-.txt-color-warning {
-  color: #6b6d31 !important;
-}
-.txt-color-info {
-  color: #346597 !important;
-}
-.txt-color-success {
-  color: #296829 !important;
-}
-.bg-color-danger {
-  background-color: #a94442 !important;
-}
-.bg-color-warning {
-  background-color: #6b6d31 !important;
-}
-.bg-color-info {
-  background-color: #346597 !important;
-}
-.bg-color-success {
-  background-color: #5cb85c !important;
-}
-.txt-color-text {
-  color: #333 !important;
-}
-.txt-color-blue {
-  color: #60747c !important;
-}
-.txt-color-blueLight {
-  color: #ccdadf !important;
-}
-.txt-color-blueDark {
-  color: #4c4f53 !important;
-}
-.txt-color-green {
-  color: #356e35 !important;
-}
-.txt-color-greenLight {
-  color: #71843f !important;
-}
-.txt-color-greenDark {
-  color: #496949 !important;
-}
-.txt-color-red {
-  color: #931313 !important;
-}
-.txt-color-yellow {
-  color: #d4c737 !important;
-}
-.txt-color-yellowLight {
-  color: #fff03d !important;
-}
-.txt-color-orange {
-  color: #c79121 !important;
-}
-.txt-color-orangeLight {
-  color: #ee9000 !important;
-}
-.txt-color-orangeDark {
-  color: #a57225 !important;
-}
-.txt-color-pink {
-  color: #ac5287 !important;
-}
-.txt-color-pinkDark {
-  color: #a8829f !important;
-}
-.txt-color-purple {
-  color: #65596B !important;
-}
-.txt-color-darken {
-  color: #404040 !important;
-}
-.txt-color-silver {
-  color: #b4b4b4 !important;
-}
-.txt-color-silverLight {
-  color: #d0d0d0 !important;
-}
-.txt-color-lighten {
-  color: #d5e7ec !important;
-}
-.txt-color-white {
-  color: #dedede !important;
-}
-.txt-color-grayDark {
-  color: #525252 !important;
-}
-.txt-color-magenta {
-  color: #6e3671 !important;
-}
-.txt-color-teal {
-  color: #568a89 !important;
-}
-.txt-color-redLight {
-  color: #a65858 !important;
-}
-.txt-color-active {
-  color: #3276b1 !important;
-}
-.txt-color-activeBg {
-  color: #cedbf7 !important;
-}
-.bg-color-blue {
-  background-color: #60747c !important;
-}
-.bg-color-blueLight {
-  background-color: #ccdadf !important;
-}
-.bg-color-blueDark {
-  background-color: #4c4f53 !important;
-}
-.bg-color-green {
-  background-color: #356e35 !important;
-}
-.bg-color-greenLight {
-  background-color: #71843f !important;
-}
-.bg-color-greenDark {
-  background-color: #496949 !important;
-}
-.bg-color-red {
-  background-color: #931313 !important;
-}
-.bg-color-yellow {
-  background-color: #d4c737 !important;
-}
-.bg-color-yellowLight {
-  background-color: #fff03d !important;
-}
-.bg-color-orange {
-  background-color: #c79121 !important;
-}
-.bg-color-orangeLight {
-  background-color: #ee9000 !important;
-}
-.bg-color-orangeDark {
-  background-color: #a57225 !important;
-}
-.bg-color-pink {
-  background-color: #ac5287 !important;
-}
-.bg-color-pinkDark {
-  background-color: #a8829f !important;
-}
-.bg-color-purple {
-  background-color: #65596B !important;
-}
-.bg-color-darken {
-  background-color: #404040 !important;
-}
-.bg-color-silver {
-  background-color: #b4b4b4 !important;
-}
-.bg-color-silverLight {
-  background-color: #d0d0d0 !important;
-}
-.bg-color-lighten {
-  background-color: #d5e7ec !important;
-}
-.bg-color-white {
-  background-color: #dedede !important;
-}
-.bg-color-grayDark {
-  background-color: #525252 !important;
-}
-.bg-color-magenta {
-  background-color: #6e3671 !important;
-}
-.bg-color-teal {
-  background-color: #568a89 !important;
-}
-.bg-color-redLight {
-  background-color: #a65858 !important;
-}
-.bg-color-active {
-  background-color: #3276b1 !important;
-}
-.bg-color-activeBg {
-  background-color: #cedbf7 !important;
-}
-/*
- * Animations
- */
-@-webkit-keyframes flash {
-  0%,
-  100%,
-  50% {
-    opacity: 1;
-  }
-  25%,
-  75% {
-    opacity: 0;
-  }
-}
-@keyframes flash {
-  0%,
-  100%,
-  50% {
-    opacity: 1;
-  }
-  25%,
-  75% {
-    opacity: 0;
-  }
-}
-@-webkit-keyframes shake {
-  0%,
-  100% {
-    -webkit-transform: translateX(0);
-  }
-  10%,
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: translateX(-10px);
-  }
-  20%,
-  40%,
-  60%,
-  80% {
-    -webkit-transform: translateX(10px);
-  }
-}
-@keyframes shake {
-  0%,
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  10%,
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: translateX(-10px);
-    -ms-transform: translateX(-10px);
-    transform: translateX(-10px);
-  }
-  20%,
-  40%,
-  60%,
-  80% {
-    -webkit-transform: translateX(10px);
-    -ms-transform: translateX(10px);
-    transform: translateX(10px);
-  }
-}
-@-webkit-keyframes bounce {
-  0%,
-  100%,
-  20%,
-  50%,
-  80% {
-    -webkit-transform: translateY(0);
-  }
-  40% {
-    -webkit-transform: translateY(-30px);
-  }
-  60% {
-    -webkit-transform: translateY(-15px);
-  }
-}
-@keyframes bounce {
-  0%,
-  100%,
-  20%,
-  50%,
-  80% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  40% {
-    -webkit-transform: translateY(-30px);
-    -ms-transform: translateY(-30px);
-    transform: translateY(-30px);
-  }
-  60% {
-    -webkit-transform: translateY(-15px);
-    -ms-transform: translateY(-15px);
-    transform: translateY(-15px);
-  }
-}
-@-webkit-keyframes tada {
-  0% {
-    -webkit-transform: scale(1);
-  }
-  10%,
-  20% {
-    -webkit-transform: scale(0.9) rotate(-3deg);
-  }
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: scale(1.1) rotate(3deg);
-  }
-  40%,
-  60%,
-  80% {
-    -webkit-transform: scale(1.1) rotate(-3deg);
-  }
-  100% {
-    -webkit-transform: scale(1) rotate(0);
-  }
-}
-@keyframes tada {
-  0% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-  10%,
-  20% {
-    -webkit-transform: scale(0.9) rotate(-3deg);
-    -ms-transform: scale(0.9) rotate(-3deg);
-    transform: scale(0.9) rotate(-3deg);
-  }
-  30%,
-  50%,
-  70%,
-  90% {
-    -webkit-transform: scale(1.1) rotate(3deg);
-    -ms-transform: scale(1.1) rotate(3deg);
-    transform: scale(1.1) rotate(3deg);
-  }
-  40%,
-  60%,
-  80% {
-    -webkit-transform: scale(1.1) rotate(-3deg);
-    -ms-transform: scale(1.1) rotate(-3deg);
-    transform: scale(1.1) rotate(-3deg);
-  }
-  100% {
-    -webkit-transform: scale(1) rotate(0);
-    -ms-transform: scale(1) rotate(0);
-    transform: scale(1) rotate(0);
-  }
-}
-@-webkit-keyframes swing {
-  100%,
-  20%,
-  40%,
-  60%,
-  80% {
-    -webkit-transform-origin: top center;
-  }
-  20% {
-    -webkit-transform: rotate(15deg);
-  }
-  40% {
-    -webkit-transform: rotate(-10deg);
-  }
-  60% {
-    -webkit-transform: rotate(5deg);
-  }
-  80% {
-    -webkit-transform: rotate(-5deg);
-  }
-  100% {
-    -webkit-transform: rotate(0deg);
-  }
-}
-@keyframes swing {
-  20% {
-    -webkit-transform: rotate(15deg);
-    -ms-transform: rotate(15deg);
-    transform: rotate(15deg);
-  }
-  40% {
-    -webkit-transform: rotate(-10deg);
-    -ms-transform: rotate(-10deg);
-    transform: rotate(-10deg);
-  }
-  60% {
-    -webkit-transform: rotate(5deg);
-    -ms-transform: rotate(5deg);
-    transform: rotate(5deg);
-  }
-  80% {
-    -webkit-transform: rotate(-5deg);
-    -ms-transform: rotate(-5deg);
-    transform: rotate(-5deg);
-  }
-  100% {
-    -webkit-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-}
-@-webkit-keyframes wobble {
-  0% {
-    -webkit-transform: translateX(0);
-  }
-  15% {
-    -webkit-transform: translateX(-25%) rotate(-5deg);
-  }
-  30% {
-    -webkit-transform: translateX(20%) rotate(3deg);
-  }
-  45% {
-    -webkit-transform: translateX(-15%) rotate(-3deg);
-  }
-  60% {
-    -webkit-transform: translateX(10%) rotate(2deg);
-  }
-  75% {
-    -webkit-transform: translateX(-5%) rotate(-1deg);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes wobble {
-  0% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  15% {
-    -webkit-transform: translateX(-25%) rotate(-5deg);
-    -ms-transform: translateX(-25%) rotate(-5deg);
-    transform: translateX(-25%) rotate(-5deg);
-  }
-  30% {
-    -webkit-transform: translateX(20%) rotate(3deg);
-    -ms-transform: translateX(20%) rotate(3deg);
-    transform: translateX(20%) rotate(3deg);
-  }
-  45% {
-    -webkit-transform: translateX(-15%) rotate(-3deg);
-    -ms-transform: translateX(-15%) rotate(-3deg);
-    transform: translateX(-15%) rotate(-3deg);
-  }
-  60% {
-    -webkit-transform: translateX(10%) rotate(2deg);
-    -ms-transform: translateX(10%) rotate(2deg);
-    transform: translateX(10%) rotate(2deg);
-  }
-  75% {
-    -webkit-transform: translateX(-5%) rotate(-1deg);
-    -ms-transform: translateX(-5%) rotate(-1deg);
-    transform: translateX(-5%) rotate(-1deg);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes pulse {
-  0% {
-    -webkit-transform: scale(1);
-  }
-  50% {
-    -webkit-transform: scale(1.1);
-  }
-  100% {
-    -webkit-transform: scale(1);
-  }
-}
-@keyframes pulse {
-  0% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-  50% {
-    -webkit-transform: scale(1.1);
-    -ms-transform: scale(1.1);
-    transform: scale(1.1);
-  }
-  100% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-}
-@-webkit-keyframes flip {
-  0% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
-    -webkit-animation-timing-function: ease-out;
-  }
-  40% {
-    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
-    -webkit-animation-timing-function: ease-out;
-  }
-  50% {
-    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-    -webkit-animation-timing-function: ease-in;
-  }
-  80% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
-    -webkit-animation-timing-function: ease-in;
-  }
-  100% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
-    -webkit-animation-timing-function: ease-in;
-  }
-}
-@keyframes flip {
-  0% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
-    -ms-transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
-    transform: perspective(400px) translateZ(0) rotateY(0) scale(1);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-  40% {
-    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
-    -ms-transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
-    transform: perspective(400px) translateZ(150px) rotateY(170deg) scale(1);
-    -webkit-animation-timing-function: ease-out;
-    animation-timing-function: ease-out;
-  }
-  50% {
-    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-    -ms-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-  80% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
-    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
-    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(0.95);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-  100% {
-    -webkit-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
-    -ms-transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
-    transform: perspective(400px) translateZ(0) rotateY(360deg) scale(1);
-    -webkit-animation-timing-function: ease-in;
-    animation-timing-function: ease-in;
-  }
-}
-@-webkit-keyframes flipInX {
-  0% {
-    -webkit-transform: perspective(400px) rotateX(90deg);
-    opacity: 0;
-  }
-  40% {
-    -webkit-transform: perspective(400px) rotateX(-10deg);
-  }
-  70% {
-    -webkit-transform: perspective(400px) rotateX(10deg);
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateX(0deg);
-    opacity: 1;
-  }
-}
-@keyframes flipInX {
-  0% {
-    -webkit-transform: perspective(400px) rotateX(90deg);
-    -ms-transform: perspective(400px) rotateX(90deg);
-    transform: perspective(400px) rotateX(90deg);
-    opacity: 0;
-  }
-  40% {
-    -webkit-transform: perspective(400px) rotateX(-10deg);
-    -ms-transform: perspective(400px) rotateX(-10deg);
-    transform: perspective(400px) rotateX(-10deg);
-  }
-  70% {
-    -webkit-transform: perspective(400px) rotateX(10deg);
-    -ms-transform: perspective(400px) rotateX(10deg);
-    transform: perspective(400px) rotateX(10deg);
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateX(0deg);
-    -ms-transform: perspective(400px) rotateX(0deg);
-    transform: perspective(400px) rotateX(0deg);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes flipOutX {
-  0% {
-    -webkit-transform: perspective(400px) rotateX(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateX(90deg);
-    opacity: 0;
-  }
-}
-@keyframes flipOutX {
-  0% {
-    -webkit-transform: perspective(400px) rotateX(0deg);
-    -ms-transform: perspective(400px) rotateX(0deg);
-    transform: perspective(400px) rotateX(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateX(90deg);
-    -ms-transform: perspective(400px) rotateX(90deg);
-    transform: perspective(400px) rotateX(90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes flipInY {
-  0% {
-    -webkit-transform: perspective(400px) rotateY(90deg);
-    opacity: 0;
-  }
-  40% {
-    -webkit-transform: perspective(400px) rotateY(-10deg);
-  }
-  70% {
-    -webkit-transform: perspective(400px) rotateY(10deg);
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateY(0deg);
-    opacity: 1;
-  }
-}
-@keyframes flipInY {
-  0% {
-    -webkit-transform: perspective(400px) rotateY(90deg);
-    -ms-transform: perspective(400px) rotateY(90deg);
-    transform: perspective(400px) rotateY(90deg);
-    opacity: 0;
-  }
-  40% {
-    -webkit-transform: perspective(400px) rotateY(-10deg);
-    -ms-transform: perspective(400px) rotateY(-10deg);
-    transform: perspective(400px) rotateY(-10deg);
-  }
-  70% {
-    -webkit-transform: perspective(400px) rotateY(10deg);
-    -ms-transform: perspective(400px) rotateY(10deg);
-    transform: perspective(400px) rotateY(10deg);
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateY(0deg);
-    -ms-transform: perspective(400px) rotateY(0deg);
-    transform: perspective(400px) rotateY(0deg);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes flipOutY {
-  0% {
-    -webkit-transform: perspective(400px) rotateY(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateY(90deg);
-    opacity: 0;
-  }
-}
-@keyframes flipOutY {
-  0% {
-    -webkit-transform: perspective(400px) rotateY(0deg);
-    -ms-transform: perspective(400px) rotateY(0deg);
-    transform: perspective(400px) rotateY(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: perspective(400px) rotateY(90deg);
-    -ms-transform: perspective(400px) rotateY(90deg);
-    transform: perspective(400px) rotateY(90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes fadeIn {
-  0% {
-    opacity: 0;
-  }
-  100% {
-    opacity: 1;
-  }
-}
-@keyframes fadeIn {
-  0% {
-    opacity: 0;
-  }
-  100% {
-    opacity: 1;
-  }
-}
-@-webkit-keyframes fadeInUp {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes fadeInUp {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(20px);
-    -ms-transform: translateY(20px);
-    transform: translateY(20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes fadeInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes fadeInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-20px);
-    -ms-transform: translateY(-20px);
-    transform: translateY(-20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes fadeInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes fadeInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-20px);
-    -ms-transform: translateX(-20px);
-    transform: translateX(-20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes fadeInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes fadeInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(20px);
-    -ms-transform: translateX(20px);
-    transform: translateX(20px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes fadeInUpBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes fadeInUpBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-    -ms-transform: translateY(2000px);
-    transform: translateY(2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes fadeInDownBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes fadeInDownBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes fadeInLeftBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes fadeInLeftBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes fadeInRightBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes fadeInRightBig {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes fadeOut {
-  0% {
-    opacity: 1;
-  }
-  100% {
-    opacity: 0;
-  }
-}
-@keyframes fadeOut {
-  0% {
-    opacity: 1;
-  }
-  100% {
-    opacity: 0;
-  }
-}
-@-webkit-keyframes fadeOutUp {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-20px);
-  }
-}
-@keyframes fadeOutUp {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-20px);
-    -ms-transform: translateY(-20px);
-    transform: translateY(-20px);
-  }
-}
-@-webkit-keyframes fadeOutDown {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(20px);
-  }
-}
-@keyframes fadeOutDown {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(20px);
-    -ms-transform: translateY(20px);
-    transform: translateY(20px);
-  }
-}
-@-webkit-keyframes fadeOutLeft {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-20px);
-  }
-}
-@keyframes fadeOutLeft {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-20px);
-    -ms-transform: translateX(-20px);
-    transform: translateX(-20px);
-  }
-}
-@-webkit-keyframes fadeOutRight {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(20px);
-  }
-}
-@keyframes fadeOutRight {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(20px);
-    -ms-transform: translateX(20px);
-    transform: translateX(20px);
-  }
-}
-@-webkit-keyframes fadeOutUpBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-}
-@keyframes fadeOutUpBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-}
-@-webkit-keyframes fadeOutDownBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-  }
-}
-@keyframes fadeOutDownBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-    -ms-transform: translateY(2000px);
-    transform: translateY(2000px);
-  }
-}
-@-webkit-keyframes fadeOutLeftBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-}
-@keyframes fadeOutLeftBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-}
-@-webkit-keyframes fadeOutRightBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-}
-@keyframes fadeOutRightBig {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-}
-@-webkit-keyframes bounceIn {
-  0% {
-    opacity: 0;
-    -webkit-transform: scale(0.3);
-  }
-  50% {
-    opacity: 1;
-    -webkit-transform: scale(1.05);
-  }
-  70% {
-    -webkit-transform: scale(0.9);
-  }
-  100% {
-    -webkit-transform: scale(1);
-  }
-}
-@keyframes bounceIn {
-  0% {
-    opacity: 0;
-    -webkit-transform: scale(0.3);
-    -ms-transform: scale(0.3);
-    transform: scale(0.3);
-  }
-  50% {
-    opacity: 1;
-    -webkit-transform: scale(1.05);
-    -ms-transform: scale(1.05);
-    transform: scale(1.05);
-  }
-  70% {
-    -webkit-transform: scale(0.9);
-    -ms-transform: scale(0.9);
-    transform: scale(0.9);
-  }
-  100% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-}
-@-webkit-keyframes slideInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes slideInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes slideInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes slideInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes slideInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes slideInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes slideOutLeft {
-  0% {
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-}
-@keyframes slideOutLeft {
-  0% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-}
-@-webkit-keyframes slideOutRight {
-  0% {
-    -webkit-transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-}
-@keyframes slideOutRight {
-  0% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-}
-@-webkit-keyframes slideOutUp {
-  0% {
-    -webkit-transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-}
-@keyframes slideOutUp {
-  0% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-}
-@-webkit-keyframes bounceInUp {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateY(-30px);
-  }
-  80% {
-    -webkit-transform: translateY(10px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes bounceInUp {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-    -ms-transform: translateY(2000px);
-    transform: translateY(2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateY(-30px);
-    -ms-transform: translateY(-30px);
-    transform: translateY(-30px);
-  }
-  80% {
-    -webkit-transform: translateY(10px);
-    -ms-transform: translateY(10px);
-    transform: translateY(10px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes bounceInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateY(30px);
-  }
-  80% {
-    -webkit-transform: translateY(-10px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-  }
-}
-@keyframes bounceInDown {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateY(30px);
-    -ms-transform: translateY(30px);
-    transform: translateY(30px);
-  }
-  80% {
-    -webkit-transform: translateY(-10px);
-    -ms-transform: translateY(-10px);
-    transform: translateY(-10px);
-  }
-  100% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-}
-@-webkit-keyframes bounceInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateX(30px);
-  }
-  80% {
-    -webkit-transform: translateX(-10px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes bounceInLeft {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateX(30px);
-    -ms-transform: translateX(30px);
-    transform: translateX(30px);
-  }
-  80% {
-    -webkit-transform: translateX(-10px);
-    -ms-transform: translateX(-10px);
-    transform: translateX(-10px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes bounceInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateX(-30px);
-  }
-  80% {
-    -webkit-transform: translateX(10px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-  }
-}
-@keyframes bounceInRight {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-  60% {
-    opacity: 1;
-    -webkit-transform: translateX(-30px);
-    -ms-transform: translateX(-30px);
-    transform: translateX(-30px);
-  }
-  80% {
-    -webkit-transform: translateX(10px);
-    -ms-transform: translateX(10px);
-    transform: translateX(10px);
-  }
-  100% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-}
-@-webkit-keyframes bounceOut {
-  0% {
-    -webkit-transform: scale(1);
-  }
-  25% {
-    -webkit-transform: scale(0.95);
-  }
-  50% {
-    opacity: 1;
-    -webkit-transform: scale(1.1);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: scale(0.3);
-  }
-}
-@keyframes bounceOut {
-  0% {
-    -webkit-transform: scale(1);
-    -ms-transform: scale(1);
-    transform: scale(1);
-  }
-  25% {
-    -webkit-transform: scale(0.95);
-    -ms-transform: scale(0.95);
-    transform: scale(0.95);
-  }
-  50% {
-    opacity: 1;
-    -webkit-transform: scale(1.1);
-    -ms-transform: scale(1.1);
-    transform: scale(1.1);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: scale(0.3);
-    -ms-transform: scale(0.3);
-    transform: scale(0.3);
-  }
-}
-@-webkit-keyframes bounceOutUp {
-  0% {
-    -webkit-transform: translateY(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateY(20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-  }
-}
-@keyframes bounceOutUp {
-  0% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateY(20px);
-    -ms-transform: translateY(20px);
-    transform: translateY(20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(-2000px);
-    -ms-transform: translateY(-2000px);
-    transform: translateY(-2000px);
-  }
-}
-@-webkit-keyframes bounceOutDown {
-  0% {
-    -webkit-transform: translateY(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateY(-20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-  }
-}
-@keyframes bounceOutDown {
-  0% {
-    -webkit-transform: translateY(0);
-    -ms-transform: translateY(0);
-    transform: translateY(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateY(-20px);
-    -ms-transform: translateY(-20px);
-    transform: translateY(-20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateY(2000px);
-    -ms-transform: translateY(2000px);
-    transform: translateY(2000px);
-  }
-}
-@-webkit-keyframes bounceOutLeft {
-  0% {
-    -webkit-transform: translateX(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateX(20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-  }
-}
-@keyframes bounceOutLeft {
-  0% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateX(20px);
-    -ms-transform: translateX(20px);
-    transform: translateX(20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(-2000px);
-    -ms-transform: translateX(-2000px);
-    transform: translateX(-2000px);
-  }
-}
-@-webkit-keyframes bounceOutRight {
-  0% {
-    -webkit-transform: translateX(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateX(-20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-  }
-}
-@keyframes bounceOutRight {
-  0% {
-    -webkit-transform: translateX(0);
-    -ms-transform: translateX(0);
-    transform: translateX(0);
-  }
-  20% {
-    opacity: 1;
-    -webkit-transform: translateX(-20px);
-    -ms-transform: translateX(-20px);
-    transform: translateX(-20px);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(2000px);
-    -ms-transform: translateX(2000px);
-    transform: translateX(2000px);
-  }
-}
-@-webkit-keyframes rotateIn {
-  0% {
-    -webkit-transform-origin: center center;
-    -webkit-transform: rotate(-200deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: center center;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-}
-@keyframes rotateIn {
-  0% {
-    -webkit-transform-origin: center center;
-    -ms-transform-origin: center center;
-    transform-origin: center center;
-    -webkit-transform: rotate(-200deg);
-    -ms-transform: rotate(-200deg);
-    transform: rotate(-200deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: center center;
-    -ms-transform-origin: center center;
-    transform-origin: center center;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes rotateInUpLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-}
-@keyframes rotateInUpLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(90deg);
-    -ms-transform: rotate(90deg);
-    transform: rotate(90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes rotateInDownLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(-90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-}
-@keyframes rotateInDownLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(-90deg);
-    -ms-transform: rotate(-90deg);
-    transform: rotate(-90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes rotateInUpRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(-90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-}
-@keyframes rotateInUpRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(-90deg);
-    -ms-transform: rotate(-90deg);
-    transform: rotate(-90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes rotateInDownRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-}
-@keyframes rotateInDownRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(90deg);
-    -ms-transform: rotate(90deg);
-    transform: rotate(90deg);
-    opacity: 0;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes rotateOut {
-  0% {
-    -webkit-transform-origin: center center;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: center center;
-    -webkit-transform: rotate(200deg);
-    opacity: 0;
-  }
-}
-@keyframes rotateOut {
-  0% {
-    -webkit-transform-origin: center center;
-    -ms-transform-origin: center center;
-    transform-origin: center center;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: center center;
-    -ms-transform-origin: center center;
-    transform-origin: center center;
-    -webkit-transform: rotate(200deg);
-    -ms-transform: rotate(200deg);
-    transform: rotate(200deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes rotateOutUpLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(-90deg);
-    opacity: 0;
-  }
-}
-@keyframes rotateOutUpLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(-90deg);
-    -ms-transform: rotate(-90deg);
-    transform: rotate(-90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes rotateOutDownLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -webkit-transform: rotate(90deg);
-    opacity: 0;
-  }
-}
-@keyframes rotateOutDownLeft {
-  0% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: left bottom;
-    -ms-transform-origin: left bottom;
-    transform-origin: left bottom;
-    -webkit-transform: rotate(90deg);
-    -ms-transform: rotate(90deg);
-    transform: rotate(90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes rotateOutUpRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(90deg);
-    opacity: 0;
-  }
-}
-@keyframes rotateOutUpRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(90deg);
-    -ms-transform: rotate(90deg);
-    transform: rotate(90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes rotateOutDownRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -webkit-transform: rotate(-90deg);
-    opacity: 0;
-  }
-}
-@keyframes rotateOutDownRight {
-  0% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform-origin: right bottom;
-    -ms-transform-origin: right bottom;
-    transform-origin: right bottom;
-    -webkit-transform: rotate(-90deg);
-    -ms-transform: rotate(-90deg);
-    transform: rotate(-90deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes hinge {
-  0% {
-    -webkit-transform: rotate(0);
-    -webkit-transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-  }
-  20%,
-  60% {
-    -webkit-transform: rotate(80deg);
-    -webkit-transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-  }
-  40% {
-    -webkit-transform: rotate(60deg);
-    -webkit-transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-  }
-  80% {
-    -webkit-transform: rotate(60deg) translateY(0);
-    opacity: 1;
-    -webkit-transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-  }
-  100% {
-    -webkit-transform: translateY(700px);
-    opacity: 0;
-  }
-}
-@keyframes hinge {
-  0% {
-    -webkit-transform: rotate(0);
-    -ms-transform: rotate(0);
-    transform: rotate(0);
-    -webkit-transform-origin: top left;
-    -ms-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-  20%,
-  60% {
-    -webkit-transform: rotate(80deg);
-    -ms-transform: rotate(80deg);
-    transform: rotate(80deg);
-    -webkit-transform-origin: top left;
-    -ms-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-  40% {
-    -webkit-transform: rotate(60deg);
-    -ms-transform: rotate(60deg);
-    transform: rotate(60deg);
-    -webkit-transform-origin: top left;
-    -ms-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-  80% {
-    -webkit-transform: rotate(60deg) translateY(0);
-    -ms-transform: rotate(60deg) translateY(0);
-    transform: rotate(60deg) translateY(0);
-    opacity: 1;
-    -webkit-transform-origin: top left;
-    -ms-transform-origin: top left;
-    transform-origin: top left;
-    -webkit-animation-timing-function: ease-in-out;
-    animation-timing-function: ease-in-out;
-  }
-  100% {
-    -webkit-transform: translateY(700px);
-    -ms-transform: translateY(700px);
-    transform: translateY(700px);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes rollIn {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-100%) rotate(-120deg);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0) rotate(0deg);
-  }
-}
-@keyframes rollIn {
-  0% {
-    opacity: 0;
-    -webkit-transform: translateX(-100%) rotate(-120deg);
-    -ms-transform: translateX(-100%) rotate(-120deg);
-    transform: translateX(-100%) rotate(-120deg);
-  }
-  100% {
-    opacity: 1;
-    -webkit-transform: translateX(0) rotate(0deg);
-    -ms-transform: translateX(0) rotate(0deg);
-    transform: translateX(0) rotate(0deg);
-  }
-}
-@-webkit-keyframes rollOut {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0) rotate(0deg);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(100%) rotate(120deg);
-  }
-}
-@keyframes rollOut {
-  0% {
-    opacity: 1;
-    -webkit-transform: translateX(0) rotate(0deg);
-    -ms-transform: translateX(0) rotate(0deg);
-    transform: translateX(0) rotate(0deg);
-  }
-  100% {
-    opacity: 0;
-    -webkit-transform: translateX(100%) rotate(120deg);
-    -ms-transform: translateX(100%) rotate(120deg);
-    transform: translateX(100%) rotate(120deg);
-  }
-}
-@-webkit-keyframes lightSpeedIn {
-  0% {
-    -webkit-transform: translateX(100%) skewX(-30deg);
-    opacity: 0;
-  }
-  60% {
-    -webkit-transform: translateX(-20%) skewX(30deg);
-    opacity: 1;
-  }
-  80% {
-    -webkit-transform: translateX(0) skewX(-15deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: translateX(0) skewX(0deg);
-    opacity: 1;
-  }
-}
-@keyframes lightSpeedIn {
-  0% {
-    -webkit-transform: translateX(100%) skewX(-30deg);
-    -ms-transform: translateX(100%) skewX(-30deg);
-    transform: translateX(100%) skewX(-30deg);
-    opacity: 0;
-  }
-  60% {
-    -webkit-transform: translateX(-20%) skewX(30deg);
-    -ms-transform: translateX(-20%) skewX(30deg);
-    transform: translateX(-20%) skewX(30deg);
-    opacity: 1;
-  }
-  80% {
-    -webkit-transform: translateX(0) skewX(-15deg);
-    -ms-transform: translateX(0) skewX(-15deg);
-    transform: translateX(0) skewX(-15deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: translateX(0) skewX(0deg);
-    -ms-transform: translateX(0) skewX(0deg);
-    transform: translateX(0) skewX(0deg);
-    opacity: 1;
-  }
-}
-@-webkit-keyframes lightSpeedOut {
-  0% {
-    -webkit-transform: translateX(0) skewX(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: translateX(100%) skewX(-30deg);
-    opacity: 0;
-  }
-}
-@keyframes lightSpeedOut {
-  0% {
-    -webkit-transform: translateX(0) skewX(0deg);
-    -ms-transform: translateX(0) skewX(0deg);
-    transform: translateX(0) skewX(0deg);
-    opacity: 1;
-  }
-  100% {
-    -webkit-transform: translateX(100%) skewX(-30deg);
-    -ms-transform: translateX(100%) skewX(-30deg);
-    transform: translateX(100%) skewX(-30deg);
-    opacity: 0;
-  }
-}
-@-webkit-keyframes spin {
-  0% {
-    -webkit-transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(359deg);
-  }
-}
-@-ms-keyframes spin {
-  0% {
-    -ms-transform: rotate(0deg);
-  }
-  100% {
-    -ms-transform: rotate(359deg);
-  }
-}
-@keyframes spin {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(359deg);
-    -ms-transform: rotate(359deg);
-    transform: rotate(359deg);
-  }
-}
-@-webkit-keyframes loading {
-  0% {
-    background-position: 0 -400px;
-  }
-  100% {
-    background-position: -7px -400px;
-  }
-}
-@-ms-keyframes loading {
-  0% {
-    background-position: 0 -400px;
-  }
-  100% {
-    background-position: -7px -400px;
-  }
-}
-@keyframes loading {
-  0% {
-    background-position: 0 -400px;
-  }
-  100% {
-    background-position: -7px -400px;
-  }
-}
-@-webkit-keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@keyframes progress-bar-stripes {
-  from {
-    background-position: 40px 0;
-  }
-  to {
-    background-position: 0 0;
-  }
-}
-@-webkit-keyframes pace-spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@-ms-keyframes pace-spinner {
-  0% {
-    -ms-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -ms-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-@keyframes pace-spinner {
-  0% {
-    -webkit-transform: rotate(0deg);
-    -ms-transform: rotate(0deg);
-    transform: rotate(0deg);
-  }
-  100% {
-    -webkit-transform: rotate(360deg);
-    -ms-transform: rotate(360deg);
-    transform: rotate(360deg);
-  }
-}
-.animated {
-  -webkit-animation-duration: 1s;
-  animation-duration: 1s;
-  -webkit-animation-fill-mode: both;
-  animation-fill-mode: both;
-}
-.animated.fast {
-  -webkit-animation-duration: 0.4s;
-  -ms-animation-duration: 0.4s;
-  animation-duration: 0.4s;
-}
-.animated.hinge {
-  -webkit-animation-duration: 2s;
-  animation-duration: 2s;
-}
-.animated.flash {
-  -webkit-animation-name: flash;
-  animation-name: flash;
-}
-.animated.shake {
-  -webkit-animation-name: shake;
-  animation-name: shake;
-}
-.animated.bounce {
-  -webkit-animation-name: bounce;
-  animation-name: bounce;
-}
-.animated.tada {
-  -webkit-animation-name: tada;
-  animation-name: tada;
-}
-.animated.swing {
-  -webkit-transform-origin: top center;
-  -ms-transform-origin: top center;
-  transform-origin: top center;
-  -webkit-animation-name: swing;
-  animation-name: swing;
-}
-.animated.wobble {
-  -webkit-animation-name: wobble;
-  animation-name: wobble;
-}
-.animated.pulse {
-  -webkit-animation-name: pulse;
-  animation-name: pulse;
-}
-.animated.flip {
-  -webkit-backface-visibility: visible!important;
-  -webkit-animation-name: flip;
-  -ms-backface-visibility: visible!important;
-  backface-visibility: visible!important;
-  animation-name: flip;
-}
-.animated.flipInX {
-  -webkit-backface-visibility: visible!important;
-  -webkit-animation-name: flipInX;
-  -ms-backface-visibility: visible!important;
-  backface-visibility: visible!important;
-  animation-name: flipInX;
-}
-.animated.flipOutX {
-  -webkit-animation-name: flipOutX;
-  -webkit-backface-visibility: visible!important;
-  animation-name: flipOutX;
-  -ms-backface-visibility: visible!important;
-  backface-visibility: visible!important;
-}
-.animated.flipInY {
-  -webkit-backface-visibility: visible!important;
-  -webkit-animation-name: flipInY;
-  -ms-backface-visibility: visible!important;
-  backface-visibility: visible!important;
-  animation-name: flipInY;
-}
-.animated.flipOutY {
-  -webkit-backface-visibility: visible!important;
-  -webkit-animation-name: flipOutY;
-  -ms-backface-visibility: visible!important;
-  backface-visibility: visible!important;
-  animation-name: flipOutY;
-}
-.animated.fadeIn {
-  -webkit-animation-name: fadeIn;
-  animation-name: fadeIn;
-}
-.animated.fadeInUp {
-  -webkit-animation-name: fadeInUp;
-  animation-name: fadeInUp;
-}
-.animated.fadeInDown {
-  -webkit-animation-name: fadeInDown;
-  animation-name: fadeInDown;
-}
-.animated.fadeInLeft {
-  -webkit-animation-name: fadeInLeft;
-  animation-name: fadeInLeft;
-}
-.animated.fadeInRight {
-  -webkit-animation-name: fadeInRight;
-  animation-name: fadeInRight;
-}
-.animated.fadeInUpBig {
-  -webkit-animation-name: fadeInUpBig;
-  animation-name: fadeInUpBig;
-}
-.animated.fadeInDownBig {
-  -webkit-animation-name: fadeInDownBig;
-  animation-name: fadeInDownBig;
-}
-.animated.fadeInLeftBig {
-  -webkit-animation-name: fadeInLeftBig;
-  animation-name: fadeInLeftBig;
-}
-.animated.fadeInRightBig {
-  -webkit-animation-name: fadeInRightBig;
-  animation-name: fadeInRightBig;
-}
-.animated.fadeOut {
-  -webkit-animation-name: fadeOut;
-  animation-name: fadeOut;
-}
-.animated.fadeOutUp {
-  -webkit-animation-name: fadeOutUp;
-  animation-name: fadeOutUp;
-}
-.animated.fadeOutDown {
-  -webkit-animation-name: fadeOutDown;
-  animation-name: fadeOutDown;
-}
-.animated.fadeOutLeft {
-  -webkit-animation-name: fadeOutLeft;
-  animation-name: fadeOutLeft;
-}
-.animated.fadeOutRight {
-  -webkit-animation-name: fadeOutRight;
-  animation-name: fadeOutRight;
-}
-.animated.fadeOutUpBig {
-  -webkit-animation-name: fadeOutUpBig;
-  animation-name: fadeOutUpBig;
-}
-.animated.fadeOutDownBig {
-  -webkit-animation-name: fadeOutDownBig;
-  animation-name: fadeOutDownBig;
-}
-.animated.fadeOutLeftBig {
-  -webkit-animation-name: fadeOutLeftBig;
-  animation-name: fadeOutLeftBig;
-}
-.animated.fadeOutRightBig {
-  -webkit-animation-name: fadeOutRightBig;
-  animation-name: fadeOutRightBig;
-}
-.animated.bounceIn {
-  -webkit-animation-name: bounceIn;
-  animation-name: bounceIn;
-}
-.animated.slideInDown {
-  -webkit-animation-name: slideInDown;
-  animation-name: slideInDown;
-}
-.animated.slideInLeft {
-  -webkit-animation-name: slideInLeft;
-  animation-name: slideInLeft;
-}
-.animated.slideInRight {
-  -webkit-animation-name: slideInRight;
-  animation-name: slideInRight;
-}
-.animated.slideOutLeft {
-  -webkit-animation-name: slideOutLeft;
-  animation-name: slideOutLeft;
-}
-.animated.slideOutRight {
-  -webkit-animation-name: slideOutRight;
-  animation-name: slideOutRight;
-}
-.animated.slideOutUp {
-  -webkit-animation-name: slideOutUp;
-  animation-name: slideOutUp;
-}
-.animated.bounceInUp {
-  -webkit-animation-name: bounceInUp;
-  animation-name: bounceInUp;
-}
-.animated.bounceInDown {
-  -webkit-animation-name: bounceInDown;
-  animation-name: bounceInDown;
-}
-.animated.bounceInLeft {
-  -webkit-animation-name: bounceInLeft;
-  animation-name: bounceInLeft;
-}
-.animated.bounceInRight {
-  -webkit-animation-name: bounceInRight;
-  animation-name: bounceInRight;
-}
-.animated.bounceOut {
-  -webkit-animation-name: bounceOut;
-  animation-name: bounceOut;
-}
-.animated.bounceOutUp {
-  -webkit-animation-name: bounceOutUp;
-  animation-name: bounceOutUp;
-}
-.animated.bounceOutDown {
-  -webkit-animation-name: bounceOutDown;
-  animation-name: bounceOutDown;
-}
-.animated.bounceOutLeft {
-  -webkit-animation-name: bounceOutLeft;
-  animation-name: bounceOutLeft;
-}
-.animated.bounceOutRight {
-  -webkit-animation-name: bounceOutRight;
-  animation-name: bounceOutRight;
-}
-.animated.rotateIn {
-  -webkit-animation-name: rotateIn;
-  animation-name: rotateIn;
-}
-.animated.rotateInUpLeft {
-  -webkit-animation-name: rotateInUpLeft;
-  animation-name: rotateInUpLeft;
-}
-.animated.rotateInDownLeft {
-  -webkit-animation-name: rotateInDownLeft;
-  animation-name: rotateInDownLeft;
-}
-.animated.rotateInUpRight {
-  -webkit-animation-name: rotateInUpRight;
-  animation-name: rotateInUpRight;
-}
-.animated.rotateInDownRight {
-  -webkit-animation-name: rotateInDownRight;
-  animation-name: rotateInDownRight;
-}
-.animated.rotateOut {
-  -webkit-animation-name: rotateOut;
-  animation-name: rotateOut;
-}
-.animated.rotateOutUpLeft {
-  -webkit-animation-name: rotateOutUpLeft;
-  animation-name: rotateOutUpLeft;
-}
-.animated.rotateOutDownLeft {
-  -webkit-animation-name: rotateOutDownLeft;
-  animation-name: rotateOutDownLeft;
-}
-.animated.rotateOutUpRight {
-  -webkit-animation-name: rotateOutUpRight;
-  animation-name: rotateOutUpRight;
-}
-.animated.rotateOutDownRight {
-  -webkit-animation-name: rotateOutDownRight;
-  animation-name: rotateOutDownRight;
-}
-.animated.rollIn {
-  -webkit-animation-name: rollIn;
-  animation-name: rollIn;
-}
-.animated.rollOut {
-  -webkit-animation-name: rollOut;
-  animation-name: rollOut;
-}
-.animated.lightSpeedIn {
-  -webkit-animation-name: lightSpeedIn;
-  animation-name: lightSpeedIn;
-  -webkit-animation-timing-function: ease-out;
-  animation-timing-function: ease-out;
-  -webkit-animation-duration: 0.5s;
-  animation-duration: 0.5s;
-}
-.animated.lightSpeedOut {
-  -webkit-animation-name: lightSpeedOut;
-  animation-name: lightSpeedOut;
-  -webkit-animation-timing-function: ease-in;
-  animation-timing-function: ease-in;
-  -webkit-animation-duration: 0.25s;
-  animation-duration: 0.25s;
-}
-.animated.fade {
-  opacity: 0;
-  -webkit-transition: opacity 0.15s linear;
-  transition: opacity 0.15s linear;
-}
-[class*=" bg-"],
-[class^=bg-] {
-  -webkit-filter: none!important;
-  filter: none!important;
-}
-/*
- * Icons styles
- */
-.svg-container svg {
-  filter: drop-shadow(1px 1px 2px black);
-}
-svg {
-  max-width: 100%;
-  max-height: 100%;
-}
-.leaflet-pane svg {
-  /** Custom rule to handle Leaflet SVG */
-  max-width: initial;
-  max-height: initial;
-}
-.square {
-  display: block;
-  float: left;
-  margin-right: 10px;
-  height: 20px;
-  width: 20px;
-}
-.fa-stack-1em {
-  width: 1em!important;
-  height: 1em!important;
-  line-height: 1em!important;
-}
-.icon-color-good {
-  color: #40ac2b;
-}
-.icon-color-bad {
-  color: #ed1c24;
-}
-.percent-sign:after {
-  content: " %";
-  line-height: normal;
-}
-.degree-sign:after {
-  content: " °F";
-  line-height: normal;
-}
-.ui-state-default .ui-icon[class*=" icon-"] {
-  background: 0 0;
-  margin-left: -12px;
-}
-.ui-icon-carat-1-n {
-  background-position: 0 0;
-}
-.ui-icon-carat-1-ne {
-  background-position: -16px 0;
-}
-.ui-icon-carat-1-e {
-  background-position: -32px 0;
-}
-.ui-icon-carat-1-e:before {
-  content: "\f105";
-  font-family: FontAwesome;
-  font-size: 14px;
-  display: inline;
-}
-.ui-icon-carat-1-se {
-  background-position: -48px 0;
-}
-.ui-icon-carat-1-s {
-  background-position: -64px 0;
-}
-.ui-icon-carat-1-sw {
-  background-position: -80px 0;
-}
-.ui-icon-carat-1-w {
-  background-position: -96px 0;
-}
-.ui-icon-carat-1-nw {
-  background-position: -112px 0;
-}
-.ui-icon-carat-2-n-s {
-  background-position: -128px 0;
-}
-.ui-icon-carat-2-e-w {
-  background-position: -144px 0;
-}
-.ui-icon-triangle-1-n {
-  background-position: 0 -16px;
-}
-.ui-icon-triangle-1-ne {
-  background-position: -16px -16px;
-}
-.ui-icon-triangle-1-e {
-  background-position: -32px -16px;
-}
-.ui-icon-triangle-1-se {
-  background-position: -48px -16px;
-}
-.ui-icon-triangle-1-s {
-  background-position: -64px -16px;
-}
-.ui-icon-triangle-1-sw {
-  background-position: -80px -16px;
-}
-.ui-icon-triangle-1-w {
-  background-position: -96px -16px;
-}
-.ui-icon-triangle-1-nw {
-  background-position: -112px -16px;
-}
-.ui-icon-triangle-2-n-s {
-  background-position: -128px -16px;
-}
-.ui-icon-triangle-2-e-w {
-  background-position: -144px -16px;
-}
-.ui-icon-arrow-1-n {
-  background-position: 0 -32px;
-}
-.ui-icon-arrow-1-ne {
-  background-position: -16px -32px;
-}
-.ui-icon-arrow-1-e {
-  background-position: -32px -32px;
-}
-.ui-icon-arrow-1-se {
-  background-position: -48px -32px;
-}
-.ui-icon-arrow-1-s {
-  background-position: -64px -32px;
-}
-.ui-icon-arrow-1-sw {
-  background-position: -80px -32px;
-}
-.ui-icon-arrow-1-w {
-  background-position: -96px -32px;
-}
-.ui-icon-arrow-1-nw {
-  background-position: -112px -32px;
-}
-.ui-icon-arrow-2-n-s {
-  background-position: -128px -32px;
-}
-.ui-icon-arrow-2-ne-sw {
-  background-position: -144px -32px;
-}
-.ui-icon-arrow-2-e-w {
-  background-position: -160px -32px;
-}
-.ui-icon-arrow-2-se-nw {
-  background-position: -176px -32px;
-}
-.ui-icon-arrowstop-1-n {
-  background-position: -192px -32px;
-}
-.ui-icon-arrowstop-1-e {
-  background-position: -208px -32px;
-}
-.ui-icon-arrowstop-1-s {
-  background-position: -224px -32px;
-}
-.ui-icon-arrowstop-1-w {
-  background-position: -240px -32px;
-}
-.ui-icon-arrowthick-1-n {
-  background-position: 0 -48px;
-}
-.ui-icon-arrowthick-1-ne {
-  background-position: -16px -48px;
-}
-.ui-icon-arrowthick-1-e {
-  background-position: -32px -48px;
-}
-.ui-icon-arrowthick-1-se {
-  background-position: -48px -48px;
-}
-.ui-icon-arrowthick-1-s {
-  background-position: -64px -48px;
-}
-.ui-icon-arrowthick-1-sw {
-  background-position: -80px -48px;
-}
-.ui-icon-arrowthick-1-w {
-  background-position: -96px -48px;
-}
-.ui-icon-arrowthick-1-nw {
-  background-position: -112px -48px;
-}
-.ui-icon-arrowthick-2-n-s {
-  background-position: -128px -48px;
-}
-.ui-icon-arrowthick-2-ne-sw {
-  background-position: -144px -48px;
-}
-.ui-icon-arrowthick-2-e-w {
-  background-position: -160px -48px;
-}
-.ui-icon-arrowthick-2-se-nw {
-  background-position: -176px -48px;
-}
-.ui-icon-arrowthickstop-1-n {
-  background-position: -192px -48px;
-}
-.ui-icon-arrowthickstop-1-e {
-  background-position: -208px -48px;
-}
-.ui-icon-arrowthickstop-1-s {
-  background-position: -224px -48px;
-}
-.ui-icon-arrowthickstop-1-w {
-  background-position: -240px -48px;
-}
-.ui-icon-arrowreturnthick-1-w {
-  background-position: 0 -64px;
-}
-.ui-icon-arrowreturnthick-1-n {
-  background-position: -16px -64px;
-}
-.ui-icon-arrowreturnthick-1-e {
-  background-position: -32px -64px;
-}
-.ui-icon-arrowreturnthick-1-s {
-  background-position: -48px -64px;
-}
-.ui-icon-arrowreturn-1-w {
-  background-position: -64px -64px;
-}
-.ui-icon-arrowreturn-1-n {
-  background-position: -80px -64px;
-}
-.ui-icon-arrowreturn-1-e {
-  background-position: -96px -64px;
-}
-.ui-icon-arrowreturn-1-s {
-  background-position: -112px -64px;
-}
-.ui-icon-arrowrefresh-1-w {
-  background-position: -128px -64px;
-}
-.ui-icon-arrowrefresh-1-n {
-  background-position: -144px -64px;
-}
-.ui-icon-arrowrefresh-1-e {
-  background-position: -160px -64px;
-}
-.ui-icon-arrowrefresh-1-s {
-  background-position: -176px -64px;
-}
-.ui-icon-arrow-4 {
-  background-position: 0 -80px;
-}
-.ui-icon-arrow-4-diag {
-  background-position: -16px -80px;
-}
-.ui-icon-extlink {
-  background-position: -32px -80px;
-}
-.ui-icon-newwin {
-  background-position: -48px -80px;
-}
-.ui-icon-refresh {
-  background-position: -64px -80px;
-}
-.ui-icon-shuffle {
-  background-position: -80px -80px;
-}
-.ui-icon-transfer-e-w {
-  background-position: -96px -80px;
-}
-.ui-icon-transferthick-e-w {
-  background-position: -112px -80px;
-}
-.ui-icon-folder-collapsed {
-  background-position: 0 -96px;
-}
-.ui-icon-folder-open {
-  background-position: -16px -96px;
-}
-.ui-icon-document {
-  background-position: -32px -96px;
-}
-.ui-icon-document-b {
-  background-position: -48px -96px;
-}
-.ui-icon-note {
-  background-position: -64px -96px;
-}
-.ui-icon-mail-closed {
-  background-position: -80px -96px;
-}
-.ui-icon-mail-open {
-  background-position: -96px -96px;
-}
-.ui-icon-suitcase {
-  background-position: -112px -96px;
-}
-.ui-icon-comment {
-  background-position: -128px -96px;
-}
-.ui-icon-person {
-  background-position: -144px -96px;
-}
-.ui-icon-print {
-  background-position: -160px -96px;
-}
-.ui-icon-trash {
-  background-position: -176px -96px;
-}
-.ui-icon-locked {
-  background-position: -192px -96px;
-}
-.ui-icon-unlocked {
-  background-position: -208px -96px;
-}
-.ui-icon-bookmark {
-  background-position: -224px -96px;
-}
-.ui-icon-tag {
-  background-position: -240px -96px;
-}
-.ui-icon-home {
-  background-position: 0 -112px;
-}
-.ui-icon-flag {
-  background-position: -16px -112px;
-}
-.ui-icon-calendar {
-  background-position: -32px -112px;
-}
-.ui-icon-cart {
-  background-position: -48px -112px;
-}
-.ui-icon-pencil {
-  background-position: -64px -112px;
-}
-.ui-icon-clock {
-  background-position: -80px -112px;
-}
-.ui-icon-disk {
-  background-position: -96px -112px;
-}
-.ui-icon-calculator {
-  background-position: -112px -112px;
-}
-.ui-icon-zoomin {
-  background-position: -128px -112px;
-}
-.ui-icon-zoomout {
-  background-position: -144px -112px;
-}
-.ui-icon-search {
-  background-position: -160px -112px;
-}
-.ui-icon-wrench {
-  background-position: -176px -112px;
-}
-.ui-icon-gear {
-  background-position: -192px -112px;
-}
-.ui-icon-heart {
-  background-position: -208px -112px;
-}
-.ui-icon-star {
-  background-position: -224px -112px;
-}
-.ui-icon-link {
-  background-position: -240px -112px;
-}
-.ui-icon-cancel {
-  background-position: 0 -128px;
-}
-.ui-icon-plus {
-  background-position: -16px -128px;
-}
-.ui-icon-plusthick {
-  background-position: -32px -128px;
-}
-.ui-icon-minus {
-  background-position: -48px -128px;
-}
-.ui-icon-minusthick {
-  background-position: -64px -128px;
-}
-.ui-icon-close {
-  background-position: -80px -128px;
-}
-.ui-icon-closethick {
-  background-position: -96px -128px;
-}
-.ui-icon-key {
-  background-position: -112px -128px;
-}
-.ui-icon-lightbulb {
-  background-position: -128px -128px;
-}
-.ui-icon-scissors {
-  background-position: -144px -128px;
-}
-.ui-icon-clipboard {
-  background-position: -160px -128px;
-}
-.ui-icon-copy {
-  background-position: -176px -128px;
-}
-.ui-icon-contact {
-  background-position: -192px -128px;
-}
-.ui-icon-image {
-  background-position: -208px -128px;
-}
-.ui-icon-video {
-  background-position: -224px -128px;
-}
-.ui-icon-script {
-  background-position: -240px -128px;
-}
-.ui-icon-alert {
-  background-position: 0 -144px;
-}
-.ui-icon-info {
-  background-position: -16px -144px;
-}
-.ui-icon-notice {
-  background-position: -32px -144px;
-}
-.ui-icon-help {
-  background-position: -48px -144px;
-}
-.ui-icon-check {
-  background-position: -64px -144px;
-}
-.ui-icon-bullet {
-  background-position: -80px -144px;
-}
-.ui-icon-radio-on {
-  background-position: -96px -144px;
-}
-.ui-icon-radio-off {
-  background-position: -112px -144px;
-}
-.ui-icon-pin-w {
-  background-position: -128px -144px;
-}
-.ui-icon-pin-s {
-  background-position: -144px -144px;
-}
-.ui-icon-play {
-  background-position: 0 -160px;
-}
-.ui-icon-pause {
-  background-position: -16px -160px;
-}
-.ui-icon-seek-next {
-  background-position: -32px -160px;
-}
-.ui-icon-seek-prev {
-  background-position: -48px -160px;
-}
-.ui-icon-seek-end {
-  background-position: -64px -160px;
-}
-.ui-icon-seek-first,
-.ui-icon-seek-start {
-  background-position: -80px -160px;
-}
-.ui-icon-stop {
-  background-position: -96px -160px;
-}
-.ui-icon-eject {
-  background-position: -112px -160px;
-}
-.ui-icon-volume-off {
-  background-position: -128px -160px;
-}
-.ui-icon-volume-on {
-  background-position: -144px -160px;
-}
-.ui-icon-power {
-  background-position: 0 -176px;
-}
-.ui-icon-signal-diag {
-  background-position: -16px -176px;
-}
-.ui-icon-signal {
-  background-position: -32px -176px;
-}
-.ui-icon-battery-0 {
-  background-position: -48px -176px;
-}
-.ui-icon-battery-1 {
-  background-position: -64px -176px;
-}
-.ui-icon-battery-2 {
-  background-position: -80px -176px;
-}
-.ui-icon-battery-3 {
-  background-position: -96px -176px;
-}
-.ui-icon-circle-plus {
-  background-position: 0 -192px;
-}
-.ui-icon-circle-minus {
-  background-position: -16px -192px;
-}
-.ui-icon-circle-close {
-  background-position: -32px -192px;
-}
-.ui-icon-circle-triangle-e {
-  background-position: -48px -192px;
-}
-.ui-icon-circle-triangle-s {
-  background-position: -64px -192px;
-}
-.ui-icon-circle-triangle-w {
-  background-position: -80px -192px;
-}
-.ui-icon-circle-triangle-n {
-  background-position: -96px -192px;
-}
-.ui-icon-circle-arrow-e {
-  background-position: -112px -192px;
-}
-.ui-icon-circle-arrow-s {
-  background-position: -128px -192px;
-}
-.ui-icon-circle-arrow-w {
-  background-position: -144px -192px;
-}
-.ui-icon-circle-arrow-n {
-  background-position: -160px -192px;
-}
-.ui-icon-circle-zoomin {
-  background-position: -176px -192px;
-}
-.ui-icon-circle-zoomout {
-  background-position: -192px -192px;
-}
-.ui-icon-circle-check {
-  background-position: -208px -192px;
-}
-.ui-icon-circlesmall-plus {
-  background-position: 0 -208px;
-}
-.ui-icon-circlesmall-minus {
-  background-position: -16px -208px;
-}
-.ui-icon-circlesmall-close {
-  background-position: -32px -208px;
-}
-.ui-icon-squaresmall-plus {
-  background-position: -48px -208px;
-}
-.ui-icon-squaresmall-minus {
-  background-position: -64px -208px;
-}
-.ui-icon-squaresmall-close {
-  background-position: -80px -208px;
-}
-.ui-icon-grip-dotted-vertical {
-  background-position: 0 -224px;
-}
-.ui-icon-grip-dotted-horizontal {
-  background-position: -16px -224px;
-}
-.ui-icon-grip-solid-vertical {
-  background-position: -32px -224px;
-}
-.ui-icon-grip-solid-horizontal {
-  background-position: -48px -224px;
-}
-.ui-icon-gripsmall-diagonal-se {
-  background-position: -64px -224px;
-}
-.ui-icon-grip-diagonal-se {
-  background-position: -80px -224px;
-}
-.ui-button-icon-primary.ui-icon[class*=" icon-"]:before,
-.ui-button-icon-primary.ui-icon[class^=icon-]:before,
-.ui-button-icon-secondary.ui-icon[class*=" icon-"]:before,
-.ui-button-icon-secondary.ui-icon[class^=icon-]:before {
-  font-size: inherit;
-  margin-left: 7px!important;
-  margin-left: 5px;
-  display: inline;
-  text-decoration: inherit;
-  color: inherit;
-}
-/*
- * Typos styles
- */
-@font-face {
-  font-family: 'Ubuntu';
-  src: url('./fonts/Ubuntu-C.eot');
-  src: url('./fonts/Ubuntu-C.eot?#iefix') format('embedded-opentype'), url('./fonts/Ubuntu-C.woff') format('woff'), url('./fonts/Ubuntu-C.ttf') format('truetype'), url('./fonts/Ubuntu-C.svg') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-@font-face {
-  font-family: 'Ubuntu-Light';
-  src: url('./fonts/Ubuntu-L.eot');
-  src: url('./fonts/Ubuntu-L.eot?#iefix') format('embedded-opentype'), url('./fonts/Ubuntu-L.woff') format('woff'), url('./fonts/Ubuntu-L.ttf') format('truetype'), url('./fonts/Ubuntu-L.svg') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-@font-face {
-  font-family: 'Ubuntu-Bold';
-  src: url('./fonts/Ubuntu-B.eot');
-  src: url('./fonts/Ubuntu-B.eot?#iefix') format('embedded-opentype'), url('./fonts/Ubuntu-B.woff') format('woff'), url('./fonts/Ubuntu-B.ttf') format('truetype'), url('./fonts/Ubuntu-B.svg') format('svg');
-  font-weight: bold;
-  font-style: normal;
-}
-@font-face {
-  font-family: 'OpenSans';
-  src: url('./fonts/OpenSans-Regular.eot');
-  src: url('./fonts/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), url('./fonts/OpenSans-Regular.woff2') format('woff2'), url('./fonts/OpenSans-Regular.woff') format('woff'), url('./fonts/OpenSans-Regular.ttf') format('truetype'), url('./fonts/OpenSans-Regular.svg') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-html,
-body {
-  font-family: Ubuntu, Arial, Helvetica, sans-serif;
-}
-a:active,
-a:focus,
-a:hover,
-button,
-button:active,
-button:focus,
-embed,
-input::-moz-focus-inner,
-object {
-  outline: 0;
-}
-.hidden {
-  display: none;
-}
-.hidden-desktop {
-  display: none!important;
-}
-.no-visible {
-  visibility: hidden!important;
-}
-.pull-right {
-  float: right!Important;
-}
-.pull-left {
-  float: left!Important;
-}
-.align-top {
-  vertical-align: top!important;
-}
-.align-base {
-  vertical-align: baseline!important;
-}
-.align-middle {
-  vertical-align: middle!important;
-}
-.opacity-25 {
-  opacity: 0.25 !important;
-}
-.opacity-50 {
-  opacity: 0.5 !important;
-}
-.opacity-75 {
-  opacity: 0.75 !important;
-}
-.opacity-100,
-.opaque {
-  opacity: 1!important;
-}
-.disabled {
-  color: #fff;
-}
-.btn-default.disabled {
-  color: #999;
-}
-xmp {
-  overflow: auto;
-}
-.text-italic {
-  font-style: italic!important;
-}
-.text-dashed {
-  text-decoration: line-through;
-}
-.nowrap {
-  white-space: nowrap;
-}
-.truncated {
-  white-space: nowrap;
-  overflow: hidden;
-  text-overflow: ellipsis;
-}
-.no-space {
-  margin: 0;
-}
-.no-space > [class*=col-] {
-  margin: 0!important;
-  padding-right: 0;
-  padding-left: 0;
-}
-.no-margin {
-  margin: 0!important;
-}
-.no-x-margin {
-  margin-left: 0!important;
-  margin-right: 0!important;
-}
-.no-y-margin {
-  margin-top: 0!important;
-  margin-bottom: 0!important;
-}
-.no-overflow {
-  overflow: hidden!important;
-}
-.no-x-overflow {
-  overflow-x: hidden!important;
-}
-.no-y-overflow {
-  overflow-y: hidden!important;
-}
-.margin-2 {
-  margin: 2px!important;
-}
-.margin-5 {
-  margin: 5px!important;
-}
-.margin-10 {
-  margin: 10px!important;
-}
-.margin-20 {
-  margin: 20px!important;
-}
-.margin-x-2 {
-  margin-left: 2px!important;
-  margin-right: 2px!important;
-}
-.margin-x-5 {
-  margin-left: 5px!important;
-  margin-right: 5px!important;
-}
-.margin-x-10 {
-  margin-left: 10px!important;
-  margin-right: 10px!important;
-}
-.margin-x-20 {
-  margin-left: 20px!important;
-  margin-right: 20px!important;
-}
-.margin-y-2 {
-  margin-top: 2px!important;
-  margin-bottom: 2px!important;
-}
-.margin-y-5 {
-  margin-top: 5px!important;
-  margin-bottom: 5px!important;
-}
-.margin-y-10 {
-  margin-top: 10px!important;
-  margin-bottom: 10px!important;
-}
-.margin-y-20 {
-  margin-top: 20px!important;
-  margin-bottom: 20px!important;
-}
-.margin-top--20 {
-  margin-top: -20px !important;
-}
-.margin-top--10 {
-  margin-top: -10px !important;
-}
-.margin-top--5 {
-  margin-top: -5px !important;
-}
-.margin-top-0 {
-  margin-top: 0!important;
-}
-.margin-top-2 {
-  margin-top: 2px!important;
-}
-.margin-top-5 {
-  margin-top: 5px!important;
-}
-.margin-top-5-neg {
-  margin-top: -5px !important;
-}
-.margin-top-10 {
-  margin-top: 10px!important;
-}
-.margin-top-10-neg {
-  margin-top: -10px !important;
-}
-.margin-top-20 {
-  margin-top: 20px!important;
-}
-.margin-top-30 {
-  margin-top: 30px!important;
-}
-.margin-bottom-0 {
-  margin-bottom: 0!important;
-}
-.margin-bottom-2 {
-  margin-bottom: 2px!important;
-}
-.margin-bottom-5 {
-  margin-bottom: 5px!important;
-}
-.margin-bottom-10 {
-  margin-bottom: 10px!important;
-}
-.margin-bottom-20 {
-  margin-bottom: 20px!important;
-}
-.margin-bottom-30 {
-  margin-bottom: 30px!important;
-}
-.margin-left-0 {
-  margin-left: 0!important;
-}
-.margin-left-2 {
-  margin-left: 2px!important;
-}
-.margin-left-5 {
-  margin-left: 5px!important;
-}
-.margin-left-5-neg {
-  margin-left: -5px !important;
-}
-.margin-left-10 {
-  margin-left: 10px!important;
-}
-.margin-left-10-neg {
-  margin-left: -10px !important;
-}
-.margin-left-20 {
-  margin-left: 20px!important;
-}
-.margin-right-0 {
-  margin-right: 0!important;
-}
-.margin-right-2 {
-  margin-right: 2px!important;
-}
-.margin-right-5 {
-  margin-right: 5px!important;
-}
-.margin-right-10 {
-  margin-right: 10px!important;
-}
-.margin-right-20 {
-  margin-right: 20px!important;
-}
-.shift-topleft-2 {
-  margin-top: -2px !important;
-  margin-left: -2px !important;
-}
-.shift-topleft-4 {
-  margin-top: -4px !important;
-  margin-left: -4px !important;
-}
-.shift-topright-2 {
-  margin-top: -2px !important;
-  margin-right: -2px !important;
-}
-.shift-topright-4 {
-  margin-top: -4px !important;
-  margin-right: -4px !important;
-}
-.shift-bottomleft-2 {
-  margin-bottom: -2px !important;
-  margin-left: -2px !important;
-}
-.shift-bottomleft-4 {
-  margin-bottom: -4px !important;
-  margin-left: -4px !important;
-}
-.shift-bottomright-2 {
-  margin-bottom: -2px !important;
-  margin-right: -2px !important;
-}
-.shift-bottomright-4 {
-  margin-bottom: -4px !important;
-  margin-right: -4px !important;
-}
-.bordered:not(:empty) {
-  border: 1px solid #ccc;
-}
-.bordered:not(:empty):hover {
-  border-color: #bbbbbb;
-}
-.bordered:not(:empty).nohover:hover {
-  border-color: #ccc;
-}
-.no-border,
-.well[class*=" bg-"].no-border {
-  border-width: 0!important;
-}
-.no-border-transparent {
-  border-color: transparent!important;
-}
-.no-border-radius {
-  border-radius: 0;
-}
-.border-0 {
-  border-width: 0!important;
-}
-.border-1 {
-  border-width: 1px!important;
-}
-.radius-4 {
-  border-radius: 4px!important;
-}
-.radius-top-4 {
-  border-top-left-radius: 4px!important;
-  border-top-right-radius: 4px!important;
-}
-.radius-bottom-4 {
-  border-bottom-left-radius: 4px!important;
-  border-bottom-right-radius: 4px!important;
-}
-.radius-left-4 {
-  border-top-left-radius: 4px!important;
-  border-bottom-left-radius: 4px!important;
-}
-.radius-right-4 {
-  border-top-right-radius: 4px!important;
-  border-bottom-right-radius: 4px!important;
-}
-.width-nomin {
-  min-width: 0!important;
-}
-.width-auto {
-  width: auto!important;
-}
-.width-20 {
-  width: 20px;
-  max-width: 20px;
-}
-.width-40 {
-  width: 40px;
-  max-width: 40px;
-}
-.width-50 {
-  width: 50px;
-  max-width: 50px;
-}
-.width-60 {
-  width: 60px;
-  max-width: 60px;
-}
-.width-80 {
-  width: 80px;
-  max-width: 80px;
-}
-.width-100 {
-  width: 100px;
-  max-width: 100px;
-}
-.width-200 {
-  width: 200px;
-  max-width: 200px;
-}
-.width-300 {
-  width: 300px;
-  max-width: 300px;
-}
-.width-400 {
-  width: 400px;
-  max-width: 400px;
-}
-.width-500 {
-  width: 500px;
-  max-width: 500px;
-}
-.height-nomin {
-  min-height: 0!important;
-}
-.height-20 {
-  height: 20px!important;
-}
-.height-40 {
-  height: 40px!important;
-}
-.height-50 {
-  height: 50px!important;
-}
-.height-60 {
-  height: 60px!important;
-}
-.height-80 {
-  height: 80px!important;
-}
-.height-100 {
-  height: 100px!important;
-}
-.height-200 {
-  height: 200px!important;
-}
-.height-300 {
-  height: 300px!important;
-}
-.height-400 {
-  height: 400px!important;
-}
-.height-500 {
-  height: 500px!important;
-}
-.height-min-20 {
-  min-height: 20px;
-}
-.height-min-40 {
-  min-height: 40px;
-}
-.height-min-50 {
-  min-height: 50px;
-}
-.height-min-60 {
-  min-height: 60px;
-}
-.height-min-80 {
-  min-height: 80px;
-}
-.height-min-100 {
-  min-height: 100px;
-}
-.height-min-200 {
-  min-height: 200px;
-}
-.height-min-300 {
-  min-height: 300px;
-}
-.height-min-400 {
-  min-height: 400px;
-}
-.height-min-500 {
-  min-height: 500px;
-}
-.height-max-20 {
-  max-height: 20px;
-}
-.height-max-40 {
-  max-height: 40px;
-}
-.height-max-50 {
-  max-height: 50px;
-}
-.height-max-60 {
-  max-height: 60px;
-}
-.height-max-80 {
-  max-height: 80px;
-}
-.height-max-100 {
-  max-height: 100px;
-}
-.height-max-200 {
-  max-height: 200px;
-}
-.height-max-300 {
-  max-height: 300px;
-}
-.height-max-400 {
-  max-height: 400px;
-}
-.height-max-500 {
-  max-height: 500px;
-}
-.padding-2 {
-  padding: 2px!important;
-}
-.padding-5 {
-  padding: 5px!important;
-}
-.padding-7 {
-  padding: 7px!important;
-}
-.padding-10 {
-  padding: 10px!important;
-}
-.padding-20 {
-  padding: 20px!important;
-}
-.padding-x-0 {
-  padding-left: 0!important;
-  padding-right: 0!important;
-}
-.padding-x-2 {
-  padding-left: 2px!important;
-  padding-right: 2px!important;
-}
-.padding-x-5 {
-  padding-left: 5px!important;
-  padding-right: 5px!important;
-}
-.padding-x-10 {
-  padding-left: 10px!important;
-  padding-right: 10px!important;
-}
-.padding-x-20 {
-  padding-left: 20px!important;
-  padding-right: 20px!important;
-}
-.padding-y-0 {
-  padding-top: 0!important;
-  padding-bottom: 0!important;
-}
-.padding-y-2 {
-  padding-top: 2px!important;
-  padding-bottom: 2px!important;
-}
-.padding-y-5 {
-  padding-top: 5px!important;
-  padding-bottom: 5px!important;
-}
-.padding-y-10 {
-  padding-top: 10px!important;
-  padding-bottom: 10px!important;
-}
-.padding-y-20 {
-  padding-top: 20px!important;
-  padding-bottom: 20px!important;
-}
-.padding-top-0 {
-  padding-top: 0!important;
-}
-.padding-top-2 {
-  padding-top: 2px!important;
-}
-.padding-top-5 {
-  padding-top: 5px!important;
-}
-.padding-top-10 {
-  padding-top: 10px!important;
-}
-.padding-top-20 {
-  padding-top: 20px!important;
-}
-.padding-bottom-0 {
-  padding-bottom: 0!important;
-}
-.padding-bottom-2 {
-  padding-bottom: 2px!important;
-}
-.padding-bottom-5 {
-  padding-bottom: 5px!important;
-}
-.padding-bottom-10 {
-  padding-bottom: 10px!important;
-}
-.padding-bottom-20 {
-  padding-bottom: 20px!important;
-}
-.padding-left-0 {
-  padding-left: 0!important;
-}
-.padding-left-2 {
-  padding-left: 2px!important;
-}
-.padding-left-5 {
-  padding-left: 5px!important;
-}
-.padding-left-10 {
-  padding-left: 10px!important;
-}
-.padding-left-20 {
-  padding-left: 20px!important;
-}
-.padding-right-0 {
-  padding-right: 0!important;
-}
-.padding-right-2 {
-  padding-right: 2px!important;
-}
-.padding-right-5 {
-  padding-right: 5px!important;
-}
-.padding-right-10 {
-  padding-right: 10px!important;
-}
-.padding-right-20 {
-  padding-right: 20px!important;
-}
-@media (max-width: 768px) {
-  .col-xs-hide {
-    display: none!important;
-  }
-}
-@media (min-width: 768px) and (max-width: 992px) {
-  .col-sm-hide {
-    display: none!important;
-  }
-}
-@media (min-width: 992px) and (max-width: 1200px) {
-  .col-md-hide {
-    display: none!important;
-  }
-}
-@media (min-width: 1200px) {
-  .col-lg-hide {
-    display: none!important;
-  }
-}
-.no-padding {
-  padding: 0!important;
-}
-.no-padding .md-editor,
-.widget-body.no-padding .cke_chrome {
-  border: 0;
-}
-.no-padding > pre {
-  margin: 30px;
-}
-.no-padding-bottom {
-  padding-bottom: 0!important;
-}
-.no-x-padding {
-  padding-left: 0!important;
-  padding-right: 0!important;
-}
-.no-y-padding {
-  padding-top: 0!important;
-  padding-bottom: 0!important;
-}
-.no-content-padding {
-  margin: -10px -14px 0 -14px;
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .no-content-padding {
-    margin: 0 -14px !important;
-  }
-}
-@media (max-width: 767px) {
-  .no-content-padding {
-    margin: 0 -5px !important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .no-content-padding {
-    margin: 0 -5px !important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .no-content-padding {
-    margin: 0 -5px !important;
-  }
-}
-.no-height {
-  line-height: 0;
-}
-.clearfix,
-.inner-space:after {
-  zoom: 1;
-}
-.clearfix:after,
-.inner-space:after {
-  clear: both;
-}
-.clearfix:after,
-.inner-space:after,
-.clearfix:before,
-.inner-space:before {
-  display: block;
-  visibility: hidden;
-  overflow: hidden;
-  content: "\0020";
-  height: 0;
-  font-size: 0;
-  line-height: 0;
-}
-@media (max-width: 768px) {
-  .clearfix-xs:after {
-    clear: both;
-  }
-  .clearfix-xs:after,
-  .clearfix-xs:before {
-    display: block;
-    visibility: hidden;
-    overflow: hidden;
-    content: "\0020";
-    height: 0;
-    font-size: 0;
-    line-height: 0;
-  }
-}
-@media (min-width: 768px) and (max-width: 992px) {
-  .clearfix-sm:after {
-    clear: both;
-  }
-  .clearfix-sm:after,
-  .clearfix-sm:before {
-    display: block;
-    visibility: hidden;
-    overflow: hidden;
-    content: "\0020";
-    height: 0;
-    font-size: 0;
-    line-height: 0;
-  }
-}
-@media (min-width: 992px) and (max-width: 1200px) {
-  .clearfix-md:after {
-    clear: both;
-  }
-}
-@media (min-width: 1200px) {
-  .clearfix-lg:after {
-    clear: both;
-  }
-}
-.display-inline {
-  display: inline-block !important;
-}
-.display-normal {
-  display: inline!important;
-}
-.hover-transparent {
-  opacity: 0.5;
-}
-.hover-transparent:hover {
-  opacity: 1;
-}
-.row-seperator-header {
-  margin: 15px 14px 20px;
-  border-bottom: 0;
-  display: block;
-  color: #646464;
-  font-size: 20px;
-  font-weight: 400;
-}
-.text-align-center,
-.text-center {
-  text-align: center!important;
-}
-.text-align-left,
-.text-left {
-  text-align: left!important;
-}
-.text-align-right,
-.text-right {
-  text-align: right!important;
-}
-.center-canvas,
-.center-child-canvas > canvas {
-  display: block!important;
-  margin: 0 auto!important;
-}
-.semi-bold {
-  font-weight: 400!important;
-}
-.bold {
-  font-weight: 900!important;
-}
-.nobold {
-  font-weight: normal!important;
-}
-.typo-bold {
-  font-family: Ubuntu-Bold;
-}
-.ultra-light {
-  font-weight: 300!important;
-}
-.font-xs {
-  font-size: 85%!important;
-}
-.font-sm {
-  font-size: 95%!important;
-}
-.font-md {
-  font-size: 130%!important;
-}
-.font-lg {
-  font-size: 160%!important;
-}
-.font-xl {
-  font-size: 200%!important;
-}
-.font-400 {
-  font-size: 400%!important;
-}
-.fa-fw-md {
-  width: 1em;
-  text-align: center;
-}
-.badge {
-  font-size: 11px;
-  padding: 3px 6px 2px;
-}
-.label {
-  padding: 0.3em 0.6em 0.1em;
-}
-.cursor-pointer {
-  cursor: pointer;
-}
-.selected {
-  border: 1px solid #0091d9 !important;
-}
-tr.selected {
-  background-color: #dcebff;
-}
-.selected:before {
-  display: block;
-  position: absolute;
-  content: "\f00c";
-  color: #fff;
-  right: 4px;
-  font-family: FontAwesome;
-  z-index: 1002;
-}
-tr.selected:before {
-  display: none;
-}
-.selected:after {
-  width: 0;
-  height: 0;
-  border-top: 35px solid #0091d9;
-  border-left: 35px solid rgba(0, 0, 0, 0);
-  position: absolute;
-  display: block;
-  right: 0;
-  content: ".";
-  top: 0;
-  z-index: 1001;
-}
-tr.selected:after {
-  display: none;
-}
-ul.inside {
-  list-style-position: inside;
-}
-ul.outside {
-  list-style-position: outside;
-}
-/*
- * Components layout
- */
-html {
-  margin: 0;
-  padding: 0;
-  height: 100%;
-  overflow-x: hidden!important;
-  background-color: #e7e7ef;
-}
-body {
-  margin: 0;
-  padding: 0;
-  height: 100%;
-  overflow: hidden;
-  background-color: #e7e7ef;
-  direction: ltr;
-}
-body.container {
-  position: relative;
-  padding: 0;
-  border-left: 1px solid #bfbfbf;
-  border-right: 1px solid #bfbfbf;
-  -webkit-box-shadow: 0 2px 70px rgba(0, 0, 0, 0.45);
-  box-shadow: 0 2px 70px rgba(0, 0, 0, 0.45);
-}
-body.nooverflow {
-  position: fixed;
-  overflow: hidden;
-  width: 100%;
-}
-#main {
-  display: block;
-  margin-left: 220px;
-  padding: 0;
-  min-height: 500px;
-  -webkit-transition: all 0.1s ease-out;
-  transition: all 0.1s ease-out;
-}
-@media (max-width: 979px) {
-  #main {
-    margin-left: 0;
-  }
-}
-#content {
-  padding: 10px;
-  position: relative;
-  left: 0;
-  -webkit-transition: left 0.1s ease-out;
-  transition: left 0.1s ease-out;
-}
-@media (max-width: 767px) {
-  #content {
-    padding-left: 5px;
-    padding-right: 5px;
-  }
-}
-.page-title {
-  margin: 7px 0 10px;
-}
-.page-title a {
-  color: #6F8696;
-}
-.page-title a:hover,
-.page-title a:active {
-  text-decoration: none;
-}
-.page-title span {
-  font-size: 16px;
-  color: #333;
-  display: inline-block;
-  vertical-align: 1px;
-}
-.page-title span i {
-  padding: 0 5px;
-}
-aside {
-  display: block;
-  width: 220px;
-  overflow: hidden;
-  min-height: 100%;
-  background-color: #92a395;
-}
-aside nav li.divider {
-  background: rgba(122, 122, 122, 0.8);
-}
-#header {
-  display: block;
-  height: 49px;
-  position: relative;
-  margin: 0;
-  padding: 0 13px 0 0;
-  background-color: #f8f8f8;
-}
-@media (max-width: 767px) {
-  #header {
-    padding-right: 5px;
-  }
-}
-@media only screen and (max-width: 679px) {
-  #header {
-    padding-right: 5px;
-    background: #fff;
-  }
-}
-#header > div {
-  display: inline-block;
-  vertical-align: middle;
-  height: 49px;
-  float: left;
-}
-#header > div.open {
-  font-weight: 700;
-}
-.fixed-header #header {
-  position: fixed;
-  top: 0;
-  width: 100%;
-  z-index: 1001;
-}
-.container.fixed-header #header {
-  max-width: 1164px;
-}
-.fixed-header #header .ajax-dropdown {
-  z-index: 1000;
-}
-@media (max-width: 979px) {
-  #header #logo-group {
-    display: none;
-  }
-}
-.fixed-header #shortcut {
-  position: fixed;
-}
-.fixed-header #main {
-  margin-top: 49px;
-}
-@media (max-width: 979px) {
-  #top-links {
-    margin-left: 10px;
-  }
-}
-#top-links > div {
-  display: inline-block;
-  float: left;
-}
-@media (max-width: 767px) {
-  #top-links > div {
-    display: none;
-  }
-}
-.top-menu {
-  display: inline-block;
-  padding: 7px 13px 0;
-  position: relative;
-}
-@media (max-width: 767px) {
-  .top-menu {
-    display: none;
-  }
-}
-.top-menu > span {
-  display: block;
-}
-.top-menu > :first-child {
-  display: block;
-  color: #bfbfbf;
-  font-size: 10px;
-  font-weight: 700;
-  text-transform: uppercase;
-  text-shadow: 0 0 1px #fff;
-  padding-left: 0;
-  text-align: left;
-}
-.top-menu.bordered {
-  background-color: white;
-  padding-top: 4px;
-  padding-bottom: 9px;
-  border-color: silver;
-  border-width: 2px 2px 0;
-  border-style: solid;
-  border-radius: 8px 8px 0 0;
-  margin-left: -1px;
-}
-.top-tabs {
-  display: inline-block;
-  padding: 7px 13px 0;
-  position: relative;
-}
-.top-tabs > span {
-  display: block;
-}
-.top-tabs > :first-child {
-  display: block;
-  color: #bfbfbf;
-  font-size: 10px;
-  font-weight: 700;
-  text-transform: uppercase;
-  text-shadow: 0 0 1px #fff;
-  padding-left: 5px;
-  text-align: left;
-}
-.top-tabs .nav-tabs li > a {
-  padding: 2px 10px 3px!important;
-  border-color: #ccc #ccc transparent;
-  box-shadow: 0px -2px 3px #ccc;
-  margin-top: 3px!important;
-}
-.top-tabs .nav-tabs li.active > a {
-  margin-top: 3px!important;
-  padding: 2px 10px 3px!important;
-}
-.top-tabs .nav-tabs li .subtab {
-  display: none;
-  position: absolute;
-  min-width: 200px;
-  margin-top: -1px;
-  padding: 5px;
-  background-color: white;
-  border: 1px solid #ccc;
-  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-  z-index: 101;
-}
-.top-tabs .nav-tabs li .subtab .slider {
-  width: calc(100% - 10px);
-  margin: 0 5px;
-}
-.top-selector {
-  max-width: 97%;
-  white-space: nowrap;
-  background: 0 0;
-  border: 0;
-  padding: 0;
-  text-align: left;
-  color: #555;
-  font-size: 14px;
-  cursor: pointer;
-}
-.top-selector:hover {
-  color: #333;
-}
-#user-menu {
-  position: relative;
-}
-#user-menu .btn {
-  position: relative;
-  margin-top: 10px;
-  margin-bottom: 8px;
-  padding: 3px 6px 3px 0;
-  width: 60px;
-}
-@media (max-width: 767px) {
-  #user-menu .btn {
-    margin-top: 5px;
-    margin-left: 5px!important;
-    width: 40px;
-    padding-top: 5px;
-    padding-bottom: 4px;
-  }
-  #user-menu .btn i.fa {
-    float: none!important;
-    font-size: 150%;
-  }
-}
-#user-menu .btn img,
-#user-menu .btn i.img {
-  position: absolute;
-  left: -1px;
-  top: -4px;
-  border: solid 1px white;
-  padding: 2px;
-  background-color: white;
-  transform: rotate(-7deg);
-}
-@media (max-width: 767px) {
-  #user-menu .btn img,
-  #user-menu .btn i.img {
-    display: none;
-  }
-}
-#user-menu .btn i.img {
-  width: 34px;
-  height: 34px;
-  color: #999;
-  opacity: 1;
-  font-size: 220%;
-}
-#user-menu .btn:active img,
-#user-menu .btn:active i.img {
-  left: -2px;
-  top: -5px;
-}
-@media (max-width: 767px) {
-  #user-menu .dropdown-menu a {
-    width: auto!important;
-  }
-}
-#user-activity {
-  position: relative;
-}
-#user-activity .badge {
-  position: absolute;
-  top: 2px;
-  right: -8px;
-}
-@media (max-width: 767px) {
-  #user-activity .badge {
-    top: -2px;
-  }
-}
-@media (max-width: 979px) {
-  #login-info {
-    display: none;
-  }
-}
-#login-info > span {
-  display: inline-block;
-  height: 39px;
-  float: left;
-}
-#login-info > span .badge {
-  position: absolute;
-  top: -5px;
-  right: -9px;
-  cursor: pointer;
-  background: #0091d9;
-  display: inline-block;
-  font-size: 10px;
-  -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);
-  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);
-  color: #fff;
-  font-weight: 700;
-  border-radius: 50%;
-  padding: 3px;
-  text-align: center;
-  line-height: normal;
-}
-#login-info span#activity {
-  border-radius: 2px;
-  cursor: default!important;
-  display: inline-block;
-  font-weight: 700;
-  height: 24px;
-  width: 24px;
-  padding: 2px;
-  text-align: center;
-  text-decoration: none!important;
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  background-color: #f8f8f8;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f1f1f1));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#f8f8f8), to(#f1f1f1));
-  background-image: -webkit-linear-gradient(top, #f8f8f8, #f1f1f1);
-  background-image: linear-gradient(top, #f8f8f8, #f1f1f1);
-  border: 1px solid #bfbfbf;
-  color: #c4bab6;
-  font-size: 19px;
-  margin: 5px 0 0;
-  position: relative;
-}
-#login-info span#activity:hover {
-  border: 1px solid #bfbfbf;
-  -webkit-transition: all 0s;
-  transition: all 0s;
-  cursor: pointer!important;
-  -webkit-box-shadow: inset 0 0 4px 1px rgba(0, 0, 0, 0.08);
-  box-shadow: inset 0 0 4px 1px rgba(0, 0, 0, 0.08);
-}
-.authomatic {
-  display: inline-block;
-  width: 21px;
-  height: 21px;
-  margin: 2px 0!important;
-  padding: 3px!important;
-  text-align: center;
-}
-.authomatic:hover {
-  background-color: #ccc;
-  border-radius: 3px;
-}
-#logo {
-  display: inline-block;
-  max-width: 100%;
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  #logo {
-    margin-top: 10px;
-  }
-}
-@media (max-width: 767px) {
-  #logo {
-    margin-top: 10px;
-    margin-left: 4px;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #logo {
-    margin-top: 10px;
-    margin-left: 4px;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #logo {
-    width: 135px;
-    margin-top: 10px;
-    margin-left: 4px;
-  }
-}
-#logo img {
-  max-width: 100%;
-  max-height: 50px;
-}
-#logo-group {
-  width: 220px;
-}
-@media only screen and (min-width: 480px) and (max-width: 1089px) {
-  #logo-group {
-    width: 175px;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #logo-group {
-    width: 169px!important;
-  }
-}
-.uv-icon {
-  position: absolute!important;
-  left: 155px!important;
-  top: 5px!important;
-  z-index: 500!important;
-}
-@media only screen and (min-width: 0) and (max-width: 1089px) {
-  .uv-icon {
-    left: 130px!important;
-  }
-}
-#activity.active .badge {
-  background: #006fa6 !important;
-}
-.header-search {
-  position: relative;
-}
-@media (max-width: 767px) {
-  .header-search {
-    display: none;
-  }
-}
-.header-search.pull-right {
-  margin-left: 6px;
-}
-@media (max-width: 979px) {
-  .header-search.pull-right {
-    margin-left: 0;
-  }
-}
-.header-search > input[type=text] {
-  display: block;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  min-width: 200px;
-  width: 100%;
-  height: 30px;
-  padding: 0 10px;
-  outline: 0;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 0;
-  border-color: #bfbfbf;
-  background: #fff;
-  color: #404040;
-  appearance: normal;
-  -moz-appearance: none;
-  -webkit-appearance: none;
-  margin-top: 10px;
-  line-height: normal;
-}
-@media (min-width: 768px) and (max-width: 979px) {
-  .header-search > input[type=text] {
-    margin-top: 9px;
-  }
-}
-.header-search > button {
-  background: 0 0;
-  border: 0;
-  color: #6D6A69;
-  font-size: 17px;
-  height: 30px;
-  line-height: 30px;
-  margin: 0;
-  padding: 0;
-  position: absolute;
-  right: 0;
-  top: 10px;
-  width: 30px;
-  z-index: 2;
-}
-#search-mobile {
-  display: none;
-}
-@media (max-width: 767px) {
-  #search-mobile {
-    display: block;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #search-mobile {
-    display: block;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #search-mobile {
-    margin-left: 0;
-  }
-}
-@media (max-width: 767px) {
-  .search-mobile .header-search {
-    display: block;
-    position: absolute;
-    top: 0;
-    width: 100%;
-    height: 49px;
-    background: #333;
-    padding: 0 2px;
-    -webkit-box-sizing: border-box;
-    -moz-box-sizing: border-box;
-    box-sizing: border-box;
-    left: 0;
-  }
-  .search-mobile .header-search > input[type=text] {
-    margin-top: 2px;
-    height: 45px;
-    border-color: #333;
-    padding-right: 75px;
-  }
-  .search-mobile .header-search > button {
-    height: 29px;
-    line-height: 29px;
-    background: #DDD;
-    right: 44px;
-  }
-  .search-mobile #search-mobile {
-    display: none;
-  }
-  .search-mobile #cancel-search-js {
-    display: block;
-  }
-}
-#cancel-search-js {
-  position: absolute;
-  display: none;
-  background: #a90329;
-  z-index: 3;
-  color: #fff;
-  padding: 0;
-  right: 10px;
-  top: 10px;
-  text-align: center;
-  height: 29px;
-  line-height: 29px;
-  width: 30px;
-  font-size: 17px;
-  text-decoration: none!important;
-}
-#left-panel {
-  position: absolute;
-  top: 49px;
-  left: 0;
-  z-index: 1002;
-  -webkit-transition: left 0.1s ease-out;
-  transition: left 0.1s ease-out;
-  overflow-y: auto;
-}
-@media (max-width: 979px) {
-  #left-panel {
-    left: -220px;
-  }
-}
-.fixed-navigation #left-panel {
-  position: fixed;
-  z-index: 998;
-}
-@media (max-width: 767px) {
-  .fixed-navigation #left-panel {
-    position: absolute!important;
-  }
-}
-#left-panel #ajax-gear {
-  position: absolute;
-  left: calc(50% - 1em);
-  top: 5px;
-}
-#left-panel .version {
-  bottom: 2px;
-  margin-top: 40px;
-  width: 100%;
-  text-align: center;
-  font-size: 11px;
-  color: #333;
-}
-#ribbon {
-  height: 40px;
-  background: #3886c9;
-  padding: 0 40px 0 13px;
-  position: relative;
-}
-@media (max-width: 767px) {
-  #ribbon {
-    padding-left: 5px;
-    padding-right: 5px;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #ribbon {
-    border-bottom: 1px solid #cfcfcf;
-    border-top: 1px solid #e6e6e6;
-    background: #f5f5f5;
-  }
-}
-#ribbon .breadcrumb {
-  display: inline-block;
-  margin: 0;
-  padding: 12px 34px 10px 0!important;
-  background: 0 0;
-  vertical-align: top;
-}
-#ribbon .breadcrumb li.strong a {
-  line-height: 1em;
-  font-weight: bold;
-  font-size: 120%;
-  color: #fff !important;
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #ribbon .breadcrumb li.strong a {
-    color: #333 !important;
-  }
-}
-#ribbon .breadcrumb,
-#ribbon .breadcrumb a {
-  color: #efefef !important;
-  text-decoration: none!Important;
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #ribbon .breadcrumb,
-  #ribbon .breadcrumb a {
-    color: #6d6c6c !important;
-  }
-}
-#ribbon .breadcrumb > li + li:before {
-  padding: 0 3px;
-}
-#ribbon .breadcrumb > li + li.strong:before {
-  padding-right: 1px;
-}
-#ribbon .breadcrumb li:last-child,
-#ribbon .breadcrumb > .active {
-  color: #fff;
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #ribbon .breadcrumb li:last-child,
-  #ribbon .breadcrumb > .active {
-    color: #333 !important;
-  }
-}
-#ribbon .breadcrumb li:last-child a,
-#ribbon .breadcrumb > .active a {
-  font-weight: bold;
-}
-.fixed-ribbon #ribbon {
-  position: fixed;
-  right: 0;
-  left: 220px;
-  top: 49px;
-  z-index: 999;
-}
-@media (max-width: 979px) {
-  .fixed-ribbon #ribbon {
-    left: 0;
-  }
-}
-.container.fixed-ribbon #ribbon {
-  width: 944px;
-  left: 590px;
-}
-.fixed-ribbon #content {
-  padding-top: 50px;
-}
-@media (max-width: 767px) {
-  .fixed-ribbon #content {
-    padding-top: 52px;
-  }
-}
-.minified.fixed-ribbon #ribbon {
-  left: 45px;
-}
-.hidden-menu.fixed-ribbon #ribbon {
-  left: 10px;
-}
-@media (max-width: 979px) {
-  .hidden-menu.fixed-ribbon #ribbon {
-    left: 220px;
-  }
-}
-.hidden-ribbon #ribbon {
-  height: 1px;
-  min-height: 1px;
-  max-height: 1px;
-}
-.hidden-ribbon #ribbon > * {
-  display: none;
-}
-.ribbon {
-  position: absolute;
-  right: 9px;
-  top: -4px;
-}
-.header-dropdown-list {
-  list-style: none;
-  float: right;
-  position: relative;
-  margin: 0;
-  padding-left: 10px;
-}
-.header-dropdown-list > li {
-  display: inline-block;
-  padding-right: 5px;
-}
-.header-dropdown-list > li > .dropdown-toggle {
-  margin-top: 16px;
-  display: block;
-}
-.smart-accordion-default.panel-group .panel + .panel {
-  margin-top: -1px;
-}
-.smart-accordion-default.panel-group .panel-heading {
-  padding: 0;
-}
-.smart-accordion-default.panel-group .panel-title a {
-  display: block;
-  padding: 10px 15px;
-  text-decoration: none!important;
-}
-.smart-accordion-default .panel-group .panel,
-.smart-accordion-default .panel-heading {
-  border-radius: 0;
-}
-.smart-accordion-default .panel-default {
-  border-color: #c3c3c3;
-}
-.smart-accordion-default .panel-default > .panel-heading {
-  background-color: #fcfcfc;
-}
-.smart-accordion-default .panel-title > a.collapsed > .fa,
-.smart-accordion-default .panel-title > a > :first-child {
-  display: none;
-}
-.smart-accordion-default .panel-title > a.collapsed > :first-child {
-  display: inline-block;
-}
-.no-padding .smart-accordion-default > div {
-  border-left: 0!important;
-  border-right: 0!important;
-}
-.no-padding .smart-accordion-default > div:first-child {
-  border-top: 0!important;
-}
-.no-padding .smart-accordion-default > div:last-child {
-  border-bottom: 0!important;
-}
-#logo-group *,
-.login-info,
-.login-info *,
-.minified .menu-item-parent {
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-}
-.login-info {
-  display: block;
-  font-size: 12px;
-  height: 39px;
-  color: #333;
-  border: solid transparent;
-  margin: 2px 0 0 10px !important;
-  float: right;
-}
-.login-info a,
-.login-info strong {
-  text-transform: capitalize;
-  font-size: 14px;
-  display: inline-block;
-  color: #333;
-  text-decoration: none;
-  margin-left: 5px;
-}
-.login-info a:hover,
-.login-info strong {
-  color: #666;
-}
-.login-info a.btn {
-  margin-top: 5px;
-}
-.login-info a.btn-danger,
-.login-info a.btn-success,
-.login-info a.btn-primary {
-  color: #dedede;
-}
-.login-info span {
-  /*height: 38px;*/
-  display: inline-block;
-  padding: 0 0 0 10px;
-  /*border-bottom: 1px solid #1A1817;*/
-}
-.login-info span a.btn-success {
-  margin-top: -10px;
-}
-.login-info img {
-  width: 24px;
-  height: auto;
-  display: inline-block;
-  vertical-align: middle;
-  margin-top: -6px;
-  margin-right: 0;
-  margin-left: 0;
-  border-left: 0;
-}
-.minifyme {
-  border-bottom: 1px solid #302F2F;
-  background: #454545;
-  color: #A8A8A8;
-  text-align: center;
-  padding: 1px 0 0;
-  width: 36px;
-  height: 28px;
-  display: block;
-  position: absolute;
-  right: -3px;
-  border-radius: 5px 0 0 5px;
-  cursor: pointer;
-  margin-top: 5px;
-  margin-bottom: 10px;
-  font-size: 19px;
-  -webkit-transition: all 0.1s linear 0s;
-  transition: all 0.1s linear 0s;
-}
-.minifyme:hover {
-  background: #646464;
-  color: #E4E4E4;
-  right: 0;
-}
-.minified .minifyme {
-  right: 0;
-  color: #A8A8A8;
-  position: relative;
-  width: 100%;
-  border-radius: 0;
-  margin: 0;
-  height: 32px;
-  font-size: 23px;
-}
-.minified .minifyme .fa:before {
-  content: "\f0a9";
-}
-.minified #left-panel {
-  width: 45px;
-  overflow: visible;
-}
-@media (max-width: 979px) {
-  .minified #left-panel {
-    left: 0;
-  }
-}
-.minified #main {
-  margin-left: 45px;
-}
-.minified #left-panel > ul > li,
-.minified nav > ul > li {
-  overflow: visible;
-  /*border-bottom: 1px solid #1A1817;
-			border-top: 1px solid #525151;*/
-}
-.minified #left-panel > ul > li > ul::before,
-.minified nav > ul > li > ul::before {
-  border-left: 0;
-}
-.minified #left-panel > ul > li,
-.minified nav > ul > li,
-.minified #left-panel > ul > li a,
-.minified nav > ul > li a {
-  position: relative;
-}
-.minified #left-panel ul > li > a,
-.minified nav ul > li > a {
-  padding: 12px 11px 10px;
-  display: block;
-}
-.minified #left-panel > ul > li > a .fa.fa-fw,
-.minified nav > ul > li > a .fa.fa-fw {
-  display: block;
-  width: auto;
-  text-align: center;
-  padding: 0;
-}
-.minified #left-panel > ul > li > a > i,
-.minified nav > ul > li > a > i {
-  text-align: center;
-  margin: 0;
-  display: block;
-}
-.minified #left-panel > ul > li.active > a::before,
-.minified nav > ul > li.active > a::before {
-  content: "\f0d9";
-}
-.minified #left-panel ul ul li a,
-.minified nav ul ul li a {
-  padding-top: 5px;
-  padding-bottom: 5px;
-  padding-left: 14px;
-}
-.minified #left-panel ul ul li li a,
-.minified nav ul ul li li a {
-  padding-left: 25px;
-}
-.minified #left-panel > ul ul li::before,
-.minified nav > ul ul li::before,
-.minified #left-panel > ul > li > ul::before,
-.minified nav > ul > li > ul::before {
-  left: 12px;
-}
-.minified #left-panel > ul > li > a .menu-item-parent,
-.minified nav > ul > li > a .menu-item-parent,
-.minified #left-panel > ul > li > a > b,
-.minified nav > ul > li > a > b {
-  display: none;
-}
-.minified #left-panel > ul > li > a > .menu-item-parent,
-.minified nav > ul > li > a > .menu-item-parent {
-  display: none;
-  position: absolute;
-  left: 40px;
-  top: -3px;
-  width: 186px;
-  height: 36px;
-  line-height: 38px;
-  background-color: #f5f5f5;
-  color: #333;
-  z-index: 3;
-  -webkit-box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, 0.2);
-  box-shadow: 2px 1px 2px 0 rgba(0, 0, 0, 0.2);
-  border-left: 1px solid #bfbfbf;
-  border-top: 1px solid #D8D4D4;
-  border-bottom: 1px solid #fff;
-  padding-left: 12px;
-}
-.minified #left-panel > ul > li > ul,
-.minified nav > ul > li > ul {
-  display: none!important;
-  position: absolute;
-  left: 40px;
-  width: 200px;
-  z-index: 5;
-  border: 1px solid #58635b;
-  min-height: 180px;
-  -webkit-box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
-  box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
-  background: #58635b;
-  margin-top: -3px;
-}
-.minified #left-panel ul > li > ul > li > ul,
-.minified nav ul > li > ul > li > ul {
-  position: relative;
-  left: 13px;
-  border: 0;
-  margin-left: -12px;
-  width: 197px;
-}
-.minified #left-panel > ul > li:hover > a > .menu-item-parent,
-.minified nav > ul > li:hover > a > .menu-item-parent,
-.minified #left-panel > ul > li:hover > ul,
-.minified nav > ul > li:hover > ul {
-  display: block!important;
-}
-.minified #left-panel > ul > li > ul > li,
-.minified nav > ul > li > ul > li {
-  background-color: #58635b;
-}
-.minified #left-panel > ul > li > ul > li > ul > li,
-.minified nav > ul > li > ul > li > ul > li {
-  background-color: #4a534d;
-}
-.minified #left-panel > ul > li > ul > li > a,
-.minified nav > ul > li > ul > li > a,
-.minified #left-panel > ul > li > ul > li > ul > li > a,
-.minified nav > ul > li > ul > li > ul > li > a {
-  padding-top: 7px;
-  padding-bottom: 7px;
-}
-.minified #left-panel > ul > li > ul > li > ul > li a,
-.minified nav > ul > li > ul > li > ul > li a {
-  padding-top: 6px;
-  padding-bottom: 6px;
-}
-.minified #left-panel > ul > ul,
-.minified nav > ul > ul {
-  min-height: 100px!important;
-  max-height: 180px!important;
-  overflow-y: scroll;
-  overflow-x: hidden;
-  background: #ed1c24 !important;
-}
-.minified #left-panel > ul ul li::before,
-.minified nav > ul ul li::before {
-  border: 0;
-}
-.minified #left-panel ul ul ul ul li a,
-.minified nav ul ul ul ul li a {
-  padding-left: 45px;
-}
-.minified #left-panel ul ul ul ul ul li a,
-.minified nav ul ul ul ul ul li a {
-  padding-left: 62px;
-}
-.minified #left-panel ul ul ul ul ul ul li a,
-.minified nav ul ul ul ul ul ul li a {
-  padding-left: 82px;
-}
-.minified #left-panel .version {
-  display: none;
-}
-.minified .slimScrollDiv,
-.minified .slimScrollDiv > :first-child {
-  overflow: visible!important;
-}
-.minified .slimScrollBar,
-.minified .slimScrollRail {
-  display: none;
-}
-.slimScrollDiv,
-.slimScrollDiv > :first-child {
-  overflow: hidden;
-}
-@media (max-width: 979px) {
-  #hide-menu i,
-  #logout i {
-    color: #6D6A69;
-    font-size: 100%;
-  }
-}
-@media (min-width: 0) and (max-width: 880px) {
-  #hide-menu i,
-  #logout i {
-    font-size: 121%;
-  }
-}
-.hidden-menu #left-panel {
-  left: -210px;
-  z-index: 1002;
-}
-@media (max-width: 979px) {
-  .hidden-menu #left-panel {
-    left: 0;
-  }
-}
-.hidden-menu #left-panel:hover {
-  left: 0;
-}
-.hidden-menu #main {
-  margin-left: 10px;
-}
-.minified.hidden-menu #main {
-  margin-left: 0;
-}
-@media (max-width: 979px) {
-  .hidden-menu #main {
-    position: relative;
-    left: 210px;
-  }
-  .minified.hidden-menu #main {
-    left: 0;
-  }
-}
-@media (max-width: 979px) {
-  .hidden-menu #hide-menu i {
-    color: #fff;
-  }
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .hidden-menu #hide-menu i::before {
-    content: "\f0c9";
-  }
-}
-@media (max-width: 767px) {
-  .hidden-menu #hide-menu i {
-    color: #fff;
-  }
-  .hidden-menu #hide-menu i::before {
-    content: "\f0c9";
-  }
-}
-.hidden-menu #hide-menu > :first-child > a {
-  background-color: #e8e8e8;
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #5a5a5a), color-stop(100%, #686868));
-  background-image: -webkit-linear-gradient(to bottom, #5a5a5a 0, #686868 100%);
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#5a5a5a), to(#686868));
-  background-image: -webkit-linear-gradient(top, #5a5a5a 0, #686868 100%);
-  background-image: linear-gradient(to bottom, #5a5a5a 0, #686868 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5A5A5A', endColorstr='#686868', GradientType=0);
-  color: #fff;
-  border-color: #494949;
-  -webkit-box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15);
-}
-@media (min-width: 768px) and (max-width: 979px) {
-  .hidden-menu #hide-menu > :first-child > a {
-    margin-top: 9px;
-    width: 40px;
-  }
-}
-.hidden-menu #hide-menu > :first-child > a:active {
-  -webkit-box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, 0.2);
-  box-shadow: inset 0 0 6px 1px rgba(0, 0, 0, 0.2);
-}
-.hidden-menu .minifyme,
-.minified #hide-menu {
-  display: none;
-}
-.no-menu #left-panel {
-  left: -220px;
-  z-index: 0;
-}
-.no-menu #main {
-  margin-left: 0;
-}
-.no-menu #hide-menu {
-  display: none;
-}
-#shortcuts {
-  position: absolute;
-  top: 0;
-  left: 0;
-  height: auto;
-  width: 100%;
-  background-color: #33302F;
-  background-color: rgba(0, 0, 0, 0.85);
-  z-index: 1009;
-  display: none;
-  color: #fff;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-#shortcuts ul {
-  padding: 15px 20px 10px;
-  list-style: none;
-  margin: 0;
-  -webkit-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
-  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
-  border-bottom: 1px solid #423F3F;
-}
-#shortcuts ul li {
-  display: inline-block;
-  width: auto;
-}
-#shortcuts ul li .ams-metro-tile {
-  margin: 0 3px 3px;
-  border: 0;
-  border-radius: 0;
-}
-#shortcuts ul li .ams-metro-tile:hover {
-  color: #fff;
-  text-decoration: none;
-}
-#shortcuts ul li .ams-metro-tile:active,
-#shortcuts ul li .ams-metro-tile:focus {
-  left: 0;
-  top: 0;
-}
-#shortcuts ul li a {
-  display: inline-block;
-  box-sizing: content-box;
-  text-transform: capitalize;
-  font-size: 14px;
-  color: #333;
-  text-decoration: none;
-}
-#shortcuts ul li a span {
-  display: inline-block;
-  padding: 0 0 0 10px;
-}
-#shortcuts .version {
-  position: absolute;
-  right: 10px;
-  bottom: 10px;
-}
-.shortcut-on #response-btn {
-  display: none!important;
-}
-.shortcut-on #left-bar .navbar,
-.shortcut-on #main .navbar {
-  border: 0!important;
-}
-#sparks {
-  display: block;
-  list-style: none;
-  margin: 10px 0 0;
-  padding: 0;
-  text-align: right;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #sparks {
-    text-align: center;
-    background: #E0E0E0;
-    padding: 10px 0;
-    margin-bottom: 15px;
-  }
-}
-#sparks li {
-  display: inline-block;
-  border-left: 1px dotted #c7c7c7;
-  padding: 0 10px;
-  max-height: 47px;
-  overflow: hidden;
-  text-align: left;
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #sparks li {
-    padding: 0 10px 0 20px;
-  }
-}
-#sparks li:last-child {
-  padding-right: 0;
-}
-#sparks li:first-child {
-  border-left: 0;
-  padding-left: 0;
-}
-#sparks li h5 {
-  color: #555;
-  float: left;
-  font-size: 11px;
-  font-weight: 400;
-  margin: -3px 0 0 0;
-  padding: 0;
-  border: 0;
-  text-transform: uppercase;
-}
-#sparks li span {
-  color: #636363;
-  display: block;
-}
-.sparks-info {
-  min-width: 70px;
-}
-.sparks-info span {
-  font-size: 18px;
-  line-height: 20px;
-  margin: 0;
-  text-transform: none;
-}
-.sparks-info .sparkline {
-  display: block;
-  float: right;
-  margin: 3px 0 0 20px;
-}
-#heat-fill {
-  display: block;
-  position: relative;
-  margin-bottom: 20px;
-  background: #333;
-  height: 7px;
-  width: 200px;
-  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAAABCAIAAAAU3Xa1AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDowMDE4MkZGMzMzOTgxMUUzODZBQUNFQUNFOTk0NEUxRiIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDowMDE4MkZGNDMzOTgxMUUzODZBQUNFQUNFOTk0NEUxRiI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjAwMTgyRkYxMzM5ODExRTM4NkFBQ0VBQ0U5OTQ0RTFGIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjAwMTgyRkYyMzM5ODExRTM4NkFBQ0VBQ0U5OTQ0RTFGIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+rG8MDAAAAM5JREFUeNpUUtESwyAIg8ft9v8/W4ElBPWKV1AIiKEeEWVuVlWjINSVONBnirQDxukNgcuyTQsBzLHMDsLIQQw+nIL71JqNJ5GZJXApFNpmtlagQjfS2xGbkFA4Iwu+hu0sK3Wl3nOwNv7TvPrWk3X0eW9dK1pU9hK2eTuWb2ySJmlziutA3iBxmblPNvA5PNsuUpoDY80+Z0SW1IRpDEqwC58C14tsr1f8le8si0aojdADr/1UjaclsFashX8GGkL9wDxtRsV6ft/PX4ABADRzhOVIOJaAAAAAAElFTkSuQmCC);
-}
-.fill-a,
-.fill-b {
-  width: 20px;
-  text-align: right;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  display: block;
-  background: #fff;
-  padding-right: 4px;
-  position: absolute;
-  left: 0;
-  margin-top: -7px;
-  font-weight: 700;
-}
-.fill-b {
-  text-align: left;
-  position: absolute;
-  right: 0;
-  left: auto;
-  top: 0;
-  width: 60px;
-  padding-left: 4px;
-  padding-right: 0;
-}
-.cke_top {
-  background: rgba(248, 248, 248, 0.9) !important;
-  background-image: none!important;
-}
-/**
- * Messages boxes
- */
-.MessageBox {
-  width: 100%;
-  height: 100%;
-  position: fixed;
-  top: 0;
-  left: 0;
-  background: rgba(80, 80, 80, 0.7);
-  z-index: 100000;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBox {
-    width: 100%;
-    height: 100%;
-    position: fixed;
-    top: 0;
-    left: 0;
-    background: rgba(80, 80, 80, 0.7);
-    z-index: 100000;
-  }
-}
-.MessageBoxContainer {
-  top: 35%;
-  color: #fff;
-  position: relative;
-  width: 100%;
-  background-color: rgba(0, 0, 0, 0.7);
-  padding: 20px;
-}
-.MessageBoxContainer.info {
-  width: 60%;
-  left: 20%;
-  background-color: rgba(255, 255, 255, 0.9);
-  color: #333;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxContainer {
-    top: 25%;
-    color: #fff;
-    position: relative;
-    width: 100%;
-    background-color: rgba(0, 0, 0, 0.7);
-  }
-}
-.MessageBoxContainer input,
-.MessageBoxContainer select {
-  width: 50%;
-  padding: 5px;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxContainer input,
-  .MessageBoxContainer select {
-    width: 50%;
-    padding: 5px;
-  }
-}
-.MessageBoxMiddle {
-  position: relative;
-  left: 20%;
-  width: 60%;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxMiddle {
-    position: relative;
-    left: 0;
-    width: 100%;
-    padding: 3px;
-  }
-}
-.MessageBoxMiddle .MsgTitle {
-  letter-spacing: -1px;
-  font-size: 24px;
-  font-weight: 300;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxMiddle .MsgTitle {
-    font-size: 22px;
-  }
-}
-.MessageBoxMiddle .pText {
-  font-style: 30px;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxMiddle {
-    font-style: 10px;
-  }
-}
-.MessageBoxButtonSection {
-  width: 100%;
-  height: 30px;
-  text-align: right;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxButtonSection {
-    width: 100%;
-    height: 30px;
-  }
-}
-.MessageBoxButtonSection button {
-  margin-right: 7px;
-  padding-left: 15px;
-  padding-right: 15px;
-  font-size: 14px;
-  font-weight: 700;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .MessageBoxButtonSection button {
-    float: right;
-    margin-right: 5px;
-    padding-left: 15px;
-    padding-right: 15px;
-  }
-}
-.LoadingBoxContainer {
-  top: 20%;
-  color: #fff;
-  position: relative;
-  width: 100%;
-  background-color: rgba(0, 0, 0, 0.7);
-}
-.LoadingBoxContainer .MsgTitle {
-  font-size: 26px;
-}
-.LoadingBoxContainer .pText {
-  font-style: 30px;
-}
-.LoadingBoxMiddle {
-  position: relative;
-  left: 20%;
-  width: 50%;
-  padding: 10px;
-}
-#LoadingPoints {
-  position: absolute;
-}
-#divMiniIcons {
-  position: fixed;
-  width: 415px;
-  right: 10px;
-  bottom: 180px;
-  z-index: 9999;
-  float: right;
-}
-#divMiniIcons .cajita {
-  text-align: center;
-  vertical-align: middle;
-  padding: 4px 6px;
-  color: #FFF;
-  float: right;
-  cursor: pointer;
-  display: block;
-  background-color: red;
-  font-size: 17px;
-  margin-left: 4px;
-  margin-top: 5px;
-}
-#divMiniIcons .cajita:active {
-  top: 1px;
-  left: 1px;
-  position: relative;
-}
-#divSmallBoxes {
-  position: fixed;
-  right: 0;
-  top: 0;
-  z-index: 9999;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  #divSmallBoxes {
-    position: fixed;
-    width: 90%;
-    right: 0;
-    top: 0;
-  }
-}
-.BigBox {
-  position: fixed;
-  right: 10px;
-  bottom: 10px;
-  background-color: #004d60;
-  padding: 10px 10px 5px;
-  width: 390px;
-  height: 150px;
-  color: #fff;
-  z-index: 99999;
-  box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  border-left: 5px solid rgba(0, 0, 0, 0.15);
-  overflow: hidden;
-}
-.BigBox span {
-  font-size: 17px;
-  font-weight: 300;
-  letter-spacing: -1px;
-  padding: 5px 0!important;
-  display: block;
-}
-.BigBox p {
-  font-size: 13px;
-  margin-top: 10px;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .BigBox {
-    width: 88%;
-  }
-}
-.BigBox .bigboxicon {
-  font-size: 30px;
-  text-align: left;
-  position: absolute;
-  top: 120px;
-  left: 6px;
-  z-index: 0;
-}
-.BigBox .bigboxnumber {
-  width: 100%;
-  text-align: right;
-  font-size: 25px;
-}
-.SmallBox {
-  position: absolute;
-  right: 5px;
-  top: 20px;
-  width: 420px;
-  color: #fff;
-  z-index: 9999;
-  overflow: hidden;
-  border: 1px solid transparent;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox {
-    width: 95%;
-  }
-}
-.SmallBox:hover {
-  border: 1px solid #fff;
-  cursor: pointer;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox:hover {
-    -webkit-box-shadow: 0 0 10px #888;
-    box-shadow: 0 0 10px #888;
-    cursor: pointer;
-  }
-}
-.SmallBox .foto {
-  font-size: 30px;
-  position: absolute;
-  left: 20px;
-}
-.SmallBox .textoFull {
-  width: 93%;
-  float: left;
-  padding-left: 20px;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox .textoFull {
-    width: 93%;
-    float: left;
-    padding-left: 20px;
-  }
-}
-.SmallBox .textoFoto {
-  width: 78%;
-  margin: 3px 20px 3px 80px;
-  float: left;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox .textoFoto {
-    width: 55%;
-    margin: 3px 20px 3px 80px;
-    float: left;
-  }
-}
-.SmallBox span {
-  font-size: 17px;
-  font-weight: 300;
-  letter-spacing: -1px;
-  display: block;
-  margin: 4px 0;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox span {
-    font-size: 16px;
-  }
-}
-.SmallBox p {
-  font-size: 13px;
-  margin-top: 2px;
-}
-@media screen and (max-width: 450px) and (max-width: 767px) {
-  .SmallBox p {
-    font-size: 12px;
-    margin-top: 2px;
-  }
-}
-.btnClose {
-  position: absolute;
-  right: 10px;
-  height: 16px;
-  width: 15px;
-  cursor: pointer;
-  font-size: 18px;
-  opacity: 0.5;
-  display: block;
-  top: 15px;
-}
-.btnClose:hover {
-  opacity: 1;
-}
-.miniPic {
-  position: absolute;
-  bottom: 8px;
-  right: 9px;
-}
-.miniIcon {
-  height: 100%;
-  font-size: 20px;
-}
-/*
- * Menus styles
- */
-nav {
-  padding-top: 40px;
-}
-nav ul {
-  width: 100%;
-  padding: 0;
-  margin: 0;
-  font-size: 13px;
-  line-height: 0.5em;
-  list-style: none;
-  position: relative;
-  background-color: #58635b;
-}
-nav ul li {
-  overflow: hidden;
-}
-nav ul li.divider {
-  height: 20px;
-  border: 0;
-}
-nav ul li.divider:first-child,
-nav ul li.divider:last-child,
-nav ul li.divider + li.divider {
-  display: none;
-}
-nav ul li.header {
-  font-family: "Ubuntu-Light", Arial, Helvetica, sans-serif;
-  font-size: 14px;
-  font-weight: bold;
-  color: #eee;
-  background-color: #e75a2c;
-  padding: 4px 10px 4px 20px;
-  line-height: 18px;
-}
-nav ul li.header:not(:first-child) {
-  margin-top: 10px;
-}
-.minified #left-panel nav ul li.header {
-  padding: 5px;
-  color: #e75a2c;
-  line-height: 0;
-  max-height: 10px;
-  overflow: hidden;
-}
-nav ul li a {
-  line-height: normal;
-  font-size: 14px;
-  padding: 10px 10px 10px 11px;
-  color: #f9fdf2;
-  display: block;
-  font-weight: 400;
-  text-decoration: none!important;
-  position: relative;
-}
-nav ul li a:active {
-  background: #606b62 !important;
-}
-nav ul li a:focus {
-  color: #c9c9c9;
-}
-nav ul li a:hover {
-  color: #fff;
-  text-decoration: none;
-}
-nav ul li.active > a {
-  background-color: #58635b;
-  color: #fff !important;
-  position: relative;
-}
-nav ul li.active > a:before {
-  content: "\f0d9";
-  font-family: FontAwesome;
-  display: block;
-  height: 27px;
-  line-height: 14px;
-  width: 27px;
-  position: absolute;
-  right: -21px;
-  font-size: 20px;
-  color: #e5e2cf;
-}
-nav ul li.active.open > a:before {
-  content: "";
-}
-nav ul li.active.open > a.active:before {
-  content: "\f0d9";
-}
-nav ul li li {
-  border-bottom: 0;
-  position: relative;
-}
-nav ul .active > a {
-  color: #fefefe !important;
-  position: relative;
-}
-nav ul.active li.active > a {
-  cursor: default;
-}
-nav ul.active li.active > a.open {
-  cursor: pointer;
-}
-nav ul.active li.active > a.open.active {
-  cursor: default;
-  background-color: #337ab7;
-  transition: background-color ease 2s;
-}
-nav ul b {
-  float: right;
-  font-size: 14px;
-  margin-top: -1px;
-}
-nav ul span.menu-item-parent {
-  display: inline-block;
-  margin: 0;
-  padding: 0;
-}
-nav ul ul {
-  margin: 0;
-  display: none;
-  background: #4a534d;
-  padding: 2px 0;
-}
-nav ul ul > li:hover b {
-  color: #d5d9e2;
-}
-nav ul ul li {
-  margin: 0;
-  padding: 0;
-}
-nav ul ul li.divider {
-  height: 1px;
-  margin-left: 30px;
-  padding: 0;
-}
-nav ul ul li > a {
-  padding-left: 42px;
-  font-size: 12px;
-  font-weight: 400;
-  outline: 0;
-}
-nav ul ul li > a:hover {
-  background-color: #39423c;
-  color: #fff;
-}
-nav ul ul li > a.active {
-  margin-left: 30px;
-  padding-left: 12px;
-  background-color: #337ab7;
-  transition: background-color ease 2s;
-}
-.minified nav ul ul li > a.active {
-  margin-left: 0;
-}
-nav ul ul ul {
-  background: 0 0;
-  padding: 0;
-}
-nav ul ul ul li a {
-  color: #bfbfbf;
-  padding: 8px 10px 8px 60px;
-  font-size: 11px;
-}
-nav ul ul ul li a:hover {
-  background-color: #39423c;
-  color: #fff;
-}
-nav ul ul ul li a.active {
-  margin-left: 50px;
-  padding-left: 10px;
-}
-nav ul ul ul ul li a {
-  padding-left: 90px;
-}
-nav ul ul ul ul li a.active {
-  margin-left: 80px;
-  padding-left: 10px;
-}
-nav ul ul ul ul ul li a {
-  padding-left: 110px;
-}
-nav ul ul ul ul ul li a.active {
-  margin-left: 100px;
-  padding-left: 10px;
-}
-nav ul ul ul ul ul ul li a {
-  padding-left: 130px;
-}
-nav ul ul ul ul ul ul li a.active {
-  margin-left: 120px;
-  padding-left: 10px;
-}
-nav ul ul b {
-  color: #b3b3b3;
-}
-nav > ul > li:hover > ul::before,
-nav > ul > li:hover > ul > li::before {
-  border-color: rgba(122, 122, 122, 0.4) !important;
-}
-nav > ul > li:not(.active) > a:hover {
-  background-color: #606b62;
-}
-.minified nav > ul > li.active > a {
-  background-color: #337ab7;
-  transition: background-color ease 2s;
-}
-nav > ul > li > a > .badge.pull-right {
-  margin-right: 15px;
-}
-.minified nav > ul > li > a > .badge.pull-right {
-  position: absolute;
-  margin-right: 0;
-  top: 0.4em;
-  right: 5px;
-}
-nav > ul > li > a b {
-  position: absolute!important;
-  visibility: hidden;
-  right: 10px;
-  top: 10px;
-}
-nav > ul > li > a > i {
-  margin-right: 5px;
-  width: 15px;
-  display: inline-block;
-  text-align: center;
-  position: relative;
-}
-nav > ul > li > a > i > em {
-  font-size: 9px;
-  display: block;
-  padding: 2px;
-  position: absolute;
-  top: -8px;
-  right: -6px;
-  text-decoration: none;
-  font-style: normal;
-  background-color: #ed1c24;
-  color: #fff;
-  min-width: 13px;
-  border-radius: 50%;
-  max-height: 13px;
-  line-height: 8px;
-  font-weight: 700;
-  vertical-align: baseline;
-  white-space: nowrap;
-  text-align: center;
-  border: 1px solid rgba(255, 255, 255, 0.1);
-}
-nav > ul > li:not(.open) > a:hover b,
-nav > ul > li.open:not(.active) > a:hover b {
-  visibility: visible;
-}
-nav > ul > li > ul::before {
-  content: "";
-  display: block;
-  position: absolute;
-  z-index: 1;
-  left: 23px;
-  top: 0;
-  bottom: 13px;
-  border-left: 1px solid rgba(122, 122, 122, 0.1);
-}
-nav > ul > li > ul > li > a,
-nav > ul > li > ul > li > ul > li > a {
-  padding-top: 5px;
-  padding-bottom: 5px;
-}
-nav > ul ul li a i {
-  font-size: 14px!important;
-  width: 18px!important;
-  text-align: center!important;
-}
-nav > ul ul li::before {
-  content: "";
-  display: block;
-  position: absolute;
-  width: 8px;
-  left: 23px;
-  top: 13px;
-  border-top: 1px solid rgba(122, 122, 122, 0.1);
-  z-index: 1;
-}
-nav > ul ul ul li::before {
-  content: "";
-  display: block;
-  position: absolute;
-  width: 18px;
-  left: 10px;
-  top: 17px;
-  border-top: 1px solid transparent;
-}
-@media (min-width: 768px) {
-  .navbar-nav > li > a {
-    padding-top: 17px;
-    padding-bottom: 15px;
-  }
-}
-.ui-menu {
-  display: block;
-  width: 155px;
-  padding: 2px;
-  -webkit-box-shadow: 0 2px 4px rgba(30, 30, 100, 0.25);
-  box-shadow: 0 2px 4px rgba(30, 30, 100, 0.25);
-  background: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  z-index: 1;
-  list-style: none;
-  margin: 0;
-  margin-bottom: 2em;
-  outline: 0;
-}
-.ui-menu .ui-menu {
-  margin-top: -3px;
-  position: absolute;
-  list-style: none;
-}
-.ui-menu .ui-menu-item {
-  margin: 0;
-  padding: 0;
-  width: 100%;
-  list-style: none;
-  list-style-image: url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);
-}
-.ui-menu .ui-menu-item a {
-  text-decoration: none;
-  display: block;
-  padding: 2px 0.4em;
-  line-height: 1.5;
-  min-height: 0;
-  font-weight: 400;
-}
-.ui-menu .ui-menu-item a.ui-corner-all {
-  border-radius: 0;
-}
-.ui-menu .ui-menu-item a.ui-state-active,
-.ui-menu .ui-menu-item a.ui-state-focus,
-.ui-menu .ui-menu-item a.ui-widget-content {
-  font-weight: 700;
-  margin: 0;
-  background-color: #428BCA;
-  border-color: #357EBD;
-  color: #FFF;
-  display: block;
-  white-space: nowrap;
-}
-.ui-menu .ui-menu-item a.ui-state-active {
-  padding: 1px 0.4em;
-}
-.ui-menu .ui-menu-item a .ui-menu-icon {
-  width: auto;
-  height: auto;
-  top: 0;
-  left: auto;
-  right: auto;
-  bottom: auto;
-  text-indent: 0;
-}
-.ui-menu .ui-menu-divider {
-  margin: 5px -2px 5px -2px;
-  height: 0;
-  font-size: 0;
-  line-height: 0;
-  border-width: 1px 0 0;
-}
-.ui-menu .ui-state-disabled {
-  margin: 0.4em 0 0.2em !important;
-  background: none!important;
-  color: #999 !important;
-  font-weight: 400!important;
-  cursor: default;
-  line-height: 1.5;
-}
-.ui-menu .ui-state-disabled a {
-  cursor: default;
-}
-.ui-menu .ui-menu-icons {
-  position: relative;
-}
-.ui-menu .ui-menu-icons .ui-menu-item a {
-  position: relative;
-  padding-left: 2em;
-}
-.ui-menu .ui-icon {
-  position: absolute;
-  top: 0.2em;
-  left: 0.2em;
-}
-.ui-menu .ui-menu-icon {
-  position: static;
-  float: right;
-}
-.dropdown-menu {
-  max-height: calc(100vh - 200px);
-  overflow-y: auto;
-}
-.dropdown-menu > li > a:hover {
-  background-color: #e0e0e0;
-}
-.dropdown-menu > li li a {
-  display: block;
-  padding: 0;
-  clear: both;
-  font-weight: normal;
-  line-height: 1.42857143;
-  color: #333;
-  white-space: nowrap;
-}
-.open > .dropdown-menu {
-  -webkit-animation-name: flipInX;
-  animation-name: flipInX;
-  -webkit-animation-duration: 0.4s;
-  animation-duration: 0.4s;
-  -webkit-animation-fill-mode: both;
-  animation-fill-mode: both;
-}
-.dropdown-menu .small.divider {
-  margin: 3px 0;
-}
-.dropdown-menu-xs {
-  min-width: 37px;
-}
-.dropdown-menu-xs > li > a {
-  padding: 3px 10px;
-}
-.dropdown-menu-xs > li > a:hover i {
-  color: #fff !important;
-}
-.dropdown-submenu {
-  position: relative;
-}
-.dropdown-submenu > .dropdown-menu {
-  top: 0;
-  left: 100%;
-  margin-top: -6px;
-  margin-left: -1px;
-}
-.dropdown-submenu:hover > .dropdown-menu {
-  display: block;
-}
-.dropdown-submenu > a:after {
-  display: block;
-  content: " ";
-  float: right;
-  width: 0;
-  height: 0;
-  border-color: transparent;
-  border-style: solid;
-  border-width: 5px 0 5px 5px;
-  border-left-color: #bfbfbf;
-  margin-top: 5px;
-  margin-right: -10px;
-}
-.dropdown-submenu:hover > a:after {
-  border-left-color: #fff;
-}
-.dropdown-submenu.pull-left {
-  float: none;
-}
-.dropdown-submenu.pull-left > .dropdown-menu {
-  left: -100%;
-  margin-left: 10px;
-}
-#user-activity .ajax-dropdown {
-  position: absolute;
-  display: none;
-  z-index: 1003;
-  top: 48px;
-  left: 16px;
-  width: 344px;
-  height: 452px;
-  border-radius: 0;
-  -webkit-box-shadow: 0 2px 4px rgba(30, 30, 100, 0.25);
-  box-shadow: 0 2px 4px rgba(30, 30, 100, 0.25);
-  padding: 10px;
-  background: #fff;
-  border: 1px solid #b3b3b3;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #user-activity .ajax-dropdown {
-    width: 299px;
-    height: 337px;
-    left: 0;
-    top: 49px;
-  }
-}
-#user-activity .ajax-dropdown:after,
-#user-activity .ajax-dropdown:before {
-  bottom: 100%;
-  border: solid transparent;
-  content: " ";
-  height: 0;
-  width: 0;
-  position: absolute;
-  pointer-events: none;
-}
-#user-activity .ajax-dropdown:before {
-  border-color: rgba(131, 131, 131, 0);
-  border-bottom-color: #838383;
-  border-width: 8px;
-  right: 8px;
-  margin-left: -8px;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #user-activity .ajax-dropdown:before {
-    margin-left: -14px;
-    right: 13px;
-  }
-}
-#user-activity .ajax-dropdown:after {
-  border-color: rgba(255, 255, 255, 0);
-  border-bottom-color: #fff;
-  border-width: 7px;
-  right: 9px;
-  margin-left: -7px;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  #user-activity .ajax-dropdown:after {
-    margin-left: -13px;
-    right: 14px;
-  }
-}
-#user-activity .ajax-dropdown > :last-child {
-  font-size: 13px;
-  display: block;
-  padding: 5px 0;
-  line-height: 20px;
-  font-weight: 400;
-}
-#user-activity .ajax-dropdown > :first-child {
-  margin: 0 0 3px;
-  padding: 0 0 9px;
-}
-#user-activity .ajax-dropdown .fa-4x.fa-border {
-  border-width: 3px;
-  border-radius: 50%;
-  display: block;
-  margin: 0 auto;
-  width: 80px;
-  text-align: center;
-  color: #D1D1D1;
-  border-color: #D1D1D1;
-}
-#user-activity .ajax-dropdown .btn-group .btn {
-  font-weight: 700;
-  text-transform: capitalize;
-}
-#user-activity .ajax-dropdown .btn-group > :nth-child(2) {
-  border-right-width: 0;
-  border-left-width: 0;
-}
-#user-activity .ajax-dropdown .btn-group .btn:active {
-  top: 0;
-  left: 0;
-}
-.active + #user-activity .ajax-dropdown {
-  -webkit-animation-name: flipInY;
-  animation-name: flipInY;
-  -webkit-animation-duration: 0.7s;
-  animation-duration: 0.7s;
-  -webkit-animation-fill-mode: both;
-  animation-fill-mode: both;
-}
-.dropdown-large {
-  position: static!important;
-}
-.dropdown-menu-large {
-  margin-left: 16px;
-  margin-right: 16px;
-  padding: 20px 0;
-}
-.dropdown-menu-large > li > ul {
-  padding: 0;
-  margin: 0;
-}
-.dropdown-menu-large > li > ul > li {
-  list-style: none;
-}
-.dropdown-menu-large > li > ul > li > a {
-  display: block;
-  padding: 3px 20px;
-  clear: both;
-  font-weight: 400;
-  line-height: 1.42857143;
-  color: #333;
-  white-space: normal;
-}
-.dropdown-menu-large > li ul > li > a:focus,
-.dropdown-menu-large > li ul > li > a:hover {
-  text-decoration: none;
-  color: #262626;
-  background-color: #f5f5f5;
-}
-.dropdown-menu-large .disabled > a,
-.dropdown-menu-large .disabled > a:focus,
-.dropdown-menu-large .disabled > a:hover {
-  color: #999;
-}
-.dropdown-menu-large .disabled > a:focus,
-.dropdown-menu-large .disabled > a:hover {
-  text-decoration: none;
-  background-color: transparent;
-  background-image: none;
-  filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-  cursor: not-allowed;
-}
-.dropdown-menu-large .dropdown-header {
-  color: #428bca;
-  font-size: 18px;
-}
-@media (max-width: 768px) {
-  .dropdown-menu-large {
-    margin-left: 0;
-    margin-right: 0;
-  }
-  .dropdown-menu-large > li {
-    margin-bottom: 30px;
-  }
-  .dropdown-menu-large > li:last-child {
-    margin-bottom: 0;
-  }
-  .dropdown-menu-large .dropdown-header {
-    padding: 3px 15px!important;
-  }
-}
-.wijmo-wijmenu {
-  padding: 0 20px;
-  background-color: #222;
-  background-repeat: repeat-x;
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#333), to(#222));
-  background-image: -webkit-linear-gradient(top, #333, #222);
-  background-image: linear-gradient(top, #333, #222);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);
-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);
-}
-.wijmo-wijmenu .ui-state-default .wijmo-wijmenu-text {
-  color: #bfbfbf;
-}
-.wijmo-wijmenu .ui-state-hover {
-  background: #444;
-  background: rgba(255, 255, 255, 0.05);
-}
-.wijmo-wijmenu .ui-state-hover .wijmo-wijmenu-text {
-  color: #fff;
-}
-.wijmo-wijmenu .ui-widget-header h3 {
-  position: relative;
-  margin-top: 1px;
-  padding: 0;
-}
-.wijmo-wijmenu h3 a {
-  color: #fff;
-  display: block;
-  float: left;
-  font-size: 20px;
-  font-weight: 200;
-  line-height: 1;
-  margin-left: -20px;
-  margin-top: 1px;
-  padding: 8px 20px 12px;
-}
-.wijmo-wijmenu h3 a:hover {
-  background-color: rgba(255, 255, 255, 0.05);
-  color: #fff;
-  text-decoration: none;
-}
-.wijmo-wijmenu .ui-widget-header {
-  border: 0;
-}
-.wijmo-wijmenu .wijmo-wijmenu-parent .wijmo-wijmenu-child {
-  padding: 0.3em 0;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item {
-  margin: 0;
-  border: 0;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child {
-  background: #333;
-  border: 0;
-  margin: 0;
-  padding: 6px 0;
-  width: 160px;
-  border-radius: 0 0 6px 6px;
-  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-}
-.wijmo-wijmenu a.wijmo-wijmenu-link {
-  margin: 0;
-  line-height: 19px;
-  padding: 10px 10px 11px;
-  border: 0;
-  border-radius: 0;
-}
-.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-link {
-  display: block;
-  float: none;
-  padding: 4px 15px;
-  width: auto;
-}
-.wijmo-wijmenu .wijmo-wijmenu-child .wijmo-wijmenu-text {
-  float: none;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-child .ui-state-hover {
-  background: #191919;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item .wijmo-wijmenu-separator {
-  padding: 5px 0;
-  background-image: none;
-  background-color: #222;
-  border-top: 1px solid #444;
-  border-bottom: 0;
-  border-left: 0;
-  border-right: 0;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item input {
-  -moz-transition: none 0s ease 0s;
-  background-color: rgba(255, 255, 255, 0.3);
-  border: 1px solid #111;
-  border-radius: 4px;
-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) inset, 0 1px 0 rgba(255, 255, 255, 0.25);
-  color: rgba(255, 255, 255, 0.75);
-  font-family: Ubuntu, Helvetica, Arial, sans-serif;
-  line-height: 1;
-  margin: 5px 10px 0;
-  padding: 4px 9px;
-  width: 100px;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item input:hover {
-  background-color: rgba(255, 255, 255, 0.5);
-  color: #fff;
-}
-.wijmo-wijmenu .wijmo-wijmenu-item input:focus {
-  background-color: #fff;
-  border: 0 none;
-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
-  color: #404040;
-  outline: 0 none;
-  padding: 5px 10px;
-  text-shadow: 0 1px 0 #fff;
-}
-.wijmo-wijmenu .ui-state-default {
-  text-shadow: none;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  color: #bfbfbf;
-  -webkit-filter: none;
-  filter: none;
-}
-/*
- * Tabs
- */
-.tabs-below > .nav-tabs,
-.tabs-left > .nav-tabs,
-.tabs-right > .nav-tabs {
-  border-bottom: 0;
-}
-.nav-tabs.bordered {
-  background: #fff;
-  border: 1px solid #ddd;
-}
-.nav-tabs.bordered > :first-child a {
-  border-left-width: 0!important;
-}
-.nav-tabs.bordered + .tab-content {
-  border: 1px solid #ddd;
-  border-top: 0;
-}
-.nav-tabs > li > a {
-  padding: 4px 10px;
-  border-radius: 0;
-  color: #333;
-}
-.nav-tabs > li > a.xsmall {
-  line-height: 1;
-  padding: 3px 8px;
-}
-.nav-tabs > li > a .label {
-  display: inline-block;
-  font-size: 11px;
-  margin-left: 5px;
-  opacity: 0.5;
-}
-.nav-tabs > li > a .badge {
-  font-size: 11px;
-  padding: 4px 5px 2px;
-  opacity: 0.5;
-  margin-left: 5px;
-  min-width: 17px;
-  font-weight: 400;
-}
-.tabs-left .nav-tabs > li > a .badge {
-  margin-right: 5px;
-  margin-left: 0;
-}
-.nav-tabs > li > a > .fa {
-  opacity: 0.5;
-}
-.nav-tabs.small > li > a {
-  padding: 2px 8px;
-  font-size: 90%;
-}
-.nav-tabs.tiny > li > a {
-  padding: 1px 6px;
-  font-size: 75%;
-}
-.nav-tabs > li.active > a {
-  -webkit-box-shadow: 0 -2px 0 #3276b1;
-  box-shadow: 0 -2px 0 #3276b1;
-  border-top-width: 0!important;
-  margin-top: 1px!important;
-  font-weight: 700;
-}
-.nav-tabs > li.active > a .badge,
-.nav-tabs > li.active > a .label,
-.nav-tabs > li.active > a > .fa {
-  opacity: 1;
-}
-.tabs-left .nav-tabs > li.active > a {
-  -webkit-box-shadow: -2px 0 0 #3276b1;
-  box-shadow: -2px 0 0 #3276b1;
-  border-top-width: 1px!important;
-  border-left: 0!important;
-  margin-left: 1px!important;
-}
-.tabs-right .nav-tabs > li.active > a {
-  -webkit-box-shadow: 2px 0 0 #3276b1;
-  box-shadow: 2px 0 0 #57889c;
-  border-top-width: 1px!important;
-  border-right: 0!important;
-  margin-right: 1px!important;
-}
-.tabs-below .nav-tabs > li.active > a {
-  -webkit-box-shadow: 0 2px 0 #3276b1;
-  box-shadow: 0 2px 0 #3276b1;
-  border-bottom-width: 0!important;
-  border-top: 0!important;
-  margin-top: 0!important;
-}
-.tabs-left > .nav-tabs > li,
-.tabs-right > .nav-tabs > li,
-.tabs-left > .nav-pills > li,
-.tabs-right > .nav-pills > li {
-  float: none;
-}
-.tabs-left > .nav-tabs > li > a,
-.tabs-right > .nav-tabs > li > a,
-.tabs-left > .nav-pills > li > a,
-.tabs-right > .nav-pills > li > a {
-  min-width: 74px;
-  margin-right: 0;
-  margin-bottom: 3px;
-}
-.tabs-left .nav-pills > li.active > a {
-  border: 0!important;
-  box-shadow: none!important;
-  -webkit-box-shadow: none!important;
-}
-.tabs-left > .nav-pills,
-.tabs-left > .nav-tabs {
-  float: left;
-  margin-right: 19px;
-  border-right: 1px solid #ddd;
-}
-.tabs-left > .nav-pills {
-  border-right: 0;
-}
-.tabs-left > .nav-tabs > li > a {
-  margin-right: -1px;
-}
-.tabs-left > .nav-tabs > li > a:focus,
-.tabs-left > .nav-tabs > li > a:hover {
-  border-color: #eee #d5d5d5 #eee #eee;
-}
-.tabs-left > .nav-tabs .active > a,
-.tabs-left > .nav-tabs .active > a:focus,
-.tabs-left > .nav-tabs .active > a:hover {
-  border-color: #d5d5d5 transparent #d5d5d5 #ddd;
-  *border-right-color: #fff;
-}
-.tabs-left > .tab-content {
-  margin-left: 109px;
-}
-.tabs-right > .nav-tabs {
-  float: right;
-  margin-left: 19px;
-  border-left: 1px solid #ddd;
-}
-.tabs-right > .nav-tabs > li > a {
-  margin-left: -1px;
-}
-.tabs-right > .nav-tabs > li > a:focus,
-.tabs-right > .nav-tabs > li > a:hover {
-  border-color: #eee #eee #eee #ddd;
-}
-.tabs-right > .nav-tabs .active > a,
-.tabs-right > .nav-tabs .active > a:focus,
-.tabs-right > .nav-tabs .active > a:hover {
-  border-color: #ddd #ddd #ddd transparent;
-  *border-left-color: #fff;
-}
-.tabs-pull-right.nav-tabs > li,
-.tabs-pull-right.nav-pills > li {
-  float: right;
-}
-.tabs-pull-right.nav-tabs > li:first-child > a,
-.tabs-pull-right.nav-pills > li:first-child > a {
-  margin-right: 1px;
-}
-.tabs-pull-right.bordered.nav-pills > li:first-child > a,
-.tabs-pull-right.bordered.nav-tabs > li:first-child > a {
-  border-left-width: 1px!important;
-  margin-right: 0;
-  border-right-width: 0;
-}
-.tabs-below > .nav-tabs {
-  border-top: 1px solid #ddd;
-}
-.tabs-below > .nav-tabs > li {
-  margin-top: -1px;
-  margin-bottom: 0;
-}
-.tabs-below > .nav-tabs > li > a:focus,
-.tabs-below > .nav-tabs > li > a:hover {
-  border-top-color: #ddd;
-  border-bottom-color: transparent;
-}
-.tabs-below > .nav-tabs > .active > a,
-.tabs-below > .nav-tabs > .active > a:focus,
-.tabs-below > .nav-tabs > .active > a:hover {
-  border-color: transparent #ddd #ddd;
-}
-.pill-content > .pill-pane,
-.tab-content > .pill-pane,
-.pill-content > .tab-pane,
-.tab-content > .tab-pane {
-  display: none;
-}
-.pill-content > .active,
-.tab-content > .active,
-.pill-content > .active,
-.tab-content > .active {
-  display: block;
-}
-.pill-content.transparent,
-.tab-content.transparent {
-  background-color: transparent;
-}
-.pill-content.bordered,
-.tab-content.bordered,
-.pill-content.bordered:hover,
-.tab-content.bordered:hover {
-  border-color: #ddd;
-  border-top: 0;
-}
-.ams-widget > header > .nav-tabs.pull-left > li:first-child a {
-  border-left-width: 0!important;
-}
-/*
- * Contents styles
- */
-h1,
-h2,
-h3,
-h4 {
-  margin: 0;
-  font-family: "Ubuntu-Bold", Arial, Helvetica, Sans-Serif;
-  font-weight: 300;
-}
-h1 {
-  letter-spacing: -1px;
-  font-size: 24px;
-  margin: 10px 0;
-}
-h1 small {
-  font-size: 18px;
-  font-weight: 300;
-  letter-spacing: -1px;
-}
-h2 {
-  letter-spacing: -1px;
-  font-size: 22px;
-  margin: 20px 0 15px;
-  line-height: normal;
-}
-h3 {
-  display: block;
-  font-size: 19px;
-  font-weight: 400;
-  margin: 16px 0 10px;
-  line-height: normal;
-}
-h4 {
-  line-height: normal;
-  font-size: 17px;
-  font-weight: 300;
-  margin: 12px 0 8px;
-}
-h5 {
-  font-size: 15px;
-  font-weight: 300;
-  margin: 10px 0 6px;
-  line-height: normal;
-}
-h6 {
-  font-size: 14px;
-  margin: 10px 0 4px;
-  font-weight: 300;
-  line-height: normal;
-}
-hr .simple {
-  margin-top: 10px;
-  margin-bottom: 10px;
-  border-style: dashed;
-}
-hr.noborder {
-  border: 0;
-}
-li.nodot {
-  list-style-type: none;
-}
-img.online {
-  border-left-color: #40ac2b !important;
-}
-img.busy {
-  border-left-color: #ed1c24 !important;
-}
-img.offline {
-  border-left-color: #ddd !important;
-}
-img.away {
-  border-left-color: #ffc40d !important;
-}
-pre {
-  padding: 5px!important;
-  font-size: 12px;
-  line-height: 1.2em;
-}
-pre:empty {
-  border: 0;
-}
-[data-ams-url],
-[data-ams-click-handler] {
-  cursor: pointer;
-}
-label {
-  font-weight: 400;
-}
-article.sortable-grid {
-  min-height: 30px;
-}
-.caret {
-  border-top: 5px solid;
-  border-right: 5px solid transparent;
-  border-left: 5px solid transparent;
-}
-.fixed {
-  position: fixed;
-}
-@media (max-width: 768px) {
-  .xs-fixed {
-    position: fixed;
-  }
-}
-@media (min-width: 768px) and (max-width: 992px) {
-  .sm-fixed {
-    position: fixed;
-  }
-}
-@media (min-width: 992px) and (max-width: 1200px) {
-  .md-fixed {
-    position: fixed;
-  }
-}
-@media (min-width: 1200px) {
-  .lg-fixed {
-    position: fixed;
-  }
-}
-.outside {
-  position: absolute;
-  left: -9999px;
-}
-@media (max-width: 979px) {
-  .visible-tablet {
-    display: inline-block !important;
-  }
-}
-@media (max-width: 979px) {
-  .hidden-tablet,
-  .display-inline.hidden-tablet {
-    display: none!important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .hidden-tablet {
-    display: none!important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .visible-mobile {
-    display: inline-block !important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .hidden-mobile {
-    display: none!important;
-  }
-}
-.viewport-y {
-  overflow-y: auto;
-}
-.viewport-y-none {
-  overflow-y: hidden!important;
-}
-.viewport-y.viewport-100 {
-  max-height: 100px;
-}
-.viewport-y.viewport-200 {
-  max-height: 200px;
-}
-.viewport-y.viewport-300 {
-  max-height: 300px;
-}
-.viewport-y.viewport-600 {
-  max-height: 600px;
-}
-.viewport-y.viewport-400 {
-  max-height: 400px;
-}
-.viewport-y.viewport-500 {
-  max-height: 500px;
-}
-.viewport-y.viewport-600 {
-  max-height: 600px;
-}
-.viewport-x {
-  overflow-x: auto;
-}
-.viewport-x-none {
-  overflow-x: hidden!important;
-}
-.viewport-x.viewport-100 {
-  max-width: 100px;
-}
-.viewport-x.viewport-200 {
-  max-width: 200px;
-}
-.viewport-x.viewport-300 {
-  max-width: 300px;
-}
-.viewport-x.viewport-400 {
-  max-width: 400px;
-}
-.viewport-x.viewport-500 {
-  max-width: 500px;
-}
-.viewport-x.viewport-600 {
-  max-width: 600px;
-}
-.lead {
-  font-size: 19px;
-}
-.alert {
-  margin-bottom: 20px;
-  margin-top: 0;
-  color: #675100;
-  border-width: 0;
-  border-left-width: 5px;
-  padding: 10px;
-  border-radius: 0;
-}
-.alert .close {
-  top: 0;
-  right: -5px;
-  line-height: 20px;
-}
-.alert-heading {
-  font-weight: 600;
-}
-.alert-danger {
-  border-color: #963b49;
-  color: #fff;
-  background: #c46a69;
-  text-shadow: none;
-}
-.alert-warning {
-  border-color: #e5c693;
-  color: #6b6d31;
-  background: #ecdfb0;
-}
-.alert-success {
-  border-color: #8eb589;
-  color: #296829;
-  background: #cee0cf;
-}
-.alert-info {
-  border-color: #9cb4c5;
-  color: #346597;
-  background: #d6dde7;
-}
-.alert ul {
-  margin-left: 25px;
-  list-style-position: outside;
-  list-style-type: square;
-}
-.ams-form > .alert {
-  margin: 5px;
-  padding: 5px;
-  box-shadow: none!important;
-  -webkit-box-shadow: none!important;
-  border-radius: 0!important;
-}
-.help {
-  font-size: 90%;
-  padding: 5px!important;
-}
-.help p {
-  margin: 0 0 1px;
-  line-height: 1.15;
-}
-.modal-dialog .help {
-  margin-bottom: 5px!important;
-}
-@media only screen and (max-height: 768px) {
-  .modal-dialog .help {
-    display: none;
-  }
-}
-.well {
-  background: #fbfbfb;
-  border: 1px solid #ddd;
-  box-shadow: 0 1px 1px #ececec;
-  -webkit-box-shadow: 0 1px 1px #ececec;
-  position: relative;
-}
-.well.well-clean {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  border-color: transparent;
-}
-.well.well-glass {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  border-color: transparent;
-  background-color: rgba(255, 255, 255, 0.25);
-  color: #fff;
-}
-.well.well-light {
-  background: #fff;
-  border: 1px solid #e2e2e2;
-}
-.widget-body .well {
-  margin-bottom: 0;
-}
-.well.transparent {
-  border: 0!important;
-  background: none!important;
-}
-.ams-widget.well.transparent > div,
-.ams-widget.well.transparent > div .widget-body {
-  padding: 0!important;
-}
-.well[class*=" bg-"],
-.well[class^=bg-] {
-  border: 1px solid #555 !important;
-}
-.note {
-  margin-top: 6px;
-  padding: 0 1px;
-  font-size: 11px;
-  line-height: 15px;
-  color: #999;
-}
-.subscript {
-  font-size: 21px;
-  color: #999;
-}
-.display-image {
-  margin-top: -60px;
-  margin-right: 20px;
-}
-.terms-body {
-  max-height: 400px;
-  overflow: auto;
-}
-.timeline-seperator {
-  display: block;
-  text-align: center;
-  color: #999;
-  margin: 20px 0 0;
-}
-.timeline-seperator > :first-child {
-  padding: 4px 5px;
-  border: 1px dashed rgba(0, 0, 0, 0.1);
-  background: #fff;
-  font-size: 11px;
-  border-radius: 4px;
-}
-.timeline-seperator .btn,
-.timeline-seperator .btn + .dropdown-menu {
-  margin-right: 15px;
-}
-.timeline-seperator:after {
-  display: block;
-  content: " ";
-  margin: 0 20px;
-  border-bottom: 1px dashed rgba(0, 0, 0, 0.1);
-  margin-top: -8px;
-}
-.progress {
-  position: relative;
-  margin-bottom: 20px;
-  overflow: hidden;
-  height: 22px;
-  background: #eee;
-  box-shadow: 0 1px 0 transparent, 0 0 0 1px #e3e3e3 inset;
-  -webkit-box-shadow: 0 1px 0 transparent, 0 0 0 1px #e3e3e3 inset;
-  border-radius: 0;
-}
-input[type="text"] + .progress {
-  height: 7px;
-}
-.progress-bar {
-  float: left;
-  width: 0;
-  height: 100%;
-  font-size: 11px;
-  color: #fff;
-  text-align: center;
-  background-color: #57889c;
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  font-weight: 700;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  background-image: url(../img/pattern/overlay-pattern.png);
-}
-.progress-striped .progress-bar {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-  background-size: 40px 40px;
-}
-.progress.active .progress-bar {
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-  -ms-animation: progress-bar-stripes 2s linear infinite;
-  animation: progress-bar-stripes 2s linear infinite;
-}
-.progress-bar-danger {
-  background-color: #a90329;
-}
-.progress-striped .progress-bar-danger {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-success {
-  background-color: #739e73;
-}
-.progress-striped .progress-bar-success {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-warning {
-  background-color: #c79121;
-}
-.progress-striped .progress-bar-warning {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress-bar-info {
-  background-color: #57889c;
-}
-.progress-striped .progress-bar-info {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-}
-.progress .bar-info,
-.progress-info .bar {
-  background: #57889c;
-}
-.progress-micro {
-  height: 3px!important;
-  line-height: 3px!important;
-}
-.progress-xs {
-  height: 7px!important;
-  line-height: 7px!important;
-}
-.progress-sm {
-  height: 14px!important;
-  line-height: 14px!important;
-}
-.progress-lg {
-  height: 30px!important;
-  line-height: 30px!important;
-}
-.progress .progress-bar {
-  position: absolute;
-  overflow: hidden;
-  line-height: 20px;
-}
-.progress .progressbar-back-text {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  font-size: 12px;
-  line-height: 20px;
-  text-align: center;
-}
-.progress .progressbar-front-text {
-  display: block;
-  width: 100%;
-  font-size: 12px;
-  line-height: 20px;
-  text-align: center;
-}
-.progress.right .progress-bar {
-  right: 0;
-}
-.progress.right .progressbar-front-text {
-  position: absolute;
-  right: 0;
-}
-.progress.vertical {
-  width: 25px;
-  height: 100%;
-  min-height: 150px;
-  margin-right: 20px;
-  display: inline-block;
-  margin-bottom: 0;
-}
-.progress.vertical.bottom {
-  position: relative;
-}
-.progress.vertical.bottom .progress-bar {
-  position: absolute;
-  bottom: 0;
-}
-.progress.vertical.bottom .progressbar-front-text {
-  position: absolute;
-  bottom: 0;
-}
-.progress.vertical .progress-bar {
-  width: 100%;
-  height: 0;
-  -webkit-transition: height 0.6s ease;
-  transition: height 0.6s ease;
-}
-.progress.wide-bar {
-  width: 40px;
-}
-.dd {
-  position: relative;
-  display: block;
-  margin: 0;
-  padding: 0;
-  max-width: 600px;
-  list-style: none;
-  font-size: 13px;
-  line-height: 20px;
-}
-@media only screen and (min-width: 700px) {
-  .dd {
-    float: left;
-    width: 100%;
-  }
-  .dd + .dd {
-    margin-left: 2%;
-  }
-}
-.dd-header.calender-spacer {
-  height: 46px;
-  display: block;
-}
-.dd-list {
-  display: block;
-  position: relative;
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-.dd-list .dd-list {
-  padding-left: 30px;
-}
-.dd-collapsed .dd-list {
-  display: none;
-}
-.dd-empty {
-  border: 1px dashed #bbb;
-  min-height: 100px;
-  background-color: #eee;
-  background-image: -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), -webkit-linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
-  background-image: linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff), linear-gradient(45deg, #fff 25%, transparent 25%, transparent 75%, #fff 75%, #fff);
-  -webkit-background-size: 60px 60px;
-  background-size: 60px 60px;
-  background-position: 0 0, 30px 30px;
-}
-.dd-empty,
-.dd-placeholder {
-  margin: 5px 0;
-  padding: 0;
-  min-height: 30px;
-  background: #f2fbff;
-  border: 1px dashed #b6bcbf;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-}
-.dd-empty,
-.dd-item,
-.dd-placeholder {
-  display: block;
-  position: relative;
-  margin: 0;
-  padding: 0;
-  min-height: 20px;
-  font-size: 13px;
-  line-height: 20px;
-}
-.dd-handle {
-  display: block;
-  font-size: 15px;
-  margin: 5px 0;
-  padding: 7px 15px;
-  color: #333;
-  text-decoration: none;
-  border: 1px solid #cfcfcf;
-  background: #fbfbfb;
-}
-.dd-handle:hover,
-.dd-handle:hover + .dd-list .dd-handle {
-  background: #FDDFB3 !important;
-  border: 1px solid #FAA937;
-  color: #333 !important;
-}
-.dd-handle > span {
-  font-size: 13px;
-  color: #777;
-}
-.dd-hover > .dd-handle {
-  background: #2ea8e5 !important;
-}
-.dd-item > button {
-  position: relative;
-  cursor: pointer;
-  float: left;
-  width: 25px;
-  height: 20px;
-  margin: 7px 10px;
-  line-height: 22px!important;
-  padding: 0;
-  text-indent: 100%;
-  white-space: nowrap;
-  overflow: hidden;
-  border: 0;
-  background: rgba(0, 0, 0, 0);
-  text-align: center;
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-size: 18px;
-}
-.dd-item > button:before {
-  content: '\f055';
-  display: block;
-  position: absolute;
-  width: 100%;
-  text-align: center;
-  text-indent: 0;
-  color: #0091d9;
-}
-.dd-item > button[data-action=collapse]:before {
-  content: '\f056';
-  color: #a90329;
-}
-.dd-dragel {
-  position: absolute;
-  pointer-events: none;
-  z-index: 9999;
-}
-.dd-dragel > .dd-item .dd-handle {
-  margin-top: 0;
-}
-.dd-dragel > .dd-item > .dd-handle {
-  border-left-width: 4px;
-}
-.dd-dragel .dd-handle {
-  -webkit-box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
-  box-shadow: 2px 4px 6px 0 rgba(0, 0, 0, 0.1);
-}
-.dd-dragel > li.dd-item.dd3-item {
-  position: relative;
-  top: 10px;
-  left: 10px;
-  z-index: 999;
-}
-.vertical-bars {
-  padding: 0;
-  margin: 0;
-}
-.vertical-bars:after {
-  content: "";
-  display: block;
-  height: 0;
-  clear: both;
-}
-.vertical-bars li {
-  padding: 14px 0;
-  width: 25%;
-  display: block;
-  float: left;
-  text-align: center;
-}
-.vertical-bars li:first-child {
-  border-left: 0;
-}
-.vertical-bars > li > .progress.vertical {
-  margin: 0 auto;
-  float: none;
-}
-.vertical-bars > li > .progress.vertical:first-child {
-  margin-left: auto;
-}
-.bar-holder {
-  padding: 18px 15px;
-}
-.bar-holder:first-child {
-  border-top: 0;
-}
-.bar-holder .progress {
-  margin: 0;
-}
-.pagination.pagination-alt > li > a {
-  box-shadow: none;
-  -webkit-box-shadow: none;
-  border: 0;
-  margin-left: -1px;
-}
-.pagination.pagination-alt > li:first-child > a {
-  padding-left: 0;
-}
-.pagination > li > a,
-.pagination > li > span {
-  padding: 7px 12px 5px;
-  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-  -webkit-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-}
-.pagination-xs > li > a,
-.pagination-xs > li > span {
-  padding: 5px 9px 3px;
-  font-size: 12px;
-}
-.panel-purple {
-  border-color: #6e587a;
-}
-.panel-purple > .panel-heading {
-  color: #fff;
-  background-color: #6e587a;
-  border-color: #6e587a;
-}
-.panel-greenLight {
-  border-color: #71843f;
-}
-.panel-greenLight > .panel-heading {
-  color: #fff;
-  background-color: #71843f;
-  border-color: #71843f;
-}
-.panel-greenDark {
-  border-color: #496949;
-}
-.panel-greenDark > .panel-heading {
-  color: #fff;
-  background-color: #496949;
-  border-color: #496949;
-}
-.panel-darken {
-  border-color: #333;
-}
-.panel-darken > .panel-heading {
-  color: #fff;
-  background-color: #404040;
-  border-color: #404040;
-}
-.panel-pink {
-  border-color: #ac5287;
-}
-.panel-pink > .panel-heading {
-  color: #fff;
-  background-color: #ac5287;
-  border-color: #ac5287;
-}
-.panel-green {
-  border-color: #356e35;
-}
-.panel-green > .panel-heading {
-  color: #fff;
-  background-color: #356e35;
-  border-color: #356e35;
-}
-.panel-blueLight {
-  border-color: #92a2a8;
-}
-.panel-blueLight > .panel-heading {
-  color: #fff;
-  background-color: #92a2a8;
-  border-color: #92a2a8;
-}
-.panel-pinkDark {
-  border-color: #a8829f;
-}
-.panel-pinkDark > .panel-heading {
-  color: #fff;
-  background-color: #a8829f;
-  border-color: #a8829f;
-}
-.panel-redLight {
-  border-color: #a65858;
-}
-.panel-redLight > .panel-heading {
-  color: #fff;
-  background-color: #a65858;
-  border-color: #a65858;
-}
-.panel-red {
-  border-color: #a90329;
-}
-.panel-red > .panel-heading {
-  color: #fff;
-  background-color: #a90329;
-  border-color: #a90329;
-}
-.panel-teal {
-  border-color: #568a89;
-}
-.panel-teal > .panel-heading {
-  color: #fff;
-  background-color: #568a89;
-  border-color: #568a89;
-}
-.panel-orange {
-  border-color: #c79121;
-}
-.panel-orange > .panel-heading {
-  color: #fff;
-  background-color: #c79121;
-  border-color: #c79121;
-}
-.panel-blueDark {
-  border-color: #4c4f53;
-}
-.panel-blueDark > .panel-heading {
-  color: #fff;
-  background-color: #4c4f53;
-  border-color: #4c4f53;
-}
-.panel-magenta {
-  border-color: #6e3671;
-}
-.panel-magenta > .panel-heading {
-  color: #fff;
-  background-color: #6e3671;
-  border-color: #6e3671;
-}
-.panel-blue {
-  border-color: #57889c;
-}
-.panel-blue > .panel-heading {
-  color: #fff;
-  background-color: #57889c;
-  border-color: #57889c;
-}
-.panel-footer > .btn-block {
-  border-radius: 0;
-  border-bottom: 0;
-  border-left: 0;
-  border-right: 0;
-}
-.notification-body {
-  padding: 0 0 0 3px;
-  margin: 0;
-  list-style: none;
-}
-.notification-body *,
-.notification-body:after *,
-.notification-body:before * {
-  box-sizing: border-box !important;
-  -webkit-box-sizing: border-box !important;
-  -moz-box-sizing: border-box !important;
-}
-.notification-body > li {
-  border-bottom: 1px solid #E9E9E9;
-  position: relative;
-}
-.notification-body > li > span {
-  background: #fff;
-  display: block;
-  min-height: 25px;
-  overflow: hidden;
-  padding: 8px 8px 10px;
-  white-space: normal;
-}
-.notification-body > li > span:hover {
-  background: #F0F4F7;
-  color: #667F8F;
-}
-.notification-body > li > span > a > span.msg-body,
-.notification-body > li > span > a > span.subject {
-  height: auto;
-  line-height: normal;
-}
-.notification-body > li a.msg {
-  padding-left: 40px!important;
-}
-.notification-body > li a,
-.notification-body > li a span {
-  display: block;
-  position: relative;
-  overflow: hidden;
-}
-.notification-body > li a,
-.notification-body > li a:hover {
-  text-decoration: none;
-}
-.notification-body > li:hover .progress {
-  background: #fff;
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0), 0 0 0 1px #a7a7a7 inset;
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0), 0 0 0 1px #ccc inset;
-}
-.notification-body > li:hover .text-muted {
-  color: #333;
-}
-.notification-body .from {
-  font-size: 14px;
-  line-height: normal;
-  color: #333;
-  font-weight: 400;
-  margin-right: 60px;
-  margin-bottom: 3px;
-  height: 20px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  overflow: hidden;
-}
-.notification-body .unread {
-  background: #FFFFE0;
-}
-.notification-body .unread .unread .from {
-  font-weight: 700;
-}
-.notification-body time {
-  position: absolute;
-  top: 3px;
-  right: 0;
-  font-size: 11px;
-  font-weight: 400;
-  color: #058dc7;
-}
-.notification-body .msg-body,
-.notification-body .subject {
-  font-size: 13px;
-  color: #A0A0A0;
-  max-height: 35px;
-  width: 100%;
-  overflow: hidden;
-}
-.notification-body .subject {
-  font-size: 13px;
-  color: #333;
-  max-height: 22px;
-}
-.ajax-notifications {
-  height: 365px;
-  display: block;
-  overflow: auto;
-  margin-right: -10px;
-  margin-left: -10px;
-  border-bottom: 1px solid #CECECE;
-  border-top: 1px solid #CECECE;
-  background: #E9E9E9;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .ajax-notifications {
-    height: 250px;
-  }
-}
-.ajax-notifications > .alert.alert-transparent {
-  background-color: transparent;
-  border-color: transparent;
-  color: #757575;
-  margin: 13px 10px;
-}
-.ajax-notifications > .alert > :first-child {
-  margin-bottom: 10px;
-  font-weight: 400;
-}
-.arrow-box-up:before,
-.arrow-box-up:after {
-  bottom: 100%;
-  border: solid transparent;
-  content: " ";
-  height: 0;
-  width: 0;
-  position: absolute;
-  pointer-events: none;
-}
-.arrow-box-up:before {
-  border-color: rgba(131, 131, 131, 0);
-  border-bottom-color: #838383;
-  border-width: 8px;
-  left: 50%;
-  margin-left: -8px;
-}
-.arrow-box-up:after {
-  border-color: rgba(255, 255, 255, 0);
-  border-bottom-color: #fff;
-  border-width: 7px;
-  left: 50%;
-  margin-left: -7px;
-}
-.arrow-box-up-right:before,
-.arrow-box-up-right:after {
-  bottom: 100%;
-  border: solid transparent;
-  content: " ";
-  height: 0;
-  width: 0;
-  position: absolute;
-  pointer-events: none;
-}
-.arrow-box-up-right:before {
-  border-color: rgba(131, 131, 131, 0);
-  border-bottom-color: #838383;
-  border-width: 8px;
-  right: 9px;
-  margin-left: -8px;
-}
-.arrow-box-up-right:after {
-  border-color: rgba(255, 255, 255, 0);
-  border-bottom-color: #fff;
-  border-width: 7px;
-  right: 10px;
-  margin-left: -7px;
-}
-.tooltip-inner {
-  padding: 5px 10px;
-  font-size: 11px;
-  font-family: Ubuntu, Arial, Helvetica, sans-serif;
-  font-weight: 700;
-  border-radius: 0;
-}
-.jqstooltip {
-  padding: 7px!important;
-  border-radius: 3px!important;
-  border: 0!important;
-  background-color: #000 !important;
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-}
-.jqstooltip .jqsfield {
-  font-family: Ubuntu, Arial, sans-serif;
-  font-size: 11px;
-}
-.dd3-content {
-  display: block;
-  margin: 5px 0;
-  padding: 6px 10px 8px 40px;
-  font-size: 15px;
-  color: #333;
-  text-decoration: none;
-  border: 1px solid #cfcfcf;
-  background: #fbfbfb;
-}
-.dd3-content:hover {
-  color: #2ea8e5;
-  background: #fff;
-}
-.dd-dragel > .dd3-item > .dd3-content {
-  margin: 0;
-}
-.dd3-item > button {
-  margin-left: 38px;
-}
-.dd3-handle {
-  position: absolute;
-  margin: 0;
-  left: 0;
-  top: 0;
-  cursor: move;
-  width: 30px;
-  text-indent: 100%;
-  white-space: nowrap;
-  overflow: hidden;
-  border: 1px solid #aaa;
-  background: #bfbfbf;
-  background: -webkit-gradient(linear, top left, bottom left, from(#ddd), to(#bbb));
-  background: -webkit-linear-gradient(top, #ddd 0, #bbb 100%);
-  background: linear-gradient(top, #ddd 0, #bbb 100%);
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-size: 18px;
-  padding: 8px 15px;
-}
-.dd3-handle:before {
-  content: '\f0c9';
-  display: block;
-  position: absolute;
-  left: 0;
-  top: 3px;
-  width: 100%;
-  text-align: center;
-  text-indent: 0;
-  color: #818181;
-  font-weight: 400;
-  line-height: 28px;
-}
-.dd3-handle:hover:before {
-  color: #C27616;
-}
-/*
- * Nestable lists
- */
-.nestable-lists {
-  display: block;
-  clear: both;
-  padding: 30px 0;
-  width: 100%;
-  border: 0;
-  border-top: 2px solid #bfbfbf;
-  border-bottom: 2px solid #bfbfbf;
-}
-#nestable-menu {
-  padding: 0;
-  margin: 10px 0 20px;
-}
-#nestable-output,
-#nestable2-output {
-  width: 100%;
-  padding: 5px;
-}
-/*
- * Custom items
- */
-.custom-scroll::-webkit-scrollbar {
-  -webkit-overflow-scrolling: touch;
-  height: 10px;
-  width: 10px;
-}
-.custom-scroll::-webkit-scrollbar:hover {
-  background-color: #E9E9E9;
-  border: 1px solid #dbdbdb;
-}
-.custom-scroll::-webkit-scrollbar-button:start:decrement,
-.custom-scroll::-webkit-scrollbar-button:end:increment {
-  background: 0 0;
-  display: block;
-  height: 0;
-}
-.custom-scroll::-webkit-scrollbar-track {
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  border: solid transparent;
-}
-.custom-scroll::-webkit-scrollbar-track-piece {
-  -o-border-radius: 0;
-  background-color: transparent;
-  border-radius: 0;
-}
-.custom-scroll::-webkit-scrollbar-thumb {
-  -webkit-box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  background-color: rgba(0, 0, 0, 0.2);
-  border: 0;
-  box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.07);
-}
-.custom-scroll::-webkit-scrollbar-thumb:vertical,
-.custom-scroll::-webkit-scrollbar-thumb:horizontal {
-  -o-border-radius: 0;
-  background-color: #bfbfbf;
-  border-radius: 0;
-}
-.custom-scroll::-webkit-scrollbar-thumb:active {
-  -webkit-box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.33);
-  background-color: rgba(0, 0, 0, 0.44);
-  box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.33);
-}
-.custom-scroll::-webkit-scrollbar-thumb:hover {
-  background-color: #959595;
-}
-.air {
-  position: absolute;
-  z-index: 5;
-}
-.air-bottom {
-  bottom: 0;
-}
-.air-top {
-  top: 0;
-}
-.air-top-right {
-  top: 0;
-  right: 0;
-}
-.air-top-left {
-  top: 0;
-  left: 0;
-}
-.air-bottom-left {
-  bottom: 0;
-  left: 0;
-}
-.air-bottom-right {
-  bottom: 0;
-  right: 0;
-}
-.tree {
-  min-height: 20px;
-  border-radius: 4px;
-}
-.tree li {
-  list-style-type: none;
-  margin: 0;
-  padding: 3px 0 3px 5px;
-  position: relative;
-}
-.tree li:after,
-.tree li:before {
-  content: '';
-  left: -10px;
-  position: absolute;
-  right: auto;
-}
-.tree li:before {
-  border-left: 1px solid #999;
-  bottom: 50px;
-  height: 100%;
-  top: -5px;
-  width: 1px;
-  -webkit-transition: "border-color 0.1s ease 0.1s";
-  transition: "border-color 0.1s ease 0.1s";
-}
-.tree li:last-child::before {
-  height: 20px;
-}
-.tree li:after {
-  border-top: 1px solid #999;
-  height: 20px;
-  top: 14px;
-  width: 15px;
-}
-.tree li:hover {
-  background: rgba(0, 0, 0, 0.15);
-}
-.tree li > span {
-  color: #333;
-  border: 1px solid #999;
-  border-radius: 5px;
-  display: inline-block;
-  padding: 4px 8px;
-  text-decoration: none;
-  -webkit-transition: color 0.2s ease 0.1s, background-color 0.2s ease 0.1s, border-color 0.3s ease 0.2s;
-  transition: color 0.2s ease 0.1s, background-color 0.2s ease 0.1s, border-color 0.3s ease 0.2s;
-}
-.tree li > span > i {
-  padding-right: 4px;
-}
-.tree li.parent_li > span {
-  padding: 7px;
-}
-.tree li > span {
-  cursor: pointer;
-}
-.tree li > span:hover,
-.tree li > span:hover + ul li > span {
-  background: #eee;
-  border: 1px solid #94a0b4;
-  color: #000;
-}
-.tree ul ul {
-  padding-left: 24px;
-  padding-top: 5px;
-}
-.tree > ul {
-  padding-left: 0;
-}
-.tree > ul > li:after,
-.tree > ul > li:before {
-  border: 0;
-}
-.tree-node-padding {
-  display: inline-block;
-  width: 15px;
-}
-.pace {
-  -webkit-pointer-events: none;
-  pointer-events: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.pace-inactive {
-  display: none;
-}
-.pace .pace-progress {
-  background: #3276b1;
-  position: fixed;
-  z-index: 2000;
-  top: 0;
-  left: 0;
-  height: 2px;
-  -webkit-transition: width 1s;
-  transition: width 1s;
-}
-.pace .pace-progress-inner {
-  display: block;
-  position: absolute;
-  right: 0;
-  width: 100px;
-  height: 100%;
-  -webkit-box-shadow: 0 0 10px #29d, 0 0 5px #29d;
-  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
-  opacity: 1;
-  -webkit-transform: rotate(3deg) translate(0, -4px);
-  -ms-transform: rotate(3deg) translate(0, -4px);
-  transform: rotate(3deg) translate(0, -4px);
-}
-.pace .pace-activity {
-  display: block;
-  position: fixed;
-  z-index: 2000;
-  top: 63px;
-  right: 40px;
-  width: 14px;
-  height: 14px;
-  border: solid 2px transparent;
-  border-top-color: #29d;
-  border-left-color: #29d;
-  border-radius: 10px;
-  -webkit-animation: pace-spinner 400ms linear infinite;
-  -ms-animation: pace-spinner 400ms linear infinite;
-  animation: pace-spinner 400ms linear infinite;
-}
-/*
- * Tables and datatables
- */
-.table-full {
-  width: 100%;
-}
-.table-wrap {
-  overflow: auto;
-}
-.table.has-tickbox thead tr th:first-child {
-  width: 18px;
-}
-.table.has-tickbox.ams-form tbody tr td:first-child .checkbox,
-.table.has-tickbox.ams-form tbody tr td:first-child .radio,
-.table.has-tickbox.ams-form thead tr th:first-child .checkbox,
-.table.has-tickbox.ams-form thead tr th:first-child .radio {
-  padding: 0!important;
-}
-.table-dnd tbody tr.dragging-row td {
-  background-color: #cedbf7 !important;
-}
-.table-dnd tbody tr:not(.no-drag-handle) td:first-child {
-  padding-left: 20px!important;
-}
-.table-dnd tbody td.sorter,
-.table-dnd tbody td.sorter a {
-  cursor: move!important;
-}
-.table-dnd tbody td.drag-handle {
-  background: transparent url('../img/vert-drag-handle.png') scroll no-repeat left 50%;
-}
-table:not(.table-dnd) td.sorter {
-  width: 35px!important;
-}
-table:not(.table-dnd) td.sorter a {
-  display: none;
-}
-.table-tight td,
-.table-tight th {
-  padding: 4px 8px!important;
-  line-height: 1.3 !important;
-}
-.table-tight td input[type="text"],
-.table-tight th input[type="text"] {
-  height: 20px;
-  padding: 3px 8px;
-}
-.table-small td,
-.table-small th {
-  padding: 2px 8px!important;
-  line-height: 1.2 !important;
-}
-.table-small td input[type="text"],
-.table-small th input[type="text"] {
-  height: 18px;
-  padding: 2px 8px;
-}
-.table-mini td,
-.table-mini th {
-  padding: 1px 8px!important;
-  line-height: 1.1 !important;
-}
-.table-mini td input[type="text"],
-.table-mini th input[type="text"] {
-  height: 16px;
-  padding: 1px 8px;
-}
-.table-bordered > thead > tr > td,
-.table-bordered > thead > tr > th {
-  border-width: 1px;
-}
-.table-bordered .no-padding > .table-bordered {
-  border: 0!important;
-}
-.table-bordered .no-padding > .table-bordered tbody tr td:first-child,
-.table-bordered .no-padding > .table-bordered thead tr td:first-child,
-.table-bordered .no-padding > .table-bordered thead tr th:first-child {
-  border-left-width: 0!important;
-}
-.table-bordered .no-padding > .table-bordered tbody tr td:last-child,
-.table-bordered .no-padding > .table-bordered thead tr th:last-child {
-  border-right-width: 0!important;
-}
-.table-bordered .no-padding > .table-bordered tbody tr:last-child td {
-  border-bottom-width: 0 !important;
-}
-.table-bordered .no-padding > .table-bordered tbody tr:last-child:nth-child(1) td,
-.table-bordered .no-padding > .table-bordered tbody tr:last-child:nth-child(2) td {
-  border-bottom: 1px solid #ddd !important;
-}
-.no-padding .note-editable .table-bordered {
-  border: 1px solid #ddd !important;
-}
-tr.current td {
-  background-color: #ccc !important;
-}
-tr.bordered-bottom th,
-tr.bordered-bottom td {
-  border-bottom: 1px solid #ddd;
-}
-.table-hover > tbody > tr:hover > td,
-.table-hover > tbody > tr:hover > th {
-  background-color: #eee;
-}
-th > .btn-group:first-child {
-  margin-left: 20px;
-  vertical-align: bottom;
-}
-th.checker,
-td.checker {
-  width: 30px;
-}
-th.actions-menu {
-  width: 70px;
-}
-th.action,
-td.action {
-  width: 16px;
-}
-.dt-row {
-  padding: 4px 10px;
-}
-.dt-top-row {
-  height: 0;
-  line-height: 0;
-  position: relative;
-}
-.dt-bottom-row {
-  background: #fafafa;
-  font-size: 11px;
-  overflow: hidden;
-  padding: 5px 10px;
-  border-top: 1px solid #ccc;
-  -webkit-box-shadow: inset 0 1px #fff;
-  -ms-box-shadow: inset 0 1px #fff;
-  box-shadow: inset 0 1px #fff;
-}
-.ams-form .dt-bottom-row .row {
-  margin: 0!important;
-}
-.modal-dialog .ams-form .dt-bottom-row {
-  padding: 5px 10px!important;
-}
-.modal-dialog .ams-form .dt-bottom-row .row {
-  margin: 0;
-}
-.dataTables_length {
-  position: absolute;
-  right: 13px;
-  top: -35px;
-}
-.dataTables_length select {
-  width: 60px;
-  padding: 3px;
-  font-size: 13px;
-  border: 1px solid #bbb;
-}
-.dataTables_filter {
-  position: absolute;
-  left: 10px;
-  top: -35px;
-}
-.dataTables_filter input {
-  padding: 3px 8px 1px;
-  font-size: 13px;
-}
-.dataTables_filter .form-control {
-  height: 28px;
-}
-.dataTables_filter .input-group {
-  width: 180px!important;
-}
-.dataTables_filter input select {
-  border: 1px solid #bbb;
-}
-.dataTables_paginate {
-  margin: 4px 0 0;
-}
-.dataTables_paginate .pagination {
-  margin: 0;
-}
-.dataTables_paginate .btn-group a {
-  color: #2E5F87;
-}
-.dataTables_wrapper {
-  position: relative;
-}
-.dataTables_wrapper table.table {
-  clear: both;
-  max-width: inherit;
-  margin-bottom: 0;
-}
-.dataTables_wrapper table.table thead th {
-  white-space: nowrap;
-  text-overflow: ellipsis;
-  -ms-text-overflow: ellipsis;
-}
-.dataTables_wrapper table.table thead .sorting,
-.dataTables_wrapper table.table thead .sorting_asc,
-.dataTables_wrapper table.table thead .sorting_asc_disabled,
-.dataTables_wrapper table.table thead .sorting_desc,
-.dataTables_wrapper table.table thead .sorting_desc_disabled {
-  cursor: pointer;
-  padding-right: 18px!important;
-}
-.dataTables_wrapper table.table thead .sorting {
-  background: url(../img/datatable/sort_both.png) no-repeat center right;
-}
-.dataTables_wrapper table.table thead .sorting_asc {
-  background: #b4cbb9 url(../img/datatable/sort_asc.png) no-repeat center right;
-}
-.dataTables_wrapper table.table thead .sorting_desc {
-  background: #b4cbb9 url(../img/datatable/sort_desc.png) no-repeat center right;
-}
-.dataTables_wrapper table.table thead .sorting_asc_disabled {
-  background: url(../img/datatable/sort_asc_disabled.png) no-repeat center right;
-}
-.dataTables_wrapper table.table thead .sorting_desc_disabled {
-  background: url(../img/datatable/sort_desc_disabled.png) no-repeat center right;
-}
-.dataTables_wrapper table.table tbody tr.active th,
-.dataTables_wrapper table.table tbody tr.active td {
-  background-color: #08C;
-  color: #fff;
-}
-.dataTables_wrapper table.table tbody tr.active:hover td,
-.dataTables_wrapper table.table tbody tr.active:hover th {
-  background-color: #0075b0 !important;
-}
-.dataTables_wrapper table.dataTable th:active {
-  outline: 0;
-}
-.dataTables_wrapper .table-striped tbody tr.active:nth-child(odd) td,
-.dataTables_wrapper .table-striped tbody tr.active:nth-child(odd) th {
-  background-color: #017ebc;
-}
-.dataTables_wrapper select {
-  min-height: inherit;
-}
-.dataTables_wrapper table + .row {
-  margin-bottom: 0;
-  margin-top: 10px;
-}
-.dataTables_wrapper .dt_actions {
-  float: left;
-  margin-right: 20px;
-}
-.dataTables_wrapper .bottom,
-.dataTables_wrapper .top {
-  background-color: #f5f5f5;
-  border: 1px solid #CCC;
-  padding: 15px;
-}
-.dataTables_wrapper div.DTTT .btn:hover {
-  text-decoration: none!important;
-}
-.dataTables_wrapper ul.DTTT_dropdown.dropdown-menu a {
-  color: #333 !important;
-}
-.dataTables_wrapper ul.DTTT_dropdown.dropdown-menu li:hover a {
-  background-color: #08c;
-  color: #fff !important;
-}
-.dataTables_wrapper div.DTTT_print_info.modal {
-  height: 150px;
-  margin-top: -75px;
-  text-align: center;
-}
-.dataTables_wrapper div.DTTT_print_info h6 {
-  font-weight: 400;
-  font-size: 28px;
-  line-height: 28px;
-  margin: 1em;
-}
-.dataTables_wrapper div.DTTT_print_info p {
-  font-size: 14px;
-  line-height: 20px;
-}
-.dataTables_wrapper div.DTFC_LeftFootWrapper table,
-.dataTables_wrapper div.DTFC_LeftHeadWrapper table,
-.dataTables_wrapper table.DTFC_Cloned tr.even {
-  background-color: #fff;
-}
-.dataTables_wrapper div.DTFC_LeftHeadWrapper table {
-  margin-bottom: 0!important;
-  border-top-right-radius: 0!important;
-  border-bottom-left-radius: 0!important;
-  border-bottom-right-radius: 0!important;
-}
-.no-padding .dataTables_wrapper table,
-.no-padding > table {
-  border: 0!important;
-  margin-bottom: 0!important;
-}
-.no-padding .dataTables_wrapper table.border-top,
-.no-padding > table.border-top {
-  border-top: 1px solid #ddd !important;
-}
-.no-padding .dataTables_wrapper table tr td:first-child,
-.no-padding > table tr td:first-child,
-.no-padding .dataTables_wrapper table tr th:first-child,
-.no-padding > table tr th:first-child {
-  border-left: 0!important;
-}
-.no-padding .dataTables_wrapper table tr td:last-child,
-.no-padding > table tr td:last-child,
-.no-padding .dataTables_wrapper table tr th:last-child,
-.no-padding > table tr th:last-child {
-  border-right: 0!important;
-}
-.no-padding .dataTables_wrapper table tr:last-child td,
-.no-padding > table tr:last-child td {
-  border-bottom: 0;
-}
-.dataTables_scrollBody {
-  -webkit-overflow-scrolling: touch;
-}
-.top .dataTables_info {
-  float: none;
-}
-div.dt-bottom-row .dataTables_info {
-  float: left;
-  padding-top: 10px;
-  font-size: 12px;
-}
-.dataTables_full {
-  width: 100%!important;
-}
-.dataTables_empty {
-  text-align: center!important;
-  font-size: 15px;
-  background: #fff !important;
-  padding: 20px 0!important;
-  cursor: default;
-}
-.dataTables_scroll {
-  clear: both;
-}
-.dataTables_scrollHeadInner table.table-bordered {
-  border-radius: 4px 4px 0 0;
-}
-.dataTables_scrollHeadInner table.table-bordered,
-.dataTables_scrollHeadInner table.table-bordered thead {
-  border-bottom: 0;
-}
-.dataTables_scrollBody table {
-  border-top: 0;
-}
-.dataTables_processing {
-  position: absolute;
-  top: 50%;
-  margin-top: -24px;
-  z-index: 100;
-  left: 50%;
-  width: 250px;
-  margin-left: -125px;
-  border: 1px solid #ddd;
-  text-align: center;
-  color: #000;
-  background: #fff;
-  font-size: 15px!important;
-  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
-  -ms-box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
-  padding: 10px 0;
-}
-.dataTables_wrapper .center {
-  text-align: center;
-}
-.dataTables_wrapper .details,
-.dataTables_wrapper .details:hover {
-  background: #ddd !important;
-}
-.dataTables_wrapper .details table td {
-  background: #fff !important;
-}
-.dataTables_scrollHeadInner table.table,
-.dataTables_wrapper .details table.table {
-  margin: 0!important;
-}
-.dataTables_scrollHead table {
-  margin-bottom: 0!important;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.dataTables_scrollHead table thead tr:last-child th:first-child {
-  border-bottom-left-radius: 0!important;
-  border-bottom-right-radius: 0!important;
-}
-.DTFC_LeftHeadWrapper table thead tr:last-child td:first-child,
-.DTFC_LeftHeadWrapper table thead tr:last-child th:first-child {
-  border-bottom-left-radius: 0!important;
-  border-bottom-right-radius: 0!important;
-}
-.DTFC_LeftBodyWrapper table,
-.dataTables_scrollBody table {
-  border-top: 0;
-  margin-bottom: 0!important;
-}
-.DTFC_LeftBodyWrapper tbody tr:first-child td,
-.DTFC_LeftBodyWrapper tbody tr:first-child th,
-div.DTFC_LeftFootWrapper table,
-div.dataTables_scrollBody tbody tr:first-child th,
-div.dataTables_scrollFoot table {
-  border-top: 0;
-}
-/*
- * Datatables ColVis plug-in
- */
-.ColVis {
-  position: absolute;
-  right: 83px;
-  top: -35px;
-}
-.ColVis_collection {
-  position: relative;
-  width: 180px;
-  background-color: #fff;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
-  z-index: 1102;
-  padding-top: 3px;
-  padding-left: 10px;
-  list-style-type: none;
-  list-style-position: outside;
-}
-.ColVis_collection .ColVis_Button {
-  position: relative;
-  margin-right: 3px;
-  height: 30px;
-  background-color: #fff;
-  border: 1px solid #d0d0d0;
-  cursor: hand;
-  padding: 3px 5px;
-}
-.ColVis_collection button.ColVis_Button {
-  padding: 4px 12px;
-  height: 26px;
-  background-color: #fff;
-  border: 0;
-  width: 100%;
-  float: none;
-  font-size: 12px;
-}
-.ColVis_collection button.ColVis_Button + button.ColVis_Button {
-  border-top: 1px solid #e1e1e1;
-}
-.ColVis_collection button.ColVis_Button button.ColVis_Button input {
-  margin: 0;
-}
-button.ColVis_Button {
-  padding: 4px 5px;
-  text-align: left;
-}
-button.ColVis_Button::-moz-focus-inner {
-  border: 0!important;
-  padding: 0;
-}
-.ColVis_collectionBackground {
-  position: fixed;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background-color: #000;
-  z-index: 1100;
-}
-div.ColVis_catcher {
-  position: absolute;
-  z-index: 1101;
-}
-span.ColVis_radio {
-  display: inline-block;
-  width: 20px;
-  vertical-align: -2px;
-}
-.ColVis_text_hover,
-div.ColVis_collection button.ColVis_Button:hover {
-  background: #F2F2F2;
-  color: #222;
-}
-/*
- * Datatables columns reorder plug-in
- */
-table.DTCR_clonedTable {
-  background-color: #fff;
-  z-index: 202;
-}
-div.DTCR_pointer {
-  width: 1px;
-  background-color: #0259C4;
-  z-index: 201;
-}
-ul.DTTT_dropdown.dropdown-menu li {
-  position: relative;
-}
-ul.DTTT_dropdown.dropdown-menu li:hover a {
-  background-color: #f2f2f2;
-  color: #333 !important;
-}
-.table_tools_group {
-  position: absolute;
-  right: 83px;
-  top: -37px;
-}
-.DTTT.btn-group {
-  position: absolute;
-  top: -38px;
-  right: 83px;
-}
-.DTTT_dropdown {
-  z-index: 2002;
-}
-.DTFC_LeftHeadWrapper {
-  border-bottom: 1px solid #ddd;
-}
-div.DTTT_container {
-  position: relative;
-  float: right;
-  margin-bottom: 1em;
-}
-a.DTTT_button,
-button.DTTT_button,
-div.DTTT_button {
-  position: relative;
-  float: left;
-  margin-right: 3px;
-  padding: 5px 8px;
-  border: 1px solid #999;
-  cursor: pointer;
-  *cursor: hand;
-  font-size: 0.88em;
-  color: #000 !important;
-  -o-border-radius: 2px;
-  border-radius: 2px;
-  -webkit-box-shadow: 1px 1px 3px #ccc;
-  -ms-box-shadow: 1px 1px 3px #ccc;
-  -o-box-shadow: 1px 1px 3px #ccc;
-  box-shadow: 1px 1px 3px #ccc;
-  background: #fff;
-  background: -webkit-gradient(linear, top left, bottom left, from(#fff), color-stop(89%, #f3f3f3), to(#f9f9f9));
-  background: -webkit-linear-gradient(top, #fff 0, #f3f3f3 89%, #f9f9f9 100%);
-  background: linear-gradient(top, #fff 0, #f3f3f3 89%, #f9f9f9 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0);
-}
-a.DTTT_button:hover,
-button.DTTT_button:hover,
-div.DTTT_button:hover {
-  border: 1px solid #666;
-  text-decoration: none!important;
-  -webkit-box-shadow: 1px 1px 3px #999;
-  -ms-box-shadow: 1px 1px 3px #999;
-  -o-box-shadow: 1px 1px 3px #999;
-  box-shadow: 1px 1px 3px #999;
-  background: #f3f3f3;
-  background: -webkit-gradient(linear, top left, bottom left, from(#f3f3f3), color-stop(89%, #e2e2e2), to(#f4f4f4));
-  background: -webkit-linear-gradient(top, #f3f3f3 0, #e2e2e2 89%, #f4f4f4 100%);
-  background: linear-gradient(top, #f3f3f3 0, #e2e2e2 89%, #f4f4f4 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3f3f3', endColorstr='#f4f4f4', GradientType=0);
-}
-button.DTTT_button {
-  height: 30px;
-  padding: 3px 8px;
-}
-.DTTT_button embed {
-  outline: 0;
-}
-a.DTTT_disabled,
-button.DTTT_disabled,
-div.DTTT_disabled {
-  color: #999;
-  border: 1px solid #d0d0d0;
-  background: #fff;
-  background: -webkit-gradient(linear, top left, bottom left, from(#fff), color-stop(89%, #f9f9f9), to(#fafafa));
-  background: -webkit-linear-gradient(top, #fff 0, #f9f9f9 89%, #fafafa 100%);
-  background: linear-gradient(top, #fff 0, #f9f9f9 89%, #fafafa 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fafafa', GradientType=0);
-}
-table.DTTT_selectable tbody tr {
-  cursor: pointer;
-  *cursor: hand;
-}
-table.dataTable tr.DTTT_selected.odd td.sorting_1,
-table.dataTable tr.DTTT_selected.odd td.sorting_2,
-table.dataTable tr.DTTT_selected.odd td.sorting_3 {
-  background-color: #9FAFD1;
-}
-table.dataTable tr.DTTT_selected.even td.sorting_1,
-table.dataTable tr.DTTT_selected.even td.sorting_2,
-table.dataTable tr.DTTT_selected.even td.sorting_3 {
-  background-color: #B0BED9;
-}
-div.DTTT_collection {
-  width: 150px;
-  padding: 8px 8px 4px;
-  border: 1px solid #ccc;
-  border: 1px solid rgba(0, 0, 0, 0.4);
-  background-color: #f3f3f3;
-  background-color: rgba(255, 255, 255, 0.3);
-  overflow: hidden;
-  z-index: 2002;
-  -o-border-radius: 5px;
-  border-radius: 5px;
-  -webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
-  -ms-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
-  -o-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
-  box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
-}
-div.DTTT_collection a.DTTT_button,
-div.DTTT_collection button.DTTT_button,
-div.DTTT_collection div.DTTT_button {
-  position: relative;
-  left: 0;
-  right: 0;
-  display: block;
-  float: none;
-  margin-bottom: 4px;
-  -webkit-box-shadow: 1px 1px 3px #999;
-  -ms-box-shadow: 1px 1px 3px #999;
-  -o-box-shadow: 1px 1px 3px #999;
-  box-shadow: 1px 1px 3px #999;
-}
-div.DTTT_collection_background {
-  z-index: 2001;
-}
-.DTTT_print_info {
-  position: fixed;
-  top: 50%;
-  left: 50%;
-  width: 400px;
-  height: 150px;
-  margin-left: -200px;
-  margin-top: -75px;
-  text-align: center;
-  color: #333;
-  padding: 10px 30px;
-  background: #fff;
-  background: -webkit-gradient(linear, top left, bottom left, from(#fff), color-stop(89%, #f3f3f3), to(#f9f9f9));
-  background: -webkit-linear-gradient(top, #fff 0, #f3f3f3 89%, #f9f9f9 100%);
-  background: linear-gradient(top, #fff 0, #f3f3f3 89%, #f9f9f9 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f9f9f9', GradientType=0);
-  opacity: 0.95;
-  border: 1px solid #000;
-  border: 1px solid rgba(0, 0, 0, 0.5);
-  -o-border-radius: 6px;
-  border-radius: 6px;
-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-  -ms-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-  -o-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.5);
-}
-.DTTT_print_info h6 {
-  font-weight: 400;
-  font-size: 28px;
-  line-height: 28px;
-  margin: 1em;
-}
-.DTTT_print_info p {
-  font-size: 14px;
-  line-height: 20px;
-}
-/*
- * Forms styles
- */
-.form hr {
-  margin-left: -13px;
-  margin-right: -13px;
-  border-color: rgba(0, 0, 0, 0.1);
-  margin-top: 20px;
-  margin-bottom: 20px;
-}
-.form fieldset {
-  display: block;
-  border: 0;
-  background: rgba(255, 255, 255, 0.9);
-  position: relative;
-}
-.form header,
-.form legend {
-  display: block;
-  padding: 8px 0;
-  border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
-  background: #fff;
-  font-size: 16px;
-  font-weight: 300;
-  color: #222;
-  margin: 25px 0 20px;
-}
-.no-padding .form header {
-  margin: 25px 14px 0;
-}
-.form header:first-child {
-  margin-top: 10px;
-}
-.form .form-group:last-child,
-.form .form-group:last-child .note,
-.form fieldset .form-group:last-child,
-.form fieldset .form-group:last-child .note {
-  margin-bottom: 0;
-}
-.form-suffix .alert:last-child {
-  margin-bottom: 0;
-  border-radius: 0 0 5px 5px;
-}
-fieldset {
-  position: relative;
-}
-legend {
-  font-weight: 400;
-  margin-top: 0;
-  background: 0 0;
-}
-i.hint {
-  vertical-align: super;
-  opacity: 0.5;
-}
-i.hint:hover {
-  opacity: 0.9 !important;
-}
-.nohints i.hint {
-  display: none;
-}
-.input-group-addon {
-  padding: 6px 10px 5px!important;
-  border-radius: 0;
-  transition: background-color 0.3s;
-  -webkit-transition: background-color 0.3s;
-}
-.input-group-addon .fa {
-  font-size: 14px;
-}
-.input-group-addon .fa-2x,
-.input-group-addon .fa-lg {
-  font-size: 2em;
-}
-.input-group-addon .fa-3x,
-.input-group-addon .fa-4x,
-.input-group-addon .fa-5x {
-  font-size: 30px;
-}
-.input-group-addon .checkbox,
-.input-group-addon .radio {
-  min-height: 0;
-  margin-right: 0!important;
-  padding-top: 0;
-}
-.input-group-addon label input[type=checkbox].checkbox + span,
-.input-group-addon label input[type=checkbox].checkbox + span:before,
-.input-group-addon label input[type=radio].radiobox + span,
-.input-group-addon label input[type=radio].radiobox + span:before {
-  margin-right: 0;
-}
-.input-group-addon .onoffswitch,
-.input-group-addon .onoffswitch-label {
-  margin: 0;
-}
-input[type=text]:focus + .input-group-addon {
-  border-color: #0091d9;
-  background-color: #72a0ce;
-  color: #fff;
-}
-.has-warning input[type=text]:focus + .input-group-addon {
-  border-color: #7f6a1e;
-  background-color: #cead35;
-  color: #fff;
-}
-.has-error input[type=text]:focus + .input-group-addon {
-  border-color: #c46a69;
-  background-color: #c46a69;
-  color: #fff;
-}
-.has-success input[type=text]:focus + .input-group-addon {
-  border-color: #446b46;
-  background-color: #588a5a;
-  color: #fff;
-}
-.input-icon-left > i {
-  right: auto;
-  left: 24px;
-}
-.input-icon-left .form-control {
-  padding-left: 29px;
-}
-.input-icon-right {
-  position: relative;
-}
-.input-icon-right .form-control {
-  padding-right: 27px;
-}
-.input-icon-left > i,
-.input-icon-right > i {
-  position: absolute;
-  right: 10px;
-  top: 30%;
-  font-size: 16px;
-  color: #bfbfbf;
-}
-.form-actions {
-  display: block;
-  padding: 13px 14px 15px;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  background: rgba(249, 249, 249, 0.9);
-  margin-top: 25px;
-  margin-left: -13px;
-  margin-right: -13px;
-  margin-bottom: -13px;
-  text-align: right;
-}
-.well .form-actions {
-  margin-left: -19px;
-  margin-right: -19px;
-  margin-bottom: -19px;
-}
-.well.well-lg .form-actions {
-  margin-left: -24px;
-  margin-right: -24px;
-  margin-bottom: -24px;
-}
-.well.well-sm .form-actions {
-  margin-left: -9px;
-  margin-right: -9px;
-  margin-bottom: -9px;
-}
-.popover-content .form-actions {
-  margin: 0 -14px -9px;
-  border-radius: 0 0 3px 3px;
-  padding: 9px 14px;
-}
-.no-padding .form .form-actions {
-  margin: 0;
-  display: block;
-  padding: 13px 14px 15px;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  background: rgba(248, 248, 248, 0.9);
-  text-align: right;
-  margin-top: 25px;
-}
-:focus {
-  outline: 0!important;
-}
-.filter_column input {
-  padding: 0px 3px;
-}
-.filter_column input,
-.filter_column select {
-  width: 100%;
-  color: rgba(0, 0, 0, 0.5);
-  border: 1px solid #CCC;
-  border-radius: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-}
-.uneditable-input:focus,
-input[type=color]:focus,
-input[type=date]:focus,
-input[type=datetime-local]:focus,
-input[type=datetime]:focus,
-input[type=email]:focus,
-input[type=month]:focus,
-input[type=number]:focus,
-input[type=password]:focus,
-input[type=search]:focus,
-input[type=tel]:focus,
-input[type=text]:focus,
-input[type=time]:focus,
-input[type=url]:focus,
-input[type=week]:focus,
-.filter_column input:focus,
-.filter_column select:focus,
-select:focus,
-textarea:focus {
-  border-color: rgba(82, 168, 236, 0.8);
-  outline: 0;
-  outline: thin dotted 9;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
-}
-.form-control {
-  padding: 7px 12px 5px;
-}
-.form-control,
-.input-lg,
-.input-sm,
-.input-xs {
-  border-radius: 0 !important;
-}
-.input-xs {
-  height: 24px;
-  padding: 3px 10px 1px;
-  font-size: 11px;
-  line-height: 1.5;
-}
-.fileinput {
-  padding-top: 3px;
-}
-input[type=checkbox].checkbox,
-input[type=radio].radiobox {
-  visibility: hidden;
-  position: absolute;
-  z-index: 20;
-  width: 18px;
-  height: 18px;
-}
-.checkbox input[type=checkbox].checkbox + span,
-.checkbox input[type=radio].radiobox + span,
-.checkbox-inline input[type=checkbox].checkbox + span,
-.checkbox-inline input[type=radio].radiobox + span,
-.radio input[type=checkbox].checkbox + span,
-.radio input[type=radio].radiobox + span,
-.radiobox-inline input[type=checkbox].checkbox + span,
-.radiobox-inline input[type=radio].radiobox + span {
-  margin-left: -20px;
-}
-.form-inline .checkbox input[type=checkbox].checkbox + span,
-.form-inline .checkbox input[type=radio].radiobox + span,
-.form-inline .checkbox-inline input[type=checkbox].checkbox + span,
-.form-inline .checkbox-inline input[type=radio].radiobox + span,
-.form-inline .radio input[type=checkbox].checkbox + span,
-.form-inline .radio input[type=radio].radiobox + span,
-.form-inline .radiobox-inline input[type=checkbox].checkbox + span,
-.form-inline .radiobox-inline input[type=radio].radiobox + span {
-  margin-left: 0;
-}
-input[type=checkbox].checkbox + span,
-input[type=radio].radiobox + span,
-label input[type=checkbox].checkbox + span,
-label input[type=radio].radiobox + span {
-  vertical-align: middle;
-  line-height: 20px;
-}
-input[type=checkbox].checkbox + span,
-input[type=radio].radiobox + span,
-input[type=checkbox].checkbox + span:after,
-input[type=radio].radiobox + span:after,
-input[type=checkbox].checkbox:before,
-input[type=radio].radiobox:before {
-  box-sizing: content-box !important;
-  -webkit-box-sizing: content-box !important;
-  -moz-box-sizing: content-box !important;
-}
-label input[type=checkbox].checkbox + span,
-label input[type=radio].radiobox + span {
-  position: relative;
-  z-index: 19;
-  display: inline-block;
-  margin: 0;
-  line-height: 17px;
-  min-height: 14px;
-  min-width: 14px;
-  margin-right: 5px;
-}
-label input[type=checkbox].checkbox + span:hover,
-label input[type=radio].radiobox + span:hover {
-  cursor: pointer;
-}
-label input[type=checkbox].checkbox + span:before,
-label input[type=radio].radiobox + span:before {
-  font-family: FontAwesome;
-  font-size: 12px;
-  border-radius: 0;
-  content: "\a0";
-  display: inline-block;
-  text-align: center;
-  vertical-align: middle;
-  padding: 1px;
-  height: 12px;
-  line-height: 12px;
-  min-width: 12px;
-  margin-right: 5px;
-  border: 1px solid #bfbfbf;
-  background-color: #f4f4f4;
-  font-weight: 400;
-  margin-top: -1px;
-}
-label input[type=checkbox].checkbox + span:before {
-  content: "\a0";
-}
-label input[type=checkbox].checkbox:checked + span {
-  font-weight: 700;
-}
-label input[type=checkbox].checkbox:checked + span:before {
-  content: "\f00c";
-  color: #2E7BCC;
-}
-label input[type=checkbox].checkbox.style-1 + span:before {
-  color: #333;
-  background: #fff;
-  text-shadow: none;
-  -webkit-box-shadow: none!important;
-  box-shadow: none!important;
-  border-width: 1px;
-  height: 12px;
-  line-height: 13px;
-  min-width: 12px;
-}
-label input[type=checkbox].checkbox.style-1:checked + span {
-  font-weight: 400;
-}
-label input[type=checkbox].checkbox.style-1:checked + span:before {
-  color: #333;
-  border-color: #333;
-}
-label input[type=checkbox].checkbox.style-2 + span:before {
-  background: 0 0;
-  border-color: #c1c1c1;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-label input[type=checkbox].checkbox.style-2:checked + span {
-  font-weight: 400;
-}
-label input[type=checkbox].checkbox.style-2:checked + span:before {
-  content: "\f00c";
-  color: #66665e;
-  border-color: #4d90fe;
-  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNS4xIFdpbmRvd3MiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUQ0MEM4RUFEQUE4MTFFMkEwMjM5NzlCRjAxM0UwRjciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUQ0MEM4RUJEQUE4MTFFMkEwMjM5NzlCRjAxM0UwRjciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRDQwQzhFOERBQTgxMUUyQTAyMzk3OUJGMDEzRTBGNyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRDQwQzhFOURBQTgxMUUyQTAyMzk3OUJGMDEzRTBGNyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsD/PVAAAAAQSURBVHjaYv7//78vQIABAAlYA05NMPppAAAAAElFTkSuQmCC) #fff;
-}
-label input[type=checkbox].checkbox.style-3:checked + span:before {
-  color: #fff;
-  border-color: #a90329;
-  background: #a90329;
-}
-label:active input[type=checkbox].checkbox + span:before {
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-}
-label:hover input[type=checkbox].checkbox + span:before {
-  color: #2E7BCC;
-  border-color: #2E7BCC;
-}
-label:hover input[type=checkbox].checkbox.style-1 + span:before {
-  border-color: #333;
-}
-label:hover input[type=checkbox].checkbox.style-2 + span:before {
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 0 0 rgba(255, 255, 255, 0.2);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 0 0 rgba(255, 255, 255, 0.2);
-}
-label:hover input[type=checkbox].checkbox.style-2:checked + span:before {
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-}
-label:hover input[type=checkbox].checkbox.style-3 + span:before {
-  color: #fff;
-  border-color: #A90327;
-}
-label:active input[type=checkbox].checkbox:checked + span:before {
-  color: #fff;
-  background: #2E7BCC;
-  border-color: #2E7BCC;
-}
-label:active input[type=checkbox].checkbox.style-1:checked + span:before {
-  color: #fff;
-  background: #333;
-  border-color: #333;
-}
-label:active input[type=checkbox].checkbox.style-2 + span:before,
-label:active input[type=checkbox].checkbox.style-2:checked + span:before {
-  color: #66665e;
-  background: 0 0;
-  border-color: #c1c1c1;
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-}
-label:active input[type=checkbox].checkbox.style-3:checked + span:before {
-  color: #a90329;
-  background: #fff;
-  border-color: #a90329;
-}
-label input[type=checkbox][disabled].checkbox + span,
-label input[type=checkbox][disabled].checkbox:checked + span {
-  color: #A7A7A7;
-  cursor: not-allowed;
-}
-label input[type=checkbox][disabled].checkbox:checked + span:before {
-  content: "\f00c";
-}
-label input[type=checkbox][disabled].checkbox.style-2:checked + span:before {
-  content: "\f00c";
-}
-label input[type=checkbox][disabled].checkbox + span:before,
-label input[type=checkbox][disabled].checkbox:checked + span:before,
-label input[type=checkbox][disabled].checkbox:checked + span:before {
-  background: #eee !important;
-  border-color: #CCC !important;
-  -webkit-box-shadow: none;
-  color: #A7A7A7;
-  box-shadow: none!important;
-}
-label:hover input[type=checkbox][disabled].checkbox:checked + span:before {
-  color: #A7A7A7;
-  cursor: not-allowed;
-}
-label:hover input[type=checkbox][disabled].checkbox:checked + span:before {
-  background: #eee !important;
-  border-color: #CCC !important;
-  -webkit-box-shadow: none;
-  color: #A7A7A7;
-  box-shadow: none!important;
-}
-label input[type=radio].radiobox + span:before {
-  content: "\a0";
-  border-radius: 50%;
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 0 0 rgba(255, 255, 255, 0.2);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 0 0 rgba(255, 255, 255, 0.2);
-}
-label input[type=radio].radiobox:checked + span {
-  font-weight: 700;
-}
-label input[type=radio].radiobox:checked + span:before {
-  content: "\f111";
-  color: #2E7BCC;
-}
-label input[type=radio].radiobox.style-1 + span:before {
-  font-size: 9px;
-  background: #fff;
-  text-shadow: none;
-  -webkit-box-shadow: none!important;
-  box-shadow: none!important;
-  border-width: 1px;
-  height: 13px;
-  line-height: 13px;
-  min-width: 13px;
-}
-label input[type=radio].radiobox.style-1:checked + span:before {
-  font-size: 10px;
-  color: #333;
-  border-color: #333;
-  background: #fff;
-}
-label input[type=radio].radiobox.style-1:checked + span {
-  font-weight: 400;
-}
-label input[type=radio].radiobox.style-2:checked + span {
-  font-weight: 400;
-}
-label input[type=radio].radiobox.style-2:checked + span:before {
-  color: #66665e;
-  border-color: #4d90fe;
-  font-size: 9px;
-}
-label input[type=radio].radiobox.style-3:checked + span:before {
-  color: #a90329;
-  border-color: #a90329;
-}
-label:hover input[type=radio].radiobox + span:before,
-label:hover input[type=radio].radiobox:checked + span:before {
-  color: #2E7BCC;
-  border-color: #2E7BCC;
-}
-label:hover input[type=radio].radiobox.style-1 + span:before,
-label:hover input[type=radio].radiobox.style-1:checked + span:before {
-  color: #333;
-  border-color: #333;
-  background: #fff;
-}
-label:hover input[type=radio].radiobox.style-2:checked + span:before {
-  color: #66665e;
-  border-color: #4d90fe;
-}
-label:hover input[type=radio].radiobox.style-3 + span:before,
-label:hover input[type=radio].radiobox.style-3:checked + span:before {
-  color: #a90329;
-  border-color: #a90329;
-}
-label:active input[type=radio].radiobox + span:before {
-  -webkit-box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-  box-shadow: inset 0 2px 3px 0 rgba(0, 0, 0, 0.3), 0 1px 0 0 rgba(255, 255, 255, 0.4);
-}
-label input[type=radio][disabled].radiobox + span,
-label input[type=radio][disabled].radiobox:checked + span,
-label input[type=radio][disabled].radiobox:checked + span:before {
-  color: #A7A7A7;
-  cursor: not-allowed;
-}
-label input[type=radio][disabled].radiobox:checked + span:before {
-  content: "\f111";
-}
-label input[type=radio][disabled].radiobox + span:before,
-label input[type=radio][disabled].radiobox:checked + span:before {
-  background: #eee !important;
-  border-color: #CCC !important;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  color: #A7A7A7;
-}
-label:active input[type=radio][disabled].radiobox:checked + span:before,
-label:hover input[type=radio][disabled].radiobox:checked + span:before {
-  background: #eee !important;
-  border-color: #CCC !important;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  color: #A7A7A7;
-}
-textarea {
-  background-color: #dedede;
-  min-height: 70px;
-}
-textarea.monospace,
-.monospace textarea {
-  font-family: monospace, sans-serif !important;
-  font-size: 80%!important;
-}
-textarea.clone {
-  position: absolute;
-  visibility: hidden;
-}
-.textarea-div {
-  background-color: #FFF;
-  border: 1px solid #CCC;
-  border-bottom: 0;
-  margin: 10px 0 0;
-}
-.textarea-controls {
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  padding: 5px;
-  display: block;
-  background-color: #FFF;
-  border: 1px solid #CCC;
-  border-top: 0;
-  height: 43px;
-  line-height: 33px;
-  overflow: hidden;
-}
-.textarea-controls > label {
-  margin: 3px 10px 0;
-}
-.textarea-controls .ams-form .checkbox {
-  padding-left: 22px!important;
-}
-.typearea {
-  cursor: text;
-  overflow-x: hidden;
-  overflow-y: auto;
-  max-height: 12em;
-  padding: 5px 25px 5px 5px;
-  position: relative;
-  border-bottom: 1px solid #EEE;
-}
-.typearea textarea {
-  width: 100%;
-  border-color: transparent!important;
-  box-sizing: border-box;
-  box-shadow: none;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -webkit-box-shadow: none;
-  overflow: auto;
-  padding: 0;
-  margin: 0;
-  -webkit-transition: height 0.2s;
-  transition: height 0.2s;
-  outline: 0;
-  resize: none;
-  min-height: calc(11em - 30px);
-}
-.error-box {
-  max-width: 900px;
-  margin: 0 auto;
-}
-.error-text {
-  font-weight: 400;
-  color: #fff;
-  letter-spacing: -4px;
-  font-size: 700%;
-  margin-bottom: 30px;
-  text-shadow: 0 1px 0 #ccc, 0 2px 0 #bfbfbf, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0, 0, 0, 0.1), 0 0 5px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.3), 0 3px 5px rgba(0, 0, 0, 0.2), 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.2), 0 20px 20px rgba(0, 0, 0, 0.15);
-}
-.error-search {
-  width: 300px;
-  margin: 0 auto 20px;
-}
-.error-icon-shadow {
-  text-shadow: 0 1px 0 #803838, 0 2px 0 #a85d5d, 0 3px 0 #b86565, 0 4px 0 #d86f6f, 0 5px 0 #b3a5a5, 0 6px 1px rgba(131, 51, 51, 0.1), 0 0 5px rgba(102, 30, 30, 0.1), 0 1px 3px rgba(95, 15, 15, 0.3), 0 3px 5px rgba(100, 23, 23, 0.2), 0 5px 10px rgba(114, 30, 30, 0.25), 0 10px 10px rgba(94, 15, 15, 0.2), 0 20px 20px rgba(121, 38, 38, 0.15);
-}
-.form-inline .checkbox,
-.form-inline .radiobox {
-  padding-left: 0;
-}
-.ams-form {
-  position: relative;
-  margin: 0;
-  outline: 0;
-  color: #333;
-}
-.ams-form *,
-.ams-form :after,
-.ams-form :before {
-  margin: 0;
-  padding: 0;
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-}
-.ams-form .dt-top-row * {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.ams-form header {
-  display: block;
-  padding: 8px 0;
-  border-bottom: 1px dashed rgba(0, 0, 0, 0.2);
-  background: #fff;
-  font-size: 16px;
-  font-weight: 300;
-  color: #232323;
-  margin: 10px 14px 0;
-}
-.modal-dialog .ams-form header {
-  margin: 10px -2px 0 0;
-}
-.ams-form fieldset {
-  display: block;
-  position: relative;
-  padding: 10px 15px 5px;
-  border: 0;
-  background: rgba(255, 255, 255, 0.9);
-}
-.ams-form fieldset[disabled] > section,
-.ams-form fieldset[disabled] > article,
-.ams-form fieldset[disabled] > div {
-  opacity: 0.6;
-}
-.ams-form fieldset[disabled] LEGEND.checker .checkbox {
-  cursor: pointer;
-}
-.ams-form fieldset.switched {
-  margin-bottom: 0!important;
-}
-.ams-form fieldset.switched > section,
-.ams-form fieldset.switched > article,
-.ams-form fieldset.switched > div:not(.persistent) {
-  display: none;
-}
-.ams-form fieldset.switched legend {
-  border-bottom: 0;
-}
-.ams-form fieldset.switched + fieldset {
-  margin-top: 0!important;
-}
-.ams-form fieldset.bordered {
-  margin: 0 10px 10px;
-  border: 1px solid rgba(192, 192, 192, 0.8);
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-}
-.ams-form fieldset.bordered.switched {
-  border: 1px solid transparent;
-  background-color: transparent;
-}
-.ams-form fieldset.bordered > legend {
-  width: auto;
-  padding: 3px 10px 1px;
-  border: 1px solid rgba(192, 192, 192, 0.8);
-  -webkit-border-radius: 3px;
-  -moz-border-radius: 3px;
-  border-radius: 3px;
-}
-.ams-form fieldset > fieldset.bordered {
-  margin: 10px 0;
-}
-.ams-form fieldset + fieldset {
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-}
-.ams-form legend {
-  padding-top: 10px;
-}
-.ams-form legend.inner,
-.ams-form legend .inner {
-  font-weight: 300;
-  font-size: 14.5px !important;
-}
-.ams-form legend.switcher {
-  cursor: pointer;
-}
-.ams-form legend.checker,
-.ams-form legend.switcher {
-  font-weight: 300;
-  font-size: 16.5px;
-  border: 0;
-  padding-bottom: 0;
-}
-.ams-form legend.checker label[for],
-.ams-form legend.switcher label[for] {
-  cursor: pointer;
-}
-.ams-form legend .fa.text-danger {
-  color: #a94442;
-}
-.ams-form legend > .fa {
-  padding-right: 3px;
-  color: #3276b1;
-  font-size: 75%;
-}
-.ams-form legend > .fa.fa-stack {
-  font-size: 100%;
-  width: 1em;
-  height: 1em;
-  line-height: 1em;
-}
-.ams-form legend .hint {
-  vertical-align: top;
-  font-size: 1em;
-}
-.ams-form legend label.checkbox {
-  display: inline-block;
-  margin-bottom: 0px;
-  min-height: 18px;
-}
-.ams-form legend label.checkbox i {
-  position: absolute;
-  left: 3px;
-  top: -1px;
-}
-.ams-form legend .btn-group {
-  margin-left: 20px;
-}
-.ams-form > .modal-viewport > fieldset > legend {
-  padding-top: 0;
-}
-.ams-form section {
-  margin-bottom: 10px;
-  position: relative;
-}
-.ams-form .form-group {
-  padding: 5px 10px;
-}
-.ams-form.form-tight .form-group,
-.ams-form .form-tight .form-group {
-  padding: 1px 10px;
-}
-.ams-form.form-tight .form-group .i18n-content,
-.ams-form .form-tight .form-group .i18n-content {
-  margin-bottom: 5px;
-}
-.ams-form label.checkbox,
-.ams-form label.radio {
-  padding-top: 0;
-}
-.ams-form label.input-file img.thumbnail {
-  display: inline-block;
-  margin: 4px 10px 0 4px!important;
-  padding: 4px!important;
-}
-.ams-form input.input-lg {
-  height: 44px;
-  padding: 10px 16px;
-  font-size: 17px;
-  line-height: 1.33;
-}
-.ams-form input.input-sm {
-  height: 30px;
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-}
-.ams-form input.input-xs {
-  height: 24px;
-  padding: 2px 10px;
-  font-size: 11px;
-  line-height: 1.5;
-}
-.ams-form input[type="text"][name][disabled],
-.ams-form input[type="password"][name][disabled],
-.ams-form input[type="text"][name][readonly],
-.ams-form input[type="password"][name][readonly] {
-  background-color: #efefef;
-}
-.ams-form .textarea textarea[name][disabled],
-.ams-form .textarea textarea[name][readonly] {
-  background-color: #efefef;
-}
-.ams-form select.input-sm {
-  height: 30px;
-  line-height: 15px;
-  font-size: 12px;
-}
-.ams-form select.input-sm + i {
-  height: 10px;
-}
-.ams-form select.input-lg {
-  height: 44px;
-  line-height: 22px;
-  font-size: 17px;
-}
-.ams-form select.input-lg + i {
-  height: 11px;
-  top: 17px;
-}
-.ams-form .row {
-  margin: 0 -15px;
-}
-.ams-form .row:after {
-  display: table;
-  content: '';
-  clear: both;
-}
-.ams-form .col-1 {
-  width: 8.33%;
-}
-.ams-form .col-2 {
-  width: 16.66%;
-}
-.ams-form .col-3 {
-  width: 25%;
-}
-.ams-form .col-4 {
-  width: 33.33%;
-}
-.ams-form .col-5 {
-  width: 41.66%;
-}
-.ams-form .col-6 {
-  width: 50%;
-}
-.ams-form .col-8 {
-  width: 66.67%;
-}
-.ams-form .col-9 {
-  width: 75%;
-}
-.ams-form .col-10 {
-  width: 83.33%;
-}
-.ams-form .col {
-  float: left;
-  min-height: 1px;
-  padding-right: 15px;
-  padding-left: 15px;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-}
-@media screen and (max-width: 600px) {
-  .ams-form .col {
-    float: none;
-    width: 100%;
-  }
-}
-@media screen and (max-width: 600px) {
-  .ams-form .col .label {
-    text-align: left;
-    padding-left: 20px;
-  }
-}
-.ams-form footer {
-  display: block;
-  padding: 7px 25px 15px;
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  background: rgba(248, 248, 248, 0.9);
-}
-.ams-form footer:after {
-  display: table;
-  clear: both;
-  content: '';
-}
-.ams-form footer .btn {
-  float: right;
-  height: 31px;
-  margin: 10px 0 0 5px;
-  padding: 0 22px;
-  font: 300 15px/29px Ubuntu, Helvetica, Arial, sans-serif;
-  cursor: pointer;
-}
-.ams-form footer .btn.btn-info {
-  float: left;
-}
-.ams-form footer .submit-message {
-  display: inline-block;
-}
-.ams-form .message {
-  display: none;
-  color: #6fb679;
-}
-.ams-form .message i {
-  display: block;
-  margin: 0 auto 20px;
-  width: 81px;
-  height: 81px;
-  border: 1px solid #6fb679;
-  border-radius: 50%;
-  font-size: 30px;
-  line-height: 81px;
-}
-.ams-form.submitted fieldset,
-.ams-form.submitted footer {
-  display: none;
-}
-.ams-form.submitted .message {
-  display: block;
-  padding: 25px 30px;
-  background: rgba(255, 255, 255, 0.9);
-  font: 300 18px/27px Ubuntu, Helvetica, Arial, sans-serif;
-  text-align: center;
-}
-.ams-form .note {
-  margin-top: 6px;
-  padding: 0 1px;
-  font-size: 11px;
-  line-height: 15px;
-  color: #999;
-}
-.ams-form .note a {
-  font-size: 13px;
-}
-.ams-form .note-success {
-  color: #6fb679;
-}
-.ams-form .control-label {
-  display: block;
-  margin-top: 4px;
-  margin-bottom: 6px;
-  padding-top: 0;
-  line-height: 19px;
-  font-weight: 400;
-  font-size: 13px;
-  color: #666;
-  text-align: right;
-}
-@media screen and (max-width: 992px) {
-  .ams-form .control-label {
-    text-align: left;
-    margin-bottom: 0;
-  }
-}
-.ams-form .control-label.col {
-  text-align: right;
-}
-@media screen and (max-width: 600px) {
-  .ams-form .control-label.col {
-    text-align: left;
-    padding-left: 20px;
-  }
-}
-.ams-form .control-label span {
-  margin-right: 10px;
-}
-.ams-form .control-label span::after {
-  content: " *";
-  color: transparent;
-}
-.ams-form .control-label span > .hint {
-  margin-top: -2px;
-}
-.ams-form .control-label .col {
-  margin: 0;
-  padding-top: 7px;
-}
-.ams-form label.input span.textline-field {
-  display: block;
-  margin-top: 4px;
-  margin-bottom: 6px;
-  padding: 0 8px 6px;
-  line-height: 19px;
-  font-size: 13px;
-}
-.ams-form .required-field .control-label span::after {
-  color: red;
-}
-.ams-form .tooltip {
-  position: absolute;
-  z-index: 99999;
-  left: -9999px;
-  padding: 2px 8px 3px;
-  font-size: 11px;
-  line-height: 16px;
-  font-weight: 400;
-  background: rgba(0, 0, 0, 0.9);
-  color: #fff;
-  opacity: 0;
-  transition: margin 0.3s, opacity 0.3s;
-  -webkit-transition: margin 0.3s, opacity 0.3s;
-}
-.ams-form .tooltip:after {
-  position: absolute;
-  content: '';
-}
-.ams-form .tooltip-top-right {
-  bottom: 100%;
-  margin-bottom: 15px;
-}
-.ams-form .tooltip-top-right:after {
-  top: 100%;
-  right: 11px;
-  border-top: 4px solid rgba(0, 0, 0, 0.9);
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.ams-form .input input:focus + .tooltip-top-right,
-.ams-form .input textarea:focus + .tooltip-top-right {
-  right: 0;
-  left: auto;
-  margin-bottom: 5px;
-}
-.ams-form .tooltip-top-left {
-  bottom: 100%;
-  margin-bottom: 15px;
-}
-.ams-form .tooltip-top-left:after {
-  top: 100%;
-  left: 11px;
-  border-top: 4px solid rgba(0, 0, 0, 0.9);
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.ams-form .input input:focus + .tooltip-top-left,
-.ams-form .input textarea:focus + .tooltip-top-left {
-  right: auto;
-  left: 0;
-  margin-bottom: 5px;
-}
-.ams-form .tooltip-right {
-  top: 4px;
-  white-space: nowrap;
-  margin-left: 15px;
-}
-.ams-form .tooltip-right:after {
-  top: 6px;
-  right: 100%;
-  border-top: 4px solid transparent;
-  border-right: 4px solid rgba(0, 0, 0, 0.9);
-  border-bottom: 4px solid transparent;
-}
-.ams-form .input input:focus + .tooltip-right,
-.ams-form .input textarea:focus + .tooltip-right {
-  left: 100%;
-  margin-left: 5px;
-}
-.ams-form .tooltip-left {
-  top: 4px;
-  white-space: nowrap;
-  margin-right: 15px;
-}
-.ams-form .tooltip-left:after {
-  top: 6px;
-  left: 100%;
-  border-top: 4px solid transparent;
-  border-bottom: 4px solid transparent;
-  border-left: 4px solid rgba(0, 0, 0, 0.9);
-}
-.ams-form .input input:focus + .tooltip-left,
-.ams-form .input textarea:focus + .tooltip-left {
-  right: 100%;
-  left: auto;
-  margin-right: 5px;
-}
-.ams-form .tooltip-bottom-right {
-  top: 100%;
-  margin-top: 15px;
-}
-.ams-form .tooltip-bottom-right:after {
-  bottom: 100%;
-  right: 11px;
-  border-right: 4px solid transparent;
-  border-bottom: 4px solid rgba(0, 0, 0, 0.9);
-  border-left: 4px solid transparent;
-}
-.ams-form .input input:focus + .tooltip-bottom-right,
-.ams-form .input textarea:focus + .tooltip-bottom-right {
-  right: 0;
-  left: auto;
-  margin-top: 5px;
-}
-.ams-form .tooltip-bottom-left {
-  top: 100%;
-  margin-top: 15px;
-}
-.ams-form .tooltip-bottom-left:after {
-  bottom: 100%;
-  left: 11px;
-  border-right: 4px solid transparent;
-  border-bottom: 4px solid rgba(0, 0, 0, 0.9);
-  border-left: 4px solid transparent;
-}
-.ams-form .input input:focus + .tooltip-bottom-left,
-.ams-form .input textarea:focus + .tooltip-bottom-left {
-  right: auto;
-  left: 0;
-  margin-top: 5px;
-}
-.ams-form .inline-group {
-  margin: 0 -30px -4px 0;
-}
-.ams-form .inline-group:after {
-  content: '';
-  display: table;
-  clear: both;
-}
-.ams-form .inline-group .checkbox,
-.ams-form .inline-group .radio {
-  float: left;
-  margin-right: 30px;
-}
-.ams-form .inline-group .checkbox:last-child,
-.ams-form .inline-group .radio:last-child {
-  margin-bottom: 4px;
-}
-.ams-form .input .inline-group {
-  margin: 0 0 -4px 0;
-}
-.ams-form .btn {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.ams-form .button {
-  float: right;
-  height: 31px;
-  overflow: hidden;
-  margin: 10px 0 0 5px;
-  padding: 0 25px;
-  outline: 0;
-  border: 0;
-  font: 300 15px/31px Ubuntu, Helvetica, Arial, sans-serif;
-  text-decoration: none;
-  color: #fff;
-  cursor: pointer;
-  background-color: #3276B1;
-  opacity: 0.8;
-  transition: opacity 0.2s;
-  -webkit-transition: opacity 0.2s;
-}
-.ams-form .button:hover {
-  opacity: 1;
-}
-.ams-form .button.button-secondary {
-  background-color: #b3b3b3;
-}
-.ams-form .button,
-.ams-form .checkbox,
-.ams-form .input,
-.ams-form .radio,
-.ams-form .select,
-.ams-form .textarea,
-.ams-form .toggle {
-  display: block;
-  position: relative;
-  font-weight: 400;
-}
-.ams-form .input input,
-.ams-form .select select,
-.ams-form .input textarea {
-  display: block;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  width: 100%;
-  height: 28px;
-  padding: 6px 8px;
-  outline: 0;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 0;
-  background: #fff;
-  font: 13px/16px Ubuntu, Helvetica, Arial, sans-serif;
-  color: #404040;
-  appearance: normal;
-  -moz-appearance: none;
-  -webkit-appearance: none;
-}
-.ams-form .input input[readonly],
-.ams-form .select select[readonly],
-.ams-form .input textarea[readonly] {
-  border-bottom: 1px solid #ccc !important;
-  pointer-events: none;
-  cursor: pointer;
-}
-.ams-form .input input[readonly]:focus,
-.ams-form .select select[readonly]:focus,
-.ams-form .input textarea[readonly]:focus {
-  -webkit-box-shadow: none;
-  -moz-box-shadow: none;
-  box-shadow: none;
-}
-.ams-form .input input.display-mode,
-.ams-form .select select.display-mode,
-.ams-form .input textarea.display-mode {
-  border: none;
-  padding: 0;
-  margin-top: 2px;
-  margin-bottom: 3px;
-  height: 14px;
-  line-height: 1em;
-}
-.ams-form .input span.textarea-widget,
-.ams-form .input .html_content {
-  display: block;
-  width: 100%;
-  min-height: 14px;
-  padding: 4px 8px;
-  border-bottom: 1px solid #ccc !important;
-}
-.ams-form .i18n-widget {
-  height: 100%;
-}
-.ams-form .i18n-widget > .clearfix {
-  height: 100%;
-}
-.ams-form .i18n-widget .i18n-content {
-  height: 100%;
-}
-.ams-form .i18n-widget .i18n-content > .clearfix {
-  height: 100%;
-}
-.ams-form .i18n-widget .i18n-content > .clearfix > .ace_editor {
-  height: calc(100% - 20px) !important;
-}
-.ams-form .input .i18n-content input[readonly],
-.ams-form .input .i18n-content textarea[readonly],
-.ams-form .select .i18n-content select[readonly] {
-  border-width: 0!important;
-}
-.ams-form .input .i18n-content .textarea-widget {
-  display: block;
-  min-height: 12px;
-}
-.ams-form .input input:focus + .tooltip,
-.ams-form .input textarea:focus + .tooltip {
-  opacity: 1;
-}
-.ams-form .input .icon-prepend + input,
-.ams-form .input .icon-prepend + textarea {
-  padding-left: 37px;
-}
-.ams-form .input .icon-append + input,
-.ams-form .input .icon-append + textarea {
-  padding-right: 37px;
-}
-.ams-form .input .icon-prepend + .icon-append + input,
-.ams-form .input .icon-prepend + .icon-append + textarea {
-  padding-left: 37px;
-}
-.ams-form .input.with-icons .icon-append-2 + input {
-  padding-right: 60px;
-}
-.ams-form .input-file {
-  position: relative;
-  width: 100%;
-}
-.ams-form .input-file .current-value {
-  font-size: 13px;
-}
-.ams-form .input-file .button {
-  position: absolute;
-  top: 3px;
-  right: 3px;
-  float: none;
-  height: 22px;
-  margin: 0;
-  padding: 0 14px;
-  font-size: 13px;
-  line-height: 22px;
-}
-.ams-form .input-file .button:hover {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.ams-form .input-file .button input {
-  position: absolute;
-  top: 0;
-  right: 0;
-  padding: 0;
-  font-size: 30px;
-  cursor: pointer;
-  opacity: 0;
-}
-.ams-form .select select {
-  padding: 5px;
-}
-.ams-form .select i {
-  position: absolute;
-  top: 9px;
-  right: 11px;
-  width: 5px;
-  height: 11px;
-  background: #fff;
-}
-.ams-form .select i:before,
-.ams-form .select i:after {
-  content: '';
-  position: absolute;
-  right: 0;
-  border-right: 4px solid transparent;
-  border-left: 4px solid transparent;
-}
-.ams-form .select i:before {
-  top: 0;
-  border-bottom: 4px solid #404040;
-}
-.ams-form .select i:after {
-  bottom: 0;
-  border-top: 4px solid #404040;
-}
-.ams-form .select-widget .selected-option {
-  display: inline-block;
-  padding: 4px 8px;
-}
-.ams-form .select-multiple select {
-  height: auto;
-}
-.ams-form .input textarea {
-  height: auto;
-  resize: vertical;
-}
-.ams-form .input.height-100 textarea {
-  height: 100px;
-}
-.ams-form .input.height-100 .i18n-content textarea {
-  height: 70px;
-}
-.ams-form .input.height-200 textarea {
-  height: 200px;
-}
-.ams-form .input.height-200 .i18n-content textarea {
-  height: 170px;
-}
-.ams-form .input.height-300 textarea {
-  height: 300px;
-}
-.ams-form .input.height-300 .i18n-content textarea {
-  height: 270px;
-}
-.ams-form .input.height-400 textarea {
-  height: 400px;
-}
-.ams-form .input.height-400 .i18n-content textarea {
-  height: 370px;
-}
-.ams-form .input.height-500 textarea {
-  height: 500px;
-}
-.ams-form .input.height-500 .i18n-content textarea {
-  height: 470px;
-}
-.ams-form .textarea-resizable textarea {
-  resize: vertical;
-}
-.ams-form .textarea-expandable textarea {
-  height: 31px;
-}
-.ams-form .textarea-expandable textarea:focus {
-  height: auto;
-}
-.ams-form .ace_editor,
-.ams-form .ace_scroller,
-.ams-form .ace_content {
-  width: 100%!important;
-  height: 100%!important;
-}
-.ams-form .ace_search.right {
-  right: 15px!important;
-}
-.ams-form .checkbox,
-.ams-form .radio {
-  margin-bottom: 4px;
-  padding-left: 25px;
-  line-height: 25px;
-  color: #404040;
-  cursor: pointer;
-  font-size: 13px;
-}
-.ams-form .checkbox:last-child,
-.ams-form .radio:last-child {
-  margin-bottom: 0;
-}
-.ams-form .checkbox i,
-.ams-form .radio i {
-  display: block;
-  position: absolute;
-  top: 3px;
-  left: 0;
-  width: 17px;
-  height: 17px;
-  outline: 0;
-  border-width: 1px;
-  border-style: solid;
-  background: #FFF;
-}
-.ams-form .checkbox input,
-.ams-form .radio input {
-  position: absolute;
-  left: -9999px;
-}
-.ams-form .checkbox input + i:after,
-.ams-form .radio input + i:after {
-  position: absolute;
-  opacity: 0;
-  transition: opacity 0.1s;
-  -webkit-transition: opacity 0.1s;
-}
-.ams-form .checkbox input:checked + i:after,
-.ams-form .radio input:checked + i:after {
-  opacity: 1;
-}
-.ams-form .radio input + i:after {
-  background-color: #3276B1;
-}
-.ams-form .checkbox input + i:after {
-  content: '\f00c';
-  top: -1px;
-  left: 1px;
-  width: 15px;
-  height: 15px;
-  font: 400 16px/19px FontAwesome;
-  text-align: center;
-}
-.ams-form .checkbox input + i:after {
-  color: #3276B1;
-}
-.ams-form .checkbox input:checked:hover + i:after {
-  content: '\f00d';
-}
-.ams-form .checkbox input:checked:disabled:hover + i:after {
-  content: '\f00c';
-}
-.ams-form .radio input + i:after {
-  content: '';
-  top: 4px;
-  left: 4px;
-  width: 9px;
-  height: 9px;
-  border-radius: 50%;
-}
-.ams-form .checkbox + .checkbox,
-.ams-form .radio + .radio {
-  margin-top: 0;
-}
-.ams-form.table td .checkbox i,
-.ams-form.table td .radio i,
-.ams-form.table th .checkbox i,
-.ams-form.table th .radio i {
-  top: 0!important;
-}
-.ams-form .inner .checkbox {
-  min-height: 13px;
-}
-.ams-form .inner .checkbox i {
-  width: 13px;
-  height: 13px;
-}
-.ams-form .inner .checkbox input + i:after {
-  width: 11px;
-  height: 11px;
-  font: 300 12px/16px FontAwesome;
-}
-.inner-table-form .ams-form > fieldset {
-  margin-top: 10px;
-  margin-bottom: 0;
-}
-.inner-table-form .ams-form legend {
-  background-color: white;
-}
-.inner-table-form .ams-form .form-group {
-  padding: 5px 10px 0;
-}
-.inner-table-form .ams-form input[type="text"] {
-  height: 28px;
-}
-.inner-table-form .ams-form footer {
-  padding: 5px 20px;
-  border-top: 0;
-  background-color: transparent;
-}
-.ams-form .toggle {
-  margin-bottom: 4px;
-  padding-right: 61px;
-  font-size: 15px;
-  line-height: 25px;
-  color: #404040;
-  cursor: pointer;
-}
-.ams-form .toggle:last-child {
-  margin-bottom: 0;
-}
-.ams-form .toggle.state-error input:checked + i {
-  background: #fff0f0;
-}
-.ams-form .toggle.state-success input:checked + i {
-  background: #f0fff0;
-}
-.ams-form .toggle input {
-  position: absolute;
-  left: -9999px;
-}
-.ams-form .toggle input:checked + i:before {
-  right: 36px;
-}
-.ams-form .toggle input:checked + i:after {
-  content: attr(data-swchon-text);
-  text-align: right;
-}
-.ams-form .toggle i {
-  display: block;
-  position: absolute;
-  content: '';
-  top: 4px;
-  right: 0;
-  width: 49px;
-  height: 17px;
-  border-width: 1px;
-  border-style: solid;
-  border-radius: 12px;
-  background: #fff;
-}
-.ams-form .toggle i:before {
-  display: block;
-  position: absolute;
-  content: '';
-  z-index: 1;
-  top: 4px;
-  right: 4px;
-  width: 9px;
-  height: 9px;
-  border-radius: 50%;
-  opacity: 1;
-  transition: right 0.2s;
-  -webkit-transition: right 0.2s;
-  background-color: #3276B1;
-}
-.ams-form .toggle i:after {
-  position: absolute;
-  content: attr(data-swchoff-text);
-  top: 2px;
-  right: 8px;
-  left: 8px;
-  font-style: normal;
-  font-size: 9px;
-  line-height: 17px;
-  font-weight: 700;
-  text-align: left;
-  color: #5f5f5f;
-}
-.ams-form .checkbox:hover i,
-.ams-form .radio:hover i,
-.ams-form .toggle:hover i {
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-}
-.ams-form .checkbox:active i,
-.ams-form .radio:active i,
-.ams-form .toggle:active i {
-  background: #F0F0F0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.1);
-}
-.ams-form .checkbox input:checked + i,
-.ams-form .radio input:checked + i,
-.ams-form .toggle input:checked + i {
-  border-color: #3276B1;
-}
-.ams-form .rating {
-  margin-bottom: 4px;
-  font-size: 13px;
-  line-height: 25px;
-  color: #404040;
-}
-.ams-form .rating:last-child {
-  margin-bottom: 0;
-}
-.ams-form .rating.state-error + em {
-  margin-top: -4px;
-  margin-bottom: 4px;
-}
-.ams-form .rating input {
-  position: absolute;
-  left: -9999px;
-}
-.ams-form .rating input + label:hover,
-.ams-form .rating input + label:hover ~ label {
-  color: #3276B1;
-}
-.ams-form .rating input:checked ~ label {
-  color: #3276B1;
-}
-.ams-form .rating label {
-  display: block;
-  float: right;
-  height: 17px;
-  margin-top: 5px;
-  padding: 0 2px;
-  font-size: 17px;
-  line-height: 17px;
-  cursor: pointer;
-  color: #ccc;
-  transition: color 0.3s;
-  -webkit-transition: color 0.3s;
-}
-.ams-form .icon-append,
-.ams-form .icon-prepend {
-  position: absolute;
-  top: 4px;
-  width: 20px;
-  height: 20px;
-  font-size: 14px;
-  line-height: 20px;
-  text-align: center;
-  color: #A2A2A2;
-}
-.ams-form .icon-append.text-primary,
-.ams-form .icon-prepend.text-primary {
-  color: #337ab7;
-}
-.ams-form .icon-append.text-primary.inverted,
-.ams-form .icon-prepend.text-primary.inverted {
-  background-color: #337ab7;
-  color: white;
-  border-radius: 3px;
-}
-.ams-form .icon-append.fa-stack .fa-stack-2x,
-.ams-form .icon-prepend.fa-stack .fa-stack-2x {
-  font-size: 1.6em;
-  left: 1px;
-}
-.ams-form .icon-append.fa-stack .fa-stack-1x,
-.ams-form .icon-prepend.fa-stack .fa-stack-1x {
-  left: 1px;
-  top: 1px;
-}
-.ams-form .icon-append {
-  right: 4px;
-  padding-left: 2px;
-  border-left-width: 1px;
-  border-left-style: solid;
-}
-.ams-form .icon-append.fa-spin {
-  border-left-style: none;
-}
-.ams-form .icon-append-2 {
-  right: 31px;
-}
-.ams-form .icon-prepend {
-  left: 4px;
-  padding-right: 2px;
-  border-right-width: 1px;
-  border-right-style: solid;
-}
-.ams-form .icon-prepend-2 {
-  left: 31px;
-}
-.ams-form .input .field-with-prefix {
-  display: flex;
-  border: 1px solid #ccc;
-}
-.ams-form .input .field-with-prefix .prefix {
-  color: #346597;
-  padding: 6px 0 6px 6px;
-  font: 13px/16px Ubuntu, Helvetica, Arial, sans-serif;
-  height: 16px;
-}
-.ams-form .input .field-with-prefix .prefix:empty {
-  padding: 4px 0;
-}
-.ams-form .input .field-with-prefix.display {
-  border: 1px solid transparent;
-  border-bottom: 1px solid #ccc;
-}
-.ams-form .input .field-with-prefix.display .prefix {
-  color: #333;
-}
-.ams-form .input .field-with-prefix.display .prefix + input[readonly] {
-  border-bottom: 0!important;
-}
-.ams-form .input .field-with-prefix .prefix + input {
-  border-width: 0;
-  padding-left: 3px;
-}
-.ams-form .input .field-with-prefix .prefix + input:focus {
-  border-width: 1px 1px 1px 0;
-}
-.ams-form .input .field-with-prefix .prefix:empty + input {
-  padding-left: 8px;
-}
-.ams-form .input .field-with-prefix .prefix:empty + input:focus {
-  padding-left: 7px;
-  border-width: 1px;
-}
-.ams-form .checkbox i,
-.ams-form .icon-append,
-.ams-form .icon-prepend,
-.ams-form .input input,
-.ams-form .input textarea,
-.ams-form .radio i,
-.ams-form .select select,
-.ams-form .toggle i {
-  border-color: #ccc;
-  transition: border-color 0.3s;
-  -webkit-transition: border-color 0.3s;
-}
-.ams-form .input.bordered:hover,
-.ams-form .input:hover textarea,
-.ams-form .checkbox:hover i,
-.ams-form .input:hover input,
-.ams-form .radio:hover i,
-.ams-form .select:hover select,
-.ams-form .toggle:hover i {
-  border-color: rgba(82, 168, 236, 0.7);
-}
-.ams-form .checkbox input:focus + i,
-.ams-form .input input:focus,
-.ams-form .input textarea:focus,
-.ams-form .radio input:focus + i,
-.ams-form .select select:focus,
-.ams-form .toggle input:focus + i {
-  border-color: rgba(82, 168, 236, 0.7);
-  outline: 0;
-  outline: thin dotted 9;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.7);
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.7);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.7);
-}
-.ams-form .checkbox.state-error i,
-.ams-form .radio.state-error i,
-.ams-form .state-error input,
-.ams-form .state-error select,
-.ams-form .state-error textarea,
-.ams-form .toggle.state-error i {
-  background: #fff0f0;
-  border-color: rgba(255, 60, 60, 0.8) !important;
-}
-.ams-form .checkbox.state-error i:focus,
-.ams-form .radio.state-error i:focus,
-.ams-form .state-error input:focus,
-.ams-form .state-error select:focus,
-.ams-form .state-error textarea:focus,
-.ams-form .toggle.state-error i:focus {
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-}
-.ams-form .state-error .select2-container .select2-choice,
-.ams-form .state-error .select2-container .select2-choices {
-  border-color: rgba(255, 60, 60, 0.8) !important;
-}
-.ams-form .state-error .select2-container .select2-choice:focus,
-.ams-form .state-error .select2-container .select2-choices:focus {
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(255, 60, 60, 0.6) !important;
-}
-.ams-form .checkbox.state-success i,
-.ams-form .radio.state-success i,
-.ams-form .state-success input,
-.ams-form .state-success select,
-.ams-form .state-success textarea,
-.ams-form .toggle.state-success i {
-  background: #f0fff0;
-  border-color: #7DC27D;
-}
-.ams-form .button.state-disabled,
-.ams-form .checkbox.state-disabled,
-.ams-form .input.state-disabled input,
-.ams-form .input.state-disabled textarea,
-.ams-form .radio.state-disabled,
-.ams-form .select.state-disabled,
-.ams-form .toggle.state-disabled {
-  cursor: default!important;
-  opacity: 0.6 !important;
-}
-.ams-form .checkbox.state-disabled:hover i,
-.ams-form .input.state-disabled:hover input,
-.ams-form .input.state-disabled:hover textarea,
-.ams-form .radio.state-disabled:hover i,
-.ams-form .select.state-disabled:hover select,
-.ams-form .toggle.state-disabled:hover i {
-  border-color: #e5e5e5 !important;
-}
-.ams-form .state-disabled.checkbox input + i:after,
-.ams-form .state-disabled.checkbox input:checked + i,
-.ams-form .state-disabled.radio input + i:after,
-.ams-form .state-disabled.radio input:checked + i,
-.ams-form .state-disabled.toggle input:checked + i {
-  border-color: #e5e5e5 !important;
-  color: #333 !important;
-}
-.ams-form .ui-widget-content .ui-spinner-input {
-  margin: 0;
-  border: 0;
-  -webkit-box-shadow: none!important;
-  box-shadow: none!important;
-  height: 29px;
-}
-.ams-form .state-error {
-  color: #D56161;
-}
-.ams-form .state-error select + i {
-  background: #FFF0F0;
-  -webkit-box-shadow: 0 0 0 9px #FFF0F0;
-  box-shadow: 0 0 0 9px #FFF0F0;
-}
-.ams-form .state-error + em {
-  display: block;
-  margin-top: 6px;
-  padding: 0 1px;
-  font-style: normal;
-  font-size: 11px;
-  line-height: 15px;
-  color: #D56161;
-}
-.ams-form .state-success select + i {
-  background: #f0fff0;
-  -webkit-box-shadow: 0 0 0 9px #f0fff0;
-  box-shadow: 0 0 0 9px #f0fff0;
-}
-.ams-form .state-disabled.radio input + i:after {
-  background-color: #333;
-}
-.ams-form .form-tiny .form-group {
-  padding: 0px 10px;
-}
-.ams-form .form-tiny .control-label {
-  margin-top: 2px;
-  margin-bottom: 3px;
-  line-height: 14px;
-}
-.ams-form .form-tiny label.input span.textline-field {
-  margin-top: 2px;
-  margin-bottom: 3px;
-  line-height: 14px;
-}
-.ams-form .form-nomargin .control-label,
-.ams-form.form-nomargin .control-label {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-.ams-form .form-nomargin label.input span.textline-field,
-.ams-form.form-nomargin label.input span.textline-field {
-  margin-top: 0;
-  margin-bottom: 0;
-}
-.ams-form .form-nopadding .form-group,
-.ams-form.form-nopadding .form-group {
-  padding: 0 10px 1px;
-}
-.ams-form td.form-input.no-padding {
-  padding: 0!important;
-}
-.ams-form td.form-input.no-padding label.input .icon-append {
-  top: 0;
-}
-.ams-form td.form-input.no-padding input.datepicker,
-.ams-form td.form-input.no-padding input.datetimepicker {
-  border: 0;
-  text-align: center;
-}
-.ams-form-modal {
-  position: fixed;
-  z-index: 1;
-  display: none;
-  width: 400px;
-}
-.ams-form-modal-overlay {
-  position: fixed;
-  top: 0;
-  left: 0;
-  display: none;
-  width: 100%;
-  height: 100%;
-  background: rgba(0, 0, 0, 0.7);
-}
-.state-error .icon-append,
-.state-error .icon-prepend {
-  color: #ed1c24;
-}
-/*
- * X-editable - v1.5.0
- */
-.editableform {
-  margin-bottom: 0;
-}
-.editableform .control-group {
-  margin-bottom: 0;
-  white-space: nowrap;
-}
-.editableform .editable-date {
-  padding: 0;
-  margin: 0;
-  float: left;
-}
-.editableform-loading {
-  background: url(../img/loading.gif) center center no-repeat;
-  height: 25px;
-  width: auto;
-  min-width: 25px;
-}
-.editable-buttons {
-  display: inline-block;
-  vertical-align: top;
-  margin-left: 7px;
-  zoom: 1;
-  *display: inline;
-}
-.editable-buttons.editable-buttons-bottom {
-  display: block;
-  margin-top: 7px;
-  margin-left: 0;
-}
-.editable-buttons .editable-cancel {
-  margin-left: 7px;
-}
-.editable-buttons button.ui-button-icon-only {
-  height: 24px;
-  width: 30px;
-}
-.editable-inline .add-on .icon-th {
-  margin-top: 3px;
-  margin-left: 1px;
-}
-.editable-inline .editableform-loading {
-  background-position: left 5px;
-}
-.editable-input {
-  vertical-align: top;
-  display: inline-block;
-  width: auto;
-  white-space: normal;
-  zoom: 1;
-  *display: inline;
-}
-.editable-input .datepicker {
-  top: 0;
-  left: 0;
-  padding: 4px;
-}
-.editable-input .datepicker:before {
-  content: '';
-  display: inline-block;
-  border-left: 7px solid transparent;
-  border-right: 7px solid transparent;
-  border-bottom: 7px solid #ccc;
-  border-bottom-color: rgba(0, 0, 0, 0.2);
-  position: absolute;
-  top: -7px;
-  left: 6px;
-}
-.editable-input .datepicker:after {
-  content: '';
-  display: inline-block;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  border-bottom: 6px solid #fff;
-  position: absolute;
-  top: -6px;
-  left: 7px;
-}
-.editable-input .datepicker > div {
-  display: none;
-}
-.editable-input .datepicker table {
-  width: 100%;
-  min-width: 214px;
-  margin: 0;
-}
-.editable-input .datepicker thead tr:first-child th {
-  cursor: pointer;
-}
-.editable-input .datepicker thead tr:first-child th:hover {
-  background: #eee;
-}
-.editable-input .datepicker td,
-.editable-input .datepicker th {
-  text-align: center;
-  width: 24px;
-  height: 20px;
-}
-.editable-input .datepicker th.switch {
-  width: 145px;
-}
-.editable-input .datepicker th.next,
-.editable-input .datepicker th.prev {
-  font-size: 19.5px;
-}
-.editable-input .datepicker td span {
-  display: block;
-  width: 47px;
-  height: 54px;
-  line-height: 54px;
-  float: left;
-  margin: 2px;
-  cursor: pointer;
-}
-.editable-input .datepicker td span:hover {
-  background: #eee;
-}
-.editable-input .datepicker td span.active {
-  background: #3276b1;
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  border-radius: 3px;
-}
-.editable-input .datepicker td span.old {
-  color: #555;
-}
-.editable-input .datepicker td.day:hover {
-  background: #eee;
-  cursor: pointer;
-}
-.editable-input .datepicker td.day.disabled,
-.editable-input .datepicker td.new,
-.editable-input .datepicker td.old {
-  color: #555;
-}
-.editable-input .datepicker td.active,
-.editable-input .datepicker td.active:hover {
-  background: #3276b1;
-  color: #fff;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  border-radius: 3px;
-}
-.editable-input .datepicker.prev i,
-.editable-input .datepicker.next i {
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-size: 14px;
-}
-.editable-input .datepicker.prev i:before {
-  content: "\f060";
-}
-.editable-input .datepicker.next i:before {
-  content: "\f061";
-}
-.editable-checklist label {
-  white-space: nowrap;
-}
-.editable-checklist label input[type=checkbox],
-.editable-checklist label span {
-  vertical-align: middle;
-  margin: 0;
-}
-.editable-wysihtml5 {
-  width: 566px;
-  height: 250px;
-}
-.editable-pre-wrapped {
-  white-space: pre-wrap;
-}
-.editable-container.editable-popup {
-  max-width: none!important;
-}
-.editable-container.popover {
-  width: auto;
-}
-.editable-container.editable-inline {
-  display: inline-block;
-  vertical-align: middle;
-  width: auto;
-  zoom: 1;
-  *display: inline;
-}
-.editable-container.ui-widget {
-  font-size: inherit;
-  z-index: 9990;
-}
-.editable-click,
-a.editable-click,
-a.editable-click:hover {
-  text-decoration: none;
-  border-bottom: dashed 1px #08c;
-}
-.editable-click.editable-disabled,
-a.editable-click.editable-disabled,
-a.editable-click.editable-disabled:hover {
-  color: #585858;
-  cursor: default;
-  border-bottom: 0;
-}
-.editable-empty,
-.editable-empty:focus,
-.editable-empty:hover {
-  font-style: italic;
-  color: #D14;
-  text-decoration: none;
-}
-.editable-unsaved {
-  font-weight: 700;
-}
-.editable-bg-transition {
-  -webkit-transition: background-color 1400ms ease-out;
-  transition: background-color 1400ms ease-out;
-}
-.form-horizontal .editable {
-  padding-top: 5px;
-  display: inline-block;
-}
-.editable-address {
-  display: block;
-  margin-bottom: 5px;
-}
-.editable-address span {
-  width: 70px;
-  display: inline-block;
-}
-.editable-clear {
-  clear: both;
-  font-size: 0.9em;
-  text-decoration: none;
-  text-align: right;
-}
-.editable-clear-x {
-  background: url(../img/clear.png) center center no-repeat;
-  display: block;
-  width: 13px;
-  height: 13px;
-  position: absolute;
-  opacity: 0.6;
-  z-index: 100;
-  top: 50%;
-  right: 6px;
-  margin-top: -6px;
-}
-.editable-clear-x:hover {
-  opacity: 1;
-}
-.editable-error-block {
-  max-width: 300px;
-  margin: 5px 0 0;
-  width: auto;
-  white-space: normal;
-}
-.editable-error-block.ui-state-error {
-  padding: 3px;
-}
-.editable-error {
-  color: red;
-}
-.input-append.date .add-on i,
-.input-prepend.date .add-on i {
-  display: block;
-  cursor: pointer;
-  width: 16px;
-  height: 16px;
-}
-/*
- * JQuery-UI widgets
- */
-.ui-timepicker-div .ui-widget-header {
-  margin-bottom: 8px;
-}
-.ui-timepicker-div dl {
-  text-align: left;
-}
-.ui-timepicker-div dl dt {
-  float: left;
-  clear: left;
-  padding: 0 0 0 5px;
-}
-.ui-timepicker-div dl dd {
-  margin: 17px 10px 12px 40%;
-}
-.ui-timepicker-div td {
-  font-size: 90%;
-}
-.ui-tpicker-grid-label {
-  background: 0 0;
-  border: 0;
-  margin: 0;
-  padding: 0;
-}
-.ui-timepicker-rtl {
-  direction: rtl;
-}
-.ui-timepicker-rtl dl {
-  text-align: right;
-  padding: 0 5px 0 0;
-}
-.ui-timepicker-rtl dl dt {
-  float: right;
-  clear: right;
-}
-.ui-timepicker-rtl dl dd {
-  margin: 0 40% 10px 10px;
-}
-#login {
-  background: #fff;
-  overflow: visible;
-}
-#login .container {
-  border: 0;
-}
-#login #header {
-  margin: 0;
-  height: 71px;
-  border-bottom: 1px solid #eee !important;
-  overflow: hidden;
-  padding: 0 30px;
-  -webkit-background-clip: padding-box;
-  border-width: 0;
-  min-height: 28px;
-  background: #f4f4f4 !important;
-  margin-bottom: 20px;
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  #login #header {
-    padding: 0 5px!important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #login #header {
-    padding: 0 5px!important;
-  }
-}
-#login #header #logo {
-  margin-top: 22px;
-  margin-left: 0;
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #login #header #logo {
-    margin-top: 22px;
-  }
-}
-#login #header #logo img {
-  width: 137px;
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  #login #header #logo img {
-    width: 135px;
-  }
-}
-#login-header-space {
-  float: right;
-  text-align: right;
-  display: block;
-  vertical-align: middle;
-  line-height: 71px;
-}
-#login-header-space > :first-child {
-  font-size: 13px;
-  margin-right: 14px;
-  vertical-align: -3px;
-  font-weight: 400;
-}
-#login-header-space > * {
-  display: inline-block;
-}
-#login-header-space .btn {
-  font-weight: 700;
-  text-transform: uppercase;
-}
-#login #main {
-  background: #fff;
-  margin: 0;
-}
-#login .hero {
-  background-image: url(../img/gradient/login.png);
-  background-repeat: no-repeat;
-  background-position: 0 137px;
-  height: 360px;
-  width: 100%;
-  float: left;
-}
-#login h4.paragraph-header {
-  color: #565656;
-  font-size: 15px;
-  font-weight: 400;
-  line-height: 22px;
-  margin-top: 15px;
-  width: 270px;
-}
-#login h5.about-heading {
-  color: #565656;
-  font-size: 15px;
-  font-weight: 700;
-  line-height: 24px;
-  margin: 0 0 5px;
-}
-#login .login-header-big {
-  font-weight: 400;
-}
-#login .login-desc-box-l {
-  min-height: 350px;
-  width: 50%;
-}
-#login .login-app-icons {
-  vertical-align: top;
-  margin-top: 90px;
-  width: 300px;
-}
-.bootstrapWizard {
-  display: block;
-  list-style: none;
-  padding: 0;
-  position: relative;
-  width: 100%;
-}
-.bootstrapWizard a:active,
-.bootstrapWizard a:focus,
-.bootstrapWizard a:hover {
-  text-decoration: none;
-}
-.bootstrapWizard li {
-  display: block;
-  float: left;
-  width: 25%;
-  text-align: center;
-  padding-left: 0;
-}
-.bootstrapWizard li:before {
-  border-top: 3px solid #55606E;
-  content: "";
-  display: block;
-  font-size: 0;
-  overflow: hidden;
-  position: relative;
-  top: 11px;
-  right: 1px;
-  width: 100%;
-  z-index: 1;
-}
-.bootstrapWizard li:first-child:before {
-  left: 50%;
-  max-width: 50%;
-}
-.bootstrapWizard li:last-child:before {
-  max-width: 50%;
-  width: 50%;
-}
-.bootstrapWizard li .step {
-  background: #B2B5B9;
-  color: #fff;
-  display: inline;
-  font-size: 15px;
-  font-weight: 700;
-  padding: 7px 13px;
-  border: 3px solid transparent;
-  border-radius: 50%;
-  line-height: normal;
-  position: relative;
-  text-align: center;
-  z-index: 2;
-  -webkit-transition: all 0.1s linear 0s;
-  transition: all 0.1s linear 0s;
-}
-.bootstrapWizard li .step i {
-  font-size: 10px;
-  font-weight: 400;
-  position: relative;
-  top: -1.5px;
-}
-.bootstrapWizard li.complete .step {
-  background: #0aa66e;
-  padding: 1px 6px;
-  border: 3px solid #55606E;
-}
-.bootstrapWizard li.active .step,
-.bootstrapWizard li.active.complete .step {
-  background: #0091d9;
-  color: #fff;
-  font-weight: 700;
-  padding: 7px 13px;
-  font-size: 15px;
-  border-radius: 50%;
-  border: 3px solid #55606E;
-}
-.bootstrapWizard li .title {
-  color: #bfbfbf;
-  display: block;
-  font-size: 13px;
-  line-height: 15px;
-  max-width: 100%;
-  position: relative;
-  table-layout: fixed;
-  text-align: center;
-  top: 20px;
-  word-wrap: break-word;
-  z-index: 104;
-}
-.bootstrapWizard li.active .title,
-.bootstrapWizard li.complete .title {
-  color: #2B3D53;
-}
-.wizard-actions {
-  display: block;
-  list-style: none;
-  padding: 0;
-  position: relative;
-  width: 100%;
-}
-.wizard-actions li {
-  display: inline;
-}
-.fuelux .wizard {
-  position: relative;
-  overflow: hidden;
-  background-color: #f9f9f9;
-  border: 1px solid #d4d4d4;
-  border-radius: 4px;
-  *zoom: 1;
-  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
-}
-.fuelux .wizard:after,
-.fuelux .wizard:before {
-  display: table;
-  line-height: 0;
-  content: "";
-}
-.fuelux .wizard:after {
-  clear: both;
-}
-.fuelux .wizard ul {
-  width: 4000px;
-  padding: 0;
-  margin: 0;
-  list-style: none outside none;
-}
-.fuelux .wizard ul.previous-disabled li.complete {
-  cursor: default;
-}
-.fuelux .wizard ul.previous-disabled li.complete:hover {
-  color: #356e35;
-  cursor: default;
-  background: #f3f4f5;
-}
-.fuelux .wizard ul.previous-disabled li.complete:hover .chevron:before {
-  border-left-color: #f3f4f5;
-}
-.fuelux .wizard ul li {
-  position: relative;
-  float: left;
-  height: 46px;
-  padding: 0 20px 0 30px;
-  margin: 0;
-  font-size: 16px;
-  line-height: 46px;
-  color: #999;
-  cursor: default;
-  background: #ededed;
-}
-.fuelux .wizard ul li:first-child {
-  padding-left: 20px;
-  border-radius: 4px 0 0 4px;
-}
-.fuelux .wizard ul li.complete {
-  color: #296829;
-  background: #f3f4f5;
-}
-.fuelux .wizard ul li.complete:hover {
-  cursor: pointer;
-  background: #e7eff8;
-}
-.fuelux .wizard ul li.complete:hover .chevron:before {
-  border-left: 14px solid #e7eff8;
-}
-.fuelux .wizard ul li.complete .chevron:before {
-  border-left: 14px solid #f3f4f5;
-}
-.fuelux .wizard ul li.active {
-  color: #3a87ad;
-  background: #f1f6fc;
-}
-.fuelux .wizard ul li.active .chevron:before {
-  border-left: 14px solid #f1f6fc;
-}
-.fuelux .wizard ul li .chevron {
-  position: absolute;
-  top: 0;
-  right: -14px;
-  z-index: 1;
-  display: block;
-  border: 24px solid transparent;
-  border-right: 0;
-  border-left: 14px solid #d4d4d4;
-}
-.fuelux .wizard ul li .chevron:before {
-  position: absolute;
-  top: -24px;
-  right: 1px;
-  display: block;
-  border: 24px solid transparent;
-  border-right: 0;
-  border-left: 14px solid #ededed;
-  content: "";
-}
-.fuelux .wizard ul li .badge {
-  margin-right: 8px;
-}
-.fuelux .wizard .actions {
-  position: absolute;
-  right: 0;
-  z-index: 2;
-  float: right;
-  padding-right: 15px;
-  padding-left: 15px;
-  line-height: 46px;
-  vertical-align: middle;
-  background-color: #eee;
-  border-left: 1px solid #d4d4d4;
-}
-.fuelux .wizard .actions a {
-  margin-right: 8px;
-  font-size: 12px;
-  line-height: 45px;
-}
-.fuelux .wizard .actions .btn-prev i {
-  margin-right: 5px;
-}
-.fuelux .wizard .actions .btn-next i {
-  margin-left: 5px;
-}
-.fuelux .fuelux .step-content .step-pane {
-  display: none;
-}
-.fuelux .fuelux .step-content .active {
-  display: block;
-}
-.fuelux .fuelux .step-content .active .btn-group .active {
-  display: inline-block;
-}
-.ams-metro-tile {
-  float: left;
-  display: block;
-  background-color: #fff;
-  width: 100px;
-  height: 70px;
-  cursor: pointer;
-  -webkit-box-shadow: inset 0 0 1px #FFC;
-  box-shadow: inset 0 0 1px #FFC;
-  border: 1px dotted #C5C5C5;
-  text-decoration: none;
-  color: #fff;
-  font-weight: 300;
-  font-smooth: always;
-  margin: 0 10px 20px 0;
-  padding: 5px;
-  position: relative;
-}
-.ams-metro-tile:hover {
-  z-index: 10;
-  -webkit-transform: scale(1.07);
-  -moz-transform: scale(1.07);
-}
-.ams-metro-tile.big-cubes {
-  width: 120px;
-  height: 120px;
-}
-.ams-metro-tile.double {
-  width: 249px;
-}
-.ams-metro-tile:active {
-  top: 1px;
-  left: 1px;
-}
-.ams-metro-tile .iconbox {
-  text-align: center;
-}
-.ams-metro-tile .iconbox i {
-  display: block;
-  margin: 15px auto 0;
-  height: 75px;
-}
-.ams-metro-tile .iconbox span {
-  display: block;
-  text-align: left;
-  line-height: 1em;
-}
-.ams-metro-tile .iconbox span > span {
-  position: absolute;
-  right: -5px;
-  bottom: -10px;
-  border-radius: 50%;
-  padding: 6px 4px 3px;
-  border: 1px solid #fff;
-}
-.mce-fullscreen {
-  z-index: 10000!important;
-}
-.mce-container,
-.mce-container *,
-.mce-widget,
-.mce-widget *,
-.mce-reset {
-  font-family: Ubuntu, Arial, Helvetica, sans-serif !important;
-  font-size: 13px!important;
-}
-.mce-container button,
-.mce-container * button,
-.mce-widget button,
-.mce-widget * button,
-.mce-reset button {
-  padding: 2px 10px!important;
-}
-.mce-container .mce-ico,
-.mce-container * .mce-ico,
-.mce-widget .mce-ico,
-.mce-widget * .mce-ico,
-.mce-reset .mce-ico {
-  font-family: tinymce, Arial!important;
-  font-size: 14px!important;
-}
-.mce-panel {
-  background-image: none!important;
-  border-color: #ccc !important;
-}
-.mce-menubar .mce-menubtn button {
-  padding: 2px 10px;
-  line-height: 16px;
-}
-.mce-menubar .mce-menubtn button span {
-  font-size: 12px;
-  line-height: 16px;
-}
-.mce-menubar .mce-menubtn button .mce-caret {
-  margin-top: 6px;
-}
-.mce-menubtn span {
-  font-size: 13px!important;
-}
-.mce-btn-group .mce-btn {
-  border-color: #ccc !important;
-}
-.mce-btn {
-  background-image: none!important;
-}
-.mce-colorbutton button {
-  padding: 2px 1px 2px 5px!important;
-}
-.mce-path,
-.mce-wordcount {
-  padding: 2px 8px!important;
-  font-size: 12px!important;
-}
-.mce-path button,
-.mce-wordcount button {
-  font-size: 12px!important;
-}
-.client-form header {
-  padding: 15px 13px;
-  margin: 0;
-  border-bottom-style: solid;
-  border-bottom-color: rgba(0, 0, 0, 0.1);
-  background: rgba(248, 248, 248, 0.9);
-}
-/*
- * Buttons
- */
-.customfile-button {
-  padding: 6px 12px;
-  margin-bottom: 0;
-  font-size: 14px;
-  font-weight: 400;
-  line-height: 1.42857143;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  cursor: pointer;
-  border: 1px solid #ccc;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  -o-user-select: none;
-  user-select: none;
-}
-.btn,
-a:link,
-button {
-  -webkit-tap-highlight-color: rgba(169, 3, 41, 0.5);
-}
-button {
-  background-color: #ddd;
-}
-button:hover {
-  background-color: #cccccc;
-}
-.btns {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-.btns > li {
-  display: inline-block;
-  margin-bottom: 7px;
-}
-.btn {
-  padding: 6px 12px;
-  border-radius: 2px;
-}
-.btn-toolbar .btn {
-  padding: 4px;
-}
-.btn:active {
-  position: relative;
-  top: 1px;
-  left: 1px;
-}
-.btn.btn-ribbon {
-  background-color: #5b6771;
-  color: #fff;
-  padding: 1px 5px;
-  line-height: 20px;
-  vertical-align: middle;
-  height: 21px;
-  display: block;
-  border: 0;
-  float: left;
-  margin: 0 8px 0 0;
-  cursor: pointer;
-}
-.btn.btn-ribbon > i {
-  font-size: 111%;
-}
-.btn-xs {
-  padding: 1px 5px;
-  line-height: 1.3em;
-}
-.btn-sm {
-  padding: 3px 10px;
-}
-.btn-lg {
-  padding: 9px 15px;
-}
-.btn-xl {
-  padding: 11px 15px;
-}
-.top-selector.btn-success:hover {
-  background-color: transparent;
-}
-.top-selector.btn-success .text-success {
-  color: #5cb85c;
-}
-.btn-circle {
-  width: 30px;
-  height: 30px;
-  text-align: center;
-  padding: 7px 0 5px;
-  font-size: 12px;
-  line-height: 18px;
-  border-radius: 50%;
-}
-.btn-circle.btn-lg {
-  width: 50px;
-  height: 50px;
-  padding: 9px 15px 7px;
-  font-size: 18px;
-  line-height: 30px;
-  border-radius: 50%;
-}
-.btn-circle.btn-xl {
-  width: 70px;
-  height: 70px;
-  padding: 11px 15px 9px;
-  font-size: 24px;
-  line-height: 50px;
-  border-radius: 50%;
-}
-.btn-metro {
-  margin: 0 0 20px;
-  padding-top: 15px;
-  padding-bottom: 15px;
-}
-.btn-metro > span {
-  display: block;
-  vertical-align: bottom;
-  margin-top: 10px;
-  text-transform: uppercase;
-}
-.btn-metro > span > span.label {
-  position: absolute;
-  top: 0;
-  right: 0;
-}
-/*.btn-primary {
-	background-color: #627685;
-	border-color: #46545e;
-
-	&:hover,
-	&:focus,
-	&:active,
-	&.active,
-	.open .dropdown-toggle& {
-		background-color: rgba(91, 103, 113, 0.8);
-		border-color: #46545e;
-	}
-}*/
-.btn-label {
-  position: relative;
-  left: -12px;
-  display: inline-block;
-  padding: 7px 12px 5px;
-  background: rgba(0, 0, 0, 0.15);
-  border-radius: 3px 0 0 3px;
-}
-.btn-labeled {
-  padding-top: 0;
-  padding-bottom: 0;
-}
-.btn-select-tick i {
-  display: none;
-}
-.btn-select-tick .btn:hover i {
-  opacity: 0.3;
-  display: block;
-}
-.btn-select-tick .active i {
-  display: block;
-  opacity: 1!important;
-}
-.btn-header.pull-right {
-  margin-left: 6px;
-}
-@media (min-width: 768px) and (max-width: 979px) {
-  .btn-header a {
-    margin-top: 9px!important;
-    /*width: 40px!important;*/
-  }
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .btn-header a {
-    margin-top: 9px!important;
-    /*width: 40px!important;*/
-    /*height: 39px!important;*/
-    line-height: 26px!important;
-  }
-}
-@media (max-width: 767px) {
-  .btn-header a {
-    margin-top: 5px!important;
-    width: 40px!important;
-    height: 39px!important;
-    line-height: 34px!important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .btn-header a {
-    margin-top: 5px!important;
-    width: 40px!important;
-    height: 39px!important;
-    line-height: 34px!important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .btn-header a {
-    margin-top: 5px!important;
-    width: 40px!important;
-    height: 39px!important;
-    line-height: 34px!important;
-  }
-}
-.btn-header a > span {
-  font-size: 13px;
-  font-weight: 400;
-  line-height: 30px;
-  height: 30px;
-  display: inline-block;
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .btn-header.transparent a {
-    border: 0!important;
-    background: 0 0;
-    margin-left: 0;
-    width: 25px!important;
-    -webkit-box-shadow: none!important;
-    box-shadow: none!important;
-  }
-  .btn-header.transparent a:hover {
-    color: #a90329;
-  }
-}
-@media (max-width: 767px) {
-  .btn-header.transparent a:hover {
-    color: #a90329;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .btn-header.transparent a {
-    border: 0!important;
-    background: 0 0;
-    margin-left: 0;
-    width: 25px!important;
-    -webkit-box-shadow: none!important;
-    box-shadow: none!important;
-  }
-  .btn-header.transparent a:hover {
-    color: #a90329;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .btn-header.transparent a {
-    border: 0!important;
-    background: 0 0;
-    margin-left: 0;
-    width: 25px!important;
-    -webkit-box-shadow: none!important;
-    box-shadow: none!important;
-  }
-  .btn-header.transparent a:hover {
-    color: #a90329;
-  }
-}
-.btn-header > :first-child > a {
-  border-radius: 2px;
-  cursor: default!important;
-  display: inline-block;
-  font-weight: 700;
-  height: 30px;
-  min-width: 30px;
-  padding: 3px;
-  text-align: center;
-  text-decoration: none!important;
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  background-color: #f8f8f8;
-  background-image: -webkit-gradient(linear, left top, left bottom, from(#f8f8f8), to(#f1f1f1));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#f8f8f8), to(#f1f1f1));
-  background-image: -webkit-linear-gradient(top, #f8f8f8, #f1f1f1);
-  background-image: linear-gradient(top, #f8f8f8, #f1f1f1);
-  border: 1px solid #bfbfbf;
-  color: #6D6A69;
-  font-size: 17px;
-  margin: 10px 0 0;
-}
-.btn-header > :first-child > a[href] {
-  cursor: pointer!important;
-}
-.btn-header > :first-child > a:hover {
-  border: 1px solid #bfbfbf;
-  color: #222;
-  -webkit-transition: all 0s;
-  transition: all 0s;
-  cursor: pointer;
-  -webkit-box-shadow: inset 0 0 4px 1px rgba(0, 0, 0, 0.08);
-  box-shadow: inset 0 0 4px 1px rgba(0, 0, 0, 0.08);
-}
-.btn-header > :first-child > a:active {
-  background-color: #e8e8e8;
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #e8e8e8), color-stop(100%, #ededed));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#e8e8e8), to(#ededed));
-  background-image: -webkit-linear-gradient(top, #e8e8e8 0, #ededed 100%);
-  background-image: linear-gradient(to bottom, #e8e8e8 0, #ededed 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e8e8e8', endColorstr='#ededed', GradientType=0);
-  -webkit-box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 0 3px 1px rgba(0, 0, 0, 0.15);
-}
-.ribbon-button-alignment {
-  padding-top: 10px;
-  display: inline-block;
-}
-.ribbon-button-alignment.pull-right > .btn.btn-ribbon {
-  margin: 0 0 0 8px;
-}
-.header-btn {
-  margin-top: 5px;
-}
-/*
- * Widgets styles
- */
-.widget-header > :first-child {
-  margin: 13px 0;
-}
-.widget-toolbar {
-  display: inline-block;
-  position: relative;
-  float: right;
-  width: auto;
-  height: 29px;
-  line-height: 29px;
-  border-left: 1px solid rgba(0, 0, 0, 0.09);
-  cursor: pointer;
-  padding: 0 8px;
-  text-align: center;
-}
-.widget-toolbar:empty {
-  padding: 0;
-}
-.widget-toolbar.no-border {
-  border-left: 0;
-}
-.widget-toolbar > :first-child {
-  text-align: left;
-}
-.widget-toolbar .ams-form label.checkbox,
-.widget-toolbar .ams-form label.radio {
-  line-height: 29px;
-}
-.widget-toolbar .ams-form .icon-append,
-.widget-toolbar .ams-form .icon-prepend {
-  top: 3px!important;
-}
-.widget-toolbar.ams-form .icon-append,
-.widget-toolbar.ams-form .icon-prepend {
-  top: 3px!important;
-}
-.widget-toolbar > .ams-form {
-  margin-top: 2px;
-}
-.widget-toolbar > .ams-form .toggle:last-child {
-  font-size: 12px;
-  line-height: 29px;
-}
-.widget-toolbar > .ams-form .checkbox input + i,
-.widget-toolbar > .ams-form .radio input + i,
-.widget-toolbar > .ams-form .toggle input + i {
-  border-width: 1px;
-  border-color: #C7C7C7 !important;
-  margin-top: -1px;
-  -webkit-box-shadow: 0 1px 1px #FFF, 0 1px 1px #858585 inset;
-  box-shadow: 0 1px 1px #FFF, 0 1px 1px #858585 inset;
-}
-.widget-toolbar .btn-group {
-  margin-top: -3px;
-}
-.widget-toolbar > .btn {
-  margin-top: -3px;
-  font-size: 12px!important;
-  padding: 1px 8px!important;
-}
-.widget-toolbar > .label {
-  display: inline-block;
-  vertical-align: middle;
-  margin-top: -3px;
-  text-align: center;
-  font-size: 12px;
-  padding: 4px 7px;
-}
-.widget-toolbar > .badge {
-  padding: 5px;
-  font-size: 14px;
-  border-radius: 50%;
-  font-weight: 400;
-  min-width: 24px;
-  text-align: center!important;
-}
-.widget-toolbar .progress {
-  width: 130px;
-  margin: 7px 0 0;
-  height: 18px!important;
-  font-size: 12px;
-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0), 0 0 0 1px #d1d1d1 inset;
-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0), 0 0 0 1px #d1d1d1 inset;
-}
-.widget-toolbar .progress-bar {
-  font-size: 12px;
-}
-.widget-toolbar .pagination {
-  margin: 4px 0;
-}
-.widget-toolbar .pagination > li > a {
-  padding: 2px 7px;
-}
-.widget-toolbar .widget-text-input {
-  max-width: 220px;
-}
-.widget-toolbar input[type=text] {
-  height: 28px!important;
-  margin-top: 2px;
-}
-.widget-body.no-padding {
-  padding: 0;
-  margin: 0;
-}
-.widget-body.no-padding .alert {
-  margin: 5px 5px 0;
-  padding: 10px;
-  box-shadow: none!important;
-  -webkit-box-shadow: none!important;
-  border-radius: 0!important;
-}
-.widget-body > table {
-  margin-bottom: 0;
-}
-.widget-body-ajax-loading::before {
-  display: block;
-  position: absolute;
-  content: url(../img/ajax-loader.gif);
-  padding-top: 18%;
-  text-align: center;
-  font-weight: 700;
-  font-size: 16px;
-  color: #fff;
-  background: rgba(255, 255, 255, 0.4);
-  height: 100%;
-  z-index: 1;
-  width: 100%;
-}
-.widget-body-ajax-loading:hover {
-  cursor: wait!important;
-}
-.widget-body-toolbar,
-.ams-form.widget-body-toolbar {
-  display: block;
-  padding: 8px 10px;
-  margin: -13px -13px 13px;
-  min-height: 42px;
-  border-bottom: 1px solid #ccc;
-  background: #fafafa;
-}
-.no-padding .widget-body-toolbar,
-.no-padding .ams-form.widget-body-toolbar,
-.no-padding.widget-body-toolbar,
-.no-padding.ams-form.widget-body-toolbar {
-  display: block;
-  margin: 0;
-}
-.modal-dialog .widget-body-toolbar,
-.modal-dialog .ams-form.widget-body-toolbar {
-  min-height: 25px;
-}
-.ams-form .widget-body-toolbar .inline-group,
-.widget-body-toolbar.ams-form .inline-group {
-  float: left;
-  margin-top: 4px;
-}
-.widget-body-toolbar .btn {
-  vertical-align: middle;
-}
-.widget-body-toolbar .btn-xs {
-  margin-top: 5px;
-}
-.no-widget-toolbar .widget-body-toolbar {
-  display: none;
-}
-.widget-content-padding {
-  padding: 20px;
-}
-.widget-content-padding .well {
-  margin-bottom: 0;
-}
-.widget-footer {
-  display: block;
-  position: relative;
-  min-height: 32px;
-  vertical-align: middle;
-  margin: 0 -13px -13px;
-  padding: 5px;
-  border-top: 1px solid #E4E4E4;
-  text-align: right;
-  background-color: #F8F7F7;
-}
-.no-padding .widget-footer {
-  margin: 0;
-}
-.widget-footer.ams-form > label {
-  margin-top: 4px;
-  display: block;
-}
-.ams-widget {
-  position: relative;
-  margin: 0 0 15px;
-  padding: 0;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-}
-.ams-widget header .nav-tabs {
-  border-bottom-color: transparent;
-}
-.ams-widget header .nav-tabs > li > a {
-  border-radius: 0;
-  border: 0;
-  padding: 5px 15px 4px;
-}
-.ams-widget header .nav-tabs > li.active > a,
-.ams-widget header .nav-tabs > li.active > a:focus,
-.ams-widget header .nav-tabs > li.active > a:hover {
-  color: #555;
-  background-color: #FFF;
-  border: 1px solid #C2C2C2;
-  border-bottom-color: transparent;
-  border-top: 0;
-  cursor: default;
-}
-.ams-widget header:first-child .nav-tabs {
-  float: left;
-}
-.ams-widget header:first-child .nav-tabs li {
-  padding-left: 0;
-}
-.ams-widget header:first-child .nav-tabs li a {
-  color: #333;
-}
-.ams-widget header:first-child .nav-tabs.pull-right li:last-child a {
-  margin-right: 0 !important;
-  border-right: 0 !important;
-}
-.ams-widget header .nav-pills {
-  margin: 3px;
-}
-.ams-widget header .nav-pills > li > a {
-  padding: 3px 5px 4px;
-}
-.ams-widget header > .btn-group {
-  margin-top: -13px;
-  margin-left: 5px;
-}
-.ams-widget > header {
-  height: 30px;
-  padding: 0;
-  line-height: 40px;
-  color: #333;
-  border: 1px solid #C2C2C2;
-  background: #fafafa;
-}
-.ams-widget > header.active {
-  background-color: rgba(56, 134, 201, 0.4);
-}
-.ams-widget > header h2 {
-  display: inline-block;
-  position: relative;
-  width: auto;
-  height: 100%;
-  margin: 0;
-  font-size: 14px;
-  line-height: 31px;
-  font-weight: 400;
-  letter-spacing: 0;
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .ams-widget > header h2 {
-    width: 135px;
-    text-overflow: ellipsis;
-    white-space: nowrap;
-    overflow: hidden;
-  }
-}
-.rtl .ams-widget > header h2 {
-  float: right;
-  text-align: right;
-}
-.ams-widget > header > h2 {
-  margin-left: 10px;
-  float: left;
-}
-.ams-widget > header > h2 + .btn,
-.ams-widget > header > h2 + .btn-group {
-  margin-left: 20px;
-}
-.rtl .ams-widget > header {
-  padding: 0 7px 0 0;
-}
-.ams-widget > header .widget-icon {
-  display: block;
-  float: left;
-  width: 16px;
-  height: 16px;
-  margin: 10px 10px 0 0;
-  zoom: 1;
-  z-index: 400;
-}
-.rtl .ams-widget > header .widget-icon {
-  float: right;
-  margin: 10px 0 0 7px;
-}
-.ams-widget > header > .widget-icon {
-  display: block;
-  position: relative;
-  float: left;
-  margin: 0 -10px 0 2px;
-  width: 28px;
-  height: 28px;
-  font-size: 111%;
-  line-height: 29px;
-  text-align: center;
-}
-.ams-widget > header > :first-child.widget-icon {
-  margin-left: 0;
-}
-.ams-widget > div {
-  position: relative;
-  float: left;
-  width: 100%;
-  font-size: 13px;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-  margin: 0;
-  padding: 13px 13px 0;
-  background-color: #fff !important;
-  border-width: 1px;
-  border-style: solid;
-  border-color: #ccc !important;
-}
-.ams-widget > header + div {
-  border-top: 0;
-}
-.ams-widget .widget-body {
-  position: relative;
-  min-height: 100px;
-  padding-bottom: 13px;
-}
-.ams-widget .widget-body.widget-hide-overflow {
-  overflow: hidden;
-}
-.ams-widget.well {
-  margin: 0 0 30px;
-}
-.ams-widget.well header {
-  display: none;
-}
-.ams-widget.well > div {
-  border: 0!important;
-  box-shadow: none!important;
-  -webkit-box-shadow: none!important;
-}
-.ams-widget.well.transparent .widget-body.no-padding {
-  margin: 0!important;
-}
-.ams-widget-ctrls {
-  width: auto;
-  float: right;
-  padding: 0;
-  margin: 0;
-}
-.ams-widget-ctrls a {
-  display: inline-block;
-  padding: 0;
-  margin: 0;
-  text-decoration: none;
-  font-size: 14px;
-  text-align: center;
-  line-height: 29px;
-  color: #333;
-}
-.ams-widget-ctrls .button-icon {
-  position: relative;
-  float: left;
-  min-width: 28px;
-  height: 28px;
-  font-family: Ubuntu, Arial, Helvetica, sans-serif;
-  border-left: 1px solid rgba(0, 0, 0, 0.09);
-}
-.ams-widget-ctrls .button-icon :hover {
-  background-color: rgba(0, 0, 0, 0.05);
-}
-.rtl .ams-widget-ctrls .button-icon {
-  margin: 0 0 5px 5px;
-}
-.rtl .ams-widget-ctrls {
-  float: left;
-  padding: 10px 0 0 3px;
-  margin: 0;
-}
-.ams-widget-loader {
-  display: none;
-  float: right;
-  width: 28px;
-  height: 28px;
-  margin: 0;
-  text-align: center;
-  line-height: 28px;
-  background-repeat: no-repeat;
-  background-position: center center;
-}
-.rtl .ams-widget-loader {
-  float: left;
-}
-.ams-widget-editbox {
-  display: none;
-  padding: 10px;
-  border-bottom: 1px solid #B1B1B1;
-  background-color: #fff;
-  margin: -13px -13px 13px;
-}
-.no-padding .ams-widget-editbox {
-  margin: 0 0 10px;
-}
-.ams-widget,
-.ams-widget-editbox,
-.ams-widget > div {
-  zoom: 1;
-}
-.ams-widget:after,
-.ams-widget-editbox:after,
-.ams-widget > div:after {
-  clear: both;
-}
-.ams-widget:before,
-.ams-widget-editbox:before,
-.ams-widget > div:before,
-.ams-widget:after,
-.ams-widget-editbox:after,
-.ams-widget > div:after {
-  display: block;
-  visibility: hidden;
-  overflow: hidden;
-  content: "\0020";
-  height: 0;
-  font-size: 0;
-  line-height: 0;
-}
-.ui-sortable .ams-widget-sortable > header {
-  cursor: move;
-  line-height: normal;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-  -webkit-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-}
-.ui-sortable .ams-widget-sortable.ams-widget-collapsed > header {
-  -khtml-border-radius: 0;
-  border-radius: 0;
-}
-.ams-widget-timestamp {
-  margin: 10px 0 0;
-  color: #868686;
-  font-size: 12px;
-  font-style: italic;
-}
-.ams-widget-placeholder {
-  margin-bottom: 28px;
-  padding: 0;
-  background-color: #FFC;
-  border: 1px dashed #A7A7A7;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-  -webkit-box-sizing: border-box;
-  -khtml-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.ams-widget-remove-colors {
-  color: #333 !important;
-  padding: 0 !important;
-  background: none !important;
-}
-.ams-widget-color-magenta > header {
-  color: #fff;
-  background: #6e3671;
-  border-color: #6e3671 !important;
-}
-.ams-widget-color-magenta .nav-tabs li:not(.active) a,
-.ams-widget-color-magenta > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-magenta .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-pink > header {
-  color: #fff;
-  background: #ac5287;
-  border-color: #ac5287 !important;
-}
-.ams-widget-color-pink .nav-tabs li:not(.active) a,
-.ams-widget-color-pink > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-pink .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-pinkDark > header {
-  color: #fff;
-  background: #a8829f;
-  border-color: #a8829f !important;
-}
-.ams-widget-color-pinkDark .nav-tabs li:not(.active) a,
-.ams-widget-color-pinkDark > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-pinkDark .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-yellow > header {
-  color: #fff;
-  background: #d4c737;
-  border-color: #d4c737 !important;
-}
-.ams-widget-color-yellow .nav-tabs li:not(.active) a,
-.ams-widget-color-yellow > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-yellow .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-orange > header {
-  color: #fff;
-  background: #c79121;
-  border-color: #c79121 !important;
-}
-.ams-widget-color-orange .nav-tabs li:not(.active) a,
-.ams-widget-color-orange > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-orange .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-orangeDark > header {
-  color: #fff;
-  background: #a57225;
-  border-color: #a57225 !important;
-}
-.ams-widget-color-orangeDark .nav-tabs li:not(.active) a,
-.ams-widget-color-orangeDark > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-orangeDark .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-darken > header {
-  color: #fff;
-  background: #404040;
-  border-color: #404040 !important;
-}
-.ams-widget-color-darken .nav-tabs li:not(.active) a,
-.ams-widget-color-darken > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-darken .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-purple > header {
-  color: #fff;
-  background: #65596B;
-  border-color: #65596B !important;
-}
-.ams-widget-color-purple .nav-tabs li:not(.active) a,
-.ams-widget-color-purple > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-purple .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-teal > header {
-  color: #fff;
-  background: #568a89;
-  border-color: #568a89 !important;
-}
-.ams-widget-color-teal .nav-tabs li:not(.active) a,
-.ams-widget-color-teal > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-teal .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-blueDark > header {
-  color: #fff;
-  background: #4c4f53;
-  border-color: #4c4f53 !important;
-}
-.ams-widget-color-blueDark .nav-tabs li:not(.active) a,
-.ams-widget-color-blueDark > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-blueDark .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-blue > header {
-  color: #fff;
-  background: #60747c;
-  border-color: #60747c !important;
-}
-.ams-widget-color-blue .nav-tabs li:not(.active) a,
-.ams-widget-color-blue > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-blue .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-blueLight > header {
-  color: #fff;
-  background: #ccdadf;
-  border-color: #ccdadf !important;
-}
-.ams-widget-color-blueLight .nav-tabs li:not(.active) a,
-.ams-widget-color-blueLight > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-blueLight .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-red > header {
-  color: #fff;
-  background: #931313;
-  border-color: #931313 !important;
-}
-.ams-widget-color-red .nav-tabs li:not(.active) a,
-.ams-widget-color-red > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-red .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-redLight > header {
-  color: #fff;
-  background: #a65858;
-  border-color: #a65858 !important;
-}
-.ams-widget-color-redLight .nav-tabs li:not(.active) a,
-.ams-widget-color-redLight > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-redLight .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-white > header {
-  color: #C8C8C8;
-  background: #dedede;
-  border-color: #C8C8C8 !important;
-}
-.ams-widget-color-white .nav-tabs li:not(.active) a,
-.ams-widget-color-white > header > .ams-widget-ctrls a {
-  color: #C8C8C8 !important;
-}
-.ams-widget-color-white .nav-tabs li a:hover {
-  color: #838383 !important;
-}
-.ams-widget-color-greenDark > header {
-  color: #fff;
-  background: #496949;
-  border-color: #496949 !important;
-}
-.ams-widget-color-greenDark .nav-tabs li:not(.active) a,
-.ams-widget-color-greenDark > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-greenDark .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-green > header {
-  color: #fff;
-  background: #356e35;
-  border-color: #356e35 !important;
-}
-.ams-widget-color-green .nav-tabs li:not(.active) a,
-.ams-widget-color-green > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-green .nav-tabs li a:hover {
-  color: #333 !important;
-}
-.ams-widget-color-greenLight > header {
-  color: #fff;
-  background: #71843f;
-  border-color: #71843f !important;
-}
-.ams-widget-color-greenLight .nav-tabs li:not(.active) a,
-.ams-widget-color-greenLight > header > .ams-widget-ctrls a {
-  color: #fff !important;
-}
-.ams-widget-color-greenLight .nav-tabs li a:hover {
-  color: #333 !important;
-}
-#ams-widget-fullscreen-mode {
-  position: fixed;
-  width: 100%;
-  height: 100%;
-  top: 0;
-  left: 0;
-  z-index: 99999;
-}
-#ams-widget-fullscreen-mode .ams-widget {
-  margin: 0;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-}
-#ams-widget-fullscreen-mode > div {
-  overflow-y: scroll;
-  -khtml-border-radius: 0;
-  border-radius: 0;
-}
-#ams-widget-fullscreen-mode > div > header {
-  cursor: default;
-}
-/*
- * On/off switch
- */
-.onoffswitch {
-  position: relative;
-  width: 50px;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  margin-top: 3px;
-  margin-bottom: 3px;
-  margin-left: 5px;
-  display: inline-block;
-  vertical-align: middle;
-}
-.onoffswitch-container {
-  margin-top: 4px;
-  margin-left: 7px;
-  display: inline-block;
-}
-.onoffswitch-checkbox {
-  display: none;
-}
-.onoffswitch-label {
-  display: block;
-  overflow: hidden;
-  cursor: pointer;
-  border: 1px solid #626262;
-  border-radius: 50px;
-  border-color: #adadad #b3b3b3 #9e9e9e;
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-}
-.onoffswitch-inner {
-  width: 200%;
-  margin-left: -100%;
-  display: block;
-}
-.onoffswitch-inner:after,
-.onoffswitch-inner:before {
-  float: left;
-  width: 50%;
-  height: 15px;
-  padding: 0;
-  line-height: 17px;
-  font-size: 10px;
-  font-family: Ubuntu, Trebuchet, Arial, sans-serif;
-  font-weight: 700;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.onoffswitch-inner:before {
-  content: attr(data-swchon-text);
-  text-shadow: 0 -1px 0 #333;
-  padding-left: 7px;
-  background-color: #3276b1;
-  color: #fff;
-  -webkit-box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.5), 0 1px 2px rgba(0, 0, 0, 0.05);
-  text-align: left;
-}
-.onoffswitch-inner:after {
-  content: attr(data-swchoff-text);
-  padding-right: 7px;
-  text-shadow: 0 -1px 0 #fff;
-  background-color: #fff;
-  color: #555;
-  text-align: right;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-.onoffswitch-switch {
-  width: 19px;
-  height: 19px;
-  margin: -2px;
-  background: #fff;
-  border: 1px solid #9a9a9a;
-  border-radius: 50px;
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  right: 32px;
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  box-sizing: content-box;
-  background-color: #f4f4f4;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fff), to(#eee));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#fff), to(#eee));
-  background-image: -webkit-linear-gradient(top, #fff, #eee);
-  background-image: linear-gradient(to bottom, #fff, #eee);
-  background-repeat: repeat-x;
-  -webkit-box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.3);
-  box-shadow: 1px 1px 4px 0 rgba(0, 0, 0, 0.3);
-}
-.onoffswitch-checkbox + .onoffswitch-label .onoffswitch-switch:before,
-.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch:before {
-  content: "\f00d";
-  color: #a90329;
-  display: block;
-  text-align: center;
-  line-height: 19px;
-  font-size: 10px;
-  text-shadow: 0 -1px 0 #fff;
-  font-weight: 700;
-  font-family: FontAwesome;
-}
-.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch:before {
-  content: "\f00c";
-  color: #57889c;
-}
-.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-inner {
-  margin-left: 0;
-  display: block;
-}
-.onoffswitch-checkbox:checked + .onoffswitch-label .onoffswitch-switch {
-  right: 0;
-}
-.onoffswitch-switch:hover {
-  background-color: #eee;
-}
-.onoffswitch-switch:active {
-  background-color: #eee;
-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-.onoffswitch-checkbox:checked:disabled + .onoffswitch-label .onoffswitch-inner:before,
-.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-inner:after {
-  text-shadow: 0 1px 0 #fff;
-  background: #bfbfbf;
-  color: #333;
-}
-.onoffswitch-checkbox:checked:disabled + .onoffswitch-label .onoffswitch-switch,
-.onoffswitch-checkbox:disabled + .onoffswitch-label .onoffswitch-switch {
-  background-color: #f4f4f4;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#bfbfbf), to(#f4f4f4));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#bfbfbf), to(#f4f4f4));
-  background-image: -webkit-linear-gradient(top, #bfbfbf, #f4f4f4);
-  background-image: linear-gradient(to bottom, #bfbfbf, #f4f4f4);
-  -webkit-box-shadow: none!important;
-  box-shadow: none!important;
-}
-.onoffswitch-checkbox:checked:disabled + .onoffswitch-label .onoffswitch-label,
-.onoffswitch-checkbox:disabled + .onoffswitch-label {
-  border-color: #ababab #999 #878787 !important;
-}
-.onoffswitch-checkbox:checked + .onoffswitch-label {
-  border-color: #3276b1 #2a6395 #255681;
-}
-.onoffswitch + span,
-.onoffswitch-title {
-  display: inline-block;
-  vertical-align: middle;
-  margin-top: -5px;
-}
-/*
- * Select2 widget
- */
-label.with-icon .select2-parent {
-  margin-right: 27px;
-}
-label.with-icons .select2-parent {
-  margin-right: 54px;
-}
-.select2-container {
-  margin: 0;
-  position: relative;
-  display: inline-block;
-  zoom: 1;
-  *display: inline;
-  vertical-align: middle;
-  min-width: 60px;
-}
-.select2-container .select2-choice {
-  display: block;
-  height: 26px;
-  padding: 0 0 0 8px;
-  overflow: hidden;
-  position: relative;
-  border: 1px solid #ccc;
-  white-space: nowrap;
-  line-height: 26px;
-  font-size: 13px;
-  color: #444;
-  text-decoration: none;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  background-color: #fff;
-}
-label.bordered .select2-container .select2-choice {
-  border-color: transparent;
-}
-.select2-container .select2-choice:hover {
-  border: 1px solid rgba(82, 168, 236, 0.7);
-}
-.select2-container .select2-choice > .select2-chosen {
-  margin-right: 26px;
-  display: block;
-  overflow: hidden;
-  white-space: nowrap;
-  text-overflow: ellipsis;
-}
-.select2-container .select2-choice > .select2-chosen abbr {
-  display: none;
-  width: 12px;
-  height: 12px;
-  position: absolute;
-  right: 24px;
-  top: 8px;
-  font-size: 1px;
-  text-decoration: none;
-  border: 0;
-  cursor: pointer;
-  outline: 0;
-}
-.select2-container .select2-choice > .select2-chosen abbr:hover {
-  cursor: pointer;
-}
-.select2-container.select2-drop-above .select2-choice {
-  border-bottom-color: #ccc;
-}
-.select2-container.select2-allowclear .select2-choice .select2-chosen {
-  margin-right: 42px;
-}
-.select2-container.select2-allowclear .select2-choice abbr {
-  display: inline-block;
-}
-.select2-container .select2-arrow {
-  display: inline-block;
-  width: 20px;
-  height: 20px;
-  position: absolute;
-  right: 3px;
-  top: 3px;
-  padding: 0 0 0 2px;
-  border-left: 1px solid #ccc;
-  line-height: 22px;
-  -webkit-background-clip: padding-box;
-}
-.select2-container .select2-arrow b {
-  width: 100%;
-  height: 100%;
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  position: relative;
-  font-size: 14px;
-}
-.select2-container .select2-arrow b:before {
-  content: "\f107";
-  width: 100%;
-  height: 100%;
-  text-align: center;
-  display: block;
-}
-.select2-container,
-.select2-drop,
-.select2-search,
-.select2-search input {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.select2-container-active .select2-choice,
-.select2-container-active .select2-choices {
-  border: 1px solid rgba(82, 168, 236, 0.7) !important;
-  outline: 0;
-}
-.select2-drop-mask {
-  border: 0;
-  margin: 0;
-  padding: 0;
-  position: fixed;
-  left: 0;
-  top: 0;
-  min-height: 100%;
-  min-width: 100%;
-  height: auto;
-  width: auto;
-  opacity: 0;
-  z-index: 9998;
-  background: #fff;
-  filter: alpha(opacity=0);
-}
-.select2-drop {
-  margin-top: -1px;
-  width: 100%;
-  position: absolute;
-  z-index: 9999;
-  top: 100%;
-  background: #fff;
-  color: #000;
-  border: 1px solid #ccc;
-  border-top: 0;
-  -webkit-box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
-  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.15);
-}
-.select2-drop.select2-drop-above {
-  margin-bottom: 0;
-  border-top: 1px solid rgba(82, 168, 236, 0.7);
-  border-top-width: 3px;
-  border-bottom: 0;
-  -webkit-box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
-  box-shadow: 0 -4px 5px rgba(0, 0, 0, 0.15);
-}
-.select2-drop.select2-drop-above.select2-drop-active {
-  border-top-width: 3px;
-}
-.select2-drop.select2-drop-above .select2-search input {
-  margin-top: 4px;
-}
-.select2-drop.select2-drop-above .select2-search:before {
-  top: 34%;
-}
-.select2-drop-auto-width {
-  border-top: 1px solid #ccc;
-  width: auto;
-}
-.select2-drop-auto-width .select2-search {
-  padding-top: 4px;
-}
-.select2-drop-active {
-  border: 1px solid rgba(82, 168, 236, 0.7);
-  border-top: 0;
-  border-bottom-width: 3px;
-}
-.select2-search {
-  display: inline-block;
-  width: 100%;
-  min-height: 26px;
-  margin: 0;
-  padding-left: 4px;
-  padding-right: 4px;
-  position: relative;
-  z-index: 10000;
-  white-space: nowrap;
-}
-.select2-search:before {
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  position: absolute;
-  content: "\f002";
-  top: 25%;
-  right: 10px;
-  color: #686868 !important;
-}
-.select2-search input {
-  width: 100%;
-  height: auto!important;
-  min-height: 26px;
-  padding: 4px 20px 3px 5px;
-  margin: 0;
-  outline: 0;
-  font-size: 1em;
-  border: 1px solid #aaa;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  background: #fff;
-  background: -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
-  background: -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
-  background: -webkit-gradient(linear, top left, bottom left, from(#fff), to(#eee));
-  background: -webkit-linear-gradient(top, #fff 85%, #eee 99%);
-  background: linear-gradient(top, #fff 85%, #eee 99%);
-}
-.select2-search input.select2-active {
-  background-origin: padding-box;
-  background: #fff url(../img/select2-spinner.gif) no-repeat right 24px top 50%;
-  background: url(../img/select2-spinner.gif) no-repeat right 24px top 50%, -webkit-gradient(linear, left bottom, left top, color-stop(0.85, #fff), color-stop(0.99, #eee));
-  background: url(../img/select2-spinner.gif) no-repeat right 24px top 50%, -webkit-linear-gradient(center bottom, #fff 85%, #eee 99%);
-  background: url(../img/select2-spinner.gif) no-repeat right 24px top 50%, -webkit-gradient(linear, top left, bottom left, from(#fff), to(#eee));
-  background: url(../img/select2-spinner.gif) no-repeat right 24px top 50%, -webkit-linear-gradient(top, #fff 85%, #eee 99%);
-  background: url(../img/select2-spinner.gif) no-repeat right 24px top 50%, linear-gradient(top, #fff 85%, #eee 99%);
-}
-.select2-dropdown-open .select2-choice {
-  border-bottom-color: transparent;
-  -webkit-box-shadow: 0 1px 0 #fff inset;
-  box-shadow: 0 1px 0 #fff inset;
-  border-bottom-left-radius: 0;
-  border-bottom-right-radius: 0;
-  background-color: #fff;
-}
-.select2-dropdown-open.select2-drop-above .select2-choice,
-.select2-dropdown-open.select2-drop-above .select2-choices {
-  border: 1px solid #5D98CC;
-  border-top-color: transparent;
-}
-.select2-dropdown-open .select2-choice .select2-arrow {
-  background: 0 0;
-  border-left: 0;
-  -webkit-filter: none;
-  filter: none;
-}
-.select2-dropdown-open .select2-choice .select2-arrow b {
-  background-position: -18px 1px;
-}
-.select2-results {
-  max-height: 200px;
-  padding: 0 0 0 4px;
-  margin: 4px 4px 4px 0;
-  font-size: 13px;
-  position: relative;
-  overflow-x: hidden;
-  overflow-y: auto;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-.select2-results .select2-selected {
-  opacity: 0.5;
-}
-.select2-results ul.select2-result-sub {
-  margin: 0;
-  padding-left: 0;
-}
-.select2-results ul.select2-result-sub > li .select2-result-label {
-  padding-left: 20px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 40px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 60px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 80px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 100px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 110px;
-}
-.select2-results ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub ul.select2-result-sub > li .select2-result-label {
-  padding-left: 120px;
-}
-.select2-results li {
-  list-style: none;
-  display: list-item;
-  background-image: none;
-}
-.select2-results li.select2-result-with-children > .select2-result-label {
-  font-weight: 700;
-}
-.select2-results .select2-result-label {
-  padding: 3px 7px 4px;
-  margin: 0;
-  cursor: pointer;
-  min-height: 1em;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.select2-results .select2-highlighted {
-  background: #3276b1;
-  color: #fff;
-}
-.select2-results li em {
-  background: #feffde;
-  font-style: normal;
-}
-.select2-results .select2-highlighted em {
-  background: 0 0;
-}
-.select2-results .select2-highlighted ul {
-  background: #fff;
-  color: #000;
-}
-.select2-results .select2-no-results,
-.select2-results .select2-searching,
-.select2-results .select2-selection-limit {
-  background: #f4f4f4;
-  display: list-item;
-  padding: 3px 5px;
-  opacity: 0.5;
-}
-.select2-results-results .select2-disabled {
-  background: #f4f4f4;
-  display: list-item;
-  cursor: default;
-}
-.select2-results-results .select2-disabled.select2-highlighted {
-  color: #666;
-  background: #f4f4f4;
-  display: list-item;
-  cursor: default;
-}
-.select2-results-results .select2-selected {
-  display: none;
-}
-.select2-no-results {
-  padding-left: 20px;
-}
-.select2-no-results:before {
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  content: "\f05a";
-  margin-right: 5px;
-}
-.select2-more-results {
-  background: #f4f4f4;
-  display: list-item;
-}
-.select2-more-results.select2-active {
-  background: #f4f4f4 url(../img/select2-spinner.gif) no-repeat 100%;
-}
-.select2-default {
-  color: #999 !important;
-}
-.select2-container.select2-container-disabled .select2-choice {
-  background-image: none;
-  border: 1px solid transparent;
-  border-bottom: 1px solid #ccc;
-  cursor: default;
-}
-.select2-container.select2-container-disabled .select2-choice .select2-arrow {
-  display: none;
-}
-.select2-container.select2-container-disabled .select2-choice abbr {
-  display: none;
-}
-.select2-container.select2-container-disabled .select2-choices .select2-search-field {
-  display: none;
-}
-.select2-container-multi.select2-container-active .select2-choices {
-  border: 1px solid rgba(82, 168, 236, 0.7);
-  outline: 0;
-}
-.select2-container-multi .select2-choices {
-  height: auto!important;
-  height: 1%;
-  min-height: 26px;
-  margin: 0;
-  padding: 0;
-  position: relative;
-  border: 1px solid #ccc;
-  cursor: text;
-  overflow: hidden;
-  background-color: #fff;
-}
-label.bordered .select2-container-multi .select2-choices {
-  border-color: transparent;
-}
-.select2-container-multi .select2-choices:hover {
-  border: 1px solid rgba(82, 168, 236, 0.7) !important;
-}
-label.bordered .select2-container-multi .select2-choices:hover {
-  border-color: transparent !important;
-}
-.select2-container-multi .select2-choices li {
-  float: left;
-  list-style: none;
-}
-.select2-container-multi .select2-choices .select2-search-field {
-  margin: 0;
-  padding: 0;
-  white-space: nowrap;
-  width: 100%;
-}
-.select2-container-multi .select2-choices .select2-search-field input {
-  max-height: 24px;
-  padding: 3px 5px;
-  margin: 1px 0;
-  font-family: Ubuntu, sans-serif;
-  font-size: 13px;
-  color: #666;
-  outline: 0;
-  border: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  background: transparent!important;
-}
-.select2-container-multi .select2-choices .select2-search-field input.select2-active {
-  background: #fff url(../img/select2-spinner.gif) no-repeat 99% !important;
-}
-.select2-container-multi .select2-choices .select2-search-choice {
-  padding: 1px 28px 1px 8px;
-  margin: 2px;
-  position: relative;
-  line-height: 18px;
-  color: #fff;
-  cursor: default;
-  border: 1px solid #2a6395;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -khtml-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-  background-color: #3276b1;
-}
-.select2-container-multi .select2-choices .select2-search-choice + .select2-search-field {
-  width: auto;
-}
-.select2-container-multi .select2-choices .select2-search-choice .select2-chosen {
-  cursor: default;
-}
-.select2-container-multi .select2-choices .select2-search-choice-focus {
-  opacity: 0.8;
-}
-.select2-container-multi .select2-choices .select2-search-choice.ui-sortable-handle {
-  cursor: move;
-}
-.with-icons .select2-container-multi .select2-choices .select2-search-choice.ui-sortable-handle {
-  margin-right: 1px;
-}
-.select2-container-multi.ordered .select2-choices li {
-  float: none;
-}
-.select2-container-multi.ordered .select2-choices li.select2-search-choice {
-  cursor: move;
-  padding-left: 20px;
-  background: #3276b1 url(../img/vert-drag-handle.png) scroll no-repeat left center;
-}
-.select2-container-multi.ordered .select2-choices li.ui-state-highlight {
-  margin: 2px 0 2px 2px;
-  height: 20px;
-  background-color: #ddd;
-  border: 1px solid #ddd;
-}
-.select2-container-multi .select2-search-choice-close {
-  display: block;
-  top: 0;
-  right: -2px;
-  padding: 3px 0px 3px 6px;
-}
-.select2-container-multi .select2-search-choice-close:hover {
-  background: rgba(0, 0, 0, 0.3);
-}
-.select2-container-multi.select2-container-disabled .select2-choices {
-  background-image: none;
-  border: 1px solid transparent;
-  border-bottom: 1px solid #ccc;
-  cursor: default;
-}
-.select2-container-multi.select2-container-disabled .select2-choices:hover {
-  border-color: transparent!important;
-  border-bottom: 1px solid #ccc !important;
-}
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice {
-  padding: 1px 5px;
-  border: 1px solid #4a90cc;
-  background-image: none;
-  background-color: #86b4dd;
-  cursor: not-allowed;
-}
-.select2-container-multi.select2-container-disabled .select2-choices .select2-search-choice .select2-search-choice-close {
-  display: none;
-  background: 0 0;
-}
-.select2-locked {
-  padding: 3px 5px!important;
-}
-.select2-search-choice-close {
-  display: block;
-  min-width: 20px;
-  min-height: 14px;
-  position: absolute;
-  right: 3px;
-  top: 3px;
-  margin: 0;
-  padding: 0;
-  font-size: 15px;
-  text-decoration: none!important;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-.select2-search-choice-close:before {
-  color: #fff;
-  content: "\f057";
-}
-.select2-result-selectable .select2-match,
-.select2-result-unselectable .select2-match {
-  text-decoration: underline;
-}
-.select2-offscreen,
-.select2-offscreen:focus {
-  clip: rect(0 0 0 0) !important;
-  width: 1px!important;
-  height: 1px!important;
-  border: 0!important;
-  margin: 0!important;
-  padding: 0!important;
-  overflow: hidden!important;
-  position: absolute!important;
-  outline: 0!important;
-  left: 0!important;
-  top: 0!important;
-}
-.select2-display-none {
-  display: none;
-}
-.select2-measure-scrollbar {
-  position: absolute;
-  top: -10000px;
-  left: -10000px;
-  width: 100px;
-  height: 100px;
-  overflow: scroll;
-}
-.select2-hidden-accessible {
-  position: absolute;
-  border: 0;
-  clip: rect(0 0 0 0);
-  height: 1px;
-  width: 1px;
-  margin: -1px;
-  overflow: hidden;
-  padding: 0;
-}
-label.with-icon > i.icon-append + .select2-parent > .select2-choices {
-  padding-right: 29px;
-}
-.multiselect-container {
-  position: absolute;
-  list-style-type: none;
-  margin: 0;
-  padding: 0;
-}
-.multiselect-container .input-group {
-  margin: 5px;
-}
-.multiselect-container > li {
-  padding: 0;
-}
-.multiselect-container > li > a.multiselect-all label {
-  font-weight: 700;
-}
-.multiselect-container > li > a > label {
-  margin: 0;
-  height: 100%;
-  cursor: pointer;
-  font-weight: 400;
-}
-.multiselect-container > li > a > label.checkbox,
-.multiselect-container > li > a > label.radio {
-  margin: 0;
-}
-.multiselect-container > li > a > label > input[type=checkbox] {
-  margin-bottom: 5px;
-}
-.multiselect-container > li > label.multiselect-group {
-  margin: 0;
-  padding: 3px 20px;
-  height: 100%;
-  font-weight: 700;
-}
-.btn-group > .btn-group:nth-child(2) > .multiselect.btn {
-  border-top-left-radius: 4px;
-  border-bottom-left-radius: 4px;
-}
-/*
- * Standard Bootstrap widgets
- */
-.color-select {
-  list-style: none;
-  margin: 0;
-  padding: 4px;
-  min-width: 166px;
-  max-width: 156px;
-  right: -3px;
-}
-.color-select li {
-  display: block;
-  margin: 2px;
-  float: left;
-}
-.color-select li span {
-  display: block;
-  width: 22px;
-  height: 22px;
-  padding: 0;
-  background: #333;
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  border: 1px solid rgba(0, 0, 0, 0.1);
-  cursor: pointer;
-}
-.color-select li span:hover {
-  border: 3px solid rgba(0, 0, 0, 0.2);
-}
-.widget-toolbar .dropdown-menu.color-select {
-  right: -1px;
-}
-.color-box {
-  display: block;
-  position: relative;
-  width: 22px;
-  height: 22px;
-  padding: 0;
-  background: #333;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  border: 1px solid rgba(255, 255, 255, 0.3) !important;
-  cursor: pointer;
-  vertical-align: middle;
-  outline: 1px solid rgba(0, 0, 0, 0.1);
-  background: rgba(255, 255, 255, 0.3) !important;
-}
-.color-box:hover,
-.open .color-box {
-  outline: 1px solid rgba(0, 0, 0, 0.1) !important;
-}
-.color-box:hover {
-  -webkit-transform: scale(1.07);
-  -moz-transform: scale(1.07);
-}
-.color-box:active {
-  top: 1px;
-  left: 1px;
-}
-.widget-toolbar > .color-box {
-  margin-top: 7px;
-  width: 18px;
-  height: 18px;
-  outline: 1px solid rgba(0, 0, 0, 0.2);
-}
-.widget-toolbar > .color-box:active,
-.widget-toolbar > .color-box:focus,
-.widget-toolbar > .color-box:hover {
-  outline: 1px solid rgba(0, 0, 0, 0.25) !important;
-}
-/*
- * Full calendar
- */
-.ams-widget #calendar {
-  margin-top: -18px;
-}
-#calendar-buttons {
-  position: absolute;
-  right: 14px;
-  top: 5px;
-}
-#calendar-container {
-  position: relative;
-}
-#external-events > li {
-  margin: 6px 4px 6px 0;
-  display: inline-block;
-}
-#external-events > li > :first-child {
-  padding: 5px 10px 10px;
-  cursor: move;
-  display: block;
-}
-#external-events > li > :first-child:after {
-  color: #fff;
-  color: rgba(255, 255, 255, 0.7);
-  content: attr(data-description);
-  font-size: 11px;
-  font-weight: 400;
-  display: block;
-  line-height: 0;
-  margin: 7px 0;
-  text-transform: lowercase;
-}
-.fc {
-  direction: ltr;
-  text-align: left;
-}
-.fc .fc-header-space {
-  padding-left: 10px;
-}
-.fc table,
-html .fc {
-  font-size: 12px;
-}
-.fc table {
-  border-collapse: collapse;
-  border-spacing: 0;
-}
-.fc th,
-.fc td {
-  padding: 0;
-  vertical-align: top;
-}
-.fc .ui-resizable-handle {
-  display: block;
-  position: absolute;
-  z-index: 99999;
-  overflow: hidden;
-  font-size: 300%;
-  line-height: 50%;
-}
-.fc .ui-draggable-dragging .fc-event-bg {
-  display: none;
-}
-.fc-border-separate thead tr,
-.fc-border-separate .table thead tr {
-  background-color: #eee;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#fafafa));
-  background-image: -webkit-linear-gradient(top, #f2f2f2 0, #fafafa 100%);
-  background-image: -linear-gradient(top, #f2f2f2 0, #fafafa 100%);
-  font-size: 12px;
-}
-.fc-border-separate thead tr th {
-  padding: 4px;
-  line-height: 1.42857143;
-}
-tr td.fc-first,
-tr.fc-first th.fc-first {
-  border-left: 0;
-}
-tr.fc-last td {
-  border-bottom: 0;
-}
-.fc-header .fc-button {
-  margin-bottom: 1em;
-  vertical-align: top;
-  margin-right: -1px;
-}
-.fc-header .fc-corner-right {
-  margin-right: 1px;
-}
-.fc-header .ui-corner-right {
-  margin-right: 0;
-}
-.fc-header .fc-state-hover,
-.fc-header .ui-state-hover {
-  z-index: 2;
-}
-.fc-header .fc-state-down {
-  z-index: 3;
-}
-.fc-header .fc-state-active,
-.fc-header .ui-state-active {
-  z-index: 4;
-}
-.fc-header td {
-  white-space: nowrap;
-}
-.fc-header-left {
-  width: 25%;
-  text-align: left;
-}
-.fc-header-center {
-  text-align: center;
-}
-.fc-header-right {
-  width: 25%;
-  text-align: right;
-}
-.fc-header-title {
-  display: inline-block;
-  vertical-align: top;
-}
-.fc-header-title h2 {
-  margin-top: 0;
-  white-space: nowrap;
-}
-.ams-widget .fc-header-title h2 {
-  text-shadow: 0 1px 0 #fff;
-  margin-top: -12px;
-  margin-left: 10px;
-  font-size: 14px;
-  font-weight: 700;
-  margin-bottom: 0;
-}
-.fc-content {
-  clear: both;
-}
-.fc-view {
-  width: 100%;
-  overflow: hidden;
-}
-.fc-widget-content,
-.fc-widget-header {
-  border: 1px solid #ccc;
-  border-right: 0;
-}
-.fc-state-highlight {
-  background: #ffc;
-}
-.fc-cell-overlay {
-  background: #9cf;
-  opacity: 0.2;
-  filter: alpha(opacity=20);
-}
-.fc-button {
-  position: relative;
-  display: inline-block;
-  cursor: pointer;
-}
-.fc-button-inner {
-  position: relative;
-  float: left;
-  overflow: hidden;
-}
-.fc-state-default {
-  border-width: 1px 0;
-}
-.fc-state-default .fc-button-inner {
-  border-width: 0 1px;
-}
-.fc-state-default,
-.fc-state-default .fc-button-inner {
-  border-style: solid;
-  border-color: #ccc #bbb #aaa;
-  background: #F3F3F3;
-  color: #000;
-}
-.fc-state-default .fc-button-effect {
-  position: absolute;
-  top: 50%;
-  left: 0;
-}
-.fc-state-default .fc-button-effect span {
-  position: absolute;
-  top: -100px;
-  left: 0;
-  width: 500px;
-  height: 100px;
-  border-width: 100px 0 0 1px;
-  border-style: solid;
-  border-color: #fff;
-  background: #444;
-  opacity: 0.09;
-  filter: alpha(opacity=9);
-}
-.fc-state-hover .fc-button-inner {
-  border-color: #999;
-}
-.fc-state-down .fc-button-inner {
-  border-color: #555;
-  background: #777;
-}
-.fc-state-active .fc-button-inner {
-  border-color: #555;
-  background: #777;
-  color: #fff;
-}
-.fc-state-disabled {
-  cursor: default;
-}
-.fc-state-disabled .fc-button-inner {
-  color: #999;
-  border-color: #ddd;
-}
-.fc-state-disabled .fc-button-effect {
-  display: none;
-}
-.fc-button-content {
-  position: relative;
-  float: left;
-  height: 1.9em;
-  line-height: 1.9em;
-  padding: 0 0.6em;
-  white-space: nowrap;
-}
-.fc-button-content .fc-icon-wrap {
-  position: relative;
-  float: left;
-  top: 50%;
-}
-.fc-button-content .ui-icon {
-  position: relative;
-  float: left;
-  margin-top: -50%;
-  *margin-top: 0;
-  *top: -50%;
-}
-.fc-event {
-  border-style: solid;
-  border-width: 0;
-  font-size: 0.85em;
-  cursor: default;
-}
-.fc-rtl .fc-event {
-  text-align: right;
-}
-.fc-event-draggable,
-a.fc-event {
-  cursor: pointer;
-}
-a.fc-event {
-  text-decoration: none;
-}
-.fc-event-skin {
-  color: #FFF;
-  border-right: 0!important;
-  cursor: move;
-}
-.fc-event-skin .fa:before {
-  display: block;
-  font-size: 14px;
-  position: absolute;
-  right: 4px;
-  top: 3px;
-}
-.fc-event-inner {
-  position: relative;
-  width: 100%;
-  height: 100%;
-  border-style: solid;
-  border-width: 0;
-  overflow: hidden;
-}
-.fc-event-hori {
-  border-width: 1px 0;
-  margin-bottom: 1px;
-}
-.fc-event-hori .ui-resizable-e {
-  top: 0!important;
-  right: -3px !important;
-  width: 7px!important;
-  height: 100%!important;
-  cursor: e-resize;
-}
-.fc-event-hori .ui-resizable-w {
-  top: 0!important;
-  left: -3px !important;
-  width: 7px!important;
-  height: 100%!important;
-  cursor: w-resize;
-}
-.fc-event-hori .ui-resizable-handle {
-  _padding-bottom: 14px;
-}
-.fc-corner-left {
-  margin-left: 1px;
-}
-.fc-corner-left .fc-button-inner,
-.fc-corner-left .fc-event-inner {
-  margin-left: -1px;
-}
-.fc-corner-right {
-  margin-right: 1px;
-}
-.fc-corner-right .fc-button-inner,
-.fc-corner-right .fc-event-inner {
-  margin-right: -1px;
-}
-.fc-corner-right .fc-event-inner {
-  border-left: 6px solid rgba(0, 0, 0, 0.15);
-  padding-left: 2px;
-  padding-right: 15px;
-}
-.fc-corner-top {
-  margin-top: 1px;
-}
-.fc-corner-top .fc-event-inner {
-  margin-top: -1px;
-  border-top-width: 1px;
-}
-.fc-corner-bottom {
-  margin-bottom: 1px;
-}
-.fc-corner-bottom .fc-event-inner {
-  margin-bottom: -1px;
-  border-bottom-width: 1px;
-}
-table.fc-table-separate {
-  border-collapse: separate;
-}
-.fc-table-separate td,
-.fc-table-separate th {
-  border-width: 1px 0 0 1px;
-}
-.fc-table-separate td.fc-last,
-.fc-table-separate th.fc-last {
-  border-right-width: 1px;
-}
-.fc-table-separate tr.fc-last td,
-.fc-table-separate tr.fc-last th {
-  border-bottom-width: 1px;
-}
-.fc-table-separate tbody tr.fc-first td,
-.fc-table-separate tbody tr.fc-first th {
-  border-top-width: 0;
-}
-.fc-grid th {
-  text-align: center;
-}
-.fc-grid .fc-day-number {
-  float: right;
-  padding: 0 2px;
-}
-.fc-grid .fc-other-month .fc-day-number {
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.fc-grid .fc-day-content {
-  clear: both;
-  padding: 2px 2px 1px;
-}
-.fc-grid .fc-event-time {
-  font-weight: 700;
-}
-.fc-rtl .fc-grid .fc-day-number {
-  float: left;
-}
-.fc-rtl .fc-grid .fc-event-time {
-  float: right;
-}
-.fc-agenda table {
-  border-collapse: separate;
-}
-.fc-agenda .fc-agenda-axis {
-  width: 50px;
-  padding: 0 4px;
-  vertical-align: middle;
-  text-align: right;
-  white-space: nowrap;
-  font-weight: 400;
-}
-.fc-agenda .fc-day-content {
-  padding: 2px 2px 1px;
-}
-.fc-agenda-days th {
-  text-align: center;
-}
-.fc-agenda-days .fc-agenda-axis {
-  border-right-width: 1px;
-}
-.fc-agenda-days .fc-col0 {
-  border-left-width: 0;
-}
-.fc-agenda-allday th {
-  border-width: 0 1px;
-}
-.fc-agenda-allday .fc-day-content {
-  min-height: 34px;
-  _height: 34px;
-}
-.fc-agenda-divider-inner {
-  height: 2px;
-  overflow: hidden;
-}
-.fc-widget-header .fc-agenda-divider-inner {
-  background: #eee;
-}
-.fc-agenda-slots th {
-  border-width: 1px 1px 0;
-}
-.fc-agenda-slots td {
-  border-width: 1px 0 0;
-  background: 0 0;
-}
-.fc-agenda-slots td div {
-  height: 20px;
-}
-.fc-agenda-slots tr.fc-slot0 td,
-.fc-agenda-slots tr.fc-slot0 th {
-  border-top-width: 0;
-}
-.fc-agenda-slots tr.fc-minor td,
-.fc-agenda-slots tr.fc-minor th {
-  border-top-style: dotted;
-}
-.fc-agenda-slots tr.fc-minor th.ui-widget-header {
-  *border-top-style: solid;
-}
-.fc-event-time,
-.fc-event-title {
-  padding: 3px 0 2px 3px;
-  display: inline-block;
-  line-height: 16px;
-  font-weight: 700;
-  font-size: 11px;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.fc-event-vert {
-  border-width: 0 1px;
-}
-.fc-event-vert .fc-event-content,
-.fc-event-vert .fc-event-head {
-  position: relative;
-  z-index: 2;
-  width: 100%;
-  overflow: hidden;
-}
-.fc-event-vert .fc-event-time {
-  white-space: nowrap;
-  font-size: 10px;
-}
-.fc-event-vert .fc-event-bg {
-  position: absolute;
-  z-index: 1;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-  background: #fff;
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.fc-event-vert .ui-resizable-s {
-  bottom: 0!important;
-  width: 100%!important;
-  height: 8px!important;
-  overflow: hidden!important;
-  line-height: 8px!important;
-  font-size: 11px!important;
-  font-family: monospace;
-  text-align: center;
-  cursor: s-resize;
-}
-.fc-select-helper .fc-event-bg {
-  display: none;
-}
-.fc-agenda .ui-resizable-resizing {
-  _overflow: hidden;
-}
-/*
- * Colorpicker
- */
-.colorpicker {
-  padding-left: 30px!important;
-}
-/*
- * Timepicker
- */
-.bootstrap-timepicker {
-  position: relative;
-}
-.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu {
-  left: auto;
-  right: 0;
-}
-.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:before {
-  left: auto;
-  right: 12px;
-}
-.bootstrap-timepicker.pull-right .bootstrap-timepicker-widget.dropdown-menu:after {
-  left: auto;
-  right: 13px;
-}
-.bootstrap-timepicker .add-on {
-  cursor: pointer;
-}
-.bootstrap-timepicker .add-on i {
-  display: inline-block;
-  width: 16px;
-  height: 16px;
-}
-@media (max-width: 767px) {
-  .bootstrap-timepicker,
-  .bootstrap-timepicker .dropdown-menu {
-    width: 100%;
-  }
-}
-.bootstrap-timepicker-widget.dropdown-menu {
-  padding: 4px;
-}
-.bootstrap-timepicker-widget.dropdown-menu.open {
-  display: inline-block;
-}
-.bootstrap-timepicker-widget.dropdown-menu:before {
-  border-bottom: 7px solid rgba(0, 0, 0, 0.2);
-  border-left: 7px solid transparent;
-  border-right: 7px solid transparent;
-  content: "";
-  display: inline-block;
-  position: absolute;
-}
-.bootstrap-timepicker-widget.dropdown-menu:after {
-  border-bottom: 6px solid #FFF;
-  border-left: 6px solid transparent;
-  border-right: 6px solid transparent;
-  content: "";
-  display: inline-block;
-  position: absolute;
-}
-.bootstrap-timepicker-widget.timepicker-orient-left:before {
-  left: 6px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-left:after {
-  left: 7px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-right:before {
-  right: 6px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-right:after {
-  right: 7px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-top:before {
-  top: -7px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-top:after {
-  top: -6px;
-}
-.bootstrap-timepicker-widget.timepicker-orient-bottom:before {
-  bottom: -7px;
-  border-bottom: 0;
-  border-top: 7px solid #999;
-}
-.bootstrap-timepicker-widget.timepicker-orient-bottom:after {
-  bottom: -6px;
-  border-bottom: 0;
-  border-top: 6px solid #fff;
-}
-.bootstrap-timepicker-widget a.btn,
-.bootstrap-timepicker-widget input {
-  border-radius: 4px;
-}
-.bootstrap-timepicker-widget table {
-  width: 100%;
-  margin: 0;
-}
-.bootstrap-timepicker-widget table table td {
-  text-align: center;
-  height: 30px;
-  margin: 0;
-  padding: 2px;
-}
-.bootstrap-timepicker-widget table table td:not(.separator) {
-  min-width: 30px;
-}
-.bootstrap-timepicker-widget table table td span {
-  width: 100%;
-}
-.bootstrap-timepicker-widget table table td a {
-  border: 1px transparent solid;
-  width: 100%;
-  display: inline-block;
-  margin: 0;
-  padding: 8px 0;
-  outline: 0;
-  color: #333;
-}
-.bootstrap-timepicker-widget table table td a:hover {
-  text-decoration: none;
-  background-color: #eee;
-  border-radius: 4px;
-  border-color: #ddd;
-}
-.bootstrap-timepicker-widget table table td a i {
-  margin-top: 2px;
-  font-size: 18px;
-}
-.bootstrap-timepicker-widget table table td input {
-  width: 25px;
-  margin: 0;
-  text-align: center;
-}
-@media (min-width: 767px) {
-  .bootstrap-timepicker-widget.modal {
-    width: 200px;
-    margin-left: -100px;
-  }
-}
-.bootstrap-timepicker-widget .modal-content {
-  padding: 4px;
-}
-/*
- * Note editor
- */
-.note-editor {
-  border: 1px solid #a9a9a9;
-}
-.note-editor.fullscreen {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1050;
-  width: 100%;
-}
-.note-editor.fullscreen.fullscreen .note-editable {
-  background-color: #fff;
-}
-.note-editor.codeview .note-editable,
-.note-editor.fullscreen .note-resizebar {
-  display: none;
-}
-.note-editor.codeview .note-codeable {
-  display: block;
-}
-.note-editor .note-toolbar {
-  padding-bottom: 5px;
-  padding-left: 5px;
-  margin: 0;
-  background-color: #f5f5f5;
-  border-bottom: 1px solid #a9a9a9;
-}
-.note-editor .note-toolbar > .btn-group {
-  margin-top: 5px;
-  margin-right: 5px;
-  margin-left: 0;
-}
-.note-editor .note-toolbar .note-table .dropdown-menu {
-  min-width: 0;
-  padding: 5px;
-}
-.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker {
-  font-size: 18px;
-}
-.note-editor .note-toolbar .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-mousecatcher {
-  position: absolute!important;
-  z-index: 3;
-  width: 10em;
-  height: 10em;
-  cursor: pointer;
-}
-.note-editor .note-toolbar .note-table .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-unhighlighted {
-  position: relative!important;
-  z-index: 1;
-  width: 5em;
-  height: 5em;
-  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC) repeat;
-}
-.note-editor .note-toolbar .note-table .note-table .dropdown-menu .note-dimension-picker .note-dimension-picker-highlighted {
-  position: absolute!important;
-  z-index: 2;
-  width: 1em;
-  height: 1em;
-  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC) repeat;
-}
-.note-editor .note-toolbar .note-style blockquote,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h1,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h2,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h3,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h4,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h5,
-.note-editor .note-toolbar .note-editor .note-toolbar .note-style h6 {
-  margin: 0;
-}
-.note-editor .note-toolbar .note-color .dropdown-toggle {
-  width: 20px;
-  padding-left: 5px;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu {
-  min-width: 290px;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu .btn-group {
-  margin: 0;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu .btn-group:first-child {
-  margin: 0 5px;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-palette-title {
-  margin: 2px 7px;
-  font-size: 12px;
-  text-align: center;
-  border-bottom: 1px solid #eee;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset {
-  padding: 0 3px;
-  margin: 5px;
-  font-size: 12px;
-  cursor: pointer;
-  border-radius: 5px;
-}
-.note-editor .note-toolbar .note-color .dropdown-menu .btn-group .note-color-reset:hover {
-  background: #eee;
-}
-.note-editor .note-toolbar .note-para .dropdown-menu {
-  min-width: 153px;
-  padding: 5px;
-}
-.note-editor .note-toolbar .note-para .note-para li:first-child {
-  margin-bottom: 5px;
-}
-.note-editor .note-statusbar {
-  background-color: #f5f5f5;
-}
-.note-editor .note-statusbar .note-resizebar {
-  width: 100%;
-  height: 8px;
-  cursor: s-resize;
-}
-.note-editor .note-statusbar .note-resizebar .note-icon-bar {
-  width: 20px;
-  margin: 1px auto;
-  border-top: 1px solid #a9a9a9;
-}
-.note-editor .note-popover .popover {
-  max-width: none;
-}
-.note-editor .note-popover .popover .popover-content {
-  padding: 5px;
-}
-.note-editor .note-popover .popover .popover-content a {
-  display: inline-block;
-  max-width: 200px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  vertical-align: middle;
-}
-.note-editor .note-popover .popover .popover-content .btn-group + .btn-group {
-  margin-left: 5px;
-}
-.note-editor .note-popover .popover .arrow {
-  left: 20px;
-}
-.note-editor .note-handle .note-control-selection {
-  position: absolute;
-  display: none;
-  border: 1px solid #000;
-}
-.note-editor .note-handle .note-control-selection > div {
-  position: absolute;
-}
-.note-editor .note-handle .note-control-selection .note-control-selection-bg {
-  width: 100%;
-  height: 100%;
-  background-color: #000;
-  -webkit-opacity: 0.3;
-  -khtml-opacity: 0.3;
-  -moz-opacity: 0.3;
-  opacity: 0.3;
-  -ms-filter: alpha(opacity=30);
-  filter: alpha(opacity=30);
-}
-.note-editor .note-handle .note-control-selection .note-control-handle,
-.note-editor .note-handle .note-control-selection .note-control-holder {
-  width: 7px;
-  height: 7px;
-  border: 1px solid #000;
-}
-.note-editor .note-handle .note-control-selection .note-control-sizing {
-  width: 7px;
-  height: 7px;
-  background-color: #fff;
-  border: 1px solid #000;
-}
-.note-editor .note-handle .note-control-selection .note-control-nw {
-  top: -5px;
-  left: -5px;
-  border-right: 0;
-  border-bottom: 0;
-}
-.note-editor .note-handle .note-control-selection .note-control-ne {
-  top: -5px;
-  right: -5px;
-  border-bottom: 0;
-  border-left: 0;
-}
-.note-editor .note-handle .note-control-selection .note-control-sw {
-  bottom: -5px;
-  left: -5px;
-  border-top: 0;
-  border-right: 0;
-}
-.note-editor .note-handle .note-control-selection .note-control-se {
-  right: -5px;
-  bottom: -5px;
-  cursor: se-resize;
-}
-.note-editor .note-handle .note-control-selection .note-control-selection-info {
-  right: 0;
-  bottom: 0;
-  padding: 5px;
-  margin: 5px;
-  font-size: 12px;
-  color: #fff;
-  background-color: #000;
-  border-radius: 5px;
-  -webkit-opacity: 0.7;
-  -khtml-opacity: 0.7;
-  -moz-opacity: 0.7;
-  opacity: 0.7;
-  -ms-filter: alpha(opacity=70);
-  filter: alpha(opacity=70);
-}
-.note-editor .note-dialog > div {
-  display: none;
-}
-.note-editor .note-dialog .note-image-dialog .note-dropzone {
-  min-height: 200px;
-  font-size: 30px;
-  line-height: 6;
-  color: #d3d3d3;
-  text-align: center;
-  border: 4px dashed #d3d3d3;
-}
-.note-editor .note-dialog .note-help-dialog {
-  font-size: 12px;
-  color: #ccc;
-  background: 0 0;
-  background-color: #222 !important;
-  border: 0;
-  -webkit-opacity: 0.9;
-  -khtml-opacity: 0.9;
-  -moz-opacity: 0.9;
-  opacity: 0.9;
-  -ms-filter: alpha(opacity=90);
-  filter: alpha(opacity=90);
-}
-.note-editor .note-dialog .note-help-dialog .modal-content {
-  background: 0 0;
-  border: 1px solid #fff;
-  border-radius: 5px;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.note-editor .note-dialog .note-help-dialog a {
-  font-size: 12px;
-  color: #fff;
-}
-.note-editor .note-dialog .note-help-dialog .title {
-  padding-bottom: 5px;
-  font-size: 14px;
-  font-weight: 700;
-  color: #fff;
-  border-bottom: #fff 1px solid;
-}
-.note-editor .note-dialog .note-help-dialog .modal-close {
-  font-size: 14px;
-  color: #dd0;
-  cursor: pointer;
-}
-.note-editor .note-dialog .note-help-dialog .note-shortcut-layout {
-  width: 100%;
-}
-.note-editor .note-dialog .note-help-dialog .note-shortcut-layout td {
-  vertical-align: top;
-}
-.note-editor .note-dialog .note-help-dialog .note-shortcut {
-  margin-top: 8px;
-}
-.note-editor .note-dialog .note-help-dialog .note-shortcut th {
-  font-size: 13px;
-  color: #dd0;
-  text-align: left;
-}
-.note-editor .note-dialog .note-help-dialog .note-shortcut th:first-child {
-  min-width: 110px;
-  padding-right: 10px;
-  font-family: "Courier New";
-  color: #dd0;
-  text-align: right;
-}
-.note-editor .note-editable {
-  padding: 10px;
-  overflow: scroll;
-  outline: 0;
-}
-.note-editor .note-codeable {
-  display: none;
-  width: 100%;
-  padding: 10px;
-  margin-bottom: 0;
-  font-family: Menlo, Monaco, monospace, sans-serif;
-  font-size: 14px;
-  color: #ccc;
-  background-color: #222;
-  border: 0;
-  border-radius: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -ms-box-sizing: border-box;
-  box-sizing: border-box;
-  resize: none;
-}
-.note-editor .dropdown-menu {
-  min-width: 90px;
-}
-.note-editor .dropdown-menu.right {
-  right: 0;
-  left: auto;
-}
-.note-editor .dropdown-menu.right::before {
-  right: 9px;
-  left: auto!important;
-}
-.note-editor .dropdown-menu.right::after {
-  right: 10px;
-  left: auto!important;
-}
-.note-editor .dropdown-menu .dropdown-menu li a i {
-  color: #00bfff;
-  visibility: hidden;
-}
-.note-editor .dropdown-menu .dropdown-menu li a.checked i {
-  visibility: visible;
-}
-.note-editor .note-color-palette {
-  line-height: 1;
-}
-.note-editor .note-color-palette div .note-color-btn {
-  width: 17px;
-  height: 17px;
-  padding: 0;
-  margin: 0;
-  border: 1px solid #fff;
-}
-.note-editor .note-color-palette div .note-color-btn:hover {
-  border: 1px solid #000;
-}
-.no-padding .note-editor {
-  border: 0;
-}
-.note-editor .note-editable {
-  background-color: rgba(48, 126, 204, 0.05);
-}
-.note-editor .note-editable:focus {
-  background-color: #fff;
-}
-.note-editor .note-statusbar .note-resizebar {
-  border-top: 1px solid #DBDBDB;
-}
-.note-editor .note-statusbar:hover {
-  background: #EEE;
-}
-.note-editor .note-statusbar:active {
-  background: #eaeaea;
-}
-/*
- * MD editor
- */
-.md-editor {
-  display: block;
-  border: 1px solid #ddd;
-}
-.md-editor.active {
-  border-color: #66afe9;
-  outline: 0;
-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);
-}
-.md-editor .md-footer,
-.md-editor > .md-header {
-  display: block;
-  padding: 6px 4px;
-  background: #f5f5f5;
-}
-.md-editor > .md-preview {
-  background: #fff;
-  border-top: 1px dashed #ddd;
-  border-bottom: 1px dashed #ddd;
-  min-height: 10px;
-  padding: 10px;
-}
-.md-editor > textarea {
-  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
-  font-size: 13px;
-  outline: 0;
-  outline: thin dotted \9;
-  margin: 0;
-  display: block;
-  width: 100%;
-  border: 0;
-  padding: 10px;
-  border-top: 1px dashed #ddd;
-  border-bottom: 1px dashed #ddd;
-  border-radius: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  background: #eee;
-}
-.md-editor > textarea:focus {
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  background: #fff;
-}
-/*
- * Twitter Typeahead
- */
-.twitter-typeahead .tt-hint,
-.twitter-typeahead .tt-query {
-  margin-bottom: 0;
-}
-.tt-dropdown-menu {
-  min-width: 160px;
-  margin-top: 2px;
-  padding: 5px 0;
-  background-color: #fff;
-  border: 1px solid #bfbfbf;
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  *border-right-width: 2px;
-  *border-bottom-width: 2px;
-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-}
-.tt-suggestion {
-  display: block;
-  padding: 3px 20px;
-}
-.tt-suggestion.tt-is-under-cursor {
-  color: #fff;
-  background-color: #0081c2;
-}
-.tt-suggestion.tt-is-under-cursor a {
-  color: #fff;
-}
-.tt-suggestion p {
-  margin: 0;
-}
-/*
- * DropZone
- */
-.dropzone,
-.dropzone *,
-.dropzone-previews,
-.dropzone-previews * {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-}
-.dropzone .dz-preview,
-.dropzone-previews .dz-preview {
-  background: rgba(255, 255, 255, 0.8);
-  position: relative;
-  display: inline-block;
-  margin: 10px;
-  vertical-align: top;
-  border: 1px solid #acacac;
-  padding: 6px;
-  -webkit-box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.16);
-  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.16);
-  font-size: 14px;
-}
-.dropzone .dz-preview.dz-file-preview,
-.dropzone-previews .dz-preview.dz-file-preview {
-  display: none;
-}
-.dropzone .dz-preview .dz-details,
-.dropzone-previews .dz-preview .dz-details {
-  width: 100px;
-  height: 100px;
-  position: relative;
-  background: #ebebeb;
-  padding: 5px;
-  margin-bottom: 22px;
-}
-.dropzone .dz-preview .dz-details .dz-filename,
-.dropzone-previews .dz-preview .dz-details .dz-filename {
-  overflow: hidden;
-  height: 100%;
-}
-.dropzone .dz-preview .dz-details img,
-.dropzone-previews .dz-preview .dz-details img {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100px;
-  height: 100px;
-}
-.dropzone .dz-preview .dz-details .dz-size,
-.dropzone-previews .dz-preview .dz-details .dz-size {
-  position: absolute;
-  bottom: -28px;
-  left: 3px;
-  height: 28px;
-  line-height: 28px;
-}
-.dropzone .dz-preview.dz-error .dz-error-mark,
-.dropzone-previews .dz-preview.dz-error .dz-error-mark,
-.dropzone .dz-preview.dz-success .dz-success-mark,
-.dropzone-previews .dz-preview.dz-success .dz-success-mark {
-  display: block;
-  opacity: 1;
-  -ms-filter: none;
-  -webkit-filter: none;
-  filter: none;
-}
-.dropzone .dz-preview:hover .dz-details img,
-.dropzone-previews .dz-preview:hover .dz-details img {
-  display: none;
-}
-.dropzone .dz-preview .dz-error-mark,
-.dropzone-previews .dz-preview .dz-error-mark,
-.dropzone .dz-preview .dz-success-mark,
-.dropzone-previews .dz-preview .dz-success-mark {
-  display: block;
-  position: absolute;
-  width: 40px;
-  height: 40px;
-  font-size: 30px;
-  text-align: center;
-  right: -10px;
-  top: -10px;
-  opacity: 0;
-  -ms-filter: "alpha(Opacity=0)";
-  filter: alpha(opacity=0);
-  -webkit-transition: opacity 0.4s ease-in-out;
-  transition: opacity 0.4s ease-in-out;
-  background-image: url(../img/dropzone/spritemap.png);
-  background-repeat: no-repeat;
-}
-.dropzone .dz-preview .dz-error-mark span,
-.dropzone-previews .dz-preview .dz-error-mark span,
-.dropzone .dz-preview .dz-success-mark span,
-.dropzone-previews .dz-preview .dz-success-mark span {
-  display: none;
-}
-.dropzone .dz-preview .dz-success-mark,
-.dropzone-previews .dz-preview .dz-success-mark {
-  color: #8cc657;
-  background-position: -268px -163px;
-}
-.dropzone .dz-preview .dz-error-mark,
-.dropzone-previews .dz-preview .dz-error-mark {
-  color: #ee162d;
-  background-position: -268px -123px;
-}
-.dropzone .dz-preview.dz-error .dz-progress .dz-upload,
-.dropzone-previews .dz-preview.dz-error .dz-progress .dz-upload {
-  background: #ee1e2d;
-}
-.dropzone .dz-preview .dz-progress,
-.dropzone-previews .dz-preview .dz-progress {
-  position: absolute;
-  top: 100px;
-  left: 6px;
-  right: 6px;
-  height: 6px;
-  background: #d7d7d7;
-  display: none;
-}
-.dropzone .dz-preview .dz-progress .dz-upload,
-.dropzone-previews .dz-preview .dz-progress .dz-upload {
-  position: absolute;
-  bottom: 0;
-  background-color: #8cc657;
-  -webkit-animation: loading 0.4s linear infinite;
-  -ms-animation: loading 0.4s linear infinite;
-  animation: loading 0.4s linear infinite;
-  -webkit-transition: width 0.3s ease-in-out;
-  transition: width 0.3s ease-in-out;
-  border-radius: 2px;
-  top: 0;
-  left: 0;
-  width: 0;
-  height: 100%;
-  background-image: url(../img/dropzone/spritemap.png);
-  background-repeat: repeat-x;
-  background-position: 0 -400px;
-}
-.dropzone .dz-preview.dz-processing .dz-progress,
-.dropzone-previews .dz-preview.dz-processing .dz-progress {
-  display: block;
-}
-.dropzone .dz-preview .dz-error-message,
-.dropzone-previews .dz-preview .dz-error-message {
-  position: absolute;
-  top: -5px;
-  left: -20px;
-  background: rgba(245, 245, 245, 0.8);
-  padding: 8px 10px;
-  color: #800;
-  min-width: 140px;
-  max-width: 500px;
-  z-index: 500;
-  display: block;
-  opacity: 0;
-  -ms-filter: "alpha(Opacity=0)";
-  filter: alpha(opacity=0);
-  -webkit-transition: opacity 0.3s ease-in-out;
-  transition: opacity 0.3s ease-in-out;
-}
-.dropzone .dz-preview:hover.dz-error .dz-error-message,
-.dropzone-previews .dz-preview:hover.dz-error .dz-error-message {
-  display: block;
-  opacity: 1;
-  -ms-filter: none;
-  -webkit-filter: none;
-  filter: none;
-}
-.dropzone .dz-preview.dz-image-preview:hover .dz-details img,
-.dropzone-previews .dz-preview.dz-image-preview:hover .dz-details img {
-  display: block;
-  opacity: 0.1;
-  -ms-filter: "alpha(Opacity=10)";
-  filter: alpha(opacity=10);
-}
-.dropzone .dz-preview.dz-success .dz-progress,
-.dropzone-previews .dz-preview.dz-success .dz-progress {
-  display: block;
-  opacity: 0;
-  -ms-filter: "alpha(Opacity=0)";
-  filter: alpha(opacity=0);
-  -webkit-transition: opacity 0.4s ease-in-out;
-  transition: opacity 0.4s ease-in-out;
-}
-.dropzone a.dz-remove,
-.dropzone-previews a.dz-remove {
-  background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(1, #eee));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#fafafa), to(#eee));
-  background-image: -webkit-linear-gradient(top, #fafafa 0, #eee 100%);
-  background-image: linear-gradient(top, #fafafa 0, #eee 100%);
-  border-radius: 2px;
-  border: 1px solid #eee;
-  text-decoration: none;
-  display: block;
-  padding: 4px 5px;
-  text-align: center;
-  color: #aaa;
-  margin-top: 26px;
-}
-.dropzone a.dz-remove:hover,
-.dropzone-previews a.dz-remove:hover {
-  color: #666;
-}
-.dropzone {
-  position: relative;
-  padding: 1em;
-  border: 1px solid rgba(0, 0, 0, 0.03);
-  min-height: 360px;
-  border-radius: 3px;
-  background: rgba(0, 0, 0, 0.03);
-  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0.25, rgba(0, 0, 0, 0.03)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(0, 0, 0, 0.03)), color-stop(0.75, rgba(0, 0, 0, 0.03)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(135deg, rgba(0, 0, 0, 0.03) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, transparent 75%, transparent);
-  background-image: -webkit-linear-gradient(315deg, rgba(0, 0, 0, 0.03) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.03) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, transparent 75%, transparent);
-  background-color: #FAFCFD;
-  -webkit-background-size: 16px 16px;
-  background-size: 16px 16px;
-}
-.dropzone .dz-drag-hover {
-  background: rgba(0, 0, 0, 0.04);
-}
-.dropzone.dz-clickable,
-.dropzone.dz-clickable .dz-message,
-.dropzone.dz-clickable .dz-message span {
-  cursor: pointer;
-}
-.dropzone.dz-clickable * {
-  cursor: default;
-}
-.dropzone .dz-message {
-  opacity: 1;
-  -ms-filter: none;
-  -webkit-filter: none;
-  filter: none;
-}
-.dropzone .dz-drag-hover {
-  background-image: -webkit-gradient(linear, left top, right bottom, color-stop(0.25, rgba(0, 0, 0, 0.03)), color-stop(0.25, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(0, 0, 0, 0)), color-stop(0.5, rgba(0, 0, 0, 0.03)), color-stop(0.75, rgba(0, 0, 0, 0.03)), color-stop(0.75, rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0)));
-  background-image: -webkit-linear-gradient(135deg, rgba(0, 0, 0, 0.03) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
-  background-image: -webkit-linear-gradient(315deg, rgba(0, 0, 0, 0.03) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
-  background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.03) 25%, rgba(0, 0, 0, 0) 25%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0.03) 50%, rgba(0, 0, 0, 0.03) 75%, rgba(0, 0, 0, 0) 75%, rgba(0, 0, 0, 0));
-  background-color: #fafafa;
-  -webkit-background-size: 22px 22px;
-  background-size: 22px 22px;
-  border: 5px dashed #ccc;
-}
-.dropzone .dz-default.dz-message {
-  opacity: 1;
-  -ms-filter: none;
-  -webkit-filter: none;
-  filter: none;
-  -webkit-transition: opacity 0.3s ease-in-out;
-  transition: opacity 0.3s ease-in-out;
-  background-image: url(../img/dropzone/spritemap.png);
-  background-repeat: no-repeat;
-  background-position: 0 0;
-  position: absolute;
-  width: 428px;
-  height: 123px;
-  margin-left: -214px;
-  margin-top: -61.5px;
-  top: 50%;
-  left: 50%;
-}
-.dropzone .dz-default.dz-message span {
-  display: none;
-}
-.dropzone.dz-square .dz-default.dz-message {
-  background-position: 0 -123px;
-  width: 268px;
-  margin-left: -134px;
-  height: 174px;
-  margin-top: -87px;
-}
-.dropzone.dz-drag-hover .dz-message {
-  opacity: 0.15;
-  -ms-filter: "alpha(Opacity=15)";
-  filter: alpha(opacity=15);
-}
-.dropzone.dz-started .dz-message {
-  display: block;
-  opacity: 0;
-  -ms-filter: "alpha(Opacity=0)";
-  filter: alpha(opacity=0);
-}
-.irs {
-  position: relative;
-  display: block;
-  height: 40px;
-}
-.irs-line {
-  position: relative;
-  display: block;
-  overflow: hidden;
-  height: 8px;
-  top: 25px;
-  background: #eee;
-}
-.irs-line-left,
-.irs-line-mid,
-.irs-line-right {
-  position: absolute;
-  display: block;
-  top: 0;
-  height: 8px;
-}
-.irs-line-left {
-  left: 0;
-  width: 10%;
-}
-.irs-line-mid {
-  left: 10%;
-  width: 80%;
-}
-.irs-line-right {
-  right: 0;
-  width: 10%;
-}
-.irs-diapason {
-  position: absolute;
-  display: block;
-  left: 0;
-  width: 100%;
-}
-.irs-slider {
-  position: absolute;
-  display: block;
-  cursor: default;
-  z-index: 1;
-  width: 10px;
-  height: 22px;
-  top: 17px;
-  border: 1px solid #fff;
-  background: #858585;
-}
-.irs-slider:hover {
-  background: #6c6c6c;
-}
-.irs-slider.single {
-  left: 10px;
-}
-.irs-slider.single:before {
-  position: absolute;
-  display: block;
-  content: "";
-  top: -50%;
-  left: -150%;
-  width: 400%;
-  height: 200%;
-  background: rgba(0, 0, 0, 0);
-}
-.irs-slider.from {
-  left: 100px;
-}
-.irs-slider.from:before {
-  position: absolute;
-  display: block;
-  content: "";
-  top: -50%;
-  left: -300%;
-  width: 400%;
-  height: 200%;
-  background: rgba(0, 0, 0, 0);
-}
-.irs-slider.to {
-  left: 300px;
-}
-.irs-slider.to:before {
-  position: absolute;
-  display: block;
-  content: "";
-  top: -50%;
-  left: 0;
-  width: 400%;
-  height: 200%;
-  background: rgba(0, 0, 0, 0);
-}
-.irs-slider.last {
-  z-index: 2;
-}
-.irs-max,
-.irs-min {
-  color: #999;
-  font-size: 12px;
-  line-height: 1.333;
-  text-shadow: none;
-  top: 0;
-  padding: 1px 3px;
-  background: rgba(0, 0, 0, 0.1);
-  border-radius: 0;
-}
-.lt-ie9 .irs-max,
-.lt-ie9 .irs-min {
-  background: #bfbfbf;
-}
-.irs-min {
-  position: absolute;
-  display: block;
-  left: 0;
-  cursor: default;
-}
-.irs-max {
-  position: absolute;
-  display: block;
-  right: 0;
-  cursor: default;
-}
-.irs-from,
-.irs-single,
-.irs-to {
-  position: absolute;
-  display: block;
-  top: 0;
-  left: 0;
-  cursor: default;
-  white-space: nowrap;
-}
-.lt-ie9 .irs-from,
-.lt-ie9 .irs-single,
-.lt-ie9 .irs-to {
-  background: #999;
-}
-.irs-grid {
-  position: absolute;
-  display: none;
-  bottom: 0;
-  left: 0;
-  width: 100%;
-  height: 20px;
-}
-.irs-with-grid {
-  height: 60px;
-}
-.irs-with-grid .irs-grid {
-  display: block;
-}
-.irs-grid-pol {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 1px;
-  height: 8px;
-  background: #99a4ac;
-}
-.irs-grid-pol.small {
-  height: 4px;
-}
-.irs-grid-text {
-  position: absolute;
-  bottom: 0;
-  left: 0;
-  width: 100px;
-  white-space: nowrap;
-  text-align: center;
-  font-size: 9px;
-  line-height: 9px;
-  color: #99a4ac;
-}
-.irs-diapason {
-  background: #3276b1;
-  height: 8px;
-  top: 25px;
-}
-.irs .irs-from,
-.irs .irs-single,
-.irs .irs-to {
-  color: #fff;
-  font-size: 10px;
-  line-height: 1.333;
-  text-shadow: none;
-  padding: 1px 5px;
-  background: rgba(0, 0, 0, 0.4);
-  border-radius: 0;
-}
-#irs-active-slider {
-  background: #686868;
-  -webkit-box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 1px 0;
-  box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 1px 0;
-  width: 12px;
-  height: 24px;
-  top: 16px;
-}
-/*
- * Google maps
- */
-.google_maps {
-  width: 100%;
-  height: 350px;
-  position: relative;
-}
-.google_maps * {
-  box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  -moz-box-sizing: content-box;
-}
-.google_maps img {
-  max-width: none;
-}
-/*
- * JQuery-UI for Bootstrap
- */
-.ui-helper-hidden {
-  display: none;
-}
-.ui-helper-hidden-accessible {
-  border: 0;
-  clip: rect(0 0 0 0);
-  height: 1px;
-  margin: -1px;
-  overflow: hidden;
-  padding: 0;
-  position: absolute;
-  width: 1px;
-}
-.ui-helper-reset {
-  margin: 0;
-  padding: 0;
-  border: 0;
-  outline: 0;
-  line-height: 1.3;
-  text-decoration: none;
-  font-size: 100%;
-  list-style: none;
-}
-.ui-helper-clearfix {
-  display: block;
-  min-height: 0;
-}
-.ui-helper-clearfix:after,
-.ui-helper-clearfix:before {
-  content: "";
-  display: table;
-  border-collapse: collapse;
-}
-.ui-helper-clearfix:after {
-  content: ".";
-  display: block;
-  height: 0;
-  clear: both;
-  visibility: hidden;
-}
-* html .ui-helper-clearfix {
-  height: 1%;
-}
-.ui-helper-zfix {
-  width: 100%;
-  height: 100%;
-  top: 0;
-  left: 0;
-  position: absolute;
-  opacity: 0;
-  filter: alpha(opacity=0);
-}
-.ui-front {
-  z-index: 100;
-}
-.ui-state-disabled {
-  cursor: default !important;
-}
-.ui-icon {
-  display: block;
-  width: 16px;
-  height: 16px;
-  text-indent: -99999px;
-  overflow: hidden;
-  background-repeat: no-repeat;
-}
-.ui-sortable {
-  overflow: auto;
-  overflow-x: hidden;
-}
-.ui-sortable .ui-sortable-helper {
-  background-color: #525252;
-}
-.ui-sortable .ui-sortable-placeholder {
-  visibility: visible!important;
-  background-color: #d5e7ec;
-}
-.ui-sortable .ui-sortable-handle {
-  cursor: move;
-}
-/*
- * UI widget
- */
-.ui-widget {
-  font-family: Ubuntu, Helvetica, Arial, sans-serif;
-  font-size: 13px;
-}
-.ui-widget :active {
-  outline: 0;
-}
-.ui-widget .ui-widget {
-  font-size: 13px;
-}
-.ui-widget button,
-.ui-widget input,
-.ui-widget select,
-.ui-widget textarea {
-  font-family: Ubuntu, Helvetica, Arial, sans-serif;
-  font-size: inherit;
-}
-.ui-widget-content {
-  border: 1px solid #aaa;
-  background: #fff;
-  color: #404040;
-}
-.ui-widget-content .ui-icon {
-  background: none!important;
-}
-.ui-widget-header {
-  font-weight: 700;
-  background-color: #F5F5F5;
-  border-color: #DDD;
-  color: #333;
-}
-.ui-widget-header a {
-  color: #222;
-}
-.ui-widget-overlay {
-  position: fixed;
-  background: #AAA;
-  width: 100%;
-  height: 200%;
-  top: 0;
-  left: 0;
-  z-index: 999;
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-}
-.ui-widget-shadow {
-  margin: -8px 0 0 -8px;
-  padding: 8px;
-  background: #aaa;
-  opacity: 0.3;
-  filter: alpha(opacity=30);
-  border-radius: 8px;
-}
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
-  color: #333;
-  background-color: #fff;
-  font-weight: 400;
-  border: 1px solid #ccc;
-}
-.ui-state-default a,
-.ui-state-default a:link,
-.ui-state-default a:visited {
-  color: #555;
-  text-decoration: none;
-}
-.ui-state-default,
-.ui-widget-content .ui-state-default,
-.ui-widget-header .ui-state-default {
-  text-shadow: none;
-}
-.ui-state-default,
-.ui-state-error,
-.ui-state-highlight {
-  position: relative;
-  border-width: 1px;
-  border-style: solid;
-}
-.ui-state-default p,
-.ui-state-error p,
-.ui-state-highlight p {
-  font-size: 13px;
-  font-weight: 400;
-  line-height: 18px;
-  margin: 7px 15px;
-}
-.ui-state-highlight,
-.ui-widget-content .ui-state-highlight,
-.ui-widget-header .ui-state-highlight {
-  color: #3a87ad;
-  background-color: #d9edf7;
-  border-color: #bce8f1;
-}
-.ui-state-highlight a,
-.ui-widget-content .ui-state-highlight a,
-.ui-widget-header .ui-state-highlight a {
-  color: #2d6987;
-}
-.ui-state-error,
-.ui-widget-content .ui-state-error,
-.ui-widget-header .ui-state-error {
-  color: #b94a48;
-  background-color: #f2dede;
-  border-color: #eed3d7;
-}
-.ui-state-error a,
-.ui-state-error-text,
-.ui-widget-content .ui-state-error a,
-.ui-widget-content .ui-state-error-text,
-.ui-widget-header .ui-state-error a,
-.ui-widget-header .ui-state-error-text {
-  color: #953b39;
-}
-.ui-state-focus,
-.ui-state-hover,
-.ui-widget-content .ui-state-focus,
-.ui-widget-content .ui-state-hover,
-.ui-widget-header .ui-state-focus,
-.ui-widget-header .ui-state-hover {
-  color: #333;
-  background-color: #ebebeb;
-  border-color: #adadad;
-  text-decoration: none;
-}
-.ui-state-hover a:hover,
-.ui-state-hover a:link,
-.ui-state-hover a:visited {
-  color: #333;
-  text-decoration: none;
-}
-.ui-widget-content .ui-state-active,
-.ui-widget-header .ui-state-active {
-  border: 1px solid #adadad;
-  font-weight: 400;
-  color: #333;
-}
-.ui-state-active a,
-.ui-state-active a:link,
-.ui-state-active a:visited {
-  color: #333;
-  text-decoration: none;
-}
-.ui-state-disabled,
-.ui-widget-content .ui-state-disabled,
-.ui-widget-header .ui-state-disabled {
-  opacity: 0.35;
-  filter: alpha(opacity=35);
-  background-image: none;
-}
-.ui-state-disabled .ui-icon,
-.ui-widget-content .ui-state-disabled .ui-icon,
-.ui-widget-header .ui-state-disabled .ui-icon {
-  filter: alpha(opacity=35);
-}
-.ui-priority-primary,
-.ui-widget-content .ui-priority-primary,
-.ui-widget-header .ui-priority-primary {
-  font-weight: 700;
-}
-.ui-priority-secondary,
-.ui-widget-content .ui-priority-secondary,
-.ui-widget-header .ui-priority-secondary {
-  opacity: 0.7;
-  filter: alpha(opacity=70);
-  font-weight: 400;
-}
-.ui-corner-all {
-  border-radius: 0;
-}
-.ui-corner-left,
-.ui-corner-tl,
-.ui-corner-top {
-  border-top-left-radius: 4px;
-}
-.ui-corner-right,
-.ui-corner-top,
-.ui-corner-tr {
-  border-top-right-radius: 4px;
-}
-.ui-corner-bl,
-.ui-corner-bottom,
-.ui-corner-left {
-  border-bottom-left-radius: 4px;
-}
-.ui-corner-bottom,
-.ui-corner-br,
-.ui-corner-right {
-  border-bottom-right-radius: 4px;
-}
-.ui-autocomplete {
-  position: absolute;
-  top: 0;
-  left: 0;
-  cursor: default;
-}
-input[type=color].ui-autocomplete-loading,
-input[type=date].ui-autocomplete-loading,
-input[type=datetime-local].ui-autocomplete-loading,
-input[type=datetime].ui-autocomplete-loading,
-input[type=email].ui-autocomplete-loading,
-input[type=month].ui-autocomplete-loading,
-input[type=number].ui-autocomplete-loading,
-input[type=password].ui-autocomplete-loading,
-input[type=search].ui-autocomplete-loading,
-input[type=tel].ui-autocomplete-loading,
-input[type=text].ui-autocomplete-loading,
-input[type=time].ui-autocomplete-loading,
-input[type=url].ui-autocomplete-loading,
-input[type=week].ui-autocomplete-loading {
-  background-image: url(../img/select2-spinner.gif) !important;
-  background-repeat: no-repeat;
-  background-position: 99% 50%;
-  padding-right: 27px;
-}
-/*
- * UI buttons
- */
-.ui-btn-lg {
-  padding: 10px 16px;
-  font-size: 18px;
-  line-height: 1.33;
-  border-radius: 6px;
-}
-.ui-btn-sm,
-.ui-btn-xs {
-  padding: 5px 10px;
-  font-size: 12px;
-  line-height: 1.5;
-  border-radius: 3px;
-}
-.ui-btn-xs {
-  padding: 1px 5px;
-}
-.ui-btn-block {
-  display: block;
-  width: 100%;
-  padding-right: 0;
-  padding-left: 0;
-}
-.ui-btn-block + .ui-btn-block {
-  margin-top: 5px;
-}
-input[type=button].ui-btn-block,
-input[type=reset].ui-btn-block,
-input[type=submit].ui-btn-block {
-  width: 100%;
-}
-.ui-button {
-  display: inline-block;
-  padding: 6px 12px;
-  margin-bottom: 0;
-  font-size: 14px;
-  font-weight: 400;
-  line-height: 1.42857143;
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: middle;
-  cursor: pointer;
-  border: 1px solid #ccc;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  -o-user-select: none;
-  user-select: none;
-}
-.ui-button:focus {
-  outline: thin dotted #333;
-  outline: 5px auto -webkit-focus-ring-color;
-  outline-offset: -2px;
-}
-.ui-button:focus,
-.ui-button:hover {
-  color: #333;
-  background-color: #ebebeb;
-  border-color: #adadad;
-  text-decoration: none;
-}
-fieldset[disabled] .ui-button,
-fieldset[disabled] .ui-button.ui-state-active,
-fieldset[disabled] .ui-button:active,
-fieldset[disabled] .ui-button:focus,
-fieldset[disabled] .ui-button:hover,
-.ui-button.disabled,
-.ui-button.disabled.active,
-.ui-button.disabled:active,
-.ui-button.disabled:focus,
-.ui-button.disabled:hover,
-.ui-button[disabled],
-.ui-button[disabled].active,
-.ui-button[disabled]:active,
-.ui-button[disabled]:focus,
-.ui-button[disabled]:hover {
-  background-color: #fff;
-  border-color: #ccc;
-}
-.ui-button-text-icon-primary .ui-button-icon-primary {
-  float: left;
-}
-.ui-button-text-icon-primary {
-  padding: 2px 7px 3px;
-}
-.ui-button-primary {
-  color: #fff;
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.ui-button-warning {
-  color: #fff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.ui-button-info {
-  color: #fff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.ui-button-danger {
-  color: #fff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.ui-button-inverse {
-  color: #fff;
-  background-color: #222;
-  border-color: #080808;
-}
-.ui-button-success {
-  color: #fff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.ui-button-error {
-  color: #fff;
-  background-color: #c43c35;
-  border-color: #882a25;
-}
-.ui-button-danger:hover,
-.ui-button-info:hover,
-.ui-button-inverse:hover,
-.ui-button-primary:hover,
-.ui-button-success:hover,
-.ui-button-warning:hover {
-  text-decoration: none;
-}
-.ui-button-primary:focus,
-.ui-button-primary:hover {
-  color: #fff;
-  background-color: #3276b1;
-  border-color: #285e8e;
-}
-.ui-button-success:hover {
-  color: #fff;
-  background-color: #47a447;
-  border-color: #398439;
-}
-.ui-button-info:hover {
-  color: #fff;
-  background-color: #39b3d7;
-  border-color: #269abc;
-}
-.ui-button-danger:hover {
-  color: #fff;
-  background-color: #d2322d;
-  border-color: #ac2925;
-}
-.ui-button-warning:hover {
-  color: #fff;
-  background-color: #ed9c28;
-  border-color: #d58512;
-}
-.ui-button-inverse:hover {
-  color: #fff;
-  background-color: #363636;
-  border-color: #000;
-}
-.ui-button-icon-only {
-  width: 2.2em;
-}
-.ui-button-icons-only {
-  width: 3.4em;
-}
-button.ui-button-icons-only {
-  width: 3.7em;
-}
-.ui-button-text-icon-primary .ui-button-icon-primary.ui-icon {
-  margin-top: 5px;
-}
-.ui-button .ui-button-text {
-  display: block;
-  line-height: normal;
-}
-.ui-button-icon-only .ui-button-text,
-.ui-button-icons-only .ui-button-text {
-  padding: 0.4em;
-  text-indent: -9999px;
-  display: none;
-}
-.ui-button-text-icon-primary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-  padding: 0.4em 1em 0.4em 2.1em;
-}
-.ui-button-text-icon-secondary .ui-button-text,
-.ui-button-text-icons .ui-button-text {
-  padding: 0.4em 2.1em 0.4em 1em;
-}
-.ui-button-text-icons .ui-button-text {
-  padding-left: 2.1em;
-  padding-right: 2.1em;
-}
-input.ui-button {
-  padding: 0.4em 1em;
-}
-.ui-button-icon-only .ui-icon,
-.ui-button-icons-only .ui-icon,
-.ui-button-text-icon-primary .ui-icon,
-.ui-button-text-icon-secondary .ui-icon,
-.ui-button-text-icons .ui-icon {
-  margin-bottom: 0;
-  margin-top: 0;
-  top: 50%;
-}
-.ui-button-icon-only .ui-icon {
-  left: 50%;
-  margin-left: -8px;
-  margin-right: -6px;
-}
-.ui-button-icons-only .ui-button-icon-primary,
-.ui-button-text-icon-primary .ui-button-icon-primary,
-.ui-button-text-icons .ui-button-icon-primary {
-  left: 0.5em;
-}
-.ui-button-icons-only .ui-button-icon-secondary,
-.ui-button-text-icon-secondary .ui-button-icon-secondary,
-.ui-button-text-icons .ui-button-icon-secondary {
-  right: 0.5em;
-}
-.ui-buttonset {
-  margin-right: 7px;
-}
-.ui-buttonset .ui-state-active {
-  color: #fff;
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.ui-buttonset .ui-state-active.ui-state-hover {
-  color: #fff;
-  background-color: #3276b1;
-  border-color: #285e8e;
-}
-.ui-buttonset .ui-button {
-  margin-left: 0;
-  margin-right: -0.4em;
-}
-button.ui-button::-moz-focus-inner {
-  border: 0;
-  padding: 0;
-}
-/*
- * UI slider
- */
-.ui-slider {
-  position: relative;
-  text-align: left;
-}
-.ui-slider.ui-state-disabled .ui-slider-handle,
-.ui-slider.ui-state-disabled .ui-slider-range {
-  -webkit-filter: inherit;
-  filter: inherit;
-}
-.ui-slider .ui-slider-handle {
-  position: absolute;
-  z-index: 2;
-  width: 16px;
-  height: 18px;
-  cursor: default;
-}
-.ui-slider .ui-slider-range {
-  position: absolute;
-  z-index: 1;
-  font-size: 0.7em;
-  display: block;
-  border: 0;
-  background-position: 0 0;
-  color: #fff;
-  background-color: #0e90d2;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#149bdf), to(#0480be));
-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
-  background-image: linear-gradient(to bottom, #149bdf, #0480be);
-  background-repeat: repeat-x;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  -webkit-transition: width 0.6s ease;
-  transition: width 0.6s ease;
-}
-.ui-slider-horizontal {
-  height: 10px;
-  background: #D5D5D5;
-  border: 0;
-}
-.ui-slider-horizontal .ui-slider-handle {
-  top: -0.2em;
-  margin-left: -0.5em;
-  background-color: #fff;
-  border-color: #CCC;
-}
-.ui-slider-horizontal .ui-slider-handle:focus {
-  background-color: #fff;
-  border-color: #357EBD;
-}
-.ui-slider-horizontal .ui-slider-handle:hover {
-  background-color: #fff;
-  border-color: #285E8E;
-  outline: 0;
-}
-.ui-slider-horizontal .ui-slider-handle:active {
-  background-color: #428BCA;
-  border-color: #3276B1;
-}
-.ui-slider-horizontal .ui-slider-range {
-  top: 0;
-  height: 100%;
-}
-.ui-slider-horizontal .ui-slider-range-min {
-  left: 0;
-}
-.ui-slider-horizontal .ui-slider-range-max {
-  right: 0;
-}
-.ui-slider-vertical {
-  width: 0.8em;
-  height: 100px;
-}
-.ui-slider-vertical .ui-slider-handle {
-  left: -0.3em;
-  margin-left: 0;
-  margin-bottom: -0.6em;
-}
-.ui-slider-vertical .ui-slider-range {
-  left: 0;
-  width: 100%;
-}
-.ui-slider-vertical .ui-slider-range-min {
-  bottom: 0;
-}
-.ui-slider-vertical .ui-slider-range-max {
-  top: 0;
-}
-/*
- * UI tabs
- */
-.ui-tabs {
-  position: relative;
-  border: 0;
-  border-radius: 0;
-}
-.ui-tabs .ui-tabs-panel {
-  display: block;
-  border-radius: 0;
-  background: 0 0;
-}
-.ui-tabs .ui-tabs-nav {
-  margin-bottom: 0;
-  border: solid #ddd;
-  border-width: 0 0 1px;
-  border-radius: 0;
-  background: 0 0;
-}
-.ui-tabs .ui-tabs-nav li {
-  position: relative;
-  top: 0;
-  float: left;
-  margin-bottom: -1px;
-  margin-right: 3px;
-  border: 0;
-  list-style: none;
-  white-space: nowrap;
-  background: 0 0;
-  -webkit-filter: none;
-  filter: none;
-}
-.ui-tabs .ui-tabs-nav li.ui-tabs-active:hover {
-  background: #fff;
-  cursor: text;
-}
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a {
-  border: 1px solid #ddd;
-  border-bottom: 1px solid #fff;
-  background-color: #fff;
-  color: #555;
-  font-weight: 700;
-  border-top-width: 0!important;
-  margin-top: 1px!important;
-  -webkit-box-shadow: 0 -2px 0 #57889c;
-  box-shadow: 0 -2px 0 #57889c;
-}
-.ui-tabs .ui-tabs-nav li a {
-  float: left;
-  padding: 8px 12px;
-  font-weight: 400;
-  text-decoration: none;
-  outline: 0;
-  background: 0 0;
-  border-radius: 0;
-  background-color: #F5F5F5;
-  border: 1px solid #F5F5F5;
-  border-bottom: 1px solid #ddd;
-  color: #838383;
-}
-.ui-tabs .ui-tabs-nav li a:hover {
-  border: 1px solid #f5f5f5;
-  border-bottom: 1px solid #ddd;
-  background-color: #f5f5f5;
-}
-.ui-tabs .ui-tabs-nav li.ui-state-disabled a,
-.ui-tabs .ui-tabs-nav li.ui-tabs-active a,
-.ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
-  cursor: text;
-}
-.ui-tabs .ui-tabs-nav .ui-state-default {
-  border: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.ui-tabs .ui-tabs-panel {
-  border: 1px solid #ddd;
-  margin: 0;
-  padding: 10px 13px;
-  border-top: 0;
-}
-.ui-tabs .ui-tabs-hide {
-  display: none!important;
-}
-/*
- * UI tooltip
- */
-.ui-tooltip {
-  display: block;
-  font-size: 11px;
-  opacity: 0.8;
-  position: absolute;
-  visibility: visible;
-  z-index: 1024;
-  max-width: 200px;
-  background: #000;
-  border: 1px solid #000;
-  color: #FFF;
-  padding: 3px 8px;
-  text-align: center;
-  text-decoration: none;
-  -webkit-box-shadow: inset 0 1px 0 #000;
-  box-shadow: inset 0 1px 0 #000;
-  border-radius: 4px;
-}
-body .ui-tooltip {
-  border-width: 1px;
-}
-/*
- * UI spinner
- */
-.ui-spinner {
-  position: relative;
-  display: inline-block;
-  overflow: hidden;
-  width: 100%;
-  padding: 0;
-  vertical-align: middle;
-}
-.ui-spinner-input {
-  margin: 0!important;
-  height: 30px;
-  padding: 6px 24px 6px 12px;
-  border: 0;
-  background: 0 0;
-  vertical-align: middle;
-}
-.ui-spinner-input.spinner-left {
-  padding: 6px 12px 6px 24px;
-}
-.ui-spinner-input.spinner-left + .ui-spinner-button,
-.ui-spinner-input.spinner-left + .ui-spinner-button + .ui-spinner-button {
-  right: auto;
-  left: 0;
-}
-.ui-spinner-input.spinner-both {
-  padding: 6px 30px;
-}
-.ui-spinner-input.spinner-both + .ui-spinner-button + .ui-spinner-button {
-  left: 0;
-  right: auto;
-}
-.ui-spinner-input.spinner-both + .ui-spinner-button,
-.ui-spinner-input.spinner-both + .ui-spinner-button + .ui-spinner-button {
-  height: 30px;
-  width: 25px;
-}
-.ui-spinner-input.spinner-both + .ui-spinner-up + .ui-spinner-down:before,
-.ui-spinner-input.spinner-both + .ui-spinner-up:before {
-  margin-top: 8px;
-}
-.ui-spinner-button {
-  width: 19px;
-  height: 50%;
-  font-size: 0.5em;
-  padding: 0;
-  margin: 0;
-  text-align: center;
-  position: absolute;
-  cursor: default;
-  display: block;
-  overflow: hidden;
-  right: 0;
-}
-.ui-spinner a.ui-spinner-button {
-  border-top: 0;
-  border-bottom: 0;
-  border-right: 0;
-}
-.ui-spinner .ui-icon {
-  position: absolute;
-  margin-top: -8px;
-  top: 50%;
-  left: 0;
-}
-.ui-spinner-down,
-.ui-spinner-up {
-  background: #739e73;
-  border-radius: 0;
-}
-.ui-spinner-down:before,
-.ui-spinner-up:before {
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  content: "\f067";
-  color: #fff;
-  font-size: 14px;
-  margin-top: 1px;
-}
-.ui-spinner-down > :first-child,
-.ui-spinner-up > :first-child {
-  display: none;
-}
-.ui-spinner-up {
-  top: 0;
-}
-.ui-spinner-up:active,
-.ui-spinner-up:focus,
-.ui-spinner-up:hover {
-  background: #5b835b;
-}
-.ui-spinner-down {
-  bottom: 0;
-  background: #c2032f;
-}
-.ui-spinner-down:before {
-  content: "\f068";
-}
-.ui-spinner-down:active,
-.ui-spinner-down:focus,
-.ui-spinner-down:hover {
-  background: #77021d;
-}
-.ui-spinner .ui-icon-triangle-1-s {
-  background-position: -65px -16px;
-}
-/*
- * UI date picker
- */
-.ui-datepicker {
-  width: 20em;
-  padding: 0.2em 0.2em 0;
-  display: none;
-  z-index: 9999!important;
-}
-.ui-datepicker-inline {
-  z-index: 9000!important;
-}
-.ui-datepicker-header {
-  position: relative;
-  border: 0;
-  font-weight: 700;
-  width: 100%;
-  padding: 4px 0;
-  background-color: #f5f5f5;
-  color: gray;
-}
-.ui-datepicker-next,
-.ui-datepicker-prev {
-  position: absolute;
-  top: 2px;
-  width: 5.6em;
-  height: 1.8em;
-  text-align: center;
-  margin-top: 2px;
-  cursor: pointer;
-}
-.ui-datepicker-next > :first-child,
-.ui-datepicker-prev > :first-child {
-  text-indent: 0!important;
-}
-.ui-datepicker-next span,
-.ui-datepicker-prev span {
-  display: block;
-  position: absolute;
-  text-align: center;
-  top: 50%;
-  margin-top: -8px;
-  width: 5.8em;
-}
-.ui-datepicker-prev {
-  left: 2px;
-}
-.ui-datepicker-next {
-  right: 2px;
-}
-.ui-datepicker-title {
-  margin: 0 5.8em;
-  line-height: 1.8em;
-  text-align: center;
-}
-.ui-datepicker-title select {
-  font-size: 1em;
-  margin: 1px 0;
-}
-.ui-datepicker select.ui-datepicker-month-year {
-  width: 100%;
-}
-.ui-datepicker select.ui-datepicker-month,
-.ui-datepicker select.ui-datepicker-year {
-  width: 49%;
-}
-.ui-datepicker table {
-  width: 100%;
-  font-size: 0.9em;
-  border-collapse: collapse;
-  margin: 0 0 0.4em;
-}
-.ui-datepicker th {
-  padding: 0.7em 0.3em;
-  text-align: center;
-  border: 0;
-  font-weight: 700;
-  color: gray;
-}
-.ui-datepicker td {
-  border: 0;
-  padding: 1px;
-}
-.ui-datepicker td:hover {
-  color: #fff;
-}
-.ui-datepicker td a {
-  margin-bottom: 0;
-  border: 0;
-}
-.ui-datepicker td a,
-.ui-datepicker td span {
-  display: block;
-  padding: 0.2em;
-  text-align: right;
-  text-decoration: none;
-}
-.ui-datepicker td .ui-state-default {
-  border: 0;
-  background: 0 0;
-  margin-bottom: 0;
-  padding: 5px;
-  color: gray;
-  text-align: center;
-  -webkit-filter: none;
-  filter: none;
-}
-.ui-datepicker td .ui-state-highlight {
-  color: #fff;
-  background-color: #A90329;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-radius: 0;
-}
-.ui-datepicker td .ui-state-active {
-  color: #333;
-  background-color: #ebebeb;
-  margin-bottom: 0;
-  font-size: normal;
-  text-shadow: 0;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-radius: 0;
-}
-.ui-datepicker td .ui-state-hover {
-  color: #fff;
-  background: #428bca;
-  background-color: #428bca;
-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
-  border-color: #357ebd;
-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
-  border-radius: 0;
-}
-.ui-datepicker-buttonpane {
-  background-image: none;
-  margin: 0.7em 0 0;
-  padding: 0 0.2em;
-  border-left: 0;
-  border-right: 0;
-  border-bottom: 0;
-}
-.ui-datepicker-buttonpane button {
-  float: right;
-  margin: 0.5em 0.2em 0.4em;
-  cursor: pointer;
-  padding: 0.2em 0.6em 0.3em;
-  width: auto;
-  overflow: visible;
-}
-.ui-datepicker-buttonpane button.ui-datepicker-current {
-  float: left;
-}
-.ui-datepicker-multi {
-  width: auto;
-}
-.ui-datepicker-multi .ui-datepicker-group {
-  float: left;
-}
-.ui-datepicker-multi .ui-datepicker-group table {
-  width: 95%;
-  margin: 0 auto 0.4em;
-}
-.ui-datepicker-multi-2 .ui-datepicker-group {
-  width: 50%;
-}
-.ui-datepicker-multi-3 .ui-datepicker-group {
-  width: 33.3%;
-}
-.ui-datepicker-multi-4 .ui-datepicker-group {
-  width: 25%;
-}
-.ui-datepicker-multi .ui-detepicker-group-last .ui-datepicker-header,
-.ui-datepicker-multi .ui-datepicket-group-middle .ui-datepicker-header {
-  border-left-width: 0;
-}
-.ui-datepicker-multi .ui-datepicker-buttonpane {
-  clear: left;
-}
-.ui-datepicker-row-break {
-  clear: both;
-  width: 100%;
-  font-size: 0;
-}
-.ui-datepicker-rtl {
-  direction: rtl;
-}
-.ui-datepicker-rtl .ui-datepicker-prev {
-  right: 2px;
-  left: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-next {
-  left: 2px;
-  right: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-prev:hover {
-  right: 1px;
-  left: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-next:hover {
-  left: 1px;
-  right: auto;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane {
-  clear: right;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane button {
-  float: left;
-}
-.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
-.ui-datepicker-rtl .ui-datepicker-group {
-  float: right;
-}
-.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
-.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
-  border-right-width: 0;
-  border-left-width: 1px;
-}
-.ui-datepicker-cover {
-  display: none;
-  display: block;
-  position: absolute;
-  z-index: -1;
-  -webkit-filter: mask();
-  filter: mask();
-  top: -4px;
-  left: -4px;
-  width: 200px;
-  height: 200px;
-}
-.ui-datepicker-today a {
-  background-color: #BFBFBF;
-  cursor: pointer;
-  padding: 0 4px;
-  margin-bottom: 0;
-}
-.ui-datepicker-today a:hover {
-  background-color: gray;
-  color: #fff;
-}
-/*
- * UI progressbar
- */
-.ui-progressbar {
-  height: 2em;
-  margin-bottom: 20px;
-  border: 0;
-  overflow: hidden;
-  background-color: #f7f7f7;
-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
-  background-image: -webkit-gradient(linear, top left, bottom left, from(#f5f5f5), to(#f9f9f9));
-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
-  background-repeat: repeat-x;
-  border-radius: 0;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
-}
-.ui-progressbar .ui-progressbar-value {
-  margin: 0;
-  height: 100%;
-  color: #fff;
-  background-color: #428BCA;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  -webkit-transition: width 0.6s ease;
-  transition: width 0.6s ease;
-}
-.ui-progressbar .ui-progressbar-overlay {
-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
-  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
-  -webkit-background-size: 40px 40px;
-  background-size: 40px 40px;
-  -webkit-animation: progress-bar-stripes 2s linear infinite;
-  -ms-animation: progress-bar-stripes 2s linear infinite;
-  animation: progress-bar-stripes 2s linear infinite;
-}
-.ui-progressbar-indeterminate .ui-progressbar-value {
-  background-image: none;
-}
-/*
- * UI resizable
- */
-.ui-resizable {
-  position: relative;
-}
-.ui-resizable-handle {
-  position: absolute;
-  font-size: 0.1px;
-  z-index: 99999;
-  display: block;
-}
-.ui-resizable-autohide .ui-resizable-handle,
-.ui-resizable-disabled .ui-resizable-handle {
-  display: none;
-}
-.ui-resizable-n {
-  cursor: n-resize;
-  height: 7px;
-  width: 100%;
-  top: -5px;
-  left: 0;
-}
-.ui-resizable-s {
-  cursor: s-resize;
-  height: 7px;
-  width: 100%;
-  bottom: -5px;
-  left: 0;
-}
-.ui-resizable-e {
-  cursor: e-resize;
-  width: 7px;
-  right: -5px;
-  top: 0;
-  height: 100%;
-}
-.ui-resizable-w {
-  cursor: w-resize;
-  width: 7px;
-  left: -5px;
-  top: 0;
-  height: 100%;
-}
-.ui-resizable-se {
-  cursor: se-resize;
-  width: 12px;
-  height: 12px;
-  right: 1px;
-  bottom: 1px;
-}
-.ui-resizable-sw {
-  cursor: sw-resize;
-  width: 9px;
-  height: 9px;
-  left: -5px;
-  bottom: -5px;
-}
-.ui-resizable-nw {
-  cursor: nw-resize;
-  width: 9px;
-  height: 9px;
-  left: -5px;
-  top: -5px;
-}
-.ui-resizable-ne {
-  cursor: ne-resize;
-  width: 9px;
-  height: 9px;
-  right: -5px;
-  top: -5px;
-}
-/*
- * UI selectable
- */
-.ui-selectable-helper {
-  position: absolute;
-  z-index: 100;
-  border: 1px dotted #000;
-}
-/*
- * UI accordion
- */
-.ui-accordion {
-  width: 100%;
-}
-.ui-accordion .ui-accordion-li-fix {
-  display: inline;
-}
-.ui-accordion .ui-accordion-header {
-  display: block;
-  position: relative;
-  margin-top: -2px;
-  border-color: #ddd !important;
-  padding: 10px 15px 10px 36px!important;
-  cursor: pointer;
-  min-height: 0;
-  background-color: #fbfbfb;
-  border-radius: 0;
-  font-size: 15px;
-}
-.ui-accordion .ui-accordion-header-active {
-  border-bottom: 0!important;
-}
-.ui-accordion .ui-accordion-icons {
-  padding-left: 2.2em;
-}
-.ui-accordion .ui-accordion-noicons {
-  padding-left: 0.7em;
-}
-.ui-accordion .ui-accordion-icons .ui-accordion-icons {
-  padding-left: 2.2em;
-}
-.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
-  position: absolute;
-  left: 0.5em;
-  top: 50%;
-  margin-top: -8px;
-  text-indent: 0!important;
-  background-image: none!important;
-  text-align: center;
-  line-height: normal;
-  left: 12px!important;
-  margin-top: -6px !important;
-  font-size: 14px!important;
-}
-.ui-accordion .ui-accordion-content {
-  margin-top: -3px;
-  border-radius: 0;
-  border-top: 0 none;
-  border-color: #ddd !important;
-  padding: 15px;
-  position: relative;
-  top: 1px;
-  margin-bottom: 2px;
-  overflow: auto;
-  display: none;
-}
-.ui-accordion .ui-accordion-content-active {
-  display: block;
-}
-.ui-accordion-header-active + .ui-accordion-content {
-  border-top: 1px solid #ddd;
-}
-.noUi-target * {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  -webkit-touch-callout: none;
-  -ms-touch-action: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  -ms-user-select: none;
-  cursor: default;
-}
-.noUi-target *[disabled] .noUi-base {
-  background: #999;
-}
-.noUi-target *[disabled] .noUi-connect {
-  background: #BBB;
-}
-.noUi-base {
-  width: 100%;
-  height: 14px;
-  position: relative;
-  max-width: 100%;
-  max-height: 100%;
-  border: 1px solid #bfbfbf;
-  z-index: 1;
-}
-.noUi-origin-lower {
-  background: #72a8d7;
-}
-.noUi-handle {
-  background: #858585;
-  height: 30px;
-  width: 16px;
-  border: 1px solid #fff;
-  margin: -8px 0 0 -8px;
-  cursor: default;
-}
-.noUi-handle:hover {
-  background: #6c6c6c;
-}
-.noUi-active {
-  cursor: default;
-  -webkit-box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
-  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 1px 0;
-  background: #686868;
-  height: 32px;
-  width: 18px;
-  margin: -9px 0 0 -8px;
-  border: 0;
-}
-.noUi-active:after {
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  box-sizing: border-box;
-  content: "";
-  display: block;
-  height: 100%;
-  border: 1px solid #ddd;
-}
-.noUi-connect {
-  background: #3276b1;
-}
-.noUi-background {
-  background: #eee;
-  border: 0;
-}
-.noUi-origin {
-  position: absolute;
-  right: 0;
-  top: 0;
-  bottom: 0;
-  z-index: 0;
-}
-.noUi-origin-upper {
-  background: inherit!important;
-}
-.noUi-z-index {
-  z-index: 10;
-}
-.noUi-vertical {
-  width: 10px;
-  height: 100%;
-}
-.noUi-vertical .noUi-origin {
-  bottom: 0;
-  left: 0;
-}
-.noUi-vertical .noUi-handle {
-  margin: -8px 0 0 -3px;
-}
-.noUi-state-tap .noUi-origin {
-  -webkit-transition: left 0.3s, top 0.3s;
-  transition: left 0.3s, top 0.3s;
-}
-/**
- * UI modal dialog
- */
-.modal-backdrop,
-.modal-backdrop.fade.in {
-  position: fixed;
-  width: 100%;
-  height: 100%;
-  z-index: 990;
-}
-.modal-dialog.modal-max {
-  width: 98%;
-  max-width: 98%;
-}
-@media only screen and (min-width: 768px) {
-  .modal-dialog.modal-xlarge {
-    width: 95%;
-    max-width: 1000px;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .modal-dialog.modal-large {
-    width: 80%;
-    max-width: 900px;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .modal-dialog.modal-medium {
-    width: 60%;
-    max-width: 650px;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .modal-dialog.modal-small {
-    width: 40%;
-    max-width: 450px;
-  }
-}
-.modal-dialog .modal-body .modal-viewport {
-  min-height: 140px;
-}
-.modal-dialog .close:hover {
-  background-color: white;
-}
-.modal-dialog .suffix .alert {
-  margin-bottom: 0;
-}
-.modal-dialog .suffix .alert:last-child {
-  border-radius: 0 0 5px 5px;
-}
-.modal-header {
-  position: relative;
-  cursor: move;
-}
-.modal-header .toolbar {
-  position: absolute;
-  right: 25px;
-  bottom: -19px;
-  z-index: 1;
-}
-.modal-title {
-  min-height: 1.1em;
-}
-.modal-title img {
-  margin: 0 15px 0 0;
-}
-.modal-overflow {
-  position: relative;
-  height: 98%;
-}
-.modal-overflow .modal-body {
-  overflow: hidden;
-}
-.modal-overflow .scrollmarker {
-  position: absolute;
-  width: 100%;
-  height: 20px;
-}
-.modal-overflow .scrollmarker.top {
-  background: -moz-linear-gradient(top, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* FF3.6+ */
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #3276b1), color-stop(17%, rgba(50, 118, 177, 0.83)), color-stop(100%, rgba(50, 118, 177, 0)));
-  /* Chrome,Safari4+ */
-  background: -webkit-linear-gradient(top, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(top, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* Opera 11.10+ */
-  background: -ms-linear-gradient(top, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* IE10+ */
-  background: linear-gradient(to bottom, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* W3C */
-}
-.modal-overflow .scrollmarker.bottom {
-  background: -moz-linear-gradient(bottom, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* FF3.6+ */
-  background: -webkit-gradient(linear, left bottom, left top, color-stop(0%, #3276b1), color-stop(17%, rgba(50, 118, 177, 0.83)), color-stop(100%, rgba(50, 118, 177, 0)));
-  /* Chrome,Safari4+ */
-  background: -webkit-linear-gradient(bottom, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* Chrome10+,Safari5.1+ */
-  background: -o-linear-gradient(bottom, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* Opera 11.10+ */
-  background: -ms-linear-gradient(bottom, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* IE10+ */
-  background: linear-gradient(to top, #3276b1 0%, rgba(50, 118, 177, 0.83) 17%, rgba(50, 118, 177, 0) 100%);
-  /* W3C */
-}
-@media only screen and (max-width: 991px) {
-  .modal-overflow .scrollmarker {
-    display: none;
-  }
-}
-.modal-viewport {
-  overflow-x: hidden;
-  overflow-y: auto;
-}
-.modal-viewport fieldset .alert {
-  margin: 0 -5px 5px !important;
-}
-.ui-dialog {
-  position: absolute;
-  top: 0;
-  left: 0;
-  padding: 0;
-  width: 300px;
-  overflow: hidden;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  background-color: #fff;
-  border-radius: 3px;
-  -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
-  border: 1px solid rgba(0, 0, 0, 0.2);
-  outline: medium none;
-  z-index: 1050;
-}
-.ui-dialog .ui-dialog-titlebar {
-  position: relative;
-  padding: 0 10px;
-  background: #fff;
-  border-color: #fff;
-  font-size: 18px;
-  text-decoration: none;
-  border: 0 0 0 1px solid;
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-  border-bottom: 1px solid #ccc;
-  border-bottom-color: #eee;
-}
-.ui-dialog .ui-dialog-title {
-  float: left;
-  margin: 0;
-  color: #404040;
-  font-weight: 700;
-  padding: 5px;
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-.ui-dialog .ui-dialog-titlebar-close {
-  position: absolute;
-  right: 0.3em;
-  top: 50%;
-  width: 19px;
-  margin: -16px 4px 0 0;
-  padding: 1px;
-  height: 18px;
-  font-size: 20px;
-  font-weight: 700;
-  line-height: 13.5px;
-  text-shadow: 0 1px 0 #fff;
-  filter: alpha(opacity=25);
-  -khtml-opacity: 0.25;
-  -moz-opacity: 0.25;
-  opacity: 0.25;
-  background: 0 0;
-  border: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.ui-dialog .ui-dialog-titlebar-close:before {
-  content: "\f00d";
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  font-size: 13px;
-}
-.ui-dialog .ui-dialog-titlebar-close:focus,
-.ui-dialog .ui-dialog-titlebar-close:hover {
-  padding: 1px;
-  filter: alpha(opacity=90);
-  -moz-opacity: 0.9;
-  opacity: 0.9;
-}
-.ui-dialog .ui-dialog-titlebar-close span {
-  display: block;
-  margin: 1px;
-  text-indent: 9999px;
-}
-.ui-dialog .ui-dialog-content {
-  position: relative;
-  border: 0;
-  padding: 0.5em 1em;
-  background: 0 0;
-  overflow: auto;
-}
-.ui-dialog .ui-dialog-buttonpane {
-  margin: 13px 0 0;
-  padding: 19px 15px 20px;
-  border-top: 1px solid #eee;
-  border-width: 1px 0 0;
-  border-radius: 0 0 6px 6px;
-  background-image: none;
-  background-color: #fff;
-  -webkit-box-shadow: inset 0 1px 0 #fff;
-  box-shadow: inset 0 1px 0 #fff;
-  text-align: right;
-}
-.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
-  float: right;
-}
-.ui-dialog .ui-dialog-buttonpane button {
-  margin: 0 0.4em 0 0;
-  cursor: pointer;
-}
-.ui-dialog .ui-resizable-se {
-  width: 14px;
-  height: 14px;
-  right: 3px;
-  bottom: 3px;
-}
-.ui-draggable .ui-dialog-titlebar {
-  cursor: move;
-}
-.ui-dialog-buttonpane .ui-dialog-buttonset .ui-button {
-  color: #fff;
-  background-color: #428bca;
-  border-color: #357ebd;
-}
-.ui-dialog-buttonpane .ui-dialog-buttonset .ui-button.ui-state-hover {
-  color: #fff;
-  background-color: #3276b1;
-  border-color: #285e8e;
-}
-.ui-dialog-buttonset .ui-button:not(:first-child) {
-  cursor: pointer;
-  display: inline-block;
-  color: #333;
-  background-color: #fff;
-  border: 1px solid #ccc;
-  -webkit-transition: 0.1s linear all;
-  transition: 0.1s linear all;
-  overflow: visible;
-}
-.ui-dialog-buttonset .ui-button:not(:first-child) .ui-state-hover {
-  color: #333;
-  background-color: #ebebeb;
-  border-color: #adadad;
-  text-decoration: none;
-}
-.ui-dialog-buttonset .ui-button.ui-button-info {
-  color: #fff;
-  background-color: #5bc0de;
-  border-color: #46b8da;
-}
-.ui-dialog-buttonset .ui-button.ui-button-info.ui-state-hover {
-  color: #fff;
-  background-color: #39b3d7;
-  border-color: #269abc;
-}
-.ui-dialog-buttonset .ui-button.ui-button-success {
-  color: #fff;
-  background-color: #5cb85c;
-  border-color: #4cae4c;
-}
-.ui-dialog-buttonset .ui-button.ui-button-success.ui-state-hover {
-  color: #fff;
-  background-color: #47a447;
-  border-color: #398439;
-}
-.ui-dialog-buttonset .ui-button.ui-button-warning {
-  color: #fff;
-  background-color: #f0ad4e;
-  border-color: #eea236;
-}
-.ui-dialog-buttonset .ui-button.ui-button-warning.ui-state-hover {
-  color: #fff;
-  background-color: #ed9c28;
-  border-color: #d58512;
-}
-.ui-dialog-buttonset .ui-button.ui-button-danger {
-  color: #fff;
-  background-color: #d9534f;
-  border-color: #d43f3a;
-}
-.ui-dialog-buttonset .ui-button.ui-button-danger.ui-state-hover {
-  color: #fff;
-  background-color: #d2322d;
-  border-color: #ac2925;
-}
-.ui-dialog-buttonset .ui-button.ui-button-inverse {
-  color: #fff;
-  background-color: #222;
-  border-color: #080808;
-}
-.ui-dialog-buttonset .ui-button.ui-button-inverse.ui-state-hover {
-  color: #fff;
-  background-color: #363636;
-  border-color: #000;
-}
-/*
- * Pricing-style component
- */
-.pricing-big {
-  border: 0!important;
-}
-.pricing-big .panel-heading {
-  border-radius: 5px 5px 0 0;
-}
-.pricing-big .panel-title {
-  text-transform: capitalize;
-  font-size: 18px;
-  padding: 20px 0;
-  text-align: center;
-  border-radius: 5px 5px 0 0;
-  margin: 0;
-  font-weight: 700;
-}
-.pricing-big .the-price {
-  padding: 20px 0;
-  background: #333;
-  text-align: center;
-  font-size: 24px;
-  font-weight: 700;
-  color: #FFF;
-  -webkit-box-shadow: none!important;
-  box-shadow: none!important;
-}
-.pricing-big .subscript {
-  font-size: 18px;
-  color: #999;
-  margin-left: 5px;
-}
-.pricing-big .panel-footer {
-  border-radius: 0 0 5px 5px;
-  background-color: #F2F2F2 !important;
-}
-.pricing-big .panel-footer > div {
-  padding: 15px 0 10px;
-  display: block;
-  font-size: 13px;
-}
-.pricing-big .panel-footer .btn {
-  padding: 15px 0;
-  border-radius: 3px;
-  font-weight: 700;
-  font-size: 14px;
-}
-.pricing-big .panel-footer .btn span {
-  font-weight: 400;
-  font-style: italic;
-}
-.pricing-big table {
-  background: #FAFAFA;
-  padding: 20px 15px;
-  height: 230px;
-  text-align: left;
-}
-.price-features {
-  background: #FAFAFA;
-  padding: 20px 15px;
-  min-height: 230px;
-  font-size: 13.5px;
-}
-.price-features .price-features li + li {
-  margin-top: 10px;
-}
-/*
- * Superbox component
- */
-.superbox *,
-.superbox :after,
-.superbox :before {
-  margin: 0;
-  padding: 0;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -webkit-font-smoothing: antialiased;
-  -moz-font-smoothing: antialiased;
-  -o-font-smoothing: antialiased;
-  font-smoothing: antialiased;
-  text-rendering: optimizeLegibility;
-}
-.superbox-list {
-  display: inline-block;
-  *display: inline;
-  zoom: 1;
-  width: 12.5%;
-  padding: 5px;
-  position: relative;
-}
-.superbox-list.active:before {
-  content: "\f0d8";
-  font-family: FontAwesome;
-  display: block;
-  position: absolute;
-  left: 43%;
-  bottom: -34px;
-  z-index: 2;
-  text-align: center;
-  font-size: 45px;
-  color: #222;
-}
-@media only screen and (min-width: 320px) {
-  .superbox-list {
-    width: 50%;
-  }
-}
-@media only screen and (min-width: 486px) {
-  .superbox-list {
-    width: 25%;
-  }
-}
-@media only screen and (min-width: 768px) {
-  .superbox-list {
-    width: 16.66666667%;
-  }
-}
-@media only screen and (min-width: 1025px) {
-  .superbox-list {
-    width: 12.5%;
-  }
-}
-@media only screen and (min-width: 1824px) {
-  .superbox-list {
-    width: 12.5%;
-  }
-}
-.superbox-img {
-  max-width: 100%;
-  width: 100%;
-  cursor: pointer;
-}
-.superbox-show {
-  text-align: left;
-  position: relative;
-  background-color: #222;
-  width: 100%;
-  float: left;
-  padding: 25px 0 12px 25px;
-  display: none;
-  margin: 5px 0;
-}
-.superbox-current-img {
-  max-width: 100%;
-  float: left;
-  padding-right: 25px;
-  padding-bottom: 13px;
-}
-.superbox-img:hover {
-  opacity: 0.8;
-}
-.superbox-float {
-  float: left;
-}
-.superbox-close {
-  opacity: 0.7;
-  cursor: pointer;
-  position: absolute;
-  top: 15px;
-  right: 15px;
-  -webkit-transition: all 0.1s linear 0s;
-  transition: all 0.1s linear 0s;
-}
-.superbox-close:hover {
-  opacity: 1;
-}
-.superbox-imageinfo {
-  display: inline-block;
-  max-width: 500px;
-  color: #fff;
-  padding: 0 25px 0 0;
-}
-.superbox-imageinfo span {
-  font-size: 13px;
-  color: #a19994;
-  margin-right: -2px;
-  padding-top: 10px;
-  display: inline-block;
-  padding-bottom: 13px;
-}
-.superbox-imageinfo > :first-child {
-  margin-bottom: 10px;
-  font-weight: 700;
-}
-.superbox-imageinfo span p:last-child {
-  margin-top: 30px;
-}
-/*
- * Bootstrap tags input
- */
-.bootstrap-tagsinput {
-  display: block;
-  width: 100%;
-  min-height: 32px;
-  padding: 1px 3px;
-  font-size: 13px;
-  line-height: 1.42857143;
-  color: #555;
-  vertical-align: middle;
-  background-color: #FFF;
-  border: 1px solid #CCC;
-  border-radius: 0;
-}
-.bootstrap-tagsinput > span {
-  border-radius: 0!important;
-  font-weight: 400;
-  padding: 3px 28px 4px 8px;
-  font-size: 13px;
-  border: 1px solid #285E8E;
-  background: #3276B1;
-}
-.bootstrap-tagsinput input {
-  border: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-  outline: 0;
-  background-color: transparent;
-  padding: 0;
-  margin: 0;
-  width: auto!important;
-  max-width: inherit;
-}
-.bootstrap-tagsinput input:focus {
-  border: 0;
-  -webkit-box-shadow: none;
-  box-shadow: none;
-}
-.bootstrap-tagsinput .tag {
-  color: #FFF;
-  position: relative;
-  margin: 3px 0 3px 2px;
-  display: inline-block;
-}
-.bootstrap-tagsinput .tag [data-role=remove] {
-  display: block;
-  top: -1px;
-  right: 0;
-  padding: 3px 4px 3px 5px;
-  width: 23px;
-  height: 22px;
-  position: absolute;
-  cursor: pointer;
-}
-.bootstrap-tagsinput .tag [data-role=remove]:after {
-  content: "\f057";
-  font-family: fontAwesome;
-  padding: 2px 1px;
-  line-height: 17px;
-  font-size: 15px;
-  text-align: center;
-}
-.bootstrap-tagsinput .tag [data-role=remove]:hover {
-  background: rgba(0, 0, 0, 0.3);
-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-}
-.bootstrap-tagsinput .tag [data-role=remove]:hover:active {
-  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-}
-/*
- * Bootstrap slider
- */
-.slider {
-  display: inline-block;
-  vertical-align: middle;
-  position: relative;
-  margin-top: 0;
-  margin-bottom: 30px;
-}
-.slider.slider-horizontal {
-  width: 100%!important;
-  height: 20px;
-}
-.slider.slider-horizontal .slider-track {
-  height: 10px;
-  width: 100%;
-  margin-top: -5px;
-  top: 50%;
-  left: 0;
-}
-.slider.slider-horizontal .slider-selection {
-  height: 100%;
-  top: 0;
-  bottom: 0;
-}
-.slider.slider-horizontal .slider-selection + .slider-handle.triangle + .slider-handle.triangle:before {
-  content: "\f0d9";
-}
-.slider.slider-horizontal .slider-handle {
-  margin-left: -10px;
-  margin-top: -5px;
-}
-.slider.slider-horizontal .slider-handle.triangle {
-  width: 20px;
-  height: 20px;
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-  -webkit-transform: rotate(0deg);
-  -ms-transform: rotate(0deg);
-  transform: rotate(0deg);
-  border: 0;
-  line-height: 21px;
-  color: #797777;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
-}
-.slider.slider-horizontal .slider-handle.triangle:before {
-  content: "\f0da";
-  font-size: 34px;
-}
-.slider.slider-vertical {
-  margin-bottom: 0;
-  margin-right: 5px;
-  height: 210px;
-  width: 20px;
-}
-.slider.slider-vertical .slider-track {
-  width: 10px;
-  height: 100%;
-  margin-left: -5px;
-  left: 50%;
-  top: 0;
-}
-.slider.slider-vertical .slider-selection {
-  width: 100%;
-  left: 0;
-  top: 0;
-  bottom: 0;
-}
-.slider.slider-vertical .slider-selection + .slider-handle.triangle + .slider-handle.triangle:before {
-  content: "\f0d8";
-  text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.8);
-}
-.slider.slider-vertical .slider-handle {
-  margin-left: -5px;
-  margin-top: -10px;
-}
-.slider.slider-vertical .slider-handle.triangle {
-  width: 20px;
-  height: 20px;
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-  -webkit-transform: rotate(0deg);
-  -ms-transform: rotate(0deg);
-  transform: rotate(0deg);
-  border: 0;
-  line-height: 21px;
-  color: #797777;
-  text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.8);
-}
-.slider.slider-vertical .slider-handle.triangle:before {
-  content: "\f0d7";
-  font-size: 32px;
-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
-}
-.slider input {
-  display: none;
-}
-.slider .tooltip-inner {
-  white-space: nowrap;
-}
-.slider-track {
-  position: absolute;
-  cursor: pointer;
-  background: #E5E5E5;
-}
-.slider-danger + .slider-track > .slider-selection {
-  background: #a90329;
-}
-.slider-warning + .slider-track > .slider-selection {
-  background: #c79121;
-}
-.slider-info + .slider-track > .slider-selection {
-  background: #57889c;
-}
-.slider-success + .slider-track > .slider-selection {
-  background: #739e73;
-}
-.slider-selection {
-  position: absolute;
-  background: #3276b1;
-}
-.slider-handle {
-  position: absolute;
-  width: 20px;
-  height: 20px;
-  border: 1px solid #FFF;
-  background: #858585;
-  display: inline-block;
-  font-family: FontAwesome;
-  font-style: normal;
-  font-weight: 400;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-  text-align: center;
-  line-height: 18px;
-  font-size: 10px;
-  color: #ccc;
-  text-shadow: 0 1px 0 rgba(77, 77, 77, 0.5);
-  filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1);
-  -webkit-transform: rotate(90deg);
-  -ms-transform: rotate(90deg);
-  transform: rotate(90deg);
-}
-.slider-handle:before {
-  content: "\f0c9";
-}
-.slider-handle.round {
-  border-radius: 20px;
-  width: 20px;
-  height: 20px;
-}
-.slider-handle.triangle {
-  background: transparent none;
-}
-/*
- * fd-slider widget
- */
-.fd-form-element-hidden {
-  display: none;
-}
-.fd-slider {
-  width: 100%;
-  height: 20px;
-  margin: 0;
-}
-.fd-slider-vertical {
-  width: 20px;
-  height: 100%;
-  margin: 0 10px 10px 0;
-}
-.fd-slider,
-.fd-slider-vertical {
-  display: block;
-  position: relative;
-  text-decoration: none;
-  border: 0 none;
-  -moz-user-select: none;
-  -khtml-user-select: none;
-  -webkit-touch-callout: none;
-  -webkit-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.fd-slider-inner {
-  display: none;
-}
-.fd-slider-bar {
-  position: absolute;
-  display: block;
-  z-index: 2;
-  height: 6px;
-  width: 100%;
-  border: 1px solid #bbb;
-  border-bottom: 1px solid #fff;
-  border-right: 1px solid #fff;
-  margin: 0;
-  padding: 0;
-  overflow: hidden;
-  line-height: 4px;
-  top: 8px;
-  border-radius: 4px;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  background-color: #333;
-}
-.fd-slider-range {
-  position: absolute;
-  display: block;
-  z-index: 3;
-  height: 6px;
-  margin: 0;
-  padding: 0 2px 0 0;
-  overflow: hidden;
-  top: 9px;
-  border-radius: 2px;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  background-color: #eee;
-}
-.fd-slider-handle {
-  position: absolute;
-  display: block;
-  padding: 0;
-  margin: 0 0 0 1px;
-  z-index: 3;
-  top: 5px;
-  left: 0;
-  width: 12px;
-  height: 12px;
-  line-height: 1px!important;
-  outline: 0 none;
-  background: #eee;
-  border: 1px solid #aaa;
-  border-radius: 12px;
-  -webkit-user-select: none;
-  -webkit-touch-callout: none;
-  -moz-user-select: none;
-  -moz-user-focus: none;
-  -moz-outline: 0 none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.fd-slider-handle:focus {
-  outline: 0 none;
-  border: 0 none;
-  -moz-user-focus: normal;
-}
-.fd-slider-handle:before,
-.fd-slider-handle:after {
-  opacity: 0;
-  -webkit-transition-property: opacity;
-  -webkit-transition-duration: 1s;
-  -webkit-transition-delay: 1s;
-  transition-property: opacity;
-  transition-duration: 1s;
-  transition-delay: 1s;
-}
-button.fd-slider-handle:focus::-moz-focus-inner {
-  border-color: transparent;
-}
-.oldie .fd-slider-handle:after,
-.oldie .fd-slider-handle:before {
-  display: none;
-}
-body.fd-slider-drag-horizontal,
-body.fd-slider-drag-horizontal *,
-body.fd-slider-drag-vertical,
-body.fd-slider-drag-vertical * {
-  -moz-user-select: none;
-  -webkit-user-select: none;
-  -ms-user-select: none;
-  user-select: none;
-}
-.fd-slider-active .fd-slider-handle :before,
-.fd-slider-focused .fd-slider-handle :before,
-.fd-slider-hover .fd-slider-handle :before {
-  display: block;
-  position: absolute;
-  top: -21px;
-  left: -8px;
-  margin: 0;
-  width: 20px;
-  padding: 3px;
-  height: 14px;
-  line-height: 12px;
-  text-align: center;
-  font-size: 10px;
-  font-weight: 700;
-  color: #fff;
-  text-shadow: 1px 1px 1px #1a3a95;
-  background: #2f6ee0;
-  z-index: 1;
-  content: attr(aria-valuetext);
-  border-radius: 3px;
-  -webkit-background-clip: padding-box;
-  background-clip: padding-box;
-  -webkit-box-shadow: 0 0 4px #aaa;
-  box-shadow: 0 0 4px #999;
-  opacity: 1;
-}
-.fd-slider-active .fd-slider-handle:after,
-.fd-slider-focused .fd-slider-handle:after,
-.fd-slider-hover .fd-slider-handle:after {
-  outline: 0;
-  content: "";
-  display: block;
-  position: absolute;
-  top: -9px;
-  left: 50%;
-  margin: 0 0 0 -5px;
-  background: #2f6ee0;
-  z-index: 2;
-  width: 10px;
-  height: 10px;
-  overflow: hidden;
-  -webkit-transform: rotate(45deg);
-  -moz-transform: rotate(45deg);
-  -o-transform: rotate(45deg);
-  -webkit-box-shadow: 0 0 4px #aaa;
-  box-shadow: 0 0 4px #aaa;
-  clip: rect(4px, 14px, 14px, 4px);
-  opacity: 1;
-}
-/*
- * Graphs
- */
-.chart {
-  height: 220px;
-  margin: 20px 5px 10px 10px;
-}
-.chart-small {
-  height: 100px;
-  width: 100%;
-}
-.chart-large {
-  height: 235px;
-  width: 100%;
-}
-.chart-xl {
-  height: 297px;
-  width: 100%;
-}
-#flotTip {
-  padding: 3px 5px;
-  background-color: #fff;
-  z-index: 9999;
-  color: #333;
-  -webkit-box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
-  box-shadow: 0 1px 8px rgba(0, 0, 0, 0.1);
-  font-size: 14px;
-  border: 1px solid #C1C1C1;
-  -khtml-border-radius: 4px;
-  border-radius: 4px;
-}
-#flotTip span {
-  color: #38812D;
-  font-weight: 700;
-}
-.has-legend {
-  margin-top: 30px!important;
-}
-.has-legend-unique {
-  margin-top: 19px!important;
-}
-.legendLabel span {
-  display: block;
-  margin: 0 5px;
-}
-.legendColorBox {
-  padding-left: 10px;
-  vertical-align: top;
-  padding-top: 5px;
-}
-.legendColorBox div > div {
-  width: 4px;
-  height: 4px;
-  border-radius: 50%;
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-}
-.morris-hover {
-  position: absolute;
-  z-index: 1001;
-}
-.morris-hover.morris-default-style {
-  border-radius: 10px;
-  padding: 6px;
-  color: #666;
-  background: rgba(255, 255, 255, 0.8);
-  border: solid 2px rgba(230, 230, 230, 0.8);
-  font-family: Ubuntu, sans-serif;
-  font-size: 12px;
-  text-align: center;
-}
-.morris-hover.morris-default-style .morris-hover-row-label {
-  font-weight: 700;
-  margin: 0.25em 0;
-}
-.morris-hover.morris-default-style .morris-hover-point {
-  white-space: nowrap;
-  margin: 0.1em 0;
-}
-.easyPieChart {
-  position: relative;
-  text-align: center;
-}
-.easyPieChart canvas {
-  position: absolute;
-  top: 0;
-  left: 0;
-}
-.easy-pie-chart {
-  display: inline-block;
-}
-.easy-pie-chart .percent {
-  color: #444;
-  font-size: 12px;
-  font-weight: 700;
-}
-.easy-pie-title {
-  display: inline-block;
-  margin: 10px 6px 0;
-  font-size: 12px;
-  font-weight: 400;
-  text-transform: uppercase;
-  width: 100px;
-  height: 19px;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  overflow: hidden;
-}
-.easy-pie-title .icon-color-bad,
-.easy-pie-title .icon-color-good {
-  font-size: 18px;
-}
-.show-stat-buttons {
-  float: left;
-  width: 100%;
-}
-@media (max-width: 767px) {
-  .show-stat-buttons {
-    padding-left: 10px!important;
-    padding-right: 10px!important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .show-stat-buttons {
-    padding-left: 10px!important;
-    padding-right: 10px!important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .show-stat-buttons {
-    padding-left: 10px!important;
-    padding-right: 10px!important;
-  }
-}
-.show-stats {
-  padding-top: 6px!important;
-}
-.show-stats .progress {
-  height: 7px;
-  border-radius: 0;
-  margin-top: 3px;
-  margin-bottom: 15px;
-}
-.show-stats .show-stat-buttons > :first-child {
-  padding-right: 5px;
-}
-@media (max-width: 979px) {
-  .show-stats .show-stat-buttons > :first-child {
-    padding-right: 13px;
-  }
-}
-.show-stats .show-stat-buttons > :last-child {
-  padding-left: 5px;
-}
-@media (max-width: 979px) {
-  .show-stats .show-stat-buttons > :last-child {
-    padding-left: 13px;
-  }
-}
-.show-stat-microcharts {
-  margin-left: -10px;
-  margin-right: -10px;
-}
-.show-stat-microcharts > div {
-  border-right: 1px solid #DADADA !important;
-  border-top: 1px solid #DADADA !important;
-  margin-top: 10px!important;
-  height: 65px;
-  overflow: hidden;
-  padding: 7px 9px;
-}
-@media (max-width: 767px) {
-  .show-stat-microcharts > div {
-    margin-top: 0!important;
-    border-right: 0!important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .show-stat-microcharts > div {
-    margin-top: 0!important;
-    border-right: 0!important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .show-stat-microcharts > div {
-    margin-top: 0!important;
-    border-right: 0!important;
-  }
-}
-.show-stat-microcharts > :last-child {
-  border-right: 0!important;
-}
-.show-stat-microcharts .sparkline {
-  margin-top: 10px;
-  margin-right: 8px;
-  opacity: 0.7;
-}
-.show-stat-microcharts .sparkline:hover {
-  opacity: 1;
-}
-.smaller-stat {
-  margin: 0;
-  padding: 0;
-  list-style: none;
-}
-.smaller-stat li {
-  margin-top: 3px;
-  margin-right: 0;
-}
-.smaller-stat li:first-child {
-  margin-top: 8px;
-}
-.smaller-stat span.label {
-  width: 40px;
-  display: block;
-  text-align: left;
-  opacity: 0.5;
-  cursor: default;
-}
-.smaller-stat span.label:hover {
-  opacity: 1;
-}
-.jvectormap-label {
-  position: absolute;
-  display: none;
-  border: solid 1px #CDCDCD;
-  border-radius: 3px;
-  background: #292929;
-  color: #fff;
-  font-family: Ubuntu, sans-serif, Verdana;
-  font-size: smaller;
-  padding: 3px;
-}
-.jvectormap-zoomin {
-  top: 0;
-}
-.jvectormap-zoomout {
-  top: 24px;
-}
-.jvectormap-zoomin,
-.jvectormap-zoomout {
-  position: absolute;
-  background: #292929;
-  padding: 4px;
-  width: 22px;
-  height: 22px;
-  cursor: pointer;
-  line-height: 10px;
-  text-align: center;
-  font-size: 14px;
-  border-radius: 2px;
-  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-  -webkit-box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.05);
-  background-color: #fff;
-  border: 1px solid #bfbfbf;
-}
-.jvectormap-zoomin:hover,
-.jvectormap-zoomout:hover {
-  background: #eee;
-  border-color: #d9d9d9;
-}
-.vector-map {
-  height: 300px;
-  width: 100%;
-  padding: 10px;
-}
-/*
- * Chat application
- */
-#chat-container {
-  position: absolute;
-  width: 250px;
-  height: 270px;
-  z-index: 2;
-  border-left: 1px solid #CDCECF;
-  right: -251px;
-  top: 0;
-  background: #fff;
-  transition-duration: 0.25s;
-  -webkit-transition-duration: 0.25s;
-}
-#chat-container:hover,
-#chat-container:hover .chat-list-open-close {
-  border-color: #A7A7A7;
-}
-#chat-container *,
-#chat-container :after,
-#chat-container :before {
-  box-sizing: content-box;
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-}
-#chat-container input[type=text] {
-  box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-}
-#chat-container.open {
-  right: 0;
-  top: 0;
-}
-#chat-container.open .chat-list-open-close i:before {
-  content: "\f00d" !important;
-}
-#chat-container.open .chat-list-open-close b {
-  display: none;
-}
-#chat-container .chat-list-open-close {
-  display: block;
-  width: 25px;
-  height: 25px;
-  border: 1px solid #CDCECF;
-  border-right: 1px solid #f2f4f8 !important;
-  position: absolute;
-  left: -32px;
-  top: 7%;
-  border-radius: 50% 0 0 50%;
-  padding: 3px 1px 3px 5px;
-  font-size: 21px;
-  line-height: 22px;
-  cursor: pointer;
-  color: #868686;
-  -webkit-box-shadow: inset 0 0.2em 0 rgba(0, 0, 0, 0.05);
-  box-shadow: inset 0 0.2em 0 rgba(0, 0, 0, 0.05);
-  background: #f2f4f8;
-  text-align: center;
-}
-#chat-container .chat-list-open-close b {
-  position: absolute;
-  right: 0;
-  background: #ed1c24;
-  line-height: 9px;
-  height: 10px;
-  width: 10px;
-  top: 3px;
-  border: 1px solid #FFF;
-  border-radius: 3px;
-  font-size: 9px;
-  text-align: center;
-  vertical-align: middle;
-  color: #fff;
-  font-weight: 400;
-}
-#chat-container .chat-list-body {
-  height: 217px;
-  overflow-y: scroll;
-  overflow-x: hidden;
-  display: block;
-  padding: 0;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  background: #f2f4f8;
-}
-#chat-container #chat-users {
-  list-style: none;
-  margin: 10px 0;
-  padding: 0;
-}
-#chat-container #chat-users li {
-  margin-bottom: 3px;
-  margin-left: 5px;
-}
-#chat-container #chat-users li a {
-  display: block;
-  font-size: 13px;
-  color: #3d3d3d;
-  text-decoration: none!important;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  padding: 3px 8px 3px 3px;
-  line-height: 33px;
-  vertical-align: middle;
-}
-#chat-container #chat-users li a:hover {
-  background: #e0e4ee;
-}
-#chat-container #chat-users li a img {
-  width: 33px;
-  height: auto;
-  margin-right: 10px;
-}
-#chat-container #chat-users li a i {
-  color: #ACACAC;
-  font-size: 8px;
-  line-height: 34px;
-  font-style: normal;
-}
-#chat-container #chat-users li a i.last-online {
-  font-size: 12px;
-  letter-spacing: -1px;
-}
-#chat-container .chat-list-footer {
-  overflow: hidden;
-  border-top: 1px solid #CCC;
-  padding: 10px;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-}
-#chat-container .chat-list-footer input[type=text] {
-  border: 1px solid #bababa !important;
-}
-#chat-container .control-group {
-  padding: 0;
-}
-.chat-body {
-  background: #FAFAFA;
-  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(100%, #fff));
-  background: -webkit-linear-gradient(top, #fafafa 0, #fff 100%);
-  background: -webkit-gradient(linear, top left, bottom left, from(#f5fcff), to(#fff));
-  background: -webkit-linear-gradient(top, #f5fcff 0, #fff 100%);
-  background: linear-gradient(to bottom, #f5fcff 0, #fff 100%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa', endColorstr='#ffffff', GradientType=0);
-  -webkit-box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.04);
-  box-shadow: inset 2px 2px 5px rgba(0, 0, 0, 0.04);
-  display: block;
-  min-height: 270px;
-  overflow-y: scroll;
-  overflow-x: hidden;
-  padding: 10px;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  border: 1px solid #fff;
-  border-top: 0;
-}
-.chat-body ul {
-  margin: 0;
-  padding: 0;
-}
-.chat-body li.message {
-  display: block;
-  position: relative;
-  padding: 10px;
-  margin: 2px;
-}
-.chat-body li.message:hover {
-  background-color: #eee;
-}
-.chat-body li.message.request,
-.chat-body li.message.request:hover {
-  background-color: #e4e4e4;
-}
-.chat-body li.message img,
-.chat-body li.message .img {
-  display: inline-block;
-  border-left: 4px solid transparent;
-  position: absolute;
-}
-.chat-body li.message img.online,
-.chat-body li.message .img.online {
-  border-left-color: #00a300;
-}
-.chat-body li.message img.offline,
-.chat-body li.message .img.offline {
-  border-left-color: #ddd;
-}
-.chat-body li.message img.busy,
-.chat-body li.message .img.busy {
-  border-left-color: #A90329;
-}
-.chat-body li.message img.away,
-.chat-body li.message .img.away {
-  border-left-color: #ffc40d;
-}
-.chat-body li.message .img {
-  width: 35px;
-  padding-top: 7px;
-  text-align: center;
-}
-.chat-body li.message .message-text {
-  display: inline-block;
-  vertical-align: top;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-  padding: 0;
-  margin-left: 50px;
-  line-height: normal;
-}
-.chat-body li.message .message-text time {
-  font-size: 13px;
-  font-weight: normal;
-  color: #666;
-}
-.chat-body li.message .message-text .chat-file {
-  display: block;
-  margin: 3px 0;
-  padding: 4px;
-  border: 1px dotted #ddd;
-  background: rgba(0, 0, 0, 0.05);
-  border-radius: 4px;
-  text-align: right;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-}
-.chat-body li.message .message-text .chat-file:nth-child(3) {
-  margin-top: 15px;
-}
-.chat-body li.message .message-text .chat-file.row-fluid [class*=span] {
-  min-height: 10px!important;
-}
-.chat-body li.message .message-text .chat-file b {
-  font-style: italic;
-  white-space: nowrap;
-  width: 250px;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  text-align: left;
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .chat-body li.message .message-text .chat-file b {
-    width: 150px;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .chat-body li.message .message-text .chat-file b {
-    width: 150px;
-  }
-}
-@media (max-width: 480px) {
-  .chat-body li.message .message-text .chat-file b {
-    width: 150px;
-  }
-}
-.chat-body li.message .message-text .username {
-  display: block;
-  font-weight: 700;
-  margin-bottom: 4px;
-  vertical-align: top;
-  line-height: 14px;
-  font-size: 14px;
-  text-decoration: none!important;
-}
-.chat-footer {
-  border-top: 1px solid rgba(0, 0, 0, 0.1);
-  background: rgba(248, 248, 248, 0.9);
-  padding: 0 10px 15px;
-  position: relative;
-  box-sizing: border-box;
-  -webkit-box-sizing: border-box;
-  -moz-box-sizing: border-box;
-}
-.profile-message {
-  background: none!important;
-  height: auto!important;
-  box-shadow: none!important;
-  -webkit-box-shadow: none!important;
-  overflow: hidden;
-}
-.profile-message li.message.message-reply {
-  margin-left: 85px!important;
-  background: #F7F7F7;
-  padding: 10px;
-  margin: 3px 0 0 20px;
-}
-.profile-message li.message.message-reply img {
-  width: 35px!important;
-}
-.profile-message li.message.message-reply .message-text {
-  margin-left: 45px!important;
-}
-.profile-message .wall-comment-reply {
-  margin-left: 85px;
-  margin-bottom: 20px;
-}
-.cajita img {
-  width: 23px;
-  height: 23px;
-  padding-left: 3px;
-  padding-top: 3px;
-}
-#pageslide {
-  display: none;
-  position: absolute;
-  position: fixed;
-  top: 0;
-  height: 100%;
-  z-index: 999999;
-  width: 305px;
-  padding: 20px;
-  background-color: #004d60;
-  color: #FFF;
-  -webkit-box-shadow: inset 0 0 5px 5px #222;
-  -moz-shadow: inset 0 0 0 0 #222;
-  box-shadow: inset 0 0 0 0 #222;
-}
-.purehtml {
-  color: #fff;
-  font-size: 16px;
-}
-/*
- *  Mail-style application
- */
-#inbox-table {
-  font-size: 13px;
-  border-top: 0;
-  border-left-color: transparent!important;
-  border-right-color: transparent!important;
-}
-#inbox-table tbody tr:hover {
-  cursor: pointer;
-  background: #E4E4E4;
-}
-#inbox-table tr td {
-  border-right: 0;
-  border-left: 0;
-  line-height: 26px;
-  padding: 6px 4px 7px!important;
-}
-#inbox-table .inbox-table-icon {
-  padding-left: 15px!important;
-}
-@media (max-width: 979px) {
-  #inbox-table .inbox-table-icon {
-    padding-left: 10px!important;
-  }
-}
-#inbox-table tbody tr th {
-  overflow: hidden;
-}
-#inbox-table.table tbody > tr > td {
-  border-color: #fff !important;
-}
-#inbox-table .checkbox,
-#inbox-table .radio {
-  margin-top: -1px;
-  margin-bottom: 0;
-}
-.minified .inbox-badge {
-  border-radius: 50%;
-  font-size: 9px;
-  padding: 2px;
-  position: absolute;
-  top: 6px;
-  right: 6px;
-  background: #ED1C24;
-  min-width: 13px;
-}
-.inbox-body {
-  position: relative;
-}
-.inbox-body .table-wrap {
-  background: #fff;
-  padding: 10px 14px 7px;
-  position: relative;
-  margin-left: 200px;
-}
-@media (max-width: 1024px) {
-  .inbox-body .table-wrap {
-    margin-left: 0!important;
-  }
-}
-@media (max-width: 979px) {
-  .inbox-body .table-wrap {
-    padding: 0!important;
-  }
-}
-.inbox-body.no-content-padding {
-  margin-top: 0;
-  background: #fff;
-}
-.inbox-nav-bar {
-  height: 70px;
-  margin-bottom: 0;
-  padding: 20px 14px;
-  background: #fff;
-}
-@media (max-width: 979px) {
-  .inbox-nav-bar {
-    padding-left: 5px;
-    padding-right: 5px;
-  }
-}
-@media (min-width: 768px) and (max-width: 880px) {
-  .inbox-nav-bar.no-content-padding {
-    margin-top: -10px !important;
-  }
-}
-@media (max-width: 767px) {
-  .inbox-nav-bar.no-content-padding {
-    margin-top: -10px !important;
-  }
-}
-@media only screen and (min-width: 0) and (max-width: 679px) {
-  .inbox-nav-bar.no-content-padding {
-    margin-top: -10px !important;
-  }
-}
-@media only screen and (min-width: 320px) and (max-width: 479px) {
-  .inbox-nav-bar.no-content-padding {
-    margin-top: -10px !important;
-  }
-}
-.inbox-nav-bar .page-title {
-  display: inline-block;
-  margin: 0;
-  width: 196px;
-  line-height: 33px;
-  vertical-align: middle;
-}
-.inbox-footer {
-  height: 52px;
-  padding: 15px 14px 0;
-  border-top: 1px solid #CECECE;
-  background: #2a2725;
-  position: absolute;
-  bottom: -53px;
-  width: 100%;
-}
-.inbox-footer .btn-group,
-.inbox-paging {
-  margin-left: 10px;
-}
-.inbox-data-attachment,
-.inbox-table-icon {
-  width: 28px;
-  text-align: left;
-  padding-left: 12px!important;
-  padding-right: 0!important;
-}
-.inbox-data-from {
-  width: 200px;
-}
-.inbox-data-from > :first-child {
-  width: 200px;
-  display: block;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-.inbox-data-date {
-  width: 80px;
-  padding-left: 7px!important;
-  padding-right: 0!important;
-}
-.inbox-data-message > :first-child {
-  width: 100%;
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  height: 27px;
-  color: #8A8A8A;
-}
-@media (max-width: 979px) {
-  .inbox-data-message > :first-child {
-    height: 50px;
-    overflow: hidden;
-  }
-}
-.inbox-data-message > :first-child span {
-  color: #111;
-}
-.inbox-data-message > :first-child span.label {
-  color: #fff;
-}
-@media (max-width: 979px) {
-  .inbox-data-message > :first-child > :first-child {
-    display: block!important;
-    font-size: 14px;
-  }
-}
-.inbox-data-message > :first-child > :first-child:after {
-  content: " - ";
-}
-.inbox-checkbox-triggered {
-  display: inline-block;
-}
-.inbox-checkbox-triggered > .btn-group {
-  margin-right: 10px;
-}
-.inbox-checkbox-triggered > .btn-group .btn {
-  padding-left: 14px;
-  padding-right: 14px;
-}
-@media (max-width: 979px) {
-  .inbox-checkbox-triggered > .btn-group .btn {
-    padding-left: 10px;
-    padding-right: 10px;
-  }
-}
-.inbox-side-bar {
-  height: 100%;
-  position: absolute;
-  background: #fff;
-  display: block;
-  width: 200px;
-  padding: 10px 0 10px 14px;
-}
-@media (max-width: 1024px) {
-  .inbox-side-bar {
-    display: none!important;
-  }
-}
-.inbox-side-bar h6 {
-  font-weight: 400;
-  font-size: 11px;
-  display: block;
-  padding: 0 15px;
-  text-transform: uppercase;
-  color: #838383;
-}
-.inbox-side-bar h6 a {
-  font-size: 14px;
-  margin-top: -2px;
-}
-.inbox-side-bar h6 .tooltip {
-  text-transform: none!important;
-}
-.inbox-side-bar > .btn {
-  margin-bottom: 35px;
-}
-.inbox-side-bar .input-group {
-  margin-bottom: 25px;
-}
-.inbox-space {
-  display: block;
-  width: 185px;
-}
-.inbox-space > .progress {
-  margin-top: 5px;
-}
-.inbox .inbox-menu-lg {
-  list-style: none;
-  padding: 0;
-  margin: 0 0 20px;
-}
-.inbox .inbox-menu-lg .inbox-menu-lg li {
-  display: block;
-  width: 100%;
-}
-.inbox .inbox-menu-lg .inbox-menu-lg li a {
-  display: block;
-  padding: 6px 15px 7px;
-  font-size: 13px;
-  color: #333;
-}
-.inbox .inbox-menu-lg .inbox-menu-lg li a:hover {
-  text-decoration: none;
-  background: #f4f4f4;
-}
-.inbox .inbox-menu-lg .inbox-menu-lg li.active a {
-  font-weight: 700;
-  background: #F0F0F0;
-  border-bottom: 1px solid #E7E7E7;
-  color: #3276b1;
-}
-.inbox .inbox-menu-sm {
-  list-style: none;
-  padding: 0;
-  margin: 0 0 20px;
-}
-.inbox .inbox-menu-sm .inbox-menu-sm li {
-  display: block;
-  width: 100%;
-}
-.inbox .inbox-menu-sm .inbox-menu-sm li a {
-  display: block;
-  padding: 8px 15px 10px;
-  font-size: 13px;
-  color: #333;
-}
-.inbox .inbox-menu-sm .inbox-menu-sm li a:hover {
-  text-decoration: none;
-  background: #f4f4f4;
-}
-.inbox .inbox-menu-sm .inbox-menu-sm li.active a {
-  font-weight: 700;
-  background: #F0F0F0;
-  border-bottom: 1px solid #E7E7E7;
-  color: #3276b1;
-}
-.inbox-info-bar {
-  padding: 10px 0;
-  border-bottom: 1px solid #bfbfbf;
-}
-.inbox-info-bar .form-group {
-  margin: 0;
-}
-.inbox-info-bar .form-group input,
-.inbox-info-bar .select2-container-multi .select2-choices {
-  border-color: #fff !important;
-}
-.inbox-info-bar .select2-choices > div {
-  display: none;
-}
-.inbox-info-bar .col-md-1,
-.inbox-info-bar .col-md-11 {
-  padding-left: 0;
-  padding-right: 0;
-}
-@media (max-width: 1024px) {
-  .inbox-info-bar .col-md-1,
-  .inbox-info-bar .col-md-11 {
-    padding-left: 26px;
-    padding-right: 26px;
-  }
-}
-.inbox-info-bar img {
-  width: 35px;
-  height: auto;
-  display: inline-block;
-  vertical-align: middle;
-  margin-right: 7px;
-  margin-left: 2px;
-  border-left: 3px solid #fff;
-}
-.inbox-info-bar em {
-  position: absolute;
-  top: 6px;
-  right: 20px;
-  text-align: right;
-  font-style: normal;
-}
-.inbox-download .inbox-message {
-  padding: 15px 4px;
-  border-bottom: 1px solid #bfbfbf;
-}
-.inbox-download-list {
-  list-style: none;
-  margin: 5px 0 0;
-  padding: 0;
-}
-.inbox-download-list li {
-  display: inline-block;
-  margin: 0 5px 0 0;
-  vertical-align: top;
-}
-.inbox-download-list li > :first-child {
-  margin-bottom: 0;
-  width: 150px;
-  overflow: hidden;
-}
-.inbox-download-list li > :first-child:hover {
-  background: #fff;
-  border-color: silver;
-}
-.inbox-download-list li > :first-child > :first-child {
-  text-align: center;
-  display: block;
-  color: #D6D6D6;
-}
-.inbox-download-list li > :first-child > :first-child > .fa {
-  font-size: 150px;
-}
-.inbox-download-list li > :first-child > :first-child > img {
-  max-width: 120px;
-}
-.inbox-compose-footer {
-  padding: 10px;
-  background: #F5F5F5;
-  border-bottom: 1px solid #A9A9A9;
-}
-.inbox-compose-footer,
-.inbox-download,
-.inbox-info-bar,
-.inbox-message {
-  margin-right: 240px;
-  position: relative;
-}
-@media (max-width: 1280px) {
-  .inbox-compose-footer,
-  .inbox-download,
-  .inbox-info-bar,
-  .inbox-message {
-    margin-right: 0;
-  }
-}
-@media (max-width: 979px) {
-  .inbox-table-icon > :first-child {
-    margin-top: 12px;
-  }
-}
-.unread td {
-  background: #fff;
-}
-.unread .inbox-data-date > :first-child,
-.unread .inbox-data-from > :first-child,
-.unread .inbox-data-message > :first-child > :first-child {
-  font-weight: 700;
-}
-tr.highlight td,
-tr.unread.highlight td {
-  background: #ffc !important;
-  color: #333;
-}
-#compose-mail-mini {
-  margin-left: 4px;
-}
-.email-open-header {
-  margin: -10px 0 0 0;
-  font-size: 20px;
-  border-bottom: 1px solid #bfbfbf;
-  border-top: 1px solid #eee;
-  padding: 15px 3px;
-}
-.email-open-header > span {
-  font-size: 10px;
-  font-weight: 400;
-  padding: 3px 5px;
-  letter-spacing: normal;
-  text-transform: uppercase;
-  vertical-align: middle;
-  line-height: 33px;
-  background: #ACACAC;
-}
-.email-infobox {
-  display: block;
-  width: 180px;
-  border-bottom: 1px solid #bfbfbf;
-  padding-bottom: 0;
-  padding-top: 15px;
-  position: absolute;
-  top: 65px;
-  right: 15px;
-}
-@media (max-width: 1280px) {
-  .email-infobox .email-infobox {
-    display: none;
-  }
-}
-.email-reply-text > div {
-  border-left: 1px solid #D6D6D6;
-  padding-left: 10px;
-  margin-left: 50px;
-  color: #A9A9A9;
-}
-.email-reply-text > :first-child {
-  padding-left: 45px;
-}
-.profile-pic {
-  text-align: right;
-}
-.profile-pic > img {
-  border-radius: 0;
-  position: relative;
-  border: 5px solid #fff;
-  top: -30px;
-  display: inline-block;
-  text-align: right;
-  z-index: 4;
-  width: 120px;
-  margin-bottom: -30px;
-}
-.profile-carousel .carousel-inner {
-  max-height: 150px;
-}
-.friends-list li {
-  margin-bottom: 10px;
-}
-.friends-list li img {
-  width: 35px;
-  border: 1px solid #fff;
-  outline: 1px solid #bfbfbf;
-}
-.search-results {
-  padding: 18px 5px;
-}
-.search-results + .search-results {
-  border-top: 1px dashed #E3E3E3;
-}
-.search-results > :first-child {
-  margin-bottom: 4px;
-  font-weight: 400;
-}
-.search-results > :first-child a {
-  text-decoration: underline;
-}
-.search-results .url {
-  font-style: normal;
-  font-size: 14px;
-}
-.search-results img {
-  display: inline-block;
-  margin-top: 4px;
-  margin-right: 4px;
-  width: 80px;
-}
-.search-results > div {
-  display: inline-block;
-  vertical-align: top;
-}
-.search-results .note {
-  margin: 0;
-  line-height: normal;
-}
-.search-results .note a {
-  text-decoration: none!important;
-  color: #333;
-}
-.search-results .note a:hover {
-  color: #ed1c24;
-}
-/*
- * Todo-like application
- */
-.todo {
-  margin: 0;
-  padding: 0;
-  min-height: 5px;
-  list-style: none;
-}
-.todo > li {
-  display: block;
-  position: relative;
-  overflow: hidden;
-  border-bottom: 1px solid #e7e7e7;
-  margin: 0 5px;
-  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAQCAYAAADagWXwAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RkQ1OEY4NTM4NUIxMUUzQjdCMUMxQzJCQUE3MTMxOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RkQ1OEY4NjM4NUIxMUUzQjdCMUMxQzJCQUE3MTMxOCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjRGRDU4RjgzMzg1QjExRTNCN0IxQzFDMkJBQTcxMzE4IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjRGRDU4Rjg0Mzg1QjExRTNCN0IxQzFDMkJBQTcxMzE4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pTD+wgAAACtJREFUeNpimDBhwn8gYABhdDYjiIELMDHgAUwTJ06Ea0VnjxpLO2MBAgwAGYZLegQbQ3UAAAAASUVORK5CYII=) 1px 11px no-repeat;
-}
-.todo > li:last-child,
-.todo > li:only-child {
-  border-bottom: 0;
-}
-.todo > li > :first-child {
-  display: block;
-  border-right: 1px solid #FFE1EB;
-  height: 100%;
-  padding: 6px 11px 6px 18px;
-  width: 20px;
-  vertical-align: top;
-  position: absolute;
-}
-.todo > li > :first-child:hover {
-  cursor: move;
-}
-.todo > li.complete {
-  background: 0 0;
-}
-.todo > li.complete.complete > :first-child:hover {
-  cursor: default;
-}
-.todo > li.complete > * {
-  text-decoration: line-through;
-  font-style: italic;
-}
-.todo > li.ui-sortable-helper {
-  border-top: 1px solid #eee;
-  background: rgba(113, 132, 63, 0.1);
-}
-.todo > li > p {
-  height: 100%;
-  margin-left: 52px;
-  border-left: 1px solid #FFE1EB;
-  display: inline-block;
-  padding: 8px 0 6px 7px;
-  margin-bottom: 0;
-  min-height: 37px;
-  line-height: normal;
-  font-size: 14px;
-  font-weight: 500;
-  color: #333;
-}
-.todo > li > p > span {
-  display: block;
-  line-height: 12px;
-  font-size: 10px;
-  font-weight: 400;
-}
-.todo > li > p > :first-child {
-  margin-top: -5px;
-  color: #999;
-  margin-bottom: 4px;
-}
-.todo > li > p > .date {
-  color: #bfbfbf;
-}
-.todo-group-title {
-  margin: 0;
-  line-height: 31px;
-  padding: 0 0 0 10px;
-  background: #fafafa;
-  border-bottom: 1px solid #e7e7e7;
-  border-top: 1px solid #f4f4f4;
-  color: #999;
-}
-.map.map-location {
-  cursor: default;
-}
Binary file src/pyams_skin/resources/img/datatable/sort_desc.png has changed
Binary file src/pyams_skin/resources/img/fancybox/fancybox_sprite@2x.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-msword-template.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-pdf.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-pgp-keys.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.iccprofile.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.ms-powerpoint.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.database.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.presentation-template.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.presentation.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-vnd.oasis.opendocument.spreadsheet.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-x-deb.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-x-font-bdf.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-x-srt.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/application-x-trash.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/audio-ac3.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/message-news.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/text-calendar.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/text-csv.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/text-x-lilypond.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/16x16/text-x-python.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-illustrator.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.chart.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.graphics.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.presentation-template.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-vnd.oasis.opendocument.spreadsheet.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-vnd.scribus.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-compressed-tar.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-egon.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-kplato.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-lyx.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-perl.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-php.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-rpm.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-smb-workgroup.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/application-x-troff-man.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/audio-x-speex+ogg.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/inode-directory.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/text-calendar.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/text-x-qml.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/x-office-address-book.png has changed
Binary file src/pyams_skin/resources/img/mimetypes/x-office-document.png has changed
Binary file src/pyams_skin/resources/img/select2-spinner.gif has changed
--- a/src/pyams_skin/resources/js/ext/ace/ext-error_marker.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-;                (function() {
-                    ace.require(["ace/ext/error_marker"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/ext-searchbox.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"],function(e,t,i){"use strict";var s=e("../lib/dom"),n=e("../lib/lang"),a=e("../lib/event"),c='.ace_search {background-color: #ddd;color: #666;border: 1px solid #cbcbcb;border-top: 0 none;overflow: hidden;margin: 0;padding: 4px 6px 0 4px;position: absolute;top: 0;z-index: 99;white-space: normal;}.ace_search.left {border-left: 0 none;border-radius: 0px 0px 5px 0px;left: 0;}.ace_search.right {border-radius: 0px 0px 0px 5px;border-right: 0 none;right: 0;}.ace_search_form, .ace_replace_form {margin: 0 20px 4px 0;overflow: hidden;line-height: 1.9;}.ace_replace_form {margin-right: 0;}.ace_search_form.ace_nomatch {outline: 1px solid red;}.ace_search_field {border-radius: 3px 0 0 3px;background-color: white;color: black;border: 1px solid #cbcbcb;border-right: 0 none;outline: 0;padding: 0;font-size: inherit;margin: 0;line-height: inherit;padding: 0 6px;min-width: 17em;vertical-align: top;min-height: 1.8em;box-sizing: content-box;}.ace_searchbtn {border: 1px solid #cbcbcb;line-height: inherit;display: inline-block;padding: 0 6px;background: #fff;border-right: 0 none;border-left: 1px solid #dcdcdc;cursor: pointer;margin: 0;position: relative;color: #666;}.ace_searchbtn:last-child {border-radius: 0 3px 3px 0;border-right: 1px solid #cbcbcb;}.ace_searchbtn:disabled {background: none;cursor: default;}.ace_searchbtn:hover {background-color: #eef1f6;}.ace_searchbtn.prev, .ace_searchbtn.next {padding: 0px 0.7em}.ace_searchbtn.prev:after, .ace_searchbtn.next:after {content: "";border: solid 2px #888;width: 0.5em;height: 0.5em;border-width:  2px 0 0 2px;display:inline-block;transform: rotate(-45deg);}.ace_searchbtn.next:after {border-width: 0 2px 2px 0 ;}.ace_searchbtn_close {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;border-radius: 50%;border: 0 none;color: #656565;cursor: pointer;font: 16px/16px Arial;padding: 0;height: 14px;width: 14px;top: 9px;right: 7px;position: absolute;}.ace_searchbtn_close:hover {background-color: #656565;background-position: 50% 100%;color: white;}.ace_button {margin-left: 2px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;overflow: hidden;opacity: 0.7;border: 1px solid rgba(100,100,100,0.23);padding: 1px;box-sizing:    border-box!important;color: black;}.ace_button:hover {background-color: #eee;opacity:1;}.ace_button:active {background-color: #ddd;}.ace_button.checked {border-color: #3399ff;opacity:1;}.ace_search_options{margin-bottom: 3px;text-align: right;-webkit-user-select: none;-moz-user-select: none;-o-user-select: none;-ms-user-select: none;user-select: none;clear: both;}.ace_search_counter {float: left;font-family: arial;padding: 0 8px;}',o=e("../keyboard/hash_handler").HashHandler,r=e("../lib/keys");s.importCssString(c,"ace_searchbox");var h='<div class="ace_search right">    <span action="hide" class="ace_searchbtn_close"></span>    <div class="ace_search_form">        <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input>        <span action="findPrev" class="ace_searchbtn prev"></span>        <span action="findNext" class="ace_searchbtn next"></span>        <span action="findAll" class="ace_searchbtn" title="Alt-Enter">All</span>    </div>    <div class="ace_replace_form">        <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>        <span action="replaceAndFindNext" class="ace_searchbtn">Replace</span>        <span action="replaceAll" class="ace_searchbtn">All</span>    </div>    <div class="ace_search_options">        <span action="toggleReplace" class="ace_button" title="Toggle Replace mode"            style="float:left;margin-top:-2px;padding:0 5px;">+</span>        <span class="ace_search_counter"></span>        <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span>        <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span>        <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span>        <span action="searchInSelection" class="ace_button" title="Search In Selection">S</span>    </div></div>'.replace(/> +/g,">"),l=function(e,t,i){var n=s.createElement("div");n.innerHTML=h,this.element=n.firstChild,this.setSession=this.setSession.bind(this),this.$init(),this.setEditor(e),s.importCssString(c,"ace_searchbox",e.container)};(function(){this.setEditor=function(e){e.searchBox=this,e.renderer.scroller.appendChild(this.element),this.editor=e},this.setSession=function(e){this.searchRange=null,this.$syncOptions(!0)},this.$initElements=function(e){this.searchBox=e.querySelector(".ace_search_form"),this.replaceBox=e.querySelector(".ace_replace_form"),this.searchOption=e.querySelector("[action=searchInSelection]"),this.replaceOption=e.querySelector("[action=toggleReplace]"),this.regExpOption=e.querySelector("[action=toggleRegexpMode]"),this.caseSensitiveOption=e.querySelector("[action=toggleCaseSensitive]"),this.wholeWordOption=e.querySelector("[action=toggleWholeWords]"),this.searchInput=this.searchBox.querySelector(".ace_search_field"),this.replaceInput=this.replaceBox.querySelector(".ace_search_field"),this.searchCounter=e.querySelector(".ace_search_counter")},this.$init=function(){var e=this.element;this.$initElements(e);var c=this;a.addListener(e,"mousedown",function(e){setTimeout(function(){c.activeInput.focus()},0),a.stopPropagation(e)}),a.addListener(e,"click",function(e){var t=(e.target||e.srcElement).getAttribute("action");t&&c[t]?c[t]():c.$searchBarKb.commands[t]&&c.$searchBarKb.commands[t].exec(c),a.stopPropagation(e)}),a.addCommandKeyListener(e,function(e,t,i){var n=r.keyCodeToString(i),s=c.$searchBarKb.findKeyCommand(t,n);s&&s.exec&&(s.exec(c),a.stopEvent(e))}),this.$onChange=n.delayedCall(function(){c.find(!1,!1)}),a.addListener(this.searchInput,"input",function(){c.$onChange.schedule(20)}),a.addListener(this.searchInput,"focus",function(){c.activeInput=c.searchInput,c.searchInput.value&&c.highlight()}),a.addListener(this.replaceInput,"focus",function(){c.activeInput=c.replaceInput,c.searchInput.value&&c.highlight()})},this.$closeSearchBarKb=new o([{bindKey:"Esc",name:"closeSearchBar",exec:function(e){e.searchBox.hide()}}]),this.$searchBarKb=new o,this.$searchBarKb.bindKeys({"Ctrl-f|Command-f":function(e){var t=e.isReplace=!e.isReplace;e.replaceBox.style.display=t?"":"none",e.replaceOption.checked=!1,e.$syncOptions(),e.searchInput.focus()},"Ctrl-H|Command-Option-F":function(e){e.editor.getReadOnly()||(e.replaceOption.checked=!0,e.$syncOptions(),e.replaceInput.focus())},"Ctrl-G|Command-G":function(e){e.findNext()},"Ctrl-Shift-G|Command-Shift-G":function(e){e.findPrev()},esc:function(e){setTimeout(function(){e.hide()})},Return:function(e){e.activeInput==e.replaceInput&&e.replace(),e.findNext()},"Shift-Return":function(e){e.activeInput==e.replaceInput&&e.replace(),e.findPrev()},"Alt-Return":function(e){e.activeInput==e.replaceInput&&e.replaceAll(),e.findAll()},Tab:function(e){(e.activeInput==e.replaceInput?e.searchInput:e.replaceInput).focus()}}),this.$searchBarKb.addCommands([{name:"toggleRegexpMode",bindKey:{win:"Alt-R|Alt-/",mac:"Ctrl-Alt-R|Ctrl-Alt-/"},exec:function(e){e.regExpOption.checked=!e.regExpOption.checked,e.$syncOptions()}},{name:"toggleCaseSensitive",bindKey:{win:"Alt-C|Alt-I",mac:"Ctrl-Alt-R|Ctrl-Alt-I"},exec:function(e){e.caseSensitiveOption.checked=!e.caseSensitiveOption.checked,e.$syncOptions()}},{name:"toggleWholeWords",bindKey:{win:"Alt-B|Alt-W",mac:"Ctrl-Alt-B|Ctrl-Alt-W"},exec:function(e){e.wholeWordOption.checked=!e.wholeWordOption.checked,e.$syncOptions()}},{name:"toggleReplace",exec:function(e){e.replaceOption.checked=!e.replaceOption.checked,e.$syncOptions()}},{name:"searchInSelection",exec:function(e){e.searchOption.checked=!e.searchRange,e.setSearchRange(e.searchOption.checked&&e.editor.getSelectionRange()),e.$syncOptions()}}]),this.setSearchRange=function(e){(this.searchRange=e)?this.searchRangeMarker=this.editor.session.addMarker(e,"ace_active-line"):this.searchRangeMarker&&(this.editor.session.removeMarker(this.searchRangeMarker),this.searchRangeMarker=null)},this.$syncOptions=function(e){s.setCssClass(this.replaceOption,"checked",this.searchRange),s.setCssClass(this.searchOption,"checked",this.searchOption.checked),this.replaceOption.textContent=this.replaceOption.checked?"-":"+",s.setCssClass(this.regExpOption,"checked",this.regExpOption.checked),s.setCssClass(this.wholeWordOption,"checked",this.wholeWordOption.checked),s.setCssClass(this.caseSensitiveOption,"checked",this.caseSensitiveOption.checked);var t=this.editor.getReadOnly();this.replaceOption.style.display=t?"none":"",this.replaceBox.style.display=this.replaceOption.checked&&!t?"":"none",this.find(!1,!1,e)},this.highlight=function(e){this.editor.session.highlight(e||this.editor.$search.$options.re),this.editor.renderer.updateBackMarkers()},this.find=function(e,t,i){var n=!this.editor.find(this.searchInput.value,{skipCurrent:e,backwards:t,wrap:!0,regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked,preventScroll:i,range:this.searchRange})&&this.searchInput.value;s.setCssClass(this.searchBox,"ace_nomatch",n),this.editor._emit("findSearchBox",{match:!n}),this.highlight(),this.updateCounter()},this.updateCounter=function(){var e=this.editor,t=e.$search.$options.re,i=0,n=0;if(t){var s=this.searchRange?e.session.getTextRange(this.searchRange):e.getValue(),c=e.session.doc.positionToIndex(e.selection.anchor);this.searchRange&&(c-=e.session.doc.positionToIndex(this.searchRange.start));for(var a,o=t.lastIndex=0;(a=t.exec(s))&&(i++,(o=a.index)<=c&&n++,!(999<i))&&(a[0]||(t.lastIndex=o+=1,!(o>=s.length))););}this.searchCounter.textContent=n+" of "+(999<i?"999+":i)},this.findNext=function(){this.find(!0,!1)},this.findPrev=function(){this.find(!0,!0)},this.findAll=function(){var e=!this.editor.findAll(this.searchInput.value,{regExp:this.regExpOption.checked,caseSensitive:this.caseSensitiveOption.checked,wholeWord:this.wholeWordOption.checked})&&this.searchInput.value;s.setCssClass(this.searchBox,"ace_nomatch",e),this.editor._emit("findSearchBox",{match:!e}),this.highlight(),this.hide()},this.replace=function(){this.editor.getReadOnly()||this.editor.replace(this.replaceInput.value)},this.replaceAndFindNext=function(){this.editor.getReadOnly()||(this.editor.replace(this.replaceInput.value),this.findNext())},this.replaceAll=function(){this.editor.getReadOnly()||this.editor.replaceAll(this.replaceInput.value)},this.hide=function(){this.active=!1,this.setSearchRange(null),this.editor.off("changeSession",this.setSession),this.element.style.display="none",this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb),this.editor.focus()},this.show=function(e,t){this.active=!0,this.editor.on("changeSession",this.setSession),this.element.style.display="",this.replaceOption.checked=t,e&&(this.searchInput.value=e),this.searchInput.focus(),this.searchInput.select(),this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb),this.$syncOptions(!0)},this.isFocused=function(){var e=document.activeElement;return e==this.searchInput||e==this.replaceInput}}).call(l.prototype),t.SearchBox=l,t.Search=function(e,t){(e.searchBox||new l(e)).show(e.session.getTextRange(),t)}}),ace.require(["ace/ext/searchbox"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/ext-spellcheck.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"],function(e,t,n){"use strict";var l=e("../lib/event");t.contextMenuHandler=function(e){var n=e.target,o=n.textInput.getElement();if(n.selection.isEmpty()){var t=n.getCursorPosition(),i=n.session.getWordRange(t.row,t.column),s=n.session.getTextRange(i);if(n.session.tokenRe.lastIndex=0,n.session.tokenRe.test(s)){var c=s+" ";o.value=c,o.setSelectionRange(s.length,s.length+1),o.setSelectionRange(0,0),o.setSelectionRange(0,s.length);var r=!1;l.addListener(o,"keydown",function e(){l.removeListener(o,"keydown",e),r=!0}),n.textInput.setInputHandler(function(e){if(console.log(e,c,o.selectionStart,o.selectionEnd),e==c)return"";if(0===e.lastIndexOf(c,0))return e.slice(c.length);if(e.substr(o.selectionEnd)==c)return e.slice(0,-c.length);if(""==e.slice(-2)){var t=e.slice(0,-2);if(" "==t.slice(-1))return r?t.substring(0,o.selectionEnd):(t=t.slice(0,-1),n.session.replace(i,t),"")}return e})}}};var o=e("../editor").Editor;e("../config").defineOptions(o.prototype,"editor",{spellcheck:{set:function(e){this.textInput.getElement().spellcheck=!!e,e?this.on("nativecontextmenu",t.contextMenuHandler):this.removeListener("nativecontextmenu",t.contextMenuHandler)},value:!0}})}),ace.require(["ace/ext/spellcheck"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/ext-statusbar.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"],function(e,t,n){"use strict";var a=e("ace/lib/dom"),o=e("ace/lib/lang"),i=function(e,t){this.element=a.createElement("div"),this.element.className="ace_status-indicator",this.element.style.cssText="display: inline-block;",t.appendChild(this.element);var n=o.delayedCall(function(){this.updateStatus(e)}.bind(this)).schedule.bind(null,100);e.on("changeStatus",n),e.on("changeSelection",n),e.on("keyboardActivity",n)};(function(){this.updateStatus=function(e){function t(e,t){e&&n.push(e,t||"|")}var n=[];t(e.keyBinding.getStatusText(e)),e.commands.recording&&t("REC");var a=e.selection,o=a.lead;if(!a.isEmpty()){var i=e.getSelectionRange();t("("+(i.end.row-i.start.row)+":"+(i.end.column-i.start.column)+")"," ")}t(o.row+":"+o.column," "),a.rangeCount&&t("["+a.rangeCount+"]"," "),n.pop(),this.element.textContent=n.join("")}}).call(i.prototype),t.StatusBar=i}),ace.require(["ace/ext/statusbar"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-abap.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/abap_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e=this.createKeywordMapper({"variable.language":"this",keyword:"ADD ALIAS ALIASES ASCENDING ASSERT ASSIGN ASSIGNING AT BACK CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY DATA DEFINE DEFINITION DEFERRED DELETE DESCENDING DESCRIBE DETAIL DIVIDE DO ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT FETCH FIELDS FORM FORMAT FREE FROM FUNCTION GENERATE GET HIDE IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION LEAVE LIKE LINE LOAD LOCAL LOOP MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY ON OVERLAY OPTIONAL OTHERS PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT RAISE RANGES READ RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURN RETURNING ROLLBACK SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES UNASSIGN ULINE UNPACK UPDATE WHEN WHILE WINDOW WRITE OCCURS STRUCTURE OBJECT PROPERTY CASTING APPEND RAISING VALUE COLOR CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT ID NUMBER FOR TITLE OUTPUT WITH EXIT USING INTO WHERE GROUP BY HAVING ORDER BY SINGLE APPENDING CORRESPONDING FIELDS OF TABLE LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN","constant.language":"TRUE FALSE NULL SPACE","support.type":"c n i p f d t x string xstring decfloat16 decfloat34","keyword.operator":"abs sign ceil floor trunc frac acos asin atan cos sin tan abapOperator cosh sinh tanh exp log log10 sqrt strlen xstrlen charlen numofchar dbmaxlen lines"},"text",!0," "),t="WITH\\W+(?:HEADER\\W+LINE|FRAME|KEY)|NO\\W+STANDARD\\W+PAGE\\W+HEADING|EXIT\\W+FROM\\W+STEP\\W+LOOP|BEGIN\\W+OF\\W+(?:BLOCK|LINE)|BEGIN\\W+OF|END\\W+OF\\W+(?:BLOCK|LINE)|END\\W+OF|NO\\W+INTERVALS|RESPECTING\\W+BLANKS|SEPARATED\\W+BY|USING\\W+(?:EDIT\\W+MASK)|WHERE\\W+(?:LINE)|RADIOBUTTON\\W+GROUP|REF\\W+TO|(?:PUBLIC|PRIVATE|PROTECTED)(?:\\W+SECTION)?|DELETING\\W+(?:TRAILING|LEADING)(?:ALL\\W+OCCURRENCES)|(?:FIRST|LAST)\\W+OCCURRENCE|INHERITING\\W+FROM|LINE-COUNT|ADD-CORRESPONDING|AUTHORITY-CHECK|BREAK-POINT|CLASS-DATA|CLASS-METHODS|CLASS-METHOD|DIVIDE-CORRESPONDING|EDITOR-CALL|END-OF-DEFINITION|END-OF-PAGE|END-OF-SELECTION|FIELD-GROUPS|FIELD-SYMBOLS|FUNCTION-POOL|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|NEW-PAGE|NEW-SECTION|PRINT-CONTROL|RP-PROVIDE-FROM-LAST|SELECT-OPTIONS|SELECTION-SCREEN|START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYNTAX-TRACE|TOP-OF-PAGE|TYPE-POOL|TYPE-POOLS|LINE-SIZE|LINE-COUNT|MESSAGE-ID|DISPLAY-MODE|READ(?:-ONLY)?|IS\\W+(?:NOT\\W+)?(?:ASSIGNED|BOUND|INITIAL|SUPPLIED)";this.$rules={start:[{token:"string",regex:"`",next:"string"},{token:"string",regex:"'",next:"qstring"},{token:"doc.comment",regex:/^\*.+/},{token:"comment",regex:/".+$/},{token:"invalid",regex:"\\.{2,}"},{token:"keyword.operator",regex:/\W[\-+%=<>*]\W|\*\*|[~:,\.&$]|->*?|=>/},{token:"paren.lparen",regex:"[\\[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"constant.numeric",regex:"[+-]?\\d+\\b"},{token:"variable.parameter",regex:/sy|pa?\d\d\d\d\|t\d\d\d\.|innnn/},{token:"keyword",regex:t},{token:"variable.parameter",regex:/\w+-\w[\-\w]*/},{token:e,regex:"\\b\\w+\\b"},{caseInsensitive:!0}],qstring:[{token:"constant.language.escape",regex:"''"},{token:"string",regex:"'",next:"start"},{defaultToken:"string"}],string:[{token:"constant.language.escape",regex:"``"},{token:"string",regex:"`",next:"start"},{defaultToken:"string"}]}};r.inherits(s,i),t.AbapHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/abap",["require","exports","module","ace/mode/abap_highlight_rules","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/lib/oop"],function(e,t,n){"use strict";function a(){this.HighlightRules=r,this.foldingRules=new i}var r=e("./abap_highlight_rules").AbapHighlightRules,i=e("./folding/coffee").FoldMode,s=e("../range").Range,o=e("./text").Mode,u=e("../lib/oop");u.inherits(a,o),function(){this.lineCommentStart='"',this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t);return r},this.$id="ace/mode/abap"}.call(a.prototype),t.Mode=a});                (function() {
-                    ace.require(["ace/mode/abap"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-ada.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|body|private|then|if|procedure|type|case|in|protected|constant|interface|until||is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"--.*$"},{token:"string",regex:'".*?"'},{token:"string",regex:"'.'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]}};r.inherits(s,i),t.AdaHighlightRules=s}),ace.define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./ada_highlight_rules").AdaHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="--",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*(begin|loop|then|is|do)\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){var r=t+n;return r.match(/^\s*(begin|end)$/)?!0:!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=t.getLine(n-1),s=this.$getIndent(i).length,u=this.$getIndent(r).length;if(u<=s)return;t.outdentRows(new o(n,0,n+2,0))},this.$id="ace/mode/ada"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/ada"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-assembly_x86.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/assembly_x86_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(s,e,t){"use strict";var d=s("../lib/oop"),p=s("./text_highlight_rules").TextHighlightRules,n=function(){this.$rules={start:[{token:"keyword.control.assembly",regex:"\\b(?:aaa|aad|aam|aas|adc|add|addpd|addps|addsd|addss|addsubpd|addsubps|aesdec|aesdeclast|aesenc|aesenclast|aesimc|aeskeygenassist|and|andpd|andps|andnpd|andnps|arpl|blendpd|blendps|blendvpd|blendvps|bound|bsf|bsr|bswap|bt|btc|btr|bts|cbw|cwde|cdqe|clc|cld|cflush|clts|cmc|cmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|cmp|cmppd|cmpps|cmps|cnpsb|cmpsw|cmpsd|cmpsq|cmpss|cmpxchg|cmpxchg8b|cmpxchg16b|comisd|comiss|cpuid|crc32|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtpi2ps|cvtps2dq|cvtps2pd|cvtps2pi|cvtsd2si|cvtsd2ss|cvts2sd|cvtsi2ss|cvtss2sd|cvtss2si|cvttpd2dq|cvtpd2pi|cvttps2dq|cvttps2pi|cvttps2dq|cvttps2pi|cvttsd2si|cvttss2si|cwd|cdq|cqo|daa|das|dec|div|divpd|divps|divsd|divss|dppd|dpps|emms|enter|extractps|f2xm1|fabs|fadd|faddp|fiadd|fbld|fbstp|fchs|fclex|fnclex|fcmov(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|fcom|fcmop|fcompp|fcomi|fcomip|fucomi|fucomip|fcos|fdecstp|fdiv|fdivp|fidiv|fdivr|fdivrp|fidivr|ffree|ficom|ficomp|fild|fincstp|finit|fnint|fist|fistp|fisttp|fld|fld1|fldl2t|fldl2e|fldpi|fldlg2|fldln2|fldz|fldcw|fldenv|fmul|fmulp|fimul|fnop|fpatan|fprem|fprem1|fptan|frndint|frstor|fsave|fnsave|fscale|fsin|fsincos|fsqrt|fst|fstp|fstcw|fnstcw|fstenv|fnstenv|fsts|fnstsw|fsub|fsubp|fisub|fsubr|fsubrp|fisubr|ftst|fucom|fucomp|fucompp|fxam|fxch|fxrstor|fxsave|fxtract|fyl2x|fyl2xp1|haddpd|haddps|husbpd|hsubps|idiv|imul|in|inc|ins|insb|insw|insd|insertps|int|into|invd|invplg|invpcid|iret|iretd|iretq|lahf|lar|lddqu|ldmxcsr|lds|les|lfs|lgs|lss|lea|leave|lfence|lgdt|lidt|llgdt|lmsw|lock|lods|lodsb|lodsw|lodsd|lodsq|lsl|ltr|maskmovdqu|maskmovq|maxpd|maxps|maxsd|maxss|mfence|minpd|minps|minsd|minss|monitor|mov|movapd|movaps|movbe|movd|movq|movddup|movdqa|movdqu|movq2q|movhlps|movhpd|movhps|movlhps|movlpd|movlps|movmskpd|movmskps|movntdqa|movntdq|movnti|movntpd|movntps|movntq|movq|movq2dq|movs|movsb|movsw|movsd|movsq|movsd|movshdup|movsldup|movss|movsx|movsxd|movupd|movups|movzx|mpsadbw|mul|mulpd|mulps|mulsd|mulss|mwait|neg|not|or|orpd|orps|out|outs|outsb|outsw|outsd|pabsb|pabsw|pabsd|packsswb|packssdw|packusdw|packuswbpaddb|paddw|paddd|paddq|paddsb|paddsw|paddusb|paddusw|palignr|pand|pandn|pause|pavgb|pavgw|pblendvb|pblendw|pclmulqdq|pcmpeqb|pcmpeqw|pcmpeqd|pcmpeqq|pcmpestri|pcmpestrm|pcmptb|pcmptgw|pcmpgtd|pcmpgtq|pcmpistri|pcmpisrm|pextrb|pextrd|pextrq|pextrw|phaddw|phaddd|phaddsw|phinposuw|phsubw|phsubd|phsubsw|pinsrb|pinsrd|pinsrq|pinsrw|pmaddubsw|pmadddwd|pmaxsb|pmaxsd|pmaxsw|pmaxsw|pmaxub|pmaxud|pmaxuw|pminsb|pminsd|pminsw|pminub|pminud|pminuw|pmovmskb|pmovsx|pmovzx|pmuldq|pmulhrsw|pmulhuw|pmulhw|pmulld|pmullw|pmuludw|pop|popa|popad|popcnt|popf|popfd|popfq|por|prefetch|psadbw|pshufb|pshufd|pshufhw|pshuflw|pshufw|psignb|psignw|psignd|pslldq|psllw|pslld|psllq|psraw|psrad|psrldq|psrlw|psrld|psrlq|psubb|psubw|psubd|psubq|psubsb|psubsw|psubusb|psubusw|test|ptest|punpckhbw|punpckhwd|punpckhdq|punpckhddq|punpcklbw|punpcklwd|punpckldq|punpckldqd|push|pusha|pushad|pushf|pushfd|pxor|prcl|rcr|rol|ror|rcpps|rcpss|rdfsbase|rdgsbase|rdmsr|rdpmc|rdrand|rdtsc|rdtscp|rep|repe|repz|repne|repnz|roundpd|roundps|roundsd|roundss|rsm|rsqrps|rsqrtss|sahf|sal|sar|shl|shr|sbb|scas|scasb|scasw|scasd|set(?:n?e|ge?|ae?|le?|be?|n?o|n?z)|sfence|sgdt|shld|shrd|shufpd|shufps|sidt|sldt|smsw|sqrtpd|sqrtps|sqrtsd|sqrtss|stc|std|stmxcsr|stos|stosb|stosw|stosd|stosq|str|sub|subpd|subps|subsd|subss|swapgs|syscall|sysenter|sysexit|sysret|teset|ucomisd|ucomiss|ud2|unpckhpd|unpckhps|unpcklpd|unpcklps|vbroadcast|vcvtph2ps|vcvtp2sph|verr|verw|vextractf128|vinsertf128|vmaskmov|vpermilpd|vpermilps|vperm2f128|vtestpd|vtestps|vzeroall|vzeroupper|wait|fwait|wbinvd|wrfsbase|wrgsbase|wrmsr|xadd|xchg|xgetbv|xlat|xlatb|xor|xorpd|xorps|xrstor|xsave|xsaveopt|xsetbv|lzcnt|extrq|insertq|movntsd|movntss|vfmaddpd|vfmaddps|vfmaddsd|vfmaddss|vfmaddsubbpd|vfmaddsubps|vfmsubaddpd|vfmsubaddps|vfmsubpd|vfmsubps|vfmsubsd|vfnmaddpd|vfnmaddps|vfnmaddsd|vfnmaddss|vfnmsubpd|vfnmusbps|vfnmusbsd|vfnmusbss|cvt|xor|cli|sti|hlt|nop|lock|wait|enter|leave|ret|loop(?:n?e|n?z)?|call|j(?:mp|n?e|ge?|ae?|le?|be?|n?o|n?z))\\b",caseInsensitive:!0},{token:"variable.parameter.register.assembly",regex:"\\b(?:CS|DS|ES|FS|GS|SS|RAX|EAX|RBX|EBX|RCX|ECX|RDX|EDX|RCX|RIP|EIP|IP|RSP|ESP|SP|RSI|ESI|SI|RDI|EDI|DI|RFLAGS|EFLAGS|FLAGS|R8-15|(?:Y|X)MM(?:[0-9]|10|11|12|13|14|15)|(?:A|B|C|D)(?:X|H|L)|CR(?:[0-4]|DR(?:[0-7]|TR6|TR7|EFER)))\\b",caseInsensitive:!0},{token:"constant.character.decimal.assembly",regex:"\\b[0-9]+\\b"},{token:"constant.character.hexadecimal.assembly",regex:"\\b0x[A-F0-9]+\\b",caseInsensitive:!0},{token:"constant.character.hexadecimal.assembly",regex:"\\b[A-F0-9]+h\\b",caseInsensitive:!0},{token:"string.assembly",regex:/'([^\\']|\\.)*'/},{token:"string.assembly",regex:/"([^\\"]|\\.)*"/},{token:"support.function.directive.assembly",regex:"^\\[",push:[{token:"support.function.directive.assembly",regex:"\\]$",next:"pop"},{defaultToken:"support.function.directive.assembly"}]},{token:["support.function.directive.assembly","support.function.directive.assembly","entity.name.function.assembly"],regex:"(^struc)( )([_a-zA-Z][_a-zA-Z0-9]*)"},{token:"support.function.directive.assembly",regex:"^endstruc\\b"},{token:["support.function.directive.assembly","entity.name.function.assembly","support.function.directive.assembly","constant.character.assembly"],regex:"^(%macro )([_a-zA-Z][_a-zA-Z0-9]*)( )([0-9]+)"},{token:"support.function.directive.assembly",regex:"^%endmacro"},{token:["text","support.function.directive.assembly","text","entity.name.function.assembly"],regex:"(\\s*)(%define|%xdefine|%idefine|%undef|%assign|%defstr|%strcat|%strlen|%substr|%00|%0|%rotate|%rep|%endrep|%include|\\$\\$|\\$|%unmacro|%if|%elif|%else|%endif|%(?:el)?ifdef|%(?:el)?ifmacro|%(?:el)?ifctx|%(?:el)?ifidn|%(?:el)?ifidni|%(?:el)?ifid|%(?:el)?ifnum|%(?:el)?ifstr|%(?:el)?iftoken|%(?:el)?ifempty|%(?:el)?ifenv|%pathsearch|%depend|%use|%push|%pop|%repl|%arg|%stacksize|%local|%error|%warning|%fatal|%line|%!|%comment|%endcomment|__NASM_VERSION_ID__|__NASM_VER__|__FILE__|__LINE__|__BITS__|__OUTPUT_FORMAT__|__DATE__|__TIME__|__DATE_NUM__|_TIME__NUM__|__UTC_DATE__|__UTC_TIME__|__UTC_DATE_NUM__|__UTC_TIME_NUM__|__POSIX_TIME__|__PASS__|ISTRUC|AT|IEND|BITS 16|BITS 32|BITS 64|USE16|USE32|__SECT__|ABSOLUTE|EXTERN|GLOBAL|COMMON|CPU|FLOAT)\\b( ?)((?:[_a-zA-Z][_a-zA-Z0-9]*)?)",caseInsensitive:!0},{token:"support.function.directive.assembly",regex:"\\b(?:d[bwdqtoy]|res[bwdqto]|equ|times|align|alignb|sectalign|section|ptr|byte|word|dword|qword|incbin)\\b",caseInsensitive:!0},{token:"entity.name.function.assembly",regex:"^\\s*%%[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^\\s*%\\$[\\w.]+?:$"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?:"},{token:"entity.name.function.assembly",regex:"^[\\w.]+?\\b"},{token:"comment.assembly",regex:";.*$"}]},this.normalizeRules()};n.metaData={fileTypes:["asm"],name:"Assembly x86",scopeName:"source.assembly"},d.inherits(n,p),e.AssemblyX86HighlightRules=n}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(s,e,t){"use strict";var d=s("../../lib/oop"),p=s("./fold_mode").FoldMode,f=s("../../range").Range,n=e.FoldMode=function(){};d.inherits(n,p),function(){this.getFoldWidgetRange=function(s,e,t){var d=this.indentationBlock(s,t);if(d)return d;var p=/\S/,n=s.getLine(t),i=n.search(p);if(-1!=i&&"#"==n[i]){for(var a=n.length,o=s.getLength(),r=t,c=t;++t<o;){var m=(n=s.getLine(t)).search(p);if(-1!=m){if("#"!=n[m])break;c=t}}if(r<c){var l=s.getLine(c).length;return new f(r,a,c,l)}}},this.getFoldWidget=function(s,e,t){var d=s.getLine(t),p=d.search(/\S/),n=s.getLine(t+1),i=s.getLine(t-1),a=i.search(/\S/),o=n.search(/\S/);if(-1==p)return s.foldWidgets[t-1]=-1!=a&&a<o?"start":"","";if(-1==a){if(p==o&&"#"==d[p]&&"#"==n[p])return s.foldWidgets[t-1]="",s.foldWidgets[t+1]="","start"}else if(a==p&&"#"==d[p]&&"#"==i[p]&&-1==s.getLine(t-2).search(/\S/))return s.foldWidgets[t-1]="start",s.foldWidgets[t+1]="";return s.foldWidgets[t-1]=-1!=a&&a<p?"start":"",p<o?"start":""}}.call(n.prototype)}),ace.define("ace/mode/assembly_x86",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/assembly_x86_highlight_rules","ace/mode/folding/coffee"],function(s,e,t){"use strict";var d=s("../lib/oop"),p=s("./text").Mode,n=s("./assembly_x86_highlight_rules").AssemblyX86HighlightRules,i=s("./folding/coffee").FoldMode,a=function(){this.HighlightRules=n,this.foldingRules=new i,this.$behaviour=this.$defaultBehaviour};d.inherits(a,p),function(){this.lineCommentStart=[";"],this.$id="ace/mode/assembly_x86"}.call(a.prototype),e.Mode=a}),ace.require(["ace/mode/assembly_x86"],function(s){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=s)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-bro.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/bro_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,o){"use strict";var r=e("../lib/oop"),n=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"punctuation.definition.comment.bro",regex:/#/,push:[{token:"comment.line.number-sign.bro",regex:/$/,next:"pop"},{defaultToken:"comment.line.number-sign.bro"}]},{token:"keyword.control.bro",regex:/\b(?:break|case|continue|else|for|if|return|switch|next|when|timeout|schedule)\b/},{token:["meta.function.bro","meta.function.bro","storage.type.bro","meta.function.bro","entity.name.function.bro","meta.function.bro"],regex:/^(\s*)(?:function|hook|event)(\s*)(.*)(\s*\()(.*)(\).*$)/},{token:"storage.type.bro",regex:/\b(?:bool|enum|double|int|count|port|addr|subnet|any|file|interval|time|string|table|vector|set|record|pattern|hook)\b/},{token:"storage.modifier.bro",regex:/\b(?:global|const|redef|local|&(?:optional|rotate_interval|rotate_size|add_func|del_func|expire_func|expire_create|expire_read|expire_write|persistent|synchronized|encrypt|mergeable|priority|group|type_column|log|error_handler))\b/},{token:"keyword.operator.bro",regex:/\s*(?:\||&&|(?:>|<|!)=?|==)\s*|\b!?in\b/},{token:"constant.language.bro",regex:/\b(?:T|F)\b/},{token:"constant.numeric.bro",regex:/\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\.?[0-9]*|\.[0-9]+)(?:(?:e|E)(?:\+|-)?[0-9]+)?)(?:\/(?:tcp|udp|icmp)|\s*(?:u?sec|min|hr|day)s?)?\b/},{token:"punctuation.definition.string.begin.bro",regex:/"/,push:[{token:"punctuation.definition.string.end.bro",regex:/"/,next:"pop"},{include:"#string_escaped_char"},{include:"#string_placeholder"},{defaultToken:"string.quoted.double.bro"}]},{token:"punctuation.definition.string.begin.bro",regex:/\//,push:[{token:"punctuation.definition.string.end.bro",regex:/\//,next:"pop"},{include:"#string_escaped_char"},{include:"#string_placeholder"},{defaultToken:"string.quoted.regex.bro"}]},{token:["meta.preprocessor.bro.load","keyword.other.special-method.bro"],regex:/^(\s*)(\@load(?:-sigs)?)\b/,push:[{token:[],regex:/(?=\#)|$/,next:"pop"},{defaultToken:"meta.preprocessor.bro.load"}]},{token:["meta.preprocessor.bro.if","keyword.other.special-method.bro","meta.preprocessor.bro.if"],regex:/^(\s*)(\@endif|\@if(?:n?def)?)(.*$)/,push:[{token:[],regex:/$/,next:"pop"},{defaultToken:"meta.preprocessor.bro.if"}]}],"#disabled":[{token:"text",regex:/^\s*\@if(?:n?def)?\b.*$/,push:[{token:"text",regex:/^\s*\@endif\b.*$/,next:"pop"},{include:"#disabled"},{include:"#pragma-mark"}],comment:"eat nested preprocessor ifdefs"}],"#preprocessor-rule-other":[{token:["text","meta.preprocessor.bro","meta.preprocessor.bro","text"],regex:/^(\s*)(@if)((?:n?def)?)\b(.*?)(?:(?=)|$)/,push:[{token:["text","meta.preprocessor.bro","text"],regex:/^(\s*)(@endif)\b(.*$)/,next:"pop"},{include:"$base"}]}],"#string_escaped_char":[{token:"constant.character.escape.bro",regex:/\\(?:\\|[abefnprtv'"?]|[0-3]\d{,2}|[4-7]\d?|x[a-fA-F0-9]{,2})/},{token:"invalid.illegal.unknown-escape.bro",regex:/\\./}],"#string_placeholder":[{token:"constant.other.placeholder.bro",regex:/%(?:\d+\$)?[#0\- +']*[,;:_]?(?:-?\d+|\*(?:-?\d+\$)?)?(?:\.(?:-?\d+|\*(?:-?\d+\$)?)?)?(?:hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?[diouxXDOUeEfFgGaACcSspn%]/},{token:"invalid.illegal.placeholder.bro",regex:/%/}]},this.normalizeRules()};i.metaData={fileTypes:["bro"],foldingStartMarker:"^(\\@if(n?def)?)",foldingStopMarker:"^\\@endif",keyEquivalent:"@B",name:"Bro",scopeName:"source.bro"},r.inherits(i,n),t.BroHighlightRules=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,o){"use strict";var r=e("../../lib/oop"),d=e("../../range").Range,n=e("./fold_mode").FoldMode,i=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(i,n),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,o){var r=e.getLine(o);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var n=this._getFoldWidgetBase(e,t,o);return!n&&this.startRegionRe.test(r)?"start":n},this.getFoldWidgetRange=function(e,t,o,r){var n,i=e.getLine(o);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,o);if(n=i.match(this.foldingStartMarker)){var s=n.index;if(n[1])return this.openingBracketBlock(e,n[1],o,s);var a=e.getCommentFoldRange(o,s+n[0].length,1);return a&&!a.isMultiLine()&&(r?a=this.getSectionRange(e,o):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(n=i.match(this.foldingStopMarker))){s=n.index+n[0].length;return n[1]?this.closingBracketBlock(e,n[1],o,s):e.getCommentFoldRange(o,s,-1)}},this.getSectionRange=function(e,t){for(var o=e.getLine(t),r=o.search(/\S/),n=t,i=o.length,s=t+=1,a=e.getLength();++t<a;){var l=(o=e.getLine(t)).search(/\S/);if(-1!==l){if(l<r)break;var g=this.getFoldWidgetRange(e,"all",t);if(g){if(g.start.row<=n)break;if(g.isMultiLine())t=g.end.row;else if(r==l)break}s=t}}return new d(n,i,s,e.getLine(s).length)},this.getCommentRegionBlock=function(e,t,o){for(var r=t.search(/\s*$/),n=e.getLength(),i=o,s=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++o<n;){t=e.getLine(o);var l=s.exec(t);if(l&&(l[1]?a--:a++,!a))break}if(i<o)return new d(i,r,o,t.length)}}.call(i.prototype)}),ace.define("ace/mode/bro",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/bro_highlight_rules","ace/mode/folding/cstyle"],function(e,t,o){"use strict";var r=e("../lib/oop"),n=e("./text").Mode,i=e("./bro_highlight_rules").BroHighlightRules,s=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=i,this.foldingRules=new s};r.inherits(a,n),function(){this.$id="ace/mode/bro"}.call(a.prototype),t.Mode=a}),ace.require(["ace/mode/bro"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-coffee.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(){var e="[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*",t="case|const|function|var|void|with|enum|implements|interface|let|package|private|protected|public|static",n=this.createKeywordMapper({keyword:"this|throw|then|try|typeof|super|switch|return|break|by|continue|catch|class|in|instanceof|is|isnt|if|else|extends|for|own|finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|or|on|unless|until|and|yes|yield|export|import|default","constant.language":"true|false|null|undefined|NaN|Infinity","invalid.illegal":t,"language.support.class":"Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray","language.support.function":"Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|encodeURIComponent|decodeURI|decodeURIComponent|String|","variable.language":"window|arguments|prototype|document"},"identifier"),r={token:["paren.lparen","variable.parameter","paren.rparen","text","storage.type"],regex:/(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()"'\/])*?)(\))(\s*))?([\-=]>)/.source},o=/\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;this.$rules={start:[{token:"constant.numeric",regex:"(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"},{stateName:"qdoc",token:"string",regex:"'''",next:[{token:"string",regex:"'''",next:"start"},{token:"constant.language.escape",regex:o},{defaultToken:"string"}]},{stateName:"qqdoc",token:"string",regex:'"""',next:[{token:"string",regex:'"""',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:o},{defaultToken:"string"}]},{stateName:"qstring",token:"string",regex:"'",next:[{token:"string",regex:"'",next:"start"},{token:"constant.language.escape",regex:o},{defaultToken:"string"}]},{stateName:"qqstring",token:"string.start",regex:'"',next:[{token:"string.end",regex:'"',next:"start"},{token:"paren.string",regex:"#{",push:"start"},{token:"constant.language.escape",regex:o},{defaultToken:"string"}]},{stateName:"js",token:"string",regex:"`",next:[{token:"string",regex:"`",next:"start"},{token:"constant.language.escape",regex:o},{defaultToken:"string"}]},{regex:"[{}]",onMatch:function(e,t,n){return this.next="","{"==e&&n.length?(n.unshift("start",t),"paren"):"}"==e&&n.length&&(n.shift(),this.next=n.shift()||"",-1!=this.next.indexOf("string"))?"paren.string":"paren"}},{token:"string.regex",regex:"///",next:"heregex"},{token:"string.regex",regex:/(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/},{token:"comment",regex:"###(?!#)",next:"comment"},{token:"comment",regex:"#.*"},{token:["punctuation.operator","text","identifier"],regex:"(\\.)(\\s*)("+t+")"},{token:"punctuation.operator",regex:"\\.{1,3}"},{token:["keyword","text","language.support.class","text","keyword","text","language.support.class"],regex:"(class)(\\s+)("+e+")(?:(\\s+)(extends)(\\s+)("+e+"))?"},{token:["entity.name.function","text","keyword.operator","text"].concat(r.token),regex:"("+e+")(\\s*)([=:])(\\s*)"+r.regex},r,{token:"variable",regex:"@(?:"+e+")?"},{token:n,regex:e},{token:"punctuation.operator",regex:"\\,|\\."},{token:"storage.type",regex:"[\\-=]>"},{token:"keyword.operator",regex:"(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"},{token:"paren.lparen",regex:"[({[]"},{token:"paren.rparen",regex:"[\\]})]"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?///[imgy]{0,4}",next:"start"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],comment:[{token:"comment",regex:"###",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()}var o=e("../lib/oop"),a=e("./text_highlight_rules").TextHighlightRules;o.inherits(r,a),t.CoffeeHighlightRules=r}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),o=e("./fold_mode").FoldMode,d=e("../../range").Range,a=t.FoldMode=function(){};r.inherits(a,o),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var o=/\S/,a=e.getLine(n),i=a.search(o);if(-1!=i&&"#"==a[i]){for(var s=a.length,g=e.getLength(),c=n,u=n;++n<g;){var f=(a=e.getLine(n)).search(o);if(-1!=f){if("#"!=a[f])break;u=n}}if(c<u){var l=e.getLine(u).length;return new d(c,s,u,l)}}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),o=r.search(/\S/),a=e.getLine(n+1),i=e.getLine(n-1),s=i.search(/\S/),g=a.search(/\S/);if(-1==o)return e.foldWidgets[n-1]=-1!=s&&s<g?"start":"","";if(-1==s){if(o==g&&"#"==r[o]&&"#"==a[o])return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(s==o&&"#"==r[o]&&"#"==i[o]&&-1==e.getLine(n-2).search(/\S/))return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="";return e.foldWidgets[n-1]=-1!=s&&s<o?"start":"",o<g?"start":""}}.call(a.prototype)}),ace.define("ace/mode/coffee",["require","exports","module","ace/mode/coffee_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/worker/worker_client","ace/lib/oop"],function(e,t,n){"use strict";function r(){this.HighlightRules=o,this.$outdent=new a,this.foldingRules=new i}var o=e("./coffee_highlight_rules").CoffeeHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,i=e("./folding/coffee").FoldMode,s=(e("../range").Range,e("./text").Mode),g=e("../worker/worker_client").WorkerClient;e("../lib/oop").inherits(r,s),function(){var a=/(?:[({[=:]|[-=]>|\b(?:else|try|(?:swi|ca)tch(?:\s+[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$|^\s*(else\b\s*)?(?:if|for|while|loop)\b(?!.*\bthen\b)/;this.lineCommentStart="#",this.blockComment={start:"###",end:"###"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e).tokens;return(!o.length||"comment"!==o[o.length-1].type)&&"start"===e&&a.test(t)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new g(["ace"],"ace/mode/coffee_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/coffee"}.call(r.prototype),t.Mode=r}),ace.require(["ace/mode/coffee"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-csound_orchestra.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/csound_preprocessor_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.semicolonComments={token:"comment.line.semicolon.csound",regex:";.*$"},this.comments=[{token:"punctuation.definition.comment.begin.csound",regex:"/\\*",push:[{token:"punctuation.definition.comment.end.csound",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.csound"}]},{token:"comment.line.double-slash.csound",regex:"//.*$"},this.semicolonComments],this.macroUses=[{token:["entity.name.function.preprocessor.csound","punctuation.definition.macro-parameter-value-list.begin.csound"],regex:/(\$[A-Z_a-z]\w*\.?)(\()/,next:"macro parameter value list"},{token:"entity.name.function.preprocessor.csound",regex:/\$[A-Z_a-z]\w*(?:\.|\b)/}],this.numbers=[{token:"constant.numeric.float.csound",regex:/(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/},{token:["storage.type.number.csound","constant.numeric.integer.hexadecimal.csound"],regex:/(0[Xx])([0-9A-Fa-f]+)/},{token:"constant.numeric.integer.decimal.csound",regex:/\d+/}],this.bracedStringContents=[{token:"constant.character.escape.csound",regex:/\\(?:[\\abnrt"]|[0-7]{1,3})/},{token:"constant.character.placeholder.csound",regex:/%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/},{token:"constant.character.escape.csound",regex:/%%/}],this.quotedStringContents=[this.macroUses,this.bracedStringContents];var e=[this.comments,{token:"keyword.preprocessor.csound",regex:/#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/},{token:"keyword.preprocessor.csound",regex:/#include/,push:[this.comments,{token:"string.csound",regex:/([^ \t])(?:.*?\1)/,next:"pop"}]},{token:"keyword.preprocessor.csound",regex:/#[ \t]*define/,next:"define directive"},{token:"keyword.preprocessor.csound",regex:/#(?:ifn?def|undef)\b/,next:"macro directive"},this.macroUses];this.$rules={start:e,"define directive":[this.comments,{token:"entity.name.function.preprocessor.csound",regex:/[A-Z_a-z]\w*/},{token:"punctuation.definition.macro-parameter-name-list.begin.csound",regex:/\(/,next:"macro parameter name list"},{token:"punctuation.definition.macro.begin.csound",regex:/#/,next:"macro body"}],"macro parameter name list":[{token:"variable.parameter.preprocessor.csound",regex:/[A-Z_a-z]\w*/},{token:"punctuation.definition.macro-parameter-name-list.end.csound",regex:/\)/,next:"define directive"}],"macro body":[{token:"constant.character.escape.csound",regex:/\\#/},{token:"punctuation.definition.macro.end.csound",regex:/#/,next:"start"},e],"macro directive":[this.comments,{token:"entity.name.function.preprocessor.csound",regex:/[A-Z_a-z]\w*/,next:"start"}],"macro parameter value list":[{token:"punctuation.definition.macro-parameter-value-list.end.csound",regex:/\)/,next:"start"},{token:"punctuation.definition.string.begin.csound",regex:/"/,next:"macro parameter value quoted string"},this.pushRule({token:"punctuation.macro-parameter-value-parenthetical.begin.csound",regex:/\(/,next:"macro parameter value parenthetical"}),{token:"punctuation.macro-parameter-value-separator.csound",regex:"[#']"}],"macro parameter value quoted string":[{token:"constant.character.escape.csound",regex:/\\[#'()]/},{token:"invalid.illegal.csound",regex:/[#'()]/},{token:"punctuation.definition.string.end.csound",regex:/"/,next:"macro parameter value list"},this.quotedStringContents,{defaultToken:"string.quoted.csound"}],"macro parameter value parenthetical":[{token:"constant.character.escape.csound",regex:/\\\)/},this.popRule({token:"punctuation.macro-parameter-value-parenthetical.end.csound",regex:/\)/}),this.pushRule({token:"punctuation.macro-parameter-value-parenthetical.begin.csound",regex:/\(/,next:"macro parameter value parenthetical"}),e]}};r.inherits(s,i),function(){this.pushRule=function(e){return{regex:e.regex,onMatch:function(t,n,r,i){r.length===0&&r.push(n);if(Array.isArray(e.next))for(var s=0;s<e.next.length;s++)r.push(e.next[s]);else r.push(e.next);return this.next=r[r.length-1],e.token},get next(){return Array.isArray(e.next)?e.next[e.next.length-1]:e.next},set next(t){if(Array.isArray(e.next)){var n=e.next[e.next.length-1],r=n.length-1,i=t.length-1;if(i>r)while(r>=0&&i>=0){if(n.charAt(r)!==t.charAt(i)){var s=t.substr(0,i);for(var o=0;o<e.next.length;o++)e.next[o]=s+e.next[o];break}r--,i--}}else e.next=t},get token(){return e.token}}},this.popRule=function(e){return{regex:e.regex,onMatch:function(t,n,r,i){return r.pop(),e.next?(r.push(e.next),this.next=r[r.length-1]):this.next=r.length>1?r[r.length-1]:r.pop(),e.token}}}}.call(s.prototype),t.CsoundPreprocessorHighlightRules=s}),ace.define("ace/mode/csound_score_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules,s=function(){i.call(this),this.quotedStringContents.push({token:"invalid.illegal.csound-score",regex:/[^"]*$/});var e=this.$rules.start;e.push({token:"keyword.control.csound-score",regex:/[abCdefiqstvxy]/},{token:"invalid.illegal.csound-score",regex:/w/},{token:"constant.numeric.language.csound-score",regex:/z/},{token:["keyword.control.csound-score","constant.numeric.integer.decimal.csound-score"],regex:/([nNpP][pP])(\d+)/},{token:"keyword.other.csound-score",regex:/[mn]/,push:[{token:"empty",regex:/$/,next:"pop"},this.comments,{token:"entity.name.label.csound-score",regex:/[A-Z_a-z]\w*/}]},{token:"keyword.preprocessor.csound-score",regex:/r\b/,next:"repeat section"},this.numbers,{token:"keyword.operator.csound-score",regex:"[!+\\-*/^%&|<>#~.]"},this.pushRule({token:"punctuation.definition.string.begin.csound-score",regex:/"/,next:"quoted string"}),this.pushRule({token:"punctuation.braced-loop.begin.csound-score",regex:/{/,next:"loop after left brace"})),this.addRules({"repeat section":[{token:"empty",regex:/$/,next:"start"},this.comments,{token:"constant.numeric.integer.decimal.csound-score",regex:/\d+/,next:"repeat section before label"}],"repeat section before label":[{token:"empty",regex:/$/,next:"start"},this.comments,{token:"entity.name.label.csound-score",regex:/[A-Z_a-z]\w*/,next:"start"}],"quoted string":[this.popRule({token:"punctuation.definition.string.end.csound-score",regex:/"/}),this.quotedStringContents,{defaultToken:"string.quoted.csound-score"}],"loop after left brace":[this.popRule({token:"constant.numeric.integer.decimal.csound-score",regex:/\d+/,next:"loop after repeat count"}),this.comments,{token:"invalid.illegal.csound",regex:/\S.*/}],"loop after repeat count":[this.popRule({token:"entity.name.function.preprocessor.csound-score",regex:/[A-Z_a-z]\w*\b/,next:"loop after macro name"}),this.comments,{token:"invalid.illegal.csound",regex:/\S.*/}],"loop after macro name":[e,this.popRule({token:"punctuation.braced-loop.end.csound-score",regex:/}/})]}),this.normalizeRules()};r.inherits(s,i),t.CsoundScoreHighlightRules=s}),ace.define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="break|do|else|elseif|end|for|function|if|in|local|repeat|return|then|until|while|or|and|not",t="true|false|nil|_G|_VERSION",n="string|xpcall|package|tostring|print|os|unpack|require|getfenv|setmetatable|next|assert|tonumber|io|rawequal|collectgarbage|getmetatable|module|rawset|math|debug|pcall|table|newproxy|type|coroutine|_G|select|gcinfo|pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|load|error|loadfile|sub|upper|len|gfind|rep|find|match|char|dump|gmatch|reverse|byte|format|gsub|lower|preload|loadlib|loaded|loaders|cpath|config|path|seeall|exit|setlocale|date|getenv|difftime|remove|time|clock|tmpname|rename|execute|lines|write|close|flush|open|output|type|read|stderr|stdin|input|stdout|popen|tmpfile|log|max|acos|huge|ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|gethook|setmetatable|setlocal|traceback|setfenv|getinfo|setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|foreachi|maxn|foreach|concat|sort|remove|resume|yield|status|wrap|create|running|__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber",r="string|package|os|io|math|debug|table|coroutine",i="setn|foreach|foreachi|gcinfo|log10|maxn",s=this.createKeywordMapper({keyword:e,"support.function":n,"keyword.deprecated":i,"constant.library":r,"constant.language":t,"variable.language":"self"},"identifier"),o="(?:(?:[1-9]\\d*)|(?:0))",u="(?:0[xX][\\dA-Fa-f]+)",a="(?:"+o+"|"+u+")",f="(?:\\.\\d+)",l="(?:\\d+)",c="(?:(?:"+l+"?"+f+")|(?:"+l+"\\.))",h="(?:"+c+")";this.$rules={start:[{stateName:"bracketedComment",onMatch:function(e,t,n){return n.unshift(this.next,e.length-2,t),"comment"},regex:/\-\-\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","comment"},regex:/\]=*\]/,next:"start"},{defaultToken:"comment"}]},{token:"comment",regex:"\\-\\-.*$"},{stateName:"bracketedString",onMatch:function(e,t,n){return n.unshift(this.next,e.length,t),"string.start"},regex:/\[=*\[/,next:[{onMatch:function(e,t,n){return e.length==n[1]?(n.shift(),n.shift(),this.next=n.shift()):this.next="","string.end"},regex:/\]=*\]/,next:"start"},{defaultToken:"string"}]},{token:"string",regex:'"(?:[^\\\\]|\\\\.)*?"'},{token:"string",regex:"'(?:[^\\\\]|\\\\.)*?'"},{token:"constant.numeric",regex:h},{token:"constant.numeric",regex:a+"\\b"},{token:s,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+|\\w+"}]},this.normalizeRules()};r.inherits(s,i),t.LuaHighlightRules=s}),ace.define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="and|as|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|raise|return|try|while|with|yield|async|await|nonlocal",t="True|False|None|NotImplemented|Ellipsis|__debug__",n="abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|binfile|bin|iter|property|tuple|bool|filter|len|range|type|bytearray|float|list|raw_input|unichr|callable|format|locals|reduce|unicode|chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|__import__|complex|hash|min|apply|delattr|help|next|setattr|set|buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern|ascii|breakpoint|bytes",r=this.createKeywordMapper({"invalid.deprecated":"debugger","support.function":n,"variable.language":"self|cls","constant.language":t,keyword:e},"identifier"),i="[uU]?",s="[rR]",o="[fF]",u="(?:[rR][fF]|[fF][rR])",a="(?:(?:[1-9]\\d*)|(?:0))",f="(?:0[oO]?[0-7]+)",l="(?:0[xX][\\dA-Fa-f]+)",c="(?:0[bB][01]+)",h="(?:"+a+"|"+f+"|"+l+"|"+c+")",p="(?:[eE][+-]?\\d+)",d="(?:\\.\\d+)",v="(?:\\d+)",m="(?:(?:"+v+"?"+d+")|(?:"+v+"\\.))",g="(?:(?:"+m+"|"+v+")"+p+")",y="(?:"+g+"|"+m+")",b="\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string",regex:i+'"{3}',next:"qqstring3"},{token:"string",regex:i+'"(?=.)',next:"qqstring"},{token:"string",regex:i+"'{3}",next:"qstring3"},{token:"string",regex:i+"'(?=.)",next:"qstring"},{token:"string",regex:s+'"{3}',next:"rawqqstring3"},{token:"string",regex:s+'"(?=.)',next:"rawqqstring"},{token:"string",regex:s+"'{3}",next:"rawqstring3"},{token:"string",regex:s+"'(?=.)",next:"rawqstring"},{token:"string",regex:o+'"{3}',next:"fqqstring3"},{token:"string",regex:o+'"(?=.)',next:"fqqstring"},{token:"string",regex:o+"'{3}",next:"fqstring3"},{token:"string",regex:o+"'(?=.)",next:"fqstring"},{token:"string",regex:u+'"{3}',next:"rfqqstring3"},{token:"string",regex:u+'"(?=.)',next:"rfqqstring"},{token:"string",regex:u+"'{3}",next:"rfqstring3"},{token:"string",regex:u+"'(?=.)",next:"rfqstring"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|@|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"punctuation",regex:",|:|;|\\->|\\+=|\\-=|\\*=|\\/=|\\/\\/=|%=|@=|&=|\\|=|^=|>>=|<<=|\\*\\*="},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]\\)\\}]"},{token:"text",regex:"\\s+"},{include:"constants"}],qqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],qstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"qstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],rawqqstring3:[{token:"string",regex:'"{3}',next:"start"},{defaultToken:"string"}],rawqstring3:[{token:"string",regex:"'{3}",next:"start"},{defaultToken:"string"}],rawqqstring:[{token:"string",regex:"\\\\$",next:"rawqqstring"},{token:"string",regex:'"|$',next:"start"},{defaultToken:"string"}],rawqstring:[{token:"string",regex:"\\\\$",next:"rawqstring"},{token:"string",regex:"'|$",next:"start"},{defaultToken:"string"}],fqqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring3:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"\\\\$",next:"fqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstring:[{token:"constant.language.escape",regex:b},{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring3:[{token:"string",regex:'"{3}',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring3:[{token:"string",regex:"'{3}",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqqstring:[{token:"string",regex:"\\\\$",next:"rfqqstring"},{token:"string",regex:'"|$',next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],rfqstring:[{token:"string",regex:"'|$",next:"start"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"},{defaultToken:"string"}],fqstringParRules:[{token:"paren.lparen",regex:"[\\[\\(]"},{token:"paren.rparen",regex:"[\\]\\)]"},{token:"string",regex:"\\s+"},{token:"string",regex:"'(.)*'"},{token:"string",regex:'"(.)*"'},{token:"function.support",regex:"(!s|!r|!a)"},{include:"constants"},{token:"paren.rparen",regex:"}",next:"pop"},{token:"paren.lparen",regex:"{",push:"fqstringParRules"}],constants:[{token:"constant.numeric",regex:"(?:"+y+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:y},{token:"constant.numeric",regex:h+"[lL]\\b"},{token:"constant.numeric",regex:h+"\\b"},{token:["punctuation","function.support"],regex:"(\\.)([a-zA-Z_]+)\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}]},this.normalizeRules()};r.inherits(s,i),t.PythonHighlightRules=s}),ace.define("ace/mode/csound_orchestra_highlight_rules",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules","ace/mode/csound_score_highlight_rules","ace/mode/lua_highlight_rules","ace/mode/python_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/lang"),i=e("../lib/oop"),s=e("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules,o=e("./csound_score_highlight_rules").CsoundScoreHighlightRules,u=e("./lua_highlight_rules").LuaHighlightRules,a=e("./python_highlight_rules").PythonHighlightRules,f=function(){s.call(this);var e=["ATSadd","ATSaddnz","ATSbufread","ATScross","ATSinfo","ATSinterpread","ATSpartialtap","ATSread","ATSreadnz","ATSsinnoi","FLbox","FLbutBank","FLbutton","FLcloseButton","FLcolor","FLcolor2","FLcount","FLexecButton","FLgetsnap","FLgroup","FLgroupEnd","FLgroup_end","FLhide","FLhvsBox","FLhvsBoxSetValue","FLjoy","FLkeyIn","FLknob","FLlabel","FLloadsnap","FLmouse","FLpack","FLpackEnd","FLpack_end","FLpanel","FLpanelEnd","FLpanel_end","FLprintk","FLprintk2","FLroller","FLrun","FLsavesnap","FLscroll","FLscrollEnd","FLscroll_end","FLsetAlign","FLsetBox","FLsetColor","FLsetColor2","FLsetFont","FLsetPosition","FLsetSize","FLsetSnapGroup","FLsetText","FLsetTextColor","FLsetTextSize","FLsetTextType","FLsetVal","FLsetVal_i","FLsetVali","FLsetsnap","FLshow","FLslidBnk","FLslidBnk2","FLslidBnk2Set","FLslidBnk2Setk","FLslidBnkGetHandle","FLslidBnkSet","FLslidBnkSetk","FLslider","FLtabs","FLtabsEnd","FLtabs_end","FLtext","FLupdate","FLvalue","FLvkeybd","FLvslidBnk","FLvslidBnk2","FLxyin","JackoAudioIn","JackoAudioInConnect","JackoAudioOut","JackoAudioOutConnect","JackoFreewheel","JackoInfo","JackoInit","JackoMidiInConnect","JackoMidiOut","JackoMidiOutConnect","JackoNoteOut","JackoOn","JackoTransport","K35_hpf","K35_lpf","MixerClear","MixerGetLevel","MixerReceive","MixerSend","MixerSetLevel","MixerSetLevel_i","OSCbundle","OSCcount","OSCinit","OSCinitM","OSClisten","OSCraw","OSCsend","OSCsend_lo","S","STKBandedWG","STKBeeThree","STKBlowBotl","STKBlowHole","STKBowed","STKBrass","STKClarinet","STKDrummer","STKFMVoices","STKFlute","STKHevyMetl","STKMandolin","STKModalBar","STKMoog","STKPercFlut","STKPlucked","STKResonate","STKRhodey","STKSaxofony","STKShakers","STKSimple","STKSitar","STKStifKarp","STKTubeBell","STKVoicForm","STKWhistle","STKWurley","a","abs","active","adsr","adsyn","adsynt","adsynt2","aftouch","alpass","alwayson","ampdb","ampdbfs","ampmidi","ampmidid","areson","aresonk","atone","atonek","atonex","babo","balance","balance2","bamboo","barmodel","bbcutm","bbcuts","beadsynt","beosc","betarand","bexprnd","bformdec1","bformenc1","binit","biquad","biquada","birnd","bpf","bpfcos","bqrez","butbp","butbr","buthp","butlp","butterbp","butterbr","butterhp","butterlp","button","buzz","c2r","cabasa","cauchy","cauchyi","cbrt","ceil","cell","cent","centroid","ceps","cepsinv","chanctrl","changed","changed2","chani","chano","chebyshevpoly","checkbox","chn_S","chn_a","chn_k","chnclear","chnexport","chnget","chngetks","chnmix","chnparams","chnset","chnsetks","chuap","clear","clfilt","clip","clockoff","clockon","cmp","cmplxprod","comb","combinv","compilecsd","compileorc","compilestr","compress","compress2","connect","control","convle","convolve","copya2ftab","copyf2array","cos","cosh","cosinv","cosseg","cossegb","cossegr","cps2pch","cpsmidi","cpsmidib","cpsmidinn","cpsoct","cpspch","cpstmid","cpstun","cpstuni","cpsxpch","cpumeter","cpuprc","cross2","crossfm","crossfmi","crossfmpm","crossfmpmi","crosspm","crosspmi","crunch","ctlchn","ctrl14","ctrl21","ctrl7","ctrlinit","cuserrnd","dam","date","dates","db","dbamp","dbfsamp","dcblock","dcblock2","dconv","dct","dctinv","deinterleave","delay","delay1","delayk","delayr","delayw","deltap","deltap3","deltapi","deltapn","deltapx","deltapxw","denorm","diff","diode_ladder","directory","diskgrain","diskin","diskin2","dispfft","display","distort","distort1","divz","doppler","dot","downsamp","dripwater","dssiactivate","dssiaudio","dssictls","dssiinit","dssilist","dumpk","dumpk2","dumpk3","dumpk4","duserrnd","dust","dust2","envlpx","envlpxr","ephasor","eqfil","evalstr","event","event_i","exciter","exitnow","exp","expcurve","expon","exprand","exprandi","expseg","expsega","expsegb","expsegba","expsegr","fareylen","fareyleni","faustaudio","faustcompile","faustctl","faustdsp","faustgen","faustplay","fft","fftinv","ficlose","filebit","filelen","filenchnls","filepeak","filescal","filesr","filevalid","fillarray","filter2","fin","fini","fink","fiopen","flanger","flashtxt","flooper","flooper2","floor","fmanal","fmax","fmb3","fmbell","fmin","fmmetal","fmod","fmpercfl","fmrhode","fmvoice","fmwurlie","fof","fof2","fofilter","fog","fold","follow","follow2","foscil","foscili","fout","fouti","foutir","foutk","fprintks","fprints","frac","fractalnoise","framebuffer","freeverb","ftaudio","ftchnls","ftconv","ftcps","ftfree","ftgen","ftgenonce","ftgentmp","ftlen","ftload","ftloadk","ftlptim","ftmorf","ftom","ftprint","ftresize","ftresizei","ftsamplebank","ftsave","ftsavek","ftslice","ftsr","gain","gainslider","gauss","gaussi","gausstrig","gbuzz","genarray","genarray_i","gendy","gendyc","gendyx","getcfg","getcol","getftargs","getrow","getrowlin","getseed","gogobel","grain","grain2","grain3","granule","guiro","harmon","harmon2","harmon3","harmon4","hdf5read","hdf5write","hilbert","hilbert2","hrtfearly","hrtfmove","hrtfmove2","hrtfreverb","hrtfstat","hsboscil","hvs1","hvs2","hvs3","hypot","i","ihold","imagecreate","imagefree","imagegetpixel","imageload","imagesave","imagesetpixel","imagesize","in","in32","inch","inh","init","initc14","initc21","initc7","inleta","inletf","inletk","inletkid","inletv","ino","inq","inrg","ins","insglobal","insremot","int","integ","interleave","interp","invalue","inx","inz","jacktransport","jitter","jitter2","joystick","jspline","k","la_i_add_mc","la_i_add_mr","la_i_add_vc","la_i_add_vr","la_i_assign_mc","la_i_assign_mr","la_i_assign_t","la_i_assign_vc","la_i_assign_vr","la_i_conjugate_mc","la_i_conjugate_mr","la_i_conjugate_vc","la_i_conjugate_vr","la_i_distance_vc","la_i_distance_vr","la_i_divide_mc","la_i_divide_mr","la_i_divide_vc","la_i_divide_vr","la_i_dot_mc","la_i_dot_mc_vc","la_i_dot_mr","la_i_dot_mr_vr","la_i_dot_vc","la_i_dot_vr","la_i_get_mc","la_i_get_mr","la_i_get_vc","la_i_get_vr","la_i_invert_mc","la_i_invert_mr","la_i_lower_solve_mc","la_i_lower_solve_mr","la_i_lu_det_mc","la_i_lu_det_mr","la_i_lu_factor_mc","la_i_lu_factor_mr","la_i_lu_solve_mc","la_i_lu_solve_mr","la_i_mc_create","la_i_mc_set","la_i_mr_create","la_i_mr_set","la_i_multiply_mc","la_i_multiply_mr","la_i_multiply_vc","la_i_multiply_vr","la_i_norm1_mc","la_i_norm1_mr","la_i_norm1_vc","la_i_norm1_vr","la_i_norm_euclid_mc","la_i_norm_euclid_mr","la_i_norm_euclid_vc","la_i_norm_euclid_vr","la_i_norm_inf_mc","la_i_norm_inf_mr","la_i_norm_inf_vc","la_i_norm_inf_vr","la_i_norm_max_mc","la_i_norm_max_mr","la_i_print_mc","la_i_print_mr","la_i_print_vc","la_i_print_vr","la_i_qr_eigen_mc","la_i_qr_eigen_mr","la_i_qr_factor_mc","la_i_qr_factor_mr","la_i_qr_sym_eigen_mc","la_i_qr_sym_eigen_mr","la_i_random_mc","la_i_random_mr","la_i_random_vc","la_i_random_vr","la_i_size_mc","la_i_size_mr","la_i_size_vc","la_i_size_vr","la_i_subtract_mc","la_i_subtract_mr","la_i_subtract_vc","la_i_subtract_vr","la_i_t_assign","la_i_trace_mc","la_i_trace_mr","la_i_transpose_mc","la_i_transpose_mr","la_i_upper_solve_mc","la_i_upper_solve_mr","la_i_vc_create","la_i_vc_set","la_i_vr_create","la_i_vr_set","la_k_a_assign","la_k_add_mc","la_k_add_mr","la_k_add_vc","la_k_add_vr","la_k_assign_a","la_k_assign_f","la_k_assign_mc","la_k_assign_mr","la_k_assign_t","la_k_assign_vc","la_k_assign_vr","la_k_conjugate_mc","la_k_conjugate_mr","la_k_conjugate_vc","la_k_conjugate_vr","la_k_current_f","la_k_current_vr","la_k_distance_vc","la_k_distance_vr","la_k_divide_mc","la_k_divide_mr","la_k_divide_vc","la_k_divide_vr","la_k_dot_mc","la_k_dot_mc_vc","la_k_dot_mr","la_k_dot_mr_vr","la_k_dot_vc","la_k_dot_vr","la_k_f_assign","la_k_get_mc","la_k_get_mr","la_k_get_vc","la_k_get_vr","la_k_invert_mc","la_k_invert_mr","la_k_lower_solve_mc","la_k_lower_solve_mr","la_k_lu_det_mc","la_k_lu_det_mr","la_k_lu_factor_mc","la_k_lu_factor_mr","la_k_lu_solve_mc","la_k_lu_solve_mr","la_k_mc_set","la_k_mr_set","la_k_multiply_mc","la_k_multiply_mr","la_k_multiply_vc","la_k_multiply_vr","la_k_norm1_mc","la_k_norm1_mr","la_k_norm1_vc","la_k_norm1_vr","la_k_norm_euclid_mc","la_k_norm_euclid_mr","la_k_norm_euclid_vc","la_k_norm_euclid_vr","la_k_norm_inf_mc","la_k_norm_inf_mr","la_k_norm_inf_vc","la_k_norm_inf_vr","la_k_norm_max_mc","la_k_norm_max_mr","la_k_qr_eigen_mc","la_k_qr_eigen_mr","la_k_qr_factor_mc","la_k_qr_factor_mr","la_k_qr_sym_eigen_mc","la_k_qr_sym_eigen_mr","la_k_random_mc","la_k_random_mr","la_k_random_vc","la_k_random_vr","la_k_subtract_mc","la_k_subtract_mr","la_k_subtract_vc","la_k_subtract_vr","la_k_t_assign","la_k_trace_mc","la_k_trace_mr","la_k_upper_solve_mc","la_k_upper_solve_mr","la_k_vc_set","la_k_vr_set","lenarray","lfo","limit","limit1","lincos","line","linen","linenr","lineto","link_beat_force","link_beat_get","link_beat_request","link_create","link_enable","link_is_enabled","link_metro","link_peers","link_tempo_get","link_tempo_set","linlin","linrand","linseg","linsegb","linsegr","liveconv","locsend","locsig","log","log10","log2","logbtwo","logcurve","loopseg","loopsegp","looptseg","loopxseg","lorenz","loscil","loscil3","loscil3phs","loscilphs","loscilx","lowpass2","lowres","lowresx","lpf18","lpform","lpfreson","lphasor","lpinterp","lposcil","lposcil3","lposcila","lposcilsa","lposcilsa2","lpread","lpreson","lpshold","lpsholdp","lpslot","lua_exec","lua_iaopcall","lua_iaopcall_off","lua_ikopcall","lua_ikopcall_off","lua_iopcall","lua_iopcall_off","lua_opdef","mac","maca","madsr","mags","mandel","mandol","maparray","maparray_i","marimba","massign","max","max_k","maxabs","maxabsaccum","maxaccum","maxalloc","maxarray","mclock","mdelay","median","mediank","metro","mfb","midglobal","midiarp","midic14","midic21","midic7","midichannelaftertouch","midichn","midicontrolchange","midictrl","mididefault","midifilestatus","midiin","midinoteoff","midinoteoncps","midinoteonkey","midinoteonoct","midinoteonpch","midion","midion2","midiout","midiout_i","midipgm","midipitchbend","midipolyaftertouch","midiprogramchange","miditempo","midremot","min","minabs","minabsaccum","minaccum","minarray","mincer","mirror","mode","modmatrix","monitor","moog","moogladder","moogladder2","moogvcf","moogvcf2","moscil","mp3bitrate","mp3in","mp3len","mp3nchnls","mp3scal","mp3sr","mpulse","mrtmsg","mtof","mton","multitap","mute","mvchpf","mvclpf1","mvclpf2","mvclpf3","mvclpf4","mxadsr","nchnls_hw","nestedap","nlalp","nlfilt","nlfilt2","noise","noteoff","noteon","noteondur","noteondur2","notnum","nreverb","nrpn","nsamp","nstance","nstrnum","ntom","ntrpol","nxtpow2","octave","octcps","octmidi","octmidib","octmidinn","octpch","olabuffer","oscbnk","oscil","oscil1","oscil1i","oscil3","oscili","oscilikt","osciliktp","oscilikts","osciln","oscils","oscilx","out","out32","outc","outch","outh","outiat","outic","outic14","outipat","outipb","outipc","outkat","outkc","outkc14","outkpat","outkpb","outkpc","outleta","outletf","outletk","outletkid","outletv","outo","outq","outq1","outq2","outq3","outq4","outrg","outs","outs1","outs2","outvalue","outx","outz","p","p5gconnect","p5gdata","pan","pan2","pareq","part2txt","partials","partikkel","partikkelget","partikkelset","partikkelsync","passign","paulstretch","pcauchy","pchbend","pchmidi","pchmidib","pchmidinn","pchoct","pchtom","pconvolve","pcount","pdclip","pdhalf","pdhalfy","peak","pgmassign","pgmchn","phaser1","phaser2","phasor","phasorbnk","phs","pindex","pinker","pinkish","pitch","pitchac","pitchamdf","planet","platerev","plltrack","pluck","poisson","pol2rect","polyaft","polynomial","port","portk","poscil","poscil3","pow","powershape","powoftwo","pows","prealloc","prepiano","print","print_type","printarray","printf","printf_i","printk","printk2","printks","printks2","prints","product","pset","ptable","ptable3","ptablei","ptableiw","ptablew","ptrack","puts","pvadd","pvbufread","pvcross","pvinterp","pvoc","pvread","pvs2array","pvs2tab","pvsadsyn","pvsanal","pvsarp","pvsbandp","pvsbandr","pvsbin","pvsblur","pvsbuffer","pvsbufread","pvsbufread2","pvscale","pvscent","pvsceps","pvscross","pvsdemix","pvsdiskin","pvsdisp","pvsenvftw","pvsfilter","pvsfread","pvsfreeze","pvsfromarray","pvsftr","pvsftw","pvsfwrite","pvsgain","pvshift","pvsifd","pvsin","pvsinfo","pvsinit","pvslock","pvsmaska","pvsmix","pvsmooth","pvsmorph","pvsosc","pvsout","pvspitch","pvstanal","pvstencil","pvstrace","pvsvoc","pvswarp","pvsynth","pwd","pyassign","pyassigni","pyassignt","pycall","pycall1","pycall1i","pycall1t","pycall2","pycall2i","pycall2t","pycall3","pycall3i","pycall3t","pycall4","pycall4i","pycall4t","pycall5","pycall5i","pycall5t","pycall6","pycall6i","pycall6t","pycall7","pycall7i","pycall7t","pycall8","pycall8i","pycall8t","pycalli","pycalln","pycallni","pycallt","pyeval","pyevali","pyevalt","pyexec","pyexeci","pyexect","pyinit","pylassign","pylassigni","pylassignt","pylcall","pylcall1","pylcall1i","pylcall1t","pylcall2","pylcall2i","pylcall2t","pylcall3","pylcall3i","pylcall3t","pylcall4","pylcall4i","pylcall4t","pylcall5","pylcall5i","pylcall5t","pylcall6","pylcall6i","pylcall6t","pylcall7","pylcall7i","pylcall7t","pylcall8","pylcall8i","pylcall8t","pylcalli","pylcalln","pylcallni","pylcallt","pyleval","pylevali","pylevalt","pylexec","pylexeci","pylexect","pylrun","pylruni","pylrunt","pyrun","pyruni","pyrunt","qinf","qnan","r2c","rand","randh","randi","random","randomh","randomi","rbjeq","readclock","readf","readfi","readk","readk2","readk3","readk4","readks","readscore","readscratch","rect2pol","release","remoteport","remove","repluck","reshapearray","reson","resonk","resonr","resonx","resonxk","resony","resonz","resyn","reverb","reverb2","reverbsc","rewindscore","rezzy","rfft","rifft","rms","rnd","rnd31","round","rspline","rtclock","s16b14","s32b14","samphold","sandpaper","sc_lag","sc_lagud","sc_phasor","sc_trig","scale","scalearray","scanhammer","scans","scantable","scanu","schedkwhen","schedkwhennamed","schedule","schedwhen","scoreline","scoreline_i","seed","sekere","select","semitone","sense","sensekey","seqtime","seqtime2","serialBegin","serialEnd","serialFlush","serialPrint","serialRead","serialWrite","serialWrite_i","setcol","setctrl","setksmps","setrow","setscorepos","sfilist","sfinstr","sfinstr3","sfinstr3m","sfinstrm","sfload","sflooper","sfpassign","sfplay","sfplay3","sfplay3m","sfplaym","sfplist","sfpreset","shaker","shiftin","shiftout","signum","sin","sinh","sininv","sinsyn","sleighbells","slicearray","slicearray_i","slider16","slider16f","slider16table","slider16tablef","slider32","slider32f","slider32table","slider32tablef","slider64","slider64f","slider64table","slider64tablef","slider8","slider8f","slider8table","slider8tablef","sliderKawai","sndloop","sndwarp","sndwarpst","sockrecv","sockrecvs","socksend","socksends","sorta","sortd","soundin","space","spat3d","spat3di","spat3dt","spdist","splitrig","sprintf","sprintfk","spsend","sqrt","squinewave","statevar","stix","strcat","strcatk","strchar","strchark","strcmp","strcmpk","strcpy","strcpyk","strecv","streson","strfromurl","strget","strindex","strindexk","strlen","strlenk","strlower","strlowerk","strrindex","strrindexk","strset","strsub","strsubk","strtod","strtodk","strtol","strtolk","strupper","strupperk","stsend","subinstr","subinstrinit","sum","sumarray","svfilter","syncgrain","syncloop","syncphasor","system","system_i","tab","tab2array","tab2pvs","tab_i","tabifd","table","table3","table3kt","tablecopy","tablefilter","tablefilteri","tablegpw","tablei","tableicopy","tableigpw","tableikt","tableimix","tableiw","tablekt","tablemix","tableng","tablera","tableseg","tableshuffle","tableshufflei","tablew","tablewa","tablewkt","tablexkt","tablexseg","tabmorph","tabmorpha","tabmorphak","tabmorphi","tabplay","tabrec","tabrowlin","tabsum","tabw","tabw_i","tambourine","tan","tanh","taninv","taninv2","tbvcf","tempest","tempo","temposcal","tempoval","timedseq","timeinstk","timeinsts","timek","times","tival","tlineto","tone","tonek","tonex","tradsyn","trandom","transeg","transegb","transegr","trcross","trfilter","trhighest","trigger","trigseq","trim","trim_i","trirand","trlowest","trmix","trscale","trshift","trsplit","turnoff","turnoff2","turnon","tvconv","unirand","unwrap","upsamp","urandom","urd","vactrol","vadd","vadd_i","vaddv","vaddv_i","vaget","valpass","vaset","vbap","vbapg","vbapgmove","vbaplsinit","vbapmove","vbapz","vbapzmove","vcella","vco","vco2","vco2ft","vco2ift","vco2init","vcomb","vcopy","vcopy_i","vdel_k","vdelay","vdelay3","vdelayk","vdelayx","vdelayxq","vdelayxs","vdelayxw","vdelayxwq","vdelayxws","vdivv","vdivv_i","vecdelay","veloc","vexp","vexp_i","vexpseg","vexpv","vexpv_i","vibes","vibr","vibrato","vincr","vlimit","vlinseg","vlowres","vmap","vmirror","vmult","vmult_i","vmultv","vmultv_i","voice","vosim","vphaseseg","vport","vpow","vpow_i","vpowv","vpowv_i","vpvoc","vrandh","vrandi","vsubv","vsubv_i","vtaba","vtabi","vtabk","vtable1k","vtablea","vtablei","vtablek","vtablewa","vtablewi","vtablewk","vtabwa","vtabwi","vtabwk","vwrap","waveset","websocket","weibull","wgbow","wgbowedbar","wgbrass","wgclar","wgflute","wgpluck","wgpluck2","wguide1","wguide2","wiiconnect","wiidata","wiirange","wiisend","window","wrap","writescratch","wterrain","xadsr","xin","xout","xscanmap","xscans","xscansmap","xscanu","xtratim","xyscale","zacl","zakinit","zamod","zar","zarg","zaw","zawm","zdf_1pole","zdf_1pole_mode","zdf_2pole","zdf_2pole_mode","zdf_ladder","zfilter2","zir","ziw","ziwm","zkcl","zkmod","zkr","zkw","zkwm"],t=["array","bformdec","bformenc","copy2ftab","copy2ttab","hrtfer","ktableseg","lentab","maxtab","mintab","pop","pop_f","push","push_f","scalet","sndload","soundout","soundouts","specaddm","specdiff","specdisp","specfilt","spechist","specptrk","specscal","specsum","spectrum","stack","sumtab","tabgen","tabmap","tabmap_i","tabslice","tb0","tb0_init","tb1","tb10","tb10_init","tb11","tb11_init","tb12","tb12_init","tb13","tb13_init","tb14","tb14_init","tb15","tb15_init","tb1_init","tb2","tb2_init","tb3","tb3_init","tb4","tb4_init","tb5","tb5_init","tb6","tb6_init","tb7","tb7_init","tb8","tb8_init","tb9","tb9_init","vbap16","vbap4","vbap4move","vbap8","vbap8move","xyin"];e=r.arrayToMap(e),t=r.arrayToMap(t),this.lineContinuations=[{token:"constant.character.escape.line-continuation.csound",regex:/\\$/},this.pushRule({token:"constant.character.escape.line-continuation.csound",regex:/\\/,next:"line continuation"})],this.comments.push(this.lineContinuations),this.quotedStringContents.push(this.lineContinuations,{token:"invalid.illegal",regex:/[^"\\]*$/});var n=this.$rules.start;n.splice(1,0,{token:["text.csound","entity.name.label.csound","entity.punctuation.label.csound","text.csound"],regex:/^([ \t]*)(\w+)(:)([ \t]+|$)/}),n.push(this.pushRule({token:"keyword.function.csound",regex:/\binstr\b/,next:"instrument numbers and identifiers"}),this.pushRule({token:"keyword.function.csound",regex:/\bopcode\b/,next:"after opcode keyword"}),{token:"keyword.other.csound",regex:/\bend(?:in|op)\b/},{token:"variable.language.csound",regex:/\b(?:0dbfs|A4|k(?:r|smps)|nchnls(?:_i)?|sr)\b/},this.numbers,{token:"keyword.operator.csound",regex:"\\+=|-=|\\*=|/=|<<|>>|<=|>=|==|!=|&&|\\|\\||[~\u00ac]|[=!+\\-*/^%&|<>#?:]"},this.pushRule({token:"punctuation.definition.string.begin.csound",regex:/"/,next:"quoted string"}),this.pushRule({token:"punctuation.definition.string.begin.csound",regex:/{{/,next:"braced string"}),{token:"keyword.control.csound",regex:/\b(?:do|else(?:if)?|end(?:if|until)|fi|i(?:f|then)|kthen|od|r(?:ir)?eturn|then|until|while)\b/},this.pushRule({token:"keyword.control.csound",regex:/\b[ik]?goto\b/,next:"goto before label"}),this.pushRule({token:"keyword.control.csound",regex:/\b(?:r(?:einit|igoto)|tigoto)\b/,next:"goto before label"}),this.pushRule({token:"keyword.control.csound",regex:/\bc(?:g|in?|k|nk?)goto\b/,next:["goto before label","goto before argument"]}),this.pushRule({token:"keyword.control.csound",regex:/\btimout\b/,next:["goto before label","goto before argument","goto before argument"]}),this.pushRule({token:"keyword.control.csound",regex:/\bloop_[gl][et]\b/,next:["goto before label","goto before argument","goto before argument","goto before argument"]}),this.pushRule({token:"support.function.csound",regex:/\b(?:readscore|scoreline(?:_i)?)\b/,next:"Csound score opcode"}),this.pushRule({token:"support.function.csound",regex:/\bpyl?run[it]?\b(?!$)/,next:"Python opcode"}),this.pushRule({token:"support.function.csound",regex:/\blua_(?:exec|opdef)\b(?!$)/,next:"Lua opcode"}),{token:"support.variable.csound",regex:/\bp\d+\b/},{regex:/\b([A-Z_a-z]\w*)(?:(:)([A-Za-z]))?\b/,onMatch:function(n,r,i,s){var o=n.split(this.splitRegex),u=o[1],a;return e.hasOwnProperty(u)?a="support.function.csound":t.hasOwnProperty(u)&&(a="invalid.deprecated.csound"),a?o[2]?[{type:a,value:u},{type:"punctuation.type-annotation.csound",value:o[2]},{type:"type-annotation.storage.type.csound",value:o[3]}]:a:"text.csound"}}),this.$rules["macro parameter value list"].splice(2,0,{token:"punctuation.definition.string.begin.csound",regex:/{{/,next:"macro parameter value braced string"}),this.addRules({"macro parameter value braced string":[{token:"constant.character.escape.csound",regex:/\\[#'()]/},{token:"invalid.illegal.csound.csound",regex:/[#'()]/},{token:"punctuation.definition.string.end.csound",regex:/}}/,next:"macro parameter value list"},{defaultToken:"string.braced.csound"}],"instrument numbers and identifiers":[this.comments,{token:"entity.name.function.csound",regex:/\d+|[A-Z_a-z]\w*/},this.popRule({token:"empty",regex:/$/})],"after opcode keyword":[this.comments,this.popRule({token:"empty",regex:/$/}),this.popRule({token:"entity.name.function.opcode.csound",regex:/[A-Z_a-z]\w*/,next:"opcode type signatures"})],"opcode type signatures":[this.comments,this.popRule({token:"empty",regex:/$/}),{token:"storage.type.csound",regex:/\b(?:0|[afijkKoOpPStV\[\]]+)/}],"quoted string":[this.popRule({token:"punctuation.definition.string.end.csound",regex:/"/}),this.quotedStringContents,{defaultToken:"string.quoted.csound"}],"braced string":[this.popRule({token:"punctuation.definition.string.end.csound",regex:/}}/}),this.bracedStringContents,{defaultToken:"string.braced.csound"}],"goto before argument":[this.popRule({token:"text.csound",regex:/,/}),n],"goto before label":[{token:"text.csound",regex:/\s+/},this.comments,this.popRule({token:"entity.name.label.csound",regex:/\w+/}),this.popRule({token:"empty",regex:/(?!\w)/})],"Csound score opcode":[this.comments,{token:"punctuation.definition.string.begin.csound",regex:/{{/,next:"csound-score-start"},this.popRule({token:"empty",regex:/$/})],"Python opcode":[this.comments,{token:"punctuation.definition.string.begin.csound",regex:/{{/,next:"python-start"},this.popRule({token:"empty",regex:/$/})],"Lua opcode":[this.comments,{token:"punctuation.definition.string.begin.csound",regex:/{{/,next:"lua-start"},this.popRule({token:"empty",regex:/$/})],"line continuation":[this.popRule({token:"empty",regex:/$/}),this.semicolonComments,{token:"invalid.illegal.csound",regex:/\S.*/}]});var i=[this.popRule({token:"punctuation.definition.string.end.csound",regex:/}}/})];this.embedRules(o,"csound-score-",i),this.embedRules(a,"python-",i),this.embedRules(u,"lua-",i),this.normalizeRules()};i.inherits(f,s),t.CsoundOrchestraHighlightRules=f}),ace.define("ace/mode/csound_orchestra",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csound_orchestra_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./csound_orchestra_highlight_rules").CsoundOrchestraHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart=";",this.blockComment={start:"/*",end:"*/"}}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/csound_orchestra"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-csound_score.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/csound_preprocessor_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.semicolonComments={token:"comment.line.semicolon.csound",regex:";.*$"},this.comments=[{token:"punctuation.definition.comment.begin.csound",regex:"/\\*",push:[{token:"punctuation.definition.comment.end.csound",regex:"\\*/",next:"pop"},{defaultToken:"comment.block.csound"}]},{token:"comment.line.double-slash.csound",regex:"//.*$"},this.semicolonComments],this.macroUses=[{token:["entity.name.function.preprocessor.csound","punctuation.definition.macro-parameter-value-list.begin.csound"],regex:/(\$[A-Z_a-z]\w*\.?)(\()/,next:"macro parameter value list"},{token:"entity.name.function.preprocessor.csound",regex:/\$[A-Z_a-z]\w*(?:\.|\b)/}],this.numbers=[{token:"constant.numeric.float.csound",regex:/(?:\d+[Ee][+-]?\d+)|(?:\d+\.\d*|\d*\.\d+)(?:[Ee][+-]?\d+)?/},{token:["storage.type.number.csound","constant.numeric.integer.hexadecimal.csound"],regex:/(0[Xx])([0-9A-Fa-f]+)/},{token:"constant.numeric.integer.decimal.csound",regex:/\d+/}],this.bracedStringContents=[{token:"constant.character.escape.csound",regex:/\\(?:[\\abnrt"]|[0-7]{1,3})/},{token:"constant.character.placeholder.csound",regex:/%[#0\- +]*\d*(?:\.\d+)?[diuoxXfFeEgGaAcs]/},{token:"constant.character.escape.csound",regex:/%%/}],this.quotedStringContents=[this.macroUses,this.bracedStringContents];var e=[this.comments,{token:"keyword.preprocessor.csound",regex:/#(?:e(?:nd(?:if)?|lse)\b|##)|@@?[ \t]*\d+/},{token:"keyword.preprocessor.csound",regex:/#include/,push:[this.comments,{token:"string.csound",regex:/([^ \t])(?:.*?\1)/,next:"pop"}]},{token:"keyword.preprocessor.csound",regex:/#[ \t]*define/,next:"define directive"},{token:"keyword.preprocessor.csound",regex:/#(?:ifn?def|undef)\b/,next:"macro directive"},this.macroUses];this.$rules={start:e,"define directive":[this.comments,{token:"entity.name.function.preprocessor.csound",regex:/[A-Z_a-z]\w*/},{token:"punctuation.definition.macro-parameter-name-list.begin.csound",regex:/\(/,next:"macro parameter name list"},{token:"punctuation.definition.macro.begin.csound",regex:/#/,next:"macro body"}],"macro parameter name list":[{token:"variable.parameter.preprocessor.csound",regex:/[A-Z_a-z]\w*/},{token:"punctuation.definition.macro-parameter-name-list.end.csound",regex:/\)/,next:"define directive"}],"macro body":[{token:"constant.character.escape.csound",regex:/\\#/},{token:"punctuation.definition.macro.end.csound",regex:/#/,next:"start"},e],"macro directive":[this.comments,{token:"entity.name.function.preprocessor.csound",regex:/[A-Z_a-z]\w*/,next:"start"}],"macro parameter value list":[{token:"punctuation.definition.macro-parameter-value-list.end.csound",regex:/\)/,next:"start"},{token:"punctuation.definition.string.begin.csound",regex:/"/,next:"macro parameter value quoted string"},this.pushRule({token:"punctuation.macro-parameter-value-parenthetical.begin.csound",regex:/\(/,next:"macro parameter value parenthetical"}),{token:"punctuation.macro-parameter-value-separator.csound",regex:"[#']"}],"macro parameter value quoted string":[{token:"constant.character.escape.csound",regex:/\\[#'()]/},{token:"invalid.illegal.csound",regex:/[#'()]/},{token:"punctuation.definition.string.end.csound",regex:/"/,next:"macro parameter value list"},this.quotedStringContents,{defaultToken:"string.quoted.csound"}],"macro parameter value parenthetical":[{token:"constant.character.escape.csound",regex:/\\\)/},this.popRule({token:"punctuation.macro-parameter-value-parenthetical.end.csound",regex:/\)/}),this.pushRule({token:"punctuation.macro-parameter-value-parenthetical.begin.csound",regex:/\(/,next:"macro parameter value parenthetical"}),e]}};r.inherits(s,i),function(){this.pushRule=function(e){return{regex:e.regex,onMatch:function(t,n,r,i){r.length===0&&r.push(n);if(Array.isArray(e.next))for(var s=0;s<e.next.length;s++)r.push(e.next[s]);else r.push(e.next);return this.next=r[r.length-1],e.token},get next(){return Array.isArray(e.next)?e.next[e.next.length-1]:e.next},set next(t){if(Array.isArray(e.next)){var n=e.next[e.next.length-1],r=n.length-1,i=t.length-1;if(i>r)while(r>=0&&i>=0){if(n.charAt(r)!==t.charAt(i)){var s=t.substr(0,i);for(var o=0;o<e.next.length;o++)e.next[o]=s+e.next[o];break}r--,i--}}else e.next=t},get token(){return e.token}}},this.popRule=function(e){return{regex:e.regex,onMatch:function(t,n,r,i){return r.pop(),e.next?(r.push(e.next),this.next=r[r.length-1]):this.next=r.length>1?r[r.length-1]:r.pop(),e.token}}}}.call(s.prototype),t.CsoundPreprocessorHighlightRules=s}),ace.define("ace/mode/csound_score_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/csound_preprocessor_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./csound_preprocessor_highlight_rules").CsoundPreprocessorHighlightRules,s=function(){i.call(this),this.quotedStringContents.push({token:"invalid.illegal.csound-score",regex:/[^"]*$/});var e=this.$rules.start;e.push({token:"keyword.control.csound-score",regex:/[abCdefiqstvxy]/},{token:"invalid.illegal.csound-score",regex:/w/},{token:"constant.numeric.language.csound-score",regex:/z/},{token:["keyword.control.csound-score","constant.numeric.integer.decimal.csound-score"],regex:/([nNpP][pP])(\d+)/},{token:"keyword.other.csound-score",regex:/[mn]/,push:[{token:"empty",regex:/$/,next:"pop"},this.comments,{token:"entity.name.label.csound-score",regex:/[A-Z_a-z]\w*/}]},{token:"keyword.preprocessor.csound-score",regex:/r\b/,next:"repeat section"},this.numbers,{token:"keyword.operator.csound-score",regex:"[!+\\-*/^%&|<>#~.]"},this.pushRule({token:"punctuation.definition.string.begin.csound-score",regex:/"/,next:"quoted string"}),this.pushRule({token:"punctuation.braced-loop.begin.csound-score",regex:/{/,next:"loop after left brace"})),this.addRules({"repeat section":[{token:"empty",regex:/$/,next:"start"},this.comments,{token:"constant.numeric.integer.decimal.csound-score",regex:/\d+/,next:"repeat section before label"}],"repeat section before label":[{token:"empty",regex:/$/,next:"start"},this.comments,{token:"entity.name.label.csound-score",regex:/[A-Z_a-z]\w*/,next:"start"}],"quoted string":[this.popRule({token:"punctuation.definition.string.end.csound-score",regex:/"/}),this.quotedStringContents,{defaultToken:"string.quoted.csound-score"}],"loop after left brace":[this.popRule({token:"constant.numeric.integer.decimal.csound-score",regex:/\d+/,next:"loop after repeat count"}),this.comments,{token:"invalid.illegal.csound",regex:/\S.*/}],"loop after repeat count":[this.popRule({token:"entity.name.function.preprocessor.csound-score",regex:/[A-Z_a-z]\w*\b/,next:"loop after macro name"}),this.comments,{token:"invalid.illegal.csound",regex:/\S.*/}],"loop after macro name":[e,this.popRule({token:"punctuation.braced-loop.end.csound-score",regex:/}/})]}),this.normalizeRules()};r.inherits(s,i),t.CsoundScoreHighlightRules=s}),ace.define("ace/mode/csound_score",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csound_score_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./csound_score_highlight_rules").CsoundScoreHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.lineCommentStart=";",this.blockComment={start:"/*",end:"*/"}}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/csound_score"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-curly.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};o.inherits(a,r),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function o(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),o("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),o("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var o="/"==e.charAt(1)?2:1;return 1==o?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==o&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==o?"":"end-")+"tag-open.xml",value:e.slice(0,o)},{type:"meta.tag.tag-name.xml",value:e.substr(o)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,o("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var o=n[1].length,r=e.findMatchingBracket({row:t,column:o});if(!r||r.row==t)return 0;var a=this.$getIndent(e.getLine(r.row));e.replace(new i(t,0,t,o-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),c=e("../../range").Range,r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(a,r),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var r=this._getFoldWidgetBase(e,t,n);return!r&&this.startRegionRe.test(o)?"start":r},this.getFoldWidgetRange=function(e,t,n,o){var r,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(r=a.match(this.foldingStartMarker)){var i=r.index;if(r[1])return this.openingBracketBlock(e,r[1],n,i);var s=e.getCommentFoldRange(n,i+r[0].length,1);return s&&!s.isMultiLine()&&(o?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(r=a.match(this.foldingStopMarker))){i=r.index+r[0].length;return r[1]?this.closingBracketBlock(e,r[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),r=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(l<o)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=r)break;if(u.isMultiLine())t=u.end.row;else if(o==l)break}i=t}}return new c(r,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),r=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<r;){t=e.getLine(n);var l=i.exec(t);if(l&&(l[1]?s--:s++,!s))break}if(a<n)return new c(a,o,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new l,this.foldingRules=new u};o.inherits(c,r),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e),a=r.tokens,i=r.state;if(a.length&&"comment"==a[a.length-1].type)return o;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(o+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(o+=" "),o+="* ")}return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",i=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",g=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",d=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",m=function(){var e=this.createKeywordMapper({"support.function":i,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:g},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:d},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};o.inherits(m,r),t.CssHighlightRules=m}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var s={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},o=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});s.hasOwnProperty(n)||(s[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,o){if(this.completionsDefined||this.defineCompletions(),!t.getTokenAt(n.row,n.column))return[];if("ruleset"===e){var r=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(r)?(/([\w\-]+):[^:]*$/.test(r),this.getPropertyValueCompletions(e,t,n,o)):this.getPropertyCompletions(e,t,n,o)}return[]},this.getPropertyCompletions=function(e,t,n,o){return Object.keys(s).map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,o){var r=t.getLine(n.row).substr(0,n.column),a=(/([\w\-]+):[^:]*$/.exec(r)||{})[1];if(!a)return[];var i=[];return a in s&&"object"==typeof s[a]&&(i=Object.keys(s[a])),i.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(o.prototype),t.CssCompletions=o}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),u=e("../../token_iterator").TokenIterator,a=function(){this.inherit(r),this.add("colon","insertion",function(e,t,n,o,r){if(":"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=new u(o,a.row,a.column),s=i.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=i.stepBackward()),s&&"support.type"===s.type){var l=o.doc.getLine(a.row);if(":"===l.substring(a.column,a.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(l.substring(a.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&":"===a){var i=n.getCursorPosition(),s=new u(o,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type)if(";"===o.doc.getLine(r.start.row).substring(r.end.column,r.end.column+1))return r.end.column++,r}}),this.add("semicolon","insertion",function(e,t,n,o,r){if(";"===r&&n.selection.isEmpty()){var a=n.getCursorPosition();if(";"===o.doc.getLine(a.row).substring(a.column,a.column+1))return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,o,r){if("!"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=o.doc.getLine(a.row);if(/^\s*(;|}|$)/.test(i.substring(a.column)))return{text:"!important",selection:[10,10]}}})};o.inherits(a,r),t.CssBehaviour=a}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./css_highlight_rules").CssHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./css_completions").CssCompletions,u=e("./behaviour/css").CssBehaviour,c=e("./folding/cstyle").FoldMode,g=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new u,this.$completer=new l,this.foldingRules=new c};o.inherits(g,r),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e).tokens;return r.length&&"comment"==r[r.length-1].type||t.match(/^.*\{\s*$/)&&(o+=n),o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/css_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/css"}.call(g.prototype),t.Mode=g}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===a&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(r.prototype),o.inherits(a,r),t.XmlHighlightRules=a}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./css_highlight_rules").CssHighlightRules,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=r.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(a,"css-","style"),this.embedTagRules(new i({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};o.inherits(u,s),t.HtmlHighlightRules=u}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function m(e,t){return e&&-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),r=e("../behaviour").Behaviour,p=e("../../token_iterator").TokenIterator,a=(e("../../lib/lang"),function(){this.add("string_dquotes","insertion",function(e,t,n,o,r){if('"'==r||"'"==r){var a=r,i=o.doc.getTextRange(n.getSelectionRange());if(""!==i&&"'"!==i&&'"'!=i&&n.getWrapBehavioursEnabled())return{text:a+i+a,selection:!1};var s=n.getCursorPosition(),l=o.doc.getLine(s.row).substring(s.column,s.column+1),u=new p(o,s.row,s.column),c=u.getCurrentToken();if(l==a&&(m(c,"attribute-value")||m(c,"string")))return{text:"",selection:[1,1]};if(c||(c=u.stepBackward()),!c)return;for(;m(c,"tag-whitespace")||m(c,"whitespace");)c=u.stepBackward();var g=!l||l.match(/\s/);if(m(c,"attribute-equals")&&(g||">"==l)||m(c,"decl-attribute-equals")&&(g||"?"==l))return{text:a+a,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&('"'==a||"'"==a)&&o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)==a)return r.end.column++,r}),this.add("autoclosing","insertion",function(e,t,n,o,r){if(">"==r){var a=n.getSelectionRange().start,i=new p(o,a.row,a.column),s=i.getCurrentToken()||i.stepBackward();if(!s||!(m(s,"tag-name")||m(s,"tag-whitespace")||m(s,"attribute-name")||m(s,"attribute-equals")||m(s,"attribute-value")))return;if(m(s,"reference.attribute-value"))return;if(m(s,"attribute-value")){var l=i.getCurrentTokenColumn()+s.value.length;if(a.column<l)return;if(a.column==l){var u=i.stepForward();if(u&&m(u,"attribute-value"))return;i.stepBackward()}}if(/^\s*>/.test(o.getLine(a.row).slice(a.column)))return;for(;!m(s,"tag-name");)if("<"==(s=i.stepBackward()).value){s=i.stepForward();break}var c=i.getCurrentTokenRow(),g=i.getCurrentTokenColumn();if(m(i.stepBackward(),"end-tag-open"))return;var d=s.value;if(c==a.row&&(d=d.substring(0,a.column-g)),this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,o,r){if("\n"==r){var a=n.getCursorPosition(),i=o.getLine(a.row),s=new p(o,a.row,a.column),l=s.getCurrentToken();if(l&&-1!==l.type.indexOf("tag-close")){if("/>"==l.value)return;for(;l&&-1===l.type.indexOf("tag-name");)l=s.stepBackward();if(!l)return;var u=l.value,c=s.getCurrentTokenRow();if(!(l=s.stepBackward())||-1!==l.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[u]){var g=o.getTokenAt(a.row,a.column+1),d=(i=o.getLine(c),this.$getIndent(i)),m=d+o.getTabString();return g&&"</"===g.value?{text:"\n"+m+"\n"+d,selection:[1,m.length,1,m.length]}:{text:"\n"+m}}}}})});o.inherits(a,r),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};o.inherits(a,r),function(){this.$getMode=function(e){for(var t in"string"!=typeof e&&(e=e[0]),this.subModes)if(0===e.indexOf(t))return this.subModes[t];return null},this.$tryMode=function(e,t,n,o){var r=this.$getMode(e);return r?r.getFoldWidget(t,n,o):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var o=this.$getMode(e.getState(n-1));return o&&o.getFoldWidget(e,t,n)||(o=this.$getMode(e.getState(n))),o&&o.getFoldWidget(e,t,n)||(o=this.defaultMode),o.getFoldWidgetRange(e,t,n)}}.call(a.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),u=(e("../../lib/lang"),e("../../range").Range),r=e("./fold_mode").FoldMode,c=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){r.call(this),this.voidElements=e||{},this.optionalEndTags=o.mixin({},this.voidElements),t&&o.mixin(this.optionalEndTags,t)};o.inherits(a,r);var i=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var o=this._getFirstTagInLine(e,n);return o?o.closing||!o.tagName&&o.selfClosing?"markbeginend"==t?"end":"":!o.tagName||o.selfClosing||this.voidElements.hasOwnProperty(o.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,o.tagName,o.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){for(var n=e.getTokens(t),o=new i,r=0;r<n.length;r++){var a=n[r];if(l(a,"tag-open")){if(o.end.column=o.start.column+a.value.length,o.closing=l(a,"end-tag-open"),!(a=n[++r]))return null;for(o.tagName=a.value,o.end.column+=a.value.length,r++;r<n.length;r++)if(a=n[r],o.end.column+=a.value.length,l(a,"tag-close")){o.selfClosing="/>"==a.value;break}return o}if(l(a,"tag-close"))return o.selfClosing="/>"==a.value,o;o.start.column+=a.value.length}return null},this._findEndTagInLine=function(e,t,n,o){for(var r=e.getTokens(t),a=0,i=0;i<r.length;i++){var s=r[i];if(!((a+=s.value.length)<o)&&l(s,"end-tag-open")&&(s=r[i+1])&&s.value==n)return!0}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(n.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,n){var o=this._getFirstTagInLine(e,n);if(!o)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var r,a=[];if(o.closing||o.selfClosing){s=new c(e,n,o.end.column);for(var i={row:n,column:o.start.column};r=this._readTagBackward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing)a.push(r);else if(this._pop(a,r),0==a.length)return r.start.column+=r.tagName.length+2,r.start.row==r.end.row&&r.start.column<r.end.column&&(r.start.column=r.end.column),u.fromPoints(r.start,i)}else{var s=new c(e,n,o.start.column),l={row:n,column:o.start.column+o.tagName.length+2};for(o.start.row==o.end.row&&(l.column=o.end.column);r=this._readTagForward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing){if(this._pop(a,r),0==a.length)return u.fromPoints(l,r.start)}else a.push(r)}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./mixed").FoldMode,a=e("./xml").FoldMode,i=e("./cstyle").FoldMode,s=t.FoldMode=function(e,t){r.call(this,new a(e,t),{"js-":new i,"css-":new i})};o.inherits(s,r)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function s(e,t){return-1<e.type.lastIndexOf(t+".xml")}function l(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"tag-name");)o=n.stepBackward();if(o)return o.value}var u=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),c={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},r=Object.keys(c),o=function(){};(function(){this.getCompletions=function(e,t,n,o){var r=t.getTokenAt(n.row,n.column);if(!r)return[];if(s(r,"tag-name")||s(r,"tag-open")||s(r,"end-tag-open"))return this.getTagCompletions(e,t,n,o);if(s(r,"tag-whitespace")||s(r,"attribute-name"))return this.getAttributeCompletions(e,t,n,o);if(s(r,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,o);var a=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(a)?this.getHTMLEntityCompletions(e,t,n,o):[]},this.getTagCompletions=function(e,t,n,o){return r.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,o){var r=l(t,n);if(!r)return[];var a=i;return r in c&&(a=a.concat(Object.keys(c[r]))),a.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,o){var r=l(t,n),a=function(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"attribute-name");)o=n.stepBackward();if(o)return o.value}(t,n);if(!r)return[];var i=[];return r in c&&a in c[r]&&"object"==typeof c[r][a]&&(i=Object.keys(c[r][a])),i.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,o){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(o.prototype),t.HtmlCompletions=o}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./text").Mode,i=e("./javascript").Mode,s=e("./css").Mode,l=e("./html_highlight_rules").HtmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,c=e("./folding/html").FoldMode,g=e("./html_completions").HtmlCompletions,d=e("../worker/worker_client").WorkerClient,m=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],p=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],h=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=l,this.$behaviour=new u,this.$completer=new g,this.createModeDelegates({"js-":i,"css-":s}),this.foldingRules=new c(this.voidElements,r.arrayToMap(p))};o.inherits(h,a),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=r.arrayToMap(m),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){if(this.constructor==h){var e=new d(["ace"],"ace/mode/html_worker","Worker");return e.attachToDocument(t.getDocument()),this.fragmentContext&&e.call("setOptions",[{context:this.fragmentContext}]),e.on("error",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e}},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/curly_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./html_highlight_rules").HtmlHighlightRules,a=function(){r.call(this),this.$rules.start.unshift({token:"variable",regex:"{{",push:"curly-start"}),this.$rules["curly-start"]=[{token:"variable",regex:"}}",next:"pop"}],this.normalizeRules()};o.inherits(a,r),t.CurlyHighlightRules=a}),ace.define("ace/mode/curly",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/matching_brace_outdent","ace/mode/folding/html","ace/mode/curly_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./html").Mode,a=e("./matching_brace_outdent").MatchingBraceOutdent,i=e("./folding/html").FoldMode,s=e("./curly_highlight_rules").CurlyHighlightRules,l=function(){r.call(this),this.HighlightRules=s,this.$outdent=new a,this.foldingRules=new i};o.inherits(l,r),function(){this.$id="ace/mode/curly"}.call(l.prototype),t.Mode=l}),ace.require(["ace/mode/curly"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-dockerfile.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=t.reservedKeywords="!|{|}|case|do|done|elif|else|esac|fi|for|if|in|then|until|while|&|;|export|local|read|typeset|unset|elif|select|set|function|declare|readonly",o=t.languageConstructs="[|]|alias|bg|bind|break|builtin|cd|command|compgen|complete|continue|dirs|disown|echo|enable|eval|exec|exit|fc|fg|getopts|hash|help|history|jobs|kill|let|logout|popd|printf|pushd|pwd|return|set|shift|shopt|source|suspend|test|times|trap|type|ulimit|umask|unalias|wait",u=function(){var e=this.createKeywordMapper({keyword:s,"support.function.builtin":o,"invalid.deprecated":"debugger"},"identifier"),t="(?:(?:[1-9]\\d*)|(?:0))",n="(?:\\.\\d+)",r="(?:\\d+)",i="(?:(?:"+r+"?"+n+")|(?:"+r+"\\.))",u="(?:(?:"+i+"|"+r+")"+")",a="(?:"+u+"|"+i+")",f="(?:&"+r+")",l="[a-zA-Z_][a-zA-Z0-9_]*",c="(?:"+l+"(?==))",h="(?:\\$(?:SHLVL|\\$|\\!|\\?))",p="(?:"+l+"\\s*\\(\\))";this.$rules={start:[{token:"constant",regex:/\\./},{token:["text","comment"],regex:/(^|\s)(#.*)$/},{token:"string.start",regex:'"',push:[{token:"constant.language.escape",regex:/\\(?:[$`"\\]|$)/},{include:"variables"},{token:"keyword.operator",regex:/`/},{token:"string.end",regex:'"',next:"pop"},{defaultToken:"string"}]},{token:"string",regex:"\\$'",push:[{token:"constant.language.escape",regex:/\\(?:[abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},{regex:"<<<",token:"keyword.operator"},{stateName:"heredoc",regex:"(<<-?)(\\s*)(['\"`]?)([\\w\\-]+)(['\"`]?)",onMatch:function(e,t,n){var r=e[2]=="-"?"indentedHeredoc":"heredoc",i=e.split(this.splitRegex);return n.push(r,i[4]),[{type:"constant",value:i[1]},{type:"text",value:i[2]},{type:"string",value:i[3]},{type:"support.class",value:i[4]},{type:"string",value:i[5]}]},rules:{heredoc:[{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^	+"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"||t[0]==="indentedHeredoc"?t[0]:e}},{token:["keyword","text","text","text","variable"],regex:/(declare|local|readonly)(\s+)(?:(-[fixar]+)(\s+))?([a-zA-Z_][a-zA-Z0-9_]*\b)/},{token:"variable.language",regex:h},{token:"variable",regex:c},{include:"variables"},{token:"support.function",regex:p},{token:"support.function",regex:f},{token:"string",start:"'",end:"'"},{token:"constant.numeric",regex:a},{token:"constant.numeric",regex:t+"\\b"},{token:e,regex:"[a-zA-Z_][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!=|[%&|`]"},{token:"punctuation.operator",regex:";"},{token:"paren.lparen",regex:"[\\[\\(\\{]"},{token:"paren.rparen",regex:"[\\]]"},{token:"paren.rparen",regex:"[\\)\\}]",next:"pop"}],variables:[{token:"variable",regex:/(\$)(\w+)/},{token:["variable","paren.lparen"],regex:/(\$)(\()/,push:"start"},{token:["variable","paren.lparen","keyword.operator","variable","keyword.operator"],regex:/(\$)(\{)([#!]?)(\w+|[*@#?\-$!0_])(:[?+\-=]?|##?|%%?|,,?\/|\^\^?)?/,push:"start"},{token:"variable",regex:/\$[*@#?\-$!0_]/},{token:["variable","paren.lparen"],regex:/(\$)(\{)/,push:"start"}]},this.normalizeRules()};r.inherits(u,i),t.ShHighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sh_highlight_rules").ShHighlightRules,o=e("../range").Range,u=e("./folding/cstyle").FoldMode,a=e("./behaviour/cstyle").CstyleBehaviour,f=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new a};r.inherits(f,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[:]\s*$/);o&&(r+=n)}return r};var e={pass:1,"return":1,raise:1,"break":1,"continue":1};this.checkOutdent=function(t,n,r){if(r!=="\r\n"&&r!=="\r"&&r!=="\n")return!1;var i=this.getTokenizer().getLineTokens(n.trim(),t).tokens;if(!i)return!1;do var s=i.pop();while(s&&(s.type=="comment"||s.type=="text"&&s.value.match(/^\s+$/)));return s?s.type=="keyword"&&e[s.value]:!1},this.autoOutdent=function(e,t,n){n+=1;var r=this.$getIndent(t.getLine(n)),i=t.getTabString();r.slice(-i.length)==i&&t.remove(new o(n,r.length-i.length,n,r.length))},this.$id="ace/mode/sh"}.call(f.prototype),t.Mode=f}),ace.define("ace/mode/dockerfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/sh_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./sh_highlight_rules").ShHighlightRules,s=function(){i.call(this);var e=this.$rules.start;for(var t=0;t<e.length;t++)if(e[t].token=="variable.language"){e.splice(t,0,{token:"constant.language",regex:"(?:^(?:FROM|MAINTAINER|RUN|CMD|EXPOSE|ENV|ADD|ENTRYPOINT|VOLUME|USER|WORKDIR|ONBUILD|COPY|LABEL)\\b)",caseInsensitive:!0});break}};r.inherits(s,i),t.DockerfileHighlightRules=s}),ace.define("ace/mode/dockerfile",["require","exports","module","ace/lib/oop","ace/mode/sh","ace/mode/dockerfile_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./sh").Mode,s=e("./dockerfile_highlight_rules").DockerfileHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/dockerfile"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/dockerfile"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-edifact.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/edifact_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=function(){var e="UNH",t="ADR|AGR|AJT|ALC|ALI|APP|APR|ARD|ARR|ASI|ATT|AUT|BAS|BGM|BII|BUS|CAV|CCD|CCI|CDI|CDS|CDV|CED|CIN|CLA|CLI|CMP|CNI|CNT|COD|COM|COT|CPI|CPS|CPT|CST|CTA|CUX|DAM|DFN|DGS|DII|DIM|DLI|DLM|DMS|DOC|DRD|DSG|DSI|DTM|EDT|EFI|ELM|ELU|ELV|EMP|EQA|EQD|EQN|ERC|ERP|EVE|FCA|FII|FNS|FNT|FOR|FSQ|FTX|GDS|GEI|GID|GIN|GIR|GOR|GPO|GRU|HAN|HYN|ICD|IDE|IFD|IHC|IMD|IND|INP|INV|IRQ|LAN|LIN|LOC|MEA|MEM|MKS|MOA|MSG|MTD|NAD|NAT|PAC|PAI|PAS|PCC|PCD|PCI|PDI|PER|PGI|PIA|PNA|POC|PRC|PRI|PRV|PSD|PTY|PYT|QRS|QTY|QUA|QVR|RCS|REL|RFF|RJL|RNG|ROD|RSL|RTE|SAL|SCC|SCD|SEG|SEL|SEQ|SFI|SGP|SGU|SPR|SPS|STA|STC|STG|STS|TAX|TCC|TDT|TEM|TMD|TMP|TOD|TPL|TRU|TSR|UNB|UNZ|UNT|UGH|UGT|UNS|VLI",e="UNH",n="null|Infinity|NaN|undefined",r="",s="BY|SE|ON|INV|JP|UNOA",o=this.createKeywordMapper({"variable.language":"this",keyword:s,"entity.name.segment":t,"entity.name.header":e,"constant.language":n,"support.function":r},"identifier");this.$rules={start:[{token:"punctuation.operator",regex:"\\+.\\+"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:o,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+"},{token:"punctuation.operator",regex:"\\:|'"},{token:"identifier",regex:"\\:D\\:"}]},this.embedRules(i,"doc-",[i.getEndRule("start")])};o.metaData={fileTypes:["edi"],keyEquivalent:"^~E",name:"Edifact",scopeName:"source.edifact"},r.inherits(o,s),t.EdifactHighlightRules=o}),ace.define("ace/mode/edifact",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/edifact_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./edifact_highlight_rules").EdifactHighlightRules,o=function(){this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/edifact"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/edifact"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-ftl.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",i=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",g=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",c=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",d=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",p=function(){var e=this.createKeywordMapper({"support.function":i,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:g},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+g+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:g},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:c},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:d},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(p,o),t.CssHighlightRules=p}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var o=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};o.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===a&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(o.prototype),r.inherits(a,o),t.XmlHighlightRules=a}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("../lib/lang"),a=e("./css_highlight_rules").CssHighlightRules,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=o.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(a,"css-","style"),this.embedTagRules(new i({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};r.inherits(u,s),t.HtmlHighlightRules=u}),ace.define("ace/mode/ftl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./html_highlight_rules").HtmlHighlightRules,a=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"constant.character.entity",regex:/&[^;]+;/},{token:"support.function",regex:"\\?(\\?|substring|cap_first|uncap_first|capitalize|chop_linebreak|date|time|datetime|ends_with|html|groups|index_of|j_string|js_string|json_string|last_index_of|length|lower_case|left_pad|right_pad|contains|matches|number|replace|rtf|url|split|starts_with|string|trim|upper_case|word_list|xhtml|xmlc|round|floor|ceilingiso_[a-z_]+first|last|seq_contains|seq_index_of|seq_last_index_of|reverse|size|sort|sort_by|chunkkeys|valueschildren|parent|root|ancestors|node_name|node_type|node_namespacebyte|double|float|int|long|short|number_to_date|number_to_time|number_to_datetime|eval|has_content|interpret|is_[a-z_]+|namespacenew)"},{token:"support.function.deprecated",regex:"\\?(default|exists|if_exists|web_safe)"},{token:"language.variable",regex:"\\.(?:data_model|error|globals|lang|locale|locals|main|namespace|node|current_node|now|output_encoding|template_name|url_escaping_charset|vars|version)"},{token:"constant.language",regex:"\\b(true|false)\\b"},{token:"keyword.operator",regex:"\\b(?:gt|gte|lt|lte|as|in|using)\\b"},{token:"entity.other.attribute-name",regex:"encoding|parse|locale|number_format|date_format|time_format|datetime_format|time_zone|url_escaping_charset|classic_compatible|strip_whitespace|strip_text|strict_syntax|ns_prefixes|attributes"},{token:"string",regex:/['"]/,next:"qstring"},{token:function(e){return e.match("^[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?$")?"constant.numeric":"variable"},regex:/[\w.+\-]+/},{token:"keyword.operator",regex:"!|\\.|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qstring:[{token:"constant.character.escape",regex:'\\\\[nrtvef\\\\"$]'},{token:"string",regex:/['"]/,next:"start"},{defaultToken:"string"}]}};r.inherits(i,a);var s=function(){o.call(this);var e=[{token:"comment",regex:"<#--",next:"ftl-dcomment"},{token:"string.interpolated",regex:"\\${",push:"ftl-start"},{token:"keyword.function",regex:"</?#(assign|attempt|break|case|compress|default|elseif|else|escape|fallback|function|flush|ftl|global|if|import|include|list|local|lt|macro|nested|noescape|noparse|nt|recover|recurse|return|rt|setting|stop|switch|t|visit)",push:"ftl-start"},{token:"keyword.other",regex:"</?@[a-zA-Z\\.]+",push:"ftl-start"}];for(var t in this.$rules)this.$rules[t].unshift.apply(this.$rules[t],e);this.embedRules(i,"ftl-",[{token:"keyword",regex:"/?>",next:"pop"},{token:"string.interpolated",regex:"}",next:"pop"}],["start"]),this.addRules({"ftl-dcomment":[{token:"comment",regex:"--\x3e",next:"pop"},{defaultToken:"comment"}]}),this.normalizeRules()};r.inherits(s,o),t.FtlHighlightRules=s}),ace.define("ace/mode/ftl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ftl_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,a=e("./ftl_highlight_rules").FtlHighlightRules,i=function(){this.HighlightRules=a,this.$behaviour=this.$defaultBehaviour};r.inherits(i,o),function(){this.$id="ace/mode/ftl"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/ftl"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-gitignore.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};s.metaData={fileTypes:["gitignore"],name:"Gitignore"},r.inherits(s,i),t.GitignoreHighlightRules=s}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./gitignore_highlight_rules").GitignoreHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/gitignore"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-gitignore.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,i,t){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,g=function(){this.$rules={start:[{token:"comment",regex:/^\s*#.*$/},{token:"keyword",regex:/^\s*!.*$/}]},this.normalizeRules()};g.metaData={fileTypes:["gitignore"],name:"Gitignore"},o.inherits(g,r),i.GitignoreHighlightRules=g}),ace.define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"],function(e,i,t){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,g=e("./gitignore_highlight_rules").GitignoreHighlightRules,l=function(){this.HighlightRules=g,this.$behaviour=this.$defaultBehaviour};o.inherits(l,r),function(){this.lineCommentStart="#",this.$id="ace/mode/gitignore"}.call(l.prototype),i.Mode=l}),ace.require(["ace/mode/gitignore"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-haskell.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/haskell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),a=e("./text_highlight_rules").TextHighlightRules,l=function(){this.$rules={start:[{token:["punctuation.definition.entity.haskell","keyword.operator.function.infix.haskell","punctuation.definition.entity.haskell"],regex:"(`)([a-zA-Z_']*?)(`)",comment:"In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10])."},{token:"constant.language.unit.haskell",regex:"\\(\\)"},{token:"constant.language.empty-list.haskell",regex:"\\[\\]"},{token:"keyword.other.haskell",regex:"\\b(module|signature)\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b",next:"pop"},{include:"#module_name"},{include:"#module_exports"},{token:"invalid",regex:"[a-z]+"},{defaultToken:"meta.declaration.module.haskell"}]},{token:"keyword.other.haskell",regex:"\\bclass\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b",next:"pop"},{token:"support.class.prelude.haskell",regex:"\\b(?:Monad|Functor|Eq|Ord|Read|Show|Num|(?:Frac|Ra)tional|Enum|Bounded|Real(?:Frac|Float)?|Integral|Floating)\\b"},{token:"entity.other.inherited-class.haskell",regex:"[A-Z][A-Za-z_']*"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{defaultToken:"meta.declaration.class.haskell"}]},{token:"keyword.other.haskell",regex:"\\binstance\\b",push:[{token:"keyword.other.haskell",regex:"\\bwhere\\b|$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.declaration.instance.haskell"}]},{token:"keyword.other.haskell",regex:"import",push:[{token:"meta.import.haskell",regex:"$|;|^",next:"pop"},{token:"keyword.other.haskell",regex:"qualified|as|hiding"},{include:"#module_name"},{include:"#module_exports"},{defaultToken:"meta.import.haskell"}]},{token:["keyword.other.haskell","meta.deriving.haskell"],regex:"(deriving)(\\s*\\()",push:[{token:"meta.deriving.haskell",regex:"\\)",next:"pop"},{token:"entity.other.inherited-class.haskell",regex:"\\b[A-Z][a-zA-Z_']*"},{defaultToken:"meta.deriving.haskell"}]},{token:"keyword.other.haskell",regex:"\\b(?:deriving|where|data|type|case|of|let|in|newtype|default)\\b"},{token:"keyword.operator.haskell",regex:"\\binfix[lr]?\\b"},{token:"keyword.control.haskell",regex:"\\b(?:do|if|then|else)\\b"},{token:"constant.numeric.float.haskell",regex:"\\b(?:[0-9]+\\.[0-9]+(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b",comment:"Floats are always decimal"},{token:"constant.numeric.haskell",regex:"\\b(?:[0-9]+|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+))\\b"},{token:["meta.preprocessor.c","punctuation.definition.preprocessor.c","meta.preprocessor.c"],regex:"^(\\s*)(#)(\\s*\\w+)",comment:'In addition to Haskell\'s "native" syntax, GHC permits the C preprocessor to be run on a source file.'},{include:"#pragma"},{token:"punctuation.definition.string.begin.haskell",regex:'"',push:[{token:"punctuation.definition.string.end.haskell",regex:'"',next:"pop"},{token:"constant.character.escape.haskell",regex:"\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&])"},{token:"constant.character.escape.octal.haskell",regex:"\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+"},{token:"constant.character.escape.control.haskell",regex:"\\^[A-Z@\\[\\]\\\\\\^_]"},{defaultToken:"string.quoted.double.haskell"}]},{token:["punctuation.definition.string.begin.haskell","string.quoted.single.haskell","constant.character.escape.haskell","constant.character.escape.octal.haskell","constant.character.escape.hexadecimal.haskell","constant.character.escape.control.haskell","punctuation.definition.string.end.haskell"],regex:"(')(?:([\\ -\\[\\]-~])|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(')"},{token:["meta.function.type-declaration.haskell","entity.name.function.haskell","meta.function.type-declaration.haskell","keyword.other.double-colon.haskell"],regex:"^(\\s*)([a-z_][a-zA-Z0-9_']*|\\([|!%$+\\-.,=</>]+\\))(\\s*)(::)",push:[{token:"meta.function.type-declaration.haskell",regex:"$",next:"pop"},{include:"#type_signature"},{defaultToken:"meta.function.type-declaration.haskell"}]},{token:"support.constant.haskell",regex:"\\b(?:Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b"},{token:"constant.other.haskell",regex:"\\b[A-Z]\\w*\\b"},{include:"#comments"},{token:"support.function.prelude.haskell",regex:"\\b(?:abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b"},{include:"#infix_op"},{token:"keyword.operator.haskell",regex:"[|!%$?~+:\\-.=</>\\\\]+",comment:"In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*."},{token:"punctuation.separator.comma.haskell",regex:","}],"#block_comment":[{token:"punctuation.definition.comment.haskell",regex:"\\{-(?!#)",push:[{include:"#block_comment"},{token:"punctuation.definition.comment.haskell",regex:"-\\}",next:"pop"},{defaultToken:"comment.block.haskell"}]}],"#comments":[{token:"punctuation.definition.comment.haskell",regex:"--.*",push_:[{token:"comment.line.double-dash.haskell",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.haskell"}]},{include:"#block_comment"}],"#infix_op":[{token:"entity.name.function.infix.haskell",regex:"\\([|!%$+:\\-.=</>]+\\)|\\(,+\\)"}],"#module_exports":[{token:"meta.declaration.exports.haskell",regex:"\\(",push:[{token:"meta.declaration.exports.haskell.end",regex:"\\)",next:"pop"},{token:"entity.name.function.haskell",regex:"\\b[a-z][a-zA-Z_']*"},{token:"storage.type.haskell",regex:"\\b[A-Z][A-Za-z_']*"},{token:"punctuation.separator.comma.haskell",regex:","},{include:"#infix_op"},{token:"meta.other.unknown.haskell",regex:"\\(.*?\\)",comment:"So named because I don't know what to call this."},{defaultToken:"meta.declaration.exports.haskell.end"}]}],"#module_name":[{token:"support.other.module.haskell",regex:"[A-Z][A-Za-z._']*"}],"#pragma":[{token:"meta.preprocessor.haskell",regex:"\\{-#",push:[{token:"meta.preprocessor.haskell",regex:"#-\\}",next:"pop"},{token:"keyword.other.preprocessor.haskell",regex:"\\b(?:LANGUAGE|UNPACK|INLINE)\\b"},{defaultToken:"meta.preprocessor.haskell"}]}],"#type_signature":[{token:["meta.class-constraint.haskell","entity.other.inherited-class.haskell","meta.class-constraint.haskell","variable.other.generic-type.haskell","meta.class-constraint.haskell","keyword.other.big-arrow.haskell"],regex:"(\\(\\s*)([A-Z][A-Za-z]*)(\\s+)([a-z][A-Za-z_']*)(\\)\\s*)(=>)"},{include:"#pragma"},{token:"keyword.other.arrow.haskell",regex:"->"},{token:"keyword.other.big-arrow.haskell",regex:"=>"},{token:"support.type.prelude.haskell",regex:"\\b(?:Int(?:eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(?:Error)?)\\b"},{token:"variable.other.generic-type.haskell",regex:"\\b[a-z][a-zA-Z0-9_']*\\b"},{token:"storage.type.haskell",regex:"\\b[A-Z][a-zA-Z0-9_']*\\b"},{token:"support.constant.unit.haskell",regex:"\\(\\)"},{include:"#comments"}]},this.normalizeRules()};l.metaData={fileTypes:["hs"],keyEquivalent:"^~H",name:"Haskell",scopeName:"source.haskell"},o.inherits(l,a),t.HaskellHighlightRules=l}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),c=e("../../range").Range,a=e("./fold_mode").FoldMode,l=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(l,a),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var a=this._getFoldWidgetBase(e,t,n);return!a&&this.startRegionRe.test(o)?"start":a},this.getFoldWidgetRange=function(e,t,n,o){var a,l=e.getLine(n);if(this.startRegionRe.test(l))return this.getCommentRegionBlock(e,l,n);if(a=l.match(this.foldingStartMarker)){var r=a.index;if(a[1])return this.openingBracketBlock(e,a[1],n,r);var i=e.getCommentFoldRange(n,r+a[0].length,1);return i&&!i.isMultiLine()&&(o?i=this.getSectionRange(e,n):"all"!=t&&(i=null)),i}if("markbegin"!==t&&(a=l.match(this.foldingStopMarker))){r=a.index+a[0].length;return a[1]?this.closingBracketBlock(e,a[1],n,r):e.getCommentFoldRange(n,r,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),a=t,l=n.length,r=t+=1,i=e.getLength();++t<i;){var s=(n=e.getLine(t)).search(/\S/);if(-1!==s){if(s<o)break;var h=this.getFoldWidgetRange(e,"all",t);if(h){if(h.start.row<=a)break;if(h.isMultiLine())t=h.end.row;else if(o==s)break}r=t}}return new c(a,l,r,e.getLine(r).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),a=e.getLength(),l=n,r=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,i=1;++n<a;){t=e.getLine(n);var s=r.exec(t);if(s&&(s[1]?i--:i++,!i))break}if(l<n)return new c(l,o,n,t.length)}}.call(l.prototype)}),ace.define("ace/mode/haskell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haskell_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),a=e("./text").Mode,l=e("./haskell_highlight_rules").HaskellHighlightRules,r=e("./folding/cstyle").FoldMode,i=function(){this.HighlightRules=l,this.foldingRules=new r,this.$behaviour=this.$defaultBehaviour};o.inherits(i,a),function(){this.lineCommentStart="--",this.blockComment=null,this.$id="ace/mode/haskell"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/haskell"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-hjson.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/hjson_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#comments"},{include:"#rootObject"},{include:"#value"}],"#array":[{token:"paren.lparen",regex:/\[/,push:[{token:"paren.rparen",regex:/\]/,next:"pop"},{include:"#value"},{include:"#comments"},{token:"text",regex:/,|$/},{token:"invalid.illegal",regex:/[^\s\]]/},{defaultToken:"array"}]}],"#comments":[{token:["comment.punctuation","comment.line"],regex:/(#)(.*$)/},{token:"comment.punctuation",regex:/\/\*/,push:[{token:"comment.punctuation",regex:/\*\//,next:"pop"},{defaultToken:"comment.block"}]},{token:["comment.punctuation","comment.line"],regex:/(\/\/)(.*$)/}],"#constant":[{token:"constant",regex:/\b(?:true|false|null)\b/}],"#keyname":[{token:"keyword",regex:/(?:[^,\{\[\}\]\s]+|"(?:[^"\\]|\\.)*")\s*(?=:)/}],"#mstring":[{token:"string",regex:/'''/,push:[{token:"string",regex:/'''/,next:"pop"},{defaultToken:"string"}]}],"#number":[{token:"constant.numeric",regex:/-?(?:0|[1-9]\d*)(?:(?:\.\d+)?(?:[eE][+-]?\d+)?)?/,comment:"handles integer and decimal numbers"}],"#object":[{token:"paren.lparen",regex:/\{/,push:[{token:"paren.rparen",regex:/\}/,next:"pop"},{include:"#keyname"},{include:"#value"},{token:"text",regex:/:/},{token:"text",regex:/,/},{defaultToken:"paren"}]}],"#rootObject":[{token:"paren",regex:/(?=\s*(?:[^,\{\[\}\]\s]+|"(?:[^"\\]|\\.)*")\s*:)/,push:[{token:"paren.rparen",regex:/---none---/,next:"pop"},{include:"#keyname"},{include:"#value"},{token:"text",regex:/:/},{token:"text",regex:/,/},{defaultToken:"paren"}]}],"#string":[{token:"string",regex:/"/,push:[{token:"string",regex:/"/,next:"pop"},{token:"constant.language.escape",regex:/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/},{token:"invalid.illegal",regex:/\\./},{defaultToken:"string"}]}],"#ustring":[{token:"string",regex:/\b[^:,0-9\-\{\[\}\]\s].*$/}],"#value":[{include:"#constant"},{include:"#number"},{include:"#string"},{include:"#array"},{include:"#object"},{include:"#comments"},{include:"#mstring"},{include:"#ustring"}]},this.normalizeRules()};s.metaData={fileTypes:["hjson"],foldingStartMarker:"(?x:     # turn on extended mode\n              ^    # a line beginning with\n              \\s*    # some optional space\n              [{\\[]  # the start of an object or array\n              (?!    # but not followed by\n              .*   # whatever\n              [}\\]]  # and the close of an object or array\n              ,?   # an optional comma\n              \\s*  # some optional space\n              $    # at the end of the line\n              )\n              |    # ...or...\n              [{\\[]  # the start of an object or array\n              \\s*    # some optional space\n              $    # at the end of the line\n            )",foldingStopMarker:"(?x:   # turn on extended mode\n             ^    # a line beginning with\n             \\s*  # some optional space\n             [}\\]]  # and the close of an object or array\n             )",keyEquivalent:"^~J",name:"Hjson",scopeName:"source.hjson"},r.inherits(s,i),t.HjsonHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/hjson",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/hjson_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./hjson_highlight_rules").HjsonHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/hjson"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/hjson"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-html_elixir.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),r=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",a=t.supportFunction="rgb|rgba|url|attr|counter|counters",l=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",s=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",d=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",g=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",p=function(){var e=this.createKeywordMapper({"support.function":a,"support.constant":l,"support.type":r,"support.constant.color":s,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:d},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:g},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};o.inherits(p,i),t.CssHighlightRules=p}),ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,r=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},r.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};o.inherits(r,i),r.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},r.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},r.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=r}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function o(e){return[{token:"comment",regex:/\/\*/,next:[r.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[r.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var i=e("../lib/oop"),r=e("./doc_comment_highlight_rules").DocCommentHighlightRules,a=e("./text_highlight_rules").TextHighlightRules,l="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",s=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[r.getStartRule("doc-start"),o("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+l+")(\\.)(prototype)(\\.)("+l+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+l+")(\\.)("+l+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+l+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+l+")(\\.)("+l+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+l+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+l+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:l},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+l+")(\\.)("+l+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:l},{regex:"",token:"empty",next:"no_regex"}],start:[r.getStartRule("doc-start"),o("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:l},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=l.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var o="/"==e.charAt(1)?2:1;return 1==o?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==o&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==o?"":"end-")+"tag-open.xml",value:e.slice(0,o)},{type:"meta.tag.tag-name.xml",value:e.substr(o)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,o("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(r,"doc-",[r.getEndRule("no_regex")]),this.normalizeRules()};i.inherits(s,a),t.JavaScriptHighlightRules=s}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,r=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===r&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),o.inherits(r,i),t.XmlHighlightRules=r}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("../lib/lang"),r=e("./css_highlight_rules").CssHighlightRules,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,l=e("./xml_highlight_rules").XmlHighlightRules,s=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){l.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=s[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(r,"css-","style"),this.embedTagRules(new a({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};o.inherits(u,l),t.HtmlHighlightRules=u}),ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,r=function(){this.$rules={start:[{token:["meta.module.elixir","keyword.control.module.elixir","meta.module.elixir","entity.name.type.module.elixir"],regex:"^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc (?:~[a-z])?"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc ~[A-Z]"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc (?:~[a-z])?'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc ~[A-Z]'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.false",regex:"@(?:module|type)?doc false",comment:"@doc false is treated as documentation"},{token:"comment.documentation.string",regex:'@(?:module|type)?doc "',push:[{token:"comment.documentation.string",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.string"}],comment:"@doc with string is treated as documentation"},{token:"keyword.control.elixir",regex:"\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])"},{token:"keyword.operator.elixir",regex:"\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b",comment:" as above, just doesn't need a 'end' and does a logic operation"},{token:"constant.language.elixir",regex:"\\b(?:nil|true|false)\\b(?![?!])"},{token:"variable.language.elixir",regex:"\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])"},{token:["punctuation.definition.variable.elixir","variable.other.readwrite.module.elixir"],regex:"(@)([a-zA-Z_]\\w*)"},{token:["punctuation.definition.variable.elixir","variable.other.anonymous.elixir"],regex:"(&)(\\d*)"},{token:"variable.other.constant.elixir",regex:"\\b[A-Z]\\w*\\b"},{token:"constant.numeric.elixir",regex:"\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b"},{token:"punctuation.definition.constant.elixir",regex:":'",push:[{token:"punctuation.definition.constant.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.single-quoted.elixir"}]},{token:"punctuation.definition.constant.elixir",regex:':"',push:[{token:"punctuation.definition.constant.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.double-quoted.elixir"}]},{token:"punctuation.definition.string.begin.elixir",regex:"(?:''')",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>''')",push:[{token:"punctuation.definition.string.end.elixir",regex:"^\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.heredoc.elixir"}],comment:"Single-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:"'",push:[{token:"punctuation.definition.string.end.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.elixir"}],comment:"single quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'(?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'(?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:'"',push:[{token:"punctuation.definition.string.end.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.elixir"}],comment:"double quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[a-z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[a-z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[A-Z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[A-Z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:["punctuation.definition.constant.elixir","constant.other.symbol.elixir"],regex:"(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",comment:"symbols"},{token:"punctuation.definition.constant.elixir",regex:"(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)",comment:"symbols"},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(#)(.*)"},{token:"constant.numeric.elixir",regex:"\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])",comment:'\n\t\t\tmatches questionmark-letters.\n\n\t\t\texamples (1st alternation = hex):\n\t\t\t?\\x1     ?\\x61\n\n\t\t\texamples (2rd alternation = escaped):\n\t\t\t?\\n      ?\\b\n\n\t\t\texamples (3rd alternation = normal):\n\t\t\t?a       ?A       ?0 \n\t\t\t?*       ?"       ?( \n\t\t\t?.       ?#\n\t\t\t\n\t\t\tthe negative lookbehind prevents against matching\n\t\t\tp(42.tainted?)\n\t\t\t'},{token:"keyword.operator.assignment.augmented.elixir",regex:"\\+=|\\-=|\\|\\|=|~=|&&="},{token:"keyword.operator.comparison.elixir",regex:"===?|!==?|<=?|>=?"},{token:"keyword.operator.bitwise.elixir",regex:"\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}"},{token:"keyword.operator.logical.elixir",regex:"!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b",originalRegex:"(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b"},{token:"keyword.operator.arithmetic.elixir",regex:"\\*|\\+|\\-|/"},{token:"keyword.operator.other.elixir",regex:"\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>"},{token:"keyword.operator.assignment.elixir",regex:"="},{token:"punctuation.separator.other.elixir",regex:":"},{token:"punctuation.separator.statement.elixir",regex:"\\;"},{token:"punctuation.separator.object.elixir",regex:","},{token:"punctuation.separator.method.elixir",regex:"\\."},{token:"punctuation.section.scope.elixir",regex:"\\{|\\}"},{token:"punctuation.section.array.elixir",regex:"\\[|\\]"},{token:"punctuation.section.function.elixir",regex:"\\(|\\)"}],"#escaped_char":[{token:"constant.character.escape.elixir",regex:"\\\\(?:x[\\da-fA-F]{1,2}|.)"}],"#interpolated_elixir":[{token:["source.elixir.embedded.source","source.elixir.embedded.source.empty"],regex:"(#\\{)(\\})"},{todo:{token:"punctuation.section.embedded.elixir",regex:"#\\{",push:[{token:"punctuation.section.embedded.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"},{include:"$self"},{defaultToken:"source.elixir.embedded.source"}]}}],"#nest_curly_and_self":[{token:"punctuation.section.scope.elixir",regex:"\\{",push:[{token:"punctuation.section.scope.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"}]},{include:"$self"}],"#regex_sub":[{include:"#interpolated_elixir"},{include:"#escaped_char"},{token:["punctuation.definition.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","punctuation.definition.arbitrary-repitition.elixir"],regex:"(\\{)(\\d+)((?:,\\d+)?)(\\})"},{token:"punctuation.definition.character-class.elixir",regex:"\\[(?:\\^?\\])?",push:[{token:"punctuation.definition.character-class.elixir",regex:"\\]",next:"pop"},{include:"#escaped_char"},{defaultToken:"string.regexp.character-class.elixir"}]},{token:"punctuation.definition.group.elixir",regex:"\\(",push:[{token:"punctuation.definition.group.elixir",regex:"\\)",next:"pop"},{include:"#regex_sub"},{defaultToken:"string.regexp.group.elixir"}]},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)",originalRegex:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags."}]},this.normalizeRules()};r.metaData={comment:"Textmate bundle for Elixir Programming Language.",fileTypes:["ex","exs"],firstLineMatch:"^#!/.*\\belixir",foldingStartMarker:"(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$",foldingStopMarker:"^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)",keyEquivalent:"^~E",name:"Elixir",scopeName:"source.elixir"},o.inherits(r,i),t.ElixirHighlightRules=r}),ace.define("ace/mode/html_elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules","ace/mode/elixir_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,r=e("./elixir_highlight_rules").ElixirHighlightRules,a=function(){i.call(this);var e=[{regex:"<%%|%%>",token:"constant.language.escape"},{token:"comment.start.eex",regex:"<%#",push:[{token:"comment.end.eex",regex:"%>",next:"pop",defaultToken:"comment"}]},{token:"support.elixir_tag",regex:"<%+(?!>)[-=]?",push:"elixir-start"}];for(var t in this.$rules)this.$rules[t].unshift.apply(this.$rules[t],e);this.embedRules(r,"elixir-",[{token:"support.elixir_tag",regex:"%>",next:"pop"},{token:"comment",regex:"#(?:[^%]|%[^>])*"}],["start"]),this.normalizeRules()};o.inherits(a,i),t.HtmlElixirHighlightRules=a}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var a=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var o=n[1].length,i=e.findMatchingBracket({row:t,column:o});if(!i||i.row==t)return 0;var r=this.$getIndent(e.getLine(i.row));e.replace(new a(t,0,t,o-1),r)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),c=e("../../range").Range,i=e("./fold_mode").FoldMode,r=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(r,i),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(o)?"start":i},this.getFoldWidgetRange=function(e,t,n,o){var i,r=e.getLine(n);if(this.startRegionRe.test(r))return this.getCommentRegionBlock(e,r,n);if(i=r.match(this.foldingStartMarker)){var a=i.index;if(i[1])return this.openingBracketBlock(e,i[1],n,a);var l=e.getCommentFoldRange(n,a+i[0].length,1);return l&&!l.isMultiLine()&&(o?l=this.getSectionRange(e,n):"all"!=t&&(l=null)),l}if("markbegin"!==t&&(i=r.match(this.foldingStopMarker))){a=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,a):e.getCommentFoldRange(n,a,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),i=t,r=n.length,a=t+=1,l=e.getLength();++t<l;){var s=(n=e.getLine(t)).search(/\S/);if(-1!==s){if(s<o)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=i)break;if(u.isMultiLine())t=u.end.row;else if(o==s)break}a=t}}return new c(i,r,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),i=e.getLength(),r=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++n<i;){t=e.getLine(n);var s=a.exec(t);if(s&&(s[1]?l--:l++,!l))break}if(r<n)return new c(r,o,n,t.length)}}.call(r.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text").Mode,r=e("./javascript_highlight_rules").JavaScriptHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("../worker/worker_client").WorkerClient,s=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=r,this.$outdent=new a,this.$behaviour=new s,this.foldingRules=new u};o.inherits(c,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),r=i.tokens,a=i.state;if(r.length&&"comment"==r[r.length-1].type)return o;if("start"==e||"no_regex"==e)(l=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(o+=n);else if("doc-start"==e){if("start"==a||"no_regex"==a)return"";var l;(l=t.match(/^\s*(\/?)\*/))&&(l[1]&&(o+=" "),o+="* ")}return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new l(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var l={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},o=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});l.hasOwnProperty(n)||(l[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,o){if(this.completionsDefined||this.defineCompletions(),!t.getTokenAt(n.row,n.column))return[];if("ruleset"===e){var i=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(i)?(/([\w\-]+):[^:]*$/.test(i),this.getPropertyValueCompletions(e,t,n,o)):this.getPropertyCompletions(e,t,n,o)}return[]},this.getPropertyCompletions=function(e,t,n,o){return Object.keys(l).map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,o){var i=t.getLine(n.row).substr(0,n.column),r=(/([\w\-]+):[^:]*$/.exec(i)||{})[1];if(!r)return[];var a=[];return r in l&&"object"==typeof l[r]&&(a=Object.keys(l[r])),a.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(o.prototype),t.CssCompletions=o}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var o=e("../../lib/oop"),i=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),u=e("../../token_iterator").TokenIterator,r=function(){this.inherit(i),this.add("colon","insertion",function(e,t,n,o,i){if(":"===i&&n.selection.isEmpty()){var r=n.getCursorPosition(),a=new u(o,r.row,r.column),l=a.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=a.stepBackward()),l&&"support.type"===l.type){var s=o.doc.getLine(r.row);if(":"===s.substring(r.column,r.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(s.substring(r.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,o,i){var r=o.doc.getTextRange(i);if(!i.isMultiLine()&&":"===r){var a=n.getCursorPosition(),l=new u(o,a.row,a.column),s=l.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=l.stepBackward()),s&&"support.type"===s.type)if(";"===o.doc.getLine(i.start.row).substring(i.end.column,i.end.column+1))return i.end.column++,i}}),this.add("semicolon","insertion",function(e,t,n,o,i){if(";"===i&&n.selection.isEmpty()){var r=n.getCursorPosition();if(";"===o.doc.getLine(r.row).substring(r.column,r.column+1))return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,o,i){if("!"===i&&n.selection.isEmpty()){var r=n.getCursorPosition(),a=o.doc.getLine(r.row);if(/^\s*(;|}|$)/.test(a.substring(r.column)))return{text:"!important",selection:[10,10]}}})};o.inherits(r,i),t.CssBehaviour=r}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text").Mode,r=e("./css_highlight_rules").CssHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=e("../worker/worker_client").WorkerClient,s=e("./css_completions").CssCompletions,u=e("./behaviour/css").CssBehaviour,c=e("./folding/cstyle").FoldMode,d=function(){this.HighlightRules=r,this.$outdent=new a,this.$behaviour=new u,this.$completer=new s,this.foldingRules=new c};o.inherits(d,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;return i.length&&"comment"==i[i.length-1].type||t.match(/^.*\{\s*$/)&&(o+=n),o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){var e=new l(["ace"],"ace/mode/css_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/css"}.call(d.prototype),t.Mode=d}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function p(e,t){return e&&-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),i=e("../behaviour").Behaviour,m=e("../../token_iterator").TokenIterator,r=(e("../../lib/lang"),function(){this.add("string_dquotes","insertion",function(e,t,n,o,i){if('"'==i||"'"==i){var r=i,a=o.doc.getTextRange(n.getSelectionRange());if(""!==a&&"'"!==a&&'"'!=a&&n.getWrapBehavioursEnabled())return{text:r+a+r,selection:!1};var l=n.getCursorPosition(),s=o.doc.getLine(l.row).substring(l.column,l.column+1),u=new m(o,l.row,l.column),c=u.getCurrentToken();if(s==r&&(p(c,"attribute-value")||p(c,"string")))return{text:"",selection:[1,1]};if(c||(c=u.stepBackward()),!c)return;for(;p(c,"tag-whitespace")||p(c,"whitespace");)c=u.stepBackward();var d=!s||s.match(/\s/);if(p(c,"attribute-equals")&&(d||">"==s)||p(c,"decl-attribute-equals")&&(d||"?"==s))return{text:r+r,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,o,i){var r=o.doc.getTextRange(i);if(!i.isMultiLine()&&('"'==r||"'"==r)&&o.doc.getLine(i.start.row).substring(i.start.column+1,i.start.column+2)==r)return i.end.column++,i}),this.add("autoclosing","insertion",function(e,t,n,o,i){if(">"==i){var r=n.getSelectionRange().start,a=new m(o,r.row,r.column),l=a.getCurrentToken()||a.stepBackward();if(!l||!(p(l,"tag-name")||p(l,"tag-whitespace")||p(l,"attribute-name")||p(l,"attribute-equals")||p(l,"attribute-value")))return;if(p(l,"reference.attribute-value"))return;if(p(l,"attribute-value")){var s=a.getCurrentTokenColumn()+l.value.length;if(r.column<s)return;if(r.column==s){var u=a.stepForward();if(u&&p(u,"attribute-value"))return;a.stepBackward()}}if(/^\s*>/.test(o.getLine(r.row).slice(r.column)))return;for(;!p(l,"tag-name");)if("<"==(l=a.stepBackward()).value){l=a.stepForward();break}var c=a.getCurrentTokenRow(),d=a.getCurrentTokenColumn();if(p(a.stepBackward(),"end-tag-open"))return;var g=l.value;if(c==r.row&&(g=g.substring(0,r.column-d)),this.voidElements.hasOwnProperty(g.toLowerCase()))return;return{text:"></"+g+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,o,i){if("\n"==i){var r=n.getCursorPosition(),a=o.getLine(r.row),l=new m(o,r.row,r.column),s=l.getCurrentToken();if(s&&-1!==s.type.indexOf("tag-close")){if("/>"==s.value)return;for(;s&&-1===s.type.indexOf("tag-name");)s=l.stepBackward();if(!s)return;var u=s.value,c=l.getCurrentTokenRow();if(!(s=l.stepBackward())||-1!==s.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[u]){var d=o.getTokenAt(r.row,r.column+1),g=(a=o.getLine(c),this.$getIndent(a)),p=g+o.getTabString();return d&&"</"===d.value?{text:"\n"+p+"\n"+g,selection:[1,p.length,1,p.length]}:{text:"\n"+p}}}}})});o.inherits(r,i),t.XmlBehaviour=r}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),i=e("./fold_mode").FoldMode,r=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};o.inherits(r,i),function(){this.$getMode=function(e){for(var t in"string"!=typeof e&&(e=e[0]),this.subModes)if(0===e.indexOf(t))return this.subModes[t];return null},this.$tryMode=function(e,t,n,o){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,o):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var o=this.$getMode(e.getState(n-1));return o&&o.getFoldWidget(e,t,n)||(o=this.$getMode(e.getState(n))),o&&o.getFoldWidget(e,t,n)||(o=this.defaultMode),o.getFoldWidgetRange(e,t,n)}}.call(r.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function s(e,t){return-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),u=(e("../../lib/lang"),e("../../range").Range),i=e("./fold_mode").FoldMode,c=e("../../token_iterator").TokenIterator,r=t.FoldMode=function(e,t){i.call(this),this.voidElements=e||{},this.optionalEndTags=o.mixin({},this.voidElements),t&&o.mixin(this.optionalEndTags,t)};o.inherits(r,i);var a=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var o=this._getFirstTagInLine(e,n);return o?o.closing||!o.tagName&&o.selfClosing?"markbeginend"==t?"end":"":!o.tagName||o.selfClosing||this.voidElements.hasOwnProperty(o.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,o.tagName,o.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){for(var n=e.getTokens(t),o=new a,i=0;i<n.length;i++){var r=n[i];if(s(r,"tag-open")){if(o.end.column=o.start.column+r.value.length,o.closing=s(r,"end-tag-open"),!(r=n[++i]))return null;for(o.tagName=r.value,o.end.column+=r.value.length,i++;i<n.length;i++)if(r=n[i],o.end.column+=r.value.length,s(r,"tag-close")){o.selfClosing="/>"==r.value;break}return o}if(s(r,"tag-close"))return o.selfClosing="/>"==r.value,o;o.start.column+=r.value.length}return null},this._findEndTagInLine=function(e,t,n,o){for(var i=e.getTokens(t),r=0,a=0;a<i.length;a++){var l=i[a];if(!((r+=l.value.length)<o)&&s(l,"end-tag-open")&&(l=i[a+1])&&l.value==n)return!0}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new a;do{if(s(t,"tag-open"))n.closing=s(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(s(t,"tag-name"))n.tagName=t.value;else if(s(t,"tag-close"))return n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new a;do{if(s(t,"tag-open"))return n.closing=s(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;s(t,"tag-name")?n.tagName=t.value:s(t,"tag-close")&&(n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(n.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,n){var o=this._getFirstTagInLine(e,n);if(!o)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var i,r=[];if(o.closing||o.selfClosing){l=new c(e,n,o.end.column);for(var a={row:n,column:o.start.column};i=this._readTagBackward(l);)if(i.selfClosing){if(!r.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,u.fromPoints(i.start,i.end)}else if(i.closing)r.push(i);else if(this._pop(r,i),0==r.length)return i.start.column+=i.tagName.length+2,i.start.row==i.end.row&&i.start.column<i.end.column&&(i.start.column=i.end.column),u.fromPoints(i.start,a)}else{var l=new c(e,n,o.start.column),s={row:n,column:o.start.column+o.tagName.length+2};for(o.start.row==o.end.row&&(s.column=o.end.column);i=this._readTagForward(l);)if(i.selfClosing){if(!r.length)return i.start.column+=i.tagName.length+2,i.end.column-=2,u.fromPoints(i.start,i.end)}else if(i.closing){if(this._pop(r,i),0==r.length)return u.fromPoints(s,i.start)}else r.push(i)}}}).call(r.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../../lib/oop"),i=e("./mixed").FoldMode,r=e("./xml").FoldMode,a=e("./cstyle").FoldMode,l=t.FoldMode=function(e,t){i.call(this,new r(e,t),{"js-":new a,"css-":new a})};o.inherits(l,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return-1<e.type.lastIndexOf(t+".xml")}function s(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!l(o,"tag-name");)o=n.stepBackward();if(o)return o.value}var u=e("../token_iterator").TokenIterator,a=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),c={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},i=Object.keys(c),o=function(){};(function(){this.getCompletions=function(e,t,n,o){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(l(i,"tag-name")||l(i,"tag-open")||l(i,"end-tag-open"))return this.getTagCompletions(e,t,n,o);if(l(i,"tag-whitespace")||l(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,o);if(l(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,o);var r=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(r)?this.getHTMLEntityCompletions(e,t,n,o):[]},this.getTagCompletions=function(e,t,n,o){return i.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,o){var i=s(t,n);if(!i)return[];var r=a;return i in c&&(r=r.concat(Object.keys(c[i]))),r.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,o){var i=s(t,n),r=function(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!l(o,"attribute-name");)o=n.stepBackward();if(o)return o.value}(t,n);if(!i)return[];var a=[];return i in c&&r in c[i]&&"object"==typeof c[i][r]&&(a=Object.keys(c[i][r])),a.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,o){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(o.prototype),t.HtmlCompletions=o}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("../lib/lang"),r=e("./text").Mode,a=e("./javascript").Mode,l=e("./css").Mode,s=e("./html_highlight_rules").HtmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,c=e("./folding/html").FoldMode,d=e("./html_completions").HtmlCompletions,g=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],m=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],h=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=s,this.$behaviour=new u,this.$completer=new d,this.createModeDelegates({"js-":a,"css-":l}),this.foldingRules=new c(this.voidElements,i.arrayToMap(m))};o.inherits(h,r),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){if(this.constructor==h){var e=new g(["ace"],"ace/mode/html_worker","Worker");return e.attachToDocument(t.getDocument()),this.fragmentContext&&e.call("setOptions",[{context:this.fragmentContext}]),e.on("error",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e}},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var o=e("../../lib/oop"),i=e("./fold_mode").FoldMode,p=e("../../range").Range,r=t.FoldMode=function(){};o.inherits(r,i),function(){this.getFoldWidgetRange=function(e,t,n){var o=this.indentationBlock(e,n);if(o)return o;var i=/\S/,r=e.getLine(n),a=r.search(i);if(-1!=a&&"#"==r[a]){for(var l=r.length,s=e.getLength(),u=n,c=n;++n<s;){var d=(r=e.getLine(n)).search(i);if(-1!=d){if("#"!=r[d])break;c=n}}if(u<c){var g=e.getLine(c).length;return new p(u,l,c,g)}}},this.getFoldWidget=function(e,t,n){var o=e.getLine(n),i=o.search(/\S/),r=e.getLine(n+1),a=e.getLine(n-1),l=a.search(/\S/),s=r.search(/\S/);if(-1==i)return e.foldWidgets[n-1]=-1!=l&&l<s?"start":"","";if(-1==l){if(i==s&&"#"==o[i]&&"#"==r[i])return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(l==i&&"#"==o[i]&&"#"==a[i]&&-1==e.getLine(n-2).search(/\S/))return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="";return e.foldWidgets[n-1]=-1!=l&&l<i?"start":"",i<s?"start":""}}.call(r.prototype)}),ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text").Mode,r=e("./elixir_highlight_rules").ElixirHighlightRules,a=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=r,this.foldingRules=new a,this.$behaviour=this.$defaultBehaviour};o.inherits(l,i),function(){this.lineCommentStart="#",this.$id="ace/mode/elixir"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/html_elixir",["require","exports","module","ace/lib/oop","ace/mode/html_elixir_highlight_rules","ace/mode/html","ace/mode/javascript","ace/mode/css","ace/mode/elixir"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./html_elixir_highlight_rules").HtmlElixirHighlightRules,r=e("./html").Mode,a=e("./javascript").Mode,l=e("./css").Mode,s=e("./elixir").Mode,u=function(){r.call(this),this.HighlightRules=i,this.createModeDelegates({"js-":a,"css-":l,"elixir-":s})};o.inherits(u,r),function(){this.$id="ace/mode/html_elixir"}.call(u.prototype),t.Mode=u}),ace.require(["ace/mode/html_elixir"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-javascript.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var o=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",g=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};o.inherits(g,i),t.JavaScriptHighlightRules=g}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),c=e("../../range").Range,o=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(o=a.match(this.foldingStartMarker)){var i=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,i);var s=e.getCommentFoldRange(n,i+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(o=a.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var g=(n=e.getLine(t)).search(/\S/);if(-1!==g){if(g<r)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=o)break;if(l.isMultiLine())t=l.end.row;else if(r==g)break}i=t}}return new c(o,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<o;){t=e.getLine(n);var g=i.exec(t);if(g&&(g[1]?s--:s++,!s))break}if(a<n)return new c(a,r,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,g=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new g,this.foldingRules=new l};r.inherits(c,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e),a=o.tokens,i=o.state;if(a.length&&"comment"==a[a.length-1].type)return r;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.require(["ace/mode/javascript"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-kotlin.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/kotlin_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#comments"},{token:["text","keyword.other.kotlin","text","entity.name.package.kotlin","text"],regex:/^(\s*)(package)\b(?:(\s*)([^ ;$]+)(\s*))?/},{include:"#imports"},{include:"#statements"}],"#classes":[{token:"text",regex:/(?=\s*(?:companion|class|object|interface))/,push:[{token:"text",regex:/}|(?=$)/,next:"pop"},{token:["keyword.other.kotlin","text"],regex:/\b((?:companion\s*)?)(class|object|interface)\b/,push:[{token:"text",regex:/(?=<|{|\(|:)/,next:"pop"},{token:"keyword.other.kotlin",regex:/\bobject\b/},{token:"entity.name.type.class.kotlin",regex:/\w+/}]},{token:"text",regex:/</,push:[{token:"text",regex:/>/,next:"pop"},{include:"#generics"}]},{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#parameters"}]},{token:"keyword.operator.declaration.kotlin",regex:/:/,push:[{token:"text",regex:/(?={|$)/,next:"pop"},{token:"entity.other.inherited-class.kotlin",regex:/\w+/},{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#expressions"}]}]},{token:"text",regex:/\{/,push:[{token:"text",regex:/\}/,next:"pop"},{include:"#statements"}]}]}],"#comments":[{token:"punctuation.definition.comment.kotlin",regex:/\/\*/,push:[{token:"punctuation.definition.comment.kotlin",regex:/\*\//,next:"pop"},{defaultToken:"comment.block.kotlin"}]},{token:["text","punctuation.definition.comment.kotlin","comment.line.double-slash.kotlin"],regex:/(\s*)(\/\/)(.*$)/}],"#constants":[{token:"constant.language.kotlin",regex:/\b(?:true|false|null|this|super)\b/},{token:"constant.numeric.kotlin",regex:/\b(?:0(?:x|X)[0-9a-fA-F]*|(?:[0-9]+\.?[0-9]*|\.[0-9]+)(?:(?:e|E)(?:\+|-)?[0-9]+)?)(?:[LlFfUuDd]|UL|ul)?\b/},{token:"constant.other.kotlin",regex:/\b[A-Z][A-Z0-9_]+\b/}],"#expressions":[{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#expressions"}]},{include:"#types"},{include:"#strings"},{include:"#constants"},{include:"#comments"},{include:"#keywords"}],"#functions":[{token:"text",regex:/(?=\s*fun)/,push:[{token:"text",regex:/}|(?=$)/,next:"pop"},{token:"keyword.other.kotlin",regex:/\bfun\b/,push:[{token:"text",regex:/(?=\()/,next:"pop"},{token:"text",regex:/</,push:[{token:"text",regex:/>/,next:"pop"},{include:"#generics"}]},{token:["text","entity.name.function.kotlin"],regex:/((?:[\.<\?>\w]+\.)?)(\w+)/}]},{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#parameters"}]},{token:"keyword.operator.declaration.kotlin",regex:/:/,push:[{token:"text",regex:/(?={|=|$)/,next:"pop"},{include:"#types"}]},{token:"text",regex:/\{/,push:[{token:"text",regex:/(?=\})/,next:"pop"},{include:"#statements"}]},{token:"keyword.operator.assignment.kotlin",regex:/=/,push:[{token:"text",regex:/(?=$)/,next:"pop"},{include:"#expressions"}]}]}],"#generics":[{token:"keyword.operator.declaration.kotlin",regex:/:/,push:[{token:"text",regex:/(?=,|>)/,next:"pop"},{include:"#types"}]},{include:"#keywords"},{token:"storage.type.generic.kotlin",regex:/\w+/}],"#getters-and-setters":[{token:["entity.name.function.kotlin","text"],regex:/\b(get)\b(\s*\(\s*\))/,push:[{token:"text",regex:/\}|(?=\bset\b)|$/,next:"pop"},{token:"keyword.operator.assignment.kotlin",regex:/=/,push:[{token:"text",regex:/(?=$|\bset\b)/,next:"pop"},{include:"#expressions"}]},{token:"text",regex:/\{/,push:[{token:"text",regex:/\}/,next:"pop"},{include:"#expressions"}]}]},{token:["entity.name.function.kotlin","text"],regex:/\b(set)\b(\s*)(?=\()/,push:[{token:"text",regex:/\}|(?=\bget\b)|$/,next:"pop"},{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#parameters"}]},{token:"keyword.operator.assignment.kotlin",regex:/=/,push:[{token:"text",regex:/(?=$|\bset\b)/,next:"pop"},{include:"#expressions"}]},{token:"text",regex:/\{/,push:[{token:"text",regex:/\}/,next:"pop"},{include:"#expressions"}]}]}],"#imports":[{token:["text","keyword.other.kotlin","text","keyword.other.kotlin"],regex:/^(\s*)(import)(\s+[^ $]+\s+)((?:as)?)/}],"#keywords":[{token:"storage.modifier.kotlin",regex:/\b(?:var|val|public|private|protected|abstract|final|enum|open|attribute|annotation|override|inline|var|val|vararg|lazy|in|out|internal|data|tailrec|operator|infix|const|yield|typealias|typeof)\b/},{token:"keyword.control.catch-exception.kotlin",regex:/\b(?:try|catch|finally|throw)\b/},{token:"keyword.control.kotlin",regex:/\b(?:if|else|while|for|do|return|when|where|break|continue)\b/},{token:"keyword.operator.kotlin",regex:/\b(?:in|is|as|assert)\b/},{token:"keyword.operator.comparison.kotlin",regex:/==|!=|===|!==|<=|>=|<|>/},{token:"keyword.operator.assignment.kotlin",regex:/=/},{token:"keyword.operator.declaration.kotlin",regex:/:/},{token:"keyword.operator.dot.kotlin",regex:/\./},{token:"keyword.operator.increment-decrement.kotlin",regex:/\-\-|\+\+/},{token:"keyword.operator.arithmetic.kotlin",regex:/\-|\+|\*|\/|%/},{token:"keyword.operator.arithmetic.assign.kotlin",regex:/\+=|\-=|\*=|\/=/},{token:"keyword.operator.logical.kotlin",regex:/!|&&|\|\|/},{token:"keyword.operator.range.kotlin",regex:/\.\./},{token:"punctuation.terminator.kotlin",regex:/;/}],"#namespaces":[{token:"keyword.other.kotlin",regex:/\bnamespace\b/},{token:"text",regex:/\{/,push:[{token:"text",regex:/\}/,next:"pop"},{include:"#statements"}]}],"#parameters":[{token:"keyword.operator.declaration.kotlin",regex:/:/,push:[{token:"text",regex:/(?=,|\)|=)/,next:"pop"},{include:"#types"}]},{token:"keyword.operator.declaration.kotlin",regex:/=/,push:[{token:"text",regex:/(?=,|\))/,next:"pop"},{include:"#expressions"}]},{include:"#keywords"},{token:"variable.parameter.function.kotlin",regex:/\w+/}],"#statements":[{include:"#namespaces"},{include:"#typedefs"},{include:"#classes"},{include:"#functions"},{include:"#variables"},{include:"#getters-and-setters"},{include:"#expressions"}],"#strings":[{token:"punctuation.definition.string.begin.kotlin",regex:/"""/,push:[{token:"punctuation.definition.string.end.kotlin",regex:/"""/,next:"pop"},{token:"variable.parameter.template.kotlin",regex:/\$\w+|\$\{[^\}]+\}/},{token:"constant.character.escape.kotlin",regex:/\\./},{defaultToken:"string.quoted.third.kotlin"}]},{token:"punctuation.definition.string.begin.kotlin",regex:/"/,push:[{token:"punctuation.definition.string.end.kotlin",regex:/"/,next:"pop"},{token:"variable.parameter.template.kotlin",regex:/\$\w+|\$\{[^\}]+\}/},{token:"constant.character.escape.kotlin",regex:/\\./},{defaultToken:"string.quoted.double.kotlin"}]},{token:"punctuation.definition.string.begin.kotlin",regex:/'/,push:[{token:"punctuation.definition.string.end.kotlin",regex:/'/,next:"pop"},{token:"constant.character.escape.kotlin",regex:/\\./},{defaultToken:"string.quoted.single.kotlin"}]},{token:"punctuation.definition.string.begin.kotlin",regex:/`/,push:[{token:"punctuation.definition.string.end.kotlin",regex:/`/,next:"pop"},{defaultToken:"string.quoted.single.kotlin"}]}],"#typedefs":[{token:"text",regex:/(?=\s*type)/,push:[{token:"text",regex:/(?=$)/,next:"pop"},{token:"keyword.other.kotlin",regex:/\btype\b/},{token:"text",regex:/</,push:[{token:"text",regex:/>/,next:"pop"},{include:"#generics"}]},{include:"#expressions"}]}],"#types":[{token:"storage.type.buildin.kotlin",regex:/\b(?:Any|Unit|String|Int|Boolean|Char|Long|Double|Float|Short|Byte|dynamic)\b/},{token:"storage.type.buildin.array.kotlin",regex:/\b(?:IntArray|BooleanArray|CharArray|LongArray|DoubleArray|FloatArray|ShortArray|ByteArray)\b/},{token:["storage.type.buildin.collection.kotlin","text"],regex:/\b(Array|List|Map)(<\b)/,push:[{token:"text",regex:/>/,next:"pop"},{include:"#types"},{include:"#keywords"}]},{token:"text",regex:/\w+</,push:[{token:"text",regex:/>/,next:"pop"},{include:"#types"},{include:"#keywords"}]},{token:["keyword.operator.tuple.kotlin","text"],regex:/(#)(\()/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#expressions"}]},{token:"text",regex:/\{/,push:[{token:"text",regex:/\}/,next:"pop"},{include:"#statements"}]},{token:"text",regex:/\(/,push:[{token:"text",regex:/\)/,next:"pop"},{include:"#types"}]},{token:"keyword.operator.declaration.kotlin",regex:/->/}],"#variables":[{token:"text",regex:/(?=\s*(?:var|val))/,push:[{token:"text",regex:/(?=:|=|$)/,next:"pop"},{token:"keyword.other.kotlin",regex:/\b(?:var|val)\b/,push:[{token:"text",regex:/(?=:|=|$)/,next:"pop"},{token:"text",regex:/</,push:[{token:"text",regex:/>/,next:"pop"},{include:"#generics"}]},{token:["text","entity.name.variable.kotlin"],regex:/((?:[\.<\?>\w]+\.)?)(\w+)/}]},{token:"keyword.operator.declaration.kotlin",regex:/:/,push:[{token:"text",regex:/(?==|$)/,next:"pop"},{include:"#types"},{include:"#getters-and-setters"}]},{token:"keyword.operator.assignment.kotlin",regex:/=/,push:[{token:"text",regex:/(?=$)/,next:"pop"},{include:"#expressions"},{include:"#getters-and-setters"}]}]}]},this.normalizeRules()};s.metaData={fileTypes:["kt","kts"],name:"Kotlin",scopeName:"source.Kotlin"},r.inherits(s,i),t.KotlinHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/kotlin",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/kotlin_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./kotlin_highlight_rules").KotlinHighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new o};r.inherits(a,i),function(){this.$id="ace/mode/kotlin"}.call(a.prototype),t.Mode=a});                (function() {
-                    ace.require(["ace/mode/kotlin"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-lisp.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="case|do|let|loop|if|else|when",t="eq|neq|and|or",n="null|nil",r="cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn",i=this.createKeywordMapper({"keyword.control":e,"keyword.operator":t,"constant.language":n,"support.function":r},"identifier",!0);this.$rules={start:[{token:"comment",regex:";.*$"},{token:["storage.type.function-type.lisp","text","entity.name.function.lisp"],regex:"(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"},{token:["punctuation.definition.constant.character.lisp","constant.character.lisp"],regex:"(#)((?:\\w|[\\\\+-=<>'\"&#])+)"},{token:["punctuation.definition.variable.lisp","variable.other.global.lisp","punctuation.definition.variable.lisp"],regex:"(\\*)(\\S*)(\\*)"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"string",regex:'"(?=.)',next:"qqstring"}],qqstring:[{token:"constant.character.escape.lisp",regex:"\\\\."},{token:"string",regex:'[^"\\\\]+'},{token:"string",regex:"\\\\$",next:"qqstring"},{token:"string",regex:'"|$',next:"start"}]}};r.inherits(s,i),t.LispHighlightRules=s}),ace.define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./lisp_highlight_rules").LispHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart=";",this.$id="ace/mode/lisp"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/lisp"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-mask.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var o=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};o.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",i=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",g=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",c=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",d=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",p=function(){var e=this.createKeywordMapper({"support.function":i,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:g},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+g+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:g},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:c},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:d},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(p,o),t.CssHighlightRules=p}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===a&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(o.prototype),r.inherits(a,o),t.XmlHighlightRules=a}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("../lib/lang"),a=e("./css_highlight_rules").CssHighlightRules,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=o.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(a,"css-","style"),this.embedTagRules(new i({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};r.inherits(u,s),t.HtmlHighlightRules=u}),ace.define("ace/mode/markdown_highlight_rules",["require","exports","module","ace/config","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var g=e("../config").$modes,r=e("../lib/oop"),o=e("../lib/lang"),a=e("./text_highlight_rules").TextHighlightRules,i=e("./html_highlight_rules").HtmlHighlightRules,s=function(e){return"(?:[^"+o.escapeRegExp(e)+"\\\\]|\\\\.)*"},l=function(){i.call(this);var e={token:"support.function",regex:/^\s*(```+[^`]*|~~~+[^~]*)$/,onMatch:function(e,t,n,r){var o=e.match(/^(\s*)([`~]+)(.*)/),a=/[\w-]+|$/.exec(o[3])[0];return g[a]||(a=""),n.unshift("githubblock",[],[o[1],o[2],a],t),this.token},next:"githubblock"},t=[{token:"support.function",regex:".*",onMatch:function(e,t,n,r){var o=n[1],a=n[2][0],i=n[2][1],s=n[2][2],l=/^(\s*)(`+|~+)\s*$/.exec(e);if(l&&l[1].length<a.length+3&&l[2].length>=i.length&&l[2][0]==i[0])return n.splice(0,3),this.next=n.shift(),this.token;if(this.next="",s&&g[s]){var u=g[s].getTokenizer().getLineTokens(e,o.slice(0));return n[1]=u.state,u.tokens}return this.token}}];this.$rules.start.unshift({token:"empty_line",regex:"^$",next:"allowBlock"},{token:"markup.heading.1",regex:"^=+(?=\\s*$)"},{token:"markup.heading.2",regex:"^\\-+(?=\\s*$)"},{token:function(e){return"markup.heading."+e.length},regex:/^#{1,6}(?=\s|$)/,next:"header"},e,{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{token:"constant",regex:"^ {0,2}(?:(?: ?\\* ?){3,}|(?: ?\\- ?){3,}|(?: ?\\_ ?){3,})\\s*$",next:"allowBlock"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic"}),this.addRules({basic:[{token:"constant.language.escape",regex:/\\[\\`*_{}\[\]()#+\-.!]/},{token:"support.function",regex:"(`+)(.*?[^`])(\\1)"},{token:["text","constant","text","url","string","text"],regex:'^([ ]{0,3}\\[)([^\\]]+)(\\]:\\s*)([^ ]+)(\\s*(?:["][^"]+["])?(\\s*))$'},{token:["text","string","text","constant","text"],regex:"(\\[)("+s("]")+")(\\]\\s*\\[)("+s("]")+")(\\])"},{token:["text","string","text","markup.underline","string","text"],regex:"(\\!?\\[)("+s("]")+')(\\]\\()((?:[^\\)\\s\\\\]|\\\\.|\\s(?=[^"]))*)(\\s*"'+s('"')+'"\\s*)?(\\))'},{token:"string.strong",regex:"([*]{2}|[_]{2}(?=\\S))(.*?\\S[*_]*)(\\1)"},{token:"string.emphasis",regex:"([*]|[_](?=\\S))(.*?\\S[*_]*)(\\1)"},{token:["text","url","text"],regex:"(<)((?:https?|ftp|dict):[^'\">\\s]+|(?:mailto:)?[-.\\w]+\\@[-a-z0-9]+(?:\\.[-a-z0-9]+)*\\.[a-z]+)(>)"}],allowBlock:[{token:"support.function",regex:"^ {4}.+",next:"allowBlock"},{token:"empty_line",regex:"^$",next:"allowBlock"},{token:"empty",regex:"",next:"start"}],header:[{regex:"$",next:"start"},{include:"basic"},{defaultToken:"heading"}],"listblock-start":[{token:"support.variable",regex:/(?:\[[ x]\])?/,next:"listblock"}],listblock:[{token:"empty_line",regex:"^$",next:"start"},{token:"markup.list",regex:"^\\s{0,3}(?:[*+-]|\\d+\\.)\\s+",next:"listblock-start"},{include:"basic",noEscape:!0},e,{defaultToken:"list"}],blockquote:[{token:"empty_line",regex:"^\\s*$",next:"start"},{token:"string.blockquote",regex:"^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+",next:"blockquote"},{include:"basic",noEscape:!0},{defaultToken:"string.blockquote"}],githubblock:t}),this.normalizeRules()};r.inherits(l,a),t.MarkdownHighlightRules=l}),ace.define("ace/mode/mask_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/css_highlight_rules","ace/mode/markdown_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";function r(){function e(e,t,n){r(d,"js-"+e+"-",t,"block"===e?["start"]:["start","no_regex"],n)}function r(e,t,n,r,o){var a="pop",i=r||["start"];0===i.length&&(i=null),/block|multiline/.test(t)&&(a=t+"end",s.$rules[a]=[l("empty","","start")]),s.embedRules(e,t,[l(o||v,n,a)],i,null==i)}this.$rules={start:[l("comment","\\/\\/.*$"),l("comment","\\/\\*",[l("comment",".*?\\*\\/","start"),l("comment",".+")]),w.string("'''"),w.string('"""'),w.string('"'),w.string("'"),w.syntax(/(markdown|md)\b/,"md-multiline","multiline"),w.syntax(/html\b/,"html-multiline","multiline"),w.syntax(/(slot|event)\b/,"js-block","block"),w.syntax(/style\b/,"css-block","block"),w.syntax(/var\b/,"js-statement","attr"),w.tag(),l(y,"[[({>]"),l(v,"[\\])};]","start"),{caseInsensitive:!0}]};var s=this;e("interpolation",/\]/,v+"."+b),e("statement",/\)|}|;/),e("block",/\}/),r(p,"css-block-",/\}/),r(m,"md-multiline-",/("""|''')/,[]),r(h,"html-multiline-",/("""|''')/),this.normalizeRules()}function l(e,t,n){var r,o,a;return 4===arguments.length?(r=n,o=arguments[3]):"string"==typeof n?o=n:r=n,"function"==typeof e&&(a=e,e="empty"),{token:e,regex:t,push:r,next:o,onMatch:a}}t.MaskHighlightRules=r;var o,a,i,s,u=e("../lib/oop"),g=e("../lib/lang"),c=e("./text_highlight_rules").TextHighlightRules,d=e("./javascript_highlight_rules").JavaScriptHighlightRules,p=e("./css_highlight_rules").CssHighlightRules,m=e("./markdown_highlight_rules").MarkdownHighlightRules,h=e("./html_highlight_rules").HtmlHighlightRules,x="constant.language",f="support.variable.class",k="keyword.operator",b="markup.italic",y="paren.lparen",v="paren.rparen";o=g.arrayToMap("log".split("|")),i=g.arrayToMap(":dualbind|:bind|:import|slot|event|style|html|markdown|md".split("|")),a=g.arrayToMap("debugger|define|var|if|each|for|of|else|switch|case|with|visible|+if|+each|+for|+switch|+with|+visible|include|import".split("|")),s=g.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),u.inherits(r,c);var w={string:function(e,t){var n=l("string.start",e,[l(y+"."+b,/~\[/,w.interpolation()),l("string.end",e,"pop"),{defaultToken:"string"}],t);if(1===e.length){var r=l("string.escape","\\\\"+e);n.push.unshift(r)}return n},interpolation:function(){return[l("keyword.control.markup.italic",/\s*\w*\s*:/),"js-interpolation-start"]},tagHead:function(e){return l(f,e,[l(f,/[\w\-_]+/),l(y+"."+b,/~\[/,w.interpolation()),w.goUp()])},tag:function(){return{token:"tag",onMatch:function(e){return void 0!==a[e]?"keyword":void 0!==i[e]?x:void 0!==o[e]?"support.function":void 0!==s[e.toLowerCase()]?"keyword.support.constant.language":"support.function.markup.bold"},regex:/([@\w\-_:+]+)|((^|\s)(?=\s*(\.|#)))/,push:[w.tagHead(/\./),w.tagHead(/#/),w.expression(),w.attribute(),l(y,/[;>{]/,"pop")]}},syntax:function(e,t,n){return{token:x,regex:e,push:{attr:[t+"-start",l(k,/;/,"start")],multiline:[w.tagHead(/\./),w.tagHead(/#/),w.attribute(),w.expression(),l(y,/[>\{]/),l(k,/;/,"start"),l(y,/'''|"""/,[t+"-start"])],block:[w.tagHead(/\./),w.tagHead(/#/),w.attribute(),w.expression(),l(y,/\{/,[t+"-start"])]}[n]}},attribute:function(){return l(function(e){return/^x\-/.test(e)?f+".markup.bold":f},/[\w_-]+/,[l(k,/\s*=\s*/,[w.string('"'),w.string("'"),w.word(),w.goUp()]),w.goUp()])},expression:function(){return l(y,/\(/,["js-statement-start"])},word:function(){return l("string",/[\w-_]+/)},goUp:function(){return l("text","","pop")},goStart:function(){return l("text","","start")}}}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),o=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),u=e("../../token_iterator").TokenIterator,a=function(){this.inherit(o),this.add("colon","insertion",function(e,t,n,r,o){if(":"===o&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=new u(r,a.row,a.column),s=i.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=i.stepBackward()),s&&"support.type"===s.type){var l=r.doc.getLine(a.row);if(":"===l.substring(a.column,a.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(l.substring(a.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,o){var a=r.doc.getTextRange(o);if(!o.isMultiLine()&&":"===a){var i=n.getCursorPosition(),s=new u(r,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type)if(";"===r.doc.getLine(o.start.row).substring(o.end.column,o.end.column+1))return o.end.column++,o}}),this.add("semicolon","insertion",function(e,t,n,r,o){if(";"===o&&n.selection.isEmpty()){var a=n.getCursorPosition();if(";"===r.doc.getLine(a.row).substring(a.column,a.column+1))return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,r,o){if("!"===o&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=r.doc.getLine(a.row);if(/^\s*(;|}|$)/.test(i.substring(a.column)))return{text:"!important",selection:[10,10]}}})};r.inherits(a,o),t.CssBehaviour=a}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),g=e("../../range").Range,o=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(o=a.match(this.foldingStartMarker)){var i=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,i);var s=e.getCommentFoldRange(n,i+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(o=a.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(l<r)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=o)break;if(u.isMultiLine())t=u.end.row;else if(r==l)break}i=t}}return new g(o,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<o;){t=e.getLine(n);var l=i.exec(t);if(l&&(l[1]?s--:s++,!s))break}if(a<n)return new g(a,r,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/mask",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mask_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,a=e("./mask_highlight_rules").MaskHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new s,this.foldingRules=new l};r.inherits(u,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e).tokens;return o.length&&"comment"==o[o.length-1].type||t.match(/^.*\{\s*$/)&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/mask"}.call(u.prototype),t.Mode=u}),ace.require(["ace/mode/mask"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-mysql.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/mysql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function i(e){var t=e.start,n=e.escape;return{token:"string.start",regex:t,next:[{token:"constant.language.escape",regex:n},{token:"string.end",next:"start",regex:t},{defaultToken:"string"}]}}var e="alter|and|as|asc|between|count|create|delete|desc|distinct|drop|from|having|in|insert|into|is|join|like|not|on|or|order|select|set|table|union|update|values|where|accessible|action|add|after|algorithm|all|analyze|asensitive|at|authors|auto_increment|autocommit|avg|avg_row_length|before|binary|binlog|both|btree|cache|call|cascade|cascaded|case|catalog_name|chain|change|changed|character|check|checkpoint|checksum|class_origin|client_statistics|close|coalesce|code|collate|collation|collations|column|columns|comment|commit|committed|completion|concurrent|condition|connection|consistent|constraint|contains|continue|contributors|convert|cross|current_date|current_time|current_timestamp|current_user|cursor|data|database|databases|day_hour|day_microsecond|day_minute|day_second|deallocate|dec|declare|default|delay_key_write|delayed|delimiter|des_key_file|describe|deterministic|dev_pop|dev_samp|deviance|directory|disable|discard|distinctrow|div|dual|dumpfile|each|elseif|enable|enclosed|end|ends|engine|engines|enum|errors|escape|escaped|even|event|events|every|execute|exists|exit|explain|extended|fast|fetch|field|fields|first|flush|for|force|foreign|found_rows|full|fulltext|function|general|global|grant|grants|group|groupby_concat|handler|hash|help|high_priority|hosts|hour_microsecond|hour_minute|hour_second|if|ignore|ignore_server_ids|import|index|index_statistics|infile|inner|innodb|inout|insensitive|insert_method|install|interval|invoker|isolation|iterate|key|keys|kill|language|last|leading|leave|left|level|limit|linear|lines|list|load|local|localtime|localtimestamp|lock|logs|low_priority|master|master_heartbeat_period|master_ssl_verify_server_cert|masters|match|max|max_rows|maxvalue|message_text|middleint|migrate|min|min_rows|minute_microsecond|minute_second|mod|mode|modifies|modify|mutex|mysql_errno|natural|next|no|no_write_to_binlog|offline|offset|one|online|open|optimize|option|optionally|out|outer|outfile|pack_keys|parser|partition|partitions|password|phase|plugin|plugins|prepare|preserve|prev|primary|privileges|procedure|processlist|profile|profiles|purge|query|quick|range|read|read_write|reads|real|rebuild|recover|references|regexp|relaylog|release|remove|rename|reorganize|repair|repeatable|replace|require|resignal|restrict|resume|return|returns|revoke|right|rlike|rollback|rollup|row|row_format|rtree|savepoint|schedule|schema|schema_name|schemas|second_microsecond|security|sensitive|separator|serializable|server|session|share|show|signal|slave|slow|smallint|snapshot|soname|spatial|specific|sql|sql_big_result|sql_buffer_result|sql_cache|sql_calc_found_rows|sql_no_cache|sql_small_result|sqlexception|sqlstate|sqlwarning|ssl|start|starting|starts|status|std|stddev|stddev_pop|stddev_samp|storage|straight_join|subclass_origin|sum|suspend|table_name|table_statistics|tables|tablespace|temporary|terminated|to|trailing|transaction|trigger|triggers|truncate|uncommitted|undo|uninstall|unique|unlock|upgrade|usage|use|use_frm|user|user_resources|user_statistics|using|utc_date|utc_time|utc_timestamp|value|variables|varying|view|views|warnings|when|while|with|work|write|xa|xor|year_month|zerofill|begin|do|then|else|loop|repeat",t="by|bool|boolean|bit|blob|decimal|double|enum|float|long|longblob|longtext|medium|mediumblob|mediumint|mediumtext|time|timestamp|tinyblob|tinyint|tinytext|text|bigint|int|int1|int2|int3|int4|int8|integer|float|float4|float8|double|char|varbinary|varchar|varcharacter|precision|date|datetime|year|unsigned|signed|numeric|ucase|lcase|mid|len|round|rank|now|format|coalesce|ifnull|isnull|nvl",n="charset|clear|connect|edit|ego|exit|go|help|nopager|notee|nowarning|pager|print|prompt|quit|rehash|source|status|system|tee",r=this.createKeywordMapper({"support.function":t,keyword:e,constant:"false|true|null|unknown|date|time|timestamp|ODBCdotTable|zerolessFloat","variable.language":n},"identifier",!0);this.$rules={start:[{token:"comment",regex:"(?:-- |#).*$"},i({start:'"',escape:/\\[0'"bnrtZ\\%_]?/}),i({start:"'",escape:/\\[0'"bnrtZ\\%_]?/}),s.getStartRule("doc-start"),{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant.numeric",regex:/0[xX][0-9a-fA-F]+|[xX]'[0-9a-fA-F]+'|0[bB][01]+|[bB]'[01]+'/},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.class",regex:"@@?[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"constant.buildin",regex:"`[^`]*`"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.MysqlHighlightRules=u}),ace.define("ace/mode/mysql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mysql_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../mode/text").Mode,s=e("./mysql_highlight_rules").MysqlHighlightRules,o=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(o,i),function(){this.lineCommentStart=["--","#"],this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/mysql"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/mysql"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-nix.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},i.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(i,o),i.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},i.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},i.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=i}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,a=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",l=function(){var e=this.$keywords=this.createKeywordMapper({"keyword.control":"break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using","storage.type":"asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t","storage.modifier":"const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local","keyword.operator":"and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|const_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace","variable.language":"this","constant.language":"NULL|true|false|TRUE|FALSE|nullptr"},"identifier"),t=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source,n="%"+/(\d+\$)?/.source+/[#0\- +']*/.source+/[,;:_]?/.source+/((-?\d+)|\*(-?\d+\$)?)?/.source+/(\.((-?\d+)|\*(-?\d+\$)?)?)?/.source+/(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?/.source+/(\[[^"\]]+\]|[diouxXDOUeEfFgGaACcSspn%])/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},o.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+t+"|.)?'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:t},{token:"constant.language.escape",regex:n},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:a},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(o,"doc-",[o.getEndRule("start")]),this.normalizeRules()};r.inherits(l,i),t.c_cppHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var a=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var i=this.$getIndent(e.getLine(o.row));e.replace(new a(t,0,t,r-1),i)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),g=e("../../range").Range,o=e("./fold_mode").FoldMode,i=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(i,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);if(o=i.match(this.foldingStartMarker)){var a=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,a);var l=e.getCommentFoldRange(n,a+o[0].length,1);return l&&!l.isMultiLine()&&(r?l=this.getSectionRange(e,n):"all"!=t&&(l=null)),l}if("markbegin"!==t&&(o=i.match(this.foldingStopMarker))){a=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,a):e.getCommentFoldRange(n,a,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,i=n.length,a=t+=1,l=e.getLength();++t<l;){var s=(n=e.getLine(t)).search(/\S/);if(-1!==s){if(s<r)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=o)break;if(c.isMultiLine())t=c.end.row;else if(r==s)break}a=t}}return new g(o,i,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),i=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,l=1;++n<o;){t=e.getLine(n);var s=a.exec(t);if(s&&(s[1]?l--:l++,!l))break}if(i<n)return new g(i,r,n,t.length)}}.call(i.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,i=e("./c_cpp_highlight_rules").c_cppHighlightRules,a=e("./matching_brace_outdent").MatchingBraceOutdent,l=(e("../range").Range,e("./behaviour/cstyle").CstyleBehaviour),s=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=i,this.$outdent=new a,this.$behaviour=new l,this.foldingRules=new s};r.inherits(c,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e),i=o.tokens,a=o.state;if(i.length&&"comment"==i[i.length-1].type)return r;if("start"==e)(l=t.match(/^.*[\{\(\[]\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==a)return"";var l;(l=t.match(/^\s*(\/?)\*/))&&(l[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/nix_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,i=function(){var e=this.createKeywordMapper({"constant.language.nix":"true|false","keyword.control.nix":"with|import|if|else|then|inherit","keyword.declaration.nix":"let|in|rec"},"identifier");this.$rules={start:[{token:"comment",regex:/#.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"(==|!=|<=?|>=?)",token:["keyword.operator.comparison.nix"]},{regex:"((?:[+*/%-]|\\~)=)",token:["keyword.operator.assignment.arithmetic.nix"]},{regex:"=",token:"keyword.operator.assignment.nix"},{token:"string",regex:"''",next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',push:"qqstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{regex:"}",token:function(e,t,n){return n[1]&&"q"==n[1].charAt(0)?"constant.language.escape":"text"},next:"pop"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqdoc:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"''",next:"pop"},{defaultToken:"string"}],qqstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:'"',next:"pop"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:/\$\{/,push:"start"},{token:"string",regex:"'",next:"pop"},{defaultToken:"string"}]},this.normalizeRules()};r.inherits(i,o),t.NixHighlightRules=i}),ace.define("ace/mode/nix",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/nix_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./c_cpp").Mode,i=e("./nix_highlight_rules").NixHighlightRules,a=e("./folding/cstyle").FoldMode,l=function(){o.call(this),this.HighlightRules=i,this.foldingRules=new a,this.$behaviour=this.$defaultBehaviour};r.inherits(l,o),function(){this.lineCommentStart="#",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/nix"}.call(l.prototype),t.Mode=l}),ace.require(["ace/mode/nix"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-ocaml.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/ocaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(t,e,_){"use strict";var n=t("../lib/oop"),i=t("./text_highlight_rules").TextHighlightRules,r=function(){var t=this.createKeywordMapper({"variable.language":"this",keyword:"and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|object|of|open|or|private|rec|sig|struct|then|to|try|type|val|virtual|when|while|with","constant.language":"true|false","support.function":"abs|abs_big_int|abs_float|abs_num|abstract_tag|accept|access|acos|add|add_available_units|add_big_int|add_buffer|add_channel|add_char|add_initializer|add_int_big_int|add_interfaces|add_num|add_string|add_substitute|add_substring|alarm|allocated_bytes|allow_only|allow_unsafe_modules|always|append|appname_get|appname_set|approx_num_exp|approx_num_fix|arg|argv|arith_status|array|array1_of_genarray|array2_of_genarray|array3_of_genarray|asin|asr|assoc|assq|at_exit|atan|atan2|auto_synchronize|background|basename|beginning_of_input|big_int_of_int|big_int_of_num|big_int_of_string|bind|bind_class|bind_tag|bits|bits_of_float|black|blit|blit_image|blue|bool|bool_of_string|bounded_full_split|bounded_split|bounded_split_delim|bprintf|break|broadcast|bscanf|button_down|c_layout|capitalize|cardinal|cardinal|catch|catch_break|ceil|ceiling_num|channel|char|char_of_int|chdir|check|check_suffix|chmod|choose|chop_extension|chop_suffix|chown|chown|chr|chroot|classify_float|clear|clear_available_units|clear_close_on_exec|clear_graph|clear_nonblock|clear_parser|close|close|closeTk|close_box|close_graph|close_in|close_in_noerr|close_out|close_out_noerr|close_process|close_process|close_process_full|close_process_in|close_process_out|close_subwindow|close_tag|close_tbox|closedir|closedir|closure_tag|code|combine|combine|combine|command|compact|compare|compare_big_int|compare_num|complex32|complex64|concat|conj|connect|contains|contains_from|contents|copy|cos|cosh|count|count|counters|create|create_alarm|create_image|create_matrix|create_matrix|create_matrix|create_object|create_object_and_run_initializers|create_object_opt|create_process|create_process|create_process_env|create_process_env|create_table|current|current_dir_name|current_point|current_x|current_y|curveto|custom_tag|cyan|data_size|decr|decr_num|default_available_units|delay|delete_alarm|descr_of_in_channel|descr_of_out_channel|destroy|diff|dim|dim1|dim2|dim3|dims|dirname|display_mode|div|div_big_int|div_num|double_array_tag|double_tag|draw_arc|draw_char|draw_circle|draw_ellipse|draw_image|draw_poly|draw_poly_line|draw_rect|draw_segments|draw_string|dummy_pos|dummy_table|dump_image|dup|dup2|elements|empty|end_of_input|environment|eprintf|epsilon_float|eq_big_int|eq_num|equal|err_formatter|error_message|escaped|establish_server|executable_name|execv|execve|execvp|execvpe|exists|exists2|exit|exp|failwith|fast_sort|fchmod|fchown|field|file|file_exists|fill|fill_arc|fill_circle|fill_ellipse|fill_poly|fill_rect|filter|final_tag|finalise|find|find_all|first_chars|firstkey|flatten|float|float32|float64|float_of_big_int|float_of_bits|float_of_int|float_of_num|float_of_string|floor|floor_num|flush|flush_all|flush_input|flush_str_formatter|fold|fold_left|fold_left2|fold_right|fold_right2|for_all|for_all2|force|force_newline|force_val|foreground|fork|format_of_string|formatter_of_buffer|formatter_of_out_channel|fortran_layout|forward_tag|fprintf|frexp|from|from_channel|from_file|from_file_bin|from_function|from_string|fscanf|fst|fstat|ftruncate|full_init|full_major|full_split|gcd_big_int|ge_big_int|ge_num|genarray_of_array1|genarray_of_array2|genarray_of_array3|get|get_all_formatter_output_functions|get_approx_printing|get_copy|get_ellipsis_text|get_error_when_null_denominator|get_floating_precision|get_formatter_output_functions|get_formatter_tag_functions|get_image|get_margin|get_mark_tags|get_max_boxes|get_max_indent|get_method|get_method_label|get_normalize_ratio|get_normalize_ratio_when_printing|get_print_tags|get_state|get_variable|getcwd|getegid|getegid|getenv|getenv|getenv|geteuid|geteuid|getgid|getgid|getgrgid|getgrgid|getgrnam|getgrnam|getgroups|gethostbyaddr|gethostbyname|gethostname|getitimer|getlogin|getpeername|getpid|getppid|getprotobyname|getprotobynumber|getpwnam|getpwuid|getservbyname|getservbyport|getsockname|getsockopt|getsockopt_float|getsockopt_int|getsockopt_optint|gettimeofday|getuid|global_replace|global_substitute|gmtime|green|grid|group_beginning|group_end|gt_big_int|gt_num|guard|handle_unix_error|hash|hash_param|hd|header_size|i|id|ignore|in_channel_length|in_channel_of_descr|incr|incr_num|index|index_from|inet_addr_any|inet_addr_of_string|infinity|infix_tag|init|init_class|input|input_binary_int|input_byte|input_char|input_line|input_value|int|int16_signed|int16_unsigned|int32|int64|int8_signed|int8_unsigned|int_of_big_int|int_of_char|int_of_float|int_of_num|int_of_string|integer_num|inter|interactive|inv|invalid_arg|is_block|is_empty|is_implicit|is_int|is_int_big_int|is_integer_num|is_relative|iter|iter2|iteri|join|junk|key_pressed|kill|kind|kprintf|kscanf|land|last_chars|layout|lazy_from_fun|lazy_from_val|lazy_is_val|lazy_tag|ldexp|le_big_int|le_num|length|lexeme|lexeme_char|lexeme_end|lexeme_end_p|lexeme_start|lexeme_start_p|lineto|link|list|listen|lnot|loadfile|loadfile_private|localtime|lock|lockf|log|log10|logand|lognot|logor|logxor|lor|lower_window|lowercase|lseek|lsl|lsr|lstat|lt_big_int|lt_num|lxor|magenta|magic|mainLoop|major|major_slice|make|make_formatter|make_image|make_lexer|make_matrix|make_self_init|map|map2|map_file|mapi|marshal|match_beginning|match_end|matched_group|matched_string|max|max_array_length|max_big_int|max_elt|max_float|max_int|max_num|max_string_length|mem|mem_assoc|mem_assq|memq|merge|min|min_big_int|min_elt|min_float|min_int|min_num|minor|minus_big_int|minus_num|minus_one|mkdir|mkfifo|mktime|mod|mod_big_int|mod_float|mod_num|modf|mouse_pos|moveto|mul|mult_big_int|mult_int_big_int|mult_num|nan|narrow|nat_of_num|nativeint|neg|neg_infinity|new_block|new_channel|new_method|new_variable|next|nextkey|nice|nice|no_scan_tag|norm|norm2|not|npeek|nth|nth_dim|num_digits_big_int|num_dims|num_of_big_int|num_of_int|num_of_nat|num_of_ratio|num_of_string|O|obj|object_tag|ocaml_version|of_array|of_channel|of_float|of_int|of_int32|of_list|of_nativeint|of_string|one|openTk|open_box|open_connection|open_graph|open_hbox|open_hovbox|open_hvbox|open_in|open_in_bin|open_in_gen|open_out|open_out_bin|open_out_gen|open_process|open_process_full|open_process_in|open_process_out|open_subwindow|open_tag|open_tbox|open_temp_file|open_vbox|opendbm|opendir|openfile|or|os_type|out_channel_length|out_channel_of_descr|output|output_binary_int|output_buffer|output_byte|output_char|output_string|output_value|over_max_boxes|pack|params|parent_dir_name|parse|parse_argv|partition|pause|peek|pipe|pixels|place|plot|plots|point_color|polar|poll|pop|pos_in|pos_out|pow|power_big_int_positive_big_int|power_big_int_positive_int|power_int_positive_big_int|power_int_positive_int|power_num|pp_close_box|pp_close_tag|pp_close_tbox|pp_force_newline|pp_get_all_formatter_output_functions|pp_get_ellipsis_text|pp_get_formatter_output_functions|pp_get_formatter_tag_functions|pp_get_margin|pp_get_mark_tags|pp_get_max_boxes|pp_get_max_indent|pp_get_print_tags|pp_open_box|pp_open_hbox|pp_open_hovbox|pp_open_hvbox|pp_open_tag|pp_open_tbox|pp_open_vbox|pp_over_max_boxes|pp_print_as|pp_print_bool|pp_print_break|pp_print_char|pp_print_cut|pp_print_float|pp_print_flush|pp_print_if_newline|pp_print_int|pp_print_newline|pp_print_space|pp_print_string|pp_print_tab|pp_print_tbreak|pp_set_all_formatter_output_functions|pp_set_ellipsis_text|pp_set_formatter_out_channel|pp_set_formatter_output_functions|pp_set_formatter_tag_functions|pp_set_margin|pp_set_mark_tags|pp_set_max_boxes|pp_set_max_indent|pp_set_print_tags|pp_set_tab|pp_set_tags|pred|pred_big_int|pred_num|prerr_char|prerr_endline|prerr_float|prerr_int|prerr_newline|prerr_string|print|print_as|print_bool|print_break|print_char|print_cut|print_endline|print_float|print_flush|print_if_newline|print_int|print_newline|print_space|print_stat|print_string|print_tab|print_tbreak|printf|prohibit|public_method_label|push|putenv|quo_num|quomod_big_int|quote|raise|raise_window|ratio_of_num|rcontains_from|read|read_float|read_int|read_key|read_line|readdir|readdir|readlink|really_input|receive|recv|recvfrom|red|ref|regexp|regexp_case_fold|regexp_string|regexp_string_case_fold|register|register_exception|rem|remember_mode|remove|remove_assoc|remove_assq|rename|replace|replace_first|replace_matched|repr|reset|reshape|reshape_1|reshape_2|reshape_3|rev|rev_append|rev_map|rev_map2|rewinddir|rgb|rhs_end|rhs_end_pos|rhs_start|rhs_start_pos|rindex|rindex_from|rlineto|rmdir|rmoveto|round_num|run_initializers|run_initializers_opt|scanf|search_backward|search_forward|seek_in|seek_out|select|self|self_init|send|sendto|set|set_all_formatter_output_functions|set_approx_printing|set_binary_mode_in|set_binary_mode_out|set_close_on_exec|set_close_on_exec|set_color|set_ellipsis_text|set_error_when_null_denominator|set_field|set_floating_precision|set_font|set_formatter_out_channel|set_formatter_output_functions|set_formatter_tag_functions|set_line_width|set_margin|set_mark_tags|set_max_boxes|set_max_indent|set_method|set_nonblock|set_nonblock|set_normalize_ratio|set_normalize_ratio_when_printing|set_print_tags|set_signal|set_state|set_tab|set_tag|set_tags|set_text_size|set_window_title|setgid|setgid|setitimer|setitimer|setsid|setsid|setsockopt|setsockopt|setsockopt_float|setsockopt_float|setsockopt_int|setsockopt_int|setsockopt_optint|setsockopt_optint|setuid|setuid|shift_left|shift_left|shift_left|shift_right|shift_right|shift_right|shift_right_logical|shift_right_logical|shift_right_logical|show_buckets|shutdown|shutdown|shutdown_connection|shutdown_connection|sigabrt|sigalrm|sigchld|sigcont|sigfpe|sighup|sigill|sigint|sigkill|sign_big_int|sign_num|signal|signal|sigpending|sigpending|sigpipe|sigprocmask|sigprocmask|sigprof|sigquit|sigsegv|sigstop|sigsuspend|sigsuspend|sigterm|sigtstp|sigttin|sigttou|sigusr1|sigusr2|sigvtalrm|sin|singleton|sinh|size|size|size_x|size_y|sleep|sleep|sleep|slice_left|slice_left|slice_left_1|slice_left_2|slice_right|slice_right|slice_right_1|slice_right_2|snd|socket|socket|socket|socketpair|socketpair|sort|sound|split|split_delim|sprintf|sprintf|sqrt|sqrt|sqrt_big_int|square_big_int|square_num|sscanf|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|stat|stat|stat|stat|stat|stats|stats|std_formatter|stdbuf|stderr|stderr|stderr|stdib|stdin|stdin|stdin|stdout|stdout|stdout|str_formatter|string|string_after|string_before|string_match|string_of_big_int|string_of_bool|string_of_float|string_of_format|string_of_inet_addr|string_of_inet_addr|string_of_int|string_of_num|string_partial_match|string_tag|sub|sub|sub_big_int|sub_left|sub_num|sub_right|subset|subset|substitute_first|substring|succ|succ|succ|succ|succ_big_int|succ_num|symbol_end|symbol_end_pos|symbol_start|symbol_start_pos|symlink|symlink|sync|synchronize|system|system|system|tag|take|tan|tanh|tcdrain|tcdrain|tcflow|tcflow|tcflush|tcflush|tcgetattr|tcgetattr|tcsendbreak|tcsendbreak|tcsetattr|tcsetattr|temp_file|text_size|time|time|time|timed_read|timed_write|times|times|tl|tl|tl|to_buffer|to_channel|to_float|to_hex|to_int|to_int32|to_list|to_list|to_list|to_nativeint|to_string|to_string|to_string|to_string|to_string|top|top|total_size|transfer|transp|truncate|truncate|truncate|truncate|truncate|truncate|try_lock|umask|umask|uncapitalize|uncapitalize|uncapitalize|union|union|unit_big_int|unlink|unlink|unlock|unmarshal|unsafe_blit|unsafe_fill|unsafe_get|unsafe_get|unsafe_set|unsafe_set|update|uppercase|uppercase|uppercase|uppercase|usage|utimes|utimes|wait|wait|wait|wait|wait_next_event|wait_pid|wait_read|wait_signal|wait_timed_read|wait_timed_write|wait_write|waitpid|white|widen|window_id|word_size|wrap|wrap_abort|write|yellow|yield|zero|zero_big_int|Arg|Arith_status|Array|Array1|Array2|Array3|ArrayLabels|Big_int|Bigarray|Buffer|Callback|CamlinternalOO|Char|Complex|Condition|Dbm|Digest|Dynlink|Event|Filename|Format|Gc|Genarray|Genlex|Graphics|GraphicsX11|Hashtbl|Int32|Int64|LargeFile|Lazy|Lexing|List|ListLabels|Make|Map|Marshal|MoreLabels|Mutex|Nativeint|Num|Obj|Oo|Parsing|Pervasives|Printexc|Printf|Queue|Random|Scanf|Scanning|Set|Sort|Stack|State|StdLabels|Str|Stream|String|StringLabels|Sys|Thread|ThreadUnix|Tk|Unix|UnixLabels|Weak"},"identifier"),e="(?:\\d+)",_="(?:(?:"+e+"?(?:\\.\\d+))|(?:"+e+"\\.))",n="(?:(?:(?:(?:(?:(?:\\d+)?(?:\\.\\d+))|(?:(?:\\d+)\\.))|(?:\\d+))(?:[eE][+-]?\\d+))|"+_+")";this.$rules={start:[{token:"comment",regex:"\\(\\*.*?\\*\\)\\s*?$"},{token:"comment",regex:"\\(\\*.*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"'.'"},{token:"string",regex:'"',next:"qstring"},{token:"constant.numeric",regex:"(?:"+n+"|\\d+)[jJ]\\b"},{token:"constant.numeric",regex:n},{token:"constant.numeric",regex:"(?:(?:(?:[1-9]\\d*)|(?:0))|(?:0[oO]?[0-7]+)|(?:0[xX][\\dA-Fa-f]+)|(?:0[bB][01]+))\\b"},{token:t,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\)",next:"start"},{defaultToken:"comment"}],qstring:[{token:"string",regex:'"',next:"start"},{token:"string",regex:".+"}]}};n.inherits(r,i),e.OcamlHighlightRules=r}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(t,e,_){"use strict";var o=t("../range").Range,n=function(){};(function(){this.checkOutdent=function(t,e){return!!/^\s+$/.test(t)&&/^\s*\}/.test(e)},this.autoOutdent=function(t,e){var _=t.getLine(e).match(/^(\s*\})/);if(!_)return 0;var n=_[1].length,i=t.findMatchingBracket({row:e,column:n});if(!i||i.row==e)return 0;var r=this.$getIndent(t.getLine(i.row));t.replace(new o(e,0,e,n-1),r)},this.$getIndent=function(t){return t.match(/^\s*/)[0]}}).call(n.prototype),e.MatchingBraceOutdent=n}),ace.define("ace/mode/ocaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ocaml_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(t,e,_){"use strict";var n=t("../lib/oop"),i=t("./text").Mode,r=t("./ocaml_highlight_rules").OcamlHighlightRules,o=t("./matching_brace_outdent").MatchingBraceOutdent,l=t("../range").Range,a=function(){this.HighlightRules=r,this.$behaviour=this.$defaultBehaviour,this.$outdent=new o};n.inherits(a,i);var s=/(?:[({[=:]|[-=]>|\b(?:else|try|with))\s*$/;(function(){this.toggleCommentLines=function(t,e,_,n){var i,r,o=!0,a=/^\s*\(\*(.*)\*\)/;for(i=_;i<=n;i++)if(!a.test(e.getLine(i))){o=!1;break}var s=new l(0,0,0,0);for(i=_;i<=n;i++)r=e.getLine(i),s.start.row=i,s.end.row=i,s.end.column=r.length,e.replace(s,o?r.match(a)[1]:"(*"+r+"*)")},this.getNextLineIndent=function(t,e,_){var n=this.$getIndent(e),i=this.getTokenizer().getLineTokens(e,t).tokens;return(!i.length||"comment"!==i[i.length-1].type)&&"start"===t&&s.test(e)&&(n+=_),n},this.checkOutdent=function(t,e,_){return this.$outdent.checkOutdent(e,_)},this.autoOutdent=function(t,e,_){this.$outdent.autoOutdent(e,_)},this.$id="ace/mode/ocaml"}).call(a.prototype),e.Mode=a}),ace.require(["ace/mode/ocaml"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-pascal.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{caseInsensitive:!0,token:"keyword.control.pascal",regex:"\\b(?:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\\b"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.prototype.pascal","entity.name.function.prototype.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.function.pascal","entity.name.function.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?"},{token:"constant.numeric.pascal",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"punctuation.definition.comment.pascal",regex:"--.*$",push_:[{token:"comment.line.double-dash.pascal.one",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"//.*$",push_:[{token:"comment.line.double-slash.pascal.two",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.pascal.two"}]},{token:"punctuation.definition.comment.pascal",regex:"\\(\\*",push:[{token:"punctuation.definition.comment.pascal",regex:"\\*\\)",next:"pop"},{defaultToken:"comment.block.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"\\{",push:[{token:"punctuation.definition.comment.pascal",regex:"\\}",next:"pop"},{defaultToken:"comment.block.pascal.two"}]},{token:"punctuation.definition.string.begin.pascal",regex:'"',push:[{token:"constant.character.escape.pascal",regex:"\\\\."},{token:"punctuation.definition.string.end.pascal",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.pascal"}]},{token:"punctuation.definition.string.begin.pascal",regex:"'",push:[{token:"constant.character.escape.apostrophe.pascal",regex:"''"},{token:"punctuation.definition.string.end.pascal",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.pascal"}]},{token:"keyword.operator",regex:"[+\\-;,/*%]|:=|="}]},this.normalizeRules()};r.inherits(s,i),t.PascalHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./pascal_highlight_rules").PascalHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart=["--","//"],this.blockComment=[{start:"(*",end:"*)"},{start:"{",end:"}"}],this.$id="ace/mode/pascal"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/pascal"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-pascal.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,o){"use strict";var n=e("../lib/oop"),a=e("./text_highlight_rules").TextHighlightRules,i=function(){this.$rules={start:[{caseInsensitive:!0,token:"keyword.control.pascal",regex:"\\b(?:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\\b"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.prototype.pascal","entity.name.function.prototype.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))"},{caseInsensitive:!0,token:["variable.pascal","text","storage.type.function.pascal","entity.name.function.pascal"],regex:"\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?"},{token:"constant.numeric.pascal",regex:"\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"punctuation.definition.comment.pascal",regex:"--.*$",push_:[{token:"comment.line.double-dash.pascal.one",regex:"$",next:"pop"},{defaultToken:"comment.line.double-dash.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"//.*$",push_:[{token:"comment.line.double-slash.pascal.two",regex:"$",next:"pop"},{defaultToken:"comment.line.double-slash.pascal.two"}]},{token:"punctuation.definition.comment.pascal",regex:"\\(\\*",push:[{token:"punctuation.definition.comment.pascal",regex:"\\*\\)",next:"pop"},{defaultToken:"comment.block.pascal.one"}]},{token:"punctuation.definition.comment.pascal",regex:"\\{",push:[{token:"punctuation.definition.comment.pascal",regex:"\\}",next:"pop"},{defaultToken:"comment.block.pascal.two"}]},{token:"punctuation.definition.string.begin.pascal",regex:'"',push:[{token:"constant.character.escape.pascal",regex:"\\\\."},{token:"punctuation.definition.string.end.pascal",regex:'"',next:"pop"},{defaultToken:"string.quoted.double.pascal"}]},{token:"punctuation.definition.string.begin.pascal",regex:"'",push:[{token:"constant.character.escape.apostrophe.pascal",regex:"''"},{token:"punctuation.definition.string.end.pascal",regex:"'",next:"pop"},{defaultToken:"string.quoted.single.pascal"}]},{token:"keyword.operator",regex:"[+\\-;,/*%]|:=|="}]},this.normalizeRules()};n.inherits(i,a),t.PascalHighlightRules=i}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,o){"use strict";var n=e("../../lib/oop"),a=e("./fold_mode").FoldMode,g=e("../../range").Range,i=t.FoldMode=function(){};n.inherits(i,a),function(){this.getFoldWidgetRange=function(e,t,o){var n=this.indentationBlock(e,o);if(n)return n;var a=/\S/,i=e.getLine(o),r=i.search(a);if(-1!=r&&"#"==i[r]){for(var s=i.length,l=e.getLength(),c=o,p=o;++o<l;){var u=(i=e.getLine(o)).search(a);if(-1!=u){if("#"!=i[u])break;p=o}}if(c<p){var d=e.getLine(p).length;return new g(c,s,p,d)}}},this.getFoldWidget=function(e,t,o){var n=e.getLine(o),a=n.search(/\S/),i=e.getLine(o+1),r=e.getLine(o-1),s=r.search(/\S/),l=i.search(/\S/);if(-1==a)return e.foldWidgets[o-1]=-1!=s&&s<l?"start":"","";if(-1==s){if(a==l&&"#"==n[a]&&"#"==i[a])return e.foldWidgets[o-1]="",e.foldWidgets[o+1]="","start"}else if(s==a&&"#"==n[a]&&"#"==r[a]&&-1==e.getLine(o-2).search(/\S/))return e.foldWidgets[o-1]="start",e.foldWidgets[o+1]="";return e.foldWidgets[o-1]=-1!=s&&s<a?"start":"",a<l?"start":""}}.call(i.prototype)}),ace.define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"],function(e,t,o){"use strict";var n=e("../lib/oop"),a=e("./text").Mode,i=e("./pascal_highlight_rules").PascalHighlightRules,r=e("./folding/coffee").FoldMode,s=function(){this.HighlightRules=i,this.foldingRules=new r,this.$behaviour=this.$defaultBehaviour};n.inherits(s,a),function(){this.lineCommentStart=["--","//"],this.blockComment=[{start:"(*",end:"*)"},{start:"{",end:"}"}],this.$id="ace/mode/pascal"}.call(s.prototype),t.Mode=s}),ace.require(["ace/mode/pascal"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-powershell.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/powershell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="begin|break|catch|continue|data|do|dynamicparam|else|elseif|end|exit|filter|finally|for|foreach|from|function|if|in|inlinescript|hidden|parallel|param|process|return|sequence|switch|throw|trap|try|until|while|workflow",t="Get-AppBackgroundTask|Start-AppBackgroundTask|Unregister-AppBackgroundTask|Disable-AppBackgroundTaskDiagnosticLog|Enable-AppBackgroundTaskDiagnosticLog|Set-AppBackgroundTaskResourcePolicy|Get-AppLockerFileInformation|Get-AppLockerPolicy|New-AppLockerPolicy|Set-AppLockerPolicy|Test-AppLockerPolicy|Get-AppxLastError|Get-AppxLog|Add-AppxPackage|Add-AppxVolume|Dismount-AppxVolume|Get-AppxDefaultVolume|Get-AppxPackage|Get-AppxPackageManifest|Get-AppxVolume|Mount-AppxVolume|Move-AppxPackage|Remove-AppxPackage|Remove-AppxVolume|Set-AppxDefaultVolume|Clear-AssignedAccess|Get-AssignedAccess|Set-AssignedAccess|Add-BitLockerKeyProtector|Backup-BitLockerKeyProtector|Clear-BitLockerAutoUnlock|Disable-BitLocker|Disable-BitLockerAutoUnlock|Enable-BitLocker|Enable-BitLockerAutoUnlock|Get-BitLockerVolume|Lock-BitLocker|Remove-BitLockerKeyProtector|Resume-BitLocker|Suspend-BitLocker|Unlock-BitLocker|Add-BitsFile|Complete-BitsTransfer|Get-BitsTransfer|Remove-BitsTransfer|Resume-BitsTransfer|Set-BitsTransfer|Start-BitsTransfer|Suspend-BitsTransfer|Add-BCDataCacheExtension|Clear-BCCache|Disable-BC|Disable-BCDowngrading|Disable-BCServeOnBattery|Enable-BCDistributed|Enable-BCDowngrading|Enable-BCHostedClient|Enable-BCHostedServer|Enable-BCLocal|Enable-BCServeOnBattery|Export-BCCachePackage|Export-BCSecretKey|Get-BCClientConfiguration|Get-BCContentServerConfiguration|Get-BCDataCache|Get-BCDataCacheExtension|Get-BCHashCache|Get-BCHostedCacheServerConfiguration|Get-BCNetworkConfiguration|Get-BCStatus|Import-BCCachePackage|Import-BCSecretKey|Publish-BCFileContent|Publish-BCWebContent|Remove-BCDataCacheExtension|Reset-BC|Set-BCAuthentication|Set-BCCache|Set-BCDataCacheEntryMaxAge|Set-BCMinSMBLatency|Set-BCSecretKey|Export-BinaryMiLog|Get-CimAssociatedInstance|Get-CimClass|Get-CimInstance|Get-CimSession|Import-BinaryMiLog|Invoke-CimMethod|New-CimInstance|New-CimSession|New-CimSessionOption|Register-CimIndicationEvent|Remove-CimInstance|Remove-CimSession|Set-CimInstance|ConvertFrom-CIPolicy|Add-SignerRule|Edit-CIPolicyRule|Get-CIPolicy|Get-CIPolicyInfo|Get-SystemDriver|Merge-CIPolicy|New-CIPolicy|New-CIPolicyRule|Remove-CIPolicyRule|Set-CIPolicyVersion|Set-HVCIOptions|Set-RuleOption|Add-MpPreference|Get-MpComputerStatus|Get-MpPreference|Get-MpThreat|Get-MpThreatCatalog|Get-MpThreatDetection|Remove-MpPreference|Remove-MpThreat|Set-MpPreference|Start-MpScan|Start-MpWDOScan|Update-MpSignature|Disable-DAManualEntryPointSelection|Enable-DAManualEntryPointSelection|Get-DAClientExperienceConfiguration|Get-DAEntryPointTableItem|New-DAEntryPointTableItem|Remove-DAEntryPointTableItem|Rename-DAEntryPointTableItem|Reset-DAClientExperienceConfiguration|Reset-DAEntryPointTableItem|Set-DAClientExperienceConfiguration|Set-DAEntryPointTableItem|Add-ProvisionedAppxPackage|Apply-WindowsUnattend|Get-ProvisionedAppxPackage|Remove-ProvisionedAppxPackage|Add-AppxProvisionedPackage|Add-WindowsCapability|Add-WindowsDriver|Add-WindowsImage|Add-WindowsPackage|Clear-WindowsCorruptMountPoint|Disable-WindowsOptionalFeature|Dismount-WindowsImage|Enable-WindowsOptionalFeature|Expand-WindowsCustomDataImage|Expand-WindowsImage|Export-WindowsDriver|Export-WindowsImage|Get-AppxProvisionedPackage|Get-WIMBootEntry|Get-WindowsCapability|Get-WindowsDriver|Get-WindowsEdition|Get-WindowsImage|Get-WindowsImageContent|Get-WindowsOptionalFeature|Get-WindowsPackage|Mount-WindowsImage|New-WindowsCustomImage|New-WindowsImage|Optimize-WindowsImage|Remove-AppxProvisionedPackage|Remove-WindowsCapability|Remove-WindowsDriver|Remove-WindowsImage|Remove-WindowsPackage|Repair-WindowsImage|Save-WindowsImage|Set-AppXProvisionedDataFile|Set-WindowsEdition|Set-WindowsProductKey|Split-WindowsImage|Update-WIMBootEntry|Use-WindowsUnattend|Add-DnsClientNrptRule|Clear-DnsClientCache|Get-DnsClient|Get-DnsClientCache|Get-DnsClientGlobalSetting|Get-DnsClientNrptGlobal|Get-DnsClientNrptPolicy|Get-DnsClientNrptRule|Get-DnsClientServerAddress|Register-DnsClient|Remove-DnsClientNrptRule|Set-DnsClient|Set-DnsClientGlobalSetting|Set-DnsClientNrptGlobal|Set-DnsClientNrptRule|Set-DnsClientServerAddress|Resolve-DnsName|Add-EtwTraceProvider|Get-AutologgerConfig|Get-EtwTraceProvider|Get-EtwTraceSession|New-AutologgerConfig|New-EtwTraceSession|Remove-AutologgerConfig|Remove-EtwTraceProvider|Remove-EtwTraceSession|Send-EtwTraceSession|Set-AutologgerConfig|Set-EtwTraceProvider|Set-EtwTraceSession|Get-WinAcceptLanguageFromLanguageListOptOut|Get-WinCultureFromLanguageListOptOut|Get-WinDefaultInputMethodOverride|Get-WinHomeLocation|Get-WinLanguageBarOption|Get-WinSystemLocale|Get-WinUILanguageOverride|Get-WinUserLanguageList|New-WinUserLanguageList|Set-Culture|Set-WinAcceptLanguageFromLanguageListOptOut|Set-WinCultureFromLanguageListOptOut|Set-WinDefaultInputMethodOverride|Set-WinHomeLocation|Set-WinLanguageBarOption|Set-WinSystemLocale|Set-WinUILanguageOverride|Set-WinUserLanguageList|Connect-IscsiTarget|Disconnect-IscsiTarget|Get-IscsiConnection|Get-IscsiSession|Get-IscsiTarget|Get-IscsiTargetPortal|New-IscsiTargetPortal|Register-IscsiSession|Remove-IscsiTargetPortal|Set-IscsiChapSecret|Unregister-IscsiSession|Update-IscsiTarget|Update-IscsiTargetPortal|Get-IseSnippet|Import-IseSnippet|New-IseSnippet|Add-KdsRootKey|Clear-KdsCache|Get-KdsConfiguration|Get-KdsRootKey|Set-KdsConfiguration|Test-KdsRootKey|Compress-Archive|Expand-Archive|Export-Counter|Get-Counter|Get-WinEvent|Import-Counter|New-WinEvent|Start-Transcript|Stop-Transcript|Add-Computer|Add-Content|Checkpoint-Computer|Clear-Content|Clear-EventLog|Clear-Item|Clear-ItemProperty|Clear-RecycleBin|Complete-Transaction|Convert-Path|Copy-Item|Copy-ItemProperty|Debug-Process|Disable-ComputerRestore|Enable-ComputerRestore|Get-ChildItem|Get-Clipboard|Get-ComputerRestorePoint|Get-Content|Get-ControlPanelItem|Get-EventLog|Get-HotFix|Get-Item|Get-ItemProperty|Get-ItemPropertyValue|Get-Location|Get-Process|Get-PSDrive|Get-PSProvider|Get-Service|Get-Transaction|Get-WmiObject|Invoke-Item|Invoke-WmiMethod|Join-Path|Limit-EventLog|Move-Item|Move-ItemProperty|New-EventLog|New-Item|New-ItemProperty|New-PSDrive|New-Service|New-WebServiceProxy|Pop-Location|Push-Location|Register-WmiEvent|Remove-Computer|Remove-EventLog|Remove-Item|Remove-ItemProperty|Remove-PSDrive|Remove-WmiObject|Rename-Computer|Rename-Item|Rename-ItemProperty|Reset-ComputerMachinePassword|Resolve-Path|Restart-Computer|Restart-Service|Restore-Computer|Resume-Service|Set-Clipboard|Set-Content|Set-Item|Set-ItemProperty|Set-Location|Set-Service|Set-WmiInstance|Show-ControlPanelItem|Show-EventLog|Split-Path|Start-Process|Start-Service|Start-Transaction|Stop-Computer|Stop-Process|Stop-Service|Suspend-Service|Test-ComputerSecureChannel|Test-Connection|Test-Path|Undo-Transaction|Use-Transaction|Wait-Process|Write-EventLog|Export-ODataEndpointProxy|ConvertFrom-SecureString|ConvertTo-SecureString|Get-Acl|Get-AuthenticodeSignature|Get-CmsMessage|Get-Credential|Get-ExecutionPolicy|Get-PfxCertificate|Protect-CmsMessage|Set-Acl|Set-AuthenticodeSignature|Set-ExecutionPolicy|Unprotect-CmsMessage|ConvertFrom-SddlString|Format-Hex|Get-FileHash|Import-PowerShellDataFile|New-Guid|New-TemporaryFile|Add-Member|Add-Type|Clear-Variable|Compare-Object|ConvertFrom-Csv|ConvertFrom-Json|ConvertFrom-String|ConvertFrom-StringData|Convert-String|ConvertTo-Csv|ConvertTo-Html|ConvertTo-Json|ConvertTo-Xml|Debug-Runspace|Disable-PSBreakpoint|Disable-RunspaceDebug|Enable-PSBreakpoint|Enable-RunspaceDebug|Export-Alias|Export-Clixml|Export-Csv|Export-FormatData|Export-PSSession|Format-Custom|Format-List|Format-Table|Format-Wide|Get-Alias|Get-Culture|Get-Date|Get-Event|Get-EventSubscriber|Get-FormatData|Get-Host|Get-Member|Get-PSBreakpoint|Get-PSCallStack|Get-Random|Get-Runspace|Get-RunspaceDebug|Get-TraceSource|Get-TypeData|Get-UICulture|Get-Unique|Get-Variable|Group-Object|Import-Alias|Import-Clixml|Import-Csv|Import-LocalizedData|Import-PSSession|Invoke-Expression|Invoke-RestMethod|Invoke-WebRequest|Measure-Command|Measure-Object|New-Alias|New-Event|New-Object|New-TimeSpan|New-Variable|Out-File|Out-GridView|Out-Printer|Out-String|Read-Host|Register-EngineEvent|Register-ObjectEvent|Remove-Event|Remove-PSBreakpoint|Remove-TypeData|Remove-Variable|Select-Object|Select-String|Select-Xml|Send-MailMessage|Set-Alias|Set-Date|Set-PSBreakpoint|Set-TraceSource|Set-Variable|Show-Command|Sort-Object|Start-Sleep|Tee-Object|Trace-Command|Unblock-File|Unregister-Event|Update-FormatData|Update-List|Update-TypeData|Wait-Debugger|Wait-Event|Write-Debug|Write-Error|Write-Host|Write-Information|Write-Output|Write-Progress|Write-Verbose|Write-Warning|Connect-WSMan|Disable-WSManCredSSP|Disconnect-WSMan|Enable-WSManCredSSP|Get-WSManCredSSP|Get-WSManInstance|Invoke-WSManAction|New-WSManInstance|New-WSManSessionOption|Remove-WSManInstance|Set-WSManInstance|Set-WSManQuickConfig|Test-WSMan|Debug-MMAppPrelaunch|Disable-MMAgent|Enable-MMAgent|Get-MMAgent|Set-MMAgent|Add-DtcClusterTMMapping|Get-Dtc|Get-DtcAdvancedHostSetting|Get-DtcAdvancedSetting|Get-DtcClusterDefault|Get-DtcClusterTMMapping|Get-DtcDefault|Get-DtcLog|Get-DtcNetworkSetting|Get-DtcTransaction|Get-DtcTransactionsStatistics|Get-DtcTransactionsTraceSession|Get-DtcTransactionsTraceSetting|Install-Dtc|Remove-DtcClusterTMMapping|Reset-DtcLog|Set-DtcAdvancedHostSetting|Set-DtcAdvancedSetting|Set-DtcClusterDefault|Set-DtcClusterTMMapping|Set-DtcDefault|Set-DtcLog|Set-DtcNetworkSetting|Set-DtcTransaction|Set-DtcTransactionsTraceSession|Set-DtcTransactionsTraceSetting|Start-Dtc|Start-DtcTransactionsTraceSession|Stop-Dtc|Stop-DtcTransactionsTraceSession|Test-Dtc|Uninstall-Dtc|Write-DtcTransactionsTraceSession|Complete-DtcDiagnosticTransaction|Join-DtcDiagnosticResourceManager|New-DtcDiagnosticTransaction|Receive-DtcDiagnosticTransaction|Send-DtcDiagnosticTransaction|Start-DtcDiagnosticResourceManager|Stop-DtcDiagnosticResourceManager|Undo-DtcDiagnosticTransaction|Disable-NetAdapter|Disable-NetAdapterBinding|Disable-NetAdapterChecksumOffload|Disable-NetAdapterEncapsulatedPacketTaskOffload|Disable-NetAdapterIPsecOffload|Disable-NetAdapterLso|Disable-NetAdapterPacketDirect|Disable-NetAdapterPowerManagement|Disable-NetAdapterQos|Disable-NetAdapterRdma|Disable-NetAdapterRsc|Disable-NetAdapterRss|Disable-NetAdapterSriov|Disable-NetAdapterVmq|Enable-NetAdapter|Enable-NetAdapterBinding|Enable-NetAdapterChecksumOffload|Enable-NetAdapterEncapsulatedPacketTaskOffload|Enable-NetAdapterIPsecOffload|Enable-NetAdapterLso|Enable-NetAdapterPacketDirect|Enable-NetAdapterPowerManagement|Enable-NetAdapterQos|Enable-NetAdapterRdma|Enable-NetAdapterRsc|Enable-NetAdapterRss|Enable-NetAdapterSriov|Enable-NetAdapterVmq|Get-NetAdapter|Get-NetAdapterAdvancedProperty|Get-NetAdapterBinding|Get-NetAdapterChecksumOffload|Get-NetAdapterEncapsulatedPacketTaskOffload|Get-NetAdapterHardwareInfo|Get-NetAdapterIPsecOffload|Get-NetAdapterLso|Get-NetAdapterPacketDirect|Get-NetAdapterPowerManagement|Get-NetAdapterQos|Get-NetAdapterRdma|Get-NetAdapterRsc|Get-NetAdapterRss|Get-NetAdapterSriov|Get-NetAdapterSriovVf|Get-NetAdapterStatistics|Get-NetAdapterVmq|Get-NetAdapterVmqQueue|Get-NetAdapterVPort|New-NetAdapterAdvancedProperty|Remove-NetAdapterAdvancedProperty|Rename-NetAdapter|Reset-NetAdapterAdvancedProperty|Restart-NetAdapter|Set-NetAdapter|Set-NetAdapterAdvancedProperty|Set-NetAdapterBinding|Set-NetAdapterChecksumOffload|Set-NetAdapterEncapsulatedPacketTaskOffload|Set-NetAdapterIPsecOffload|Set-NetAdapterLso|Set-NetAdapterPacketDirect|Set-NetAdapterPowerManagement|Set-NetAdapterQos|Set-NetAdapterRdma|Set-NetAdapterRsc|Set-NetAdapterRss|Set-NetAdapterSriov|Set-NetAdapterVmq|Get-NetConnectionProfile|Set-NetConnectionProfile|Add-NetEventNetworkAdapter|Add-NetEventPacketCaptureProvider|Add-NetEventProvider|Add-NetEventVmNetworkAdapter|Add-NetEventVmSwitch|Add-NetEventWFPCaptureProvider|Get-NetEventNetworkAdapter|Get-NetEventPacketCaptureProvider|Get-NetEventProvider|Get-NetEventSession|Get-NetEventVmNetworkAdapter|Get-NetEventVmSwitch|Get-NetEventWFPCaptureProvider|New-NetEventSession|Remove-NetEventNetworkAdapter|Remove-NetEventPacketCaptureProvider|Remove-NetEventProvider|Remove-NetEventSession|Remove-NetEventVmNetworkAdapter|Remove-NetEventVmSwitch|Remove-NetEventWFPCaptureProvider|Set-NetEventPacketCaptureProvider|Set-NetEventProvider|Set-NetEventSession|Set-NetEventWFPCaptureProvider|Start-NetEventSession|Stop-NetEventSession|Add-NetLbfoTeamMember|Add-NetLbfoTeamNic|Get-NetLbfoTeam|Get-NetLbfoTeamMember|Get-NetLbfoTeamNic|New-NetLbfoTeam|Remove-NetLbfoTeam|Remove-NetLbfoTeamMember|Remove-NetLbfoTeamNic|Rename-NetLbfoTeam|Set-NetLbfoTeam|Set-NetLbfoTeamMember|Set-NetLbfoTeamNic|Add-NetNatExternalAddress|Add-NetNatStaticMapping|Get-NetNat|Get-NetNatExternalAddress|Get-NetNatGlobal|Get-NetNatSession|Get-NetNatStaticMapping|New-NetNat|Remove-NetNat|Remove-NetNatExternalAddress|Remove-NetNatStaticMapping|Set-NetNat|Set-NetNatGlobal|Get-NetQosPolicy|New-NetQosPolicy|Remove-NetQosPolicy|Set-NetQosPolicy|Copy-NetFirewallRule|Copy-NetIPsecMainModeCryptoSet|Copy-NetIPsecMainModeRule|Copy-NetIPsecPhase1AuthSet|Copy-NetIPsecPhase2AuthSet|Copy-NetIPsecQuickModeCryptoSet|Copy-NetIPsecRule|Disable-NetFirewallRule|Disable-NetIPsecMainModeRule|Disable-NetIPsecRule|Enable-NetFirewallRule|Enable-NetIPsecMainModeRule|Enable-NetIPsecRule|Find-NetIPsecRule|Get-NetFirewallAddressFilter|Get-NetFirewallApplicationFilter|Get-NetFirewallInterfaceFilter|Get-NetFirewallInterfaceTypeFilter|Get-NetFirewallPortFilter|Get-NetFirewallProfile|Get-NetFirewallRule|Get-NetFirewallSecurityFilter|Get-NetFirewallServiceFilter|Get-NetFirewallSetting|Get-NetIPsecDospSetting|Get-NetIPsecMainModeCryptoSet|Get-NetIPsecMainModeRule|Get-NetIPsecMainModeSA|Get-NetIPsecPhase1AuthSet|Get-NetIPsecPhase2AuthSet|Get-NetIPsecQuickModeCryptoSet|Get-NetIPsecQuickModeSA|Get-NetIPsecRule|New-NetFirewallRule|New-NetIPsecDospSetting|New-NetIPsecMainModeCryptoSet|New-NetIPsecMainModeRule|New-NetIPsecPhase1AuthSet|New-NetIPsecPhase2AuthSet|New-NetIPsecQuickModeCryptoSet|New-NetIPsecRule|Open-NetGPO|Remove-NetFirewallRule|Remove-NetIPsecDospSetting|Remove-NetIPsecMainModeCryptoSet|Remove-NetIPsecMainModeRule|Remove-NetIPsecMainModeSA|Remove-NetIPsecPhase1AuthSet|Remove-NetIPsecPhase2AuthSet|Remove-NetIPsecQuickModeCryptoSet|Remove-NetIPsecQuickModeSA|Remove-NetIPsecRule|Rename-NetFirewallRule|Rename-NetIPsecMainModeCryptoSet|Rename-NetIPsecMainModeRule|Rename-NetIPsecPhase1AuthSet|Rename-NetIPsecPhase2AuthSet|Rename-NetIPsecQuickModeCryptoSet|Rename-NetIPsecRule|Save-NetGPO|Set-NetFirewallAddressFilter|Set-NetFirewallApplicationFilter|Set-NetFirewallInterfaceFilter|Set-NetFirewallInterfaceTypeFilter|Set-NetFirewallPortFilter|Set-NetFirewallProfile|Set-NetFirewallRule|Set-NetFirewallSecurityFilter|Set-NetFirewallServiceFilter|Set-NetFirewallSetting|Set-NetIPsecDospSetting|Set-NetIPsecMainModeCryptoSet|Set-NetIPsecMainModeRule|Set-NetIPsecPhase1AuthSet|Set-NetIPsecPhase2AuthSet|Set-NetIPsecQuickModeCryptoSet|Set-NetIPsecRule|Show-NetFirewallRule|Show-NetIPsecRule|Sync-NetIPsecRule|Update-NetIPsecRule|Get-DAPolicyChange|New-NetIPsecAuthProposal|New-NetIPsecMainModeCryptoProposal|New-NetIPsecQuickModeCryptoProposal|Add-NetSwitchTeamMember|Get-NetSwitchTeam|Get-NetSwitchTeamMember|New-NetSwitchTeam|Remove-NetSwitchTeam|Remove-NetSwitchTeamMember|Rename-NetSwitchTeam|Find-NetRoute|Get-NetCompartment|Get-NetIPAddress|Get-NetIPConfiguration|Get-NetIPInterface|Get-NetIPv4Protocol|Get-NetIPv6Protocol|Get-NetNeighbor|Get-NetOffloadGlobalSetting|Get-NetPrefixPolicy|Get-NetRoute|Get-NetTCPConnection|Get-NetTCPSetting|Get-NetTransportFilter|Get-NetUDPEndpoint|Get-NetUDPSetting|New-NetIPAddress|New-NetNeighbor|New-NetRoute|New-NetTransportFilter|Remove-NetIPAddress|Remove-NetNeighbor|Remove-NetRoute|Remove-NetTransportFilter|Set-NetIPAddress|Set-NetIPInterface|Set-NetIPv4Protocol|Set-NetIPv6Protocol|Set-NetNeighbor|Set-NetOffloadGlobalSetting|Set-NetRoute|Set-NetTCPSetting|Set-NetUDPSetting|Test-NetConnection|Get-DAConnectionStatus|Get-NCSIPolicyConfiguration|Reset-NCSIPolicyConfiguration|Set-NCSIPolicyConfiguration|Disable-NetworkSwitchEthernetPort|Disable-NetworkSwitchFeature|Disable-NetworkSwitchVlan|Enable-NetworkSwitchEthernetPort|Enable-NetworkSwitchFeature|Enable-NetworkSwitchVlan|Get-NetworkSwitchEthernetPort|Get-NetworkSwitchFeature|Get-NetworkSwitchGlobalData|Get-NetworkSwitchVlan|New-NetworkSwitchVlan|Remove-NetworkSwitchEthernetPortIPAddress|Remove-NetworkSwitchVlan|Restore-NetworkSwitchConfiguration|Save-NetworkSwitchConfiguration|Set-NetworkSwitchEthernetPortIPAddress|Set-NetworkSwitchPortMode|Set-NetworkSwitchPortProperty|Set-NetworkSwitchVlanProperty|Add-NetIPHttpsCertBinding|Disable-NetDnsTransitionConfiguration|Disable-NetIPHttpsProfile|Disable-NetNatTransitionConfiguration|Enable-NetDnsTransitionConfiguration|Enable-NetIPHttpsProfile|Enable-NetNatTransitionConfiguration|Get-Net6to4Configuration|Get-NetDnsTransitionConfiguration|Get-NetDnsTransitionMonitoring|Get-NetIPHttpsConfiguration|Get-NetIPHttpsState|Get-NetIsatapConfiguration|Get-NetNatTransitionConfiguration|Get-NetNatTransitionMonitoring|Get-NetTeredoConfiguration|Get-NetTeredoState|New-NetIPHttpsConfiguration|New-NetNatTransitionConfiguration|Remove-NetIPHttpsCertBinding|Remove-NetIPHttpsConfiguration|Remove-NetNatTransitionConfiguration|Rename-NetIPHttpsConfiguration|Reset-Net6to4Configuration|Reset-NetDnsTransitionConfiguration|Reset-NetIPHttpsConfiguration|Reset-NetIsatapConfiguration|Reset-NetTeredoConfiguration|Set-Net6to4Configuration|Set-NetDnsTransitionConfiguration|Set-NetIPHttpsConfiguration|Set-NetIsatapConfiguration|Set-NetNatTransitionConfiguration|Set-NetTeredoConfiguration|Find-Package|Find-PackageProvider|Get-Package|Get-PackageProvider|Get-PackageSource|Import-PackageProvider|Install-Package|Install-PackageProvider|Register-PackageSource|Save-Package|Set-PackageSource|Uninstall-Package|Unregister-PackageSource|Clear-PcsvDeviceLog|Get-PcsvDevice|Get-PcsvDeviceLog|Restart-PcsvDevice|Set-PcsvDeviceBootConfiguration|Set-PcsvDeviceNetworkConfiguration|Set-PcsvDeviceUserPassword|Start-PcsvDevice|Stop-PcsvDevice|AfterAll|AfterEach|Assert-MockCalled|Assert-VerifiableMocks|BeforeAll|BeforeEach|Context|Describe|Get-MockDynamicParameters|Get-TestDriveItem|In|InModuleScope|Invoke-Mock|Invoke-Pester|It|Mock|New-Fixture|Set-DynamicParameterVariables|Setup|Should|Add-CertificateEnrollmentPolicyServer|Export-Certificate|Export-PfxCertificate|Get-Certificate|Get-CertificateAutoEnrollmentPolicy|Get-CertificateEnrollmentPolicyServer|Get-CertificateNotificationTask|Get-PfxData|Import-Certificate|Import-PfxCertificate|New-CertificateNotificationTask|New-SelfSignedCertificate|Remove-CertificateEnrollmentPolicyServer|Remove-CertificateNotificationTask|Set-CertificateAutoEnrollmentPolicy|Switch-Certificate|Test-Certificate|Disable-PnpDevice|Enable-PnpDevice|Get-PnpDevice|Get-PnpDeviceProperty|Find-DscResource|Find-Module|Find-Script|Get-InstalledModule|Get-InstalledScript|Get-PSRepository|Install-Module|Install-Script|New-ScriptFileInfo|Publish-Module|Publish-Script|Register-PSRepository|Save-Module|Save-Script|Set-PSRepository|Test-ScriptFileInfo|Uninstall-Module|Uninstall-Script|Unregister-PSRepository|Update-Module|Update-ModuleManifest|Update-Script|Update-ScriptFileInfo|Add-Printer|Add-PrinterDriver|Add-PrinterPort|Get-PrintConfiguration|Get-Printer|Get-PrinterDriver|Get-PrinterPort|Get-PrinterProperty|Get-PrintJob|Read-PrinterNfcTag|Remove-Printer|Remove-PrinterDriver|Remove-PrinterPort|Remove-PrintJob|Rename-Printer|Restart-PrintJob|Resume-PrintJob|Set-PrintConfiguration|Set-Printer|Set-PrinterProperty|Suspend-PrintJob|Write-PrinterNfcTag|Configuration|Disable-DscDebug|Enable-DscDebug|Get-DscConfiguration|Get-DscConfigurationStatus|Get-DscLocalConfigurationManager|Get-DscResource|New-DscChecksum|Remove-DscConfigurationDocument|Restore-DscConfiguration|Stop-DscConfiguration|Invoke-DscResource|Publish-DscConfiguration|Set-DscLocalConfigurationManager|Start-DscConfiguration|Test-DscConfiguration|Update-DscConfiguration|Disable-PSTrace|Disable-PSWSManCombinedTrace|Disable-WSManTrace|Enable-PSTrace|Enable-PSWSManCombinedTrace|Enable-WSManTrace|Get-LogProperties|Set-LogProperties|Start-Trace|Stop-Trace|PSConsoleHostReadline|Get-PSReadlineKeyHandler|Get-PSReadlineOption|Remove-PSReadlineKeyHandler|Set-PSReadlineKeyHandler|Set-PSReadlineOption|Add-JobTrigger|Disable-JobTrigger|Disable-ScheduledJob|Enable-JobTrigger|Enable-ScheduledJob|Get-JobTrigger|Get-ScheduledJob|Get-ScheduledJobOption|New-JobTrigger|New-ScheduledJobOption|Register-ScheduledJob|Remove-JobTrigger|Set-JobTrigger|Set-ScheduledJob|Set-ScheduledJobOption|Unregister-ScheduledJob|New-PSWorkflowSession|New-PSWorkflowExecutionOption|Invoke-AsWorkflow|Disable-ScheduledTask|Enable-ScheduledTask|Export-ScheduledTask|Get-ClusteredScheduledTask|Get-ScheduledTask|Get-ScheduledTaskInfo|New-ScheduledTask|New-ScheduledTaskAction|New-ScheduledTaskPrincipal|New-ScheduledTaskSettingsSet|New-ScheduledTaskTrigger|Register-ClusteredScheduledTask|Register-ScheduledTask|Set-ClusteredScheduledTask|Set-ScheduledTask|Start-ScheduledTask|Stop-ScheduledTask|Unregister-ClusteredScheduledTask|Unregister-ScheduledTask|Confirm-SecureBootUEFI|Format-SecureBootUEFI|Get-SecureBootPolicy|Get-SecureBootUEFI|Set-SecureBootUEFI|Block-SmbShareAccess|Close-SmbOpenFile|Close-SmbSession|Disable-SmbDelegation|Enable-SmbDelegation|Get-SmbBandwidthLimit|Get-SmbClientConfiguration|Get-SmbClientNetworkInterface|Get-SmbConnection|Get-SmbDelegation|Get-SmbMapping|Get-SmbMultichannelConnection|Get-SmbMultichannelConstraint|Get-SmbOpenFile|Get-SmbServerConfiguration|Get-SmbServerNetworkInterface|Get-SmbSession|Get-SmbShare|Get-SmbShareAccess|Grant-SmbShareAccess|New-SmbMapping|New-SmbMultichannelConstraint|New-SmbShare|Remove-SmbBandwidthLimit|Remove-SmbMapping|Remove-SmbMultichannelConstraint|Remove-SmbShare|Revoke-SmbShareAccess|Set-SmbBandwidthLimit|Set-SmbClientConfiguration|Set-SmbPathAcl|Set-SmbServerConfiguration|Set-SmbShare|Unblock-SmbShareAccess|Update-SmbMultichannelConnection|Move-SmbClient|Get-SmbWitnessClient|Move-SmbWitnessClient|Get-StartApps|Export-StartLayout|Import-StartLayout|Disable-PhysicalDiskIndication|Disable-StorageDiagnosticLog|Enable-PhysicalDiskIndication|Enable-StorageDiagnosticLog|Flush-Volume|Get-DiskSNV|Get-PhysicalDiskSNV|Get-StorageEnclosureSNV|Initialize-Volume|Write-FileSystemCache|Add-InitiatorIdToMaskingSet|Add-PartitionAccessPath|Add-PhysicalDisk|Add-TargetPortToMaskingSet|Add-VirtualDiskToMaskingSet|Block-FileShareAccess|Clear-Disk|Clear-FileStorageTier|Clear-StorageDiagnosticInfo|Connect-VirtualDisk|Debug-FileShare|Debug-StorageSubSystem|Debug-Volume|Disable-PhysicalDiskIdentification|Disable-StorageEnclosureIdentification|Disable-StorageHighAvailability|Disconnect-VirtualDisk|Dismount-DiskImage|Enable-PhysicalDiskIdentification|Enable-StorageEnclosureIdentification|Enable-StorageHighAvailability|Format-Volume|Get-DedupProperties|Get-Disk|Get-DiskImage|Get-DiskStorageNodeView|Get-FileIntegrity|Get-FileShare|Get-FileShareAccessControlEntry|Get-FileStorageTier|Get-InitiatorId|Get-InitiatorPort|Get-MaskingSet|Get-OffloadDataTransferSetting|Get-Partition|Get-PartitionSupportedSize|Get-PhysicalDisk|Get-PhysicalDiskStorageNodeView|Get-ResiliencySetting|Get-StorageAdvancedProperty|Get-StorageDiagnosticInfo|Get-StorageEnclosure|Get-StorageEnclosureStorageNodeView|Get-StorageEnclosureVendorData|Get-StorageFaultDomain|Get-StorageFileServer|Get-StorageFirmwareInformation|Get-StorageHealthAction|Get-StorageHealthReport|Get-StorageHealthSetting|Get-StorageJob|Get-StorageNode|Get-StoragePool|Get-StorageProvider|Get-StorageReliabilityCounter|Get-StorageSetting|Get-StorageSubSystem|Get-StorageTier|Get-StorageTierSupportedSize|Get-SupportedClusterSizes|Get-SupportedFileSystems|Get-TargetPort|Get-TargetPortal|Get-VirtualDisk|Get-VirtualDiskSupportedSize|Get-Volume|Get-VolumeCorruptionCount|Get-VolumeScrubPolicy|Grant-FileShareAccess|Hide-VirtualDisk|Initialize-Disk|Mount-DiskImage|New-FileShare|New-MaskingSet|New-Partition|New-StorageFileServer|New-StoragePool|New-StorageSubsystemVirtualDisk|New-StorageTier|New-VirtualDisk|New-VirtualDiskClone|New-VirtualDiskSnapshot|New-Volume|Optimize-StoragePool|Optimize-Volume|Register-StorageSubsystem|Remove-FileShare|Remove-InitiatorId|Remove-InitiatorIdFromMaskingSet|Remove-MaskingSet|Remove-Partition|Remove-PartitionAccessPath|Remove-PhysicalDisk|Remove-StorageFileServer|Remove-StorageHealthSetting|Remove-StoragePool|Remove-StorageTier|Remove-TargetPortFromMaskingSet|Remove-VirtualDisk|Remove-VirtualDiskFromMaskingSet|Rename-MaskingSet|Repair-FileIntegrity|Repair-VirtualDisk|Repair-Volume|Reset-PhysicalDisk|Reset-StorageReliabilityCounter|Resize-Partition|Resize-StorageTier|Resize-VirtualDisk|Revoke-FileShareAccess|Set-Disk|Set-FileIntegrity|Set-FileShare|Set-FileStorageTier|Set-InitiatorPort|Set-Partition|Set-PhysicalDisk|Set-ResiliencySetting|Set-StorageFileServer|Set-StorageHealthSetting|Set-StoragePool|Set-StorageProvider|Set-StorageSetting|Set-StorageSubSystem|Set-StorageTier|Set-VirtualDisk|Set-Volume|Set-VolumeScrubPolicy|Show-VirtualDisk|Start-StorageDiagnosticLog|Stop-StorageDiagnosticLog|Stop-StorageJob|Unblock-FileShareAccess|Unregister-StorageSubsystem|Update-Disk|Update-HostStorageCache|Update-StorageFirmware|Update-StoragePool|Update-StorageProviderCache|Write-VolumeCache|Disable-TlsCipherSuite|Disable-TlsSessionTicketKey|Enable-TlsCipherSuite|Enable-TlsSessionTicketKey|Export-TlsSessionTicketKey|Get-TlsCipherSuite|New-TlsSessionTicketKey|Get-TroubleshootingPack|Invoke-TroubleshootingPack|Clear-Tpm|ConvertTo-TpmOwnerAuth|Disable-TpmAutoProvisioning|Enable-TpmAutoProvisioning|Get-Tpm|Get-TpmEndorsementKeyInfo|Get-TpmSupportedFeature|Import-TpmOwnerAuth|Initialize-Tpm|Set-TpmOwnerAuth|Unblock-Tpm|Add-VpnConnection|Add-VpnConnectionRoute|Add-VpnConnectionTriggerApplication|Add-VpnConnectionTriggerDnsConfiguration|Add-VpnConnectionTriggerTrustedNetwork|Get-VpnConnection|Get-VpnConnectionTrigger|New-EapConfiguration|New-VpnServerAddress|Remove-VpnConnection|Remove-VpnConnectionRoute|Remove-VpnConnectionTriggerApplication|Remove-VpnConnectionTriggerDnsConfiguration|Remove-VpnConnectionTriggerTrustedNetwork|Set-VpnConnection|Set-VpnConnectionIPsecConfiguration|Set-VpnConnectionProxy|Set-VpnConnectionTriggerDnsConfiguration|Set-VpnConnectionTriggerTrustedNetwork|Add-OdbcDsn|Disable-OdbcPerfCounter|Disable-WdacBidTrace|Enable-OdbcPerfCounter|Enable-WdacBidTrace|Get-OdbcDriver|Get-OdbcDsn|Get-OdbcPerfCounter|Get-WdacBidTrace|Remove-OdbcDsn|Set-OdbcDriver|Set-OdbcDsn|Get-WindowsDeveloperLicense|Show-WindowsDeveloperLicenseRegistration|Unregister-WindowsDeveloperLicense|Disable-WindowsErrorReporting|Enable-WindowsErrorReporting|Get-WindowsErrorReporting|Get-WindowsSearchSetting|Set-WindowsSearchSetting|Get-WindowsUpdateLog",n=this.createKeywordMapper({"support.function":t,keyword:e},"identifier"),r="eq|ne|gt|lt|le|ge|like|notlike|match|notmatch|contains|notcontains|in|notin|band|bor|bxor|bnot|ceq|cne|cgt|clt|cle|cge|clike|cnotlike|cmatch|cnotmatch|ccontains|cnotcontains|cin|cnotin|ieq|ine|igt|ilt|ile|ige|ilike|inotlike|imatch|inotmatch|icontains|inotcontains|iin|inotin|and|or|xor|not|split|join|replace|f|csplit|creplace|isplit|ireplace|is|isnot|as|shl|shr";this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment.start",regex:"<#",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"[$](?:[Tt]rue|[Ff]alse)\\b"},{token:"constant.language",regex:"[$][Nn]ull\\b"},{token:"variable.instance",regex:"[$][a-zA-Z][a-zA-Z0-9_]*\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"},{token:"keyword.operator",regex:"\\-(?:"+r+")"},{token:"keyword.operator",regex:"&|\\+|\\-|\\*|\\/|\\%|\\=|\\>|\\&|\\!|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment.end",regex:"#>",next:"start"},{token:"doc.comment.tag",regex:"^\\.\\w+"},{defaultToken:"comment"}]}};r.inherits(s,i),t.PowershellHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/powershell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/powershell_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./powershell_highlight_rules").PowershellHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/cstyle").CstyleBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a({start:"^\\s*(<#)",end:"^[#\\s]>\\s*$"})};r.inherits(f,i),function(){this.lineCommentStart="#",this.blockComment={start:"<#",end:"#>"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/);o&&(r+=n)}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){return null},this.$id="ace/mode/powershell"}.call(f.prototype),t.Mode=f});                (function() {
-                    ace.require(["ace/mode/powershell"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-protobuf.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/c_cpp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o=t.cFunctions="\\b(?:hypot(?:f|l)?|s(?:scanf|ystem|nprintf|ca(?:nf|lb(?:n(?:f|l)?|ln(?:f|l)?))|i(?:n(?:h(?:f|l)?|f|l)?|gn(?:al|bit))|tr(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?)|error|pbrk|ftime|len|rchr|xfrm)|printf|et(?:jmp|vbuf|locale|buf)|qrt(?:f|l)?|w(?:scanf|printf)|rand)|n(?:e(?:arbyint(?:f|l)?|xt(?:toward(?:f|l)?|after(?:f|l)?))|an(?:f|l)?)|c(?:s(?:in(?:h(?:f|l)?|f|l)?|qrt(?:f|l)?)|cos(?:h(?:f)?|f|l)?|imag(?:f|l)?|t(?:ime|an(?:h(?:f|l)?|f|l)?)|o(?:s(?:h(?:f|l)?|f|l)?|nj(?:f|l)?|pysign(?:f|l)?)|p(?:ow(?:f|l)?|roj(?:f|l)?)|e(?:il(?:f|l)?|xp(?:f|l)?)|l(?:o(?:ck|g(?:f|l)?)|earerr)|a(?:sin(?:h(?:f|l)?|f|l)?|cos(?:h(?:f|l)?|f|l)?|tan(?:h(?:f|l)?|f|l)?|lloc|rg(?:f|l)?|bs(?:f|l)?)|real(?:f|l)?|brt(?:f|l)?)|t(?:ime|o(?:upper|lower)|an(?:h(?:f|l)?|f|l)?|runc(?:f|l)?|gamma(?:f|l)?|mp(?:nam|file))|i(?:s(?:space|n(?:ormal|an)|cntrl|inf|digit|u(?:nordered|pper)|p(?:unct|rint)|finite|w(?:space|c(?:ntrl|type)|digit|upper|p(?:unct|rint)|lower|al(?:num|pha)|graph|xdigit|blank)|l(?:ower|ess(?:equal|greater)?)|al(?:num|pha)|gr(?:eater(?:equal)?|aph)|xdigit|blank)|logb(?:f|l)?|max(?:div|abs))|di(?:v|fftime)|_Exit|unget(?:c|wc)|p(?:ow(?:f|l)?|ut(?:s|c(?:har)?|wc(?:har)?)|error|rintf)|e(?:rf(?:c(?:f|l)?|f|l)?|x(?:it|p(?:2(?:f|l)?|f|l|m1(?:f|l)?)?))|v(?:s(?:scanf|nprintf|canf|printf|w(?:scanf|printf))|printf|f(?:scanf|printf|w(?:scanf|printf))|w(?:scanf|printf)|a_(?:start|copy|end|arg))|qsort|f(?:s(?:canf|e(?:tpos|ek))|close|tell|open|dim(?:f|l)?|p(?:classify|ut(?:s|c|w(?:s|c))|rintf)|e(?:holdexcept|set(?:e(?:nv|xceptflag)|round)|clearexcept|testexcept|of|updateenv|r(?:aiseexcept|ror)|get(?:e(?:nv|xceptflag)|round))|flush|w(?:scanf|ide|printf|rite)|loor(?:f|l)?|abs(?:f|l)?|get(?:s|c|pos|w(?:s|c))|re(?:open|e|ad|xp(?:f|l)?)|m(?:in(?:f|l)?|od(?:f|l)?|a(?:f|l|x(?:f|l)?)?))|l(?:d(?:iv|exp(?:f|l)?)|o(?:ngjmp|cal(?:time|econv)|g(?:1(?:p(?:f|l)?|0(?:f|l)?)|2(?:f|l)?|f|l|b(?:f|l)?)?)|abs|l(?:div|abs|r(?:int(?:f|l)?|ound(?:f|l)?))|r(?:int(?:f|l)?|ound(?:f|l)?)|gamma(?:f|l)?)|w(?:scanf|c(?:s(?:s(?:tr|pn)|nc(?:py|at|mp)|c(?:spn|hr|oll|py|at|mp)|to(?:imax|d|u(?:l(?:l)?|max)|k|f|l(?:d|l)?|mbs)|pbrk|ftime|len|r(?:chr|tombs)|xfrm)|to(?:b|mb)|rtomb)|printf|mem(?:set|c(?:hr|py|mp)|move))|a(?:s(?:sert|ctime|in(?:h(?:f|l)?|f|l)?)|cos(?:h(?:f|l)?|f|l)?|t(?:o(?:i|f|l(?:l)?)|exit|an(?:h(?:f|l)?|2(?:f|l)?|f|l)?)|b(?:s|ort))|g(?:et(?:s|c(?:har)?|env|wc(?:har)?)|mtime)|r(?:int(?:f|l)?|ound(?:f|l)?|e(?:name|alloc|wind|m(?:ove|quo(?:f|l)?|ainder(?:f|l)?))|a(?:nd|ise))|b(?:search|towc)|m(?:odf(?:f|l)?|em(?:set|c(?:hr|py|mp)|move)|ktime|alloc|b(?:s(?:init|towcs|rtowcs)|towc|len|r(?:towc|len))))\\b",u=function(){var e="break|case|continue|default|do|else|for|goto|if|_Pragma|return|switch|while|catch|operator|try|throw|using",t="asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void|class|wchar_t|template|char16_t|char32_t",n="const|extern|register|restrict|static|volatile|inline|private|protected|public|friend|explicit|virtual|export|mutable|typename|constexpr|new|delete|alignas|alignof|decltype|noexcept|thread_local",r="and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|const_cast|dynamic_cast|reinterpret_cast|static_cast|sizeof|namespace",s="NULL|true|false|TRUE|FALSE|nullptr",u=this.$keywords=this.createKeywordMapper({"keyword.control":e,"storage.type":t,"storage.modifier":n,"keyword.operator":r,"variable.language":"this","constant.language":s},"identifier"),a="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b",f=/\\(?:['"?\\abfnrtv]|[0-7]{1,3}|x[a-fA-F\d]{2}|u[a-fA-F\d]{4}U[a-fA-F\d]{8}|.)/.source,l="%"+/(\d+\$)?/.source+/[#0\- +']*/.source+/[,;:_]?/.source+/((-?\d+)|\*(-?\d+\$)?)?/.source+/(\.((-?\d+)|\*(-?\d+\$)?)?)?/.source+/(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)?/.source+/(\[[^"\]]+\]|[diouxXDOUeEfFgGaACcSspn%])/.source;this.$rules={start:[{token:"comment",regex:"//$",next:"start"},{token:"comment",regex:"//",next:"singleLineComment"},i.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:"'(?:"+f+"|.)?'"},{token:"string.start",regex:'"',stateName:"qqstring",next:[{token:"string",regex:/\\\s*$/,next:"qqstring"},{token:"constant.language.escape",regex:f},{token:"constant.language.escape",regex:l},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string.start",regex:'R"\\(',stateName:"rawString",next:[{token:"string.end",regex:'\\)"',next:"start"},{defaultToken:"string"}]},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"},{token:"keyword",regex:"#\\s*(?:include|import|pragma|line|define|undef)\\b",next:"directive"},{token:"keyword",regex:"#\\s*(?:endif|if|ifdef|else|elif|ifndef)\\b"},{token:"support.function.C99.c",regex:o},{token:u,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*"},{token:"keyword.operator",regex:/--|\+\+|<<=|>>=|>>>=|<>|&&|\|\||\?:|[*%\/+\-&\^|~!<>=]=?/},{token:"punctuation.operator",regex:"\\?|\\:|\\,|\\;|\\."},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],singleLineComment:[{token:"comment",regex:/\\$/,next:"singleLineComment"},{token:"comment",regex:/$/,next:"start"},{defaultToken:"comment"}],directive:[{token:"constant.other.multiline",regex:/\\/},{token:"constant.other.multiline",regex:/.*\\/},{token:"constant.other",regex:"\\s*<.+?>",next:"start"},{token:"constant.other",regex:'\\s*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]',next:"start"},{token:"constant.other",regex:"\\s*['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']",next:"start"},{token:"constant.other",regex:/[^\\\/]+/,next:"start"}]},this.embedRules(i,"doc-",[i.getEndRule("start")]),this.normalizeRules()};r.inherits(u,s),t.c_cppHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/c_cpp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c_cpp_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./c_cpp_highlight_rules").c_cppHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var u=t.match(/^.*[\{\(\[]\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/c_cpp"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/protobuf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="double|float|int32|int64|uint32|uint64|sint32|sint64|fixed32|fixed64|sfixed32|sfixed64|bool|string|bytes",t="message|required|optional|repeated|package|import|option|enum",n=this.createKeywordMapper({"keyword.declaration.protobuf":t,"support.type":e},"identifier");this.$rules={start:[{token:"comment",regex:/\/\/.*$/},{token:"comment",regex:/\/\*/,next:"comment"},{token:"constant",regex:"<[^>]+>"},{regex:"=",token:"keyword.operator.assignment.protobuf"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:n,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}]},this.normalizeRules()};r.inherits(s,i),t.ProtobufHighlightRules=s}),ace.define("ace/mode/protobuf",["require","exports","module","ace/lib/oop","ace/mode/c_cpp","ace/mode/protobuf_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./c_cpp").Mode,s=e("./protobuf_highlight_rules").ProtobufHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){i.call(this),this.foldingRules=new o,this.HighlightRules=s};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$id="ace/mode/protobuf"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/protobuf"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-rhtml.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",f=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"&&n.selection.isEmpty()){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(f.substring(s.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,r,i){if(i==="!"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row);if(/^\s*(;|}|$)/.test(o.substring(s.column)))return{text:"!important",selection:[10,10]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({jsx:!1})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=a.getCurrentTokenColumn()+f.value.length;if(o.column<l)return;if(o.column==l){var c=a.stepForward();if(c&&u(c,"attribute-value"))return;a.stepBackward()}}if(/^\s*>/.test(r.getLine(o.row).slice(o.column)))return;while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var h=a.getCurrentTokenRow(),p=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var d=f.value;h==o.row&&(d=d.substring(0,o.column-p));if(this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,"for":1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{"for":1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,"default":1},section:{},summary:{},u:{},ul:{},"var":{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(o,s),t.TexHighlightRules=o}),ace.define("ace/mode/r_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules"],function(e,t,n){var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./tex_highlight_rules").TexHighlightRules,u=function(){var e=i.arrayToMap("function|if|in|break|next|repeat|else|for|return|switch|while|try|tryCatch|stop|warning|require|library|attach|detach|source|setMethod|setGeneric|setGroupGeneric|setClass".split("|")),t=i.arrayToMap("NULL|NA|TRUE|FALSE|T|F|Inf|NaN|NA_integer_|NA_real_|NA_character_|NA_complex_".split("|"));this.$rules={start:[{token:"comment.sectionhead",regex:"#+(?!').*(?:----|====|####)\\s*$"},{token:"comment",regex:"#+'",next:"rd-start"},{token:"comment",regex:"#.*$"},{token:"string",regex:'["]',next:"qqstring"},{token:"string",regex:"[']",next:"qstring"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+[Li]?\\b"},{token:"constant.numeric",regex:"\\d+L\\b"},{token:"constant.numeric",regex:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.numeric",regex:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b"},{token:"constant.language.boolean",regex:"(?:TRUE|FALSE|T|F)\\b"},{token:"identifier",regex:"`.*?`"},{onMatch:function(n){return e[n]?"keyword":t[n]?"constant.language":n=="..."||n.match(/^\.\.\d+$/)?"variable.language":"identifier"},regex:"[a-zA-Z.][a-zA-Z0-9._]*\\b"},{token:"keyword.operator",regex:"%%|>=|<=|==|!=|\\->|<\\-|\\|\\||&&|=|\\+|\\-|\\*|/|\\^|>|<|!|&|\\||~|\\$|:"},{token:"keyword.operator",regex:"%.*?%"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]};var n=(new o("comment")).getRules();for(var r=0;r<n.start.length;r++)n.start[r].token+=".virtual-comment";this.addRules(n,"rd-"),this.$rules["rd-start"].unshift({token:"text",regex:"^",next:"start"}),this.$rules["rd-start"].unshift({token:"keyword",regex:"@(?!@)[^ ]*"}),this.$rules["rd-start"].unshift({token:"comment",regex:"@@"}),this.$rules["rd-start"].push({token:"comment",regex:"[^%\\\\[({\\])}]+"})};r.inherits(u,s),t.RHighlightRules=u}),ace.define("ace/mode/rhtml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/r_highlight_rules","ace/mode/html_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./r_highlight_rules").RHighlightRules,s=e("./html_highlight_rules").HtmlHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){s.call(this),this.$rules.start.unshift({token:"support.function.codebegin",regex:"^<!--\\s*begin.rcode\\s*(?:.*)",next:"r-start"}),this.embedRules(i,"r-",[{token:"support.function.codeend",regex:"^\\s*end.rcode\\s*-->",next:"start"}],["start"]),this.normalizeRules()};r.inherits(u,o),t.RHtmlHighlightRules=u}),ace.define("ace/mode/rhtml",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/rhtml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./rhtml_highlight_rules").RHtmlHighlightRules,o=function(e,t){i.call(this),this.$session=t,this.HighlightRules=s};r.inherits(o,i),function(){this.insertChunkInfo={value:"<!--begin.rcode\n\nend.rcode-->\n",position:{row:0,column:15}},this.getLanguageMode=function(e){return this.$session.getState(e.row).match(/^r-/)?"R":"HTML"},this.$id="ace/mode/rhtml"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/rhtml"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-rst.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/rst_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,o){"use strict";var n=e("../lib/oop"),r=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),x=function(){var e="markup.heading",t="markup.heading",o="constant",n="keyword.operator",r="string",x="markup.underline.list",i="markup.bold",g="markup.italic",l="support.function",k="comment",s="(^|\\s|[\"'(<\\[{\\-/:])",a="(?:$|(?=\\s|[\\\\.,;!?\\-/:\"')>\\]}]))";this.$rules={start:[{token:e,regex:"(^)([\\=\\-`:\\.'\"~\\^_\\*\\+#])(\\2{2,}\\s*$)"},{token:["text",n,l],regex:"(^\\s*\\.\\. )([^: ]+::)(.*$)",next:"codeblock"},{token:n,regex:"::$",next:"codeblock"},{token:[r,x],regex:"(^\\.\\. _[^:]+:)(.*$)"},{token:[r,x],regex:"(^__ )(https?://.*$)"},{token:r,regex:"^\\.\\. \\[[^\\]]+\\] "},{token:k,regex:"^\\.\\. .*$",next:"comment"},{token:t,regex:"^\\s*[\\*\\+-] "},{token:t,regex:"^\\s*(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\. "},{token:t,regex:"^\\s*\\(?(?:[A-Za-z]|[0-9]+|[ivxlcdmIVXLCDM]+)\\) "},{token:o,regex:"^={2,}(?: +={2,})+$"},{token:o,regex:"^\\+-{2,}(?:\\+-{2,})+\\+$"},{token:o,regex:"^\\+={2,}(?:\\+={2,})+\\+$"},{token:["text",l],regex:s+"(``)(?=\\S)",next:"code"},{token:["text",i],regex:s+"(\\*\\*)(?=\\S)",next:"bold"},{token:["text",g],regex:s+"(\\*)(?=\\S)",next:"italic"},{token:r,regex:"\\|[\\w\\-]+?\\|"},{token:r,regex:":[\\w-:]+:`\\S",next:"entity"},{token:["text",r],regex:s+"(_`)(?=\\S)",next:"entity"},{token:r,regex:"_[A-Za-z0-9\\-]+?"},{token:["text",x],regex:s+"(`)(?=\\S)",next:"link"},{token:x,regex:"[A-Za-z0-9\\-]+?__?"},{token:x,regex:"\\[[^\\]]+?\\]_"},{token:x,regex:"https?://\\S+"},{token:o,regex:"\\|"}],codeblock:[{token:l,regex:"^ +.+$",next:"codeblock"},{token:l,regex:"^$",next:"codeblock"},{token:"empty",regex:"",next:"start"}],code:[{token:l,regex:"\\S``"+a,next:"start"},{defaultToken:l}],bold:[{token:i,regex:"\\S\\*\\*"+a,next:"start"},{defaultToken:i}],italic:[{token:g,regex:"\\S\\*"+a,next:"start"},{defaultToken:g}],entity:[{token:r,regex:"\\S`"+a,next:"start"},{defaultToken:r}],link:[{token:x,regex:"\\S`__?"+a,next:"start"},{defaultToken:x}],comment:[{token:k,regex:"^ +.+$",next:"comment"},{token:k,regex:"^$",next:"comment"},{token:"empty",regex:"",next:"start"}]}};n.inherits(x,r),t.RSTHighlightRules=x}),ace.define("ace/mode/rst",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/rst_highlight_rules"],function(e,t,o){"use strict";var n=e("../lib/oop"),r=e("./text").Mode,x=e("./rst_highlight_rules").RSTHighlightRules,i=function(){this.HighlightRules=x};n.inherits(i,r),function(){this.type="text",this.$id="ace/mode/rst"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/rst"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-ruby.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,r){"use strict";var n=e("../lib/oop"),s=e("./text_highlight_rules").TextHighlightRules,a=t.constantOtherSymbol={token:"constant.other.symbol.ruby",regex:"[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"},i=(t.qString={token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},t.qqString={token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},t.tString={token:"string",regex:"[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"},t.constantNumericHex={token:"constant.numeric",regex:"0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"}),o=t.constantNumericFloat={token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"},c=(t.instanceVariable={token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},function(){var e=this.$keywords=this.createKeywordMapper({keyword:"alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield","constant.language":"true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING","variable.language":"$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|$!|root_url|flash|session|cookies|params|request|response|logger|self","support.function":"abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|validates_inclusion_of|validates_numericality_of|validates_with|validates_each|authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|cache|expire_fragment|expire_cache_for|observe|cache_sweeper|has_many|has_one|belongs_to|has_and_belongs_to_many","invalid.deprecated":"debugger"},"identifier");this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"comment",regex:"^=begin(?:$|\\s.*$)",next:"comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},[{regex:"[{}]",onMatch:function(e,t,r){return this.next="{"==e?this.nextState:"","{"==e&&r.length?(r.unshift("start",t),"paren.lparen"):"}"==e&&r.length&&(r.shift(),this.next=r.shift(),-1!=this.next.indexOf("string"))?"paren.end":"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:/\\(?:[nsrtvfbae'"\\]|c.|C-.|M-.(?:\\C-.)?|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4})/},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:/\\['\\]/},{token:"string.end",regex:/'/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},a,i,o,{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,r){var n="-"==e[2]?"indentedHeredoc":"heredoc",s=e.split(this.splitRegex);return r.push(n,s[3]),[{type:"constant",value:s[1]},{type:"string",value:s[2]},{type:"support.class",value:s[3]},{type:"string",value:s[4]}]},regex:"(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",rules:{heredoc:[{onMatch:function(e,t,r){return e===r[1]?(r.shift(),r.shift(),this.next=r[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}],indentedHeredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,r){return e===r[1]?(r.shift(),r.shift(),this.next=r[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return"heredoc"===t[0]||"indentedHeredoc"===t[0]?t[0]:e}},{token:"string.character",regex:"\\B\\?."},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:"^=end(?:$|\\s.*$)",next:"start"},{token:"comment",regex:".+"}]},this.normalizeRules()});n.inherits(c,s),t.RubyHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,r){"use strict";var i=e("../range").Range,n=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var r=e.getLine(t).match(/^(\s*\})/);if(!r)return 0;var n=r[1].length,s=e.findMatchingBracket({row:t,column:n});if(!s||s.row==t)return 0;var a=this.$getIndent(e.getLine(s.row));e.replace(new i(t,0,t,n-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(n.prototype),t.MatchingBraceOutdent=n}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,r){"use strict";var n=e("../../lib/oop"),s=e("./fold_mode").FoldMode,u=e("../../range").Range,a=t.FoldMode=function(){};n.inherits(a,s),function(){this.getFoldWidgetRange=function(e,t,r){var n=this.indentationBlock(e,r);if(n)return n;var s=/\S/,a=e.getLine(r),i=a.search(s);if(-1!=i&&"#"==a[i]){for(var o=a.length,c=e.getLength(),l=r,_=r;++r<c;){var d=(a=e.getLine(r)).search(s);if(-1!=d){if("#"!=a[d])break;_=r}}if(l<_){var g=e.getLine(_).length;return new u(l,o,_,g)}}},this.getFoldWidget=function(e,t,r){var n=e.getLine(r),s=n.search(/\S/),a=e.getLine(r+1),i=e.getLine(r-1),o=i.search(/\S/),c=a.search(/\S/);if(-1==s)return e.foldWidgets[r-1]=-1!=o&&o<c?"start":"","";if(-1==o){if(s==c&&"#"==n[s]&&"#"==a[s])return e.foldWidgets[r-1]="",e.foldWidgets[r+1]="","start"}else if(o==s&&"#"==n[s]&&"#"==i[s]&&-1==e.getLine(r-2).search(/\S/))return e.foldWidgets[r-1]="start",e.foldWidgets[r+1]="";return e.foldWidgets[r-1]=-1!=o&&o<s?"start":"",s<c?"start":""}}.call(a.prototype)}),ace.define("ace/mode/ruby",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ruby_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"],function(e,t,r){"use strict";var n=e("../lib/oop"),s=e("./text").Mode,a=e("./ruby_highlight_rules").RubyHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,c=e("../range").Range,o=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/coffee").FoldMode,_=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new o,this.foldingRules=new l};n.inherits(_,s),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,r){var n=this.$getIndent(t),s=this.getTokenizer().getLineTokens(t,e).tokens;if(s.length&&"comment"==s[s.length-1].type)return n;if("start"==e){var a=t.match(/^.*[\{\(\[]\s*$/),i=t.match(/^\s*(class|def|module)\s.*$/),o=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),c=t.match(/^\s*(if|else|when)\s*/);(a||i||o||c)&&(n+=r)}return n},this.checkOutdent=function(e,t,r){return/^\s+(end|else)$/.test(t+r)||this.$outdent.checkOutdent(t,r)},this.autoOutdent=function(e,t,r){var n=t.getLine(r);if(/}/.test(n))return this.$outdent.autoOutdent(t,r);var s=this.$getIndent(n),a=t.getLine(r-1),i=this.$getIndent(a),o=t.getTabString();i.length<=s.length&&s.slice(-o.length)==o&&t.remove(new c(r,s.length-o.length,r,s.length))},this.$id="ace/mode/ruby"}.call(_.prototype),t.Mode=_}),ace.require(["ace/mode/ruby"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-sass.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",f=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./css_highlight_rules"),u=function(){var e=i.arrayToMap(o.supportType.split("|")),t=i.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unquote".split("|")),n=i.arrayToMap(o.supportConstant.split("|")),r=i.arrayToMap(o.supportConstantColor.split("|")),s=i.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),u=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),a="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:a+"(?:ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:a},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(i){return e.hasOwnProperty(i.toLowerCase())?"support.type":s.hasOwnProperty(i)?"keyword":n.hasOwnProperty(i)?"constant.language":t.hasOwnProperty(i)?"support.function":r.hasOwnProperty(i.toLowerCase())?"support.constant.color":u.hasOwnProperty(i.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(u,s),t.ScssHighlightRules=u}),ace.define("ace/mode/sass_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/scss_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./scss_highlight_rules").ScssHighlightRules,o=function(){s.call(this);var e=this.$rules.start;e[1].token=="comment"&&(e.splice(1,1,{onMatch:function(e,t,n){return n.unshift(this.next,-1,e.length-2,t),"comment"},regex:/^\s*\/\*/,next:"comment"},{token:"error.invalid",regex:"/\\*|[{;}]"},{token:"support.type",regex:/^\s*:[\w\-]+\s/}),this.$rules.comment=[{regex:/^\s*/,onMatch:function(e,t,n){return n[1]===-1&&(n[1]=Math.max(n[2],e.length-1)),e.length<=n[1]?(n.shift(),n.shift(),n.shift(),this.next=n.shift(),"text"):(this.next="","comment")},next:"start"},{defaultToken:"comment"}])};r.inherits(o,s),t.SassHighlightRules=o}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/sass",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sass_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sass_highlight_rules").SassHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.$id="ace/mode/sass"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/sass"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-scss.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",f=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/scss_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/css_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=e("./css_highlight_rules"),u=function(){var e=i.arrayToMap(o.supportType.split("|")),t=i.arrayToMap("hsl|hsla|rgb|rgba|url|attr|counter|counters|abs|adjust_color|adjust_hue|alpha|join|blue|ceil|change_color|comparable|complement|darken|desaturate|floor|grayscale|green|hue|if|invert|join|length|lighten|lightness|mix|nth|opacify|opacity|percentage|quote|red|round|saturate|saturation|scale_color|transparentize|type_of|unit|unitless|unquote".split("|")),n=i.arrayToMap(o.supportConstant.split("|")),r=i.arrayToMap(o.supportConstantColor.split("|")),s=i.arrayToMap("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|def|end|declare".split("|")),u=i.arrayToMap("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp".split("|")),a="\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'["].*\\\\$',next:"qqstring"},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"string",regex:"['].*\\\\$",next:"qstring"},{token:"constant.numeric",regex:a+"(?:ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:"constant.numeric",regex:a},{token:["support.function","string","support.function"],regex:"(url\\()(.*)(\\))"},{token:function(i){return e.hasOwnProperty(i.toLowerCase())?"support.type":s.hasOwnProperty(i)?"keyword":n.hasOwnProperty(i)?"constant.language":t.hasOwnProperty(i)?"support.function":r.hasOwnProperty(i.toLowerCase())?"support.constant.color":u.hasOwnProperty(i.toLowerCase())?"variable.language":"text"},regex:"\\-?[@a-z_][@a-z0-9_\\-]*"},{token:"variable",regex:"[a-z_\\-$][a-z0-9_\\-$]*\\b"},{token:"variable.language",regex:"#[a-z0-9-_]+"},{token:"variable.language",regex:"\\.[a-z0-9-_]+"},{token:"variable.language",regex:":[a-z0-9-_]+"},{token:"constant",regex:"[a-z0-9-_]+"},{token:"keyword.operator",regex:"<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"},{caseInsensitive:!0}],comment:[{token:"comment",regex:"\\*\\/",next:"start"},{defaultToken:"comment"}],qqstring:[{token:"string",regex:'(?:(?:\\\\.)|(?:[^"\\\\]))*?"',next:"start"},{token:"string",regex:".+"}],qstring:[{token:"string",regex:"(?:(?:\\\\.)|(?:[^'\\\\]))*?'",next:"start"},{token:"string",regex:".+"}]}};r.inherits(u,s),t.ScssHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"&&n.selection.isEmpty()){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(f.substring(s.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,r,i){if(i==="!"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row);if(/^\s*(;|}|$)/.test(o.substring(s.column)))return{text:"!important",selection:[10,10]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/scss",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/scss_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./scss_highlight_rules").ScssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("./behaviour/css").CssBehaviour,a=e("./folding/cstyle").FoldMode,f=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new u,this.foldingRules=new a};r.inherits(f,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/scss"}.call(f.prototype),t.Mode=f});                (function() {
-                    ace.require(["ace/mode/scss"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-smarty.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function a(){var e=o.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r=e.charAt(1)=="/"?2:1;if(r==1)t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++;else if(r==2&&t==this.nextState){n[1]--;if(!n[1]||n[1]<0)n.shift(),n.shift()}return[{type:"meta.tag.punctuation."+(r==1?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e+"",next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),e.length==2&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,f("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}function f(e){return[{token:"comment",regex:/\/\*/,next:[i.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[i.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),i=e("./doc_comment_highlight_rules").DocCommentHighlightRules,s=e("./text_highlight_rules").TextHighlightRules,o="[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*",u=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void",r="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[i.getStartRule("doc-start"),f("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+o+")(\\.)(prototype)(\\.)("+o+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+o+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+o+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:"+n+")\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:o},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+o+")(\\.)("+o+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:o},{regex:"",token:"empty",next:"no_regex"}],start:[i.getStartRule("doc-start"),f("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:o},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:r},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]};if(!e||!e.noES6)this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)n.unshift("start",t);else if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1||this.next.indexOf("jsx")!=-1)return"paren.quasi.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:r},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||e.jsx!=0)&&a.call(this);this.embedRules(i,"doc-",[i.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(u,s),t.JavaScriptHighlightRules=u}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./javascript_highlight_rules").JavaScriptHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/cstyle").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens,o=i.state;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"||e=="no_regex"){var u=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/);u&&(r+=n)}else if(e=="doc-start"){if(o=="start"||o=="no_regex")return"";var u=t.match(/^\s*(\/?)\*/);u&&(u[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/javascript"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text_highlight_rules").TextHighlightRules,o=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",u=t.supportFunction="rgb|rgba|url|attr|counter|counters",a=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",f=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",l=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",h=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",p=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",d=function(){var e=this.createKeywordMapper({"support.function":u,"support.constant":a,"support.type":o,"support.constant.color":f,"support.constant.fonts":l},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:h},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:p},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};r.inherits(d,s),t.CssHighlightRules=d}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var r={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,"double":2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{"default":1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},"float":{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,"static":1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},i=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e){if(typeof e[t]!="string")continue;var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});r.hasOwnProperty(n)||(r[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,r){this.completionsDefined||this.defineCompletions();var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(e==="ruleset"){var s=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(s)?(/([\w\-]+):[^:]*$/.test(s),this.getPropertyValueCompletions(e,t,n,r)):this.getPropertyCompletions(e,t,n,r)}return[]},this.getPropertyCompletions=function(e,t,n,i){var s=Object.keys(r);return s.map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,i){var s=t.getLine(n.row).substr(0,n.column),o=(/([\w\-]+):[^:]*$/.exec(s)||{})[1];if(!o)return[];var u=[];return o in r&&typeof r[o]=="object"&&(u=Object.keys(r[o])),u.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(i.prototype),t.CssCompletions=i}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../../token_iterator").TokenIterator,u=function(){this.inherit(s),this.add("colon","insertion",function(e,t,n,r,i){if(i===":"&&n.selection.isEmpty()){var s=n.getCursorPosition(),u=new o(r,s.row,s.column),a=u.getCurrentToken();a&&a.value.match(/\s+/)&&(a=u.stepBackward());if(a&&a.type==="support.type"){var f=r.doc.getLine(s.row),l=f.substring(s.column,s.column+1);if(l===":")return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(f.substring(s.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&s===":"){var u=n.getCursorPosition(),a=new o(r,u.row,u.column),f=a.getCurrentToken();f&&f.value.match(/\s+/)&&(f=a.stepBackward());if(f&&f.type==="support.type"){var l=r.doc.getLine(i.start.row),c=l.substring(i.end.column,i.end.column+1);if(c===";")return i.end.column++,i}}}),this.add("semicolon","insertion",function(e,t,n,r,i){if(i===";"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row),u=o.substring(s.column,s.column+1);if(u===";")return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,r,i){if(i==="!"&&n.selection.isEmpty()){var s=n.getCursorPosition(),o=r.doc.getLine(s.row);if(/^\s*(;|}|$)/.test(o.substring(s.column)))return{text:"!important",selection:[10,10]}}})};r.inherits(u,s),t.CssBehaviour=u}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./css_highlight_rules").CssHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../worker/worker_client").WorkerClient,a=e("./css_completions").CssCompletions,f=e("./behaviour/css").CssBehaviour,l=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new f,this.$completer=new a,this.foldingRules=new l};r.inherits(c,i),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&i[i.length-1].type=="comment")return r;var s=t.match(/^.*\{\s*$/);return s&&(r+=n),r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){var t=new u(["ace"],"ace/mode/css_worker","Worker");return t.attachToDocument(e.getDocument()),t.on("annotate",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/css"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(e){var t="[_:a-zA-Z\u00c0-\uffff][-_:.a-zA-Z0-9\u00c0-\uffff]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"-->",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===s&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(i.prototype),r.inherits(s,i),t.XmlHighlightRules=s}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./css_highlight_rules").CssHighlightRules,o=e("./javascript_highlight_rules").JavaScriptHighlightRules,u=e("./xml_highlight_rules").XmlHighlightRules,a=i.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),f=function(){u.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=a[t];return["meta.tag.punctuation."+(e=="<"?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(s,"css-","style"),this.embedTagRules((new o({jsx:!1})).getRules(),"js-","script"),this.constructor===f&&this.normalizeRules()};r.inherits(f,u),t.HtmlHighlightRules=f}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=a.getCurrentTokenColumn()+f.value.length;if(o.column<l)return;if(o.column==l){var c=a.stepForward();if(c&&u(c,"attribute-value"))return;a.stepBackward()}}if(/^\s*>/.test(r.getLine(o.row).slice(o.column)))return;while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var h=a.getCurrentTokenRow(),p=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var d=f.value;h==o.row&&(d=d.substring(0,o.column-p));if(this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};r.inherits(s,i),function(){this.$getMode=function(e){typeof e!="string"&&(e=e[0]);for(var t in this.subModes)if(e.indexOf(t)===0)return this.subModes[t];return null},this.$tryMode=function(e,t,n,r){var i=this.$getMode(e);return i?i.getFoldWidget(t,n,r):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var r=this.$getMode(e.getState(n-1));if(!r||!r.getFoldWidget(e,t,n))r=this.$getMode(e.getState(n));if(!r||!r.getFoldWidget(e,t,n))r=this.defaultMode;return r.getFoldWidgetRange(e,t,n)}}.call(s.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../../lib/lang"),s=e("../../range").Range,o=e("./fold_mode").FoldMode,u=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){o.call(this),this.voidElements=e||{},this.optionalEndTags=r.mixin({},this.voidElements),t&&r.mixin(this.optionalEndTags,t)};r.inherits(a,o);var f=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var r=this._getFirstTagInLine(e,n);return r?r.closing||!r.tagName&&r.selfClosing?t=="markbeginend"?"end":"":!r.tagName||r.selfClosing||this.voidElements.hasOwnProperty(r.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,r.tagName,r.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){var n=e.getTokens(t),r=new f;for(var i=0;i<n.length;i++){var s=n[i];if(l(s,"tag-open")){r.end.column=r.start.column+s.value.length,r.closing=l(s,"end-tag-open"),s=n[++i];if(!s)return null;r.tagName=s.value,r.end.column+=s.value.length;for(i++;i<n.length;i++){s=n[i],r.end.column+=s.value.length;if(l(s,"tag-close")){r.selfClosing=s.value=="/>";break}}return r}if(l(s,"tag-close"))return r.selfClosing=s.value=="/>",r;r.start.column+=s.value.length}return null},this._findEndTagInLine=function(e,t,n,r){var i=e.getTokens(t),s=0;for(var o=0;o<i.length;o++){var u=i[o];s+=u.value.length;if(s<r)continue;if(l(u,"end-tag-open")){u=i[o+1];if(u&&u.value==n)return!0}}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n;while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new f;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing=t.value=="/>",n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){while(e.length){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(this.optionalEndTags.hasOwnProperty(n.tagName)){e.pop();continue}return null}},this.getFoldWidgetRange=function(e,t,n){var r=this._getFirstTagInLine(e,n);if(!r)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var i=r.closing||r.selfClosing,o=[],a;if(!i){var f=new u(e,n,r.start.column),l={row:n,column:r.start.column+r.tagName.length+2};r.start.row==r.end.row&&(l.column=r.end.column);while(a=this._readTagForward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(a.closing){this._pop(o,a);if(o.length==0)return s.fromPoints(l,a.start)}else o.push(a)}}else{var f=new u(e,n,r.end.column),c={row:n,column:r.start.column};while(a=this._readTagBackward(f)){if(a.selfClosing){if(!o.length)return a.start.column+=a.tagName.length+2,a.end.column-=2,s.fromPoints(a.start,a.end);continue}if(!a.closing){this._pop(o,a);if(o.length==0)return a.start.column+=a.tagName.length+2,a.start.row==a.end.row&&a.start.column<a.end.column&&(a.start.column=a.end.column),s.fromPoints(a.start,c)}else o.push(a)}}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./mixed").FoldMode,s=e("./xml").FoldMode,o=e("./cstyle").FoldMode,u=t.FoldMode=function(e,t){i.call(this,new s(e,t),{"js-":new o,"css-":new o})};r.inherits(u,i)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function f(e,t){return e.type.lastIndexOf(t+".xml")>-1}function l(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"tag-name"))i=n.stepBackward();if(i)return i.value}function c(e,t){var n=new r(e,t.row,t.column),i=n.getCurrentToken();while(i&&!f(i,"attribute-name"))i=n.stepBackward();if(i)return i.value}var r=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"],s=["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"],o=i.concat(s),u={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,"for":1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{"for":1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,"default":1},section:{},summary:{},u:{},ul:{},"var":{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},a=Object.keys(u),h=function(){};(function(){this.getCompletions=function(e,t,n,r){var i=t.getTokenAt(n.row,n.column);if(!i)return[];if(f(i,"tag-name")||f(i,"tag-open")||f(i,"end-tag-open"))return this.getTagCompletions(e,t,n,r);if(f(i,"tag-whitespace")||f(i,"attribute-name"))return this.getAttributeCompletions(e,t,n,r);if(f(i,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,r);var s=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(s)?this.getHTMLEntityCompletions(e,t,n,r):[]},this.getTagCompletions=function(e,t,n,r){return a.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,r){var i=l(t,n);if(!i)return[];var s=o;return i in u&&(s=s.concat(Object.keys(u[i]))),s.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,r){var i=l(t,n),s=c(t,n);if(!i)return[];var o=[];return i in u&&s in u[i]&&typeof u[i][s]=="object"&&(o=Object.keys(u[i][s])),o.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,r){var i=["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"];return i.map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(h.prototype),t.HtmlCompletions=h}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./text").Mode,o=e("./javascript").Mode,u=e("./css").Mode,a=e("./html_highlight_rules").HtmlHighlightRules,f=e("./behaviour/xml").XmlBehaviour,l=e("./folding/html").FoldMode,c=e("./html_completions").HtmlCompletions,h=e("../worker/worker_client").WorkerClient,p=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],d=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],v=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=a,this.$behaviour=new f,this.$completer=new c,this.createModeDelegates({"js-":o,"css-":u}),this.foldingRules=new l(this.voidElements,i.arrayToMap(d))};r.inherits(v,s),function(){this.blockComment={start:"<!--",end:"-->"},this.voidElements=i.arrayToMap(p),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,r){return this.$completer.getCompletions(e,t,n,r)},this.createWorker=function(e){if(this.constructor!=v)return;var t=new h(["ace"],"ace/mode/html_worker","Worker");return t.attachToDocument(e.getDocument()),this.fragmentContext&&t.call("setOptions",[{context:this.fragmentContext}]),t.on("error",function(t){e.setAnnotations(t.data)}),t.on("terminate",function(){e.clearAnnotations()}),t},this.$id="ace/mode/html"}.call(v.prototype),t.Mode=v}),ace.define("ace/mode/smarty_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this);var e={start:[{include:"#comments"},{include:"#blocks"}],"#blocks":[{token:"punctuation.section.embedded.begin.smarty",regex:"\\{%?",push:[{token:"punctuation.section.embedded.end.smarty",regex:"%?\\}",next:"pop"},{include:"#strings"},{include:"#variables"},{include:"#lang"},{defaultToken:"source.smarty"}]}],"#comments":[{token:["punctuation.definition.comment.smarty","comment.block.smarty"],regex:"(\\{%?)(\\*)",push:[{token:"comment.block.smarty",regex:"\\*%?\\}",next:"pop"},{defaultToken:"comment.block.smarty"}]}],"#lang":[{token:"keyword.operator.smarty",regex:"(?:!=|!|<=|>=|<|>|===|==|%|&&|\\|\\|)|\\b(?:and|or|eq|neq|ne|gte|gt|ge|lte|lt|le|not|mod)\\b"},{token:"constant.language.smarty",regex:"\\b(?:TRUE|FALSE|true|false)\\b"},{token:"keyword.control.smarty",regex:"\\b(?:if|else|elseif|foreach|foreachelse|section|switch|case|break|default)\\b"},{token:"variable.parameter.smarty",regex:"\\b[a-zA-Z]+="},{token:"support.function.built-in.smarty",regex:"\\b(?:capture|config_load|counter|cycle|debug|eval|fetch|include_php|include|insert|literal|math|strip|rdelim|ldelim|assign|constant|block|html_[a-z_]*)\\b"},{token:"support.function.variable-modifier.smarty",regex:"\\|(?:capitalize|cat|count_characters|count_paragraphs|count_sentences|count_words|date_format|default|escape|indent|lower|nl2br|regex_replace|replace|spacify|string_format|strip_tags|strip|truncate|upper|wordwrap)"}],"#strings":[{token:"punctuation.definition.string.begin.smarty",regex:"'",push:[{token:"punctuation.definition.string.end.smarty",regex:"'",next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.single.smarty"}]},{token:"punctuation.definition.string.begin.smarty",regex:'"',push:[{token:"punctuation.definition.string.end.smarty",regex:'"',next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.double.smarty"}]}],"#variables":[{token:["punctuation.definition.variable.smarty","variable.other.global.smarty"],regex:"\\b(\\$)(Smarty\\.)"},{token:["punctuation.definition.variable.smarty","variable.other.smarty"],regex:"(\\$)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","variable.other.property.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","meta.function-call.object.smarty","punctuation.definition.variable.smarty","variable.other.smarty","punctuation.definition.variable.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\()(.*?)(\\))"}]},t=e.start;for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],t);Object.keys(e).forEach(function(t){this.$rules[t]||(this.$rules[t]=e[t])},this),this.normalizeRules()};s.metaData={fileTypes:["tpl"],foldingStartMarker:"\\{%?",foldingStopMarker:"%?\\}",name:"Smarty",scopeName:"text.html.smarty"},r.inherits(s,i),t.SmartyHighlightRules=s}),ace.define("ace/mode/smarty",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/smarty_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./html").Mode,s=e("./smarty_highlight_rules").SmartyHighlightRules,o=function(){i.call(this),this.HighlightRules=s};r.inherits(o,i),function(){this.$id="ace/mode/smarty"}.call(o.prototype),t.Mode=o});                (function() {
-                    ace.require(["ace/mode/smarty"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-smarty.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};o.inherits(a,r),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function o(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),o("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),o("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var o="/"==e.charAt(1)?2:1;return 1==o?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==o&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==o?"":"end-")+"tag-open.xml",value:e.slice(0,o)},{type:"meta.tag.tag-name.xml",value:e.substr(o)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,o("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var o=n[1].length,r=e.findMatchingBracket({row:t,column:o});if(!r||r.row==t)return 0;var a=this.$getIndent(e.getLine(r.row));e.replace(new i(t,0,t,o-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),c=e("../../range").Range,r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(a,r),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var r=this._getFoldWidgetBase(e,t,n);return!r&&this.startRegionRe.test(o)?"start":r},this.getFoldWidgetRange=function(e,t,n,o){var r,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(r=a.match(this.foldingStartMarker)){var i=r.index;if(r[1])return this.openingBracketBlock(e,r[1],n,i);var s=e.getCommentFoldRange(n,i+r[0].length,1);return s&&!s.isMultiLine()&&(o?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(r=a.match(this.foldingStopMarker))){i=r.index+r[0].length;return r[1]?this.closingBracketBlock(e,r[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),r=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(l<o)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=r)break;if(u.isMultiLine())t=u.end.row;else if(o==l)break}i=t}}return new c(r,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),r=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<r;){t=e.getLine(n);var l=i.exec(t);if(l&&(l[1]?s--:s++,!s))break}if(a<n)return new c(a,o,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new l,this.foldingRules=new u};o.inherits(c,r),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e),a=r.tokens,i=r.state;if(a.length&&"comment"==a[a.length-1].type)return o;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(o+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(o+=" "),o+="* ")}return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",i=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",g=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",d=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",m=function(){var e=this.createKeywordMapper({"support.function":i,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:g},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:d},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};o.inherits(m,r),t.CssHighlightRules=m}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var s={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},o=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});s.hasOwnProperty(n)||(s[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,o){if(this.completionsDefined||this.defineCompletions(),!t.getTokenAt(n.row,n.column))return[];if("ruleset"===e){var r=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(r)?(/([\w\-]+):[^:]*$/.test(r),this.getPropertyValueCompletions(e,t,n,o)):this.getPropertyCompletions(e,t,n,o)}return[]},this.getPropertyCompletions=function(e,t,n,o){return Object.keys(s).map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,o){var r=t.getLine(n.row).substr(0,n.column),a=(/([\w\-]+):[^:]*$/.exec(r)||{})[1];if(!a)return[];var i=[];return a in s&&"object"==typeof s[a]&&(i=Object.keys(s[a])),i.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(o.prototype),t.CssCompletions=o}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),u=e("../../token_iterator").TokenIterator,a=function(){this.inherit(r),this.add("colon","insertion",function(e,t,n,o,r){if(":"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=new u(o,a.row,a.column),s=i.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=i.stepBackward()),s&&"support.type"===s.type){var l=o.doc.getLine(a.row);if(":"===l.substring(a.column,a.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(l.substring(a.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&":"===a){var i=n.getCursorPosition(),s=new u(o,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type)if(";"===o.doc.getLine(r.start.row).substring(r.end.column,r.end.column+1))return r.end.column++,r}}),this.add("semicolon","insertion",function(e,t,n,o,r){if(";"===r&&n.selection.isEmpty()){var a=n.getCursorPosition();if(";"===o.doc.getLine(a.row).substring(a.column,a.column+1))return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,o,r){if("!"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=o.doc.getLine(a.row);if(/^\s*(;|}|$)/.test(i.substring(a.column)))return{text:"!important",selection:[10,10]}}})};o.inherits(a,r),t.CssBehaviour=a}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./css_highlight_rules").CssHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./css_completions").CssCompletions,u=e("./behaviour/css").CssBehaviour,c=e("./folding/cstyle").FoldMode,g=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new u,this.$completer=new l,this.foldingRules=new c};o.inherits(g,r),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e).tokens;return r.length&&"comment"==r[r.length-1].type||t.match(/^.*\{\s*$/)&&(o+=n),o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/css_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/css"}.call(g.prototype),t.Mode=g}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===a&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(r.prototype),o.inherits(a,r),t.XmlHighlightRules=a}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./css_highlight_rules").CssHighlightRules,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=r.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(a,"css-","style"),this.embedTagRules(new i({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};o.inherits(u,s),t.HtmlHighlightRules=u}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function m(e,t){return e&&-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),r=e("../behaviour").Behaviour,p=e("../../token_iterator").TokenIterator,a=(e("../../lib/lang"),function(){this.add("string_dquotes","insertion",function(e,t,n,o,r){if('"'==r||"'"==r){var a=r,i=o.doc.getTextRange(n.getSelectionRange());if(""!==i&&"'"!==i&&'"'!=i&&n.getWrapBehavioursEnabled())return{text:a+i+a,selection:!1};var s=n.getCursorPosition(),l=o.doc.getLine(s.row).substring(s.column,s.column+1),u=new p(o,s.row,s.column),c=u.getCurrentToken();if(l==a&&(m(c,"attribute-value")||m(c,"string")))return{text:"",selection:[1,1]};if(c||(c=u.stepBackward()),!c)return;for(;m(c,"tag-whitespace")||m(c,"whitespace");)c=u.stepBackward();var g=!l||l.match(/\s/);if(m(c,"attribute-equals")&&(g||">"==l)||m(c,"decl-attribute-equals")&&(g||"?"==l))return{text:a+a,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&('"'==a||"'"==a)&&o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)==a)return r.end.column++,r}),this.add("autoclosing","insertion",function(e,t,n,o,r){if(">"==r){var a=n.getSelectionRange().start,i=new p(o,a.row,a.column),s=i.getCurrentToken()||i.stepBackward();if(!s||!(m(s,"tag-name")||m(s,"tag-whitespace")||m(s,"attribute-name")||m(s,"attribute-equals")||m(s,"attribute-value")))return;if(m(s,"reference.attribute-value"))return;if(m(s,"attribute-value")){var l=i.getCurrentTokenColumn()+s.value.length;if(a.column<l)return;if(a.column==l){var u=i.stepForward();if(u&&m(u,"attribute-value"))return;i.stepBackward()}}if(/^\s*>/.test(o.getLine(a.row).slice(a.column)))return;for(;!m(s,"tag-name");)if("<"==(s=i.stepBackward()).value){s=i.stepForward();break}var c=i.getCurrentTokenRow(),g=i.getCurrentTokenColumn();if(m(i.stepBackward(),"end-tag-open"))return;var d=s.value;if(c==a.row&&(d=d.substring(0,a.column-g)),this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,o,r){if("\n"==r){var a=n.getCursorPosition(),i=o.getLine(a.row),s=new p(o,a.row,a.column),l=s.getCurrentToken();if(l&&-1!==l.type.indexOf("tag-close")){if("/>"==l.value)return;for(;l&&-1===l.type.indexOf("tag-name");)l=s.stepBackward();if(!l)return;var u=l.value,c=s.getCurrentTokenRow();if(!(l=s.stepBackward())||-1!==l.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[u]){var g=o.getTokenAt(a.row,a.column+1),d=(i=o.getLine(c),this.$getIndent(i)),m=d+o.getTabString();return g&&"</"===g.value?{text:"\n"+m+"\n"+d,selection:[1,m.length,1,m.length]}:{text:"\n"+m}}}}})});o.inherits(a,r),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};o.inherits(a,r),function(){this.$getMode=function(e){for(var t in"string"!=typeof e&&(e=e[0]),this.subModes)if(0===e.indexOf(t))return this.subModes[t];return null},this.$tryMode=function(e,t,n,o){var r=this.$getMode(e);return r?r.getFoldWidget(t,n,o):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var o=this.$getMode(e.getState(n-1));return o&&o.getFoldWidget(e,t,n)||(o=this.$getMode(e.getState(n))),o&&o.getFoldWidget(e,t,n)||(o=this.defaultMode),o.getFoldWidgetRange(e,t,n)}}.call(a.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),u=(e("../../lib/lang"),e("../../range").Range),r=e("./fold_mode").FoldMode,c=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){r.call(this),this.voidElements=e||{},this.optionalEndTags=o.mixin({},this.voidElements),t&&o.mixin(this.optionalEndTags,t)};o.inherits(a,r);var i=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var o=this._getFirstTagInLine(e,n);return o?o.closing||!o.tagName&&o.selfClosing?"markbeginend"==t?"end":"":!o.tagName||o.selfClosing||this.voidElements.hasOwnProperty(o.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,o.tagName,o.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){for(var n=e.getTokens(t),o=new i,r=0;r<n.length;r++){var a=n[r];if(l(a,"tag-open")){if(o.end.column=o.start.column+a.value.length,o.closing=l(a,"end-tag-open"),!(a=n[++r]))return null;for(o.tagName=a.value,o.end.column+=a.value.length,r++;r<n.length;r++)if(a=n[r],o.end.column+=a.value.length,l(a,"tag-close")){o.selfClosing="/>"==a.value;break}return o}if(l(a,"tag-close"))return o.selfClosing="/>"==a.value,o;o.start.column+=a.value.length}return null},this._findEndTagInLine=function(e,t,n,o){for(var r=e.getTokens(t),a=0,i=0;i<r.length;i++){var s=r[i];if(!((a+=s.value.length)<o)&&l(s,"end-tag-open")&&(s=r[i+1])&&s.value==n)return!0}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(n.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,n){var o=this._getFirstTagInLine(e,n);if(!o)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var r,a=[];if(o.closing||o.selfClosing){s=new c(e,n,o.end.column);for(var i={row:n,column:o.start.column};r=this._readTagBackward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing)a.push(r);else if(this._pop(a,r),0==a.length)return r.start.column+=r.tagName.length+2,r.start.row==r.end.row&&r.start.column<r.end.column&&(r.start.column=r.end.column),u.fromPoints(r.start,i)}else{var s=new c(e,n,o.start.column),l={row:n,column:o.start.column+o.tagName.length+2};for(o.start.row==o.end.row&&(l.column=o.end.column);r=this._readTagForward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing){if(this._pop(a,r),0==a.length)return u.fromPoints(l,r.start)}else a.push(r)}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./mixed").FoldMode,a=e("./xml").FoldMode,i=e("./cstyle").FoldMode,s=t.FoldMode=function(e,t){r.call(this,new a(e,t),{"js-":new i,"css-":new i})};o.inherits(s,r)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function s(e,t){return-1<e.type.lastIndexOf(t+".xml")}function l(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"tag-name");)o=n.stepBackward();if(o)return o.value}var u=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),c={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},r=Object.keys(c),o=function(){};(function(){this.getCompletions=function(e,t,n,o){var r=t.getTokenAt(n.row,n.column);if(!r)return[];if(s(r,"tag-name")||s(r,"tag-open")||s(r,"end-tag-open"))return this.getTagCompletions(e,t,n,o);if(s(r,"tag-whitespace")||s(r,"attribute-name"))return this.getAttributeCompletions(e,t,n,o);if(s(r,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,o);var a=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(a)?this.getHTMLEntityCompletions(e,t,n,o):[]},this.getTagCompletions=function(e,t,n,o){return r.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,o){var r=l(t,n);if(!r)return[];var a=i;return r in c&&(a=a.concat(Object.keys(c[r]))),a.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,o){var r=l(t,n),a=function(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"attribute-name");)o=n.stepBackward();if(o)return o.value}(t,n);if(!r)return[];var i=[];return r in c&&a in c[r]&&"object"==typeof c[r][a]&&(i=Object.keys(c[r][a])),i.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,o){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(o.prototype),t.HtmlCompletions=o}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./text").Mode,i=e("./javascript").Mode,s=e("./css").Mode,l=e("./html_highlight_rules").HtmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,c=e("./folding/html").FoldMode,g=e("./html_completions").HtmlCompletions,d=e("../worker/worker_client").WorkerClient,m=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],p=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],h=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=l,this.$behaviour=new u,this.$completer=new g,this.createModeDelegates({"js-":i,"css-":s}),this.foldingRules=new c(this.voidElements,r.arrayToMap(p))};o.inherits(h,a),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=r.arrayToMap(m),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){if(this.constructor==h){var e=new d(["ace"],"ace/mode/html_worker","Worker");return e.attachToDocument(t.getDocument()),this.fragmentContext&&e.call("setOptions",[{context:this.fragmentContext}]),e.on("error",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e}},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/smarty_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./html_highlight_rules").HtmlHighlightRules,a=function(){r.call(this);var t={start:[{include:"#comments"},{include:"#blocks"}],"#blocks":[{token:"punctuation.section.embedded.begin.smarty",regex:"\\{%?",push:[{token:"punctuation.section.embedded.end.smarty",regex:"%?\\}",next:"pop"},{include:"#strings"},{include:"#variables"},{include:"#lang"},{defaultToken:"source.smarty"}]}],"#comments":[{token:["punctuation.definition.comment.smarty","comment.block.smarty"],regex:"(\\{%?)(\\*)",push:[{token:"comment.block.smarty",regex:"\\*%?\\}",next:"pop"},{defaultToken:"comment.block.smarty"}]}],"#lang":[{token:"keyword.operator.smarty",regex:"(?:!=|!|<=|>=|<|>|===|==|%|&&|\\|\\|)|\\b(?:and|or|eq|neq|ne|gte|gt|ge|lte|lt|le|not|mod)\\b"},{token:"constant.language.smarty",regex:"\\b(?:TRUE|FALSE|true|false)\\b"},{token:"keyword.control.smarty",regex:"\\b(?:if|else|elseif|foreach|foreachelse|section|switch|case|break|default)\\b"},{token:"variable.parameter.smarty",regex:"\\b[a-zA-Z]+="},{token:"support.function.built-in.smarty",regex:"\\b(?:capture|config_load|counter|cycle|debug|eval|fetch|include_php|include|insert|literal|math|strip|rdelim|ldelim|assign|constant|block|html_[a-z_]*)\\b"},{token:"support.function.variable-modifier.smarty",regex:"\\|(?:capitalize|cat|count_characters|count_paragraphs|count_sentences|count_words|date_format|default|escape|indent|lower|nl2br|regex_replace|replace|spacify|string_format|strip_tags|strip|truncate|upper|wordwrap)"}],"#strings":[{token:"punctuation.definition.string.begin.smarty",regex:"'",push:[{token:"punctuation.definition.string.end.smarty",regex:"'",next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.single.smarty"}]},{token:"punctuation.definition.string.begin.smarty",regex:'"',push:[{token:"punctuation.definition.string.end.smarty",regex:'"',next:"pop"},{token:"constant.character.escape.smarty",regex:"\\\\."},{defaultToken:"string.quoted.double.smarty"}]}],"#variables":[{token:["punctuation.definition.variable.smarty","variable.other.global.smarty"],regex:"\\b(\\$)(Smarty\\.)"},{token:["punctuation.definition.variable.smarty","variable.other.smarty"],regex:"(\\$)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","variable.other.property.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)\\b"},{token:["keyword.operator.smarty","meta.function-call.object.smarty","punctuation.definition.variable.smarty","variable.other.smarty","punctuation.definition.variable.smarty"],regex:"(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\()(.*?)(\\))"}]},e=t.start;for(var n in this.$rules)this.$rules[n].unshift.apply(this.$rules[n],e);Object.keys(t).forEach(function(e){this.$rules[e]||(this.$rules[e]=t[e])},this),this.normalizeRules()};a.metaData={fileTypes:["tpl"],foldingStartMarker:"\\{%?",foldingStopMarker:"%?\\}",name:"Smarty",scopeName:"text.html.smarty"},o.inherits(a,r),t.SmartyHighlightRules=a}),ace.define("ace/mode/smarty",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/smarty_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./html").Mode,a=e("./smarty_highlight_rules").SmartyHighlightRules,i=function(){r.call(this),this.HighlightRules=a};o.inherits(i,r),function(){this.$id="ace/mode/smarty"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/smarty"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-sparql.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/sparql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{include:"#comments"},{include:"#strings"},{include:"#string-language-suffixes"},{include:"#string-datatype-suffixes"},{include:"#logic-operators"},{include:"#relative-urls"},{include:"#xml-schema-types"},{include:"#rdf-schema-types"},{include:"#owl-types"},{include:"#qnames"},{include:"#keywords"},{include:"#built-in-functions"},{include:"#variables"},{include:"#boolean-literal"},{include:"#punctuation-operators"}],"#boolean-literal":[{token:"constant.language.boolean.sparql",regex:/true|false/}],"#built-in-functions":[{token:"support.function.sparql",regex:/[Aa][Bb][Ss]|[Aa][Vv][Gg]|[Bb][Nn][Oo][Dd][Ee]|[Bb][Oo][Uu][Nn][Dd]|[Cc][Ee][Ii][Ll]|[Cc][Oo][Aa][Ll][Ee][Ss][Cc][Ee]|[Cc][Oo][Nn][Cc][Aa][Tt]|[Cc][Oo][Nn][Tt][Aa][Ii][Nn][Ss]|[Cc][Oo][Uu][Nn][Tt]|[Dd][Aa][Tt][Aa][Tt][Yy][Pp][Ee]|[Dd][Aa][Yy]|[Ee][Nn][Cc][Oo][Dd][Ee]_[Ff][Oo][Rr]_[Uu][Rr][Ii]|[Ee][Xx][Ii][Ss][Tt][Ss]|[Ff][Ll][Oo][Oo][Rr]|[Gg][Rr][Oo][Uu][Pp]_[Cc][Oo][Nn][Cc][Aa][Tt]|[Hh][Oo][Uu][Rr][Ss]|[Ii][Ff]|[Ii][Rr][Ii]|[Ii][Ss][Bb][Ll][Aa][Nn][Kk]|[Ii][Ss][Ii][Rr][Ii]|[Ii][Ss][Ll][Ii][Tt][Ee][Rr][Aa][Ll]|[Ii][Ss][Nn][Uu][Mm][Ee][Rr][Ii][Cc]|[Ii][Ss][Uu][Rr][Ii]|[Ll][Aa][Nn][Gg]|[Ll][Aa][Nn][Gg][Mm][Aa][Tt][Cc][Hh][Ee][Ss]|[Ll][Cc][Aa][Ss][Ee]|[Mm][Aa][Xx]|[Mm][Dd]5|[Mm][Ii][Nn]|[Mm][Ii][Nn][Uu][Tt][Ee][Ss]|[Mm][Oo][Nn][Tt][Hh]|[Nn][Oo][Ww]|[Rr][Aa][Nn][Dd]|[Rr][Ee][Gg][Ee][Xx]|[Rr][Ee][Pp][Ll][Aa][Cc][Ee]|[Rr][Oo][Uu][Nn][Dd]|[Ss][Aa][Mm][Ee][Tt][Ee][Rr][Mm]|[Ss][Aa][Mm][Pp][Ll][Ee]|[Ss][Ee][Cc][Oo][Nn][Dd][Ss]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Hh][Aa](?:1|256|384|512)|[Ss][Tt][Rr]|[Ss][Tt][Rr][Aa][Ff][Tt][Ee][Rr]|[Ss][Tt][Rr][Bb][Ee][Ff][Oo][Rr][Ee]|[Ss][Tt][Rr][Dd][Tt]|[Ss][Tt][Rr][Ee][Nn][Dd][Ss]|[Ss][Tt][Rr][Ll][Aa][Nn][Gg]|[Ss][Tt][Rr][Ll][Ee][Nn]|[Ss][Tt][Rr][Ss][Tt][Aa][Rr][Tt][Ss]|[Ss][Tt][Rr][Uu][Uu][Ii][Dd]|[Ss][Uu][Bb][Ss][Tt][Rr]|[Ss][Uu][Mm]|[Tt][Ii][Mm][Ee][Zz][Oo][Nn][Ee]|[Tt][Zz]|[Uu][Cc][Aa][Ss][Ee]|[Uu][Rr][Ii]|[Uu][Uu][Ii][Dd]|[Yy][Ee][Aa][Rr]/}],"#comments":[{token:["punctuation.definition.comment.sparql","comment.line.hash.sparql"],regex:/(#)(.*$)/}],"#keywords":[{token:"keyword.other.sparql",regex:/[Aa][Dd][Dd]|[Aa][Ll][Ll]|[Aa][Ss]|[As][Ss][Cc]|[Aa][Ss][Kk]|[Bb][Aa][Ss][Ee]|[Bb][Ii][Nn][Dd]|[Bb][Yy]|[Cc][Ll][Ee][Aa][Rr]|[Cc][Oo][Nn][Ss][Tt][Rr][Uu][Cc][Tt]|[Cc][Oo][Pp][Yy]|[Cc][Rr][Ee][Aa][Tt][Ee]|[Dd][Aa][Tt][Aa]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt]|[Dd][Ee][Ll][Ee][Tt][Ee]|[Dd][Ee][Sc][Cc]|[Dd][Ee][Ss][Cc][Rr][Ii][Bb][Ee]|[Dd][Ii][Ss][Tt][Ii][Nn][Cc][Tt]|[Dd][Rr][Oo][Pp]|[Ff][Ii][Ll][Tt][Ee][Rr]|[Ff][Rr][Oo][Mm]|[Gg][Rr][Aa][Pp][Hh]|[Gg][Rr][Oo][Uu][Pp]|[Hh][Aa][Vv][Ii][Nn][Gg]|[Ii][Nn][Ss][Ee][Rr][Tt]|[Ll][Ii][Mm][Ii][Tt]|[Ll][Oo][Aa][Dd]|[Mm][Ii][Nn][Uu][Ss]|[Mm][Oo][Vv][Ee]|[Nn][Aa][Mm][Ee][Dd]|[Oo][Ff][Ff][Ss][Ee][Tt]|[Oo][Pp][Tt][Ii][Oo][Nn][Aa][Ll]|[Oo][Rr][Dd][Ee][Rr]|[Pp][Rr][Ee][Ff][Ii][Xx]|[Rr][Ee][Dd][Uu][Cc][Ee][Dd]|[Ss][Ee][Ll][Ee][Cc][Tt]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Ee][Rr][Vv][Ii][Cc][Ee]|[Ss][Ii][Ll][Ee][Nn][Tt]|[Tt][Oo]|[Uu][Nn][Dd][Ee][Ff]|[Uu][Nn][Ii][Oo][Nn]|[Uu][Ss][Ii][Nn][Gg]|[Vv][Aa][Ll][Uu][Ee][Ss]|[Ww][He][Ee][Rr][Ee]|[Ww][Ii][Tt][Hh]/}],"#logic-operators":[{token:"keyword.operator.logical.sparql",regex:/\|\||&&|=|!=|<|>|<=|>=|(?:^|!?\s)IN(?:!?\s|$)|(?:^|!?\s)NOT(?:!?\s|$)|-|\+|\*|\/|\!/}],"#owl-types":[{token:"support.type.datatype.owl.sparql",regex:/owl:[a-zA-Z]+/}],"#punctuation-operators":[{token:"keyword.operator.punctuation.sparql",regex:/;|,|\.|\(|\)|\{|\}|\|/}],"#qnames":[{token:"entity.name.other.qname.sparql",regex:/(?:[a-zA-Z][-_a-zA-Z0-9]*)?:(?:[_a-zA-Z][-_a-zA-Z0-9]*)?/}],"#rdf-schema-types":[{token:"support.type.datatype.rdf.schema.sparql",regex:/rdfs?:[a-zA-Z]+|(?:^|\s)a(?:\s|$)/}],"#relative-urls":[{token:"string.quoted.other.relative.url.sparql",regex:/</,push:[{token:"string.quoted.other.relative.url.sparql",regex:/>/,next:"pop"},{defaultToken:"string.quoted.other.relative.url.sparql"}]}],"#string-datatype-suffixes":[{token:"keyword.operator.datatype.suffix.sparql",regex:/\^\^/}],"#string-language-suffixes":[{token:["keyword.operator.language.suffix.sparql","constant.language.suffix.sparql"],regex:/(?!")(@)([a-z]+(?:\-[a-z0-9]+)*)/}],"#strings":[{token:"string.quoted.triple.sparql",regex:/"""/,push:[{token:"string.quoted.triple.sparql",regex:/"""/,next:"pop"},{defaultToken:"string.quoted.triple.sparql"}]},{token:"string.quoted.double.sparql",regex:/"/,push:[{token:"string.quoted.double.sparql",regex:/"/,next:"pop"},{token:"invalid.string.newline",regex:/$/},{token:"constant.character.escape.sparql",regex:/\\./},{defaultToken:"string.quoted.double.sparql"}]}],"#variables":[{token:"variable.other.sparql",regex:/(?:\?|\$)[-_a-zA-Z0-9]+/}],"#xml-schema-types":[{token:"support.type.datatype.schema.sparql",regex:/xsd?:[a-z][a-zA-Z]+/}]},this.normalizeRules()};s.metaData={fileTypes:["rq","sparql"],name:"SPARQL",scopeName:"source.sparql"},r.inherits(s,i),t.SPARQLHighlightRules=s}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/sparql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sparql_highlight_rules","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./sparql_highlight_rules").SPARQLHighlightRules,o=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o};r.inherits(u,i),function(){this.$id="ace/mode/sparql"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/sparql"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-sparql.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/sparql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,r){"use strict";var i=e("../lib/oop"),s=e("./text_highlight_rules").TextHighlightRules,o=function(){this.$rules={start:[{include:"#comments"},{include:"#strings"},{include:"#string-language-suffixes"},{include:"#string-datatype-suffixes"},{include:"#logic-operators"},{include:"#relative-urls"},{include:"#xml-schema-types"},{include:"#rdf-schema-types"},{include:"#owl-types"},{include:"#qnames"},{include:"#keywords"},{include:"#built-in-functions"},{include:"#variables"},{include:"#boolean-literal"},{include:"#punctuation-operators"}],"#boolean-literal":[{token:"constant.language.boolean.sparql",regex:/true|false/}],"#built-in-functions":[{token:"support.function.sparql",regex:/[Aa][Bb][Ss]|[Aa][Vv][Gg]|[Bb][Nn][Oo][Dd][Ee]|[Bb][Oo][Uu][Nn][Dd]|[Cc][Ee][Ii][Ll]|[Cc][Oo][Aa][Ll][Ee][Ss][Cc][Ee]|[Cc][Oo][Nn][Cc][Aa][Tt]|[Cc][Oo][Nn][Tt][Aa][Ii][Nn][Ss]|[Cc][Oo][Uu][Nn][Tt]|[Dd][Aa][Tt][Aa][Tt][Yy][Pp][Ee]|[Dd][Aa][Yy]|[Ee][Nn][Cc][Oo][Dd][Ee]_[Ff][Oo][Rr]_[Uu][Rr][Ii]|[Ee][Xx][Ii][Ss][Tt][Ss]|[Ff][Ll][Oo][Oo][Rr]|[Gg][Rr][Oo][Uu][Pp]_[Cc][Oo][Nn][Cc][Aa][Tt]|[Hh][Oo][Uu][Rr][Ss]|[Ii][Ff]|[Ii][Rr][Ii]|[Ii][Ss][Bb][Ll][Aa][Nn][Kk]|[Ii][Ss][Ii][Rr][Ii]|[Ii][Ss][Ll][Ii][Tt][Ee][Rr][Aa][Ll]|[Ii][Ss][Nn][Uu][Mm][Ee][Rr][Ii][Cc]|[Ii][Ss][Uu][Rr][Ii]|[Ll][Aa][Nn][Gg]|[Ll][Aa][Nn][Gg][Mm][Aa][Tt][Cc][Hh][Ee][Ss]|[Ll][Cc][Aa][Ss][Ee]|[Mm][Aa][Xx]|[Mm][Dd]5|[Mm][Ii][Nn]|[Mm][Ii][Nn][Uu][Tt][Ee][Ss]|[Mm][Oo][Nn][Tt][Hh]|[Nn][Oo][Ww]|[Rr][Aa][Nn][Dd]|[Rr][Ee][Gg][Ee][Xx]|[Rr][Ee][Pp][Ll][Aa][Cc][Ee]|[Rr][Oo][Uu][Nn][Dd]|[Ss][Aa][Mm][Ee][Tt][Ee][Rr][Mm]|[Ss][Aa][Mm][Pp][Ll][Ee]|[Ss][Ee][Cc][Oo][Nn][Dd][Ss]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Hh][Aa](?:1|256|384|512)|[Ss][Tt][Rr]|[Ss][Tt][Rr][Aa][Ff][Tt][Ee][Rr]|[Ss][Tt][Rr][Bb][Ee][Ff][Oo][Rr][Ee]|[Ss][Tt][Rr][Dd][Tt]|[Ss][Tt][Rr][Ee][Nn][Dd][Ss]|[Ss][Tt][Rr][Ll][Aa][Nn][Gg]|[Ss][Tt][Rr][Ll][Ee][Nn]|[Ss][Tt][Rr][Ss][Tt][Aa][Rr][Tt][Ss]|[Ss][Tt][Rr][Uu][Uu][Ii][Dd]|[Ss][Uu][Bb][Ss][Tt][Rr]|[Ss][Uu][Mm]|[Tt][Ii][Mm][Ee][Zz][Oo][Nn][Ee]|[Tt][Zz]|[Uu][Cc][Aa][Ss][Ee]|[Uu][Rr][Ii]|[Uu][Uu][Ii][Dd]|[Yy][Ee][Aa][Rr]/}],"#comments":[{token:["punctuation.definition.comment.sparql","comment.line.hash.sparql"],regex:/(#)(.*$)/}],"#keywords":[{token:"keyword.other.sparql",regex:/[Aa][Dd][Dd]|[Aa][Ll][Ll]|[Aa][Ss]|[As][Ss][Cc]|[Aa][Ss][Kk]|[Bb][Aa][Ss][Ee]|[Bb][Ii][Nn][Dd]|[Bb][Yy]|[Cc][Ll][Ee][Aa][Rr]|[Cc][Oo][Nn][Ss][Tt][Rr][Uu][Cc][Tt]|[Cc][Oo][Pp][Yy]|[Cc][Rr][Ee][Aa][Tt][Ee]|[Dd][Aa][Tt][Aa]|[Dd][Ee][Ff][Aa][Uu][Ll][Tt]|[Dd][Ee][Ll][Ee][Tt][Ee]|[Dd][Ee][Sc][Cc]|[Dd][Ee][Ss][Cc][Rr][Ii][Bb][Ee]|[Dd][Ii][Ss][Tt][Ii][Nn][Cc][Tt]|[Dd][Rr][Oo][Pp]|[Ff][Ii][Ll][Tt][Ee][Rr]|[Ff][Rr][Oo][Mm]|[Gg][Rr][Aa][Pp][Hh]|[Gg][Rr][Oo][Uu][Pp]|[Hh][Aa][Vv][Ii][Nn][Gg]|[Ii][Nn][Ss][Ee][Rr][Tt]|[Ll][Ii][Mm][Ii][Tt]|[Ll][Oo][Aa][Dd]|[Mm][Ii][Nn][Uu][Ss]|[Mm][Oo][Vv][Ee]|[Nn][Aa][Mm][Ee][Dd]|[Oo][Ff][Ff][Ss][Ee][Tt]|[Oo][Pp][Tt][Ii][Oo][Nn][Aa][Ll]|[Oo][Rr][Dd][Ee][Rr]|[Pp][Rr][Ee][Ff][Ii][Xx]|[Rr][Ee][Dd][Uu][Cc][Ee][Dd]|[Ss][Ee][Ll][Ee][Cc][Tt]|[Ss][Ee][Pp][Aa][Rr][Aa][Tt][Oo][Rr]|[Ss][Ee][Rr][Vv][Ii][Cc][Ee]|[Ss][Ii][Ll][Ee][Nn][Tt]|[Tt][Oo]|[Uu][Nn][Dd][Ee][Ff]|[Uu][Nn][Ii][Oo][Nn]|[Uu][Ss][Ii][Nn][Gg]|[Vv][Aa][Ll][Uu][Ee][Ss]|[Ww][He][Ee][Rr][Ee]|[Ww][Ii][Tt][Hh]/}],"#logic-operators":[{token:"keyword.operator.logical.sparql",regex:/\|\||&&|=|!=|<|>|<=|>=|(?:^|!?\s)IN(?:!?\s|$)|(?:^|!?\s)NOT(?:!?\s|$)|-|\+|\*|\/|\!/}],"#owl-types":[{token:"support.type.datatype.owl.sparql",regex:/owl:[a-zA-Z]+/}],"#punctuation-operators":[{token:"keyword.operator.punctuation.sparql",regex:/;|,|\.|\(|\)|\{|\}|\|/}],"#qnames":[{token:"entity.name.other.qname.sparql",regex:/(?:[a-zA-Z][-_a-zA-Z0-9]*)?:(?:[_a-zA-Z][-_a-zA-Z0-9]*)?/}],"#rdf-schema-types":[{token:"support.type.datatype.rdf.schema.sparql",regex:/rdfs?:[a-zA-Z]+|(?:^|\s)a(?:\s|$)/}],"#relative-urls":[{token:"string.quoted.other.relative.url.sparql",regex:/</,push:[{token:"string.quoted.other.relative.url.sparql",regex:/>/,next:"pop"},{defaultToken:"string.quoted.other.relative.url.sparql"}]}],"#string-datatype-suffixes":[{token:"keyword.operator.datatype.suffix.sparql",regex:/\^\^/}],"#string-language-suffixes":[{token:["keyword.operator.language.suffix.sparql","constant.language.suffix.sparql"],regex:/(?!")(@)([a-z]+(?:\-[a-z0-9]+)*)/}],"#strings":[{token:"string.quoted.triple.sparql",regex:/"""/,push:[{token:"string.quoted.triple.sparql",regex:/"""/,next:"pop"},{defaultToken:"string.quoted.triple.sparql"}]},{token:"string.quoted.double.sparql",regex:/"/,push:[{token:"string.quoted.double.sparql",regex:/"/,next:"pop"},{token:"invalid.string.newline",regex:/$/},{token:"constant.character.escape.sparql",regex:/\\./},{defaultToken:"string.quoted.double.sparql"}]}],"#variables":[{token:"variable.other.sparql",regex:/(?:\?|\$)[-_a-zA-Z0-9]+/}],"#xml-schema-types":[{token:"support.type.datatype.schema.sparql",regex:/xsd?:[a-z][a-zA-Z]+/}]},this.normalizeRules()};o.metaData={fileTypes:["rq","sparql"],name:"SPARQL",scopeName:"source.sparql"},i.inherits(o,s),t.SPARQLHighlightRules=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,r){"use strict";var i=e("../../lib/oop"),u=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};i.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,r){var i=e.getLine(r);if(this.singleLineBlockCommentRe.test(i)&&!this.startRegionRe.test(i)&&!this.tripleStarBlockCommentRe.test(i))return"";var s=this._getFoldWidgetBase(e,t,r);return!s&&this.startRegionRe.test(i)?"start":s},this.getFoldWidgetRange=function(e,t,r,i){var s,o=e.getLine(r);if(this.startRegionRe.test(o))return this.getCommentRegionBlock(e,o,r);if(s=o.match(this.foldingStartMarker)){var n=s.index;if(s[1])return this.openingBracketBlock(e,s[1],r,n);var a=e.getCommentFoldRange(r,n+s[0].length,1);return a&&!a.isMultiLine()&&(i?a=this.getSectionRange(e,r):"all"!=t&&(a=null)),a}if("markbegin"!==t&&(s=o.match(this.foldingStopMarker))){n=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],r,n):e.getCommentFoldRange(r,n,-1)}},this.getSectionRange=function(e,t){for(var r=e.getLine(t),i=r.search(/\S/),s=t,o=r.length,n=t+=1,a=e.getLength();++t<a;){var l=(r=e.getLine(t)).search(/\S/);if(-1!==l){if(l<i)break;var g=this.getFoldWidgetRange(e,"all",t);if(g){if(g.start.row<=s)break;if(g.isMultiLine())t=g.end.row;else if(i==l)break}n=t}}return new u(s,o,n,e.getLine(n).length)},this.getCommentRegionBlock=function(e,t,r){for(var i=t.search(/\s*$/),s=e.getLength(),o=r,n=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;++r<s;){t=e.getLine(r);var l=n.exec(t);if(l&&(l[1]?a--:a++,!a))break}if(o<r)return new u(o,i,r,t.length)}}.call(o.prototype)}),ace.define("ace/mode/sparql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sparql_highlight_rules","ace/mode/folding/cstyle"],function(e,t,r){"use strict";var i=e("../lib/oop"),s=e("./text").Mode,o=e("./sparql_highlight_rules").SPARQLHighlightRules,n=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=o,this.foldingRules=new n};i.inherits(a,s),function(){this.$id="ace/mode/sparql"}.call(a.prototype),t.Mode=a}),ace.require(["ace/mode/sparql"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-swift.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},s.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(s,i),s.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},s.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},s.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=s}),ace.define("ace/mode/swift_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../lib/lang"),s=e("./doc_comment_highlight_rules").DocCommentHighlightRules,o=e("./text_highlight_rules").TextHighlightRules,u=function(){function t(e,t){var n=t.nestable||t.interpolation,r=t.interpolation&&t.interpolation.nextState||"start",s={regex:e+(t.multiline?"":"(?=.)"),token:"string.start"},o=[t.escape&&{regex:t.escape,token:"character.escape"},t.interpolation&&{token:"paren.quasi.start",regex:i.escapeRegExp(t.interpolation.lead+t.interpolation.open),push:r},t.error&&{regex:t.error,token:"error.invalid"},{regex:e+(t.multiline?"":"|$"),token:"string.end",next:n?"pop":"start"},{defaultToken:"string"}].filter(Boolean);n?s.push=o:s.next=o;if(!t.interpolation)return s;var u=t.interpolation.open,a=t.interpolation.close,f={regex:"["+i.escapeRegExp(u+a)+"]",onMatch:function(e,t,n){this.next=e==u?this.nextState:"";if(e==u&&n.length)return n.unshift("start",t),"paren";if(e==a&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.quasi.end"}return e==u?"paren.lparen":"paren.rparen"},nextState:r};return[f,s]}function n(){return[{token:"comment",regex:"\\/\\/(?=.)",next:[s.getTagRule(),{token:"comment",regex:"$|^",next:"start"},{defaultToken:"comment",caseInsensitive:!0}]},s.getStartRule("doc-start"),{token:"comment.start",regex:/\/\*/,stateName:"nested_comment",push:[s.getTagRule(),{token:"comment.start",regex:/\/\*/,push:"nested_comment"},{token:"comment.end",regex:"\\*\\/",next:"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var e=this.createKeywordMapper({"variable.language":"",keyword:"__COLUMN__|__FILE__|__FUNCTION__|__LINE__|as|associativity|break|case|class|continue|default|deinit|didSet|do|dynamicType|else|enum|extension|fallthrough|for|func|get|if|import|in|infix|init|inout|is|left|let|let|mutating|new|none|nonmutating|operator|override|postfix|precedence|prefix|protocol|return|right|safe|Self|self|set|struct|subscript|switch|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|convenience|dynamic|final|infix|lazy|mutating|nonmutating|optional|override|postfix|prefix|required|static|guard|defer","storage.type":"bool|double|Double|extension|float|Float|int|Int|private|public|string|String","constant.language":"false|Infinity|NaN|nil|no|null|null|off|on|super|this|true|undefined|yes","support.function":""},"identifier");this.$rules={start:[t('"',{escape:/\\(?:[0\\tnr"']|u{[a-fA-F1-9]{0,8}})/,interpolation:{lead:"\\",open:"(",close:")"},error:/\\./,multiline:!1}),n(),{regex:/@[a-zA-Z_$][a-zA-Z_$\d\u0080-\ufffe]*/,token:"variable.parameter"},{regex:/[a-zA-Z_$][a-zA-Z_$\d\u0080-\ufffe]*/,token:e},{token:"constant.numeric",regex:/[+-]?(?:0(?:b[01]+|o[0-7]+|x[\da-fA-F])|\d+(?:(?:\.\d*)?(?:[PpEe][+-]?\d+)?)\b)/},{token:"keyword.operator",regex:/--|\+\+|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/}]},this.embedRules(s,"doc-",[s.getEndRule("start")]),this.normalizeRules()};r.inherits(u,o),t.HighlightRules=u}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/swift",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/swift_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./swift_highlight_rules").HighlightRules,o=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,a=function(){this.HighlightRules=s,this.foldingRules=new u,this.$behaviour=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(a,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/",nestable:!0},this.$id="ace/mode/swift"}.call(a.prototype),t.Mode=a});                (function() {
-                    ace.require(["ace/mode/swift"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-tcl.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),l=e("../../range").Range,i=e("./fold_mode").FoldMode,r=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(r,i),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(o)?"start":i},this.getFoldWidgetRange=function(e,t,n,o){var i,r=e.getLine(n);if(this.startRegionRe.test(r))return this.getCommentRegionBlock(e,r,n);if(i=r.match(this.foldingStartMarker)){var a=i.index;if(i[1])return this.openingBracketBlock(e,i[1],n,a);var s=e.getCommentFoldRange(n,a+i[0].length,1);return s&&!s.isMultiLine()&&(o?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(i=r.match(this.foldingStopMarker))){a=i.index+i[0].length;return i[1]?this.closingBracketBlock(e,i[1],n,a):e.getCommentFoldRange(n,a,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),i=t,r=n.length,a=t+=1,s=e.getLength();++t<s;){var g=(n=e.getLine(t)).search(/\S/);if(-1!==g){if(g<o)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=i)break;if(c.isMultiLine())t=c.end.row;else if(o==g)break}a=t}}return new l(i,r,a,e.getLine(a).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),i=e.getLength(),r=n,a=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<i;){t=e.getLine(n);var g=a.exec(t);if(g&&(g[1]?s--:s++,!s))break}if(r<n)return new l(r,o,n,t.length)}}.call(r.prototype)}),ace.define("ace/mode/tcl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,r=function(){this.$rules={start:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$"},{token:"support.function",regex:"[\\\\]$",next:"splitlineStart"},{token:"text",regex:/\\(?:["{}\[\]$\\])/},{token:"text",regex:"^|[^{][;][^}]|[/\r/]",next:"commandItem"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:'[ ]*["]',next:"qqstring"},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"identifier",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"paren.lparen",regex:"[[{]",next:"commandItem"},{token:"paren.lparen",regex:"[(]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],commandItem:[{token:"comment",regex:"#.*\\\\$",next:"commentfollow"},{token:"comment",regex:"#.*$",next:"start"},{token:"string",regex:'[ ]*["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"variable.instance",regex:"[$]",next:"variable"},{token:"support.function",regex:"(?:[:][:])[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"[a-zA-Z0-9_/]+(?:[:][:])",next:"commandItem"},{token:"support.function",regex:"(?:[:][:])",next:"commandItem"},{token:"paren.rparen",regex:"[\\])}]"},{token:"support.function",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|{\\*}|;|::"},{token:"keyword",regex:"[a-zA-Z0-9_/]+",next:"start"}],commentfollow:[{token:"comment",regex:".*\\\\$",next:"commentfollow"},{token:"comment",regex:".+",next:"start"}],splitlineStart:[{token:"text",regex:"^.",next:"start"}],variable:[{token:"variable.instance",regex:"[a-zA-Z_\\d]+(?:[(][a-zA-Z_\\d]+[)])?",next:"start"},{token:"variable.instance",regex:"{?[a-zA-Z_\\d]+}?",next:"start"}],qqstring:[{token:"string",regex:'(?:[^\\\\]|\\\\.)*?["]',next:"start"},{token:"string",regex:".+"}]}};o.inherits(r,i),t.TclHighlightRules=r}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var a=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var o=n[1].length,i=e.findMatchingBracket({row:t,column:o});if(!i||i.row==t)return 0;var r=this.$getIndent(e.getLine(i.row));e.replace(new a(t,0,t,o-1),r)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/tcl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/folding/cstyle","ace/mode/tcl_highlight_rules","ace/mode/matching_brace_outdent","ace/range"],function(e,t,n){"use strict";var o=e("../lib/oop"),i=e("./text").Mode,r=e("./folding/cstyle").FoldMode,a=e("./tcl_highlight_rules").TclHighlightRules,s=e("./matching_brace_outdent").MatchingBraceOutdent,g=(e("../range").Range,function(){this.HighlightRules=a,this.$outdent=new s,this.foldingRules=new r,this.$behaviour=this.$defaultBehaviour});o.inherits(g,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e).tokens;if(i.length&&"comment"==i[i.length-1].type)return o;"start"==e&&(t.match(/^.*[\{\(\[]\s*$/)&&(o+=n));return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/tcl"}.call(g.prototype),t.Mode=g}),ace.require(["ace/mode/tcl"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-tex.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/tex_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),i=function(e){e||(e="text"),this.$rules={start:[{token:"comment",regex:"%.*$"},{token:e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b",next:"nospell"},{token:"keyword",regex:"\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])}]"},{token:e,regex:"\\s+"}],nospell:[{token:"comment",regex:"%.*$",next:"start"},{token:"nospell."+e,regex:"\\\\[$&%#\\{\\}]"},{token:"keyword",regex:"\\\\(?:documentclass|usepackage|newcounter|setcounter|addtocounter|value|arabic|stepcounter|newenvironment|renewenvironment|ref|vref|eqref|pageref|label|cite[a-zA-Z]*|tag|begin|end|bibitem)\\b"},{token:"keyword",regex:"\\\\(?:[a-zA-Z0-9]+|[^a-zA-Z0-9])",next:"start"},{token:"paren.keyword.operator",regex:"[[({]"},{token:"paren.keyword.operator",regex:"[\\])]"},{token:"paren.keyword.operator",regex:"}",next:"start"},{token:"nospell."+e,regex:"\\s+"},{token:"nospell."+e,regex:"\\w+"}]}};r.inherits(i,o),t.TexHighlightRules=i}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var a=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var i=this.$getIndent(e.getLine(o.row));e.replace(new a(t,0,t,r-1),i)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/tex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/tex_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,i=e("./text_highlight_rules").TextHighlightRules,a=e("./tex_highlight_rules").TexHighlightRules,c=e("./matching_brace_outdent").MatchingBraceOutdent,u=function(e){this.HighlightRules=e?i:a,this.$outdent=new c,this.$behaviour=this.$defaultBehaviour};r.inherits(u,o),function(){this.lineCommentStart="%",this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.allowAutoInsert=function(){return!1},this.$id="ace/mode/tex"}.call(u.prototype),t.Mode=u}),ace.require(["ace/mode/tex"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-textile.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/textile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:function(e){return e.charAt(0)=="h"?"markup.heading."+e.charAt(1):"markup.heading"},regex:"h1|h2|h3|h4|h5|h6|bq|p|bc|pre",next:"blocktag"},{token:"keyword",regex:"[\\*]+|[#]+"},{token:"text",regex:".+"}],blocktag:[{token:"keyword",regex:"\\. ",next:"start"},{token:"keyword",regex:"\\(",next:"blocktagproperties"}],blocktagproperties:[{token:"keyword",regex:"\\)",next:"blocktag"},{token:"string",regex:"[a-zA-Z0-9\\-_]+"},{token:"keyword",regex:"#"}]}};r.inherits(s,i),t.TextileHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),ace.define("ace/mode/textile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/textile_highlight_rules","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./textile_highlight_rules").TextileHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.type="text",this.getNextLineIndent=function(e,t,n){return e=="intag"?n:""},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.$id="ace/mode/textile"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/textile"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-tsx.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var o=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",c=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};o.inherits(c,i),t.JavaScriptHighlightRules=c}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),u=e("../../range").Range,o=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(o=a.match(this.foldingStartMarker)){var i=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,i);var s=e.getCommentFoldRange(n,i+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(o=a.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var c=(n=e.getLine(t)).search(/\S/);if(-1!==c){if(c<r)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=o)break;if(l.isMultiLine())t=l.end.row;else if(r==c)break}i=t}}return new u(o,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<o;){t=e.getLine(n);var c=i.exec(t);if(c&&(c[1]?s--:s++,!s))break}if(a<n)return new u(a,r,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,c=e("./behaviour/cstyle").CstyleBehaviour,l=e("./folding/cstyle").FoldMode,u=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new c,this.foldingRules=new l};r.inherits(u,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e),a=o.tokens,i=o.state;if(a.length&&"comment"==a[a.length-1].type)return r;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(u.prototype),t.Mode=u}),ace.define("ace/mode/typescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/javascript_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./javascript_highlight_rules").JavaScriptHighlightRules,a=function(e){var t=new o({jsx:1==(e&&e.jsx)}).getRules();t.no_regex=[{token:["storage.type","text","entity.name.function.ts"],regex:"(function)(\\s+)([a-zA-Z0-9$_¡-￿][a-zA-Z0-9d$_¡-￿]*)"},{token:"keyword",regex:"(?:\\b(constructor|declare|interface|as|AS|public|private|extends|export|super|readonly|module|namespace|abstract|implements)\\b)"},{token:["keyword","storage.type.variable.ts"],regex:"(class|type)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*)"},{token:"keyword",regex:"\\b(?:super|export|import|keyof|infer)\\b"},{token:["storage.type.variable.ts"],regex:"(?:\\b(this\\.|string\\b|bool\\b|boolean\\b|number\\b|true\\b|false\\b|undefined\\b|any\\b|null\\b|(?:unique )?symbol\\b|object\\b|never\\b|enum\\b))"}].concat(t.no_regex),this.$rules=t};r.inherits(a,o),t.TypeScriptHighlightRules=a}),ace.define("ace/mode/typescript",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/typescript_highlight_rules","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/mode/matching_brace_outdent"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./javascript").Mode,a=e("./typescript_highlight_rules").TypeScriptHighlightRules,i=e("./behaviour/cstyle").CstyleBehaviour,s=e("./folding/cstyle").FoldMode,c=e("./matching_brace_outdent").MatchingBraceOutdent,l=function(){this.HighlightRules=a,this.$outdent=new c,this.$behaviour=new i,this.foldingRules=new s};r.inherits(l,o),function(){this.createWorker=function(e){return null},this.$id="ace/mode/typescript"}.call(l.prototype),t.Mode=l}),ace.define("ace/mode/tsx",["require","exports","module","ace/lib/oop","ace/mode/typescript"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./typescript").Mode,a=function(){o.call(this),this.$highlightRuleConfig={jsx:!0}};r.inherits(a,o),function(){this.$id="ace/mode/tsx"}.call(a.prototype),t.Mode=a}),ace.require(["ace/mode/tsx"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-vbscript.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/vbscript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var a=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,r=function(){var e=this.createKeywordMapper({"keyword.control.asp":"If|Then|Else|ElseIf|End|While|Wend|For|To|Each|Case|Select|Return|Continue|Do|Until|Loop|Next|With|Exit|Function|Property|Type|Enum|Sub|IIf","storage.type.asp":"Dim|Call|Class|Const|Dim|Redim|Set|Let|Get|New|Randomize|Option|Explicit","storage.modifier.asp":"Private|Public|Default","keyword.operator.asp":"Mod|And|Not|Or|Xor|as","constant.language.asp":"Empty|False|Nothing|Null|True","support.class.asp":"Application|ObjectContext|Request|Response|Server|Session","support.class.collection.asp":"Contents|StaticObjects|ClientCertificate|Cookies|Form|QueryString|ServerVariables","support.constant.asp":"TotalBytes|Buffer|CacheControl|Charset|ContentType|Expires|ExpiresAbsolute|IsClientConnected|PICS|Status|ScriptTimeout|CodePage|LCID|SessionID|Timeout","support.function.asp":"Lock|Unlock|SetAbort|SetComplete|BinaryRead|AddHeader|AppendToLog|BinaryWrite|Clear|Flush|Redirect|Write|CreateObject|HTMLEncode|MapPath|URLEncode|Abandon|Convert|Regex","support.function.event.asp":"Application_OnEnd|Application_OnStart|OnTransactionAbort|OnTransactionCommit|Session_OnEnd|Session_OnStart","support.function.vb.asp":"Array|Add|Asc|Atn|CBool|CByte|CCur|CDate|CDbl|Chr|CInt|CLng|Conversions|Cos|CreateObject|CSng|CStr|Date|DateAdd|DateDiff|DatePart|DateSerial|DateValue|Day|Derived|Math|Escape|Eval|Exists|Exp|Filter|FormatCurrency|FormatDateTime|FormatNumber|FormatPercent|GetLocale|GetObject|GetRef|Hex|Hour|InputBox|InStr|InStrRev|Int|Fix|IsArray|IsDate|IsEmpty|IsNull|IsNumeric|IsObject|Item|Items|Join|Keys|LBound|LCase|Left|Len|LoadPicture|Log|LTrim|RTrim|Trim|Maths|Mid|Minute|Month|MonthName|MsgBox|Now|Oct|Remove|RemoveAll|Replace|RGB|Right|Rnd|Round|ScriptEngine|ScriptEngineBuildVersion|ScriptEngineMajorVersion|ScriptEngineMinorVersion|Second|SetLocale|Sgn|Sin|Space|Split|Sqr|StrComp|String|StrReverse|Tan|Time|Timer|TimeSerial|TimeValue|TypeName|UBound|UCase|Unescape|VarType|Weekday|WeekdayName|Year","support.type.vb.asp":"vbtrue|vbfalse|vbcr|vbcrlf|vbformfeed|vblf|vbnewline|vbnullchar|vbnullstring|int32|vbtab|vbverticaltab|vbbinarycompare|vbtextcomparevbsunday|vbmonday|vbtuesday|vbwednesday|vbthursday|vbfriday|vbsaturday|vbusesystemdayofweek|vbfirstjan1|vbfirstfourdays|vbfirstfullweek|vbgeneraldate|vblongdate|vbshortdate|vblongtime|vbshorttime|vbobjecterror|vbEmpty|vbNull|vbInteger|vbLong|vbSingle|vbDouble|vbCurrency|vbDate|vbString|vbObject|vbError|vbBoolean|vbVariant|vbDataObject|vbDecimal|vbByte|vbArray"},"identifier",!0);this.$rules={start:[{token:["meta.ending-space"],regex:"$"},{token:[null],regex:"^(?=\\t)",next:"state_3"},{token:[null],regex:"^(?= )",next:"state_4"},{token:["text","storage.type.function.asp","text","entity.name.function.asp","text","punctuation.definition.parameters.asp","variable.parameter.function.asp","punctuation.definition.parameters.asp"],regex:"^(\\s*)(Function|Sub)(\\s+)([a-zA-Z_]\\w*)(\\s*)(\\()([^)]*)(\\))"},{token:"punctuation.definition.comment.asp",regex:"'|REM(?=\\s|$)",next:"comment",caseInsensitive:!0},{token:"storage.type.asp",regex:"On Error Resume Next|On Error GoTo",caseInsensitive:!0},{token:"punctuation.definition.string.begin.asp",regex:'"',next:"string"},{token:["punctuation.definition.variable.asp"],regex:"(\\$)[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b\\s*"},{token:"constant.numeric.asp",regex:"-?\\b(?:(?:0(?:x|X)[0-9a-fA-F]*)|(?:(?:[0-9]+\\.?[0-9]*)|(?:\\.[0-9]+))(?:(?:e|E)(?:\\+|-)?[0-9]+)?)(?:L|l|UL|ul|u|U|F|f)?\\b"},{regex:"\\w+",token:e},{token:["entity.name.function.asp"],regex:"(?:(\\b[a-zA-Z_x7f-xff][a-zA-Z0-9_x7f-xff]*?\\b)(?=\\(\\)?))"},{token:["keyword.operator.asp"],regex:"\\-|\\+|\\*\\/|\\>|\\<|\\=|\\&"}],state_3:[{token:["meta.odd-tab.tabs","meta.even-tab.tabs"],regex:"(\\t)(\\t)?"},{token:"meta.leading-space",regex:"(?=[^\\t])",next:"start"},{token:"meta.leading-space",regex:".",next:"state_3"}],state_4:[{token:["meta.odd-tab.spaces","meta.even-tab.spaces"],regex:"(  )(  )?"},{token:"meta.leading-space",regex:"(?=[^ ])",next:"start"},{defaultToken:"meta.leading-space"}],comment:[{token:"comment.line.apostrophe.asp",regex:"$|(?=(?:%>))",next:"start"},{defaultToken:"comment.line.apostrophe.asp"}],string:[{token:"constant.character.escape.apostrophe.asp",regex:'""'},{token:"string.quoted.double.asp",regex:'"',next:"start"},{defaultToken:"string.quoted.double.asp"}]}};a.inherits(r,o),t.VBScriptHighlightRules=r}),ace.define("ace/mode/vbscript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/vbscript_highlight_rules"],function(e,t,n){"use strict";var a=e("../lib/oop"),o=e("./text").Mode,r=e("./vbscript_highlight_rules").VBScriptHighlightRules,i=function(){this.HighlightRules=r,this.$behaviour=this.$defaultBehaviour};a.inherits(i,o),function(){this.lineCommentStart=["'","REM"],this.$id="ace/mode/vbscript"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/vbscript"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-velocity.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};o.inherits(a,r),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function o(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var r=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),o("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),o("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var o="/"==e.charAt(1)?2:1;return 1==o?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==o&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==o?"":"end-")+"tag-open.xml",value:e.slice(0,o)},{type:"meta.tag.tag-name.xml",value:e.substr(o)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,o("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};r.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,o=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var o=n[1].length,r=e.findMatchingBracket({row:t,column:o});if(!r||r.row==t)return 0;var a=this.$getIndent(e.getLine(r.row));e.replace(new i(t,0,t,o-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(o.prototype),t.MatchingBraceOutdent=o}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),c=e("../../range").Range,r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};o.inherits(a,r),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var o=e.getLine(n);if(this.singleLineBlockCommentRe.test(o)&&!this.startRegionRe.test(o)&&!this.tripleStarBlockCommentRe.test(o))return"";var r=this._getFoldWidgetBase(e,t,n);return!r&&this.startRegionRe.test(o)?"start":r},this.getFoldWidgetRange=function(e,t,n,o){var r,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(r=a.match(this.foldingStartMarker)){var i=r.index;if(r[1])return this.openingBracketBlock(e,r[1],n,i);var s=e.getCommentFoldRange(n,i+r[0].length,1);return s&&!s.isMultiLine()&&(o?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(r=a.match(this.foldingStopMarker))){i=r.index+r[0].length;return r[1]?this.closingBracketBlock(e,r[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),o=n.search(/\S/),r=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(l<o)break;var u=this.getFoldWidgetRange(e,"all",t);if(u){if(u.start.row<=r)break;if(u.isMultiLine())t=u.end.row;else if(o==l)break}i=t}}return new c(r,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var o=t.search(/\s*$/),r=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<r;){t=e.getLine(n);var l=i.exec(t);if(l&&(l[1]?s--:s++,!s))break}if(a<n)return new c(a,o,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,u=e("./folding/cstyle").FoldMode,c=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new l,this.foldingRules=new u};o.inherits(c,r),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e),a=r.tokens,i=r.state;if(a.length&&"comment"==a[a.length-1].type)return o;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(o+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(o+=" "),o+="* ")}return o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(c.prototype),t.Mode=c}),ace.define("ace/mode/css_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=(e("../lib/lang"),e("./text_highlight_rules").TextHighlightRules),a=t.supportType="align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-repeat|background-size|border|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-shadow|box-sizing|caption-side|clear|clip|color|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|font|font-family|font-size|font-size-adjust|font-stretch|font-style|font-variant|font-weight|hanging-punctuation|height|justify-content|left|letter-spacing|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-bottom|margin-left|margin-right|margin-top|max-height|max-width|max-zoom|min-height|min-width|min-zoom|nav-down|nav-index|nav-left|nav-right|nav-up|opacity|order|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-x|overflow-y|padding|padding-bottom|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|perspective|perspective-origin|position|quotes|resize|right|tab-size|table-layout|text-align|text-align-last|text-decoration|text-decoration-color|text-decoration-line|text-decoration-style|text-indent|text-justify|text-overflow|text-shadow|text-transform|top|transform|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|unicode-bidi|user-select|user-zoom|vertical-align|visibility|white-space|width|word-break|word-spacing|word-wrap|z-index",i=t.supportFunction="rgb|rgba|url|attr|counter|counters",s=t.supportConstant="absolute|after-edge|after|all-scroll|all|alphabetic|always|antialiased|armenian|auto|avoid-column|avoid-page|avoid|balance|baseline|before-edge|before|below|bidi-override|block-line-height|block|bold|bolder|border-box|both|bottom|box|break-all|break-word|capitalize|caps-height|caption|center|central|char|circle|cjk-ideographic|clone|close-quote|col-resize|collapse|column|consider-shifts|contain|content-box|cover|crosshair|cubic-bezier|dashed|decimal-leading-zero|decimal|default|disabled|disc|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|e-resize|ease-in|ease-in-out|ease-out|ease|ellipsis|end|exclude-ruby|fill|fixed|georgian|glyphs|grid-height|groove|hand|hanging|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|include-ruby|inherit|initial|inline-block|inline-box|inline-line-height|inline-table|inline|inset|inside|inter-ideograph|inter-word|invert|italic|justify|katakana-iroha|katakana|keep-all|last|left|lighter|line-edge|line-through|line|linear|list-item|local|loose|lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|mathematical|max-height|max-size|medium|menu|message-box|middle|move|n-resize|ne-resize|newspaper|no-change|no-close-quote|no-drop|no-open-quote|no-repeat|none|normal|not-allowed|nowrap|nw-resize|oblique|open-quote|outset|outside|overline|padding-box|page|pointer|pre-line|pre-wrap|pre|preserve-3d|progress|relative|repeat-x|repeat-y|repeat|replaced|reset-size|ridge|right|round|row-resize|rtl|s-resize|scroll|se-resize|separate|slice|small-caps|small-caption|solid|space|square|start|static|status-bar|step-end|step-start|steps|stretch|strict|sub|super|sw-resize|table-caption|table-cell|table-column-group|table-column|table-footer-group|table-header-group|table-row-group|table-row|table|tb-rl|text-after-edge|text-before-edge|text-bottom|text-size|text-top|text|thick|thin|transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|use-script|vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|z-index|zero|zoom",l=t.supportConstantColor="aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen",u=t.supportConstantFonts="arial|century|comic|courier|cursive|fantasy|garamond|georgia|helvetica|impact|lucida|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif|monospace",c=t.numRe="\\-?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+))",g=t.pseudoElements="(\\:+)\\b(after|before|first-letter|first-line|moz-selection|selection)\\b",d=t.pseudoClasses="(:)\\b(active|checked|disabled|empty|enabled|first-child|first-of-type|focus|hover|indeterminate|invalid|last-child|last-of-type|link|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|only-child|only-of-type|required|root|target|valid|visited)\\b",m=function(){var e=this.createKeywordMapper({"support.function":i,"support.constant":s,"support.type":a,"support.constant.color":l,"support.constant.fonts":u},"text",!0);this.$rules={start:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"ruleset"},{token:"paren.rparen",regex:"\\}"},{token:"string",regex:"@(?!viewport)",next:"media"},{token:"keyword",regex:"#[a-z0-9-_]+"},{token:"keyword",regex:"%"},{token:"variable",regex:"\\.[a-z0-9-_]+"},{token:"string",regex:":[a-z0-9-_]+"},{token:"constant.numeric",regex:c},{token:"constant",regex:"[a-z0-9-_]+"},{caseInsensitive:!0}],media:[{include:["strings","url","comments"]},{token:"paren.lparen",regex:"\\{",next:"start"},{token:"paren.rparen",regex:"\\}",next:"start"},{token:"string",regex:";",next:"start"},{token:"keyword",regex:"(?:media|supports|document|charset|import|namespace|media|supports|document|page|font|keyframes|viewport|counter-style|font-feature-values|swash|ornaments|annotation|stylistic|styleset|character-variant)"}],comments:[{token:"comment",regex:"\\/\\*",push:[{token:"comment",regex:"\\*\\/",next:"pop"},{defaultToken:"comment"}]}],ruleset:[{regex:"-(webkit|ms|moz|o)-",token:"text"},{token:"punctuation.operator",regex:"[:;]"},{token:"paren.rparen",regex:"\\}",next:"start"},{include:["strings","url","comments"]},{token:["constant.numeric","keyword"],regex:"("+c+")(ch|cm|deg|em|ex|fr|gd|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vm|vw|%)"},{token:"constant.numeric",regex:c},{token:"constant.numeric",regex:"#[a-f0-9]{6}"},{token:"constant.numeric",regex:"#[a-f0-9]{3}"},{token:["punctuation","entity.other.attribute-name.pseudo-element.css"],regex:g},{token:["punctuation","entity.other.attribute-name.pseudo-class.css"],regex:d},{include:"url"},{token:e,regex:"\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"},{caseInsensitive:!0}],url:[{token:"support.function",regex:"(?:url(:?-prefix)?|domain|regexp)\\(",push:[{token:"support.function",regex:"\\)",next:"pop"},{defaultToken:"string"}]}],strings:[{token:"string.start",regex:"'",push:[{token:"string.end",regex:"'|$",next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]},{token:"string.start",regex:'"',push:[{token:"string.end",regex:'"|$',next:"pop"},{include:"escapes"},{token:"constant.language.escape",regex:/\\$/,consumeLineEnd:!0},{defaultToken:"string"}]}],escapes:[{token:"constant.language.escape",regex:/\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/}]},this.normalizeRules()};o.inherits(m,r),t.CssHighlightRules=m}),ace.define("ace/mode/css_completions",["require","exports","module"],function(e,t,n){"use strict";var s={background:{"#$0":1},"background-color":{"#$0":1,transparent:1,fixed:1},"background-image":{"url('/$0')":1},"background-repeat":{repeat:1,"repeat-x":1,"repeat-y":1,"no-repeat":1,inherit:1},"background-position":{bottom:2,center:2,left:2,right:2,top:2,inherit:2},"background-attachment":{scroll:1,fixed:1},"background-size":{cover:1,contain:1},"background-clip":{"border-box":1,"padding-box":1,"content-box":1},"background-origin":{"border-box":1,"padding-box":1,"content-box":1},border:{"solid $0":1,"dashed $0":1,"dotted $0":1,"#$0":1},"border-color":{"#$0":1},"border-style":{solid:2,dashed:2,dotted:2,double:2,groove:2,hidden:2,inherit:2,inset:2,none:2,outset:2,ridged:2},"border-collapse":{collapse:1,separate:1},bottom:{px:1,em:1,"%":1},clear:{left:1,right:1,both:1,none:1},color:{"#$0":1,"rgb(#$00,0,0)":1},cursor:{default:1,pointer:1,move:1,text:1,wait:1,help:1,progress:1,"n-resize":1,"ne-resize":1,"e-resize":1,"se-resize":1,"s-resize":1,"sw-resize":1,"w-resize":1,"nw-resize":1},display:{none:1,block:1,inline:1,"inline-block":1,"table-cell":1},"empty-cells":{show:1,hide:1},float:{left:1,right:1,none:1},"font-family":{Arial:2,"Comic Sans MS":2,Consolas:2,"Courier New":2,Courier:2,Georgia:2,Monospace:2,"Sans-Serif":2,"Segoe UI":2,Tahoma:2,"Times New Roman":2,"Trebuchet MS":2,Verdana:1},"font-size":{px:1,em:1,"%":1},"font-weight":{bold:1,normal:1},"font-style":{italic:1,normal:1},"font-variant":{normal:1,"small-caps":1},height:{px:1,em:1,"%":1},left:{px:1,em:1,"%":1},"letter-spacing":{normal:1},"line-height":{normal:1},"list-style-type":{none:1,disc:1,circle:1,square:1,decimal:1,"decimal-leading-zero":1,"lower-roman":1,"upper-roman":1,"lower-greek":1,"lower-latin":1,"upper-latin":1,georgian:1,"lower-alpha":1,"upper-alpha":1},margin:{px:1,em:1,"%":1},"margin-right":{px:1,em:1,"%":1},"margin-left":{px:1,em:1,"%":1},"margin-top":{px:1,em:1,"%":1},"margin-bottom":{px:1,em:1,"%":1},"max-height":{px:1,em:1,"%":1},"max-width":{px:1,em:1,"%":1},"min-height":{px:1,em:1,"%":1},"min-width":{px:1,em:1,"%":1},overflow:{hidden:1,visible:1,auto:1,scroll:1},"overflow-x":{hidden:1,visible:1,auto:1,scroll:1},"overflow-y":{hidden:1,visible:1,auto:1,scroll:1},padding:{px:1,em:1,"%":1},"padding-top":{px:1,em:1,"%":1},"padding-right":{px:1,em:1,"%":1},"padding-bottom":{px:1,em:1,"%":1},"padding-left":{px:1,em:1,"%":1},"page-break-after":{auto:1,always:1,avoid:1,left:1,right:1},"page-break-before":{auto:1,always:1,avoid:1,left:1,right:1},position:{absolute:1,relative:1,fixed:1,static:1},right:{px:1,em:1,"%":1},"table-layout":{fixed:1,auto:1},"text-decoration":{none:1,underline:1,"line-through":1,blink:1},"text-align":{left:1,right:1,center:1,justify:1},"text-transform":{capitalize:1,uppercase:1,lowercase:1,none:1},top:{px:1,em:1,"%":1},"vertical-align":{top:1,bottom:1},visibility:{hidden:1,visible:1},"white-space":{nowrap:1,normal:1,pre:1,"pre-line":1,"pre-wrap":1},width:{px:1,em:1,"%":1},"word-spacing":{normal:1},filter:{"alpha(opacity=$0100)":1},"text-shadow":{"$02px 2px 2px #777":1},"text-overflow":{"ellipsis-word":1,clip:1,ellipsis:1},"-moz-border-radius":1,"-moz-border-radius-topright":1,"-moz-border-radius-bottomright":1,"-moz-border-radius-topleft":1,"-moz-border-radius-bottomleft":1,"-webkit-border-radius":1,"-webkit-border-top-right-radius":1,"-webkit-border-top-left-radius":1,"-webkit-border-bottom-right-radius":1,"-webkit-border-bottom-left-radius":1,"-moz-box-shadow":1,"-webkit-box-shadow":1,transform:{"rotate($00deg)":1,"skew($00deg)":1},"-moz-transform":{"rotate($00deg)":1,"skew($00deg)":1},"-webkit-transform":{"rotate($00deg)":1,"skew($00deg)":1}},o=function(){};(function(){this.completionsDefined=!1,this.defineCompletions=function(){if(document){var e=document.createElement("c").style;for(var t in e)if("string"==typeof e[t]){var n=t.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()});s.hasOwnProperty(n)||(s[n]=1)}}this.completionsDefined=!0},this.getCompletions=function(e,t,n,o){if(this.completionsDefined||this.defineCompletions(),!t.getTokenAt(n.row,n.column))return[];if("ruleset"===e){var r=t.getLine(n.row).substr(0,n.column);return/:[^;]+$/.test(r)?(/([\w\-]+):[^:]*$/.test(r),this.getPropertyValueCompletions(e,t,n,o)):this.getPropertyCompletions(e,t,n,o)}return[]},this.getPropertyCompletions=function(e,t,n,o){return Object.keys(s).map(function(e){return{caption:e,snippet:e+": $0;",meta:"property",score:1e6}})},this.getPropertyValueCompletions=function(e,t,n,o){var r=t.getLine(n.row).substr(0,n.column),a=(/([\w\-]+):[^:]*$/.exec(r)||{})[1];if(!a)return[];var i=[];return a in s&&"object"==typeof s[a]&&(i=Object.keys(s[a])),i.map(function(e){return{caption:e,snippet:e,meta:"property value",score:1e6}})}}).call(o.prototype),t.CssCompletions=o}),ace.define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=(e("../behaviour").Behaviour,e("./cstyle").CstyleBehaviour),u=e("../../token_iterator").TokenIterator,a=function(){this.inherit(r),this.add("colon","insertion",function(e,t,n,o,r){if(":"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=new u(o,a.row,a.column),s=i.getCurrentToken();if(s&&s.value.match(/\s+/)&&(s=i.stepBackward()),s&&"support.type"===s.type){var l=o.doc.getLine(a.row);if(":"===l.substring(a.column,a.column+1))return{text:"",selection:[1,1]};if(/^(\s+[^;]|\s*$)/.test(l.substring(a.column)))return{text:":;",selection:[1,1]}}}}),this.add("colon","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&":"===a){var i=n.getCursorPosition(),s=new u(o,i.row,i.column),l=s.getCurrentToken();if(l&&l.value.match(/\s+/)&&(l=s.stepBackward()),l&&"support.type"===l.type)if(";"===o.doc.getLine(r.start.row).substring(r.end.column,r.end.column+1))return r.end.column++,r}}),this.add("semicolon","insertion",function(e,t,n,o,r){if(";"===r&&n.selection.isEmpty()){var a=n.getCursorPosition();if(";"===o.doc.getLine(a.row).substring(a.column,a.column+1))return{text:"",selection:[1,1]}}}),this.add("!important","insertion",function(e,t,n,o,r){if("!"===r&&n.selection.isEmpty()){var a=n.getCursorPosition(),i=o.doc.getLine(a.row);if(/^\s*(;|}|$)/.test(i.substring(a.column)))return{text:"!important",selection:[10,10]}}})};o.inherits(a,r),t.CssBehaviour=a}),ace.define("ace/mode/css",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/css_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/css_completions","ace/mode/behaviour/css","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text").Mode,a=e("./css_highlight_rules").CssHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./css_completions").CssCompletions,u=e("./behaviour/css").CssBehaviour,c=e("./folding/cstyle").FoldMode,g=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new u,this.$completer=new l,this.foldingRules=new c};o.inherits(g,r),function(){this.foldingRules="cStyle",this.blockComment={start:"/*",end:"*/"},this.getNextLineIndent=function(e,t,n){var o=this.$getIndent(t),r=this.getTokenizer().getLineTokens(t,e).tokens;return r.length&&"comment"==r[r.length-1].type||t.match(/^.*\{\s*$/)&&(o+=n),o},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/css_worker","Worker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/css"}.call(g.prototype),t.Mode=g}),ace.define("ace/mode/xml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./text_highlight_rules").TextHighlightRules,a=function(e){var t="[_:a-zA-ZÀ-￿][-_:.a-zA-Z0-9À-￿]*";this.$rules={start:[{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\[",next:"cdata"},{token:["punctuation.instruction.xml","keyword.instruction.xml"],regex:"(<\\?)("+t+")",next:"processing_instruction"},{token:"comment.start.xml",regex:"<\\!--",next:"comment"},{token:["xml-pe.doctype.xml","xml-pe.doctype.xml"],regex:"(<\\!)(DOCTYPE)(?=[\\s])",next:"doctype",caseInsensitive:!0},{include:"tag"},{token:"text.end-tag-open.xml",regex:"</"},{token:"text.tag-open.xml",regex:"<"},{include:"reference"},{defaultToken:"text.xml"}],processing_instruction:[{token:"entity.other.attribute-name.decl-attribute-name.xml",regex:t},{token:"keyword.operator.decl-attribute-equals.xml",regex:"="},{include:"whitespace"},{include:"string"},{token:"punctuation.xml-decl.xml",regex:"\\?>",next:"start"}],doctype:[{include:"whitespace"},{include:"string"},{token:"xml-pe.doctype.xml",regex:">",next:"start"},{token:"xml-pe.xml",regex:"[-_a-zA-Z0-9:]+"},{token:"punctuation.int-subset",regex:"\\[",push:"int_subset"}],int_subset:[{token:"text.xml",regex:"\\s+"},{token:"punctuation.int-subset.xml",regex:"]",next:"pop"},{token:["punctuation.markup-decl.xml","keyword.markup-decl.xml"],regex:"(<\\!)("+t+")",push:[{token:"text",regex:"\\s+"},{token:"punctuation.markup-decl.xml",regex:">",next:"pop"},{include:"string"}]}],cdata:[{token:"string.cdata.xml",regex:"\\]\\]>",next:"start"},{token:"text.xml",regex:"\\s+"},{token:"text.xml",regex:"(?:[^\\]]|\\](?!\\]>))+"}],comment:[{token:"comment.end.xml",regex:"--\x3e",next:"start"},{defaultToken:"comment.xml"}],reference:[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],attr_reference:[{token:"constant.language.escape.reference.attribute-value.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}],tag:[{token:["meta.tag.punctuation.tag-open.xml","meta.tag.punctuation.end-tag-open.xml","meta.tag.tag-name.xml"],regex:"(?:(<)|(</))((?:"+t+":)?"+t+")",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}],tag_whitespace:[{token:"text.tag-whitespace.xml",regex:"\\s+"}],whitespace:[{token:"text.whitespace.xml",regex:"\\s+"}],string:[{token:"string.xml",regex:"'",push:[{token:"string.xml",regex:"'",next:"pop"},{defaultToken:"string.xml"}]},{token:"string.xml",regex:'"',push:[{token:"string.xml",regex:'"',next:"pop"},{defaultToken:"string.xml"}]}],attributes:[{token:"entity.other.attribute-name.xml",regex:t},{token:"keyword.operator.attribute-equals.xml",regex:"="},{include:"tag_whitespace"},{include:"attribute_value"}],attribute_value:[{token:"string.attribute-value.xml",regex:"'",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"attr_reference"},{defaultToken:"string.attribute-value.xml"}]}]},this.constructor===a&&this.normalizeRules()};(function(){this.embedTagRules=function(e,t,n){this.$rules.tag.unshift({token:["meta.tag.punctuation.tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(<)("+n+"(?=\\s|>|$))",next:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:t+"start"}]}),this.$rules[n+"-end"]=[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start",onMatch:function(e,t,n){return n.splice(0),this.token}}],this.embedRules(e,t,[{token:["meta.tag.punctuation.end-tag-open.xml","meta.tag."+n+".tag-name.xml"],regex:"(</)("+n+"(?=\\s|>|$))",next:n+"-end"},{token:"string.cdata.xml",regex:"<\\!\\[CDATA\\["},{token:"string.cdata.xml",regex:"\\]\\]>"}])}}).call(r.prototype),o.inherits(a,r),t.XmlHighlightRules=a}),ace.define("ace/mode/html_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/css_highlight_rules","ace/mode/javascript_highlight_rules","ace/mode/xml_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./css_highlight_rules").CssHighlightRules,i=e("./javascript_highlight_rules").JavaScriptHighlightRules,s=e("./xml_highlight_rules").XmlHighlightRules,l=r.createMap({a:"anchor",button:"form",form:"form",img:"image",input:"form",label:"form",option:"form",script:"script",select:"form",textarea:"form",style:"style",table:"table",tbody:"table",td:"table",tfoot:"table",th:"table",tr:"table"}),u=function(){s.call(this),this.addRules({attributes:[{include:"tag_whitespace"},{token:"entity.other.attribute-name.xml",regex:"[-_a-zA-Z0-9:.]+"},{token:"keyword.operator.attribute-equals.xml",regex:"=",push:[{include:"tag_whitespace"},{token:"string.unquoted.attribute-value.html",regex:"[^<>='\"`\\s]+",next:"pop"},{token:"empty",regex:"",next:"pop"}]},{include:"attribute_value"}],tag:[{token:function(e,t){var n=l[t];return["meta.tag.punctuation."+("<"==e?"":"end-")+"tag-open.xml","meta.tag"+(n?"."+n:"")+".tag-name.xml"]},regex:"(</?)([-_a-zA-Z0-9:.]+)",next:"tag_stuff"}],tag_stuff:[{include:"attributes"},{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",next:"start"}]}),this.embedTagRules(a,"css-","style"),this.embedTagRules(new i({jsx:!1}).getRules(),"js-","script"),this.constructor===u&&this.normalizeRules()};o.inherits(u,s),t.HtmlHighlightRules=u}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function m(e,t){return e&&-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),r=e("../behaviour").Behaviour,p=e("../../token_iterator").TokenIterator,a=(e("../../lib/lang"),function(){this.add("string_dquotes","insertion",function(e,t,n,o,r){if('"'==r||"'"==r){var a=r,i=o.doc.getTextRange(n.getSelectionRange());if(""!==i&&"'"!==i&&'"'!=i&&n.getWrapBehavioursEnabled())return{text:a+i+a,selection:!1};var s=n.getCursorPosition(),l=o.doc.getLine(s.row).substring(s.column,s.column+1),u=new p(o,s.row,s.column),c=u.getCurrentToken();if(l==a&&(m(c,"attribute-value")||m(c,"string")))return{text:"",selection:[1,1]};if(c||(c=u.stepBackward()),!c)return;for(;m(c,"tag-whitespace")||m(c,"whitespace");)c=u.stepBackward();var g=!l||l.match(/\s/);if(m(c,"attribute-equals")&&(g||">"==l)||m(c,"decl-attribute-equals")&&(g||"?"==l))return{text:a+a,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,o,r){var a=o.doc.getTextRange(r);if(!r.isMultiLine()&&('"'==a||"'"==a)&&o.doc.getLine(r.start.row).substring(r.start.column+1,r.start.column+2)==a)return r.end.column++,r}),this.add("autoclosing","insertion",function(e,t,n,o,r){if(">"==r){var a=n.getSelectionRange().start,i=new p(o,a.row,a.column),s=i.getCurrentToken()||i.stepBackward();if(!s||!(m(s,"tag-name")||m(s,"tag-whitespace")||m(s,"attribute-name")||m(s,"attribute-equals")||m(s,"attribute-value")))return;if(m(s,"reference.attribute-value"))return;if(m(s,"attribute-value")){var l=i.getCurrentTokenColumn()+s.value.length;if(a.column<l)return;if(a.column==l){var u=i.stepForward();if(u&&m(u,"attribute-value"))return;i.stepBackward()}}if(/^\s*>/.test(o.getLine(a.row).slice(a.column)))return;for(;!m(s,"tag-name");)if("<"==(s=i.stepBackward()).value){s=i.stepForward();break}var c=i.getCurrentTokenRow(),g=i.getCurrentTokenColumn();if(m(i.stepBackward(),"end-tag-open"))return;var d=s.value;if(c==a.row&&(d=d.substring(0,a.column-g)),this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,o,r){if("\n"==r){var a=n.getCursorPosition(),i=o.getLine(a.row),s=new p(o,a.row,a.column),l=s.getCurrentToken();if(l&&-1!==l.type.indexOf("tag-close")){if("/>"==l.value)return;for(;l&&-1===l.type.indexOf("tag-name");)l=s.stepBackward();if(!l)return;var u=l.value,c=s.getCurrentTokenRow();if(!(l=s.stepBackward())||-1!==l.type.indexOf("end-tag"))return;if(this.voidElements&&!this.voidElements[u]){var g=o.getTokenAt(a.row,a.column+1),d=(i=o.getLine(c),this.$getIndent(i)),m=d+o.getTabString();return g&&"</"===g.value?{text:"\n"+m+"\n"+d,selection:[1,m.length,1,m.length]}:{text:"\n"+m}}}}})});o.inherits(a,r),t.XmlBehaviour=a}),ace.define("ace/mode/folding/mixed",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./fold_mode").FoldMode,a=t.FoldMode=function(e,t){this.defaultMode=e,this.subModes=t};o.inherits(a,r),function(){this.$getMode=function(e){for(var t in"string"!=typeof e&&(e=e[0]),this.subModes)if(0===e.indexOf(t))return this.subModes[t];return null},this.$tryMode=function(e,t,n,o){var r=this.$getMode(e);return r?r.getFoldWidget(t,n,o):""},this.getFoldWidget=function(e,t,n){return this.$tryMode(e.getState(n-1),e,t,n)||this.$tryMode(e.getState(n),e,t,n)||this.defaultMode.getFoldWidget(e,t,n)},this.getFoldWidgetRange=function(e,t,n){var o=this.$getMode(e.getState(n-1));return o&&o.getFoldWidget(e,t,n)||(o=this.$getMode(e.getState(n))),o&&o.getFoldWidget(e,t,n)||(o=this.defaultMode),o.getFoldWidgetRange(e,t,n)}}.call(a.prototype)}),ace.define("ace/mode/folding/xml",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/range","ace/mode/folding/fold_mode","ace/token_iterator"],function(e,t,n){"use strict";function l(e,t){return-1<e.type.lastIndexOf(t+".xml")}var o=e("../../lib/oop"),u=(e("../../lib/lang"),e("../../range").Range),r=e("./fold_mode").FoldMode,c=e("../../token_iterator").TokenIterator,a=t.FoldMode=function(e,t){r.call(this),this.voidElements=e||{},this.optionalEndTags=o.mixin({},this.voidElements),t&&o.mixin(this.optionalEndTags,t)};o.inherits(a,r);var i=function(){this.tagName="",this.closing=!1,this.selfClosing=!1,this.start={row:0,column:0},this.end={row:0,column:0}};(function(){this.getFoldWidget=function(e,t,n){var o=this._getFirstTagInLine(e,n);return o?o.closing||!o.tagName&&o.selfClosing?"markbeginend"==t?"end":"":!o.tagName||o.selfClosing||this.voidElements.hasOwnProperty(o.tagName.toLowerCase())?"":this._findEndTagInLine(e,n,o.tagName,o.end.column)?"":"start":this.getCommentFoldWidget(e,n)},this.getCommentFoldWidget=function(e,t){return/comment/.test(e.getState(t))&&/<!-/.test(e.getLine(t))?"start":""},this._getFirstTagInLine=function(e,t){for(var n=e.getTokens(t),o=new i,r=0;r<n.length;r++){var a=n[r];if(l(a,"tag-open")){if(o.end.column=o.start.column+a.value.length,o.closing=l(a,"end-tag-open"),!(a=n[++r]))return null;for(o.tagName=a.value,o.end.column+=a.value.length,r++;r<n.length;r++)if(a=n[r],o.end.column+=a.value.length,l(a,"tag-close")){o.selfClosing="/>"==a.value;break}return o}if(l(a,"tag-close"))return o.selfClosing="/>"==a.value,o;o.start.column+=a.value.length}return null},this._findEndTagInLine=function(e,t,n,o){for(var r=e.getTokens(t),a=0,i=0;i<r.length;i++){var s=r[i];if(!((a+=s.value.length)<o)&&l(s,"end-tag-open")&&(s=r[i+1])&&s.value==n)return!0}return!1},this._readTagForward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn();else if(l(t,"tag-name"))n.tagName=t.value;else if(l(t,"tag-close"))return n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length,e.stepForward(),n}while(t=e.stepForward());return null},this._readTagBackward=function(e){var t=e.getCurrentToken();if(!t)return null;var n=new i;do{if(l(t,"tag-open"))return n.closing=l(t,"end-tag-open"),n.start.row=e.getCurrentTokenRow(),n.start.column=e.getCurrentTokenColumn(),e.stepBackward(),n;l(t,"tag-name")?n.tagName=t.value:l(t,"tag-close")&&(n.selfClosing="/>"==t.value,n.end.row=e.getCurrentTokenRow(),n.end.column=e.getCurrentTokenColumn()+t.value.length)}while(t=e.stepBackward());return null},this._pop=function(e,t){for(;e.length;){var n=e[e.length-1];if(!t||n.tagName==t.tagName)return e.pop();if(!this.optionalEndTags.hasOwnProperty(n.tagName))return null;e.pop()}},this.getFoldWidgetRange=function(e,t,n){var o=this._getFirstTagInLine(e,n);if(!o)return this.getCommentFoldWidget(e,n)&&e.getCommentFoldRange(n,e.getLine(n).length);var r,a=[];if(o.closing||o.selfClosing){s=new c(e,n,o.end.column);for(var i={row:n,column:o.start.column};r=this._readTagBackward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing)a.push(r);else if(this._pop(a,r),0==a.length)return r.start.column+=r.tagName.length+2,r.start.row==r.end.row&&r.start.column<r.end.column&&(r.start.column=r.end.column),u.fromPoints(r.start,i)}else{var s=new c(e,n,o.start.column),l={row:n,column:o.start.column+o.tagName.length+2};for(o.start.row==o.end.row&&(l.column=o.end.column);r=this._readTagForward(s);)if(r.selfClosing){if(!a.length)return r.start.column+=r.tagName.length+2,r.end.column-=2,u.fromPoints(r.start,r.end)}else if(r.closing){if(this._pop(a,r),0==a.length)return u.fromPoints(l,r.start)}else a.push(r)}}}).call(a.prototype)}),ace.define("ace/mode/folding/html",["require","exports","module","ace/lib/oop","ace/mode/folding/mixed","ace/mode/folding/xml","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./mixed").FoldMode,a=e("./xml").FoldMode,i=e("./cstyle").FoldMode,s=t.FoldMode=function(e,t){r.call(this,new a(e,t),{"js-":new i,"css-":new i})};o.inherits(s,r)}),ace.define("ace/mode/html_completions",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function s(e,t){return-1<e.type.lastIndexOf(t+".xml")}function l(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"tag-name");)o=n.stepBackward();if(o)return o.value}var u=e("../token_iterator").TokenIterator,i=["accesskey","class","contenteditable","contextmenu","dir","draggable","dropzone","hidden","id","inert","itemid","itemprop","itemref","itemscope","itemtype","lang","spellcheck","style","tabindex","title","translate"].concat(["onabort","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncontextmenu","oncuechange","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onmousedown","onmousemove","onmouseout","onmouseover","onmouseup","onmousewheel","onpause","onplay","onplaying","onprogress","onratechange","onreset","onscroll","onseeked","onseeking","onselect","onshow","onstalled","onsubmit","onsuspend","ontimeupdate","onvolumechange","onwaiting"]),c={a:{href:1,target:{_blank:1,top:1},ping:1,rel:{nofollow:1,alternate:1,author:1,bookmark:1,help:1,license:1,next:1,noreferrer:1,prefetch:1,prev:1,search:1,tag:1},media:1,hreflang:1,type:1},abbr:{},address:{},area:{shape:1,coords:1,href:1,hreflang:1,alt:1,target:1,media:1,rel:1,ping:1,type:1},article:{pubdate:1},aside:{},audio:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},muted:{muted:1},preload:{auto:1,metadata:1,none:1}},b:{},base:{href:1,target:1},bdi:{},bdo:{},blockquote:{cite:1},body:{onafterprint:1,onbeforeprint:1,onbeforeunload:1,onhashchange:1,onmessage:1,onoffline:1,onpopstate:1,onredo:1,onresize:1,onstorage:1,onundo:1,onunload:1},br:{},button:{autofocus:1,disabled:{disabled:1},form:1,formaction:1,formenctype:1,formmethod:1,formnovalidate:1,formtarget:1,name:1,value:1,type:{button:1,submit:1}},canvas:{width:1,height:1},caption:{},cite:{},code:{},col:{span:1},colgroup:{span:1},command:{type:1,label:1,icon:1,disabled:1,checked:1,radiogroup:1,command:1},data:{},datalist:{},dd:{},del:{cite:1,datetime:1},details:{open:1},dfn:{},dialog:{open:1},div:{},dl:{},dt:{},em:{},embed:{src:1,height:1,width:1,type:1},fieldset:{disabled:1,form:1,name:1},figcaption:{},figure:{},footer:{},form:{"accept-charset":1,action:1,autocomplete:1,enctype:{"multipart/form-data":1,"application/x-www-form-urlencoded":1},method:{get:1,post:1},name:1,novalidate:1,target:{_blank:1,top:1}},h1:{},h2:{},h3:{},h4:{},h5:{},h6:{},head:{},header:{},hr:{},html:{manifest:1},i:{},iframe:{name:1,src:1,height:1,width:1,sandbox:{"allow-same-origin":1,"allow-top-navigation":1,"allow-forms":1,"allow-scripts":1},seamless:{seamless:1}},img:{alt:1,src:1,height:1,width:1,usemap:1,ismap:1},input:{type:{text:1,password:1,hidden:1,checkbox:1,submit:1,radio:1,file:1,button:1,reset:1,image:31,color:1,date:1,datetime:1,"datetime-local":1,email:1,month:1,number:1,range:1,search:1,tel:1,time:1,url:1,week:1},accept:1,alt:1,autocomplete:{on:1,off:1},autofocus:{autofocus:1},checked:{checked:1},disabled:{disabled:1},form:1,formaction:1,formenctype:{"application/x-www-form-urlencoded":1,"multipart/form-data":1,"text/plain":1},formmethod:{get:1,post:1},formnovalidate:{formnovalidate:1},formtarget:{_blank:1,_self:1,_parent:1,_top:1},height:1,list:1,max:1,maxlength:1,min:1,multiple:{multiple:1},name:1,pattern:1,placeholder:1,readonly:{readonly:1},required:{required:1},size:1,src:1,step:1,width:1,files:1,value:1},ins:{cite:1,datetime:1},kbd:{},keygen:{autofocus:1,challenge:{challenge:1},disabled:{disabled:1},form:1,keytype:{rsa:1,dsa:1,ec:1},name:1},label:{form:1,for:1},legend:{},li:{value:1},link:{href:1,hreflang:1,rel:{stylesheet:1,icon:1},media:{all:1,screen:1,print:1},type:{"text/css":1,"image/png":1,"image/jpeg":1,"image/gif":1},sizes:1},main:{},map:{name:1},mark:{},math:{},menu:{type:1,label:1},meta:{"http-equiv":{"content-type":1},name:{description:1,keywords:1},content:{"text/html; charset=UTF-8":1},charset:1},meter:{value:1,min:1,max:1,low:1,high:1,optimum:1},nav:{},noscript:{href:1},object:{param:1,data:1,type:1,height:1,width:1,usemap:1,name:1,form:1,classid:1},ol:{start:1,reversed:1},optgroup:{disabled:1,label:1},option:{disabled:1,selected:1,label:1,value:1},output:{for:1,form:1,name:1},p:{},param:{name:1,value:1},pre:{},progress:{value:1,max:1},q:{cite:1},rp:{},rt:{},ruby:{},s:{},samp:{},script:{charset:1,type:{"text/javascript":1},src:1,defer:1,async:1},select:{autofocus:1,disabled:1,form:1,multiple:{multiple:1},name:1,size:1,readonly:{readonly:1}},small:{},source:{src:1,type:1,media:1},span:{},strong:{},style:{type:1,media:{all:1,screen:1,print:1},scoped:1},sub:{},sup:{},svg:{},table:{summary:1},tbody:{},td:{headers:1,rowspan:1,colspan:1},textarea:{autofocus:{autofocus:1},disabled:{disabled:1},form:1,maxlength:1,name:1,placeholder:1,readonly:{readonly:1},required:{required:1},rows:1,cols:1,wrap:{on:1,off:1,hard:1,soft:1}},tfoot:{},th:{headers:1,rowspan:1,colspan:1,scope:1},thead:{},time:{datetime:1},title:{},tr:{},track:{kind:1,src:1,srclang:1,label:1,default:1},section:{},summary:{},u:{},ul:{},var:{},video:{src:1,autobuffer:1,autoplay:{autoplay:1},loop:{loop:1},controls:{controls:1},width:1,height:1,poster:1,muted:{muted:1},preload:{auto:1,metadata:1,none:1}},wbr:{}},r=Object.keys(c),o=function(){};(function(){this.getCompletions=function(e,t,n,o){var r=t.getTokenAt(n.row,n.column);if(!r)return[];if(s(r,"tag-name")||s(r,"tag-open")||s(r,"end-tag-open"))return this.getTagCompletions(e,t,n,o);if(s(r,"tag-whitespace")||s(r,"attribute-name"))return this.getAttributeCompletions(e,t,n,o);if(s(r,"attribute-value"))return this.getAttributeValueCompletions(e,t,n,o);var a=t.getLine(n.row).substr(0,n.column);return/&[a-z]*$/i.test(a)?this.getHTMLEntityCompletions(e,t,n,o):[]},this.getTagCompletions=function(e,t,n,o){return r.map(function(e){return{value:e,meta:"tag",score:1e6}})},this.getAttributeCompletions=function(e,t,n,o){var r=l(t,n);if(!r)return[];var a=i;return r in c&&(a=a.concat(Object.keys(c[r]))),a.map(function(e){return{caption:e,snippet:e+'="$0"',meta:"attribute",score:1e6}})},this.getAttributeValueCompletions=function(e,t,n,o){var r=l(t,n),a=function(e,t){for(var n=new u(e,t.row,t.column),o=n.getCurrentToken();o&&!s(o,"attribute-name");)o=n.stepBackward();if(o)return o.value}(t,n);if(!r)return[];var i=[];return r in c&&a in c[r]&&"object"==typeof c[r][a]&&(i=Object.keys(c[r][a])),i.map(function(e){return{caption:e,snippet:e,meta:"attribute value",score:1e6}})},this.getHTMLEntityCompletions=function(e,t,n,o){return["Aacute;","aacute;","Acirc;","acirc;","acute;","AElig;","aelig;","Agrave;","agrave;","alefsym;","Alpha;","alpha;","amp;","and;","ang;","Aring;","aring;","asymp;","Atilde;","atilde;","Auml;","auml;","bdquo;","Beta;","beta;","brvbar;","bull;","cap;","Ccedil;","ccedil;","cedil;","cent;","Chi;","chi;","circ;","clubs;","cong;","copy;","crarr;","cup;","curren;","Dagger;","dagger;","dArr;","darr;","deg;","Delta;","delta;","diams;","divide;","Eacute;","eacute;","Ecirc;","ecirc;","Egrave;","egrave;","empty;","emsp;","ensp;","Epsilon;","epsilon;","equiv;","Eta;","eta;","ETH;","eth;","Euml;","euml;","euro;","exist;","fnof;","forall;","frac12;","frac14;","frac34;","frasl;","Gamma;","gamma;","ge;","gt;","hArr;","harr;","hearts;","hellip;","Iacute;","iacute;","Icirc;","icirc;","iexcl;","Igrave;","igrave;","image;","infin;","int;","Iota;","iota;","iquest;","isin;","Iuml;","iuml;","Kappa;","kappa;","Lambda;","lambda;","lang;","laquo;","lArr;","larr;","lceil;","ldquo;","le;","lfloor;","lowast;","loz;","lrm;","lsaquo;","lsquo;","lt;","macr;","mdash;","micro;","middot;","minus;","Mu;","mu;","nabla;","nbsp;","ndash;","ne;","ni;","not;","notin;","nsub;","Ntilde;","ntilde;","Nu;","nu;","Oacute;","oacute;","Ocirc;","ocirc;","OElig;","oelig;","Ograve;","ograve;","oline;","Omega;","omega;","Omicron;","omicron;","oplus;","or;","ordf;","ordm;","Oslash;","oslash;","Otilde;","otilde;","otimes;","Ouml;","ouml;","para;","part;","permil;","perp;","Phi;","phi;","Pi;","pi;","piv;","plusmn;","pound;","Prime;","prime;","prod;","prop;","Psi;","psi;","quot;","radic;","rang;","raquo;","rArr;","rarr;","rceil;","rdquo;","real;","reg;","rfloor;","Rho;","rho;","rlm;","rsaquo;","rsquo;","sbquo;","Scaron;","scaron;","sdot;","sect;","shy;","Sigma;","sigma;","sigmaf;","sim;","spades;","sub;","sube;","sum;","sup;","sup1;","sup2;","sup3;","supe;","szlig;","Tau;","tau;","there4;","Theta;","theta;","thetasym;","thinsp;","THORN;","thorn;","tilde;","times;","trade;","Uacute;","uacute;","uArr;","uarr;","Ucirc;","ucirc;","Ugrave;","ugrave;","uml;","upsih;","Upsilon;","upsilon;","Uuml;","uuml;","weierp;","Xi;","xi;","Yacute;","yacute;","yen;","Yuml;","yuml;","Zeta;","zeta;","zwj;","zwnj;"].map(function(e){return{caption:e,snippet:e,meta:"html entity",score:1e6}})}}).call(o.prototype),t.HtmlCompletions=o}),ace.define("ace/mode/html",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text","ace/mode/javascript","ace/mode/css","ace/mode/html_highlight_rules","ace/mode/behaviour/xml","ace/mode/folding/html","ace/mode/html_completions","ace/worker/worker_client"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("../lib/lang"),a=e("./text").Mode,i=e("./javascript").Mode,s=e("./css").Mode,l=e("./html_highlight_rules").HtmlHighlightRules,u=e("./behaviour/xml").XmlBehaviour,c=e("./folding/html").FoldMode,g=e("./html_completions").HtmlCompletions,d=e("../worker/worker_client").WorkerClient,m=["area","base","br","col","embed","hr","img","input","keygen","link","meta","menuitem","param","source","track","wbr"],p=["li","dt","dd","p","rt","rp","optgroup","option","colgroup","td","th"],h=function(e){this.fragmentContext=e&&e.fragmentContext,this.HighlightRules=l,this.$behaviour=new u,this.$completer=new g,this.createModeDelegates({"js-":i,"css-":s}),this.foldingRules=new c(this.voidElements,r.arrayToMap(p))};o.inherits(h,a),function(){this.blockComment={start:"\x3c!--",end:"--\x3e"},this.voidElements=r.arrayToMap(m),this.getNextLineIndent=function(e,t,n){return this.$getIndent(t)},this.checkOutdent=function(e,t,n){return!1},this.getCompletions=function(e,t,n,o){return this.$completer.getCompletions(e,t,n,o)},this.createWorker=function(t){if(this.constructor==h){var e=new d(["ace"],"ace/mode/html_worker","Worker");return e.attachToDocument(t.getDocument()),this.fragmentContext&&e.call("setOptions",[{context:this.fragmentContext}]),e.on("error",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e}},this.$id="ace/mode/html"}.call(h.prototype),t.Mode=h}),ace.define("ace/mode/velocity_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/html_highlight_rules"],function(e,t,n){"use strict";var o=e("../lib/oop"),a=e("../lib/lang"),r=e("./text_highlight_rules").TextHighlightRules,i=e("./html_highlight_rules").HtmlHighlightRules,s=function(){i.call(this);var t=a.arrayToMap("true|false|null".split("|")),n=a.arrayToMap("_DateTool|_DisplayTool|_EscapeTool|_FieldTool|_MathTool|_NumberTool|_SerializerTool|_SortTool|_StringTool|_XPathTool".split("|")),o=a.arrayToMap("$contentRoot|$foreach".split("|")),r=a.arrayToMap("#set|#macro|#include|#parse|#if|#elseif|#else|#foreach|#break|#end|#stop".split("|"));for(var e in this.$rules.start.push({token:"comment",regex:"##.*$"},{token:"comment.block",regex:"#\\*",next:"vm_comment"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(e){return r.hasOwnProperty(e)?"keyword":t.hasOwnProperty(e)?"constant.language":o.hasOwnProperty(e)?"variable.language":n.hasOwnProperty(e)||n.hasOwnProperty(e.substring(1))?"support.function":"debugger"==e?"invalid.deprecated":e.match(/^(\$[a-zA-Z_][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z$#][a-zA-Z0-9_]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}),this.$rules.vm_comment=[{token:"comment",regex:"\\*#|--\x3e",next:"start"},{defaultToken:"comment"}],this.$rules.vm_start=[{token:"variable",regex:"}",next:"pop"},{token:"string.regexp",regex:"[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:"0[xX][0-9a-fA-F]+\\b"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:function(e){return r.hasOwnProperty(e)?"keyword":t.hasOwnProperty(e)?"constant.language":o.hasOwnProperty(e)?"variable.language":n.hasOwnProperty(e)||n.hasOwnProperty(e.substring(1))?"support.function":"debugger"==e?"invalid.deprecated":e.match(/^(\$[a-zA-Z_$][a-zA-Z0-9_]*)$/)?"variable":"identifier"},regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"!|&|\\*|\\-|\\+|=|!=|<=|>=|<|>|&&|\\|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],this.$rules)this.$rules[e].unshift({token:"variable",regex:"\\${",push:"vm_start"});this.normalizeRules()};o.inherits(s,r),t.VelocityHighlightRules=s}),ace.define("ace/mode/folding/velocity",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var o=e("../../lib/oop"),r=e("./fold_mode").FoldMode,m=e("../../range").Range,a=t.FoldMode=function(){};o.inherits(a,r),function(){this.getFoldWidgetRange=function(e,t,n){var o=this.indentationBlock(e,n);if(o)return o;var r=/\S/,a=e.getLine(n),i=a.search(r);if(-1!=i&&"##"==a[i]){for(var s=a.length,l=e.getLength(),u=n,c=n;++n<l;){var g=(a=e.getLine(n)).search(r);if(-1!=g){if("##"!=a[g])break;c=n}}if(u<c){var d=e.getLine(c).length;return new m(u,s,c,d)}}},this.getFoldWidget=function(e,t,n){var o=e.getLine(n),r=o.search(/\S/),a=e.getLine(n+1),i=e.getLine(n-1),s=i.search(/\S/),l=a.search(/\S/);if(-1==r)return e.foldWidgets[n-1]=-1!=s&&s<l?"start":"","";if(-1==s){if(r==l&&"##"==o[r]&&"##"==a[r])return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(s==r&&"##"==o[r]&&"##"==i[r]&&-1==e.getLine(n-2).search(/\S/))return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="";return e.foldWidgets[n-1]=-1!=s&&s<r?"start":"",r<l?"start":""}}.call(a.prototype)}),ace.define("ace/mode/velocity",["require","exports","module","ace/lib/oop","ace/mode/html","ace/mode/velocity_highlight_rules","ace/mode/folding/velocity"],function(e,t,n){"use strict";var o=e("../lib/oop"),r=e("./html").Mode,a=e("./velocity_highlight_rules").VelocityHighlightRules,i=e("./folding/velocity").FoldMode,s=function(){r.call(this),this.HighlightRules=a,this.foldingRules=new i};o.inherits(s,r),function(){this.lineCommentStart="##",this.blockComment={start:"#*",end:"*#"},this.$id="ace/mode/velocity"}.call(s.prototype),t.Mode=s}),ace.require(["ace/mode/velocity"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-verilog.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/verilog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){var e="always|and|assign|automatic|begin|buf|bufif0|bufif1|case|casex|casez|cell|cmos|config|deassign|default|defparam|design|disable|edge|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|event|for|force|forever|fork|function|generate|genvar|highz0|highz1|if|ifnone|incdir|include|initial|inout|input|instance|integer|join|large|liblist|library|localparam|macromodule|medium|module|nand|negedge|nmos|nor|noshowcancelled|not|notif0|notif1|or|output|parameter|pmos|posedge|primitive|pull0|pull1|pulldown|pullup|pulsestyle_onevent|pulsestyle_ondetect|rcmos|real|realtime|reg|release|repeat|rnmos|rpmos|rtran|rtranif0|rtranif1|scalared|showcancelled|signed|small|specify|specparam|strong0|strong1|supply0|supply1|table|task|time|tran|tranif0|tranif1|tri|tri0|tri1|triand|trior|trireg|unsigned|use|vectored|wait|wand|weak0|weak1|while|wire|wor|xnor|xorbegin|bufif0|bufif1|case|casex|casez|config|else|end|endcase|endconfig|endfunction|endgenerate|endmodule|endprimitive|endspecify|endtable|endtask|for|forever|function|generate|if|ifnone|macromodule|module|primitive|repeat|specify|table|task|while",t="true|false|null",n="count|min|max|avg|sum|rank|now|coalesce|main",r=this.createKeywordMapper({"support.function":n,keyword:e,"constant.language":t},"identifier",!0);this.$rules={start:[{token:"comment",regex:"//.*$"},{token:"comment.start",regex:"/\\*",next:[{token:"comment.end",regex:"\\*/",next:"start"},{defaultToken:"comment"}]},{token:"string.start",regex:'"',next:[{token:"constant.language.escape",regex:/\\(?:[ntvfa\\"]|[0-7]{1,3}|\x[a-fA-F\d]{1,2}|)/,consumeLineEnd:!0},{token:"string.end",regex:'"|$',next:"start"},{defaultToken:"string"}]},{token:"string",regex:"'^[']'"},{token:"constant.numeric",regex:"[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"},{token:r,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="},{token:"paren.lparen",regex:"[\\(]"},{token:"paren.rparen",regex:"[\\)]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};r.inherits(s,i),t.VerilogHighlightRules=s}),ace.define("ace/mode/verilog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/verilog_highlight_rules","ace/range"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./verilog_highlight_rules").VerilogHighlightRules,o=e("../range").Range,u=function(){this.HighlightRules=s,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"'},this.$id="ace/mode/verilog"}.call(u.prototype),t.Mode=u});                (function() {
-                    ace.require(["ace/mode/verilog"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/mode-wollok.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text_highlight_rules").TextHighlightRules,a=function(){this.$rules={start:[{token:"comment.doc.tag",regex:"@[\\w\\d_]+"},a.getTagRule(),{defaultToken:"comment.doc",caseInsensitive:!0}]}};r.inherits(a,o),a.getTagRule=function(e){return{token:"comment.doc.tag.storage.type",regex:"\\b(?:TODO|FIXME|XXX|HACK)\\b"}},a.getStartRule=function(e){return{token:"comment.doc",regex:"\\/\\*(?=\\*)",next:e}},a.getEndRule=function(e){return{token:"comment.doc",regex:"\\*\\/",next:e}},t.DocCommentHighlightRules=a}),ace.define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";function r(e){return[{token:"comment",regex:/\/\*/,next:[a.getTagRule(),{token:"comment",regex:"\\*\\/",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]},{token:"comment",regex:"\\/\\/",next:[a.getTagRule(),{token:"comment",regex:"$|^",next:e||"pop"},{defaultToken:"comment",caseInsensitive:!0}]}]}var o=e("../lib/oop"),a=e("./doc_comment_highlight_rules").DocCommentHighlightRules,i=e("./text_highlight_rules").TextHighlightRules,s="[a-zA-Z\\$_¡-￿][a-zA-Z\\d\\$_¡-￿]*",l=function(e){var t=this.createKeywordMapper({"variable.language":"Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|Namespace|QName|XML|XMLList|ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|SyntaxError|TypeError|URIError|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|isNaN|parseFloat|parseInt|JSON|Math|this|arguments|prototype|window|document",keyword:"const|yield|import|get|set|async|await|break|case|catch|continue|default|delete|do|else|finally|for|function|if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|__parent__|__count__|escape|unescape|with|__proto__|class|enum|extends|super|export|implements|private|public|interface|package|protected|static","storage.type":"const|let|var|function","constant.language":"null|Infinity|NaN|undefined","support.function":"alert","constant.language.boolean":"true|false"},"identifier"),n="\\\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|u{[0-9a-fA-F]{1,6}}|[0-2][0-7]{0,2}|3[0-7][0-7]?|[4-7][0-7]?|.)";this.$rules={no_regex:[a.getStartRule("doc-start"),r("no_regex"),{token:"string",regex:"'(?=.)",next:"qstring"},{token:"string",regex:'"(?=.)',next:"qqstring"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F]+|[oO][0-7]+|[bB][01]+)\b/},{token:"constant.numeric",regex:/(?:\d\d*(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+\b)?/},{token:["storage.type","punctuation.operator","support.function","punctuation.operator","entity.name.function","text","keyword.operator"],regex:"("+s+")(\\.)(prototype)(\\.)("+s+")(\\s*)(=)",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","keyword.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",next:"function_arguments"},{token:["storage.type","text","entity.name.function","text","paren.lparen"],regex:"(function)(\\s+)("+s+")(\\s*)(\\()",next:"function_arguments"},{token:["entity.name.function","text","punctuation.operator","text","storage.type","text","paren.lparen"],regex:"("+s+")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:["text","text","storage.type","text","paren.lparen"],regex:"(:)(\\s*)(function)(\\s*)(\\()",next:"function_arguments"},{token:"keyword",regex:"from(?=\\s*('|\"))"},{token:"keyword",regex:"(?:case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void)\\b",next:"start"},{token:["support.constant"],regex:/that\b/},{token:["storage.type","punctuation.operator","support.function.firebug"],regex:/(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/},{token:t,regex:s},{token:"punctuation.operator",regex:/[.](?![.])/,next:"property"},{token:"storage.type",regex:/=>/,next:"start"},{token:"keyword.operator",regex:/--|\+\+|\.{3}|===|==|=|!=|!==|<+=?|>+=?|!|&&|\|\||\?:|[!$%&*+\-~\/^]=?/,next:"start"},{token:"punctuation.operator",regex:/[?:,;.]/,next:"start"},{token:"paren.lparen",regex:/[\[({]/,next:"start"},{token:"paren.rparen",regex:/[\])}]/},{token:"comment",regex:/^#!.*$/}],property:[{token:"text",regex:"\\s+"},{token:["storage.type","punctuation.operator","entity.name.function","text","keyword.operator","text","storage.type","text","entity.name.function","text","paren.lparen"],regex:"("+s+")(\\.)("+s+")(\\s*)(=)(\\s*)(function)(?:(\\s+)(\\w+))?(\\s*)(\\()",next:"function_arguments"},{token:"punctuation.operator",regex:/[.](?![.])/},{token:"support.function",regex:/(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/},{token:"support.function.dom",regex:/(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName|ClassName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/},{token:"support.constant",regex:/(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/},{token:"identifier",regex:s},{regex:"",token:"empty",next:"no_regex"}],start:[a.getStartRule("doc-start"),r("start"),{token:"string.regexp",regex:"\\/",next:"regex"},{token:"text",regex:"\\s+|^$",next:"start"},{token:"empty",regex:"",next:"no_regex"}],regex:[{token:"regexp.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"string.regexp",regex:"/[sxngimy]*",next:"no_regex"},{token:"invalid",regex:/\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/},{token:"constant.language.escape",regex:/\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/},{token:"constant.language.delimiter",regex:/\|/},{token:"constant.language.escape",regex:/\[\^?/,next:"regex_character_class"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp"}],regex_character_class:[{token:"regexp.charclass.keyword.operator",regex:"\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"},{token:"constant.language.escape",regex:"]",next:"regex"},{token:"constant.language.escape",regex:"-"},{token:"empty",regex:"$",next:"no_regex"},{defaultToken:"string.regexp.charachterclass"}],function_arguments:[{token:"variable.parameter",regex:s},{token:"punctuation.operator",regex:"[, ]+"},{token:"punctuation.operator",regex:"$"},{token:"empty",regex:"",next:"no_regex"}],qqstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:'"|$',next:"no_regex"},{defaultToken:"string"}],qstring:[{token:"constant.language.escape",regex:n},{token:"string",regex:"\\\\$",consumeLineEnd:!0},{token:"string",regex:"'|$",next:"no_regex"},{defaultToken:"string"}]},e&&e.noES6||(this.$rules.no_regex.unshift({regex:"[{}]",onMatch:function(e,t,n){if(this.next="{"==e?this.nextState:"","{"==e&&n.length)n.unshift("start",t);else if("}"==e&&n.length&&(n.shift(),this.next=n.shift(),-1!=this.next.indexOf("string")||-1!=this.next.indexOf("jsx")))return"paren.quasi.end";return"{"==e?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.quasi.start",regex:/`/,push:[{token:"constant.language.escape",regex:n},{token:"paren.quasi.start",regex:/\${/,push:"start"},{token:"string.quasi.end",regex:/`/,next:"pop"},{defaultToken:"string.quasi"}]}),(!e||0!=e.jsx)&&function(){var e=s.replace("\\d","\\d\\-"),t={onMatch:function(e,t,n){var r="/"==e.charAt(1)?2:1;return 1==r?(t!=this.nextState?n.unshift(this.next,this.nextState,0):n.unshift(this.next),n[2]++):2==r&&t==this.nextState&&(n[1]--,(!n[1]||n[1]<0)&&(n.shift(),n.shift())),[{type:"meta.tag.punctuation."+(1==r?"":"end-")+"tag-open.xml",value:e.slice(0,r)},{type:"meta.tag.tag-name.xml",value:e.substr(r)}]},regex:"</?"+e,next:"jsxAttributes",nextState:"jsx"};this.$rules.start.unshift(t);var n={regex:"{",token:"paren.quasi.start",push:"start"};this.$rules.jsx=[n,t,{include:"reference"},{defaultToken:"string"}],this.$rules.jsxAttributes=[{token:"meta.tag.punctuation.tag-close.xml",regex:"/?>",onMatch:function(e,t,n){return t==n[0]&&n.shift(),2==e.length&&(n[0]==this.nextState&&n[1]--,(!n[1]||n[1]<0)&&n.splice(0,2)),this.next=n[0]||"start",[{type:this.token,value:e}]},nextState:"jsx"},n,r("jsxAttributes"),{token:"entity.other.attribute-name.xml",regex:e},{token:"keyword.operator.attribute-equals.xml",regex:"="},{token:"text.tag-whitespace.xml",regex:"\\s+"},{token:"string.attribute-value.xml",regex:"'",stateName:"jsx_attr_q",push:[{token:"string.attribute-value.xml",regex:"'",next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},{token:"string.attribute-value.xml",regex:'"',stateName:"jsx_attr_qq",push:[{token:"string.attribute-value.xml",regex:'"',next:"pop"},{include:"reference"},{defaultToken:"string.attribute-value.xml"}]},t],this.$rules.reference=[{token:"constant.language.escape.reference.xml",regex:"(?:&#[0-9]+;)|(?:&#x[0-9a-fA-F]+;)|(?:&[a-zA-Z0-9_:\\.-]+;)"}]}.call(this)),this.embedRules(a,"doc-",[a.getEndRule("no_regex")]),this.normalizeRules()};o.inherits(l,i),t.JavaScriptHighlightRules=l}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var i=e("../range").Range,r=function(){};(function(){this.checkOutdent=function(e,t){return!!/^\s+$/.test(e)&&/^\s*\}/.test(t)},this.autoOutdent=function(e,t){var n=e.getLine(t).match(/^(\s*\})/);if(!n)return 0;var r=n[1].length,o=e.findMatchingBracket({row:t,column:r});if(!o||o.row==t)return 0;var a=this.$getIndent(e.getLine(o.row));e.replace(new i(t,0,t,r-1),a)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(r.prototype),t.MatchingBraceOutdent=r}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),g=e("../../range").Range,o=e("./fold_mode").FoldMode,a=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(a,o),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var o=this._getFoldWidgetBase(e,t,n);return!o&&this.startRegionRe.test(r)?"start":o},this.getFoldWidgetRange=function(e,t,n,r){var o,a=e.getLine(n);if(this.startRegionRe.test(a))return this.getCommentRegionBlock(e,a,n);if(o=a.match(this.foldingStartMarker)){var i=o.index;if(o[1])return this.openingBracketBlock(e,o[1],n,i);var s=e.getCommentFoldRange(n,i+o[0].length,1);return s&&!s.isMultiLine()&&(r?s=this.getSectionRange(e,n):"all"!=t&&(s=null)),s}if("markbegin"!==t&&(o=a.match(this.foldingStopMarker))){i=o.index+o[0].length;return o[1]?this.closingBracketBlock(e,o[1],n,i):e.getCommentFoldRange(n,i,-1)}},this.getSectionRange=function(e,t){for(var n=e.getLine(t),r=n.search(/\S/),o=t,a=n.length,i=t+=1,s=e.getLength();++t<s;){var l=(n=e.getLine(t)).search(/\S/);if(-1!==l){if(l<r)break;var c=this.getFoldWidgetRange(e,"all",t);if(c){if(c.start.row<=o)break;if(c.isMultiLine())t=c.end.row;else if(r==l)break}i=t}}return new g(o,a,i,e.getLine(i).length)},this.getCommentRegionBlock=function(e,t,n){for(var r=t.search(/\s*$/),o=e.getLength(),a=n,i=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,s=1;++n<o;){t=e.getLine(n);var l=i.exec(t);if(l&&(l[1]?s--:s++,!s))break}if(a<n)return new g(a,r,n,t.length)}}.call(a.prototype)}),ace.define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./text").Mode,a=e("./javascript_highlight_rules").JavaScriptHighlightRules,i=e("./matching_brace_outdent").MatchingBraceOutdent,s=e("../worker/worker_client").WorkerClient,l=e("./behaviour/cstyle").CstyleBehaviour,c=e("./folding/cstyle").FoldMode,g=function(){this.HighlightRules=a,this.$outdent=new i,this.$behaviour=new l,this.foldingRules=new c};r.inherits(g,o),function(){this.lineCommentStart="//",this.blockComment={start:"/*",end:"*/"},this.$quotes={'"':'"',"'":"'","`":"`"},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),o=this.getTokenizer().getLineTokens(t,e),a=o.tokens,i=o.state;if(a.length&&"comment"==a[a.length-1].type)return r;if("start"==e||"no_regex"==e)(s=t.match(/^.*(?:\bcase\b.*:|[\{\(\[])\s*$/))&&(r+=n);else if("doc-start"==e){if("start"==i||"no_regex"==i)return"";var s;(s=t.match(/^\s*(\/?)\*/))&&(s[1]&&(r+=" "),r+="* ")}return r},this.checkOutdent=function(e,t,n){return this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){this.$outdent.autoOutdent(t,n)},this.createWorker=function(t){var e=new s(["ace"],"ace/mode/javascript_worker","JavaScriptWorker");return e.attachToDocument(t.getDocument()),e.on("annotate",function(e){t.setAnnotations(e.data)}),e.on("terminate",function(){t.clearAnnotations()}),e},this.$id="ace/mode/javascript"}.call(g.prototype),t.Mode=g}),ace.define("ace/mode/wollok_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./doc_comment_highlight_rules").DocCommentHighlightRules,a=e("./text_highlight_rules").TextHighlightRules,i=function(){var e=this.createKeywordMapper({"variable.language":"self",keyword:"test|describe|package|inherits|false|import|else|or|class|and|not|native|override|program|self|try|const|var|catch|object|super|throw|if|null|return|true|new|constructor|method|mixin","constant.language":"null|assert|console","support.function":"Object|Pair|String|Boolean|Number|Integer|Double|Collection|Set|List|Exception|Range|StackTraceElement"},"identifier");this.$rules={start:[{token:"comment",regex:"\\/\\/.*$"},o.getStartRule("doc-start"),{token:"comment",regex:"\\/\\*",next:"comment"},{token:"string",regex:'["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'},{token:"string",regex:"['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"},{token:"constant.numeric",regex:/0(?:[xX][0-9a-fA-F][0-9a-fA-F_]*|[bB][01][01_]*)[LlSsDdFfYy]?\b/},{token:"constant.numeric",regex:/[+-]?\d[\d_]*(?:(?:\.[\d_]*)?(?:[eE][+-]?[\d_]+)?)?[LlSsDdFfYy]?\b/},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:e,regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{token:"keyword.operator",regex:"===|&&|\\*=|\\.\\.|\\*\\*|#|!|%|\\*|\\?:|\\+|\\/|,|\\+=|\\-|\\.\\.<|!==|:|\\/=|\\?\\.|\\+\\+|>|=|<|>=|=>|==|\\]|\\[|\\-=|\\->|\\||\\-\\-|<>|!=|%=|\\|"},{token:"lparen",regex:"[[({]"},{token:"rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}],comment:[{token:"comment",regex:".*?\\*\\/",next:"start"},{token:"comment",regex:".+"}]},this.embedRules(o,"doc-",[o.getEndRule("start")])};r.inherits(i,a),t.WollokHighlightRules=i}),ace.define("ace/mode/wollok",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/wollok_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),o=e("./javascript").Mode,a=e("./wollok_highlight_rules").WollokHighlightRules,i=function(){o.call(this),this.HighlightRules=a};r.inherits(i,o),function(){this.createWorker=function(e){return null},this.$id="ace/mode/wollok"}.call(i.prototype),t.Mode=i}),ace.require(["ace/mode/wollok"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/mode-xquery.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/mode/xquery/xquery_lexer",["require","exports","module"],function(e,t,n){n.exports=function r(t,n,i){function o(u,a){if(!n[u]){if(!t[u]){var f=typeof e=="function"&&e;if(!a&&f)return f(u,!0);if(s)return s(u,!0);var l=new Error("Cannot find module '"+u+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[u]={exports:{}};t[u][0].call(c.exports,function(e){var n=t[u][1][e];return o(n?n:e)},c,c.exports,r,t,n,i)}return n[u].exports}var s=typeof e=="function"&&e;for(var u=0;u<i.length;u++)o(i[u]);return o(i[0])}({"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js":[function(e,t,n){var r=n.XQueryTokenizer=function i(e,t){function r(e,t){E=t,S=e,x=e.length,s(0,0,0)}function s(e,t,n){m=t,g=t,y=e,b=t,w=n,N=n,E.reset(S)}function o(){E.startNonterminal("EQName",g);switch(y){case 77:f(77);break;case 91:f(91);break;case 115:f(115);break;case 116:f(116);break;case 119:f(119);break;case 140:f(140);break;case 147:f(147);break;case 160:f(160);break;case 180:f(180);break;case 186:f(186);break;case 211:f(211);break;case 221:f(221);break;case 222:f(222);break;case 238:f(238);break;case 239:f(239);break;case 248:f(248);break;default:u()}E.endNonterminal("EQName",g)}function u(){E.startNonterminal("FunctionName",g);switch(y){case 14:f(14);break;case 65:f(65);break;case 68:f(68);break;case 69:f(69);break;case 70:f(70);break;case 74:f(74);break;case 75:f(75);break;case 79:f(79);break;case 83:f(83);break;case 84:f(84);break;case 85:f(85);break;case 88:f(88);break;case 89:f(89);break;case 98:f(98);break;case 100:f(100);break;case 103:f(103);break;case 104:f(104);break;case 105:f(105);break;case 106:f(106);break;case 107:f(107);break;case 108:f(108);break;case 113:f(113);break;case 114:f(114);break;case 117:f(117);break;case 118:f(118);break;case 121:f(121);break;case 123:f(123);break;case 124:f(124);break;case 126:f(126);break;case 129:f(129);break;case 130:f(130);break;case 131:f(131);break;case 132:f(132);break;case 141:f(141);break;case 143:f(143);break;case 145:f(145);break;case 146:f(146);break;case 148:f(148);break;case 154:f(154);break;case 155:f(155);break;case 157:f(157);break;case 158:f(158);break;case 159:f(159);break;case 165:f(165);break;case 167:f(167);break;case 169:f(169);break;case 173:f(173);break;case 175:f(175);break;case 176:f(176);break;case 177:f(177);break;case 179:f(179);break;case 181:f(181);break;case 193:f(193);break;case 195:f(195);break;case 196:f(196);break;case 197:f(197);break;case 201:f(201);break;case 207:f(207);break;case 208:f(208);break;case 213:f(213);break;case 214:f(214);break;case 215:f(215);break;case 219:f(219);break;case 224:f(224);break;case 230:f(230);break;case 231:f(231);break;case 232:f(232);break;case 243:f(243);break;case 244:f(244);break;case 245:f(245);break;case 249:f(249);break;case 251:f(251);break;case 255:f(255);break;case 261:f(261);break;case 265:f(265);break;case 269:f(269);break;case 67:f(67);break;case 76:f(76);break;case 78:f(78);break;case 80:f(80);break;case 81:f(81);break;case 86:f(86);break;case 93:f(93);break;case 96:f(96);break;case 97:f(97);break;case 99:f(99);break;case 101:f(101);break;case 120:f(120);break;case 127:f(127);break;case 128:f(128);break;case 136:f(136);break;case 149:f(149);break;case 150:f(150);break;case 156:f(156);break;case 166:f(166);break;case 187:f(187);break;case 194:f(194);break;case 198:f(198);break;case 217:f(217);break;case 220:f(220);break;case 223:f(223);break;case 229:f(229);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 252:f(252);break;case 256:f(256);break;case 257:f(257);break;case 258:f(258);break;case 262:f(262);break;case 92:f(92);break;case 171:f(171);break;default:f(216)}E.endNonterminal("FunctionName",g)}function a(){E.startNonterminal("NCName",g);switch(y){case 26:f(26);break;case 65:f(65);break;case 70:f(70);break;case 74:f(74);break;case 75:f(75);break;case 79:f(79);break;case 83:f(83);break;case 84:f(84);break;case 85:f(85);break;case 89:f(89);break;case 100:f(100);break;case 104:f(104);break;case 108:f(108);break;case 113:f(113);break;case 117:f(117);break;case 118:f(118);break;case 121:f(121);break;case 123:f(123);break;case 126:f(126);break;case 132:f(132);break;case 141:f(141);break;case 143:f(143);break;case 145:f(145);break;case 146:f(146);break;case 155:f(155);break;case 157:f(157);break;case 158:f(158);break;case 159:f(159);break;case 167:f(167);break;case 169:f(169);break;case 173:f(173);break;case 175:f(175);break;case 176:f(176);break;case 181:f(181);break;case 193:f(193);break;case 195:f(195);break;case 196:f(196);break;case 215:f(215);break;case 219:f(219);break;case 231:f(231);break;case 232:f(232);break;case 243:f(243);break;case 244:f(244);break;case 249:f(249);break;case 261:f(261);break;case 265:f(265);break;case 68:f(68);break;case 69:f(69);break;case 77:f(77);break;case 88:f(88);break;case 91:f(91);break;case 98:f(98);break;case 103:f(103);break;case 105:f(105);break;case 106:f(106);break;case 107:f(107);break;case 114:f(114);break;case 115:f(115);break;case 116:f(116);break;case 119:f(119);break;case 124:f(124);break;case 129:f(129);break;case 130:f(130);break;case 131:f(131);break;case 140:f(140);break;case 147:f(147);break;case 148:f(148);break;case 154:f(154);break;case 160:f(160);break;case 165:f(165);break;case 177:f(177);break;case 179:f(179);break;case 180:f(180);break;case 186:f(186);break;case 197:f(197);break;case 201:f(201);break;case 207:f(207);break;case 208:f(208);break;case 211:f(211);break;case 213:f(213);break;case 214:f(214);break;case 221:f(221);break;case 222:f(222);break;case 224:f(224);break;case 230:f(230);break;case 238:f(238);break;case 239:f(239);break;case 245:f(245);break;case 248:f(248);break;case 251:f(251);break;case 255:f(255);break;case 257:f(257);break;case 269:f(269);break;case 67:f(67);break;case 76:f(76);break;case 78:f(78);break;case 80:f(80);break;case 81:f(81);break;case 86:f(86);break;case 93:f(93);break;case 96:f(96);break;case 97:f(97);break;case 99:f(99);break;case 101:f(101);break;case 120:f(120);break;case 127:f(127);break;case 128:f(128);break;case 136:f(136);break;case 149:f(149);break;case 150:f(150);break;case 156:f(156);break;case 166:f(166);break;case 187:f(187);break;case 194:f(194);break;case 198:f(198);break;case 217:f(217);break;case 220:f(220);break;case 223:f(223);break;case 229:f(229);break;case 235:f(235);break;case 246:f(246);break;case 247:f(247);break;case 252:f(252);break;case 256:f(256);break;case 258:f(258);break;case 262:f(262);break;case 92:f(92);break;case 171:f(171);break;default:f(216)}E.endNonterminal("NCName",g)}function f(e){y==e?(l(),E.terminal(i.TOKEN[y],b,w>x?x:w),m=b,g=w,y=0):d(b,w,0,y,e)}function l(){g!=b&&(m=g,g=b,E.whitespace(m,g))}function c(e){var t;for(;;){t=C(e);if(t!=28)break}return t}function h(e){y==0&&(y=c(e),b=T,w=N)}function p(e){y==0&&(y=C(e),b=T,w=N)}function d(e,t,r,i,s){throw new n.ParseException(e,t,r,i,s)}function C(e){var t=!1;T=N;var n=N,r=i.INITIAL[e],s=0;for(var o=r&4095;o!=0;){var u,a=n<x?S.charCodeAt(n):0;++n;if(a<128)u=i.MAP0[a];else if(a<55296){var f=a>>4;u=i.MAP1[(a&15)+i.MAP1[(f&31)+i.MAP1[f>>5]]]}else{if(a<56320){var f=n<x?S.charCodeAt(n):0;f>=56320&&f<57344&&(++n,a=((a&1023)<<10)+(f&1023)+65536,t=!0)}var l=0,c=5;for(var h=3;;h=c+l>>1){if(i.MAP2[h]>a)c=h-1;else{if(!(i.MAP2[6+h]<a)){u=i.MAP2[12+h];break}l=h+1}if(l>c){u=0;break}}}s=o;var p=(u<<12)+o-1;o=i.TRANSITION[(p&15)+i.TRANSITION[p>>4]],o>4095&&(r=o,o&=4095,N=n)}r>>=12;if(r==0){N=n-1;var f=N<x?S.charCodeAt(N):0;return f>=56320&&f<57344&&--N,d(T,N,s,-1,-1)}if(t)for(var v=r>>9;v>0;--v){--N;var f=N<x?S.charCodeAt(N):0;f>=56320&&f<57344&&--N}else N-=r>>9;return(r&511)-1}r(e,t);var n=this;this.ParseException=function(e,t,n,r,i){var s=e,o=t,u=n,a=r,f=i;this.getBegin=function(){return s},this.getEnd=function(){return o},this.getState=function(){return u},this.getExpected=function(){return f},this.getOffending=function(){return a},this.getMessage=function(){return a<0?"lexical analysis failed":"syntax error"}},this.getInput=function(){return S},this.getOffendingToken=function(e){var t=e.getOffending();return t>=0?i.TOKEN[t]:null},this.getExpectedTokenSet=function(e){var t;return e.getExpected()<0?t=i.getTokenSet(-e.getState()):t=[i.TOKEN[e.getExpected()]],t},this.getErrorMessage=function(e){var t=this.getExpectedTokenSet(e),n=this.getOffendingToken(e),r=S.substring(0,e.getBegin()),i=r.split("\n"),s=i.length,o=i[s-1].length+1,u=e.getEnd()-e.getBegin();return e.getMessage()+(n==null?"":", found "+n)+"\nwhile expecting "+(t.length==1?t[0]:"["+t.join(", ")+"]")+"\n"+(u==0||n!=null?"":"after successfully scanning "+u+" characters beginning ")+"at line "+s+", column "+o+":\n..."+S.substring(e.getBegin(),Math.min(S.length,e.getBegin()+64))+"..."},this.parse_start=function(){E.startNonterminal("start",g),h(14);switch(y){case 55:f(55);break;case 54:f(54);break;case 56:f(56);break;case 40:f(40);break;case 42:f(42);break;case 41:f(41);break;case 35:f(35);break;case 38:f(38);break;case 274:f(274);break;case 271:f(271);break;case 39:f(39);break;case 43:f(43);break;case 49:f(49);break;case 62:f(62);break;case 63:f(63);break;case 46:f(46);break;case 48:f(48);break;case 53:f(53);break;case 51:f(51);break;case 34:f(34);break;case 273:f(273);break;case 2:f(2);break;case 1:f(1);break;case 3:f(3);break;case 12:f(12);break;case 13:f(13);break;case 15:f(15);break;case 16:f(16);break;case 17:f(17);break;case 5:f(5);break;case 6:f(6);break;case 4:f(4);break;case 33:f(33);break;default:o()}E.endNonterminal("start",g)},this.parse_StartTag=function(){E.startNonterminal("StartTag",g),h(8);switch(y){case 58:f(58);break;case 50:f(50);break;case 27:f(27);break;case 57:f(57);break;case 35:f(35);break;case 38:f(38);break;default:f(33)}E.endNonterminal("StartTag",g)},this.parse_TagContent=function(){E.startNonterminal("TagContent",g),p(11);switch(y){case 23:f(23);break;case 6:f(6);break;case 7:f(7);break;case 55:f(55);break;case 54:f(54);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;default:f(33)}E.endNonterminal("TagContent",g)},this.parse_AposAttr=function(){E.startNonterminal("AposAttr",g),p(10);switch(y){case 20:f(20);break;case 25:f(25);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposAttr",g)},this.parse_QuotAttr=function(){E.startNonterminal("QuotAttr",g),p(9);switch(y){case 19:f(19);break;case 24:f(24);break;case 18:f(18);break;case 29:f(29);break;case 272:f(272);break;case 275:f(275);break;case 271:f(271);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotAttr",g)},this.parse_CData=function(){E.startNonterminal("CData",g),p(1);switch(y){case 11:f(11);break;case 64:f(64);break;default:f(33)}E.endNonterminal("CData",g)},this.parse_XMLComment=function(){E.startNonterminal("XMLComment",g),p(0);switch(y){case 9:f(9);break;case 47:f(47);break;default:f(33)}E.endNonterminal("XMLComment",g)},this.parse_PI=function(){E.startNonterminal("PI",g),p(3);switch(y){case 10:f(10);break;case 59:f(59);break;case 60:f(60);break;default:f(33)}E.endNonterminal("PI",g)},this.parse_Pragma=function(){E.startNonterminal("Pragma",g),p(2);switch(y){case 8:f(8);break;case 36:f(36);break;case 37:f(37);break;default:f(33)}E.endNonterminal("Pragma",g)},this.parse_Comment=function(){E.startNonterminal("Comment",g),p(4);switch(y){case 52:f(52);break;case 41:f(41);break;case 30:f(30);break;default:f(33)}E.endNonterminal("Comment",g)},this.parse_CommentDoc=function(){E.startNonterminal("CommentDoc",g),p(5);switch(y){case 31:f(31);break;case 32:f(32);break;case 52:f(52);break;case 41:f(41);break;default:f(33)}E.endNonterminal("CommentDoc",g)},this.parse_QuotString=function(){E.startNonterminal("QuotString",g),p(6);switch(y){case 18:f(18);break;case 29:f(29);break;case 19:f(19);break;case 21:f(21);break;case 35:f(35);break;default:f(33)}E.endNonterminal("QuotString",g)},this.parse_AposString=function(){E.startNonterminal("AposString",g),p(7);switch(y){case 18:f(18);break;case 29:f(29);break;case 20:f(20);break;case 22:f(22);break;case 38:f(38);break;default:f(33)}E.endNonterminal("AposString",g)},this.parse_Prefix=function(){E.startNonterminal("Prefix",g),h(13),l(),a(),E.endNonterminal("Prefix",g)},this.parse__EQName=function(){E.startNonterminal("_EQName",g),h(12),l(),o(),E.endNonterminal("_EQName",g)};var v,m,g,y,b,w,E,S,x,T,N};r.getTokenSet=function(e){var t=[],n=e<0?-e:INITIAL[e]&4095;for(var i=0;i<276;i+=32){var s=i,o=(i>>5)*2062+n-1,u=o>>2,a=u>>2,f=r.EXPECTED[(o&3)+r.EXPECTED[(u&3)+r.EXPECTED[(a&3)+r.EXPECTED[a>>2]]]];for(;f!=0;f>>>=1,++s)(f&1)!=0&&t.push(r.TOKEN[s])}return t},r.MAP0=[66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35],r.MAP1=[108,124,214,214,214,214,214,214,214,214,214,214,214,214,214,214,156,181,181,181,181,181,214,215,213,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,214,247,261,277,293,309,347,363,379,416,416,416,408,331,323,331,323,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,433,433,433,433,433,433,433,316,331,331,331,331,331,331,331,331,394,416,416,417,415,416,416,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,330,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,331,416,66,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,18,18,18,18,18,18,18,18,18,19,20,21,22,23,24,25,26,27,28,29,30,27,31,31,31,31,31,31,31,31,31,31,31,31,31,31,35,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,32,31,31,33,31,31,31,31,31,31,34,35,36,35,31,35,37,38,39,40,41,42,43,44,45,31,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,31,61,62,63,64,35,35,35,35,35,35,35,35,35,35,35,35,31,31,35,35,35,35,35,35,35,65,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,35,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65,65],r.MAP2=[57344,63744,64976,65008,65536,983040,63743,64975,65007,65533,983039,1114111,35,31,35,31,31,35],r.INITIAL=[1,2,36867,45060,5,6,7,8,9,10,11,12,13,14,15],r.TRANSITION=[17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22908,18836,17152,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18579,21711,17152,19008,19233,20367,19008,28684,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17365,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,17470,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18157,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,17848,17880,18731,17918,36551,17292,17934,17979,18727,18023,36545,18621,18039,18056,18072,18117,18143,18173,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17687,18805,18421,18437,18101,17393,18489,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20116,18836,18637,19008,19233,21267,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18763,18778,18794,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,18821,22923,18906,19008,19233,17431,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18937,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19054,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,18953,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21843,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21696,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22429,20131,18720,19008,19233,20367,19008,17173,23559,36437,17330,17349,18921,17189,17208,17281,20355,18087,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,21242,19111,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19024,18836,18609,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19081,22444,18987,19008,19233,20367,19008,19065,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21992,22007,18987,19008,19233,20367,19008,18690,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22414,18836,18987,19008,19233,30651,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19138,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,19280,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,19172,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21783,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,19218,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21651,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,19249,19265,19307,18888,27857,30536,24401,31444,23357,18888,19351,18888,18890,27211,19370,27211,27211,19392,24401,31911,24401,24401,25467,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,17994,24060,18888,18888,18888,18890,19468,27211,27211,27211,27211,19484,35367,19520,24401,24401,24401,19628,18888,29855,18888,18888,23086,27211,19538,27211,27211,30756,24012,24401,19560,24401,24401,26750,18888,18888,19327,27855,27211,27211,19580,17590,24017,24401,24401,19600,25665,18888,18888,28518,27211,27212,24016,19620,19868,28435,25722,18889,19644,27211,32888,35852,19868,31018,19694,19376,19717,22215,19735,22098,19751,35203,19776,19797,19817,19840,25783,31738,24135,19701,19856,31015,23516,31008,28311,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21768,18836,19307,18888,27857,27904,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,19888,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19440,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22399,18836,19918,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21666,18836,19307,18888,27857,27525,24401,29183,21467,18888,18888,18888,18890,27211,27211,27211,27211,19946,24401,24401,24401,24401,32382,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,19998,24401,24401,24401,24401,31500,18467,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,20021,24401,24401,24401,24401,24401,34271,18888,18888,18888,18888,23086,27211,27211,27211,27211,32926,29908,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,20050,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,20101,19039,20191,20412,20903,17569,20309,20872,25633,20623,20505,20218,20242,17189,17208,17281,20355,20265,20306,20328,20383,22490,20796,20619,21354,20654,20410,20956,21232,20765,17421,20535,17192,18127,22459,20312,25531,22470,20309,20428,18964,20466,20491,21342,21070,20521,20682,17714,18326,17543,17559,17585,22497,20559,19504,20279,20575,20290,20475,20604,20639,20226,20670,17661,21190,17703,21176,17730,19494,20698,20711,22480,21046,21116,18971,21130,20727,20755,17675,17753,17832,17590,25518,20394,20781,20831,20202,20847,21401,17292,17934,17979,18549,20863,20588,25542,20888,20919,18072,18117,20935,20972,21032,21062,21086,18239,21102,18563,21146,21162,21206,18351,20949,20902,18340,21222,21258,21283,18360,20249,17405,21295,21311,21327,20739,20343,21370,21386,21417,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21977,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,21452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,21504,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,36501,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,28674,21946,17617,36473,18223,17237,17477,19152,17860,17892,17675,17753,17832,21575,21534,17481,19156,17864,18731,17918,36551,17292,17934,21560,30628,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21798,18836,21612,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21636,18836,18987,19008,19233,17902,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21753,19096,21903,19008,19233,20367,19008,19291,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,17379,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,21931,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,18280,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21962,18594,18987,19008,19233,22043,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21681,21858,18987,19008,19233,20367,19008,21544,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,32319,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,22231,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,31678,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,33588,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,35019,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22248,24401,24401,24401,24401,30613,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,31500,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,21431,24401,24401,24401,24401,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22324,18836,22059,18888,27857,30501,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,34365,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22354,18836,18987,19008,19233,20367,19008,17173,27086,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,19930,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22309,22513,18987,19008,19233,20367,19008,19122,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,22544,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22608,18836,22988,23004,27585,23020,23036,23067,22087,18888,18888,18888,23083,27211,27211,27211,23102,22121,24401,24401,24401,23122,31386,26154,19674,18888,28119,28232,19424,23705,27211,27211,23142,23173,23189,23212,24401,24401,23246,34427,31693,23262,18888,23290,23308,27783,27620,23327,35263,35107,33383,23346,18193,23393,32748,23968,24401,23414,35153,23463,18888,33913,23442,23482,27211,27211,23532,23552,21431,23575,24401,24401,23604,26095,23635,23657,18888,33482,23685,33251,27211,22187,18851,23721,35536,24401,18887,23750,32641,27211,23769,23787,20080,33012,24384,25659,18888,18889,27211,27211,19719,23889,23803,31018,18890,27211,31833,19406,19447,23086,23330,19828,28224,31826,23823,26917,34978,23850,26493,25782,23878,23914,23516,31008,22105,19419,27963,19659,29781,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22623,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,30613,18888,18888,18888,18888,28909,25783,27211,27211,27211,34048,23933,22164,24401,24401,24401,28409,23949,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,31181,26583,18888,18888,18888,35585,23984,27211,27211,27211,24005,22201,24033,24401,24401,24401,24052,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,26496,24076,24126,24151,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22638,18836,22059,19678,27857,24185,24401,24201,24217,26592,18888,18888,18890,24252,24268,27211,27211,22121,24287,24303,24401,24401,30613,19781,35432,36007,32649,18888,25783,24322,28966,23771,27211,35072,22164,24358,32106,26829,24400,31500,31693,18888,18888,18888,24801,18890,27211,27211,27211,27211,24418,19484,24401,24401,24401,24401,20167,31181,18888,18888,18888,27833,23086,27211,27211,33540,27211,30756,21431,24401,24401,22972,24401,26095,18888,36131,18888,27855,27211,24440,27211,22187,22968,24401,24459,24401,31699,28454,18888,34528,34570,35779,24478,24402,24494,25659,18888,36228,27211,27211,24515,30981,23734,31018,18890,27211,31833,19406,19447,23086,23330,24538,31017,27856,31741,30059,23377,24563,19837,25782,19760,31015,23516,25374,22105,19419,29793,24579,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22653,18836,22059,25756,19982,34097,23196,29183,24614,24110,23641,24673,26103,24697,24443,24713,28558,22121,24748,24462,24764,23398,30613,18888,18888,18888,18888,24798,25783,27211,27211,27211,34232,35072,22164,24401,24401,24401,33302,31500,22559,24106,24232,18888,18888,34970,24817,30411,27211,27211,32484,19484,29750,35127,24401,24401,19872,31181,24852,18888,18888,24871,29221,27211,27211,32072,27211,30756,34441,24401,24401,31571,24401,26095,33141,27802,27011,27855,25295,25607,24888,22187,22968,19195,34593,24906,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,18888,33663,27211,27211,24924,24947,23588,31018,18890,27211,31833,22135,19447,23086,23330,19828,30904,31042,24972,19840,25e3,31738,30898,25782,19760,31015,23516,31008,22105,19419,25016,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22668,18836,25041,25057,31320,25073,25089,25105,22087,34796,24236,36138,34870,34125,25121,23106,35497,22248,36613,25137,30671,27365,30613,25153,26447,25199,25233,22574,23274,25249,25265,25281,25318,25344,25360,25400,25428,25452,26731,25504,31693,23669,25558,27407,25575,28599,25934,25599,27211,28180,27304,25623,25839,25649,24401,34820,25681,25698,22586,27775,30190,25745,25778,25799,25817,28995,33569,30756,21518,33443,25837,25855,25893,26095,31254,26677,30136,27855,25930,25950,27211,22187,22968,25966,25986,24401,23428,27763,36330,26959,26002,26029,26045,26085,26119,26170,26203,26222,26239,30527,26372,26274,28404,31018,33757,27211,34262,26316,36729,26345,26366,35337,31017,26388,26407,30954,26350,33861,26434,26463,26479,26512,23516,33189,26531,26547,27963,31293,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22683,18836,26568,26181,26608,34097,26643,29183,22087,26669,18888,18888,18890,26693,27211,27211,27211,22121,26720,24401,24401,24401,30613,18888,18888,18888,18888,26774,25783,27211,27211,27211,26619,35072,22164,24401,24401,24401,21596,31500,31693,18888,18888,33978,18888,18890,27211,27211,25801,27211,27211,19484,24401,24401,24401,26792,24401,31181,18888,18888,18888,35464,23086,27211,27211,27211,26809,30756,21431,24401,24401,24401,26828,26095,18888,18888,18888,27855,27211,27211,27211,22187,22968,24401,24401,24401,18887,18888,18888,27211,27211,35779,20080,24402,19868,25659,31948,18889,35707,27211,19719,26845,19868,31018,18890,27211,31833,19406,19447,23086,23330,26905,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,24984,31088,19419,26945,27651,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22698,18836,26999,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23051,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,27033,24401,24401,24401,24401,24036,31693,18888,18888,27056,18888,18890,27211,27211,30320,27211,27211,27075,24401,24401,29032,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,33986,27855,27211,27211,27102,17590,24017,24401,24401,27123,27144,36254,27162,27210,27228,28500,18187,34842,33426,27244,35980,27277,27302,27320,36048,34013,20999,31882,21478,27895,27356,30287,27381,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,26329,30087,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,27406,27423,27445,35294,27461,22087,18888,18888,30140,18890,27211,27211,27989,27211,22121,24401,24401,25682,24401,18866,18888,18888,18888,18888,18888,34042,27211,27211,27211,27211,29700,22164,24401,24401,24401,24401,27128,31693,27477,18888,18888,18888,18890,27194,27211,27211,27211,27211,19484,35299,24401,24401,24401,24401,19628,18888,18888,18888,27059,23086,27211,27211,27211,33366,30756,24012,24401,24401,24401,35044,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,20815,27211,30818,19960,33969,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22713,18836,22059,27496,27516,27541,35231,27557,22087,29662,26292,23292,27573,24836,27601,27211,27636,22121,35544,27686,24401,27721,18866,18888,27799,18888,27818,22071,27853,32260,27211,26013,27873,27920,22164,29419,24401,29946,33413,26742,27751,26881,18888,18888,27261,36776,27936,27211,27211,27211,27988,28005,28031,28052,24401,24401,28069,28088,28135,25488,28152,26069,28167,27211,28340,24657,28196,30756,31523,24401,28212,34176,36174,24956,28248,28266,28290,21488,33077,28327,28356,17590,20986,23126,28391,28425,28102,28451,28470,28490,28516,28534,20034,33728,25868,25659,18888,18889,27211,27211,19719,23889,19868,30241,28274,28553,28574,19406,28590,23086,23330,19828,19452,28615,28660,26147,25783,31738,19837,25782,19760,29613,35958,29276,22105,19419,27963,23157,28700,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,18888,27857,34097,24401,29183,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,22528,18888,18888,18888,18888,18890,27333,27211,27211,27211,27211,19484,30853,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22728,18836,28747,28782,28817,28841,28857,28880,28896,24161,28943,32011,36261,27340,28961,29492,28982,29011,24522,29027,25436,29048,23051,27500,29090,29110,30713,18888,23512,29130,25183,27211,29155,28927,27033,29173,23230,24401,29199,35373,31693,18888,18888,25583,32629,29218,27211,27211,31461,30692,29237,27075,24401,24401,24401,29262,29302,19628,18888,34329,18888,18888,23086,27211,29329,27211,27211,30756,24012,35933,24401,24401,24401,27705,31612,18888,18888,29346,29374,27211,35650,17590,21436,29393,24401,25970,18887,33895,18888,27211,32528,27212,24016,32769,19868,25659,18888,26889,27211,27211,29412,23889,24371,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31768,19840,25783,31738,19837,29435,29508,31102,29550,29606,22105,30300,29462,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22743,18836,22059,29629,29473,34097,33285,29183,29651,27254,18888,29678,33329,32535,27211,29694,29716,22121,19202,24401,32742,29741,18866,26776,33921,28474,18888,18888,25783,29766,27211,29809,27211,35072,22164,35825,24401,29828,24401,24036,36769,25217,18888,18888,29848,18890,27211,29871,27211,26258,27211,29894,24401,29929,24401,36587,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,29725,29962,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18473,18888,18888,19584,27211,27212,24016,29982,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19902,19447,32052,19544,19828,29998,30097,30031,19840,25783,30047,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,30075,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22758,18836,30121,30156,30206,30257,30273,30336,22087,35624,32837,25762,18890,29878,34934,26812,27211,22121,24931,23223,29202,24401,18866,34373,30352,18888,18888,18888,23447,24828,27211,27211,27211,35072,30370,35052,24401,24401,24401,24036,29523,18888,18888,27146,18888,31308,30386,27211,27211,30405,30558,19484,30427,24401,24401,29938,35686,19628,28766,30447,34506,35614,23086,28731,30482,30517,30552,30756,24012,20156,30574,30598,30667,26283,33464,28945,27670,30687,32915,33504,25328,17590,23963,20450,33837,21016,32397,26300,30708,30729,27885,30748,21588,36373,30779,26653,24628,33220,32514,30806,31835,25412,25906,26515,18890,28825,31833,26133,19447,28304,31730,23834,26057,30869,30885,32181,30920,30942,32797,25782,30970,31015,23516,31008,30997,31034,27963,19659,29450,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22773,18836,31058,31074,32463,31125,31141,31197,22087,18888,29534,35471,36738,27211,24342,31213,24424,22121,24401,20175,31229,31917,27736,31245,34334,27175,18888,29094,27286,27211,31278,31336,27211,31355,31371,24401,31402,31418,24401,31437,31693,18888,31619,32841,18888,18890,27211,27211,31460,31477,27211,19484,24401,24401,31497,36581,24401,33020,18888,18888,18888,18888,30007,27211,27211,27211,27211,31516,32310,24401,24401,24401,24401,31539,18888,28762,18888,24651,35740,27211,27211,28644,31565,35796,24401,24401,19318,32188,18888,24334,28366,27212,29966,29832,19868,25659,18888,18889,27211,27211,19719,31587,19868,31635,32435,33693,30105,31663,20005,31715,31757,31784,31812,30015,31851,31878,25783,31898,19837,25782,19760,31015,23516,31008,22105,19419,27963,31933,30221,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22788,18836,22059,25729,30466,31968,24306,31984,32e3,32807,35160,27017,29590,34941,19801,29377,33700,22121,27040,30431,29396,28864,29565,18888,18888,18888,32027,18888,25783,27211,27211,23698,27211,35072,22164,24401,24401,30845,24401,24036,32045,18888,26929,18888,18888,18890,27211,31481,32068,27211,27211,32088,24401,33058,32122,24401,24401,33736,18888,18888,33162,18888,23086,27211,27211,29484,27211,28375,32144,24401,24401,33831,24401,26750,18888,18888,18888,27855,27211,27211,27211,36704,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,33107,22171,33224,24271,32169,31017,27856,31741,19840,25783,31738,30234,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,32204,32232,32252,32677,33295,29074,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,23619,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,32276,24401,24401,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,32299,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,33886,18889,36065,27211,19719,35326,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22803,18836,32335,31647,34666,32351,32367,32417,22087,18888,32433,19335,32451,27211,32479,27107,32500,22121,24401,32551,20085,32572,18866,22287,23753,18888,18888,32602,32665,27211,32693,27211,26972,32713,32729,24401,32764,24401,25877,32785,34768,18888,27390,32823,24594,24855,32857,24890,32878,32904,27211,32942,32977,24401,33e3,29313,24401,30790,26206,27666,33904,18888,23086,36353,27211,33036,27211,30756,24012,32153,24401,33056,24401,35861,18888,18888,30354,27972,27211,27211,33800,17590,20145,24401,24401,34638,20811,18888,18888,33074,27211,27212,36167,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,34616,24169,33093,33123,33157,27856,31741,23862,26552,34302,19837,25782,19760,31015,23516,31008,33178,19973,27963,23497,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22818,18836,33205,28113,33240,34097,33275,29183,22087,33318,35438,18888,18890,33345,26391,33382,27211,22121,33399,28072,33442,24401,18866,22232,18888,33459,18888,18888,33480,33498,25175,27211,27211,26704,22164,24775,35239,24401,24401,25914,29580,18888,18888,31109,25211,33520,33539,27211,27211,33556,36284,19484,33585,24401,24401,33604,32556,19628,18888,18888,31262,33658,23086,27211,27211,33679,27211,30756,24012,24401,24401,33716,24401,26854,27480,18888,33752,27855,33259,34701,27211,17590,32102,24782,23807,24401,18887,18888,18888,27211,27211,27212,33773,36105,19868,25659,18888,23368,27211,29157,19719,23889,34454,29286,18890,33794,25302,33816,19447,34079,33853,31862,31017,27856,31741,33877,28920,33937,19837,30461,34002,22276,36041,34029,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22833,18836,34064,32616,34113,34141,34157,34192,34208,32216,36013,31549,31952,34224,34248,34287,29330,34350,34389,34413,34481,26793,18866,26187,29635,22293,18888,36654,25783,34522,34544,34566,25821,35072,22164,34586,34609,34632,19604,24036,36644,36674,24681,18888,32401,34654,31339,34682,34698,27211,34717,34753,28053,34812,34836,24401,33619,19628,34858,32236,34906,24598,33523,27612,34890,34922,24732,29246,36717,33634,34465,32984,34168,26750,34957,18888,18888,34994,35010,27211,33040,17590,29913,35035,24401,36304,25482,30171,35883,35068,35088,26627,20441,31173,35123,35143,35176,24640,30492,29358,19719,35192,35219,25384,28801,35255,35279,32586,34496,23086,23330,29061,31017,27856,31741,19840,25783,31738,24547,25164,35315,31796,35353,34316,22105,19419,27963,24091,28630,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22848,18836,22059,34782,34088,35389,21008,35405,35421,35454,18888,18888,23466,35487,27211,27211,27211,35513,31154,24401,24401,24401,35560,18888,26863,36664,35601,24872,25783,30389,23536,26250,35647,35666,22164,19522,19564,30582,35682,27697,35575,29114,18888,18888,18888,18890,27211,35702,27211,27211,27211,35723,24401,35527,24401,24401,24401,19628,30184,18888,18888,18888,23086,35739,27211,27211,27211,29139,22938,24401,24401,24401,24401,23898,35756,18888,18888,25025,35778,27211,27211,17590,20064,35795,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,23917,18890,34550,31833,22262,19447,23086,23330,26418,31017,27856,31741,19840,25783,35812,19837,27187,35841,33135,23516,31008,22105,22148,28712,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22863,18836,22059,35877,28723,34097,31164,29183,22087,26758,18888,22592,18890,23989,27211,29812,27211,22121,33778,24401,31421,24401,18866,18888,18888,26872,18888,18888,25783,27211,30732,27211,27211,35072,22164,24401,24908,24401,24401,24036,31693,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22878,18836,22059,27837,27857,35899,24401,35915,22087,18888,18888,18888,18890,27211,27211,27211,27211,22121,24401,24401,24401,24401,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,31602,18888,18888,18888,18888,26223,27211,27211,27211,27211,27211,19484,35931,24401,24401,24401,24401,19628,18888,28136,18888,18888,35949,27211,32862,27211,32697,30756,24012,24401,32283,24401,32128,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22893,18836,22059,35974,34882,34097,33960,29183,35996,18888,23311,18888,36029,27211,27211,36064,36081,22121,24401,24401,36104,33950,18866,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,35072,22164,24401,24401,24401,24401,24036,36121,18888,25559,18888,18888,18890,27211,27211,30313,27211,27211,36154,24401,24401,34397,24401,24401,19628,28250,18888,18888,18888,23086,30926,27211,27211,27211,26983,24012,33642,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22339,18836,22059,19354,27857,36190,24401,36206,22087,18888,18888,18888,18007,27211,27211,27211,24724,22121,24401,24401,24401,30827,18866,18888,36222,18888,28795,18888,25783,35100,27211,27429,27211,35072,22164,30836,24401,24499,24401,24036,31693,18888,36244,18888,18888,18890,27211,36088,27211,27211,27211,19484,24401,28036,24401,24401,24401,19628,18888,18888,35631,18888,35762,27211,27211,36277,27211,34730,24012,24401,24401,36300,24401,36320,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,25712,18888,18888,36346,27211,27212,19184,24402,19868,25659,32029,18889,27211,33359,19719,23889,36369,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22384,18836,36389,19008,19233,20367,36434,17173,17595,36437,17330,17349,18921,17189,17208,17281,20355,36453,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,22369,18836,18987,19008,19233,20367,19008,21737,30763,36437,17330,17349,18921,17189,17208,17281,20355,17949,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21813,18836,36489,19008,19233,20367,19008,17173,17737,36437,17330,17349,18921,17189,17208,17281,20355,17768,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20543,22022,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,18987,19008,19233,20367,19008,17173,30763,36437,17330,17349,18921,17189,17208,17281,20355,36517,17308,17327,17346,18918,18452,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,18127,21873,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,21828,18836,19307,18888,27857,30756,24401,29183,28015,18888,18888,18888,18890,27211,27211,27211,27211,36567,24401,24401,24401,24401,22953,18888,18888,18888,18888,18888,25783,27211,27211,27211,27211,28537,36603,24401,24401,24401,24401,24036,18881,18888,18888,18888,18888,18890,27211,27211,27211,27211,27211,19484,24401,24401,24401,24401,24401,19628,18888,18888,18888,18888,23086,27211,27211,27211,27211,30756,24012,24401,24401,24401,24401,26750,18888,18888,18888,27855,27211,27211,27211,17590,24017,24401,24401,24401,18887,18888,18888,27211,27211,27212,24016,24402,19868,25659,18888,18889,27211,27211,19719,23889,19868,31018,18890,27211,31833,19406,19447,23086,23330,19828,31017,27856,31741,19840,25783,31738,19837,25782,19760,31015,23516,31008,22105,19419,27963,19659,27951,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,36629,36690,18720,19008,19233,20367,19008,17454,17595,36437,17330,17349,18921,17189,17208,17281,20355,17223,17308,17327,17346,18918,36754,21880,18649,18665,19006,17265,22033,20765,17421,20535,17192,20362,21726,17311,18658,18999,19008,17447,32952,17497,17520,17251,36411,17782,20682,17714,18326,17543,17559,17585,21887,17504,17527,17258,36418,21915,21940,17611,36467,18217,17633,17661,21190,17703,21176,17730,34737,21946,17617,36473,18223,36531,17477,19152,17860,17892,17675,17753,17832,17590,21620,17481,19156,17864,18731,17918,36551,17292,17934,17979,18727,18681,18405,18621,18039,18056,18072,18117,18143,18706,18052,18209,18250,18239,18266,17963,18296,18312,18376,17807,36403,19232,17796,17163,30642,18392,17816,32961,17645,18805,18421,18437,18519,17393,18747,18505,18535,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,17590,0,94242,0,118820,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2482176,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,27,27,27,2207744,2404352,2412544,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3104768,2605056,2207744,2207744,2207744,2207744,2207744,2207744,2678784,2207744,2695168,2207744,2703360,2207744,2711552,2752512,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,0,2158592,2158592,3170304,3174400,2158592,0,139,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2158592,2158592,2158592,2863104,2891776,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2785280,2207744,2809856,2207744,2207744,2842624,2207744,2207744,2207744,2899968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2473984,2207744,2207744,2494464,2207744,2207744,2207744,2523136,2158592,2404352,2412544,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2605056,2158592,2158592,2158592,2158592,2158592,2158592,2678784,2158592,2695168,2158592,2703360,2158592,2711552,2752512,2158592,2158592,2785280,2158592,2158592,2785280,2158592,2809856,2158592,2158592,2842624,2158592,2158592,2158592,2899968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,18,0,0,0,0,0,0,0,2211840,0,0,641,0,2158592,0,0,0,0,0,0,0,0,2211840,0,0,32768,0,2158592,0,2158592,2158592,2158592,2383872,2158592,2158592,2158592,2158592,3006464,2383872,2207744,2207744,2207744,2207744,2158877,2158877,2158877,2158877,0,0,0,2158877,2572573,2158877,2158877,0,2207744,2207744,2596864,2207744,2207744,2207744,2207744,2207744,2207744,2641920,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,167936,0,0,2162688,0,0,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,0,0,2146304,2146304,2224128,2224128,2232320,2232320,2232320,641,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2531328,2158592,2158592,2158592,2158592,2158592,2617344,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,2158592,2502656,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2580480,2158592,2158592,2158592,2158592,2621440,2158592,2158592,2158592,2158592,2158592,2158592,2699264,2158592,2158592,2158592,2158592,2158592,2748416,2756608,2777088,2801664,2207744,2863104,2891776,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3018752,2207744,3043328,2207744,2207744,2207744,2207744,3080192,2207744,2207744,3112960,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,172310,279,0,2162688,0,0,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2158592,2158592,2158592,2404352,2412544,2158592,2510848,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2584576,2158592,2609152,2158592,2158592,2629632,2158592,2158592,2158592,2686976,2158592,2715648,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2158592,2158592,3170304,3174400,2158592,2367488,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,0,2207744,2207744,2207744,2433024,2207744,2453504,2461696,2207744,2207744,2207744,2207744,2207744,2207744,2510848,2207744,2207744,2207744,2207744,2207744,2531328,2207744,2207744,2207744,2207744,2207744,2617344,2207744,2207744,2207744,2207744,2158592,2158592,2158592,2158592,0,0,0,2158592,2572288,2158592,2158592,1508,2715648,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2867200,2207744,2904064,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2580480,2207744,2207744,2207744,2207744,2621440,2207744,2207744,2207744,3149824,2207744,2207744,3170304,3174400,2207744,0,0,0,0,0,0,0,0,0,0,138,2158592,2158592,2158592,2404352,2412544,2707456,2732032,2207744,2207744,2207744,2822144,2826240,2207744,2895872,2207744,2207744,2924544,2207744,2207744,2973696,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,285,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3186688,2158592,2207744,2207744,2158592,2158592,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2158592,0,0,2535424,2543616,2158592,2158592,2158592,0,0,0,2158592,2158592,2158592,2990080,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2572288,2981888,2207744,2207744,3002368,2207744,3047424,3063808,3076096,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3203072,2708960,2732032,2158592,2158592,2158592,2822144,2827748,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2981888,2158592,2158592,3002368,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2981888,2158592,2158592,3003876,2158592,3047424,3063808,3076096,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3203072,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,20480,0,0,0,0,0,2162688,20480,0,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2908160,2527232,2207744,2207744,2576384,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2908160,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,286,2158592,2158592,0,0,2158592,2158592,2158592,2158592,2633728,2658304,0,0,2740224,2744320,0,2834432,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,0,0,29315,0,0,0,0,45,45,45,45,45,933,45,45,45,45,442,45,45,45,45,45,45,45,45,45,67,67,2494464,2158592,2158592,2158592,2524757,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,1504,2158592,2498560,2158592,2158592,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,2736128,2158592,2158592,0,2158592,2912256,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3108864,2158592,2158592,3133440,3145728,3153920,2375680,2379776,2207744,2207744,2420736,2207744,2449408,2207744,2207744,2207744,2498560,2207744,2207744,2207744,2207744,2568192,2207744,0,0,0,0,0,0,2166784,0,0,0,0,0,551,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,2020,2158592,2592768,2625536,2207744,2207744,2674688,2736128,2207744,2207744,2207744,2912256,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,542,0,544,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,641,0,0,0,0,0,0,2367488,2158592,2498560,2158592,2158592,1621,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,1608,97,97,97,97,97,97,97,97,97,97,1107,97,97,1110,97,97,3133440,3145728,3153920,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3014656,2158592,2158592,3051520,2158592,2158592,3100672,2158592,2158592,3121152,2158592,2158592,2158592,3149824,2416640,2207744,2465792,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2633728,2658304,2740224,2744320,2834432,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158592,2408448,2416640,2158592,2465792,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,32768,0,0,0,0,0,0,2367488,2949120,2158592,2985984,2158592,2998272,2158592,2158592,2158592,3129344,2158592,2158592,2478080,2158592,2158592,2158592,2535424,2543616,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3117056,2207744,2207744,2478080,2207744,2207744,2207744,2207744,2699264,2207744,2207744,2207744,2207744,2207744,2748416,2756608,2777088,2801664,2207744,2207744,2158877,2158877,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,0,0,2535709,2543901,2158877,2158877,2158877,0,0,0,2158877,2158877,2158877,2990365,2158877,2158877,2158730,2158730,2158730,2158730,2158730,2572426,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158592,2158592,2478080,2207744,2207744,2990080,2207744,2207744,2158592,2158592,2482176,2158592,2158592,0,0,0,2158592,2158592,2158592,0,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,3010560,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158592,2428928,2158592,2514944,0,0,2158592,2588672,2158592,0,2838528,2158592,2158592,2158592,3010560,2158592,2506752,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,0,29315,922,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,1539,45,3006464,2383872,0,2020,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,2207744,0,0,2158592,2637824,2953216,2158592,2539520,2158592,2539520,2207744,0,0,2539520,2158592,2158592,2158592,2158592,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158592,2506752,0,0,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2158592,2207744,0,2158592,2965504,2965504,2965504,0,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2474269,2158877,2158877,0,0,2158877,2158877,2158877,2158877,2634013,2658589,0,0,2740509,2744605,0,2834717,40976,18,36884,45078,24,28,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,36884,0,0,0,24,24,24,27,27,27,27,90143,0,0,86016,0,0,2211840,102439,0,0,0,98347,0,2158592,2158592,2158592,2158592,2158592,3158016,0,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,0,94242,0,0,0,2211840,102439,0,0,106538,98347,135,2158592,2158592,2158592,2158592,2158592,2158592,2564096,2158592,2158592,2158592,2158592,2158592,2596864,2158592,2158592,2158592,2158592,2158592,2158592,2641920,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2494464,2158592,2158592,2158592,2523136,2527232,2158592,2158592,2576384,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,0,27,27,0,2158592,2498560,2158592,2158592,0,2158592,2158592,2568192,2158592,2592768,2625536,2158592,2158592,2674688,0,0,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2494464,2158592,2158592,2158592,3006464,2383872,0,0,2158592,2158592,2158592,2158592,3006464,2158592,2637824,2953216,2158592,2207744,2637824,2953216,40976,18,36884,45078,24,27,147488,94242,147456,147488,106538,98347,0,0,147456,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,81920,0,94242,0,0,0,2211840,0,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,2428928,2158592,2514944,2158592,2588672,2158592,2838528,2158592,2158592,40976,18,151573,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,1487,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,0,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,130,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2158592,3096576,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2158592,18,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,644,2207744,2207744,2207744,3186688,2207744,0,1080,0,1084,0,1088,0,0,0,0,0,0,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2531466,2158730,2158730,2158730,2158730,2158730,2617482,0,94242,0,0,0,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,2781184,2793472,2158592,2818048,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,159779,159744,102439,159779,98347,0,0,159744,40976,18,18,36884,0,45078,0,2224253,172032,2224253,2232448,2232448,172032,2232448,90143,0,0,2170880,0,0,550,829,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,124,124,127,127,127,40976,18,36884,45078,25,29,90143,94242,0,102439,106538,98347,0,0,163931,40976,18,18,36884,0,45078,249856,24,24,24,27,27,27,27,90143,0,0,2170880,0,0,827,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,4243810,4243810,24,24,27,27,27,2207744,0,0,0,0,0,0,2166784,0,0,0,0,57344,286,2158592,2158592,2158592,2158592,2707456,2732032,2158592,2158592,2158592,2822144,2826240,2158592,2895872,2158592,2158592,2924544,2158592,2158592,2973696,2158592,2207744,2207744,2207744,3186688,2207744,0,0,0,0,0,0,53248,0,0,0,0,0,97,97,97,97,97,1613,97,97,97,97,97,97,1495,97,97,97,97,97,97,97,97,97,566,97,97,97,97,97,97,2207744,0,0,0,0,0,0,2166784,546,0,0,0,0,286,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,17,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,120,121,18,18,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,0,2170880,0,53248,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,196608,18,266240,24,24,27,27,27,0,94242,0,0,0,38,102439,0,0,106538,98347,0,45,45,45,45,45,45,45,1535,45,45,45,45,45,45,45,1416,45,45,45,45,45,45,45,45,424,45,45,45,45,45,45,45,45,45,405,45,45,45,45,45,45,45,45,45,45,45,45,45,199,45,45,67,67,67,67,67,491,67,67,67,67,67,67,67,67,67,67,67,1766,67,67,67,1767,67,24850,24850,12564,12564,0,0,2166784,546,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,743,57889,0,2170880,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1856,45,1858,1859,67,67,67,1009,67,67,67,67,67,67,67,67,67,67,67,1021,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,0,2367773,2158877,2158877,2158877,2158877,2158877,2158877,2699549,2158877,2158877,2158877,2158877,2158877,2748701,2756893,2777373,2801949,97,1115,97,97,97,97,97,97,97,97,97,97,97,97,97,97,857,97,67,67,67,67,67,1258,67,67,67,67,67,67,67,67,67,67,67,1826,67,97,97,97,97,97,97,1338,97,97,97,97,97,97,97,97,97,97,97,97,97,870,97,97,67,67,67,1463,67,67,67,67,67,67,67,67,67,67,67,67,67,1579,67,67,97,97,97,1518,97,97,97,97,97,97,97,97,97,97,97,97,97,904,905,97,97,97,97,1620,97,97,97,97,97,97,97,97,97,97,97,0,921,0,0,0,0,0,0,45,1679,67,67,67,1682,67,67,67,67,67,67,67,67,67,1690,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,669,45,45,45,45,45,45,45,45,45,45,45,45,189,45,45,45,1748,45,45,45,1749,1750,45,45,45,45,45,45,45,45,67,67,67,67,1959,67,67,67,67,1768,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,1791,97,97,97,97,97,97,97,97,45,45,45,45,45,45,1802,67,1817,67,67,67,67,67,67,1823,67,67,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,1848,45,45,45,45,45,45,45,45,45,45,45,659,45,45,45,45,45,45,45,1863,67,67,67,67,67,67,67,67,67,67,67,67,495,67,67,67,67,67,1878,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,45,67,67,67,67,97,97,97,97,0,0,0,1973,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1165,97,1167,67,24850,24850,12564,12564,0,0,2166784,0,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,0,97,97,1789,97,0,94242,0,0,0,2211840,102439,0,0,106538,98347,136,2158592,2158592,2158592,2158592,2158592,3158016,229376,2375680,2379776,2158592,2158592,2420736,2158592,2449408,2158592,2158592,67,24850,24850,12564,12564,0,0,280,547,0,53531,53531,0,286,97,97,0,0,97,97,97,97,97,97,0,1788,97,97,0,97,2024,97,45,45,45,45,45,45,67,67,67,67,67,67,67,67,235,67,67,67,67,67,57889,547,547,0,0,550,0,97,97,97,97,97,97,97,97,97,45,45,45,1799,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1092,0,0,0,0,0,97,97,97,97,1612,97,97,97,97,1616,97,1297,1472,0,0,0,0,1303,1474,0,0,0,0,1309,1476,0,0,0,0,97,97,97,1481,97,97,97,97,97,97,1488,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,97,607,97,97,97,97,40976,18,36884,45078,26,30,90143,94242,0,102439,106538,98347,0,0,213080,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,143448,40976,18,18,36884,0,45078,0,24,24,24,27,27,27,27,0,0,0,0,97,97,97,97,1482,97,1483,97,97,97,97,97,97,1326,97,97,1329,1330,97,97,97,97,97,97,1159,1160,97,97,97,97,97,97,97,97,590,97,97,97,97,97,97,97,0,94242,0,0,0,2211974,102439,0,0,106538,98347,0,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2474122,2158730,2158730,2494602,2158730,2158730,2158730,2809994,2158730,2158730,2842762,2158730,2158730,2158730,2900106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3014794,2158730,2158730,3051658,2158730,2158730,3100810,2158730,2158730,2158730,2158730,3096714,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,2207744,541,541,543,543,0,0,2166784,0,548,549,549,0,286,2158877,2158877,2158877,2863389,2892061,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3186973,2158877,0,0,0,0,0,0,0,0,2367626,2158877,2404637,2412829,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2564381,2158877,2158877,2605341,2158877,2158877,2158877,2158877,2158877,2158877,2679069,2158877,2695453,2158877,2703645,2158877,2711837,2752797,2158877,0,2158877,2158877,2158877,2384010,2158730,2158730,2158730,2158730,3006602,2383872,2207744,2207744,2207744,2207744,2207744,2207744,3096576,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,0,2158877,2785565,2158877,2810141,2158877,2158877,2842909,2158877,2158877,2158877,2900253,2158877,2158877,2158877,2158877,2158877,2531613,2158877,2158877,2158877,2158877,2158877,2617629,2158877,2158877,2158877,2158877,2158730,2818186,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3105053,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,0,0,0,0,0,97,97,97,1611,97,97,97,97,97,97,97,1496,97,97,1499,97,97,97,97,97,2441354,2445450,2158730,2158730,2158730,2158730,2158730,2158730,2502794,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2433162,2158730,2453642,2461834,2158730,2158730,2158730,2158730,2158730,2158730,2580618,2158730,2158730,2158730,2158730,2621578,2158730,2158730,2158730,2158730,2158730,2158730,2699402,2158730,2158730,2158730,2158730,2678922,2158730,2695306,2158730,2703498,2158730,2711690,2752650,2158730,2158730,2785418,2158730,2158730,2158730,3113098,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3186826,2158730,2207744,2207744,2207744,2207744,2781184,2793472,2207744,2818048,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,541,0,543,2158877,2502941,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2580765,2158877,2158877,2158877,2158877,2621725,2158877,3019037,2158877,3043613,2158877,2158877,2158877,2158877,3080477,2158877,2158877,3113245,2158877,2158877,2158877,2158877,0,2158877,2908445,2158877,2158877,2158877,2978077,2158877,2158877,2158877,2158877,3039517,2158877,2158730,2510986,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2584714,2158730,2609290,2158730,2158730,2629770,2158730,2158730,2158730,2388106,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2605194,2158730,2158730,2158730,2158730,2687114,2158730,2715786,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2867338,2158730,2904202,2158730,2158730,2158730,2642058,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2781322,2793610,2158730,3121290,2158730,2158730,2158730,3149962,2158730,2158730,3170442,3174538,2158730,2367488,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2441216,2445312,2207744,2207744,2207744,2207744,2207744,2207744,2502656,2158877,2433309,2158877,2453789,2461981,2158877,2158877,2158877,2158877,2158877,2158877,2511133,2158877,2158877,2158877,2158877,2584861,2158877,2609437,2158877,2158877,2629917,2158877,2158877,2158877,2687261,2158877,2715933,2158877,2158730,2158730,2973834,2158730,2982026,2158730,2158730,3002506,2158730,3047562,3063946,3076234,2158730,2158730,2158730,2158730,2207744,2506752,2207744,2207744,2207744,2207744,2207744,2158877,2507037,0,0,2158877,2158730,2158730,2158730,3203210,2207744,2207744,2207744,2207744,2207744,2424832,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2564096,2207744,2207744,2207744,2707741,2732317,2158877,2158877,2158877,2822429,2826525,2158877,2896157,2158877,2158877,2924829,2158877,2158877,2973981,2158877,18,0,0,0,0,0,0,0,2211840,0,0,642,0,2158592,0,45,1529,45,45,45,45,45,45,45,45,45,45,45,45,45,1755,45,67,67,2982173,2158877,2158877,3002653,2158877,3047709,3064093,3076381,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3203357,2523274,2527370,2158730,2158730,2576522,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2908298,2494749,2158877,2158877,2158877,2523421,2527517,2158877,2158877,2576669,2158877,2158877,2158877,2158877,2158877,2158877,0,40976,0,18,18,4321280,2224253,2232448,4329472,2232448,2158730,2498698,2158730,2158730,2158730,2158730,2568330,2158730,2592906,2625674,2158730,2158730,2674826,2736266,2158730,2158730,2158730,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2158730,2912394,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3109002,2158730,2158730,3133578,3145866,3154058,2375680,2207744,3108864,2207744,2207744,3133440,3145728,3153920,2375965,2380061,2158877,2158877,2421021,2158877,2449693,2158877,2158877,2158877,3117341,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3104906,2158730,2158730,2158730,2158730,2158730,2158730,2158877,2498845,2158877,2158877,0,2158877,2158877,2568477,2158877,2593053,2625821,2158877,2158877,2674973,0,0,0,0,97,97,1480,97,97,97,97,97,1485,97,97,97,0,97,97,1729,97,1731,97,97,97,97,97,97,97,311,97,97,97,97,97,97,97,97,1520,97,97,1523,97,97,1526,97,2736413,2158877,2158877,0,2158877,2912541,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3109149,2158877,2158877,3014941,2158877,2158877,3051805,2158877,2158877,3100957,2158877,2158877,3121437,2158877,2158877,2158877,3150109,3133725,3146013,3154205,2158730,2408586,2416778,2158730,2465930,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3018890,2158730,3043466,2158730,2158730,2158730,2158730,3080330,2633866,2658442,2740362,2744458,2834570,2949258,2158730,2986122,2158730,2998410,2158730,2158730,2158730,3129482,2207744,2408448,2949120,2207744,2985984,2207744,2998272,2207744,2207744,2207744,3129344,2158877,2408733,2416925,2158877,2466077,2158877,2158877,3170589,3174685,2158877,0,0,0,2158730,2158730,2158730,2158730,2158730,2424970,2158730,2158730,2158730,2158730,2707594,2732170,2158730,2158730,2158730,2822282,2826378,2158730,2896010,2158730,2158730,2924682,2949405,2158877,2986269,2158877,2998557,2158877,2158877,2158877,3129629,2158730,2158730,2478218,2158730,2158730,2158730,2535562,2543754,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,2158730,3117194,2207744,2207744,2478080,2207744,2207744,2207744,2207744,3014656,2207744,2207744,3051520,2207744,2207744,3100672,2207744,2207744,3121152,2207744,2207744,2207744,2207744,2207744,2584576,2207744,2609152,2207744,2207744,2629632,2207744,2207744,2207744,2686976,2207744,2207744,2535424,2543616,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,3117056,2158877,2158877,2478365,0,2158877,2158877,2158877,2158877,2158877,2158877,2158730,2158730,2482314,2158730,2158730,2158730,2158730,2158730,2158730,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,823,0,825,2158730,2158730,2158730,2990218,2158730,2158730,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,135,0,2207744,2207744,2990080,2207744,2207744,2158877,2158877,2482461,2158877,2158877,0,0,0,2158877,2158877,2158877,2158877,2158877,2158730,2429066,2158730,2515082,2158730,2588810,2158730,2838666,2158730,2158730,2158730,3010698,2207744,2428928,2207744,2514944,2207744,2588672,2207744,2838528,2207744,2207744,2207744,3010560,2158877,2429213,2158877,2515229,0,0,2158877,2588957,2158877,0,2838813,2158877,2158877,2158877,3010845,2158730,2506890,2158730,2158730,2158730,2748554,2756746,2777226,2801802,2158730,2158730,2158730,2863242,2891914,2158730,2158730,2158730,2158730,2158730,2158730,2564234,2158730,2158730,2158730,2158730,2158730,2597002,2158730,2158730,2158730,3006464,2384157,0,0,2158877,2158877,2158877,2158877,3006749,2158730,2637962,2953354,2158730,2207744,2637824,2953216,2207744,0,0,2158877,2638109,2953501,2158877,2539658,2158730,2539520,2207744,0,0,2539805,2158877,2158730,2158730,2158730,2977930,2158730,2158730,2158730,2158730,3039370,2158730,2158730,2158730,2158730,2158730,2158730,3158154,2207744,0,2158877,2158730,2207744,0,2158877,2158730,2207744,0,2158877,2965642,2965504,2965789,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,97,1484,97,97,97,97,2158592,18,0,122880,0,0,0,77824,0,2211840,0,0,0,0,2158592,0,356,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,45,1751,45,45,45,45,45,45,45,67,67,1427,67,67,67,67,67,1432,67,67,67,3104768,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,122880,0,0,0,0,1315,0,0,0,0,97,97,97,97,97,97,1322,550,0,286,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,4329472,27,27,2207744,2207744,2977792,2207744,2207744,2207744,2207744,3039232,2207744,2207744,2207744,2207744,2207744,2207744,3158016,542,0,0,0,542,0,544,0,0,0,544,0,550,0,0,0,0,0,97,97,1610,97,97,97,97,97,97,97,97,898,97,97,97,97,97,97,97,0,94242,0,0,0,2211840,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,2158592,2158592,2158592,40976,18,36884,45078,24,27,90143,94242,237568,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,192512,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,94,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,96,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,12378,40976,18,18,36884,0,45078,0,24,24,24,126,126,126,126,90143,0,0,2170880,0,0,0,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,20480,40976,0,18,18,24,24,27,27,27,40976,18,36884,45078,24,27,90143,94242,241664,102439,106538,98347,0,0,20568,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,200797,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,0,0,44,0,0,20575,40976,18,36884,45078,24,27,90143,94242,0,41,41,41,0,0,1126400,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,0,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,89,40976,18,18,36884,0,45078,0,24,24,24,27,131201,27,27,90143,0,0,2170880,0,0,550,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2441216,2445312,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,208896,2211840,102439,0,0,106538,98347,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,0,0,0,0,0,0,2367488,32768,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2433024,2158592,2453504,2461696,2158592,2158592,2158592,2158592,2158592,2158592,2510848,2158592,2158592,2158592,2158592,40976,18,36884,245783,24,27,90143,94242,0,102439,106538,98347,0,0,20480,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,221184,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,180224,40976,18,18,36884,155648,45078,0,24,24,217088,27,27,27,217088,90143,0,0,2170880,0,0,828,0,2158592,2158592,2158592,2387968,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2387968,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,233472,0,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,718,45,45,45,45,45,45,45,45,45,727,131427,0,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,45,1808,45,45,45,45,67,67,67,67,67,67,67,97,97,0,0,97,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,0,0,97,97,97,97,97,97,1787,0,97,97,0,97,97,97,45,45,45,45,2029,45,67,67,67,67,2033,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,97,45,1798,45,45,1800,45,45,0,1472,0,0,0,0,0,1474,0,0,0,0,0,1476,0,0,0,0,1315,0,0,0,0,97,97,97,97,1320,97,97,0,0,97,97,97,97,1786,97,0,0,97,97,0,1790,1527,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,663,67,24850,24850,12564,12564,0,57889,281,0,0,53531,53531,367,286,97,97,0,0,97,97,97,1785,97,97,0,0,97,97,0,97,97,1979,97,97,45,45,1983,45,1984,45,45,45,45,45,652,45,45,45,45,45,45,45,45,45,45,690,45,45,694,45,45,40976,19,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,262144,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,46,67,98,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,45,67,97,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,258048,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,1122423,40976,18,36884,45078,24,27,90143,94242,0,1114152,1114152,1114152,0,0,1114112,40976,18,36884,45078,24,27,90143,94242,37,102439,106538,98347,0,0,204800,40976,18,36884,45078,24,27,90143,94242,0,102439,106538,98347,0,0,57436,40976,18,36884,45078,24,27,33,33,0,33,33,33,0,0,0,40976,18,18,36884,0,45078,0,124,124,124,127,127,127,127,90143,0,0,2170880,0,0,550,0,2158877,2158877,2158877,2388253,2158877,2158877,2158877,2158877,2158877,2781469,2793757,2158877,2818333,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2867485,2158877,2904349,2158877,2158877,2158877,2158877,2158877,2158877,2158877,3096861,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2158877,2441501,2445597,2158877,2158877,2158877,2158877,2158877,40976,122,123,36884,0,45078,0,24,24,24,27,27,27,27,90143,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,936,2158592,4243810,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,935,45,45,45,715,45,45,45,45,45,45,45,723,45,45,45,45,45,1182,45,45,45,45,45,45,45,45,45,45,430,45,45,45,45,45,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,47,68,99,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,48,69,100,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,49,70,101,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,50,71,102,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,51,72,103,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,52,73,104,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,53,74,105,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,54,75,106,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,55,76,107,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,56,77,108,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,57,78,109,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,58,79,110,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,59,80,111,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,60,81,112,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,61,82,113,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,62,83,114,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,63,84,115,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,64,85,116,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,65,86,117,40976,18,36884,45078,24,27,90143,94242,38,102439,106538,98347,66,87,118,40976,18,36884,45078,24,27,90143,94242,118820,102439,106538,98347,118820,118820,118820,40976,18,18,0,0,45078,0,24,24,24,27,27,27,27,90143,0,0,1314,0,0,0,0,0,0,97,97,97,97,97,1321,97,18,131427,0,0,0,0,0,0,362,0,0,365,0,367,0,0,1315,0,97,97,97,97,97,97,97,97,97,97,97,97,97,1360,97,97,131,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,145,149,45,45,45,45,45,174,45,179,45,185,45,188,45,45,202,67,255,67,67,269,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,292,296,97,97,97,97,97,321,97,326,97,332,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,646,335,97,97,349,97,97,0,40976,0,18,18,24,24,27,27,27,437,45,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,523,67,67,67,67,67,67,67,67,67,67,67,67,511,67,67,67,97,97,97,620,97,97,97,97,97,97,97,97,97,97,97,97,97,1501,1502,97,793,67,67,796,67,67,67,67,67,67,67,67,67,67,808,67,0,0,97,97,97,97,45,45,67,67,0,0,97,97,2052,67,67,67,67,813,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,830,97,97,97,97,97,97,97,97,97,315,97,97,97,97,97,97,841,97,97,97,97,97,97,97,97,97,854,97,97,97,97,97,97,589,97,97,97,97,97,97,97,97,97,867,97,97,97,97,97,97,97,891,97,97,894,97,97,97,97,97,97,97,97,97,97,906,45,937,45,45,940,45,45,45,45,45,45,948,45,45,45,45,45,734,735,67,737,67,738,67,740,67,67,67,45,967,45,45,45,45,45,45,45,45,45,45,45,45,45,45,435,45,45,45,980,45,45,45,45,45,45,45,45,45,45,45,45,45,415,45,45,67,67,1024,67,67,67,67,67,67,67,67,67,67,67,67,67,97,97,97,67,67,67,67,67,25398,1081,13112,1085,54074,1089,0,0,0,0,0,0,363,0,28809,0,139,45,45,45,45,45,45,1674,45,45,45,45,45,45,45,45,67,1913,67,1914,67,67,67,1918,67,67,97,97,97,97,1118,97,97,97,97,97,97,97,97,97,97,97,630,97,97,97,97,97,1169,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,45,1534,45,45,45,45,45,1538,45,45,45,45,1233,45,45,45,45,45,45,67,67,67,67,67,67,67,67,742,67,45,45,1191,45,45,45,45,45,45,45,45,45,45,45,45,45,454,67,67,67,67,1243,67,67,67,67,67,67,67,67,67,67,67,1251,67,0,0,97,97,97,97,45,45,67,67,2050,0,97,97,45,45,45,732,45,45,67,67,67,67,67,67,67,67,67,67,67,67,97,97,67,67,67,1284,67,67,67,67,67,67,67,67,67,67,67,67,772,67,67,67,1293,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,368,2158592,2158592,2158592,2404352,2412544,1323,97,97,97,97,97,97,97,97,97,97,97,1331,97,97,97,0,97,97,97,97,97,97,97,97,97,97,97,1737,97,1364,97,97,97,97,97,97,97,97,97,97,97,97,1373,97,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,647,45,45,1387,45,45,1391,45,45,45,45,45,45,45,45,45,45,410,45,45,45,45,45,1400,45,45,45,45,45,45,45,45,45,45,1407,45,45,45,45,45,941,45,943,45,45,45,45,45,45,951,45,67,1438,67,67,67,67,67,67,67,67,67,67,1447,67,67,67,67,67,67,782,67,67,67,67,67,67,67,67,67,756,67,67,67,67,67,67,97,1491,97,97,97,97,97,97,97,97,97,97,1500,97,97,97,0,97,97,97,97,97,97,97,97,97,97,1736,97,45,45,1541,45,45,45,45,45,45,45,45,45,45,45,45,45,677,45,45,67,1581,67,67,67,67,67,67,67,67,67,67,67,67,67,67,791,792,67,67,67,67,1598,67,1600,67,67,67,67,67,67,67,67,1472,97,97,97,1727,97,97,97,97,97,97,97,97,97,97,97,97,97,1513,97,97,67,67,97,1879,97,1881,97,0,1884,0,97,97,97,97,0,0,97,97,97,97,97,0,0,0,1842,97,97,67,67,67,67,67,97,97,97,97,1928,0,0,0,97,97,97,97,97,97,45,45,45,45,45,1903,45,45,45,67,67,67,67,97,97,97,97,1971,0,0,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,0,45,45,45,1381,45,45,45,45,1976,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1747,809,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,97,907,97,97,97,97,97,97,97,97,97,97,97,638,0,0,0,0,1478,97,97,97,97,97,97,97,97,97,97,97,1150,97,97,97,97,67,67,67,67,1244,67,67,67,67,67,67,67,67,67,67,67,477,67,67,67,67,67,67,1294,67,67,67,67,0,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1324,97,97,97,97,97,97,97,97,97,97,97,97,97,0,0,0,1374,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,945,45,45,45,45,45,45,45,45,1908,45,45,1910,45,67,67,67,67,67,67,67,67,1919,67,0,0,97,97,97,97,45,2048,67,2049,0,0,97,2051,45,45,45,939,45,45,45,45,45,45,45,45,45,45,45,45,397,45,45,45,1921,67,67,1923,67,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1947,45,1935,0,0,0,97,1939,97,97,1941,97,45,45,45,45,45,45,382,389,45,45,45,45,45,45,45,45,1810,45,45,1812,67,67,67,67,67,256,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,336,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,45,371,373,45,45,45,955,45,45,45,45,45,45,45,45,45,45,45,45,413,45,45,45,457,459,67,67,67,67,67,67,67,67,473,67,478,67,67,482,67,67,485,67,67,67,67,67,67,67,67,67,67,67,67,67,97,1828,97,554,556,97,97,97,97,97,97,97,97,570,97,575,97,97,579,97,97,582,97,97,97,97,97,97,97,97,97,97,97,97,97,330,97,97,67,746,67,67,67,67,67,67,67,67,67,758,67,67,67,67,67,67,67,1575,67,67,67,67,67,67,67,67,493,67,67,67,67,67,67,67,97,97,844,97,97,97,97,97,97,97,97,97,856,97,97,97,0,97,97,97,97,97,97,97,97,1735,97,97,97,0,97,97,97,97,97,97,97,1642,97,1644,97,97,890,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,0,67,67,67,67,1065,1066,67,67,67,67,67,67,67,67,67,67,532,67,67,67,67,67,67,67,1451,67,67,67,67,67,67,67,67,67,67,67,67,67,496,67,67,97,97,1505,97,97,97,97,97,97,97,97,97,97,97,97,97,593,97,97,0,1474,0,1476,0,97,97,97,97,97,97,97,97,97,97,1617,97,97,1635,0,1637,97,97,97,97,97,97,97,97,97,97,97,885,97,97,97,97,67,67,1704,67,67,67,67,97,97,97,97,97,97,97,97,97,565,572,97,97,97,97,97,97,97,97,1832,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,1946,45,45,67,67,67,67,67,97,1926,97,1927,97,0,0,0,97,97,1934,2043,0,0,97,97,97,2047,45,45,67,67,0,1832,97,97,45,45,45,981,45,45,45,45,45,45,45,45,45,45,45,45,1227,45,45,45,131427,0,0,0,0,362,0,365,28809,367,139,45,45,372,45,45,45,45,1661,1662,45,45,45,45,45,1666,45,45,45,45,45,1673,45,1675,45,45,45,45,45,45,45,67,1426,67,67,67,67,67,67,67,67,67,67,1275,67,67,67,67,67,45,418,45,45,420,45,45,423,45,45,45,45,45,45,45,45,959,45,45,962,45,45,45,45,458,67,67,67,67,67,67,67,67,67,67,67,67,67,67,483,67,67,67,67,504,67,67,506,67,67,509,67,67,67,67,67,67,67,528,67,67,67,67,67,67,67,67,1287,67,67,67,67,67,67,67,555,97,97,97,97,97,97,97,97,97,97,97,97,97,97,580,97,97,97,97,601,97,97,603,97,97,606,97,97,97,97,97,97,848,97,97,97,97,97,97,97,97,97,1498,97,97,97,97,97,97,45,45,714,45,45,45,45,45,45,45,45,45,45,45,45,45,989,990,45,67,67,67,67,67,1011,67,67,67,67,1015,67,67,67,67,67,67,67,753,67,67,67,67,67,67,67,67,467,67,67,67,67,67,67,67,45,45,1179,45,45,45,45,45,45,45,45,45,45,45,45,45,1003,1004,67,1217,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,728,67,1461,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1034,67,97,1516,97,97,97,97,97,97,97,97,97,97,97,97,97,97,871,97,67,67,67,1705,67,67,67,97,97,97,97,97,97,97,97,97,567,97,97,97,97,97,97,97,97,97,97,1715,97,97,97,97,97,97,97,97,97,0,0,0,45,45,1380,45,45,45,45,45,67,67,97,97,97,97,97,0,0,0,97,1887,97,97,0,0,97,97,97,0,97,97,97,97,97,2006,45,45,1907,45,45,45,45,45,67,67,67,67,67,67,67,67,67,1920,67,97,0,2035,97,97,97,97,97,45,45,45,45,67,67,67,1428,67,67,67,67,67,67,1435,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,146,45,152,45,45,165,45,175,45,180,45,45,187,190,195,45,203,254,257,262,67,270,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,293,97,299,97,97,312,97,322,97,327,97,97,334,337,342,97,350,97,97,0,40976,0,18,18,24,24,27,27,27,67,484,67,67,67,67,67,67,67,67,67,67,67,67,67,499,97,581,97,97,97,97,97,97,97,97,97,97,97,97,97,596,648,45,650,45,651,45,653,45,45,45,657,45,45,45,45,45,45,1954,67,67,67,1958,67,67,67,67,67,67,67,768,67,67,67,67,67,67,67,67,769,67,67,67,67,67,67,67,680,45,45,45,45,45,45,45,45,688,689,691,45,45,45,45,45,983,45,45,45,45,45,45,45,45,45,45,947,45,45,45,45,952,45,45,698,699,45,45,702,703,45,45,45,45,45,45,45,711,744,67,67,67,67,67,67,67,67,67,757,67,67,67,67,761,67,67,67,67,765,67,767,67,67,67,67,67,67,67,67,775,776,778,67,67,67,67,67,67,785,786,67,67,789,790,67,67,67,67,67,67,1442,67,67,67,67,67,67,67,67,67,97,97,97,1775,97,97,97,67,67,67,67,67,798,67,67,67,802,67,67,67,67,67,67,67,67,1465,67,67,1468,67,67,1471,67,67,810,67,67,67,67,67,67,67,67,67,821,25398,542,13112,544,57889,0,0,54074,54074,550,0,833,97,835,97,836,97,838,97,97,0,0,97,97,97,2002,97,97,97,97,97,45,45,45,45,45,1740,45,45,45,1744,45,45,45,97,842,97,97,97,97,97,97,97,97,97,855,97,97,97,97,0,1717,1718,97,97,97,97,97,1722,97,0,0,859,97,97,97,97,863,97,865,97,97,97,97,97,97,97,97,604,97,97,97,97,97,97,97,873,874,876,97,97,97,97,97,97,883,884,97,97,887,888,97,18,131427,0,0,0,0,0,0,362,225280,0,365,0,367,0,45,45,45,1531,45,45,45,45,45,45,45,45,45,45,45,1199,45,45,45,45,45,97,97,908,97,97,97,97,97,97,97,97,97,919,638,0,0,0,0,2158877,2158877,2158877,2158877,2158877,2425117,2158877,2158877,2158877,2158877,2158877,2158877,2597149,2158877,2158877,2158877,2158877,2158877,2158877,2642205,2158877,2158877,2158877,2158877,2158877,3158301,0,2375818,2379914,2158730,2158730,2420874,2158730,2449546,2158730,2158730,953,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,965,978,45,45,45,45,45,45,985,45,45,45,45,45,45,45,45,971,45,45,45,45,45,45,45,67,67,67,67,67,1027,67,1029,67,67,67,67,67,67,67,67,67,1455,67,67,67,67,67,67,67,1077,1078,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,366,0,139,2158730,2158730,2158730,2404490,2412682,1113,97,97,97,97,97,97,1121,97,1123,97,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1540,1155,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,615,1168,97,97,1171,1172,97,97,0,921,0,1175,0,0,0,0,45,45,45,45,45,1533,45,45,45,45,45,45,45,45,45,1663,45,45,45,45,45,45,45,45,45,183,45,45,45,45,201,45,45,45,1219,45,45,45,45,45,45,45,1226,45,45,45,45,45,168,45,45,45,45,45,45,45,45,45,45,427,45,45,45,45,45,45,45,1231,45,45,45,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,1242,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1046,67,67,1254,67,1256,67,67,67,67,67,67,67,67,67,67,67,67,806,807,67,67,97,1336,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1111,97,97,97,97,97,1351,97,97,97,1354,97,97,97,1359,97,97,97,0,97,97,97,97,1640,97,97,97,97,97,97,97,897,97,97,97,902,97,97,97,97,97,97,97,97,1366,97,97,97,97,97,97,97,1371,97,97,97,0,97,97,97,1730,97,97,97,97,97,97,97,97,915,97,97,97,97,0,360,0,67,67,67,1440,67,67,67,67,67,67,67,67,67,67,67,67,1017,67,1019,67,67,67,67,67,1453,67,67,67,67,67,67,67,67,67,67,1459,97,97,97,1493,97,97,97,97,97,97,97,97,97,97,97,97,97,1525,97,97,97,97,97,97,1507,97,97,97,97,97,97,97,97,97,97,1514,67,67,67,67,1584,67,67,67,67,67,1590,67,67,67,67,67,67,67,783,67,67,67,788,67,67,67,67,67,67,67,67,67,1599,1601,67,67,67,1604,67,1606,1607,67,1472,0,1474,0,1476,0,97,97,97,97,97,97,1614,97,97,97,97,45,45,1850,45,45,45,45,1855,45,45,45,45,45,1222,45,45,45,45,45,45,45,45,45,1229,97,1618,97,97,97,97,97,97,97,1625,97,97,97,97,97,0,1175,0,45,45,45,45,45,45,45,45,447,45,45,45,45,45,67,67,1633,97,97,0,97,97,97,97,97,97,97,97,1643,1645,97,97,0,0,97,97,1784,97,97,97,0,0,97,97,0,97,1894,1895,97,1897,97,45,45,45,45,45,45,45,45,45,656,45,45,45,45,45,45,97,1648,97,1650,1651,97,0,45,45,45,1654,45,45,45,45,45,169,45,45,45,45,45,45,45,45,45,45,658,45,45,45,45,664,45,45,1659,45,45,45,45,45,45,45,45,45,45,45,45,45,1187,45,45,1669,45,45,45,45,45,45,45,45,45,45,45,45,45,45,67,1005,67,67,1681,67,67,67,67,67,67,67,1686,67,67,67,67,67,67,67,784,67,67,67,67,67,67,67,67,1055,67,67,67,67,1060,67,67,97,97,1713,97,0,97,97,97,97,97,97,97,97,97,0,0,0,1378,45,45,45,45,45,45,45,408,45,45,45,45,45,45,45,45,1547,45,1549,45,45,45,45,45,97,97,1780,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,45,45,2027,2028,45,45,67,67,2031,2032,67,45,45,1804,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1917,67,67,67,67,67,67,67,1819,67,67,67,67,67,67,67,67,97,97,97,1708,97,97,97,97,97,45,45,1862,67,67,67,67,67,67,67,67,67,67,67,67,67,497,67,67,67,1877,97,97,97,97,97,0,0,0,97,97,97,97,0,0,97,97,97,97,97,1839,0,0,97,97,97,97,1936,0,0,97,97,97,97,97,97,1943,1944,1945,45,45,45,45,670,45,45,45,45,674,45,45,45,45,678,45,1948,45,1950,45,45,45,45,1955,1956,1957,67,67,67,1960,67,1962,67,67,67,67,1967,1968,1969,97,0,0,0,97,97,1974,97,0,1936,0,97,97,97,97,97,97,45,45,45,45,45,45,45,45,1906,0,1977,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,1746,45,45,45,45,2011,67,67,2013,67,67,67,2017,97,97,0,0,2021,97,8192,97,97,2025,45,45,45,45,45,45,67,67,67,67,67,1916,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,140,45,45,45,1180,45,45,45,45,1184,45,45,45,45,45,45,45,387,45,392,45,45,396,45,45,399,45,45,67,207,67,67,67,67,67,67,236,67,67,67,67,67,67,67,800,67,67,67,67,67,67,67,67,67,1603,67,67,67,67,67,0,97,97,287,97,97,97,97,97,97,316,97,97,97,97,97,97,0,45,45,45,45,45,45,45,1656,1657,45,376,45,45,45,45,45,388,45,45,45,45,45,45,45,45,1406,45,45,45,45,45,45,45,67,67,67,67,462,67,67,67,67,67,474,67,67,67,67,67,67,67,817,67,67,67,67,25398,542,13112,544,97,97,97,97,559,97,97,97,97,97,571,97,97,97,97,97,97,896,97,97,97,900,97,97,97,97,97,97,912,914,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,45,391,45,45,45,45,45,45,45,45,713,45,45,45,45,45,45,45,45,45,45,45,45,45,45,662,45,1140,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,636,67,67,1283,67,67,67,67,67,67,67,67,67,67,67,67,67,513,67,67,1363,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,889,97,97,97,1714,0,97,97,97,97,97,97,97,97,97,0,0,926,45,45,45,45,45,45,45,45,672,45,45,45,45,45,45,45,45,686,45,45,45,45,45,45,45,45,944,45,45,45,45,45,45,45,45,1676,45,45,45,45,45,45,67,97,97,97,1833,0,97,97,97,97,97,0,0,0,97,97,97,97,97,97,45,45,45,45,1902,45,45,45,45,45,957,45,45,45,45,961,45,963,45,45,45,67,97,2034,0,97,97,97,97,97,2040,45,45,45,2042,67,67,67,67,67,67,1574,67,67,67,67,67,1578,67,67,67,67,67,67,799,67,67,67,804,67,67,67,67,67,67,67,1298,0,0,0,1304,0,0,0,1310,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,45,1414,45,45,45,45,45,45,45,45,45,45,428,45,45,45,45,45,57889,0,0,54074,54074,550,831,97,97,97,97,97,97,97,97,97,568,97,97,97,97,578,97,45,45,968,45,45,45,45,45,45,45,45,45,45,45,45,45,1228,45,45,67,67,67,67,67,25398,1082,13112,1086,54074,1090,0,0,0,0,0,0,364,0,0,0,139,2158592,2158592,2158592,2404352,2412544,67,67,67,67,1464,67,67,67,67,67,67,67,67,67,67,67,510,67,67,67,67,97,97,97,97,1519,97,97,97,97,97,97,97,97,97,97,97,918,97,0,0,0,0,1528,45,45,45,45,45,45,45,45,45,45,45,45,45,45,976,45,1554,45,45,45,45,45,45,45,45,1562,45,45,1565,45,45,45,45,683,45,45,45,687,45,45,692,45,45,45,45,45,1953,45,67,67,67,67,67,67,67,67,67,1014,67,67,67,67,67,67,1568,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,0,67,67,67,67,67,1585,67,67,67,67,67,67,67,67,67,1594,97,97,1649,97,97,97,0,45,45,1653,45,45,45,45,45,45,383,45,45,45,45,45,45,45,45,45,986,45,45,45,45,45,45,45,45,1670,45,1672,45,45,45,45,45,45,45,45,45,45,67,736,67,67,67,67,67,741,67,67,67,1680,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1074,67,67,67,1692,67,67,67,67,67,67,67,1697,67,1699,67,67,67,67,67,67,1012,67,67,67,67,67,67,67,67,67,468,475,67,67,67,67,67,67,1769,67,67,67,67,67,67,67,97,97,97,97,97,97,97,624,97,97,97,97,97,97,634,97,97,1792,97,97,97,97,97,97,97,45,45,45,45,45,45,45,958,45,45,45,45,45,45,964,45,150,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,977,204,45,67,67,67,217,67,67,67,67,67,67,67,67,67,67,787,67,67,67,67,67,67,67,67,67,67,271,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,351,97,0,40976,0,18,18,24,24,27,27,27,45,45,938,45,45,45,45,45,45,45,45,45,45,45,45,45,1398,45,45,45,153,45,161,45,45,45,45,45,45,45,45,45,45,45,45,660,661,45,45,205,45,67,67,67,67,220,67,228,67,67,67,67,67,67,67,0,0,0,0,0,280,94,0,0,67,67,67,67,67,272,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,97,352,97,0,40976,0,18,18,24,24,27,27,27,45,439,45,45,45,45,45,445,45,45,45,452,45,45,67,67,212,216,67,67,67,67,67,241,67,246,67,252,67,67,486,67,67,67,67,67,67,67,494,67,67,67,67,67,67,67,1245,67,67,67,67,67,67,67,67,1013,67,67,1016,67,67,67,67,67,521,67,67,525,67,67,67,67,67,531,67,67,67,538,67,0,0,2046,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1192,45,45,45,45,45,45,45,45,45,45,45,45,1418,45,45,1421,97,97,583,97,97,97,97,97,97,97,591,97,97,97,97,97,97,913,97,97,97,97,97,97,0,0,0,45,45,45,45,45,45,45,1384,97,618,97,97,622,97,97,97,97,97,628,97,97,97,635,97,18,131427,0,0,0,639,0,132,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,932,45,45,45,45,45,1544,45,45,45,45,45,1550,45,45,45,45,45,1194,45,1196,45,45,45,45,45,45,45,45,999,45,45,45,45,45,67,67,45,45,667,45,45,45,45,45,45,45,45,45,45,45,45,45,1408,45,45,45,696,45,45,45,701,45,45,45,45,45,45,45,45,710,45,45,45,1220,45,45,45,45,45,45,45,45,45,45,45,45,194,45,45,45,729,45,45,45,45,45,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,797,67,67,67,67,67,67,805,67,67,67,67,67,67,67,1587,67,1589,67,67,67,67,67,67,67,67,1763,67,67,67,67,67,67,67,0,0,0,0,0,0,2162968,0,0,67,67,67,67,67,814,816,67,67,67,67,67,25398,542,13112,544,67,67,1008,67,67,67,67,67,67,67,67,67,67,67,1020,67,0,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,45,67,67,67,67,1429,67,1430,67,67,67,67,67,1062,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,518,1076,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,0,0,0,28809,0,139,45,45,45,45,45,97,97,97,97,1102,97,97,97,97,97,97,97,97,97,97,97,1124,97,1126,97,97,1114,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1112,97,97,1156,97,97,97,97,97,97,97,97,97,97,97,97,97,594,97,97,97,97,1170,97,97,97,97,0,921,0,0,0,0,0,0,45,45,45,45,1532,45,45,45,45,1536,45,45,45,45,45,172,45,45,45,45,45,45,45,45,45,45,706,45,45,709,45,45,1177,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1202,45,1204,45,45,45,45,45,45,45,45,45,45,45,45,1215,45,45,45,1232,45,45,45,45,45,45,45,67,1237,67,67,67,67,67,67,1053,1054,67,67,67,67,67,67,1061,67,67,1282,67,67,67,67,67,67,67,67,67,1289,67,67,67,1292,97,97,97,97,1339,97,97,97,97,97,97,1344,97,97,97,97,45,1849,45,1851,45,45,45,45,45,45,45,45,721,45,45,45,45,45,726,45,1385,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1188,45,45,1401,1402,45,45,45,45,1405,45,45,45,45,45,45,45,45,1752,45,45,45,45,45,67,67,1410,45,45,45,1413,45,1415,45,45,45,45,45,45,1419,45,45,45,45,1806,45,45,45,45,45,45,67,67,67,67,67,67,67,97,97,2019,0,97,67,67,67,1452,67,67,67,67,67,67,67,67,1457,67,67,67,67,67,67,1259,67,67,67,67,67,67,1264,67,67,1460,67,1462,67,67,67,67,67,67,1466,67,67,67,67,67,67,67,67,1588,67,67,67,67,67,67,67,0,1300,0,0,0,1306,0,0,0,97,97,97,1506,97,97,97,97,97,97,97,97,1512,97,97,97,0,1728,97,97,97,97,97,97,97,97,97,97,97,901,97,97,97,97,1515,97,1517,97,97,97,97,97,97,1521,97,97,97,97,97,97,0,45,1652,45,45,45,1655,45,45,45,45,45,1542,45,45,45,45,45,45,45,45,45,45,45,45,45,1552,1553,45,45,45,1556,45,45,45,45,45,45,45,45,45,45,45,45,45,693,45,45,45,67,67,67,67,1572,67,67,67,67,1576,67,67,67,67,67,67,67,67,1602,67,67,1605,67,67,67,0,67,1582,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1580,67,67,1596,67,67,67,67,67,67,67,67,67,67,67,67,67,0,542,0,544,67,67,67,67,1759,67,67,67,67,67,67,67,67,67,67,67,533,67,67,67,67,67,67,67,1770,67,67,67,67,67,97,97,97,97,97,97,1777,97,97,97,1793,97,97,97,97,97,45,45,45,45,45,45,45,998,45,45,1001,1002,45,45,67,67,45,1861,45,67,67,67,67,67,67,67,67,1871,67,1873,1874,67,0,97,45,67,0,97,45,67,16384,97,45,67,97,0,0,0,1473,0,1082,0,0,0,1475,0,1086,0,0,0,1477,1876,67,97,97,97,97,97,1883,0,1885,97,97,97,1889,0,0,0,286,0,0,0,286,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,0,40976,0,18,18,24,24,126,126,126,2053,0,2055,45,67,0,97,45,67,0,97,45,67,97,0,0,97,97,97,2039,97,45,45,45,45,67,67,67,67,67,226,67,67,67,67,67,67,67,67,1246,67,67,1249,1250,67,67,67,132,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,141,45,45,45,1403,45,45,45,45,45,45,45,45,45,45,45,45,1186,45,45,1189,45,45,155,45,45,45,45,45,45,45,45,45,191,45,45,45,45,700,45,45,45,45,45,45,45,45,45,45,45,1753,45,45,45,67,67,45,45,67,208,67,67,67,222,67,67,67,67,67,67,67,67,67,1764,67,67,67,67,67,67,67,258,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,288,97,97,97,302,97,97,97,97,97,97,97,97,97,627,97,97,97,97,97,97,338,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,0,362,0,365,28809,367,139,45,370,45,45,45,45,716,45,45,45,45,45,722,45,45,45,45,45,45,1912,67,67,67,67,67,67,67,67,67,819,67,67,25398,542,13112,544,45,403,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1409,45,67,67,67,67,489,67,67,67,67,67,67,67,67,67,67,67,771,67,67,67,67,520,67,67,67,67,67,67,67,67,67,67,67,534,67,67,67,67,67,67,1271,67,67,67,1274,67,67,67,1279,67,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,553,97,97,97,97,586,97,97,97,97,97,97,97,97,97,97,97,1138,97,97,97,97,617,97,97,97,97,97,97,97,97,97,97,97,631,97,97,97,0,1834,97,97,97,97,97,0,0,0,97,97,97,97,97,353,0,40976,0,18,18,24,24,27,27,27,45,45,668,45,45,45,45,45,45,45,45,45,45,45,45,45,724,45,45,45,45,45,682,45,45,45,45,45,45,45,45,45,45,45,45,45,949,45,45,45,67,67,747,748,67,67,67,67,755,67,67,67,67,67,67,67,0,0,0,1302,0,0,0,1308,0,67,794,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1701,67,97,97,97,845,846,97,97,97,97,853,97,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,97,892,97,97,97,97,97,97,97,97,97,97,97,97,97,610,97,97,45,992,45,45,45,45,45,45,45,45,45,45,45,45,67,67,67,1239,67,67,67,1063,67,67,67,67,67,1068,67,67,67,67,67,67,67,0,0,1301,0,0,0,1307,0,0,97,1141,97,97,97,97,97,97,97,97,97,97,97,1152,97,97,0,0,97,97,2001,0,97,2003,97,97,97,45,45,45,1739,45,45,45,1742,45,45,45,45,45,97,97,97,97,1157,97,97,97,97,97,1162,97,97,97,97,97,97,1145,97,97,97,97,97,1151,97,97,97,1253,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,539,45,1423,45,45,67,67,67,67,67,67,67,1431,67,67,67,67,67,67,67,1695,67,67,67,67,67,1700,67,1702,67,67,1439,67,67,67,67,67,67,67,67,67,67,67,67,67,514,67,67,97,97,1492,97,97,97,97,97,97,97,97,97,97,97,97,97,611,97,97,1703,67,67,67,67,67,67,97,97,97,97,97,97,97,97,97,852,97,97,97,97,97,97,45,1949,45,1951,45,45,45,67,67,67,67,67,67,67,1961,67,0,97,45,67,0,97,2060,2061,0,2062,45,67,97,0,0,2036,97,97,97,97,45,45,45,45,67,67,67,67,67,223,67,67,237,67,67,67,67,67,67,67,1272,67,67,67,67,67,67,67,67,507,67,67,67,67,67,67,67,1963,67,67,67,97,97,97,97,0,1972,0,97,97,97,1975,0,921,29315,0,0,0,0,45,45,45,931,45,45,45,45,45,407,45,45,45,45,45,45,45,45,45,417,45,45,1989,67,67,67,67,67,67,67,67,67,67,67,1996,97,18,131427,0,0,360,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,0,45,45,930,45,45,45,45,45,45,444,45,45,45,45,45,45,45,67,67,97,97,1998,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,1985,45,1986,45,45,45,156,45,45,170,45,45,45,45,45,45,45,45,45,45,675,45,45,45,45,679,131427,0,358,0,0,362,0,365,28809,367,139,45,45,45,45,45,381,45,45,45,45,45,45,45,45,45,400,45,45,419,45,45,45,45,45,45,45,45,45,45,45,45,436,67,67,67,67,67,505,67,67,67,67,67,67,67,67,67,67,820,67,25398,542,13112,544,67,67,522,67,67,67,67,67,529,67,67,67,67,67,67,67,0,1299,0,0,0,1305,0,0,0,97,97,619,97,97,97,97,97,626,97,97,97,97,97,97,97,1105,97,97,97,97,1109,97,97,97,67,67,67,67,749,67,67,67,67,67,67,67,67,67,760,67,0,97,45,67,2058,97,45,67,0,97,45,67,97,0,0,97,97,97,97,97,45,45,45,2041,67,67,67,67,67,780,67,67,67,67,67,67,67,67,67,67,67,67,67,516,67,67,97,97,97,878,97,97,97,97,97,97,97,97,97,97,97,97,97,1629,97,0,45,979,45,45,45,45,984,45,45,45,45,45,45,45,45,45,1198,45,45,45,45,45,45,67,1023,67,67,67,67,1028,67,67,67,67,67,67,67,67,67,470,67,67,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1094,0,0,0,1092,1315,0,0,0,0,97,97,97,97,97,97,97,97,97,1486,97,1489,97,97,97,1117,97,97,97,97,1122,97,97,97,97,97,97,97,1146,97,97,97,97,97,97,97,97,881,97,97,97,886,97,97,97,1311,0,0,0,0,0,0,0,0,97,97,97,97,97,97,97,1615,97,97,97,97,97,1619,97,97,97,97,97,97,97,97,97,97,97,97,1631,97,97,1847,97,45,45,45,45,1852,45,45,45,45,45,45,45,1235,45,45,45,67,67,67,67,67,1868,67,67,67,1872,67,67,67,67,67,97,97,97,97,1882,0,0,0,97,97,97,97,0,1891,67,67,67,67,67,97,97,97,97,97,1929,0,0,97,97,97,97,97,97,45,1900,45,1901,45,45,45,1905,45,67,2054,97,45,67,0,97,45,67,0,97,45,67,97,0,0,97,2037,2038,97,97,45,45,45,45,67,67,67,67,1867,67,67,67,67,67,67,67,67,67,1774,97,97,97,97,97,97,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,142,45,45,45,1412,45,45,45,45,45,45,45,45,45,45,45,45,432,45,45,45,45,45,157,45,45,171,45,45,45,182,45,45,45,45,200,45,45,45,1543,45,45,45,45,45,45,45,45,1551,45,45,45,45,1181,45,45,45,45,45,45,45,45,45,45,45,1211,45,45,45,1214,45,45,45,67,209,67,67,67,224,67,67,238,67,67,67,249,67,0,97,2056,2057,0,2059,45,67,0,97,45,67,97,0,0,1937,97,97,97,97,97,97,45,45,45,45,45,45,1741,45,45,45,45,45,45,67,67,67,267,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,289,97,97,97,304,97,97,318,97,97,97,329,97,97,0,0,97,1783,97,97,97,97,0,0,97,97,0,97,97,97,45,2026,45,45,45,45,67,2030,67,67,67,67,67,67,1041,67,67,67,67,67,67,67,67,67,1044,67,67,67,67,67,67,97,97,347,97,97,97,0,40976,0,18,18,24,24,27,27,27,45,666,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1420,45,57889,0,0,54074,54074,550,0,97,97,97,97,97,97,97,97,840,67,1007,67,67,67,67,67,67,67,67,67,67,67,67,67,67,759,67,67,67,67,67,67,67,1052,67,67,67,67,67,67,67,67,67,67,1031,67,67,67,67,67,97,97,97,1101,97,97,97,97,97,97,97,97,97,97,97,97,592,97,97,97,1190,45,45,45,45,45,1195,45,1197,45,45,45,45,1201,45,45,45,45,1952,45,45,67,67,67,67,67,67,67,67,67,67,67,67,250,67,67,67,1255,67,1257,67,67,67,67,1261,67,67,67,67,67,67,67,67,1685,67,67,67,67,67,67,67,0,24851,12565,0,0,0,0,28809,53532,67,67,1267,67,67,67,67,67,67,1273,67,67,67,67,67,67,67,67,1696,67,67,67,67,67,67,67,0,0,0,0,0,0,2162688,0,0,1281,67,67,67,67,1285,67,67,67,67,67,67,67,67,67,67,1070,67,67,67,67,67,1335,97,1337,97,97,97,97,1341,97,97,97,97,97,97,97,97,882,97,97,97,97,97,97,97,1347,97,97,97,97,97,97,1353,97,97,97,97,97,97,1361,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,0,544,0,550,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2473984,2158592,2158592,2158592,2990080,2158592,2158592,2207744,2207744,2482176,2207744,2207744,2207744,2207744,2207744,2207744,2207744,0,0,0,0,0,0,2162688,0,53530,97,97,97,1365,97,97,97,97,97,97,97,97,97,97,97,97,608,97,97,97,45,45,1424,45,1425,67,67,67,67,67,67,67,67,67,67,67,1058,67,67,67,67,45,1555,45,45,1557,45,45,45,45,45,45,45,45,45,45,45,707,45,45,45,45,67,67,1570,67,67,67,67,67,67,67,67,67,67,67,67,67,773,67,67,1595,67,67,1597,67,67,67,67,67,67,67,67,67,67,67,0,0,0,0,0,0,0,0,0,0,139,2158592,2158592,2158592,2404352,2412544,97,97,97,1636,97,97,97,1639,97,97,1641,97,97,97,97,97,97,1173,0,921,0,0,0,0,0,0,45,67,67,67,1693,67,67,67,67,67,67,67,1698,67,67,67,67,67,67,67,1773,67,97,97,97,97,97,97,97,625,97,97,97,97,97,97,97,97,850,97,97,97,97,97,97,97,97,880,97,97,97,97,97,97,97,97,1106,97,97,97,97,97,97,97,1860,45,45,67,67,1865,67,67,67,67,1870,67,67,67,67,1875,67,67,97,97,1880,97,97,0,0,0,97,97,1888,97,0,0,0,1938,97,97,97,97,97,45,45,45,45,45,45,1854,45,45,45,45,45,45,45,1909,45,45,1911,67,67,67,67,67,67,67,67,67,67,1248,67,67,67,67,67,67,1922,67,67,1924,97,97,97,97,97,0,0,0,97,97,97,97,97,1898,45,45,45,45,45,45,1904,45,45,67,67,67,67,97,97,97,97,0,0,16384,97,97,97,97,0,97,97,97,97,97,97,97,97,97,0,1724,2008,2009,45,45,67,67,67,2014,2015,67,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,45,45,45,2022,0,2023,97,97,45,45,45,45,45,45,67,67,67,67,67,67,1869,67,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,147,151,154,45,162,45,45,176,178,181,45,45,45,192,196,45,45,45,45,2012,67,67,67,67,67,67,2018,97,0,0,97,1978,97,97,97,1982,45,45,45,45,45,45,45,45,45,972,973,45,45,45,45,45,67,259,263,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,294,298,301,97,309,97,97,323,325,328,97,97,97,97,97,560,97,97,97,569,97,97,97,97,97,97,306,97,97,97,97,97,97,97,97,97,1624,97,97,97,97,97,97,97,0,921,0,1175,0,0,0,0,45,339,343,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,67,67,503,67,67,67,67,67,67,67,67,67,512,67,67,519,97,97,600,97,97,97,97,97,97,97,97,97,609,97,97,616,45,649,45,45,45,45,45,654,45,45,45,45,45,45,45,45,1393,45,45,45,45,45,45,45,45,1209,45,45,45,45,45,45,45,67,763,67,67,67,67,67,67,67,67,770,67,67,67,774,67,0,2045,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,994,45,45,45,45,45,45,45,45,45,45,67,67,213,67,219,67,67,232,67,242,67,247,67,67,67,779,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1018,67,67,67,67,811,67,67,67,67,67,67,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,834,97,97,97,97,97,839,97,18,131427,0,638,0,0,0,0,362,0,0,365,29315,367,645,97,97,861,97,97,97,97,97,97,97,97,868,97,97,97,872,97,97,877,97,97,97,97,97,97,97,97,97,97,97,97,97,613,97,97,97,97,97,909,97,97,97,97,97,97,97,97,97,0,0,0,18,18,24,24,27,27,27,1036,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1047,67,67,67,1050,67,67,67,67,67,67,67,67,67,67,67,67,1033,67,67,67,97,97,1130,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,0,67,67,67,1295,67,67,67,0,0,0,0,0,0,0,0,0,97,1317,97,97,97,97,97,97,1375,97,97,97,0,0,0,45,1379,45,45,45,45,45,45,422,45,45,45,429,431,45,45,45,45,0,1090,0,0,97,1479,97,97,97,97,97,97,97,97,97,97,1357,97,97,97,97,97,97,97,97,97,1716,97,97,97,97,97,97,97,97,97,1723,0,921,29315,0,0,0,0,45,929,45,45,45,45,45,45,45,1392,45,45,45,45,45,45,45,45,45,960,45,45,45,45,45,45,97,97,97,1738,45,45,45,45,45,45,45,1743,45,45,45,45,166,45,45,45,45,184,186,45,45,197,45,45,97,1779,0,0,97,97,97,97,97,97,0,0,97,97,0,97,18,131427,0,638,0,0,0,0,362,0,640,365,29315,367,0,921,29315,0,0,0,0,45,45,45,45,45,45,45,45,45,45,1537,45,45,45,45,45,1803,45,45,45,45,45,1809,45,45,45,67,67,67,1814,67,67,67,67,67,67,1821,67,67,67,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,0,0,67,67,67,1818,67,67,67,67,67,1824,67,67,67,97,97,97,97,97,0,0,0,97,97,97,97,1890,0,1829,97,97,0,0,97,97,1836,97,97,0,0,0,97,97,97,97,1981,45,45,45,45,45,45,45,45,45,1987,1845,97,97,97,45,45,45,45,45,1853,45,45,45,1857,45,45,45,67,1864,67,1866,67,67,67,67,67,67,67,67,67,97,97,97,97,97,97,97,1710,1711,67,67,97,97,97,97,97,0,0,0,1886,97,97,97,0,0,97,97,97,97,1838,0,0,0,97,1843,97,0,1893,97,97,97,97,97,45,45,45,45,45,45,45,45,45,45,1745,45,45,67,67,67,67,67,97,97,97,97,97,0,0,1931,97,97,97,97,97,588,97,97,97,97,97,97,97,97,97,97,629,97,97,97,97,97,67,2044,0,97,97,97,97,45,45,67,67,0,0,97,97,45,45,45,1660,45,45,45,45,45,45,45,45,45,45,45,45,453,45,455,67,67,67,67,268,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,348,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,359,0,0,362,0,365,28809,367,139,45,45,45,45,45,421,45,45,45,45,45,45,45,434,45,45,695,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1667,45,0,921,29315,0,925,0,0,45,45,45,45,45,45,45,45,45,1811,45,67,67,67,67,67,67,1037,67,1039,67,67,67,67,67,67,67,67,67,67,67,67,1277,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,1095,0,0,0,1096,97,97,97,97,97,97,97,97,97,97,97,97,869,97,97,97,97,97,97,1131,97,1133,97,97,97,97,97,97,97,97,97,97,1370,97,97,97,97,97,1312,0,0,0,0,1096,0,0,0,97,97,97,97,97,97,97,1327,97,97,97,97,97,1332,97,97,97,1830,97,0,0,97,97,97,97,97,0,0,0,97,97,97,1896,97,97,45,45,45,45,45,45,45,45,45,1548,45,45,45,45,45,45,133,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,45,380,45,45,45,45,45,45,45,45,45,45,401,45,45,158,45,45,45,45,45,45,45,45,45,45,45,45,45,1200,45,45,45,45,206,67,67,67,67,67,225,67,67,67,67,67,67,67,67,754,67,67,67,67,67,67,67,57889,0,0,54074,54074,550,832,97,97,97,97,97,97,97,97,97,1342,97,97,97,97,97,97,67,67,67,67,67,25398,1083,13112,1087,54074,1091,0,0,0,0,0,0,1316,0,831,97,97,97,97,97,97,97,1174,921,0,1175,0,0,0,0,45,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,45,148,67,67,264,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,97,295,97,97,97,97,313,97,97,97,97,331,333,97,18,131427,356,638,0,0,0,0,362,0,0,365,0,367,0,45,45,1530,45,45,45,45,45,45,45,45,45,45,45,45,988,45,45,45,97,344,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,402,404,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1756,67,438,45,45,45,45,45,45,45,45,449,450,45,45,45,67,67,214,218,221,67,229,67,67,243,245,248,67,67,67,67,67,488,490,67,67,67,67,67,67,67,67,67,67,67,1071,67,1073,67,67,67,67,67,524,67,67,67,67,67,67,67,67,535,536,67,67,67,67,67,67,1683,1684,67,67,67,67,1688,1689,67,67,67,67,67,67,1586,67,67,67,67,67,67,67,67,67,469,67,67,67,67,67,67,97,97,97,585,587,97,97,97,97,97,97,97,97,97,97,97,1163,97,97,97,97,97,97,97,621,97,97,97,97,97,97,97,97,632,633,97,97,0,0,1782,97,97,97,97,97,0,0,97,97,0,97,712,45,45,45,717,45,45,45,45,45,45,45,45,725,45,45,45,163,167,173,177,45,45,45,45,45,193,45,45,45,45,982,45,45,45,45,45,45,987,45,45,45,45,45,1558,45,1560,45,45,45,45,45,45,45,45,704,705,45,45,45,45,45,45,45,45,731,45,45,45,67,67,67,67,67,739,67,67,67,67,67,67,273,0,24850,12564,0,0,0,0,28809,53531,67,67,67,764,67,67,67,67,67,67,67,67,67,67,67,67,1290,67,67,67,67,67,67,812,67,67,67,67,818,67,67,67,25398,542,13112,544,57889,0,0,54074,54074,550,0,97,97,97,97,97,837,97,97,97,97,97,602,97,97,97,97,97,97,97,97,97,97,1137,97,97,97,97,97,97,97,97,97,862,97,97,97,97,97,97,97,97,97,97,97,1627,97,97,97,0,97,97,97,97,910,97,97,97,97,916,97,97,97,0,0,0,97,97,1940,97,97,1942,45,45,45,45,45,45,385,45,45,45,45,395,45,45,45,45,966,45,969,45,45,45,45,45,45,45,45,45,45,975,45,45,45,406,45,45,45,45,45,45,45,45,45,45,45,45,974,45,45,45,67,67,67,67,1010,67,67,67,67,67,67,67,67,67,67,67,1262,67,67,67,67,67,67,67,67,67,1040,67,1042,67,1045,67,67,67,67,67,67,67,97,1706,97,97,97,1709,97,97,97,67,67,67,67,1051,67,67,67,67,67,1057,67,67,67,67,67,67,67,1443,67,67,1446,67,67,67,67,67,67,67,1297,0,0,0,1303,0,0,0,1309,67,67,67,67,1079,25398,0,13112,0,54074,0,0,0,0,0,0,0,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2207744,2207744,2207744,2207744,2207744,2572288,2207744,2207744,2207744,1098,97,97,97,97,97,1104,97,97,97,97,97,97,97,97,97,1356,97,97,97,97,97,97,1128,97,97,97,97,97,97,1134,97,1136,97,1139,97,97,97,97,97,97,1622,97,97,97,97,97,97,97,97,0,921,0,0,0,1176,0,646,45,67,67,67,1268,67,67,67,67,67,67,67,67,67,67,67,67,1469,67,67,67,97,1348,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1127,97,67,1569,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1448,1449,67,1816,67,67,67,67,67,67,67,67,67,1825,67,67,1827,97,97,0,1781,97,97,97,97,97,97,0,0,97,97,0,97,97,97,1831,0,0,97,97,97,97,97,0,0,0,97,97,97,1980,97,45,45,45,45,45,45,45,45,45,45,1395,45,45,45,45,45,97,1846,97,97,45,45,45,45,45,45,45,45,45,45,45,45,1212,45,45,45,45,45,45,2010,45,67,67,67,67,67,2016,67,97,97,0,0,97,97,97,0,97,97,97,97,97,45,45,2007,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,143,45,45,45,1671,45,45,45,45,45,45,45,45,45,45,45,67,1813,67,67,1815,45,45,67,210,67,67,67,67,67,67,239,67,67,67,67,67,67,67,1454,67,67,67,67,67,67,67,67,67,1445,67,67,67,67,67,67,97,97,290,97,97,97,97,97,97,319,97,97,97,97,97,97,303,97,97,317,97,97,97,97,97,97,305,97,97,97,97,97,97,97,97,97,899,97,97,97,97,97,97,375,45,45,45,379,45,45,390,45,45,394,45,45,45,45,45,443,45,45,45,45,45,45,45,45,67,67,67,67,67,461,67,67,67,465,67,67,476,67,67,480,67,67,67,67,67,67,1694,67,67,67,67,67,67,67,67,67,1288,67,67,67,67,67,67,500,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1075,97,97,97,558,97,97,97,562,97,97,573,97,97,577,97,97,97,97,97,895,97,97,97,97,97,97,903,97,97,97,0,97,97,1638,97,97,97,97,97,97,97,97,1646,597,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1334,45,681,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1396,45,45,1399,45,45,730,45,45,45,45,67,67,67,67,67,67,67,67,67,67,1434,67,67,67,67,67,67,750,67,67,67,67,67,67,67,67,67,67,1456,67,67,67,67,67,45,45,993,45,45,45,45,45,45,45,45,45,45,45,67,67,1238,67,67,1006,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1280,1048,1049,67,67,67,67,67,67,67,67,67,67,1059,67,67,67,67,67,67,1286,67,67,67,67,67,67,67,1291,67,97,97,1100,97,97,97,97,97,97,97,97,97,97,97,97,97,638,0,920,97,97,1142,1143,97,97,97,97,97,97,97,97,97,97,1153,97,97,97,97,97,1158,97,97,97,1161,97,97,97,97,1166,97,97,97,97,97,1325,97,97,97,97,97,97,97,97,97,97,1328,97,97,97,97,97,97,97,45,1218,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1678,45,45,45,67,67,67,67,67,1269,67,67,67,67,67,67,67,67,1278,67,67,67,67,67,67,1761,67,67,67,67,67,67,67,67,67,530,67,67,67,67,67,67,97,97,1349,97,97,97,97,97,97,97,97,1358,97,97,97,97,97,97,1623,97,97,97,97,97,97,97,97,0,921,0,0,926,0,0,0,45,45,1411,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1754,45,45,67,67,1301,0,1307,0,1313,97,97,97,97,97,97,97,97,97,97,97,21054,97,97,97,97,67,1757,67,67,67,1760,67,67,67,67,67,67,67,67,67,67,1467,67,67,67,67,67,1778,97,0,0,97,97,97,97,97,97,0,0,97,97,0,97,97,97,97,97,1352,97,97,97,97,97,97,97,97,97,97,1511,97,97,97,97,97,67,67,67,67,67,1820,67,1822,67,67,67,67,67,97,97,97,97,97,0,0,0,97,1933,97,1892,97,97,97,97,97,97,1899,45,45,45,45,45,45,45,45,1664,45,45,45,45,45,45,45,45,1546,45,45,45,45,45,45,45,45,1208,45,45,45,45,45,45,45,45,1224,45,45,45,45,45,45,45,45,673,45,45,45,45,45,45,45,67,67,67,67,67,1925,97,97,97,97,0,0,0,97,97,97,97,97,623,97,97,97,97,97,97,97,97,97,97,307,97,97,97,97,97,97,97,97,97,1796,97,45,45,45,45,45,45,45,970,45,45,45,45,45,45,45,45,1417,45,45,45,45,45,45,45,67,1964,67,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,97,97,97,97,1721,97,97,0,0,1997,97,0,0,2e3,97,97,0,97,97,97,97,97,45,45,45,45,733,45,67,67,67,67,67,67,67,67,67,67,803,67,67,67,67,67,0,94242,0,0,0,38,102439,0,0,106538,98347,28809,45,45,144,45,45,45,1805,45,1807,45,45,45,45,45,67,67,67,67,67,67,231,67,67,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,45,45,67,211,67,67,67,67,230,234,240,244,67,67,67,67,67,67,464,67,67,67,67,67,67,479,67,67,67,260,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,97,291,97,97,97,97,310,314,320,324,97,97,97,97,97,97,1367,97,97,97,97,97,97,97,97,97,1355,97,97,97,97,97,97,1362,340,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,360,0,362,0,365,28809,367,139,369,45,45,45,374,67,67,460,67,67,67,67,466,67,67,67,67,67,67,67,67,801,67,67,67,67,67,67,67,67,67,487,67,67,67,67,67,67,67,67,67,67,498,67,67,67,67,67,67,1772,67,67,97,97,97,97,97,97,97,0,921,922,1175,0,0,0,0,45,67,502,67,67,67,67,67,67,67,508,67,67,67,515,517,67,67,67,67,67,97,97,97,97,97,0,0,0,1932,97,97,0,1999,97,97,97,0,97,97,2004,2005,97,45,45,45,45,1193,45,45,45,45,45,45,45,45,45,45,45,676,45,45,45,45,67,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,552,97,97,97,97,97,1377,0,0,45,45,45,45,45,45,45,45,655,45,45,45,45,45,45,45,97,97,557,97,97,97,97,563,97,97,97,97,97,97,97,97,1135,97,97,97,97,97,97,97,97,97,584,97,97,97,97,97,97,97,97,97,97,595,97,97,97,97,97,911,97,97,97,97,97,97,97,638,0,0,0,0,1315,0,0,0,0,97,97,97,1319,97,97,97,0,97,97,97,97,97,97,1733,97,97,97,97,97,97,1340,97,97,97,1343,97,97,1345,97,1346,97,599,97,97,97,97,97,97,97,605,97,97,97,612,614,97,97,97,97,97,1794,97,97,97,45,45,45,45,45,45,45,1207,45,45,45,45,45,45,1213,45,45,745,67,67,67,67,751,67,67,67,67,67,67,67,67,67,67,1577,67,67,67,67,67,762,67,67,67,67,766,67,67,67,67,67,67,67,67,67,67,1765,67,67,67,67,67,777,67,67,781,67,67,67,67,67,67,67,67,67,67,67,67,1592,1593,67,67,97,843,97,97,97,97,849,97,97,97,97,97,97,97,97,97,1510,97,97,97,97,97,97,97,860,97,97,97,97,864,97,97,97,97,97,97,97,97,97,1797,45,45,45,45,1801,45,97,875,97,97,879,97,97,97,97,97,97,97,97,97,97,97,1522,97,97,97,97,97,991,45,45,45,45,996,45,45,45,45,45,45,45,45,67,67,215,67,67,67,67,233,67,67,67,67,251,253,1022,67,67,67,1026,67,67,67,67,67,67,67,67,67,67,1035,67,67,1038,67,67,67,67,67,67,67,67,67,67,67,67,67,1458,67,67,67,67,67,1064,67,67,67,1067,67,67,67,67,1072,67,67,67,67,67,67,1296,0,0,0,0,0,0,0,0,0,2367488,2158592,2158592,2158592,2158592,2158592,2158592,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,1096,0,921,29315,0,0,0,0,928,45,45,45,45,45,934,45,45,45,164,45,45,45,45,45,45,45,45,45,198,45,45,45,378,45,45,45,45,45,45,393,45,45,45,398,45,97,97,1116,97,97,97,1120,97,97,97,97,97,97,97,97,97,1147,1148,97,97,97,97,97,97,97,1129,97,97,1132,97,97,97,97,97,97,97,97,97,97,97,1626,97,97,97,97,0,45,1178,45,45,45,45,45,45,45,45,45,1185,45,45,45,45,441,45,45,45,45,45,45,451,45,45,67,67,67,67,67,227,67,67,67,67,67,67,67,67,1260,67,67,67,1263,67,67,1265,1203,45,45,1205,45,1206,45,45,45,45,45,45,45,45,45,1216,67,1266,67,67,67,67,67,67,67,67,67,1276,67,67,67,67,67,67,492,67,67,67,67,67,67,67,67,67,471,67,67,67,67,481,67,45,1386,45,1389,45,45,45,45,1394,45,45,45,1397,45,45,45,45,995,45,997,45,45,45,45,45,45,45,67,67,67,67,1915,67,67,67,67,67,1422,45,45,45,67,67,67,67,67,67,67,67,67,1433,67,1436,67,67,67,67,1441,67,67,67,1444,67,67,67,67,67,67,67,0,24850,12564,0,0,0,281,28809,53531,97,97,97,97,1494,97,97,97,1497,97,97,97,97,97,97,97,1368,97,97,97,97,97,97,97,97,851,97,97,97,97,97,97,97,67,67,67,1571,67,67,67,67,67,67,67,67,67,67,67,67,25398,542,13112,544,67,67,1583,67,67,67,67,67,67,67,67,1591,67,67,67,67,67,67,752,67,67,67,67,67,67,67,67,67,1056,67,67,67,67,67,67,97,1634,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1125,97,97,97,1647,97,97,97,97,97,0,45,45,45,45,45,45,45,45,45,1183,45,45,45,45,45,45,45,45,45,409,45,45,45,45,45,45,1658,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1668,1712,97,97,97,0,97,97,97,97,97,97,97,97,97,0,0,1835,97,97,97,97,0,0,0,97,97,1844,97,97,1726,0,97,97,97,97,97,1732,97,1734,97,97,97,97,97,300,97,308,97,97,97,97,97,97,97,97,866,97,97,97,97,97,97,97,67,67,67,1758,67,67,67,1762,67,67,67,67,67,67,67,67,1043,67,67,67,67,67,67,67,67,67,67,67,67,1771,67,67,67,97,97,97,97,97,1776,97,97,97,97,297,97,97,97,97,97,97,97,97,97,97,97,1108,97,97,97,97,67,67,67,1966,97,97,97,1970,0,0,0,97,97,97,97,0,97,97,97,1720,97,97,97,97,97,0,0,97,97,97,1837,97,0,1840,1841,97,97,97,1988,45,67,67,67,67,67,67,67,67,67,1994,1995,67,97,97,97,97,97,1103,97,97,97,97,97,97,97,97,97,97,917,97,97,0,0,0,67,67,265,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,345,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,131427,0,0,0,361,362,0,365,28809,367,139,45,45,45,45,45,671,45,45,45,45,45,45,45,45,45,45,411,45,45,414,45,45,45,45,377,45,45,45,386,45,45,45,45,45,45,45,45,45,1223,45,45,45,45,45,45,45,45,45,426,45,45,433,45,45,45,67,67,67,67,67,463,67,67,67,472,67,67,67,67,67,67,67,527,67,67,67,67,67,67,537,67,540,24850,24850,12564,12564,0,57889,0,0,0,53531,53531,367,286,97,97,97,97,97,1119,97,97,97,97,97,97,97,97,97,97,1509,97,97,97,97,97,97,97,97,564,97,97,97,97,97,97,97,637,18,131427,0,0,0,0,0,0,362,0,0,365,29315,367,0,921,29315,0,0,0,927,45,45,45,45,45,45,45,45,45,1234,45,45,45,45,67,67,67,67,1240,45,697,45,45,45,45,45,45,45,45,45,45,708,45,45,45,45,1221,45,45,45,45,1225,45,45,45,45,45,45,384,45,45,45,45,45,45,45,45,45,1210,45,45,45,45,45,45,67,67,795,67,67,67,67,67,67,67,67,67,67,67,67,67,1470,67,67,67,67,67,67,67,815,67,67,67,67,67,67,25398,542,13112,544,97,97,97,893,97,97,97,97,97,97,97,97,97,97,97,97,1164,97,97,97,67,67,67,1025,67,67,67,67,67,67,67,67,67,67,67,67,1687,67,67,67,67,67,67,67,67,67,25398,0,13112,0,54074,0,0,0,0,0,1097,1241,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1450,45,45,1388,45,1390,45,45,45,45,45,45,45,45,45,45,45,1236,67,67,67,67,67,1437,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1472,1490,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1503,67,67,67,67,67,97,97,97,97,97,0,1930,0,97,97,97,97,97,847,97,97,97,97,97,97,97,97,97,858,67,67,1965,67,97,97,97,97,0,0,0,97,97,97,97,0,97,97,1719,97,97,97,97,97,97,0,0,0,45,45,45,45,1382,45,1383,45,45,45,159,45,45,45,45,45,45,45,45,45,45,45,45,45,1563,45,45,45,45,45,67,261,67,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,341,97,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,97,1099,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1333,97,1230,45,45,45,45,45,45,45,45,45,45,67,67,67,67,67,67,1992,67,1993,67,67,67,97,97,45,45,160,45,45,45,45,45,45,45,45,45,45,45,45,45,1665,45,45,45,45,45,131427,357,0,0,0,362,0,365,28809,367,139,45,45,45,45,45,684,45,45,45,45,45,45,45,45,45,45,412,45,45,45,416,45,45,45,440,45,45,45,45,45,45,45,45,45,45,45,67,67,1990,67,1991,67,67,67,67,67,67,67,97,97,1707,97,97,97,97,97,97,501,67,67,67,67,67,67,67,67,67,67,67,67,67,67,67,1691,67,67,67,67,67,526,67,67,67,67,67,67,67,67,67,67,1030,67,1032,67,67,67,67,598,97,97,97,97,97,97,97,97,97,97,97,97,97,97,97,1632,0,921,29315,923,0,0,0,45,45,45,45,45,45,45,45,45,1404,45,45,45,45,45,45,45,45,45,425,45,45,45,45,45,45,67,67,67,67,67,25398,0,13112,0,54074,0,0,1093,0,0,0,0,0,97,1609,97,97,97,97,97,97,97,97,97,1369,97,97,97,1372,97,97,67,67,266,67,67,67,67,0,24850,12564,0,0,0,0,28809,53531,97,346,97,97,97,97,0,40976,0,18,18,24,24,27,27,27,665,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,1677,45,45,45,45,67,45,45,954,45,956,45,45,45,45,45,45,45,45,45,45,45,1545,45,45,45,45,45,45,45,45,45,448,45,45,45,45,67,456,67,67,67,67,67,1270,67,67,67,67,67,67,67,67,67,67,1069,67,67,67,67,67,67,97,97,97,1350,97,97,97,97,97,97,97,97,97,97,97,97,1524,97,97,97,97,97,97,97,1376,0,0,0,45,45,45,45,45,45,45,45,1559,1561,45,45,45,1564,45,1566,1567,45,67,67,67,67,67,1573,67,67,67,67,67,67,67,67,67,67,1247,67,67,67,67,67,1252,97,1725,97,0,97,97,97,97,97,97,97,97,97,97,97,97,1628,97,1630,0,0,94242,0,0,0,2211840,0,1118208,0,0,0,0,2158592,2158731,2158592,2158592,2158592,3117056,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,3018752,2158592,3043328,2158592,2158592,2158592,2158592,3080192,2158592,2158592,3112960,2158592,2158592,2158592,2158592,2158592,2158878,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2605056,2158592,2158592,2207744,0,542,0,544,0,0,2166784,0,0,0,550,0,0,2158592,2158592,2686976,2158592,2715648,2158592,2158592,2158592,2158592,2158592,2158592,2158592,2867200,2158592,2904064,2158592,2158592,2158592,2158592,2158592,2158592,2158592,0,94242,0,0,0,2211840,0,0,1130496,0,0,0,2158592,2158592,2158592,2158592,2158592,3186688,2158592,0,0,139,0,0,0,139,0,2367488,2207744,0,0,0,0,176128,0,2166784,0,0,0,0,0,286,2158592,2158592,3170304,3174400,2158592,0,0,0,2158592,2158592,2158592,2158592,2158592,2424832,2158592,2158592,2158592,1508,2158592,2908160,2158592,2158592,2158592,2977792,2158592,2158592,2158592,2158592,3039232,2158592,2158592,2158592,2158592,2158592,2158592,3158016,67,24850,24850,12564,12564,0,0,0,0,0,53531,53531,0,286,97,97,97,97,97,1144,97,97,97,97,97,97,97,97,97,97,1149,97,97,97,97,1154,57889,0,0,0,0,550,0,97,97,97,97,97,97,97,97,97,561,97,97,97,97,97,97,576,97,97,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,139264,0,0,139264,0,921,29315,0,0,926,0,45,45,45,45,45,45,45,45,45,719,720,45,45,45,45,45,45,45,45,685,45,45,45,45,45,45,45,45,45,942,45,45,946,45,45,45,950,45,45,0,2146304,2146304,0,0,0,0,2224128,2224128,2224128,2232320,2232320,2232320,2232320,0,0,1301,0,0,0,0,0,1307,0,0,0,0,0,1313,0,0,0,0,0,0,0,97,97,1318,97,97,97,97,97,97,1795,97,97,45,45,45,45,45,45,45,446,45,45,45,45,45,45,67,67,2158592,2146304,0,0,0,0,0,0,0,2211840,0,0,0,0,2158592,0,921,29315,0,924,0,0,45,45,45,45,45,45,45,45,45,1e3,45,45,45,45,67,67],r.EXPECTED=[290,300,304,353,296,309,305,319,315,324,328,352,354,334,338,330,320,345,349,293,358,362,341,366,312,370,374,378,382,386,390,394,398,737,402,634,439,604,634,634,634,634,408,634,634,634,404,634,634,634,457,634,634,963,634,634,413,634,634,634,634,634,634,634,663,418,422,903,902,426,431,548,634,437,521,919,443,615,409,449,455,624,731,751,634,461,465,672,470,469,474,481,485,477,489,493,629,542,497,505,603,602,991,648,510,804,634,515,958,526,525,530,768,634,546,552,711,710,593,558,562,618,566,570,574,578,582,586,590,608,612,660,822,821,634,622,596,444,628,533,724,633,640,653,647,652,536,1008,451,450,445,657,670,676,685,689,693,697,701,704,707,715,719,798,815,634,723,762,996,634,728,969,730,735,908,634,741,679,889,511,747,634,750,755,499,666,499,501,759,772,776,780,634,787,784,797,802,809,808,427,814,1006,517,634,519,853,634,813,850,793,634,819,826,833,832,837,843,847,857,861,863,867,871,875,879,883,643,887,539,980,979,634,893,944,634,900,896,634,907,933,506,912,917,828,433,636,635,554,961,923,930,927,937,941,634,634,634,974,948,952,985,913,968,967,743,634,973,839,634,978,599,634,984,989,765,444,995,1e3,634,1003,790,955,1012,681,634,634,634,634,634,414,1016,1020,1024,1085,1027,1090,1090,1046,1080,1137,1108,1215,1049,1032,1039,1085,1085,1085,1085,1058,1062,1068,1085,1086,1090,1090,1091,1072,1064,1107,1090,1090,1090,1118,1123,1138,1078,1074,1084,1085,1085,1085,1087,1090,1062,1052,1060,1114,1062,1104,1085,1085,1090,1090,1028,1122,1063,1128,1139,1127,1158,1085,1085,1151,1090,1090,1090,1095,1090,1132,1073,1136,1143,1061,1150,1085,1155,1098,1101,1146,1162,1169,1101,1185,1151,1090,1110,1173,1054,1087,1109,1177,1165,1089,1204,1184,1107,1189,1193,1088,1197,1180,1201,1208,1042,1212,1219,1223,1227,1231,1235,1245,1777,1527,1686,1686,1238,1686,1254,1686,1686,1686,1294,1669,1686,1686,1686,1322,1625,1534,1268,1624,1275,1281,1443,1292,1300,1686,1686,1686,1350,1826,1306,1686,1686,1240,2032,1317,1321,1686,1686,1253,1686,1326,1686,1686,1686,1418,1709,1446,1686,1686,1686,1492,1686,1295,1447,1686,1686,1258,1686,1736,1686,1686,1520,1355,1686,1288,1348,1361,1686,1359,1686,1364,1498,1368,1302,1362,1381,1389,1395,1486,1686,1371,1377,1370,1686,1375,1382,1384,1402,1408,1385,1383,1619,1413,1423,1428,1433,1686,1686,1270,1686,1338,1686,1440,1686,1686,1686,1499,1465,1686,1686,1686,1639,1473,1884,1686,1686,1293,1864,1686,1686,1296,1321,1483,1686,1686,1686,1646,1686,1748,1496,1686,1418,1675,1686,1418,1702,1686,1418,1981,1686,1429,1409,1427,1504,1692,1686,1686,1313,1448,1651,1508,1686,1686,1340,1686,1903,1686,1686,1435,1513,1686,1283,1287,1519,1686,1524,1363,1568,1938,1539,1566,1579,1479,1533,1538,1553,1544,1552,1557,1563,1574,1557,1583,1589,1590,1759,1594,1603,1607,1611,1686,1436,1514,1686,1434,1656,1686,1434,1680,1686,1453,1686,1686,1686,1559,1617,1686,1770,1418,1623,1769,1629,1686,1515,1335,1686,1285,1686,1671,1921,1650,1686,1686,1344,1308,1666,1686,1686,1686,1659,1685,1686,1686,1686,1686,1241,1686,1686,1844,1691,1686,1630,1977,1970,1362,1686,1686,1686,1693,1698,1686,1686,1686,1697,1686,1764,1715,1686,1634,1638,1686,1599,1585,1686,1271,1686,1269,1686,1721,1686,1686,1354,1686,1801,1686,1799,1686,1640,1686,1686,1461,1686,1686,1732,1686,1944,1686,1740,1686,1746,1415,1396,1686,1598,1547,1417,1597,1416,1577,1546,1397,1577,1547,1548,1570,1398,1753,1686,1652,1509,1686,1686,1686,1757,1686,1419,1686,1763,1418,1768,1781,1686,1686,1686,1705,1686,2048,1792,1686,1686,1686,1735,1686,1797,1686,1686,1404,1686,1639,1815,1686,1686,1418,2017,1820,1686,1686,1803,1686,1686,1686,1736,1489,1686,1686,1825,1338,1260,1263,1686,1686,1785,1686,1686,1728,1686,1686,1749,1497,1830,1830,1262,1248,1261,1329,1260,1264,1329,1248,1249,1259,1540,1849,1842,1686,1686,1835,1686,1686,1816,1686,1686,1831,1882,1848,1686,1686,1686,1774,2071,1854,1686,1686,1469,1884,1686,1821,1859,1686,1686,1350,1883,1686,1686,1686,1781,1391,1875,1686,1686,1613,1644,1686,1686,1889,1686,1686,1662,1884,1686,1885,1890,1686,1686,1686,1894,1686,1686,1678,1686,1907,1686,1686,1529,1914,1686,1838,1686,1686,1881,1686,1686,1872,1876,1836,1919,1686,1837,1692,1910,1686,1925,1928,1742,1686,1811,1811,1930,1810,1929,1935,1928,1900,1942,1867,1868,1931,1035,1788,1948,1952,1956,1960,1964,1686,1976,1686,1686,1686,2065,1686,1992,2037,1686,1686,1998,2009,1972,2002,1686,1686,1686,2077,1300,2023,1686,1686,1686,1807,2031,1686,1686,1686,1860,1500,2032,1686,1686,1686,2083,1686,2036,1686,1277,1276,2042,1877,1686,1686,2041,1686,1686,2027,2037,2012,1686,2012,1855,1850,1686,2046,1686,1686,2054,1996,1686,1897,1309,2059,2052,1686,2058,1686,1686,2081,1686,1717,1477,1686,1331,1686,1686,1687,1686,1860,1681,1686,1686,1686,1966,1724,1686,1686,1686,1984,2015,1686,1686,1686,1988,1686,2063,1686,1686,1686,2005,1686,1727,1686,1686,1711,1457,2069,1686,1686,1686,2019,2075,1686,1686,1915,1686,1686,1793,1874,1686,1686,1491,1362,1449,1686,1686,1460,2098,2087,2091,2095,2184,2102,2113,2780,2117,2134,2142,2281,2146,2146,2146,2304,2296,2181,2639,2591,2872,2592,2873,2313,2195,2200,2281,2146,2273,2226,2204,2152,2219,2276,2167,2177,2276,2235,2276,2276,2230,2281,2276,2296,2276,2293,2276,2276,2276,2276,2234,2276,2311,2314,2210,2199,2217,2222,2276,2276,2276,2240,2276,2294,2276,2276,2173,2276,2198,2281,2281,2281,2281,2282,2146,2146,2146,2146,2205,2146,2204,2248,2276,2235,2276,2297,2276,2276,2276,2277,2256,2281,2283,2146,2146,2146,2275,2276,2295,2276,2276,2293,2146,2304,2264,2269,2221,2276,2276,2276,2293,2295,2276,2276,2276,2295,2263,2205,2268,2220,2172,2276,2276,2276,2296,2276,2276,2296,2294,2276,2276,2278,2281,2281,2280,2281,2281,2281,2283,2206,2223,2276,2276,2279,2281,2281,2146,2273,2276,2276,2281,2281,2281,2276,2292,2276,2298,2225,2276,2298,2169,2224,2292,2298,2171,2229,2281,2281,2171,2236,2281,2281,2281,2146,2275,2225,2292,2299,2276,2229,2281,2146,2276,2290,2297,2283,2146,2146,2274,2224,2227,2298,2225,2297,2276,2230,2170,2230,2282,2146,2147,2151,2156,2288,2276,2230,2303,2308,2236,2284,2228,2318,2318,2318,2326,2335,2339,2343,2349,2416,2693,2357,2592,2109,2592,2592,2162,2943,2823,2646,2592,2361,2592,2122,2592,2592,2122,2470,2592,2592,2592,2109,2107,2592,2592,2592,2123,2592,2592,2592,2125,2592,2413,2592,2592,2592,2127,2592,2592,2414,2592,2592,2592,2130,2952,2592,2594,2592,2592,2212,2609,2252,2592,2592,2592,2446,2434,2592,2592,2592,2212,2446,2450,2456,2431,2435,2592,2592,2243,2478,2448,2439,2946,2592,2592,2592,2368,2809,2813,2450,2441,2212,2812,2449,2440,2947,2592,2592,2592,2345,2451,2457,2948,2592,2124,2592,2592,2650,2823,2449,2455,2946,2592,2128,2592,2592,2649,2952,2592,2810,2448,2461,2991,2467,2592,2592,2329,2817,2474,2990,2466,2592,2592,2373,2447,2992,2469,2592,2592,2592,2373,2447,2477,2468,2592,2592,2353,2469,2592,2495,2592,2592,2415,2483,2592,2415,2496,2592,2592,2352,2592,2592,2352,2352,2469,2592,2592,2363,2331,2494,2592,2592,2592,2375,2592,2375,2415,2504,2592,2592,2367,2372,2503,2592,2592,2592,2389,2418,2415,2592,2592,2373,2592,2592,2592,2593,2732,2417,2415,2592,2417,2520,2592,2592,2592,2390,2521,2521,2592,2592,2592,2401,2599,2585,2526,2531,2120,2592,2212,2426,2450,2463,2948,2592,2592,2592,2213,2389,2527,2532,2121,2542,2551,2105,2592,2213,2592,2592,2592,2558,2538,2544,2553,2557,2537,2543,2552,2421,2572,2576,2546,2543,2547,2592,2592,2373,2615,2575,2545,2105,2592,2244,2479,2592,2129,2592,2592,2628,2690,2469,2562,2566,2592,2592,2592,2415,2928,2934,2401,2570,2574,2564,2572,2585,2590,2592,2592,2585,2965,2592,2592,2592,2445,2251,2592,2592,2592,2474,2592,2609,2892,2592,2362,2592,2592,2138,2851,2159,2592,2592,2592,2509,2888,2892,2592,2592,2592,2490,2418,2891,2592,2592,2376,2592,2592,2374,2592,2889,2388,2592,2373,2373,2890,2592,2592,2387,2592,2887,2505,2892,2592,2373,2610,2388,2592,2592,2376,2373,2592,2887,2891,2592,2374,2592,2592,2608,2159,2614,2620,2592,2592,2394,2594,2887,2399,2592,2887,2397,2508,2374,2507,2592,2375,2592,2592,2592,2595,2508,2506,2592,2506,2505,2505,2592,2507,2637,2505,2592,2592,2401,2661,2592,2643,2592,2592,2417,2592,2655,2592,2592,2592,2510,2414,2656,2592,2592,2592,2516,2592,2593,2660,2665,2880,2592,2592,2592,2522,2767,2666,2881,2592,2592,2420,2571,2696,2592,2592,2592,2580,2572,2686,2632,2698,2592,2383,2514,2592,2163,2932,2465,2685,2631,2697,2592,2388,2592,2592,2212,2604,2671,2632,2678,2592,2401,2405,2409,2592,2592,2592,2679,2592,2592,2592,2592,2108,2677,2591,2592,2592,2592,2419,2592,2683,2187,2191,2469,2671,2189,2467,2592,2401,2629,2633,2702,2468,2592,2592,2421,2536,2703,2469,2592,2592,2422,2573,2593,2672,2467,2592,2402,2406,2592,2402,2979,2592,2592,2626,2673,2467,2592,2446,2259,2947,2592,2377,2709,2592,2592,2522,2862,2713,2468,2592,2592,2581,2572,2562,2374,2374,2592,2376,2721,2724,2592,2592,2624,2373,2731,2592,2592,2592,2626,2732,2592,2592,2592,2755,2656,2726,2736,2741,2592,2486,2593,2381,2592,2727,2737,2742,2715,2747,2753,2592,2498,2469,2873,2743,2592,2592,2592,2791,2759,2763,2592,2592,2627,2704,2592,2592,2522,2789,2593,2761,2753,2592,2498,2863,2592,2592,2767,2592,2592,2592,2792,2789,2592,2592,2592,2803,2126,2592,2592,2592,2811,2122,2592,2592,2592,2834,2777,2592,2592,2592,2848,2936,2591,2489,2797,2592,2592,2670,2631,2490,2798,2592,2592,2592,2963,2807,2592,2592,2592,2965,2838,2592,2592,2592,2975,2330,2818,2829,2592,2498,2939,2592,2498,2592,2791,2331,2819,2830,2592,2592,2592,2982,2834,2817,2828,2106,2592,2592,2592,2405,2405,2817,2828,2592,2592,2415,2849,2842,2592,2522,2773,2592,2522,2868,2592,2580,2600,2586,2137,2850,2843,2592,2592,2855,2937,2844,2592,2592,2592,2987,2936,2591,2592,2592,2684,2630,2592,2856,2938,2592,2592,2860,2939,2592,2592,2872,2592,2861,2591,2592,2592,2887,2616,2592,2867,2592,2592,2708,2592,2498,2469,2498,2497,2785,2773,2499,2783,2770,2877,2877,2877,2772,2592,2592,2345,2885,2592,2592,2592,2715,2762,2515,2896,2592,2592,2715,2917,2516,2897,2592,2592,2592,2901,2906,2911,2592,2592,2956,2960,2715,2902,2907,2912,2593,2916,2920,2820,2922,2822,2592,2592,2715,2927,2921,2821,2106,2592,2592,2974,2408,2321,2821,2106,2592,2592,2983,2592,2593,2404,2408,2592,2592,2717,2749,2716,2928,2322,2822,2593,2926,2919,2820,2934,2823,2592,2592,2592,2651,2824,2592,2592,2592,2130,2952,2592,2592,2592,2592,2964,2592,2592,2716,2748,2592,2969,2592,2592,2716,2918,2368,2970,2592,2592,2592,2403,2407,2592,2592,2787,2211,2404,2409,2592,2592,2802,2837,2987,2592,2592,2592,2809,2427,2592,2793,2592,2592,2809,2447,1073741824,2147483648,539754496,542375936,402653184,554434560,571736064,545521856,268451840,335544320,268693630,512,2048,256,1024,0,1024,0,1073741824,2147483648,0,0,0,8388608,0,0,1073741824,1073741824,0,2147483648,537133056,4194304,1048576,268435456,-1073741824,0,0,0,1048576,0,0,0,1572864,0,0,0,4194304,0,134217728,16777216,0,0,32,64,98304,0,33554432,8388608,192,67108864,67108864,67108864,67108864,16,32,4,0,8192,196608,196608,229376,80,4096,524288,8388608,0,0,32,128,256,24576,24600,24576,24576,2,24576,24576,24576,24584,24592,24576,24578,24576,24578,24576,24576,16,512,2048,2048,256,4096,32768,1048576,4194304,67108864,134217728,268435456,262144,134217728,0,128,128,64,16384,16384,16384,67108864,32,32,4,4,4096,262144,134217728,0,0,0,2,0,8192,131072,131072,4096,4096,4096,4096,24576,24576,24576,8,8,24576,24576,16384,16384,16384,24576,24584,24576,24576,24576,16384,24576,536870912,262144,0,0,32,2048,8192,4,4096,4096,4096,786432,8388608,16777216,0,128,16384,16384,16384,32768,65536,2097152,32,32,32,32,4,4,4,4,4,4096,67108864,67108864,67108864,24576,24576,24576,24576,0,16384,16384,16384,16384,67108864,67108864,8,67108864,24576,8,8,8,24576,24576,24576,24578,24576,24576,24576,2,2,2,16384,67108864,67108864,67108864,32,67108864,8,8,24576,2048,2147483648,536870912,262144,262144,262144,67108864,8,24576,16384,32768,1048576,4194304,25165824,67108864,24576,32770,2,4,112,512,98304,524288,50,402653186,1049090,1049091,10,66,100925514,10,66,12582914,0,0,-1678194207,-1678194207,-1041543218,0,32768,0,0,32,65536,268435456,1,1,513,1048577,0,12582912,0,0,0,4,1792,0,0,0,7,29360128,0,0,0,8,0,0,0,12,1,1,0,0,-604102721,-604102721,4194304,8388608,0,0,0,31,925600,997981306,997981306,997981306,0,0,2048,8388608,0,0,1,2,4,32,64,512,8192,0,0,0,245760,997720064,0,0,0,32,0,0,0,3,12,16,32,8,112,3072,12288,16384,32768,65536,131072,7864320,16777216,973078528,0,0,65536,131072,3670016,4194304,16777216,33554432,2,8,48,2048,8192,16384,32768,65536,131072,524288,131072,524288,3145728,4194304,16777216,33554432,65536,131072,2097152,4194304,16777216,33554432,134217728,268435456,536870912,0,0,0,1024,0,8,48,2048,8192,65536,33554432,268435456,536870912,65536,268435456,536870912,0,0,32768,0,0,126,623104,65011712,0,32,65536,536870912,0,0,65536,524288,0,32,65536,0,0,0,2048,0,0,0,15482,245760,-604102721,0,0,0,18913,33062912,925600,-605028352,0,0,0,65536,31,8096,131072,786432,3145728,3145728,12582912,50331648,134217728,268435456,160,256,512,7168,131072,786432,131072,786432,1048576,2097152,12582912,16777216,268435456,1073741824,2147483648,12582912,16777216,33554432,268435456,1073741824,2147483648,3,12,16,160,256,7168,786432,1048576,12582912,16777216,268435456,1073741824,0,8,16,32,128,256,512,7168,786432,1048576,2097152,0,1,2,8,16,7168,786432,1048576,8388608,16777216,16777216,1073741824,0,0,0,0,1,0,0,8,32,128,256,7168,8,32,0,3072,0,8,32,3072,4096,524288,8,32,0,0,3072,4096,0,2048,524288,8388608,8,2048,0,0,1,12,256,4096,32768,262144,1048576,4194304,67108864,0,2048,0,2048,2048,1073741824,-58805985,-58805985,-58805985,0,0,262144,0,0,32,4194304,16777216,134217728,4382,172032,-58982400,0,0,2,28,256,4096,8192,8192,32768,131072,262144,524288,1,2,12,256,4096,0,0,4194304,67108864,134217728,805306368,1073741824,0,0,1,2,12,16,256,4096,1048576,67108864,134217728,268435456,0,512,1048576,4194304,201326592,1879048192,0,0,12,256,4096,134217728,268435456,536870912,12,256,268435456,536870912,0,12,256,0,0,1,32,64,512,0,0,205236961,205236961,0,0,0,1,96,640,1,10976,229376,204996608,0,640,2048,8192,229376,1572864,1572864,2097152,201326592,0,0,0,64,512,2048,229376,1572864,201326592,1572864,201326592,0,0,1,4382,0,1,32,2048,65536,131072,1572864,201326592,131072,1572864,134217728,0,0,524288,524288,0,0,0,-68582786,-68582786,-68582786,0,0,2097152,524288,0,524288,0,0,65536,131072,1572864,0,0,2,4,0,0,65011712,-134217728,0,0,0,0,2,4,120,512,-268435456,0,0,0,2,8,48,64,2048,8192,98304,524288,2097152,4194304,25165824,33554432,134217728,268435456,2147483648,0,0,25165824,33554432,134217728,1879048192,2147483648,0,0,4,112,512,622592,65011712,134217728,-268435456,16777216,33554432,134217728,1610612736,0,0,0,64,98304,524288,4194304,16777216,33554432,0,98304,524288,16777216,33554432,0,65536,524288,33554432,536870912,1073741824,0,65536,524288,536870912,1073741824,0,0,65536,524288,536870912,0,524288,0,524288,524288,1048576,2086666240,2147483648,0,-1678194207,0,0,0,8,32,2048,524288,8388608,0,0,33062912,436207616,2147483648,0,0,32,64,2432,16384,32768,32768,524288,3145728,4194304,25165824,25165824,167772160,268435456,2147483648,0,32,64,384,2048,16384,32768,1048576,2097152,4194304,25165824,32,64,128,256,2048,16384,2048,16384,1048576,4194304,16777216,33554432,134217728,536870912,1073741824,0,0,2048,16384,4194304,16777216,33554432,134217728,805306368,0,0,16777216,134217728,268435456,2147483648,0,622592,622592,622592,8807,8807,434791,0,0,16777216,0,0,0,7,608,8192,0,0,0,3,4,96,512,32,64,8192,0,0,16777216,134217728,0,0,2,4,8192,16384,65536,2097152,33554432,268435456],r.TOKEN=["(0)","ModuleDecl","Annotation","OptionDecl","Operator","Variable","Tag","EndTag","PragmaContents","DirCommentContents","DirPIContents","CDataSectionContents","AttrTest","Wildcard","EQName","IntegerLiteral","DecimalLiteral","DoubleLiteral","PredefinedEntityRef","'\"\"'","EscapeApos","QuotChar","AposChar","ElementContentChar","QuotAttrContentChar","AposAttrContentChar","NCName","QName","S","CharRef","CommentContents","DocTag","DocCommentContents","EOF","'!'","'\"'","'#'","'#)'","''''","'('","'(#'","'(:'","'(:~'","')'","'*'","'*'","','","'-->'","'.'","'/'","'/>'","':'","':)'","';'","'<!--'","'<![CDATA['","'<?'","'='","'>'","'?'","'?>'","'NaN'","'['","']'","']]>'","'after'","'all'","'allowing'","'ancestor'","'ancestor-or-self'","'and'","'any'","'append'","'array'","'as'","'ascending'","'at'","'attribute'","'base-uri'","'before'","'boundary-space'","'break'","'by'","'case'","'cast'","'castable'","'catch'","'check'","'child'","'collation'","'collection'","'comment'","'constraint'","'construction'","'contains'","'content'","'context'","'continue'","'copy'","'copy-namespaces'","'count'","'decimal-format'","'decimal-separator'","'declare'","'default'","'delete'","'descendant'","'descendant-or-self'","'descending'","'diacritics'","'different'","'digit'","'distance'","'div'","'document'","'document-node'","'element'","'else'","'empty'","'empty-sequence'","'encoding'","'end'","'entire'","'eq'","'every'","'exactly'","'except'","'exit'","'external'","'first'","'following'","'following-sibling'","'for'","'foreach'","'foreign'","'from'","'ft-option'","'ftand'","'ftnot'","'ftor'","'function'","'ge'","'greatest'","'group'","'grouping-separator'","'gt'","'idiv'","'if'","'import'","'in'","'index'","'infinity'","'inherit'","'insensitive'","'insert'","'instance'","'integrity'","'intersect'","'into'","'is'","'item'","'json'","'json-item'","'key'","'language'","'last'","'lax'","'le'","'least'","'let'","'levels'","'loop'","'lowercase'","'lt'","'minus-sign'","'mod'","'modify'","'module'","'most'","'namespace'","'namespace-node'","'ne'","'next'","'no'","'no-inherit'","'no-preserve'","'node'","'nodes'","'not'","'object'","'occurs'","'of'","'on'","'only'","'option'","'or'","'order'","'ordered'","'ordering'","'paragraph'","'paragraphs'","'parent'","'pattern-separator'","'per-mille'","'percent'","'phrase'","'position'","'preceding'","'preceding-sibling'","'preserve'","'previous'","'processing-instruction'","'relationship'","'rename'","'replace'","'return'","'returning'","'revalidation'","'same'","'satisfies'","'schema'","'schema-attribute'","'schema-element'","'score'","'self'","'sensitive'","'sentence'","'sentences'","'skip'","'sliding'","'some'","'stable'","'start'","'stemming'","'stop'","'strict'","'strip'","'structured-item'","'switch'","'text'","'then'","'thesaurus'","'times'","'to'","'treat'","'try'","'tumbling'","'type'","'typeswitch'","'union'","'unique'","'unordered'","'updating'","'uppercase'","'using'","'validate'","'value'","'variable'","'version'","'weight'","'when'","'where'","'while'","'wildcards'","'window'","'with'","'without'","'word'","'words'","'xquery'","'zero-digit'","'{'","'{{'","'|'","'}'","'}}'"]},{}],"/node_modules/xqlint/lib/lexers/lexer.js":[function(e,t,n){"use strict";var r=function(e){var t=e;this.tokens=[],this.reset=function(){t=t,this.tokens=[]},this.startNonterminal=function(){},this.endNonterminal=function(){},this.terminal=function(e,n,r){this.tokens.push({name:e,value:t.substring(n,r)})},this.whitespace=function(e,n){this.tokens.push({name:"WS",value:t.substring(e,n)})}};n.Lexer=function(e,t){this.tokens=[],this.getLineTokens=function(n,i){i=i==="start"||!i?'["start"]':i;var s=JSON.parse(i),o=new r(n),u=new e(n,o),a=[];for(;;){var f=s[s.length-1];try{o.tokens=[],u["parse_"+f]();var l=null;o.tokens.length>1&&o.tokens[0].name==="WS"&&(a.push({type:"text",value:o.tokens[0].value}),o.tokens.splice(0,1));var c=o.tokens[0],h=t[f];for(var p=0;p<h.length;p++){var d=t[f][p];if(typeof d.name=="function"&&d.name(c)||d.name===c.name){l=d;break}}if(c.name==="EOF")break;if(c.value==="")throw"Encountered empty string lexical rule.";a.push({type:l===null?"text":typeof l.token=="function"?l.token(c.value):l.token,value:c.value}),l&&l.next&&l.next(s)}catch(v){if(v instanceof u.ParseException){var m=0;for(var g=0;g<a.length;g++)m+=a[g].value.length;return a.push({type:"text",value:n.substring(m)}),{tokens:a,state:JSON.stringify(["start"])}}throw v}}return{tokens:a,state:JSON.stringify(s)}}}},{}],"/node_modules/xqlint/lib/lexers/xquery_lexer.js":[function(e,t,n){"use strict";var r=e("./XQueryTokenizer").XQueryTokenizer,i=e("./lexer").Lexer,s="after|ancestor|ancestor-or-self|and|as|ascending|attribute|before|case|cast|castable|child|collation|comment|copy|count|declare|default|delete|descendant|descendant-or-self|descending|div|document|document-node|element|else|empty|empty-sequence|end|eq|every|except|first|following|following-sibling|for|function|ge|group|gt|idiv|if|import|insert|instance|intersect|into|is|item|last|le|let|lt|mod|modify|module|namespace|namespace-node|ne|node|only|or|order|ordered|parent|preceding|preceding-sibling|processing-instruction|rename|replace|return|satisfies|schema-attribute|schema-element|self|some|stable|start|switch|text|to|treat|try|typeswitch|union|unordered|validate|where|with|xquery|contains|paragraphs|sentences|times|words|by|collectionreturn|variable|version|option|when|encoding|toswitch|catch|tumbling|sliding|window|at|using|stemming|collection|schema|while|on|nodes|index|external|then|in|updating|value|of|containsbreak|loop|continue|exit|returning|append|json|position|strict".split("|"),o=s.map(function(e){return{name:"'"+e+"'",token:"keyword"}}),u=s.map(function(e){return{name:"'"+e+"'",token:"text",next:function(e){e.pop()}}}),a="constant.language",f="constant",l="comment",c="xml-pe",h="constant.buildin",p=function(e){return"'"+e+"'"},d={start:[{name:p("(#"),token:h,next:function(e){e.push("Pragma")}},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p("(:~"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:p("<?"),token:c,next:function(e){e.push("PI")}},{name:p("''"),token:"string",next:function(e){e.push("AposString")}},{name:p('"'),token:"string",next:function(e){e.push("QuotString")}},{name:"Annotation",token:"support.function"},{name:"ModuleDecl",token:"keyword",next:function(e){e.push("Prefix")}},{name:"OptionDecl",token:"keyword",next:function(e){e.push("_EQName")}},{name:"AttrTest",token:"support.type"},{name:"Variable",token:"variable"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:"IntegerLiteral",token:f},{name:"DecimalLiteral",token:f},{name:"DoubleLiteral",token:f},{name:"Operator",token:"keyword.operator"},{name:"EQName",token:function(e){return s.indexOf(e)!==-1?"keyword":"support.function"}},{name:p("("),token:"lparen"},{name:p(")"),token:"rparen"},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:p("}"),token:"text",next:function(e){e.length>1&&e.pop()}},{name:p("{"),token:"text",next:function(e){e.push("start")}}].concat(o),_EQName:[{name:"EQName",token:"text",next:function(e){e.pop()}}].concat(u),Prefix:[{name:"NCName",token:"text",next:function(e){e.pop()}}].concat(u),StartTag:[{name:p(">"),token:"meta.tag",next:function(e){e.push("TagContent")}},{name:"QName",token:"entity.other.attribute-name"},{name:p("="),token:"text"},{name:p("''"),token:"string",next:function(e){e.push("AposAttr")}},{name:p('"'),token:"string",next:function(e){e.push("QuotAttr")}},{name:p("/>"),token:"meta.tag.r",next:function(e){e.pop()}}],TagContent:[{name:"ElementContentChar",token:"text"},{name:p("<![CDATA["),token:a,next:function(e){e.push("CData")}},{name:p("<!--"),token:l,next:function(e){e.push("XMLComment")}},{name:"Tag",token:"meta.tag",next:function(e){e.push("StartTag")}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"text"},{name:p("}}"),token:"text"},{name:p("{"),token:"text",next:function(e){e.push("start")}},{name:"EndTag",token:"meta.tag",next:function(e){e.pop(),e.pop()}}],AposAttr:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],QuotAttr:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotAttrContentChar",token:"string"},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:p("{{"),token:"string"},{name:p("}}"),token:"string"},{name:p("{"),token:"text",next:function(e){e.push("start")}}],Pragma:[{name:"PragmaContents",token:h},{name:p("#"),token:h},{name:p("#)"),token:h,next:function(e){e.pop()}}],Comment:[{name:"CommentContents",token:"comment"},{name:p("(:"),token:"comment",next:function(e){e.push("Comment")}},{name:p(":)"),token:"comment",next:function(e){e.pop()}}],CommentDoc:[{name:"DocCommentContents",token:"comment.doc"},{name:"DocTag",token:"comment.doc.tag"},{name:p("(:"),token:"comment.doc",next:function(e){e.push("CommentDoc")}},{name:p(":)"),token:"comment.doc",next:function(e){e.pop()}}],XMLComment:[{name:"DirCommentContents",token:l},{name:p("-->"),token:l,next:function(e){e.pop()}}],CData:[{name:"CDataSectionContents",token:a},{name:p("]]>"),token:a,next:function(e){e.pop()}}],PI:[{name:"DirPIContents",token:c},{name:p("?"),token:c},{name:p("?>"),token:c,next:function(e){e.pop()}}],AposString:[{name:p("''"),token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeApos",token:"constant.language.escape"},{name:"AposChar",token:"string"}],QuotString:[{name:p('"'),token:"string",next:function(e){e.pop()}},{name:"PredefinedEntityRef",token:"constant.language.escape"},{name:"CharRef",token:"constant.language.escape"},{name:"EscapeQuot",token:"constant.language.escape"},{name:"QuotChar",token:"string"}]};n.XQueryLexer=function(){return new i(r,d)}},{"./XQueryTokenizer":"/node_modules/xqlint/lib/lexers/XQueryTokenizer.js","./lexer":"/node_modules/xqlint/lib/lexers/lexer.js"}]},{},["/node_modules/xqlint/lib/lexers/xquery_lexer.js"])}),ace.define("ace/mode/behaviour/xml",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(e,t,n){"use strict";function u(e,t){return e&&e.type.lastIndexOf(t+".xml")>-1}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("../../token_iterator").TokenIterator,o=e("../../lib/lang"),a=function(){this.add("string_dquotes","insertion",function(e,t,n,r,i){if(i=='"'||i=="'"){var o=i,a=r.doc.getTextRange(n.getSelectionRange());if(a!==""&&a!=="'"&&a!='"'&&n.getWrapBehavioursEnabled())return{text:o+a+o,selection:!1};var f=n.getCursorPosition(),l=r.doc.getLine(f.row),c=l.substring(f.column,f.column+1),h=new s(r,f.row,f.column),p=h.getCurrentToken();if(c==o&&(u(p,"attribute-value")||u(p,"string")))return{text:"",selection:[1,1]};p||(p=h.stepBackward());if(!p)return;while(u(p,"tag-whitespace")||u(p,"whitespace"))p=h.stepBackward();var d=!c||c.match(/\s/);if(u(p,"attribute-equals")&&(d||c==">")||u(p,"decl-attribute-equals")&&(d||c=="?"))return{text:o+o,selection:[1,1]}}}),this.add("string_dquotes","deletion",function(e,t,n,r,i){var s=r.doc.getTextRange(i);if(!i.isMultiLine()&&(s=='"'||s=="'")){var o=r.doc.getLine(i.start.row),u=o.substring(i.start.column+1,i.start.column+2);if(u==s)return i.end.column++,i}}),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var o=n.getSelectionRange().start,a=new s(r,o.row,o.column),f=a.getCurrentToken()||a.stepBackward();if(!f||!(u(f,"tag-name")||u(f,"tag-whitespace")||u(f,"attribute-name")||u(f,"attribute-equals")||u(f,"attribute-value")))return;if(u(f,"reference.attribute-value"))return;if(u(f,"attribute-value")){var l=a.getCurrentTokenColumn()+f.value.length;if(o.column<l)return;if(o.column==l){var c=a.stepForward();if(c&&u(c,"attribute-value"))return;a.stepBackward()}}if(/^\s*>/.test(r.getLine(o.row).slice(o.column)))return;while(!u(f,"tag-name")){f=a.stepBackward();if(f.value=="<"){f=a.stepForward();break}}var h=a.getCurrentTokenRow(),p=a.getCurrentTokenColumn();if(u(a.stepBackward(),"end-tag-open"))return;var d=f.value;h==o.row&&(d=d.substring(0,o.column-p));if(this.voidElements.hasOwnProperty(d.toLowerCase()))return;return{text:"></"+d+">",selection:[1,1]}}}),this.add("autoindent","insertion",function(e,t,n,r,i){if(i=="\n"){var o=n.getCursorPosition(),u=r.getLine(o.row),a=new s(r,o.row,o.column),f=a.getCurrentToken();if(f&&f.type.indexOf("tag-close")!==-1){if(f.value=="/>")return;while(f&&f.type.indexOf("tag-name")===-1)f=a.stepBackward();if(!f)return;var l=f.value,c=a.getCurrentTokenRow();f=a.stepBackward();if(!f||f.type.indexOf("end-tag")!==-1)return;if(this.voidElements&&!this.voidElements[l]){var h=r.getTokenAt(o.row,o.column+1),u=r.getLine(c),p=this.$getIndent(u),d=p+r.getTabString();return h&&h.value==="</"?{text:"\n"+d+"\n"+p,selection:[1,d.length,1,d.length]}:{text:"\n"+d}}}}})};r.inherits(a,i),t.XmlBehaviour=a}),ace.define("ace/mode/behaviour/xquery",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/mode/behaviour/xml","ace/token_iterator"],function(e,t,n){"use strict";function a(e,t){var n=!0,r=e.type.split("."),i=t.split(".");return i.forEach(function(e){if(r.indexOf(e)==-1)return n=!1,!1}),n}var r=e("../../lib/oop"),i=e("../behaviour").Behaviour,s=e("./cstyle").CstyleBehaviour,o=e("../behaviour/xml").XmlBehaviour,u=e("../../token_iterator").TokenIterator,f=function(){this.inherit(s,["braces","parens","string_dquotes"]),this.inherit(o),this.add("autoclosing","insertion",function(e,t,n,r,i){if(i==">"){var s=n.getCursorPosition(),o=new u(r,s.row,s.column),f=o.getCurrentToken(),l=!1,e=JSON.parse(e).pop();if(f&&f.value===">"||e!=="StartTag")return;if(!f||!a(f,"meta.tag")&&(!a(f,"text")||!f.value.match("/"))){do f=o.stepBackward();while(f&&(a(f,"string")||a(f,"keyword.operator")||a(f,"entity.attribute-name")||a(f,"text")))}else l=!0;var c=o.stepBackward();if(!f||!a(f,"meta.tag")||c!==null&&c.value.match("/"))return;var h=f.value.substring(1);if(l)var h=h.substring(0,s.column-f.start);return{text:"></"+h+">",selection:[1,1]}}})};r.inherits(f,i),t.XQueryBehaviour=f}),ace.define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("../../range").Range,s=e("./fold_mode").FoldMode,o=t.FoldMode=function(e){e&&(this.foldingStartMarker=new RegExp(this.foldingStartMarker.source.replace(/\|[^|]*?$/,"|"+e.start)),this.foldingStopMarker=new RegExp(this.foldingStopMarker.source.replace(/\|[^|]*?$/,"|"+e.end)))};r.inherits(o,s),function(){this.foldingStartMarker=/([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/,this.foldingStopMarker=/^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/,this.singleLineBlockCommentRe=/^\s*(\/\*).*\*\/\s*$/,this.tripleStarBlockCommentRe=/^\s*(\/\*\*\*).*\*\/\s*$/,this.startRegionRe=/^\s*(\/\*|\/\/)#?region\b/,this._getFoldWidgetBase=this.getFoldWidget,this.getFoldWidget=function(e,t,n){var r=e.getLine(n);if(this.singleLineBlockCommentRe.test(r)&&!this.startRegionRe.test(r)&&!this.tripleStarBlockCommentRe.test(r))return"";var i=this._getFoldWidgetBase(e,t,n);return!i&&this.startRegionRe.test(r)?"start":i},this.getFoldWidgetRange=function(e,t,n,r){var i=e.getLine(n);if(this.startRegionRe.test(i))return this.getCommentRegionBlock(e,i,n);var s=i.match(this.foldingStartMarker);if(s){var o=s.index;if(s[1])return this.openingBracketBlock(e,s[1],n,o);var u=e.getCommentFoldRange(n,o+s[0].length,1);return u&&!u.isMultiLine()&&(r?u=this.getSectionRange(e,n):t!="all"&&(u=null)),u}if(t==="markbegin")return;var s=i.match(this.foldingStopMarker);if(s){var o=s.index+s[0].length;return s[1]?this.closingBracketBlock(e,s[1],n,o):e.getCommentFoldRange(n,o,-1)}},this.getSectionRange=function(e,t){var n=e.getLine(t),r=n.search(/\S/),s=t,o=n.length;t+=1;var u=t,a=e.getLength();while(++t<a){n=e.getLine(t);var f=n.search(/\S/);if(f===-1)continue;if(r>f)break;var l=this.getFoldWidgetRange(e,"all",t);if(l){if(l.start.row<=s)break;if(l.isMultiLine())t=l.end.row;else if(r==f)break}u=t}return new i(s,o,u,e.getLine(u).length)},this.getCommentRegionBlock=function(e,t,n){var r=t.search(/\s*$/),s=e.getLength(),o=n,u=/^\s*(?:\/\*|\/\/|--)#?(end)?region\b/,a=1;while(++n<s){t=e.getLine(n);var f=u.exec(t);if(!f)continue;f[1]?a--:a++;if(!a)break}var l=n;if(l>o)return new i(o,r,l,t.length)}}.call(o.prototype)}),ace.define("ace/mode/xquery",["require","exports","module","ace/worker/worker_client","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/xquery/xquery_lexer","ace/range","ace/mode/behaviour/xquery","ace/mode/folding/cstyle","ace/anchor"],function(e,t,n){"use strict";var r=e("../worker/worker_client").WorkerClient,i=e("../lib/oop"),s=e("./text").Mode,o=e("./text_highlight_rules").TextHighlightRules,u=e("./xquery/xquery_lexer").XQueryLexer,a=e("../range").Range,f=e("./behaviour/xquery").XQueryBehaviour,l=e("./folding/cstyle").FoldMode,c=e("../anchor").Anchor,h=function(){this.$tokenizer=new u,this.$behaviour=new f,this.foldingRules=new l,this.$highlightRules=new o};i.inherits(h,s),function(){this.completer={getCompletions:function(e,t,n,r,i){if(!t.$worker)return i();t.$worker.emit("complete",{data:{pos:n,prefix:r}}),t.$worker.on("complete",function(e){i(null,e.data)})}},this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=t.match(/\s*(?:then|else|return|[{\(]|<\w+>)\s*$/);return i&&(r+=n),r},this.checkOutdent=function(e,t,n){return/^\s+$/.test(t)?/^\s*[\}\)]/.test(n):!1},this.autoOutdent=function(e,t,n){var r=t.getLine(n),i=r.match(/^(\s*[\}\)])/);if(!i)return 0;var s=i[1].length,o=t.findMatchingBracket({row:n,column:s});if(!o||o.row==n)return 0;var u=this.$getIndent(t.getLine(o.row));t.replace(new a(n,0,n,s-1),u)},this.toggleCommentLines=function(e,t,n,r){var i,s,o=!0,u=/^\s*\(:(.*):\)/;for(i=n;i<=r;i++)if(!u.test(t.getLine(i))){o=!1;break}var f=new a(0,0,0,0);for(i=n;i<=r;i++)s=t.getLine(i),f.start.row=i,f.end.row=i,f.end.column=s.length,t.replace(f,o?s.match(u)[1]:"(:"+s+":)")},this.createWorker=function(e){var t=new r(["ace"],"ace/mode/xquery_worker","XQueryWorker"),n=this;return t.attachToDocument(e.getDocument()),t.on("ok",function(t){e.clearAnnotations()}),t.on("markers",function(t){e.clearAnnotations(),n.addMarkers(t.data,e)}),t.on("highlight",function(t){n.$tokenizer.tokens=t.data.tokens,n.$tokenizer.lines=e.getDocument().getAllLines();var r=Object.keys(n.$tokenizer.tokens);for(var i=0;i<r.length;i++){var s=parseInt(r[i]);delete e.bgTokenizer.lines[s],delete e.bgTokenizer.states[s],e.bgTokenizer.fireUpdateEvent(s,s)}}),t},this.removeMarkers=function(e){var t=e.getMarkers(!1);for(var n in t)t[n].clazz.indexOf("language_highlight_")===0&&e.removeMarker(n);for(var r=0;r<e.markerAnchors.length;r++)e.markerAnchors[r].detach();e.markerAnchors=[]},this.addMarkers=function(e,t){var n=this;t.markerAnchors||(t.markerAnchors=[]),this.removeMarkers(t),t.languageAnnos=[],e.forEach(function(e){function u(i){r&&t.removeMarker(r),o.row=n.row;if(e.pos.sc!==undefined&&e.pos.ec!==undefined){var s=new a(e.pos.sl,e.pos.sc,e.pos.el,e.pos.ec);r=t.addMarker(s,"language_highlight_"+(e.type?e.type:"default"))}i&&t.setAnnotations(t.languageAnnos)}var n=new c(t.getDocument(),e.pos.sl,e.pos.sc||0);t.markerAnchors.push(n);var r,i=e.pos.ec-e.pos.sc,s=e.pos.el-e.pos.sl,o={guttertext:e.message,type:e.level||"warning",text:e.message};u(),n.on("change",function(){u(!0)}),e.message&&t.languageAnnos.push(o)}),t.setAnnotations(t.languageAnnos)},this.$id="ace/mode/xquery"}.call(h.prototype),t.Mode=h});                (function() {
-                    ace.require(["ace/mode/xquery"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/applescript.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/applescript",["require","exports","module"],function(e,p,t){"use strict";p.snippetText=void 0,p.scope="applescript"}),ace.require(["ace/snippets/applescript"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/asl.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/asl",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="asl"}),ace.require(["ace/snippets/asl"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/bro.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/bro",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope=""}),ace.require(["ace/snippets/bro"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/c_cpp.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/c_cpp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText="## STL Collections\n# std::array\nsnippet array\n	std::array<${1:T}, ${2:N}> ${3};${4}\n# std::vector\nsnippet vector\n	std::vector<${1:T}> ${2};${3}\n# std::deque\nsnippet deque\n	std::deque<${1:T}> ${2};${3}\n# std::forward_list\nsnippet flist\n	std::forward_list<${1:T}> ${2};${3}\n# std::list\nsnippet list\n	std::list<${1:T}> ${2};${3}\n# std::set\nsnippet set\n	std::set<${1:T}> ${2};${3}\n# std::map\nsnippet map\n	std::map<${1:Key}, ${2:T}> ${3};${4}\n# std::multiset\nsnippet mset\n	std::multiset<${1:T}> ${2};${3}\n# std::multimap\nsnippet mmap\n	std::multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_set\nsnippet uset\n	std::unordered_set<${1:T}> ${2};${3}\n# std::unordered_map\nsnippet umap\n	std::unordered_map<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_multiset\nsnippet umset\n	std::unordered_multiset<${1:T}> ${2};${3}\n# std::unordered_multimap\nsnippet ummap\n	std::unordered_multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::stack\nsnippet stack\n	std::stack<${1:T}> ${2};${3}\n# std::queue\nsnippet queue\n	std::queue<${1:T}> ${2};${3}\n# std::priority_queue\nsnippet pqueue\n	std::priority_queue<${1:T}> ${2};${3}\n##\n## Access Modifiers\n# private\nsnippet pri\n	private\n# protected\nsnippet pro\n	protected\n# public\nsnippet pub\n	public\n# friend\nsnippet fr\n	friend\n# mutable\nsnippet mu\n	mutable\n## \n## Class\n# class\nsnippet cl\n	class ${1:`Filename('$1', 'name')`} \n	{\n	public:\n		$1(${2});\n		~$1();\n\n	private:\n		${3:/* data */}\n	};\n# member function implementation\nsnippet mfun\n	${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {\n		${5:/* code */}\n	}\n# namespace\nsnippet ns\n	namespace ${1:`Filename('', 'my')`} {\n		${2}\n	} /* namespace $1 */\n##\n## Input/Output\n# std::cout\nsnippet cout\n	std::cout << ${1} << std::endl;${2}\n# std::cin\nsnippet cin\n	std::cin >> ${1};${2}\n##\n## Iteration\n# for i \nsnippet fori\n	for (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {\n		${4:/* code */}\n	}${5}\n\n# foreach\nsnippet fore\n	for (${1:auto} ${2:i} : ${3:container}) {\n		${4:/* code */}\n	}${5}\n# iterator\nsnippet iter\n	for (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {\n		${6}\n	}${7}\n\n# auto iterator\nsnippet itera\n	for (auto ${1:i} = $1.begin(); $1 != $1.end(); ++$1) {\n		${2:std::cout << *$1 << std::endl;}\n	}${3}\n##\n## Lambdas\n# lamda (one line)\nsnippet ld\n	[${1}](${2}){${3:/* code */}}${4}\n# lambda (multi-line)\nsnippet lld\n	[${1}](${2}){\n		${3:/* code */}\n	}${4}\n",t.scope="c_cpp"});                (function() {
-                    ace.require(["ace/snippets/c_cpp"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/c_cpp.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/c_cpp",["require","exports","module"],function(t,n,e){"use strict";n.snippetText="## STL Collections\n# std::array\nsnippet array\n\tstd::array<${1:T}, ${2:N}> ${3};${4}\n# std::vector\nsnippet vector\n\tstd::vector<${1:T}> ${2};${3}\n# std::deque\nsnippet deque\n\tstd::deque<${1:T}> ${2};${3}\n# std::forward_list\nsnippet flist\n\tstd::forward_list<${1:T}> ${2};${3}\n# std::list\nsnippet list\n\tstd::list<${1:T}> ${2};${3}\n# std::set\nsnippet set\n\tstd::set<${1:T}> ${2};${3}\n# std::map\nsnippet map\n\tstd::map<${1:Key}, ${2:T}> ${3};${4}\n# std::multiset\nsnippet mset\n\tstd::multiset<${1:T}> ${2};${3}\n# std::multimap\nsnippet mmap\n\tstd::multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_set\nsnippet uset\n\tstd::unordered_set<${1:T}> ${2};${3}\n# std::unordered_map\nsnippet umap\n\tstd::unordered_map<${1:Key}, ${2:T}> ${3};${4}\n# std::unordered_multiset\nsnippet umset\n\tstd::unordered_multiset<${1:T}> ${2};${3}\n# std::unordered_multimap\nsnippet ummap\n\tstd::unordered_multimap<${1:Key}, ${2:T}> ${3};${4}\n# std::stack\nsnippet stack\n\tstd::stack<${1:T}> ${2};${3}\n# std::queue\nsnippet queue\n\tstd::queue<${1:T}> ${2};${3}\n# std::priority_queue\nsnippet pqueue\n\tstd::priority_queue<${1:T}> ${2};${3}\n##\n## Access Modifiers\n# private\nsnippet pri\n\tprivate\n# protected\nsnippet pro\n\tprotected\n# public\nsnippet pub\n\tpublic\n# friend\nsnippet fr\n\tfriend\n# mutable\nsnippet mu\n\tmutable\n## \n## Class\n# class\nsnippet cl\n\tclass ${1:`Filename('$1', 'name')`} \n\t{\n\tpublic:\n\t\t$1(${2});\n\t\t~$1();\n\n\tprivate:\n\t\t${3:/* data */}\n\t};\n# member function implementation\nsnippet mfun\n\t${4:void} ${1:`Filename('$1', 'ClassName')`}::${2:memberFunction}(${3}) {\n\t\t${5:/* code */}\n\t}\n# namespace\nsnippet ns\n\tnamespace ${1:`Filename('', 'my')`} {\n\t\t${2}\n\t} /* namespace $1 */\n##\n## Input/Output\n# std::cout\nsnippet cout\n\tstd::cout << ${1} << std::endl;${2}\n# std::cin\nsnippet cin\n\tstd::cin >> ${1};${2}\n##\n## Iteration\n# for i \nsnippet fori\n\tfor (int ${2:i} = 0; $2 < ${1:count}; $2${3:++}) {\n\t\t${4:/* code */}\n\t}${5}\n\n# foreach\nsnippet fore\n\tfor (${1:auto} ${2:i} : ${3:container}) {\n\t\t${4:/* code */}\n\t}${5}\n# iterator\nsnippet iter\n\tfor (${1:std::vector}<${2:type}>::${3:const_iterator} ${4:i} = ${5:container}.begin(); $4 != $5.end(); ++$4) {\n\t\t${6}\n\t}${7}\n\n# auto iterator\nsnippet itera\n\tfor (auto ${1:i} = $1.begin(); $1 != $1.end(); ++$1) {\n\t\t${2:std::cout << *$1 << std::endl;}\n\t}${3}\n##\n## Lambdas\n# lamda (one line)\nsnippet ld\n\t[${1}](${2}){${3:/* code */}}${4}\n# lambda (multi-line)\nsnippet lld\n\t[${1}](${2}){\n\t\t${3:/* code */}\n\t}${4}\n",n.scope="c_cpp"}),ace.require(["ace/snippets/c_cpp"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/csharp.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/csharp",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="csharp"});                (function() {
-                    ace.require(["ace/snippets/csharp"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/csharp.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/csharp",["require","exports","module"],function(e,o,p){"use strict";o.snippetText=void 0,o.scope="csharp"}),ace.require(["ace/snippets/csharp"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/csound_orchestra.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/csound_orchestra",["require","exports","module"],function(t,n,e){"use strict";n.snippetText="# else\nsnippet else\n\telse\n\t\t${1:/* statements */}\n# elseif\nsnippet elseif\n\telseif ${1:/* condition */} then\n\t\t${2:/* statements */}\n# if\nsnippet if\n\tif ${1:/* condition */} then\n\t\t${2:/* statements */}\n\tendif\n# instrument block\nsnippet instr\n\tinstr ${1:name}\n\t\t${2:/* statements */}\n\tendin\n# i-time while loop\nsnippet iwhile\n\ti${1:Index} = ${2:0}\n\twhile i${1:Index} < ${3:/* count */} do\n\t\t${4:/* statements */}\n\t\ti${1:Index} += 1\n\tod\n# k-rate while loop\nsnippet kwhile\n\tk${1:Index} = ${2:0}\n\twhile k${1:Index} < ${3:/* count */} do\n\t\t${4:/* statements */}\n\t\tk${1:Index} += 1\n\tod\n# opcode\nsnippet opcode\n\topcode ${1:name}, ${2:/* output types */ 0}, ${3:/* input types */ 0}\n\t\t${4:/* statements */}\n\tendop\n# until loop\nsnippet until\n\tuntil ${1:/* condition */} do\n\t\t${2:/* statements */}\n\tod\n# while loop\nsnippet while\n\twhile ${1:/* condition */} do\n\t\t${2:/* statements */}\n\tod\n",n.scope="csound_orchestra"}),ace.require(["ace/snippets/csound_orchestra"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/d.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/d",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="d"});                (function() {
-                    ace.require(["ace/snippets/d"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/edifact.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/edifact",["require","exports","module"],function(e,t,n){"use strict";t.snippetText='## Access Modifiers\nsnippet u\n	UN\nsnippet un\n	UNB\nsnippet pr\n	private\n##\n## Annotations\nsnippet before\n	@Before\n	static void ${1:intercept}(${2:args}) { ${3} }\nsnippet mm\n	@ManyToMany\n	${1}\nsnippet mo\n	@ManyToOne\n	${1}\nsnippet om\n	@OneToMany${1:(cascade=CascadeType.ALL)}\n	${2}\nsnippet oo\n	@OneToOne\n	${1}\n##\n## Basic Java packages and import\nsnippet im\n	import\nsnippet j.b\n	java.beans.\nsnippet j.i\n	java.io.\nsnippet j.m\n	java.math.\nsnippet j.n\n	java.net.\nsnippet j.u\n	java.util.\n##\n## Class\nsnippet cl\n	class ${1:`Filename("", "untitled")`} ${2}\nsnippet in\n	interface ${1:`Filename("", "untitled")`} ${2:extends Parent}${3}\nsnippet tc\n	public class ${1:`Filename()`} extends ${2:TestCase}\n##\n## Class Enhancements\nsnippet ext\n	extends \nsnippet imp\n	implements\n##\n## Comments\nsnippet /*\n	/*\n	 * ${1}\n	 */\n##\n## Constants\nsnippet co\n	static public final ${1:String} ${2:var} = ${3};${4}\nsnippet cos\n	static public final String ${1:var} = "${2}";${3}\n##\n## Control Statements\nsnippet case\n	case ${1}:\n		${2}\nsnippet def\n	default:\n		${2}\nsnippet el\n	else\nsnippet elif\n	else if (${1}) ${2}\nsnippet if\n	if (${1}) ${2}\nsnippet sw\n	switch (${1}) {\n		${2}\n	}\n##\n## Create a Method\nsnippet m\n	${1:void} ${2:method}(${3}) ${4:throws }${5}\n##\n## Create a Variable\nsnippet v\n	${1:String} ${2:var}${3: = null}${4};${5}\n##\n## Enhancements to Methods, variables, classes, etc.\nsnippet ab\n	abstract\nsnippet fi\n	final\nsnippet st\n	static\nsnippet sy\n	synchronized\n##\n## Error Methods\nsnippet err\n	System.err.print("${1:Message}");\nsnippet errf\n	System.err.printf("${1:Message}", ${2:exception});\nsnippet errln\n	System.err.println("${1:Message}");\n##\n## Exception Handling\nsnippet as\n	assert ${1:test} : "${2:Failure message}";${3}\nsnippet ca\n	catch(${1:Exception} ${2:e}) ${3}\nsnippet thr\n	throw\nsnippet ths\n	throws\nsnippet try\n	try {\n		${3}\n	} catch(${1:Exception} ${2:e}) {\n	}\nsnippet tryf\n	try {\n		${3}\n	} catch(${1:Exception} ${2:e}) {\n	} finally {\n	}\n##\n## Find Methods\nsnippet findall\n	List<${1:listName}> ${2:items} = ${1}.findAll();${3}\nsnippet findbyid\n	${1:var} ${2:item} = ${1}.findById(${3});${4}\n##\n## Javadocs\nsnippet /**\n	/**\n	 * ${1}\n	 */\nsnippet @au\n	@author `system("grep \\`id -un\\` /etc/passwd | cut -d \\":\\" -f5 | cut -d \\",\\" -f1")`\nsnippet @br\n	@brief ${1:Description}\nsnippet @fi\n	@file ${1:`Filename()`}.java\nsnippet @pa\n	@param ${1:param}\nsnippet @re\n	@return ${1:param}\n##\n## Logger Methods\nsnippet debug\n	Logger.debug(${1:param});${2}\nsnippet error\n	Logger.error(${1:param});${2}\nsnippet info\n	Logger.info(${1:param});${2}\nsnippet warn\n	Logger.warn(${1:param});${2}\n##\n## Loops\nsnippet enfor\n	for (${1} : ${2}) ${3}\nsnippet for\n	for (${1}; ${2}; ${3}) ${4}\nsnippet wh\n	while (${1}) ${2}\n##\n## Main method\nsnippet main\n	public static void main (String[] args) {\n		${1:/* code */}\n	}\n##\n## Print Methods\nsnippet print\n	System.out.print("${1:Message}");\nsnippet printf\n	System.out.printf("${1:Message}", ${2:args});\nsnippet println\n	System.out.println(${1});\n##\n## Render Methods\nsnippet ren\n	render(${1:param});${2}\nsnippet rena\n	renderArgs.put("${1}", ${2});${3}\nsnippet renb\n	renderBinary(${1:param});${2}\nsnippet renj\n	renderJSON(${1:param});${2}\nsnippet renx\n	renderXml(${1:param});${2}\n##\n## Setter and Getter Methods\nsnippet set\n	${1:public} void set${3:}(${2:String} ${4:}){\n		this.$4 = $4;\n	}\nsnippet get\n	${1:public} ${2:String} get${3:}(){\n		return this.${4:};\n	}\n##\n## Terminate Methods or Loops\nsnippet re\n	return\nsnippet br\n	break;\n##\n## Test Methods\nsnippet t\n	public void test${1:Name}() throws Exception {\n		${2}\n	}\nsnippet test\n	@Test\n	public void test${1:Name}() throws Exception {\n		${2}\n	}\n##\n## Utils\nsnippet Sc\n	Scanner\n##\n## Miscellaneous\nsnippet action\n	public static void ${1:index}(${2:args}) { ${3} }\nsnippet rnf\n	notFound(${1:param});${2}\nsnippet rnfin\n	notFoundIfNull(${1:param});${2}\nsnippet rr\n	redirect(${1:param});${2}\nsnippet ru\n	unauthorized(${1:param});${2}\nsnippet unless\n	(unless=${1:param});${2}\n',t.scope="edifact"});                (function() {
-                    ace.require(["ace/snippets/edifact"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/elm.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/elm",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="elm"});                (function() {
-                    ace.require(["ace/snippets/elm"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/gobstones.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/gobstones",["require","exports","module"],function(n,t,e){"use strict";t.snippetText="# Procedure\nsnippet proc\n\tprocedure ${1?:name}(${2:argument}) {\n\t\t${3:// body...}\n\t}\n\n# Function\nsnippet fun\n\tfunction ${1?:name}(${2:argument}) {\n\t\treturn ${3:// body...}\n\t}\n\n# Repeat\nsnippet rep\n\trepeat ${1?:times} {\n\t\t${2:// body...}\n\t}\n\n# For\nsnippet for\n\tforeach ${1?:e} in ${2?:list} {\n\t\t${3:// body...}\t\n\t}\n\n# If\nsnippet if\n\tif (${1?:condition}) {\n\t\t${3:// body...}\t\n\t}\n\n# While\n  while (${1?:condition}) {\n    ${2:// body...}\t\n  }\n",t.scope="gobstones"}),ace.require(["ace/snippets/gobstones"],function(n){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=n)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/groovy.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/groovy",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="groovy"});                (function() {
-                    ace.require(["ace/snippets/groovy"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/haml.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/haml",["require","exports","module"],function(t,e,n){"use strict";e.snippetText="snippet t\n\t%table\n\t\t%tr\n\t\t\t%th\n\t\t\t\t${1:headers}\n\t\t%tr\n\t\t\t%td\n\t\t\t\t${2:headers}\nsnippet ul\n\t%ul\n\t\t%li\n\t\t\t${1:item}\n\t\t%li\nsnippet =rp\n\t= render :partial => '${1:partial}'\nsnippet =rpl\n\t= render :partial => '${1:partial}', :locals => {}\nsnippet =rpc\n\t= render :partial => '${1:partial}', :collection => @$1\n\n",e.scope="haml"}),ace.require(["ace/snippets/haml"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/handlebars.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/handlebars",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="handlebars"}),ace.require(["ace/snippets/handlebars"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/haskell_cabal.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/haskell_cabal",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="haskell_cabal"});                (function() {
-                    ace.require(["ace/snippets/haskell_cabal"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/haxe.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/haxe",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="haxe"}),ace.require(["ace/snippets/haxe"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/html_ruby.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/html_ruby",["require","exports","module"],function(e,t,o){"use strict";t.snippetText=void 0,t.scope="html_ruby"}),ace.require(["ace/snippets/html_ruby"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/jade.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/jade",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="jade"}),ace.require(["ace/snippets/jade"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/json.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/json",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="json"}),ace.require(["ace/snippets/json"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/livescript.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/livescript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="livescript"});                (function() {
-                    ace.require(["ace/snippets/livescript"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/logtalk.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/logtalk",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="logtalk"});                (function() {
-                    ace.require(["ace/snippets/logtalk"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/lucene.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/lucene",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="lucene"});                (function() {
-                    ace.require(["ace/snippets/lucene"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/makefile.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/makefile",["require","exports","module"],function(e,t,o){"use strict";t.snippetText="snippet ifeq\n\tifeq (${1:cond0},${2:cond1})\n\t\t${3:code}\n\tendif\n",t.scope="makefile"}),ace.require(["ace/snippets/makefile"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/mask.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/mask",["require","exports","module"],function(e,o,t){"use strict";o.snippetText=void 0,o.scope="mask"}),ace.require(["ace/snippets/mask"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/mushcode.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/mushcode",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mushcode"});                (function() {
-                    ace.require(["ace/snippets/mushcode"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/mysql.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/mysql",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="mysql"});                (function() {
-                    ace.require(["ace/snippets/mysql"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/objectivec.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/objectivec",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="objectivec"});                (function() {
-                    ace.require(["ace/snippets/objectivec"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/ocaml.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/ocaml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="ocaml"});                (function() {
-                    ace.require(["ace/snippets/ocaml"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/puppet.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/puppet",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="puppet"});                (function() {
-                    ace.require(["ace/snippets/puppet"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/python.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/python",["require","exports","module"],function(t,n,e){"use strict";n.snippetText='snippet #!\n\t#!/usr/bin/env python\nsnippet imp\n\timport ${1:module}\nsnippet from\n\tfrom ${1:package} import ${2:module}\n# Module Docstring\nsnippet docs\n\t\'\'\'\n\tFile: ${1:FILENAME:file_name}\n\tAuthor: ${2:author}\n\tDescription: ${3}\n\t\'\'\'\nsnippet wh\n\twhile ${1:condition}:\n\t\t${2:# TODO: write code...}\n# dowh - does the same as do...while in other languages\nsnippet dowh\n\twhile True:\n\t\t${1:# TODO: write code...}\n\t\tif ${2:condition}:\n\t\t\tbreak\nsnippet with\n\twith ${1:expr} as ${2:var}:\n\t\t${3:# TODO: write code...}\n# New Class\nsnippet cl\n\tclass ${1:ClassName}(${2:object}):\n\t\t"""${3:docstring for $1}"""\n\t\tdef __init__(self, ${4:arg}):\n\t\t\t${5:super($1, self).__init__()}\n\t\t\tself.$4 = $4\n\t\t\t${6}\n# New Function\nsnippet def\n\tdef ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n\t\t"""${3:docstring for $1}"""\n\t\t${4:# TODO: write code...}\nsnippet deff\n\tdef ${1:fname}(${2:`indent(\'.\') ? \'self\' : \'\'`}):\n\t\t${3:# TODO: write code...}\n# New Method\nsnippet defs\n\tdef ${1:mname}(self, ${2:arg}):\n\t\t${3:# TODO: write code...}\n# New Property\nsnippet property\n\tdef ${1:foo}():\n\t\tdoc = "${2:The $1 property.}"\n\t\tdef fget(self):\n\t\t\t${3:return self._$1}\n\t\tdef fset(self, value):\n\t\t\t${4:self._$1 = value}\n# Ifs\nsnippet if\n\tif ${1:condition}:\n\t\t${2:# TODO: write code...}\nsnippet el\n\telse:\n\t\t${1:# TODO: write code...}\nsnippet ei\n\telif ${1:condition}:\n\t\t${2:# TODO: write code...}\n# For\nsnippet for\n\tfor ${1:item} in ${2:items}:\n\t\t${3:# TODO: write code...}\n# Encodes\nsnippet cutf8\n\t# -*- coding: utf-8 -*-\nsnippet clatin1\n\t# -*- coding: latin-1 -*-\nsnippet cascii\n\t# -*- coding: ascii -*-\n# Lambda\nsnippet ld\n\t${1:var} = lambda ${2:vars} : ${3:action}\nsnippet .\n\tself.\nsnippet try Try/Except\n\ttry:\n\t\t${1:# TODO: write code...}\n\texcept ${2:Exception}, ${3:e}:\n\t\t${4:raise $3}\nsnippet try Try/Except/Else\n\ttry:\n\t\t${1:# TODO: write code...}\n\texcept ${2:Exception}, ${3:e}:\n\t\t${4:raise $3}\n\telse:\n\t\t${5:# TODO: write code...}\nsnippet try Try/Except/Finally\n\ttry:\n\t\t${1:# TODO: write code...}\n\texcept ${2:Exception}, ${3:e}:\n\t\t${4:raise $3}\n\tfinally:\n\t\t${5:# TODO: write code...}\nsnippet try Try/Except/Else/Finally\n\ttry:\n\t\t${1:# TODO: write code...}\n\texcept ${2:Exception}, ${3:e}:\n\t\t${4:raise $3}\n\telse:\n\t\t${5:# TODO: write code...}\n\tfinally:\n\t\t${6:# TODO: write code...}\n# if __name__ == \'__main__\':\nsnippet ifmain\n\tif __name__ == \'__main__\':\n\t\t${1:main()}\n# __magic__\nsnippet _\n\t__${1:init}__${2}\n# python debugger (pdb)\nsnippet pdb\n\timport pdb; pdb.set_trace()\n# ipython debugger (ipdb)\nsnippet ipdb\n\timport ipdb; ipdb.set_trace()\n# ipython debugger (pdbbb)\nsnippet pdbbb\n\timport pdbpp; pdbpp.set_trace()\nsnippet pprint\n\timport pprint; pprint.pprint(${1})${2}\nsnippet "\n\t"""\n\t${1:doc}\n\t"""\n# test function/method\nsnippet test\n\tdef test_${1:description}(${2:self}):\n\t\t${3:# TODO: write code...}\n# test case\nsnippet testcase\n\tclass ${1:ExampleCase}(unittest.TestCase):\n\t\t\n\t\tdef test_${2:description}(self):\n\t\t\t${3:# TODO: write code...}\nsnippet fut\n\tfrom __future__ import ${1}\n#getopt\nsnippet getopt\n\ttry:\n\t\t# Short option syntax: "hv:"\n\t\t# Long option syntax: "help" or "verbose="\n\t\topts, args = getopt.getopt(sys.argv[1:], "${1:short_options}", [${2:long_options}])\n\t\n\texcept getopt.GetoptError, err:\n\t\t# Print debug info\n\t\tprint str(err)\n\t\t${3:error_action}\n\n\tfor option, argument in opts:\n\t\tif option in ("-h", "--help"):\n\t\t\t${4}\n\t\telif option in ("-v", "--verbose"):\n\t\t\tverbose = argument\n',n.scope="python"}),ace.require(["ace/snippets/python"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/rhtml.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/rhtml",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="rhtml"});                (function() {
-                    ace.require(["ace/snippets/rhtml"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/snippets/sjs.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/sjs",["require","exports","module"],function(e,s,o){"use strict";s.snippetText=void 0,s.scope="sjs"}),ace.require(["ace/snippets/sjs"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/sqlserver.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/snippets/sqlserver",["require","exports","module"],function(t,e,n){"use strict";e.snippetText="# ISNULL\nsnippet isnull\n\tISNULL(${1:check_expression}, ${2:replacement_value})\n# FORMAT\nsnippet format\n\tFORMAT(${1:value}, ${2:format})\n# CAST\nsnippet cast\n\tCAST(${1:expression} AS ${2:data_type})\n# CONVERT\nsnippet convert\n\tCONVERT(${1:data_type}, ${2:expression})\n# DATEPART\nsnippet datepart\n\tDATEPART(${1:datepart}, ${2:date})\n# DATEDIFF\nsnippet datediff\n\tDATEDIFF(${1:datepart}, ${2:startdate}, ${3:enddate})\n# DATEADD\nsnippet dateadd\n\tDATEADD(${1:datepart}, ${2:number}, ${3:date})\n# DATEFROMPARTS \nsnippet datefromparts\n\tDATEFROMPARTS(${1:year}, ${2:month}, ${3:day})\n# OBJECT_DEFINITION\nsnippet objectdef\n\tSELECT OBJECT_DEFINITION(OBJECT_ID('${1:sys.server_permissions /*object name*/}'))\n# STUFF XML\nsnippet stuffxml\n\tSTUFF((SELECT ', ' + ${1:ColumnName}\n\t\tFROM ${2:TableName}\n\t\tWHERE ${3:WhereClause}\n\t\tFOR XML PATH('')), 1, 1, '') AS ${4:Alias}\n\t${5:/*https://msdn.microsoft.com/en-us/library/ms188043.aspx*/}\n# Create Procedure\nsnippet createproc\n\t-- =============================================\n\t-- Author:\t\t${1:Author}\n\t-- Create date: ${2:Date}\n\t-- Description:\t${3:Description}\n\t-- =============================================\n\tCREATE PROCEDURE ${4:Procedure_Name}\n\t\t${5:/*Add the parameters for the stored procedure here*/}\n\tAS\n\tBEGIN\n\t\t-- SET NOCOUNT ON added to prevent extra result sets from interfering with SELECT statements.\n\t\tSET NOCOUNT ON;\n\t\t\n\t\t${6:/*Add the T-SQL statements to compute the return value here*/}\n\t\t\n\tEND\n\tGO\n# Create Scalar Function\nsnippet createfn\n\t-- =============================================\n\t-- Author:\t\t${1:Author}\n\t-- Create date: ${2:Date}\n\t-- Description:\t${3:Description}\n\t-- =============================================\n\tCREATE FUNCTION ${4:Scalar_Function_Name}\n\t\t-- Add the parameters for the function here\n\tRETURNS ${5:Function_Data_Type}\n\tAS\n\tBEGIN\n\t\tDECLARE @Result ${5:Function_Data_Type}\n\t\t\n\t\t${6:/*Add the T-SQL statements to compute the return value here*/}\n\t\t\n\tEND\n\tGO",e.scope="sqlserver"}),ace.require(["ace/snippets/sqlserver"],function(t){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=t)});
--- a/src/pyams_skin/resources/js/ext/ace/snippets/typescript.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/snippets/typescript",["require","exports","module"],function(e,t,n){"use strict";t.snippetText=undefined,t.scope="typescript"});                (function() {
-                    ace.require(["ace/snippets/typescript"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/theme-crimson_editor.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/crimson_editor",["require","exports","module","ace/lib/dom"],function(e,r,c){r.isDark=!1,r.cssText='.ace-crimson-editor .ace_gutter {background: #ebebeb;color: #333;overflow : hidden;}.ace-crimson-editor .ace_gutter-layer {width: 100%;text-align: right;}.ace-crimson-editor .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-crimson-editor {background-color: #FFFFFF;color: rgb(64, 64, 64);}.ace-crimson-editor .ace_cursor {color: black;}.ace-crimson-editor .ace_invisible {color: rgb(191, 191, 191);}.ace-crimson-editor .ace_identifier {color: black;}.ace-crimson-editor .ace_keyword {color: blue;}.ace-crimson-editor .ace_constant.ace_buildin {color: rgb(88, 72, 246);}.ace-crimson-editor .ace_constant.ace_language {color: rgb(255, 156, 0);}.ace-crimson-editor .ace_constant.ace_library {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_invalid {text-decoration: line-through;color: rgb(224, 0, 0);}.ace-crimson-editor .ace_fold {}.ace-crimson-editor .ace_support.ace_function {color: rgb(192, 0, 0);}.ace-crimson-editor .ace_support.ace_constant {color: rgb(6, 150, 14);}.ace-crimson-editor .ace_support.ace_type,.ace-crimson-editor .ace_support.ace_class {color: rgb(109, 121, 222);}.ace-crimson-editor .ace_keyword.ace_operator {color: rgb(49, 132, 149);}.ace-crimson-editor .ace_string {color: rgb(128, 0, 128);}.ace-crimson-editor .ace_comment {color: rgb(76, 136, 107);}.ace-crimson-editor .ace_comment.ace_doc {color: rgb(0, 102, 255);}.ace-crimson-editor .ace_comment.ace_doc.ace_tag {color: rgb(128, 159, 191);}.ace-crimson-editor .ace_constant.ace_numeric {color: rgb(0, 0, 64);}.ace-crimson-editor .ace_variable {color: rgb(0, 64, 128);}.ace-crimson-editor .ace_xml-pe {color: rgb(104, 104, 91);}.ace-crimson-editor .ace_marker-layer .ace_selection {background: rgb(181, 213, 255);}.ace-crimson-editor .ace_marker-layer .ace_step {background: rgb(252, 255, 0);}.ace-crimson-editor .ace_marker-layer .ace_stack {background: rgb(164, 229, 101);}.ace-crimson-editor .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgb(192, 192, 192);}.ace-crimson-editor .ace_marker-layer .ace_active-line {background: rgb(232, 242, 254);}.ace-crimson-editor .ace_gutter-active-line {background-color : #dcdcdc;}.ace-crimson-editor .ace_meta.ace_tag {color:rgb(28, 2, 255);}.ace-crimson-editor .ace_marker-layer .ace_selected-word {background: rgb(250, 250, 255);border: 1px solid rgb(200, 200, 250);}.ace-crimson-editor .ace_string.ace_regex {color: rgb(192, 0, 192);}.ace-crimson-editor .ace_indent-guide {background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;}',r.cssClass="ace-crimson-editor",e("../lib/dom").importCssString(r.cssText,r.cssClass)}),ace.require(["ace/theme/crimson_editor"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/theme-kuroir.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/kuroir",["require","exports","module","ace/lib/dom"],function(r,e,c){e.isDark=!1,e.cssClass="ace-kuroir",e.cssText=".ace-kuroir .ace_gutter {background: #e8e8e8;color: #333;}.ace-kuroir .ace_print-margin {width: 1px;background: #e8e8e8;}.ace-kuroir {background-color: #E8E9E8;color: #363636;}.ace-kuroir .ace_cursor {color: #202020;}.ace-kuroir .ace_marker-layer .ace_selection {background: rgba(245, 170, 0, 0.57);}.ace-kuroir.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #E8E9E8;}.ace-kuroir .ace_marker-layer .ace_step {background: rgb(198, 219, 174);}.ace-kuroir .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(0, 0, 0, 0.29);}.ace-kuroir .ace_marker-layer .ace_active-line {background: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_gutter-active-line {background-color: rgba(203, 220, 47, 0.22);}.ace-kuroir .ace_marker-layer .ace_selected-word {border: 1px solid rgba(245, 170, 0, 0.57);}.ace-kuroir .ace_invisible {color: #BFBFBF}.ace-kuroir .ace_fold {border-color: #363636;}.ace-kuroir .ace_constant{color:#CD6839;}.ace-kuroir .ace_constant.ace_numeric{color:#9A5925;}.ace-kuroir .ace_support{color:#104E8B;}.ace-kuroir .ace_support.ace_function{color:#005273;}.ace-kuroir .ace_support.ace_constant{color:#CF6A4C;}.ace-kuroir .ace_storage{color:#A52A2A;}.ace-kuroir .ace_invalid.ace_illegal{color:#FD1224;background-color:rgba(255, 6, 0, 0.15);}.ace-kuroir .ace_invalid.ace_deprecated{text-decoration:underline;font-style:italic;color:#FD1732;background-color:#E8E9E8;}.ace-kuroir .ace_string{color:#639300;}.ace-kuroir .ace_string.ace_regexp{color:#417E00;background-color:#C9D4BE;}.ace-kuroir .ace_comment{color:rgba(148, 148, 148, 0.91);background-color:rgba(220, 220, 220, 0.56);}.ace-kuroir .ace_variable{color:#009ACD;}.ace-kuroir .ace_meta.ace_tag{color:#005273;}.ace-kuroir .ace_markup.ace_heading{color:#B8012D;background-color:rgba(191, 97, 51, 0.051);}.ace-kuroir .ace_markup.ace_list{color:#8F5B26;}",r("../lib/dom").importCssString(e.cssText,e.cssClass)}),ace.require(["ace/theme/kuroir"],function(r){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=r)});
--- a/src/pyams_skin/resources/js/ext/ace/theme-merbivore_soft.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-ace.define("ace/theme/merbivore_soft",["require","exports","module","ace/lib/dom"],function(e,t,n){t.isDark=!0,t.cssClass="ace-merbivore-soft",t.cssText=".ace-merbivore-soft .ace_gutter {background: #262424;color: #E6E1DC}.ace-merbivore-soft .ace_print-margin {width: 1px;background: #262424}.ace-merbivore-soft {background-color: #1C1C1C;color: #E6E1DC}.ace-merbivore-soft .ace_cursor {color: #FFFFFF}.ace-merbivore-soft .ace_marker-layer .ace_selection {background: #494949}.ace-merbivore-soft.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #1C1C1C;}.ace-merbivore-soft .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-merbivore-soft .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #404040}.ace-merbivore-soft .ace_marker-layer .ace_active-line {background: #333435}.ace-merbivore-soft .ace_gutter-active-line {background-color: #333435}.ace-merbivore-soft .ace_marker-layer .ace_selected-word {border: 1px solid #494949}.ace-merbivore-soft .ace_invisible {color: #404040}.ace-merbivore-soft .ace_entity.ace_name.ace_tag,.ace-merbivore-soft .ace_keyword,.ace-merbivore-soft .ace_meta,.ace-merbivore-soft .ace_meta.ace_tag,.ace-merbivore-soft .ace_storage {color: #FC803A}.ace-merbivore-soft .ace_constant,.ace-merbivore-soft .ace_constant.ace_character,.ace-merbivore-soft .ace_constant.ace_character.ace_escape,.ace-merbivore-soft .ace_constant.ace_other,.ace-merbivore-soft .ace_support.ace_type {color: #68C1D8}.ace-merbivore-soft .ace_constant.ace_character.ace_escape {color: #B3E5B4}.ace-merbivore-soft .ace_constant.ace_language {color: #E1C582}.ace-merbivore-soft .ace_constant.ace_library,.ace-merbivore-soft .ace_string,.ace-merbivore-soft .ace_support.ace_constant {color: #8EC65F}.ace-merbivore-soft .ace_constant.ace_numeric {color: #7FC578}.ace-merbivore-soft .ace_invalid,.ace-merbivore-soft .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #FE3838}.ace-merbivore-soft .ace_fold {background-color: #FC803A;border-color: #E6E1DC}.ace-merbivore-soft .ace_comment,.ace-merbivore-soft .ace_meta {font-style: italic;color: #AC4BB8}.ace-merbivore-soft .ace_entity.ace_other.ace_attribute-name {color: #EAF1A3}.ace-merbivore-soft .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWOQkpLyZfD09PwPAAfYAnaStpHRAAAAAElFTkSuQmCC) right repeat-y}";var r=e("../lib/dom");r.importCssString(t.cssText,t.cssClass)});                (function() {
-                    ace.require(["ace/theme/merbivore_soft"], function(m) {
-                        if (typeof module == "object" && typeof exports == "object" && module) {
-                            module.exports = m;
-                        }
-                    });
-                })();
-            
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/theme-pastel_on_dark.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/pastel_on_dark",["require","exports","module","ace/lib/dom"],function(a,e,c){e.isDark=!0,e.cssClass="ace-pastel-on-dark",e.cssText=".ace-pastel-on-dark .ace_gutter {background: #353030;color: #8F938F}.ace-pastel-on-dark .ace_print-margin {width: 1px;background: #353030}.ace-pastel-on-dark {background-color: #2C2828;color: #8F938F}.ace-pastel-on-dark .ace_cursor {color: #A7A7A7}.ace-pastel-on-dark .ace_marker-layer .ace_selection {background: rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2C2828;}.ace-pastel-on-dark .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-pastel-on-dark .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_marker-layer .ace_active-line {background: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_gutter-active-line {background-color: rgba(255, 255, 255, 0.031)}.ace-pastel-on-dark .ace_marker-layer .ace_selected-word {border: 1px solid rgba(221, 240, 255, 0.20)}.ace-pastel-on-dark .ace_invisible {color: rgba(255, 255, 255, 0.25)}.ace-pastel-on-dark .ace_keyword,.ace-pastel-on-dark .ace_meta {color: #757aD8}.ace-pastel-on-dark .ace_constant,.ace-pastel-on-dark .ace_constant.ace_character,.ace-pastel-on-dark .ace_constant.ace_character.ace_escape,.ace-pastel-on-dark .ace_constant.ace_other {color: #4FB7C5}.ace-pastel-on-dark .ace_keyword.ace_operator {color: #797878}.ace-pastel-on-dark .ace_constant.ace_character {color: #AFA472}.ace-pastel-on-dark .ace_constant.ace_language {color: #DE8E30}.ace-pastel-on-dark .ace_constant.ace_numeric {color: #CCCCCC}.ace-pastel-on-dark .ace_invalid,.ace-pastel-on-dark .ace_invalid.ace_illegal {color: #F8F8F8;background-color: rgba(86, 45, 86, 0.75)}.ace-pastel-on-dark .ace_invalid.ace_deprecated {text-decoration: underline;font-style: italic;color: #D2A8A1}.ace-pastel-on-dark .ace_fold {background-color: #757aD8;border-color: #8F938F}.ace-pastel-on-dark .ace_support.ace_function {color: #AEB2F8}.ace-pastel-on-dark .ace_string {color: #66A968}.ace-pastel-on-dark .ace_string.ace_regexp {color: #E9C062}.ace-pastel-on-dark .ace_comment {color: #A6C6FF}.ace-pastel-on-dark .ace_variable {color: #BEBF55}.ace-pastel-on-dark .ace_variable.ace_language {color: #C1C144}.ace-pastel-on-dark .ace_xml-pe {color: #494949}.ace-pastel-on-dark .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYIiPj/8PAARgAh2NTMh8AAAAAElFTkSuQmCC) right repeat-y}",a("../lib/dom").importCssString(e.cssText,e.cssClass)}),ace.require(["ace/theme/pastel_on_dark"],function(a){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=a)});
--- a/src/pyams_skin/resources/js/ext/ace/theme-terminal.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/terminal",["require","exports","module","ace/lib/dom"],function(e,a,c){a.isDark=!0,a.cssClass="ace-terminal-theme",a.cssText=".ace-terminal-theme .ace_gutter {background: #1a0005;color: steelblue}.ace-terminal-theme .ace_print-margin {width: 1px;background: #1a1a1a}.ace-terminal-theme {background-color: black;color: #DEDEDE}.ace-terminal-theme .ace_cursor {color: #9F9F9F}.ace-terminal-theme .ace_marker-layer .ace_selection {background: #424242}.ace-terminal-theme.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px black;}.ace-terminal-theme .ace_marker-layer .ace_step {background: rgb(0, 0, 0)}.ace-terminal-theme .ace_marker-layer .ace_bracket {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-start {background: #090;}.ace-terminal-theme .ace_marker-layer .ace_bracket-unmatched {margin: -1px 0 0 -1px;border: 1px solid #900}.ace-terminal-theme .ace_marker-layer .ace_active-line {background: #2A2A2A}.ace-terminal-theme .ace_gutter-active-line {background-color: #2A112A}.ace-terminal-theme .ace_marker-layer .ace_selected-word {border: 1px solid #424242}.ace-terminal-theme .ace_invisible {color: #343434}.ace-terminal-theme .ace_keyword,.ace-terminal-theme .ace_meta,.ace-terminal-theme .ace_storage,.ace-terminal-theme .ace_storage.ace_type,.ace-terminal-theme .ace_support.ace_type {color: tomato}.ace-terminal-theme .ace_keyword.ace_operator {color: deeppink}.ace-terminal-theme .ace_constant.ace_character,.ace-terminal-theme .ace_constant.ace_language,.ace-terminal-theme .ace_constant.ace_numeric,.ace-terminal-theme .ace_keyword.ace_other.ace_unit,.ace-terminal-theme .ace_support.ace_constant,.ace-terminal-theme .ace_variable.ace_parameter {color: #E78C45}.ace-terminal-theme .ace_constant.ace_other {color: gold}.ace-terminal-theme .ace_invalid {color: yellow;background-color: red}.ace-terminal-theme .ace_invalid.ace_deprecated {color: #CED2CF;background-color: #B798BF}.ace-terminal-theme .ace_fold {background-color: #7AA6DA;border-color: #DEDEDE}.ace-terminal-theme .ace_entity.ace_name.ace_function,.ace-terminal-theme .ace_support.ace_function,.ace-terminal-theme .ace_variable {color: #7AA6DA}.ace-terminal-theme .ace_support.ace_class,.ace-terminal-theme .ace_support.ace_type {color: #E7C547}.ace-terminal-theme .ace_heading,.ace-terminal-theme .ace_string {color: #B9CA4A}.ace-terminal-theme .ace_entity.ace_name.ace_tag,.ace-terminal-theme .ace_entity.ace_other.ace_attribute-name,.ace-terminal-theme .ace_meta.ace_tag,.ace-terminal-theme .ace_string.ace_regexp,.ace-terminal-theme .ace_variable {color: #D54E53}.ace-terminal-theme .ace_comment {color: orangered}.ace-terminal-theme .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLBWV/8PAAK4AYnhiq+xAAAAAElFTkSuQmCC) right repeat-y;}",e("../lib/dom").importCssString(a.cssText,a.cssClass)}),ace.require(["ace/theme/terminal"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/theme-tomorrow.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/tomorrow",["require","exports","module","ace/lib/dom"],function(o,e,r){e.isDark=!1,e.cssClass="ace-tomorrow",e.cssText=".ace-tomorrow .ace_gutter {background: #f6f6f6;color: #4D4D4C}.ace-tomorrow .ace_print-margin {width: 1px;background: #f6f6f6}.ace-tomorrow {background-color: #FFFFFF;color: #4D4D4C}.ace-tomorrow .ace_cursor {color: #AEAFAD}.ace-tomorrow .ace_marker-layer .ace_selection {background: #D6D6D6}.ace-tomorrow.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #FFFFFF;}.ace-tomorrow .ace_marker-layer .ace_step {background: rgb(255, 255, 0)}.ace-tomorrow .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #D1D1D1}.ace-tomorrow .ace_marker-layer .ace_active-line {background: #EFEFEF}.ace-tomorrow .ace_gutter-active-line {background-color : #dcdcdc}.ace-tomorrow .ace_marker-layer .ace_selected-word {border: 1px solid #D6D6D6}.ace-tomorrow .ace_invisible {color: #D1D1D1}.ace-tomorrow .ace_keyword,.ace-tomorrow .ace_meta,.ace-tomorrow .ace_storage,.ace-tomorrow .ace_storage.ace_type,.ace-tomorrow .ace_support.ace_type {color: #8959A8}.ace-tomorrow .ace_keyword.ace_operator {color: #3E999F}.ace-tomorrow .ace_constant.ace_character,.ace-tomorrow .ace_constant.ace_language,.ace-tomorrow .ace_constant.ace_numeric,.ace-tomorrow .ace_keyword.ace_other.ace_unit,.ace-tomorrow .ace_support.ace_constant,.ace-tomorrow .ace_variable.ace_parameter {color: #F5871F}.ace-tomorrow .ace_constant.ace_other {color: #666969}.ace-tomorrow .ace_invalid {color: #FFFFFF;background-color: #C82829}.ace-tomorrow .ace_invalid.ace_deprecated {color: #FFFFFF;background-color: #8959A8}.ace-tomorrow .ace_fold {background-color: #4271AE;border-color: #4D4D4C}.ace-tomorrow .ace_entity.ace_name.ace_function,.ace-tomorrow .ace_support.ace_function,.ace-tomorrow .ace_variable {color: #4271AE}.ace-tomorrow .ace_support.ace_class,.ace-tomorrow .ace_support.ace_type {color: #C99E00}.ace-tomorrow .ace_heading,.ace-tomorrow .ace_markup.ace_heading,.ace-tomorrow .ace_string {color: #718C00}.ace-tomorrow .ace_entity.ace_name.ace_tag,.ace-tomorrow .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow .ace_meta.ace_tag,.ace-tomorrow .ace_string.ace_regexp,.ace-tomorrow .ace_variable {color: #C82829}.ace-tomorrow .ace_comment {color: #8E908C}.ace-tomorrow .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bdu3f/BwAlfgctduB85QAAAABJRU5ErkJggg==) right repeat-y}",o("../lib/dom").importCssString(e.cssText,e.cssClass)}),ace.require(["ace/theme/tomorrow"],function(o){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=o)});
--- a/src/pyams_skin/resources/js/ext/ace/theme-tomorrow_night_eighties.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-ace.define("ace/theme/tomorrow_night_eighties",["require","exports","module","ace/lib/dom"],function(e,o,t){o.isDark=!0,o.cssClass="ace-tomorrow-night-eighties",o.cssText=".ace-tomorrow-night-eighties .ace_gutter {background: #272727;color: #CCC}.ace-tomorrow-night-eighties .ace_print-margin {width: 1px;background: #272727}.ace-tomorrow-night-eighties {background-color: #2D2D2D;color: #CCCCCC}.ace-tomorrow-night-eighties .ace_constant.ace_other,.ace-tomorrow-night-eighties .ace_cursor {color: #CCCCCC}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selection {background: #515151}.ace-tomorrow-night-eighties.ace_multiselect .ace_selection.ace_start {box-shadow: 0 0 3px 0px #2D2D2D;}.ace-tomorrow-night-eighties .ace_marker-layer .ace_step {background: rgb(102, 82, 0)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_bracket {margin: -1px 0 0 -1px;border: 1px solid #6A6A6A}.ace-tomorrow-night-bright .ace_stack {background: rgb(66, 90, 44)}.ace-tomorrow-night-eighties .ace_marker-layer .ace_active-line {background: #393939}.ace-tomorrow-night-eighties .ace_gutter-active-line {background-color: #393939}.ace-tomorrow-night-eighties .ace_marker-layer .ace_selected-word {border: 1px solid #515151}.ace-tomorrow-night-eighties .ace_invisible {color: #6A6A6A}.ace-tomorrow-night-eighties .ace_keyword,.ace-tomorrow-night-eighties .ace_meta,.ace-tomorrow-night-eighties .ace_storage,.ace-tomorrow-night-eighties .ace_storage.ace_type,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #CC99CC}.ace-tomorrow-night-eighties .ace_keyword.ace_operator {color: #66CCCC}.ace-tomorrow-night-eighties .ace_constant.ace_character,.ace-tomorrow-night-eighties .ace_constant.ace_language,.ace-tomorrow-night-eighties .ace_constant.ace_numeric,.ace-tomorrow-night-eighties .ace_keyword.ace_other.ace_unit,.ace-tomorrow-night-eighties .ace_support.ace_constant,.ace-tomorrow-night-eighties .ace_variable.ace_parameter {color: #F99157}.ace-tomorrow-night-eighties .ace_invalid {color: #CDCDCD;background-color: #F2777A}.ace-tomorrow-night-eighties .ace_invalid.ace_deprecated {color: #CDCDCD;background-color: #CC99CC}.ace-tomorrow-night-eighties .ace_fold {background-color: #6699CC;border-color: #CCCCCC}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_function,.ace-tomorrow-night-eighties .ace_support.ace_function,.ace-tomorrow-night-eighties .ace_variable {color: #6699CC}.ace-tomorrow-night-eighties .ace_support.ace_class,.ace-tomorrow-night-eighties .ace_support.ace_type {color: #FFCC66}.ace-tomorrow-night-eighties .ace_heading,.ace-tomorrow-night-eighties .ace_markup.ace_heading,.ace-tomorrow-night-eighties .ace_string {color: #99CC99}.ace-tomorrow-night-eighties .ace_comment {color: #999999}.ace-tomorrow-night-eighties .ace_entity.ace_name.ace_tag,.ace-tomorrow-night-eighties .ace_entity.ace_other.ace_attribute-name,.ace-tomorrow-night-eighties .ace_meta.ace_tag,.ace-tomorrow-night-eighties .ace_variable {color: #F2777A}.ace-tomorrow-night-eighties .ace_indent-guide {background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWPQ09NrYAgMjP4PAAtGAwchHMyAAAAAAElFTkSuQmCC) right repeat-y}",e("../lib/dom").importCssString(o.cssText,o.cssClass)}),ace.require(["ace/theme/tomorrow_night_eighties"],function(e){"object"==typeof module&&"object"==typeof exports&&module&&(module.exports=e)});
--- a/src/pyams_skin/resources/js/ext/ace/worker-coffee.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-"no use strict";!function(e){function t(e,t){var n=e,r="";while(n){var i=t[n];if(typeof i=="string")return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(i===!1)return"";var s=n.lastIndexOf("/");if(s===-1)break;r=n.substr(s)+r,n=n.slice(0,s)}return e}if(typeof e.window!="undefined"&&e.document)return;if(e.require&&e.define)return;e.console||(e.console=function(){var e=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:e})},e.console.error=e.console.warn=e.console.log=e.console.trace=e.console),e.window=e,e.ace=e,e.onerror=function(e,t,n,r,i){postMessage({type:"error",data:{message:e,data:i.data,file:t,line:n,col:r,stack:i.stack}})},e.normalizeModule=function(t,n){if(n.indexOf("!")!==-1){var r=n.split("!");return e.normalizeModule(t,r[0])+"!"+e.normalizeModule(t,r[1])}if(n.charAt(0)=="."){var i=t.split("/").slice(0,-1).join("/");n=(i?i+"/":"")+n;while(n.indexOf(".")!==-1&&s!=n){var s=n;n=n.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return n},e.require=function(r,i){i||(i=r,r=null);if(!i.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");i=e.normalizeModule(r,i);var s=e.require.modules[i];if(s)return s.initialized||(s.initialized=!0,s.exports=s.factory().exports),s.exports;if(!e.require.tlns)return console.log("unable to load "+i);var o=t(i,e.require.tlns);return o.slice(-3)!=".js"&&(o+=".js"),e.require.id=i,e.require.modules[i]={},importScripts(o),e.require(r,i)},e.require.modules={},e.require.tlns={},e.define=function(t,n,r){arguments.length==2?(r=n,typeof t!="string"&&(n=t,t=e.require.id)):arguments.length==1&&(r=t,n=[],t=e.require.id);if(typeof r!="function"){e.require.modules[t]={exports:r,initialized:!0};return}n.length||(n=["require","exports","module"]);var i=function(n){return e.require(t,n)};e.require.modules[t]={exports:{},factory:function(){var e=this,t=r.apply(this,n.slice(0,r.length).map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}},e.define.amd={},require.tlns={},e.initBaseUrls=function(t){for(var n in t)require.tlns[n]=t[n]},e.initSender=function(){var n=e.require("ace/lib/event_emitter").EventEmitter,r=e.require("ace/lib/oop"),i=function(){};return function(){r.implement(this,n),this.callback=function(e,t){postMessage({type:"call",id:t,data:e})},this.emit=function(e,t){postMessage({type:"event",name:e,data:t})}}.call(i.prototype),new i};var n=e.main=null,r=e.sender=null;e.onmessage=function(t){var i=t.data;if(i.event&&r)r._signal(i.event,i.data);else if(i.command)if(n[i.command])n[i.command].apply(n,i.args);else{if(!e[i.command])throw new Error("Unknown command:"+i.command);e[i.command].apply(e,i.args)}else if(i.init){e.initBaseUrls(i.tlns),require("ace/lib/es5-shim"),r=e.sender=e.initSender();var s=require(i.module)[i.classname];n=e.main=new s(r)}}}(this),ace.define("ace/lib/oop",[],function(e,t,n){"use strict";t.inherits=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},t.mixin=function(e,t){for(var n in t)e[n]=t[n];return e},t.implement=function(e,n){t.mixin(e,n)}}),ace.define("ace/range",[],function(e,t,n){"use strict";var r=function(e,t){return e.row-t.row||e.column-t.column},i=function(e,t,n,r){this.start={row:e,column:t},this.end={row:n,column:r}};(function(){this.isEqual=function(e){return this.start.row===e.start.row&&this.end.row===e.end.row&&this.start.column===e.start.column&&this.end.column===e.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(e,t){return this.compare(e,t)==0},this.compareRange=function(e){var t,n=e.end,r=e.start;return t=this.compare(n.row,n.column),t==1?(t=this.compare(r.row,r.column),t==1?2:t==0?1:0):t==-1?-2:(t=this.compare(r.row,r.column),t==-1?-1:t==1?42:0)},this.comparePoint=function(e){return this.compare(e.row,e.column)},this.containsRange=function(e){return this.comparePoint(e.start)==0&&this.comparePoint(e.end)==0},this.intersects=function(e){var t=this.compareRange(e);return t==-1||t==0||t==1},this.isEnd=function(e,t){return this.end.row==e&&this.end.column==t},this.isStart=function(e,t){return this.start.row==e&&this.start.column==t},this.setStart=function(e,t){typeof e=="object"?(this.start.column=e.column,this.start.row=e.row):(this.start.row=e,this.start.column=t)},this.setEnd=function(e,t){typeof e=="object"?(this.end.column=e.column,this.end.row=e.row):(this.end.row=e,this.end.column=t)},this.inside=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)||this.isStart(e,t)?!1:!0:!1},this.insideStart=function(e,t){return this.compare(e,t)==0?this.isEnd(e,t)?!1:!0:!1},this.insideEnd=function(e,t){return this.compare(e,t)==0?this.isStart(e,t)?!1:!0:!1},this.compare=function(e,t){return!this.isMultiLine()&&e===this.start.row?t<this.start.column?-1:t>this.end.column?1:0:e<this.start.row?-1:e>this.end.row?1:this.start.row===e?t>=this.start.column?0:-1:this.end.row===e?t<=this.end.column?0:1:0},this.compareStart=function(e,t){return this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.compareEnd=function(e,t){return this.end.row==e&&this.end.column==t?1:this.compare(e,t)},this.compareInside=function(e,t){return this.end.row==e&&this.end.column==t?1:this.start.row==e&&this.start.column==t?-1:this.compare(e,t)},this.clipRows=function(e,t){if(this.end.row>t)var n={row:t+1,column:0};else if(this.end.row<e)var n={row:e,column:0};if(this.start.row>t)var r={row:t+1,column:0};else if(this.start.row<e)var r={row:e,column:0};return i.fromPoints(r||this.start,n||this.end)},this.extend=function(e,t){var n=this.compare(e,t);if(n==0)return this;if(n==-1)var r={row:e,column:t};else var s={row:e,column:t};return i.fromPoints(r||this.start,s||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return i.fromPoints(this.start,this.end)},this.collapseRows=function(){return this.end.column==0?new i(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new i(this.start.row,0,this.end.row,0)},this.toScreenRange=function(e){var t=e.documentToScreenPosition(this.start),n=e.documentToScreenPosition(this.end);return new i(t.row,t.column,n.row,n.column)},this.moveBy=function(e,t){this.start.row+=e,this.start.column+=t,this.end.row+=e,this.end.column+=t}}).call(i.prototype),i.fromPoints=function(e,t){return new i(e.row,e.column,t.row,t.column)},i.comparePoints=r,i.comparePoints=function(e,t){return e.row-t.row||e.column-t.column},t.Range=i}),ace.define("ace/apply_delta",[],function(e,t,n){"use strict";function r(e,t){throw console.log("Invalid Delta:",e),"Invalid Delta: "+t}function i(e,t){return t.row>=0&&t.row<e.length&&t.column>=0&&t.column<=e[t.row].length}function s(e,t){t.action!="insert"&&t.action!="remove"&&r(t,"delta.action must be 'insert' or 'remove'"),t.lines instanceof Array||r(t,"delta.lines must be an Array"),(!t.start||!t.end)&&r(t,"delta.start/end must be an present");var n=t.start;i(e,t.start)||r(t,"delta.start must be contained in document");var s=t.end;t.action=="remove"&&!i(e,s)&&r(t,"delta.end must contained in document for 'remove' actions");var o=s.row-n.row,u=s.column-(o==0?n.column:0);(o!=t.lines.length-1||t.lines[o].length!=u)&&r(t,"delta.range must match delta lines")}t.applyDelta=function(e,t,n){var r=t.start.row,i=t.start.column,s=e[r]||"";switch(t.action){case"insert":var o=t.lines;if(o.length===1)e[r]=s.substring(0,i)+t.lines[0]+s.substring(i);else{var u=[r,1].concat(t.lines);e.splice.apply(e,u),e[r]=s.substring(0,i)+e[r],e[r+t.lines.length-1]+=s.substring(i)}break;case"remove":var a=t.end.column,f=t.end.row;r===f?e[r]=s.substring(0,i)+s.substring(a):e.splice(r,f-r+1,s.substring(0,i)+e[f].substring(a))}}}),ace.define("ace/lib/event_emitter",[],function(e,t,n){"use strict";var r={},i=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(e,t){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[e]||[],r=this._defaultHandlers[e];if(!n.length&&!r)return;if(typeof t!="object"||!t)t={};t.type||(t.type=e),t.stopPropagation||(t.stopPropagation=i),t.preventDefault||(t.preventDefault=s),n=n.slice();for(var o=0;o<n.length;o++){n[o](t,this);if(t.propagationStopped)break}if(r&&!t.defaultPrevented)return r(t,this)},r._signal=function(e,t){var n=(this._eventRegistry||{})[e];if(!n)return;n=n.slice();for(var r=0;r<n.length;r++)n[r](t,this)},r.once=function(e,t){var n=this;this.addEventListener(e,function r(){n.removeEventListener(e,r),t.apply(null,arguments)});if(!t)return new Promise(function(e){t=e})},r.setDefaultHandler=function(e,t){var n=this._defaultHandlers;n||(n=this._defaultHandlers={_disabled_:{}});if(n[e]){var r=n[e],i=n._disabled_[e];i||(n._disabled_[e]=i=[]),i.push(r);var s=i.indexOf(t);s!=-1&&i.splice(s,1)}n[e]=t},r.removeDefaultHandler=function(e,t){var n=this._defaultHandlers;if(!n)return;var r=n._disabled_[e];if(n[e]==t)r&&this.setDefaultHandler(e,r.pop());else if(r){var i=r.indexOf(t);i!=-1&&r.splice(i,1)}},r.on=r.addEventListener=function(e,t,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[e];return r||(r=this._eventRegistry[e]=[]),r.indexOf(t)==-1&&r[n?"unshift":"push"](t),t},r.off=r.removeListener=r.removeEventListener=function(e,t){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[e];if(!n)return;var r=n.indexOf(t);r!==-1&&n.splice(r,1)},r.removeAllListeners=function(e){this._eventRegistry&&(this._eventRegistry[e]=[])},t.EventEmitter=r}),ace.define("ace/anchor",[],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./lib/event_emitter").EventEmitter,s=t.Anchor=function(e,t,n){this.$onChange=this.onChange.bind(this),this.attach(e),typeof n=="undefined"?this.setPosition(t.row,t.column):this.setPosition(t,n)};(function(){function e(e,t,n){var r=n?e.column<=t.column:e.column<t.column;return e.row<t.row||e.row==t.row&&r}function t(t,n,r){var i=t.action=="insert",s=(i?1:-1)*(t.end.row-t.start.row),o=(i?1:-1)*(t.end.column-t.start.column),u=t.start,a=i?u:t.end;return e(n,u,r)?{row:n.row,column:n.column}:e(a,n,!r)?{row:n.row+s,column:n.column+(n.row==a.row?o:0)}:{row:u.row,column:u.column}}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(e){if(e.start.row==e.end.row&&e.start.row!=this.row)return;if(e.start.row>this.row)return;var n=t(e,{row:this.row,column:this.column},this.$insertRight);this.setPosition(n.row,n.column,!0)},this.setPosition=function(e,t,n){var r;n?r={row:e,column:t}:r=this.$clipPositionToDocument(e,t);if(this.row==r.row&&this.column==r.column)return;var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(e){this.document=e||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(e,t){var n={};return e>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):e<0?(n.row=0,n.column=0):(n.row=e,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,t))),t<0&&(n.column=0),n}}).call(s.prototype)}),ace.define("ace/document",[],function(e,t,n){"use strict";var r=e("./lib/oop"),i=e("./apply_delta").applyDelta,s=e("./lib/event_emitter").EventEmitter,o=e("./range").Range,u=e("./anchor").Anchor,a=function(e){this.$lines=[""],e.length===0?this.$lines=[""]:Array.isArray(e)?this.insertMergedLines({row:0,column:0},e):this.insert({row:0,column:0},e)};(function(){r.implement(this,s),this.setValue=function(e){var t=this.getLength()-1;this.remove(new o(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},e)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(e,t){return new u(this,e,t)},"aaa".split(/a/).length===0?this.$split=function(e){return e.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(e){return e.split(/\r\n|\r|\n/)},this.$detectNewLine=function(e){var t=e.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(e){if(this.$newLineMode===e)return;this.$newLineMode=e,this._signal("changeNewLineMode")},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(e){return e=="\r\n"||e=="\r"||e=="\n"},this.getLine=function(e){return this.$lines[e]||""},this.getLines=function(e,t){return this.$lines.slice(e,t+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(e){return this.getLinesForRange(e).join(this.getNewLineCharacter())},this.getLinesForRange=function(e){var t;if(e.start.row===e.end.row)t=[this.getLine(e.start.row).substring(e.start.column,e.end.column)];else{t=this.getLines(e.start.row,e.end.row),t[0]=(t[0]||"").substring(e.start.column);var n=t.length-1;e.end.row-e.start.row==n&&(t[n]=t[n].substring(0,e.end.column))}return t},this.insertLines=function(e,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(e,t)},this.removeLines=function(e,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(e,t)},this.insertNewLine=function(e){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(e,["",""])},this.insert=function(e,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(e,this.$split(t))},this.insertInLine=function(e,t){var n=this.clippedPos(e.row,e.column),r=this.pos(e.row,e.column+t.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[t]},!0),this.clonePos(r)},this.clippedPos=function(e,t){var n=this.getLength();e===undefined?e=n:e<0?e=0:e>=n&&(e=n-1,t=undefined);var r=this.getLine(e);return t==undefined&&(t=r.length),t=Math.min(Math.max(t,0),r.length),{row:e,column:t}},this.clonePos=function(e){return{row:e.row,column:e.column}},this.pos=function(e,t){return{row:e,column:t}},this.$clipPosition=function(e){var t=this.getLength();return e.row>=t?(e.row=Math.max(0,t-1),e.column=this.getLine(t-1).length):(e.row=Math.max(0,e.row),e.column=Math.min(Math.max(e.column,0),this.getLine(e.row).length)),e},this.insertFullLines=function(e,t){e=Math.min(Math.max(e,0),this.getLength());var n=0;e<this.getLength()?(t=t.concat([""]),n=0):(t=[""].concat(t),e--,n=this.$lines[e].length),this.insertMergedLines({row:e,column:n},t)},this.insertMergedLines=function(e,t){var n=this.clippedPos(e.row,e.column),r={row:n.row+t.length-1,column:(t.length==1?n.column:0)+t[t.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:t}),this.clonePos(r)},this.remove=function(e){var t=this.clippedPos(e.start.row,e.start.column),n=this.clippedPos(e.end.row,e.end.column);return this.applyDelta({start:t,end:n,action:"remove",lines:this.getLinesForRange({start:t,end:n})}),this.clonePos(t)},this.removeInLine=function(e,t,n){var r=this.clippedPos(e,t),i=this.clippedPos(e,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(e,t){e=Math.min(Math.max(0,e),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var n=t==this.getLength()-1&&e>0,r=t<this.getLength()-1,i=n?e-1:e,s=n?this.getLine(i).length:0,u=r?t+1:t,a=r?0:this.getLine(u).length,f=new o(i,s,u,a),l=this.$lines.slice(e,t+1);return this.applyDelta({start:f.start,end:f.end,action:"remove",lines:this.getLinesForRange(f)}),l},this.removeNewLine=function(e){e<this.getLength()-1&&e>=0&&this.applyDelta({start:this.pos(e,this.getLine(e).length),end:this.pos(e+1,0),action:"remove",lines:["",""]})},this.replace=function(e,t){e instanceof o||(e=o.fromPoints(e.start,e.end));if(t.length===0&&e.isEmpty())return e.start;if(t==this.getTextRange(e))return e.end;this.remove(e);var n;return t?n=this.insert(e.start,t):n=e.start,n},this.applyDeltas=function(e){for(var t=0;t<e.length;t++)this.applyDelta(e[t])},this.revertDeltas=function(e){for(var t=e.length-1;t>=0;t--)this.revertDelta(e[t])},this.applyDelta=function(e,t){var n=e.action=="insert";if(n?e.lines.length<=1&&!e.lines[0]:!o.comparePoints(e.start,e.end))return;n&&e.lines.length>2e4?this.$splitAndapplyLargeDelta(e,2e4):(i(this.$lines,e,t),this._signal("change",e))},this.$splitAndapplyLargeDelta=function(e,t){var n=e.lines,r=n.length-t+1,i=e.start.row,s=e.start.column;for(var o=0,u=0;o<r;o=u){u+=t-1;var a=n.slice(o,u);a.push(""),this.applyDelta({start:this.pos(i+o,s),end:this.pos(i+u,s=0),action:e.action,lines:a},!0)}e.lines=n.slice(o),e.start.row=i+o,e.start.column=s,this.applyDelta(e,!0)},this.revertDelta=function(e){this.applyDelta({start:this.clonePos(e.start),end:this.clonePos(e.end),action:e.action=="insert"?"remove":"insert",lines:e.lines.slice()})},this.indexToPosition=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length;for(var i=t||0,s=n.length;i<s;i++){e-=n[i].length+r;if(e<0)return{row:i,column:e+n[i].length+r}}return{row:s-1,column:e+n[s-1].length+r}},this.positionToIndex=function(e,t){var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,s=Math.min(e.row,n.length);for(var o=t||0;o<s;++o)i+=n[o].length+r;return i+e.column}}).call(a.prototype),t.Document=a}),ace.define("ace/lib/lang",[],function(e,t,n){"use strict";t.last=function(e){return e[e.length-1]},t.stringReverse=function(e){return e.split("").reverse().join("")},t.stringRepeat=function(e,t){var n="";while(t>0){t&1&&(n+=e);if(t>>=1)e+=e}return n};var r=/^\s\s*/,i=/\s\s*$/;t.stringTrimLeft=function(e){return e.replace(r,"")},t.stringTrimRight=function(e){return e.replace(i,"")},t.copyObject=function(e){var t={};for(var n in e)t[n]=e[n];return t},t.copyArray=function(e){var t=[];for(var n=0,r=e.length;n<r;n++)e[n]&&typeof e[n]=="object"?t[n]=this.copyObject(e[n]):t[n]=e[n];return t},t.deepCopy=function s(e){if(typeof e!="object"||!e)return e;var t;if(Array.isArray(e)){t=[];for(var n=0;n<e.length;n++)t[n]=s(e[n]);return t}if(Object.prototype.toString.call(e)!=="[object Object]")return e;t={};for(var n in e)t[n]=s(e[n]);return t},t.arrayToMap=function(e){var t={};for(var n=0;n<e.length;n++)t[e[n]]=1;return t},t.createMap=function(e){var t=Object.create(null);for(var n in e)t[n]=e[n];return t},t.arrayRemove=function(e,t){for(var n=0;n<=e.length;n++)t===e[n]&&e.splice(n,1)},t.escapeRegExp=function(e){return e.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},t.escapeHTML=function(e){return(""+e).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},t.getMatchOffsets=function(e,t){var n=[];return e.replace(t,function(e){n.push({offset:arguments[arguments.length-2],length:e.length})}),n},t.deferredCall=function(e){var t=null,n=function(){t=null,e()},r=function(e){return r.cancel(),t=setTimeout(n,e||0),r};return r.schedule=r,r.call=function(){return this.cancel(),e(),r},r.cancel=function(){return clearTimeout(t),t=null,r},r.isPending=function(){return t},r},t.delayedCall=function(e,t){var n=null,r=function(){n=null,e()},i=function(e){n==null&&(n=setTimeout(r,e||t))};return i.delay=function(e){n&&clearTimeout(n),n=setTimeout(r,e||t)},i.schedule=i,i.call=function(){this.cancel(),e()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",[],function(e,t,n){"use strict";var r=e("../range").Range,i=e("../document").Document,s=e("../lib/lang"),o=t.Mirror=function(e){this.sender=e;var t=this.doc=new i(""),n=this.deferredUpdate=s.delayedCall(this.onUpdate.bind(this)),r=this;e.on("change",function(e){var i=e.data;if(i[0].start)t.applyDeltas(i);else for(var s=0;s<i.length;s+=2){if(Array.isArray(i[s+1]))var o={action:"insert",start:i[s],lines:i[s+1]};else var o={action:"remove",start:i[s],end:i[s+1]};t.applyDelta(o,!0)}if(r.$timeout)return n.schedule(r.$timeout);r.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(e){this.$timeout=e},this.setValue=function(e){this.doc.setValue(e),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(e){this.sender.callback(this.doc.getValue(),e)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(o.prototype)}),ace.define("ace/mode/coffee/coffee",[],function(require,exports,module){function define(e){module.exports=e()}function _toArray(e){return Array.isArray(e)?e:Array.from(e)}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _toConsumableArray(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}define.amd={};var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_get=function e(t,n,r){null===t&&(t=Function.prototype);var i=Object.getOwnPropertyDescriptor(t,n);if(i===void 0){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,r)}if("value"in i)return i.value;var o=i.get;return void 0===o?void 0:o.call(r)},_slicedToArray=function(){function e(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var o=e[Symbol.iterator](),u;!(r=(u=o.next()).done)&&(n.push(u.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o["return"]&&o["return"]()}finally{if(i)throw s}}return n}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),_createClass=function(){function e(e,t){for(var n=0,r;n<t.length;n++)r=t[n],r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();(function(root){var CoffeeScript=function(){function require(e){return require[e]}var _Mathabs=Math.abs,_StringfromCharCode=String.fromCharCode,_Mathfloor=Math.floor;return require["../../package.json"]=function(){return{name:"coffeescript",description:"Unfancy JavaScript",keywords:["javascript","language","coffeescript","compiler"],author:"Jeremy Ashkenas",version:"2.2.1",license:"MIT",engines:{node:">=6"},directories:{lib:"./lib/coffeescript"},main:"./lib/coffeescript/index",browser:"./lib/coffeescript/browser",bin:{coffee:"./bin/coffee",cake:"./bin/cake"},files:["bin","lib","register.js","repl.js"],scripts:{test:"node ./bin/cake test","test-harmony":"node --harmony ./bin/cake test"},homepage:"http://coffeescript.org",bugs:"https://github.com/jashkenas/coffeescript/issues",repository:{type:"git",url:"git://github.com/jashkenas/coffeescript.git"},devDependencies:{"babel-core":"~6.26.0","babel-preset-babili":"~0.1.4","babel-preset-env":"~1.6.1","babel-preset-minify":"^0.3.0",codemirror:"^5.32.0",docco:"~0.8.0","highlight.js":"~9.12.0",jison:">=0.4.18","markdown-it":"~8.4.0",underscore:"~1.8.3",webpack:"~3.10.0"},dependencies:{}}}(),require["./helpers"]=function(){var e={};return function(){var t,n,r,i,s,o,u,a;e.starts=function(e,t,n){return t===e.substr(n,t.length)},e.ends=function(e,t,n){var r;return r=t.length,t===e.substr(e.length-r-(n||0),r)},e.repeat=u=function(e,t){var n;for(n="";0<t;)1&t&&(n+=e),t>>>=1,e+=e;return n},e.compact=function(e){var t,n,r,i;for(i=[],t=0,r=e.length;t<r;t++)n=e[t],n&&i.push(n);return i},e.count=function(e,t){var n,r;if(n=r=0,!t.length)return 1/0;for(;r=1+e.indexOf(t,r);)n++;return n},e.merge=function(e,t){return i(i({},e),t)},i=e.extend=function(e,t){var n,r;for(n in t)r=t[n],e[n]=r;return e},e.flatten=s=function(t){var n,r,i,o;for(r=[],i=0,o=t.length;i<o;i++)n=t[i],"[object Array]"===Object.prototype.toString.call(n)?r=r.concat(s(n)):r.push(n);return r},e.del=function(e,t){var n;return n=e[t],delete e[t],n},e.some=null==(o=Array.prototype.some)?function(e){var t,n,r,i;for(i=this,n=0,r=i.length;n<r;n++)if(t=i[n],e(t))return!0;return!1}:o,e.invertLiterate=function(e){var t,n,r,i,s,o,u,a,f;for(a=[],t=/^\s*$/,r=/^[\t ]/,u=/^(?:\t?| {0,3})(?:[\*\-\+]|[0-9]{1,9}\.)[ \t]/,i=!1,f=e.split("\n"),n=0,s=f.length;n<s;n++)o=f[n],t.test(o)?(i=!1,a.push(o)):i||u.test(o)?(i=!0,a.push("# "+o)):!i&&r.test(o)?a.push(o):(i=!0,a.push("# "+o));return a.join("\n")},n=function(e,t){return t?{first_line:e.first_line,first_column:e.first_column,last_line:t.last_line,last_column:t.last_column}:e},r=function(e){return e.first_line+"x"+e.first_column+"-"+e.last_line+"x"+e.last_column},e.addDataToNode=function(e,i,s){return function(o){var u,a,f,l,c,h;if(null!=(null==o?void 0:o.updateLocationDataIfMissing)&&null!=i&&o.updateLocationDataIfMissing(n(i,s)),!e.tokenComments)for(e.tokenComments={},l=e.parser.tokens,u=0,a=l.length;u<a;u++)if(c=l[u],!!c.comments)if(h=r(c[2]),null==e.tokenComments[h])e.tokenComments[h]=c.comments;else{var p;(p=e.tokenComments[h]).push.apply(p,_toConsumableArray(c.comments))}return null!=o.locationData&&(f=r(o.locationData),null!=e.tokenComments[f]&&t(e.tokenComments[f],o)),o}},e.attachCommentsToNode=t=function(e,t){var n;if(null!=e&&0!==e.length)return null==t.comments&&(t.comments=[]),(n=t.comments).push.apply(n,_toConsumableArray(e))},e.locationDataToString=function(e){var t;return"2"in e&&"first_line"in e[2]?t=e[2]:"first_line"in e&&(t=e),t?t.first_line+1+":"+(t.first_column+1)+"-"+(t.last_line+1+":"+(t.last_column+1)):"No location data"},e.baseFileName=function(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1],n=2<arguments.length&&void 0!==arguments[2]&&arguments[2],r,i;return(i=n?/\\|\//:/\//,r=e.split(i),e=r[r.length-1],!(t&&0<=e.indexOf(".")))?e:(r=e.split("."),r.pop(),"coffee"===r[r.length-1]&&1<r.length&&r.pop(),r.join("."))},e.isCoffee=function(e){return/\.((lit)?coffee|coffee\.md)$/.test(e)},e.isLiterate=function(e){return/\.(litcoffee|coffee\.md)$/.test(e)},e.throwSyntaxError=function(e,t){var n;throw n=new SyntaxError(e),n.location=t,n.toString=a,n.stack=n.toString(),n},e.updateSyntaxError=function(e,t,n){return e.toString===a&&(e.code||(e.code=t),e.filename||(e.filename=n),e.stack=e.toString()),e},a=function(){var e,t,n,r,i,s,o,a,f,l,c,h,p,d;if(!this.code||!this.location)return Error.prototype.toString.call(this);var v=this.location;return o=v.first_line,s=v.first_column,f=v.last_line,a=v.last_column,null==f&&(f=o),null==a&&(a=s),i=this.filename||"[stdin]",e=this.code.split("\n")[o],d=s,r=o===f?a+1:e.length,l=e.slice(0,d).replace(/[^\s]/g," ")+u("^",r-d),"undefined"!=typeof process&&null!==process&&(n=(null==(c=process.stdout)?void 0:c.isTTY)&&(null==(h=process.env)||!h.NODE_DISABLE_COLORS)),(null==(p=this.colorful)?n:p)&&(t=function(e){return""+e+""},e=e.slice(0,d)+t(e.slice(d,r))+e.slice(r),l=t(l)),i+":"+(o+1)+":"+(s+1)+": error: "+this.message+"\n"+e+"\n"+l},e.nameWhitespaceCharacter=function(e){return" "===e?"space":"\n"===e?"newline":"\r"===e?"carriage return":"	"===e?"tab":e}}.call(this),{exports:e}.exports}(),require["./rewriter"]=function(){var e={};return function(){var t=[].indexOf,n=require("./helpers"),r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N;for(N=n.throwSyntaxError,x=function(e,t){var n,r,i,s,o;if(e.comments){if(t.comments&&0!==t.comments.length){for(o=[],s=e.comments,r=0,i=s.length;r<i;r++)n=s[r],n.unshift?o.push(n):t.comments.push(n);t.comments=o.concat(t.comments)}else t.comments=e.comments;return delete e.comments}},b=function(e,t,n,r){var i;return i=[e,t],i.generated=!0,n&&(i.origin=n),r&&x(r,i),i},e.Rewriter=m=function(){var e=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"rewrite",value:function(t){var n,r,i;return this.tokens=t,("undefined"!=typeof process&&null!==process?null==(n=process.env)?void 0:n.DEBUG_TOKEN_STREAM:void 0)&&(process.env.DEBUG_REWRITTEN_TOKEN_STREAM&&console.log("Initial token stream:"),console.log(function(){var e,t,n,r;for(n=this.tokens,r=[],e=0,t=n.length;e<t;e++)i=n[e],r.push(i[0]+"/"+i[1]+(i.comments?"*":""));return r}.call(this).join(" "))),this.removeLeadingNewlines(),this.closeOpenCalls(),this.closeOpenIndexes(),this.normalizeLines(),this.tagPostfixConditionals(),this.addImplicitBracesAndParens(),this.addParensToChainedDoIife(),this.rescueStowawayComments(),this.addLocationDataToGeneratedTokens(),this.enforceValidCSXAttributes(),this.fixOutdentLocationData(),("undefined"!=typeof process&&null!==process?null==(r=process.env)?void 0:r.DEBUG_REWRITTEN_TOKEN_STREAM:void 0)&&(process.env.DEBUG_TOKEN_STREAM&&console.log("Rewritten token stream:"),console.log(function(){var e,t,n,r;for(n=this.tokens,r=[],e=0,t=n.length;e<t;e++)i=n[e],r.push(i[0]+"/"+i[1]+(i.comments?"*":""));return r}.call(this).join(" "))),this.tokens}},{key:"scanTokens",value:function(t){var n,r,i;for(i=this.tokens,n=0;r=i[n];)n+=t.call(this,r,n,i);return!0}},{key:"detectEnd",value:function(n,r,i){var s=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{},o,u,l,c,h;for(h=this.tokens,o=0;c=h[n];){if(0===o&&r.call(this,c,n))return i.call(this,c,n);if((u=c[0],0<=t.call(f,u))?o+=1:(l=c[0],0<=t.call(a,l))&&(o-=1),0>o)return s.returnOnNegativeLevel?void 0:i.call(this,c,n);n+=1}return n-1}},{key:"removeLeadingNewlines",value:function(){var t,n,r,i,s,o,u,a,f;for(u=this.tokens,t=n=0,s=u.length;n<s;t=++n){var l=_slicedToArray(u[t],1);if(f=l[0],"TERMINATOR"!==f)break}if(0!==t){for(a=this.tokens.slice(0,t),r=0,o=a.length;r<o;r++)i=a[r],x(i,this.tokens[t]);return this.tokens.splice(0,t)}}},{key:"closeOpenCalls",value:function(){var t,n;return n=function(e){var t;return")"===(t=e[0])||"CALL_END"===t},t=function(e){return e[0]="CALL_END"},this.scanTokens(function(e,r){return"CALL_START"===e[0]&&this.detectEnd(r+1,n,t),1})}},{key:"closeOpenIndexes",value:function(){var t,n;return n=function(e){var t;return"]"===(t=e[0])||"INDEX_END"===t},t=function(e){return e[0]="INDEX_END"},this.scanTokens(function(e,r){return"INDEX_START"===e[0]&&this.detectEnd(r+1,n,t),1})}},{key:"indexOfTag",value:function(n){var r,i,s,o,u;r=0;for(var a=arguments.length,f=Array(1<a?a-1:0),l=1;l<a;l++)f[l-1]=arguments[l];for(i=s=0,o=f.length;0<=o?0<=s&&s<o:0>=s&&s>o;i=0<=o?++s:--s)if(null!=f[i]&&("string"==typeof f[i]&&(f[i]=[f[i]]),u=this.tag(n+i+r),0>t.call(f[i],u)))return-1;return n+i+r-1}},{key:"looksObjectish",value:function(n){var r,i;return-1!==this.indexOfTag(n,"@",null,":")||-1!==this.indexOfTag(n,null,":")||(i=this.indexOfTag(n,f),-1!==i&&(r=null,this.detectEnd(i+1,function(e){var n;return n=e[0],0<=t.call(a,n)},function(e,t){return r=t}),":"===this.tag(r+1)))}},{key:"findTagsBackwards",value:function(n,r){var i,s,o,u,l,c,h;for(i=[];0<=n&&(i.length||(u=this.tag(n),0>t.call(r,u))&&((l=this.tag(n),0>t.call(f,l))||this.tokens[n].generated)&&(c=this.tag(n),0>t.call(v,c)));)(s=this.tag(n),0<=t.call(a,s))&&i.push(this.tag(n)),(o=this.tag(n),0<=t.call(f,o))&&i.length&&i.pop(),n-=1;return h=this.tag(n),0<=t.call(r,h)}},{key:"addImplicitBracesAndParens",value:function(){var n,r;return n=[],r=null,this.scanTokens(function(e,o,u){var d=this,m=_slicedToArray(e,1),g,y,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q;Q=m[0];var G=B=0<o?u[o-1]:[],Y=_slicedToArray(G,1);H=Y[0];var Z=D=o<u.length-1?u[o+1]:[],et=_slicedToArray(Z,1);if(_=et[0],X=function(){return n[n.length-1]},V=o,w=function(e){return o-V+e},k=function(e){var t;return null==e||null==(t=e[2])?void 0:t.ours},A=function(e){return k(e)&&"{"===(null==e?void 0:e[0])},L=function(e){return k(e)&&"("===(null==e?void 0:e[0])},x=function(){return k(X())},T=function(){return L(X())},C=function(){return A(X())},N=function(){var e;return x()&&"CONTROL"===(null==(e=X())?void 0:e[0])},$=function(t){return n.push(["(",t,{ours:!0}]),u.splice(t,0,b("CALL_START","(",["","implicit function call",e[2]],B))},g=function(){return n.pop(),u.splice(o,0,b("CALL_END",")",["","end of input",e[2]],B)),o+=1},J=function(t){var r=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],i;return n.push(["{",t,{sameLine:!0,startsLine:r,ours:!0}]),i=new String("{"),i.generated=!0,u.splice(t,0,b("{",i,e,B))},y=function(t){return t=null==t?o:t,n.pop(),u.splice(t,0,b("}","}",e,B)),o+=1},E=function(e){var t;return t=null,d.detectEnd(e,function(e){return"TERMINATOR"===e[0]},function(e,n){return t=n},{returnOnNegativeLevel:!0}),null!=t&&d.looksObjectish(t+1)},(T()||C())&&0<=t.call(s,Q)||C()&&":"===H&&"FOR"===Q)return n.push(["CONTROL",o,{ours:!0}]),w(1);if("INDENT"===Q&&x()){if("=>"!==H&&"->"!==H&&"["!==H&&"("!==H&&","!==H&&"{"!==H&&"ELSE"!==H&&"="!==H)for(;T()||C()&&":"!==H;)T()?g():y();return N()&&n.pop(),n.push([Q,o]),w(1)}if(0<=t.call(f,Q))return n.push([Q,o]),w(1);if(0<=t.call(a,Q)){for(;x();)T()?g():C()?y():n.pop();r=n.pop()}if(S=function(){var n,r,i,s;return(i=d.findTagsBackwards(o,["FOR"])&&d.findTagsBackwards(o,["FORIN","FOROF","FORFROM"]),n=i||d.findTagsBackwards(o,["WHILE","UNTIL","LOOP","LEADING_WHEN"]),!!n)&&(r=!1,s=e[2].first_line,d.detectEnd(o,function(e){var n;return n=e[0],0<=t.call(v,n)},function(e,t){var n=u[t-1]||[],i=_slicedToArray(n,3),o;return H=i[0],o=i[2].first_line,r=s===o&&("->"===H||"=>"===H)},{returnOnNegativeLevel:!0}),r)},(0<=t.call(h,Q)&&e.spaced||"?"===Q&&0<o&&!u[o-1].spaced)&&(0<=t.call(l,_)||"..."===_&&(j=this.tag(o+2),0<=t.call(l,j))&&!this.findTagsBackwards(o,["INDEX_START","["])||0<=t.call(p,_)&&!D.spaced&&!D.newLine)&&!S())return"?"===Q&&(Q=e[0]="FUNC_EXIST"),$(o+1),w(2);if(0<=t.call(h,Q)&&-1<this.indexOfTag(o+1,"INDENT")&&this.looksObjectish(o+2)&&!this.findTagsBackwards(o,["CLASS","EXTENDS","IF","CATCH","SWITCH","LEADING_WHEN","FOR","WHILE","UNTIL"]))return $(o+1),n.push(["INDENT",o+2]),w(3);if(":"===Q){if(q=function(){var e;switch(!1){case e=this.tag(o-1),0>t.call(a,e):return r[1];case"@"!==this.tag(o-2):return o-2;default:return o-1}}.call(this),K=0>=q||(F=this.tag(q-1),0<=t.call(v,F))||u[q-1].newLine,X()){var tt=X(),nt=_slicedToArray(tt,2);if(W=nt[0],U=nt[1],("{"===W||"INDENT"===W&&"{"===this.tag(U-1))&&(K||","===this.tag(q-1)||"{"===this.tag(q-1)))return w(1)}return J(q,!!K),w(2)}if(0<=t.call(v,Q))for(O=n.length-1;0<=O&&(z=n[O],!!k(z));O+=-1)A(z)&&(z[2].sameLine=!1);if(M="OUTDENT"===H||B.newLine,0<=t.call(c,Q)||0<=t.call(i,Q)&&M||(".."===Q||"..."===Q)&&this.findTagsBackwards(o,["INDEX_START"]))for(;x();){var rt=X(),it=_slicedToArray(rt,3);W=it[0],U=it[1];var st=it[2];if(R=st.sameLine,K=st.startsLine,T()&&","!==H||","===H&&"TERMINATOR"===Q&&null==_)g();else if(C()&&R&&"TERMINATOR"!==Q&&":"!==H&&("POST_IF"!==Q&&"FOR"!==Q&&"WHILE"!==Q&&"UNTIL"!==Q||!K||!E(o+1)))y();else{if(!C()||"TERMINATOR"!==Q||","===H||!!K&&!!this.looksObjectish(o+1))break;y()}}if(","===Q&&!this.looksObjectish(o+1)&&C()&&"FOROF"!==(I=this.tag(o+2))&&"FORIN"!==I&&("TERMINATOR"!==_||!this.looksObjectish(o+2)))for(P="OUTDENT"===_?1:0;C();)y(o+P);return w(1)})}},{key:"enforceValidCSXAttributes",value:function(){return this.scanTokens(function(e,t,n){var r,i;return e.csxColon&&(r=n[t+1],"STRING_START"!==(i=r[0])&&"STRING"!==i&&"("!==i&&N("expected wrapped or quoted JSX attribute",r[2])),1})}},{key:"rescueStowawayComments",value:function(){var n,r,i;return n=function(e,t,n,r){return"TERMINATOR"!==n[t][0]&&n[r](b("TERMINATOR","\n",n[t])),n[r](b("JS","",n[t],e))},i=function(e,r,i){var s,u,a,f,l,c,h;for(u=r;u!==i.length&&(l=i[u][0],0<=t.call(o,l));)u++;if(u===i.length||(c=i[u][0],0<=t.call(o,c)))return u=i.length-1,n(e,u,i,"push"),1;for(h=e.comments,a=0,f=h.length;a<f;a++)s=h[a],s.unshift=!0;return x(e,i[u]),1},r=function(e,r,i){var s,u,a;for(s=r;-1!==s&&(u=i[s][0],0<=t.call(o,u));)s--;return-1===s||(a=i[s][0],0<=t.call(o,a))?(n(e,0,i,"unshift"),3):(x(e,i[s]),1)},this.scanTokens(function(e,n,s){var u,a,f,l,c;if(!e.comments)return 1;if(c=1,f=e[0],0<=t.call(o,f)){for(u={comments:[]},a=e.comments.length-1;-1!==a;)!1===e.comments[a].newLine&&!1===e.comments[a].here&&(u.comments.unshift(e.comments[a]),e.comments.splice(a,1)),a--;0!==u.comments.length&&(c=r(u,n-1,s)),0!==e.comments.length&&i(e,n,s)}else{for(u={comments:[]},a=e.comments.length-1;-1!==a;)!e.comments[a].newLine||e.comments[a].unshift||"JS"===e[0]&&e.generated||(u.comments.unshift(e.comments[a]),e.comments.splice(a,1)),a--;0!==u.comments.length&&(c=i(u,n+1,s))}return 0===(null==(l=e.comments)?void 0:l.length)&&delete e.comments,c})}},{key:"addLocationDataToGeneratedTokens",value:function(){return this.scanTokens(function(e,t,n){var r,i,s,o,u,a;if(e[2])return 1;if(!e.generated&&!e.explicit)return 1;if("{"===e[0]&&(s=null==(u=n[t+1])?void 0:u[2])){var f=s;i=f.first_line,r=f.first_column}else if(o=null==(a=n[t-1])?void 0:a[2]){var l=o;i=l.last_line,r=l.last_column}else i=r=0;return e[2]={first_line:i,first_column:r,last_line:i,last_column:r},1})}},{key:"fixOutdentLocationData",value:function(){return this.scanTokens(function(e,t,n){var r;return"OUTDENT"===e[0]||e.generated&&"CALL_END"===e[0]||e.generated&&"}"===e[0]?(r=n[t-1][2],e[2]={first_line:r.last_line,first_column:r.last_column,last_line:r.last_line,last_column:r.last_column},1):1})}},{key:"addParensToChainedDoIife",value:function(){var n,r,s;return r=function(e,t){return"OUTDENT"===this.tag(t-1)},n=function(e,n){var r;if(r=e[0],!(0>t.call(i,r)))return this.tokens.splice(s,0,b("(","(",this.tokens[s])),this.tokens.splice(n+1,0,b(")",")",this.tokens[n]))},s=null,this.scanTokens(function(e,t){var i,o;return"do"===e[1]?(s=t,i=t+1,"PARAM_START"===this.tag(t+1)&&(i=null,this.detectEnd(t+1,function(e,t){return"PARAM_END"===this.tag(t-1)},function(e,t){return i=t})),null==i||"->"!==(o=this.tag(i))&&"=>"!==o||"INDENT"!==this.tag(i+1))?1:(this.detectEnd(i+1,r,n),2):1})}},{key:"normalizeLines",value:function(){var n=this,r,s,o,a,f,l,c,h,p;return p=f=h=null,c=null,l=null,a=[],o=function(e,n){var r,s,o,a;return";"!==e[1]&&(r=e[0],0<=t.call(g,r))&&!("TERMINATOR"===e[0]&&(s=this.tag(n+1),0<=t.call(u,s)))&&("ELSE"!==e[0]||"THEN"===p&&!l&&!c)&&("CATCH"!==(o=e[0])&&"FINALLY"!==o||"->"!==p&&"=>"!==p)||(a=e[0],0<=t.call(i,a))&&(this.tokens[n-1].newLine||"OUTDENT"===this.tokens[n-1][0])},r=function(e,t){return"ELSE"===e[0]&&"THEN"===p&&a.pop(),this.tokens.splice(","===this.tag(t-1)?t-1:t,0,h)},s=function(e,t){var r,i,s;if(s=a.length,0<s){r=a.pop();var o=n.indentation(e[r]),u=_slicedToArray(o,2);return i=u[1],i[1]=2*s,e.splice(t,0,i),i[1]=2,e.splice(t+1,0,i),n.detectEnd(t+2,function(e){var t;return"OUTDENT"===(t=e[0])||"TERMINATOR"===t},function(t,n){if("OUTDENT"===this.tag(n)&&"OUTDENT"===this.tag(n+1))return e.splice(n,2)}),t+2}return t},this.scanTokens(function(e,n,i){var d=_slicedToArray(e,1),v,m,g,b,w,E;if(E=d[0],v=("->"===E||"=>"===E)&&this.findTagsBackwards(n,["IF","WHILE","FOR","UNTIL","SWITCH","WHEN","LEADING_WHEN","[","INDEX_START"])&&!this.findTagsBackwards(n,["THEN","..","..."]),"TERMINATOR"===E){if("ELSE"===this.tag(n+1)&&"OUTDENT"!==this.tag(n-1))return i.splice.apply(i,[n,1].concat(_toConsumableArray(this.indentation()))),1;if(b=this.tag(n+1),0<=t.call(u,b))return i.splice(n,1),0}if("CATCH"===E)for(m=g=1;2>=g;m=++g)if("OUTDENT"===(w=this.tag(n+m))||"TERMINATOR"===w||"FINALLY"===w)return i.splice.apply(i,[n+m,0].concat(_toConsumableArray(this.indentation()))),2+m;if("->"!==E&&"=>"!==E||!(","===this.tag(n+1)||"."===this.tag(n+1)&&e.newLine)){if(0<=t.call(y,E)&&"INDENT"!==this.tag(n+1)&&("ELSE"!==E||"IF"!==this.tag(n+1))&&!v){p=E;var T=this.indentation(i[n]),N=_slicedToArray(T,2);return f=N[0],h=N[1],"THEN"===p&&(f.fromThen=!0),"THEN"===E&&(c=this.findTagsBackwards(n,["LEADING_WHEN"])&&"IF"===this.tag(n+1),l=this.findTagsBackwards(n,["IF"])&&"IF"===this.tag(n+1)),"THEN"===E&&this.findTagsBackwards(n,["IF"])&&a.push(n),"ELSE"===E&&"OUTDENT"!==this.tag(n-1)&&(n=s(i,n)),i.splice(n+1,0,f),this.detectEnd(n+2,o,r),"THEN"===E&&i.splice(n,1),1}return 1}var S=this.indentation(i[n]),x=_slicedToArray(S,2);return f=x[0],h=x[1],i.splice(n+1,0,f,h),1})}},{key:"tagPostfixConditionals",value:function(){var n,r,i;return i=null,r=function(e,n){var r=_slicedToArray(e,1),i,s;s=r[0];var o=_slicedToArray(this.tokens[n-1],1);return i=o[0],"TERMINATOR"===s||"INDENT"===s&&0>t.call(y,i)},n=function(e){if("INDENT"!==e[0]||e.generated&&!e.fromThen)return i[0]="POST_"+i[0]},this.scanTokens(function(e,t){return"IF"===e[0]?(i=e,this.detectEnd(t+1,r,n),1):1})}},{key:"indentation",value:function(t){var n,r;return n=["INDENT",2],r=["OUTDENT",2],t?(n.generated=r.generated=!0,n.origin=r.origin=t):n.explicit=r.explicit=!0,[n,r]}},{key:"tag",value:function(t){var n;return null==(n=this.tokens[t])?void 0:n[0]}}]),e}();return e.prototype.generate=b,e}.call(this),r=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],["REGEX_START","REGEX_END"]],e.INVERSES=d={},f=[],a=[],w=0,S=r.length;w<S;w++){var C=_slicedToArray(r[w],2);E=C[0],T=C[1],f.push(d[T]=E),a.push(d[E]=T)}u=["CATCH","THEN","ELSE","FINALLY"].concat(a),h=["IDENTIFIER","PROPERTY","SUPER",")","CALL_END","]","INDEX_END","@","THIS"],l=["IDENTIFIER","CSX_TAG","PROPERTY","NUMBER","INFINITY","NAN","STRING","STRING_START","REGEX","REGEX_START","JS","NEW","PARAM_START","CLASS","IF","TRY","SWITCH","THIS","UNDEFINED","NULL","BOOL","UNARY","YIELD","AWAIT","UNARY_MATH","SUPER","THROW","@","->","=>","[","(","{","--","++"],p=["+","-"],c=["POST_IF","FOR","WHILE","UNTIL","WHEN","BY","LOOP","TERMINATOR"],y=["ELSE","->","=>","TRY","FINALLY","THEN"],g=["TERMINATOR","CATCH","FINALLY","ELSE","OUTDENT","LEADING_WHEN"],v=["TERMINATOR","INDENT","OUTDENT"],i=[".","?.","::","?::"],s=["IF","TRY","FINALLY","CATCH","CLASS","SWITCH"],o=["(",")","[","]","{","}",".","..","...",",","=","++","--","?","AS","AWAIT","CALL_START","CALL_END","DEFAULT","ELSE","EXTENDS","EXPORT","FORIN","FOROF","FORFROM","IMPORT","INDENT","INDEX_SOAK","LEADING_WHEN","OUTDENT","PARAM_END","REGEX_START","REGEX_END","RETURN","STRING_END","THROW","UNARY","YIELD"].concat(p.concat(c.concat(i.concat(s))))}.call(this),{exports:e}.exports}(),require["./lexer"]=function(){var e={};return function(){var t=[].indexOf,n=[].slice,r=require("./rewriter"),i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt,dt,vt,mt,gt,yt,bt,wt,Et,St,xt;K=r.Rewriter,O=r.INVERSES;var Tt=require("./helpers");dt=Tt.count,St=Tt.starts,pt=Tt.compact,Et=Tt.repeat,vt=Tt.invertLiterate,wt=Tt.merge,ht=Tt.attachCommentsToNode,bt=Tt.locationDataToString,xt=Tt.throwSyntaxError,e.Lexer=B=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"tokenize",value:function(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r,i,s,o;for(this.literate=n.literate,this.indent=0,this.baseIndent=0,this.indebt=0,this.outdebt=0,this.indents=[],this.indentLiteral="",this.ends=[],this.tokens=[],this.seenFor=!1,this.seenImport=!1,this.seenExport=!1,this.importSpecifierList=!1,this.exportSpecifierList=!1,this.csxDepth=0,this.csxObjAttribute={},this.chunkLine=n.line||0,this.chunkColumn=n.column||0,t=this.clean(t),s=0;this.chunk=t.slice(s);){r=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.csxToken()||this.regexToken()||this.jsToken()||this.literalToken();var u=this.getLineAndColumnFromChunk(r),a=_slicedToArray(u,2);if(this.chunkLine=a[0],this.chunkColumn=a[1],s+=r,n.untilBalanced&&0===this.ends.length)return{tokens:this.tokens,index:s}}return this.closeIndentation(),(i=this.ends.pop())&&this.error("missing "+i.tag,(null==(o=i.origin)?i:o)[2]),!1===n.rewrite?this.tokens:(new K).rewrite(this.tokens)}},{key:"clean",value:function(t){return t.charCodeAt(0)===i&&(t=t.slice(1)),t=t.replace(/\r/g,"").replace(st,""),ct.test(t)&&(t="\n"+t,this.chunkLine--),this.literate&&(t=vt(t)),t}},{key:"identifierToken",value:function(){var n,r,i,s,u,c,h,p,d,m,g,y,b,w,E,S,x,T,N,k,L,A,O,M,D,H,B,j;if(h=this.atCSXTag(),D=h?v:C,!(d=D.exec(this.chunk)))return 0;var F=d,I=_slicedToArray(F,3);if(p=I[0],u=I[1],r=I[2],c=u.length,m=void 0,"own"===u&&"FOR"===this.tag())return this.token("OWN",u),u.length;if("from"===u&&"YIELD"===this.tag())return this.token("FROM",u),u.length;if("as"===u&&this.seenImport){if("*"===this.value())this.tokens[this.tokens.length-1][0]="IMPORT_ALL";else if(b=this.value(!0),0<=t.call(l,b)){g=this.prev();var q=["IDENTIFIER",this.value(!0)];g[0]=q[0],g[1]=q[1]}if("DEFAULT"===(w=this.tag())||"IMPORT_ALL"===w||"IDENTIFIER"===w)return this.token("AS",u),u.length}if("as"===u&&this.seenExport){if("IDENTIFIER"===(S=this.tag())||"DEFAULT"===S)return this.token("AS",u),u.length;if(x=this.value(!0),0<=t.call(l,x)){g=this.prev();var R=["IDENTIFIER",this.value(!0)];return g[0]=R[0],g[1]=R[1],this.token("AS",u),u.length}}if("default"!==u||!this.seenExport||"EXPORT"!==(T=this.tag())&&"AS"!==T){if("do"===u&&(M=/^(\s*super)(?!\(\))/.exec(this.chunk.slice(3)))){this.token("SUPER","super"),this.token("CALL_START","("),this.token("CALL_END",")");var U=M,z=_slicedToArray(U,2);return p=z[0],H=z[1],H.length+3}if(g=this.prev(),B=r||null!=g&&("."===(N=g[0])||"?."===N||"::"===N||"?::"===N||!g.spaced&&"@"===g[0])?"PROPERTY":"IDENTIFIER","IDENTIFIER"===B&&(0<=t.call(_,u)||0<=t.call(l,u))&&!(this.exportSpecifierList&&0<=t.call(l,u))?(B=u.toUpperCase(),"WHEN"===B&&(k=this.tag(),0<=t.call(P,k))?B="LEADING_WHEN":"FOR"===B?this.seenFor=!0:"UNLESS"===B?B="IF":"IMPORT"===B?this.seenImport=!0:"EXPORT"===B?this.seenExport=!0:0<=t.call(ot,B)?B="UNARY":0<=t.call($,B)&&("INSTANCEOF"!==B&&this.seenFor?(B="FOR"+B,this.seenFor=!1):(B="RELATION","!"===this.value()&&(m=this.tokens.pop(),u="!"+u)))):"IDENTIFIER"===B&&this.seenFor&&"from"===u&&mt(g)?(B="FORFROM",this.seenFor=!1):"PROPERTY"===B&&g&&(g.spaced&&(L=g[0],0<=t.call(o,L))&&/^[gs]et$/.test(g[1])&&1<this.tokens.length&&"."!==(A=this.tokens[this.tokens.length-2][0])&&"?."!==A&&"@"!==A?this.error("'"+g[1]+"' cannot be used as a keyword, or as a function call without parentheses",g[2]):2<this.tokens.length&&(y=this.tokens[this.tokens.length-2],("@"===(O=g[0])||"THIS"===O)&&y&&y.spaced&&/^[gs]et$/.test(y[1])&&"."!==(E=this.tokens[this.tokens.length-3][0])&&"?."!==E&&"@"!==E&&this.error("'"+y[1]+"' cannot be used as a keyword, or as a function call without parentheses",y[2]))),"IDENTIFIER"===B&&0<=t.call(J,u)&&this.error("reserved word '"+u+"'",{length:u.length}),"PROPERTY"===B||this.exportSpecifierList||(0<=t.call(a,u)&&(n=u,u=f[u]),B=function(){return"!"===u?"UNARY":"=="===u||"!="===u?"COMPARE":"true"===u||"false"===u?"BOOL":"break"===u||"continue"===u||"debugger"===u?"STATEMENT":"&&"===u||"||"===u?u:B}()),j=this.token(B,u,0,c),n&&(j.origin=[B,n,j[2]]),m){var W=[m[2].first_line,m[2].first_column];j[2].first_line=W[0],j[2].first_column=W[1]}return r&&(i=p.lastIndexOf(h?"=":":"),s=this.token(":",":",i,r.length),h&&(s.csxColon=!0)),h&&"IDENTIFIER"===B&&":"!==g[0]&&this.token(",",",",0,0,j),p.length}return this.token("DEFAULT",u),u.length}},{key:"numberToken",value:function(){var t,n,r,i,s,o;if(!(r=q.exec(this.chunk)))return 0;switch(i=r[0],n=i.length,!1){case!/^0[BOX]/.test(i):this.error("radix prefix in '"+i+"' must be lowercase",{offset:1});break;case!/^(?!0x).*E/.test(i):this.error("exponential notation in '"+i+"' must be indicated with a lowercase 'e'",{offset:i.indexOf("E")});break;case!/^0\d*[89]/.test(i):this.error("decimal literal '"+i+"' must not be prefixed with '0'",{length:n});break;case!/^0\d+/.test(i):this.error("octal literal '"+i+"' must be prefixed with '0o'",{length:n})}return t=function(){switch(i.charAt(1)){case"b":return 2;case"o":return 8;case"x":return 16;default:return null}}(),s=null==t?parseFloat(i):parseInt(i.slice(2),t),o=Infinity===s?"INFINITY":"NUMBER",this.token(o,i,0,n),n}},{key:"stringToken",value:function(){var t=this,n=rt.exec(this.chunk)||[],r=_slicedToArray(n,1),i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b;if(v=r[0],!v)return 0;d=this.prev(),d&&"from"===this.value()&&(this.seenImport||this.seenExport)&&(d[0]="FROM"),g=function(){return"'"===v?nt:'"'===v?Z:"'''"===v?S:'"""'===v?w:void 0}(),f=3===v.length;var x=this.matchWithInterpolations(g,v);if(b=x.tokens,a=x.index,i=b.length-1,o=v.charAt(0),f){for(c=null,u=function(){var e,t,n;for(n=[],l=e=0,t=b.length;e<t;l=++e)y=b[l],"NEOSTRING"===y[0]&&n.push(y[1]);return n}().join("#{}");p=E.exec(u);)s=p[1],(null===c||0<(m=s.length)&&m<c.length)&&(c=s);c&&(h=RegExp("\\n"+c,"g")),this.mergeInterpolationTokens(b,{delimiter:o},function(e,n){return e=t.formatString(e,{delimiter:v}),h&&(e=e.replace(h,"\n")),0===n&&(e=e.replace(D,"")),n===i&&(e=e.replace(it,"")),e})}else this.mergeInterpolationTokens(b,{delimiter:o},function(e,n){return e=t.formatString(e,{delimiter:v}),e=e.replace(G,function(t,r){return 0===n&&0===r||n===i&&r+t.length===e.length?"":" "}),e});return this.atCSXTag()&&this.token(",",",",0,0,this.prev),a}},{key:"commentToken",value:function(){var n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.chunk,r,i,s,o,u,a,f,l,h,p,d;if(!(f=n.match(c)))return 0;var v=f,m=_slicedToArray(v,2);return r=m[0],u=m[1],o=null,h=/^\s*\n+\s*#/.test(r),u?(l=b.exec(r),l&&this.error("block comments cannot contain "+l[0],{offset:l.index,length:l[0].length}),n=n.replace("###"+u+"###",""),n=n.replace(/^\n+/,""),this.lineToken(n),s=u,0<=t.call(s,"\n")&&(s=s.replace(RegExp("\\n"+Et(" ",this.indent),"g"),"\n")),o=[s]):(s=r.replace(/^(\n*)/,""),s=s.replace(/^([ |\t]*)#/gm,""),o=s.split("\n")),i=function(){var e,t,n;for(n=[],a=e=0,t=o.length;e<t;a=++e)s=o[a],n.push({content:s,here:null!=u,newLine:h||0!==a});return n}(),d=this.prev(),d?ht(i,d):(i[0].newLine=!0,this.lineToken(this.chunk.slice(r.length)),p=this.makeToken("JS",""),p.generated=!0,p.comments=i,this.tokens.push(p),this.newlineToken(0)),r.length}},{key:"jsToken",value:function(){var t,n;return"`"===this.chunk.charAt(0)&&(t=N.exec(this.chunk)||M.exec(this.chunk))?(n=t[1].replace(/\\+(`|$)/g,function(e){return e.slice(-Math.ceil(e.length/2))}),this.token("JS",n,0,t[0].length),t[0].length):0}},{key:"regexToken",value:function(){var n=this,r,i,s,u,a,f,l,c,h,p,d,v,m,g,y,b;switch(!1){case!(p=X.exec(this.chunk)):this.error("regular expressions cannot begin with "+p[2],{offset:p.index+p[1].length});break;case!(p=this.matchWithInterpolations(x,"///")):var w=p;if(b=w.tokens,l=w.index,u=this.chunk.slice(0,l).match(/\s+(#(?!{).*)/g),u)for(c=0,h=u.length;c<h;c++)s=u[c],this.commentToken(s);break;case!(p=z.exec(this.chunk)):var E=p,S=_slicedToArray(E,3);if(y=S[0],r=S[1],i=S[2],this.validateEscapes(r,{isRegex:!0,offsetInChunk:1}),l=y.length,v=this.prev(),v)if(v.spaced&&(m=v[0],0<=t.call(o,m))){if(!i||U.test(y))return 0}else if(g=v[0],0<=t.call(I,g))return 0;i||this.error("missing / (unclosed regex)");break;default:return 0}var T=W.exec(this.chunk.slice(l)),N=_slicedToArray(T,1);switch(f=N[0],a=l+f.length,d=this.makeToken("REGEX",null,0,a),!1){case!!lt.test(f):this.error("invalid regular expression flags "+f,{offset:l,length:f.length});break;case!y&&1!==b.length:r=r?this.formatRegex(r,{flags:f,delimiter:"/"}):this.formatHeregex(b[0][1],{flags:f}),this.token("REGEX",""+this.makeDelimitedLiteral(r,{delimiter:"/"})+f,0,a,d);break;default:this.token("REGEX_START","(",0,0,d),this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),this.mergeInterpolationTokens(b,{delimiter:'"',"double":!0},function(e){return n.formatHeregex(e,{flags:f})}),f&&(this.token(",",",",l-1,0),this.token("STRING",'"'+f+'"',l-1,f.length)),this.token(")",")",a-1,0),this.token("REGEX_END",")",a-1,0)}return a}},{key:"lineToken",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.chunk,n,r,i,s,o,u,a,f,l;if(!(s=F.exec(t)))return 0;if(i=s[0],f=this.prev(),n=null!=f&&"\\"===f[0],n&&this.seenFor||(this.seenFor=!1),this.importSpecifierList||(this.seenImport=!1),this.exportSpecifierList||(this.seenExport=!1),l=i.length-1-i.lastIndexOf("\n"),a=this.unfinished(),u=0<l?i.slice(-l):"",!/^(.?)\1*$/.exec(u))return this.error("mixed indentation",{offset:i.length}),i.length;if(o=Math.min(u.length,this.indentLiteral.length),u.slice(0,o)!==this.indentLiteral.slice(0,o))return this.error("indentation mismatch",{offset:i.length}),i.length;if(l-this.indebt===this.indent)return a?this.suppressNewlines():this.newlineToken(0),i.length;if(l>this.indent){if(a)return this.indebt=l-this.indent,this.suppressNewlines(),i.length;if(!this.tokens.length)return this.baseIndent=this.indent=l,this.indentLiteral=u,i.length;r=l-this.indent+this.outdebt,this.token("INDENT",r,i.length-l,l),this.indents.push(r),this.ends.push({tag:"OUTDENT"}),this.outdebt=this.indebt=0,this.indent=l,this.indentLiteral=u}else l<this.baseIndent?this.error("missing indentation",{offset:i.length}):(this.indebt=0,this.outdentToken(this.indent-l,a,i.length));return i.length}},{key:"outdentToken",value:function(n,r,i){var s,o,u,a;for(s=this.indent-n;0<n;)u=this.indents[this.indents.length-1],u?this.outdebt&&n<=this.outdebt?(this.outdebt-=n,n=0):(o=this.indents.pop()+this.outdebt,i&&(a=this.chunk[i],0<=t.call(k,a))&&(s-=o-n,n=o),this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",n,0,i),n-=o):this.outdebt=n=0;return o&&(this.outdebt-=n),this.suppressSemicolons(),"TERMINATOR"===this.tag()||r||this.token("TERMINATOR","\n",i,0),this.indent=s,this.indentLiteral=this.indentLiteral.slice(0,s),this}},{key:"whitespaceToken",value:function(){var t,n,r;return(t=ct.exec(this.chunk))||(n="\n"===this.chunk.charAt(0))?(r=this.prev(),r&&(r[t?"spaced":"newLine"]=!0),t?t[0].length:0):0}},{key:"newlineToken",value:function(t){return this.suppressSemicolons(),"TERMINATOR"!==this.tag()&&this.token("TERMINATOR","\n",t,0),this}},{key:"suppressNewlines",value:function(){var t;return t=this.prev(),"\\"===t[1]&&(t.comments&&1<this.tokens.length&&ht(t.comments,this.tokens[this.tokens.length-2]),this.tokens.pop()),this}},{key:"csxToken",value:function(){var n=this,r,i,s,o,u,a,f,l,c,p,d,v,b,w;if(u=this.chunk[0],d=0<this.tokens.length?this.tokens[this.tokens.length-1][0]:"","<"===u){if(l=g.exec(this.chunk.slice(1))||m.exec(this.chunk.slice(1)),!l||!(0<this.csxDepth||!(p=this.prev())||p.spaced||(v=p[0],0>t.call(h,v))))return 0;var E=l,S=_slicedToArray(E,3);return f=S[0],a=S[1],i=S[2],c=this.token("CSX_TAG",a,1,a.length),this.token("CALL_START","("),this.token("[","["),this.ends.push({tag:"/>",origin:c,name:a}),this.csxDepth++,a.length+1}if(s=this.atCSXTag()){if("/>"===this.chunk.slice(0,2))return this.pair("/>"),this.token("]","]",0,2),this.token("CALL_END",")",0,2),this.csxDepth--,2;if("{"===u)return":"===d?(b=this.token("(","("),this.csxObjAttribute[this.csxDepth]=!1):(b=this.token("{","{"),this.csxObjAttribute[this.csxDepth]=!0),this.ends.push({tag:"}",origin:b}),1;if(">"===u){this.pair("/>"),c=this.token("]","]"),this.token(",",",");var x=this.matchWithInterpolations(A,">","</",y);return w=x.tokens,o=x.index,this.mergeInterpolationTokens(w,{delimiter:'"'},function(e){return n.formatString(e,{delimiter:">"})}),l=g.exec(this.chunk.slice(o))||m.exec(this.chunk.slice(o)),l&&l[1]===s.name||this.error("expected corresponding CSX closing tag for "+s.name,s.origin[2]),r=o+s.name.length,">"!==this.chunk[r]&&this.error("missing closing > after tag name",{offset:r,length:1}),this.token("CALL_END",")",o,s.name.length+1),this.csxDepth--,r+1}return 0}return this.atCSXTag(1)?"}"===u?(this.pair(u),this.csxObjAttribute[this.csxDepth]?(this.token("}","}"),this.csxObjAttribute[this.csxDepth]=!1):this.token(")",")"),this.token(",",","),1):0:0}},{key:"atCSXTag",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0,n,r,i;if(0===this.csxDepth)return!1;for(n=this.ends.length-1;"OUTDENT"===(null==(i=this.ends[n])?void 0:i.tag)||0<t--;)n--;return r=this.ends[n],"/>"===(null==r?void 0:r.tag)&&r}},{key:"literalToken",value:function(){var n,r,i,s,a,f,l,c,h,v,m,g,y;if(n=R.exec(this.chunk)){var b=n,w=_slicedToArray(b,1);y=w[0],u.test(y)&&this.tagParameters()}else y=this.chunk.charAt(0);if(m=y,s=this.prev(),s&&0<=t.call(["="].concat(_toConsumableArray(d)),y)&&(v=!1,"="!==y||"||"!==(a=s[1])&&"&&"!==a||s.spaced||(s[0]="COMPOUND_ASSIGN",s[1]+="=",s=this.tokens[this.tokens.length-2],v=!0),s&&"PROPERTY"!==s[0]&&(i=null==(f=s.origin)?s:f,r=gt(s[1],i[1]),r&&this.error(r,i[2])),v))return y.length;if("{"===y&&this.seenImport?this.importSpecifierList=!0:this.importSpecifierList&&"}"===y?this.importSpecifierList=!1:"{"===y&&"EXPORT"===(null==s?void 0:s[0])?this.exportSpecifierList=!0:this.exportSpecifierList&&"}"===y&&(this.exportSpecifierList=!1),";"===y)(l=null==s?void 0:s[0],0<=t.call(["="].concat(_toConsumableArray(at)),l))&&this.error("unexpected ;"),this.seenFor=this.seenImport=this.seenExport=!1,m="TERMINATOR";else if("*"===y&&"EXPORT"===(null==s?void 0:s[0]))m="EXPORT_ALL";else if(0<=t.call(j,y))m="MATH";else if(0<=t.call(p,y))m="COMPARE";else if(0<=t.call(d,y))m="COMPOUND_ASSIGN";else if(0<=t.call(ot,y))m="UNARY";else if(0<=t.call(ut,y))m="UNARY_MATH";else if(0<=t.call(Q,y))m="SHIFT";else if("?"===y&&(null==s?void 0:s.spaced))m="BIN?";else if(s)if("("===y&&!s.spaced&&(c=s[0],0<=t.call(o,c)))"?"===s[0]&&(s[0]="FUNC_EXIST"),m="CALL_START";else if("["===y&&((h=s[0],0<=t.call(L,h))&&!s.spaced||"::"===s[0]))switch(m="INDEX_START",s[0]){case"?":s[0]="INDEX_SOAK"}return g=this.makeToken(m,y),"("===y||"{"===y||"["===y?this.ends.push({tag:O[y],origin:g}):")"===y||"}"===y||"]"===y?this.pair(y):void 0,this.tokens.push(this.makeToken(m,y)),y.length}},{key:"tagParameters",value:function(){var t,n,r,i,s;if(")"!==this.tag())return this;for(r=[],s=this.tokens,t=s.length,n=s[--t],n[0]="PARAM_END";i=s[--t];)switch(i[0]){case")":r.push(i);break;case"(":case"CALL_START":if(!r.length)return"("===i[0]?(i[0]="PARAM_START",this):(n[0]="CALL_END",this);r.pop()}return this}},{key:"closeIndentation",value:function(){return this.outdentToken(this.indent)}},{key:"matchWithInterpolations",value:function(r,i,s,o){var u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L;if(null==s&&(s=i),null==o&&(o=/^#\{/),L=[],S=i.length,this.chunk.slice(0,S)!==i)return null;for(C=this.chunk.slice(S);;){var A=r.exec(C),O=_slicedToArray(A,1);if(k=O[0],this.validateEscapes(k,{isRegex:"/"===i.charAt(0),offsetInChunk:S}),L.push(this.makeToken("NEOSTRING",k,S)),C=C.slice(k.length),S+=k.length,!(w=o.exec(C)))break;var M=w,_=_slicedToArray(M,1);g=_[0],m=g.length-1;var D=this.getLineAndColumnFromChunk(S+m),P=_slicedToArray(D,2);b=P[0],p=P[1],N=C.slice(m);var H=(new e).tokenize(N,{line:b,column:p,untilBalanced:!0});if(E=H.tokens,v=H.index,v+=m,c="}"===C[v-1],c){var B,j,F,I;B=E,j=_slicedToArray(B,1),x=j[0],B,F=n.call(E,-1),I=_slicedToArray(F,1),h=I[0],F,x[0]=x[1]="(",h[0]=h[1]=")",h.origin=["","end of interpolation",h[2]]}"TERMINATOR"===(null==(T=E[1])?void 0:T[0])&&E.splice(1,1),c||(x=this.makeToken("(","(",S,0),h=this.makeToken(")",")",S+v,0),E=[x].concat(_toConsumableArray(E),[h])),L.push(["TOKENS",E]),C=C.slice(v),S+=v}return C.slice(0,s.length)!==s&&this.error("missing "+s,{length:i.length}),u=L,a=_slicedToArray(u,1),d=a[0],u,f=n.call(L,-1),l=_slicedToArray(f,1),y=l[0],f,d[2].first_column-=i.length,"\n"===y[1].substr(-1)?(y[2].last_line+=1,y[2].last_column=s.length-1):y[2].last_column+=s.length,0===y[1].length&&(y[2].last_column-=1),{tokens:L,index:S+s.length}}},{key:"mergeInterpolationTokens",value:function(t,r,i){var s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x;for(1<t.length&&(v=this.token("STRING_START","(",0,0)),u=this.tokens.length,a=f=0,h=t.length;f<h;a=++f){var T;w=t[a];var N=w,C=_slicedToArray(N,2);switch(b=C[0],x=C[1],b){case"TOKENS":if(2===x.length){if(!x[0].comments&&!x[1].comments)continue;for(m=0===this.csxDepth?this.makeToken("STRING","''"):this.makeToken("JS",""),m[2]=x[0][2],l=0,p=x.length;l<p;l++){var k;(S=x[l],!!S.comments)&&(null==m.comments&&(m.comments=[]),(k=m.comments).push.apply(k,_toConsumableArray(S.comments)))}x.splice(1,0,m)}d=x[0],E=x;break;case"NEOSTRING":if(s=i.call(this,w[1],a),0===s.length){if(0!==a)continue;o=this.tokens.length}2===a&&null!=o&&this.tokens.splice(o,2),w[0]="STRING",w[1]=this.makeDelimitedLiteral(s,r),d=w,E=[w]}this.tokens.length>u&&(g=this.token("+","+"),g[2]={first_line:d[2].first_line,first_column:d[2].first_column,last_line:d[2].first_line,last_column:d[2].first_column}),(T=this.tokens).push.apply(T,_toConsumableArray(E))}if(v){var L=n.call(t,-1),A=_slicedToArray(L,1);return c=A[0],v.origin=["STRING",null,{first_line:v[2].first_line,first_column:v[2].first_column,last_line:c[2].last_line,last_column:c[2].last_column}],v[2]=v.origin[2],y=this.token("STRING_END",")"),y[2]={first_line:c[2].last_line,first_column:c[2].last_column,last_line:c[2].last_line,last_column:c[2].last_column}}}},{key:"pair",value:function(t){var r,i,s,o,u,a,f;if(u=this.ends,r=n.call(u,-1),i=_slicedToArray(r,1),o=i[0],r,t!==(f=null==o?void 0:o.tag)){var l,c;return"OUTDENT"!==f&&this.error("unmatched "+t),a=this.indents,l=n.call(a,-1),c=_slicedToArray(l,1),s=c[0],l,this.outdentToken(s,!0),this.pair(t)}return this.ends.pop()}},{key:"getLineAndColumnFromChunk",value:function(t){var r,i,s,o,u;if(0===t)return[this.chunkLine,this.chunkColumn];if(u=t>=this.chunk.length?this.chunk:this.chunk.slice(0,+(t-1)+1||9e9),s=dt(u,"\n"),r=this.chunkColumn,0<s){var a,f;o=u.split("\n"),a=n.call(o,-1),f=_slicedToArray(a,1),i=f[0],a,r=i.length}else r+=u.length;return[this.chunkLine+s,r]}},{key:"makeToken",value:function(t,n){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:0,i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:n.length,s,o,u;o={};var a=this.getLineAndColumnFromChunk(r),f=_slicedToArray(a,2);o.first_line=f[0],o.first_column=f[1],s=0<i?i-1:0;var l=this.getLineAndColumnFromChunk(r+s),c=_slicedToArray(l,2);return o.last_line=c[0],o.last_column=c[1],u=[t,n,o],u}},{key:"token",value:function(e,t,n,r,i){var s;return s=this.makeToken(e,t,n,r),i&&(s.origin=i),this.tokens.push(s),s}},{key:"tag",value:function(){var t,r,i,s;return i=this.tokens,t=n.call(i,-1),r=_slicedToArray(t,1),s=r[0],t,null==s?void 0:s[0]}},{key:"value",value:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],r,i,s,o,u;return s=this.tokens,r=n.call(s,-1),i=_slicedToArray(r,1),u=i[0],r,t&&null!=(null==u?void 0:u.origin)?null==(o=u.origin)?void 0:o[1]:null==u?void 0:u[1]}},{key:"prev",value:function(){return this.tokens[this.tokens.length-1]}},{key:"unfinished",value:function(){var n;return H.test(this.chunk)||(n=this.tag(),0<=t.call(at,n))}},{key:"formatString",value:function(t,n){return this.replaceUnicodeCodePointEscapes(t.replace(tt,"$1"),n)}},{key:"formatHeregex",value:function(t,n){return this.formatRegex(t.replace(T,"$1$2"),wt(n,{delimiter:"///"}))}},{key:"formatRegex",value:function(t,n){return this.replaceUnicodeCodePointEscapes(t,n)}},{key:"unicodeCodePointToUnicodeEscapes",value:function(t){var n,r,i;return(i=function(e){var t;return t=e.toString(16),"\\u"+Et("0",4-t.length)+t},65536>t)?i(t):(n=_Mathfloor((t-65536)/1024)+55296,r=(t-65536)%1024+56320,""+i(n)+i(r))}},{key:"replaceUnicodeCodePointEscapes",value:function(n,r){var i=this,s;return s=null!=r.flags&&0>t.call(r.flags,"u"),n.replace(ft,function(e,t,n,o){var u;return t?t:(u=parseInt(n,16),1114111<u&&i.error("unicode code point escapes greater than \\u{10ffff} are not allowed",{offset:o+r.delimiter.length,length:n.length+4}),s?i.unicodeCodePointToUnicodeEscapes(u):e)})}},{key:"validateEscapes",value:function(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r,i,s,o,u,a,f,l,c,h;if(o=n.isRegex?V:et,u=o.exec(t),!!u)return u[0],r=u[1],f=u[2],i=u[3],h=u[4],c=u[5],a=f?"octal escape sequences are not allowed":"invalid escape sequence",s="\\"+(f||i||h||c),this.error(a+" "+s,{offset:(null==(l=n.offsetInChunk)?0:l)+u.index+r.length,length:s.length})}},{key:"makeDelimitedLiteral",value:function(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r;return""===t&&"/"===n.delimiter&&(t="(?:)"),r=RegExp("(\\\\\\\\)|(\\\\0(?=[1-7]))|\\\\?("+n.delimiter+")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)","g"),t=t.replace(r,function(e,t,r,i,s,o,u,a,f){switch(!1){case!t:return n.double?t+t:t;case!r:return"\\x00";case!i:return"\\"+i;case!s:return"\\n";case!o:return"\\r";case!u:return"\\u2028";case!a:return"\\u2029";case!f:return n.double?"\\"+f:f}}),""+n.delimiter+t+n.delimiter}},{key:"suppressSemicolons",value:function(){var n,r,i;for(i=[];";"===this.value();)this.tokens.pop(),(n=null==(r=this.prev())?void 0:r[0],0<=t.call(["="].concat(_toConsumableArray(at)),n))?i.push(this.error("unexpected ;")):i.push(void 0);return i}},{key:"error",value:function(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},r,i,s,o,u,a,f;return u="first_line"in n?n:(r=this.getLineAndColumnFromChunk(null==(a=n.offset)?0:a),i=_slicedToArray(r,2),o=i[0],s=i[1],r,{first_line:o,first_column:s,last_column:s+(null==(f=n.length)?1:f)-1}),xt(t,u)}}]),e}(),gt=function(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:e;switch(!1){case 0>t.call([].concat(_toConsumableArray(_),_toConsumableArray(l)),e):return"keyword '"+n+"' can't be assigned";case 0>t.call(Y,e):return"'"+n+"' can't be assigned";case 0>t.call(J,e):return"reserved word '"+n+"' can't be assigned";default:return!1}},e.isUnassignable=gt,mt=function(e){var t;return"IDENTIFIER"===e[0]?("from"===e[1]&&(e[1][0]="IDENTIFIER",!0),!0):"FOR"!==e[0]&&"{"!==(t=e[1])&&"["!==t&&","!==t&&":"!==t},_=["true","false","null","this","new","delete","typeof","in","instanceof","return","throw","break","continue","debugger","yield","await","if","else","switch","for","while","do","try","catch","finally","class","extends","super","import","export","default"],l=["undefined","Infinity","NaN","then","unless","until","loop","of","by","when"],f={and:"&&",or:"||",is:"==",isnt:"!=",not:"!",yes:"true",no:"false",on:"true",off:"false"},a=function(){var e;for(yt in e=[],f)e.push(yt);return e}(),l=l.concat(a),J=["case","function","var","void","with","const","let","enum","native","implements","interface","package","private","protected","public","static"],Y=["arguments","eval"],e.JS_FORBIDDEN=_.concat(J).concat(Y),i=65279,C=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/,g=/^(?![\d<])((?:(?!\s)[\.\-$\w\x7f-\uffff])+)/,m=/^()>/,v=/^(?!\d)((?:(?!\s)[\-$\w\x7f-\uffff])+)([^\S]*=(?!=))?/,q=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i,R=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/,ct=/^[^\n\S]+/,c=/^\s*###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/,u=/^[-=]>/,F=/^(?:\n[^\n\S]*)+/,M=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/,N=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/,rt=/^(?:'''|"""|'|")/,nt=/^(?:[^\\']|\\[\s\S])*/,Z=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/,S=/^(?:[^\\']|\\[\s\S]|'(?!''))*/,w=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/,A=/^(?:[^\{<])*/,y=/^(?:\{|<(?!\/))/,tt=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g,G=/\s*\n\s*/g,E=/\n+([^\n\S]*)(?=\S)/g,z=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/,W=/^\w*/,lt=/^(?!.*(.).*\1)[imguy]*$/,x=/^(?:[^\\\/#\s]|\\[\s\S]|\/(?!\/\/)|\#(?!\{)|\s+(?:#(?!\{).*)?)*/,T=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g,X=/^(\/|\/{3}\s*)(\*)/,U=/^\/=?\s/,b=/\*\//,H=/^\s*(?:,|\??\.(?![.\d])|::)/,et=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,V=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7])|(x(?![\da-fA-F]{2}).{0,2})|(u\{(?![\da-fA-F]{1,}\})[^}]*\}?)|(u(?!\{|[\da-fA-F]{4}).{0,4}))/,ft=/(\\\\)|\\u\{([\da-fA-F]+)\}/g,D=/^[^\n\S]*\n/,it=/\n[^\n\S]*$/,st=/\s+$/,d=["-=","+=","/=","*=","%=","||=","&&=","?=","<<=",">>=",">>>=","&=","^=","|=","**=","//=","%%="],ot=["NEW","TYPEOF","DELETE","DO"],ut=["!","~"],Q=["<<",">>",">>>"],p=["==","!=","<",">","<=",">="],j=["*","/","%","//","%%"],$=["IN","OF","INSTANCEOF"],s=["TRUE","FALSE"],o=["IDENTIFIER","PROPERTY",")","]","?","@","THIS","SUPER"],L=o.concat(["NUMBER","INFINITY","NAN","STRING","STRING_END","REGEX","REGEX_END","BOOL","NULL","UNDEFINED","}","::"]),h=["IDENTIFIER",")","]","NUMBER"],I=L.concat(["++","--"]),P=["INDENT","OUTDENT","TERMINATOR"],k=[")","}","]"],at=["\\",".","?.","?::","UNARY","MATH","UNARY_MATH","+","-","**","SHIFT","RELATION","COMPARE","&","^","|","&&","||","BIN?","EXTENDS"]}.call(this),{exports:e}.exports}(),require["./parser"]=function(){var e={},t={exports:e},n=function(){function e(){this.yy={}}var t=function(e,t,n,r){for(n=n||{},r=e.length;r--;n[e[r]]=t);return n},n=[1,24],r=[1,56],i=[1,91],s=[1,92],o=[1,87],u=[1,93],a=[1,94],f=[1,89],l=[1,90],c=[1,64],h=[1,66],p=[1,67],d=[1,68],v=[1,69],m=[1,70],g=[1,72],y=[1,73],b=[1,58],w=[1,42],E=[1,36],S=[1,76],x=[1,77],T=[1,86],N=[1,54],C=[1,59],k=[1,60],L=[1,74],A=[1,75],O=[1,47],M=[1,55],_=[1,71],D=[1,81],P=[1,82],H=[1,83],B=[1,84],j=[1,53],F=[1,80],I=[1,38],q=[1,39],R=[1,40],U=[1,41],z=[1,43],W=[1,44],X=[1,95],V=[1,6,36,47,146],$=[1,6,35,36,47,69,70,93,127,135,146,149,157],J=[1,113],K=[1,114],Q=[1,115],G=[1,110],Y=[1,98],Z=[1,97],et=[1,96],tt=[1,99],nt=[1,100],rt=[1,101],it=[1,102],st=[1,103],ot=[1,104],ut=[1,105],at=[1,106],ft=[1,107],lt=[1,108],ct=[1,109],ht=[1,117],pt=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],dt=[2,196],vt=[1,123],mt=[1,128],gt=[1,124],yt=[1,125],bt=[1,126],wt=[1,129],Et=[1,122],St=[1,6,35,36,47,69,70,93,127,135,146,148,149,150,156,157,174],xt=[1,6,35,36,45,46,47,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Tt=[2,122],Nt=[2,126],Ct=[6,35,88,93],kt=[2,99],Lt=[1,141],At=[1,135],Ot=[1,140],Mt=[1,144],_t=[1,149],Dt=[1,147],Pt=[1,151],Ht=[1,155],Bt=[1,153],jt=[1,6,35,36,45,46,47,61,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Ft=[2,119],It=[1,6,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],qt=[2,31],Rt=[1,183],Ut=[2,86],zt=[1,187],Wt=[1,193],Xt=[1,208],Vt=[1,203],$t=[1,212],Jt=[1,209],Kt=[1,214],Qt=[1,215],Gt=[1,217],Yt=[14,32,35,38,39,43,45,46,49,50,54,55,56,57,58,59,68,77,84,85,86,90,91,107,110,112,120,129,130,140,144,145,148,150,153,156,167,173,176,177,178,179,180,181],Zt=[1,6,35,36,45,46,47,61,69,70,80,81,83,88,93,101,102,103,105,109,111,125,126,127,135,146,148,149,150,156,157,174,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],en=[1,228],tn=[2,142],nn=[1,250],rn=[1,245],sn=[1,256],on=[1,6,35,36,45,46,47,65,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],un=[1,6,33,35,36,45,46,47,61,65,69,70,80,81,83,88,93,101,102,103,105,109,111,117,125,126,127,135,146,148,149,150,156,157,164,165,166,174,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],an=[1,6,35,36,45,46,47,52,65,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],fn=[1,286],ln=[45,46,126],cn=[1,297],hn=[1,296],pn=[6,35],dn=[2,97],vn=[1,303],mn=[6,35,36,88,93],gn=[6,35,36,61,70,88,93],yn=[1,6,35,36,47,69,70,80,81,83,88,93,101,102,103,105,109,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],bn=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,178,179,183,184,185,186,187,188,189,190,191,192,193],wn=[2,347],En=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,178,179,183,185,186,187,188,189,190,191,192,193],Sn=[45,46,80,81,101,102,103,105,125,126],xn=[1,330],Tn=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174],Nn=[2,84],Cn=[1,346],kn=[1,348],Ln=[1,353],An=[1,355],On=[6,35,69,93],Mn=[2,221],_n=[2,222],Dn=[1,6,35,36,45,46,47,61,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,164,165,166,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Pn=[1,369],Hn=[6,14,32,35,36,38,39,43,45,46,49,50,54,55,56,57,58,59,68,69,70,77,84,85,86,90,91,93,107,110,112,120,129,130,140,144,145,148,150,153,156,167,173,176,177,178,179,180,181],Bn=[6,35,36,69,93],jn=[6,35,36,69,93,127],Fn=[1,6,35,36,45,46,47,61,65,69,70,80,81,83,88,93,101,102,103,105,109,111,125,126,127,135,146,148,149,150,156,157,164,165,166,174,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194],In=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,157,174],qn=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,149,157,174],Rn=[2,273],Un=[164,165,166],zn=[93,164,165,166],Wn=[6,35,109],Xn=[1,393],Vn=[6,35,36,93,109],$n=[6,35,36,65,93,109],Jn=[1,399],Kn=[1,400],Qn=[6,35,36,61,65,70,80,81,93,109,126],Gn=[6,35,36,70,80,81,93,109,126],Yn=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,178,179,185,186,187,188,189,190,191,192,193],Zn=[2,339],er=[2,338],tr=[1,6,35,36,45,46,47,52,69,70,80,81,83,88,93,101,102,103,105,109,125,126,127,135,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],nr=[1,422],rr=[14,32,38,39,43,45,46,49,50,54,55,56,57,58,59,68,77,83,84,85,86,90,91,107,110,112,120,129,130,140,144,145,148,150,153,156,167,173,176,177,178,179,180,181],ir=[2,207],sr=[6,35,36],or=[2,98],ur=[1,431],ar=[1,432],fr=[1,6,35,36,47,69,70,80,81,83,88,93,101,102,103,105,109,127,135,142,143,146,148,149,150,156,157,169,171,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],lr=[1,312],cr=[36,169,171],hr=[1,6,36,47,69,70,83,88,93,109,127,135,146,149,157,174],pr=[1,467],dr=[1,473],vr=[1,6,35,36,47,69,70,93,127,135,146,149,157,174],mr=[2,113],gr=[1,486],yr=[1,487],br=[6,35,36,69],wr=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,169,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Er=[1,6,35,36,47,69,70,93,127,135,146,149,157,169],Sr=[2,286],xr=[2,287],Tr=[2,302],Nr=[1,510],Cr=[1,511],kr=[6,35,36,109],Lr=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,150,156,157,174],Ar=[1,532],Or=[6,35,36,93,127],Mr=[6,35,36,93],_r=[1,6,35,36,47,69,70,83,88,93,109,127,135,142,146,148,149,150,156,157,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Dr=[35,93],Pr=[1,560],Hr=[1,561],Br=[1,567],jr=[1,568],Fr=[2,258],Ir=[2,261],qr=[2,274],Rr=[1,617],Ur=[1,618],zr=[2,288],Wr=[2,292],Xr=[2,289],Vr=[2,293],$r=[2,290],Jr=[2,291],Kr=[2,303],Qr=[2,304],Gr=[1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,174],Yr=[2,294],Zr=[2,296],ei=[2,298],ti=[2,300],ni=[2,295],ri=[2,297],ii=[2,299],si=[2,301],oi={trace:function(){},yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,ExpressionLine:8,Statement:9,FuncDirective:10,YieldReturn:11,AwaitReturn:12,Return:13,STATEMENT:14,Import:15,Export:16,Value:17,Code:18,Operation:19,Assign:20,If:21,Try:22,While:23,For:24,Switch:25,Class:26,Throw:27,Yield:28,CodeLine:29,IfLine:30,OperationLine:31,YIELD:32,FROM:33,Block:34,INDENT:35,OUTDENT:36,Identifier:37,IDENTIFIER:38,CSX_TAG:39,Property:40,PROPERTY:41,AlphaNumeric:42,NUMBER:43,String:44,STRING:45,STRING_START:46,STRING_END:47,Regex:48,REGEX:49,REGEX_START:50,Invocation:51,REGEX_END:52,Literal:53,JS:54,UNDEFINED:55,NULL:56,BOOL:57,INFINITY:58,NAN:59,Assignable:60,"=":61,AssignObj:62,ObjAssignable:63,ObjRestValue:64,":":65,SimpleObjAssignable:66,ThisProperty:67,"[":68,"]":69,"...":70,ObjSpreadExpr:71,ObjSpreadIdentifier:72,Object:73,Parenthetical:74,Super:75,This:76,SUPER:77,Arguments:78,ObjSpreadAccessor:79,".":80,INDEX_START:81,IndexValue:82,INDEX_END:83,RETURN:84,AWAIT:85,PARAM_START:86,ParamList:87,PARAM_END:88,FuncGlyph:89,"->":90,"=>":91,OptComma:92,",":93,Param:94,ParamVar:95,Array:96,Splat:97,SimpleAssignable:98,Accessor:99,Range:100,"?.":101,"::":102,"?::":103,Index:104,INDEX_SOAK:105,Slice:106,"{":107,AssignList:108,"}":109,CLASS:110,EXTENDS:111,IMPORT:112,ImportDefaultSpecifier:113,ImportNamespaceSpecifier:114,ImportSpecifierList:115,ImportSpecifier:116,AS:117,DEFAULT:118,IMPORT_ALL:119,EXPORT:120,ExportSpecifierList:121,EXPORT_ALL:122,ExportSpecifier:123,OptFuncExist:124,FUNC_EXIST:125,CALL_START:126,CALL_END:127,ArgList:128,THIS:129,"@":130,Elisions:131,ArgElisionList:132,OptElisions:133,RangeDots:134,"..":135,Arg:136,ArgElision:137,Elision:138,SimpleArgs:139,TRY:140,Catch:141,FINALLY:142,CATCH:143,THROW:144,"(":145,")":146,WhileLineSource:147,WHILE:148,WHEN:149,UNTIL:150,WhileSource:151,Loop:152,LOOP:153,ForBody:154,ForLineBody:155,FOR:156,BY:157,ForStart:158,ForSource:159,ForLineSource:160,ForVariables:161,OWN:162,ForValue:163,FORIN:164,FOROF:165,FORFROM:166,SWITCH:167,Whens:168,ELSE:169,When:170,LEADING_WHEN:171,IfBlock:172,IF:173,POST_IF:174,IfBlockLine:175,UNARY:176,UNARY_MATH:177,"-":178,"+":179,"--":180,"++":181,"?":182,MATH:183,"**":184,SHIFT:185,COMPARE:186,"&":187,"^":188,"|":189,"&&":190,"||":191,"BIN?":192,RELATION:193,COMPOUND_ASSIGN:194,$accept:0,$end:1},terminals_:{2:"error",6:"TERMINATOR",14:"STATEMENT",32:"YIELD",33:"FROM",35:"INDENT",36:"OUTDENT",38:"IDENTIFIER",39:"CSX_TAG",41:"PROPERTY",43:"NUMBER",45:"STRING",46:"STRING_START",47:"STRING_END",49:"REGEX",50:"REGEX_START",52:"REGEX_END",54:"JS",55:"UNDEFINED",56:"NULL",57:"BOOL",58:"INFINITY",59:"NAN",61:"=",65:":",68:"[",69:"]",70:"...",77:"SUPER",80:".",81:"INDEX_START",83:"INDEX_END",84:"RETURN",85:"AWAIT",86:"PARAM_START",88:"PARAM_END",90:"->",91:"=>",93:",",101:"?.",102:"::",103:"?::",105:"INDEX_SOAK",107:"{",109:"}",110:"CLASS",111:"EXTENDS",112:"IMPORT",117:"AS",118:"DEFAULT",119:"IMPORT_ALL",120:"EXPORT",122:"EXPORT_ALL",125:"FUNC_EXIST",126:"CALL_START",127:"CALL_END",129:"THIS",130:"@",135:"..",140:"TRY",142:"FINALLY",143:"CATCH",144:"THROW",145:"(",146:")",148:"WHILE",149:"WHEN",150:"UNTIL",153:"LOOP",156:"FOR",157:"BY",162:"OWN",164:"FORIN",165:"FOROF",166:"FORFROM",167:"SWITCH",169:"ELSE",171:"LEADING_WHEN",173:"IF",174:"POST_IF",176:"UNARY",177:"UNARY_MATH",178:"-",179:"+",180:"--",181:"++",182:"?",183:"MATH",184:"**",185:"SHIFT",186:"COMPARE",187:"&",188:"^",189:"|",190:"&&",191:"||",192:"BIN?",193:"RELATION",194:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[5,1],[10,1],[10,1],[9,1],[9,1],[9,1],[9,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[8,1],[8,1],[8,1],[28,1],[28,2],[28,3],[34,2],[34,3],[37,1],[37,1],[40,1],[42,1],[42,1],[44,1],[44,3],[48,1],[48,3],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[53,1],[20,3],[20,4],[20,5],[62,1],[62,1],[62,3],[62,5],[62,3],[62,5],[66,1],[66,1],[66,1],[66,3],[63,1],[63,1],[64,2],[64,2],[64,2],[64,2],[71,1],[71,1],[71,1],[71,1],[71,1],[71,2],[71,2],[71,2],[72,2],[72,2],[79,2],[79,3],[13,2],[13,4],[13,1],[11,3],[11,2],[12,3],[12,2],[18,5],[18,2],[29,5],[29,2],[89,1],[89,1],[92,0],[92,1],[87,0],[87,1],[87,3],[87,4],[87,6],[94,1],[94,2],[94,2],[94,3],[94,1],[95,1],[95,1],[95,1],[95,1],[97,2],[97,2],[98,1],[98,2],[98,2],[98,1],[60,1],[60,1],[60,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[17,1],[75,3],[75,4],[99,2],[99,2],[99,2],[99,2],[99,1],[99,1],[104,3],[104,2],[82,1],[82,1],[73,4],[108,0],[108,1],[108,3],[108,4],[108,6],[26,1],[26,2],[26,3],[26,4],[26,2],[26,3],[26,4],[26,5],[15,2],[15,4],[15,4],[15,5],[15,7],[15,6],[15,9],[115,1],[115,3],[115,4],[115,4],[115,6],[116,1],[116,3],[116,1],[116,3],[113,1],[114,3],[16,3],[16,5],[16,2],[16,4],[16,5],[16,6],[16,3],[16,5],[16,4],[16,7],[121,1],[121,3],[121,4],[121,4],[121,6],[123,1],[123,3],[123,3],[123,1],[123,3],[51,3],[51,3],[51,3],[124,0],[124,1],[78,2],[78,4],[76,1],[76,1],[67,2],[96,2],[96,3],[96,4],[134,1],[134,1],[100,5],[100,5],[106,3],[106,2],[106,3],[106,2],[106,2],[106,1],[128,1],[128,3],[128,4],[128,4],[128,6],[136,1],[136,1],[136,1],[136,1],[132,1],[132,3],[132,4],[132,4],[132,6],[137,1],[137,2],[133,1],[133,2],[131,1],[131,2],[138,1],[139,1],[139,1],[139,3],[139,3],[22,2],[22,3],[22,4],[22,5],[141,3],[141,3],[141,2],[27,2],[27,4],[74,3],[74,5],[147,2],[147,4],[147,2],[147,4],[151,2],[151,4],[151,4],[151,2],[151,4],[151,4],[23,2],[23,2],[23,2],[23,2],[23,1],[152,2],[152,2],[24,2],[24,2],[24,2],[24,2],[154,2],[154,4],[154,2],[155,4],[155,2],[158,2],[158,3],[163,1],[163,1],[163,1],[163,1],[161,1],[161,3],[159,2],[159,2],[159,4],[159,4],[159,4],[159,4],[159,4],[159,4],[159,6],[159,6],[159,6],[159,6],[159,6],[159,6],[159,6],[159,6],[159,2],[159,4],[159,4],[160,2],[160,2],[160,4],[160,4],[160,4],[160,4],[160,4],[160,4],[160,6],[160,6],[160,6],[160,6],[160,6],[160,6],[160,6],[160,6],[160,2],[160,4],[160,4],[25,5],[25,5],[25,7],[25,7],[25,4],[25,6],[168,1],[168,2],[170,3],[170,4],[172,3],[172,5],[21,1],[21,3],[21,3],[21,3],[175,3],[175,5],[30,1],[30,3],[30,3],[30,3],[31,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,2],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,3],[19,5],[19,4]],performAction:function(e,t,n,r,i,s,o){var u=s.length-1;switch(i){case 1:return this.$=r.addDataToNode(r,o[u],o[u])(new r.Block);case 2:return this.$=s[u];case 3:this.$=r.addDataToNode(r,o[u],o[u])(r.Block.wrap([s[u]]));break;case 4:this.$=r.addDataToNode(r,o[u-2],o[u])(s[u-2].push(s[u]));break;case 5:this.$=s[u-1];break;case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 27:case 28:case 29:case 30:case 40:case 45:case 47:case 57:case 62:case 63:case 64:case 66:case 67:case 72:case 73:case 74:case 75:case 76:case 97:case 98:case 109:case 110:case 111:case 112:case 118:case 119:case 122:case 127:case 136:case 221:case 222:case 223:case 225:case 237:case 238:case 280:case 281:case 330:case 336:case 342:this.$=s[u];break;case 13:this.$=r.addDataToNode(r,o[u],o[u])(new r.StatementLiteral(s[u]));break;case 31:this.$=r.addDataToNode(r,o[u],o[u])(new r.Op(s[u],new r.Value(new r.Literal(""))));break;case 32:case 346:case 347:case 348:case 351:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op(s[u-1],s[u]));break;case 33:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Op(s[u-2].concat(s[u-1]),s[u]));break;case 34:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Block);break;case 35:case 83:case 137:this.$=r.addDataToNode(r,o[u-2],o[u])(s[u-1]);break;case 36:this.$=r.addDataToNode(r,o[u],o[u])(new r.IdentifierLiteral(s[u]));break;case 37:this.$=r.addDataToNode(r,o[u],o[u])(new r.CSXTag(s[u]));break;case 38:this.$=r.addDataToNode(r,o[u],o[u])(new r.PropertyName(s[u]));break;case 39:this.$=r.addDataToNode(r,o[u],o[u])(new r.NumberLiteral(s[u]));break;case 41:this.$=r.addDataToNode(r,o[u],o[u])(new r.StringLiteral(s[u]));break;case 42:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.StringWithInterpolations(s[u-1]));break;case 43:this.$=r.addDataToNode(r,o[u],o[u])(new r.RegexLiteral(s[u]));break;case 44:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.RegexWithInterpolations(s[u-1].args));break;case 46:this.$=r.addDataToNode(r,o[u],o[u])(new r.PassthroughLiteral(s[u]));break;case 48:this.$=r.addDataToNode(r,o[u],o[u])(new r.UndefinedLiteral(s[u]));break;case 49:this.$=r.addDataToNode(r,o[u],o[u])(new r.NullLiteral(s[u]));break;case 50:this.$=r.addDataToNode(r,o[u],o[u])(new r.BooleanLiteral(s[u]));break;case 51:this.$=r.addDataToNode(r,o[u],o[u])(new r.InfinityLiteral(s[u]));break;case 52:this.$=r.addDataToNode(r,o[u],o[u])(new r.NaNLiteral(s[u]));break;case 53:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Assign(s[u-2],s[u]));break;case 54:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Assign(s[u-3],s[u]));break;case 55:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Assign(s[u-4],s[u-1]));break;case 56:case 115:case 120:case 121:case 123:case 124:case 125:case 126:case 128:case 282:case 283:this.$=r.addDataToNode(r,o[u],o[u])(new r.Value(s[u]));break;case 58:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Assign(r.addDataToNode(r,o[u-2])(new r.Value(s[u-2])),s[u],"object",{operatorToken:r.addDataToNode(r,o[u-1])(new r.Literal(s[u-1]))}));break;case 59:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Assign(r.addDataToNode(r,o[u-4])(new r.Value(s[u-4])),s[u-1],"object",{operatorToken:r.addDataToNode(r,o[u-3])(new r.Literal(s[u-3]))}));break;case 60:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Assign(r.addDataToNode(r,o[u-2])(new r.Value(s[u-2])),s[u],null,{operatorToken:r.addDataToNode(r,o[u-1])(new r.Literal(s[u-1]))}));break;case 61:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Assign(r.addDataToNode(r,o[u-4])(new r.Value(s[u-4])),s[u-1],null,{operatorToken:r.addDataToNode(r,o[u-3])(new r.Literal(s[u-3]))}));break;case 65:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Value(new r.ComputedPropertyName(s[u-1])));break;case 68:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Splat(new r.Value(s[u-1])));break;case 69:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Splat(new r.Value(s[u])));break;case 70:case 113:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Splat(s[u-1]));break;case 71:case 114:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Splat(s[u]));break;case 77:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.SuperCall(r.addDataToNode(r,o[u-1])(new r.Super),s[u],!1,s[u-1]));break;case 78:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Call(new r.Value(s[u-1]),s[u]));break;case 79:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Call(s[u-1],s[u]));break;case 80:case 81:this.$=r.addDataToNode(r,o[u-1],o[u])((new r.Value(s[u-1])).add(s[u]));break;case 82:case 131:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Access(s[u]));break;case 84:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Return(s[u]));break;case 85:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Return(new r.Value(s[u-1])));break;case 86:this.$=r.addDataToNode(r,o[u],o[u])(new r.Return);break;case 87:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.YieldReturn(s[u]));break;case 88:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.YieldReturn);break;case 89:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.AwaitReturn(s[u]));break;case 90:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.AwaitReturn);break;case 91:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Code(s[u-3],s[u],s[u-1],r.addDataToNode(r,o[u-4])(new r.Literal(s[u-4]))));break;case 92:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Code([],s[u],s[u-1]));break;case 93:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Code(s[u-3],r.addDataToNode(r,o[u])(r.Block.wrap([s[u]])),s[u-1],r.addDataToNode(r,o[u-4])(new r.Literal(s[u-4]))));break;case 94:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Code([],r.addDataToNode(r,o[u])(r.Block.wrap([s[u]])),s[u-1]));break;case 95:case 96:this.$=r.addDataToNode(r,o[u],o[u])(new r.FuncGlyph(s[u]));break;case 99:case 142:case 232:this.$=r.addDataToNode(r,o[u],o[u])([]);break;case 100:case 143:case 162:case 183:case 216:case 230:case 234:case 284:this.$=r.addDataToNode(r,o[u],o[u])([s[u]]);break;case 101:case 144:case 163:case 184:case 217:case 226:this.$=r.addDataToNode(r,o[u-2],o[u])(s[u-2].concat(s[u]));break;case 102:case 145:case 164:case 185:case 218:this.$=r.addDataToNode(r,o[u-3],o[u])(s[u-3].concat(s[u]));break;case 103:case 146:case 166:case 187:case 220:this.$=r.addDataToNode(r,o[u-5],o[u])(s[u-5].concat(s[u-2]));break;case 104:this.$=r.addDataToNode(r,o[u],o[u])(new r.Param(s[u]));break;case 105:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Param(s[u-1],null,!0));break;case 106:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Param(s[u],null,!0));break;case 107:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Param(s[u-2],s[u]));break;case 108:case 224:this.$=r.addDataToNode(r,o[u],o[u])(new r.Expansion);break;case 116:this.$=r.addDataToNode(r,o[u-1],o[u])(s[u-1].add(s[u]));break;case 117:this.$=r.addDataToNode(r,o[u-1],o[u])((new r.Value(s[u-1])).add(s[u]));break;case 129:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Super(r.addDataToNode(r,o[u])(new r.Access(s[u])),[],!1,s[u-2]));break;case 130:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Super(r.addDataToNode(r,o[u-1])(new r.Index(s[u-1])),[],!1,s[u-3]));break;case 132:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Access(s[u],"soak"));break;case 133:this.$=r.addDataToNode(r,o[u-1],o[u])([r.addDataToNode(r,o[u-1])(new r.Access(new r.PropertyName("prototype"))),r.addDataToNode(r,o[u])(new r.Access(s[u]))]);break;case 134:this.$=r.addDataToNode(r,o[u-1],o[u])([r.addDataToNode(r,o[u-1])(new r.Access(new r.PropertyName("prototype"),"soak")),r.addDataToNode(r,o[u])(new r.Access(s[u]))]);break;case 135:this.$=r.addDataToNode(r,o[u],o[u])(new r.Access(new r.PropertyName("prototype")));break;case 138:this.$=r.addDataToNode(r,o[u-1],o[u])(r.extend(s[u],{soak:!0}));break;case 139:this.$=r.addDataToNode(r,o[u],o[u])(new r.Index(s[u]));break;case 140:this.$=r.addDataToNode(r,o[u],o[u])(new r.Slice(s[u]));break;case 141:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Obj(s[u-2],s[u-3].generated));break;case 147:this.$=r.addDataToNode(r,o[u],o[u])(new r.Class);break;case 148:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Class(null,null,s[u]));break;case 149:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Class(null,s[u]));break;case 150:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Class(null,s[u-1],s[u]));break;case 151:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Class(s[u]));break;case 152:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Class(s[u-1],null,s[u]));break;case 153:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Class(s[u-2],s[u]));break;case 154:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Class(s[u-3],s[u-1],s[u]));break;case 155:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.ImportDeclaration(null,s[u]));break;case 156:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.ImportDeclaration(new r.ImportClause(s[u-2],null),s[u]));break;case 157:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.ImportDeclaration(new r.ImportClause(null,s[u-2]),s[u]));break;case 158:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.ImportDeclaration(new r.ImportClause(null,new r.ImportSpecifierList([])),s[u]));break;case 159:this.$=r.addDataToNode(r,o[u-6],o[u])(new r.ImportDeclaration(new r.ImportClause(null,new r.ImportSpecifierList(s[u-4])),s[u]));break;case 160:this.$=r.addDataToNode(r,o[u-5],o[u])(new r.ImportDeclaration(new r.ImportClause(s[u-4],s[u-2]),s[u]));break;case 161:this.$=r.addDataToNode(r,o[u-8],o[u])(new r.ImportDeclaration(new r.ImportClause(s[u-7],new r.ImportSpecifierList(s[u-4])),s[u]));break;case 165:case 186:case 199:case 219:this.$=r.addDataToNode(r,o[u-3],o[u])(s[u-2]);break;case 167:this.$=r.addDataToNode(r,o[u],o[u])(new r.ImportSpecifier(s[u]));break;case 168:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ImportSpecifier(s[u-2],s[u]));break;case 169:this.$=r.addDataToNode(r,o[u],o[u])(new r.ImportSpecifier(new r.Literal(s[u])));break;case 170:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ImportSpecifier(new r.Literal(s[u-2]),s[u]));break;case 171:this.$=r.addDataToNode(r,o[u],o[u])(new r.ImportDefaultSpecifier(s[u]));break;case 172:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ImportNamespaceSpecifier(new r.Literal(s[u-2]),s[u]));break;case 173:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ExportNamedDeclaration(new r.ExportSpecifierList([])));break;case 174:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.ExportNamedDeclaration(new r.ExportSpecifierList(s[u-2])));break;case 175:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.ExportNamedDeclaration(s[u]));break;case 176:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.ExportNamedDeclaration(new r.Assign(s[u-2],s[u],null,{moduleDeclaration:"export"})));break;case 177:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.ExportNamedDeclaration(new r.Assign(s[u-3],s[u],null,{moduleDeclaration:"export"})));break;case 178:this.$=r.addDataToNode(r,o[u-5],o[u])(new r.ExportNamedDeclaration(new r.Assign(s[u-4],s[u-1],null,{moduleDeclaration:"export"})));break;case 179:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ExportDefaultDeclaration(s[u]));break;case 180:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.ExportDefaultDeclaration(new r.Value(s[u-1])));break;case 181:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.ExportAllDeclaration(new r.Literal(s[u-2]),s[u]));break;case 182:this.$=r.addDataToNode(r,o[u-6],o[u])(new r.ExportNamedDeclaration(new r.ExportSpecifierList(s[u-4]),s[u]));break;case 188:this.$=r.addDataToNode(r,o[u],o[u])(new r.ExportSpecifier(s[u]));break;case 189:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ExportSpecifier(s[u-2],s[u]));break;case 190:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ExportSpecifier(s[u-2],new r.Literal(s[u])));break;case 191:this.$=r.addDataToNode(r,o[u],o[u])(new r.ExportSpecifier(new r.Literal(s[u])));break;case 192:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.ExportSpecifier(new r.Literal(s[u-2]),s[u]));break;case 193:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.TaggedTemplateCall(s[u-2],s[u],s[u-1]));break;case 194:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Call(s[u-2],s[u],s[u-1]));break;case 195:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.SuperCall(r.addDataToNode(r,o[u-2])(new r.Super),s[u],s[u-1],s[u-2]));break;case 196:this.$=r.addDataToNode(r,o[u],o[u])(!1);break;case 197:this.$=r.addDataToNode(r,o[u],o[u])(!0);break;case 198:this.$=r.addDataToNode(r,o[u-1],o[u])([]);break;case 200:case 201:this.$=r.addDataToNode(r,o[u],o[u])(new r.Value(new r.ThisLiteral(s[u])));break;case 202:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Value(r.addDataToNode(r,o[u-1])(new r.ThisLiteral(s[u-1])),[r.addDataToNode(r,o[u])(new r.Access(s[u]))],"this"));break;case 203:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Arr([]));break;case 204:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Arr(s[u-1]));break;case 205:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Arr([].concat(s[u-2],s[u-1])));break;case 206:this.$=r.addDataToNode(r,o[u],o[u])("inclusive");break;case 207:this.$=r.addDataToNode(r,o[u],o[u])("exclusive");break;case 208:case 209:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Range(s[u-3],s[u-1],s[u-2]));break;case 210:case 212:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Range(s[u-2],s[u],s[u-1]));break;case 211:case 213:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Range(s[u-1],null,s[u]));break;case 214:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Range(null,s[u],s[u-1]));break;case 215:this.$=r.addDataToNode(r,o[u],o[u])(new r.Range(null,null,s[u]));break;case 227:this.$=r.addDataToNode(r,o[u-3],o[u])(s[u-3].concat(s[u-2],s[u]));break;case 228:this.$=r.addDataToNode(r,o[u-3],o[u])(s[u-2].concat(s[u-1]));break;case 229:this.$=r.addDataToNode(r,o[u-5],o[u])(s[u-5].concat(s[u-4],s[u-2],s[u-1]));break;case 231:case 235:case 331:this.$=r.addDataToNode(r,o[u-1],o[u])(s[u-1].concat(s[u]));break;case 233:this.$=r.addDataToNode(r,o[u-1],o[u])([].concat(s[u]));break;case 236:this.$=r.addDataToNode(r,o[u],o[u])(new r.Elision);break;case 239:case 240:this.$=r.addDataToNode(r,o[u-2],o[u])([].concat(s[u-2],s[u]));break;case 241:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Try(s[u]));break;case 242:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Try(s[u-1],s[u][0],s[u][1]));break;case 243:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Try(s[u-2],null,null,s[u]));break;case 244:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Try(s[u-3],s[u-2][0],s[u-2][1],s[u]));break;case 245:this.$=r.addDataToNode(r,o[u-2],o[u])([s[u-1],s[u]]);break;case 246:this.$=r.addDataToNode(r,o[u-2],o[u])([r.addDataToNode(r,o[u-1])(new r.Value(s[u-1])),s[u]]);break;case 247:this.$=r.addDataToNode(r,o[u-1],o[u])([null,s[u]]);break;case 248:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Throw(s[u]));break;case 249:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Throw(new r.Value(s[u-1])));break;case 250:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Parens(s[u-1]));break;case 251:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Parens(s[u-2]));break;case 252:case 256:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.While(s[u]));break;case 253:case 257:case 258:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.While(s[u-2],{guard:s[u]}));break;case 254:case 259:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.While(s[u],{invert:!0}));break;case 255:case 260:case 261:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.While(s[u-2],{invert:!0,guard:s[u]}));break;case 262:case 263:this.$=r.addDataToNode(r,o[u-1],o[u])(s[u-1].addBody(s[u]));break;case 264:case 265:this.$=r.addDataToNode(r,o[u-1],o[u])(s[u].addBody(r.addDataToNode(r,o[u-1])(r.Block.wrap([s[u-1]]))));break;case 266:this.$=r.addDataToNode(r,o[u],o[u])(s[u]);break;case 267:this.$=r.addDataToNode(r,o[u-1],o[u])((new r.While(r.addDataToNode(r,o[u-1])(new r.BooleanLiteral("true")))).addBody(s[u]));break;case 268:this.$=r.addDataToNode(r,o[u-1],o[u])((new r.While(r.addDataToNode(r,o[u-1])(new r.BooleanLiteral("true")))).addBody(r.addDataToNode(r,o[u])(r.Block.wrap([s[u]]))));break;case 269:case 270:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.For(s[u-1],s[u]));break;case 271:case 272:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.For(s[u],s[u-1]));break;case 273:this.$=r.addDataToNode(r,o[u-1],o[u])({source:r.addDataToNode(r,o[u])(new r.Value(s[u]))});break;case 274:case 276:this.$=r.addDataToNode(r,o[u-3],o[u])({source:r.addDataToNode(r,o[u-2])(new r.Value(s[u-2])),step:s[u]});break;case 275:case 277:this.$=r.addDataToNode(r,o[u-1],o[u])(function(){return s[u].own=s[u-1].own,s[u].ownTag=s[u-1].ownTag,s[u].name=s[u-1][0],s[u].index=s[u-1][1],s[u]}());break;case 278:this.$=r.addDataToNode(r,o[u-1],o[u])(s[u]);break;case 279:this.$=r.addDataToNode(r,o[u-2],o[u])(function(){return s[u].own=!0,s[u].ownTag=r.addDataToNode(r,o[u-1])(new r.Literal(s[u-1])),s[u]}());break;case 285:this.$=r.addDataToNode(r,o[u-2],o[u])([s[u-2],s[u]]);break;case 286:case 305:this.$=r.addDataToNode(r,o[u-1],o[u])({source:s[u]});break;case 287:case 306:this.$=r.addDataToNode(r,o[u-1],o[u])({source:s[u],object:!0});break;case 288:case 289:case 307:case 308:this.$=r.addDataToNode(r,o[u-3],o[u])({source:s[u-2],guard:s[u]});break;case 290:case 291:case 309:case 310:this.$=r.addDataToNode(r,o[u-3],o[u])({source:s[u-2],guard:s[u],object:!0});break;case 292:case 293:case 311:case 312:this.$=r.addDataToNode(r,o[u-3],o[u])({source:s[u-2],step:s[u]});break;case 294:case 295:case 296:case 297:case 313:case 314:case 315:case 316:this.$=r.addDataToNode(r,o[u-5],o[u])({source:s[u-4],guard:s[u-2],step:s[u]});break;case 298:case 299:case 300:case 301:case 317:case 318:case 319:case 320:this.$=r.addDataToNode(r,o[u-5],o[u])({source:s[u-4],step:s[u-2],guard:s[u]});break;case 302:case 321:this.$=r.addDataToNode(r,o[u-1],o[u])({source:s[u],from:!0});break;case 303:case 304:case 322:case 323:this.$=r.addDataToNode(r,o[u-3],o[u])({source:s[u-2],guard:s[u],from:!0});break;case 324:case 325:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Switch(s[u-3],s[u-1]));break;case 326:case 327:this.$=r.addDataToNode(r,o[u-6],o[u])(new r.Switch(s[u-5],s[u-3],s[u-1]));break;case 328:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Switch(null,s[u-1]));break;case 329:this.$=r.addDataToNode(r,o[u-5],o[u])(new r.Switch(null,s[u-3],s[u-1]));break;case 332:this.$=r.addDataToNode(r,o[u-2],o[u])([[s[u-1],s[u]]]);break;case 333:this.$=r.addDataToNode(r,o[u-3],o[u])([[s[u-2],s[u-1]]]);break;case 334:case 340:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}));break;case 335:case 341:this.$=r.addDataToNode(r,o[u-4],o[u])(s[u-4].addElse(r.addDataToNode(r,o[u-2],o[u])(new r.If(s[u-1],s[u],{type:s[u-2]}))));break;case 337:case 343:this.$=r.addDataToNode(r,o[u-2],o[u])(s[u-2].addElse(s[u]));break;case 338:case 339:case 344:case 345:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.If(s[u],r.addDataToNode(r,o[u-2])(r.Block.wrap([s[u-2]])),{type:s[u-1],statement:!0}));break;case 349:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("-",s[u]));break;case 350:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("+",s[u]));break;case 352:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("--",s[u]));break;case 353:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("++",s[u]));break;case 354:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("--",s[u-1],null,!0));break;case 355:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Op("++",s[u-1],null,!0));break;case 356:this.$=r.addDataToNode(r,o[u-1],o[u])(new r.Existence(s[u-1]));break;case 357:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Op("+",s[u-2],s[u]));break;case 358:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Op("-",s[u-2],s[u]));break;case 359:case 360:case 361:case 362:case 363:case 364:case 365:case 366:case 367:case 368:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Op(s[u-1],s[u-2],s[u]));break;case 369:this.$=r.addDataToNode(r,o[u-2],o[u])(function(){return"!"===s[u-1].charAt(0)?(new r.Op(s[u-1].slice(1),s[u-2],s[u])).invert():new r.Op(s[u-1],s[u-2],s[u])}());break;case 370:this.$=r.addDataToNode(r,o[u-2],o[u])(new r.Assign(s[u-2],s[u],s[u-1]));break;case 371:this.$=r.addDataToNode(r,o[u-4],o[u])(new r.Assign(s[u-4],s[u-1],s[u-3]));break;case 372:this.$=r.addDataToNode(r,o[u-3],o[u])(new r.Assign(s[u-3],s[u],s[u-2]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{1:[3]},{1:[2,2],6:X},t(V,[2,3]),t($,[2,6],{151:111,154:112,158:116,148:J,150:K,156:Q,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t($,[2,7]),t($,[2,8],{158:116,151:118,154:119,148:J,150:K,156:Q,174:ht}),t($,[2,9]),t(pt,[2,16],{124:120,99:121,104:127,45:dt,46:dt,126:dt,80:vt,81:mt,101:gt,102:yt,103:bt,105:wt,125:Et}),t(pt,[2,17],{104:127,99:130,80:vt,81:mt,101:gt,102:yt,103:bt,105:wt}),t(pt,[2,18]),t(pt,[2,19]),t(pt,[2,20]),t(pt,[2,21]),t(pt,[2,22]),t(pt,[2,23]),t(pt,[2,24]),t(pt,[2,25]),t(pt,[2,26]),t(pt,[2,27]),t($,[2,28]),t($,[2,29]),t($,[2,30]),t(St,[2,12]),t(St,[2,13]),t(St,[2,14]),t(St,[2,15]),t($,[2,10]),t($,[2,11]),t(xt,Tt,{61:[1,131]}),t(xt,[2,123]),t(xt,[2,124]),t(xt,[2,125]),t(xt,Nt),t(xt,[2,127]),t(xt,[2,128]),t(Ct,kt,{87:132,94:133,95:134,37:136,67:137,96:138,73:139,38:i,39:s,68:Lt,70:At,107:T,130:Ot}),{5:143,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,34:142,35:Mt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:145,8:146,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:150,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:156,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:157,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:158,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:[1,159],85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{17:161,18:162,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:163,67:79,68:g,73:62,74:31,75:35,76:34,77:y,86:Pt,89:152,90:S,91:x,96:61,98:160,100:32,107:T,129:L,130:A,145:_},{17:161,18:162,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:163,67:79,68:g,73:62,74:31,75:35,76:34,77:y,86:Pt,89:152,90:S,91:x,96:61,98:164,100:32,107:T,129:L,130:A,145:_},t(jt,Ft,{180:[1,165],181:[1,166],194:[1,167]}),t(pt,[2,336],{169:[1,168]}),{34:169,35:Mt},{34:170,35:Mt},{34:171,35:Mt},t(pt,[2,266]),{34:172,35:Mt},{34:173,35:Mt},{7:174,8:175,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:[1,176],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(It,[2,147],{53:30,74:31,100:32,51:33,76:34,75:35,96:61,73:62,42:63,48:65,37:78,67:79,44:88,89:152,17:161,18:162,60:163,34:177,98:179,35:Mt,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,86:Pt,90:S,91:x,107:T,111:[1,178],129:L,130:A,145:_}),{7:180,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,181],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t([1,6,35,36,47,69,70,93,127,135,146,148,149,150,156,157,174,182,183,184,185,186,187,188,189,190,191,192,193],qt,{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:182,14:n,32:_t,33:Rt,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:[1,184],85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,153:H,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),t($,[2,342],{169:[1,185]}),t([1,6,36,47,69,70,93,127,135,146,148,149,150,156,157,174],Ut,{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:186,14:n,32:_t,35:zt,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,153:H,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),{37:192,38:i,39:s,44:188,45:u,46:a,107:[1,191],113:189,114:190,119:Wt},{26:195,37:196,38:i,39:s,107:[1,194],110:N,118:[1,197],122:[1,198]},t(jt,[2,120]),t(jt,[2,121]),t(xt,[2,45]),t(xt,[2,46]),t(xt,[2,47]),t(xt,[2,48]),t(xt,[2,49]),t(xt,[2,50]),t(xt,[2,51]),t(xt,[2,52]),{4:199,5:3,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,35:[1,200],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:201,8:202,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:Xt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,69:Vt,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,131:204,132:205,136:210,137:207,138:206,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{80:Kt,81:Qt,124:213,125:Et,126:dt},t(xt,[2,200]),t(xt,[2,201],{40:216,41:Gt}),t(Yt,[2,95]),t(Yt,[2,96]),t(Zt,[2,115]),t(Zt,[2,118]),{7:218,8:219,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:220,8:221,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:222,8:223,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:225,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,34:224,35:Mt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{37:230,38:i,39:s,67:231,68:g,73:233,96:232,100:226,107:T,130:Ot,161:227,162:en,163:229},{159:234,160:235,164:[1,236],165:[1,237],166:[1,238]},t([6,35,93,109],tn,{44:88,108:239,62:240,63:241,64:242,66:243,42:244,71:246,37:247,40:248,67:249,72:251,73:252,74:253,75:254,76:255,38:i,39:s,41:Gt,43:o,45:u,46:a,68:nn,70:rn,77:sn,107:T,129:L,130:A,145:_}),t(on,[2,39]),t(on,[2,40]),t(xt,[2,43]),{17:161,18:162,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:257,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:163,67:79,68:g,73:62,74:31,75:35,76:34,77:y,86:Pt,89:152,90:S,91:x,96:61,98:258,100:32,107:T,129:L,130:A,145:_},t(un,[2,36]),t(un,[2,37]),t(an,[2,41]),{4:259,5:3,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(V,[2,5],{7:4,8:5,9:6,10:7,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,13:23,15:25,16:26,11:27,12:28,60:29,53:30,74:31,100:32,51:33,76:34,75:35,89:37,98:45,172:46,151:48,147:49,152:50,154:51,155:52,175:57,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,5:260,14:n,32:r,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:w,86:E,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:D,150:P,153:H,156:B,167:j,173:F,176:I,177:q,178:R,179:U,180:z,181:W}),t(pt,[2,356]),{7:261,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:262,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:263,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:264,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:265,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:266,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:267,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:268,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:269,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:270,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:271,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:272,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:273,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:274,8:275,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(pt,[2,265]),t(pt,[2,270]),{7:220,8:276,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:222,8:277,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{37:230,38:i,39:s,67:231,68:g,73:233,96:232,100:278,107:T,130:Ot,161:227,162:en,163:229},{159:234,164:[1,279],165:[1,280],166:[1,281]},{7:282,8:283,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(pt,[2,264]),t(pt,[2,269]),{44:284,45:u,46:a,78:285,126:fn},t(Zt,[2,116]),t(ln,[2,197]),{40:287,41:Gt},{40:288,41:Gt},t(Zt,[2,135],{40:289,41:Gt}),{40:290,41:Gt},t(Zt,[2,136]),{7:292,8:294,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:cn,73:62,74:31,75:35,76:34,77:y,82:291,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,106:293,107:T,110:N,112:C,120:k,129:L,130:A,134:295,135:hn,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{81:mt,104:298,105:wt},t(Zt,[2,117]),{6:[1,300],7:299,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,301],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(pn,dn,{92:304,88:[1,302],93:vn}),t(mn,[2,100]),t(mn,[2,104],{61:[1,306],70:[1,305]}),t(mn,[2,108],{37:136,67:137,96:138,73:139,95:307,38:i,39:s,68:Lt,107:T,130:Ot}),t(gn,[2,109]),t(gn,[2,110]),t(gn,[2,111]),t(gn,[2,112]),{40:216,41:Gt},{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:Xt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,69:Vt,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,131:204,132:205,136:210,137:207,138:206,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(yn,[2,92]),t($,[2,94]),{4:311,5:3,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,36:[1,310],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(bn,wn,{151:111,154:112,158:116,182:et}),t($,[2,346]),{7:158,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{148:J,150:K,151:118,154:119,156:Q,158:116,174:ht},t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,182,183,184,185,186,187,188,189,190,191,192,193],qt,{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:182,14:n,32:_t,33:Rt,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,153:H,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),t(En,[2,348],{151:111,154:112,158:116,182:et,184:nt}),t(Ct,kt,{94:133,95:134,37:136,67:137,96:138,73:139,87:313,38:i,39:s,68:Lt,70:At,107:T,130:Ot}),{34:142,35:Mt},{7:314,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{148:J,150:K,151:118,154:119,156:Q,158:116,174:[1,315]},{7:316,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(En,[2,349],{151:111,154:112,158:116,182:et,184:nt}),t(En,[2,350],{151:111,154:112,158:116,182:et,184:nt}),t(bn,[2,351],{151:111,154:112,158:116,182:et}),t($,[2,90],{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:317,14:n,32:_t,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:Ut,150:Ut,156:Ut,174:Ut,153:H,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),t(pt,[2,352],{45:Ft,46:Ft,80:Ft,81:Ft,101:Ft,102:Ft,103:Ft,105:Ft,125:Ft,126:Ft}),t(ln,dt,{124:120,99:121,104:127,80:vt,81:mt,101:gt,102:yt,103:bt,105:wt,125:Et}),{80:vt,81:mt,99:130,101:gt,102:yt,103:bt,104:127,105:wt},t(Sn,Tt),t(pt,[2,353],{45:Ft,46:Ft,80:Ft,81:Ft,101:Ft,102:Ft,103:Ft,105:Ft,125:Ft,126:Ft}),t(pt,[2,354]),t(pt,[2,355]),{6:[1,320],7:318,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,319],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{34:321,35:Mt,173:[1,322]},t(pt,[2,241],{141:323,142:[1,324],143:[1,325]}),t(pt,[2,262]),t(pt,[2,263]),t(pt,[2,271]),t(pt,[2,272]),{35:[1,326],148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[1,327]},{168:328,170:329,171:xn},t(pt,[2,148]),{7:331,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(It,[2,151],{34:332,35:Mt,45:Ft,46:Ft,80:Ft,81:Ft,101:Ft,102:Ft,103:Ft,105:Ft,125:Ft,126:Ft,111:[1,333]}),t(Tn,[2,248],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{73:334,107:T},t(Tn,[2,32],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:335,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t([1,6,36,47,69,70,93,127,135,146,149,157],[2,88],{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:336,14:n,32:_t,35:zt,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:Ut,150:Ut,156:Ut,174:Ut,153:H,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),{34:337,35:Mt,173:[1,338]},t(St,Nn,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{73:339,107:T},t(St,[2,155]),{33:[1,340],93:[1,341]},{33:[1,342]},{35:Cn,37:347,38:i,39:s,109:[1,343],115:344,116:345,118:kn},t([33,93],[2,171]),{117:[1,349]},{35:Ln,37:354,38:i,39:s,109:[1,350],118:An,121:351,123:352},t(St,[2,175]),{61:[1,356]},{7:357,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,358],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{33:[1,359]},{6:X,146:[1,360]},{4:361,5:3,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(On,Mn,{151:111,154:112,158:116,134:362,70:[1,363],135:hn,148:J,150:K,156:Q,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(On,_n,{134:364,70:cn,135:hn}),t(Dn,[2,203]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,69:[1,365],70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,136:367,138:366,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t([6,35,69],dn,{133:368,92:370,93:Pn}),t(Hn,[2,234]),t(Bn,[2,225]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:Xt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,131:372,132:371,136:210,137:207,138:206,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Hn,[2,236]),t(Bn,[2,230]),t(jn,[2,223]),t(jn,[2,224],{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,98:45,172:46,151:48,147:49,152:50,154:51,155:52,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,89:152,9:154,7:373,14:n,32:_t,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,77:y,84:b,85:Dt,86:Pt,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:D,150:P,153:H,156:B,167:j,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W}),{78:374,126:fn},{40:375,41:Gt},{7:376,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Fn,[2,202]),t(Fn,[2,38]),{34:377,35:Mt,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{34:378,35:Mt},t(In,[2,256],{151:111,154:112,158:116,148:J,149:[1,379],150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{35:[2,252],149:[1,380]},t(In,[2,259],{151:111,154:112,158:116,148:J,149:[1,381],150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{35:[2,254],149:[1,382]},t(pt,[2,267]),t(qn,[2,268],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{35:Rn,157:[1,383]},t(Un,[2,278]),{37:230,38:i,39:s,67:231,68:Lt,73:233,96:232,107:T,130:Ot,161:384,163:229},t(Un,[2,284],{93:[1,385]}),t(zn,[2,280]),t(zn,[2,281]),t(zn,[2,282]),t(zn,[2,283]),t(pt,[2,275]),{35:[2,277]},{7:386,8:387,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:388,8:389,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:390,8:391,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Wn,dn,{92:392,93:Xn}),t(Vn,[2,143]),t(Vn,[2,56],{65:[1,394]}),t(Vn,[2,57]),t($n,[2,66],{78:397,79:398,61:[1,395],70:[1,396],80:Jn,81:Kn,126:fn}),t($n,[2,67]),{37:247,38:i,39:s,40:248,41:Gt,66:401,67:249,68:nn,71:402,72:251,73:252,74:253,75:254,76:255,77:sn,107:T,129:L,130:A,145:_},{70:[1,403],78:404,79:405,80:Jn,81:Kn,126:fn},t(Qn,[2,62]),t(Qn,[2,63]),t(Qn,[2,64]),{7:406,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Gn,[2,72]),t(Gn,[2,73]),t(Gn,[2,74]),t(Gn,[2,75]),t(Gn,[2,76]),{78:407,80:Kt,81:Qt,126:fn},t(Sn,Nt,{52:[1,408]}),t(Sn,Ft),{6:X,47:[1,409]},t(V,[2,4]),t(Yn,[2,357],{151:111,154:112,158:116,182:et,183:tt,184:nt}),t(Yn,[2,358],{151:111,154:112,158:116,182:et,183:tt,184:nt}),t(En,[2,359],{151:111,154:112,158:116,182:et,184:nt}),t(En,[2,360],{151:111,154:112,158:116,182:et,184:nt}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,185,186,187,188,189,190,191,192,193],[2,361],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,186,187,188,189,190,191,192],[2,362],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,187,188,189,190,191,192],[2,363],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,188,189,190,191,192],[2,364],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,189,190,191,192],[2,365],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,190,191,192],[2,366],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,191,192],[2,367],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,192],[2,368],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,193:ct}),t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,157,174,186,187,188,189,190,191,192,193],[2,369],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt}),t(qn,Zn,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t($,[2,345]),{149:[1,410]},{149:[1,411]},t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,149,150,156,174,178,179,182,183,184,185,186,187,188,189,190,191,192,193],Rn,{157:[1,412]}),{7:413,8:414,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:415,8:416,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:417,8:418,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(qn,er,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t($,[2,344]),t(tr,[2,193]),t(tr,[2,194]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:nr,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,127:[1,419],128:420,129:L,130:A,136:421,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Zt,[2,131]),t(Zt,[2,132]),t(Zt,[2,133]),t(Zt,[2,134]),{83:[1,423]},{70:cn,83:[2,139],134:424,135:hn,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{83:[2,140]},{70:cn,134:425,135:hn},{7:426,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,83:[2,215],84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(rr,[2,206]),t(rr,ir),t(Zt,[2,138]),t(Tn,[2,53],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:427,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:428,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{89:429,90:S,91:x},t(sr,or,{95:134,37:136,67:137,96:138,73:139,94:430,38:i,39:s,68:Lt,70:At,107:T,130:Ot}),{6:ur,35:ar},t(mn,[2,105]),{7:433,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(mn,[2,106]),t(jn,Mn,{151:111,154:112,158:116,70:[1,434],148:J,150:K,156:Q,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(jn,_n),t(fr,[2,34]),{6:X,36:[1,435]},{7:436,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(pn,dn,{92:304,88:[1,437],93:vn}),t(bn,wn,{151:111,154:112,158:116,182:et}),{7:438,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{34:377,35:Mt,148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t($,[2,89],{151:111,154:112,158:116,148:Nn,150:Nn,156:Nn,174:Nn,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,[2,370],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:439,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:440,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(pt,[2,337]),{7:441,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(pt,[2,242],{142:[1,442]}),{34:443,35:Mt},{34:446,35:Mt,37:444,38:i,39:s,73:445,107:T},{168:447,170:329,171:xn},{168:448,170:329,171:xn},{36:[1,449],169:[1,450],170:451,171:xn},t(cr,[2,330]),{7:453,8:454,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,139:452,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(hr,[2,149],{151:111,154:112,158:116,34:455,35:Mt,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(pt,[2,152]),{7:456,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{36:[1,457]},t(Tn,[2,33],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t($,[2,87],{151:111,154:112,158:116,148:Nn,150:Nn,156:Nn,174:Nn,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t($,[2,343]),{7:459,8:458,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{36:[1,460]},{44:461,45:u,46:a},{107:[1,463],114:462,119:Wt},{44:464,45:u,46:a},{33:[1,465]},t(Wn,dn,{92:466,93:pr}),t(Vn,[2,162]),{35:Cn,37:347,38:i,39:s,115:468,116:345,118:kn},t(Vn,[2,167],{117:[1,469]}),t(Vn,[2,169],{117:[1,470]}),{37:471,38:i,39:s},t(St,[2,173]),t(Wn,dn,{92:472,93:dr}),t(Vn,[2,183]),{35:Ln,37:354,38:i,39:s,118:An,121:474,123:352},t(Vn,[2,188],{117:[1,475]}),t(Vn,[2,191],{117:[1,476]}),{6:[1,478],7:477,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,479],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(vr,[2,179],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{73:480,107:T},{44:481,45:u,46:a},t(xt,[2,250]),{6:X,36:[1,482]},{7:483,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t([14,32,38,39,43,45,46,49,50,54,55,56,57,58,59,68,77,84,85,86,90,91,107,110,112,120,129,130,140,144,145,148,150,153,156,167,173,176,177,178,179,180,181],ir,{6:mr,35:mr,69:mr,93:mr}),{7:484,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Dn,[2,204]),t(Hn,[2,235]),t(Bn,[2,231]),{6:gr,35:yr,69:[1,485]},t(br,or,{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,89:37,98:45,172:46,151:48,147:49,152:50,154:51,155:52,175:57,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,9:148,138:206,136:210,97:211,7:308,8:309,137:488,131:489,14:n,32:_t,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,70:$t,77:y,84:b,85:Dt,86:E,90:S,91:x,93:Jt,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:D,150:P,153:H,156:B,167:j,173:F,176:I,177:q,178:R,179:U,180:z,181:W}),t(br,[2,232]),t(sr,dn,{92:370,133:490,93:Pn}),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,136:367,138:366,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(jn,[2,114],{151:111,154:112,158:116,148:J,150:K,156:Q,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(tr,[2,195]),t(xt,[2,129]),{83:[1,491],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(wr,[2,334]),t(Er,[2,340]),{7:492,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:493,8:494,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:495,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:496,8:497,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:498,8:499,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Un,[2,279]),{37:230,38:i,39:s,67:231,68:Lt,73:233,96:232,107:T,130:Ot,163:500},{35:Sr,148:J,149:[1,501],150:K,151:111,154:112,156:Q,157:[1,502],158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,305],149:[1,503],157:[1,504]},{35:xr,148:J,149:[1,505],150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,306],149:[1,506]},{35:Tr,148:J,149:[1,507],150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,321],149:[1,508]},{6:Nr,35:Cr,109:[1,509]},t(kr,or,{44:88,63:241,64:242,66:243,42:244,71:246,37:247,40:248,67:249,72:251,73:252,74:253,75:254,76:255,62:512,38:i,39:s,41:Gt,43:o,45:u,46:a,68:nn,70:rn,77:sn,107:T,129:L,130:A,145:_}),{7:513,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,514],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:515,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,35:[1,516],37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Vn,[2,68]),t(Gn,[2,78]),t(Gn,[2,80]),{40:517,41:Gt},{7:292,8:294,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:cn,73:62,74:31,75:35,76:34,77:y,82:518,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,106:293,107:T,110:N,112:C,120:k,129:L,130:A,134:295,135:hn,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Vn,[2,69],{78:397,79:398,80:Jn,81:Kn,126:fn}),t(Vn,[2,71],{78:404,79:405,80:Jn,81:Kn,126:fn}),t(Vn,[2,70]),t(Gn,[2,79]),t(Gn,[2,81]),{69:[1,519],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(Gn,[2,77]),t(xt,[2,44]),t(an,[2,42]),{7:520,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:521,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:522,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t([1,6,35,36,47,69,70,83,88,93,109,127,135,146,148,150,156,174],Sr,{151:111,154:112,158:116,149:[1,523],157:[1,524],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{149:[1,525],157:[1,526]},t(Lr,xr,{151:111,154:112,158:116,149:[1,527],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{149:[1,528]},t(Lr,Tr,{151:111,154:112,158:116,149:[1,529],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{149:[1,530]},t(tr,[2,198]),t([6,35,127],dn,{92:531,93:Ar}),t(Or,[2,216]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:nr,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,128:533,129:L,130:A,136:421,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Zt,[2,137]),{7:534,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,83:[2,211],84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:535,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,83:[2,213],84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{83:[2,214],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(Tn,[2,54],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{36:[1,536],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{5:538,7:4,8:5,9:6,10:7,11:27,12:28,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:r,34:537,35:Mt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:w,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(mn,[2,101]),{37:136,38:i,39:s,67:137,68:Lt,70:At,73:139,94:539,95:134,96:138,107:T,130:Ot},t(Mr,kt,{94:133,95:134,37:136,67:137,96:138,73:139,87:540,38:i,39:s,68:Lt,70:At,107:T,130:Ot}),t(mn,[2,107],{151:111,154:112,158:116,148:J,150:K,156:Q,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(jn,mr),t(fr,[2,35]),t(qn,Zn,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{89:541,90:S,91:x},t(qn,er,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{36:[1,542],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(Tn,[2,372],{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{34:543,35:Mt,148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{34:544,35:Mt},t(pt,[2,243]),{34:545,35:Mt},{34:546,35:Mt},t(_r,[2,247]),{36:[1,547],169:[1,548],170:451,171:xn},{36:[1,549],169:[1,550],170:451,171:xn},t(pt,[2,328]),{34:551,35:Mt},t(cr,[2,331]),{34:552,35:Mt,93:[1,553]},t(Dr,[2,237],{151:111,154:112,158:116,148:J,150:K,156:Q,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Dr,[2,238]),t(pt,[2,150]),t(hr,[2,153],{151:111,154:112,158:116,34:554,35:Mt,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(pt,[2,249]),{34:555,35:Mt},{148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(St,[2,85]),t(St,[2,156]),{33:[1,556]},{35:Cn,37:347,38:i,39:s,115:557,116:345,118:kn},t(St,[2,157]),{44:558,45:u,46:a},{6:Pr,35:Hr,109:[1,559]},t(kr,or,{37:347,116:562,38:i,39:s,118:kn}),t(sr,dn,{92:563,93:pr}),{37:564,38:i,39:s},{37:565,38:i,39:s},{33:[2,172]},{6:Br,35:jr,109:[1,566]},t(kr,or,{37:354,123:569,38:i,39:s,118:An}),t(sr,dn,{92:570,93:dr}),{37:571,38:i,39:s,118:[1,572]},{37:573,38:i,39:s},t(vr,[2,176],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:574,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:575,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{36:[1,576]},t(St,[2,181]),{146:[1,577]},{69:[1,578],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{69:[1,579],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(Dn,[2,205]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,131:372,136:210,137:580,138:206,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:Xt,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,93:Jt,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,131:372,132:581,136:210,137:207,138:206,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Bn,[2,226]),t(br,[2,233],{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,89:37,98:45,172:46,151:48,147:49,152:50,154:51,155:52,175:57,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,9:148,97:211,7:308,8:309,138:366,136:367,14:n,32:_t,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,70:$t,77:y,84:b,85:Dt,86:E,90:S,91:x,93:Jt,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:D,150:P,153:H,156:B,167:j,173:F,176:I,177:q,178:R,179:U,180:z,181:W}),{6:gr,35:yr,36:[1,582]},t(xt,[2,130]),t(qn,[2,257],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{35:Fr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,253]},t(qn,[2,260],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{35:Ir,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,255]},{35:qr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,276]},t(Un,[2,285]),{7:583,8:584,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:585,8:586,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:587,8:588,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:589,8:590,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:591,8:592,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:593,8:594,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:595,8:596,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:597,8:598,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Dn,[2,141]),{37:247,38:i,39:s,40:248,41:Gt,42:244,43:o,44:88,45:u,46:a,62:599,63:241,64:242,66:243,67:249,68:nn,70:rn,71:246,72:251,73:252,74:253,75:254,76:255,77:sn,107:T,129:L,130:A,145:_},t(Mr,tn,{44:88,62:240,63:241,64:242,66:243,42:244,71:246,37:247,40:248,67:249,72:251,73:252,74:253,75:254,76:255,108:600,38:i,39:s,41:Gt,43:o,45:u,46:a,68:nn,70:rn,77:sn,107:T,129:L,130:A,145:_}),t(Vn,[2,144]),t(Vn,[2,58],{151:111,154:112,158:116,148:J,150:K,156:Q,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:601,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Vn,[2,60],{151:111,154:112,158:116,148:J,150:K,156:Q,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:602,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Gn,[2,82]),{83:[1,603]},t(Qn,[2,65]),t(qn,Fr,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(qn,Ir,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(qn,qr,{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{7:604,8:605,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:606,8:607,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:608,8:609,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:610,8:611,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:612,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:613,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:614,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:615,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{6:Rr,35:Ur,127:[1,616]},t([6,35,36,127],or,{17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,13:23,15:25,16:26,60:29,53:30,74:31,100:32,51:33,76:34,75:35,89:37,98:45,172:46,151:48,147:49,152:50,154:51,155:52,175:57,96:61,73:62,42:63,48:65,37:78,67:79,158:85,44:88,9:148,97:211,7:308,8:309,136:619,14:n,32:_t,38:i,39:s,43:o,45:u,46:a,49:f,50:l,54:c,55:h,56:p,57:d,58:v,59:m,68:g,70:$t,77:y,84:b,85:Dt,86:E,90:S,91:x,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,148:D,150:P,153:H,156:B,167:j,173:F,176:I,177:q,178:R,179:U,180:z,181:W}),t(sr,dn,{92:620,93:Ar}),{83:[2,210],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{83:[2,212],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(pt,[2,55]),t(yn,[2,91]),t($,[2,93]),t(mn,[2,102]),t(sr,dn,{92:621,93:vn}),{34:537,35:Mt},t(pt,[2,371]),t(wr,[2,335]),t(pt,[2,244]),t(_r,[2,245]),t(_r,[2,246]),t(pt,[2,324]),{34:622,35:Mt},t(pt,[2,325]),{34:623,35:Mt},{36:[1,624]},t(cr,[2,332],{6:[1,625]}),{7:626,8:627,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(pt,[2,154]),t(Er,[2,341]),{44:628,45:u,46:a},t(Wn,dn,{92:629,93:pr}),t(St,[2,158]),{33:[1,630]},{37:347,38:i,39:s,116:631,118:kn},{35:Cn,37:347,38:i,39:s,115:632,116:345,118:kn},t(Vn,[2,163]),{6:Pr,35:Hr,36:[1,633]},t(Vn,[2,168]),t(Vn,[2,170]),t(St,[2,174],{33:[1,634]}),{37:354,38:i,39:s,118:An,123:635},{35:Ln,37:354,38:i,39:s,118:An,121:636,123:352},t(Vn,[2,184]),{6:Br,35:jr,36:[1,637]},t(Vn,[2,189]),t(Vn,[2,190]),t(Vn,[2,192]),t(vr,[2,177],{151:111,154:112,158:116,148:J,150:K,156:Q,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{36:[1,638],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(St,[2,180]),t(xt,[2,251]),t(xt,[2,208]),t(xt,[2,209]),t(Bn,[2,227]),t(sr,dn,{92:370,133:639,93:Pn}),t(Bn,[2,228]),{35:zr,148:J,150:K,151:111,154:112,156:Q,157:[1,640],158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,307],157:[1,641]},{35:Wr,148:J,149:[1,642],150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,311],149:[1,643]},{35:Xr,148:J,150:K,151:111,154:112,156:Q,157:[1,644],158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,308],157:[1,645]},{35:Vr,148:J,149:[1,646],150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,312],149:[1,647]},{35:$r,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,309]},{35:Jr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,310]},{35:Kr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,322]},{35:Qr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,323]},t(Vn,[2,145]),t(sr,dn,{92:648,93:Xn}),{36:[1,649],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{36:[1,650],148:J,150:K,151:111,154:112,156:Q,158:116,174:lr,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},t(Gn,[2,83]),t(Gr,zr,{151:111,154:112,158:116,157:[1,651],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{157:[1,652]},t(Lr,Wr,{151:111,154:112,158:116,149:[1,653],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{149:[1,654]},t(Gr,Xr,{151:111,154:112,158:116,157:[1,655],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{157:[1,656]},t(Lr,Vr,{151:111,154:112,158:116,149:[1,657],178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{149:[1,658]},t(Tn,$r,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,Jr,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,Kr,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,Qr,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(tr,[2,199]),{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,136:659,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:308,8:309,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,35:nr,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,70:$t,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,97:211,98:45,100:32,107:T,110:N,112:C,120:k,128:660,129:L,130:A,136:421,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},t(Or,[2,217]),{6:Rr,35:Ur,36:[1,661]},{6:ur,35:ar,36:[1,662]},{36:[1,663]},{36:[1,664]},t(pt,[2,329]),t(cr,[2,333]),t(Dr,[2,239],{151:111,154:112,158:116,148:J,150:K,156:Q,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Dr,[2,240]),t(St,[2,160]),{6:Pr,35:Hr,109:[1,665]},{44:666,45:u,46:a},t(Vn,[2,164]),t(sr,dn,{92:667,93:pr}),t(Vn,[2,165]),{44:668,45:u,46:a},t(Vn,[2,185]),t(sr,dn,{92:669,93:dr}),t(Vn,[2,186]),t(St,[2,178]),{6:gr,35:yr,36:[1,670]},{7:671,8:672,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:673,8:674,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:675,8:676,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:677,8:678,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:679,8:680,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:681,8:682,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:683,8:684,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{7:685,8:686,9:148,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,29:20,30:21,31:22,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:E,89:37,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:F,175:57,176:I,177:q,178:R,179:U,180:z,181:W},{6:Nr,35:Cr,36:[1,687]},t(Vn,[2,59]),t(Vn,[2,61]),{7:688,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:689,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:690,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:691,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:692,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:693,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:694,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},{7:695,9:154,13:23,14:n,15:25,16:26,17:8,18:9,19:10,20:11,21:12,22:13,23:14,24:15,25:16,26:17,27:18,28:19,32:_t,37:78,38:i,39:s,42:63,43:o,44:88,45:u,46:a,48:65,49:f,50:l,51:33,53:30,54:c,55:h,56:p,57:d,58:v,59:m,60:29,67:79,68:g,73:62,74:31,75:35,76:34,77:y,84:b,85:Dt,86:Pt,89:152,90:S,91:x,96:61,98:45,100:32,107:T,110:N,112:C,120:k,129:L,130:A,140:O,144:M,145:_,147:49,148:D,150:P,151:48,152:50,153:H,154:51,155:52,156:B,158:85,167:j,172:46,173:Ht,176:Bt,177:q,178:R,179:U,180:z,181:W},t(Or,[2,218]),t(sr,dn,{92:696,93:Ar}),t(Or,[2,219]),t(mn,[2,103]),t(pt,[2,326]),t(pt,[2,327]),{33:[1,697]},t(St,[2,159]),{6:Pr,35:Hr,36:[1,698]},t(St,[2,182]),{6:Br,35:jr,36:[1,699]},t(Bn,[2,229]),{35:Yr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,313]},{35:Zr,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,315]},{35:ei,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,317]},{35:ti,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,319]},{35:ni,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,314]},{35:ri,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,316]},{35:ii,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,318]},{35:si,148:J,150:K,151:111,154:112,156:Q,158:116,174:G,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct},{35:[2,320]},t(Vn,[2,146]),t(Tn,Yr,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,Zr,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,ei,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,ti,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,ni,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,ri,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,ii,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),t(Tn,si,{151:111,154:112,158:116,178:Y,179:Z,182:et,183:tt,184:nt,185:rt,186:it,187:st,188:ot,189:ut,190:at,191:ft,192:lt,193:ct}),{6:Rr,35:Ur,36:[1,700]},{44:701,45:u,46:a},t(Vn,[2,166]),t(Vn,[2,187]),t(Or,[2,220]),t(St,[2,161])],defaultActions:{235:[2,277],293:[2,140],471:[2,172],494:[2,253],497:[2,255],499:[2,276],592:[2,309],594:[2,310],596:[2,322],598:[2,323],672:[2,313],674:[2,315],676:[2,317],678:[2,319],680:[2,314],682:[2,316],684:[2,318],686:[2,320]},parseError:function(e,t){if(!t.recoverable){var n=new Error(e);throw n.hash=t,n}this.trace(e)},parse:function(e){var t=this,n=[0],r=[null],i=[],s=this.table,o="",u=0,a=0,f=0,l=1,c=i.slice.call(arguments,1),h=Object.create(this.lexer),p={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(p.yy[d]=this.yy[d]);h.setInput(e,p.yy),p.yy.lexer=h,p.yy.parser=this,"undefined"==typeof h.yylloc&&(h.yylloc={});var v=h.yylloc;i.push(v);var m=h.options&&h.options.ranges;this.parseError="function"==typeof p.yy.parseError?p.yy.parseError:Object.getPrototypeOf(this).parseError;var g=function(){var e;return e=h.lex()||l,"number"!=typeof e&&(e=t.symbols_[e]||e),e};for(var y={},b,w,E,S,x,T,N,C,k;;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:((null===b||"undefined"==typeof b)&&(b=g()),S=s[E]&&s[E][b]),"undefined"==typeof S||!S.length||!S[0]){var L="";for(T in k=[],s[E])this.terminals_[T]&&T>2&&k.push("'"+this.terminals_[T]+"'");L=h.showPosition?"Parse error on line "+(u+1)+":\n"+h.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(u+1)+": Unexpected "+(b==l?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(L,{text:h.match,token:this.terminals_[b]||b,line:h.yylineno,loc:v,expected:k})}if(S[0]instanceof Array&&1<S.length)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+b);switch(S[0]){case 1:n.push(b),r.push(h.yytext),i.push(h.yylloc),n.push(S[1]),b=null,w?(b=w,w=null):(a=h.yyleng,o=h.yytext,u=h.yylineno,v=h.yylloc,0<f&&f--);break;case 2:if(N=this.productions_[S[1]][1],y.$=r[r.length-N],y._$={first_line:i[i.length-(N||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(N||1)].first_column,last_column:i[i.length-1].last_column},m&&(y._$.range=[i[i.length-(N||1)].range[0],i[i.length-1].range[1]]),x=this.performAction.apply(y,[o,a,u,p.yy,S[1],r,i].concat(c)),"undefined"!=typeof x)return x;N&&(n=n.slice(0,2*-1*N),r=r.slice(0,-1*N),i=i.slice(0,-1*N)),n.push(this.productions_[S[1]][0]),r.push(y.$),i.push(y._$),C=s[n[n.length-2]][n[n.length-1]],n.push(C);break;case 3:return!0}}return!0}};return e.prototype=oi,oi.Parser=e,new e}();return"undefined"!=typeof require&&"undefined"!=typeof e&&(e.parser=n,e.Parser=n.Parser,e.parse=function(){return n.parse.apply(n,arguments)},e.main=function(){},require.main===t&&e.main(process.argv.slice(1))),t.exports}(),require["./scope"]=function(){var e={};return function(){var t=[].indexOf,n;e.Scope=n=function(){function e(t,n,r,i){_classCallCheck(this,e);var s,o;this.parent=t,this.expressions=n,this.method=r,this.referencedVars=i,this.variables=[{name:"arguments",type:"arguments"}],this.comments={},this.positions={},this.parent||(this.utilities={}),this.root=null==(s=null==(o=this.parent)?void 0:o.root)?this:s}return _createClass(e,[{key:"add",value:function(t,n,r){return this.shared&&!r?this.parent.add(t,n,r):Object.prototype.hasOwnProperty.call(this.positions,t)?this.variables[this.positions[t]].type=n:this.positions[t]=this.variables.push({name:t,type:n})-1}},{key:"namedMethod",value:function(){var t;return(null==(t=this.method)?void 0:t.name)||!this.parent?this.method:this.parent.namedMethod()}},{key:"find",value:function(t){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"var";return!!this.check(t)||(this.add(t,n),!1)}},{key:"parameter",value:function(t){return this.shared&&this.parent.check(t,!0)?void 0:this.add(t,"param")}},{key:"check",value:function(t){var n;return!!(this.type(t)||(null==(n=this.parent)?void 0:n.check(t)))}},{key:"temporary",value:function(t,n){var r=2<arguments.length&&void 0!==arguments[2]&&arguments[2],i,s,o,u,a,f;return r?(f=t.charCodeAt(0),s=122,i=s-f,u=f+n%(i+1),o=_StringfromCharCode(u),a=_Mathfloor(n/(i+1)),""+o+(a||"")):""+t+(n||"")}},{key:"type",value:function(t){var n,r,i,s;for(i=this.variables,n=0,r=i.length;n<r;n++)if(s=i[n],s.name===t)return s.type;return null}},{key:"freeVariable",value:function(n){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},i,s,o;for(i=0;o=this.temporary(n,i,r.single),!!(this.check(o)||0<=t.call(this.root.referencedVars,o));)i++;return(null==(s=r.reserve)||s)&&this.add(o,"var",!0),o}},{key:"assign",value:function(t,n){return this.add(t,{value:n,assigned:!0},!0),this.hasAssignments=!0}},{key:"hasDeclarations",value:function(){return!!this.declaredVariables().length}},{key:"declaredVariables",value:function(){var t;return function(){var e,n,r,i;for(r=this.variables,i=[],e=0,n=r.length;e<n;e++)t=r[e],"var"===t.type&&i.push(t.name);return i}.call(this).sort()}},{key:"assignedVariables",value:function(){var t,n,r,i,s;for(r=this.variables,i=[],t=0,n=r.length;t<n;t++)s=r[t],s.type.assigned&&i.push(s.name+" = "+s.type.value);return i}}]),e}()}.call(this),{exports:e}.exports}(),require["./nodes"]=function(){var e={};return function(){var t=[].indexOf,n=[].splice,r=[].slice,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P,H,B,j,F,I,q,R,U,z,W,X,V,$,J,K,Q,G,Y,Z,et,tt,nt,rt,it,st,ot,ut,at,ft,lt,ct,ht,pt,dt,vt,mt,gt,yt,bt,wt,Et,St,xt,Tt,Nt,Ct,kt,Lt,At,Ot,Mt,_t,Dt,Pt,Ht,Bt,jt,Ft,It,qt,Rt,Ut,zt,Wt,Xt,Vt,$t,Jt,Kt,Qt,Gt,Yt,Zt,en,tn,nn,rn,sn,on,un,an;Error.stackTraceLimit=Infinity;var fn=require("./scope");gt=fn.Scope;var ln=require("./lexer");Qt=ln.isUnassignable,z=ln.JS_FORBIDDEN;var cn=require("./helpers");qt=cn.compact,Wt=cn.flatten,zt=cn.extend,Yt=cn.merge,Rt=cn.del,rn=cn.starts,Ut=cn.ends,nn=cn.some,Ft=cn.addDataToNode,It=cn.attachCommentsToNode,Gt=cn.locationDataToString,sn=cn.throwSyntaxError,e.extend=zt,e.addDataToNode=Ft,Bt=function(){return!0},nt=function(){return!1},kt=function(){return this},tt=function(){return this.negated=!this.negated,this},e.CodeFragment=v=function(){function e(t,n){_classCallCheck(this,e);var r;this.code=""+n,this.type=(null==t||null==(r=t.constructor)?void 0:r.name)||"unknown",this.locationData=null==t?void 0:t.locationData,this.comments=null==t?void 0:t.comments}return _createClass(e,[{key:"toString",value:function t(){return""+this.code+(this.locationData?": "+Gt(this.locationData):"")}}]),e}(),Xt=function(e){var t;return function(){var n,r,i;for(i=[],n=0,r=e.length;n<r;n++)t=e[n],i.push(t.code);return i}().join("")},e.Base=a=function(){var e=function(){function e(){_classCallCheck(this,e)}return _createClass(e,[{key:"compile",value:function(t,n){return Xt(this.compileToFragments(t,n))}},{key:"compileWithoutComments",value:function(t,n){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:"compile",i,s;return this.comments&&(this.ignoreTheseCommentsTemporarily=this.comments,delete this.comments),s=this.unwrapAll(),s.comments&&(s.ignoreTheseCommentsTemporarily=s.comments,delete s.comments),i=this[r](t,n),this.ignoreTheseCommentsTemporarily&&(this.comments=this.ignoreTheseCommentsTemporarily,delete this.ignoreTheseCommentsTemporarily),s.ignoreTheseCommentsTemporarily&&(s.comments=s.ignoreTheseCommentsTemporarily,delete s.ignoreTheseCommentsTemporarily),i}},{key:"compileNodeWithoutComments",value:function(t,n){return this.compileWithoutComments(t,n,"compileNode")}},{key:"compileToFragments",value:function(t,n){var r,i;return t=zt({},t),n&&(t.level=n),i=this.unfoldSoak(t)||this,i.tab=t.indent,r=t.level!==K&&i.isStatement(t)?i.compileClosure(t):i.compileNode(t),this.compileCommentFragments(t,i,r),r}},{key:"compileToFragmentsWithoutComments",value:function(t,n){return this.compileWithoutComments(t,n,"compileToFragments")}},{key:"compileClosure",value:function(t){var n,r,s,o,u,a,l,c;switch((o=this.jumps())&&o.error("cannot use a pure statement in an expression"),t.sharedScope=!0,s=new d([],f.wrap([this])),n=[],this.contains(function(e){return e instanceof Tt})?s.bound=!0:((r=this.contains(Jt))||this.contains(Kt))&&(n=[new At],r?(u="apply",n.push(new _("arguments"))):u="call",s=new Pt(s,[new i(new ct(u))])),a=(new h(s,n)).compileNode(t),!1){case!(s.isGenerator||(null==(l=s.base)?void 0:l.isGenerator)):a.unshift(this.makeCode("(yield* ")),a.push(this.makeCode(")"));break;case!(s.isAsync||(null==(c=s.base)?void 0:c.isAsync)):a.unshift(this.makeCode("(await ")),a.push(this.makeCode(")"))}return a}},{key:"compileCommentFragments",value:function(n,r,i){var s,o,u,a,f,l,c,h;if(!r.comments)return i;for(h=function(e){var t;return e.unshift?un(i,e):(0!==i.length&&(t=i[i.length-1],e.newLine&&""!==t.code&&!/\n\s*$/.test(t.code)&&(e.code="\n"+e.code)),i.push(e))},c=r.comments,f=0,l=c.length;f<l;f++)(u=c[f],0>t.call(this.compiledComments,u))&&(this.compiledComments.push(u),a=u.here?(new O(u)).compileNode(n):(new Q(u)).compileNode(n),a.isHereComment&&!a.newLine||r.includeCommentFragments()?h(a):(0===i.length&&i.push(this.makeCode("")),a.unshift?(null==(s=i[0]).precedingComments&&(s.precedingComments=[]),i[0].precedingComments.push(a)):(null==(o=i[i.length-1]).followingComments&&(o.followingComments=[]),i[i.length-1].followingComments.push(a))));return i}},{key:"cache",value:function(t,n,r){var i,s,u;return i=null==r?this.shouldCache():r(this),i?(s=new _(t.scope.freeVariable("ref")),u=new o(s,this),n?[u.compileToFragments(t,n),[this.makeCode(s.value)]]:[u,s]):(s=n?this.compileToFragments(t,n):this,[s,s])}},{key:"hoist",value:function(){var t,n,r;return this.hoisted=!0,r=new M(this),t=this.compileNode,n=this.compileToFragments,this.compileNode=function(e){return r.update(t,e)},this.compileToFragments=function(e){return r.update(n,e)},r}},{key:"cacheToCodeFragments",value:function(t){return[Xt(t[0]),Xt(t[1])]}},{key:"makeReturn",value:function(t){var n;return n=this.unwrapAll(),t?new h(new G(t+".push"),[n]):new vt(n)}},{key:"contains",value:function(t){var n;return n=void 0,this.traverseChildren(!1,function(e){if(t(e))return n=e,!1}),n}},{key:"lastNode",value:function(t){return 0===t.length?null:t[t.length-1]}},{key:"toString",value:function r(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:"",t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.constructor.name,n;return n="\n"+e+t,this.soak&&(n+="?"),this.eachChild(function(t){return n+=t.toString(e+Ct)}),n}},{key:"eachChild",value:function(t){var n,r,i,s,o,u,a,f;if(!this.children)return this;for(a=this.children,i=0,o=a.length;i<o;i++)if(n=a[i],this[n])for(f=Wt([this[n]]),s=0,u=f.length;s<u;s++)if(r=f[s],!1===t(r))return this;return this}},{key:"traverseChildren",value:function(t,n){return this.eachChild(function(e){var r;if(r=n(e),!1!==r)return e.traverseChildren(t,n)})}},{key:"replaceInContext",value:function(t,r){var i,s,o,u,a,f,l,c,h,p;if(!this.children)return!1;for(h=this.children,a=0,l=h.length;a<l;a++)if(i=h[a],o=this[i])if(Array.isArray(o))for(u=f=0,c=o.length;f<c;u=++f){if(s=o[u],t(s))return n.apply(o,[u,u-u+1].concat(p=r(s,this))),p,!0;if(s.replaceInContext(t,r))return!0}else{if(t(o))return this[i]=r(o,this),!0;if(o.replaceInContext(t,r))return!0}}},{key:"invert",value:function(){return new ut("!",this)}},{key:"unwrapAll",value:function(){var t;for(t=this;t!==(t=t.unwrap());)continue;return t}},{key:"updateLocationDataIfMissing",value:function(t){return this.locationData&&!this.forceUpdateLocation?this:(delete this.forceUpdateLocation,this.locationData=t,this.eachChild(function(e){return e.updateLocationDataIfMissing(t)}))}},{key:"error",value:function(t){return sn(t,this.locationData)}},{key:"makeCode",value:function(t){return new v(this,t)}},{key:"wrapInParentheses",value:function(t){return[this.makeCode("(")].concat(_toConsumableArray(t),[this.makeCode(")")])}},{key:"wrapInBraces",value:function(t){return[this.makeCode("{")].concat(_toConsumableArray(t),[this.makeCode("}")])}},{key:"joinFragmentArrays",value:function(t,n){var r,i,s,o,u;for(r=[],s=o=0,u=t.length;o<u;s=++o)i=t[s],s&&r.push(this.makeCode(n)),r=r.concat(i);return r}}]),e}();return e.prototype.children=[],e.prototype.isStatement=nt,e.prototype.compiledComments=[],e.prototype.includeCommentFragments=nt,e.prototype.jumps=nt,e.prototype.shouldCache=Bt,e.prototype.isChainable=nt,e.prototype.isAssignable=nt,e.prototype.isNumber=nt,e.prototype.unwrap=kt,e.prototype.unfoldSoak=nt,e.prototype.assigns=nt,e}.call(this),e.HoistTarget=M=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.source=e,n.options={},n.targetFragments={fragments:[]},n}return _inherits(t,e),_createClass(t,null,[{key:"expand",value:function(t){var r,i,s,o;for(i=s=t.length-1;0<=s;i=s+=-1)r=t[i],r.fragments&&(n.apply(t,[i,i-i+1].concat(o=this.expand(r.fragments))),o);return t}}]),_createClass(t,[{key:"isStatement",value:function(t){return this.source.isStatement(t)}},{key:"update",value:function(t,n){return this.targetFragments.fragments=t.call(this.source,Yt(n,this.options))}},{key:"compileToFragments",value:function(t,n){return this.options.indent=t.indent,this.options.level=null==n?t.level:n,[this.targetFragments]}},{key:"compileNode",value:function(t){return this.compileToFragments(t)}},{key:"compileClosure",value:function(t){return this.compileToFragments(t)}}]),t}(a),e.Block=f=function(){var e=function(e){function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return t.expressions=qt(Wt(e||[])),t}return _inherits(n,e),_createClass(n,[{key:"push",value:function(t){return this.expressions.push(t),this}},{key:"pop",value:function(){return this.expressions.pop()}},{key:"unshift",value:function(t){return this.expressions.unshift(t),this}},{key:"unwrap",value:function(){return 1===this.expressions.length?this.expressions[0]:this}},{key:"isEmpty",value:function(){return!this.expressions.length}},{key:"isStatement",value:function(t){var n,r,i,s;for(s=this.expressions,r=0,i=s.length;r<i;r++)if(n=s[r],n.isStatement(t))return!0;return!1}},{key:"jumps",value:function(t){var n,r,i,s,o;for(o=this.expressions,r=0,s=o.length;r<s;r++)if(n=o[r],i=n.jumps(t))return i}},{key:"makeReturn",value:function(t){var n,r;for(r=this.expressions.length;r--;){n=this.expressions[r],this.expressions[r]=n.makeReturn(t),n instanceof vt&&!n.expression&&this.expressions.splice(r,1);break}return this}},{key:"compileToFragments",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},r=arguments[1];return t.scope?_get(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"compileToFragments",this).call(this,t,r):this.compileRoot(t)}},{key:"compileNode",value:function(t){var i,s,o,u,a,f,l,c,h,p;for(this.tab=t.indent,p=t.level===K,s=[],h=this.expressions,u=a=0,l=h.length;a<l;u=++a){if(c=h[u],c.hoisted){c.compileToFragments(t);continue}if(c=c.unfoldSoak(t)||c,c instanceof n)s.push(c.compileNode(t));else if(p){if(c.front=!0,o=c.compileToFragments(t),!c.isStatement(t)){o=$t(o,this);var d=r.call(o,-1),v=_slicedToArray(d,1);f=v[0],""===f.code||f.isComment||o.push(this.makeCode(";"))}s.push(o)}else s.push(c.compileToFragments(t,V))}return p?this.spaced?[].concat(this.joinFragmentArrays(s,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(s,"\n"):(i=s.length?this.joinFragmentArrays(s,", "):[this.makeCode("void 0")],1<s.length&&t.level>=V?this.wrapInParentheses(i):i)}},{key:"compileRoot",value:function(t){var n,r,i,s,o,u;for(t.indent=t.bare?"":Ct,t.level=K,this.spaced=!0,t.scope=new gt(null,this,null,null==(o=t.referencedVars)?[]:o),u=t.locals||[],r=0,i=u.length;r<i;r++)s=u[r],t.scope.parameter(s);return n=this.compileWithDeclarations(t),M.expand(n),n=this.compileComments(n),t.bare?n:[].concat(this.makeCode("(function() {\n"),n,this.makeCode("\n}).call(this);\n"))}},{key:"compileWithDeclarations",value:function(t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y;for(a=[],d=[],v=this.expressions,f=l=0,h=v.length;l<h&&(u=v[f],u=u.unwrap(),u instanceof G);f=++l);if(t=Yt(t,{level:K}),f){m=this.expressions.splice(f,9e9);var b=[this.spaced,!1];y=b[0],this.spaced=b[1];var w=[this.compileNode(t),y];a=w[0],this.spaced=w[1],this.expressions=m}d=this.compileNode(t);var E=t;if(g=E.scope,g.expressions===this)if(o=t.scope.hasDeclarations(),n=g.hasAssignments,o||n){if(f&&a.push(this.makeCode("\n")),a.push(this.makeCode(this.tab+"var ")),o)for(i=g.declaredVariables(),s=c=0,p=i.length;c<p;s=++c){if(r=i[s],a.push(this.makeCode(r)),Object.prototype.hasOwnProperty.call(t.scope.comments,r)){var S;(S=a).push.apply(S,_toConsumableArray(t.scope.comments[r]))}s!==i.length-1&&a.push(this.makeCode(", "))}n&&(o&&a.push(this.makeCode(",\n"+(this.tab+Ct))),a.push(this.makeCode(g.assignedVariables().join(",\n"+(this.tab+Ct))))),a.push(this.makeCode(";\n"+(this.spaced?"\n":"")))}else a.length&&d.length&&a.push(this.makeCode("\n"));return a.concat(d)}},{key:"compileComments",value:function(n){var r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k;for(u=f=0,h=n.length;f<h;u=++f){if(s=n[u],s.precedingComments){for(o="",E=n.slice(0,u+1),l=E.length-1;0<=l;l+=-1){if(g=E[l],a=/^ {2,}/m.exec(g.code),a){o=a[0];break}if(0<=t.call(g.code,"\n"))break}for(r="\n"+o+function(){var e,t,n,r;for(n=s.precedingComments,r=[],e=0,t=n.length;e<t;e++)i=n[e],i.isHereComment&&i.multiline?r.push(en(i.code,o,!1)):r.push(i.code);return r}().join("\n"+o).replace(/^(\s*)$/gm,""),S=n.slice(0,u+1),y=c=S.length-1;0<=c;y=c+=-1){if(g=S[y],v=g.code.lastIndexOf("\n"),-1===v)if(0===y)g.code="\n"+g.code,v=0;else{if(!g.isStringWithInterpolations||"{"!==g.code)continue;r=r.slice(1)+"\n",v=1}delete s.precedingComments,g.code=g.code.slice(0,v)+r+g.code.slice(v);break}}if(s.followingComments){if(N=s.followingComments[0].trail,o="",!N||1!==s.followingComments.length)for(m=!1,x=n.slice(u),b=0,p=x.length;b<p;b++)if(C=x[b],!m){if(!(0<=t.call(C.code,"\n")))continue;m=!0}else{if(a=/^ {2,}/m.exec(C.code),a){o=a[0];break}if(0<=t.call(C.code,"\n"))break}for(r=1===u&&/^\s+$/.test(n[0].code)?"":N?" ":"\n"+o,r+=function(){var e,t,n,r;for(n=s.followingComments,r=[],t=0,e=n.length;t<e;t++)i=n[t],i.isHereComment&&i.multiline?r.push(en(i.code,o,!1)):r.push(i.code);return r}().join("\n"+o).replace(/^(\s*)$/gm,""),T=n.slice(u),k=w=0,d=T.length;w<d;k=++w){if(C=T[k],v=C.code.indexOf("\n"),-1===v)if(k===n.length-1)C.code+="\n",v=C.code.length;else{if(!C.isStringWithInterpolations||"}"!==C.code)continue;r+="\n",v=0}delete s.followingComments,"\n"===C.code&&(r=r.replace(/^\n/,"")),C.code=C.code.slice(0,v)+r+C.code.slice(v);break}}}return n}}],[{key:"wrap",value:function(t){return 1===t.length&&t[0]instanceof n?t[0]:new n(t)}}]),n}(a);return e.prototype.children=["expressions"],e}.call(this),e.Literal=G=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.value=e,n}return _inherits(t,e),_createClass(t,[{key:"assigns",value:function(t){return t===this.value}},{key:"compileNode",value:function(){return[this.makeCode(this.value)]}},{key:"toString",value:function n(){return" "+(this.isStatement()?_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"toString",this).call(this):this.constructor.name)+": "+this.value}}]),t}(a);return e.prototype.shouldCache=nt,e}.call(this),e.NumberLiteral=st=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(G),e.InfinityLiteral=U=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(){return[this.makeCode("2e308")]}}]),t}(st),e.NaNLiteral=rt=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"NaN"))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n;return n=[this.makeCode("0/0")],t.level>=$?this.wrapInParentheses(n):n}}]),t}(st),e.StringLiteral=Et=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(){var n;return n=this.csx?[this.makeCode(this.unquote(!0,!0))]:_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileNode",this).call(this)}},{key:"unquote",value:function(){var t=0<arguments.length&&void 0!==arguments[0]&&arguments[0],n=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r;return r=this.value.slice(1,-1),t&&(r=r.replace(/\\"/g,'"')),n&&(r=r.replace(/\\n/g,"\n")),r}}]),t}(G),e.RegexLiteral=pt=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(G),e.PassthroughLiteral=lt=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(G),e.IdentifierLiteral=_=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"eachName",value:function(t){return t(this)}}]),t}(G);return e.prototype.isAssignable=Bt,e}.call(this),e.CSXTag=c=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(_),e.PropertyName=ct=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(G);return e.prototype.isAssignable=Bt,e}.call(this),e.ComputedPropertyName=m=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){return[this.makeCode("[")].concat(_toConsumableArray(this.value.compileToFragments(t,V)),[this.makeCode("]")])}}]),t}(ct),e.StatementLiteral=wt=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"jumps",value:function(t){return"break"!==this.value||(null==t?void 0:t.loop)||(null==t?void 0:t.block)?"continue"!==this.value||null!=t&&t.loop?void 0:this:this}},{key:"compileNode",value:function(){return[this.makeCode(""+this.tab+this.value+";")]}}]),t}(G);return e.prototype.isStatement=Bt,e.prototype.makeReturn=kt,e}.call(this),e.ThisLiteral=At=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"this"))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r;return n=(null==(r=t.scope.method)?void 0:r.bound)?t.scope.method.context:this.value,[this.makeCode(n)]}}]),t}(G),e.UndefinedLiteral=Dt=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"undefined"))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){return[this.makeCode(t.level>=W?"(void 0)":"void 0")]}}]),t}(G),e.NullLiteral=it=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,"null"))}return _inherits(t,e),t}(G),e.BooleanLiteral=l=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(G),e.Return=vt=function(){var e=function(e){function n(e){_classCallCheck(this,n);var t=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return t.expression=e,t}return _inherits(n,e),_createClass(n,[{key:"compileToFragments",value:function(t,r){var i,s;return i=null==(s=this.expression)?void 0:s.makeReturn(),!i||i instanceof n?_get(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"compileToFragments",this).call(this,t,r):i.compileToFragments(t,r)}},{key:"compileNode",value:function(n){var r,i,s,o;if(r=[],this.expression)for(r=this.expression.compileToFragments(n,J),un(r,this.makeCode(this.tab+"return ")),s=0,o=r.length;s<o;s++)if(i=r[s],i.isHereComment&&0<=t.call(i.code,"\n"))i.code=en(i.code,this.tab);else{if(!i.isLineComment)break;i.code=""+this.tab+i.code}else r.push(this.makeCode(this.tab+"return"));return r.push(this.makeCode(";")),r}}]),n}(a);return e.prototype.children=["expression"],e.prototype.isStatement=Bt,e.prototype.makeReturn=kt,e.prototype.jumps=kt,e}.call(this),e.YieldReturn=jt=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(n){return null==n.scope.parent&&this.error("yield can only occur inside functions"),_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileNode",this).call(this,n)}}]),t}(vt),e.AwaitReturn=u=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(n){return null==n.scope.parent&&this.error("await can only occur inside functions"),_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileNode",this).call(this,n)}}]),t}(vt),e.Value=Pt=function(){var e=function(e){function t(e,n,r){var i=3<arguments.length&&void 0!==arguments[3]&&arguments[3];_classCallCheck(this,t);var s=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),o,u;if(!n&&e instanceof t){var a;return a=e,_possibleConstructorReturn(s,a)}if(e instanceof ft&&e.contains(function(e){return e instanceof wt})){var f;return f=e.unwrap(),_possibleConstructorReturn(s,f)}return s.base=e,s.properties=n||[],r&&(s[r]=!0),s.isDefaultValue=i,(null==(o=s.base)?void 0:o.comments)&&s.base instanceof At&&null!=(null==(u=s.properties[0])?void 0:u.name)&&Zt(s.base,s.properties[0].name),s}return _inherits(t,e),_createClass(t,[{key:"add",value:function(t){return this.properties=this.properties.concat(t),this.forceUpdateLocation=!0,this}},{key:"hasProperties",value:function(){return 0!==this.properties.length}},{key:"bareLiteral",value:function(t){return!this.properties.length&&this.base instanceof t}},{key:"isArray",value:function(){return this.bareLiteral(s)}},{key:"isRange",value:function(){return this.bareLiteral(ht)}},{key:"shouldCache",value:function(){return this.hasProperties()||this.base.shouldCache()}},{key:"isAssignable",value:function(){return this.hasProperties()||this.base.isAssignable()}},{key:"isNumber",value:function(){return this.bareLiteral(st)}},{key:"isString",value:function(){return this.bareLiteral(Et)}},{key:"isRegex",value:function(){return this.bareLiteral(pt)}},{key:"isUndefined",value:function(){return this.bareLiteral(Dt)}},{key:"isNull",value:function(){return this.bareLiteral(it)}},{key:"isBoolean",value:function(){return this.bareLiteral(l)}},{key:"isAtomic",value:function(){var t,n,r,i;for(i=this.properties.concat(this.base),t=0,n=i.length;t<n;t++)if(r=i[t],r.soak||r instanceof h)return!1;return!0}},{key:"isNotCallable",value:function(){return this.isNumber()||this.isString()||this.isRegex()||this.isArray()||this.isRange()||this.isSplice()||this.isObject()||this.isUndefined()||this.isNull()||this.isBoolean()}},{key:"isStatement",value:function(t){return!this.properties.length&&this.base.isStatement(t)}},{key:"assigns",value:function(t){return!this.properties.length&&this.base.assigns(t)}},{key:"jumps",value:function(t){return!this.properties.length&&this.base.jumps(t)}},{key:"isObject",value:function(t){return!this.properties.length&&this.base instanceof ot&&(!t||this.base.generated)}},{key:"isElision",value:function(){return this.base instanceof s&&this.base.hasElision()}},{key:"isSplice",value:function(){var t,n,i,s;return s=this.properties,t=r.call(s,-1),n=_slicedToArray(t,1),i=n[0],t,i instanceof yt}},{key:"looksStatic",value:function(t){var n;return(this.this||this.base instanceof At||this.base.value===t)&&1===this.properties.length&&"prototype"!==(null==(n=this.properties[0].name)?void 0:n.value)}},{key:"unwrap",value:function(){return this.properties.length?this:this.base}},{key:"cacheReference",value:function(n){var i,s,u,a,f,l,c;return(c=this.properties,i=r.call(c,-1),s=_slicedToArray(i,1),f=s[0],i,2>this.properties.length&&!this.base.shouldCache()&&(null==f||!f.shouldCache()))?[this,this]:(u=new t(this.base,this.properties.slice(0,-1)),u.shouldCache()&&(a=new _(n.scope.freeVariable("base")),u=new t(new ft(new o(a,u)))),!f)?[u,a]:(f.shouldCache()&&(l=new _(n.scope.freeVariable("name")),f=new R(new o(l,f.index)),l=new R(l)),[u.add(f),new t(a||u.base,[l||f])])}},{key:"compileNode",value:function(t){var n,r,i,s,o;for(this.base.front=this.front,o=this.properties,n=o.length&&null!=this.base.cached?this.base.cached:this.base.compileToFragments(t,o.length?W:null),o.length&&mt.test(Xt(n))&&n.push(this.makeCode(".")),r=0,i=o.length;r<i;r++){var u;s=o[r],(u=n).push.apply(u,_toConsumableArray(s.compileToFragments(t)))}return n}},{key:"unfoldSoak",value:function(n){var r=this;return null==this.unfoldedSoak?this.unfoldedSoak=function(){var e,i,s,u,a,f,l,c,h;if(s=r.base.unfoldSoak(n),s){var p;return(p=s.body.properties).push.apply(p,_toConsumableArray(r.properties)),s}for(c=r.properties,i=u=0,a=c.length;u<a;i=++u)if(f=c[i],!!f.soak)return f.soak=!1,e=new t(r.base,r.properties.slice(0,i)),h=new t(r.base,r.properties.slice(i)),e.shouldCache()&&(l=new _(n.scope.freeVariable("ref")),e=new ft(new o(l,e)),h.base=l),new D(new b(e),h,{soak:!0});return!1}():this.unfoldedSoak}},{key:"eachName",value:function(t){return this.hasProperties()?t(this):this.base.isAssignable()?this.base.eachName(t):this.error("tried to assign to unassignable value")}}]),t}(a);return e.prototype.children=["base","properties"],e}.call(this),e.HereComment=O=function(e){function n(e){var t=e.content,r=e.newLine,i=e.unshift;_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return s.content=t,s.newLine=r,s.unshift=i,s}return _inherits(n,e),_createClass(n,[{key:"compileNode",value:function(){var n,r,i,s,o,u,a,f,l;if(f=0<=t.call(this.content,"\n"),r=/\n\s*[#|\*]/.test(this.content),r&&(this.content=this.content.replace(/^([ \t]*)#(?=\s)/gm," *")),f){for(s="",l=this.content.split("\n"),i=0,u=l.length;i<u;i++)a=l[i],o=/^\s*/.exec(a)[0],o.length>s.length&&(s=o);this.content=this.content.replace(RegExp("^("+o+")","gm"),"")}return this.content="/*"+this.content+(r?" ":"")+"*/",n=this.makeCode(this.content),n.newLine=this.newLine,n.unshift=this.unshift,n.multiline=f,n.isComment=n.isHereComment=!0,n}}]),n}(a),e.LineComment=Q=function(e){function t(e){var n=e.content,r=e.newLine,i=e.unshift;_classCallCheck(this,t);var s=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return s.content=n,s.newLine=r,s.unshift=i,s}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(){var t;return t=this.makeCode(/^\s*$/.test(this.content)?"":"//"+this.content),t.newLine=this.newLine,t.unshift=this.unshift,t.trail=!this.newLine&&!this.unshift,t.isComment=t.isLineComment=!0,t}}]),t}(a),e.Call=h=function(){var e=function(e){function t(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:[],r=arguments[2],i=arguments[3];_classCallCheck(this,t);var s=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),o;return s.variable=e,s.args=n,s.soak=r,s.token=i,s.isNew=!1,s.variable instanceof Pt&&s.variable.isNotCallable()&&s.variable.error("literal is not a function"),s.csx=s.variable.base instanceof c,"RegExp"===(null==(o=s.variable.base)?void 0:o.value)&&0!==s.args.length&&Zt(s.variable,s.args[0]),s}return _inherits(t,e),_createClass(t,[{key:"updateLocationDataIfMissing",value:function(n){var r,i;return this.locationData&&this.needsUpdatedStartLocation&&(this.locationData.first_line=n.first_line,this.locationData.first_column=n.first_column,r=(null==(i=this.variable)?void 0:i.base)||this.variable,r.needsUpdatedStartLocation&&(this.variable.locationData.first_line=n.first_line,this.variable.locationData.first_column=n.first_column,r.updateLocationDataIfMissing(n)),delete this.needsUpdatedStartLocation),_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"updateLocationDataIfMissing",this).call(this,n)}},{key:"newInstance",value:function(){var n,r;return n=(null==(r=this.variable)?void 0:r.base)||this.variable,n instanceof t&&!n.isNew?n.newInstance():this.isNew=!0,this.needsUpdatedStartLocation=!0,this}},{key:"unfoldSoak",value:function(n){var r,i,s,o,u,a,f,l;if(this.soak){if(this.variable instanceof xt)o=new G(this.variable.compile(n)),l=new Pt(o),null==this.variable.accessor&&this.variable.error("Unsupported reference to 'super'");else{if(i=on(n,this,"variable"))return i;var c=(new Pt(this.variable)).cacheReference(n),h=_slicedToArray(c,2);o=h[0],l=h[1]}return l=new t(l,this.args),l.isNew=this.isNew,o=new G("typeof "+o.compile(n)+' === "function"'),new D(o,new Pt(l),{soak:!0})}for(r=this,a=[];;){if(r.variable instanceof t){a.push(r),r=r.variable;continue}if(!(r.variable instanceof Pt))break;if(a.push(r),!((r=r.variable.base)instanceof t))break}for(f=a.reverse(),s=0,u=f.length;s<u;s++)r=f[s],i&&(r.variable instanceof t?r.variable=i:r.variable.base=i),i=on(n,r,"variable");return i}},{key:"compileNode",value:function(t){var n,r,s,o,u,a,f,l,c,h,p,v,m,g,y;if(this.csx)return this.compileCSX(t);if(null!=(p=this.variable)&&(p.front=this.front),f=[],y=(null==(v=this.variable)||null==(m=v.properties)?void 0:m[0])instanceof i,o=function(){var e,t,n,r;for(n=this.args||[],r=[],e=0,t=n.length;e<t;e++)s=n[e],s instanceof d&&r.push(s);return r}.call(this),0<o.length&&y&&!this.variable.base.cached){var b=this.variable.base.cache(t,W,function(){return!1}),w=_slicedToArray(b,1);a=w[0],this.variable.base.cached=a}for(g=this.args,u=c=0,h=g.length;c<h;u=++c){var E;s=g[u],u&&f.push(this.makeCode(", ")),(E=f).push.apply(E,_toConsumableArray(s.compileToFragments(t,V)))}return l=[],this.isNew&&(this.variable instanceof xt&&this.variable.error("Unsupported reference to 'super'"),l.push(this.makeCode("new "))),(n=l).push.apply(n,_toConsumableArray(this.variable.compileToFragments(t,W))),(r=l).push.apply(r,[this.makeCode("(")].concat(_toConsumableArray(f),[this.makeCode(")")])),l}},{key:"compileCSX",value:function(t){var n=_slicedToArray(this.args,2),r,i,o,u,a,f,l,c,h,p,d;if(u=n[0],a=n[1],u.base.csx=!0,null!=a&&(a.base.csx=!0),f=[this.makeCode("<")],(r=f).push.apply(r,_toConsumableArray(d=this.variable.compileToFragments(t,W))),u.base instanceof s)for(p=u.base.objects,l=0,c=p.length;l<c;l++){var v;h=p[l],i=h.base,o=(null==i?void 0:i.properties)||[],(i instanceof ot||i instanceof _)&&(!(i instanceof ot)||i.generated||!(1<o.length)&&o[0]instanceof bt)||h.error('Unexpected token. Allowed CSX attributes are: id="val", src={source}, {props...} or attribute.'),h.base instanceof ot&&(h.base.csx=!0),f.push(this.makeCode(" ")),(v=f).push.apply(v,_toConsumableArray(h.compileToFragments(t,J)))}if(a){var m,g;f.push(this.makeCode(">")),(m=f).push.apply(m,_toConsumableArray(a.compileNode(t,V))),(g=f).push.apply(g,[this.makeCode("</")].concat(_toConsumableArray(d),[this.makeCode(">")]))}else f.push(this.makeCode(" />"));return f}}]),t}(a);return e.prototype.children=["variable","args"],e}.call(this),e.SuperCall=Tt=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"isStatement",value:function(t){var n;return(null==(n=this.expressions)?void 0:n.length)&&t.level===K}},{key:"compileNode",value:function(n){var r,i,s,o;if(null==(i=this.expressions)||!i.length)return _get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileNode",this).call(this,n);if(o=new G(Xt(_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileNode",this).call(this,n))),s=new f(this.expressions.slice()),n.level>K){var u=o.cache(n,null,Bt),a=_slicedToArray(u,2);o=a[0],r=a[1],s.push(r)}return s.unshift(o),s.compileToFragments(n,n.level===K?n.level:V)}}]),t}(h);return e.prototype.children=h.prototype.children.concat(["expressions"]),e}.call(this),e.Super=xt=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.accessor=e,n}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r,i,s,u,a,f,l;if(r=t.scope.namedMethod(),(null==r?void 0:r.isMethod)||this.error("cannot use super outside of an instance method"),null==r.ctor&&null==this.accessor){var c=r;i=c.name,l=c.variable,(i.shouldCache()||i instanceof R&&i.index.isAssignable())&&(s=new _(t.scope.parent.freeVariable("name")),i.index=new o(s,i.index)),this.accessor=null==s?i:new R(s)}return(null==(u=this.accessor)||null==(a=u.name)?void 0:a.comments)&&(f=this.accessor.name.comments,delete this.accessor.name.comments),n=(new Pt(new G("super"),this.accessor?[this.accessor]:[])).compileToFragments(t),f&&It(f,this.accessor.name),n}}]),t}(a);return e.prototype.children=["accessor"],e}.call(this),e.RegexWithInterpolations=dt=function(e){function t(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:[];return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,new Pt(new _("RegExp")),e,!1))}return _inherits(t,e),t}(h),e.TaggedTemplateCall=Lt=function(e){function t(e,n,r){return _classCallCheck(this,t),n instanceof Et&&(n=new St(f.wrap([new Pt(n)]))),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,[n],r))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){return this.variable.compileToFragments(t,W).concat(this.args[0].compileToFragments(t,V))}}]),t}(h),e.Extends=k=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.child=e,r.parent=n,r}return _inherits(t,e),_createClass(t,[{key:"compileToFragments",value:function(t){return(new h(new Pt(new G(an("extend",t))),[this.child,this.parent])).compileToFragments(t)}}]),t}(a);return e.prototype.children=["child","parent"],e}.call(this),e.Access=i=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.name=e,r.soak="soak"===n,r}return _inherits(t,e),_createClass(t,[{key:"compileToFragments",value:function(t){var n,r;return n=this.name.compileToFragments(t),r=this.name.unwrap(),r instanceof ct?[this.makeCode(".")].concat(_toConsumableArray(n)):[this.makeCode("[")].concat(_toConsumableArray(n),[this.makeCode("]")])}}]),t}(a);return e.prototype.children=["name"],e.prototype.shouldCache=nt,e}.call(this),e.Index=R=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.index=e,n}return _inherits(t,e),_createClass(t,[{key:"compileToFragments",value:function(t){return[].concat(this.makeCode("["),this.index.compileToFragments(t,J),this.makeCode("]"))}},{key:"shouldCache",value:function(){return this.index.shouldCache()}}]),t}(a);return e.prototype.children=["index"],e}.call(this),e.Range=ht=function(){var e=function(e){function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return i.from=e,i.to=n,i.exclusive="exclusive"===r,i.equals=i.exclusive?"":"=",i}return _inherits(t,e),_createClass(t,[{key:"compileVariables",value:function(t){var n,r;t=Yt(t,{top:!0}),n=Rt(t,"shouldCache");var i=this.cacheToCodeFragments(this.from.cache(t,V,n)),s=_slicedToArray(i,2);this.fromC=s[0],this.fromVar=s[1];var o=this.cacheToCodeFragments(this.to.cache(t,V,n)),u=_slicedToArray(o,2);if(this.toC=u[0],this.toVar=u[1],r=Rt(t,"step")){var a=this.cacheToCodeFragments(r.cache(t,V,n)),f=_slicedToArray(a,2);this.step=f[0],this.stepVar=f[1]}return this.fromNum=this.from.isNumber()?+this.fromVar:null,this.toNum=this.to.isNumber()?+this.toVar:null,this.stepNum=(null==r?void 0:r.isNumber())?+this.stepVar:null}},{key:"compileNode",value:function(t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;if(this.fromVar||this.compileVariables(t),!t.index)return this.compileArray(t);a=null!=this.fromNum&&null!=this.toNum,o=Rt(t,"index"),u=Rt(t,"name"),c=u&&u!==o,m=a&&!c?"var "+o+" = "+this.fromC:o+" = "+this.fromC,this.toC!==this.toVar&&(m+=", "+this.toC),this.step!==this.stepVar&&(m+=", "+this.step),l=o+" <"+this.equals,s=o+" >"+this.equals;var g=[this.fromNum,this.toNum];return i=g[0],d=g[1],h=this.stepNum?this.stepNum+" !== 0":this.stepVar+" !== 0",r=a?null==this.step?i<=d?l+" "+d:s+" "+d:(f=i+" <= "+o+" && "+l+" "+d,v=i+" >= "+o+" && "+s+" "+d,i<=d?h+" && "+f:h+" && "+v):(f=this.fromVar+" <= "+o+" && "+l+" "+this.toVar,v=this.fromVar+" >= "+o+" && "+s+" "+this.toVar,h+" && ("+this.fromVar+" <= "+this.toVar+" ? "+f+" : "+v+")"),n=this.stepVar?this.stepVar+" > 0":this.fromVar+" <= "+this.toVar,p=this.stepVar?o+" += "+this.stepVar:a?c?i<=d?"++"+o:"--"+o:i<=d?o+"++":o+"--":c?n+" ? ++"+o+" : --"+o:n+" ? "+o+"++ : "+o+"--",c&&(m=u+" = "+m),c&&(p=u+" = "+p),[this.makeCode(m+"; "+r+"; "+p)]}},{key:"compileArray",value:function(t){var n,r,i,s,o,u,a,f,l,c,h,p,d;return(a=null!=this.fromNum&&null!=this.toNum,a&&20>=_Mathabs(this.fromNum-this.toNum))?(c=function(){for(var e=[],t=h=this.fromNum,n=this.toNum;h<=n?t<=n:t>=n;h<=n?t++:t--)e.push(t);return e}.apply(this),this.exclusive&&c.pop(),[this.makeCode("["+c.join(", ")+"]")]):(u=this.tab+Ct,o=t.scope.freeVariable("i",{single:!0,reserve:!1}),p=t.scope.freeVariable("results",{reserve:!1}),l="\n"+u+"var "+p+" = [];",a?(t.index=o,r=Xt(this.compileNode(t))):(d=o+" = "+this.fromC+(this.toC===this.toVar?"":", "+this.toC),i=this.fromVar+" <= "+this.toVar,r="var "+d+"; "+i+" ? "+o+" <"+this.equals+" "+this.toVar+" : "+o+" >"+this.equals+" "+this.toVar+"; "+i+" ? "+o+"++ : "+o+"--"),f="{ "+p+".push("+o+"); }\n"+u+"return "+p+";\n"+t.indent,s=function(e){return null==e?void 0:e.contains(Jt)},(s(this.from)||s(this.to))&&(n=", arguments"),[this.makeCode("(function() {"+l+"\n"+u+"for ("+r+")"+f+"}).apply(this"+(null==n?"":n)+")")])}}]),t}(a);return e.prototype.children=["from","to"],e}.call(this),e.Slice=yt=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.range=e,n}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n=this.range,r,i,s,o,u,a;return u=n.to,s=n.from,(null==s?void 0:s.shouldCache())&&(s=new Pt(new ft(s))),(null==u?void 0:u.shouldCache())&&(u=new Pt(new ft(u))),o=(null==s?void 0:s.compileToFragments(t,J))||[this.makeCode("0")],u&&(r=u.compileToFragments(t,J),i=Xt(r),(this.range.exclusive||-1!=+i)&&(a=", "+(this.range.exclusive?i:u.isNumber()?""+(+i+1):(r=u.compileToFragments(t,W),"+"+Xt(r)+" + 1 || 9e9")))),[this.makeCode(".slice("+Xt(o)+(a||"")+")")]}}]),t}(a);return e.prototype.children=["range"],e}.call(this),e.Obj=ot=function(){var e=function(e){function t(e){var n=1<arguments.length&&void 0!==arguments[1]&&arguments[1],r=2<arguments.length&&void 0!==arguments[2]&&arguments[2];_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return i.generated=n,i.lhs=r,i.objects=i.properties=e||[],i}return _inherits(t,e),_createClass(t,[{key:"isAssignable",value:function(){var t,n,r,i,s;for(s=this.properties,t=0,n=s.length;t<n;t++)if(i=s[t],r=Qt(i.unwrapAll().value),r&&i.error(r),i instanceof o&&"object"===i.context&&(i=i.value),!i.isAssignable())return!1;return!0}},{key:"shouldCache",value:function(){return!this.isAssignable()}},{key:"hasSplat",value:function(){var t,n,r,i;for(i=this.properties,t=0,n=i.length;t<n;t++)if(r=i[t],r instanceof bt)return!0;return!1}},{key:"compileNode",value:function(n){var r,i,u,a,f,l,c,h,p,d,v,g,y,b,w,E,S,x,T,N,C,k;if(x=this.properties,this.generated)for(l=0,g=x.length;l<g;l++)E=x[l],E instanceof Pt&&E.error("cannot have an implicit value in an implicit object");if(this.hasSplat()&&!this.csx)return this.compileSpread(n);if(u=n.indent+=Ct,v=this.lastNode(this.properties),this.csx)return this.compileCSXAttributes(n);if(this.lhs)for(h=0,y=x.length;h<y;h++)if(S=x[h],S instanceof o){var L=S;k=L.value,C=k.unwrapAll(),C instanceof s||C instanceof t?C.lhs=!0:C instanceof o&&(C.nestedLhs=!0)}for(f=!0,N=this.properties,d=0,b=N.length;d<b;d++)S=N[d],S instanceof o&&"object"===S.context&&(f=!1);for(r=[],r.push(this.makeCode(f?"":"\n")),i=T=0,w=x.length;T<w;i=++T){var A;if(S=x[i],c=i===x.length-1?"":f?", ":S===v?"\n":",\n",a=f?"":u,p=S instanceof o&&"object"===S.context?S.variable:S instanceof o?(this.lhs?void 0:S.operatorToken.error("unexpected "+S.operatorToken.value),S.variable):S,p instanceof Pt&&p.hasProperties()&&(("object"===S.context||!p.this)&&p.error("invalid object key"),p=p.properties[0].name,S=new o(p,S,"object")),p===S)if(S.shouldCache()){var O=S.base.cache(n),M=_slicedToArray(O,2);p=M[0],k=M[1],p instanceof _&&(p=new ct(p.value)),S=new o(p,k,"object")}else if(p instanceof Pt&&p.base instanceof m)if(S.base.value.shouldCache()){var D=S.base.value.cache(n),P=_slicedToArray(D,2);p=P[0],k=P[1],p instanceof _&&(p=new m(p.value)),S=new o(p,k,"object")}else S=new o(p,S.base.value,"object");else"function"==typeof S.bareLiteral&&S.bareLiteral(_)||(S=new o(S,S,"object"));a&&r.push(this.makeCode(a)),(A=r).push.apply(A,_toConsumableArray(S.compileToFragments(n,K))),c&&r.push(this.makeCode(c))}return r.push(this.makeCode(f?"":"\n"+this.tab)),r=this.wrapInBraces(r),this.front?this.wrapInParentheses(r):r}},{key:"assigns",value:function(t){var n,r,i,s;for(s=this.properties,n=0,r=s.length;n<r;n++)if(i=s[n],i.assigns(t))return!0;return!1}},{key:"eachName",value:function(t){var n,r,i,s,u;for(s=this.properties,u=[],n=0,r=s.length;n<r;n++)i=s[n],i instanceof o&&"object"===i.context&&(i=i.value),i=i.unwrapAll(),null==i.eachName?u.push(void 0):u.push(i.eachName(t));return u}},{key:"compileSpread",value:function(n){var r,i,s,o,u,a,f,l,c;for(f=this.properties,c=[],a=[],l=[],i=function(){if(a.length&&l.push(new t(a)),c.length){var e;(e=l).push.apply(e,_toConsumableArray(c))}return c=[],a=[]},s=0,o=f.length;s<o;s++)u=f[s],u instanceof bt?(c.push(new Pt(u.name)),i()):a.push(u);return i(),l[0]instanceof t||l.unshift(new t),r=new Pt(new G(an("_extends",n))),(new h(r,l)).compileToFragments(n)}},{key:"compileCSXAttributes",value:function(t){var n,r,i,s,o,u,a;for(a=this.properties,n=[],r=i=0,o=a.length;i<o;r=++i){var f;u=a[r],u.csx=!0,s=r===a.length-1?"":" ",u instanceof bt&&(u=new G("{"+u.compile(t)+"}")),(f=n).push.apply(f,_toConsumableArray(u.compileToFragments(t,K))),n.push(this.makeCode(s))}return this.front?this.wrapInParentheses(n):n}}]),t}(a);return e.prototype.children=["properties"],e}.call(this),e.Arr=s=function(){var e=function(e){function n(e){var t=1<arguments.length&&void 0!==arguments[1]&&arguments[1];_classCallCheck(this,n);var r=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return r.lhs=t,r.objects=e||[],r}return _inherits(n,e),_createClass(n,[{key:"hasElision",value:function(){var t,n,r,i;for(i=this.objects,t=0,n=i.length;t<n;t++)if(r=i[t],r instanceof g)return!0;return!1}},{key:"isAssignable",value:function(){var t,n,r,i,s;if(!this.objects.length)return!1;for(s=this.objects,t=n=0,r=s.length;n<r;t=++n){if(i=s[t],i instanceof bt&&t+1!==this.objects.length)return!1;if(!i.isAssignable()||!!i.isAtomic&&!i.isAtomic())return!1}return!0}},{key:"shouldCache",value:function(){return!this.isAssignable()}},{key:"compileNode",value:function(r){var i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k;if(!this.objects.length)return[this.makeCode("[]")];for(r.indent+=Ct,a=function(e){return","===Xt(e).trim()},x=!1,i=[],C=this.objects,E=h=0,v=C.length;h<v;E=++h)w=C[E],k=w.unwrapAll(),k.comments&&0===k.comments.filter(function(e){return!e.here}).length&&(k.includeCommentFragments=Bt),this.lhs&&(k instanceof n||k instanceof ot)&&(k.lhs=!0);for(s=function(){var e,t,n,i;for(n=this.objects,i=[],e=0,t=n.length;e<t;e++)w=n[e],i.push(w.compileToFragments(r,V));return i}.call(this),S=s.length,l=!1,c=p=0,m=s.length;p<m;c=++p){var L;for(f=s[c],d=0,g=f.length;d<g;d++)o=f[d],o.isHereComment?o.code=o.code.trim():0!==c&&!1===l&&Vt(o)&&(l=!0);0!==c&&x&&(!a(f)||c===S-1)&&i.push(this.makeCode(", ")),x=x||!a(f),(L=i).push.apply(L,_toConsumableArray(f))}if(l||0<=t.call(Xt(i),"\n")){for(u=T=0,y=i.length;T<y;u=++T)o=i[u],o.isHereComment?o.code=en(o.code,r.indent,!1)+"\n"+r.indent:", "===o.code&&(null==o||!o.isElision)&&(o.code=",\n"+r.indent);i.unshift(this.makeCode("[\n"+r.indent)),i.push(this.makeCode("\n"+this.tab+"]"))}else{for(N=0,b=i.length;N<b;N++)o=i[N],o.isHereComment&&(o.code+=" ");i.unshift(this.makeCode("[")),i.push(this.makeCode("]"))}return i}},{key:"assigns",value:function(t){var n,r,i,s;for(s=this.objects,n=0,r=s.length;n<r;n++)if(i=s[n],i.assigns(t))return!0;return!1}},{key:"eachName",value:function(t){var n,r,i,s,o;for(s=this.objects,o=[],n=0,r=s.length;n<r;n++)i=s[n],i=i.unwrapAll(),o.push(i.eachName(t));return o}}]),n}(a);return e.prototype.children=["objects"],e}.call(this),e.Class=p=function(){var e=function(e){function s(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:new f;_classCallCheck(this,s);var r=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this));return r.variable=e,r.parent=t,r.body=n,r}return _inherits(s,e),_createClass(s,[{key:"compileNode",value:function(t){var n,r,i;if(this.name=this.determineName(),n=this.walkBody(),this.parent instanceof Pt&&!this.parent.hasProperties()&&(i=this.parent.base.value),this.hasNameClash=null!=this.name&&this.name===i,r=this,n||this.hasNameClash?r=new y(r,n):null==this.name&&t.level===K&&(r=new ft(r)),this.boundMethods.length&&this.parent&&(null==this.variable&&(this.variable=new _(t.scope.freeVariable("_class"))),null==this.variableRef)){var s=this.variable.cache(t),u=_slicedToArray(s,2);this.variable=u[0],this.variableRef=u[1]}this.variable&&(r=new o(this.variable,r,null,{moduleDeclaration:this.moduleDeclaration})),this.compileNode=this.compileClassDeclaration;try{return r.compileToFragments(t)}finally{delete this.compileNode}}},{key:"compileClassDeclaration",value:function(t){var n,r,i;if((this.externalCtor||this.boundMethods.length)&&null==this.ctor&&(this.ctor=this.makeDefaultConstructor()),null!=(n=this.ctor)&&(n.noReturn=!0),this.boundMethods.length&&this.proxyBoundMethods(),t.indent+=Ct,i=[],i.push(this.makeCode("class ")),this.name&&i.push(this.makeCode(this.name)),null!=(null==(r=this.variable)?void 0:r.comments)&&this.compileCommentFragments(t,this.variable,i),this.name&&i.push(this.makeCode(" ")),this.parent){var s;(s=i).push.apply(s,[this.makeCode("extends ")].concat(_toConsumableArray(this.parent.compileToFragments(t)),[this.makeCode(" ")]))}if(i.push(this.makeCode("{")),!this.body.isEmpty()){var o;this.body.spaced=!0,i.push(this.makeCode("\n")),(o=i).push.apply(o,_toConsumableArray(this.body.compileToFragments(t,K))),i.push(this.makeCode("\n"+this.tab))}return i.push(this.makeCode("}")),i}},{key:"determineName",value:function(){var n,s,o,u,a,f,l;return this.variable?(f=this.variable.properties,n=r.call(f,-1),s=_slicedToArray(n,1),l=s[0],n,a=l?l instanceof i&&l.name:this.variable.base,a instanceof _||a instanceof ct)?(u=a.value,l||(o=Qt(u),o&&this.variable.error(o)),0<=t.call(z,u)?"_"+u:u):null:null}},{key:"walkBody",value:function(){var t,r,i,s,o,u,a,l,c,h,p,v,m,g,y,b,w,E;for(this.ctor=null,this.boundMethods=[],i=null,l=[],o=this.body.expressions,a=0,w=o.slice(),h=0,v=w.length;h<v;h++)if(s=w[h],s instanceof Pt&&s.isObject(!0)){for(y=s.base.properties,u=[],r=0,E=0,b=function(){if(r>E)return u.push(new Pt(new ot(y.slice(E,r),!0)))};t=y[r];)(c=this.addInitializerExpression(t))&&(b(),u.push(c),l.push(c),E=r+1),r++;b(),n.apply(o,[a,a-a+1].concat(u)),u,a+=u.length}else(c=this.addInitializerExpression(s))&&(l.push(c),o[a]=c),a+=1;for(p=0,m=l.length;p<m;p++)g=l[p],g instanceof d&&(g.ctor?(this.ctor&&g.error("Cannot define more than one constructor in a class"),this.ctor=g):g.isStatic&&g.bound?g.context=this.name:g.bound&&this.boundMethods.push(g));if(l.length!==o.length)return this.body.expressions=function(){var e,t,n;for(n=[],e=0,t=l.length;e<t;e++)s=l[e],n.push(s.hoist());return n}(),new f(o)}},{key:"addInitializerExpression",value:function(t){return t.unwrapAll()instanceof lt?t:this.validInitializerMethod(t)?this.addInitializerMethod(t):null}},{key:"validInitializerMethod",value:function(t){return t instanceof o&&t.value instanceof d&&("object"===t.context&&!t.variable.hasProperties()||t.variable.looksStatic(this.name)&&(this.name||!t.value.bound))}},{key:"addInitializerMethod",value:function(t){var n,r,s;return s=t.variable,n=t.value,n.isMethod=!0,n.isStatic=s.looksStatic(this.name),n.isStatic?n.name=s.properties[0]:(r=s.base,n.name=new(r.shouldCache()?R:i)(r),n.name.updateLocationDataIfMissing(r.locationData),"constructor"===r.value&&(n.ctor=this.parent?"derived":"base"),n.bound&&n.ctor&&n.error("Cannot define a constructor as a bound (fat arrow) function")),n}},{key:"makeDefaultConstructor",value:function(){var t,n,r;return r=this.addInitializerMethod(new o(new Pt(new ct("constructor")),new d)),this.body.unshift(r),this.parent&&r.body.push(new Tt(new xt,[new bt(new _("arguments"))])),this.externalCtor&&(n=new Pt(this.externalCtor,[new i(new ct("apply"))]),t=[new At,new _("arguments")],r.body.push(new h(n,t)),r.body.makeReturn()),r}},{key:"proxyBoundMethods",value:function(){var t,n;return this.ctor.thisAssignments=function(){var e,r,s,u;for(s=this.boundMethods,u=[],e=0,r=s.length;e<r;e++)t=s[e],this.parent&&(t.classVariable=this.variableRef),n=new Pt(new At,[t.name]),u.push(new o(n,new h(new Pt(n,[new i(new ct("bind"))]),[new At])));return u}.call(this),null}}]),s}(a);return e.prototype.children=["variable","parent","body"],e}.call(this),e.ExecutableClassBody=y=function(){var e=function(e){function t(e){var n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:new f;_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.class=e,r.body=n,r}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r,s,u,a,f,l,c,p,v,m,g;return(l=this.body.jumps())&&l.error("Class bodies cannot contain pure statements"),(s=this.body.contains(Jt))&&s.error("Class bodies shouldn't reference arguments"),p=[],r=[new At],g=new d(p,this.body),c=new ft(new h(new Pt(g,[new i(new ct("call"))]),r)),this.body.spaced=!0,t.classScope=g.makeScope(t.scope),this.name=null==(m=this.class.name)?t.classScope.freeVariable(this.defaultClassVariableName):m,f=new _(this.name),u=this.walkBody(),this.setContext(),this.class.hasNameClash&&(v=new _(t.classScope.freeVariable("superClass")),g.params.push(new at(v)),r.push(this.class.parent),this.class.parent=v),this.externalCtor&&(a=new _(t.classScope.freeVariable("ctor",{reserve:!1})),this.class.externalCtor=a,this.externalCtor.variable.base=a),this.name===this.class.name?this.body.expressions.unshift(this.class):this.body.expressions.unshift(new o(new _(this.name),this.class)),(n=this.body.expressions).unshift.apply(n,_toConsumableArray(u)),this.body.push(f),c.compileToFragments(t)}},{key:"walkBody",value:function(){var t=this,n,r,i;for(n=[],i=0;(r=this.body.expressions[i])&&!!(r instanceof Pt&&r.isString());)if(r.hoisted)i++;else{var s;(s=n).push.apply(s,_toConsumableArray(this.body.expressions.splice(i,1)))}return this.traverseChildren(!1,function(e){var n,r,i,s,u,a;if(e instanceof p||e instanceof M)return!1;if(n=!0,e instanceof f){for(a=e.expressions,r=i=0,s=a.length;i<s;r=++i)u=a[r],u instanceof Pt&&u.isObject(!0)?(n=!1,e.expressions[r]=t.addProperties(u.base.properties)):u instanceof o&&u.variable.looksStatic(t.name)&&(u.value.isStatic=!0);e.expressions=Wt(e.expressions)}return n}),n}},{key:"setContext",value:function(){var t=this;return this.body.traverseChildren(!1,function(e){return e instanceof At?e.value=t.name:e instanceof d&&e.bound&&e.isStatic?e.context=t.name:void 0})}},{key:"addProperties",value:function(t){var n,r,s,u,a,f,l;return a=function(){var e,a,c;for(c=[],e=0,a=t.length;e<a;e++)n=t[e],l=n.variable,r=null==l?void 0:l.base,f=n.value,delete n.context,"constructor"===r.value?(f instanceof d&&r.error("constructors must be defined at the top level of a class body"),n=this.externalCtor=new o(new Pt,f)):n.variable.this?n.value instanceof d&&(n.value.isStatic=!0):(s=new(r.shouldCache()?R:i)(r),u=new i(new ct("prototype")),l=new Pt(new At,[u,s]),n.variable=l),c.push(n);return c}.call(this),qt(a)}}]),t}(a);return e.prototype.children=["class","body"],e.prototype.defaultClassVariableName="_Class",e}.call(this),e.ModuleDeclaration=Y=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.clause=e,r.source=n,r.checkSource(),r}return _inherits(t,e),_createClass(t,[{key:"checkSource",value:function(){if(null!=this.source&&this.source instanceof St)return this.source.error("the name of the module to be imported from must be an uninterpolated string")}},{key:"checkScope",value:function(t,n){if(0!==t.indent.length)return this.error(n+" statements must be at top-level scope")}}]),t}(a);return e.prototype.children=["clause","source"],e.prototype.isStatement=Bt,e.prototype.jumps=kt,e.prototype.makeReturn=kt,e}.call(this),e.ImportDeclaration=H=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r;if(this.checkScope(t,"import"),t.importedSymbols=[],n=[],n.push(this.makeCode(this.tab+"import ")),null!=this.clause){var i;(i=n).push.apply(i,_toConsumableArray(this.clause.compileNode(t)))}return null!=(null==(r=this.source)?void 0:r.value)&&(null!==this.clause&&n.push(this.makeCode(" from ")),n.push(this.makeCode(this.source.value))),n.push(this.makeCode(";")),n}}]),t}(Y),e.ImportClause=P=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.defaultBinding=e,r.namedImports=n,r}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n;if(n=[],null!=this.defaultBinding){var r;(r=n).push.apply(r,_toConsumableArray(this.defaultBinding.compileNode(t))),null!=this.namedImports&&n.push(this.makeCode(", "))}if(null!=this.namedImports){var i;(i=n).push.apply(i,_toConsumableArray(this.namedImports.compileNode(t)))}return n}}]),t}(a);return e.prototype.children=["defaultBinding","namedImports"],e}.call(this),e.ExportDeclaration=S=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r;return this.checkScope(t,"export"),n=[],n.push(this.makeCode(this.tab+"export ")),this instanceof x&&n.push(this.makeCode("default ")),!(this instanceof x)&&(this.clause instanceof o||this.clause instanceof p)&&(this.clause instanceof p&&!this.clause.variable&&this.clause.error("anonymous classes cannot be exported"),n.push(this.makeCode("var ")),this.clause.moduleDeclaration="export"),n=null!=this.clause.body&&this.clause.body instanceof f?n.concat(this.clause.compileToFragments(t,K)):n.concat(this.clause.compileNode(t)),null!=(null==(r=this.source)?void 0:r.value)&&n.push(this.makeCode(" from "+this.source.value)),n.push(this.makeCode(";")),n}}]),t}(Y),e.ExportNamedDeclaration=T=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(S),e.ExportDefaultDeclaration=x=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(S),e.ExportAllDeclaration=E=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(S),e.ModuleSpecifierList=et=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.specifiers=e,n}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r,i,s,o,u,a;if(n=[],t.indent+=Ct,r=function(){var e,n,r,i;for(r=this.specifiers,i=[],e=0,n=r.length;e<n;e++)a=r[e],i.push(a.compileToFragments(t,V));return i}.call(this),0!==this.specifiers.length){for(n.push(this.makeCode("{\n"+t.indent)),s=o=0,u=r.length;o<u;s=++o){var f;i=r[s],s&&n.push(this.makeCode(",\n"+t.indent)),(f=n).push.apply(f,_toConsumableArray(i))}n.push(this.makeCode("\n}"))}else n.push(this.makeCode("{}"));return n}}]),t}(a);return e.prototype.children=["specifiers"],e}.call(this),e.ImportSpecifierList=I=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(et),e.ExportSpecifierList=C=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(et),e.ModuleSpecifier=Z=function(){var e=function(e){function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),s,o;if(i.original=e,i.alias=n,i.moduleDeclarationType=r,i.original.comments||(null==(s=i.alias)?void 0:s.comments)){if(i.comments=[],i.original.comments){var u;(u=i.comments).push.apply(u,_toConsumableArray(i.original.comments))}if(null==(o=i.alias)?void 0:o.comments){var a;(a=i.comments).push.apply(a,_toConsumableArray(i.alias.comments))}}return i.identifier=null==i.alias?i.original.value:i.alias.value,i}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n;return t.scope.find(this.identifier,this.moduleDeclarationType),n=[],n.push(this.makeCode(this.original.value)),null!=this.alias&&n.push(this.makeCode(" as "+this.alias.value)),n}}]),t}(a);return e.prototype.children=["original","alias"],e}.call(this),e.ImportSpecifier=F=function(e){function n(e,t){return _classCallCheck(this,n),_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t,"import"))}return _inherits(n,e),_createClass(n,[{key:"compileNode",value:function(r){var i;return(i=this.identifier,0<=t.call(r.importedSymbols,i))||r.scope.check(this.identifier)?this.error("'"+this.identifier+"' has already been declared"):r.importedSymbols.push(this.identifier),_get(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"compileNode",this).call(this,r)}}]),n}(Z),e.ImportDefaultSpecifier=B=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(F),e.ImportNamespaceSpecifier=j=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),t}(F),e.ExportSpecifier=N=function(e){function t(e,n){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n,"export"))}return _inherits(t,e),t}(Z),e.Assign=o=function(){var e=function(e){function r(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};_classCallCheck(this,r);var s=_possibleConstructorReturn(this,(r.__proto__||Object.getPrototypeOf(r)).call(this));return s.variable=e,s.value=t,s.context=n,s.param=i.param,s.subpattern=i.subpattern,s.operatorToken=i.operatorToken,s.moduleDeclaration=i.moduleDeclaration,s}return _inherits(r,e),_createClass(r,[{key:"isStatement",value:function(n){return(null==n?void 0:n.level)===K&&null!=this.context&&(this.moduleDeclaration||0<=t.call(this.context,"?"))}},{key:"checkAssignability",value:function(t,n){if(Object.prototype.hasOwnProperty.call(t.scope.positions,n.value)&&"import"===t.scope.variables[t.scope.positions[n.value]].type)return n.error("'"+n.value+"' is read-only")}},{key:"assigns",value:function(t){return this["object"===this.context?"value":"variable"].assigns(t)}},{key:"unfoldSoak",value:function(t){return on(t,this,"variable")}},{key:"compileNode",value:function(t){var r=this,i,s,o,u,a,f,l,c,h,v,m,g,y,b,w;if(u=this.variable instanceof Pt,u){if(this.variable.param=this.param,this.variable.isArray()||this.variable.isObject()){if(this.variable.base.lhs=!0,o=this.variable.contains(function(e){return e instanceof ot&&e.hasSplat()}),!this.variable.isAssignable()||this.variable.isArray()&&o)return this.compileDestructuring(t);if(this.variable.isObject()&&o&&(f=this.compileObjectDestruct(t)),f)return f}if(this.variable.isSplice())return this.compileSplice(t);if("||="===(h=this.context)||"&&="===h||"?="===h)return this.compileConditional(t);if("**="===(v=this.context)||"//="===v||"%%="===v)return this.compileSpecialMath(t)}if(this.context||(w=this.variable.unwrapAll(),!w.isAssignable()&&this.variable.error("'"+this.variable.compile(t)+"' can't be assigned"),w.eachName(function(e){var n,i,s;if("function"!=typeof e.hasProperties||!e.hasProperties())return(s=Qt(e.value),s&&e.error(s),r.checkAssignability(t,e),r.moduleDeclaration)?t.scope.add(e.value,r.moduleDeclaration):r.param?t.scope.add(e.value,"alwaysDeclare"===r.param?"var":"param"):(t.scope.find(e.value),e.comments&&!t.scope.comments[e.value]&&!(r.value instanceof p)&&e.comments.every(function(e){return e.here&&!e.multiline}))?(i=new _(e.value),i.comments=e.comments,n=[],r.compileCommentFragments(t,i,n),t.scope.comments[e.value]=n):void 0})),this.value instanceof d)if(this.value.isStatic)this.value.name=this.variable.properties[0];else if(2<=(null==(m=this.variable.properties)?void 0:m.length)){var E,S,x,T;g=this.variable.properties,E=g,S=_toArray(E),l=S.slice(0),E,x=n.call(l,-2),T=_slicedToArray(x,2),c=T[0],a=T[1],x,"prototype"===(null==(y=c.name)?void 0:y.value)&&(this.value.name=a)}return(this.csx&&(this.value.base.csxAttribute=!0),b=this.value.compileToFragments(t,V),s=this.variable.compileToFragments(t,V),"object"===this.context)?(this.variable.shouldCache()&&(s.unshift(this.makeCode("[")),s.push(this.makeCode("]"))),s.concat(this.makeCode(this.csx?"=":": "),b)):(i=s.concat(this.makeCode(" "+(this.context||"=")+" "),b),t.level>V||u&&this.variable.base instanceof ot&&!this.nestedLhs&&!0!==this.param?this.wrapInParentheses(i):i)}},{key:"compileObjectDestruct",value:function(t){var n,o,u,a,l,c,p,d,v,m,g,y;if(o=function(e){var n;if(e instanceof r){var i=e.variable.cache(t),s=_slicedToArray(i,2);return e.variable=s[0],n=s[1],n}return e},u=function(e){var n,i;return i=o(e),n=e instanceof r&&e.variable!==i,n||!i.isAssignable()?i:new G("'"+i.compileWithoutComments(t)+"'")},v=function(n,a){var f,l,c,h,p,d,m,g,y,b,w;for(b=[],w=void 0,null==a.properties&&(a=new Pt(a)),l=c=0,h=n.length;c<h;l=++c)if(y=n[l],m=d=p=null,y instanceof r){if("function"==typeof (f=y.value).isObject?f.isObject():void 0){if("object"!==y.context)continue;p=y.value.base.properties}else if(y.value instanceof r&&y.value.variable.isObject()){p=y.value.variable.base.properties;var E=y.value.value.cache(t),S=_slicedToArray(E,2);y.value.value=S[0],m=S[1]}if(p){var x;d=new Pt(a.base,a.properties.concat([new i(o(y))])),m&&(d=new Pt(new ut("?",d,m))),(x=b).push.apply(x,_toConsumableArray(v(p,d)))}}else y instanceof bt&&(null!=w&&y.error("multiple rest elements are disallowed in object destructuring"),w=l,b.push({name:y.name.unwrapAll(),source:a,excludeProps:new s(function(){var e,t,r;for(r=[],e=0,t=n.length;e<t;e++)g=n[e],g!==y&&r.push(u(g));return r}())}));return null!=w&&n.splice(w,1),b},y=this.value.shouldCache()?new _(t.scope.freeVariable("ref",{reserve:!1})):this.value.base,p=v(this.variable.base.properties,y),!(p&&0<p.length))return!1;var b=this.value.cache(t),w=_slicedToArray(b,2);for(this.value=w[0],g=w[1],d=new f([this]),a=0,l=p.length;a<l;a++)c=p[a],m=new h(new Pt(new G(an("objectWithoutKeys",t))),[c.source,c.excludeProps]),d.push(new r(new Pt(c.name),m,null,{param:this.param?"alwaysDeclare":null}));return n=d.compileToFragments(t),t.level===K&&(n.shift(),n.pop()),n}},{key:"compileDestructuring",value:function(n){var o=this,u,a,f,l,c,p,d,v,m,y,b,E,S,x,T,N,C,k,L,A,O,M,D,P,H,B,j,F,I,q,U,z,W,X;if(U=n.level===K,z=this.value,O=this.variable.base.objects,M=O.length,0===M)return f=z.compileToFragments(n),n.level>=$?this.wrapInParentheses(f):f;var J=O,Q=_slicedToArray(J,1);return L=Q[0],1===M&&L instanceof w&&L.error("Destructuring assignment has no target"),I=function(){var e,t,n;for(n=[],E=e=0,t=O.length;e<t;E=++e)L=O[E],L instanceof bt&&n.push(E);return n}(),v=function(){var e,t,n;for(n=[],E=e=0,t=O.length;e<t;E=++e)L=O[E],L instanceof w&&n.push(E);return n}(),q=[].concat(_toConsumableArray(I),_toConsumableArray(v)),1<q.length&&O[q.sort()[1]].error("multiple splats/expansions are disallowed in an assignment"),N=0<(null==I?void 0:I.length),x=0<(null==v?void 0:v.length),T=this.variable.isObject(),S=this.variable.isArray(),W=z.compileToFragments(n,V),X=Xt(W),a=[],(!(z.unwrap()instanceof _)||this.variable.assigns(X))&&(P=n.scope.freeVariable("ref"),a.push([this.makeCode(P+" = ")].concat(_toConsumableArray(W))),W=[this.makeCode(P)],X=P),F=function(e){return function(t,r){var s=2<arguments.length&&void 0!==arguments[2]&&arguments[2],o,u;return o=[new _(t),new st(r)],s&&o.push(new st(s)),u=new Pt(new _(an(e,n)),[new i(new ct("call"))]),new Pt(new h(u,o))}},l=F("slice"),c=F("splice"),b=function(e){var t,n,r;for(r=[],E=t=0,n=e.length;t<n;E=++t)L=e[E],L.base instanceof ot&&L.base.hasSplat()&&r.push(E);return r},y=function(e){var t,n,i;for(i=[],E=t=0,n=e.length;t<n;E=++t)L=e[E],L instanceof r&&"object"===L.context&&i.push(E);return i},A=function(e){var t,n;for(t=0,n=e.length;t<n;t++)if(L=e[t],!L.isAssignable())return!0;return!1},p=function(e){return b(e).length||y(e).length||A(e)||1===M},k=function(e,s,u){var f,c,h,p,d,v,m,y;for(v=b(e),m=[],E=h=0,p=e.length;h<p;E=++h)if(L=e[E],!(L instanceof g)){if(L instanceof r&&"object"===L.context){var w=L;if(c=w.variable.base,s=w.value,s instanceof r){var S=s;s=S.variable}c=s.this?s.properties[0].name:new ct(s.unwrap().value),f=c.unwrap()instanceof ct,y=new Pt(z,[new(f?i:R)(c)])}else s=function(){switch(!1){case!(L instanceof bt):return new Pt(L.name);case 0>t.call(v,E):return new Pt(L.base);default:return L}}(),y=function(){switch(!1){case!(L instanceof bt):return l(u,E);default:return new Pt(new G(u),[new R(new st(E))])}}();d=Qt(s.unwrap().value),d&&s.error(d),m.push(a.push((new r(s,y,null,{param:o.param,subpattern:!0})).compileToFragments(n,V)))}return m},u=function(e,t,i){var u;return t=new Pt(new s(e,!0)),u=i instanceof Pt?i:new Pt(new G(i)),a.push((new r(t,u,null,{param:o.param,subpattern:!0})).compileToFragments(n,V))},D=function(e,t,n){return p(e)?k(e,t,n):u(e,t,n)},q.length?(d=q[0],C=O.slice(0,d+(N?1:0)),j=O.slice(d+1),0!==C.length&&D(C,W,X),0!==j.length&&(H=function(){switch(!1){case!N:return c(O[d].unwrapAll().value,-1*j.length);case!x:return l(X,-1*j.length)}}(),p(j)&&(B=H,H=n.scope.freeVariable("ref"),a.push([this.makeCode(H+" = ")].concat(_toConsumableArray(B.compileToFragments(n,V))))),D(j,W,H))):D(O,W,X),U||this.subpattern||a.push(W),m=this.joinFragmentArrays(a,", "),n.level<V?m:this.wrapInParentheses(m)}},{key:"compileConditional",value:function(n){var i=this.variable.cacheReference(n),s=_slicedToArray(i,2),o,u,a;return u=s[0],a=s[1],u.properties.length||!(u.base instanceof G)||u.base instanceof At||n.scope.check(u.base.value)||this.variable.error('the variable "'+u.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before"),0<=t.call(this.context,"?")?(n.isExistentialEquals=!0,(new D(new b(u),a,{type:"if"})).addElse(new r(a,this.value,"=")).compileToFragments(n)):(o=(new ut(this.context.slice(0,-1),u,new r(a,this.value,"="))).compileToFragments(n),n.level<=V?o:this.wrapInParentheses(o))}},{key:"compileSpecialMath",value:function(t){var n=this.variable.cacheReference(t),i=_slicedToArray(n,2),s,o;return s=i[0],o=i[1],(new r(s,new ut(this.context.slice(0,-1),o,this.value))).compileToFragments(t)}},{key:"compileSplice",value:function(t){var n=this.variable.properties.pop(),r=n.range,i,s,o,u,a,f,l,c,h,p;if(o=r.from,l=r.to,s=r.exclusive,c=this.variable.unwrapAll(),c.comments&&(Zt(c,this),delete this.variable.comments),f=this.variable.compile(t),o){var d=this.cacheToCodeFragments(o.cache(t,$)),v=_slicedToArray(d,2);u=v[0],a=v[1]}else u=a="0";l?(null==o?void 0:o.isNumber())&&l.isNumber()?(l=l.compile(t)-a,!s&&(l+=1)):(l=l.compile(t,W)+" - "+a,!s&&(l+=" + 1")):l="9e9";var m=this.value.cache(t,V),g=_slicedToArray(m,2);return h=g[0],p=g[1],i=[].concat(this.makeCode(an("splice",t)+".apply("+f+", ["+u+", "+l+"].concat("),h,this.makeCode(")), "),p),t.level>K?this.wrapInParentheses(i):i}},{key:"eachName",value:function(t){return this.variable.unwrapAll().eachName(t)}}]),r}(a);return e.prototype.children=["variable","value"],e.prototype.isAssignable=Bt,e}.call(this),e.FuncGlyph=A=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.glyph=e,n}return _inherits(t,e),t}(a),e.Code=d=function(){var e=function(e){function n(e,t,r,i){_classCallCheck(this,n);var s=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),o;return s.funcGlyph=r,s.paramStart=i,s.params=e||[],s.body=t||new f,s.bound="=>"===(null==(o=s.funcGlyph)?void 0:o.glyph),s.isGenerator=!1,s.isAsync=!1,s.isMethod=!1,s.body.traverseChildren(!1,function(e){if((e instanceof ut&&e.isYield()||e instanceof jt)&&(s.isGenerator=!0),(e instanceof ut&&e.isAwait()||e instanceof u)&&(s.isAsync=!0),s.isGenerator&&s.isAsync)return e.error("function can't contain both yield and await")}),s}return _inherits(n,e),_createClass(n,[{key:"isStatement",value:function(){return this.isMethod}},{key:"makeScope",value:function(t){return new gt(t,this.body,this)}},{key:"compileNode",value:function(n){var r,i,u,a,f,l,c,p,d,v,m,g,y,b,E,S,x,T,N,C,k,L,A,O,M,P,H,B,j,F,I,q,R,U,X,V,$,J,K,Q,Y,Z,et;for(this.ctor&&(this.isAsync&&this.name.error("Class constructor may not be async"),this.isGenerator&&this.name.error("Class constructor may not be a generator")),this.bound&&((null==(F=n.scope.method)?void 0:F.bound)&&(this.context=n.scope.method.context),!this.context&&(this.context="this")),n.scope=Rt(n,"classScope")||this.makeScope(n.scope),n.scope.shared=Rt(n,"sharedScope"),n.indent+=Ct,delete n.bare,delete n.isExistentialEquals,H=[],p=[],Y=null==(I=null==(q=this.thisAssignments)?void 0:q.slice())?[]:I,B=[],m=!1,v=!1,M=[],this.eachParamName(function(e,r,i,s){var u,a;if(0<=t.call(M,e)&&r.error("multiple parameters named '"+e+"'"),M.push(e),r.this)return e=r.properties[0].name.value,0<=t.call(z,e)&&(e="_"+e),a=new _(n.scope.freeVariable(e,{reserve:!1})),u=i.name instanceof ot&&s instanceof o&&"="===s.operatorToken.value?new o(new _(e),a,"object"):a,i.renameParam(r,u),Y.push(new o(r,a))}),R=this.params,g=b=0,x=R.length;b<x;g=++b)O=R[g],O.splat||O instanceof w?(m?O.error("only one splat or expansion parameter is allowed per function definition"):O instanceof w&&1===this.params.length&&O.error("an expansion parameter cannot be the only parameter in a function definition"),m=!0,O.splat?(O.name instanceof s?(Q=n.scope.freeVariable("arg"),H.push(j=new Pt(new _(Q))),p.push(new o(new Pt(O.name),j))):(H.push(j=O.asReference(n)),Q=Xt(j.compileNodeWithoutComments(n))),O.shouldCache()&&p.push(new o(new Pt(O.name),j))):(Q=n.scope.freeVariable("args"),H.push(new Pt(new _(Q)))),n.scope.parameter(Q)):((O.shouldCache()||v)&&(O.assignedInBody=!0,v=!0,null==O.value?p.push(new o(new Pt(O.name),O.asReference(n),null,{param:"alwaysDeclare"})):(c=new ut("===",O,new Dt),y=new o(new Pt(O.name),O.value),p.push(new D(c,y)))),m?(B.push(O),null!=O.value&&!O.shouldCache()&&(c=new ut("===",O,new Dt),y=new o(new Pt(O.name),O.value),p.push(new D(c,y))),null!=(null==(U=O.name)?void 0:U.value)&&n.scope.add(O.name.value,"var",!0)):(j=O.shouldCache()?O.asReference(n):null==O.value||O.assignedInBody?O:new o(new Pt(O.name),O.value,null,{param:!0}),O.name instanceof s||O.name instanceof ot?(O.name.lhs=!0,O.name instanceof ot&&O.name.hasSplat()?(Q=n.scope.freeVariable("arg"),n.scope.parameter(Q),j=new Pt(new _(Q)),p.push(new o(new Pt(O.name),j,null,{param:"alwaysDeclare"})),null!=O.value&&!O.assignedInBody&&(j=new o(j,O.value,null,{param:!0}))):!O.shouldCache()&&O.name.eachName(function(e){return n.scope.parameter(e.value)})):(P=null==O.value?j:O,n.scope.parameter(Xt(P.compileToFragmentsWithoutComments(n)))),H.push(j)));if(0!==B.length&&p.unshift(new o(new Pt(new s([new bt(new _(Q))].concat(_toConsumableArray(function(){var e,t,r;for(r=[],e=0,t=B.length;e<t;e++)O=B[e],r.push(O.asReference(n));return r}())))),new Pt(new _(Q)))),Z=this.body.isEmpty(),!this.expandCtorSuper(Y)){var tt;(tt=this.body.expressions).unshift.apply(tt,_toConsumableArray(Y))}for((r=this.body.expressions).unshift.apply(r,_toConsumableArray(p)),this.isMethod&&this.bound&&!this.isStatic&&this.classVariable&&(f=new Pt(new G(an("boundMethodCheck",n))),this.body.expressions.unshift(new h(f,[new Pt(new At),this.classVariable]))),Z||this.noReturn||this.body.makeReturn(),this.bound&&this.isGenerator&&(et=this.body.contains(function(e){return e instanceof ut&&"yield"===e.operator}),(et||this).error("yield cannot occur inside bound (fat arrow) functions")),L=[],this.isMethod&&this.isStatic&&L.push("static"),this.isAsync&&L.push("async"),this.isMethod||this.bound?this.isGenerator&&L.push("*"):L.push("function"+(this.isGenerator?"*":"")),K=[this.makeCode("(")],null!=(null==(X=this.paramStart)?void 0:X.comments)&&this.compileCommentFragments(n,this.paramStart,K),g=E=0,T=H.length;E<T;g=++E){var nt;if(O=H[g],0!==g&&K.push(this.makeCode(", ")),m&&g===H.length-1&&K.push(this.makeCode("...")),J=n.scope.variables.length,(nt=K).push.apply(nt,_toConsumableArray(O.compileToFragments(n))),J!==n.scope.variables.length){var rt;d=n.scope.variables.splice(J),(rt=n.scope.parent.variables).push.apply(rt,_toConsumableArray(d))}}if(K.push(this.makeCode(")")),null!=(null==(V=this.funcGlyph)?void 0:V.comments)){for($=this.funcGlyph.comments,S=0,N=$.length;S<N;S++)l=$[S],l.unshift=!1;this.compileCommentFragments(n,this.funcGlyph,K)}if(this.body.isEmpty()||(a=this.body.compileWithDeclarations(n)),this.isMethod){var it=[n.scope,n.scope.parent];k=it[0],n.scope=it[1],A=this.name.compileToFragments(n),"."===A[0].code&&A.shift(),n.scope=k}if(u=this.joinFragmentArrays(function(){var e,t,n;for(n=[],t=0,e=L.length;t<e;t++)C=L[t],n.push(this.makeCode(C));return n}.call(this)," "),L.length&&A&&u.push(this.makeCode(" ")),A){var st;(st=u).push.apply(st,_toConsumableArray(A))}if((i=u).push.apply(i,_toConsumableArray(K)),this.bound&&!this.isMethod&&u.push(this.makeCode(" =>")),u.push(this.makeCode(" {")),null==a?void 0:a.length){var at;(at=u).push.apply(at,[this.makeCode("\n")].concat(_toConsumableArray(a),[this.makeCode("\n"+this.tab)]))}return u.push(this.makeCode("}")),this.isMethod?$t(u,this):this.front||n.level>=W?this.wrapInParentheses(u):u}},{key:"eachParamName",value:function(t){var n,r,i,s,o;for(s=this.params,o=[],n=0,r=s.length;n<r;n++)i=s[n],o.push(i.eachName(t));return o}},{key:"traverseChildren",value:function(t,r){if(t)return _get(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"traverseChildren",this).call(this,t,r)}},{key:"replaceInContext",value:function(t,r){return!!this.bound&&_get(n.prototype.__proto__||Object.getPrototypeOf(n.prototype),"replaceInContext",this).call(this,t,r)}},{key:"expandCtorSuper",value:function(t){var n=this,r,i,s,o;return!!this.ctor&&(this.eachSuperCall(f.wrap(this.params),function(e){return e.error("'super' is not allowed in constructor parameter defaults")}),o=this.eachSuperCall(this.body,function(e){return"base"===n.ctor&&e.error("'super' is only allowed in derived class constructors"),e.expressions=t}),r=t.length&&t.length!==(null==(s=this.thisAssignments)?void 0:s.length),"derived"===this.ctor&&!o&&r&&(i=t[0].variable,i.error("Can't use @params in derived class constructors without calling super")),o)}},{key:"eachSuperCall",value:function(t,r){var i=this,s;return s=!1,t.traverseChildren(!0,function(e){var t;return e instanceof Tt?(!e.variable.accessor&&(t=e.args.filter(function(e){return!(e instanceof p)&&(!(e instanceof n)||e.bound)}),f.wrap(t).traverseChildren(!0,function(e){if(e.this)return e.error("Can't call super with @params in derived class constructors")})),s=!0,r(e)):e instanceof At&&"derived"===i.ctor&&!s&&e.error("Can't reference 'this' before calling super in derived class constructors"),!(e instanceof Tt)&&(!(e instanceof n)||e.bound)}),s}}]),n}(a);return e.prototype.children=["params","body"],e.prototype.jumps=nt,e}.call(this),e.Param=at=function(){var e=function(e){function n(e,t,r){_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),s,o;return i.name=e,i.value=t,i.splat=r,s=Qt(i.name.unwrapAll().value),s&&i.name.error(s),i.name instanceof ot&&i.name.generated&&(o=i.name.objects[0].operatorToken,o.error("unexpected "+o.value)),i}return _inherits(n,e),_createClass(n,[{key:"compileToFragments",value:function(t){return this.name.compileToFragments(t,V)}},{key:"compileToFragmentsWithoutComments",value:function(t){return this.name.compileToFragmentsWithoutComments(t,V)}},{key:"asReference",value:function(n){var r,i;return this.reference?this.reference:(i=this.name,i.this?(r=i.properties[0].name.value,0<=t.call(z,r)&&(r="_"+r),i=new _(n.scope.freeVariable(r))):i.shouldCache()&&(i=new _(n.scope.freeVariable("arg"))),i=new Pt(i),i.updateLocationDataIfMissing(this.locationData),this.reference=i)}},{key:"shouldCache",value:function(){return this.name.shouldCache()}},{key:"eachName",value:function(t){var n=this,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.name,i,s,u,a,f,l,c,h;if(i=function(e){var r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;return t("@"+e.properties[0].name.value,e,n,r)},r instanceof G)return t(r.value,r,this);if(r instanceof Pt)return i(r);for(h=null==(c=r.objects)?[]:c,s=0,u=h.length;s<u;s++)l=h[s],a=l,l instanceof o&&null==l.context&&(l=l.variable),l instanceof o?(l=l.value instanceof o?l.value.variable:l.value,this.eachName(t,l.unwrap())):l instanceof bt?(f=l.name.unwrap(),t(f.value,f,this)):l instanceof Pt?l.isArray()||l.isObject()?this.eachName(t,l.base):l.this?i(l,a):t(l.base.value,l.base,this):l instanceof g?l:!(l instanceof w)&&l.error("illegal parameter "+l.compile())}},{key:"renameParam",value:function(t,n){var r,i;return r=function(e){return e===t},i=function(e,t){var r;return t instanceof ot?(r=e,e.this&&(r=e.properties[0].name),e.this&&r.value===n.value?new Pt(n):new o(new Pt(r),n,"object")):n},this.replaceInContext(r,i)}}]),n}(a);return e.prototype.children=["name","value"],e}.call(this),e.Splat=bt=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.name=e.compile?e:new G(e),n}return _inherits(t,e),_createClass(t,[{key:"isAssignable",value:function(){return this.name.isAssignable()&&(!this.name.isAtomic||this.name.isAtomic())}},{key:"assigns",value:function(t){return this.name.assigns(t)}},{key:"compileNode",value:function(t){return[this.makeCode("...")].concat(_toConsumableArray(this.name.compileToFragments(t,$)))}},{key:"unwrap",value:function(){return this.name}}]),t}(a);return e.prototype.children=["name"],e}.call(this),e.Expansion=w=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(){return this.error("Expansion must be used inside a destructuring assignment or parameter list")}},{key:"asReference",value:function(){return this}},{key:"eachName",value:function(){}}]),t}(a);return e.prototype.shouldCache=nt,e}.call(this),e.Elision=g=function(){var e=function(e){function t(){return _classCallCheck(this,t),_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return _inherits(t,e),_createClass(t,[{key:"compileToFragments",value:function(n,r){var i;return i=_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"compileToFragments",this).call(this,n,r),i.isElision=!0,i}},{key:"compileNode",value:function(){return[this.makeCode(", ")]}},{key:"asReference",value:function(){return this}},{key:"eachName",value:function(){}}]),t}(a);return e.prototype.isAssignable=Bt,e.prototype.shouldCache=nt,e}.call(this),e.While=Ht=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.condition=(null==n?void 0:n.invert)?e.invert():e,r.guard=null==n?void 0:n.guard,r}return _inherits(t,e),_createClass(t,[{key:"makeReturn",value:function(n){return n?_get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"makeReturn",this).call(this,n):(this.returns=!this.jumps(),this)}},{key:"addBody",value:function(t){return this.body=t,this}},{key:"jumps",value:function(){var t,n,r,i,s;if(t=this.body.expressions,!t.length)return!1;for(n=0,i=t.length;n<i;n++)if(s=t[n],r=s.jumps({loop:!0}))return r;return!1}},{key:"compileNode",value:function(t){var n,r,i,s;return t.indent+=Ct,s="",r=this.body,r.isEmpty()?r=this.makeCode(""):(this.returns&&(r.makeReturn(i=t.scope.freeVariable("results")),s=""+this.tab+i+" = [];\n"),this.guard&&(1<r.expressions.length?r.expressions.unshift(new D((new ft(this.guard)).invert(),new wt("continue"))):this.guard&&(r=f.wrap([new D(this.guard,r)]))),r=[].concat(this.makeCode("\n"),r.compileToFragments(t,K),this.makeCode("\n"+this.tab))),n=[].concat(this.makeCode(s+this.tab+"while ("),this.condition.compileToFragments(t,J),this.makeCode(") {"),r,this.makeCode("}")),this.returns&&n.push(this.makeCode("\n"+this.tab+"return "+i+";")),n}}]),t}(a);return e.prototype.children=["condition","guard","body"],e.prototype.isStatement=Bt,e}.call(this),e.Op=ut=function(){var e=function(e){function s(e,t,r,i){var o;_classCallCheck(this,s);var u=_possibleConstructorReturn(this,(s.__proto__||Object.getPrototypeOf(s)).call(this)),a;if("in"===e){var f;return f=new q(t,r),_possibleConstructorReturn(u,f)}if("do"===e){var l;return l=s.prototype.generateDo(t),_possibleConstructorReturn(u,l)}if("new"===e){if((a=t.unwrap())instanceof h&&!a.do&&!a.isNew){var c;return c=a.newInstance(),_possibleConstructorReturn(u,c)}(t instanceof d&&t.bound||t.do)&&(t=new ft(t))}return u.operator=n[e]||e,u.first=t,u.second=r,u.flip=!!i,o=u,_possibleConstructorReturn(u,o)}return _inherits(s,e),_createClass(s,[{key:"isNumber",value:function(){var t;return this.isUnary()&&("+"===(t=this.operator)||"-"===t)&&this.first instanceof Pt&&this.first.isNumber()}},{key:"isAwait",value:function(){return"await"===this.operator}},{key:"isYield",value:function(){var t;return"yield"===(t=this.operator)||"yield*"===t}},{key:"isUnary",value:function(){return!this.second}},{key:"shouldCache",value:function(){return!this.isNumber()}},{key:"isChainable",value:function(){var t;return"<"===(t=this.operator)||">"===t||">="===t||"<="===t||"==="===t||"!=="===t}},{key:"invert",value:function(){var t,n,i,o,u;if(this.isChainable()&&this.first.isChainable()){for(t=!0,n=this;n&&n.operator;)t&&(t=n.operator in r),n=n.first;if(!t)return(new ft(this)).invert();for(n=this;n&&n.operator;)n.invert=!n.invert,n.operator=r[n.operator],n=n.first;return this}return(o=r[this.operator])?(this.operator=o,this.first.unwrap()instanceof s&&this.first.invert(),this):this.second?(new ft(this)).invert():"!"===this.operator&&(i=this.first.unwrap())instanceof s&&("!"===(u=i.operator)||"in"===u||"instanceof"===u)?i:new s("!",this)}},{key:"unfoldSoak",value:function(t){var n;return("++"===(n=this.operator)||"--"===n||"delete"===n)&&on(t,this,"first")}},{key:"generateDo",value:function(t){var n,r,i,s,u,a,f,l;for(a=[],r=t instanceof o&&(f=t.value.unwrap())instanceof d?f:t,l=r.params||[],i=0,s=l.length;i<s;i++)u=l[i],u.value?(a.push(u.value),delete u.value):a.push(u);return n=new h(t,a),n.do=!0,n}},{key:"compileNode",value:function(t){var n,r,i,s,o,u;if(r=this.isChainable()&&this.first.isChainable(),r||(this.first.front=this.front),"delete"===this.operator&&t.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var"),("--"===(o=this.operator)||"++"===o)&&(s=Qt(this.first.unwrapAll().value),s&&this.first.error(s)),this.isYield()||this.isAwait())return this.compileContinuation(t);if(this.isUnary())return this.compileUnary(t);if(r)return this.compileChain(t);switch(this.operator){case"?":return this.compileExistence(t,this.second.isDefaultValue);case"**":return this.compilePower(t);case"//":return this.compileFloorDivision(t);case"%%":return this.compileModulo(t);default:return i=this.first.compileToFragments(t,$),u=this.second.compileToFragments(t,$),n=[].concat(i,this.makeCode(" "+this.operator+" "),u),t.level<=$?n:this.wrapInParentheses(n)}}},{key:"compileChain",value:function(t){var n=this.first.second.cache(t),r=_slicedToArray(n,2),i,s,o;return this.first.second=r[0],o=r[1],s=this.first.compileToFragments(t,$),i=s.concat(this.makeCode(" "+(this.invert?"&&":"||")+" "),o.compileToFragments(t),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(t,$)),this.wrapInParentheses(i)}},{key:"compileExistence",value:function(t,n){var r,i;return this.first.shouldCache()?(i=new _(t.scope.freeVariable("ref")),r=new ft(new o(i,this.first))):(r=this.first,i=r),(new D(new b(r,n),i,{type:"if"})).addElse(this.second).compileToFragments(t)}},{key:"compileUnary",value:function(t){var n,r,i;return(r=[],n=this.operator,r.push([this.makeCode(n)]),"!"===n&&this.first instanceof b)?(this.first.negated=!this.first.negated,this.first.compileToFragments(t)):t.level>=W?(new ft(this)).compileToFragments(t):(i="+"===n||"-"===n,("new"===n||"typeof"===n||"delete"===n||i&&this.first instanceof s&&this.first.operator===n)&&r.push([this.makeCode(" ")]),(i&&this.first instanceof s||"new"===n&&this.first.isStatement(t))&&(this.first=new ft(this.first)),r.push(this.first.compileToFragments(t,$)),this.flip&&r.reverse(),this.joinFragmentArrays(r,""))}},{key:"compileContinuation",value:function(n){var r,i,s,o;return i=[],r=this.operator,null==n.scope.parent&&this.error(this.operator+" can only occur inside functions"),(null==(s=n.scope.method)?void 0:s.bound)&&n.scope.method.isGenerator&&this.error("yield cannot occur inside bound (fat arrow) functions"),0<=t.call(Object.keys(this.first),"expression")&&!(this.first instanceof Ot)?null!=this.first.expression&&i.push(this.first.expression.compileToFragments(n,$)):(n.level>=J&&i.push([this.makeCode("(")]),i.push([this.makeCode(r)]),""!==(null==(o=this.first.base)?void 0:o.value)&&i.push([this.makeCode(" ")]),i.push(this.first.compileToFragments(n,$)),n.level>=J&&i.push([this.makeCode(")")])),this.joinFragmentArrays(i,"")}},{key:"compilePower",value:function(t){var n;return n=new Pt(new _("Math"),[new i(new ct("pow"))]),(new h(n,[this.first,this.second])).compileToFragments(t)}},{key:"compileFloorDivision",value:function(t){var n,r,o;return r=new Pt(new _("Math"),[new i(new ct("floor"))]),o=this.second.shouldCache()?new ft(this.second):this.second,n=new s("/",this.first,o),(new h(r,[n])).compileToFragments(t)}},{key:"compileModulo",value:function(t){var n;return n=new Pt(new G(an("modulo",t))),(new h(n,[this.first,this.second])).compileToFragments(t)}},{key:"toString",value:function u(e){return _get(s.prototype.__proto__||Object.getPrototypeOf(s.prototype),"toString",this).call(this,e,this.constructor.name+" "+this.operator)}}]),s}(a),n,r;return n={"==":"===","!=":"!==",of:"in",yieldfrom:"yield*"},r={"!==":"===","===":"!=="},e.prototype.children=["first","second"],e}.call(this),e.In=q=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return r.object=e,r.array=n,r}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,r,i,s,o;if(this.array instanceof Pt&&this.array.isArray()&&this.array.base.objects.length){for(o=this.array.base.objects,r=0,i=o.length;r<i;r++)if(s=o[r],s instanceof bt){n=!0;break}if(!n)return this.compileOrTest(t)}return this.compileLoopTest(t)}},{key:"compileOrTest",value:function(t){var n=this.object.cache(t,$),r=_slicedToArray(n,2),i,s,o,u,a,f,l,c,h,p;h=r[0],l=r[1];var d=this.negated?[" !== "," && "]:[" === "," || "],v=_slicedToArray(d,2);for(i=v[0],s=v[1],p=[],c=this.array.base.objects,o=a=0,f=c.length;a<f;o=++a)u=c[o],o&&p.push(this.makeCode(s)),p=p.concat(o?l:h,this.makeCode(i),u.compileToFragments(t,W));return t.level<$?p:this.wrapInParentheses(p)}},{key:"compileLoopTest",value:function(t){var n=this.object.cache(t,V),r=_slicedToArray(n,2),i,s,o;return(o=r[0],s=r[1],i=[].concat(this.makeCode(an("indexOf",t)+".call("),this.array.compileToFragments(t,V),this.makeCode(", "),s,this.makeCode(") "+(this.negated?"< 0":">= 0"))),Xt(o)===Xt(s))?i:(i=o.concat(this.makeCode(", "),i),t.level<V?i:this.wrapInParentheses(i))}},{key:"toString",value:function n(e){return _get(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),"toString",this).call(this,e,this.constructor.name+(this.negated?"!":""))}}]),t}(a);return e.prototype.children=["object","array"],e.prototype.invert=tt,e}.call(this),e.Try=Mt=function(){var e=function(e){function t(e,n,r,i){_classCallCheck(this,t);var s=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return s.attempt=e,s.errorVariable=n,s.recovery=r,s.ensure=i,s}return _inherits(t,e),_createClass(t,[{key:"jumps",value:function(t){var n;return this.attempt.jumps(t)||(null==(n=this.recovery)?void 0:n.jumps(t))}},{key:"makeReturn",value:function(t){return this.attempt&&(this.attempt=this.attempt.makeReturn(t)),this.recovery&&(this.recovery=this.recovery.makeReturn(t)),this}},{key:"compileNode",value:function(t){var n,r,i,s,u,a;return t.indent+=Ct,a=this.attempt.compileToFragments(t,K),n=this.recovery?(i=t.scope.freeVariable("error",{reserve:!1}),u=new _(i),this.errorVariable?(s=Qt(this.errorVariable.unwrapAll().value),s?this.errorVariable.error(s):void 0,this.recovery.unshift(new o(this.errorVariable,u))):void 0,[].concat(this.makeCode(" catch ("),u.compileToFragments(t),this.makeCode(") {\n"),this.recovery.compileToFragments(t,K),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:(i=t.scope.freeVariable("error",{reserve:!1}),[this.makeCode(" catch ("+i+") {}")]),r=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(t,K),this.makeCode("\n"+this.tab+"}")):[],[].concat(this.makeCode(this.tab+"try {\n"),a,this.makeCode("\n"+this.tab+"}"),n,r)}}]),t}(a);return e.prototype.children=["attempt","recovery","ensure"],e.prototype.isStatement=Bt,e}.call(this),e.Throw=Ot=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.expression=e,n}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n;return n=this.expression.compileToFragments(t,V),un(n,this.makeCode("throw ")),n.unshift(this.makeCode(this.tab)),n.push(this.makeCode(";")),n}}]),t}(a);return e.prototype.children=["expression"],e.prototype.isStatement=Bt,e.prototype.jumps=nt,e.prototype.makeReturn=kt,e}.call(this),e.Existence=b=function(){var e=function(e){function n(e){var r=1<arguments.length&&void 0!==arguments[1]&&arguments[1];_classCallCheck(this,n);var i=_possibleConstructorReturn(this,(n.__proto__||Object.getPrototypeOf(n)).call(this)),s;return i.expression=e,i.comparisonTarget=r?"undefined":"null",s=[],i.expression.traverseChildren(!0,function(e){var n,r,i,o;if(e.comments){for(o=e.comments,r=0,i=o.length;r<i;r++)n=o[r],0>t.call(s,n)&&s.push(n);return delete e.comments}}),It(s,i),Zt(i.expression,i),i}return _inherits(n,e),_createClass(n,[{key:"compileNode",value:function(t){var n,r,i;if(this.expression.front=this.front,i=this.expression.compile(t,$),this.expression.unwrap()instanceof _&&!t.scope.check(i)){var s=this.negated?["===","||"]:["!==","&&"],o=_slicedToArray(s,2);n=o[0],r=o[1],i="typeof "+i+" "+n+' "undefined"'+("undefined"===this.comparisonTarget?"":" "+r+" "+i+" "+n+" "+this.comparisonTarget)}else n="null"===this.comparisonTarget?this.negated?"==":"!=":this.negated?"===":"!==",i=i+" "+n+" "+this.comparisonTarget;return[this.makeCode(t.level<=X?i:"("+i+")")]}}]),n}(a);return e.prototype.children=["expression"],e.prototype.invert=tt,e}.call(this),e.Parens=ft=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.body=e,n}return _inherits(t,e),_createClass(t,[{key:"unwrap",value:function(){return this.body}},{key:"shouldCache",value:function(){return this.body.shouldCache()}},{key:"compileNode",value:function(t){var n,r,i,s,o;return(r=this.body.unwrap(),o=null==(s=r.comments)?void 0:s.some(function(e){return e.here&&!e.unshift&&!e.newLine}),r instanceof Pt&&r.isAtomic()&&!this.csxAttribute&&!o)?(r.front=this.front,r.compileToFragments(t)):(i=r.compileToFragments(t,J),n=t.level<$&&!o&&(r instanceof ut||r.unwrap()instanceof h||r instanceof L&&r.returns)&&(t.level<X||3>=i.length),this.csxAttribute?this.wrapInBraces(i):n?i:this.wrapInParentheses(i))}}]),t}(a);return e.prototype.children=["body"],e}.call(this),e.StringWithInterpolations=St=function(){var e=function(e){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return n.body=e,n}return _inherits(t,e),_createClass(t,[{key:"unwrap",value:function(){return this}},{key:"shouldCache",value:function(){return this.body.shouldCache()}},{key:"compileNode",value:function(n){var r,i,s,o,u,a,f,l,c;if(this.csxAttribute)return c=new ft(new t(this.body)),c.csxAttribute=!0,c.compileNode(n);for(o=this.body.unwrap(),s=[],l=[],o.traverseChildren(!1,function(e){var t,n,r,i,o,u;if(e instanceof Et){if(e.comments){var a;(a=l).push.apply(a,_toConsumableArray(e.comments)),delete e.comments}return s.push(e),!0}if(e instanceof ft){if(0!==l.length){for(n=0,i=l.length;n<i;n++)t=l[n],t.unshift=!0,t.newLine=!0;It(l,e)}return s.push(e),!1}if(e.comments){if(0===s.length||s[s.length-1]instanceof Et){var f;(f=l).push.apply(f,_toConsumableArray(e.comments))}else{for(u=e.comments,r=0,o=u.length;r<o;r++)t=u[r],t.unshift=!1,t.newLine=!0;It(e.comments,s[s.length-1])}delete e.comments}return!0}),u=[],this.csx||u.push(this.makeCode("`")),a=0,f=s.length;a<f;a++)if(i=s[a],i instanceof Et){var h;i.value=i.unquote(!0,this.csx),this.csx||(i.value=i.value.replace(/(\\*)(`|\$\{)/g,function(e,t,n){return 0==t.length%2?t+"\\"+n:e})),(h=u).push.apply(h,_toConsumableArray(i.compileToFragments(n)))}else{var p;this.csx||u.push(this.makeCode("$")),r=i.compileToFragments(n,J),(!this.isNestedTag(i)||r.some(function(e){return null!=e.comments}))&&(r=this.wrapInBraces(r),r[0].isStringWithInterpolations=!0,r[r.length-1].isStringWithInterpolations=!0),(p=u).push.apply(p,_toConsumableArray(r))}return this.csx||u.push(this.makeCode("`")),u}},{key:"isNestedTag",value:function(t){var n,r,i;return r=null==(i=t.body)?void 0:i.expressions,n=null==r?void 0:r[0].unwrap(),this.csx&&r&&1===r.length&&n instanceof h&&n.csx}}]),t}(a);return e.prototype.children=["body"],e}.call(this),e.For=L=function(){var e=function(e){function t(e,n){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this)),i,s,o,u,a,l;if(r.source=n.source,r.guard=n.guard,r.step=n.step,r.name=n.name,r.index=n.index,r.body=f.wrap([e]),r.own=null!=n.own,r.object=null!=n.object,r.from=null!=n.from,r.from&&r.index&&r.index.error("cannot use index with for-from"),r.own&&!r.object&&n.ownTag.error("cannot use own with for-"+(r.from?"from":"in")),r.object){var c=[r.index,r.name];r.name=c[0],r.index=c[1]}for(((null==(u=r.index)?void 0:"function"==typeof u.isArray?u.isArray():void 0)||(null==(a=r.index)?void 0:"function"==typeof a.isObject?a.isObject():void 0))&&r.index.error("index cannot be a pattern matching expression"),r.range=r.source instanceof Pt&&r.source.base instanceof ht&&!r.source.properties.length&&!r.from,r.pattern=r.name instanceof Pt,r.range&&r.index&&r.index.error("indexes do not apply to range loops"),r.range&&r.pattern&&r.name.error("cannot pattern match over range loops"),r.returns=!1,l=["source","guard","step","name","index"],s=0,o=l.length;s<o;s++)(i=l[s],!!r[i])&&(r[i].traverseChildren(!0,function(e){var t,n,s,o;if(e.comments){for(o=e.comments,n=0,s=o.length;n<s;n++)t=o[n],t.newLine=t.unshift=!0;return Zt(e,r[i])}}),Zt(r[i],r));return r}return _inherits(t,e),_createClass(t,[{key:"compileNode",value:function(t){var n,i,s,u,a,l,c,h,p,d,v,m,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,P,H,B,j,F,I,q,R;if(s=f.wrap([this.body]),A=s.expressions,n=r.call(A,-1),i=_slicedToArray(n,1),T=i[0],n,(null==T?void 0:T.jumps())instanceof vt&&(this.returns=!1),B=this.range?this.source.base:this.source,H=t.scope,this.pattern||(C=this.name&&this.name.compile(t,V)),w=this.index&&this.index.compile(t,V),C&&!this.pattern&&H.find(C),w&&!(this.index instanceof Pt)&&H.find(w),this.returns&&(P=H.freeVariable("results")),this.from?this.pattern&&(E=H.freeVariable("x",{single:!0})):E=this.object&&w||H.freeVariable("i",{single:!0}),S=(this.range||this.from)&&C||w||E,x=S===E?"":S+" = ",this.step&&!this.range){var U=this.cacheToCodeFragments(this.step.cache(t,V,tn)),z=_slicedToArray(U,2);j=z[0],I=z[1],this.step.isNumber()&&(F=+I)}return this.pattern&&(C=E),R="",g="",p="",y=this.tab+Ct,this.range?v=B.compileToFragments(Yt(t,{index:E,name:C,step:this.step,shouldCache:tn})):(q=this.source.compile(t,V),(C||this.own)&&!(this.source.unwrap()instanceof _)&&(p+=""+this.tab+(L=H.freeVariable("ref"))+" = "+q+";\n",q=L),C&&!this.pattern&&!this.from&&(k=C+" = "+q+"["+S+"]"),!this.object&&!this.from&&(j!==I&&(p+=""+this.tab+j+";\n"),d=0>F,(!this.step||null==F||!d)&&(N=H.freeVariable("len")),c=""+x+E+" = 0, "+N+" = "+q+".length",h=""+x+E+" = "+q+".length - 1",a=E+" < "+N,l=E+" >= 0",this.step?(null==F?(a=I+" > 0 ? "+a+" : "+l,c="("+I+" > 0 ? ("+c+") : "+h+")"):d&&(a=l,c=h),b=E+" += "+I):b=""+(S===E?E+"++":"++"+E),v=[this.makeCode(c+"; "+a+"; "+x+b)])),this.returns&&(O=""+this.tab+P+" = [];\n",M="\n"+this.tab+"return "+P+";",s.makeReturn(P)),this.guard&&(1<s.expressions.length?s.expressions.unshift(new D((new ft(this.guard)).invert(),new wt("continue"))):this.guard&&(s=f.wrap([new D(this.guard,s)]))),this.pattern&&s.expressions.unshift(new o(this.name,this.from?new _(S):new G(q+"["+S+"]"))),k&&(R="\n"+y+k+";"),this.object?(v=[this.makeCode(S+" in "+q)],this.own&&(g="\n"+y+"if (!"+an("hasProp",t)+".call("+q+", "+S+")) continue;")):this.from&&(v=[this.makeCode(S+" of "+q)]),u=s.compileToFragments(Yt(t,{indent:y}),K),u&&0<u.length&&(u=[].concat(this.makeCode("\n"),u,this.makeCode("\n"))),m=[this.makeCode(p)],O&&m.push(this.makeCode(O)),m=m.concat(this.makeCode(this.tab),this.makeCode("for ("),v,this.makeCode(") {"+g+R),u,this.makeCode(this.tab),this.makeCode("}")),M&&m.push(this.makeCode(M)),m}}]),t}(Ht);return e.prototype.children=["body","source","guard","step"],e}.call(this),e.Switch=Nt=function(){var e=function(e){function t(e,n,r){_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return i.subject=e,i.cases=n,i.otherwise=r,i}return _inherits(t,e),_createClass(t,[{key:"jumps",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{block:!0},n,r,i,s,o,u,a;for(u=this.cases,i=0,o=u.length;i<o;i++){var f=_slicedToArray(u[i],2);if(r=f[0],n=f[1],s=n.jumps(t))return s}return null==(a=this.otherwise)?void 0:a.jumps(t)}},{key:"makeReturn",value:function(t){var n,r,i,s,o;for(s=this.cases,n=0,r=s.length;n<r;n++)i=s[n],i[1].makeReturn(t);return t&&(this.otherwise||(this.otherwise=new f([new G("void 0")]))),null!=(o=this.otherwise)&&o.makeReturn(t),this}},{key:"compileNode",value:function(t){var n,r,i,s,o,u,a,f,l,c,h,p,d,v,m;for(f=t.indent+Ct,l=t.indent=f+Ct,u=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(t,J):this.makeCode("false"),this.makeCode(") {\n")),v=this.cases,a=c=0,p=v.length;c<p;a=++c){var g=_slicedToArray(v[a],2);for(s=g[0],n=g[1],m=Wt([s]),h=0,d=m.length;h<d;h++)i=m[h],this.subject||(i=i.invert()),u=u.concat(this.makeCode(f+"case "),i.compileToFragments(t,J),this.makeCode(":\n"));if(0<(r=n.compileToFragments(t,K)).length&&(u=u.concat(r,this.makeCode("\n"))),a===this.cases.length-1&&!this.otherwise)break;(o=this.lastNode(n.expressions),!(o instanceof vt||o instanceof Ot||o instanceof G&&o.jumps()&&"debugger"!==o.value))&&u.push(i.makeCode(l+"break;\n"))}if(this.otherwise&&this.otherwise.expressions.length){var y;(y=u).push.apply(y,[this.makeCode(f+"default:\n")].concat(_toConsumableArray(this.otherwise.compileToFragments(t,K)),[this.makeCode("\n")]))}return u.push(this.makeCode(this.tab+"}")),u}}]),t}(a);return e.prototype.children=["subject","cases","otherwise"],e.prototype.isStatement=Bt,e}.call(this),e.If=D=function(){var e=function(e){function t(e,n){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};_classCallCheck(this,t);var i=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return i.body=n,i.condition="unless"===r.type?e.invert():e,i.elseBody=null,i.isChain=!1,i.soak=r.soak,i.condition.comments&&Zt(i.condition,i),i}return _inherits(t,e),_createClass(t,[{key:"bodyNode",value:function(){var t;return null==(t=this.body)?void 0:t.unwrap()}},{key:"elseBodyNode",value:function(){var t;return null==(t=this.elseBody)?void 0:t.unwrap()}},{key:"addElse",value:function(n){return this.isChain?this.elseBodyNode().addElse(n):(this.isChain=n instanceof t,this.elseBody=this.ensureBlock(n),this.elseBody.updateLocationDataIfMissing(n.locationData)),this}},{key:"isStatement",value:function(t){var n;return(null==t?void 0:t.level)===K||this.bodyNode().isStatement(t)||(null==(n=this.elseBodyNode())?void 0:n.isStatement(t))}},{key:"jumps",value:function(t){var n;return this.body.jumps(t)||(null==(n=this.elseBody)?void 0:n.jumps(t))}},{key:"compileNode",value:function(t){return this.isStatement(t)?this.compileStatement(t):this.compileExpression(t)}},{key:"makeReturn",value:function(t){return t&&(this.elseBody||(this.elseBody=new f([new G("void 0")]))),this.body&&(this.body=new f([this.body.makeReturn(t)])),this.elseBody&&(this.elseBody=new f([this.elseBody.makeReturn(t)])),this}},{key:"ensureBlock",value:function(t){return t instanceof f?t:new f([t])}},{key:"compileStatement",value:function(n){var r,i,s,o,u,a,f;return(s=Rt(n,"chainChild"),u=Rt(n,"isExistentialEquals"),u)?(new t(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compileToFragments(n):(f=n.indent+Ct,o=this.condition.compileToFragments(n,J),i=this.ensureBlock(this.body).compileToFragments(Yt(n,{indent:f})),a=[].concat(this.makeCode("if ("),o,this.makeCode(") {\n"),i,this.makeCode("\n"+this.tab+"}")),s||a.unshift(this.makeCode(this.tab)),!this.elseBody)?a:(r=a.concat(this.makeCode(" else ")),this.isChain?(n.chainChild=!0,r=r.concat(this.elseBody.unwrap().compileToFragments(n,K))):r=r.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(Yt(n,{indent:f}),K),this.makeCode("\n"+this.tab+"}")),r)}},{key:"compileExpression",value:function(t){var n,r,i,s;return i=this.condition.compileToFragments(t,X),r=this.bodyNode().compileToFragments(t,V),n=this.elseBodyNode()?this.elseBodyNode().compileToFragments(t,V):[this.makeCode("void 0")],s=i.concat(this.makeCode(" ? "),r,this.makeCode(" : "),n),t.level>=X?this.wrapInParentheses(s):s}},{key:"unfoldSoak",value:function(){return this.soak&&this}}]),t}(a);return e.prototype.children=["condition","body","elseBody"],e}.call(this),_t={modulo:function(){return"function(a, b) { return (+a % (b = +b) + b) % b; }"},objectWithoutKeys:function(){return"function(o, ks) { var res = {}; for (var k in o) ([].indexOf.call(ks, k) < 0 && {}.hasOwnProperty.call(o, k)) && (res[k] = o[k]); return res; }"},boundMethodCheck:function(){return"function(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new Error('Bound instance method accessed before binding'); } }"},_extends:function(){return"Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }"},hasProp:function(){return"{}.hasOwnProperty"},indexOf:function(){return"[].indexOf"},slice:function(){return"[].slice"},splice:function(){return"[].splice"}},K=1,J=2,V=3,X=4,$=5,W=6,Ct="  ",mt=/^[+-]?\d+$/,an=function(e,t){var n,r;return r=t.scope.root,e in r.utilities?r.utilities[e]:(n=r.freeVariable(e),r.assign(n,_t[e](t)),r.utilities[e]=n)},en=function(e,t){var n=!(2<arguments.length&&void 0!==arguments[2])||arguments[2],r;return r="\n"===e[e.length-1],e=(n?t:"")+e.replace(/\n/g,"$&"+t),e=e.replace(/\s+$/,""),r&&(e+="\n"),e},$t=function(e,t){var n,r,i,s;for(r=i=0,s=e.length;i<s;r=++i){if(n=e[r],!n.isHereComment){e.splice(r,0,t.makeCode(""+t.tab));break}n.code=en(n.code,t.tab)}return e},Vt=function(e){var t,n,r,i;if(!e.comments)return!1;for(i=e.comments,n=0,r=i.length;n<r;n++)if(t=i[n],!1===t.here)return!0;return!1},Zt=function(e,t){if(null!=e&&e.comments)return It(e.comments,t),delete e.comments},un=function(e,t){var n,r,i,s,o;for(i=!1,r=s=0,o=e.length;s<o;r=++s)if(n=e[r],!n.isComment){e.splice(r,0,t),i=!0;break}return i||e.push(t),e},Jt=function(e){return e instanceof _&&"arguments"===e.value},Kt=function(e){return e instanceof At||e instanceof d&&e.bound},tn=function(e){return e.shouldCache()||("function"==typeof e.isAssignable?e.isAssignable():void 0)},on=function(e,t,n){var r;if(r=t[n].unfoldSoak(e))return t[n]=r.body,r.body=new Pt(t),r}}.call(this),{exports:e}.exports}(),require["./sourcemap"]=function(){var e={exports:{}};return function(){var t,n;t=function(){function e(t){_classCallCheck(this,e),this.line=t,this.columns=[]}return _createClass(e,[{key:"add",value:function(t,n){var r=_slicedToArray(n,2),i=r[0],s=r[1],o=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{};return this.columns[t]&&o.noReplace?void 0:this.columns[t]={line:this.line,column:t,sourceLine:i,sourceColumn:s}}},{key:"sourceLocation",value:function(t){for(var n;!((n=this.columns[t])||0>=t);)t--;return n&&[n.sourceLine,n.sourceColumn]}}]),e}(),n=function(){var e=function(){function e(){_classCallCheck(this,e),this.lines=[]}return _createClass(e,[{key:"add",value:function(n,r){var i=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},s=_slicedToArray(r,2),o,u,f,l;return f=s[0],u=s[1],l=(o=this.lines)[f]||(o[f]=new t(f)),l.add(u,n,i)}},{key:"sourceLocation",value:function(t){for(var n=_slicedToArray(t,2),r=n[0],i=n[1],s;!((s=this.lines[r])||0>=r);)r--;return s&&s.sourceLocation(i)}},{key:"generate",value:function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},n=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b;for(b=0,o=0,a=0,u=0,d=!1,r="",v=this.lines,h=i=0,f=v.length;i<f;h=++i)if(c=v[h],c)for(m=c.columns,s=0,l=m.length;s<l;s++)if(p=m[s],!!p){for(;b<p.line;)o=0,d=!1,r+=";",b++;d&&(r+=",",d=!1),r+=this.encodeVlq(p.column-o),o=p.column,r+=this.encodeVlq(0),r+=this.encodeVlq(p.sourceLine-a),a=p.sourceLine,r+=this.encodeVlq(p.sourceColumn-u),u=p.sourceColumn,d=!0}return g=t.sourceFiles?t.sourceFiles:t.filename?[t.filename]:["<anonymous>"],y={version:3,file:t.generatedFile||"",sourceRoot:t.sourceRoot||"",sources:g,names:[],mappings:r},(t.sourceMap||t.inlineMap)&&(y.sourcesContent=[n]),y}},{key:"encodeVlq",value:function(t){var n,u,a,f;for(n="",a=0>t?1:0,f=(_Mathabs(t)<<1)+a;f||!n;)u=f&s,f>>=i,f&&(u|=r),n+=this.encodeBase64(u);return n}},{key:"encodeBase64",value:function(t){return n[t]||function(){throw new Error("Cannot Base64 encode value: "+t)}()}}]),e}(),n,r,i,s;return i=5,r=1<<i,s=r-1,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e}.call(this),e.exports=n}.call(this),e.exports}(),require["./coffeescript"]=function(){var e={};return function(){var t=[].indexOf,n=require("./lexer"),r,i,s,o,u,a,f,l,c,h,p,d,v,m,g;i=n.Lexer;var y=require("./parser");d=y.parser,c=require("./helpers"),s=require("./sourcemap"),p=require("../../package.json"),e.VERSION=p.version,e.FILE_EXTENSIONS=r=[".coffee",".litcoffee",".coffee.md"],e.helpers=c,o=function(e){switch(!1){case"function"!=typeof Buffer:return Buffer.from(e).toString("base64");case"function"!=typeof btoa:return btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(e,t){return _StringfromCharCode("0x"+t)}));default:throw new Error("Unable to base64 encode inline sourcemap.")}},g=function(e){return function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n;try{return r.call(this,e,t)}catch(r){throw(n=r,"string"!=typeof e)?n:c.updateSyntaxError(n,e,t.filename)}}},m={},v={},e.compile=a=g(function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},n,r,i,a,f,l,p,g,y,b,w,E,S,x,T,N,C,k,L,A,O,M,_,D,P;if(t=Object.assign({},t),p=t.sourceMap||t.inlineMap||null==t.filename,a=t.filename||"<anonymous>",u(a,e),null==m[a]&&(m[a]=[]),m[a].push(e),p&&(x=new s),O=h.tokenize(e,t),t.referencedVars=function(){var e,t,n;for(n=[],e=0,t=O.length;e<t;e++)A=O[e],"IDENTIFIER"===A[0]&&n.push(A[1]);return n}(),null==t.bare||!0!==t.bare)for(y=0,E=O.length;y<E;y++)if(A=O[y],"IMPORT"===(N=A[0])||"EXPORT"===N){t.bare=!0;break}for(l=d.parse(O).compileToFragments(t),r=0,t.header&&(r+=1),t.shiftLine&&(r+=1),n=0,w="",b=0,S=l.length;b<S;b++)f=l[b],p&&(f.locationData&&!/^[;\s]*$/.test(f.code)&&x.add([f.locationData.first_line,f.locationData.first_column],[r,n],{noReplace:!0}),T=c.count(f.code,"\n"),r+=T,T?n=f.code.length-(f.code.lastIndexOf("\n")+1):n+=f.code.length),w+=f.code;if(t.header&&(g="Generated by CoffeeScript "+this.VERSION,w="// "+g+"\n"+w),p&&(P=x.generate(t,e),null==v[a]&&(v[a]=[]),v[a].push(x)),t.transpile){if("object"!==_typeof(t.transpile))throw new Error("The transpile option must be given an object with options to pass to Babel");M=t.transpile.transpile,delete t.transpile.transpile,_=Object.assign({},t.transpile),P&&null==_.inputSourceMap&&(_.inputSourceMap=P),D=M(w,_),w=D.code,P&&D.map&&(P=D.map)}return t.inlineMap&&(i=o(JSON.stringify(P)),k="//# sourceMappingURL=data:application/json;base64,"+i,L="//# sourceURL="+(null==(C=t.filename)?"coffeescript":C),w=w+"\n"+k+"\n"+L),t.sourceMap?{js:w,sourceMap:x,v3SourceMap:JSON.stringify(P,null,2)}:w}),e.tokens=g(function(e,t){return h.tokenize(e,t)}),e.nodes=g(function(e,t){return"string"==typeof e?d.parse(h.tokenize(e,t)):d.parse(e)}),e.run=e.eval=e.register=function(){throw new Error("require index.coffee, not this file")},h=new i,d.lexer={lex:function(){var t,n;if(n=d.tokens[this.pos++],n){var r=n,i=_slicedToArray(r,3);t=i[0],this.yytext=i[1],this.yylloc=i[2],d.errorToken=n.origin||n,this.yylineno=this.yylloc.first_line}else t="";return t},setInput:function(t){return d.tokens=t,this.pos=0},upcomingInput:function(){return""}},d.yy=require("./nodes"),d.yy.parseError=function(e,t){var n=t.token,r=d,i,s,o,u,a;u=r.errorToken,a=r.tokens;var f=u,l=_slicedToArray(f,3);return s=l[0],o=l[1],i=l[2],o=function(){switch(!1){case u!==a[a.length-1]:return"end of input";case"INDENT"!==s&&"OUTDENT"!==s:return"indentation";case"IDENTIFIER"!==s&&"NUMBER"!==s&&"INFINITY"!==s&&"STRING"!==s&&"STRING_START"!==s&&"REGEX"!==s&&"REGEX_START"!==s:return s.replace(/_START$/,"").toLowerCase();default:return c.nameWhitespaceCharacter(o)}}(),c.throwSyntaxError("unexpected "+o,i)},f=function(e,t){var n,r,i,s,o,u,a,f,l,c,h,p;return s=void 0,i="",e.isNative()?i="native":(e.isEval()?(s=e.getScriptNameOrSourceURL(),!s&&(i=e.getEvalOrigin()+", ")):s=e.getFileName(),s||(s="<anonymous>"),f=e.getLineNumber(),r=e.getColumnNumber(),c=t(s,f,r),i=c?s+":"+c[0]+":"+c[1]:s+":"+f+":"+r),o=e.getFunctionName(),u=e.isConstructor(),a=!e.isToplevel()&&!u,a?(l=e.getMethodName(),p=e.getTypeName(),o?(h=n="",p&&o.indexOf(p)&&(h=p+"."),l&&o.indexOf("."+l)!==o.length-l.length-1&&(n=" [as "+l+"]"),""+h+o+n+" ("+i+")"):p+"."+(l||"<anonymous>")+" ("+i+")"):u?"new "+(o||"<anonymous>")+" ("+i+")":o?o+" ("+i+")":i},l=function(e,n,i){var s,o,u,f,l,h;if("<anonymous>"===e||(f=e.slice(e.lastIndexOf(".")),0<=t.call(r,f))){if("<anonymous>"!==e&&null!=v[e])return v[e][v[e].length-1];if(null!=v["<anonymous>"])for(l=v["<anonymous>"],o=l.length-1;0<=o;o+=-1)if(u=l[o],h=u.sourceLocation([n-1,i-1]),null!=(null==h?void 0:h[0])&&null!=h[1])return u;return null==m[e]?null:(s=a(m[e][m[e].length-1],{filename:e,sourceMap:!0,literate:c.isLiterate(e)}),s.sourceMap)}return null},Error.prepareStackTrace=function(t,n){var r,i,s;return s=function(e,t,n){var r,i;return i=l(e,t,n),null!=i&&(r=i.sourceLocation([t-1,n-1])),null==r?null:[r[0]+1,r[1]+1]},i=function(){var t,i,o;for(o=[],t=0,i=n.length;t<i&&(r=n[t],r.getFunction()!==e.run);t++)o.push("    at "+f(r,s));return o}(),t.toString()+"\n"+i.join("\n")+"\n"},u=function(e,t){var n,r,i,s;if(r=t.split(/$/m)[0],s=null==r?void 0:r.match(/^#!\s*([^\s]+\s*)(.*)/),n=null==s||null==(i=s[2])?void 0:i.split(/\s/).filter(function(e){return""!==e}),1<(null==n?void 0:n.length))return console.error("The script to be run begins with a shebang line with more than one\nargument. This script will fail on platforms such as Linux which only\nallow a single argument."),console.error("The shebang line was: '"+r+"' in file '"+e+"'"),console.error("The arguments were: "+JSON.stringify(n))}}.call(this),{exports:e}.exports}(),require["./browser"]=function(){var exports={},module={exports:exports};return function(){var indexOf=[].indexOf,CoffeeScript,compile,runScripts;CoffeeScript=require("./coffeescript"),compile=CoffeeScript.compile,CoffeeScript.eval=function(code){var options=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return null==options.bare&&(options.bare=!0),eval(compile(code,options))},CoffeeScript.run=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.bare=!0,t.shiftLine=!0,Function(compile(e,t))()},module.exports=CoffeeScript,"undefined"==typeof window||null===window||("undefined"!=typeof btoa&&null!==btoa&&"undefined"!=typeof JSON&&null!==JSON&&(compile=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return t.inlineMap=!0,CoffeeScript.compile(e,t)}),CoffeeScript.load=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:{},r=3<arguments.length&&void 0!==arguments[3]&&arguments[3],i;return n.sourceFiles=[e],i=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest,i.open("GET",e,!0),"overrideMimeType"in i&&i.overrideMimeType("text/plain"),i.onreadystatechange=function(){var s,u;if(4===i.readyState){if(0!==(u=i.status)&&200!==u)throw new Error("Could not load "+e);if(s=[i.responseText,n],!r){var f;(f=CoffeeScript).run.apply(f,_toConsumableArray(s))}if(t)return t(s)}},i.send(null)},runScripts=function(){var e,t,n,r,i,s,o,u,a,f;for(f=window.document.getElementsByTagName("script"),t=["text/coffeescript","text/literate-coffeescript"],e=function(){var e,n,r,i;for(i=[],e=0,n=f.length;e<n;e++)u=f[e],(r=u.type,0<=indexOf.call(t,r))&&i.push(u);return i}(),i=0,n=function(){var r;if(r=e[i],r instanceof Array){var s;return(s=CoffeeScript).run.apply(s,_toConsumableArray(r)),i++,n()}},r=s=0,o=e.length;s<o;r=++s)a=e[r],function(r,i){var s,o;return s={literate:r.type===t[1]},o=r.src||r.getAttribute("data-src"),o?(s.filename=o,CoffeeScript.load(o,function(t){return e[i]=t,n()},s,!0)):(s.filename=r.id&&""!==r.id?r.id:"coffeescript"+(0===i?"":i),s.sourceFiles=["embedded"],e[i]=[r.innerHTML,s])}(a,r);return n()},window.addEventListener?window.addEventListener("DOMContentLoaded",runScripts,!1):window.attachEvent("onload",runScripts))}.call(this),module.exports}(),require["./browser"]}();"function"==typeof define&&define.amd?define(function(){return CoffeeScript}):root.CoffeeScript=CoffeeScript})(this)}),ace.define("ace/mode/coffee_worker",[],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("../worker/mirror").Mirror,s=e("../mode/coffee/coffee");window.addEventListener=function(){};var o=t.Worker=function(e){i.call(this,e),this.setTimeout(250)};r.inherits(o,i),function(){this.onUpdate=function(){var e=this.doc.getValue(),t=[];try{s.compile(e)}catch(n){var r=n.location;r&&t.push({row:r.first_line,column:r.first_column,endRow:r.last_line,endColumn:r.last_column,text:n.message,type:"error"})}this.sender.emit("annotate",t)}}.call(o.prototype)}),ace.define("ace/lib/es5-shim",[],function(e,t,n){function r(){}function w(e){try{return Object.defineProperty(e,"sentinel",{}),"sentinel"in e}catch(t){}}function H(e){return e=+e,e!==e?e=0:e!==0&&e!==1/0&&e!==-1/0&&(e=(e>0||-1)*Math.floor(Math.abs(e))),e}function B(e){var t=typeof e;return e===null||t==="undefined"||t==="boolean"||t==="number"||t==="string"}function j(e){var t,n,r;if(B(e))return e;n=e.valueOf;if(typeof n=="function"){t=n.call(e);if(B(t))return t}r=e.toString;if(typeof r=="function"){t=r.call(e);if(B(t))return t}throw new TypeError}Function.prototype.bind||(Function.prototype.bind=function(t){var n=this;if(typeof n!="function")throw new TypeError("Function.prototype.bind called on incompatible "+n);var i=u.call(arguments,1),s=function(){if(this instanceof s){var e=n.apply(this,i.concat(u.call(arguments)));return Object(e)===e?e:this}return n.apply(t,i.concat(u.call(arguments)))};return n.prototype&&(r.prototype=n.prototype,s.prototype=new r,r.prototype=null),s});var i=Function.prototype.call,s=Array.prototype,o=Object.prototype,u=s.slice,a=i.bind(o.toString),f=i.bind(o.hasOwnProperty),l,c,h,p,d;if(d=f(o,"__defineGetter__"))l=i.bind(o.__defineGetter__),c=i.bind(o.__defineSetter__),h=i.bind(o.__lookupGetter__),p=i.bind(o.__lookupSetter__);if([1,2].splice(0).length!=2)if(!function(){function e(e){var t=new Array(e+2);return t[0]=t[1]=0,t}var t=[],n;t.splice.apply(t,e(20)),t.splice.apply(t,e(26)),n=t.length,t.splice(5,0,"XXX"),n+1==t.length;if(n+1==t.length)return!0}())Array.prototype.splice=function(e,t){var n=this.length;e>0?e>n&&(e=n):e==void 0?e=0:e<0&&(e=Math.max(n+e,0)),e+t<n||(t=n-e);var r=this.slice(e,e+t),i=u.call(arguments,2),s=i.length;if(e===n)s&&this.push.apply(this,i);else{var o=Math.min(t,n-e),a=e+o,f=a+s-o,l=n-a,c=n-o;if(f<a)for(var h=0;h<l;++h)this[f+h]=this[a+h];else if(f>a)for(h=l;h--;)this[f+h]=this[a+h];if(s&&e===c)this.length=c,this.push.apply(this,i);else{this.length=c+s;for(h=0;h<s;++h)this[e+h]=i[h]}}return r};else{var v=Array.prototype.splice;Array.prototype.splice=function(e,t){return arguments.length?v.apply(this,[e===void 0?0:e,t===void 0?this.length-e:t].concat(u.call(arguments,2))):[]}}Array.isArray||(Array.isArray=function(t){return a(t)=="[object Array]"});var m=Object("a"),g=m[0]!="a"||!(0 in m);Array.prototype.forEach||(Array.prototype.forEach=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=arguments[1],s=-1,o=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError;while(++s<o)s in r&&t.call(i,r[s],s,n)}),Array.prototype.map||(Array.prototype.map=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=Array(i),o=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var u=0;u<i;u++)u in r&&(s[u]=t.call(o,r[u],u,n));return s}),Array.prototype.filter||(Array.prototype.filter=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=[],o,u=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var f=0;f<i;f++)f in r&&(o=r[f],t.call(u,o,f,n)&&s.push(o));return s}),Array.prototype.every||(Array.prototype.every=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&!t.call(s,r[o],o,n))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0,s=arguments[1];if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");for(var o=0;o<i;o++)if(o in r&&t.call(s,r[o],o,n))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduce of empty array with no initial value");var s=0,o;if(arguments.length>=2)o=arguments[1];else do{if(s in r){o=r[s++];break}if(++s>=i)throw new TypeError("reduce of empty array with no initial value")}while(!0);for(;s<i;s++)s in r&&(o=t.call(void 0,o,r[s],s,n));return o}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var n=F(this),r=g&&a(this)=="[object String]"?this.split(""):n,i=r.length>>>0;if(a(t)!="[object Function]")throw new TypeError(t+" is not a function");if(!i&&arguments.length==1)throw new TypeError("reduceRight of empty array with no initial value");var s,o=i-1;if(arguments.length>=2)s=arguments[1];else do{if(o in r){s=r[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}while(!0);do o in this&&(s=t.call(void 0,s,r[o],o,n));while(o--);return s});if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1)Array.prototype.indexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=0;arguments.length>1&&(i=H(arguments[1])),i=i>=0?i:Math.max(0,r+i);for(;i<r;i++)if(i in n&&n[i]===t)return i;return-1};if(!Array.prototype.lastIndexOf||[0,1].lastIndexOf(0,-3)!=-1)Array.prototype.lastIndexOf=function(t){var n=g&&a(this)=="[object String]"?this.split(""):F(this),r=n.length>>>0;if(!r)return-1;var i=r-1;arguments.length>1&&(i=Math.min(i,H(arguments[1]))),i=i>=0?i:r-Math.abs(i);for(;i>=0;i--)if(i in n&&t===n[i])return i;return-1};Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:o)});if(!Object.getOwnPropertyDescriptor){var y="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function(t,n){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(y+t);if(!f(t,n))return;var r,i,s;r={enumerable:!0,configurable:!0};if(d){var u=t.__proto__;t.__proto__=o;var i=h(t,n),s=p(t,n);t.__proto__=u;if(i||s)return i&&(r.get=i),s&&(r.set=s),r}return r.value=t[n],r}}Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)});if(!Object.create){var b;Object.prototype.__proto__===null?b=function(){return{__proto__:null}}:b=function(){var e={};for(var t in e)e[t]=null;return e.constructor=e.hasOwnProperty=e.propertyIsEnumerable=e.isPrototypeOf=e.toLocaleString=e.toString=e.valueOf=e.__proto__=null,e},Object.create=function(t,n){var r;if(t===null)r=b();else{if(typeof t!="object")throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var i=function(){};i.prototype=t,r=new i,r.__proto__=t}return n!==void 0&&Object.defineProperties(r,n),r}}if(Object.defineProperty){var E=w({}),S=typeof document=="undefined"||w(document.createElement("div"));if(!E||!S)var x=Object.defineProperty}if(!Object.defineProperty||x){var T="Property description must be an object: ",N="Object.defineProperty called on non-object: ",C="getters & setters can not be defined on this javascript engine";Object.defineProperty=function(t,n,r){if(typeof t!="object"&&typeof t!="function"||t===null)throw new TypeError(N+t);if(typeof r!="object"&&typeof r!="function"||r===null)throw new TypeError(T+r);if(x)try{return x.call(Object,t,n,r)}catch(i){}if(f(r,"value"))if(d&&(h(t,n)||p(t,n))){var s=t.__proto__;t.__proto__=o,delete t[n],t[n]=r.value,t.__proto__=s}else t[n]=r.value;else{if(!d)throw new TypeError(C);f(r,"get")&&l(t,n,r.get),f(r,"set")&&c(t,n,r.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,n){for(var r in n)f(n,r)&&Object.defineProperty(t,r,n[r]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(k){Object.freeze=function(t){return function(n){return typeof n=="function"?n:t(n)}}(Object.freeze)}Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;var n="";while(f(t,n))n+="?";t[n]=!0;var r=f(t,n);return delete t[n],r});if(!Object.keys){var L=!0,A=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=A.length;for(var M in{toString:null})L=!1;Object.keys=function I(e){if(typeof e!="object"&&typeof e!="function"||e===null)throw new TypeError("Object.keys called on a non-object");var I=[];for(var t in e)f(e,t)&&I.push(t);if(L)for(var n=0,r=O;n<r;n++){var i=A[n];f(e,i)&&I.push(i)}return I}}Date.now||(Date.now=function(){return(new Date).getTime()});var _="	\n\x0b\f\r \u00a0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028\u2029\ufeff";if(!String.prototype.trim||_.trim()){_="["+_+"]";var D=new RegExp("^"+_+_+"*"),P=new RegExp(_+_+"*$");String.prototype.trim=function(){return String(this).replace(D,"").replace(P,"")}}var F=function(e){if(e==null)throw new TypeError("can't convert "+e+" to object");return Object(e)}})
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/ace/worker-json.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-"no use strict";!function(o){if(!(void 0!==o.window&&o.document||o.require&&o.define)){o.console||(o.console=function(){var t=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:t})},o.console.error=o.console.warn=o.console.log=o.console.trace=o.console),((o.window=o).ace=o).onerror=function(t,e,n,r,i){postMessage({type:"error",data:{message:t,data:i.data,file:e,line:n,col:r,stack:i.stack}})},o.normalizeModule=function(t,e){if(-1!==e.indexOf("!")){var n=e.split("!");return o.normalizeModule(t,n[0])+"!"+o.normalizeModule(t,n[1])}if("."==e.charAt(0)){var r=t.split("/").slice(0,-1).join("/");for(e=(r?r+"/":"")+e;-1!==e.indexOf(".")&&i!=e;){var i=e;e=e.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return e},o.require=function(t,e){if(e||(e=t,t=null),!e.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");e=o.normalizeModule(t,e);var n=o.require.modules[e];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;if(!o.require.tlns)return console.log("unable to load "+e);var r=function(t,e){for(var n=t,r="";n;){var i=e[n];if("string"==typeof i)return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(!1===i)return"";var o=n.lastIndexOf("/");if(-1===o)break;r=n.substr(o)+r,n=n.slice(0,o)}return t}(e,o.require.tlns);return".js"!=r.slice(-3)&&(r+=".js"),o.require.id=e,o.require.modules[e]={},importScripts(r),o.require(t,e)},o.require.modules={},o.require.tlns={},o.define=function(e,n,r){if(2==arguments.length?(r=n,"string"!=typeof e&&(n=e,e=o.require.id)):1==arguments.length&&(r=e,n=[],e=o.require.id),"function"==typeof r){n.length||(n=["require","exports","module"]);var i=function(t){return o.require(e,t)};o.require.modules[e]={exports:{},factory:function(){var e=this,t=r.apply(this,n.slice(0,r.length).map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}}else o.require.modules[e]={exports:r,initialized:!0}},o.define.amd={},require.tlns={},o.initBaseUrls=function(t){for(var e in t)require.tlns[e]=t[e]},o.initSender=function(){var t=o.require("ace/lib/event_emitter").EventEmitter,e=o.require("ace/lib/oop"),n=function(){};return function(){e.implement(this,t),this.callback=function(t,e){postMessage({type:"call",id:e,data:t})},this.emit=function(t,e){postMessage({type:"event",name:t,data:e})}}.call(n.prototype),new n};var r=o.main=null,i=o.sender=null;o.onmessage=function(t){var e=t.data;if(e.event&&i)i._signal(e.event,e.data);else if(e.command)if(r[e.command])r[e.command].apply(r,e.args);else{if(!o[e.command])throw new Error("Unknown command:"+e.command);o[e.command].apply(o,e.args)}else if(e.init){o.initBaseUrls(e.tlns),require("ace/lib/es5-shim"),i=o.sender=o.initSender();var n=require(e.module)[e.classname];r=o.main=new n(i)}}}}(this),ace.define("ace/lib/oop",[],function(t,n,e){"use strict";n.inherits=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(t,e){for(var n in e)t[n]=e[n];return t},n.implement=function(t,e){n.mixin(t,e)}}),ace.define("ace/range",[],function(t,e,n){"use strict";var o=function(t,e,n,r){this.start={row:t,column:e},this.end={row:n,column:r}};(function(){this.isEqual=function(t){return this.start.row===t.start.row&&this.end.row===t.end.row&&this.start.column===t.start.column&&this.end.column===t.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(t,e){return 0==this.compare(t,e)},this.compareRange=function(t){var e,n=t.end,r=t.start;return 1==(e=this.compare(n.row,n.column))?1==(e=this.compare(r.row,r.column))?2:0==e?1:0:-1==e?-2:-1==(e=this.compare(r.row,r.column))?-1:1==e?42:0},this.comparePoint=function(t){return this.compare(t.row,t.column)},this.containsRange=function(t){return 0==this.comparePoint(t.start)&&0==this.comparePoint(t.end)},this.intersects=function(t){var e=this.compareRange(t);return-1==e||0==e||1==e},this.isEnd=function(t,e){return this.end.row==t&&this.end.column==e},this.isStart=function(t,e){return this.start.row==t&&this.start.column==e},this.setStart=function(t,e){"object"==typeof t?(this.start.column=t.column,this.start.row=t.row):(this.start.row=t,this.start.column=e)},this.setEnd=function(t,e){"object"==typeof t?(this.end.column=t.column,this.end.row=t.row):(this.end.row=t,this.end.column=e)},this.inside=function(t,e){return 0==this.compare(t,e)&&(!this.isEnd(t,e)&&!this.isStart(t,e))},this.insideStart=function(t,e){return 0==this.compare(t,e)&&!this.isEnd(t,e)},this.insideEnd=function(t,e){return 0==this.compare(t,e)&&!this.isStart(t,e)},this.compare=function(t,e){return this.isMultiLine()||t!==this.start.row?t<this.start.row?-1:t>this.end.row?1:this.start.row===t?e>=this.start.column?0:-1:this.end.row===t?e<=this.end.column?0:1:0:e<this.start.column?-1:e>this.end.column?1:0},this.compareStart=function(t,e){return this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.compareEnd=function(t,e){return this.end.row==t&&this.end.column==e?1:this.compare(t,e)},this.compareInside=function(t,e){return this.end.row==t&&this.end.column==e?1:this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.clipRows=function(t,e){if(this.end.row>e)var n={row:e+1,column:0};else if(this.end.row<t)n={row:t,column:0};if(this.start.row>e)var r={row:e+1,column:0};else if(this.start.row<t)r={row:t,column:0};return o.fromPoints(r||this.start,n||this.end)},this.extend=function(t,e){var n=this.compare(t,e);if(0==n)return this;if(-1==n)var r={row:t,column:e};else var i={row:t,column:e};return o.fromPoints(r||this.start,i||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(t){var e=t.documentToScreenPosition(this.start),n=t.documentToScreenPosition(this.end);return new o(e.row,e.column,n.row,n.column)},this.moveBy=function(t,e){this.start.row+=t,this.start.column+=e,this.end.row+=t,this.end.column+=e}}).call(o.prototype),o.fromPoints=function(t,e){return new o(t.row,t.column,e.row,e.column)},o.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},o.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},e.Range=o}),ace.define("ace/apply_delta",[],function(t,e,n){"use strict";e.applyDelta=function(t,e,n){var r=e.start.row,i=e.start.column,o=t[r]||"";switch(e.action){case"insert":if(1===e.lines.length)t[r]=o.substring(0,i)+e.lines[0]+o.substring(i);else{var s=[r,1].concat(e.lines);t.splice.apply(t,s),t[r]=o.substring(0,i)+t[r],t[r+e.lines.length-1]+=o.substring(i)}break;case"remove":var a=e.end.column,c=e.end.row;r===c?t[r]=o.substring(0,i)+o.substring(a):t.splice(r,c-r+1,o.substring(0,i)+t[c].substring(a))}}}),ace.define("ace/lib/event_emitter",[],function(t,e,n){"use strict";var r={},o=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(t,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[t]||[],r=this._defaultHandlers[t];if(n.length||r){"object"==typeof e&&e||(e={}),e.type||(e.type=t),e.stopPropagation||(e.stopPropagation=o),e.preventDefault||(e.preventDefault=s),n=n.slice();for(var i=0;i<n.length&&(n[i](e,this),!e.propagationStopped);i++);return r&&!e.defaultPrevented?r(e,this):void 0}},r._signal=function(t,e){var n=(this._eventRegistry||{})[t];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](e,this)}},r.once=function(e,n){var r=this;if(this.addEventListener(e,function t(){r.removeEventListener(e,t),n.apply(null,arguments)}),!n)return new Promise(function(t){n=t})},r.setDefaultHandler=function(t,e){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[t]){var r=n[t],i=n._disabled_[t];i||(n._disabled_[t]=i=[]),i.push(r);var o=i.indexOf(e);-1!=o&&i.splice(o,1)}n[t]=e},r.removeDefaultHandler=function(t,e){var n=this._defaultHandlers;if(n){var r=n._disabled_[t];if(n[t]==e)r&&this.setDefaultHandler(t,r.pop());else if(r){var i=r.indexOf(e);-1!=i&&r.splice(i,1)}}},r.on=r.addEventListener=function(t,e,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[t];return r||(r=this._eventRegistry[t]=[]),-1==r.indexOf(e)&&r[n?"unshift":"push"](e),e},r.off=r.removeListener=r.removeEventListener=function(t,e){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[t];if(n){var r=n.indexOf(e);-1!==r&&n.splice(r,1)}},r.removeAllListeners=function(t){this._eventRegistry&&(this._eventRegistry[t]=[])},e.EventEmitter=r}),ace.define("ace/anchor",[],function(t,e,n){"use strict";var r=t("./lib/oop"),i=t("./lib/event_emitter").EventEmitter,o=e.Anchor=function(t,e,n){this.$onChange=this.onChange.bind(this),this.attach(t),void 0===n?this.setPosition(e.row,e.column):this.setPosition(e,n)};(function(){function l(t,e,n){var r=n?t.column<=e.column:t.column<e.column;return t.row<e.row||t.row==e.row&&r}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row)){var e,n,r,i,o,s,a,c,u=(e=t,n={row:this.row,column:this.column},r=this.$insertRight,i="insert"==e.action,o=(i?1:-1)*(e.end.row-e.start.row),s=(i?1:-1)*(e.end.column-e.start.column),a=e.start,c=i?a:e.end,l(n,a,r)?{row:n.row,column:n.column}:l(c,n,!r)?{row:n.row+o,column:n.column+(n.row==c.row?s:0)}:{row:a.row,column:a.column});this.setPosition(u.row,u.column,!0)}},this.setPosition=function(t,e,n){var r;if(r=n?{row:t,column:e}:this.$clipPositionToDocument(t,e),this.row!=r.row||this.column!=r.column){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(t,e){var n={};return t>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):t<0?(n.row=0,n.column=0):(n.row=t,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,e))),e<0&&(n.column=0),n}}).call(o.prototype)}),ace.define("ace/document",[],function(t,e,n){"use strict";var r=t("./lib/oop"),i=t("./apply_delta").applyDelta,o=t("./lib/event_emitter").EventEmitter,l=t("./range").Range,s=t("./anchor").Anchor,a=function(t){this.$lines=[""],0===t.length?this.$lines=[""]:Array.isArray(t)?this.insertMergedLines({row:0,column:0},t):this.insert({row:0,column:0},t)};(function(){r.implement(this,o),this.setValue=function(t){var e=this.getLength()-1;this.remove(new l(0,0,e,this.getLine(e).length)),this.insert({row:0,column:0},t)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(t,e){return new s(this,t,e)},0==="aaa".split(/a/).length?this.$split=function(t){return t.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(t){return t.split(/\r\n|\r|\n/)},this.$detectNewLine=function(t){var e=t.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=e?e[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(t){this.$newLineMode!==t&&(this.$newLineMode=t,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(t){return"\r\n"==t||"\r"==t||"\n"==t},this.getLine=function(t){return this.$lines[t]||""},this.getLines=function(t,e){return this.$lines.slice(t,e+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(t){return this.getLinesForRange(t).join(this.getNewLineCharacter())},this.getLinesForRange=function(t){var e;if(t.start.row===t.end.row)e=[this.getLine(t.start.row).substring(t.start.column,t.end.column)];else{(e=this.getLines(t.start.row,t.end.row))[0]=(e[0]||"").substring(t.start.column);var n=e.length-1;t.end.row-t.start.row==n&&(e[n]=e[n].substring(0,t.end.column))}return e},this.insertLines=function(t,e){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(t,e)},this.removeLines=function(t,e){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(t,e)},this.insertNewLine=function(t){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(t,["",""])},this.insert=function(t,e){return this.getLength()<=1&&this.$detectNewLine(e),this.insertMergedLines(t,this.$split(e))},this.insertInLine=function(t,e){var n=this.clippedPos(t.row,t.column),r=this.pos(t.row,t.column+e.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[e]},!0),this.clonePos(r)},this.clippedPos=function(t,e){var n=this.getLength();void 0===t?t=n:t<0?t=0:n<=t&&(t=n-1,e=void 0);var r=this.getLine(t);return null==e&&(e=r.length),{row:t,column:e=Math.min(Math.max(e,0),r.length)}},this.clonePos=function(t){return{row:t.row,column:t.column}},this.pos=function(t,e){return{row:t,column:e}},this.$clipPosition=function(t){var e=this.getLength();return t.row>=e?(t.row=Math.max(0,e-1),t.column=this.getLine(e-1).length):(t.row=Math.max(0,t.row),t.column=Math.min(Math.max(t.column,0),this.getLine(t.row).length)),t},this.insertFullLines=function(t,e){var n=0;(t=Math.min(Math.max(t,0),this.getLength()))<this.getLength()?(e=e.concat([""]),n=0):(e=[""].concat(e),t--,n=this.$lines[t].length),this.insertMergedLines({row:t,column:n},e)},this.insertMergedLines=function(t,e){var n=this.clippedPos(t.row,t.column),r={row:n.row+e.length-1,column:(1==e.length?n.column:0)+e[e.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:e}),this.clonePos(r)},this.remove=function(t){var e=this.clippedPos(t.start.row,t.start.column),n=this.clippedPos(t.end.row,t.end.column);return this.applyDelta({start:e,end:n,action:"remove",lines:this.getLinesForRange({start:e,end:n})}),this.clonePos(e)},this.removeInLine=function(t,e,n){var r=this.clippedPos(t,e),i=this.clippedPos(t,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(t,e){t=Math.min(Math.max(0,t),this.getLength()-1);var n=(e=Math.min(Math.max(0,e),this.getLength()-1))==this.getLength()-1&&0<t,r=e<this.getLength()-1,i=n?t-1:t,o=n?this.getLine(i).length:0,s=r?e+1:e,a=r?0:this.getLine(s).length,c=new l(i,o,s,a),u=this.$lines.slice(t,e+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),u},this.removeNewLine=function(t){t<this.getLength()-1&&0<=t&&this.applyDelta({start:this.pos(t,this.getLine(t).length),end:this.pos(t+1,0),action:"remove",lines:["",""]})},this.replace=function(t,e){return t instanceof l||(t=l.fromPoints(t.start,t.end)),0===e.length&&t.isEmpty()?t.start:e==this.getTextRange(t)?t.end:(this.remove(t),e?this.insert(t.start,e):t.start)},this.applyDeltas=function(t){for(var e=0;e<t.length;e++)this.applyDelta(t[e])},this.revertDeltas=function(t){for(var e=t.length-1;0<=e;e--)this.revertDelta(t[e])},this.applyDelta=function(t,e){var n="insert"==t.action;(n?t.lines.length<=1&&!t.lines[0]:!l.comparePoints(t.start,t.end))||(n&&2e4<t.lines.length?this.$splitAndapplyLargeDelta(t,2e4):(i(this.$lines,t,e),this._signal("change",t)))},this.$splitAndapplyLargeDelta=function(t,e){for(var n=t.lines,r=n.length-e+1,i=t.start.row,o=t.start.column,s=0,a=0;s<r;s=a){a+=e-1;var c=n.slice(s,a);c.push(""),this.applyDelta({start:this.pos(i+s,o),end:this.pos(i+a,o=0),action:t.action,lines:c},!0)}t.lines=n.slice(s),t.start.row=i+s,t.start.column=o,this.applyDelta(t,!0)},this.revertDelta=function(t){this.applyDelta({start:this.clonePos(t.start),end:this.clonePos(t.end),action:"insert"==t.action?"remove":"insert",lines:t.lines.slice()})},this.indexToPosition=function(t,e){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=e||0,o=n.length;i<o;i++)if((t-=n[i].length+r)<0)return{row:i,column:t+n[i].length+r};return{row:o-1,column:t+n[o-1].length+r}},this.positionToIndex=function(t,e){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(t.row,n.length),s=e||0;s<o;++s)i+=n[s].length+r;return i+t.column}}).call(a.prototype),e.Document=a}),ace.define("ace/lib/lang",[],function(t,e,n){"use strict";e.last=function(t){return t[t.length-1]},e.stringReverse=function(t){return t.split("").reverse().join("")},e.stringRepeat=function(t,e){for(var n="";0<e;)1&e&&(n+=t),(e>>=1)&&(t+=t);return n};var r=/^\s\s*/,i=/\s\s*$/;e.stringTrimLeft=function(t){return t.replace(r,"")},e.stringTrimRight=function(t){return t.replace(i,"")},e.copyObject=function(t){var e={};for(var n in t)e[n]=t[n];return e},e.copyArray=function(t){for(var e=[],n=0,r=t.length;n<r;n++)t[n]&&"object"==typeof t[n]?e[n]=this.copyObject(t[n]):e[n]=t[n];return e},e.deepCopy=function t(e){if("object"!=typeof e||!e)return e;var n;if(Array.isArray(e)){n=[];for(var r=0;r<e.length;r++)n[r]=t(e[r]);return n}if("[object Object]"!==Object.prototype.toString.call(e))return e;for(var r in n={},e)n[r]=t(e[r]);return n},e.arrayToMap=function(t){for(var e={},n=0;n<t.length;n++)e[t[n]]=1;return e},e.createMap=function(t){var e=Object.create(null);for(var n in t)e[n]=t[n];return e},e.arrayRemove=function(t,e){for(var n=0;n<=t.length;n++)e===t[n]&&t.splice(n,1)},e.escapeRegExp=function(t){return t.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},e.escapeHTML=function(t){return(""+t).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},e.getMatchOffsets=function(t,e){var n=[];return t.replace(e,function(t){n.push({offset:arguments[arguments.length-2],length:t.length})}),n},e.deferredCall=function(t){var e=null,n=function(){e=null,t()},r=function(t){return r.cancel(),e=setTimeout(n,t||0),r};return(r.schedule=r).call=function(){return this.cancel(),t(),r},r.cancel=function(){return clearTimeout(e),e=null,r},r.isPending=function(){return e},r},e.delayedCall=function(t,e){var n=null,r=function(){n=null,t()},i=function(t){null==n&&(n=setTimeout(r,t||e))};return i.delay=function(t){n&&clearTimeout(n),n=setTimeout(r,t||e)},(i.schedule=i).call=function(){this.cancel(),t()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/worker/mirror",[],function(t,e,n){"use strict";t("../range").Range;var r=t("../document").Document,a=t("../lib/lang"),i=e.Mirror=function(t){this.sender=t;var i=this.doc=new r(""),o=this.deferredUpdate=a.delayedCall(this.onUpdate.bind(this)),s=this;t.on("change",function(t){var e=t.data;if(e[0].start)i.applyDeltas(e);else for(var n=0;n<e.length;n+=2){if(Array.isArray(e[n+1]))var r={action:"insert",start:e[n],lines:e[n+1]};else r={action:"remove",start:e[n],end:e[n+1]};i.applyDelta(r,!0)}if(s.$timeout)return o.schedule(s.$timeout);s.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(t){this.$timeout=t},this.setValue=function(t){this.doc.setValue(t),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(t){this.sender.callback(this.doc.getValue(),t)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(i.prototype)}),ace.define("ace/mode/json/json_parse",[],function(t,e,n){"use strict";var r,i,o,a,s={'"':'"',"\\":"\\","/":"/",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t"},c=function(t){throw{name:"SyntaxError",message:t,at:r,text:o}},u=function(t){return t&&t!==i&&c("Expected '"+t+"' instead of '"+i+"'"),i=o.charAt(r),r+=1,i},l=function(){var t,e="";for("-"===i&&u(e="-");"0"<=i&&i<="9";)e+=i,u();if("."===i)for(e+=".";u()&&"0"<=i&&i<="9";)e+=i;if("e"===i||"E"===i)for(e+=i,u(),"-"!==i&&"+"!==i||(e+=i,u());"0"<=i&&i<="9";)e+=i,u();if(t=+e,!isNaN(t))return t;c("Bad number")},h=function(){var t,e,n,r="";if('"'===i)for(;u();){if('"'===i)return u(),r;if("\\"===i)if(u(),"u"===i){for(e=n=0;e<4&&(t=parseInt(u(),16),isFinite(t));e+=1)n=16*n+t;r+=String.fromCharCode(n)}else{if("string"!=typeof s[i])break;r+=s[i]}else{if("\n"==i||"\r"==i)break;r+=i}}c("Bad string")},f=function(){for(;i&&i<=" ";)u()};return a=function(){switch(f(),i){case"{":return function(){var t,e={};if("{"===i){if(u("{"),f(),"}"===i)return u("}"),e;for(;i;){if(t=h(),f(),u(":"),Object.hasOwnProperty.call(e,t)&&c('Duplicate key "'+t+'"'),e[t]=a(),f(),"}"===i)return u("}"),e;u(","),f()}}c("Bad object")}();case"[":return function(){var t=[];if("["===i){if(u("["),f(),"]"===i)return u("]"),t;for(;i;){if(t.push(a()),f(),"]"===i)return u("]"),t;u(","),f()}}c("Bad array")}();case'"':return h();case"-":return l();default:return"0"<=i&&i<="9"?l():function(){switch(i){case"t":return u("t"),u("r"),u("u"),u("e"),!0;case"f":return u("f"),u("a"),u("l"),u("s"),u("e"),!1;case"n":return u("n"),u("u"),u("l"),u("l"),null}c("Unexpected '"+i+"'")}()}},function(t,s){var e;return o=t,r=0,i=" ",e=a(),f(),i&&c("Syntax error"),"function"==typeof s?function t(e,n){var r,i,o=e[n];if(o&&"object"==typeof o)for(r in o)Object.hasOwnProperty.call(o,r)&&(void 0!==(i=t(o,r))?o[r]=i:delete o[r]);return s.call(e,n,o)}({"":e},""):e}}),ace.define("ace/mode/json_worker",[],function(t,e,n){"use strict";var r=t("../lib/oop"),i=t("../worker/mirror").Mirror,o=t("./json/json_parse"),s=e.JsonWorker=function(t){i.call(this,t),this.setTimeout(200)};r.inherits(s,i),function(){this.onUpdate=function(){var t=this.doc.getValue(),e=[];try{t&&o(t)}catch(t){var n=this.doc.indexToPosition(t.at-1);e.push({row:n.row,column:n.column,text:t.message,type:"error"})}this.sender.emit("annotate",e)}}.call(s.prototype)}),ace.define("ace/lib/es5-shim",[],function(t,e,n){function o(){}function r(t){try{return Object.defineProperty(t,"sentinel",{}),"sentinel"in t}catch(t){}}function i(t){return(t=+t)!=t?t=0:0!==t&&t!==1/0&&t!==-1/0&&(t=(0<t||-1)*Math.floor(Math.abs(t))),t}Function.prototype.bind||(Function.prototype.bind=function(e){var n=this;if("function"!=typeof n)throw new TypeError("Function.prototype.bind called on incompatible "+n);var r=d.call(arguments,1),i=function(){if(this instanceof i){var t=n.apply(this,r.concat(d.call(arguments)));return Object(t)===t?t:this}return n.apply(e,r.concat(d.call(arguments)))};return n.prototype&&(o.prototype=n.prototype,i.prototype=new o,o.prototype=null),i});var s,a,c,u,l,h=Function.prototype.call,f=Array.prototype,p=Object.prototype,d=f.slice,m=h.bind(p.toString),g=h.bind(p.hasOwnProperty);if((l=g(p,"__defineGetter__"))&&(s=h.bind(p.__defineGetter__),a=h.bind(p.__defineSetter__),c=h.bind(p.__lookupGetter__),u=h.bind(p.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function t(t){var e=new Array(t+2);return e[0]=e[1]=0,e}var e,n=[];if(n.splice.apply(n,t(20)),n.splice.apply(n,t(26)),e=n.length,n.splice(5,0,"XXX"),n.length,e+1==n.length)return!0}()){var w=Array.prototype.splice;Array.prototype.splice=function(t,e){return arguments.length?w.apply(this,[void 0===t?0:t,void 0===e?this.length-t:e].concat(d.call(arguments,2))):[]}}else Array.prototype.splice=function(t,e){var n=this.length;0<t?n<t&&(t=n):null==t?t=0:t<0&&(t=Math.max(n+t,0)),t+e<n||(e=n-t);var r=this.slice(t,t+e),i=d.call(arguments,2),o=i.length;if(t===n)o&&this.push.apply(this,i);else{var s=Math.min(e,n-t),a=t+s,c=a+o-s,u=n-a,l=n-s;if(c<a)for(var h=0;h<u;++h)this[c+h]=this[a+h];else if(a<c)for(h=u;h--;)this[c+h]=this[a+h];if(o&&t===l)this.length=l,this.push.apply(this,i);else for(this.length=l+o,h=0;h<o;++h)this[t+h]=i[h]}return r};Array.isArray||(Array.isArray=function(t){return"[object Array]"==m(t)});var v,y,b=Object("a"),_="a"!=b[0]||!(0 in b);if(Array.prototype.forEach||(Array.prototype.forEach=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=arguments[1],i=-1,o=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError;for(;++i<o;)i in n&&t.call(r,n[i],i,e)}),Array.prototype.map||(Array.prototype.map=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=Array(r),o=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var s=0;s<r;s++)s in n&&(i[s]=t.call(o,n[s],s,e));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var e,n=T(this),r=_&&"[object String]"==m(this)?this.split(""):n,i=r.length>>>0,o=[],s=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var a=0;a<i;a++)a in r&&(e=r[a],t.call(s,e,a,n)&&o.push(e));return o}),Array.prototype.every||(Array.prototype.every=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var o=0;o<r;o++)if(o in n&&!t.call(i,n[o],o,e))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var o=0;o<r;o++)if(o in n&&t.call(i,n[o],o,e))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,o=0;if(2<=arguments.length)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=r)throw new TypeError("reduce of empty array with no initial value")}for(;o<r;o++)o in n&&(i=t.call(void 0,i,n[o],o,e));return i}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var e=T(this),n=_&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,o=r-1;if(2<=arguments.length)i=arguments[1];else for(;;){if(o in n){i=n[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}for(;o in this&&(i=t.call(void 0,i,n[o],o,e)),o--;);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(t){var e=_&&"[object String]"==m(this)?this.split(""):T(this),n=e.length>>>0;if(!n)return-1;var r=0;for(1<arguments.length&&(r=i(arguments[1])),r=0<=r?r:Math.max(0,n+r);r<n;r++)if(r in e&&e[r]===t)return r;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(t){var e=_&&"[object String]"==m(this)?this.split(""):T(this),n=e.length>>>0;if(!n)return-1;var r=n-1;for(1<arguments.length&&(r=Math.min(r,i(arguments[1]))),r=0<=r?r:n-Math.abs(r);0<=r;r--)if(r in e&&t===e[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:p)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(t,e){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+t);if(g(t,e)){var n;if(n={enumerable:!0,configurable:!0},l){var r=t.__proto__;t.__proto__=p;var i=c(t,e),o=u(t,e);if(t.__proto__=r,i||o)return i&&(n.get=i),o&&(n.set=o),n}return n.value=t[e],n}}}(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)}),Object.create)||(v=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var t={};for(var e in t)t[e]=null;return t.constructor=t.hasOwnProperty=t.propertyIsEnumerable=t.isPrototypeOf=t.toLocaleString=t.toString=t.valueOf=t.__proto__=null,t},Object.create=function(t,e){var n;if(null===t)n=v();else{if("object"!=typeof t)throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var r=function(){};r.prototype=t,(n=new r).__proto__=t}return void 0!==e&&Object.defineProperties(n,e),n});if(Object.defineProperty){var j=r({}),L="undefined"==typeof document||r(document.createElement("div"));if(!j||!L)var O=Object.defineProperty}if(!Object.defineProperty||O){Object.defineProperty=function(t,e,n){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.defineProperty called on non-object: "+t);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Property description must be an object: "+n);if(O)try{return O.call(Object,t,e,n)}catch(t){}if(g(n,"value"))if(l&&(c(t,e)||u(t,e))){var r=t.__proto__;t.__proto__=p,delete t[e],t[e]=n.value,t.__proto__=r}else t[e]=n.value;else{if(!l)throw new TypeError("getters & setters can not be defined on this javascript engine");g(n,"get")&&s(t,e,n.get),g(n,"set")&&a(t,e,n.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,e){for(var n in e)g(e,n)&&Object.defineProperty(t,n,e[n]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(t){Object.freeze=(y=Object.freeze,function(t){return"function"==typeof t?t:y(t)})}if(Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;for(var e="";g(t,e);)e+="?";t[e]=!0;var n=g(t,e);return delete t[e],n}),!Object.keys){var P=!0,E=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],x=E.length;for(var M in{toString:null})P=!1;Object.keys=function(t){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.keys called on a non-object");var e=[];for(var n in t)g(t,n)&&e.push(n);if(P)for(var r=0,i=x;r<i;r++){var o=E[r];g(t,o)&&e.push(o)}return e}}Date.now||(Date.now=function(){return(new Date).getTime()});var A="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff";if(!String.prototype.trim||A.trim()){A="["+A+"]";var $=new RegExp("^"+A+A+"*"),R=new RegExp(A+A+"*$");String.prototype.trim=function(){return String(this).replace($,"").replace(R,"")}}var T=function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return Object(t)}});
--- a/src/pyams_skin/resources/js/ext/ace/worker-xml.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-"no use strict";!function(o){if(!(void 0!==o.window&&o.document||o.require&&o.define)){o.console||(o.console=function(){var t=Array.prototype.slice.call(arguments,0);postMessage({type:"log",data:t})},o.console.error=o.console.warn=o.console.log=o.console.trace=o.console),((o.window=o).ace=o).onerror=function(t,e,n,r,i){postMessage({type:"error",data:{message:t,data:i.data,file:e,line:n,col:r,stack:i.stack}})},o.normalizeModule=function(t,e){if(-1!==e.indexOf("!")){var n=e.split("!");return o.normalizeModule(t,n[0])+"!"+o.normalizeModule(t,n[1])}if("."==e.charAt(0)){var r=t.split("/").slice(0,-1).join("/");for(e=(r?r+"/":"")+e;-1!==e.indexOf(".")&&i!=e;){var i=e;e=e.replace(/^\.\//,"").replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return e},o.require=function(t,e){if(e||(e=t,t=null),!e.charAt)throw new Error("worker.js require() accepts only (parentId, id) as arguments");e=o.normalizeModule(t,e);var n=o.require.modules[e];if(n)return n.initialized||(n.initialized=!0,n.exports=n.factory().exports),n.exports;if(!o.require.tlns)return console.log("unable to load "+e);var r=function(t,e){for(var n=t,r="";n;){var i=e[n];if("string"==typeof i)return i+r;if(i)return i.location.replace(/\/*$/,"/")+(r||i.main||i.name);if(!1===i)return"";var o=n.lastIndexOf("/");if(-1===o)break;r=n.substr(o)+r,n=n.slice(0,o)}return t}(e,o.require.tlns);return".js"!=r.slice(-3)&&(r+=".js"),o.require.id=e,o.require.modules[e]={},importScripts(r),o.require(t,e)},o.require.modules={},o.require.tlns={},o.define=function(e,n,r){if(2==arguments.length?(r=n,"string"!=typeof e&&(n=e,e=o.require.id)):1==arguments.length&&(r=e,n=[],e=o.require.id),"function"==typeof r){n.length||(n=["require","exports","module"]);var i=function(t){return o.require(e,t)};o.require.modules[e]={exports:{},factory:function(){var e=this,t=r.apply(this,n.slice(0,r.length).map(function(t){switch(t){case"require":return i;case"exports":return e.exports;case"module":return e;default:return i(t)}}));return t&&(e.exports=t),e}}}else o.require.modules[e]={exports:r,initialized:!0}},o.define.amd={},require.tlns={},o.initBaseUrls=function(t){for(var e in t)require.tlns[e]=t[e]},o.initSender=function(){var t=o.require("ace/lib/event_emitter").EventEmitter,e=o.require("ace/lib/oop"),n=function(){};return function(){e.implement(this,t),this.callback=function(t,e){postMessage({type:"call",id:e,data:t})},this.emit=function(t,e){postMessage({type:"event",name:t,data:e})}}.call(n.prototype),new n};var r=o.main=null,i=o.sender=null;o.onmessage=function(t){var e=t.data;if(e.event&&i)i._signal(e.event,e.data);else if(e.command)if(r[e.command])r[e.command].apply(r,e.args);else{if(!o[e.command])throw new Error("Unknown command:"+e.command);o[e.command].apply(o,e.args)}else if(e.init){o.initBaseUrls(e.tlns),require("ace/lib/es5-shim"),i=o.sender=o.initSender();var n=require(e.module)[e.classname];r=o.main=new n(i)}}}}(this),ace.define("ace/lib/oop",[],function(t,n,e){"use strict";n.inherits=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})},n.mixin=function(t,e){for(var n in e)t[n]=e[n];return t},n.implement=function(t,e){n.mixin(t,e)}}),ace.define("ace/lib/lang",[],function(t,e,n){"use strict";e.last=function(t){return t[t.length-1]},e.stringReverse=function(t){return t.split("").reverse().join("")},e.stringRepeat=function(t,e){for(var n="";0<e;)1&e&&(n+=t),(e>>=1)&&(t+=t);return n};var r=/^\s\s*/,i=/\s\s*$/;e.stringTrimLeft=function(t){return t.replace(r,"")},e.stringTrimRight=function(t){return t.replace(i,"")},e.copyObject=function(t){var e={};for(var n in t)e[n]=t[n];return e},e.copyArray=function(t){for(var e=[],n=0,r=t.length;n<r;n++)t[n]&&"object"==typeof t[n]?e[n]=this.copyObject(t[n]):e[n]=t[n];return e},e.deepCopy=function t(e){if("object"!=typeof e||!e)return e;var n;if(Array.isArray(e)){n=[];for(var r=0;r<e.length;r++)n[r]=t(e[r]);return n}if("[object Object]"!==Object.prototype.toString.call(e))return e;for(var r in n={},e)n[r]=t(e[r]);return n},e.arrayToMap=function(t){for(var e={},n=0;n<t.length;n++)e[t[n]]=1;return e},e.createMap=function(t){var e=Object.create(null);for(var n in t)e[n]=t[n];return e},e.arrayRemove=function(t,e){for(var n=0;n<=t.length;n++)e===t[n]&&t.splice(n,1)},e.escapeRegExp=function(t){return t.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},e.escapeHTML=function(t){return(""+t).replace(/&/g,"&#38;").replace(/"/g,"&#34;").replace(/'/g,"&#39;").replace(/</g,"&#60;")},e.getMatchOffsets=function(t,e){var n=[];return t.replace(e,function(t){n.push({offset:arguments[arguments.length-2],length:t.length})}),n},e.deferredCall=function(t){var e=null,n=function(){e=null,t()},r=function(t){return r.cancel(),e=setTimeout(n,t||0),r};return(r.schedule=r).call=function(){return this.cancel(),t(),r},r.cancel=function(){return clearTimeout(e),e=null,r},r.isPending=function(){return e},r},e.delayedCall=function(t,e){var n=null,r=function(){n=null,t()},i=function(t){null==n&&(n=setTimeout(r,t||e))};return i.delay=function(t){n&&clearTimeout(n),n=setTimeout(r,t||e)},(i.schedule=i).call=function(){this.cancel(),t()},i.cancel=function(){n&&clearTimeout(n),n=null},i.isPending=function(){return n},i}}),ace.define("ace/range",[],function(t,e,n){"use strict";var o=function(t,e,n,r){this.start={row:t,column:e},this.end={row:n,column:r}};(function(){this.isEqual=function(t){return this.start.row===t.start.row&&this.end.row===t.end.row&&this.start.column===t.start.column&&this.end.column===t.end.column},this.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},this.contains=function(t,e){return 0==this.compare(t,e)},this.compareRange=function(t){var e,n=t.end,r=t.start;return 1==(e=this.compare(n.row,n.column))?1==(e=this.compare(r.row,r.column))?2:0==e?1:0:-1==e?-2:-1==(e=this.compare(r.row,r.column))?-1:1==e?42:0},this.comparePoint=function(t){return this.compare(t.row,t.column)},this.containsRange=function(t){return 0==this.comparePoint(t.start)&&0==this.comparePoint(t.end)},this.intersects=function(t){var e=this.compareRange(t);return-1==e||0==e||1==e},this.isEnd=function(t,e){return this.end.row==t&&this.end.column==e},this.isStart=function(t,e){return this.start.row==t&&this.start.column==e},this.setStart=function(t,e){"object"==typeof t?(this.start.column=t.column,this.start.row=t.row):(this.start.row=t,this.start.column=e)},this.setEnd=function(t,e){"object"==typeof t?(this.end.column=t.column,this.end.row=t.row):(this.end.row=t,this.end.column=e)},this.inside=function(t,e){return 0==this.compare(t,e)&&(!this.isEnd(t,e)&&!this.isStart(t,e))},this.insideStart=function(t,e){return 0==this.compare(t,e)&&!this.isEnd(t,e)},this.insideEnd=function(t,e){return 0==this.compare(t,e)&&!this.isStart(t,e)},this.compare=function(t,e){return this.isMultiLine()||t!==this.start.row?t<this.start.row?-1:t>this.end.row?1:this.start.row===t?e>=this.start.column?0:-1:this.end.row===t?e<=this.end.column?0:1:0:e<this.start.column?-1:e>this.end.column?1:0},this.compareStart=function(t,e){return this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.compareEnd=function(t,e){return this.end.row==t&&this.end.column==e?1:this.compare(t,e)},this.compareInside=function(t,e){return this.end.row==t&&this.end.column==e?1:this.start.row==t&&this.start.column==e?-1:this.compare(t,e)},this.clipRows=function(t,e){if(this.end.row>e)var n={row:e+1,column:0};else if(this.end.row<t)n={row:t,column:0};if(this.start.row>e)var r={row:e+1,column:0};else if(this.start.row<t)r={row:t,column:0};return o.fromPoints(r||this.start,n||this.end)},this.extend=function(t,e){var n=this.compare(t,e);if(0==n)return this;if(-1==n)var r={row:t,column:e};else var i={row:t,column:e};return o.fromPoints(r||this.start,i||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return o.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new o(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new o(this.start.row,0,this.end.row,0)},this.toScreenRange=function(t){var e=t.documentToScreenPosition(this.start),n=t.documentToScreenPosition(this.end);return new o(e.row,e.column,n.row,n.column)},this.moveBy=function(t,e){this.start.row+=t,this.start.column+=e,this.end.row+=t,this.end.column+=e}}).call(o.prototype),o.fromPoints=function(t,e){return new o(t.row,t.column,e.row,e.column)},o.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},o.comparePoints=function(t,e){return t.row-e.row||t.column-e.column},e.Range=o}),ace.define("ace/apply_delta",[],function(t,e,n){"use strict";e.applyDelta=function(t,e,n){var r=e.start.row,i=e.start.column,o=t[r]||"";switch(e.action){case"insert":if(1===e.lines.length)t[r]=o.substring(0,i)+e.lines[0]+o.substring(i);else{var s=[r,1].concat(e.lines);t.splice.apply(t,s),t[r]=o.substring(0,i)+t[r],t[r+e.lines.length-1]+=o.substring(i)}break;case"remove":var a=e.end.column,c=e.end.row;r===c?t[r]=o.substring(0,i)+o.substring(a):t.splice(r,c-r+1,o.substring(0,i)+t[c].substring(a))}}}),ace.define("ace/lib/event_emitter",[],function(t,e,n){"use strict";var r={},o=function(){this.propagationStopped=!0},s=function(){this.defaultPrevented=!0};r._emit=r._dispatchEvent=function(t,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var n=this._eventRegistry[t]||[],r=this._defaultHandlers[t];if(n.length||r){"object"==typeof e&&e||(e={}),e.type||(e.type=t),e.stopPropagation||(e.stopPropagation=o),e.preventDefault||(e.preventDefault=s),n=n.slice();for(var i=0;i<n.length&&(n[i](e,this),!e.propagationStopped);i++);return r&&!e.defaultPrevented?r(e,this):void 0}},r._signal=function(t,e){var n=(this._eventRegistry||{})[t];if(n){n=n.slice();for(var r=0;r<n.length;r++)n[r](e,this)}},r.once=function(e,n){var r=this;if(this.addEventListener(e,function t(){r.removeEventListener(e,t),n.apply(null,arguments)}),!n)return new Promise(function(t){n=t})},r.setDefaultHandler=function(t,e){var n=this._defaultHandlers;if(n||(n=this._defaultHandlers={_disabled_:{}}),n[t]){var r=n[t],i=n._disabled_[t];i||(n._disabled_[t]=i=[]),i.push(r);var o=i.indexOf(e);-1!=o&&i.splice(o,1)}n[t]=e},r.removeDefaultHandler=function(t,e){var n=this._defaultHandlers;if(n){var r=n._disabled_[t];if(n[t]==e)r&&this.setDefaultHandler(t,r.pop());else if(r){var i=r.indexOf(e);-1!=i&&r.splice(i,1)}}},r.on=r.addEventListener=function(t,e,n){this._eventRegistry=this._eventRegistry||{};var r=this._eventRegistry[t];return r||(r=this._eventRegistry[t]=[]),-1==r.indexOf(e)&&r[n?"unshift":"push"](e),e},r.off=r.removeListener=r.removeEventListener=function(t,e){this._eventRegistry=this._eventRegistry||{};var n=this._eventRegistry[t];if(n){var r=n.indexOf(e);-1!==r&&n.splice(r,1)}},r.removeAllListeners=function(t){this._eventRegistry&&(this._eventRegistry[t]=[])},e.EventEmitter=r}),ace.define("ace/anchor",[],function(t,e,n){"use strict";var r=t("./lib/oop"),i=t("./lib/event_emitter").EventEmitter,o=e.Anchor=function(t,e,n){this.$onChange=this.onChange.bind(this),this.attach(t),void 0===n?this.setPosition(e.row,e.column):this.setPosition(e,n)};(function(){function l(t,e,n){var r=n?t.column<=e.column:t.column<e.column;return t.row<e.row||t.row==e.row&&r}r.implement(this,i),this.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},this.getDocument=function(){return this.document},this.$insertRight=!1,this.onChange=function(t){if(!(t.start.row==t.end.row&&t.start.row!=this.row||t.start.row>this.row)){var e,n,r,i,o,s,a,c,u=(e=t,n={row:this.row,column:this.column},r=this.$insertRight,i="insert"==e.action,o=(i?1:-1)*(e.end.row-e.start.row),s=(i?1:-1)*(e.end.column-e.start.column),a=e.start,c=i?a:e.end,l(n,a,r)?{row:n.row,column:n.column}:l(c,n,!r)?{row:n.row+o,column:n.column+(n.row==c.row?s:0)}:{row:a.row,column:a.column});this.setPosition(u.row,u.column,!0)}},this.setPosition=function(t,e,n){var r;if(r=n?{row:t,column:e}:this.$clipPositionToDocument(t,e),this.row!=r.row||this.column!=r.column){var i={row:this.row,column:this.column};this.row=r.row,this.column=r.column,this._signal("change",{old:i,value:r})}},this.detach=function(){this.document.removeEventListener("change",this.$onChange)},this.attach=function(t){this.document=t||this.document,this.document.on("change",this.$onChange)},this.$clipPositionToDocument=function(t,e){var n={};return t>=this.document.getLength()?(n.row=Math.max(0,this.document.getLength()-1),n.column=this.document.getLine(n.row).length):t<0?(n.row=0,n.column=0):(n.row=t,n.column=Math.min(this.document.getLine(n.row).length,Math.max(0,e))),e<0&&(n.column=0),n}}).call(o.prototype)}),ace.define("ace/document",[],function(t,e,n){"use strict";var r=t("./lib/oop"),i=t("./apply_delta").applyDelta,o=t("./lib/event_emitter").EventEmitter,l=t("./range").Range,s=t("./anchor").Anchor,a=function(t){this.$lines=[""],0===t.length?this.$lines=[""]:Array.isArray(t)?this.insertMergedLines({row:0,column:0},t):this.insert({row:0,column:0},t)};(function(){r.implement(this,o),this.setValue=function(t){var e=this.getLength()-1;this.remove(new l(0,0,e,this.getLine(e).length)),this.insert({row:0,column:0},t)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(t,e){return new s(this,t,e)},0==="aaa".split(/a/).length?this.$split=function(t){return t.replace(/\r\n|\r/g,"\n").split("\n")}:this.$split=function(t){return t.split(/\r\n|\r|\n/)},this.$detectNewLine=function(t){var e=t.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=e?e[1]:"\n",this._signal("changeNewLineMode")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return"\r\n";case"unix":return"\n";default:return this.$autoNewLine||"\n"}},this.$autoNewLine="",this.$newLineMode="auto",this.setNewLineMode=function(t){this.$newLineMode!==t&&(this.$newLineMode=t,this._signal("changeNewLineMode"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(t){return"\r\n"==t||"\r"==t||"\n"==t},this.getLine=function(t){return this.$lines[t]||""},this.getLines=function(t,e){return this.$lines.slice(t,e+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(t){return this.getLinesForRange(t).join(this.getNewLineCharacter())},this.getLinesForRange=function(t){var e;if(t.start.row===t.end.row)e=[this.getLine(t.start.row).substring(t.start.column,t.end.column)];else{(e=this.getLines(t.start.row,t.end.row))[0]=(e[0]||"").substring(t.start.column);var n=e.length-1;t.end.row-t.start.row==n&&(e[n]=e[n].substring(0,t.end.column))}return e},this.insertLines=function(t,e){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(t,e)},this.removeLines=function(t,e){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(t,e)},this.insertNewLine=function(t){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(t,["",""])},this.insert=function(t,e){return this.getLength()<=1&&this.$detectNewLine(e),this.insertMergedLines(t,this.$split(e))},this.insertInLine=function(t,e){var n=this.clippedPos(t.row,t.column),r=this.pos(t.row,t.column+e.length);return this.applyDelta({start:n,end:r,action:"insert",lines:[e]},!0),this.clonePos(r)},this.clippedPos=function(t,e){var n=this.getLength();void 0===t?t=n:t<0?t=0:n<=t&&(t=n-1,e=void 0);var r=this.getLine(t);return null==e&&(e=r.length),{row:t,column:e=Math.min(Math.max(e,0),r.length)}},this.clonePos=function(t){return{row:t.row,column:t.column}},this.pos=function(t,e){return{row:t,column:e}},this.$clipPosition=function(t){var e=this.getLength();return t.row>=e?(t.row=Math.max(0,e-1),t.column=this.getLine(e-1).length):(t.row=Math.max(0,t.row),t.column=Math.min(Math.max(t.column,0),this.getLine(t.row).length)),t},this.insertFullLines=function(t,e){var n=0;(t=Math.min(Math.max(t,0),this.getLength()))<this.getLength()?(e=e.concat([""]),n=0):(e=[""].concat(e),t--,n=this.$lines[t].length),this.insertMergedLines({row:t,column:n},e)},this.insertMergedLines=function(t,e){var n=this.clippedPos(t.row,t.column),r={row:n.row+e.length-1,column:(1==e.length?n.column:0)+e[e.length-1].length};return this.applyDelta({start:n,end:r,action:"insert",lines:e}),this.clonePos(r)},this.remove=function(t){var e=this.clippedPos(t.start.row,t.start.column),n=this.clippedPos(t.end.row,t.end.column);return this.applyDelta({start:e,end:n,action:"remove",lines:this.getLinesForRange({start:e,end:n})}),this.clonePos(e)},this.removeInLine=function(t,e,n){var r=this.clippedPos(t,e),i=this.clippedPos(t,n);return this.applyDelta({start:r,end:i,action:"remove",lines:this.getLinesForRange({start:r,end:i})},!0),this.clonePos(r)},this.removeFullLines=function(t,e){t=Math.min(Math.max(0,t),this.getLength()-1);var n=(e=Math.min(Math.max(0,e),this.getLength()-1))==this.getLength()-1&&0<t,r=e<this.getLength()-1,i=n?t-1:t,o=n?this.getLine(i).length:0,s=r?e+1:e,a=r?0:this.getLine(s).length,c=new l(i,o,s,a),u=this.$lines.slice(t,e+1);return this.applyDelta({start:c.start,end:c.end,action:"remove",lines:this.getLinesForRange(c)}),u},this.removeNewLine=function(t){t<this.getLength()-1&&0<=t&&this.applyDelta({start:this.pos(t,this.getLine(t).length),end:this.pos(t+1,0),action:"remove",lines:["",""]})},this.replace=function(t,e){return t instanceof l||(t=l.fromPoints(t.start,t.end)),0===e.length&&t.isEmpty()?t.start:e==this.getTextRange(t)?t.end:(this.remove(t),e?this.insert(t.start,e):t.start)},this.applyDeltas=function(t){for(var e=0;e<t.length;e++)this.applyDelta(t[e])},this.revertDeltas=function(t){for(var e=t.length-1;0<=e;e--)this.revertDelta(t[e])},this.applyDelta=function(t,e){var n="insert"==t.action;(n?t.lines.length<=1&&!t.lines[0]:!l.comparePoints(t.start,t.end))||(n&&2e4<t.lines.length?this.$splitAndapplyLargeDelta(t,2e4):(i(this.$lines,t,e),this._signal("change",t)))},this.$splitAndapplyLargeDelta=function(t,e){for(var n=t.lines,r=n.length-e+1,i=t.start.row,o=t.start.column,s=0,a=0;s<r;s=a){a+=e-1;var c=n.slice(s,a);c.push(""),this.applyDelta({start:this.pos(i+s,o),end:this.pos(i+a,o=0),action:t.action,lines:c},!0)}t.lines=n.slice(s),t.start.row=i+s,t.start.column=o,this.applyDelta(t,!0)},this.revertDelta=function(t){this.applyDelta({start:this.clonePos(t.start),end:this.clonePos(t.end),action:"insert"==t.action?"remove":"insert",lines:t.lines.slice()})},this.indexToPosition=function(t,e){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=e||0,o=n.length;i<o;i++)if((t-=n[i].length+r)<0)return{row:i,column:t+n[i].length+r};return{row:o-1,column:t+n[o-1].length+r}},this.positionToIndex=function(t,e){for(var n=this.$lines||this.getAllLines(),r=this.getNewLineCharacter().length,i=0,o=Math.min(t.row,n.length),s=e||0;s<o;++s)i+=n[s].length+r;return i+t.column}}).call(a.prototype),e.Document=a}),ace.define("ace/worker/mirror",[],function(t,e,n){"use strict";t("../range").Range;var r=t("../document").Document,a=t("../lib/lang"),i=e.Mirror=function(t){this.sender=t;var i=this.doc=new r(""),o=this.deferredUpdate=a.delayedCall(this.onUpdate.bind(this)),s=this;t.on("change",function(t){var e=t.data;if(e[0].start)i.applyDeltas(e);else for(var n=0;n<e.length;n+=2){if(Array.isArray(e[n+1]))var r={action:"insert",start:e[n],lines:e[n+1]};else r={action:"remove",start:e[n],end:e[n+1]};i.applyDelta(r,!0)}if(s.$timeout)return o.schedule(s.$timeout);s.onUpdate()})};(function(){this.$timeout=500,this.setTimeout=function(t){this.$timeout=t},this.setValue=function(t){this.doc.setValue(t),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(t){this.sender.callback(this.doc.getValue(),t)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(i.prototype)}),ace.define("ace/mode/xml/sax",[],function(t,e,n){function r(){}function i(n,t,r,i,o){function s(t){var e=t.slice(1,-1);return e in r?r[e]:"#"===e.charAt(0)?function(t){if(65535<t){var e=55296+((t-=65536)>>10),n=56320+(1023&t);return String.fromCharCode(e,n)}return String.fromCharCode(t)}(parseInt(e.substr(1).replace("x","0x"))):(o.error("entity not found:"+t),t)}function e(t){var e=n.substring(y,t).replace(/&#?\w+;/g,s);g&&a(y),i.characters(e,0,t-y),y=t}function a(t,e){for(;d<=t&&(e=m.exec(n));)p=e.index,d=p+e[0].length,g.lineNumber++;g.columnNumber=t-p+1}for(var c,u,l,h,f,p=0,d=0,m=/.+(?:\r\n?|\n)|.*$/g,g=i.locator,w=[{currentNSMap:t}],v={},y=0;;){if((L=n.indexOf("<",y))<0){if(!n.substr(y).match(/^\s*$/)){var b=i.document,N=b.createTextNode(n.substr(y));b.appendChild(N),i.currentElement=N}return}switch(y<L&&e(L),n.charAt(L+1)){case"/":var E,_=n.indexOf(">",L+3),D=n.substring(L+2,_);if(!(1<w.length)){o.fatalError("end tag name not found for: "+D);break}var x=(E=w.pop()).localNSMap;if(E.tagName!=D&&o.fatalError("end tag name: "+D+" does not match the current start tagName: "+E.tagName),i.endElement(E.uri,E.localName,D),x)for(var T in x)i.endPrefixMapping(T);_++;break;case"?":g&&a(L),_=$(n,L,i);break;case"!":g&&a(L),_=M(n,L,i,o);break;default:try{g&&a(L);var O=new F,S=(_=j(n,L,O,s,o),O.length);if(S&&g){for(var A=R(g,{}),L=0;L<S;L++){var C=O[L];a(C.offset),C.offset=R(g,{})}R(A,g)}!O.closed&&(c=n,u=_,l=O.tagName,f=void 0,null==(f=(h=v)[l])&&(f=h[l]=c.lastIndexOf("</"+l+">")),f<u)&&(O.closed=!0,r.nbsp||o.warning("unclosed xml attribute")),P(O,i,w),"http://www.w3.org/1999/xhtml"!==O.uri||O.closed?_++:_=I(n,_,O.tagName,s,i)}catch(t){o.error("element parse error: "+t),_=-1}}_<0?e(L+1):y=_}}function R(t,e){return e.lineNumber=t.lineNumber,e.columnNumber=t.columnNumber,e}function j(t,e,n,r,i){for(var o,s=++e,a=l;;){var c=t.charAt(s);switch(c){case"=":if(a===h)o=t.slice(e,s),a=p;else{if(a!==f)throw new Error("attribute equal must after attrName");a=p}break;case"'":case'"':if(a===p){if(e=s+1,!(0<(s=t.indexOf(c,e))))throw new Error("attribute value no end '"+c+"' match");u=t.slice(e,s).replace(/&#?\w+;/g,r),n.add(o,u,e-1),a=g}else{if(a!=d)throw new Error('attribute value must after "="');u=t.slice(e,s).replace(/&#?\w+;/g,r),n.add(o,u,e),i.warning('attribute "'+o+'" missed start quot('+c+")!!"),e=s+1,a=g}break;case"/":switch(a){case l:n.setTagName(t.slice(e,s));case g:case w:case v:a=v,n.closed=!0;case d:case h:case f:break;default:throw new Error("attribute invalid close char('/')")}break;case"":i.error("unexpected end of input");case">":switch(a){case l:n.setTagName(t.slice(e,s));case g:case w:case v:break;case d:case h:"/"===(u=t.slice(e,s)).slice(-1)&&(n.closed=!0,u=u.slice(0,-1));case f:a===f&&(u=o),a==d?(i.warning('attribute "'+u+'" missed quot(")!!'),n.add(o,u.replace(/&#?\w+;/g,r),e)):(i.warning('attribute "'+u+'" missed value!! "'+u+'" instead!!'),n.add(u,u,e));break;case p:throw new Error("attribute value missed!!")}return s;case"€":c=" ";default:if(c<=" ")switch(a){case l:n.setTagName(t.slice(e,s)),a=w;break;case h:o=t.slice(e,s),a=f;break;case d:var u=t.slice(e,s).replace(/&#?\w+;/g,r);i.warning('attribute "'+u+'" missed quot(")!!'),n.add(o,u,e);case g:a=w}else switch(a){case f:i.warning('attribute "'+o+'" missed value!! "'+o+'" instead!!'),n.add(o,o,e),e=s,a=h;break;case g:i.warning('attribute space is required"'+o+'"!!');case w:a=h,e=s;break;case p:a=d,e=s;break;case v:throw new Error("elements closed character '/' and '>' must be connected to")}}s++}}function P(t,e,n){for(var r=t.tagName,i=null,o=n[n.length-1].currentNSMap,s=t.length;s--;){var a=t[s],c=a.qName,u=a.value;if(0<(p=c.indexOf(":")))var l=a.prefix=c.slice(0,p),h=c.slice(p+1),f="xmlns"===l&&h;else l=null,f="xmlns"===(h=c)&&"";a.localName=h,!1!==f&&(null==i&&(i={},m(o,o={})),o[f]=i[f]=u,a.uri="http://www.w3.org/2000/xmlns/",e.startPrefixMapping(f,u))}for(s=t.length;s--;){(l=(a=t[s]).prefix)&&("xml"===l&&(a.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==l&&(a.uri=o[l]))}var p;0<(p=r.indexOf(":"))?(l=t.prefix=r.slice(0,p),h=t.localName=r.slice(p+1)):(l=null,h=t.localName=r);var d=t.uri=o[l||""];if(e.startElement(d,h,r,t),t.closed){if(e.endElement(d,h,r),i)for(l in i)e.endPrefixMapping(l)}else t.currentNSMap=o,t.localNSMap=i,n.push(t)}function I(t,e,n,r,i){if(/^(?:script|textarea)$/i.test(n)){var o=t.indexOf("</"+n+">",e),s=t.substring(e+1,o);if(/[&<]/.test(s))return/^script$/i.test(n)||(s=s.replace(/&#?\w+;/g,r)),i.characters(s,0,s.length),o}return e+1}function m(t,e){for(var n in t)e[n]=t[n]}function M(t,e,n,r){switch(t.charAt(e+2)){case"-":return"-"===t.charAt(e+3)?e<(i=t.indexOf("--\x3e",e+4))?(n.comment(t,e+4,i-e-4),i+3):(r.error("Unclosed comment"),-1):-1;default:if("CDATA["==t.substr(e+3,6)){var i=t.indexOf("]]>",e+9);return n.startCDATA(),n.characters(t,e+9,i-e-9),n.endCDATA(),i+3}var o=function(t,e){var n,r=[],i=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;i.lastIndex=e,i.exec(t);for(;n=i.exec(t);)if(r.push(n),n[1])return r}(t,e),s=o.length;if(1<s&&/!doctype/i.test(o[0][0])){var a=o[1][0],c=3<s&&/^public$/i.test(o[2][0])&&o[3][0],u=4<s&&o[4][0],l=o[s-1];return n.startDTD(a,c&&c.replace(/^(['"])(.*?)\1$/,"$2"),u&&u.replace(/^(['"])(.*?)\1$/,"$2")),n.endDTD(),l.index+l[0].length}}return-1}function $(t,e,n){var r=t.indexOf("?>",e);if(r){var i=t.substring(e,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);if(i){i[0].length;return n.processingInstruction(i[1],i[2]),r+2}return-1}return-1}function F(t){}function o(t,e){return t.__proto__=e,t}var s=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,a=new RegExp("[\\-\\.0-9"+s.source.slice(1,-1)+"·̀-ͯ\\ux203F-⁀]"),c=new RegExp("^"+s.source+a.source+"*(?::"+s.source+a.source+"*)?$"),l=0,h=1,f=2,p=3,d=4,g=5,w=6,v=7;return r.prototype={parse:function(t,e,n){var r=this.domBuilder;r.startDocument(),m(e,e={}),i(t,e,n,r,this.errorHandler),r.endDocument()}},F.prototype={setTagName:function(t){if(!c.test(t))throw new Error("invalid tagName:"+t);this.tagName=t},add:function(t,e,n){if(!c.test(t))throw new Error("invalid attribute:"+t);this[this.length++]={qName:t,value:e,offset:n}},length:0,getLocalName:function(t){return this[t].localName},getOffset:function(t){return this[t].offset},getQName:function(t){return this[t].qName},getURI:function(t){return this[t].uri},getValue:function(t){return this[t].value}},o({},o.prototype)instanceof o||(o=function(t,e){function n(){}for(e in n.prototype=e,n=new n,t)n[e]=t[e];return n}),r}),ace.define("ace/mode/xml/dom",[],function(t,e,n){function o(t,e){for(var n in t)e[n]=t[n]}function r(t,e){var n=function(){},r=t.prototype;if(Object.create){var i=Object.create(e.prototype);r.__proto__=i}r instanceof e||(n.prototype=e.prototype,o(r,n=new n),t.prototype=r=n),r.constructor!=t&&("function"!=typeof t&&console.error("unknown Class:"+t),r.constructor=t)}function s(t,e){if(e instanceof Error)var n=e;else n=this,Error.call(this,Z[t]),this.message=Z[t],Error.captureStackTrace&&Error.captureStackTrace(this,s);return n.code=t,e&&(this.message=this.message+": "+e),n}function f(){}function a(t,e){this._node=t,this._refresh=e,i(this)}function i(t){var e=t._node._inc||t._node.ownerDocument._inc;if(t._inc!=e){var n=t._refresh(t._node);I(t,"length",n.length),o(n,t),t._inc=e}}function p(){}function c(t,e){for(var n=t.length;n--;)if(t[n]===e)return n}function u(t,e,n,r){if(r?e[c(e,r)]=n:e[e.length++]=n,t){var i=(n.ownerElement=t).ownerDocument;i&&(r&&v(i,t,r),s=t,a=n,(o=i)&&o._inc++,"http://www.w3.org/2000/xmlns/"==a.namespaceURI&&(s._nsMap[a.prefix?a.localName:""]=a.value))}var o,s,a}function l(t,e,n){var r=c(e,n);if(!(0<=r))throw new s(J,new Error);for(var i=e.length-1;r<i;)e[r]=e[++r];if(e.length=i,t){var o=t.ownerDocument;o&&(v(o,t,n),n.ownerElement=null)}}function h(t){if(this._features={},t)for(var e in t)this._features=t[e]}function d(){}function m(t){return("<"==t?"&lt;":">"==t&&"&gt;")||"&"==t&&"&amp;"||'"'==t&&"&quot;"||"&#"+t.charCodeAt()+";"}function g(t,e){if(e(t))return!0;if(t=t.firstChild)do{if(g(t,e))return!0}while(t=t.nextSibling)}function w(){}function v(t,e,n,r){t&&t._inc++,"http://www.w3.org/2000/xmlns/"==n.namespaceURI&&delete e._nsMap[n.prefix?n.localName:""]}function y(t,e,n){if(t&&t._inc){t._inc++;var r=e.childNodes;if(n)r[r.length++]=n;else{for(var i=e.firstChild,o=0;i;)i=(r[o++]=i).nextSibling;r.length=o}}}function b(t,e){var n=e.previousSibling,r=e.nextSibling;return n?n.nextSibling=r:t.firstChild=r,r?r.previousSibling=n:t.lastChild=n,y(t.ownerDocument,t),e}function N(t,e,n){var r=e.parentNode;if(r&&r.removeChild(e),e.nodeType===Y){var i=e.firstChild;if(null==i)return e;var o=e.lastChild}else i=o=e;var s=n?n.previousSibling:t.lastChild;for(i.previousSibling=s,o.nextSibling=n,s?s.nextSibling=i:t.firstChild=i,null==n?t.lastChild=o:n.previousSibling=o;i.parentNode=t,i!==o&&(i=i.nextSibling););return y(t.ownerDocument||t,t),e.nodeType==Y&&(e.firstChild=e.lastChild=null),e}function E(){this._nsMap={}}function _(){}function D(){}function x(){}function T(){}function O(){}function S(){}function A(){}function L(){}function C(){}function R(){}function j(){}function P(){}function I(t,e,n){t[e]=n}var M="http://www.w3.org/1999/xhtml",$={},F=$.ELEMENT_NODE=1,k=$.ATTRIBUTE_NODE=2,U=$.TEXT_NODE=3,q=$.CDATA_SECTION_NODE=4,B=$.ENTITY_REFERENCE_NODE=5,V=$.ENTITY_NODE=6,z=$.PROCESSING_INSTRUCTION_NODE=7,H=$.COMMENT_NODE=8,G=$.DOCUMENT_NODE=9,X=$.DOCUMENT_TYPE_NODE=10,Y=$.DOCUMENT_FRAGMENT_NODE=11,W=$.NOTATION_NODE=12,Q={},Z={},J=(Q.INDEX_SIZE_ERR=(Z[1]="Index size error",1),Q.DOMSTRING_SIZE_ERR=(Z[2]="DOMString size error",2),Q.HIERARCHY_REQUEST_ERR=(Z[3]="Hierarchy request error",3),Q.WRONG_DOCUMENT_ERR=(Z[4]="Wrong document",4),Q.INVALID_CHARACTER_ERR=(Z[5]="Invalid character",5),Q.NO_DATA_ALLOWED_ERR=(Z[6]="No data allowed",6),Q.NO_MODIFICATION_ALLOWED_ERR=(Z[7]="No modification allowed",7),Q.NOT_FOUND_ERR=(Z[8]="Not found",8)),K=(Q.NOT_SUPPORTED_ERR=(Z[9]="Not supported",9),Q.INUSE_ATTRIBUTE_ERR=(Z[10]="Attribute in use",10));Q.INVALID_STATE_ERR=(Z[11]="Invalid state",11),Q.SYNTAX_ERR=(Z[12]="Syntax error",12),Q.INVALID_MODIFICATION_ERR=(Z[13]="Invalid modification",13),Q.NAMESPACE_ERR=(Z[14]="Invalid namespace",14),Q.INVALID_ACCESS_ERR=(Z[15]="Invalid access",15);s.prototype=Error.prototype,o(Q,s),f.prototype={length:0,item:function(t){return this[t]||null}},a.prototype.item=function(t){return i(this),this[t]},r(a,f),p.prototype={length:0,item:f.prototype.item,getNamedItem:function(t){for(var e=this.length;e--;){var n=this[e];if(n.nodeName==t)return n}},setNamedItem:function(t){var e=t.ownerElement;if(e&&e!=this._ownerElement)throw new s(K);var n=this.getNamedItem(t.nodeName);return u(this._ownerElement,this,t,n),n},setNamedItemNS:function(t){var e,n=t.ownerElement;if(n&&n!=this._ownerElement)throw new s(K);return e=this.getNamedItemNS(t.namespaceURI,t.localName),u(this._ownerElement,this,t,e),e},removeNamedItem:function(t){var e=this.getNamedItem(t);return l(this._ownerElement,this,e),e},removeNamedItemNS:function(t,e){var n=this.getNamedItemNS(t,e);return l(this._ownerElement,this,n),n},getNamedItemNS:function(t,e){for(var n=this.length;n--;){var r=this[n];if(r.localName==e&&r.namespaceURI==t)return r}return null}},h.prototype={hasFeature:function(t,e){var n=this._features[t.toLowerCase()];return!(!n||e&&!(e in n))},createDocument:function(t,e,n){var r=new w;if(r.implementation=this,r.childNodes=new f,(r.doctype=n)&&r.appendChild(n),e){var i=r.createElementNS(t,e);r.appendChild(i)}return r},createDocumentType:function(t,e,n){var r=new S;return r.name=t,r.nodeName=t,r.publicId=e,r.systemId=n,r}},d.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,attributes:null,parentNode:null,childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,insertBefore:function(t,e){return N(this,t,e)},replaceChild:function(t,e){this.insertBefore(t,e),e&&this.removeChild(e)},removeChild:function(t){return b(this,t)},appendChild:function(t){return this.insertBefore(t,null)},hasChildNodes:function(){return null!=this.firstChild},cloneNode:function(t){return function t(e,n,r){var i=new n.constructor;for(var o in n){var s=n[o];"object"!=typeof s&&s!=i[o]&&(i[o]=s)}switch(n.childNodes&&(i.childNodes=new f),i.ownerDocument=e,i.nodeType){case F:var a=n.attributes,c=i.attributes=new p,u=a.length;c._ownerElement=i;for(var l=0;l<u;l++)i.setAttributeNode(t(e,a.item(l),!0));break;case k:r=!0}if(r)for(var h=n.firstChild;h;)i.appendChild(t(e,h,r)),h=h.nextSibling;return i}(this.ownerDocument||this,this,t)},normalize:function(){for(var t=this.firstChild;t;){var e=t.nextSibling;e&&e.nodeType==U&&t.nodeType==U?(this.removeChild(e),t.appendData(e.data)):(t.normalize(),t=e)}},isSupported:function(t,e){return this.ownerDocument.implementation.hasFeature(t,e)},hasAttributes:function(){return 0<this.attributes.length},lookupPrefix:function(t){for(var e=this;e;){var n=e._nsMap;if(n)for(var r in n)if(n[r]==t)return r;e=2==e.nodeType?e.ownerDocument:e.parentNode}return null},lookupNamespaceURI:function(t){for(var e=this;e;){var n=e._nsMap;if(n&&t in n)return n[t];e=2==e.nodeType?e.ownerDocument:e.parentNode}return null},isDefaultNamespace:function(t){return null==this.lookupPrefix(t)}},o($,d),o($,d.prototype),w.prototype={nodeName:"#document",nodeType:G,doctype:null,documentElement:null,_inc:1,insertBefore:function(t,e){if(t.nodeType==Y){for(var n=t.firstChild;n;){var r=n.nextSibling;this.insertBefore(n,e),n=r}return t}return null==this.documentElement&&1==t.nodeType&&(this.documentElement=t),N(this,t,e),t.ownerDocument=this,t},removeChild:function(t){return this.documentElement==t&&(this.documentElement=null),b(this,t)},importNode:function(t,e){return function t(e,n,r){var i;switch(n.nodeType){case F:(i=n.cloneNode(!1)).ownerDocument=e;case Y:break;case k:r=!0}if(i||(i=n.cloneNode(!1)),i.ownerDocument=e,i.parentNode=null,r)for(var o=n.firstChild;o;)i.appendChild(t(e,o,r)),o=o.nextSibling;return i}(this,t,e)},getElementById:function(e){var n=null;return g(this.documentElement,function(t){if(1==t.nodeType&&t.getAttribute("id")==e)return n=t,!0}),n},createElement:function(t){var e=new E;return e.ownerDocument=this,e.nodeName=t,e.tagName=t,e.childNodes=new f,(e.attributes=new p)._ownerElement=e},createDocumentFragment:function(){var t=new R;return t.ownerDocument=this,t.childNodes=new f,t},createTextNode:function(t){var e=new x;return e.ownerDocument=this,e.appendData(t),e},createComment:function(t){var e=new T;return e.ownerDocument=this,e.appendData(t),e},createCDATASection:function(t){var e=new O;return e.ownerDocument=this,e.appendData(t),e},createProcessingInstruction:function(t,e){var n=new j;return n.ownerDocument=this,n.tagName=n.target=t,n.nodeValue=n.data=e,n},createAttribute:function(t){var e=new _;return e.ownerDocument=this,e.name=t,e.nodeName=t,e.localName=t,e.specified=!0,e},createEntityReference:function(t){var e=new C;return e.ownerDocument=this,e.nodeName=t,e},createElementNS:function(t,e){var n=new E,r=e.split(":"),i=n.attributes=new p;return n.childNodes=new f,n.ownerDocument=this,n.nodeName=e,n.tagName=e,n.namespaceURI=t,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=e,i._ownerElement=n},createAttributeNS:function(t,e){var n=new _,r=e.split(":");return n.ownerDocument=this,n.nodeName=e,n.name=e,n.namespaceURI=t,n.specified=!0,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=e,n}},r(w,d),w.prototype.getElementsByTagName=(E.prototype={nodeType:F,hasAttribute:function(t){return null!=this.getAttributeNode(t)},getAttribute:function(t){var e=this.getAttributeNode(t);return e&&e.value||""},getAttributeNode:function(t){return this.attributes.getNamedItem(t)},setAttribute:function(t,e){var n=this.ownerDocument.createAttribute(t);n.value=n.nodeValue=""+e,this.setAttributeNode(n)},removeAttribute:function(t){var e=this.getAttributeNode(t);e&&this.removeAttributeNode(e)},appendChild:function(t){return t.nodeType===Y?this.insertBefore(t,null):function(t,e){var n=e.parentNode;if(n){var r=t.lastChild;n.removeChild(e),r=t.lastChild}return r=t.lastChild,e.parentNode=t,e.previousSibling=r,e.nextSibling=null,r?r.nextSibling=e:t.firstChild=e,t.lastChild=e,y(t.ownerDocument,t,e),e}(this,t)},setAttributeNode:function(t){return this.attributes.setNamedItem(t)},setAttributeNodeNS:function(t){return this.attributes.setNamedItemNS(t)},removeAttributeNode:function(t){return this.attributes.removeNamedItem(t.nodeName)},removeAttributeNS:function(t,e){var n=this.getAttributeNodeNS(t,e);n&&this.removeAttributeNode(n)},hasAttributeNS:function(t,e){return null!=this.getAttributeNodeNS(t,e)},getAttributeNS:function(t,e){var n=this.getAttributeNodeNS(t,e);return n&&n.value||""},setAttributeNS:function(t,e,n){var r=this.ownerDocument.createAttributeNS(t,e);r.value=r.nodeValue=""+n,this.setAttributeNode(r)},getAttributeNodeNS:function(t,e){return this.attributes.getNamedItemNS(t,e)},getElementsByTagName:function(r){return new a(this,function(e){var n=[];return g(e,function(t){t!==e&&t.nodeType==F&&("*"===r||t.tagName==r)&&n.push(t)}),n})},getElementsByTagNameNS:function(r,i){return new a(this,function(e){var n=[];return g(e,function(t){t!==e&&t.nodeType===F&&("*"===r||t.namespaceURI===r)&&("*"===i||t.localName==i)&&n.push(t)}),n})}}).getElementsByTagName,w.prototype.getElementsByTagNameNS=E.prototype.getElementsByTagNameNS,r(E,d),_.prototype.nodeType=k,r(_,d),D.prototype={data:"",substringData:function(t,e){return this.data.substring(t,t+e)},appendData:function(t){t=this.data+t,this.nodeValue=this.data=t,this.length=t.length},insertData:function(t,e){this.replaceData(t,0,e)},appendChild:function(t){throw new Error(Z[3])},deleteData:function(t,e){this.replaceData(t,e,"")},replaceData:function(t,e,n){n=this.data.substring(0,t)+n+this.data.substring(t+e),this.nodeValue=this.data=n,this.length=n.length}},r(D,d),x.prototype={nodeName:"#text",nodeType:U,splitText:function(t){var e=this.data,n=e.substring(t);e=e.substring(0,t),this.data=this.nodeValue=e,this.length=e.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},r(x,D),T.prototype={nodeName:"#comment",nodeType:H},r(T,D),O.prototype={nodeName:"#cdata-section",nodeType:q},r(O,D),S.prototype.nodeType=X,r(S,d),A.prototype.nodeType=W,r(A,d),L.prototype.nodeType=V,r(L,d),C.prototype.nodeType=B,r(C,d),R.prototype.nodeName="#document-fragment",R.prototype.nodeType=Y,r(R,d),j.prototype.nodeType=z,r(j,d),P.prototype.serializeToString=function(t){var e=[];return function t(e,n){switch(e.nodeType){case F:var r=e.attributes,i=r.length,o=e.firstChild,s=e.tagName,a=M===e.namespaceURI;n.push("<",s);for(var c=0;c<i;c++)t(r.item(c),n);if(o||a&&!/^(?:meta|link|img|br|hr|input|button)$/i.test(s)){if(n.push(">"),a&&/^script$/i.test(s))o&&n.push(o.data);else for(;o;)t(o,n),o=o.nextSibling;n.push("</",s,">")}else n.push("/>");return;case G:case Y:for(o=e.firstChild;o;)t(o,n),o=o.nextSibling;return;case k:return n.push(" ",e.name,'="',e.value.replace(/[<&"]/g,m),'"');case U:return n.push(e.data.replace(/[<&]/g,m));case q:return n.push("<![CDATA[",e.data,"]]>");case H:return n.push("\x3c!--",e.data,"--\x3e");case X:var u=e.publicId,l=e.systemId;if(n.push("<!DOCTYPE ",e.name),u)n.push(' PUBLIC "',u),l&&"."!=l&&n.push('" "',l),n.push('">');else if(l&&"."!=l)n.push(' SYSTEM "',l,'">');else{var h=e.internalSubset;h&&n.push(" [",h,"]"),n.push(">")}return;case z:return n.push("<?",e.target," ",e.data,"?>");case B:return n.push("&",e.nodeName,";");default:n.push("??",e.nodeName)}}(t,e),e.join("")},d.prototype.toString=function(){return P.prototype.serializeToString(this)};try{Object.defineProperty&&(Object.defineProperty(a.prototype,"length",{get:function(){return i(this),this.$$length}}),Object.defineProperty(d.prototype,"textContent",{get:function(){return function t(e){switch(e.nodeType){case 1:case 11:var n=[];for(e=e.firstChild;e;)7!==e.nodeType&&8!==e.nodeType&&n.push(t(e)),e=e.nextSibling;return n.join("");default:return e.nodeValue}}(this)},set:function(t){switch(this.nodeType){case 1:case 11:for(;this.firstChild;)this.removeChild(this.firstChild);(t||String(t))&&this.appendChild(this.ownerDocument.createTextNode(t));break;default:this.data=t,this.value=value,this.nodeValue=t}}}),I=function(t,e,n){t["$$"+e]=n})}catch(t){}return h}),ace.define("ace/mode/xml/dom-parser",[],function(t,e,n){"use strict";function r(t){this.options=t||{locator:{}}}function u(){this.cdata=!1}function l(t,e){e.lineNumber=t.lineNumber,e.columnNumber=t.columnNumber}function h(t){if(t)return"\n@"+(t.systemId||"")+"#[line:"+t.lineNumber+",col:"+t.columnNumber+"]"}function i(t,e,n){return"string"==typeof t?t.substr(e,n):t.length>=e+n||e?new java.lang.String(t,e,n)+"":t}function f(t,e){t.currentElement?t.currentElement.appendChild(e):t.document.appendChild(e)}var p=t("./sax"),o=t("./dom");return r.prototype.parseFromString=function(t,e){var n=this.options,r=new p,i=n.domBuilder||new u,o=n.errorHandler,s=n.locator,a=n.xmlns||{},c={lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return s&&i.setDocumentLocator(s),r.errorHandler=function(r,t,i){function e(e){var n=r[e];if(!n)if(s)n=2==r.length?function(t){r(e,t)}:r;else for(var t=arguments.length;--t&&!(n=r[arguments[t]]););o[e]=n&&function(t){n(t+h(i),t,i)}||function(){}}if(!r){if(t instanceof u)return t;r=t}var o={},s=r instanceof Function;return i=i||{},e("warning","warn"),e("error","warn","warning"),e("fatalError","warn","warning","error"),o}(o,i,s),r.domBuilder=n.domBuilder||i,/\/x?html?$/.test(e)&&(c.nbsp=" ",c.copy="©",a[""]="http://www.w3.org/1999/xhtml"),t?r.parse(t,a,c):r.errorHandler.error("invalid document source"),i.document},u.prototype={startDocument:function(){this.document=(new o).createDocument(null,null,null),this.locator&&(this.document.documentURI=this.locator.systemId)},startElement:function(t,e,n,r){var i=this.document,o=i.createElementNS(t,n||e),s=r.length;f(this,o),this.currentElement=o,this.locator&&l(this.locator,o);for(var a=0;a<s;a++){t=r.getURI(a);var c=r.getValue(a),u=(n=r.getQName(a),i.createAttributeNS(t,n));u.getOffset&&l(u.getOffset(1),u),u.value=u.nodeValue=c,o.setAttributeNode(u)}},endElement:function(t,e,n){var r=this.currentElement;r.tagName;this.currentElement=r.parentNode},startPrefixMapping:function(t,e){},endPrefixMapping:function(t){},processingInstruction:function(t,e){var n=this.document.createProcessingInstruction(t,e);this.locator&&l(this.locator,n),f(this,n)},ignorableWhitespace:function(t,e,n){},characters:function(t,e,n){if(t=i.apply(this,arguments),this.currentElement&&t){if(this.cdata){var r=this.document.createCDATASection(t);this.currentElement.appendChild(r)}else{r=this.document.createTextNode(t);this.currentElement.appendChild(r)}this.locator&&l(this.locator,r)}},skippedEntity:function(t){},endDocument:function(){this.document.normalize()},setDocumentLocator:function(t){(this.locator=t)&&(t.lineNumber=0)},comment:function(t,e,n){t=i.apply(this,arguments);var r=this.document.createComment(t);this.locator&&l(this.locator,r),f(this,r)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(t,e,n){var r=this.document.implementation;if(r&&r.createDocumentType){var i=r.createDocumentType(t,e,n);this.locator&&l(this.locator,i),f(this,i)}},warning:function(t){console.warn(t,h(this.locator))},error:function(t){console.error(t,h(this.locator))},fatalError:function(t){throw console.error(t,h(this.locator)),t}},"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(t){u.prototype[t]=function(){return null}}),{DOMParser:r}}),ace.define("ace/mode/xml_worker",[],function(t,e,n){"use strict";var r=t("../lib/oop"),i=(t("../lib/lang"),t("../worker/mirror").Mirror),o=t("./xml/dom-parser").DOMParser,s=e.Worker=function(t){i.call(this,t),this.setTimeout(400),this.context=null};r.inherits(s,i),function(){this.setOptions=function(t){this.context=t.context},this.onUpdate=function(){var t=this.doc.getValue();if(t){var e=new o,r=[];e.options.errorHandler={fatalError:function(t,e,n){r.push({row:n.lineNumber,column:n.columnNumber,text:e,type:"error"})},error:function(t,e,n){r.push({row:n.lineNumber,column:n.columnNumber,text:e,type:"error"})},warning:function(t,e,n){r.push({row:n.lineNumber,column:n.columnNumber,text:e,type:"warning"})}},e.parseFromString(t),this.sender.emit("error",r)}}}.call(s.prototype)}),ace.define("ace/lib/es5-shim",[],function(t,e,n){function o(){}function r(t){try{return Object.defineProperty(t,"sentinel",{}),"sentinel"in t}catch(t){}}function i(t){return(t=+t)!=t?t=0:0!==t&&t!==1/0&&t!==-1/0&&(t=(0<t||-1)*Math.floor(Math.abs(t))),t}Function.prototype.bind||(Function.prototype.bind=function(e){var n=this;if("function"!=typeof n)throw new TypeError("Function.prototype.bind called on incompatible "+n);var r=d.call(arguments,1),i=function(){if(this instanceof i){var t=n.apply(this,r.concat(d.call(arguments)));return Object(t)===t?t:this}return n.apply(e,r.concat(d.call(arguments)))};return n.prototype&&(o.prototype=n.prototype,i.prototype=new o,o.prototype=null),i});var s,a,c,u,l,h=Function.prototype.call,f=Array.prototype,p=Object.prototype,d=f.slice,m=h.bind(p.toString),g=h.bind(p.hasOwnProperty);if((l=g(p,"__defineGetter__"))&&(s=h.bind(p.__defineGetter__),a=h.bind(p.__defineSetter__),c=h.bind(p.__lookupGetter__),u=h.bind(p.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function t(t){var e=new Array(t+2);return e[0]=e[1]=0,e}var e,n=[];if(n.splice.apply(n,t(20)),n.splice.apply(n,t(26)),e=n.length,n.splice(5,0,"XXX"),n.length,e+1==n.length)return!0}()){var w=Array.prototype.splice;Array.prototype.splice=function(t,e){return arguments.length?w.apply(this,[void 0===t?0:t,void 0===e?this.length-t:e].concat(d.call(arguments,2))):[]}}else Array.prototype.splice=function(t,e){var n=this.length;0<t?n<t&&(t=n):null==t?t=0:t<0&&(t=Math.max(n+t,0)),t+e<n||(e=n-t);var r=this.slice(t,t+e),i=d.call(arguments,2),o=i.length;if(t===n)o&&this.push.apply(this,i);else{var s=Math.min(e,n-t),a=t+s,c=a+o-s,u=n-a,l=n-s;if(c<a)for(var h=0;h<u;++h)this[c+h]=this[a+h];else if(a<c)for(h=u;h--;)this[c+h]=this[a+h];if(o&&t===l)this.length=l,this.push.apply(this,i);else for(this.length=l+o,h=0;h<o;++h)this[t+h]=i[h]}return r};Array.isArray||(Array.isArray=function(t){return"[object Array]"==m(t)});var v,y,b=Object("a"),N="a"!=b[0]||!(0 in b);if(Array.prototype.forEach||(Array.prototype.forEach=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=arguments[1],i=-1,o=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError;for(;++i<o;)i in n&&t.call(r,n[i],i,e)}),Array.prototype.map||(Array.prototype.map=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=Array(r),o=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var s=0;s<r;s++)s in n&&(i[s]=t.call(o,n[s],s,e));return i}),Array.prototype.filter||(Array.prototype.filter=function(t){var e,n=R(this),r=N&&"[object String]"==m(this)?this.split(""):n,i=r.length>>>0,o=[],s=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var a=0;a<i;a++)a in r&&(e=r[a],t.call(s,e,a,n)&&o.push(e));return o}),Array.prototype.every||(Array.prototype.every=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var o=0;o<r;o++)if(o in n&&!t.call(i,n[o],o,e))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0,i=arguments[1];if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");for(var o=0;o<r;o++)if(o in n&&t.call(i,n[o],o,e))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduce of empty array with no initial value");var i,o=0;if(2<=arguments.length)i=arguments[1];else for(;;){if(o in n){i=n[o++];break}if(++o>=r)throw new TypeError("reduce of empty array with no initial value")}for(;o<r;o++)o in n&&(i=t.call(void 0,i,n[o],o,e));return i}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(t){var e=R(this),n=N&&"[object String]"==m(this)?this.split(""):e,r=n.length>>>0;if("[object Function]"!=m(t))throw new TypeError(t+" is not a function");if(!r&&1==arguments.length)throw new TypeError("reduceRight of empty array with no initial value");var i,o=r-1;if(2<=arguments.length)i=arguments[1];else for(;;){if(o in n){i=n[o--];break}if(--o<0)throw new TypeError("reduceRight of empty array with no initial value")}for(;o in this&&(i=t.call(void 0,i,n[o],o,e)),o--;);return i}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(t){var e=N&&"[object String]"==m(this)?this.split(""):R(this),n=e.length>>>0;if(!n)return-1;var r=0;for(1<arguments.length&&(r=i(arguments[1])),r=0<=r?r:Math.max(0,n+r);r<n;r++)if(r in e&&e[r]===t)return r;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(t){var e=N&&"[object String]"==m(this)?this.split(""):R(this),n=e.length>>>0;if(!n)return-1;var r=n-1;for(1<arguments.length&&(r=Math.min(r,i(arguments[1]))),r=0<=r?r:n-Math.abs(r);0<=r;r--)if(r in e&&t===e[r])return r;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(t){return t.__proto__||(t.constructor?t.constructor.prototype:p)}),!Object.getOwnPropertyDescriptor){Object.getOwnPropertyDescriptor=function(t,e){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.getOwnPropertyDescriptor called on a non-object: "+t);if(g(t,e)){var n;if(n={enumerable:!0,configurable:!0},l){var r=t.__proto__;t.__proto__=p;var i=c(t,e),o=u(t,e);if(t.__proto__=r,i||o)return i&&(n.get=i),o&&(n.set=o),n}return n.value=t[e],n}}}(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(t){return Object.keys(t)}),Object.create)||(v=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var t={};for(var e in t)t[e]=null;return t.constructor=t.hasOwnProperty=t.propertyIsEnumerable=t.isPrototypeOf=t.toLocaleString=t.toString=t.valueOf=t.__proto__=null,t},Object.create=function(t,e){var n;if(null===t)n=v();else{if("object"!=typeof t)throw new TypeError("typeof prototype["+typeof t+"] != 'object'");var r=function(){};r.prototype=t,(n=new r).__proto__=t}return void 0!==e&&Object.defineProperties(n,e),n});if(Object.defineProperty){var E=r({}),_="undefined"==typeof document||r(document.createElement("div"));if(!E||!_)var D=Object.defineProperty}if(!Object.defineProperty||D){Object.defineProperty=function(t,e,n){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.defineProperty called on non-object: "+t);if("object"!=typeof n&&"function"!=typeof n||null===n)throw new TypeError("Property description must be an object: "+n);if(D)try{return D.call(Object,t,e,n)}catch(t){}if(g(n,"value"))if(l&&(c(t,e)||u(t,e))){var r=t.__proto__;t.__proto__=p,delete t[e],t[e]=n.value,t.__proto__=r}else t[e]=n.value;else{if(!l)throw new TypeError("getters & setters can not be defined on this javascript engine");g(n,"get")&&s(t,e,n.get),g(n,"set")&&a(t,e,n.set)}return t}}Object.defineProperties||(Object.defineProperties=function(t,e){for(var n in e)g(e,n)&&Object.defineProperty(t,n,e[n]);return t}),Object.seal||(Object.seal=function(t){return t}),Object.freeze||(Object.freeze=function(t){return t});try{Object.freeze(function(){})}catch(t){Object.freeze=(y=Object.freeze,function(t){return"function"==typeof t?t:y(t)})}if(Object.preventExtensions||(Object.preventExtensions=function(t){return t}),Object.isSealed||(Object.isSealed=function(t){return!1}),Object.isFrozen||(Object.isFrozen=function(t){return!1}),Object.isExtensible||(Object.isExtensible=function(t){if(Object(t)===t)throw new TypeError;for(var e="";g(t,e);)e+="?";t[e]=!0;var n=g(t,e);return delete t[e],n}),!Object.keys){var x=!0,T=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],O=T.length;for(var S in{toString:null})x=!1;Object.keys=function(t){if("object"!=typeof t&&"function"!=typeof t||null===t)throw new TypeError("Object.keys called on a non-object");var e=[];for(var n in t)g(t,n)&&e.push(n);if(x)for(var r=0,i=O;r<i;r++){var o=T[r];g(t,o)&&e.push(o)}return e}}Date.now||(Date.now=function(){return(new Date).getTime()});var A="\t\n\v\f\r   ᠎              \u2028\u2029\ufeff";if(!String.prototype.trim||A.trim()){A="["+A+"]";var L=new RegExp("^"+A+A+"*"),C=new RegExp(A+A+"*$");String.prototype.trim=function(){return String(this).replace(L,"").replace(C,"")}}var R=function(t){if(null==t)throw new TypeError("can't convert "+t+" to object");return Object(t)}});
--- a/src/pyams_skin/resources/js/ext/bootstrap-modal.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +0,0 @@
-/* ===========================================================
- * bootstrap-modal.js v2.2.5
- * ===========================================================
- * Copyright 2012 Jordan Schroter
- *
- * Modified in january 2014 by Thierry Florac <tflorac@ulthar.net>
- *  - add 'overflow' selector to handle selection of overflow content
- *  - use '$.fn.style' function (define in MyAMS package) to define '!important' priority
- *    when defining CSS styles
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-
-!function ($) {
-
-	"use strict"; // jshint ;_;
-
-	/* MODAL CLASS DEFINITION
-	 * ====================== */
-
-	var Modal = function (element, options) {
-		this.init(element, options);
-	};
-
-	Modal.prototype = {
-
-		constructor: Modal,
-
-		init: function (element, options) {
-			var that = this;
-
-			this.options = options;
-
-			this.$element = $(element)
-				.delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this));
-
-			this.options.remote && this.$element.find('.modal-body').load(this.options.remote, function () {
-				var e = $.Event('loaded');
-				that.$element.trigger(e);
-			});
-
-			var manager = typeof this.options.manager === 'function' ?
-				this.options.manager.call(this) : this.options.manager;
-
-			manager = manager.appendModal ?
-				manager : $(manager).modalmanager().data('modalmanager');
-
-			manager.appendModal(this);
-		},
-
-		toggle: function () {
-			return this[!this.isShown ? 'show' : 'hide']();
-		},
-
-		show: function () {
-			var e = $.Event('show');
-
-			if (this.isShown) return;
-
-			this.$element.trigger(e);
-
-			if (e.isDefaultPrevented()) return;
-
-			this.escape();
-
-			this.tab();
-
-			this.options.loading && this.loading();
-		},
-
-		hide: function (e) {
-			e && e.preventDefault();
-
-			e = $.Event('hide');
-
-			this.$element.trigger(e);
-
-			if (!this.isShown || e.isDefaultPrevented()) return (this.isShown = false);
-
-			this.isShown = false;
-
-			this.escape();
-
-			this.tab();
-
-			this.isLoading && this.loading();
-
-			$(document).off('focusin.modal');
-
-			this.$element
-				.removeClass('in')
-				.removeClass('animated')
-				.removeClass(this.options.attentionAnimation)
-				.removeClass('modal-overflow')
-				.attr('aria-hidden', true);
-
-			$.support.transition && this.$element.hasClass('fade') ?
-				this.hideWithTransition() :
-				this.hideModal();
-		},
-
-		layout: function () {
-			var prop = this.options.height ? 'height' : 'max-height',
-				value = this.options.height || this.options.maxHeight;
-
-			if (this.options.width) {
-				this.$element.css('width', this.options.width);
-
-				var that = this;
-				this.$element.css('margin-left', function () {
-					if (/%/ig.test(that.options.width)) {
-						return -(parseInt(that.options.width) / 2) + '%';
-					} else {
-						return -($(this).width() / 2) + 'px';
-					}
-				});
-			} else {
-				this.$element.css('width', '');
-				this.$element.css('margin-left', '');
-			}
-
-			this.$element.find(this.options.overflow)
-				.css('overflow', '')
-				.css(prop, '');
-
-			if (value) {
-				var body = this.$element.find(this.options.overflow);
-				if (body.css('overflow') === undefined) {
-					body.style('overflow', 'auto', 'important');
-				}
-				body.style(prop, (typeof(value) === 'function' ? value() : value) + 'px', 'important');
-			}
-
-			var modalOverflow = $(window).height() - 10 < this.$element.height();
-
-//			if (modalOverflow || this.options.modalOverflow) {
-				this.$element
-					.css('margin-top', 0)
-					.addClass('modal-overflow');
-//			} else {
-//				this.$element
-//					.css('margin-top', 0 - this.$element.height() / 2)
-//					.removeClass('modal-overflow');
-//			}
-		},
-
-		tab: function () {
-			var that = this;
-
-			if (this.isShown && this.options.consumeTab) {
-				this.$element.on('keydown.tabindex.modal', '[data-tabindex]', function (e) {
-					if (e.keyCode && e.keyCode == 9) {
-						var elements = [],
-							tabindex = Number($(this).data('tabindex'));
-
-						that.$element.find('[data-tabindex]:enabled:visible:not([readonly])').each(function (ev) {
-							elements.push(Number($(this).data('tabindex')));
-						});
-						elements.sort(function(a,b){return a-b});
-
-						var arrayPos = $.inArray(tabindex, elements);
-						if (!e.shiftKey){
-							arrayPos < elements.length-1 ?
-								that.$element.find('[data-tabindex='+elements[arrayPos+1]+']').focus() :
-								that.$element.find('[data-tabindex='+elements[0]+']').focus();
-						} else {
-							arrayPos == 0 ?
-								that.$element.find('[data-tabindex='+elements[elements.length-1]+']').focus() :
-								that.$element.find('[data-tabindex='+elements[arrayPos-1]+']').focus();
-						}
-
-						e.preventDefault();
-					}
-				});
-			} else if (!this.isShown) {
-				this.$element.off('keydown.tabindex.modal');
-			}
-		},
-
-		escape: function () {
-			var that = this;
-			if (this.isShown && this.options.keyboard) {
-				if (!this.$element.attr('tabindex')) this.$element.attr('tabindex', -1);
-
-				this.$element.on('keyup.dismiss.modal', function (e) {
-					e.which == 27 && that.hide();
-				});
-			} else if (!this.isShown) {
-				this.$element.off('keyup.dismiss.modal')
-			}
-		},
-
-		hideWithTransition: function () {
-			var that = this
-				, timeout = setTimeout(function () {
-					that.$element.off($.support.transition.end);
-					that.hideModal();
-				}, 500);
-
-			this.$element.one($.support.transition.end, function () {
-				clearTimeout(timeout);
-				that.hideModal();
-			});
-		},
-
-		hideModal: function () {
-			var prop = this.options.height ? 'height' : 'max-height';
-			var value = this.options.height || this.options.maxHeight;
-
-			if (value) {
-				this.$element.find(this.options.overflow)
-					.css('overflow', '')
-					.css(prop, '');
-			}
-
-			this.$element
-				.hide()
-				.trigger('hidden');
-		},
-
-		removeLoading: function () {
-			this.$loading.remove();
-			this.$loading = null;
-			this.isLoading = false;
-		},
-
-		loading: function (callback) {
-			callback = callback || function () {};
-
-			var animate = this.$element.hasClass('fade') ? 'fade' : '';
-
-			if (!this.isLoading) {
-				var doAnimate = $.support.transition && animate;
-
-				this.$loading = $('<div class="loading-mask ' + animate + '">')
-					.append(this.options.spinner)
-					.appendTo(this.$element);
-
-				if (doAnimate) this.$loading[0].offsetWidth; // force reflow
-
-				this.$loading.addClass('in');
-
-				this.isLoading = true;
-
-				doAnimate ?
-					this.$loading.one($.support.transition.end, callback) :
-					callback();
-
-			} else if (this.isLoading && this.$loading) {
-				this.$loading.removeClass('in');
-
-				var that = this;
-				$.support.transition && this.$element.hasClass('fade') ?
-					this.$loading.one($.support.transition.end, function () {
-						that.removeLoading()
-					}) :
-					that.removeLoading();
-
-			} else if (callback) {
-				callback(this.isLoading);
-			}
-		},
-
-		focus: function () {
-			var $focusElem = this.$element.find(this.options.focusOn);
-
-			$focusElem = $focusElem.length ? $focusElem : this.$element;
-
-			$focusElem.focus();
-		},
-
-		attention: function () {
-			// NOTE: transitionEnd with keyframes causes odd behaviour
-
-			if (this.options.attentionAnimation) {
-				this.$element
-					.removeClass('animated')
-					.removeClass(this.options.attentionAnimation);
-
-				var that = this;
-
-				setTimeout(function () {
-					that.$element
-						.addClass('animated')
-						.addClass(that.options.attentionAnimation);
-				}, 0);
-			}
-
-
-			this.focus();
-		},
-
-
-		destroy: function () {
-			var e = $.Event('destroy');
-			this.$element.trigger(e);
-			if (e.isDefaultPrevented()) return;
-
-			this.$element
-				.off('.modal')
-				.removeData('modal')
-				.removeClass('in')
-				.attr('aria-hidden', true);
-
-			if (this.$parent !== this.$element.parent()) {
-				this.$element.appendTo(this.$parent);
-			} else if (!this.$parent.length) {
-				// modal is not part of the DOM so remove it.
-				this.$element.remove();
-				this.$element = null;
-			}
-
-			this.$element.trigger('destroyed');
-		}
-	};
-
-
-	/* MODAL PLUGIN DEFINITION
-	 * ======================= */
-
-	$.fn.modal = function (option, args) {
-		return this.each(function () {
-			var $this = $(this),
-				data = $this.data('modal'),
-				options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option);
-
-			if (!data) $this.data('modal', (data = new Modal(this, options)));
-			if (typeof option == 'string') data[option].apply(data, [].concat(args));
-			else if (options.show) data.show()
-		})
-	};
-
-	$.fn.modal.defaults = {
-		keyboard: true,
-		backdrop: true,
-		loading: false,
-		show: true,
-		width: null,
-		height: null,
-		maxHeight: null,
-		modalOverflow: false,
-		consumeTab: true,
-		focusOn: null,
-		replace: false,
-		resize: false,
-		overflow: '.modal-body',
-		attentionAnimation: 'shake',
-		manager: 'body',
-		spinner: '<div class="loading-spinner" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"></div></div></div>',
-		backdropTemplate: '<div class="modal-backdrop" />'
-	};
-
-	$.fn.modal.Constructor = Modal;
-
-
-	/* MODAL DATA-API
-	 * ============== */
-
-	$(function () {
-		$(document).off('click.modal').on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
-			var $this = $(this),
-				href = $this.attr('href'),
-				$target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))), //strip for ie7
-				option = $target.data('modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data());
-
-			e.preventDefault();
-			$target
-				.modal(option)
-				.one('hide', function () {
-					$this.focus();
-				});
-		});
-	});
-
-}(window.jQuery);
--- a/src/pyams_skin/resources/js/ext/bootstrap-modal.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){"use strict";var i=function(t,i){this.init(t,i)};i.prototype={constructor:i,init:function(i,e){var n=this;this.options=e,this.$element=t(i).delegate('[data-dismiss="modal"]',"click.dismiss.modal",t.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote,function(){var i=t.Event("loaded");n.$element.trigger(i)});var s="function"==typeof this.options.manager?this.options.manager.call(this):this.options.manager;(s=s.appendModal?s:t(s).modalmanager().data("modalmanager")).appendModal(this)},toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var i=t.Event("show");this.isShown||(this.$element.trigger(i),i.isDefaultPrevented()||(this.escape(),this.tab(),this.options.loading&&this.loading()))},hide:function(i){if(i&&i.preventDefault(),i=t.Event("hide"),this.$element.trigger(i),!this.isShown||i.isDefaultPrevented())return this.isShown=!1;this.isShown=!1,this.escape(),this.tab(),this.isLoading&&this.loading(),t(document).off("focusin.modal"),this.$element.removeClass("in").removeClass("animated").removeClass(this.options.attentionAnimation).removeClass("modal-overflow").attr("aria-hidden",!0),t.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},layout:function(){var i=this.options.height?"height":"max-height",e=this.options.height||this.options.maxHeight;if(this.options.width){this.$element.css("width",this.options.width);var n=this;this.$element.css("margin-left",function(){return/%/gi.test(n.options.width)?-parseInt(n.options.width)/2+"%":-t(this).width()/2+"px"})}else this.$element.css("width",""),this.$element.css("margin-left","");if(this.$element.find(this.options.overflow).css("overflow","").css(i,""),e){var s=this.$element.find(this.options.overflow);void 0===s.css("overflow")&&s.style("overflow","auto","important"),s.style(i,("function"==typeof e?e():e)+"px","important")}t(window).height(),this.$element.height();this.$element.css("margin-top",0).addClass("modal-overflow")},tab:function(){var i=this;this.isShown&&this.options.consumeTab?this.$element.on("keydown.tabindex.modal","[data-tabindex]",function(e){if(e.keyCode&&9==e.keyCode){var n=[],s=Number(t(this).data("tabindex"));i.$element.find("[data-tabindex]:enabled:visible:not([readonly])").each(function(i){n.push(Number(t(this).data("tabindex")))}),n.sort(function(t,i){return t-i});var o=t.inArray(s,n);e.shiftKey?0==o?i.$element.find("[data-tabindex="+n[n.length-1]+"]").focus():i.$element.find("[data-tabindex="+n[o-1]+"]").focus():o<n.length-1?i.$element.find("[data-tabindex="+n[o+1]+"]").focus():i.$element.find("[data-tabindex="+n[0]+"]").focus(),e.preventDefault()}}):this.isShown||this.$element.off("keydown.tabindex.modal")},escape:function(){var t=this;this.isShown&&this.options.keyboard?(this.$element.attr("tabindex")||this.$element.attr("tabindex",-1),this.$element.on("keyup.dismiss.modal",function(i){27==i.which&&t.hide()})):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var i=this,e=setTimeout(function(){i.$element.off(t.support.transition.end),i.hideModal()},500);this.$element.one(t.support.transition.end,function(){clearTimeout(e),i.hideModal()})},hideModal:function(){var t=this.options.height?"height":"max-height";(this.options.height||this.options.maxHeight)&&this.$element.find(this.options.overflow).css("overflow","").css(t,""),this.$element.hide().trigger("hidden")},removeLoading:function(){this.$loading.remove(),this.$loading=null,this.isLoading=!1},loading:function(i){i=i||function(){};var e=this.$element.hasClass("fade")?"fade":"";if(this.isLoading)if(this.isLoading&&this.$loading){this.$loading.removeClass("in");var n=this;t.support.transition&&this.$element.hasClass("fade")?this.$loading.one(t.support.transition.end,function(){n.removeLoading()}):n.removeLoading()}else i&&i(this.isLoading);else{var s=t.support.transition&&e;this.$loading=t('<div class="loading-mask '+e+'">').append(this.options.spinner).appendTo(this.$element),s&&this.$loading[0].offsetWidth,this.$loading.addClass("in"),this.isLoading=!0,s?this.$loading.one(t.support.transition.end,i):i()}},focus:function(){var t=this.$element.find(this.options.focusOn);(t=t.length?t:this.$element).focus()},attention:function(){if(this.options.attentionAnimation){this.$element.removeClass("animated").removeClass(this.options.attentionAnimation);var t=this;setTimeout(function(){t.$element.addClass("animated").addClass(t.options.attentionAnimation)},0)}this.focus()},destroy:function(){var i=t.Event("destroy");this.$element.trigger(i),i.isDefaultPrevented()||(this.$element.off(".modal").removeData("modal").removeClass("in").attr("aria-hidden",!0),this.$parent!==this.$element.parent()?this.$element.appendTo(this.$parent):this.$parent.length||(this.$element.remove(),this.$element=null),this.$element.trigger("destroyed"))}},t.fn.modal=function(e,n){return this.each(function(){var s=t(this),o=s.data("modal"),a=t.extend({},t.fn.modal.defaults,s.data(),"object"==typeof e&&e);o||s.data("modal",o=new i(this,a)),"string"==typeof e?o[e].apply(o,[].concat(n)):a.show&&o.show()})},t.fn.modal.defaults={keyboard:!0,backdrop:!0,loading:!1,show:!0,width:null,height:null,maxHeight:null,modalOverflow:!1,consumeTab:!0,focusOn:null,replace:!1,resize:!1,overflow:".modal-body",attentionAnimation:"shake",manager:"body",spinner:'<div class="loading-spinner" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"></div></div></div>',backdropTemplate:'<div class="modal-backdrop" />'},t.fn.modal.Constructor=i,t(function(){t(document).off("click.modal").on("click.modal.data-api",'[data-toggle="modal"]',function(i){var e=t(this),n=e.attr("href"),s=t(e.attr("data-target")||n&&n.replace(/.*(?=#[^\s]+$)/,"")),o=s.data("modal")?"toggle":t.extend({remote:!/#/.test(n)&&n},s.data(),e.data());i.preventDefault(),s.modal(o).one("hide",function(){e.focus()})})})}(window.jQuery);
--- a/src/pyams_skin/resources/js/ext/bootstrap-modalmanager.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,475 +0,0 @@
-/* ===========================================================
- * bootstrap-modalmanager.js v2.2.5
- * ===========================================================
- * Copyright 2012 Jordan Schroter.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ========================================================== */
-
-!function ($) {
-
-	"use strict";  // jshint ;_;
-
-	/* MODAL MANAGER CLASS DEFINITION
-	 * ====================== */
-
-	var ModalManager = function (element, options) {
-		this.init(element, options);
-	};
-
-	ModalManager.prototype = {
-
-		constructor: ModalManager,
-
-		init: function (element, options) {
-			this.$element = $(element);
-			this.options = $.extend({}, $.fn.modalmanager.defaults, this.$element.data(), typeof options === 'object' && options);
-			this.stack = [];
-			this.backdropCount = 0;
-
-			if (this.options.resize) {
-				var resizeTimeout,
-					that = this;
-
-				$(window).on('resize.modal', function () {
-					if (resizeTimeout) {
-						clearTimeout(resizeTimeout);
-					}
-					resizeTimeout = setTimeout(function () {
-						for (var i = 0; i < that.stack.length; i++) {
-							if (that.stack[i].isShown) {
-								that.stack[i].layout();
-							}
-						}
-					}, 10);
-				});
-			}
-		},
-
-		createModal: function (element, options) {
-			$(element).modal($.extend({ manager: this }, options));
-		},
-
-		appendModal: function (modal) {
-			this.stack.push(modal);
-
-			var that = this;
-
-			modal.$element.on('show.modalmanager', targetIsSelf(function (e) {
-
-				var showModal = function () {
-					modal.isShown = true;
-
-					var transition = $.support.transition && modal.$element.hasClass('fade');
-
-					that.$element
-						.toggleClass('modal-open', that.hasOpenModal())
-						.toggleClass('page-overflow', $(window).height() < that.$element.height());
-
-					modal.$parent = modal.$element.parent();
-
-					modal.$container = that.createContainer(modal);
-
-					modal.$element.appendTo(modal.$container);
-
-					that.backdrop(modal, function () {
-						modal.$element.show();
-
-						if (transition) {
-							//modal.$element[0].style.display = 'run-in';
-							modal.$element[0].offsetWidth;
-							//modal.$element.one($.support.transition.end, function () { modal.$element[0].style.display = 'block' });
-						}
-
-						modal.layout();
-
-						modal.$element
-							.addClass('in')
-							.attr('aria-hidden', false);
-
-						var complete = function () {
-							that.setFocus();
-							modal.$element.trigger('shown');
-						};
-
-						if (transition) {
-							modal.$element.one($.support.transition.end, complete);
-						} else {
-							complete();
-						}
-					});
-				};
-
-				if (modal.options.replace) {
-					that.replace(showModal);
-				} else {
-					showModal();
-				}
-			}));
-
-			modal.$element.on('hidden.modalmanager', targetIsSelf(function (e) {
-				that.backdrop(modal);
-				// handle the case when a modal may have been removed from the dom before this callback executes
-				if (!modal.$element.parent().length) {
-					that.destroyModal(modal);
-				} else if (modal.$backdrop) {
-					var transition = $.support.transition && modal.$element.hasClass('fade');
-
-					// trigger a relayout due to firefox's buggy transition end event
-					if (transition) {
-						modal.$element[0].offsetWidth;
-					}
-					if ($.support.transition && modal.$element.hasClass('fade')) {
-						modal.$backdrop.one($.support.transition.end, function () {
-							modal.destroy();
-						});
-					} else {
-						modal.destroy();
-					}
-				} else {
-					modal.destroy();
-				}
-
-			}));
-
-			modal.$element.on('destroyed.modalmanager', targetIsSelf(function (e) {
-				that.destroyModal(modal);
-			}));
-		},
-
-		getOpenModals: function () {
-			var openModals = [];
-			for (var i = 0; i < this.stack.length; i++) {
-				if (this.stack[i].isShown) {
-					openModals.push(this.stack[i]);
-				}
-			}
-
-			return openModals;
-		},
-
-		hasOpenModal: function () {
-			return this.getOpenModals().length > 0;
-		},
-
-		setFocus: function () {
-			var topModal;
-
-			for (var i = 0; i < this.stack.length; i++) {
-				if (this.stack[i].isShown) {
-					topModal = this.stack[i];
-				}
-			}
-
-			if (!topModal) {
-				return;
-			}
-
-			topModal.focus();
-		},
-
-		destroyModal: function (modal) {
-			modal.$element.off('.modalmanager');
-			if (modal.$backdrop) {
-				this.removeBackdrop(modal);
-			}
-			this.stack.splice(this.getIndexOfModal(modal), 1);
-
-			var hasOpenModal = this.hasOpenModal();
-
-			this.$element.toggleClass('modal-open', hasOpenModal);
-
-			if (!hasOpenModal) {
-				this.$element.removeClass('page-overflow');
-			}
-
-			this.removeContainer(modal);
-
-			this.setFocus();
-		},
-
-		getModalAt: function (index) {
-			return this.stack[index];
-		},
-
-		getIndexOfModal: function (modal) {
-			for (var i = 0; i < this.stack.length; i++) {
-				if (modal === this.stack[i]) {
-					return i;
-				}
-			}
-		},
-
-		replace: function (callback) {
-			var topModal;
-
-			for (var i = 0; i < this.stack.length; i++) {
-				if (this.stack[i].isShown) {
-					topModal = this.stack[i];
-				}
-			}
-
-			if (topModal) {
-				this.$backdropHandle = topModal.$backdrop;
-				topModal.$backdrop = null;
-
-				if (callback) {
-					topModal.$element.one('hidden',
-										  targetIsSelf($.proxy(callback, this)));
-				}
-
-				topModal.hide();
-			} else if (callback) {
-				callback();
-			}
-		},
-
-		removeBackdrop: function (modal) {
-			modal.$backdrop.remove();
-			modal.$backdrop = null;
-		},
-
-		createBackdrop: function (animate, tmpl) {
-			var $backdrop;
-
-			if (!this.$backdropHandle) {
-				$backdrop = $(tmpl)
-					.addClass(animate)
-					.appendTo(this.$element);
-			} else {
-				$backdrop = this.$backdropHandle;
-				$backdrop.off('.modalmanager');
-				this.$backdropHandle = null;
-				if (this.isLoading) {
-					this.removeSpinner();
-				}
-			}
-
-			return $backdrop;
-		},
-
-		removeContainer: function (modal) {
-			modal.$container.remove();
-			modal.$container = null;
-		},
-
-		createContainer: function (modal) {
-			var $container;
-
-			$container = $('<div class="modal-scrollable">')
-				.css('z-index', getzIndex('modal', this.getOpenModals().length))
-				.appendTo(this.$element);
-
-			if (modal && modal.options.backdrop === 'hide') {
-				$container.on('click.modal', targetIsSelf(function (e) {
-					modal.hide();
-				}));
-			} else if (modal && modal.options.backdrop === 'attention') {
-				$container.on('click.modal', targetIsSelf(function (e) {
-					modal.attention();
-				}));
-			}
-
-			return $container;
-
-		},
-
-		backdrop: function (modal, callback) {
-			var animate = modal.$element.hasClass('fade') ? 'fade' : '',
-				showBackdrop = modal.options.backdrop &&
-					this.backdropCount < this.options.backdropLimit;
-
-			if (modal.isShown && showBackdrop) {
-				var doAnimate = $.support.transition && animate && !this.$backdropHandle;
-
-				modal.$backdrop = this.createBackdrop(animate, modal.options.backdropTemplate);
-
-				modal.$backdrop.css('z-index', getzIndex('backdrop', this.getOpenModals().length));
-
-				if (doAnimate) {
-					modal.$backdrop[0].offsetWidth;
-				} // force reflow
-
-				modal.$backdrop.addClass('in');
-
-				this.backdropCount += 1;
-
-				if (doAnimate) {
-					modal.$backdrop.one($.support.transition.end, callback);
-				} else {
-					callback();
-				}
-
-			} else if (!modal.isShown && modal.$backdrop) {
-				modal.$backdrop.removeClass('in');
-
-				this.backdropCount -= 1;
-
-				var that = this;
-
-				if ($.support.transition && modal.$element.hasClass('fade')) {
-					modal.$backdrop.one($.support.transition.end, function () {
-						that.removeBackdrop(modal);
-					});
-				} else {
-					that.removeBackdrop(modal);
-				}
-
-			} else if (callback) {
-				callback();
-			}
-		},
-
-		removeSpinner: function () {
-			if (this.$spinner) {
-				this.$spinner.remove();
-			}
-			this.$spinner = null;
-			this.isLoading = false;
-		},
-
-		removeLoading: function () {
-			if (this.$backdropHandle) {
-				this.$backdropHandle.remove();
-			}
-			this.$backdropHandle = null;
-			this.removeSpinner();
-		},
-
-		loading: function (callback) {
-			callback = callback || function () {};
-
-			this.$element
-				.toggleClass('modal-open', !this.isLoading || this.hasOpenModal())
-				.toggleClass('page-overflow', $(window).height() < this.$element.height());
-
-			if (!this.isLoading) {
-
-				this.$backdropHandle = this.createBackdrop('fade', this.options.backdropTemplate);
-
-				this.$backdropHandle[0].offsetWidth; // force reflow
-
-				var openModals = this.getOpenModals();
-
-				this.$backdropHandle
-					.css('z-index', getzIndex('backdrop', openModals.length + 1))
-					.addClass('in');
-
-				var $spinner = $(this.options.spinner)
-					.css('z-index', getzIndex('modal', openModals.length + 1))
-					.appendTo(this.$element)
-					.addClass('in');
-
-				this.$spinner = $(this.createContainer())
-					.append($spinner)
-					.on('click.modalmanager', $.proxy(this.loading, this));
-
-				this.isLoading = true;
-
-				if ($.support.transition) {
-					this.$backdropHandle.one($.support.transition.end, callback);
-				} else {
-					callback();
-				}
-
-			} else if (this.isLoading && this.$backdropHandle) {
-				this.$backdropHandle.removeClass('in');
-
-				var that = this;
-				if ($.support.transition) {
-					this.$backdropHandle.one($.support.transition.end, function () {
-						that.removeLoading();
-					});
-				} else {
-					that.removeLoading();
-				}
-
-			} else if (callback) {
-				callback(this.isLoading);
-			}
-		}
-	};
-
-	/* PRIVATE METHODS
-	 * ======================= */
-
-	// computes and caches the zindexes
-	var getzIndex = (function () {
-		var zIndexFactor,
-			baseIndex = {};
-
-		return function (type, pos) {
-
-			if (typeof zIndexFactor === 'undefined') {
-				var $baseModal = $('<div class="modal hide" />').appendTo('body'),
-					$baseBackdrop = $('<div class="modal-backdrop hide" />').appendTo('body');
-
-				baseIndex.modal = +$baseModal.css('z-index');
-				baseIndex.backdrop = +$baseBackdrop.css('z-index');
-				zIndexFactor = baseIndex.modal - baseIndex.backdrop;
-
-				$baseModal.remove();
-				$baseBackdrop.remove();
-				$baseBackdrop = $baseModal = null;
-			}
-
-			return baseIndex[type] + (zIndexFactor * pos);
-
-		};
-	}());
-
-	// make sure the event target is the modal itself in order to prevent
-	// other components such as tabsfrom triggering the modal manager.
-	// if Boostsrap namespaced events, this would not be needed.
-	function targetIsSelf(callback) {
-		return function (e) {
-			if (e && this === e.target){
-				return callback.apply(this, arguments);
-			}
-		}
-	}
-
-
-	/* MODAL MANAGER PLUGIN DEFINITION
-	 * ======================= */
-
-	$.fn.modalmanager = function (option, args) {
-		return this.each(function () {
-			var $this = $(this),
-				data = $this.data('modalmanager');
-
-			if (!data) {
-				$this.data('modalmanager', (data = new ModalManager(this, option)));
-			}
-			if (typeof option === 'string') {
-				data[option].apply(data, [].concat(args));
-			}
-		});
-	};
-
-	$.fn.modalmanager.defaults = {
-		backdropLimit: 999,
-		resize: true,
-		spinner: '<div class="loading-spinner fade" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"></div></div></div>',
-		backdropTemplate: '<div class="modal-backdrop" />'
-	};
-
-	$.fn.modalmanager.Constructor = ModalManager;
-
-	// ModalManager handles the modal-open class so we need 
-	// to remove conflicting bootstrap 3 event handlers
-	$(function () {
-		$(document).off('show.bs.modal').off('hidden.bs.modal');
-	});
-
-}(jQuery);
--- a/src/pyams_skin/resources/js/ext/bootstrap-progressbar-0.6.0.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){"use strict";var e=function(n,a){this.$element=t(n),this.options=t.extend({},e.defaults,a)};e.defaults={transition_delay:300,refresh_speed:50,display_text:"none",use_percentage:!0,percent_format:function(t){return t+"%"},amount_format:function(t,e){return t+" / "+e},update:t.noop,done:t.noop,fail:t.noop},e.prototype.transition=function(){var n=this.$element,a=n.parent(),s=this.$back_text,i=this.$front_text,r=this.options,o=n.attr("aria-valuetransitiongoal"),h=n.attr("aria-valuemin")||0,f=n.attr("aria-valuemax")||100,d=a.hasClass("vertical"),u=r.update&&"function"==typeof r.update?r.update:e.defaults.update,c=r.done&&"function"==typeof r.done?r.done:e.defaults.done,p=r.fail&&"function"==typeof r.fail?r.fail:e.defaults.fail;if(o){var l=Math.round(100*(o-h)/(f-h));if("center"===r.display_text&&!s&&!i){this.$back_text=s=t("<span>").addClass("progressbar-back-text").prependTo(a),this.$front_text=i=t("<span>").addClass("progressbar-front-text").prependTo(n);var g;d?(g=a.css("height"),s.css({height:g,"line-height":g}),i.css({height:g,"line-height":g}),t(window).resize(function(){g=a.css("height"),s.css({height:g,"line-height":g}),i.css({height:g,"line-height":g})})):(g=a.css("width"),i.css({width:g}),t(window).resize(function(){g=a.css("width"),i.css({width:g})}))}setTimeout(function(){var t,e,p,g,_;d?n.css("height",l+"%"):n.css("width",l+"%");var v=setInterval(function(){d?(p=n.height(),g=a.height()):(p=n.width(),g=a.width()),t=Math.round(100*p/g),e=Math.round(p/g*(f-h)),t>=l&&(t=l,e=o,c(),clearInterval(v)),"none"!==r.display_text&&(_=r.use_percentage?r.percent_format(t):r.amount_format(e,f),"fill"===r.display_text?n.text(_):"center"===r.display_text&&(s.text(_),i.text(_))),n.attr("aria-valuenow",e),u(t)},r.refresh_speed)},r.transition_delay)}else p("aria-valuetransitiongoal not set")};var n=t.fn.progressbar;t.fn.progressbar=function(n){return this.each(function(){var a=t(this),s=a.data("bs.progressbar"),i="object"==typeof n&&n;s||a.data("bs.progressbar",s=new e(this,i)),s.transition()})},t.fn.progressbar.Constructor=e,t.fn.progressbar.noConflict=function(){return t.fn.progressbar=n,this}}(window.jQuery);
--- a/src/pyams_skin/resources/js/ext/bootstrap-slider-2.0.0.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){var i=function(i,e){this.element=t(i),this.picker=t('<div class="slider"><div class="slider-track"><div class="slider-selection"></div><div class="slider-handle"></div><div class="slider-handle"></div></div><div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div></div>').insertBefore(this.element).prepend(this.element),this.id=this.element.data("slider-id")||e.id,this.id&&(this.picker[0].id=this.id),"undefined"!=typeof Modernizr&&Modernizr.touch&&(this.touchCapable=!0);var s=this.element.data("slider-tooltip")||e.tooltip;switch(this.tooltip=this.picker.find(".tooltip"),this.tooltipInner=this.tooltip.find("div.tooltip-inner"),this.orientation=this.element.data("slider-orientation")||e.orientation,this.orientation){case"vertical":this.picker.addClass("slider-vertical"),this.stylePos="top",this.mousePos="pageY",this.sizePos="offsetHeight",this.tooltip.addClass("right")[0].style.left="100%";break;default:this.picker.addClass("slider-horizontal").css("width",this.element.outerWidth()),this.orientation="horizontal",this.stylePos="left",this.mousePos="pageX",this.sizePos="offsetWidth",this.tooltip.addClass("top")[0].style.top=-this.tooltip.outerHeight()-14+"px"}switch(this.min=this.element.data("slider-min")||e.min,this.max=this.element.data("slider-max")||e.max,this.step=this.element.data("slider-step")||e.step,this.value=this.element.data("slider-value")||e.value,this.value[1]&&(this.range=!0),this.selection=this.element.data("slider-selection")||e.selection,this.selectionEl=this.picker.find(".slider-selection"),"none"===this.selection&&this.selectionEl.addClass("hide"),this.selectionElStyle=this.selectionEl[0].style,this.handle1=this.picker.find(".slider-handle:first"),this.handle1Stype=this.handle1[0].style,this.handle2=this.picker.find(".slider-handle:last"),this.handle2Stype=this.handle2[0].style,this.element.data("slider-handle")||e.handle){case"round":this.handle1.addClass("round"),this.handle2.addClass("round");break;case"triangle":this.handle1.addClass("triangle"),this.handle2.addClass("triangle")}this.range?(this.value[0]=Math.max(this.min,Math.min(this.max,this.value[0])),this.value[1]=Math.max(this.min,Math.min(this.max,this.value[1]))):(this.value=[Math.max(this.min,Math.min(this.max,this.value))],this.handle2.addClass("hide"),"after"===this.selection?this.value[1]=this.max:this.value[1]=this.min),this.diff=this.max-this.min,this.percentage=[100*(this.value[0]-this.min)/this.diff,100*(this.value[1]-this.min)/this.diff,100*this.step/this.diff],this.offset=this.picker.offset(),this.size=this.picker[0][this.sizePos],this.formater=e.formater,this.layout(),this.touchCapable?this.picker.on({touchstart:t.proxy(this.mousedown,this)}):this.picker.on({mousedown:t.proxy(this.mousedown,this)}),"show"===s?this.picker.on({mouseenter:t.proxy(this.showTooltip,this),mouseleave:t.proxy(this.hideTooltip,this)}):this.tooltip.addClass("hide")};i.prototype={constructor:i,over:!1,inDrag:!1,showTooltip:function(){this.tooltip.addClass("in"),this.over=!0},hideTooltip:function(){!1===this.inDrag&&this.tooltip.removeClass("in"),this.over=!1},layout:function(){this.handle1Stype[this.stylePos]=this.percentage[0]+"%",this.handle2Stype[this.stylePos]=this.percentage[1]+"%","vertical"===this.orientation?(this.selectionElStyle.top=Math.min(this.percentage[0],this.percentage[1])+"%",this.selectionElStyle.height=Math.abs(this.percentage[0]-this.percentage[1])+"%"):(this.selectionElStyle.left=Math.min(this.percentage[0],this.percentage[1])+"%",this.selectionElStyle.width=Math.abs(this.percentage[0]-this.percentage[1])+"%"),this.range?(this.tooltipInner.text(this.formater(this.value[0])+" : "+this.formater(this.value[1])),this.tooltip[0].style[this.stylePos]=this.size*(this.percentage[0]+(this.percentage[1]-this.percentage[0])/2)/100-("vertical"===this.orientation?this.tooltip.outerHeight()/2:this.tooltip.outerWidth()/2)+"px"):(this.tooltipInner.text(this.formater(this.value[0])),this.tooltip[0].style[this.stylePos]=this.size*this.percentage[0]/100-("vertical"===this.orientation?this.tooltip.outerHeight()/2:this.tooltip.outerWidth()/2)+"px")},mousedown:function(i){this.touchCapable&&"touchstart"===i.type&&(i=i.originalEvent),this.offset=this.picker.offset(),this.size=this.picker[0][this.sizePos];var e=this.getPercentage(i);if(this.range){var s=Math.abs(this.percentage[0]-e),h=Math.abs(this.percentage[1]-e);this.dragged=s<h?0:1}else this.dragged=0;this.percentage[this.dragged]=e,this.layout(),this.touchCapable?t(document).on({touchmove:t.proxy(this.mousemove,this),touchend:t.proxy(this.mouseup,this)}):t(document).on({mousemove:t.proxy(this.mousemove,this),mouseup:t.proxy(this.mouseup,this)}),this.inDrag=!0;var a=this.calculateValue();return this.element.trigger({type:"slideStart",value:a}).trigger({type:"slide",value:a}),!1},mousemove:function(t){this.touchCapable&&"touchmove"===t.type&&(t=t.originalEvent);var i=this.getPercentage(t);this.range&&(0===this.dragged&&this.percentage[1]<i?(this.percentage[0]=this.percentage[1],this.dragged=1):1===this.dragged&&this.percentage[0]>i&&(this.percentage[1]=this.percentage[0],this.dragged=0)),this.percentage[this.dragged]=i,this.layout();var e=this.calculateValue();return this.element.trigger({type:"slide",value:e}).data("value",e).prop("value",e),!1},mouseup:function(i){this.touchCapable?t(document).off({touchmove:this.mousemove,touchend:this.mouseup}):t(document).off({mousemove:this.mousemove,mouseup:this.mouseup}),this.inDrag=!1,0==this.over&&this.hideTooltip(),this.element;var e=this.calculateValue();return this.element.trigger({type:"slideStop",value:e}).data("value",e).prop("value",e),!1},calculateValue:function(){var t;return this.range?(t=[this.min+Math.round(this.diff*this.percentage[0]/100/this.step)*this.step,this.min+Math.round(this.diff*this.percentage[1]/100/this.step)*this.step],this.value=t):(t=this.min+Math.round(this.diff*this.percentage[0]/100/this.step)*this.step,this.value=[t,this.value[1]]),t},getPercentage:function(t){this.touchCapable&&(t=t.touches[0]);var i=100*(t[this.mousePos]-this.offset[this.stylePos])/this.size;return i=Math.round(i/this.percentage[2])*this.percentage[2],Math.max(0,Math.min(100,i))},getValue:function(){return this.range?this.value:this.value[0]},setValue:function(t){this.value=t,this.range?(this.value[0]=Math.max(this.min,Math.min(this.max,this.value[0])),this.value[1]=Math.max(this.min,Math.min(this.max,this.value[1]))):(this.value=[Math.max(this.min,Math.min(this.max,this.value))],this.handle2.addClass("hide"),"after"===this.selection?this.value[1]=this.max:this.value[1]=this.min),this.diff=this.max-this.min,this.percentage=[100*(this.value[0]-this.min)/this.diff,100*(this.value[1]-this.min)/this.diff,100*this.step/this.diff],this.layout()}},t.fn.slider=function(e,s){return this.each(function(){var h=t(this),a=h.data("slider"),o="object"==typeof e&&e;a||h.data("slider",a=new i(this,t.extend({},t.fn.slider.defaults,o))),"string"==typeof e&&a[e](s)})},t.fn.slider.defaults={min:0,max:10,step:1,orientation:"horizontal",value:5,selection:"before",tooltip:"show",handle:"round",formater:function(t){return t}},t.fn.slider.Constructor=i,t.fn.BS_slider=t.fn.slider}(window.jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/excanvas.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1428 +0,0 @@
-// Copyright 2006 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-
-// Known Issues:
-//
-// * Patterns only support repeat.
-// * Radial gradient are not implemented. The VML version of these look very
-//   different from the canvas one.
-// * Clipping paths are not implemented.
-// * Coordsize. The width and height attribute have higher priority than the
-//   width and height style values which isn't correct.
-// * Painting mode isn't implemented.
-// * Canvas width/height should is using content-box by default. IE in
-//   Quirks mode will draw the canvas using border-box. Either change your
-//   doctype to HTML5
-//   (http://www.whatwg.org/specs/web-apps/current-work/#the-doctype)
-//   or use Box Sizing Behavior from WebFX
-//   (http://webfx.eae.net/dhtml/boxsizing/boxsizing.html)
-// * Non uniform scaling does not correctly scale strokes.
-// * Filling very large shapes (above 5000 points) is buggy.
-// * Optimize. There is always room for speed improvements.
-
-// Only add this code if we do not already have a canvas implementation
-if (!document.createElement('canvas').getContext) {
-
-(function() {
-
-  // alias some functions to make (compiled) code shorter
-  var m = Math;
-  var mr = m.round;
-  var ms = m.sin;
-  var mc = m.cos;
-  var abs = m.abs;
-  var sqrt = m.sqrt;
-
-  // this is used for sub pixel precision
-  var Z = 10;
-  var Z2 = Z / 2;
-
-  var IE_VERSION = +navigator.userAgent.match(/MSIE ([\d.]+)?/)[1];
-
-  /**
-   * This funtion is assigned to the <canvas> elements as element.getContext().
-   * @this {HTMLElement}
-   * @return {CanvasRenderingContext2D_}
-   */
-  function getContext() {
-    return this.context_ ||
-        (this.context_ = new CanvasRenderingContext2D_(this));
-  }
-
-  var slice = Array.prototype.slice;
-
-  /**
-   * Binds a function to an object. The returned function will always use the
-   * passed in {@code obj} as {@code this}.
-   *
-   * Example:
-   *
-   *   g = bind(f, obj, a, b)
-   *   g(c, d) // will do f.call(obj, a, b, c, d)
-   *
-   * @param {Function} f The function to bind the object to
-   * @param {Object} obj The object that should act as this when the function
-   *     is called
-   * @param {*} var_args Rest arguments that will be used as the initial
-   *     arguments when the function is called
-   * @return {Function} A new function that has bound this
-   */
-  function bind(f, obj, var_args) {
-    var a = slice.call(arguments, 2);
-    return function() {
-      return f.apply(obj, a.concat(slice.call(arguments)));
-    };
-  }
-
-  function encodeHtmlAttribute(s) {
-    return String(s).replace(/&/g, '&amp;').replace(/"/g, '&quot;');
-  }
-
-  function addNamespace(doc, prefix, urn) {
-    if (!doc.namespaces[prefix]) {
-      doc.namespaces.add(prefix, urn, '#default#VML');
-    }
-  }
-
-  function addNamespacesAndStylesheet(doc) {
-    addNamespace(doc, 'g_vml_', 'urn:schemas-microsoft-com:vml');
-    addNamespace(doc, 'g_o_', 'urn:schemas-microsoft-com:office:office');
-
-    // Setup default CSS.  Only add one style sheet per document
-    if (!doc.styleSheets['ex_canvas_']) {
-      var ss = doc.createStyleSheet();
-      ss.owningElement.id = 'ex_canvas_';
-      ss.cssText = 'canvas{display:inline-block;overflow:hidden;' +
-          // default size is 300x150 in Gecko and Opera
-          'text-align:left;width:300px;height:150px}';
-    }
-  }
-
-  // Add namespaces and stylesheet at startup.
-  addNamespacesAndStylesheet(document);
-
-  var G_vmlCanvasManager_ = {
-    init: function(opt_doc) {
-      var doc = opt_doc || document;
-      // Create a dummy element so that IE will allow canvas elements to be
-      // recognized.
-      doc.createElement('canvas');
-      doc.attachEvent('onreadystatechange', bind(this.init_, this, doc));
-    },
-
-    init_: function(doc) {
-      // find all canvas elements
-      var els = doc.getElementsByTagName('canvas');
-      for (var i = 0; i < els.length; i++) {
-        this.initElement(els[i]);
-      }
-    },
-
-    /**
-     * Public initializes a canvas element so that it can be used as canvas
-     * element from now on. This is called automatically before the page is
-     * loaded but if you are creating elements using createElement you need to
-     * make sure this is called on the element.
-     * @param {HTMLElement} el The canvas element to initialize.
-     * @return {HTMLElement} the element that was created.
-     */
-    initElement: function(el) {
-      if (!el.getContext) {
-        el.getContext = getContext;
-
-        // Add namespaces and stylesheet to document of the element.
-        addNamespacesAndStylesheet(el.ownerDocument);
-
-        // Remove fallback content. There is no way to hide text nodes so we
-        // just remove all childNodes. We could hide all elements and remove
-        // text nodes but who really cares about the fallback content.
-        el.innerHTML = '';
-
-        // do not use inline function because that will leak memory
-        el.attachEvent('onpropertychange', onPropertyChange);
-        el.attachEvent('onresize', onResize);
-
-        var attrs = el.attributes;
-        if (attrs.width && attrs.width.specified) {
-          // TODO: use runtimeStyle and coordsize
-          // el.getContext().setWidth_(attrs.width.nodeValue);
-          el.style.width = attrs.width.nodeValue + 'px';
-        } else {
-          el.width = el.clientWidth;
-        }
-        if (attrs.height && attrs.height.specified) {
-          // TODO: use runtimeStyle and coordsize
-          // el.getContext().setHeight_(attrs.height.nodeValue);
-          el.style.height = attrs.height.nodeValue + 'px';
-        } else {
-          el.height = el.clientHeight;
-        }
-        //el.getContext().setCoordsize_()
-      }
-      return el;
-    }
-  };
-
-  function onPropertyChange(e) {
-    var el = e.srcElement;
-
-    switch (e.propertyName) {
-      case 'width':
-        el.getContext().clearRect();
-        el.style.width = el.attributes.width.nodeValue + 'px';
-        // In IE8 this does not trigger onresize.
-        el.firstChild.style.width =  el.clientWidth + 'px';
-        break;
-      case 'height':
-        el.getContext().clearRect();
-        el.style.height = el.attributes.height.nodeValue + 'px';
-        el.firstChild.style.height = el.clientHeight + 'px';
-        break;
-    }
-  }
-
-  function onResize(e) {
-    var el = e.srcElement;
-    if (el.firstChild) {
-      el.firstChild.style.width =  el.clientWidth + 'px';
-      el.firstChild.style.height = el.clientHeight + 'px';
-    }
-  }
-
-  G_vmlCanvasManager_.init();
-
-  // precompute "00" to "FF"
-  var decToHex = [];
-  for (var i = 0; i < 16; i++) {
-    for (var j = 0; j < 16; j++) {
-      decToHex[i * 16 + j] = i.toString(16) + j.toString(16);
-    }
-  }
-
-  function createMatrixIdentity() {
-    return [
-      [1, 0, 0],
-      [0, 1, 0],
-      [0, 0, 1]
-    ];
-  }
-
-  function matrixMultiply(m1, m2) {
-    var result = createMatrixIdentity();
-
-    for (var x = 0; x < 3; x++) {
-      for (var y = 0; y < 3; y++) {
-        var sum = 0;
-
-        for (var z = 0; z < 3; z++) {
-          sum += m1[x][z] * m2[z][y];
-        }
-
-        result[x][y] = sum;
-      }
-    }
-    return result;
-  }
-
-  function copyState(o1, o2) {
-    o2.fillStyle     = o1.fillStyle;
-    o2.lineCap       = o1.lineCap;
-    o2.lineJoin      = o1.lineJoin;
-    o2.lineWidth     = o1.lineWidth;
-    o2.miterLimit    = o1.miterLimit;
-    o2.shadowBlur    = o1.shadowBlur;
-    o2.shadowColor   = o1.shadowColor;
-    o2.shadowOffsetX = o1.shadowOffsetX;
-    o2.shadowOffsetY = o1.shadowOffsetY;
-    o2.strokeStyle   = o1.strokeStyle;
-    o2.globalAlpha   = o1.globalAlpha;
-    o2.font          = o1.font;
-    o2.textAlign     = o1.textAlign;
-    o2.textBaseline  = o1.textBaseline;
-    o2.arcScaleX_    = o1.arcScaleX_;
-    o2.arcScaleY_    = o1.arcScaleY_;
-    o2.lineScale_    = o1.lineScale_;
-  }
-
-  var colorData = {
-    aliceblue: '#F0F8FF',
-    antiquewhite: '#FAEBD7',
-    aquamarine: '#7FFFD4',
-    azure: '#F0FFFF',
-    beige: '#F5F5DC',
-    bisque: '#FFE4C4',
-    black: '#000000',
-    blanchedalmond: '#FFEBCD',
-    blueviolet: '#8A2BE2',
-    brown: '#A52A2A',
-    burlywood: '#DEB887',
-    cadetblue: '#5F9EA0',
-    chartreuse: '#7FFF00',
-    chocolate: '#D2691E',
-    coral: '#FF7F50',
-    cornflowerblue: '#6495ED',
-    cornsilk: '#FFF8DC',
-    crimson: '#DC143C',
-    cyan: '#00FFFF',
-    darkblue: '#00008B',
-    darkcyan: '#008B8B',
-    darkgoldenrod: '#B8860B',
-    darkgray: '#A9A9A9',
-    darkgreen: '#006400',
-    darkgrey: '#A9A9A9',
-    darkkhaki: '#BDB76B',
-    darkmagenta: '#8B008B',
-    darkolivegreen: '#556B2F',
-    darkorange: '#FF8C00',
-    darkorchid: '#9932CC',
-    darkred: '#8B0000',
-    darksalmon: '#E9967A',
-    darkseagreen: '#8FBC8F',
-    darkslateblue: '#483D8B',
-    darkslategray: '#2F4F4F',
-    darkslategrey: '#2F4F4F',
-    darkturquoise: '#00CED1',
-    darkviolet: '#9400D3',
-    deeppink: '#FF1493',
-    deepskyblue: '#00BFFF',
-    dimgray: '#696969',
-    dimgrey: '#696969',
-    dodgerblue: '#1E90FF',
-    firebrick: '#B22222',
-    floralwhite: '#FFFAF0',
-    forestgreen: '#228B22',
-    gainsboro: '#DCDCDC',
-    ghostwhite: '#F8F8FF',
-    gold: '#FFD700',
-    goldenrod: '#DAA520',
-    grey: '#808080',
-    greenyellow: '#ADFF2F',
-    honeydew: '#F0FFF0',
-    hotpink: '#FF69B4',
-    indianred: '#CD5C5C',
-    indigo: '#4B0082',
-    ivory: '#FFFFF0',
-    khaki: '#F0E68C',
-    lavender: '#E6E6FA',
-    lavenderblush: '#FFF0F5',
-    lawngreen: '#7CFC00',
-    lemonchiffon: '#FFFACD',
-    lightblue: '#ADD8E6',
-    lightcoral: '#F08080',
-    lightcyan: '#E0FFFF',
-    lightgoldenrodyellow: '#FAFAD2',
-    lightgreen: '#90EE90',
-    lightgrey: '#D3D3D3',
-    lightpink: '#FFB6C1',
-    lightsalmon: '#FFA07A',
-    lightseagreen: '#20B2AA',
-    lightskyblue: '#87CEFA',
-    lightslategray: '#778899',
-    lightslategrey: '#778899',
-    lightsteelblue: '#B0C4DE',
-    lightyellow: '#FFFFE0',
-    limegreen: '#32CD32',
-    linen: '#FAF0E6',
-    magenta: '#FF00FF',
-    mediumaquamarine: '#66CDAA',
-    mediumblue: '#0000CD',
-    mediumorchid: '#BA55D3',
-    mediumpurple: '#9370DB',
-    mediumseagreen: '#3CB371',
-    mediumslateblue: '#7B68EE',
-    mediumspringgreen: '#00FA9A',
-    mediumturquoise: '#48D1CC',
-    mediumvioletred: '#C71585',
-    midnightblue: '#191970',
-    mintcream: '#F5FFFA',
-    mistyrose: '#FFE4E1',
-    moccasin: '#FFE4B5',
-    navajowhite: '#FFDEAD',
-    oldlace: '#FDF5E6',
-    olivedrab: '#6B8E23',
-    orange: '#FFA500',
-    orangered: '#FF4500',
-    orchid: '#DA70D6',
-    palegoldenrod: '#EEE8AA',
-    palegreen: '#98FB98',
-    paleturquoise: '#AFEEEE',
-    palevioletred: '#DB7093',
-    papayawhip: '#FFEFD5',
-    peachpuff: '#FFDAB9',
-    peru: '#CD853F',
-    pink: '#FFC0CB',
-    plum: '#DDA0DD',
-    powderblue: '#B0E0E6',
-    rosybrown: '#BC8F8F',
-    royalblue: '#4169E1',
-    saddlebrown: '#8B4513',
-    salmon: '#FA8072',
-    sandybrown: '#F4A460',
-    seagreen: '#2E8B57',
-    seashell: '#FFF5EE',
-    sienna: '#A0522D',
-    skyblue: '#87CEEB',
-    slateblue: '#6A5ACD',
-    slategray: '#708090',
-    slategrey: '#708090',
-    snow: '#FFFAFA',
-    springgreen: '#00FF7F',
-    steelblue: '#4682B4',
-    tan: '#D2B48C',
-    thistle: '#D8BFD8',
-    tomato: '#FF6347',
-    turquoise: '#40E0D0',
-    violet: '#EE82EE',
-    wheat: '#F5DEB3',
-    whitesmoke: '#F5F5F5',
-    yellowgreen: '#9ACD32'
-  };
-
-
-  function getRgbHslContent(styleString) {
-    var start = styleString.indexOf('(', 3);
-    var end = styleString.indexOf(')', start + 1);
-    var parts = styleString.substring(start + 1, end).split(',');
-    // add alpha if needed
-    if (parts.length != 4 || styleString.charAt(3) != 'a') {
-      parts[3] = 1;
-    }
-    return parts;
-  }
-
-  function percent(s) {
-    return parseFloat(s) / 100;
-  }
-
-  function clamp(v, min, max) {
-    return Math.min(max, Math.max(min, v));
-  }
-
-  function hslToRgb(parts){
-    var r, g, b, h, s, l;
-    h = parseFloat(parts[0]) / 360 % 360;
-    if (h < 0)
-      h++;
-    s = clamp(percent(parts[1]), 0, 1);
-    l = clamp(percent(parts[2]), 0, 1);
-    if (s == 0) {
-      r = g = b = l; // achromatic
-    } else {
-      var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
-      var p = 2 * l - q;
-      r = hueToRgb(p, q, h + 1 / 3);
-      g = hueToRgb(p, q, h);
-      b = hueToRgb(p, q, h - 1 / 3);
-    }
-
-    return '#' + decToHex[Math.floor(r * 255)] +
-        decToHex[Math.floor(g * 255)] +
-        decToHex[Math.floor(b * 255)];
-  }
-
-  function hueToRgb(m1, m2, h) {
-    if (h < 0)
-      h++;
-    if (h > 1)
-      h--;
-
-    if (6 * h < 1)
-      return m1 + (m2 - m1) * 6 * h;
-    else if (2 * h < 1)
-      return m2;
-    else if (3 * h < 2)
-      return m1 + (m2 - m1) * (2 / 3 - h) * 6;
-    else
-      return m1;
-  }
-
-  var processStyleCache = {};
-
-  function processStyle(styleString) {
-    if (styleString in processStyleCache) {
-      return processStyleCache[styleString];
-    }
-
-    var str, alpha = 1;
-
-    styleString = String(styleString);
-    if (styleString.charAt(0) == '#') {
-      str = styleString;
-    } else if (/^rgb/.test(styleString)) {
-      var parts = getRgbHslContent(styleString);
-      var str = '#', n;
-      for (var i = 0; i < 3; i++) {
-        if (parts[i].indexOf('%') != -1) {
-          n = Math.floor(percent(parts[i]) * 255);
-        } else {
-          n = +parts[i];
-        }
-        str += decToHex[clamp(n, 0, 255)];
-      }
-      alpha = +parts[3];
-    } else if (/^hsl/.test(styleString)) {
-      var parts = getRgbHslContent(styleString);
-      str = hslToRgb(parts);
-      alpha = parts[3];
-    } else {
-      str = colorData[styleString] || styleString;
-    }
-    return processStyleCache[styleString] = {color: str, alpha: alpha};
-  }
-
-  var DEFAULT_STYLE = {
-    style: 'normal',
-    variant: 'normal',
-    weight: 'normal',
-    size: 10,
-    family: 'sans-serif'
-  };
-
-  // Internal text style cache
-  var fontStyleCache = {};
-
-  function processFontStyle(styleString) {
-    if (fontStyleCache[styleString]) {
-      return fontStyleCache[styleString];
-    }
-
-    var el = document.createElement('div');
-    var style = el.style;
-    try {
-      style.font = styleString;
-    } catch (ex) {
-      // Ignore failures to set to invalid font.
-    }
-
-    return fontStyleCache[styleString] = {
-      style: style.fontStyle || DEFAULT_STYLE.style,
-      variant: style.fontVariant || DEFAULT_STYLE.variant,
-      weight: style.fontWeight || DEFAULT_STYLE.weight,
-      size: style.fontSize || DEFAULT_STYLE.size,
-      family: style.fontFamily || DEFAULT_STYLE.family
-    };
-  }
-
-  function getComputedStyle(style, element) {
-    var computedStyle = {};
-
-    for (var p in style) {
-      computedStyle[p] = style[p];
-    }
-
-    // Compute the size
-    var canvasFontSize = parseFloat(element.currentStyle.fontSize),
-        fontSize = parseFloat(style.size);
-
-    if (typeof style.size == 'number') {
-      computedStyle.size = style.size;
-    } else if (style.size.indexOf('px') != -1) {
-      computedStyle.size = fontSize;
-    } else if (style.size.indexOf('em') != -1) {
-      computedStyle.size = canvasFontSize * fontSize;
-    } else if(style.size.indexOf('%') != -1) {
-      computedStyle.size = (canvasFontSize / 100) * fontSize;
-    } else if (style.size.indexOf('pt') != -1) {
-      computedStyle.size = fontSize / .75;
-    } else {
-      computedStyle.size = canvasFontSize;
-    }
-
-    // Different scaling between normal text and VML text. This was found using
-    // trial and error to get the same size as non VML text.
-    computedStyle.size *= 0.981;
-
-    return computedStyle;
-  }
-
-  function buildStyle(style) {
-    return style.style + ' ' + style.variant + ' ' + style.weight + ' ' +
-        style.size + 'px ' + style.family;
-  }
-
-  var lineCapMap = {
-    'butt': 'flat',
-    'round': 'round'
-  };
-
-  function processLineCap(lineCap) {
-    return lineCapMap[lineCap] || 'square';
-  }
-
-  /**
-   * This class implements CanvasRenderingContext2D interface as described by
-   * the WHATWG.
-   * @param {HTMLElement} canvasElement The element that the 2D context should
-   * be associated with
-   */
-  function CanvasRenderingContext2D_(canvasElement) {
-    this.m_ = createMatrixIdentity();
-
-    this.mStack_ = [];
-    this.aStack_ = [];
-    this.currentPath_ = [];
-
-    // Canvas context properties
-    this.strokeStyle = '#000';
-    this.fillStyle = '#000';
-
-    this.lineWidth = 1;
-    this.lineJoin = 'miter';
-    this.lineCap = 'butt';
-    this.miterLimit = Z * 1;
-    this.globalAlpha = 1;
-    this.font = '10px sans-serif';
-    this.textAlign = 'left';
-    this.textBaseline = 'alphabetic';
-    this.canvas = canvasElement;
-
-    var cssText = 'width:' + canvasElement.clientWidth + 'px;height:' +
-        canvasElement.clientHeight + 'px;overflow:hidden;position:absolute';
-    var el = canvasElement.ownerDocument.createElement('div');
-    el.style.cssText = cssText;
-    canvasElement.appendChild(el);
-
-    var overlayEl = el.cloneNode(false);
-    // Use a non transparent background.
-    overlayEl.style.backgroundColor = 'red';
-    overlayEl.style.filter = 'alpha(opacity=0)';
-    canvasElement.appendChild(overlayEl);
-
-    this.element_ = el;
-    this.arcScaleX_ = 1;
-    this.arcScaleY_ = 1;
-    this.lineScale_ = 1;
-  }
-
-  var contextPrototype = CanvasRenderingContext2D_.prototype;
-  contextPrototype.clearRect = function() {
-    if (this.textMeasureEl_) {
-      this.textMeasureEl_.removeNode(true);
-      this.textMeasureEl_ = null;
-    }
-    this.element_.innerHTML = '';
-  };
-
-  contextPrototype.beginPath = function() {
-    // TODO: Branch current matrix so that save/restore has no effect
-    //       as per safari docs.
-    this.currentPath_ = [];
-  };
-
-  contextPrototype.moveTo = function(aX, aY) {
-    var p = getCoords(this, aX, aY);
-    this.currentPath_.push({type: 'moveTo', x: p.x, y: p.y});
-    this.currentX_ = p.x;
-    this.currentY_ = p.y;
-  };
-
-  contextPrototype.lineTo = function(aX, aY) {
-    var p = getCoords(this, aX, aY);
-    this.currentPath_.push({type: 'lineTo', x: p.x, y: p.y});
-
-    this.currentX_ = p.x;
-    this.currentY_ = p.y;
-  };
-
-  contextPrototype.bezierCurveTo = function(aCP1x, aCP1y,
-                                            aCP2x, aCP2y,
-                                            aX, aY) {
-    var p = getCoords(this, aX, aY);
-    var cp1 = getCoords(this, aCP1x, aCP1y);
-    var cp2 = getCoords(this, aCP2x, aCP2y);
-    bezierCurveTo(this, cp1, cp2, p);
-  };
-
-  // Helper function that takes the already fixed cordinates.
-  function bezierCurveTo(self, cp1, cp2, p) {
-    self.currentPath_.push({
-      type: 'bezierCurveTo',
-      cp1x: cp1.x,
-      cp1y: cp1.y,
-      cp2x: cp2.x,
-      cp2y: cp2.y,
-      x: p.x,
-      y: p.y
-    });
-    self.currentX_ = p.x;
-    self.currentY_ = p.y;
-  }
-
-  contextPrototype.quadraticCurveTo = function(aCPx, aCPy, aX, aY) {
-    // the following is lifted almost directly from
-    // http://developer.mozilla.org/en/docs/Canvas_tutorial:Drawing_shapes
-
-    var cp = getCoords(this, aCPx, aCPy);
-    var p = getCoords(this, aX, aY);
-
-    var cp1 = {
-      x: this.currentX_ + 2.0 / 3.0 * (cp.x - this.currentX_),
-      y: this.currentY_ + 2.0 / 3.0 * (cp.y - this.currentY_)
-    };
-    var cp2 = {
-      x: cp1.x + (p.x - this.currentX_) / 3.0,
-      y: cp1.y + (p.y - this.currentY_) / 3.0
-    };
-
-    bezierCurveTo(this, cp1, cp2, p);
-  };
-
-  contextPrototype.arc = function(aX, aY, aRadius,
-                                  aStartAngle, aEndAngle, aClockwise) {
-    aRadius *= Z;
-    var arcType = aClockwise ? 'at' : 'wa';
-
-    var xStart = aX + mc(aStartAngle) * aRadius - Z2;
-    var yStart = aY + ms(aStartAngle) * aRadius - Z2;
-
-    var xEnd = aX + mc(aEndAngle) * aRadius - Z2;
-    var yEnd = aY + ms(aEndAngle) * aRadius - Z2;
-
-    // IE won't render arches drawn counter clockwise if xStart == xEnd.
-    if (xStart == xEnd && !aClockwise) {
-      xStart += 0.125; // Offset xStart by 1/80 of a pixel. Use something
-                       // that can be represented in binary
-    }
-
-    var p = getCoords(this, aX, aY);
-    var pStart = getCoords(this, xStart, yStart);
-    var pEnd = getCoords(this, xEnd, yEnd);
-
-    this.currentPath_.push({type: arcType,
-                           x: p.x,
-                           y: p.y,
-                           radius: aRadius,
-                           xStart: pStart.x,
-                           yStart: pStart.y,
-                           xEnd: pEnd.x,
-                           yEnd: pEnd.y});
-
-  };
-
-  contextPrototype.rect = function(aX, aY, aWidth, aHeight) {
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-  };
-
-  contextPrototype.strokeRect = function(aX, aY, aWidth, aHeight) {
-    var oldPath = this.currentPath_;
-    this.beginPath();
-
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-    this.stroke();
-
-    this.currentPath_ = oldPath;
-  };
-
-  contextPrototype.fillRect = function(aX, aY, aWidth, aHeight) {
-    var oldPath = this.currentPath_;
-    this.beginPath();
-
-    this.moveTo(aX, aY);
-    this.lineTo(aX + aWidth, aY);
-    this.lineTo(aX + aWidth, aY + aHeight);
-    this.lineTo(aX, aY + aHeight);
-    this.closePath();
-    this.fill();
-
-    this.currentPath_ = oldPath;
-  };
-
-  contextPrototype.createLinearGradient = function(aX0, aY0, aX1, aY1) {
-    var gradient = new CanvasGradient_('gradient');
-    gradient.x0_ = aX0;
-    gradient.y0_ = aY0;
-    gradient.x1_ = aX1;
-    gradient.y1_ = aY1;
-    return gradient;
-  };
-
-  contextPrototype.createRadialGradient = function(aX0, aY0, aR0,
-                                                   aX1, aY1, aR1) {
-    var gradient = new CanvasGradient_('gradientradial');
-    gradient.x0_ = aX0;
-    gradient.y0_ = aY0;
-    gradient.r0_ = aR0;
-    gradient.x1_ = aX1;
-    gradient.y1_ = aY1;
-    gradient.r1_ = aR1;
-    return gradient;
-  };
-
-  contextPrototype.drawImage = function(image, var_args) {
-    var dx, dy, dw, dh, sx, sy, sw, sh;
-
-    // to find the original width we overide the width and height
-    var oldRuntimeWidth = image.runtimeStyle.width;
-    var oldRuntimeHeight = image.runtimeStyle.height;
-    image.runtimeStyle.width = 'auto';
-    image.runtimeStyle.height = 'auto';
-
-    // get the original size
-    var w = image.width;
-    var h = image.height;
-
-    // and remove overides
-    image.runtimeStyle.width = oldRuntimeWidth;
-    image.runtimeStyle.height = oldRuntimeHeight;
-
-    if (arguments.length == 3) {
-      dx = arguments[1];
-      dy = arguments[2];
-      sx = sy = 0;
-      sw = dw = w;
-      sh = dh = h;
-    } else if (arguments.length == 5) {
-      dx = arguments[1];
-      dy = arguments[2];
-      dw = arguments[3];
-      dh = arguments[4];
-      sx = sy = 0;
-      sw = w;
-      sh = h;
-    } else if (arguments.length == 9) {
-      sx = arguments[1];
-      sy = arguments[2];
-      sw = arguments[3];
-      sh = arguments[4];
-      dx = arguments[5];
-      dy = arguments[6];
-      dw = arguments[7];
-      dh = arguments[8];
-    } else {
-      throw Error('Invalid number of arguments');
-    }
-
-    var d = getCoords(this, dx, dy);
-
-    var w2 = sw / 2;
-    var h2 = sh / 2;
-
-    var vmlStr = [];
-
-    var W = 10;
-    var H = 10;
-
-    // For some reason that I've now forgotten, using divs didn't work
-    vmlStr.push(' <g_vml_:group',
-                ' coordsize="', Z * W, ',', Z * H, '"',
-                ' coordorigin="0,0"' ,
-                ' style="width:', W, 'px;height:', H, 'px;position:absolute;');
-
-    // If filters are necessary (rotation exists), create them
-    // filters are bog-slow, so only create them if abbsolutely necessary
-    // The following check doesn't account for skews (which don't exist
-    // in the canvas spec (yet) anyway.
-
-    if (this.m_[0][0] != 1 || this.m_[0][1] ||
-        this.m_[1][1] != 1 || this.m_[1][0]) {
-      var filter = [];
-
-      // Note the 12/21 reversal
-      filter.push('M11=', this.m_[0][0], ',',
-                  'M12=', this.m_[1][0], ',',
-                  'M21=', this.m_[0][1], ',',
-                  'M22=', this.m_[1][1], ',',
-                  'Dx=', mr(d.x / Z), ',',
-                  'Dy=', mr(d.y / Z), '');
-
-      // Bounding box calculation (need to minimize displayed area so that
-      // filters don't waste time on unused pixels.
-      var max = d;
-      var c2 = getCoords(this, dx + dw, dy);
-      var c3 = getCoords(this, dx, dy + dh);
-      var c4 = getCoords(this, dx + dw, dy + dh);
-
-      max.x = m.max(max.x, c2.x, c3.x, c4.x);
-      max.y = m.max(max.y, c2.y, c3.y, c4.y);
-
-      vmlStr.push('padding:0 ', mr(max.x / Z), 'px ', mr(max.y / Z),
-                  'px 0;filter:progid:DXImageTransform.Microsoft.Matrix(',
-                  filter.join(''), ", sizingmethod='clip');");
-
-    } else {
-      vmlStr.push('top:', mr(d.y / Z), 'px;left:', mr(d.x / Z), 'px;');
-    }
-
-    vmlStr.push(' ">' ,
-                '<g_vml_:image src="', image.src, '"',
-                ' style="width:', Z * dw, 'px;',
-                ' height:', Z * dh, 'px"',
-                ' cropleft="', sx / w, '"',
-                ' croptop="', sy / h, '"',
-                ' cropright="', (w - sx - sw) / w, '"',
-                ' cropbottom="', (h - sy - sh) / h, '"',
-                ' />',
-                '</g_vml_:group>');
-
-    this.element_.insertAdjacentHTML('BeforeEnd', vmlStr.join(''));
-  };
-
-  contextPrototype.stroke = function(aFill) {
-    var W = 10;
-    var H = 10;
-    // Divide the shape into chunks if it's too long because IE has a limit
-    // somewhere for how long a VML shape can be. This simple division does
-    // not work with fills, only strokes, unfortunately.
-    var chunkSize = 5000;
-
-    var min = {x: null, y: null};
-    var max = {x: null, y: null};
-
-    for (var j = 0; j < this.currentPath_.length; j += chunkSize) {
-      var lineStr = [];
-      var lineOpen = false;
-
-      lineStr.push('<g_vml_:shape',
-                   ' filled="', !!aFill, '"',
-                   ' style="position:absolute;width:', W, 'px;height:', H, 'px;"',
-                   ' coordorigin="0,0"',
-                   ' coordsize="', Z * W, ',', Z * H, '"',
-                   ' stroked="', !aFill, '"',
-                   ' path="');
-
-      var newSeq = false;
-
-      for (var i = j; i < Math.min(j + chunkSize, this.currentPath_.length); i++) {
-        if (i % chunkSize == 0 && i > 0) { // move into position for next chunk
-          lineStr.push(' m ', mr(this.currentPath_[i-1].x), ',', mr(this.currentPath_[i-1].y));
-        }
-
-        var p = this.currentPath_[i];
-        var c;
-
-        switch (p.type) {
-          case 'moveTo':
-            c = p;
-            lineStr.push(' m ', mr(p.x), ',', mr(p.y));
-            break;
-          case 'lineTo':
-            lineStr.push(' l ', mr(p.x), ',', mr(p.y));
-            break;
-          case 'close':
-            lineStr.push(' x ');
-            p = null;
-            break;
-          case 'bezierCurveTo':
-            lineStr.push(' c ',
-                         mr(p.cp1x), ',', mr(p.cp1y), ',',
-                         mr(p.cp2x), ',', mr(p.cp2y), ',',
-                         mr(p.x), ',', mr(p.y));
-            break;
-          case 'at':
-          case 'wa':
-            lineStr.push(' ', p.type, ' ',
-                         mr(p.x - this.arcScaleX_ * p.radius), ',',
-                         mr(p.y - this.arcScaleY_ * p.radius), ' ',
-                         mr(p.x + this.arcScaleX_ * p.radius), ',',
-                         mr(p.y + this.arcScaleY_ * p.radius), ' ',
-                         mr(p.xStart), ',', mr(p.yStart), ' ',
-                         mr(p.xEnd), ',', mr(p.yEnd));
-            break;
-        }
-  
-  
-        // TODO: Following is broken for curves due to
-        //       move to proper paths.
-  
-        // Figure out dimensions so we can do gradient fills
-        // properly
-        if (p) {
-          if (min.x == null || p.x < min.x) {
-            min.x = p.x;
-          }
-          if (max.x == null || p.x > max.x) {
-            max.x = p.x;
-          }
-          if (min.y == null || p.y < min.y) {
-            min.y = p.y;
-          }
-          if (max.y == null || p.y > max.y) {
-            max.y = p.y;
-          }
-        }
-      }
-      lineStr.push(' ">');
-  
-      if (!aFill) {
-        appendStroke(this, lineStr);
-      } else {
-        appendFill(this, lineStr, min, max);
-      }
-  
-      lineStr.push('</g_vml_:shape>');
-  
-      this.element_.insertAdjacentHTML('beforeEnd', lineStr.join(''));
-    }
-  };
-
-  function appendStroke(ctx, lineStr) {
-    var a = processStyle(ctx.strokeStyle);
-    var color = a.color;
-    var opacity = a.alpha * ctx.globalAlpha;
-    var lineWidth = ctx.lineScale_ * ctx.lineWidth;
-
-    // VML cannot correctly render a line if the width is less than 1px.
-    // In that case, we dilute the color to make the line look thinner.
-    if (lineWidth < 1) {
-      opacity *= lineWidth;
-    }
-
-    lineStr.push(
-      '<g_vml_:stroke',
-      ' opacity="', opacity, '"',
-      ' joinstyle="', ctx.lineJoin, '"',
-      ' miterlimit="', ctx.miterLimit, '"',
-      ' endcap="', processLineCap(ctx.lineCap), '"',
-      ' weight="', lineWidth, 'px"',
-      ' color="', color, '" />'
-    );
-  }
-
-  function appendFill(ctx, lineStr, min, max) {
-    var fillStyle = ctx.fillStyle;
-    var arcScaleX = ctx.arcScaleX_;
-    var arcScaleY = ctx.arcScaleY_;
-    var width = max.x - min.x;
-    var height = max.y - min.y;
-    if (fillStyle instanceof CanvasGradient_) {
-      // TODO: Gradients transformed with the transformation matrix.
-      var angle = 0;
-      var focus = {x: 0, y: 0};
-
-      // additional offset
-      var shift = 0;
-      // scale factor for offset
-      var expansion = 1;
-
-      if (fillStyle.type_ == 'gradient') {
-        var x0 = fillStyle.x0_ / arcScaleX;
-        var y0 = fillStyle.y0_ / arcScaleY;
-        var x1 = fillStyle.x1_ / arcScaleX;
-        var y1 = fillStyle.y1_ / arcScaleY;
-        var p0 = getCoords(ctx, x0, y0);
-        var p1 = getCoords(ctx, x1, y1);
-        var dx = p1.x - p0.x;
-        var dy = p1.y - p0.y;
-        angle = Math.atan2(dx, dy) * 180 / Math.PI;
-
-        // The angle should be a non-negative number.
-        if (angle < 0) {
-          angle += 360;
-        }
-
-        // Very small angles produce an unexpected result because they are
-        // converted to a scientific notation string.
-        if (angle < 1e-6) {
-          angle = 0;
-        }
-      } else {
-        var p0 = getCoords(ctx, fillStyle.x0_, fillStyle.y0_);
-        focus = {
-          x: (p0.x - min.x) / width,
-          y: (p0.y - min.y) / height
-        };
-
-        width  /= arcScaleX * Z;
-        height /= arcScaleY * Z;
-        var dimension = m.max(width, height);
-        shift = 2 * fillStyle.r0_ / dimension;
-        expansion = 2 * fillStyle.r1_ / dimension - shift;
-      }
-
-      // We need to sort the color stops in ascending order by offset,
-      // otherwise IE won't interpret it correctly.
-      var stops = fillStyle.colors_;
-      stops.sort(function(cs1, cs2) {
-        return cs1.offset - cs2.offset;
-      });
-
-      var length = stops.length;
-      var color1 = stops[0].color;
-      var color2 = stops[length - 1].color;
-      var opacity1 = stops[0].alpha * ctx.globalAlpha;
-      var opacity2 = stops[length - 1].alpha * ctx.globalAlpha;
-
-      var colors = [];
-      for (var i = 0; i < length; i++) {
-        var stop = stops[i];
-        colors.push(stop.offset * expansion + shift + ' ' + stop.color);
-      }
-
-      // When colors attribute is used, the meanings of opacity and o:opacity2
-      // are reversed.
-      lineStr.push('<g_vml_:fill type="', fillStyle.type_, '"',
-                   ' method="none" focus="100%"',
-                   ' color="', color1, '"',
-                   ' color2="', color2, '"',
-                   ' colors="', colors.join(','), '"',
-                   ' opacity="', opacity2, '"',
-                   ' g_o_:opacity2="', opacity1, '"',
-                   ' angle="', angle, '"',
-                   ' focusposition="', focus.x, ',', focus.y, '" />');
-    } else if (fillStyle instanceof CanvasPattern_) {
-      if (width && height) {
-        var deltaLeft = -min.x;
-        var deltaTop = -min.y;
-        lineStr.push('<g_vml_:fill',
-                     ' position="',
-                     deltaLeft / width * arcScaleX * arcScaleX, ',',
-                     deltaTop / height * arcScaleY * arcScaleY, '"',
-                     ' type="tile"',
-                     // TODO: Figure out the correct size to fit the scale.
-                     //' size="', w, 'px ', h, 'px"',
-                     ' src="', fillStyle.src_, '" />');
-       }
-    } else {
-      var a = processStyle(ctx.fillStyle);
-      var color = a.color;
-      var opacity = a.alpha * ctx.globalAlpha;
-      lineStr.push('<g_vml_:fill color="', color, '" opacity="', opacity,
-                   '" />');
-    }
-  }
-
-  contextPrototype.fill = function() {
-    this.stroke(true);
-  };
-
-  contextPrototype.closePath = function() {
-    this.currentPath_.push({type: 'close'});
-  };
-
-  function getCoords(ctx, aX, aY) {
-    var m = ctx.m_;
-    return {
-      x: Z * (aX * m[0][0] + aY * m[1][0] + m[2][0]) - Z2,
-      y: Z * (aX * m[0][1] + aY * m[1][1] + m[2][1]) - Z2
-    };
-  };
-
-  contextPrototype.save = function() {
-    var o = {};
-    copyState(this, o);
-    this.aStack_.push(o);
-    this.mStack_.push(this.m_);
-    this.m_ = matrixMultiply(createMatrixIdentity(), this.m_);
-  };
-
-  contextPrototype.restore = function() {
-    if (this.aStack_.length) {
-      copyState(this.aStack_.pop(), this);
-      this.m_ = this.mStack_.pop();
-    }
-  };
-
-  function matrixIsFinite(m) {
-    return isFinite(m[0][0]) && isFinite(m[0][1]) &&
-        isFinite(m[1][0]) && isFinite(m[1][1]) &&
-        isFinite(m[2][0]) && isFinite(m[2][1]);
-  }
-
-  function setM(ctx, m, updateLineScale) {
-    if (!matrixIsFinite(m)) {
-      return;
-    }
-    ctx.m_ = m;
-
-    if (updateLineScale) {
-      // Get the line scale.
-      // Determinant of this.m_ means how much the area is enlarged by the
-      // transformation. So its square root can be used as a scale factor
-      // for width.
-      var det = m[0][0] * m[1][1] - m[0][1] * m[1][0];
-      ctx.lineScale_ = sqrt(abs(det));
-    }
-  }
-
-  contextPrototype.translate = function(aX, aY) {
-    var m1 = [
-      [1,  0,  0],
-      [0,  1,  0],
-      [aX, aY, 1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), false);
-  };
-
-  contextPrototype.rotate = function(aRot) {
-    var c = mc(aRot);
-    var s = ms(aRot);
-
-    var m1 = [
-      [c,  s, 0],
-      [-s, c, 0],
-      [0,  0, 1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), false);
-  };
-
-  contextPrototype.scale = function(aX, aY) {
-    this.arcScaleX_ *= aX;
-    this.arcScaleY_ *= aY;
-    var m1 = [
-      [aX, 0,  0],
-      [0,  aY, 0],
-      [0,  0,  1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), true);
-  };
-
-  contextPrototype.transform = function(m11, m12, m21, m22, dx, dy) {
-    var m1 = [
-      [m11, m12, 0],
-      [m21, m22, 0],
-      [dx,  dy,  1]
-    ];
-
-    setM(this, matrixMultiply(m1, this.m_), true);
-  };
-
-  contextPrototype.setTransform = function(m11, m12, m21, m22, dx, dy) {
-    var m = [
-      [m11, m12, 0],
-      [m21, m22, 0],
-      [dx,  dy,  1]
-    ];
-
-    setM(this, m, true);
-  };
-
-  /**
-   * The text drawing function.
-   * The maxWidth argument isn't taken in account, since no browser supports
-   * it yet.
-   */
-  contextPrototype.drawText_ = function(text, x, y, maxWidth, stroke) {
-    var m = this.m_,
-        delta = 1000,
-        left = 0,
-        right = delta,
-        offset = {x: 0, y: 0},
-        lineStr = [];
-
-    var fontStyle = getComputedStyle(processFontStyle(this.font),
-                                     this.element_);
-
-    var fontStyleString = buildStyle(fontStyle);
-
-    var elementStyle = this.element_.currentStyle;
-    var textAlign = this.textAlign.toLowerCase();
-    switch (textAlign) {
-      case 'left':
-      case 'center':
-      case 'right':
-        break;
-      case 'end':
-        textAlign = elementStyle.direction == 'ltr' ? 'right' : 'left';
-        break;
-      case 'start':
-        textAlign = elementStyle.direction == 'rtl' ? 'right' : 'left';
-        break;
-      default:
-        textAlign = 'left';
-    }
-
-    // 1.75 is an arbitrary number, as there is no info about the text baseline
-    switch (this.textBaseline) {
-      case 'hanging':
-      case 'top':
-        offset.y = fontStyle.size / 1.75;
-        break;
-      case 'middle':
-        break;
-      default:
-      case null:
-      case 'alphabetic':
-      case 'ideographic':
-      case 'bottom':
-        offset.y = -fontStyle.size / 2.25;
-        break;
-    }
-
-    switch(textAlign) {
-      case 'right':
-        left = delta;
-        right = 0.05;
-        break;
-      case 'center':
-        left = right = delta / 2;
-        break;
-    }
-
-    var d = getCoords(this, x + offset.x, y + offset.y);
-
-    lineStr.push('<g_vml_:line from="', -left ,' 0" to="', right ,' 0.05" ',
-                 ' coordsize="100 100" coordorigin="0 0"',
-                 ' filled="', !stroke, '" stroked="', !!stroke,
-                 '" style="position:absolute;width:1px;height:1px;">');
-
-    if (stroke) {
-      appendStroke(this, lineStr);
-    } else {
-      // TODO: Fix the min and max params.
-      appendFill(this, lineStr, {x: -left, y: 0},
-                 {x: right, y: fontStyle.size});
-    }
-
-    var skewM = m[0][0].toFixed(3) + ',' + m[1][0].toFixed(3) + ',' +
-                m[0][1].toFixed(3) + ',' + m[1][1].toFixed(3) + ',0,0';
-
-    var skewOffset = mr(d.x / Z) + ',' + mr(d.y / Z);
-
-    lineStr.push('<g_vml_:skew on="t" matrix="', skewM ,'" ',
-                 ' offset="', skewOffset, '" origin="', left ,' 0" />',
-                 '<g_vml_:path textpathok="true" />',
-                 '<g_vml_:textpath on="true" string="',
-                 encodeHtmlAttribute(text),
-                 '" style="v-text-align:', textAlign,
-                 ';font:', encodeHtmlAttribute(fontStyleString),
-                 '" /></g_vml_:line>');
-
-    this.element_.insertAdjacentHTML('beforeEnd', lineStr.join(''));
-  };
-
-  contextPrototype.fillText = function(text, x, y, maxWidth) {
-    this.drawText_(text, x, y, maxWidth, false);
-  };
-
-  contextPrototype.strokeText = function(text, x, y, maxWidth) {
-    this.drawText_(text, x, y, maxWidth, true);
-  };
-
-  contextPrototype.measureText = function(text) {
-    if (!this.textMeasureEl_) {
-      var s = '<span style="position:absolute;' +
-          'top:-20000px;left:0;padding:0;margin:0;border:none;' +
-          'white-space:pre;"></span>';
-      this.element_.insertAdjacentHTML('beforeEnd', s);
-      this.textMeasureEl_ = this.element_.lastChild;
-    }
-    var doc = this.element_.ownerDocument;
-    this.textMeasureEl_.innerHTML = '';
-    this.textMeasureEl_.style.font = this.font;
-    // Don't use innerHTML or innerText because they allow markup/whitespace.
-    this.textMeasureEl_.appendChild(doc.createTextNode(text));
-    return {width: this.textMeasureEl_.offsetWidth};
-  };
-
-  /******** STUBS ********/
-  contextPrototype.clip = function() {
-    // TODO: Implement
-  };
-
-  contextPrototype.arcTo = function() {
-    // TODO: Implement
-  };
-
-  contextPrototype.createPattern = function(image, repetition) {
-    return new CanvasPattern_(image, repetition);
-  };
-
-  // Gradient / Pattern Stubs
-  function CanvasGradient_(aType) {
-    this.type_ = aType;
-    this.x0_ = 0;
-    this.y0_ = 0;
-    this.r0_ = 0;
-    this.x1_ = 0;
-    this.y1_ = 0;
-    this.r1_ = 0;
-    this.colors_ = [];
-  }
-
-  CanvasGradient_.prototype.addColorStop = function(aOffset, aColor) {
-    aColor = processStyle(aColor);
-    this.colors_.push({offset: aOffset,
-                       color: aColor.color,
-                       alpha: aColor.alpha});
-  };
-
-  function CanvasPattern_(image, repetition) {
-    assertImageIsValid(image);
-    switch (repetition) {
-      case 'repeat':
-      case null:
-      case '':
-        this.repetition_ = 'repeat';
-        break
-      case 'repeat-x':
-      case 'repeat-y':
-      case 'no-repeat':
-        this.repetition_ = repetition;
-        break;
-      default:
-        throwException('SYNTAX_ERR');
-    }
-
-    this.src_ = image.src;
-    this.width_ = image.width;
-    this.height_ = image.height;
-  }
-
-  function throwException(s) {
-    throw new DOMException_(s);
-  }
-
-  function assertImageIsValid(img) {
-    if (!img || img.nodeType != 1 || img.tagName != 'IMG') {
-      throwException('TYPE_MISMATCH_ERR');
-    }
-    if (img.readyState != 'complete') {
-      throwException('INVALID_STATE_ERR');
-    }
-  }
-
-  function DOMException_(s) {
-    this.code = this[s];
-    this.message = s +': DOM Exception ' + this.code;
-  }
-  var p = DOMException_.prototype = new Error;
-  p.INDEX_SIZE_ERR = 1;
-  p.DOMSTRING_SIZE_ERR = 2;
-  p.HIERARCHY_REQUEST_ERR = 3;
-  p.WRONG_DOCUMENT_ERR = 4;
-  p.INVALID_CHARACTER_ERR = 5;
-  p.NO_DATA_ALLOWED_ERR = 6;
-  p.NO_MODIFICATION_ALLOWED_ERR = 7;
-  p.NOT_FOUND_ERR = 8;
-  p.NOT_SUPPORTED_ERR = 9;
-  p.INUSE_ATTRIBUTE_ERR = 10;
-  p.INVALID_STATE_ERR = 11;
-  p.SYNTAX_ERR = 12;
-  p.INVALID_MODIFICATION_ERR = 13;
-  p.NAMESPACE_ERR = 14;
-  p.INVALID_ACCESS_ERR = 15;
-  p.VALIDATION_ERR = 16;
-  p.TYPE_MISMATCH_ERR = 17;
-
-  // set up externs
-  G_vmlCanvasManager = G_vmlCanvasManager_;
-  CanvasRenderingContext2D = CanvasRenderingContext2D_;
-  CanvasGradient = CanvasGradient_;
-  CanvasPattern = CanvasPattern_;
-  DOMException = DOMException_;
-})();
-
-} // if
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.canvas.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/* Flot plugin for drawing all elements of a plot on the canvas.
-
-Copyright (c) 2007-2014 IOLA and Ole Laursen.
-Licensed under the MIT license.
-
-Flot normally produces certain elements, like axis labels and the legend, using
-HTML elements. This permits greater interactivity and customization, and often
-looks better, due to cross-browser canvas text inconsistencies and limitations.
-
-It can also be desirable to render the plot entirely in canvas, particularly
-if the goal is to save it as an image, or if Flot is being used in a context
-where the HTML DOM does not exist, as is the case within Node.js. This plugin
-switches out Flot's standard drawing operations for canvas-only replacements.
-
-Currently the plugin supports only axis labels, but it will eventually allow
-every element of the plot to be rendered directly to canvas.
-
-The plugin supports these options:
-
-{
-    canvas: boolean
-}
-
-The "canvas" option controls whether full canvas drawing is enabled, making it
-possible to toggle on and off. This is useful when a plot uses HTML text in the
-browser, but needs to redraw with canvas text when exporting as an image.
-
-*/
-
-(function($) {
-
-	var options = {
-		canvas: true
-	};
-
-	var render, getTextInfo, addText;
-
-	// Cache the prototype hasOwnProperty for faster access
-
-	var hasOwnProperty = Object.prototype.hasOwnProperty;
-
-	function init(plot, classes) {
-
-		var Canvas = classes.Canvas;
-
-		// We only want to replace the functions once; the second time around
-		// we would just get our new function back.  This whole replacing of
-		// prototype functions is a disaster, and needs to be changed ASAP.
-
-		if (render == null) {
-			getTextInfo = Canvas.prototype.getTextInfo,
-			addText = Canvas.prototype.addText,
-			render = Canvas.prototype.render;
-		}
-
-		// Finishes rendering the canvas, including overlaid text
-
-		Canvas.prototype.render = function() {
-
-			if (!plot.getOptions().canvas) {
-				return render.call(this);
-			}
-
-			var context = this.context,
-				cache = this._textCache;
-
-			// For each text layer, render elements marked as active
-
-			context.save();
-			context.textBaseline = "middle";
-
-			for (var layerKey in cache) {
-				if (hasOwnProperty.call(cache, layerKey)) {
-					var layerCache = cache[layerKey];
-					for (var styleKey in layerCache) {
-						if (hasOwnProperty.call(layerCache, styleKey)) {
-							var styleCache = layerCache[styleKey],
-								updateStyles = true;
-							for (var key in styleCache) {
-								if (hasOwnProperty.call(styleCache, key)) {
-
-									var info = styleCache[key],
-										positions = info.positions,
-										lines = info.lines;
-
-									// Since every element at this level of the cache have the
-									// same font and fill styles, we can just change them once
-									// using the values from the first element.
-
-									if (updateStyles) {
-										context.fillStyle = info.font.color;
-										context.font = info.font.definition;
-										updateStyles = false;
-									}
-
-									for (var i = 0, position; position = positions[i]; i++) {
-										if (position.active) {
-											for (var j = 0, line; line = position.lines[j]; j++) {
-												context.fillText(lines[j].text, line[0], line[1]);
-											}
-										} else {
-											positions.splice(i--, 1);
-										}
-									}
-
-									if (positions.length == 0) {
-										delete styleCache[key];
-									}
-								}
-							}
-						}
-					}
-				}
-			}
-
-			context.restore();
-		};
-
-		// Creates (if necessary) and returns a text info object.
-		//
-		// When the canvas option is set, the object looks like this:
-		//
-		// {
-		//     width: Width of the text's bounding box.
-		//     height: Height of the text's bounding box.
-		//     positions: Array of positions at which this text is drawn.
-		//     lines: [{
-		//         height: Height of this line.
-		//         widths: Width of this line.
-		//         text: Text on this line.
-		//     }],
-		//     font: {
-		//         definition: Canvas font property string.
-		//         color: Color of the text.
-		//     },
-		// }
-		//
-		// The positions array contains objects that look like this:
-		//
-		// {
-		//     active: Flag indicating whether the text should be visible.
-		//     lines: Array of [x, y] coordinates at which to draw the line.
-		//     x: X coordinate at which to draw the text.
-		//     y: Y coordinate at which to draw the text.
-		// }
-
-		Canvas.prototype.getTextInfo = function(layer, text, font, angle, width) {
-
-			if (!plot.getOptions().canvas) {
-				return getTextInfo.call(this, layer, text, font, angle, width);
-			}
-
-			var textStyle, layerCache, styleCache, info;
-
-			// Cast the value to a string, in case we were given a number
-
-			text = "" + text;
-
-			// If the font is a font-spec object, generate a CSS definition
-
-			if (typeof font === "object") {
-				textStyle = font.style + " " + font.variant + " " + font.weight + " " + font.size + "px " + font.family;
-			} else {
-				textStyle = font;
-			}
-
-			// Retrieve (or create) the cache for the text's layer and styles
-
-			layerCache = this._textCache[layer];
-
-			if (layerCache == null) {
-				layerCache = this._textCache[layer] = {};
-			}
-
-			styleCache = layerCache[textStyle];
-
-			if (styleCache == null) {
-				styleCache = layerCache[textStyle] = {};
-			}
-
-			info = styleCache[text];
-
-			if (info == null) {
-
-				var context = this.context;
-
-				// If the font was provided as CSS, create a div with those
-				// classes and examine it to generate a canvas font spec.
-
-				if (typeof font !== "object") {
-
-					var element = $("<div>&nbsp;</div>")
-						.css("position", "absolute")
-						.addClass(typeof font === "string" ? font : null)
-						.appendTo(this.getTextLayer(layer));
-
-					font = {
-						lineHeight: element.height(),
-						style: element.css("font-style"),
-						variant: element.css("font-variant"),
-						weight: element.css("font-weight"),
-						family: element.css("font-family"),
-						color: element.css("color")
-					};
-
-					// Setting line-height to 1, without units, sets it equal
-					// to the font-size, even if the font-size is abstract,
-					// like 'smaller'.  This enables us to read the real size
-					// via the element's height, working around browsers that
-					// return the literal 'smaller' value.
-
-					font.size = element.css("line-height", 1).height();
-
-					element.remove();
-				}
-
-				textStyle = font.style + " " + font.variant + " " + font.weight + " " + font.size + "px " + font.family;
-
-				// Create a new info object, initializing the dimensions to
-				// zero so we can count them up line-by-line.
-
-				info = styleCache[text] = {
-					width: 0,
-					height: 0,
-					positions: [],
-					lines: [],
-					font: {
-						definition: textStyle,
-						color: font.color
-					}
-				};
-
-				context.save();
-				context.font = textStyle;
-
-				// Canvas can't handle multi-line strings; break on various
-				// newlines, including HTML brs, to build a list of lines.
-				// Note that we could split directly on regexps, but IE < 9 is
-				// broken; revisit when we drop IE 7/8 support.
-
-				var lines = (text + "").replace(/<br ?\/?>|\r\n|\r/g, "\n").split("\n");
-
-				for (var i = 0; i < lines.length; ++i) {
-
-					var lineText = lines[i],
-						measured = context.measureText(lineText);
-
-					info.width = Math.max(measured.width, info.width);
-					info.height += font.lineHeight;
-
-					info.lines.push({
-						text: lineText,
-						width: measured.width,
-						height: font.lineHeight
-					});
-				}
-
-				context.restore();
-			}
-
-			return info;
-		};
-
-		// Adds a text string to the canvas text overlay.
-
-		Canvas.prototype.addText = function(layer, x, y, text, font, angle, width, halign, valign) {
-
-			if (!plot.getOptions().canvas) {
-				return addText.call(this, layer, x, y, text, font, angle, width, halign, valign);
-			}
-
-			var info = this.getTextInfo(layer, text, font, angle, width),
-				positions = info.positions,
-				lines = info.lines;
-
-			// Text is drawn with baseline 'middle', which we need to account
-			// for by adding half a line's height to the y position.
-
-			y += info.height / lines.length / 2;
-
-			// Tweak the initial y-position to match vertical alignment
-
-			if (valign == "middle") {
-				y = Math.round(y - info.height / 2);
-			} else if (valign == "bottom") {
-				y = Math.round(y - info.height);
-			} else {
-				y = Math.round(y);
-			}
-
-			// FIXME: LEGACY BROWSER FIX
-			// AFFECTS: Opera < 12.00
-
-			// Offset the y coordinate, since Opera is off pretty
-			// consistently compared to the other browsers.
-
-			if (!!(window.opera && window.opera.version().split(".")[0] < 12)) {
-				y -= 2;
-			}
-
-			// Determine whether this text already exists at this position.
-			// If so, mark it for inclusion in the next render pass.
-
-			for (var i = 0, position; position = positions[i]; i++) {
-				if (position.x == x && position.y == y) {
-					position.active = true;
-					return;
-				}
-			}
-
-			// If the text doesn't exist at this position, create a new entry
-
-			position = {
-				active: true,
-				lines: [],
-				x: x,
-				y: y
-			};
-
-			positions.push(position);
-
-			// Fill in the x & y positions of each line, adjusting them
-			// individually for horizontal alignment.
-
-			for (var i = 0, line; line = lines[i]; i++) {
-				if (halign == "center") {
-					position.lines.push([Math.round(x - line.width / 2), y]);
-				} else if (halign == "right") {
-					position.lines.push([Math.round(x - line.width), y]);
-				} else {
-					position.lines.push([Math.round(x), y]);
-				}
-				y += line.height;
-			}
-		};
-	}
-
-	$.plot.plugins.push({
-		init: init,
-		options: options,
-		name: "canvas",
-		version: "1.0"
-	});
-
-})(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.errorbars.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,375 +0,0 @@
-/* Flot plugin for plotting error bars.
-
-Copyright (c) 2007-2014 IOLA and Ole Laursen.
-Licensed under the MIT license.
-
-Error bars are used to show standard deviation and other statistical
-properties in a plot.
-
-* Created by Rui Pereira  -  rui (dot) pereira (at) gmail (dot) com
-
-This plugin allows you to plot error-bars over points. Set "errorbars" inside
-the points series to the axis name over which there will be error values in
-your data array (*even* if you do not intend to plot them later, by setting
-"show: null" on xerr/yerr).
-
-The plugin supports these options:
-
-    series: {
-        points: {
-            errorbars: "x" or "y" or "xy",
-            xerr: {
-                show: null/false or true,
-                asymmetric: null/false or true,
-                upperCap: null or "-" or function,
-                lowerCap: null or "-" or function,
-                color: null or color,
-                radius: null or number
-            },
-            yerr: { same options as xerr }
-        }
-    }
-
-Each data point array is expected to be of the type:
-
-    "x"  [ x, y, xerr ]
-    "y"  [ x, y, yerr ]
-    "xy" [ x, y, xerr, yerr ]
-
-Where xerr becomes xerr_lower,xerr_upper for the asymmetric error case, and
-equivalently for yerr. Eg., a datapoint for the "xy" case with symmetric
-error-bars on X and asymmetric on Y would be:
-
-    [ x, y, xerr, yerr_lower, yerr_upper ]
-
-By default no end caps are drawn. Setting upperCap and/or lowerCap to "-" will
-draw a small cap perpendicular to the error bar. They can also be set to a
-user-defined drawing function, with (ctx, x, y, radius) as parameters, as eg.
-
-    function drawSemiCircle( ctx, x, y, radius ) {
-        ctx.beginPath();
-        ctx.arc( x, y, radius, 0, Math.PI, false );
-        ctx.moveTo( x - radius, y );
-        ctx.lineTo( x + radius, y );
-        ctx.stroke();
-    }
-
-Color and radius both default to the same ones of the points series if not
-set. The independent radius parameter on xerr/yerr is useful for the case when
-we may want to add error-bars to a line, without showing the interconnecting
-points (with radius: 0), and still showing end caps on the error-bars.
-shadowSize and lineWidth are derived as well from the points series.
-
-*/
-
-(function ($) {
-    var options = {
-        series: {
-            points: {
-                errorbars: null, //should be 'x', 'y' or 'xy'
-                xerr: {err: 'x', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null},
-                yerr: {err: 'y', show: null, asymmetric: null, upperCap: null, lowerCap: null, color: null, radius: null}
-            }
-        }
-    };
-
-    function processRawData(plot, series, data, datapoints) {
-        if (!series.points.errorbars) {
-            return;
-        }
-
-        // x,y values
-        var format = [
-            { x: true, number: true, required: true },
-            { y: true, number: true, required: true }
-        ];
-
-        var errors = series.points.errorbars;
-        // error bars - first X then Y
-        if (errors === 'x' || errors === 'xy') {
-            // lower / upper error
-            if (series.points.xerr.asymmetric) {
-                format.push({ x: true, number: true, required: true });
-                format.push({ x: true, number: true, required: true });
-            } else {
-                format.push({ x: true, number: true, required: true });
-            }
-        }
-        if (errors === 'y' || errors === 'xy') {
-            // lower / upper error
-            if (series.points.yerr.asymmetric) {
-                format.push({ y: true, number: true, required: true });
-                format.push({ y: true, number: true, required: true });
-            } else {
-                format.push({ y: true, number: true, required: true });
-            }
-        }
-        datapoints.format = format;
-    }
-
-    function parseErrors(series, i) {
-        var points = series.datapoints.points;
-
-        // read errors from points array
-        var exl = null,
-            exu = null,
-            eyl = null,
-            eyu = null;
-        var xerr = series.points.xerr,
-            yerr = series.points.yerr;
-
-        var eb = series.points.errorbars;
-        // error bars - first X
-        if (eb === 'x' || eb === 'xy') {
-            if (xerr.asymmetric) {
-                exl = points[i + 2];
-                exu = points[i + 3];
-                if (eb === 'xy') {
-                    if (yerr.asymmetric) {
-                        eyl = points[i + 4];
-                        eyu = points[i + 5];
-                    } else {
-                        eyl = points[i + 4];
-                    }
-                }
-            } else {
-                exl = points[i + 2];
-                if (eb === 'xy') {
-                    if (yerr.asymmetric) {
-                        eyl = points[i + 3];
-                        eyu = points[i + 4];
-                    } else {
-                        eyl = points[i + 3];
-                    }
-                }
-            }
-        // only Y
-        } else {
-            if (eb === 'y') {
-                if (yerr.asymmetric) {
-                    eyl = points[i + 2];
-                    eyu = points[i + 3];
-                } else {
-                    eyl = points[i + 2];
-                }
-            }
-        }
-
-        // symmetric errors?
-        if (exu == null) exu = exl;
-        if (eyu == null) eyu = eyl;
-
-        var errRanges = [exl, exu, eyl, eyu];
-        // nullify if not showing
-        if (!xerr.show) {
-            errRanges[0] = null;
-            errRanges[1] = null;
-        }
-        if (!yerr.show) {
-            errRanges[2] = null;
-            errRanges[3] = null;
-        }
-        return errRanges;
-    }
-
-    function drawSeriesErrors(plot, ctx, s) {
-        var points = s.datapoints.points,
-            ps = s.datapoints.pointsize,
-            ax = [s.xaxis, s.yaxis],
-            radius = s.points.radius,
-            err = [s.points.xerr, s.points.yerr],
-            tmp;
-
-        //sanity check, in case some inverted axis hack is applied to flot
-        var invertX = false;
-        if (ax[0].p2c(ax[0].max) < ax[0].p2c(ax[0].min)) {
-            invertX = true;
-            tmp = err[0].lowerCap;
-            err[0].lowerCap = err[0].upperCap;
-            err[0].upperCap = tmp;
-        }
-
-        var invertY = false;
-        if (ax[1].p2c(ax[1].min) < ax[1].p2c(ax[1].max)) {
-            invertY = true;
-            tmp = err[1].lowerCap;
-            err[1].lowerCap = err[1].upperCap;
-            err[1].upperCap = tmp;
-        }
-
-        for (var i = 0; i < s.datapoints.points.length; i += ps) {
-            //parse
-            var errRanges = parseErrors(s, i);
-
-            //cycle xerr & yerr
-            for (var e = 0; e < err.length; e++) {
-                var minmax = [ax[e].min, ax[e].max];
-
-                //draw this error?
-                if (errRanges[e * err.length]) {
-                    //data coordinates
-                    var x = points[i],
-                        y = points[i + 1];
-
-                    //errorbar ranges
-                    var upper = [x, y][e] + errRanges[e * err.length + 1],
-                        lower = [x, y][e] - errRanges[e * err.length];
-
-                    //points outside of the canvas
-                    if (err[e].err === 'x') {
-                        if (y > ax[1].max || y < ax[1].min || upper < ax[0].min || lower > ax[0].max) {
-                            continue;
-                        }
-                    }
-
-                    if (err[e].err === 'y') {
-                        if (x > ax[0].max || x < ax[0].min || upper < ax[1].min || lower > ax[1].max) {
-                            continue;
-                        }
-                    }
-
-                    // prevent errorbars getting out of the canvas
-                    var drawUpper = true,
-                        drawLower = true;
-
-                    if (upper > minmax[1]) {
-                        drawUpper = false;
-                        upper = minmax[1];
-                    }
-                    if (lower < minmax[0]) {
-                        drawLower = false;
-                        lower = minmax[0];
-                    }
-
-                    //sanity check, in case some inverted axis hack is applied to flot
-                    if ((err[e].err === 'x' && invertX) || (err[e].err === 'y' && invertY)) {
-                        //swap coordinates
-                        tmp = lower;
-                        lower = upper;
-                        upper = tmp;
-                        tmp = drawLower;
-                        drawLower = drawUpper;
-                        drawUpper = tmp;
-                        tmp = minmax[0];
-                        minmax[0] = minmax[1];
-                        minmax[1] = tmp;
-                    }
-
-                    // convert to pixels
-                    x = ax[0].p2c(x);
-                    y = ax[1].p2c(y);
-                    upper = ax[e].p2c(upper);
-                    lower = ax[e].p2c(lower);
-                    minmax[0] = ax[e].p2c(minmax[0]);
-                    minmax[1] = ax[e].p2c(minmax[1]);
-
-                    //same style as points by default
-                    var lw = err[e].lineWidth ? err[e].lineWidth : s.points.lineWidth,
-                        sw = s.points.shadowSize != null ? s.points.shadowSize : s.shadowSize;
-
-                    //shadow as for points
-                    if (lw > 0 && sw > 0) {
-                        var w = sw / 2;
-                        ctx.lineWidth = w;
-                        ctx.strokeStyle = "rgba(0,0,0,0.1)";
-                        drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w + w / 2, minmax);
-
-                        ctx.strokeStyle = "rgba(0,0,0,0.2)";
-                        drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, w / 2, minmax);
-                    }
-
-                    ctx.strokeStyle = err[e].color
-                        ? err[e].color
-                        : s.color;
-                    ctx.lineWidth = lw;
-                    //draw it
-                    drawError(ctx, err[e], x, y, upper, lower, drawUpper, drawLower, radius, 0, minmax);
-                }
-            }
-        }
-    }
-
-    function drawError(ctx, err, x, y, upper, lower, drawUpper, drawLower, radius, offset, minmax) {
-        //shadow offset
-        y += offset;
-        upper += offset;
-        lower += offset;
-
-        // error bar - avoid plotting over circles
-        if (err.err === 'x') {
-            if (upper > x + radius) drawPath(ctx, [[upper, y], [Math.max(x + radius, minmax[0]), y]]);
-            else drawUpper = false;
-
-            if (lower < x - radius) drawPath(ctx, [[Math.min(x - radius, minmax[1]), y], [lower, y]]);
-            else drawLower = false;
-        } else {
-            if (upper < y - radius) drawPath(ctx, [[x, upper], [x, Math.min(y - radius, minmax[0])]]);
-            else drawUpper = false;
-
-            if (lower > y + radius) drawPath(ctx, [[x, Math.max(y + radius, minmax[1])], [x, lower]]);
-            else drawLower = false;
-        }
-
-        //internal radius value in errorbar, allows to plot radius 0 points and still keep proper sized caps
-        //this is a way to get errorbars on lines without visible connecting dots
-        radius = err.radius != null
-            ? err.radius
-            : radius;
-
-        // upper cap
-        if (drawUpper) {
-            if (err.upperCap === '-') {
-                if (err.err === 'x') drawPath(ctx, [[upper, y - radius], [upper, y + radius]]);
-                else drawPath(ctx, [[x - radius, upper], [x + radius, upper]]);
-            } else if ($.isFunction(err.upperCap)) {
-                if (err.err === 'x') err.upperCap(ctx, upper, y, radius);
-                else err.upperCap(ctx, x, upper, radius);
-            }
-        }
-        // lower cap
-        if (drawLower) {
-            if (err.lowerCap === '-') {
-                if (err.err === 'x') drawPath(ctx, [[lower, y - radius], [lower, y + radius]]);
-                else drawPath(ctx, [[x - radius, lower], [x + radius, lower]]);
-            } else if ($.isFunction(err.lowerCap)) {
-                if (err.err === 'x') err.lowerCap(ctx, lower, y, radius);
-                else err.lowerCap(ctx, x, lower, radius);
-            }
-        }
-    }
-
-    function drawPath(ctx, pts) {
-        ctx.beginPath();
-        ctx.moveTo(pts[0][0], pts[0][1]);
-        for (var p = 1; p < pts.length; p++) {
-            ctx.lineTo(pts[p][0], pts[p][1]);
-        }
-
-        ctx.stroke();
-    }
-
-    function draw(plot, ctx) {
-        var plotOffset = plot.getPlotOffset();
-
-        ctx.save();
-        ctx.translate(plotOffset.left, plotOffset.top);
-        $.each(plot.getData(), function (i, s) {
-            if (s.points.errorbars && (s.points.xerr.show || s.points.yerr.show)) {
-                drawSeriesErrors(plot, ctx, s);
-            }
-        });
-        ctx.restore();
-    }
-
-    function init(plot) {
-        plot.hooks.processRawData.push(processRawData);
-        plot.hooks.draw.push(draw);
-    }
-
-    $.plot.plugins.push({
-        init: init,
-        options: options,
-        name: 'errorbars',
-        version: '1.0'
-    });
-})(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.flatdata.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/* Support for flat 1D data series.
-
-A 1D flat data series is a data series in the form of a regular 1D array. The
-main reason for using a flat data series is that it performs better, consumes
-less memory and generates less garbage collection than the regular flot format.
-
-Example:
-
-    plot.setData([[[0,0], [1,1], [2,2], [3,3]]]); // regular flot format
-    plot.setData([{flatdata: true, data: [0, 1, 2, 3]}]); // flatdata format
-
-Set series.flatdata to true to enable this plugin.
-
-You can use series.start to specify the starting index of the series (default is 0)
-You can use series.step to specify the interval between consecutive indexes of the series (default is 1)
-*/
-
-/* global jQuery*/
-
-(function ($) {
-    'use strict';
-
-    function process1DRawData(plot, series, data, datapoints) {
-        if (series.flatdata === true) {
-            var start = series.start || 0;
-            var step = typeof series.step === 'number' ? series.step : 1;
-            datapoints.pointsize = 2;
-            for (var i = 0, j = 0; i < data.length; i++, j += 2) {
-                datapoints.points[j] = start + (i * step);
-                datapoints.points[j + 1] = data[i];
-            }
-            if (datapoints.points !== undefined) {
-                datapoints.points.length = data.length * 2;
-            } else {
-                datapoints.points = [];
-            }
-        }
-    }
-
-    $.plot.plugins.push({
-        init: function(plot) {
-            plot.hooks.processRawData.push(process1DRawData);
-        },
-        name: 'flatdata',
-        version: '0.0.2'
-    });
-})(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.hover.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e){"use strict";var t=e.plot.browser,i={click:"click",hover:"hover"};e.plot.plugins.push({init:function(o){function r(e){var t=o.getOptions(),r=new CustomEvent("mouseevent");return r.pageX=e.detail.changedTouches[0].pageX,r.pageY=e.detail.changedTouches[0].pageY,r.clientX=e.detail.changedTouches[0].clientX,r.clientY=e.detail.changedTouches[0].clientY,t.grid.hoverable&&a(r,i.hover,30),!1}function a(e,t,i){var r=o.getData();if(void 0!==e&&r.length>0&&void 0!==r[0].xaxis.c2p&&void 0!==r[0].yaxis.c2p){var a=t+"able";h("plot"+t,e,function(e){return!1!==r[e][a]},i)}}function n(e){y=e,o.getPlaceholder()[0].lastMouseMoveEvent=e,a(e,i.hover)}function s(e){y=void 0,o.getPlaceholder()[0].lastMouseMoveEvent=void 0,h("plothover",e,function(e){return!1})}function l(e){a(e,i.click)}function c(){o.unhighlight(),o.getPlaceholder().trigger("plothovercleanup")}function h(e,i,r,a){var n=o.getOptions(),s=o.offset(),l=t.getPageXY(i),c=l.X-s.left,h=l.Y-s.top,g=o.c2p({left:c,top:h}),d=void 0!==a?a:n.grid.mouseActiveRadius;g.pageX=l.X,g.pageY=l.Y;var v=o.findNearbyItem(c,h,r,d);if(v&&(v.pageX=parseInt(v.series.xaxis.p2c(v.datapoint[0])+s.left,10),v.pageY=parseInt(v.series.yaxis.p2c(v.datapoint[1])+s.top,10)),n.grid.autoHighlight){for(var f=0;f<k.length;++f){var b=k[f];(b.auto!==e||v&&b.series===v.series&&b.point[0]===v.datapoint[0]&&b.point[1]===v.datapoint[1])&&v||u(b.series,b.point)}v&&p(v.series,v.datapoint,e)}o.getPlaceholder().trigger(e,[g,v])}function p(e,t,i){if("number"==typeof e&&(e=o.getData()[e]),"number"==typeof t){var r=e.datapoints.pointsize;t=e.datapoints.points.slice(r*t,r*(t+1))}var a=g(e,t);-1===a?(k.push({series:e,point:t,auto:i}),o.triggerRedrawOverlay()):i||(k[a].auto=!1)}function u(e,t){if(null==e&&null==t)return k=[],void o.triggerRedrawOverlay();if("number"==typeof e&&(e=o.getData()[e]),"number"==typeof t){var i=e.datapoints.pointsize;t=e.datapoints.points.slice(i*t,i*(t+1))}var r=g(e,t);-1!==r&&(k.splice(r,1),o.triggerRedrawOverlay())}function g(e,t){for(var i=0;i<k.length;++i){var o=k[i];if(o.series===e&&o.point[0]===t[0]&&o.point[1]===t[1])return i}return-1}function d(){c(),a(y,i.hover)}function v(){a(y,i.hover)}function f(e,t,i){var o,r,a=e.getPlotOffset();for(t.save(),t.translate(a.left,a.top),o=0;o<k.length;++o)(r=k[o]).series.bars.show?m(r.series,r.point,t):b(r.series,r.point,t,e);t.restore()}function b(t,i,o,r){var a=i[0],n=i[1],s=t.xaxis,l=t.yaxis,c="string"==typeof t.highlightColor?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString();if(!(a<s.min||a>s.max||n<l.min||n>l.max)){var h=t.points.radius+t.points.lineWidth/2;o.lineWidth=h,o.strokeStyle=c;var p=1.5*h;a=s.p2c(a),n=l.p2c(n),o.beginPath();var u=t.points.symbol;"circle"===u?o.arc(a,n,p,0,2*Math.PI,!1):"string"==typeof u&&r.drawSymbol&&r.drawSymbol[u]&&r.drawSymbol[u](o,a,n,p,!1),o.closePath(),o.stroke()}}function m(t,i,o){var r,a="string"==typeof t.highlightColor?t.highlightColor:e.color.parse(t.color).scale("a",.5).toString(),n=a,s=t.bars.barWidth[0]||t.bars.barWidth;switch(t.bars.align){case"left":r=0;break;case"right":r=-s;break;default:r=-s/2}o.lineWidth=t.bars.lineWidth,o.strokeStyle=a;var l=t.bars.fillTowards||0,c=l>t.yaxis.min?Math.min(t.yaxis.max,l):t.yaxis.min;e.plot.drawSeries.drawBar(i[0],i[1],i[2]||c,r,r+s,function(){return n},t.xaxis,t.yaxis,o,t.bars.horizontal,t.bars.lineWidth)}var y,k=[];o.hooks.bindEvents.push(function(e,t){var i=e.getOptions();(i.grid.hoverable||i.grid.clickable)&&(t[0].addEventListener("touchevent",c,!1),t[0].addEventListener("tap",r,!1)),i.grid.clickable&&t.bind("click",l),i.grid.hoverable&&(t.bind("mousemove",n),t.bind("mouseleave",s))}),o.hooks.shutdown.push(function(e,t){t[0].removeEventListener("tap",r),t[0].removeEventListener("touchevent",c),t.unbind("mousemove",n),t.unbind("mouseleave",s),t.unbind("click",l),k=[]}),o.hooks.processOptions.push(function(e,t){e.highlight=p,e.unhighlight=u,(t.grid.hoverable||t.grid.clickable)&&(e.hooks.drawOverlay.push(f),e.hooks.processDatapoints.push(d),e.hooks.setupGrid.push(v)),y=e.getPlaceholder()[0].lastMouseMoveEvent})},options:{grid:{hoverable:!1,clickable:!1}},name:"hover",version:"0.1"})}(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.navigate.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){"use strict";function e(e,r){function s(t,a,n){var i=o.getPageXY(t),r=e.offset();r.left=i.X-r.left,r.top=i.Y-r.top;var s=e.getPlaceholder().offset();s.left=i.X-s.left,s.top=i.Y-s.top;var f=e.getXAxes().concat(e.getYAxes()).filter(function(t){var e=t.box;if(void 0!==e)return s.left>e.left&&s.left<e.left+e.width&&s.top>e.top&&s.top<e.top+e.height});0===f.length&&(f=void 0),a?e.zoomOut({center:r,axes:f,amount:n}):e.zoom({center:r,axes:f,amount:n})}function f(t,a){var o=Math.abs(t.originalEvent.deltaY)<=1?1+Math.abs(t.originalEvent.deltaY)/50:null;if(T&&g(t),e.getOptions().zoom.active)return t.preventDefault(),s(t,a<0,o),!1}function l(t){b=!0}function u(t){b=!1}function c(t){return 0===t.button}function p(t){if(!b||!c(t))return!1;T=!0;var a=o.getPageXY(t),n=e.getPlaceholder().offset();n.left=a.X-n.left,n.top=a.Y-n.top,0===(h=e.getXAxes().concat(e.getYAxes()).filter(function(t){var e=t.box;if(void 0!==e)return n.left>e.left&&n.left<e.left+e.width&&n.top>e.top&&n.top<e.top+e.height})).length&&(h=void 0);var i=e.getPlaceholder().css("cursor");i&&(M=i),e.getPlaceholder().css("cursor",e.getOptions().pan.cursor),w?m=e.navigationState(a.X,a.Y):y&&(X.x=a.X,X.y=a.Y)}function d(t){if(T){var a=o.getPageXY(t),n=e.getOptions().pan.frameRate;-1!==n?!O&&n&&(O=setTimeout(function(){w?e.smartPan({x:m.startPageX-a.X,y:m.startPageY-a.Y},m,h,!1,P):y&&(e.pan({left:X.x-a.X,top:X.y-a.Y,axes:h}),X.x=a.X,X.y=a.Y),O=null},1/n*1e3)):w?e.smartPan({x:m.startPageX-a.X,y:m.startPageY-a.Y},m,h,!1,P):y&&(e.pan({left:X.x-a.X,top:X.y-a.Y,axes:h}),X.x=a.X,X.y=a.Y)}}function g(t){if(T){O&&(clearTimeout(O),O=null),T=!1;var a=o.getPageXY(t);e.getPlaceholder().css("cursor",M),w?(e.smartPan({x:m.startPageX-a.X,y:m.startPageY-a.Y},m,h,!1,P),e.smartPan.end()):y&&(e.pan({left:X.x-a.X,top:X.y-a.Y,axes:h}),X.x=0,X.y=0)}}function x(a){if(e.activate(),e.getOptions().recenter.interactive){var o,n=e.getTouchedAxis(a.clientX,a.clientY);e.recenter({axes:n[0]?n:null}),o=n[0]?new t.Event("re-center",{detail:{axisTouched:n[0]}}):new t.Event("re-center",{detail:a}),e.getPlaceholder().trigger(o)}}function v(t){return e.activate(),T&&g(t),!1}var m,h=null,b=!1,y="manual"===r.pan.mode,P="smartLock"===r.pan.mode,w=P||"smart"===r.pan.mode,M="default",Y=null,O=null,X={x:0,y:0},T=!1;e.navigationState=function(t,e){var a=this.getAxes(),o={};return Object.keys(a).forEach(function(t){var e=a[t];o[t]={navigationOffset:{below:e.options.offset.below||0,above:e.options.offset.above||0},axisMin:e.min,axisMax:e.max,diagMode:!1}}),o.startPageX=t||0,o.startPageY=e||0,o},e.activate=function(){var t=e.getOptions();t.pan.active&&t.zoom.active||(t.pan.active=!0,t.zoom.active=!0,e.getPlaceholder().trigger("plotactivated",[e]))},e.zoomOut=function(t){t||(t={}),t.amount||(t.amount=e.getOptions().zoom.amount),t.amount=1/t.amount,e.zoom(t)},e.zoom=function(a){a||(a={});var o=a.center,n=a.amount||e.getOptions().zoom.amount,i=e.width(),r=e.height(),s=a.axes||e.getAxes();o||(o={left:i/2,top:r/2});var f=o.left/i,l=o.top/r,u={x:{min:o.left-f*i/n,max:o.left+(1-f)*i/n},y:{min:o.top-l*r/n,max:o.top+(1-l)*r/n}};for(var c in s)if(s.hasOwnProperty(c)){var p=s[c],d=p.options,g=u[p.direction].min,x=u[p.direction].max,v=p.options.offset;if((d.axisZoom||!a.axes)&&(a.axes||d.plotZoom)){if(g=t.plot.saturated.saturate(p.c2p(g)),x=t.plot.saturated.saturate(p.c2p(x)),g>x){var m=g;g=x,x=m}var h=t.plot.saturated.saturate(v.below-(p.min-g)),b=t.plot.saturated.saturate(v.above-(p.max-x));d.offset={below:h,above:b}}}e.setupGrid(!0),e.draw(),a.preventEvent||e.getPlaceholder().trigger("plotzoom",[e,a])},e.pan=function(o){var n={x:+o.left,y:+o.top};isNaN(n.x)&&(n.x=0),isNaN(n.y)&&(n.y=0),t.each(o.axes||e.getAxes(),function(t,e){var i=e.options,r=n[e.direction];if((i.axisPan||!o.axes)&&(i.plotPan||o.axes)&&0!==r){var s=a.saturate(e.c2p(e.p2c(e.min)+r)-e.c2p(e.p2c(e.min))),f=a.saturate(e.c2p(e.p2c(e.max)+r)-e.c2p(e.p2c(e.max)));isFinite(s)||(s=0),isFinite(f)||(f=0),i.offset={below:a.saturate(s+(i.offset.below||0)),above:a.saturate(f+(i.offset.above||0))}}}),e.setupGrid(!0),e.draw(),o.preventEvent||e.getPlaceholder().trigger("plotpan",[e,o])},e.recenter=function(a){t.each(a.axes||e.getAxes(),function(t,e){a.axes?"x"===this.direction?e.options.offset={below:0}:"y"===this.direction&&(e.options.offset={above:0}):e.options.offset={below:0,above:0}}),e.setupGrid(!0),e.draw()};var A=function(t){return Math.abs(t.y)<n&&Math.abs(t.x)>=n||Math.abs(t.x)<n&&Math.abs(t.y)>=n},N=function(t){return Math.abs(t.x)<n&&Math.abs(t.y)>=n?{x:0,y:t.y}:Math.abs(t.y)<n&&Math.abs(t.x)>=n?{x:t.x,y:0}:t},k=null,E=function(t){switch(!k&&Math.max(Math.abs(t.x),Math.abs(t.y))>=n&&(k=Math.abs(t.x)<Math.abs(t.y)?"y":"x"),k){case"x":return{x:t.x,y:0};case"y":return{x:0,y:t.y};default:return{x:0,y:0}}},z=function(t){return Math.abs(t.x)>0&&Math.abs(t.y)>0},G=function(t,e,a){var o;Object.keys(t).forEach(function(n){o=t[n],0===a[o.direction]&&(o.options.offset.below=e[n].navigationOffset.below,o.options.offset.above=e[n].navigationOffset.above)})},S={x:0,y:0};e.smartPan=function(t,o,n,i,r){var s,f=!!r||A(t),l=e.getAxes();t=r?E(t):N(t),z(t)&&(o.diagMode=!0),f&&!0===o.diagMode&&(o.diagMode=!1,G(l,o,t)),Y=f?{start:{x:o.startPageX-e.offset().left+e.getPlotOffset().left,y:o.startPageY-e.offset().top+e.getPlotOffset().top},end:{x:o.startPageX-t.x-e.offset().left+e.getPlotOffset().left,y:o.startPageY-t.y-e.offset().top+e.getPlotOffset().top}}:{start:{x:o.startPageX-e.offset().left+e.getPlotOffset().left,y:o.startPageY-e.offset().top+e.getPlotOffset().top},end:!1},isNaN(t.x)&&(t.x=0),isNaN(t.y)&&(t.y=0),n&&(l=n);var u,c,p,d,g;Object.keys(l).forEach(function(e){if(u=l[e],c=u.min,p=u.max,s=u.options,g=t[u.direction],d=S[u.direction],(s.axisPan||!n)&&(n||s.plotPan)&&0!==g){var o=a.saturate(u.c2p(u.p2c(c)-(d-g))-u.c2p(u.p2c(c))),i=a.saturate(u.c2p(u.p2c(p)-(d-g))-u.c2p(u.p2c(p)));isFinite(o)||(o=0),isFinite(i)||(i=0),u.options.offset.below=a.saturate(o+(u.options.offset.below||0)),u.options.offset.above=a.saturate(i+(u.options.offset.above||0))}}),S=t,e.setupGrid(!0),e.draw(),i||e.getPlaceholder().trigger("plotpan",[e,t,n,o])},e.smartPan.end=function(){Y=null,k=null,S={x:0,y:0},e.triggerRedrawOverlay()},e.getTouchedAxis=function(t,a){var o=e.getPlaceholder().offset();return o.left=t-o.left,o.top=a-o.top,e.getXAxes().concat(e.getYAxes()).filter(function(t){var e=t.box;if(void 0!==e)return o.left>e.left&&o.left<e.left+e.width&&o.top>e.top&&o.top<e.top+e.height})},e.hooks.drawOverlay.push(function(t,e){if(Y){e.strokeStyle="rgba(96, 160, 208, 0.7)",e.lineWidth=2,e.lineJoin="round";var a,o,n=Math.round(Y.start.x),r=Math.round(Y.start.y);if(h?"x"===h[0].direction?(o=Math.round(Y.start.y),a=Math.round(Y.end.x)):"y"===h[0].direction&&(a=Math.round(Y.start.x),o=Math.round(Y.end.y)):(a=Math.round(Y.end.x),o=Math.round(Y.end.y)),e.beginPath(),!1===Y.end)e.moveTo(n,r-i),e.lineTo(n,r+i),e.moveTo(n+i,r),e.lineTo(n-i,r);else{var s=r===o;e.moveTo(n-(s?0:i),r-(s?i:0)),e.lineTo(n+(s?0:i),r+(s?i:0)),e.moveTo(n,r),e.lineTo(a,o),e.moveTo(a-(s?0:i),o-(s?i:0)),e.lineTo(a+(s?0:i),o+(s?i:0))}e.stroke()}}),e.hooks.bindEvents.push(function(t,e){var a=t.getOptions();a.zoom.interactive&&e.mousewheel(f),a.pan.interactive&&(t.addEventHandler("dragstart",p,e,0),t.addEventHandler("drag",d,e,0),t.addEventHandler("dragend",g,e,0),e.bind("mousedown",l),e.bind("mouseup",u)),e.dblclick(x),e.click(v)}),e.hooks.shutdown.push(function(t,e){e.unbind("mousewheel",f),e.unbind("mousedown",l),e.unbind("mouseup",u),e.unbind("dragstart",p),e.unbind("drag",d),e.unbind("dragend",g),e.unbind("dblclick",x),e.unbind("click",v),O&&clearTimeout(O)})}var a=t.plot.saturated,o=t.plot.browser,n=t.plot.uiConstants.SNAPPING_CONSTANT,i=t.plot.uiConstants.PANHINT_LENGTH_CONSTANT;t.plot.plugins.push({init:function(t){t.hooks.processOptions.push(e)},options:{zoom:{interactive:!1,active:!1,amount:1.5},pan:{interactive:!1,active:!1,cursor:"move",frameRate:60,mode:"smart"},recenter:{interactive:!0},xaxis:{axisZoom:!0,plotZoom:!0,axisPan:!0,plotPan:!0},yaxis:{axisZoom:!0,plotZoom:!0,axisPan:!0,plotPan:!0}},name:"navigate",version:"1.3"})}(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.symbol.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/* Flot plugin that adds some extra symbols for plotting points.
-
-Copyright (c) 2007-2014 IOLA and Ole Laursen.
-Licensed under the MIT license.
-
-The symbols are accessed as strings through the standard symbol options:
-
-    series: {
-        points: {
-            symbol: "square" // or "diamond", "triangle", "cross", "plus", "ellipse", "rectangle"
-        }
-    }
-
-*/
-
-(function ($) {
-    // we normalize the area of each symbol so it is approximately the
-    // same as a circle of the given radius
-
-    var square = function (ctx, x, y, radius, shadow) {
-            // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
-            var size = radius * Math.sqrt(Math.PI) / 2;
-            ctx.rect(x - size, y - size, size + size, size + size);
-        },
-        rectangle = function (ctx, x, y, radius, shadow) {
-            // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
-            var size = radius * Math.sqrt(Math.PI) / 2;
-            ctx.rect(x - size, y - size, size + size, size + size);
-        },
-        diamond = function (ctx, x, y, radius, shadow) {
-            // pi * r^2 = 2s^2  =>  s = r * sqrt(pi/2)
-            var size = radius * Math.sqrt(Math.PI / 2);
-            ctx.moveTo(x - size, y);
-            ctx.lineTo(x, y - size);
-            ctx.lineTo(x + size, y);
-            ctx.lineTo(x, y + size);
-            ctx.lineTo(x - size, y);
-            ctx.lineTo(x, y - size);
-        },
-        triangle = function (ctx, x, y, radius, shadow) {
-            // pi * r^2 = 1/2 * s^2 * sin (pi / 3)  =>  s = r * sqrt(2 * pi / sin(pi / 3))
-            var size = radius * Math.sqrt(2 * Math.PI / Math.sin(Math.PI / 3));
-            var height = size * Math.sin(Math.PI / 3);
-            ctx.moveTo(x - size / 2, y + height / 2);
-            ctx.lineTo(x + size / 2, y + height / 2);
-            if (!shadow) {
-                ctx.lineTo(x, y - height / 2);
-                ctx.lineTo(x - size / 2, y + height / 2);
-                ctx.lineTo(x + size / 2, y + height / 2);
-            }
-        },
-        cross = function (ctx, x, y, radius, shadow) {
-            // pi * r^2 = (2s)^2  =>  s = r * sqrt(pi)/2
-            var size = radius * Math.sqrt(Math.PI) / 2;
-            ctx.moveTo(x - size, y - size);
-            ctx.lineTo(x + size, y + size);
-            ctx.moveTo(x - size, y + size);
-            ctx.lineTo(x + size, y - size);
-        },
-        ellipse = function(ctx, x, y, radius, shadow, fill) {
-            if (!shadow) {
-                ctx.moveTo(x + radius, y);
-                ctx.arc(x, y, radius, 0, Math.PI * 2, false);
-            }
-        },
-        plus = function (ctx, x, y, radius, shadow) {
-            var size = radius * Math.sqrt(Math.PI / 2);
-            ctx.moveTo(x - size, y);
-            ctx.lineTo(x + size, y);
-            ctx.moveTo(x, y + size);
-            ctx.lineTo(x, y - size);
-        },
-        handlers = {
-            square: square,
-            rectangle: rectangle,
-            diamond: diamond,
-            triangle: triangle,
-            cross: cross,
-            ellipse: ellipse,
-            plus: plus
-        };
-
-    square.fill = true;
-    rectangle.fill = true;
-    diamond.fill = true;
-    triangle.fill = true;
-    ellipse.fill = true;
-
-    function init(plot) {
-        plot.drawSymbol = handlers;
-    }
-
-    $.plot.plugins.push({
-        init: init,
-        name: 'symbols',
-        version: '1.0'
-    });
-})(jQuery);
--- a/src/pyams_skin/resources/js/ext/flot/jquery.flot.touch.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){"use strict";function e(t,e){function n(e){var n=t.getOptions();(n.pan.active||n.zoom.active)&&(h(e),v.dispatchEvent(new CustomEvent("touchevent",{detail:e})),g(e)?o(e,"pinch"):(o(e,"pan"),d(e)||(c(e)&&o(e,"doubleTap"),o(e,"tap"),o(e,"longTap"))))}function o(t,e){switch(e){case"pan":f[t.type](t);break;case"pinch":w[t.type](t);break;case"doubleTap":y.onDoubleTap(t);break;case"longTap":x[t.type](t);break;case"tap":L[t.type](t)}}function a(){l.prevTap={x:l.currentTap.x,y:l.currentTap.y}}function r(t){l.currentTap={x:t.touches[0].pageX,y:t.touches[0].pageY}}function u(t){l.tapStartTime=(new Date).getTime(),l.interceptedLongTap=!1,l.currentTapStart={x:t.touches[0].pageX,y:t.touches[0].pageY},l.currentTapEnd={x:t.touches[0].pageX,y:t.touches[0].pageY}}function p(t){l.currentTapEnd={x:t.touches[0].pageX,y:t.touches[0].pageY}}function c(t){var e=(new Date).getTime(),n=e-l.prevTapTime;return n>=0&&n<E&&s(l.prevTap.x,l.prevTap.y,l.currentTap.x,l.currentTap.y)<m?(t.firstTouch=l.prevTap,t.secondTouch=l.currentTap,!0):(l.prevTapTime=e,!1)}function i(e){l.isUnsupportedGesture||(e.preventDefault(),t.getOptions().propagateSupportedGesture||e.stopPropagation())}function s(t,e,n,o){return Math.sqrt((t-n)*(t-n)+(e-o)*(e-o))}function T(t){return t.touches&&0===t.touches.length}function d(t){return l.twoTouches&&1===t.touches.length}function h(t){t.touches.length>=3?l.isUnsupportedGesture=!0:l.isUnsupportedGesture=!1}function g(e){return!!(e.touches&&e.touches.length>=2&&e.touches[0].target===t.getEventHolder()&&e.touches[1].target===t.getEventHolder())}var v,l={twoTouches:!1,currentTapStart:{x:0,y:0},currentTapEnd:{x:0,y:0},prevTap:{x:0,y:0},currentTap:{x:0,y:0},interceptedLongTap:!1,isUnsupportedGesture:!1,prevTapTime:null,tapStartTime:null,longTapTriggerId:null},m=20,E=500,f={touchstart:function(t){a(),r(t),u(t),v.dispatchEvent(new CustomEvent("panstart",{detail:t}))},touchmove:function(t){i(t),r(t),p(t),l.isUnsupportedGesture||v.dispatchEvent(new CustomEvent("pandrag",{detail:t}))},touchend:function(t){i(t),d(t)?(v.dispatchEvent(new CustomEvent("pinchend",{detail:t})),v.dispatchEvent(new CustomEvent("panstart",{detail:t}))):T(t)&&v.dispatchEvent(new CustomEvent("panend",{detail:t}))}},w={touchstart:function(t){v.dispatchEvent(new CustomEvent("pinchstart",{detail:t}))},touchmove:function(t){i(t),l.twoTouches=g(t),l.isUnsupportedGesture||v.dispatchEvent(new CustomEvent("pinchdrag",{detail:t}))},touchend:function(t){i(t)}},y={onDoubleTap:function(t){i(t),v.dispatchEvent(new CustomEvent("doubletap",{detail:t}))}},x={touchstart:function(t){x.waitForLongTap(t)},touchmove:function(t){},touchend:function(t){l.longTapTriggerId&&(clearTimeout(l.longTapTriggerId),l.longTapTriggerId=null)},isLongTap:function(t){return(new Date).getTime()-l.tapStartTime>=1500&&!l.interceptedLongTap&&s(l.currentTapStart.x,l.currentTapStart.y,l.currentTapEnd.x,l.currentTapEnd.y)<20&&(l.interceptedLongTap=!0,!0)},waitForLongTap:function(t){l.longTapTriggerId||(l.longTapTriggerId=setTimeout(function(){x.isLongTap(t)&&v.dispatchEvent(new CustomEvent("longtap",{detail:t})),l.longTapTriggerId=null},1500))}},L={touchstart:function(t){l.tapStartTime=(new Date).getTime()},touchmove:function(t){},touchend:function(t){L.isTap(t)&&(v.dispatchEvent(new CustomEvent("tap",{detail:t})),i(t))},isTap:function(t){return(new Date).getTime()-l.tapStartTime<=125&&s(l.currentTapStart.x,l.currentTapStart.y,l.currentTapEnd.x,l.currentTapEnd.y)<20}};(!0===e.pan.enableTouch||e.zoom.enableTouch)&&(t.hooks.bindEvents.push(function(t,e){v=e[0],e[0].addEventListener("touchstart",n,!1),e[0].addEventListener("touchmove",n,!1),e[0].addEventListener("touchend",n,!1)}),t.hooks.shutdown.push(function(t,e){e[0].removeEventListener("touchstart",n),e[0].removeEventListener("touchmove",n),e[0].removeEventListener("touchend",n),l.longTapTriggerId&&(clearTimeout(l.longTapTriggerId),l.longTapTriggerId=null)}))}jQuery.plot.plugins.push({init:function(t){t.hooks.processOptions.push(e)},options:{propagateSupportedGesture:!1},name:"navigateTouch",version:"0.3"})}();
--- a/src/pyams_skin/resources/js/ext/jquery-2.2.4.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=re.type(e);return"function"!==n&&!re.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(re.isFunction(t))return re.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return re.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(de.test(t))return re.filter(t,e,n);t=re.filter(t,e)}return re.grep(e,function(e){return K.call(t,e)>-1!==n})}function i(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function o(e){var t={};return re.each(e.match(ye)||[],function(e,n){t[n]=!0}),t}function s(){Y.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s),re.ready()}function a(){this.expando=re.expando+a.uid++}function u(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:ke.test(n)?re.parseJSON(n):n)}catch(e){}Ce.set(e,t,n)}else n=void 0;return n}function l(e,t,n,r){var i,o=1,s=20,a=r?function(){return r.cur()}:function(){return re.css(e,t,"")},u=a(),l=n&&n[3]||(re.cssNumber[t]?"":"px"),c=(re.cssNumber[t]||"px"!==l&&+u)&&Se.exec(re.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do{c/=o=o||".5",re.style(e,t,c+l)}while(o!==(o=a()/u)&&1!==o&&--s)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function c(e,t){var n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[];return void 0===t||t&&re.nodeName(e,t)?re.merge([e],n):n}function f(e,t){for(var n=0,r=e.length;n<r;n++)Te.set(e[n],"globalEval",!t||Te.get(t[n],"globalEval"))}function p(e,t,n,r,i){for(var o,s,a,u,l,p,d=t.createDocumentFragment(),h=[],g=0,v=e.length;g<v;g++)if((o=e[g])||0===o)if("object"===re.type(o))re.merge(h,o.nodeType?[o]:o);else if(Oe.test(o)){for(s=s||d.appendChild(t.createElement("div")),a=(qe.exec(o)||["",""])[1].toLowerCase(),u=He[a]||He._default,s.innerHTML=u[1]+re.htmlPrefilter(o)+u[2],p=u[0];p--;)s=s.lastChild;re.merge(h,s.childNodes),(s=d.firstChild).textContent=""}else h.push(t.createTextNode(o));for(d.textContent="",g=0;o=h[g++];)if(r&&re.inArray(o,r)>-1)i&&i.push(o);else if(l=re.contains(o.ownerDocument,o),s=c(d.appendChild(o),"script"),l&&f(s),n)for(p=0;o=s[p++];)Le.test(o.type||"")&&n.push(o);return d}function d(){return!0}function h(){return!1}function g(){try{return Y.activeElement}catch(e){}}function v(e,t,n,r,i,o){var s,a;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(a in t)v(e,a,n,r,t[a],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=h;else if(!i)return e;return 1===o&&(s=i,(i=function(e){return re().off(e),s.apply(this,arguments)}).guid=s.guid||(s.guid=re.guid++)),e.each(function(){re.event.add(this,t,i,r,n)})}function m(e,t){return re.nodeName(e,"table")&&re.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function y(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function x(e){var t=$e.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function b(e,t){var n,r,i,o,s,a,u,l;if(1===t.nodeType){if(Te.hasData(e)&&(o=Te.access(e),s=Te.set(t,o),l=o.events)){delete s.handle,s.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)re.event.add(t,i,l[i][n])}Ce.hasData(e)&&(a=Ce.access(e),u=re.extend({},a),Ce.set(t,u))}}function w(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Ae.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function T(e,t,n,r){t=Q.apply([],t);var i,o,s,a,u,l,f=0,d=e.length,h=d-1,g=t[0],v=re.isFunction(g);if(v||d>1&&"string"==typeof g&&!ne.checkClone&&We.test(g))return e.each(function(i){var o=e.eq(i);v&&(t[0]=g.call(this,i,o.html())),T(o,t,n,r)});if(d&&(i=p(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(a=(s=re.map(c(i,"script"),y)).length;f<d;f++)u=i,f!==h&&(u=re.clone(u,!0,!0),a&&re.merge(s,c(u,"script"))),n.call(e[f],u,f);if(a)for(l=s[s.length-1].ownerDocument,re.map(s,x),f=0;f<a;f++)u=s[f],Le.test(u.type||"")&&!Te.access(u,"globalEval")&&re.contains(l,u)&&(u.src?re._evalUrl&&re._evalUrl(u.src):re.globalEval(u.textContent.replace(Be,"")))}return e}function C(e,t,n){for(var r,i=t?re.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||re.cleanData(c(r)),r.parentNode&&(n&&re.contains(r.ownerDocument,r)&&f(c(r,"script")),r.parentNode.removeChild(r));return e}function k(e,t){var n=re(t.createElement(e)).appendTo(t.body),r=re.css(n[0],"display");return n.detach(),r}function E(e){var t=Y,n=Xe[e];return n||("none"!==(n=k(e,t))&&n||((t=(_e=(_e||re("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement))[0].contentDocument).write(),t.close(),n=k(e,t),_e.detach()),Xe[e]=n),n}function N(e,t,n){var r,i,o,s,a=e.style;return n=n||Ve(e),""!==(s=n?n.getPropertyValue(t)||n[t]:void 0)&&void 0!==s||re.contains(e.ownerDocument,e)||(s=re.style(e,t)),n&&!ne.pixelMarginRight()&&Ue.test(s)&&ze.test(t)&&(r=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=s,s=n.width,a.width=r,a.minWidth=i,a.maxWidth=o),void 0!==s?s+"":s}function S(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}function j(e){if(e in et)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=Ze.length;n--;)if((e=Ze[n]+t)in et)return e}function D(e,t,n){var r=Se.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function A(e,t,n,r,i){for(var o=n===(r?"border":"content")?4:"width"===t?1:0,s=0;o<4;o+=2)"margin"===n&&(s+=re.css(e,n+je[o],!0,i)),r?("content"===n&&(s-=re.css(e,"padding"+je[o],!0,i)),"margin"!==n&&(s-=re.css(e,"border"+je[o]+"Width",!0,i))):(s+=re.css(e,"padding"+je[o],!0,i),"padding"!==n&&(s+=re.css(e,"border"+je[o]+"Width",!0,i)));return s}function q(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Ve(e),s="border-box"===re.css(e,"boxSizing",!1,o);if(i<=0||null==i){if(((i=N(e,t,o))<0||null==i)&&(i=e.style[t]),Ue.test(i))return i;r=s&&(ne.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+A(e,t,n||(s?"border":"content"),r,o)+"px"}function L(e,t){for(var n,r,i,o=[],s=0,a=e.length;s<a;s++)(r=e[s]).style&&(o[s]=Te.get(r,"olddisplay"),n=r.style.display,t?(o[s]||"none"!==n||(r.style.display=""),""===r.style.display&&De(r)&&(o[s]=Te.access(r,"olddisplay",E(r.nodeName)))):(i=De(r),"none"===n&&i||Te.set(r,"olddisplay",i?n:re.css(r,"display"))));for(s=0;s<a;s++)(r=e[s]).style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[s]||"":"none"));return e}function H(e,t,n,r,i){return new H.prototype.init(e,t,n,r,i)}function O(){return e.setTimeout(function(){tt=void 0}),tt=re.now()}function F(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=je[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function P(e,t,n){for(var r,i=(M.tweeners[t]||[]).concat(M.tweeners["*"]),o=0,s=i.length;o<s;o++)if(r=i[o].call(n,t,e))return r}function R(e,t){var n,r,i,o,s;for(n in e)if(r=re.camelCase(n),i=t[r],o=e[n],re.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(s=re.cssHooks[r])&&"expand"in s){o=s.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function M(e,t,n){var r,i,o=0,s=M.prefilters.length,a=re.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=tt||O(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,s=l.tweens.length;o<s;o++)l.tweens[o].run(r);return a.notifyWith(e,[l,r,n]),r<1&&s?n:(a.resolveWith(e,[l]),!1)},l=a.promise({elem:e,props:re.extend({},t),opts:re.extend(!0,{specialEasing:{},easing:re.easing._default},n),originalProperties:t,originalOptions:n,startTime:tt||O(),duration:n.duration,tweens:[],createTween:function(t,n){var r=re.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(a.notifyWith(e,[l,1,0]),a.resolveWith(e,[l,t])):a.rejectWith(e,[l,t]),this}}),c=l.props;for(R(c,l.opts.specialEasing);o<s;o++)if(r=M.prefilters[o].call(l,e,c,l.opts))return re.isFunction(r.stop)&&(re._queueHooks(l.elem,l.opts.queue).stop=re.proxy(r.stop,r)),r;return re.map(c,P,l),re.isFunction(l.opts.start)&&l.opts.start.call(e,l),re.fx.timer(re.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function I(e){return e.getAttribute&&e.getAttribute("class")||""}function W(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(ye)||[];if(re.isFunction(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function $(e,t,n,r){function i(a){var u;return o[a]=!0,re.each(e[a]||[],function(e,a){var l=a(t,n,r);return"string"!=typeof l||s||o[l]?s?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var o={},s=e===Tt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function B(e,t){var n,r,i=re.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&re.extend(!0,e,r),e}function _(e,t,n){for(var r,i,o,s,a=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in a)if(a[i]&&a[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}s||(s=i)}o=o||s}if(o)return o!==u[0]&&u.unshift(o),n[o]}function X(e,t,n,r){var i,o,s,a,u,l={},c=e.dataTypes.slice();if(c[1])for(s in e.converters)l[s.toLowerCase()]=e.converters[s];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(s=l[u+" "+o]||l["* "+o]))for(i in l)if((a=i.split(" "))[1]===o&&(s=l[u+" "+a[0]]||l["* "+a[0]])){!0===s?s=l[i]:!0!==l[i]&&(o=a[0],c.unshift(a[1]));break}if(!0!==s)if(s&&e.throws)t=s(t);else try{t=s(t)}catch(e){return{state:"parsererror",error:s?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}function z(e,t,n,r){var i;if(re.isArray(t))re.each(t,function(t,i){n||Nt.test(e)?r(e,i):z(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==re.type(t))r(e,t);else for(i in t)z(e+"["+i+"]",t[i],n,r)}function U(e){return re.isWindow(e)?e:9===e.nodeType&&e.defaultView}var V=[],Y=e.document,G=V.slice,Q=V.concat,J=V.push,K=V.indexOf,Z={},ee=Z.toString,te=Z.hasOwnProperty,ne={},re=function(e,t){return new re.fn.init(e,t)},ie=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,oe=/^-ms-/,se=/-([\da-z])/gi,ae=function(e,t){return t.toUpperCase()};re.fn=re.prototype={jquery:"2.2.4",constructor:re,selector:"",length:0,toArray:function(){return G.call(this)},get:function(e){return null!=e?e<0?this[e+this.length]:this[e]:G.call(this)},pushStack:function(e){var t=re.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e){return re.each(this,e)},map:function(e){return this.pushStack(re.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(G.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:J,sort:V.sort,splice:V.splice},re.extend=re.fn.extend=function(){var e,t,n,r,i,o,s=arguments[0]||{},a=1,u=arguments.length,l=!1;for("boolean"==typeof s&&(l=s,s=arguments[a]||{},a++),"object"==typeof s||re.isFunction(s)||(s={}),a===u&&(s=this,a--);a<u;a++)if(null!=(e=arguments[a]))for(t in e)n=s[t],s!==(r=e[t])&&(l&&r&&(re.isPlainObject(r)||(i=re.isArray(r)))?(i?(i=!1,o=n&&re.isArray(n)?n:[]):o=n&&re.isPlainObject(n)?n:{},s[t]=re.extend(l,o,r)):void 0!==r&&(s[t]=r));return s},re.extend({expando:"jQuery"+("2.2.4"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===re.type(e)},isArray:Array.isArray,isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=e&&e.toString();return!re.isArray(e)&&t-parseFloat(t)+1>=0},isPlainObject:function(e){var t;if("object"!==re.type(e)||e.nodeType||re.isWindow(e))return!1;if(e.constructor&&!te.call(e,"constructor")&&!te.call(e.constructor.prototype||{},"isPrototypeOf"))return!1;for(t in e);return void 0===t||te.call(e,t)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?Z[ee.call(e)]||"object":typeof e},globalEval:function(e){var t,n=eval;(e=re.trim(e))&&(1===e.indexOf("use strict")?((t=Y.createElement("script")).text=e,Y.head.appendChild(t).parentNode.removeChild(t)):n(e))},camelCase:function(e){return e.replace(oe,"ms-").replace(se,ae)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;i<r&&!1!==t.call(e[i],i,e[i]);i++);else for(i in e)if(!1===t.call(e[i],i,e[i]))break;return e},trim:function(e){return null==e?"":(e+"").replace(ie,"")},makeArray:function(e,t){var r=t||[];return null!=e&&(n(Object(e))?re.merge(r,"string"==typeof e?[e]:e):J.call(r,e)),r},inArray:function(e,t,n){return null==t?-1:K.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,s=!n;i<o;i++)!t(e[i],i)!==s&&r.push(e[i]);return r},map:function(e,t,r){var i,o,s=0,a=[];if(n(e))for(i=e.length;s<i;s++)null!=(o=t(e[s],s,r))&&a.push(o);else for(s in e)null!=(o=t(e[s],s,r))&&a.push(o);return Q.apply([],a)},guid:1,proxy:function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),re.isFunction(e))return r=G.call(arguments,2),i=function(){return e.apply(t||this,r.concat(G.call(arguments)))},i.guid=e.guid=e.guid||re.guid++,i},now:Date.now,support:ne}),"function"==typeof Symbol&&(re.fn[Symbol.iterator]=V[Symbol.iterator]),re.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){Z["[object "+t+"]"]=t.toLowerCase()});var ue=function(e){function t(e,t,n,r){var i,o,s,a,l,f,p,d,h=t&&t.ownerDocument,g=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==g&&9!==g&&11!==g)return n;if(!r&&((t?t.ownerDocument||t:M)!==A&&D(t),t=t||A,L)){if(11!==g&&(f=ge.exec(e)))if(i=f[1]){if(9===g){if(!(s=t.getElementById(i)))return n;if(s.id===i)return n.push(s),n}else if(h&&(s=h.getElementById(i))&&P(t,s)&&s.id===i)return n.push(s),n}else{if(f[2])return Q.apply(n,t.getElementsByTagName(e)),n;if((i=f[3])&&x.getElementsByClassName&&t.getElementsByClassName)return Q.apply(n,t.getElementsByClassName(i)),n}if(x.qsa&&!_[e+" "]&&(!H||!H.test(e))){if(1!==g)h=t,d=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(me,"\\$&"):t.setAttribute("id",a=R),o=(p=C(e)).length,l=ce.test(a)?"#"+a:"[id='"+a+"']";o--;)p[o]=l+" "+c(p[o]);d=p.join(","),h=ve.test(e)&&u(t.parentNode)||t}if(d)try{return Q.apply(n,h.querySelectorAll(d)),n}catch(e){}finally{a===R&&t.removeAttribute("id")}}}return E(e.replace(oe,"$1"),t,n,r)}function n(){function e(n,r){return t.push(n+" ")>b.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[R]=!0,e}function i(e){var t=A.createElement("div");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)b.attrHandle[n[r]]=t}function s(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||z)-(~e.sourceIndex||z);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),s=o.length;s--;)n[i=o[s]]&&(n[i]=!(r[i]=n[i]))})})}function u(e){return e&&void 0!==e.getElementsByTagName&&e}function l(){}function c(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function f(e,t,n){var r=t.dir,i=n&&"parentNode"===r,o=W++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,s){var a,u,l,c=[I,o];if(s){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,s))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[R]||(t[R]={}),u=l[t.uniqueID]||(l[t.uniqueID]={}),(a=u[r])&&a[0]===I&&a[1]===o)return c[2]=a[2];if(u[r]=c,c[2]=e(t,n,s))return!0}}}function p(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function d(e,n,r){for(var i=0,o=n.length;i<o;i++)t(e,n[i],r);return r}function h(e,t,n,r,i){for(var o,s=[],a=0,u=e.length,l=null!=t;a<u;a++)(o=e[a])&&(n&&!n(o,r,i)||(s.push(o),l&&t.push(a)));return s}function g(e,t,n,i,o,s){return i&&!i[R]&&(i=g(i)),o&&!o[R]&&(o=g(o,s)),r(function(r,s,a,u){var l,c,f,p=[],g=[],v=s.length,m=r||d(t||"*",a.nodeType?[a]:a,[]),y=!e||!r&&t?m:h(m,p,e,a,u),x=n?o||(r?e:v||i)?[]:s:y;if(n&&n(y,x,a,u),i)for(l=h(x,g),i(l,[],a,u),c=l.length;c--;)(f=l[c])&&(x[g[c]]=!(y[g[c]]=f));if(r){if(o||e){if(o){for(l=[],c=x.length;c--;)(f=x[c])&&l.push(y[c]=f);o(null,x=[],l,u)}for(c=x.length;c--;)(f=x[c])&&(l=o?K(r,f):p[c])>-1&&(r[l]=!(s[l]=f))}}else x=h(x===s?x.splice(v,x.length):x),o?o(null,s,x,u):Q.apply(s,x)})}function v(e){for(var t,n,r,i=e.length,o=b.relative[e[0].type],s=o||b.relative[" "],a=o?1:0,u=f(function(e){return e===t},s,!0),l=f(function(e){return K(t,e)>-1},s,!0),d=[function(e,n,r){var i=!o&&(r||n!==N)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];a<i;a++)if(n=b.relative[e[a].type])d=[f(p(d),n)];else{if((n=b.filter[e[a].type].apply(null,e[a].matches))[R]){for(r=++a;r<i&&!b.relative[e[r].type];r++);return g(a>1&&p(d),a>1&&c(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(oe,"$1"),n,a<r&&v(e.slice(a,r)),r<i&&v(e=e.slice(r)),r<i&&c(e))}d.push(n)}return p(d)}function m(e,n){var i=n.length>0,o=e.length>0,s=function(r,s,a,u,l){var c,f,p,d=0,g="0",v=r&&[],m=[],y=N,x=r||o&&b.find.TAG("*",l),w=I+=null==y?1:Math.random()||.1,T=x.length;for(l&&(N=s===A||s||l);g!==T&&null!=(c=x[g]);g++){if(o&&c){for(f=0,s||c.ownerDocument===A||(D(c),a=!L);p=e[f++];)if(p(c,s||A,a)){u.push(c);break}l&&(I=w)}i&&((c=!p&&c)&&d--,r&&v.push(c))}if(d+=g,i&&g!==d){for(f=0;p=n[f++];)p(v,m,s,a);if(r){if(d>0)for(;g--;)v[g]||m[g]||(m[g]=Y.call(u));m=h(m)}Q.apply(u,m),l&&!r&&m.length>0&&d+n.length>1&&t.uniqueSort(u)}return l&&(I=w,N=y),v};return i?r(s):s}var y,x,b,w,T,C,k,E,N,S,j,D,A,q,L,H,O,F,P,R="sizzle"+1*new Date,M=e.document,I=0,W=0,$=n(),B=n(),_=n(),X=function(e,t){return e===t&&(j=!0),0},z=1<<31,U={}.hasOwnProperty,V=[],Y=V.pop,G=V.push,Q=V.push,J=V.slice,K=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},Z="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ee="[\\x20\\t\\r\\n\\f]",te="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ne="\\["+ee+"*("+te+")(?:"+ee+"*([*^$|!~]?=)"+ee+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+te+"))|)"+ee+"*\\]",re=":("+te+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ne+")*)|.*)\\)|)",ie=new RegExp(ee+"+","g"),oe=new RegExp("^"+ee+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ee+"+$","g"),se=new RegExp("^"+ee+"*,"+ee+"*"),ae=new RegExp("^"+ee+"*([>+~]|"+ee+")"+ee+"*"),ue=new RegExp("="+ee+"*([^\\]'\"]*?)"+ee+"*\\]","g"),le=new RegExp(re),ce=new RegExp("^"+te+"$"),fe={ID:new RegExp("^#("+te+")"),CLASS:new RegExp("^\\.("+te+")"),TAG:new RegExp("^("+te+"|[*])"),ATTR:new RegExp("^"+ne),PSEUDO:new RegExp("^"+re),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ee+"*(even|odd|(([+-]|)(\\d*)n|)"+ee+"*(?:([+-]|)"+ee+"*(\\d+)|))"+ee+"*\\)|)","i"),bool:new RegExp("^(?:"+Z+")$","i"),needsContext:new RegExp("^"+ee+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ee+"*((?:-\\d)?\\d*)"+ee+"*\\)|)(?=[^-]|$)","i")},pe=/^(?:input|select|textarea|button)$/i,de=/^h\d$/i,he=/^[^{]+\{\s*\[native \w/,ge=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,me=/'|\\/g,ye=new RegExp("\\\\([\\da-f]{1,6}"+ee+"?|("+ee+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},be=function(){D()};try{Q.apply(V=J.call(M.childNodes),M.childNodes),V[M.childNodes.length].nodeType}catch(e){Q={apply:V.length?function(e,t){G.apply(e,J.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=t.support={},T=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},D=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:M;return r!==A&&9===r.nodeType&&r.documentElement?(A=r,q=A.documentElement,L=!T(A),(n=A.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",be,!1):n.attachEvent&&n.attachEvent("onunload",be)),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(A.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=he.test(A.getElementsByClassName),x.getById=i(function(e){return q.appendChild(e).id=R,!A.getElementsByName||!A.getElementsByName(R).length}),x.getById?(b.find.ID=function(e,t){if(void 0!==t.getElementById&&L){var n=t.getElementById(e);return n?[n]:[]}},b.filter.ID=function(e){var t=e.replace(ye,xe);return function(e){return e.getAttribute("id")===t}}):(delete b.find.ID,b.filter.ID=function(e){var t=e.replace(ye,xe);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),b.find.TAG=x.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):x.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=x.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&L)return t.getElementsByClassName(e)},O=[],H=[],(x.qsa=he.test(A.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="<a id='"+R+"'></a><select id='"+R+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&H.push("[*^$]="+ee+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||H.push("\\["+ee+"*(?:value|"+Z+")"),e.querySelectorAll("[id~="+R+"-]").length||H.push("~="),e.querySelectorAll(":checked").length||H.push(":checked"),e.querySelectorAll("a#"+R+"+*").length||H.push(".#.+[+~]")}),i(function(e){var t=A.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&H.push("name"+ee+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||H.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),H.push(",.*:")})),(x.matchesSelector=he.test(F=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){x.disconnectedMatch=F.call(e,"div"),F.call(e,"[s!='']:x"),O.push("!=",re)}),H=H.length&&new RegExp(H.join("|")),O=O.length&&new RegExp(O.join("|")),t=he.test(q.compareDocumentPosition),P=t||he.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},X=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===A||e.ownerDocument===M&&P(M,e)?-1:t===A||t.ownerDocument===M&&P(M,t)?1:S?K(S,e)-K(S,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===A?-1:t===A?1:i?-1:o?1:S?K(S,e)-K(S,t):0;if(i===o)return s(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;a[r]===u[r];)r++;return r?s(a[r],u[r]):a[r]===M?-1:u[r]===M?1:0},A):A},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==A&&D(e),n=n.replace(ue,"='$1']"),x.matchesSelector&&L&&!_[n+" "]&&(!O||!O.test(n))&&(!H||!H.test(n)))try{var r=F.call(e,n);if(r||x.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return t(n,A,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==A&&D(e),P(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==A&&D(e);var n=b.attrHandle[t.toLowerCase()],r=n&&U.call(b.attrHandle,t.toLowerCase())?n(e,t,!L):void 0;return void 0!==r?r:x.attributes||!L?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!x.detectDuplicates,S=!x.sortStable&&e.slice(0),e.sort(X),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return S=null,e},w=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=w(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=w(t);return n},(b=t.selectors={cacheLength:50,createPseudo:r,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ye,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(ye,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&le.test(n)&&(t=C(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ye,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ee+")"+e+"("+ee+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ie," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),s="last"!==e.slice(-4),a="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==s?"nextSibling":"previousSibling",v=t.parentNode,m=a&&t.nodeName.toLowerCase(),y=!u&&!a,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(a?p.nodeName.toLowerCase()===m:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[s?v.firstChild:v.lastChild],s&&y){for(x=(d=(l=(c=(f=(p=v)[R]||(p[R]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===I&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[I,d,x];break}}else if(y&&(x=d=(l=(c=(f=(p=t)[R]||(p[R]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===I&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==m:1!==p.nodeType)||!++x||(y&&((c=(f=p[R]||(p[R]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[I,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=b.pseudos[e]||b.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[R]?o(n):o.length>1?(i=[e,e,"",n],b.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),s=i.length;s--;)e[r=K(e,i[s])]=!(t[r]=i[s])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(oe,"$1"));return i[R]?r(function(e,t,n,r){for(var o,s=i(e,null,r,[]),a=e.length;a--;)(o=s[a])&&(e[a]=!(t[a]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(ye,xe),function(t){return(t.textContent||t.innerText||w(t)).indexOf(e)>-1}}),lang:r(function(e){return ce.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ye,xe).toLowerCase(),function(t){var n;do{if(n=L?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===A.activeElement&&(!A.hasFocus||A.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return de.test(e.nodeName)},input:function(e){return pe.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:a(function(){return[0]}),last:a(function(e,t){return[t-1]}),eq:a(function(e,t,n){return[n<0?n+t:n]}),even:a(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:a(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:a(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:a(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq;for(y in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[y]=function(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}(y);for(y in{submit:!0,reset:!0})b.pseudos[y]=function(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}(y);return l.prototype=b.filters=b.pseudos,b.setFilters=new l,C=t.tokenize=function(e,n){var r,i,o,s,a,u,l,c=B[e+" "];if(c)return n?0:c.slice(0);for(a=e,u=[],l=b.preFilter;a;){r&&!(i=se.exec(a))||(i&&(a=a.slice(i[0].length)||a),u.push(o=[])),r=!1,(i=ae.exec(a))&&(r=i.shift(),o.push({value:r,type:i[0].replace(oe," ")}),a=a.slice(r.length));for(s in b.filter)!(i=fe[s].exec(a))||l[s]&&!(i=l[s](i))||(r=i.shift(),o.push({value:r,type:s,matches:i}),a=a.slice(r.length));if(!r)break}return n?a.length:a?t.error(e):B(e,u).slice(0)},k=t.compile=function(e,t){var n,r=[],i=[],o=_[e+" "];if(!o){for(t||(t=C(e)),n=t.length;n--;)(o=v(t[n]))[R]?r.push(o):i.push(o);(o=_(e,m(i,r))).selector=e}return o},E=t.select=function(e,t,n,r){var i,o,s,a,l,f="function"==typeof e&&e,p=!r&&C(e=f.selector||e);if(n=n||[],1===p.length){if((o=p[0]=p[0].slice(0)).length>2&&"ID"===(s=o[0]).type&&x.getById&&9===t.nodeType&&L&&b.relative[o[1].type]){if(!(t=(b.find.ID(s.matches[0].replace(ye,xe),t)||[])[0]))return n;f&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=fe.needsContext.test(e)?0:o.length;i--&&(s=o[i],!b.relative[a=s.type]);)if((l=b.find[a])&&(r=l(s.matches[0].replace(ye,xe),ve.test(o[0].type)&&u(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&c(o)))return Q.apply(n,r),n;break}}return(f||k(e,p))(r,t,!L,n,!t||ve.test(e)&&u(t.parentNode)||t),n},x.sortStable=R.split("").sort(X).join("")===R,x.detectDuplicates=!!j,D(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(A.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(Z,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);re.find=ue,re.expr=ue.selectors,re.expr[":"]=re.expr.pseudos,re.uniqueSort=re.unique=ue.uniqueSort,re.text=ue.getText,re.isXMLDoc=ue.isXML,re.contains=ue.contains;var le=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&re(e).is(n))break;r.push(e)}return r},ce=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},fe=re.expr.match.needsContext,pe=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,de=/^.[^:#\[\.,]*$/;re.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?re.find.matchesSelector(r,e)?[r]:[]:re.find.matches(e,re.grep(t,function(e){return 1===e.nodeType}))},re.fn.extend({find:function(e){var t,n=this.length,r=[],i=this;if("string"!=typeof e)return this.pushStack(re(e).filter(function(){for(t=0;t<n;t++)if(re.contains(i[t],this))return!0}));for(t=0;t<n;t++)re.find(e,i[t],r);return r=this.pushStack(n>1?re.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&fe.test(e)?re(e):e||[],!1).length}});var he,ge=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/;(re.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||he,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:ge.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof re?t[0]:t,re.merge(this,re.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:Y,!0)),pe.test(r[1])&&re.isPlainObject(t))for(r in t)re.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=Y.getElementById(r[2]))&&i.parentNode&&(this.length=1,this[0]=i),this.context=Y,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):re.isFunction(e)?void 0!==n.ready?n.ready(e):e(re):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),re.makeArray(e,this))}).prototype=re.fn,he=re(Y);var ve=/^(?:parents|prev(?:Until|All))/,me={children:!0,contents:!0,next:!0,prev:!0};re.fn.extend({has:function(e){var t=re(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(re.contains(this,t[e]))return!0})},closest:function(e,t){for(var n,r=0,i=this.length,o=[],s=fe.test(e)||"string"!=typeof e?re(e,t||this.context):0;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(s?s.index(n)>-1:1===n.nodeType&&re.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?re.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?K.call(re(e),this[0]):K.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(re.uniqueSort(re.merge(this.get(),re(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),re.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return le(e,"parentNode")},parentsUntil:function(e,t,n){return le(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return le(e,"nextSibling")},prevAll:function(e){return le(e,"previousSibling")},nextUntil:function(e,t,n){return le(e,"nextSibling",n)},prevUntil:function(e,t,n){return le(e,"previousSibling",n)},siblings:function(e){return ce((e.parentNode||{}).firstChild,e)},children:function(e){return ce(e.firstChild)},contents:function(e){return e.contentDocument||re.merge([],e.childNodes)}},function(e,t){re.fn[e]=function(n,r){var i=re.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=re.filter(r,i)),this.length>1&&(me[e]||re.uniqueSort(i),ve.test(e)&&i.reverse()),this.pushStack(i)}});var ye=/\S+/g;re.Callbacks=function(e){e="string"==typeof e?o(e):re.extend({},e);var t,n,r,i,s=[],a=[],u=-1,l=function(){for(i=e.once,r=t=!0;a.length;u=-1)for(n=a.shift();++u<s.length;)!1===s[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=s.length,n=!1);e.memory||(n=!1),t=!1,i&&(s=n?[]:"")},c={add:function(){return s&&(n&&!t&&(u=s.length-1,a.push(n)),function t(n){re.each(n,function(n,r){re.isFunction(r)?e.unique&&c.has(r)||s.push(r):r&&r.length&&"string"!==re.type(r)&&t(r)})}(arguments),n&&!t&&l()),this},remove:function(){return re.each(arguments,function(e,t){for(var n;(n=re.inArray(t,s,n))>-1;)s.splice(n,1),n<=u&&u--}),this},has:function(e){return e?re.inArray(e,s)>-1:s.length>0},empty:function(){return s&&(s=[]),this},disable:function(){return i=a=[],s=n="",this},disabled:function(){return!s},lock:function(){return i=a=[],n||(s=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},re.extend({Deferred:function(e){var t=[["resolve","done",re.Callbacks("once memory"),"resolved"],["reject","fail",re.Callbacks("once memory"),"rejected"],["notify","progress",re.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return re.Deferred(function(n){re.each(t,function(t,o){var s=re.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&re.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?re.extend(e,r):r}},i={};return r.pipe=r.then,re.each(t,function(e,o){var s=o[2],a=o[3];r[o[1]]=s.add,a&&s.add(function(){n=a},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=s.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=G.call(arguments),s=o.length,a=1!==s||e&&re.isFunction(e.promise)?s:0,u=1===a?e:re.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?G.call(arguments):i,r===t?u.notifyWith(n,r):--a||u.resolveWith(n,r)}};if(s>1)for(t=new Array(s),n=new Array(s),r=new Array(s);i<s;i++)o[i]&&re.isFunction(o[i].promise)?o[i].promise().progress(l(i,n,t)).done(l(i,r,o)).fail(u.reject):--a;return a||u.resolveWith(r,o),u.promise()}});var xe;re.fn.ready=function(e){return re.ready.promise().done(e),this},re.extend({isReady:!1,readyWait:1,holdReady:function(e){e?re.readyWait++:re.ready(!0)},ready:function(e){(!0===e?--re.readyWait:re.isReady)||(re.isReady=!0,!0!==e&&--re.readyWait>0||(xe.resolveWith(Y,[re]),re.fn.triggerHandler&&(re(Y).triggerHandler("ready"),re(Y).off("ready"))))}}),re.ready.promise=function(t){return xe||(xe=re.Deferred(),"complete"===Y.readyState||"loading"!==Y.readyState&&!Y.documentElement.doScroll?e.setTimeout(re.ready):(Y.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s))),xe.promise(t)},re.ready.promise();var be=function(e,t,n,r,i,o,s){var a=0,u=e.length,l=null==n;if("object"===re.type(n)){i=!0;for(a in n)be(e,t,a,n[a],!0,o,s)}else if(void 0!==r&&(i=!0,re.isFunction(r)||(s=!0),l&&(s?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(re(e),n)})),t))for(;a<u;a++)t(e[a],n,s?r:r.call(e[a],a,t(e[a],n)));return i?e:l?t.call(e):u?t(e[0],n):o},we=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};a.uid=1,a.prototype={register:function(e,t){var n=t||{};return e.nodeType?e[this.expando]=n:Object.defineProperty(e,this.expando,{value:n,writable:!0,configurable:!0}),e[this.expando]},cache:function(e){if(!we(e))return{};var t=e[this.expando];return t||(t={},we(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[t]=n;else for(r in t)i[r]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][t]},access:function(e,t,n){var r;return void 0===t||t&&"string"==typeof t&&void 0===n?void 0!==(r=this.get(e,t))?r:this.get(e,re.camelCase(t)):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r,i,o=e[this.expando];if(void 0!==o){if(void 0===t)this.register(e);else{re.isArray(t)?r=t.concat(t.map(re.camelCase)):(i=re.camelCase(t),r=t in o?[t,i]:(r=i)in o?[r]:r.match(ye)||[]),n=r.length;for(;n--;)delete o[r[n]]}(void 0===t||re.isEmptyObject(o))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!re.isEmptyObject(t)}};var Te=new a,Ce=new a,ke=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ee=/[A-Z]/g;re.extend({hasData:function(e){return Ce.hasData(e)||Te.hasData(e)},data:function(e,t,n){return Ce.access(e,t,n)},removeData:function(e,t){Ce.remove(e,t)},_data:function(e,t,n){return Te.access(e,t,n)},_removeData:function(e,t){Te.remove(e,t)}}),re.fn.extend({data:function(e,t){var n,r,i,o=this[0],s=o&&o.attributes;if(void 0===e){if(this.length&&(i=Ce.get(o),1===o.nodeType&&!Te.get(o,"hasDataAttrs"))){for(n=s.length;n--;)s[n]&&0===(r=s[n].name).indexOf("data-")&&(r=re.camelCase(r.slice(5)),u(o,r,i[r]));Te.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){Ce.set(this,e)}):be(this,function(t){var n,r;if(o&&void 0===t){if(void 0!==(n=Ce.get(o,e)||Ce.get(o,e.replace(Ee,"-$&").toLowerCase())))return n;if(r=re.camelCase(e),void 0!==(n=Ce.get(o,r)))return n;if(void 0!==(n=u(o,r,void 0)))return n}else r=re.camelCase(e),this.each(function(){var n=Ce.get(this,r);Ce.set(this,r,t),e.indexOf("-")>-1&&void 0!==n&&Ce.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){Ce.remove(this,e)})}}),re.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Te.get(e,t),n&&(!r||re.isArray(n)?r=Te.access(e,t,re.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=re.queue(e,t),r=n.length,i=n.shift(),o=re._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){re.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Te.get(e,n)||Te.access(e,n,{empty:re.Callbacks("once memory").add(function(){Te.remove(e,[t+"queue",n])})})}}),re.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?re.queue(this[0],e):void 0===t?this:this.each(function(){var n=re.queue(this,e,t);re._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&re.dequeue(this,e)})},dequeue:function(e){return this.each(function(){re.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=re.Deferred(),o=this,s=this.length,a=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";s--;)(n=Te.get(o[s],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(a));return a(),i.promise(t)}});var Ne=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Se=new RegExp("^(?:([+-])=|)("+Ne+")([a-z%]*)$","i"),je=["Top","Right","Bottom","Left"],De=function(e,t){return e=t||e,"none"===re.css(e,"display")||!re.contains(e.ownerDocument,e)},Ae=/^(?:checkbox|radio)$/i,qe=/<([\w:-]+)/,Le=/^$|\/(?:java|ecma)script/i,He={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};He.optgroup=He.option,He.tbody=He.tfoot=He.colgroup=He.caption=He.thead,He.th=He.td;var Oe=/<|&#?\w+;/;!function(){var e=Y.createDocumentFragment().appendChild(Y.createElement("div")),t=Y.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),ne.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",ne.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var Fe=/^key/,Pe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Re=/^([^.]*)(?:\.(.+)|)/;re.event={global:{},add:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,v=Te.get(e);if(v)for(n.handler&&(n=(o=n).handler,i=o.selector),n.guid||(n.guid=re.guid++),(u=v.events)||(u=v.events={}),(s=v.handle)||(s=v.handle=function(t){return void 0!==re&&re.event.triggered!==t.type?re.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(ye)||[""]).length;l--;)d=g=(a=Re.exec(t[l])||[])[1],h=(a[2]||"").split(".").sort(),d&&(f=re.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=re.event.special[d]||{},c=re.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&re.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,s)||e.addEventListener&&e.addEventListener(d,s)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),re.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,s,a,u,l,c,f,p,d,h,g,v=Te.hasData(e)&&Te.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(ye)||[""]).length;l--;)if(a=Re.exec(t[l])||[],d=g=a[1],h=(a[2]||"").split(".").sort(),d){for(f=re.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),s=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||a&&!a.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));s&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||re.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)re.event.remove(e,d+t[l],n,r,!0);re.isEmptyObject(u)&&Te.remove(e,"handle events")}},dispatch:function(e){e=re.event.fix(e);var t,n,r,i,o,s=[],a=G.call(arguments),u=(Te.get(this,"events")||{})[e.type]||[],l=re.event.special[e.type]||{};if(a[0]=e,e.delegateTarget=this,!l.preDispatch||!1!==l.preDispatch.call(this,e)){for(s=re.event.handlers.call(this,e,u),t=0;(i=s[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,void 0!==(r=((re.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,a))&&!1===(e.result=r)&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,s=[],a=t.delegateCount,u=e.target;if(a&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!==this;u=u.parentNode||this)if(1===u.nodeType&&(!0!==u.disabled||"click"!==e.type)){for(r=[],n=0;n<a;n++)void 0===r[i=(o=t[n]).selector+" "]&&(r[i]=o.needsContext?re(i,this).index(u)>-1:re.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&s.push({elem:u,handlers:r})}return a<t.length&&s.push({elem:this,handlers:t.slice(a)}),s},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var n,r,i,o=t.button;return null==e.pageX&&null!=t.clientX&&(r=(n=e.target.ownerDocument||Y).documentElement,i=n.body,e.pageX=t.clientX+(r&&r.scrollLeft||i&&i.scrollLeft||0)-(r&&r.clientLeft||i&&i.clientLeft||0),e.pageY=t.clientY+(r&&r.scrollTop||i&&i.scrollTop||0)-(r&&r.clientTop||i&&i.clientTop||0)),e.which||void 0===o||(e.which=1&o?1:2&o?3:4&o?2:0),e}},fix:function(e){if(e[re.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];for(s||(this.fixHooks[i]=s=Pe.test(i)?this.mouseHooks:Fe.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new re.Event(o),t=r.length;t--;)e[n=r[t]]=o[n];return e.target||(e.target=Y),3===e.target.nodeType&&(e.target=e.target.parentNode),s.filter?s.filter(e,o):e},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==g()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===g()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&re.nodeName(this,"input"))return this.click(),!1},_default:function(e){return re.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},re.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},re.Event=function(e,t){if(!(this instanceof re.Event))return new re.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?d:h):this.type=e,t&&re.extend(this,t),this.timeStamp=e&&e.timeStamp||re.now(),this[re.expando]=!0},re.Event.prototype={constructor:re.Event,isDefaultPrevented:h,isPropagationStopped:h,isImmediatePropagationStopped:h,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=d,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=d,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=d,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},re.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){re.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||re.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),re.fn.extend({on:function(e,t,n,r){return v(this,e,t,n,r)},one:function(e,t,n,r){return v(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,re(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=h),this.each(function(){re.event.remove(this,e,n,t)})}});var Me=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,Ie=/<script|<style|<link/i,We=/checked\s*(?:[^=]|=\s*.checked.)/i,$e=/^true\/(.*)/,Be=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;re.extend({htmlPrefilter:function(e){return e.replace(Me,"<$1></$2>")},clone:function(e,t,n){var r,i,o,s,a=e.cloneNode(!0),u=re.contains(e.ownerDocument,e);if(!(ne.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||re.isXMLDoc(e)))for(s=c(a),r=0,i=(o=c(e)).length;r<i;r++)w(o[r],s[r]);if(t)if(n)for(o=o||c(e),s=s||c(a),r=0,i=o.length;r<i;r++)b(o[r],s[r]);else b(e,a);return(s=c(a,"script")).length>0&&f(s,!u&&c(e,"script")),a},cleanData:function(e){for(var t,n,r,i=re.event.special,o=0;void 0!==(n=e[o]);o++)if(we(n)){if(t=n[Te.expando]){if(t.events)for(r in t.events)i[r]?re.event.remove(n,r):re.removeEvent(n,r,t.handle);n[Te.expando]=void 0}n[Ce.expando]&&(n[Ce.expando]=void 0)}}}),re.fn.extend({domManip:T,detach:function(e){return C(this,e,!0)},remove:function(e){return C(this,e)},text:function(e){return be(this,function(e){return void 0===e?re.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return T(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||m(this,e).appendChild(e)})},prepend:function(){return T(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=m(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return T(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return T(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(re.cleanData(c(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return re.clone(this,e,t)})},html:function(e){return be(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ie.test(e)&&!He[(qe.exec(e)||["",""])[1].toLowerCase()]){e=re.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(re.cleanData(c(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return T(this,arguments,function(t){var n=this.parentNode;re.inArray(this,e)<0&&(re.cleanData(c(this)),n&&n.replaceChild(t,this))},e)}}),re.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){re.fn[e]=function(e){for(var n,r=[],i=re(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),re(i[s])[t](n),J.apply(r,n.get());return this.pushStack(r)}});var _e,Xe={HTML:"block",BODY:"block"},ze=/^margin/,Ue=new RegExp("^("+Ne+")(?!px)[a-z%]+$","i"),Ve=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Ye=function(e,t,n,r){var i,o,s={};for(o in t)s[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=s[o];return i},Ge=Y.documentElement;!function(){function t(){a.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",Ge.appendChild(s);var t=e.getComputedStyle(a);n="1%"!==t.top,o="2px"===t.marginLeft,r="4px"===t.width,a.style.marginRight="50%",i="4px"===t.marginRight,Ge.removeChild(s)}var n,r,i,o,s=Y.createElement("div"),a=Y.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",ne.clearCloneStyle="content-box"===a.style.backgroundClip,s.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",s.appendChild(a),re.extend(ne,{pixelPosition:function(){return t(),n},boxSizingReliable:function(){return null==r&&t(),r},pixelMarginRight:function(){return null==r&&t(),i},reliableMarginLeft:function(){return null==r&&t(),o},reliableMarginRight:function(){var t,n=a.appendChild(Y.createElement("div"));return n.style.cssText=a.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",n.style.marginRight=n.style.width="0",a.style.width="1px",Ge.appendChild(s),t=!parseFloat(e.getComputedStyle(n).marginRight),Ge.removeChild(s),a.removeChild(n),t}}))}();var Qe=/^(none|table(?!-c[ea]).+)/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"},Ze=["Webkit","O","Moz","ms"],et=Y.createElement("div").style;re.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=N(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,s,a=re.camelCase(t),u=e.style;if(t=re.cssProps[a]||(re.cssProps[a]=j(a)||a),s=re.cssHooks[t]||re.cssHooks[a],void 0===n)return s&&"get"in s&&void 0!==(i=s.get(e,!1,r))?i:u[t];"string"==(o=typeof n)&&(i=Se.exec(n))&&i[1]&&(n=l(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(re.cssNumber[a]?"":"px")),ne.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),s&&"set"in s&&void 0===(n=s.set(e,n,r))||(u[t]=n))}},css:function(e,t,n,r){var i,o,s,a=re.camelCase(t);return t=re.cssProps[a]||(re.cssProps[a]=j(a)||a),(s=re.cssHooks[t]||re.cssHooks[a])&&"get"in s&&(i=s.get(e,!0,n)),void 0===i&&(i=N(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),re.each(["height","width"],function(e,t){re.cssHooks[t]={get:function(e,n,r){if(n)return Qe.test(re.css(e,"display"))&&0===e.offsetWidth?Ye(e,Je,function(){return q(e,t,r)}):q(e,t,r)},set:function(e,n,r){var i,o=r&&Ve(e),s=r&&A(e,t,r,"border-box"===re.css(e,"boxSizing",!1,o),o);return s&&(i=Se.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=re.css(e,t)),D(0,n,s)}}}),re.cssHooks.marginLeft=S(ne.reliableMarginLeft,function(e,t){if(t)return(parseFloat(N(e,"marginLeft"))||e.getBoundingClientRect().left-Ye(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),re.cssHooks.marginRight=S(ne.reliableMarginRight,function(e,t){if(t)return Ye(e,{display:"inline-block"},N,[e,"marginRight"])}),re.each({margin:"",padding:"",border:"Width"},function(e,t){re.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+je[r]+t]=o[r]||o[r-2]||o[0];return i}},ze.test(e)||(re.cssHooks[e+t].set=D)}),re.fn.extend({css:function(e,t){return be(this,function(e,t,n){var r,i,o={},s=0;if(re.isArray(t)){for(r=Ve(e),i=t.length;s<i;s++)o[t[s]]=re.css(e,t[s],!1,r);return o}return void 0!==n?re.style(e,t,n):re.css(e,t)},e,t,arguments.length>1)},show:function(){return L(this,!0)},hide:function(){return L(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){De(this)?re(this).show():re(this).hide()})}}),re.Tween=H,H.prototype={constructor:H,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||re.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(re.cssNumber[n]?"":"px")},cur:function(){var e=H.propHooks[this.prop];return e&&e.get?e.get(this):H.propHooks._default.get(this)},run:function(e){var t,n=H.propHooks[this.prop];return this.options.duration?this.pos=t=re.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):H.propHooks._default.set(this),this}},H.prototype.init.prototype=H.prototype,H.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=re.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){re.fx.step[e.prop]?re.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[re.cssProps[e.prop]]&&!re.cssHooks[e.prop]?e.elem[e.prop]=e.now:re.style(e.elem,e.prop,e.now+e.unit)}}},H.propHooks.scrollTop=H.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},re.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},re.fx=H.prototype.init,re.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;re.Animation=re.extend(M,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return l(n.elem,e,Se.exec(t),n),n}]},tweener:function(e,t){re.isFunction(e)?(t=e,e=["*"]):e=e.match(ye);for(var n,r=0,i=e.length;r<i;r++)n=e[r],M.tweeners[n]=M.tweeners[n]||[],M.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,s,a,u,l,c=this,f={},p=e.style,d=e.nodeType&&De(e),h=Te.get(e,"fxshow");n.queue||(null==(a=re._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,u=a.empty.fire,a.empty.fire=function(){a.unqueued||u()}),a.unqueued++,c.always(function(){c.always(function(){a.unqueued--,re.queue(e,"fx").length||a.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===("none"===(l=re.css(e,"display"))?Te.get(e,"olddisplay")||E(e.nodeName):l)&&"none"===re.css(e,"float")&&(p.display="inline-block")),n.overflow&&(p.overflow="hidden",c.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],rt.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(d?"hide":"show")){if("show"!==i||!h||void 0===h[r])continue;d=!0}f[r]=h&&h[r]||re.style(e,r)}else l=void 0;if(re.isEmptyObject(f))"inline"===("none"===l?E(e.nodeName):l)&&(p.display=l);else{h?"hidden"in h&&(d=h.hidden):h=Te.access(e,"fxshow",{}),o&&(h.hidden=!d),d?re(e).show():c.done(function(){re(e).hide()}),c.done(function(){var t;Te.remove(e,"fxshow");for(t in f)re.style(e,t,f[t])});for(r in f)s=P(d?h[r]:0,r,c),r in h||(h[r]=s.start,d&&(s.end=s.start,s.start="width"===r||"height"===r?1:0))}}],prefilter:function(e,t){t?M.prefilters.unshift(e):M.prefilters.push(e)}}),re.speed=function(e,t,n){var r=e&&"object"==typeof e?re.extend({},e):{complete:n||!n&&t||re.isFunction(e)&&e,duration:e,easing:n&&t||t&&!re.isFunction(t)&&t};return r.duration=re.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in re.fx.speeds?re.fx.speeds[r.duration]:re.fx.speeds._default,null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){re.isFunction(r.old)&&r.old.call(this),r.queue&&re.dequeue(this,r.queue)},r},re.fn.extend({fadeTo:function(e,t,n,r){return this.filter(De).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=re.isEmptyObject(e),o=re.speed(t,n,r),s=function(){var t=M(this,re.extend({},e),o);(i||Te.get(this,"finish"))&&t.stop(!0)};return s.finish=s,i||!1===o.queue?this.each(s):this.queue(o.queue,s)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=re.timers,s=Te.get(this);if(i)s[i]&&s[i].stop&&r(s[i]);else for(i in s)s[i]&&s[i].stop&&it.test(i)&&r(s[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||re.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=Te.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=re.timers,s=r?r.length:0;for(n.finish=!0,re.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<s;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),re.each(["toggle","show","hide"],function(e,t){var n=re.fn[t];re.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(F(t,!0),e,r,i)}}),re.each({slideDown:F("show"),slideUp:F("hide"),slideToggle:F("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){re.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),re.timers=[],re.fx.tick=function(){var e,t=0,n=re.timers;for(tt=re.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||re.fx.stop(),tt=void 0},re.fx.timer=function(e){re.timers.push(e),e()?re.fx.start():re.timers.pop()},re.fx.interval=13,re.fx.start=function(){nt||(nt=e.setInterval(re.fx.tick,re.fx.interval))},re.fx.stop=function(){e.clearInterval(nt),nt=null},re.fx.speeds={slow:600,fast:200,_default:400},re.fn.delay=function(t,n){return t=re.fx?re.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=Y.createElement("input"),t=Y.createElement("select"),n=t.appendChild(Y.createElement("option"));e.type="checkbox",ne.checkOn=""!==e.value,ne.optSelected=n.selected,t.disabled=!0,ne.optDisabled=!n.disabled,(e=Y.createElement("input")).value="t",e.type="radio",ne.radioValue="t"===e.value}();var ot,st=re.expr.attrHandle;re.fn.extend({attr:function(e,t){return be(this,re.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){re.removeAttr(this,e)})}}),re.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?re.prop(e,t,n):(1===o&&re.isXMLDoc(e)||(t=t.toLowerCase(),i=re.attrHooks[t]||(re.expr.match.bool.test(t)?ot:void 0)),void 0!==n?null===n?void re.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=re.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!ne.radioValue&&"radio"===t&&re.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(ye);if(o&&1===e.nodeType)for(;n=o[i++];)r=re.propFix[n]||n,re.expr.match.bool.test(n)&&(e[r]=!1),e.removeAttribute(n)}}),ot={set:function(e,t,n){return!1===t?re.removeAttr(e,n):e.setAttribute(n,n),n}},re.each(re.expr.match.bool.source.match(/\w+/g),function(e,t){var n=st[t]||re.find.attr;st[t]=function(e,t,r){var i,o;return r||(o=st[t],st[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,st[t]=o),i}});var at=/^(?:input|select|textarea|button)$/i,ut=/^(?:a|area)$/i;re.fn.extend({prop:function(e,t){return be(this,re.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[re.propFix[e]||e]})}}),re.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&re.isXMLDoc(e)||(t=re.propFix[t]||t,i=re.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=re.find.attr(e,"tabindex");return t?parseInt(t,10):at.test(e.nodeName)||ut.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),ne.optSelected||(re.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),re.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){re.propFix[this.toLowerCase()]=this});var lt=/[\t\r\n\f]/g;re.fn.extend({addClass:function(e){var t,n,r,i,o,s,a,u=0;if(re.isFunction(e))return this.each(function(t){re(this).addClass(e.call(this,t,I(this)))});if("string"==typeof e&&e)for(t=e.match(ye)||[];n=this[u++];)if(i=I(n),r=1===n.nodeType&&(" "+i+" ").replace(lt," ")){for(s=0;o=t[s++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(a=re.trim(r))&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,r,i,o,s,a,u=0;if(re.isFunction(e))return this.each(function(t){re(this).removeClass(e.call(this,t,I(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(ye)||[];n=this[u++];)if(i=I(n),r=1===n.nodeType&&(" "+i+" ").replace(lt," ")){for(s=0;o=t[s++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(a=re.trim(r))&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):re.isFunction(e)?this.each(function(n){re(this).toggleClass(e.call(this,n,I(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=re(this),o=e.match(ye)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||((t=I(this))&&Te.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":Te.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+I(n)+" ").replace(lt," ").indexOf(t)>-1)return!0;return!1}});var ct=/\r/g,ft=/[\x20\t\r\n\f]+/g;re.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=re.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,re(this).val()):e)?i="":"number"==typeof i?i+="":re.isArray(i)&&(i=re.map(i,function(e){return null==e?"":e+""})),(t=re.valHooks[this.type]||re.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=re.valHooks[i.type]||re.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(ct,""):null==n?"":n}}}),re.extend({valHooks:{option:{get:function(e){var t=re.find.attr(e,"value");return null!=t?t:re.trim(re.text(e)).replace(ft," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,s=o?null:[],a=o?i+1:r.length,u=i<0?a:o?i:0;u<a;u++)if(((n=r[u]).selected||u===i)&&(ne.optDisabled?!n.disabled:null===n.getAttribute("disabled"))&&(!n.parentNode.disabled||!re.nodeName(n.parentNode,"optgroup"))){if(t=re(n).val(),o)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=re.makeArray(t),s=i.length;s--;)((r=i[s]).selected=re.inArray(re.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),re.each(["radio","checkbox"],function(){re.valHooks[this]={set:function(e,t){if(re.isArray(t))return e.checked=re.inArray(re(e).val(),t)>-1}},ne.checkOn||(re.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var pt=/^(?:focusinfocus|focusoutblur)$/;re.extend(re.event,{trigger:function(t,n,r,i){var o,s,a,u,l,c,f,p=[r||Y],d=te.call(t,"type")?t.type:t,h=te.call(t,"namespace")?t.namespace.split("."):[];if(s=a=r=r||Y,3!==r.nodeType&&8!==r.nodeType&&!pt.test(d+re.event.triggered)&&(d.indexOf(".")>-1&&(d=(h=d.split(".")).shift(),h.sort()),l=d.indexOf(":")<0&&"on"+d,t=t[re.expando]?t:new re.Event(d,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:re.makeArray(n,[t]),f=re.event.special[d]||{},i||!f.trigger||!1!==f.trigger.apply(r,n))){if(!i&&!f.noBubble&&!re.isWindow(r)){for(u=f.delegateType||d,pt.test(u+d)||(s=s.parentNode);s;s=s.parentNode)p.push(s),a=s;a===(r.ownerDocument||Y)&&p.push(a.defaultView||a.parentWindow||e)}for(o=0;(s=p[o++])&&!t.isPropagationStopped();)t.type=o>1?u:f.bindType||d,(c=(Te.get(s,"events")||{})[t.type]&&Te.get(s,"handle"))&&c.apply(s,n),(c=l&&s[l])&&c.apply&&we(s)&&(t.result=c.apply(s,n),!1===t.result&&t.preventDefault());return t.type=d,i||t.isDefaultPrevented()||f._default&&!1!==f._default.apply(p.pop(),n)||!we(r)||l&&re.isFunction(r[d])&&!re.isWindow(r)&&((a=r[l])&&(r[l]=null),re.event.triggered=d,r[d](),re.event.triggered=void 0,a&&(r[l]=a)),t.result}},simulate:function(e,t,n){var r=re.extend(new re.Event,n,{type:e,isSimulated:!0});re.event.trigger(r,null,t)}}),re.fn.extend({trigger:function(e,t){return this.each(function(){re.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return re.event.trigger(e,t,n,!0)}}),re.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){re.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),re.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ne.focusin="onfocusin"in e,ne.focusin||re.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){re.event.simulate(t,e.target,re.event.fix(e))};re.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=Te.access(r,t);i||r.addEventListener(e,n,!0),Te.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=Te.access(r,t)-1;i?Te.access(r,t,i):(r.removeEventListener(e,n,!0),Te.remove(r,t))}}});var dt=e.location,ht=re.now(),gt=/\?/;re.parseJSON=function(e){return JSON.parse(e+"")},re.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||re.error("Invalid XML: "+t),n};var vt=/#.*$/,mt=/([?&])_=[^&]*/,yt=/^(.*?):[ \t]*([^\r\n]*)$/gm,xt=/^(?:GET|HEAD)$/,bt=/^\/\//,wt={},Tt={},Ct="*/".concat("*"),kt=Y.createElement("a");kt.href=dt.href,re.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:dt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(dt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ct,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":re.parseJSON,"text xml":re.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?B(B(e,re.ajaxSettings),t):B(re.ajaxSettings,e)},ajaxPrefilter:W(wt),ajaxTransport:W(Tt),ajax:function(t,n){function r(t,n,r,a){var l,f,y,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),i=void 0,s=a||"",T.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(x=_(p,T,r)),x=X(p,x,T,l),l?(p.ifModified&&((w=T.getResponseHeader("Last-Modified"))&&(re.lastModified[o]=w),(w=T.getResponseHeader("etag"))&&(re.etag[o]=w)),204===t||"HEAD"===p.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,l=!(y=x.error))):(y=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",l?g.resolveWith(d,[f,C,T]):g.rejectWith(d,[T,C,y]),T.statusCode(m),m=void 0,c&&h.trigger(l?"ajaxSuccess":"ajaxError",[T,p,l?f:y]),v.fireWith(d,[T,C]),c&&(h.trigger("ajaxComplete",[T,p]),--re.active||re.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,s,a,u,l,c,f,p=re.ajaxSetup({},n),d=p.context||p,h=p.context&&(d.nodeType||d.jquery)?re(d):re.event,g=re.Deferred(),v=re.Callbacks("once memory"),m=p.statusCode||{},y={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!a)for(a={};t=yt.exec(s);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)m[t]=[m[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return i&&i.abort(t),r(0,t),this}};if(g.promise(T).complete=v.add,T.success=T.done,T.error=T.fail,p.url=((t||p.url||dt.href)+"").replace(vt,"").replace(bt,dt.protocol+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=re.trim(p.dataType||"*").toLowerCase().match(ye)||[""],null==p.crossDomain){l=Y.createElement("a");try{l.href=p.url,l.href=l.href,p.crossDomain=kt.protocol+"//"+kt.host!=l.protocol+"//"+l.host}catch(e){p.crossDomain=!0}}if(p.data&&p.processData&&"string"!=typeof p.data&&(p.data=re.param(p.data,p.traditional)),$(wt,p,n,T),2===b)return T;(c=re.event&&p.global)&&0==re.active++&&re.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!xt.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(gt.test(o)?"&":"?")+p.data,delete p.data),!1===p.cache&&(p.url=mt.test(o)?o.replace(mt,"$1_="+ht++):o+(gt.test(o)?"&":"?")+"_="+ht++)),p.ifModified&&(re.lastModified[o]&&T.setRequestHeader("If-Modified-Since",re.lastModified[o]),re.etag[o]&&T.setRequestHeader("If-None-Match",re.etag[o])),(p.data&&p.hasContent&&!1!==p.contentType||n.contentType)&&T.setRequestHeader("Content-Type",p.contentType),T.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Ct+"; q=0.01":""):p.accepts["*"]);for(f in p.headers)T.setRequestHeader(f,p.headers[f]);if(p.beforeSend&&(!1===p.beforeSend.call(d,T,p)||2===b))return T.abort();w="abort";for(f in{success:1,error:1,complete:1})T[f](p[f]);if(i=$(Tt,p,n,T)){if(T.readyState=1,c&&h.trigger("ajaxSend",[T,p]),2===b)return T;p.async&&p.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},p.timeout));try{b=1,i.send(y,r)}catch(e){if(!(b<2))throw e;r(-1,e)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return re.get(e,t,n,"json")},getScript:function(e,t){return re.get(e,void 0,t,"script")}}),re.each(["get","post"],function(e,t){re[t]=function(e,n,r,i){return re.isFunction(n)&&(i=i||r,r=n,n=void 0),re.ajax(re.extend({url:e,type:t,dataType:i,data:n,success:r},re.isPlainObject(e)&&e))}}),re._evalUrl=function(e){return re.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},re.fn.extend({wrapAll:function(e){var t;return re.isFunction(e)?this.each(function(t){re(this).wrapAll(e.call(this,t))}):(this[0]&&(t=re(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this)},wrapInner:function(e){return re.isFunction(e)?this.each(function(t){re(this).wrapInner(e.call(this,t))}):this.each(function(){var t=re(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=re.isFunction(e);return this.each(function(n){re(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){re.nodeName(this,"body")||re(this).replaceWith(this.childNodes)}).end()}}),re.expr.filters.hidden=function(e){return!re.expr.filters.visible(e)},re.expr.filters.visible=function(e){return e.offsetWidth>0||e.offsetHeight>0||e.getClientRects().length>0};var Et=/%20/g,Nt=/\[\]$/,St=/\r?\n/g,jt=/^(?:submit|button|image|reset|file)$/i,Dt=/^(?:input|select|textarea|keygen)/i;re.param=function(e,t){var n,r=[],i=function(e,t){t=re.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=re.ajaxSettings&&re.ajaxSettings.traditional),re.isArray(e)||e.jquery&&!re.isPlainObject(e))re.each(e,function(){i(this.name,this.value)});else for(n in e)z(n,e[n],t,i);return r.join("&").replace(Et,"+")},re.fn.extend({serialize:function(){return re.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=re.prop(this,"elements");return e?re.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!re(this).is(":disabled")&&Dt.test(this.nodeName)&&!jt.test(e)&&(this.checked||!Ae.test(e))}).map(function(e,t){var n=re(this).val();return null==n?null:re.isArray(n)?re.map(n,function(e){return{name:t.name,value:e.replace(St,"\r\n")}}):{name:t.name,value:n.replace(St,"\r\n")}}).get()}}),re.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var At={0:200,1223:204},qt=re.ajaxSettings.xhr();ne.cors=!!qt&&"withCredentials"in qt,ne.ajax=qt=!!qt,re.ajaxTransport(function(t){var n,r;if(ne.cors||qt&&!t.crossDomain)return{send:function(i,o){var s,a=t.xhr();if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(s in t.xhrFields)a[s]=t.xhrFields[s];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(s in i)a.setRequestHeader(s,i[s]);n=function(e){return function(){n&&(n=r=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(At[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=n(),r=a.onerror=n("error"),void 0!==a.onabort?a.onabort=r:a.onreadystatechange=function(){4===a.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{a.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),re.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return re.globalEval(e),e}}}),re.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),re.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(r,i){t=re("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),Y.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Lt=[],Ht=/(=)\?(?=&|$)|\?\?/;re.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Lt.pop()||re.expando+"_"+ht++;return this[e]=!0,e}}),re.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,s,a=!1!==t.jsonp&&(Ht.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ht.test(t.data)&&"data");if(a||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=re.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,a?t[a]=t[a].replace(Ht,"$1"+i):!1!==t.jsonp&&(t.url+=(gt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return s||re.error(i+" was not called"),s[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){s=arguments},r.always(function(){void 0===o?re(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Lt.push(i)),s&&re.isFunction(o)&&o(s[0]),s=o=void 0}),"script"}),re.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||Y;var r=pe.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=p([e],t,i),i&&i.length&&re(i).remove(),re.merge([],r.childNodes))};var Ot=re.fn.load;re.fn.load=function(e,t,n){if("string"!=typeof e&&Ot)return Ot.apply(this,arguments);var r,i,o,s=this,a=e.indexOf(" ");return a>-1&&(r=re.trim(e.slice(a)),e=e.slice(0,a)),re.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),s.length>0&&re.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,s.html(r?re("<div>").append(re.parseHTML(e)).find(r):e)}).always(n&&function(e,t){s.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},re.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){re.fn[t]=function(e){return this.on(t,e)}}),re.expr.filters.animated=function(e){return re.grep(re.timers,function(t){return e===t.elem}).length},re.offset={setOffset:function(e,t,n){var r,i,o,s,a,u,l=re.css(e,"position"),c=re(e),f={};"static"===l&&(e.style.position="relative"),a=c.offset(),o=re.css(e,"top"),u=re.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(s=(r=c.position()).top,i=r.left):(s=parseFloat(o)||0,i=parseFloat(u)||0),re.isFunction(t)&&(t=t.call(e,n,re.extend({},a))),null!=t.top&&(f.top=t.top-a.top+s),null!=t.left&&(f.left=t.left-a.left+i),"using"in t?t.using.call(e,f):c.css(f)}},re.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){re.offset.setOffset(this,e,t)});var t,n,r=this[0],i={top:0,left:0},o=r&&r.ownerDocument;if(o)return t=o.documentElement,re.contains(t,r)?(i=r.getBoundingClientRect(),n=U(o),{top:i.top+n.pageYOffset-t.clientTop,left:i.left+n.pageXOffset-t.clientLeft}):i},position:function(){if(this[0]){var e,t,n=this[0],r={top:0,left:0};return"fixed"===re.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),re.nodeName(e[0],"html")||(r=e.offset()),r.top+=re.css(e[0],"borderTopWidth",!0),r.left+=re.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-re.css(n,"marginTop",!0),left:t.left-r.left-re.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===re.css(e,"position");)e=e.offsetParent;return e||Ge})}}),re.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;re.fn[e]=function(r){return be(this,function(e,r,i){var o=U(e);if(void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),re.each(["top","left"],function(e,t){re.cssHooks[t]=S(ne.pixelPosition,function(e,n){if(n)return n=N(e,t),Ue.test(n)?re(e).position()[t]+"px":n})}),re.each({Height:"height",Width:"width"},function(e,t){re.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){re.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),s=n||(!0===r||!0===i?"margin":"border");return be(this,function(t,n,r){var i;return re.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?re.css(t,n,s):re.style(t,n,r,s)},t,o?r:void 0,o,null)}})}),re.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},size:function(){return this.length}}),re.fn.andSelf=re.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return re});var Ft=e.jQuery,Pt=e.$;return re.noConflict=function(t){return e.$===re&&(e.$=Pt),t&&e.jQuery===re&&(e.jQuery=Ft),re},t||(e.jQuery=e.$=re),re});
--- a/src/pyams_skin/resources/js/ext/jquery-dataTables-autoFill.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,814 +0,0 @@
-/*! AutoFill 1.2.0
- * ©2008-2014 SpryMedia Ltd - datatables.net/license
- */
-
-/**
- * @summary     AutoFill
- * @description Add Excel like click and drag auto-fill options to DataTables
- * @version     1.2.0
- * @file        dataTables.autoFill.js
- * @author      SpryMedia Ltd (www.sprymedia.co.uk)
- * @contact     www.sprymedia.co.uk/contact
- * @copyright   Copyright 2010-2014 SpryMedia Ltd.
- *
- * This source file is free software, available under the following license:
- *   MIT license - http://datatables.net/license/mit
- *
- * This source file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details.
- *
- * For details please refer to: http://www.datatables.net
- */
-
-(function (window, document, undefined) {
-
-	var factory = function ($, DataTable) {
-		"use strict";
-
-		/**
-		 * AutoFill provides Excel like auto-fill features for a DataTable
-		 *
-		 * @class AutoFill
-		 * @constructor
-		 * @param {object} oTD DataTables settings object
-		 * @param {object} oConfig Configuration object for AutoFill
-		 */
-		var AutoFill = function (oDT, oConfig) {
-			/* Sanity check that we are a new instance */
-			if (!(this instanceof AutoFill)) {
-				throw( "Warning: AutoFill must be initialised with the keyword 'new'" );
-			}
-
-			if (!$.fn.dataTableExt.fnVersionCheck('1.7.0')) {
-				throw( "Warning: AutoFill requires DataTables 1.7 or greater");
-			}
-
-
-			/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-			 * Public class variables
-			 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-			this.c = {};
-
-			/**
-			 * @namespace Settings object which contains customisable information for AutoFill instance
-			 */
-			this.s = {
-				/**
-				 * @namespace Cached information about the little dragging icon (the filler)
-				 */
-				"filler": {
-					"height": 0,
-					"width": 0
-				},
-
-				/**
-				 * @namespace Cached information about the border display
-				 */
-				"border": {
-					"width": 2
-				},
-
-				/**
-				 * @namespace Store for live information for the current drag
-				 */
-				"drag": {
-					"startX": -1,
-					"startY": -1,
-					"startTd": null,
-					"endTd": null,
-					"dragging": false
-				},
-
-				/**
-				 * @namespace Data cache for information that we need for scrolling the screen when we near
-				 *   the edges
-				 */
-				"screen": {
-					"interval": null,
-					"y": 0,
-					"height": 0,
-					"scrollTop": 0
-				},
-
-				/**
-				 * @namespace Data cache for the position of the DataTables scrolling element (when scrolling
-				 *   is enabled)
-				 */
-				"scroller": {
-					"top": 0,
-					"bottom": 0
-				},
-
-				/**
-				 * @namespace Information stored for each column. An array of objects
-				 */
-				"columns": []
-			};
-
-
-			/**
-			 * @namespace Common and useful DOM elements for the class instance
-			 */
-			this.dom = {
-				"table": null,
-				"filler": null,
-				"borderTop": null,
-				"borderRight": null,
-				"borderBottom": null,
-				"borderLeft": null,
-				"currentTarget": null
-			};
-
-
-			/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-			 * Public class methods
-			 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-			/**
-			 * Retreieve the settings object from an instance
-			 *  @method fnSettings
-			 *  @returns {object} AutoFill settings object
-			 */
-			this.fnSettings = function () {
-				return this.s;
-			};
-
-
-			/* Constructor logic */
-			this._fnInit(oDT, oConfig);
-			return this;
-		};
-
-
-		AutoFill.prototype = {
-			/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-			 * Private methods (they are of course public in JS, but recommended as private)
-			 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-			/**
-			 * Initialisation
-			 *  @method _fnInit
-			 *  @param {object} dt DataTables settings object
-			 *  @param {object} config Configuration object for AutoFill
-			 *  @returns void
-			 */
-			"_fnInit": function (dt, config) {
-				var
-					that = this,
-					i, iLen;
-
-				// Use DataTables API to get the settings allowing selectors, instances
-				// etc to be used, or for backwards compatibility get from the old
-				// fnSettings method
-				this.s.dt = DataTable.Api ?
-					new DataTable.Api(dt).settings()[0] :
-					dt.fnSettings();
-				this.s.init = config || {};
-				this.dom.table = this.s.dt.nTable;
-
-				$.extend(true, this.c, AutoFill.defaults, config);
-
-				/* Add and configure the columns */
-				this._initColumns();
-
-				/* Auto Fill click and drag icon */
-				var filler = $('<div/>', {
-					'class': 'AutoFill_filler'
-				})
-					.appendTo('body');
-				this.dom.filler = filler[0];
-
-				// Get the height / width of the click element
-				this.s.filler.height = filler.height();
-				this.s.filler.width = filler.width();
-				filler[0].style.display = "none";
-
-				/* Border display - one div for each side. We can't just use a single
-				 * one with a border, as we want the events to effectively pass through
-				 * the transparent bit of the box
-				 */
-				var border;
-				var appender = document.body;
-				if (that.s.dt.oScroll.sY !== "") {
-					that.s.dt.nTable.parentNode.style.position = "relative";
-					appender = that.s.dt.nTable.parentNode;
-				}
-
-				border = $('<div/>', {
-					"class": "AutoFill_border"
-				});
-				this.dom.borderTop = border.clone().appendTo(appender)[0];
-				this.dom.borderRight = border.clone().appendTo(appender)[0];
-				this.dom.borderBottom = border.clone().appendTo(appender)[0];
-				this.dom.borderLeft = border.clone().appendTo(appender)[0];
-
-				/* Events */
-				filler.on('mousedown.DTAF', function (e) {
-					this.onselectstart = function () {
-						return false;
-					};
-					that._fnFillerDragStart.call(that, e);
-					return false;
-				});
-
-				$('tbody', this.dom.table).on(
-					'mouseover.DTAF mouseout.DTAF',
-					'>tr>td, >tr>th',
-					function (e) {
-						that._fnFillerDisplay.call(that, e);
-					}
-				);
-
-				$(this.dom.table).on('destroy.dt.DTAF', function () {
-					filler.off('mousedown.DTAF').remove();
-					$('tbody', this.dom.table).off('mouseover.DTAF mouseout.DTAF');
-				});
-			},
-
-
-			_initColumns: function () {
-				var that = this;
-				var i, ien;
-				var dt = this.s.dt;
-				var config = this.s.init;
-
-				for (i = 0, ien = dt.aoColumns.length; i < ien; i++) {
-					this.s.columns[i] = $.extend(true, {}, AutoFill.defaults.column);
-				}
-
-				dt.oApi._fnApplyColumnDefs(
-					dt,
-					config.aoColumnDefs || config.columnDefs,
-					config.aoColumns || config.columns,
-					function (colIdx, def) {
-						that._fnColumnOptions(colIdx, def);
-					}
-				);
-
-				// For columns which don't have read, write, step functions defined,
-				// use the default ones
-				for (i = 0, ien = dt.aoColumns.length; i < ien; i++) {
-					var column = this.s.columns[i];
-
-					if (!column.read) {
-						column.read = this._fnReadCell;
-					}
-					if (!column.write) {
-						column.read = this._fnWriteCell;
-					}
-					if (!column.step) {
-						column.read = this._fnStep;
-					}
-				}
-			},
-
-
-			"_fnColumnOptions": function (i, opts) {
-				var column = this.s.columns[ i ];
-				var set = function (outProp, inProp) {
-					if (opts[ inProp[0] ] !== undefined) {
-						column[ outProp ] = opts[ inProp[0] ];
-					}
-					if (opts[ inProp[1] ] !== undefined) {
-						column[ outProp ] = opts[ inProp[1] ];
-					}
-				};
-
-				// Compatibility with the old Hungarian style of notation
-				set('enable', ['bEnable', 'enable']);
-				set('read', ['fnRead', 'read']);
-				set('write', ['fnWrite', 'write']);
-				set('step', ['fnStep', 'step']);
-				set('increment', ['bIncrement', 'increment']);
-			},
-
-
-			/**
-			 * Find out the coordinates of a given TD cell in a table
-			 *  @method  _fnTargetCoords
-			 *  @param   {Node} nTd
-			 *  @returns {Object} x and y properties, for the position of the cell in the tables DOM
-			 */
-			"_fnTargetCoords": function (nTd) {
-				var nTr = $(nTd).parents('tr')[0];
-				var position = this.s.dt.oInstance.fnGetPosition(nTd);
-
-				return {
-					"x": $('td', nTr).index(nTd),
-					"y": $('tr', nTr.parentNode).index(nTr),
-					"row": position[0],
-					"column": position[2]
-				};
-			},
-
-
-			/**
-			 * Display the border around one or more cells (from start to end)
-			 *  @method  _fnUpdateBorder
-			 *  @param   {Node} nStart Starting cell
-			 *  @param   {Node} nEnd Ending cell
-			 *  @returns void
-			 */
-			"_fnUpdateBorder": function (nStart, nEnd) {
-				var
-					border = this.s.border.width,
-					offsetStart = $(nStart).offset(),
-					offsetEnd = $(nEnd).offset(),
-					x1 = offsetStart.left - border,
-					x2 = offsetEnd.left + $(nEnd).outerWidth(),
-					y1 = offsetStart.top - border,
-					y2 = offsetEnd.top + $(nEnd).outerHeight(),
-					width = offsetEnd.left + $(nEnd).outerWidth() - offsetStart.left + (2 * border),
-					height = offsetEnd.top + $(nEnd).outerHeight() - offsetStart.top + (2 * border),
-					oStyle;
-
-				// Recalculate start and end (when dragging "backwards")
-				if (offsetStart.left > offsetEnd.left) {
-					x1 = offsetEnd.left - border;
-					x2 = offsetStart.left + $(nStart).outerWidth();
-					width = offsetStart.left + $(nStart).outerWidth() - offsetEnd.left + (2 * border);
-				}
-
-				if (this.s.dt.oScroll.sY !== "") {
-					/* The border elements are inside the DT scroller - so position relative to that */
-					var
-						offsetScroll = $(this.s.dt.nTable.parentNode).offset(),
-						scrollTop = $(this.s.dt.nTable.parentNode).scrollTop(),
-						scrollLeft = $(this.s.dt.nTable.parentNode).scrollLeft();
-
-					x1 -= offsetScroll.left - scrollLeft;
-					x2 -= offsetScroll.left - scrollLeft;
-					y1 -= offsetScroll.top - scrollTop;
-					y2 -= offsetScroll.top - scrollTop;
-				}
-
-				/* Top */
-				oStyle = this.dom.borderTop.style;
-				oStyle.top = y1 + "px";
-				oStyle.left = x1 + "px";
-				oStyle.height = this.s.border.width + "px";
-				oStyle.width = width + "px";
-
-				/* Bottom */
-				oStyle = this.dom.borderBottom.style;
-				oStyle.top = y2 + "px";
-				oStyle.left = x1 + "px";
-				oStyle.height = this.s.border.width + "px";
-				oStyle.width = width + "px";
-
-				/* Left */
-				oStyle = this.dom.borderLeft.style;
-				oStyle.top = y1 + "px";
-				oStyle.left = x1 + "px";
-				oStyle.height = height + "px";
-				oStyle.width = this.s.border.width + "px";
-
-				/* Right */
-				oStyle = this.dom.borderRight.style;
-				oStyle.top = y1 + "px";
-				oStyle.left = x2 + "px";
-				oStyle.height = height + "px";
-				oStyle.width = this.s.border.width + "px";
-			},
-
-
-			/**
-			 * Mouse down event handler for starting a drag
-			 *  @method  _fnFillerDragStart
-			 *  @param   {Object} e Event object
-			 *  @returns void
-			 */
-			"_fnFillerDragStart": function (e) {
-				var that = this;
-				var startingTd = this.dom.currentTarget;
-
-				this.s.drag.dragging = true;
-
-				that.dom.borderTop.style.display = "block";
-				that.dom.borderRight.style.display = "block";
-				that.dom.borderBottom.style.display = "block";
-				that.dom.borderLeft.style.display = "block";
-
-				var coords = this._fnTargetCoords(startingTd);
-				this.s.drag.startX = coords.x;
-				this.s.drag.startY = coords.y;
-
-				this.s.drag.startTd = startingTd;
-				this.s.drag.endTd = startingTd;
-
-				this._fnUpdateBorder(startingTd, startingTd);
-
-				$(document).bind('mousemove.AutoFill', function (e) {
-					that._fnFillerDragMove.call(that, e);
-				});
-
-				$(document).bind('mouseup.AutoFill', function (e) {
-					that._fnFillerFinish.call(that, e);
-				});
-
-				/* Scrolling information cache */
-				this.s.screen.y = e.pageY;
-				this.s.screen.height = $(window).height();
-				this.s.screen.scrollTop = $(document).scrollTop();
-
-				if (this.s.dt.oScroll.sY !== "") {
-					this.s.scroller.top = $(this.s.dt.nTable.parentNode).offset().top;
-					this.s.scroller.bottom = this.s.scroller.top + $(this.s.dt.nTable.parentNode).height();
-				}
-
-				/* Scrolling handler - we set an interval (which is cancelled on mouse up) which will fire
-				 * regularly and see if we need to do any scrolling
-				 */
-				this.s.screen.interval = setInterval(function () {
-					var iScrollTop = $(document).scrollTop();
-					var iScrollDelta = iScrollTop - that.s.screen.scrollTop;
-					that.s.screen.y += iScrollDelta;
-
-					if (that.s.screen.height - that.s.screen.y + iScrollTop < 50) {
-						$('html, body').animate({
-													"scrollTop": iScrollTop + 50
-												}, 240, 'linear');
-					}
-					else if (that.s.screen.y - iScrollTop < 50) {
-						$('html, body').animate({
-													"scrollTop": iScrollTop - 50
-												}, 240, 'linear');
-					}
-
-					if (that.s.dt.oScroll.sY !== "") {
-						if (that.s.screen.y > that.s.scroller.bottom - 50) {
-							$(that.s.dt.nTable.parentNode).animate({
-																	   "scrollTop": $(that.s.dt.nTable.parentNode).scrollTop() + 50
-																   }, 240, 'linear');
-						}
-						else if (that.s.screen.y < that.s.scroller.top + 50) {
-							$(that.s.dt.nTable.parentNode).animate({
-																	   "scrollTop": $(that.s.dt.nTable.parentNode).scrollTop() - 50
-																   }, 240, 'linear');
-						}
-					}
-				}, 250);
-			},
-
-
-			/**
-			 * Mouse move event handler for during a move. See if we want to update the display based on the
-			 * new cursor position
-			 *  @method  _fnFillerDragMove
-			 *  @param   {Object} e Event object
-			 *  @returns void
-			 */
-			"_fnFillerDragMove": function (e) {
-				if (e.target && e.target.nodeName.toUpperCase() == "TD" &&
-					e.target != this.s.drag.endTd) {
-					var coords = this._fnTargetCoords(e.target);
-
-					if (this.c.mode == "y" && coords.x != this.s.drag.startX) {
-						e.target = $('tbody>tr:eq(' + coords.y + ')>td:eq(' + this.s.drag.startX + ')', this.dom.table)[0];
-					}
-					if (this.c.mode == "x" && coords.y != this.s.drag.startY) {
-						e.target = $('tbody>tr:eq(' + this.s.drag.startY + ')>td:eq(' + coords.x + ')', this.dom.table)[0];
-					}
-
-					if (this.c.mode == "either") {
-						if (coords.x != this.s.drag.startX) {
-							e.target = $('tbody>tr:eq(' + this.s.drag.startY + ')>td:eq(' + coords.x + ')', this.dom.table)[0];
-						}
-						else if (coords.y != this.s.drag.startY) {
-							e.target = $('tbody>tr:eq(' + coords.y + ')>td:eq(' + this.s.drag.startX + ')', this.dom.table)[0];
-						}
-					}
-
-					// update coords
-					if (this.c.mode !== "both") {
-						coords = this._fnTargetCoords(e.target);
-					}
-
-					var drag = this.s.drag;
-					drag.endTd = e.target;
-
-					if (coords.y >= this.s.drag.startY) {
-						this._fnUpdateBorder(drag.startTd, drag.endTd);
-					}
-					else {
-						this._fnUpdateBorder(drag.endTd, drag.startTd);
-					}
-					this._fnFillerPosition(e.target);
-				}
-
-				/* Update the screen information so we can perform scrolling */
-				this.s.screen.y = e.pageY;
-				this.s.screen.scrollTop = $(document).scrollTop();
-
-				if (this.s.dt.oScroll.sY !== "") {
-					this.s.scroller.scrollTop = $(this.s.dt.nTable.parentNode).scrollTop();
-					this.s.scroller.top = $(this.s.dt.nTable.parentNode).offset().top;
-					this.s.scroller.bottom = this.s.scroller.top + $(this.s.dt.nTable.parentNode).height();
-				}
-			},
-
-
-			/**
-			 * Mouse release handler - end the drag and take action to update the cells with the needed values
-			 *  @method  _fnFillerFinish
-			 *  @param   {Object} e Event object
-			 *  @returns void
-			 */
-			"_fnFillerFinish": function (e) {
-				var that = this, i, iLen, j;
-
-				$(document).unbind('mousemove.AutoFill mouseup.AutoFill');
-
-				this.dom.borderTop.style.display = "none";
-				this.dom.borderRight.style.display = "none";
-				this.dom.borderBottom.style.display = "none";
-				this.dom.borderLeft.style.display = "none";
-
-				this.s.drag.dragging = false;
-
-				clearInterval(this.s.screen.interval);
-
-				var cells = [];
-				var table = this.dom.table;
-				var coordsStart = this._fnTargetCoords(this.s.drag.startTd);
-				var coordsEnd = this._fnTargetCoords(this.s.drag.endTd);
-				var columnIndex = function (visIdx) {
-					return that.s.dt.oApi._fnVisibleToColumnIndex(that.s.dt, visIdx);
-				};
-
-				// xxx - urgh - there must be a way of reducing this...
-				if (coordsStart.y <= coordsEnd.y) {
-					for (i = coordsStart.y; i <= coordsEnd.y; i++) {
-						if (coordsStart.x <= coordsEnd.x) {
-							for (j = coordsStart.x; j <= coordsEnd.x; j++) {
-								cells.push({
-											   node: $('tbody>tr:eq(' + i + ')>td:eq(' + j + ')', table)[0],
-											   x: j - coordsStart.x,
-											   y: i - coordsStart.y,
-											   colIdx: columnIndex(j)
-										   });
-							}
-						}
-						else {
-							for (j = coordsStart.x; j >= coordsEnd.x; j--) {
-								cells.push({
-											   node: $('tbody>tr:eq(' + i + ')>td:eq(' + j + ')', table)[0],
-											   x: j - coordsStart.x,
-											   y: i - coordsStart.y,
-											   colIdx: columnIndex(j)
-										   });
-							}
-						}
-					}
-				}
-				else {
-					for (i = coordsStart.y; i >= coordsEnd.y; i--) {
-						if (coordsStart.x <= coordsEnd.x) {
-							for (j = coordsStart.x; j <= coordsEnd.x; j++) {
-								cells.push({
-											   node: $('tbody>tr:eq(' + i + ')>td:eq(' + j + ')', table)[0],
-											   x: j - coordsStart.x,
-											   y: i - coordsStart.y,
-											   colIdx: columnIndex(j)
-										   });
-							}
-						}
-						else {
-							for (j = coordsStart.x; j >= coordsEnd.x; j--) {
-								cells.push({
-											   node: $('tbody>tr:eq(' + i + ')>td:eq(' + j + ')', table)[0],
-											   x: coordsStart.x - j,
-											   y: coordsStart.y - i,
-											   colIdx: columnIndex(j)
-										   });
-							}
-						}
-					}
-				}
-
-				// An auto-fill requires 2 or more cells
-				if (cells.length <= 1) {
-					return;
-				}
-
-				var edited = [];
-				var previous;
-
-				for (i = 0, iLen = cells.length; i < iLen; i++) {
-					var cell = cells[i];
-					var column = this.s.columns[ cell.colIdx ];
-					var read = column.read.call(column, cell.node);
-					var stepValue = column.step.call(column, cell.node, read, previous, i, cell.x, cell.y);
-
-					column.write.call(column, cell.node, stepValue);
-
-					previous = stepValue;
-					edited.push({
-									cell: cell,
-									colIdx: cell.colIdx,
-									newValue: stepValue,
-									oldValue: read
-								});
-				}
-
-				if (this.c.complete !== null) {
-					this.c.complete.call(this, edited);
-				}
-
-				// In 1.10 we can do a static draw
-				if (DataTable.Api) {
-					new DataTable.Api(this.s.dt).draw(false);
-				}
-				else {
-					this.s.dt.oInstance.fnDraw();
-				}
-			},
-
-
-			/**
-			 * Display the drag handle on mouse over cell
-			 *  @method  _fnFillerDisplay
-			 *  @param   {Object} e Event object
-			 *  @returns void
-			 */
-			"_fnFillerDisplay": function (e) {
-				var filler = this.dom.filler;
-
-				/* Don't display automatically when dragging */
-				if (this.s.drag.dragging) {
-					return;
-				}
-
-				/* Check that we are allowed to AutoFill this column or not */
-				var nTd = (e.target.nodeName.toLowerCase() == 'td') ? e.target : $(e.target).parents('td')[0];
-				var iX = this._fnTargetCoords(nTd).column;
-				if (!this.s.columns[iX].enable) {
-					filler.style.display = "none";
-					return;
-				}
-
-				if (e.type == 'mouseover') {
-					this.dom.currentTarget = nTd;
-					this._fnFillerPosition(nTd);
-
-					filler.style.display = "block";
-				}
-				else if (!e.relatedTarget || !e.relatedTarget.className.match(/AutoFill/)) {
-					filler.style.display = "none";
-				}
-			},
-
-
-			/**
-			 * Position the filler icon over a cell
-			 *  @method  _fnFillerPosition
-			 *  @param   {Node} nTd Cell to position filler icon over
-			 *  @returns void
-			 */
-			"_fnFillerPosition": function (nTd) {
-				var offset = $(nTd).offset();
-				var filler = this.dom.filler;
-				filler.style.top = (offset.top - (this.s.filler.height / 2) - 1 + $(nTd).outerHeight()) + "px";
-				filler.style.left = (offset.left - (this.s.filler.width / 2) - 1 + $(nTd).outerWidth()) + "px";
-			}
-		};
-
-
-// Alias for access
-		DataTable.AutoFill = AutoFill;
-		DataTable.AutoFill = AutoFill;
-
-
-		/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-		 * Constants
-		 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
-
-		/**
-		 * AutoFill version
-		 *  @constant  version
-		 *  @type      String
-		 *  @default   See code
-		 */
-		AutoFill.version = "1.2.0";
-
-
-		/**
-		 * AutoFill defaults
-		 *  @namespace
-		 */
-		AutoFill.defaults = {
-			/**
-			 * Mode for dragging (restrict to y-axis only, x-axis only, either one or none):
-			 *
-			 *  * `y`      - y-axis only (default)
-			 *  * `x`      - x-axis only
-			 *  * `either` - either one, but not both axis at the same time
-			 *  * `both`   - multiple cells allowed
-			 *
-			 * @type {string}
-			 * @default `y`
-			 */
-			mode: 'y',
-
-			complete: null,
-
-			/**
-			 * Column definition defaults
-			 *  @namespace
-			 */
-			column: {
-				/**
-				 * If AutoFill should be enabled on this column
-				 *
-				 * @type {boolean}
-				 * @default true
-				 */
-				enable: true,
-
-				/**
-				 * Allow automatic increment / decrement on this column if a number
-				 * is found.
-				 *
-				 * @type {boolean}
-				 * @default true
-				 */
-				increment: true,
-
-				/**
-				 * Cell read function
-				 *
-				 * Default function will simply read the value from the HTML of the
-				 * cell.
-				 *
-				 * @type   {function}
-				 * @param  {node} cell `th` / `td` element to read the value from
-				 * @return {string}    Data that has been read
-				 */
-				read: function (cell) {
-					return $(cell).html();
-				},
-
-				/**
-				 * Cell write function
-				 *
-				 * Default function will simply write to the HTML and tell the DataTable
-				 * to update.
-				 *
-				 * @type   {function}
-				 * @param  {node} cell `th` / `td` element to write the value to
-				 * @return {string}    Data two write
-				 */
-				write: function (cell, val) {
-					var table = $(cell).parents('table');
-					if (DataTable.Api) {
-						// 1.10
-						table.DataTable().cell(cell).data(val);
-					}
-					else {
-						// 1.9
-						var dt = table.dataTable();
-						var pos = dt.fnGetPosition();
-						dt.fnUpdate(val, pos[0], pos[2], false);
-					}
-				},
-
-				/**
-				 * Step function. This provides the ability to customise how the values
-				 * are incremented.
-				 *
-				 * @param  {node} cell `th` / `td` element that is being operated upon
-				 * @param  {string} read Cell value from `read` function
-				 * @param  {string} last Value of the previous cell
-				 * @param  {integer} i Loop counter
-				 * @param  {integer} x Cell x-position in the current auto-fill. The
-				 *   starting cell is coordinate 0 regardless of its physical position
-				 *   in the DataTable.
-				 * @param  {integer} y Cell y-position in the current auto-fill. The
-				 *   starting cell is coordinate 0 regardless of its physical position
-				 *   in the DataTable.
-				 * @return {string} Value to write
-				 */
-				step: function (cell, read, last, i, x, y) {
-					// Increment a number if it is found
-					var re = /(\-?\d+)/;
-					var match = this.increment && last ? last.match(re) : null;
-					if (match) {
-						return last.replace(re, parseInt(match[1], 10) + (x < 0 || y < 0 ? -1 : 1));
-					}
-					return last === undefined ?
-						read :
-						last;
-				}
-			}
-		};
-
-		return AutoFill;
-	};  // factory
-
-
-	factory(jQuery, jQuery.fn.dataTable);
-
-}(window, document));
-
--- a/src/pyams_skin/resources/js/ext/jquery-dataTables-fixedHeader.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-/* FixedHeader 2.1.0
- * ©2010-2014 SpryMedia Ltd - datatables.net/license
- */
-var FixedHeader;(function(c,a,d){var b=function(f,e){FixedHeader=function(h,g){if(!this instanceof FixedHeader){alert("FixedHeader warning: FixedHeader must be initialised with the 'new' keyword.");return}var j=this;var k={aoCache:[],oSides:{top:true,bottom:false,left:0,right:0},oZIndexes:{top:104,bottom:103,left:102,right:101},oCloneOnDraw:{top:false,bottom:false,left:true,right:true},oMes:{iTableWidth:0,iTableHeight:0,iTableLeft:0,iTableRight:0,iTableTop:0,iTableBottom:0},oOffset:{top:0},nTable:null,bFooter:false,bInitComplete:false};this.fnGetSettings=function(){return k};this.fnUpdate=function(){this._fnUpdateClones();this._fnUpdatePositions()};this.fnPosition=function(){this._fnUpdatePositions()};var i=f.fn.dataTable.Api?new f.fn.dataTable.Api(h).settings()[0]:h.fnSettings();i._oPluginFixedHeader=this;this.fnInit(i,g)};FixedHeader.prototype={fnInit:function(j,g){var h=this.fnGetSettings();var i=this;this.fnInitSettings(h,g);if(j.oScroll.sX!==""||j.oScroll.sY!==""){alert("FixedHeader 2 is not supported with DataTables' scrolling mode at this time");return}h.nTable=j.nTable;j.aoDrawCallback.unshift({fn:function(){FixedHeader.fnMeasure();i._fnUpdateClones.call(i);i._fnUpdatePositions.call(i)},sName:"FixedHeader"});h.bFooter=(f(">tfoot",h.nTable).length>0)?true:false;if(h.oSides.top){h.aoCache.push(i._fnCloneTable("fixedHeader","FixedHeader_Header",i._fnCloneThead))}if(h.oSides.bottom){h.aoCache.push(i._fnCloneTable("fixedFooter","FixedHeader_Footer",i._fnCloneTfoot))}if(h.oSides.left){h.aoCache.push(i._fnCloneTable("fixedLeft","FixedHeader_Left",i._fnCloneTLeft,h.oSides.left))}if(h.oSides.right){h.aoCache.push(i._fnCloneTable("fixedRight","FixedHeader_Right",i._fnCloneTRight,h.oSides.right))}FixedHeader.afnScroll.push(function(){i._fnUpdatePositions.call(i)});f(c).resize(function(){FixedHeader.fnMeasure();i._fnUpdateClones.call(i);i._fnUpdatePositions.call(i)});f(h.nTable).on("column-reorder",function(){FixedHeader.fnMeasure();i._fnUpdateClones(true);i._fnUpdatePositions()}).on("column-visibility",function(){FixedHeader.fnMeasure();i._fnUpdateClones(true);i._fnUpdatePositions()});FixedHeader.fnMeasure();i._fnUpdateClones();i._fnUpdatePositions();h.bInitComplete=true},fnInitSettings:function(h,g){if(g!==d){if(g.top!==d){h.oSides.top=g.top}if(g.bottom!==d){h.oSides.bottom=g.bottom}if(typeof g.left=="boolean"){h.oSides.left=g.left?1:0}else{if(g.left!==d){h.oSides.left=g.left}}if(typeof g.right=="boolean"){h.oSides.right=g.right?1:0}else{if(g.right!==d){h.oSides.right=g.right}}if(g.zTop!==d){h.oZIndexes.top=g.zTop}if(g.zBottom!==d){h.oZIndexes.bottom=g.zBottom}if(g.zLeft!==d){h.oZIndexes.left=g.zLeft}if(g.zRight!==d){h.oZIndexes.right=g.zRight}if(g.offsetTop!==d){h.oOffset.top=g.offsetTop}if(g.alwaysCloneTop!==d){h.oCloneOnDraw.top=g.alwaysCloneTop}if(g.alwaysCloneBottom!==d){h.oCloneOnDraw.bottom=g.alwaysCloneBottom}if(g.alwaysCloneLeft!==d){h.oCloneOnDraw.left=g.alwaysCloneLeft}if(g.alwaysCloneRight!==d){h.oCloneOnDraw.right=g.alwaysCloneRight}}},_fnCloneTable:function(m,l,k,i){var h=this.fnGetSettings();var g;if(f(h.nTable.parentNode).css("position")!="absolute"){h.nTable.parentNode.style.position="relative"}g=h.nTable.cloneNode(false);g.removeAttribute("id");var j=a.createElement("div");j.style.position="absolute";j.style.top="0px";j.style.left="0px";j.className+=" FixedHeader_Cloned "+m+" "+l;if(m=="fixedHeader"){j.style.zIndex=h.oZIndexes.top}if(m=="fixedFooter"){j.style.zIndex=h.oZIndexes.bottom}if(m=="fixedLeft"){j.style.zIndex=h.oZIndexes.left}else{if(m=="fixedRight"){j.style.zIndex=h.oZIndexes.right}}g.style.margin="0";j.appendChild(g);a.body.appendChild(j);return{nNode:g,nWrapper:j,sType:m,sPosition:"",sTop:"",sLeft:"",fnClone:k,iCells:i}},_fnMeasure:function(){var j=this.fnGetSettings(),g=j.oMes,i=f(j.nTable),h=i.offset(),l=this._fnSumScroll(j.nTable.parentNode,"scrollTop"),k=this._fnSumScroll(j.nTable.parentNode,"scrollLeft");g.iTableWidth=i.outerWidth();g.iTableHeight=i.outerHeight();g.iTableLeft=h.left+j.nTable.parentNode.scrollLeft;g.iTableTop=h.top+l;g.iTableRight=g.iTableLeft+g.iTableWidth;g.iTableRight=FixedHeader.oDoc.iWidth-g.iTableLeft-g.iTableWidth;g.iTableBottom=FixedHeader.oDoc.iHeight-g.iTableTop-g.iTableHeight},_fnSumScroll:function(j,h){var g=j[h];while(j=j.parentNode){if(j.nodeName=="HTML"||j.nodeName=="BODY"){break}g=j[h]}return g},_fnUpdatePositions:function(){var j=this.fnGetSettings();this._fnMeasure();for(var h=0,g=j.aoCache.length;h<g;h++){if(j.aoCache[h].sType=="fixedHeader"){this._fnScrollFixedHeader(j.aoCache[h])}else{if(j.aoCache[h].sType=="fixedFooter"){this._fnScrollFixedFooter(j.aoCache[h])}else{if(j.aoCache[h].sType=="fixedLeft"){this._fnScrollHorizontalLeft(j.aoCache[h])}else{this._fnScrollHorizontalRight(j.aoCache[h])}}}}},_fnUpdateClones:function(j){var k=this.fnGetSettings();if(j){k.bInitComplete=false}for(var h=0,g=k.aoCache.length;h<g;h++){k.aoCache[h].fnClone.call(this,k.aoCache[h])}if(j){k.bInitComplete=true}},_fnScrollHorizontalRight:function(m){var k=this.fnGetSettings(),l=k.oMes,h=FixedHeader.oWin,g=FixedHeader.oDoc,j=m.nWrapper,i=f(j).outerWidth();if(h.iScrollRight<l.iTableRight){this._fnUpdateCache(m,"sPosition","absolute","position",j.style);this._fnUpdateCache(m,"sTop",l.iTableTop+"px","top",j.style);this._fnUpdateCache(m,"sLeft",(l.iTableLeft+l.iTableWidth-i)+"px","left",j.style)}else{if(l.iTableLeft<g.iWidth-h.iScrollRight-i){this._fnUpdateCache(m,"sPosition","fixed","position",j.style);this._fnUpdateCache(m,"sTop",(l.iTableTop-h.iScrollTop)+"px","top",j.style);this._fnUpdateCache(m,"sLeft",(h.iWidth-i)+"px","left",j.style)}else{this._fnUpdateCache(m,"sPosition","absolute","position",j.style);this._fnUpdateCache(m,"sTop",l.iTableTop+"px","top",j.style);this._fnUpdateCache(m,"sLeft",l.iTableLeft+"px","left",j.style)}}},_fnScrollHorizontalLeft:function(m){var k=this.fnGetSettings(),l=k.oMes,h=FixedHeader.oWin,g=FixedHeader.oDoc,i=m.nWrapper,j=f(i).outerWidth();if(h.iScrollLeft<l.iTableLeft){this._fnUpdateCache(m,"sPosition","absolute","position",i.style);this._fnUpdateCache(m,"sTop",l.iTableTop+"px","top",i.style);this._fnUpdateCache(m,"sLeft",l.iTableLeft+"px","left",i.style)}else{if(h.iScrollLeft<l.iTableLeft+l.iTableWidth-j){this._fnUpdateCache(m,"sPosition","fixed","position",i.style);this._fnUpdateCache(m,"sTop",(l.iTableTop-h.iScrollTop)+"px","top",i.style);this._fnUpdateCache(m,"sLeft","0px","left",i.style)}else{this._fnUpdateCache(m,"sPosition","absolute","position",i.style);this._fnUpdateCache(m,"sTop",l.iTableTop+"px","top",i.style);this._fnUpdateCache(m,"sLeft",(l.iTableLeft+l.iTableWidth-j)+"px","left",i.style)}}},_fnScrollFixedFooter:function(n){var l=this.fnGetSettings(),m=l.oMes,h=FixedHeader.oWin,g=FixedHeader.oDoc,i=n.nWrapper,k=f("thead",l.nTable).outerHeight(),j=f(i).outerHeight();if(h.iScrollBottom<m.iTableBottom){this._fnUpdateCache(n,"sPosition","absolute","position",i.style);this._fnUpdateCache(n,"sTop",(m.iTableTop+m.iTableHeight-j)+"px","top",i.style);this._fnUpdateCache(n,"sLeft",m.iTableLeft+"px","left",i.style)}else{if(h.iScrollBottom<m.iTableBottom+m.iTableHeight-j-k){this._fnUpdateCache(n,"sPosition","fixed","position",i.style);this._fnUpdateCache(n,"sTop",(h.iHeight-j)+"px","top",i.style);this._fnUpdateCache(n,"sLeft",(m.iTableLeft-h.iScrollLeft)+"px","left",i.style)}else{this._fnUpdateCache(n,"sPosition","absolute","position",i.style);this._fnUpdateCache(n,"sTop",(m.iTableTop+j)+"px","top",i.style);this._fnUpdateCache(n,"sLeft",m.iTableLeft+"px","left",i.style)}}},_fnScrollFixedHeader:function(m){var p=this.fnGetSettings(),j=p.oMes,k=FixedHeader.oWin,o=FixedHeader.oDoc,h=m.nWrapper,n=0,l=p.nTable.getElementsByTagName("tbody");for(var g=0;g<l.length;++g){n+=l[g].offsetHeight}if(j.iTableTop>k.iScrollTop+p.oOffset.top){this._fnUpdateCache(m,"sPosition","absolute","position",h.style);this._fnUpdateCache(m,"sTop",j.iTableTop+"px","top",h.style);this._fnUpdateCache(m,"sLeft",j.iTableLeft+"px","left",h.style)}else{if(k.iScrollTop+p.oOffset.top>j.iTableTop+n){this._fnUpdateCache(m,"sPosition","absolute","position",h.style);this._fnUpdateCache(m,"sTop",(j.iTableTop+n)+"px","top",h.style);this._fnUpdateCache(m,"sLeft",j.iTableLeft+"px","left",h.style)}else{this._fnUpdateCache(m,"sPosition","fixed","position",h.style);this._fnUpdateCache(m,"sTop",p.oOffset.top+"px","top",h.style);this._fnUpdateCache(m,"sLeft",(j.iTableLeft-k.iScrollLeft)+"px","left",h.style)}}},_fnUpdateCache:function(k,i,h,j,g){if(k[i]!=h){g[j]=h;k[i]=h}},_fnClassUpdate:function(i,g){var h=this;if(i.nodeName.toUpperCase()==="TR"||i.nodeName.toUpperCase()==="TH"||i.nodeName.toUpperCase()==="TD"||i.nodeName.toUpperCase()==="SPAN"){g.className=i.className}f(i).children().each(function(j){h._fnClassUpdate(f(i).children()[j],f(g).children()[j])})},_fnCloneThead:function(m){var l=this.fnGetSettings();var i=m.nNode;if(l.bInitComplete&&!l.oCloneOnDraw.top){this._fnClassUpdate(f("thead",l.nTable)[0],f("thead",i)[0]);return}var k=f(l.nTable).outerWidth();m.nWrapper.style.width=k+"px";i.style.width=k+"px";while(i.childNodes.length>0){f("thead th",i).unbind("click");i.removeChild(i.childNodes[0])}var j=f("thead",l.nTable).clone(true)[0];i.appendChild(j);var h=[];var g=[];f("thead>tr th",l.nTable).each(function(n){h.push(f(this).width())});f("thead>tr td",l.nTable).each(function(n){g.push(f(this).width())});f("thead>tr th",l.nTable).each(function(n){f("thead>tr th:eq("+n+")",i).width(h[n]);f(this).width(h[n])});f("thead>tr td",l.nTable).each(function(n){f("thead>tr td:eq("+n+")",i).width(g[n]);f(this).width(g[n])});f("th.sorting, th.sorting_desc, th.sorting_asc",i).bind("click",function(){this.blur()})},_fnCloneTfoot:function(j){var i=this.fnGetSettings();var g=j.nNode;j.nWrapper.style.width=f(i.nTable).outerWidth()+"px";while(g.childNodes.length>0){g.removeChild(g.childNodes[0])}var h=f("tfoot",i.nTable).clone(true)[0];g.appendChild(h);f("tfoot:eq(0)>tr th",i.nTable).each(function(k){f("tfoot:eq(0)>tr th:eq("+k+")",g).width(f(this).width())});f("tfoot:eq(0)>tr td",i.nTable).each(function(k){f("tfoot:eq(0)>tr td:eq("+k+")",g).width(f(this).width())})},_fnCloneTLeft:function(m){var j=this.fnGetSettings();var g=m.nNode;var l=f("tbody",j.nTable)[0];while(g.childNodes.length>0){g.removeChild(g.childNodes[0])}g.appendChild(f("thead",j.nTable).clone(true)[0]);g.appendChild(f("tbody",j.nTable).clone(true)[0]);if(j.bFooter){g.appendChild(f("tfoot",j.nTable).clone(true)[0])}var n="gt("+(m.iCells-1)+")";f("thead tr",g).each(function(i){f("th:"+n,this).remove()});f("tfoot tr",g).each(function(i){f("th:"+n,this).remove()});f("tbody tr",g).each(function(i){f("td:"+n,this).remove()});this.fnEqualiseHeights("thead",l.parentNode,g);this.fnEqualiseHeights("tbody",l.parentNode,g);this.fnEqualiseHeights("tfoot",l.parentNode,g);var k=0;for(var h=0;h<m.iCells;h++){k+=f("thead tr th:eq("+h+")",j.nTable).outerWidth()}g.style.width=k+"px";m.nWrapper.style.width=k+"px"},_fnCloneTRight:function(n){var j=this.fnGetSettings();var m=f("tbody",j.nTable)[0];var g=n.nNode;var l=f("tbody tr:eq(0) td",j.nTable).length;while(g.childNodes.length>0){g.removeChild(g.childNodes[0])}g.appendChild(f("thead",j.nTable).clone(true)[0]);g.appendChild(f("tbody",j.nTable).clone(true)[0]);if(j.bFooter){g.appendChild(f("tfoot",j.nTable).clone(true)[0])}f("thead tr th:lt("+(l-n.iCells)+")",g).remove();f("tfoot tr th:lt("+(l-n.iCells)+")",g).remove();f("tbody tr",g).each(function(i){f("td:lt("+(l-n.iCells)+")",this).remove()});this.fnEqualiseHeights("thead",m.parentNode,g);this.fnEqualiseHeights("tbody",m.parentNode,g);this.fnEqualiseHeights("tfoot",m.parentNode,g);var k=0;for(var h=0;h<n.iCells;h++){k+=f("thead tr th:eq("+(l-1-h)+")",j.nTable).outerWidth()}g.style.width=k+"px";n.nWrapper.style.width=k+"px"},fnEqualiseHeights:function(j,i,l){var k=this;var h=f(j+" tr",i);var g;f(j+" tr",l).each(function(m){g=h.eq(m).css("height");if(navigator.appName=="Microsoft Internet Explorer"){g=parseInt(g,10)+1}f(this).css("height",g);h.eq(m).css("height",g)})}};FixedHeader.oWin={iScrollTop:0,iScrollRight:0,iScrollBottom:0,iScrollLeft:0,iHeight:0,iWidth:0};FixedHeader.oDoc={iHeight:0,iWidth:0};FixedHeader.afnScroll=[];FixedHeader.fnMeasure=function(){var j=f(c),i=f(a),h=FixedHeader.oWin,g=FixedHeader.oDoc;g.iHeight=i.height();g.iWidth=i.width();h.iHeight=j.height();h.iWidth=j.width();h.iScrollTop=j.scrollTop();h.iScrollLeft=j.scrollLeft();h.iScrollRight=g.iWidth-h.iScrollLeft-h.iWidth;h.iScrollBottom=g.iHeight-h.iScrollTop-h.iHeight};FixedHeader.version="2.1.0";f(c).scroll(function(){FixedHeader.fnMeasure();for(var h=0,g=FixedHeader.afnScroll.length;h<g;h++){FixedHeader.afnScroll[h]()}});f.fn.dataTable.FixedHeader=FixedHeader;f.fn.DataTable.FixedHeader=FixedHeader;return FixedHeader};b(jQuery,jQuery.fn.dataTable)})(window,document);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/jquery-dataTables-rowGrouping.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,688 +0,0 @@
-/*
- * File:        jquery.dataTables.grouping.js
- * Version:     1.2.9.
- * Author:      Jovan Popovic
- *
- * Copyright 2013 Jovan Popovic, all rights reserved.
- *
- * This source file is free software, under either the GPL v2 license or a
- * BSD style license, as supplied with this software.
- *
- * This source file is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE.
- * Parameters:
- * @iGroupingColumnIndex                                 Integer             Index of the column that will be used for grouping - default 0
- * @sGroupingColumnSortDirection                         Enumeration         Sort direction of the group
- * @iGroupingOrderByColumnIndex                          Integer             Index of the column that will be used for ordering groups
- * @sGroupingClass                                       String              Class that will be associated to the group row. Default - "group"
- * @sGroupItemClass                                      String              Class that will be associated to the group row of group items. Default - "group-item"
- * @bSetGroupingClassOnTR                                Boolean             If set class will be set to the TR instead of the TD withing the grouping TR
- * @bHideGroupingColumn                                  Boolean             Hide column used for grouping once results are grouped. Default - true
- * @bHideGroupingOrderByColumn                           Boolean             Hide column used for ordering groups once results are grouped. Default - true
- * @sGroupBy                                             Enumeration         Type of grouping that should be applied. Values "name"(default), "letter", "year"
- * @sGroupLabelPrefix                                    String              Prefix that will be added to each group cell
- * @bExpandableGrouping                                  Boolean             Attach expand/collapse handlers to the grouping rows
- * @bExpandSingleGroup                                   Boolean             Use accordon grouping
- * @iExpandGroupOffset                                   Integer             Number of pixels to set scroll position above the currently selected group. If -1 scroll will be alligned to the table
- * General settings
- * @sDateFormat: "dd/MM/yyyy"                            String              Date format used for grouping
- * @sEmptyGroupLabel                                     String              Lable that will be placed as group if grouping cells are empty. Default "-"
-
- * Parameters used in the second level grouping
- * @iGroupingColumnIndex2                                Integer             Index of the secondary column that will be used for grouping - default 0
- * @sGroupingColumnSortDirection2                        Enumeration         Sort direction of the secondary group
- * @iGroupingOrderByColumnIndex2                         Integer             Index of the column that will be used for ordering secondary groups
- * @sGroupingClass2                                      String              Class that will be associated to the secondary group row. Default "subgroup"
- * @sGroupItemClass2                                     String              Class that will be associated to the secondary group row of group items. Default "subgroup-item"
- * @bHideGroupingColumn2                                 Boolean             Hide column used for secondary grouping once results are grouped. Default - true,
- * @bHideGroupingOrderByColumn2                          Boolean             Hide column used for ordering secondary groups once results are grouped. Default - true,
- * @sGroupBy2                                            Enumeration         Type of grouping that should be applied to secondary column. Values "name"(default), "letter", "year",
- * @sGroupLabelPrefix2                                   String              Prefix that will be added to each secondary group cell
- * @fnOnGrouped                                          Function            Function that is called when grouping is finished. Function has no parameters.
- */
-(function ($) {
-
-	"use strict";
-
-	$.fn.rowGrouping = function (options) {
-
-		function _fnOnGrouped() {
-
-		}
-
-		function _fnOnGroupCreated(oGroup, sGroup, iLevel) {
-			///<summary>
-			///Function called when a new grouping row is created(it should be overriden in properties)
-			///</summary>
-		}
-
-		function _fnOnGroupCompleted(oGroup, sGroup, iLevel) {
-			///<summary>
-			///Function called when a new grouping row is created(it should be overriden in properties)
-			///</summary>
-		}
-
-		function _getMonthName(iMonth) {
-			var asMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
-			return asMonths[iMonth - 1];
-		}
-
-		var defaults = {
-
-			iGroupingColumnIndex: 0,
-			sGroupingColumnSortDirection: "",
-			iGroupingOrderByColumnIndex: -1,
-			sGroupingClass: "group",
-			sGroupItemClass: "group-item",
-			bHideGroupingColumn: true,
-			bHideGroupingOrderByColumn: true,
-			sGroupBy: "name",
-			sGroupLabelPrefix: "",
-			fnGroupLabelFormat: function (label) {
-				return label;
-			},
-			bExpandableGrouping: false,
-			bExpandSingleGroup: false,
-			iExpandGroupOffset: 100,
-			asExpandedGroups: null,
-
-			sDateFormat: "dd/MM/yyyy",
-			sEmptyGroupLabel: "-",
-			bSetGroupingClassOnTR: false,
-
-			iGroupingColumnIndex2: -1,
-			sGroupingColumnSortDirection2: "",
-			iGroupingOrderByColumnIndex2: -1,
-			sGroupingClass2: "subgroup",
-			sGroupItemClass2: "subgroup-item",
-			bHideGroupingColumn2: true,
-			bHideGroupingOrderByColumn2: true,
-			sGroupBy2: "name",
-			sGroupLabelPrefix2: "",
-			fnGroupLabelFormat2: function (label) {
-				return label;
-			},
-			bExpandableGrouping2: false,
-
-			fnOnGrouped: _fnOnGrouped,
-
-			fnOnGroupCreated: _fnOnGroupCreated,
-			fnOnGroupCompleted: _fnOnGroupCompleted,
-
-			oHideEffect: null, // { method: "hide", duration: "fast", easing: "linear" },
-			oShowEffect: null,//{ method: "show", duration: "slow", easing: "linear" }
-
-			bUseFilteringForGrouping: false // This is still work in progress option
-		};
-		return this.each(function (index, elem) {
-
-			var oTable = $(elem).dataTable();
-
-			var aoGroups = new Array();
-			$(this).dataTableExt.aoGroups = aoGroups;
-
-			function fnCreateGroupRow(sGroupCleaned, sGroup, iColspan) {
-				var nGroup = document.createElement('tr');
-				var nCell = document.createElement('td');
-				nGroup.id = "group-id-" + oTable.attr("id") + "_" + sGroupCleaned;
-
-				var oGroup = { id: nGroup.id, key: sGroupCleaned, text: sGroup, level: 0, groupItemClass: ".group-item-" + sGroupCleaned, dataGroup: sGroupCleaned, aoSubgroups: new Array() };
-
-
-				if (properties.bSetGroupingClassOnTR) {
-					nGroup.className = properties.sGroupingClass + " " + sGroupCleaned;
-				} else {
-					nCell.className = properties.sGroupingClass + " " + sGroupCleaned;
-				}
-
-				nCell.colSpan = iColspan;
-				nCell.innerHTML = properties.sGroupLabelPrefix + properties.fnGroupLabelFormat(sGroup == "" ? properties.sEmptyGroupLabel : sGroup, oGroup);
-				if (properties.bExpandableGrouping) {
-
-					if (!_fnIsGroupCollapsed(sGroupCleaned)) {
-						nCell.className += " expanded-group";
-						oGroup.state = "expanded";
-					} else {
-						nCell.className += " collapsed-group";
-						oGroup.state = "collapsed";
-					}
-					nCell.className += " group-item-expander";
-					$(nCell).attr('data-group', oGroup.dataGroup); //Fix provided by mssskhalsa (Issue 5)
-					$(nCell).attr("data-group-level", oGroup.level);
-					$(nCell).click(_fnOnGroupClick);
-				}
-				nGroup.appendChild(nCell);
-				aoGroups[sGroupCleaned] = oGroup;
-				oGroup.nGroup = nGroup;
-				properties.fnOnGroupCreated(oGroup, sGroupCleaned, 1);
-				return oGroup;
-			}
-
-			function _fnCreateGroup2Row(sGroup2, sGroupLabel, iColspan, oParentGroup) {
-
-				var nGroup2 = document.createElement('tr');
-				nGroup2.id = oParentGroup.id + "_" + sGroup2;
-				var nCell2 = document.createElement('td');
-				var dataGroup = oParentGroup.dataGroup + '_' + sGroup2;
-
-				var oGroup = { id: nGroup2.id, key: sGroup2, text: sGroupLabel, level: oParentGroup.level + 1, groupItemClass: ".group-item-" + dataGroup,
-					dataGroup: dataGroup, aoSubgroups: new Array()
-				};
-
-				if (properties.bSetGroupingClassOnTR) {
-					nGroup2.className = properties.sGroupingClass2 + " " + sGroup2;
-				} else {
-					nCell2.className = properties.sGroupingClass2 + " " + sGroup2;
-				}
-
-				nCell2.colSpan = iColspan;
-				nCell2.innerHTML = properties.sGroupLabelPrefix2 + properties.fnGroupLabelFormat2(sGroupLabel == "" ? properties.sEmptyGroupLabel : sGroupLabel, oGroup);
-
-				if (properties.bExpandableGrouping) {
-
-					nGroup2.className += " group-item-" + oParentGroup.dataGroup;
-				}
-
-
-				if (properties.bExpandableGrouping && properties.bExpandableGrouping2) {
-
-					if (!_fnIsGroupCollapsed(oGroup.dataGroup)) {
-						nCell2.className += " expanded-group";
-						oGroup.state = "expanded";
-					} else {
-						nCell2.className += " collapsed-group";
-						oGroup.state = "collapsed";
-					}
-					nCell2.className += " group-item-expander";
-					$(nCell2).attr('data-group', oGroup.dataGroup);
-					$(nCell2).attr("data-group-level", oGroup.level);
-					$(nCell2).click(_fnOnGroupClick);
-				}
-
-				nGroup2.appendChild(nCell2);
-
-				oParentGroup.aoSubgroups[oGroup.dataGroup] = oGroup;
-				aoGroups[oGroup.dataGroup] = oGroup;
-				oGroup.nGroup = nGroup2;
-				properties.fnOnGroupCreated(oGroup, sGroup2, 2);
-				return oGroup;
-			}
-
-			function _fnIsGroupCollapsed(sGroup) {
-				if (aoGroups[sGroup] != null)
-					return (aoGroups[sGroup].state == "collapsed");
-				else if (sGroup.indexOf("_") > -1)
-					true;
-				else if (bInitialGrouping && (asExpandedGroups == null || asExpandedGroups.length == 0))
-					return false;// initially if asExpandedGroups is empty - no one is collapsed
-				else
-					return ($.inArray(sGroup, asExpandedGroups) == -1); //the last chance check asExpandedGroups
-			}
-
-			function _fnGetYear(x) {
-				if (x.length < (iYearIndex + iYearLength))
-					return x;
-				else
-					return x.substr(iYearIndex, iYearLength);
-			}
-
-			function _fnGetGroupByName(x) {
-				return x;
-			}
-
-			function _fnGetGroupByLetter(x) {
-				return x.substr(0, 1);
-			}
-
-			function _fnGetGroupByYear(x) {
-				return _fnGetYear(x);
-				//return Date.parseExact(x, properties.sDateFormat).getFullYear();//slooooow
-			}
-
-			function _fnGetGroupByYearMonth(x) {
-				//var date = Date.parseExact(x, "dd/MM/yyyy");
-				//return date.getFullYear() + " / " + date.getMonthName();
-				//return x.substr(iYearIndex, iYearLength) + '/' + x.substr(iMonthIndex, iMonthLength);
-				return x.substr(iYearIndex, iYearLength) + ' ' + _getMonthName(x.substr(iMonthIndex, iMonthLength));
-			}
-
-			function _fnGetCleanedGroup(sGroup) {
-
-				if (sGroup === "") return "-";
-				return sGroup.toLowerCase().replace(/[^a-zA-Z0-9\u0080-\uFFFF]+/g, "-"); //fix for unicode characters (Issue 23)
-				//return sGroup.toLowerCase().replace(/\W+/g, "-"); //Fix provided by bmathews (Issue 7)
-			}
-
-			function _rowGroupingRowFilter(oSettings, aData, iDataIndex) {
-				///<summary>Used to expand/collapse groups with DataTables filtering</summary>
-				if (oSettings.nTable.id !== oTable[0].id) return true;
-				var sColData = aData[properties.iGroupingColumnIndex];
-				if (typeof sColData === "undefined")
-					sColData = aData[oSettings.aoColumns[properties.iGroupingColumnIndex].mDataProp];
-				if (_fnIsGroupCollapsed(_fnGetCleanedGroup(sColData))) {
-					if (oTable.fnIsOpen(oTable.fnGetNodes(iDataIndex))) {
-						if (properties.fnOnRowClosed != null) {
-							properties.fnOnRowClosed(this); //    $(this.cells[0].children[0]).attr('src', '../../Images/details.png');
-						}
-						oTable.fnClose(oTable.fnGetNodes(iDataIndex));
-					}
-					return false;
-				}
-				;
-				return true;
-			} //end of function _rowGroupingRowFilter
-
-
-			function fnExpandGroup(sGroup) {
-				///<summary>Expand group if expanadable grouping is used</summary>
-
-				aoGroups[sGroup].state = "expanded";
-
-				$("td[data-group^='" + sGroup + "']").removeClass("collapsed-group");
-				$("td[data-group^='" + sGroup + "']").addClass("expanded-group");
-
-
-				if (properties.bUseFilteringForGrouping) {
-					oTable.fnDraw();
-					return;//Because rows are expanded with _rowGroupingRowFilter function
-				}
-
-				if (jQuery.inArray(sGroup, asExpandedGroups) == -1)
-					asExpandedGroups.push(sGroup);
-
-				if (properties.oHideEffect != null)
-					$(".group-item-" + sGroup, oTable)
-						[properties.oShowEffect.method](properties.oShowEffect.duration,
-														properties.oShowEffect.easing,
-														function () {
-														});
-				else
-					$(".group-item-" + sGroup, oTable).show();
-
-
-			} //end of function fnExpandGroup
-
-			function fnCollapseGroup(sGroup) {
-				///<summary>Collapse group if expanadable grouping is used</summary>
-
-				aoGroups[sGroup].state = "collapsed";
-				$("td[data-group^='" + sGroup + "']").removeClass("expanded-group");
-				$("td[data-group^='" + sGroup + "']").addClass("collapsed-group");
-
-				if (properties.bUseFilteringForGrouping) {
-					oTable.fnDraw();
-					return;//Because rows are expanded with _rowGroupingRowFilter function
-				}
-				//var index = $.inArray(sGroup, asExpandedGroups);
-				//asExpandedGroups.splice(index, 1);
-
-				$('.group-item-' + sGroup).each(function () {
-					//Issue 24 - Patch provided by Bob Graham
-					if (oTable.fnIsOpen(this)) {
-						if (properties.fnOnRowClosed != null) {
-							properties.fnOnRowClosed(this); //    $(this.cells[0].children[0]).attr('src', '../../Images/details.png');
-						}
-						oTable.fnClose(this);
-					}
-				});
-
-				if (properties.oHideEffect != null)
-					$(".group-item-" + sGroup, oTable)
-						[properties.oHideEffect.method](properties.oHideEffect.duration,
-														properties.oHideEffect.easing,
-														function () {
-														});
-				else
-					$(".group-item-" + sGroup, oTable).hide();
-
-			} //end of function fnCollapseGroup
-
-			function _fnOnGroupClick(e) {
-				///<summary>
-				///Function that is called when user click on the group cell in order to
-				///expand of collapse group
-				///</summary>
-
-				//var sGroup = $(this).attr("rel");
-				var sGroup = $(this).attr("data-group");
-				var iGroupLevel = $(this).attr("data-group-level");
-
-				var bIsExpanded = !_fnIsGroupCollapsed(sGroup);
-				if (properties.bExpandSingleGroup) {
-					if (!bIsExpanded) {
-						var sCurrentGroup = $("td.expanded-group").attr("data-group");
-						fnCollapseGroup(sCurrentGroup);
-						fnExpandGroup(sGroup);
-
-						if (properties.iExpandGroupOffset != -1) {
-							var position = $("#group-id-" + oTable.attr("id") + "_" + sGroup).offset().top - properties.iExpandGroupOffset;
-							window.scroll(0, position);
-						} else {
-							var position = oTable.offset().top;
-							window.scroll(0, position);
-						}
-					}
-				} else {
-					if (bIsExpanded) {
-						fnCollapseGroup(sGroup);
-					} else {
-						fnExpandGroup(sGroup);
-					}
-				}
-				e.preventDefault();
-
-			}; //end function _fnOnGroupClick
-
-
-			function _fnDrawCallBackWithGrouping(oSettings) {
-
-				if (oTable.fnSettings().oFeatures.bServerSide)
-					bInitialGrouping = true;
-				var bUseSecondaryGrouping = false;
-
-				if (properties.iGroupingColumnIndex2 != -1)
-					bUseSecondaryGrouping = true;
-
-				//-----Start grouping
-
-				if (oSettings.aiDisplayMaster.length == 0) { //aiDisplay
-					return;
-				}
-
-				var nTrs = $('tbody tr', oTable);
-				var iColspan = 0; //nTrs[0].getElementsByTagName('td').length;
-				for (var iColIndex = 0; iColIndex < oSettings.aoColumns.length; iColIndex++) {
-					if (oSettings.aoColumns[iColIndex].bVisible)
-						iColspan += 1;
-				}
-				var sLastGroup = null;
-				var sLastGroup2 = null;
-				if (oSettings.aiDisplay.length > 0) {
-					for (var i = 0; i < nTrs.length; i++) {
-
-
-						var iDisplayIndex = oSettings._iDisplayStart + i;
-						if (oTable.fnSettings().oFeatures.bServerSide)
-							iDisplayIndex = i;
-						var sGroupData = "";
-						var sGroup = null;
-						var sGroupData2 = "";
-						var sGroup2 = null;
-
-						//Issue 31 - Start fix provided by Fabien Taysse
-//                      sGroupData = oSettings.aoData[oSettings.aiDisplay[iDisplayIndex]]._aData[properties.iGroupingColumnIndex];
-//                      if (sGroupData == undefined)
-//                          sGroupData = oSettings.aoData[oSettings.aiDisplay[iDisplayIndex]]._aData[oSettings.aoColumns[properties.iGroupingColumnIndex].mDataProp];
-						sGroupData = this.fnGetData(nTrs[i], properties.iGroupingColumnIndex);
-						//Issue 31 - End fix provided by Fabien Taysse
-
-						var sGroup = sGroupData;
-						if (properties.sGroupBy != "year")
-							sGroup = fnGetGroup(sGroupData);
-
-						if (bUseSecondaryGrouping) {
-							sGroupData2 = oSettings.aoData[oSettings.aiDisplay[iDisplayIndex]]._aData[properties.iGroupingColumnIndex2];
-							if (sGroupData2 == undefined)
-								sGroupData2 = oSettings.aoData[oSettings.aiDisplay[iDisplayIndex]]._aData[oSettings.aoColumns[properties.iGroupingColumnIndex2].mDataProp];
-							if (properties.sGroupBy2 != "year")
-								sGroup2 = fnGetGroup(sGroupData2);
-						}
-
-
-						if (sLastGroup == null || _fnGetCleanedGroup(sGroup) != _fnGetCleanedGroup(sLastGroup)) { // new group encountered (or first of group)
-							var sGroupCleaned = _fnGetCleanedGroup(sGroup);
-
-							if (sLastGroup != null) {
-								properties.fnOnGroupCompleted(aoGroups[_fnGetCleanedGroup(sLastGroup)]);
-							}
-							/*
-							 if (properties.bExpandableGrouping && bInitialGrouping) {
-							 if (properties.bExpandSingleGroup) {
-							 if (asExpandedGroups.length == 0)
-							 asExpandedGroups.push(sGroupCleaned);
-							 } else {
-							 asExpandedGroups.push(sGroupCleaned);
-							 }
-							 }
-							 */
-							if (properties.bAddAllGroupsAsExpanded && jQuery.inArray(sGroupCleaned, asExpandedGroups) == -1)
-								asExpandedGroups.push(sGroupCleaned);
-
-							var oGroup = fnCreateGroupRow(sGroupCleaned, sGroup, iColspan);
-							var nGroup = oGroup.nGroup;
-
-							if (nTrs[i].parentNode != null)
-								nTrs[i].parentNode.insertBefore(nGroup, nTrs[i]);
-							else
-								$(nTrs[i]).before(nGroup);
-
-							sLastGroup = sGroup;
-							sLastGroup2 = null; //to reset second level grouping
-
-
-						} // end if (sLastGroup == null || sGroup != sLastGroup)
-
-						$(nTrs[i]).attr("data-group", aoGroups[sGroupCleaned].dataGroup);
-
-						$(nTrs[i]).addClass(properties.sGroupItemClass);
-						$(nTrs[i]).addClass("group-item-" + sGroupCleaned);
-						if (properties.bExpandableGrouping) {
-							if (_fnIsGroupCollapsed(sGroupCleaned) && !properties.bUseFilteringForGrouping) {
-								$(nTrs[i]).hide();
-							}
-						}
-
-
-						if (bUseSecondaryGrouping) {
-
-							if (sLastGroup2 == null || _fnGetCleanedGroup(sGroup2) != _fnGetCleanedGroup(sLastGroup2)) {
-								var sGroup2Id = _fnGetCleanedGroup(sGroup) + '-' + _fnGetCleanedGroup(sGroup2);
-								var oGroup2 = _fnCreateGroup2Row(sGroup2Id, sGroup2, iColspan, aoGroups[sGroupCleaned])
-								var nGroup2 = oGroup2.nGroup;
-								nTrs[i].parentNode.insertBefore(nGroup2, nTrs[i]);
-
-								sLastGroup2 = sGroup2;
-							}
-
-							$(nTrs[i]).attr("data-group", oGroup2.dataGroup)
-								.addClass(properties.sGroupItemClass2)
-								.addClass("group-item-" + oGroup2.dataGroup);
-						} //end if (bUseSecondaryGrouping)
-
-
-					} // end for (var i = 0; i < nTrs.length; i++)
-				}
-				; // if (oSettings.aiDisplay.length > 0)
-
-				if (sLastGroup != null) {
-					properties.fnOnGroupCompleted(aoGroups[_fnGetCleanedGroup(sLastGroup)]);
-				}
-
-
-				//-----End grouping
-				properties.fnOnGrouped(aoGroups);
-
-				bInitialGrouping = false;
-
-			}; // end of _fnDrawCallBackWithGrouping = function (oSettings)
-
-
-			//var oTable = this;
-			var iYearIndex = 6;
-			var iYearLength = 4;
-			var asExpandedGroups = new Array();
-			var bInitialGrouping = true;
-
-			var properties = $.extend(defaults, options);
-
-			if (properties.iGroupingOrderByColumnIndex == -1) {
-				properties.bCustomColumnOrdering = false;
-				properties.iGroupingOrderByColumnIndex = properties.iGroupingColumnIndex;
-			} else {
-				properties.bCustomColumnOrdering = true;
-			}
-
-			if (properties.sGroupingColumnSortDirection == "") {
-				if (properties.sGroupBy == "year")
-					properties.sGroupingColumnSortDirection = "desc";
-				else
-					properties.sGroupingColumnSortDirection = "asc";
-			}
-
-
-			if (properties.iGroupingOrderByColumnIndex2 == -1) {
-				properties.bCustomColumnOrdering2 = false;
-				properties.iGroupingOrderByColumnIndex2 = properties.iGroupingColumnIndex2;
-			} else {
-				properties.bCustomColumnOrdering2 = true;
-			}
-
-			if (properties.sGroupingColumnSortDirection2 == "") {
-				if (properties.sGroupBy2 == "year")
-					properties.sGroupingColumnSortDirection2 = "desc";
-				else
-					properties.sGroupingColumnSortDirection2 = "asc";
-			}
-
-
-			iYearIndex = properties.sDateFormat.toLowerCase().indexOf('yy');
-			iYearLength = properties.sDateFormat.toLowerCase().lastIndexOf('y') - properties.sDateFormat.toLowerCase().indexOf('y') + 1;
-
-			var iMonthIndex = properties.sDateFormat.toLowerCase().indexOf('mm');
-			var iMonthLength = properties.sDateFormat.toLowerCase().lastIndexOf('m') - properties.sDateFormat.toLowerCase().indexOf('m') + 1;
-
-			var fnGetGroup = _fnGetGroupByName;
-			switch (properties.sGroupBy) {
-				case "letter":
-					fnGetGroup = _fnGetGroupByLetter;
-					break;
-				case "year":
-					fnGetGroup = _fnGetGroupByYear;
-					break;
-				case "month":
-					fnGetGroup = _fnGetGroupByYearMonth;
-					break;
-				default:
-					fnGetGroup = _fnGetGroupByName;
-					break;
-			}
-
-
-			if (properties.asExpandedGroups != null) {
-				if (properties.asExpandedGroups == "NONE") {
-					properties.asExpandedGroups = [];
-					asExpandedGroups = properties.asExpandedGroups;
-					bInitialGrouping = false;
-				} else if (properties.asExpandedGroups == "ALL") {
-					properties.bAddAllGroupsAsExpanded = true;
-				} else if (properties.asExpandedGroups.constructor == String) {
-					var currentGroup = properties.asExpandedGroups;
-					properties.asExpandedGroups = new Array();
-					properties.asExpandedGroups.push(_fnGetCleanedGroup(currentGroup));
-					asExpandedGroups = properties.asExpandedGroups;
-					bInitialGrouping = false;
-				} else if (properties.asExpandedGroups.constructor == Array) {
-					for (var i = 0; i < properties.asExpandedGroups.length; i++) {
-						asExpandedGroups.push(_fnGetCleanedGroup(properties.asExpandedGroups[i]));
-						if (properties.bExpandSingleGroup)
-							break;
-					}
-					bInitialGrouping = false;
-				}
-			} else {
-				properties.asExpandedGroups = new Array();
-				properties.bAddAllGroupsAsExpanded = true;
-			}
-			if (properties.bExpandSingleGroup) {
-				var nTrs = $('tbody tr', oTable);
-				var sGroupData = oTable.fnGetData(nTrs[0], properties.iGroupingColumnIndex);
-
-				var sGroup = sGroupData;
-				if (properties.sGroupBy != "year")
-					sGroup = fnGetGroup(sGroupData);
-
-				var sGroupCleaned = _fnGetCleanedGroup(sGroup);
-				properties.asExpandedGroups = new Array();
-				properties.asExpandedGroups.push(sGroupCleaned);
-
-			}
-
-			oTable.fnSetColumnVis(properties.iGroupingColumnIndex, !properties.bHideGroupingColumn);
-			if (properties.bCustomColumnOrdering) {
-				oTable.fnSetColumnVis(properties.iGroupingOrderByColumnIndex, !properties.bHideGroupingOrderByColumn);
-			}
-			if (properties.iGroupingColumnIndex2 != -1) {
-				oTable.fnSetColumnVis(properties.iGroupingColumnIndex2, !properties.bHideGroupingColumn2);
-			}
-			if (properties.bCustomColumnOrdering2) {
-				oTable.fnSetColumnVis(properties.iGroupingOrderByColumnIndex2, !properties.bHideGroupingOrderByColumn2);
-			}
-			oTable.fnSettings().aoDrawCallback.push({
-														"fn": _fnDrawCallBackWithGrouping,
-														"sName": "fnRowGrouping"
-													});
-
-			var aaSortingFixed = new Array();
-			aaSortingFixed.push([properties.iGroupingOrderByColumnIndex, properties.sGroupingColumnSortDirection]);
-			if (properties.iGroupingColumnIndex2 != -1) {
-				aaSortingFixed.push([properties.iGroupingOrderByColumnIndex2, properties.sGroupingColumnSortDirection2]);
-			} // end of if (properties.iGroupingColumnIndex2 != -1)
-
-			oTable.fnSettings().aaSortingFixed = aaSortingFixed;
-			//Old way
-			//oTable.fnSettings().aaSortingFixed = [[properties.iGroupingOrderByColumnIndex, properties.sGroupingColumnSortDirection]];
-
-			switch (properties.sGroupBy) {
-				case "name":
-					break;
-
-
-				case "letter":
-
-					/* Create an array with the values of all the input boxes in a column */
-					oTable.fnSettings().aoColumns[properties.iGroupingOrderByColumnIndex].sSortDataType = "rg-letter";
-					$.fn.dataTableExt.afnSortData['rg-letter'] = function (oSettings, iColumn) {
-						var aData = [];
-						$('td:eq(' + iColumn + ')', oSettings.oApi._fnGetTrNodes(oSettings)).each(function () {
-							aData.push(_fnGetGroupByLetter(this.innerHTML));
-						});
-						return aData;
-					}
-
-
-					break;
-
-
-				case "year":
-					/* Create an array with the values of all the input boxes in a column */
-					oTable.fnSettings().aoColumns[properties.iGroupingOrderByColumnIndex].sSortDataType = "rg-date";
-					$.fn.dataTableExt.afnSortData['rg-date'] = function (oSettings, iColumn) {
-						var aData = [];
-						var nTrs = oSettings.oApi._fnGetTrNodes(oSettings);
-						for (i = 0; i < nTrs.length; i++) {
-							aData.push(_fnGetYear(oTable.fnGetData(nTrs[i], iColumn)));
-						}
-
-						/*
-						 $('td:eq(' + iColumn + ')', oSettings.oApi._fnGetTrNodes(oSettings)).each(function () {
-						 aData.push(_fnGetYear(this.innerHTML));
-						 });
-						 */
-						return aData;
-					}
-					break;
-				default:
-					break;
-
-			} // end of switch (properties.sGroupBy)
-
-			if (properties.bUseFilteringForGrouping)
-				$.fn.dataTableExt.afnFiltering.push(_rowGroupingRowFilter);
-
-			oTable.fnDraw();
-
-
-		});
-	};
-})(jQuery);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/jquery-dataTables-scroller.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-/* Scroller 1.2.0
- * 2011-2014 SpryMedia Ltd - datatables.net/license
- */
-(function(c,a,d){var b=function(h,g){var f=function(j,i){if(!this instanceof f){alert("Scroller warning: Scroller must be initialised with the 'new' keyword.");return}if(typeof i=="undefined"){i={}}this.s={dt:j,tableTop:0,tableBottom:0,redrawTop:0,redrawBottom:0,autoHeight:true,viewportRows:0,stateTO:null,drawTO:null,heights:{jump:null,page:null,virtual:null,scroll:null,row:null,viewport:null},topRowFloat:0,scrollDrawDiff:null};this.s=h.extend(this.s,f.oDefaults,i);this.dom={force:a.createElement("div"),scroller:null,table:null};this.s.dt.oScroller=this;this._fnConstruct()};f.prototype={fnRowToPixels:function(i,l,k){var m;if(k){m=this._domain("virtualToPhysical",i*this.s.heights.row)}else{var j=i-this.s.baseRowTop;m=this.s.baseScrollTop+(j*this.s.heights.row)}return l||l===d?parseInt(m,10):m},fnPixelsToRow:function(m,k,j){var i=m-this.s.baseScrollTop;var l=j?this._domain("physicalToVirtual",m)/this.s.heights.row:(i/this.s.heights.row)+this.s.baseRowTop;return k||k===d?parseInt(l,10):l},fnScrollToRow:function(o,n){var m=this;var j=false;var l=this.fnRowToPixels(o);var i=((this.s.displayBuffer-1)/2)*this.s.viewportRows;var k=o-i;if(k<0){k=0}if((l>this.s.redrawBottom||l<this.s.redrawTop)&&this.s.dt._iDisplayStart!==k){j=true;l=this.fnRowToPixels(o,false,true)}if(typeof n=="undefined"||n){this.s.ani=j;h(this.dom.scroller).animate({scrollTop:l},function(){setTimeout(function(){m.s.ani=false},0)})}else{h(this.dom.scroller).scrollTop(l)}},fnMeasure:function(j){if(this.s.autoHeight){this._fnCalcRowHeight()}var i=this.s.heights;i.viewport=h(this.dom.scroller).height();this.s.viewportRows=parseInt(i.viewport/i.row,10)+1;this.s.dt._iDisplayLength=this.s.viewportRows*this.s.displayBuffer;if(typeof j=="undefined"||j){this.s.dt.oInstance.fnDraw()}},_fnConstruct:function(){var i=this;if(!this.s.dt.oFeatures.bPaginate){this.s.dt.oApi._fnLog(this.s.dt,0,"Pagination must be enabled for Scroller");return}this.dom.force.style.position="absolute";this.dom.force.style.top="0px";this.dom.force.style.left="0px";this.dom.force.style.width="1px";this.dom.scroller=h("div."+this.s.dt.oClasses.sScrollBody,this.s.dt.nTableWrapper)[0];this.dom.scroller.appendChild(this.dom.force);this.dom.scroller.style.position="relative";this.dom.table=h(">table",this.dom.scroller)[0];this.dom.table.style.position="absolute";this.dom.table.style.top="0px";this.dom.table.style.left="0px";h(this.s.dt.nTableWrapper).addClass("DTS");if(this.s.loadingIndicator){h(this.dom.scroller.parentNode).css("position","relative").append('<div class="DTS_Loading">'+this.s.dt.oLanguage.sLoadingRecords+"</div>")}if(this.s.heights.row&&this.s.heights.row!="auto"){this.s.autoHeight=false}this.fnMeasure(false);h(this.dom.scroller).on("scroll.DTS",function(){i._fnScroll.call(i)});h(this.dom.scroller).on("touchstart.DTS",function(){i._fnScroll.call(i)});this.s.dt.aoDrawCallback.push({fn:function(){if(i.s.dt.bInitialised){i._fnDrawCallback.call(i)}},sName:"Scroller"});h(c).on("resize.DTS",function(){i._fnInfo()});var j=true;this.s.dt.oApi._fnCallbackReg(this.s.dt,"aoStateSaveParams",function(k,l){if(j&&i.s.dt.oLoadedState){l.iScroller=i.s.dt.oLoadedState.iScroller;j=false}else{l.iScroller=i.dom.scroller.scrollTop}},"Scroller_State");this.s.dt.aoDestroyCallback.push({sName:"Scroller",fn:function(){h(c).off("resize.DTS");h(i.dom.scroller).off("touchstart.DTS scroll.DTS");h(i.s.dt.nTableWrapper).removeClass("DTS");h("div.DTS_Loading",i.dom.scroller.parentNode).remove();i.dom.table.style.position="";i.dom.table.style.top="";i.dom.table.style.left=""}})},_fnScroll:function(){var l=this,m=this.s.heights,k=this.dom.scroller.scrollTop,n;if(this.s.skip){return}if(this.s.dt.bFiltered||this.s.dt.bSorted){this.s.lastScrollTop=0;return}this._fnInfo();clearTimeout(this.s.stateTO);this.s.stateTO=setTimeout(function(){l.s.dt.oApi._fnSaveState(l.s.dt)},250);if(k<this.s.redrawTop||k>this.s.redrawBottom){var j=((this.s.displayBuffer-1)/2)*this.s.viewportRows;if(Math.abs(k-this.s.lastScrollTop)>m.viewport||this.s.ani){n=parseInt(this._domain("physicalToVirtual",k)/m.row,10)-j;this.s.topRowFloat=(this._domain("physicalToVirtual",k)/m.row)}else{n=this.fnPixelsToRow(k)-j;this.s.topRowFloat=this.fnPixelsToRow(k,false)}if(n<=0){n=0}else{if(n+this.s.dt._iDisplayLength>this.s.dt.fnRecordsDisplay()){n=this.s.dt.fnRecordsDisplay()-this.s.dt._iDisplayLength;if(n<0){n=0}}else{if(n%2!==0){n++}}}if(n!=this.s.dt._iDisplayStart){this.s.tableTop=h(this.s.dt.nTable).offset().top;this.s.tableBottom=h(this.s.dt.nTable).height()+this.s.tableTop;var i=function(){if(l.s.scrollDrawReq===null){l.s.scrollDrawReq=k}l.s.dt._iDisplayStart=n;if(l.s.dt.oApi._fnCalculateEnd){l.s.dt.oApi._fnCalculateEnd(l.s.dt)}l.s.dt.oApi._fnDraw(l.s.dt)};if(this.s.dt.oFeatures.bServerSide){clearTimeout(this.s.drawTO);this.s.drawTO=setTimeout(i,this.s.serverWait)}else{i()}}}this.s.lastScrollTop=k},_domain:function(j,m){var l=this.s.heights;var i;if(l.virtual===l.scroll){i=(l.virtual-l.viewport)/(l.scroll-l.viewport);if(j==="virtualToPhysical"){return m/i}else{if(j==="physicalToVirtual"){return m*i}}}var n=(l.scroll-l.viewport)/2;var k=(l.virtual-l.viewport)/2;i=k/(n*n);if(j==="virtualToPhysical"){if(m<k){return Math.pow(m/i,0.5)}else{m=(k*2)-m;return m<0?l.scroll:(n*2)-Math.pow(m/i,0.5)}}else{if(j==="physicalToVirtual"){if(m<n){return m*m*i}else{m=(n*2)-m;return m<0?l.virtual:(k*2)-(m*m*i)}}}},_fnDrawCallback:function(){var m=this,n=this.s.heights,l=this.dom.scroller.scrollTop,s=l,j=l+n.viewport,q=h(this.s.dt.nTable).height(),t=this.s.dt._iDisplayStart,k=this.s.dt._iDisplayLength,i=this.s.dt.fnRecordsDisplay();this.s.skip=true;this._fnScrollForce();if(t===0){l=this.s.topRowFloat*n.row}else{if(t+k>=i){l=n.scroll-((i-this.s.topRowFloat)*n.row)}else{l=this._domain("virtualToPhysical",this.s.topRowFloat*n.row)}}this.dom.scroller.scrollTop=l;this.s.baseScrollTop=l;this.s.baseRowTop=this.s.topRowFloat;var r=l-((this.s.topRowFloat-t)*n.row);if(t===0){r=0}else{if(t+k>=i){r=n.scroll-q}}this.dom.table.style.top=r+"px";this.s.tableTop=r;this.s.tableBottom=q+this.s.tableTop;var p=(l-this.s.tableTop)*this.s.boundaryScale;this.s.redrawTop=l-p;this.s.redrawBottom=l+p;this.s.skip=false;setTimeout(function(){m._fnInfo.call(m)},0);if(this.s.dt.oFeatures.bStateSave&&this.s.dt.oLoadedState!==null&&typeof this.s.dt.oLoadedState.iScroller!="undefined"){var o=this.s.dt.sAjaxSource||m.s.dt.ajax?true:false;if((o&&this.s.dt.iDraw==2)||(!o&&this.s.dt.iDraw==1)){setTimeout(function(){h(m.dom.scroller).scrollTop(m.s.dt.oLoadedState.iScroller);m.s.redrawTop=m.s.dt.oLoadedState.iScroller-(n.viewport/2)},0)}}},_fnScrollForce:function(){var j=this.s.heights;var i=1000000;j.virtual=j.row*this.s.dt.fnRecordsDisplay();j.scroll=j.virtual;if(j.scroll>i){j.scroll=i}this.dom.force.style.height=j.scroll+"px"},_fnCalcRowHeight:function(){var k=this.s.dt.nTable.cloneNode(false);var j=h("<tbody/>").appendTo(k);var i=h('<div class="'+this.s.dt.oClasses.sWrapper+' DTS"><div class="'+this.s.dt.oClasses.sScrollWrapper+'"><div class="'+this.s.dt.oClasses.sScrollBody+'"></div></div></div>');h("tbody tr:lt(4)",k).clone().appendTo(j);while(h("tr",j).length<3){j.append("<tr><td>&nbsp;</td></tr>")}h("div."+this.s.dt.oClasses.sScrollBody,i).append(k);i.appendTo("body");this.s.heights.row=h("tr",j).eq(1).outerHeight();i.remove()},_fnInfo:function(){if(!this.s.dt.oFeatures.bInfo){return}var k=this.s.dt,q=this.dom.scroller.scrollTop,j=Math.floor(this.fnPixelsToRow(q,false,this.s.ani)+1),r=k.fnRecordsTotal(),v=k.fnRecordsDisplay(),s=Math.ceil(this.fnPixelsToRow(q+this.s.heights.viewport,false,this.s.ani)),y=v<s?v:s,l=k.fnFormatNumber(j),p=k.fnFormatNumber(y),x=k.fnFormatNumber(r),w=k.fnFormatNumber(v),u;if(k.fnRecordsDisplay()===0&&k.fnRecordsDisplay()==k.fnRecordsTotal()){u=k.oLanguage.sInfoEmpty+k.oLanguage.sInfoPostFix}else{if(k.fnRecordsDisplay()===0){u=k.oLanguage.sInfoEmpty+" "+k.oLanguage.sInfoFiltered.replace("_MAX_",x)+k.oLanguage.sInfoPostFix}else{if(k.fnRecordsDisplay()==k.fnRecordsTotal()){u=k.oLanguage.sInfo.replace("_START_",l).replace("_END_",p).replace("_TOTAL_",w)+k.oLanguage.sInfoPostFix}else{u=k.oLanguage.sInfo.replace("_START_",l).replace("_END_",p).replace("_TOTAL_",w)+" "+k.oLanguage.sInfoFiltered.replace("_MAX_",k.fnFormatNumber(k.fnRecordsTotal()))+k.oLanguage.sInfoPostFix}}}var o=k.aanFeatures.i;if(typeof o!="undefined"){for(var t=0,m=o.length;t<m;t++){h(o[t]).html(u)}}}};f.defaults={trace:false,rowHeight:"auto",serverWait:200,displayBuffer:9,boundaryScale:0.5,loadingIndicator:false};f.oDefaults=f.defaults;f.version="1.2.0";if(typeof h.fn.dataTable=="function"&&typeof h.fn.dataTableExt.fnVersionCheck=="function"&&h.fn.dataTableExt.fnVersionCheck("1.9.0")){h.fn.dataTableExt.aoFeatures.push({fnInit:function(l){var k=l.oInit;var j=k.scroller||k.oScroller||{};var i=new f(l,j);return i.dom.wrapper},cFeature:"S",sFeature:"Scroller"})}else{alert("Warning: Scroller requires DataTables 1.9.0 or greater - www.datatables.net/download")}h.fn.dataTable.Scroller=f;h.fn.DataTable.Scroller=f;if(h.fn.dataTable.Api){var e=h.fn.dataTable.Api;e.register("scroller().rowToPixels()",function(j,l,k){var i=this.context;if(i.length&&i[0].oScroller){return i[0].oScroller.fnRowToPixels(j,l,k)}});e.register("scroller().pixelsToRow()",function(l,k,j){var i=this.context;if(i.length&&i[0].oScroller){return i[0].oScroller.fnPixelsToRow(l,k,j)}});e.register("scroller().scrollToRow()",function(j,i){this.iterator("table",function(k){if(k.oScroller){k.oScroller.fnScrollToRow(j,i)}});return this});e.register("scroller().measure()",function(i){this.iterator("table",function(j){if(j.oScroller){j.oScroller.fnMeasure(i)}});return this})}return f};b(jQuery,jQuery.fn.dataTable)})(window,document);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/jquery-fancybox-2.1.5.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e,t,i,n){"use strict";var o=i("html"),a=i(e),r=i(t),s=i.fancybox=function(){s.open.apply(this,arguments)},l=navigator.userAgent.match(/msie/i),c=null,d=void 0!==t.createTouch,p=function(e){return e&&e.hasOwnProperty&&e instanceof i},h=function(e){return e&&"string"===i.type(e)},f=function(e){return h(e)&&e.indexOf("%")>0},u=function(e){return e&&!(e.style.overflow&&"hidden"===e.style.overflow)&&(e.clientWidth&&e.scrollWidth>e.clientWidth||e.clientHeight&&e.scrollHeight>e.clientHeight)},g=function(e,t){var i=parseInt(e,10)||0;return t&&f(e)&&(i=s.getViewport()[t]/100*i),Math.ceil(i)},m=function(e,t){return g(e,t)+"px"};i.extend(s,{version:"2.1.5",defaults:{padding:15,margin:20,width:800,height:600,minWidth:100,minHeight:100,maxWidth:9999,maxHeight:9999,pixelRatio:1,autoSize:!0,autoHeight:!1,autoWidth:!1,autoResize:!0,autoCenter:!d,fitToView:!0,aspectRatio:!1,topRatio:.5,leftRatio:.5,scrolling:"auto",wrapCSS:"",arrows:!0,closeBtn:!0,closeClick:!1,nextClick:!1,mouseWheel:!0,autoPlay:!1,playSpeed:3e3,preload:3,modal:!1,loop:!0,ajax:{dataType:"html",headers:{"X-fancyBox":!0}},iframe:{scrolling:"auto",preload:!0},swf:{wmode:"transparent",allowfullscreen:"true",allowscriptaccess:"always"},keys:{next:{13:"left",34:"up",39:"left",40:"up"},prev:{8:"right",33:"down",37:"right",38:"down"},close:[27],play:[32],toggle:[70]},direction:{next:"left",prev:"right"},scrollOutside:!0,index:0,type:null,href:null,content:null,title:null,tpl:{wrap:'<div class="fancybox-wrap" tabIndex="-1"><div class="fancybox-skin"><div class="fancybox-outer"><div class="fancybox-inner"></div></div></div></div>',image:'<img class="fancybox-image" src="{href}" alt="" />',iframe:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" frameborder="0" vspace="0" hspace="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen'+(l?' allowtransparency="true"':"")+"></iframe>",error:'<p class="fancybox-error">'+(MyAMS.plugins.i18n.fancybox.ERROR||"The requested content cannot be loaded.")+"<br/>"+(MyAMS.plugins.i18n.fancybox.RETRY||"Please try again later.")+"</p>",closeBtn:'<a title="'+(MyAMS.plugins.i18n.fancybox.CLOSE||"Close")+'" class="fancybox-item fancybox-close" href="javascript:;"></a>',next:'<a title="'+(MyAMS.plugins.i18n.fancybox.NEXT||"Next")+'" class="fancybox-nav fancybox-next" href="javascript:;"><span></span></a>',prev:'<a title="'+(MyAMS.plugins.i18n.fancybox.PREVIOUS||"Previous")+'" class="fancybox-nav fancybox-prev" href="javascript:;"><span></span></a>'},openEffect:"fade",openSpeed:250,openEasing:"swing",openOpacity:!0,openMethod:"zoomIn",closeEffect:"fade",closeSpeed:250,closeEasing:"swing",closeOpacity:!0,closeMethod:"zoomOut",nextEffect:"elastic",nextSpeed:250,nextEasing:"swing",nextMethod:"changeIn",prevEffect:"elastic",prevSpeed:250,prevEasing:"swing",prevMethod:"changeOut",helpers:{overlay:!0,title:!0},onCancel:i.noop,beforeLoad:i.noop,afterLoad:i.noop,beforeShow:i.noop,afterShow:i.noop,beforeChange:i.noop,beforeClose:i.noop,afterClose:i.noop},group:{},opts:{},previous:null,coming:null,current:null,isActive:!1,isOpen:!1,isOpened:!1,wrap:null,skin:null,outer:null,inner:null,player:{timer:null,isActive:!1},ajaxLoad:null,imgPreload:null,transitions:{},helpers:{},open:function(e,t){if(e&&(i.isPlainObject(t)||(t={}),!1!==s.close(!0)))return i.isArray(e)||(e=p(e)?i(e).get():[e]),i.each(e,function(n,o){var a,r,l,c,d,f,u,g={};"object"===i.type(o)&&(o.nodeType&&(o=i(o)),p(o)?(g={href:o.data("fancybox-href")||o.attr("href"),title:o.data("fancybox-title")||o.attr("title"),isDom:!0,element:o},i.metadata&&i.extend(!0,g,o.metadata())):g=o),a=t.href||g.href||(h(o)?o:null),r=void 0!==t.title?t.title:g.title||"",!(c=(l=t.content||g.content)?"html":t.type||g.type)&&g.isDom&&((c=o.data("fancybox-type"))||(c=(d=o.prop("class").match(/fancybox\.(\w+)/))?d[1]:null)),h(a)&&(c||(s.isImage(a)?c="image":s.isSWF(a)?c="swf":"#"===a.charAt(0)?c="inline":h(o)&&(c="html",l=o)),"ajax"===c&&(a=(f=a.split(/\s+/,2)).shift(),u=f.shift())),l||("inline"===c?a?l=i(h(a)?a.replace(/.*(?=#[^\s]+$)/,""):a):g.isDom&&(l=o):"html"===c?l=a:c||a||!g.isDom||(c="inline",l=o)),i.extend(g,{href:a,type:c,content:l,title:r,selector:u}),e[n]=g}),s.opts=i.extend(!0,{},s.defaults,t),void 0!==t.keys&&(s.opts.keys=!!t.keys&&i.extend({},s.defaults.keys,t.keys)),s.group=e,s._start(s.opts.index)},cancel:function(){var e=s.coming;e&&!1!==s.trigger("onCancel")&&(s.hideLoading(),s.ajaxLoad&&s.ajaxLoad.abort(),s.ajaxLoad=null,s.imgPreload&&(s.imgPreload.onload=s.imgPreload.onerror=null),e.wrap&&e.wrap.stop(!0,!0).trigger("onReset").remove(),s.coming=null,s.current||s._afterZoomOut(e))},close:function(e){s.cancel(),!1!==s.trigger("beforeClose")&&(s.unbindEvents(),s.isActive&&(s.isOpen&&!0!==e?(s.isOpen=s.isOpened=!1,s.isClosing=!0,i(".fancybox-item, .fancybox-nav").remove(),s.wrap.stop(!0,!0).removeClass("fancybox-opened"),s.transitions[s.current.closeMethod]()):(i(".fancybox-wrap").stop(!0).trigger("onReset").remove(),s._afterZoomOut())))},play:function(e){var t=function(){clearTimeout(s.player.timer)},i=function(){t(),s.current&&s.player.isActive&&(s.player.timer=setTimeout(s.next,s.current.playSpeed))},n=function(){t(),r.unbind(".player"),s.player.isActive=!1,s.trigger("onPlayEnd")};!0===e||!s.player.isActive&&!1!==e?s.current&&(s.current.loop||s.current.index<s.group.length-1)&&(s.player.isActive=!0,r.bind({"onCancel.player beforeClose.player":n,"onUpdate.player":i,"beforeLoad.player":t}),i(),s.trigger("onPlayStart")):n()},next:function(e){var t=s.current;t&&(h(e)||(e=t.direction.next),s.jumpto(t.index+1,e,"next"))},prev:function(e){var t=s.current;t&&(h(e)||(e=t.direction.prev),s.jumpto(t.index-1,e,"prev"))},jumpto:function(e,t,i){var n=s.current;n&&(e=g(e),s.direction=t||n.direction[e>=n.index?"next":"prev"],s.router=i||"jumpto",n.loop&&(e<0&&(e=n.group.length+e%n.group.length),e%=n.group.length),void 0!==n.group[e]&&(s.cancel(),s._start(e)))},reposition:function(e,t){var n,o=s.current,a=o?o.wrap:null;a&&(n=s._getPosition(t),e&&"scroll"===e.type?(delete n.position,a.stop(!0,!0).animate(n,200)):(a.css(n),o.pos=i.extend({},o.dim,n)))},update:function(e){var t=e&&e.type,i=!t||"orientationchange"===t;i&&(clearTimeout(c),c=null),s.isOpen&&!c&&(c=setTimeout(function(){var n=s.current;n&&!s.isClosing&&(s.wrap.removeClass("fancybox-tmp"),(i||"load"===t||"resize"===t&&n.autoResize)&&s._setDimension(),"scroll"===t&&n.canShrink||s.reposition(e),s.trigger("onUpdate"),c=null)},i&&!d?0:300))},toggle:function(e){s.isOpen&&(s.current.fitToView="boolean"===i.type(e)?e:!s.current.fitToView,d&&(s.wrap.removeAttr("style").addClass("fancybox-tmp"),s.trigger("onUpdate")),s.update())},hideLoading:function(){r.unbind(".loading"),i("#fancybox-loading").remove()},showLoading:function(){var e,t;s.hideLoading(),e=i('<div id="fancybox-loading"><div></div></div>').click(s.cancel).appendTo("body"),r.bind("keydown.loading",function(e){27===(e.which||e.keyCode)&&(e.preventDefault(),s.cancel())}),s.defaults.fixed||(t=s.getViewport(),e.css({position:"absolute",top:.5*t.h+t.y,left:.5*t.w+t.x}))},getViewport:function(){var t=s.current&&s.current.locked||!1,i={x:a.scrollLeft(),y:a.scrollTop()};return t?(i.w=t[0].clientWidth,i.h=t[0].clientHeight):(i.w=d&&e.innerWidth?e.innerWidth:a.width(),i.h=d&&e.innerHeight?e.innerHeight:a.height()),i},unbindEvents:function(){s.wrap&&p(s.wrap)&&s.wrap.unbind(".fb"),r.unbind(".fb"),a.unbind(".fb")},bindEvents:function(){var e,t=s.current;t&&(a.bind("orientationchange.fb"+(d?"":" resize.fb")+(t.autoCenter&&!t.locked?" scroll.fb":""),s.update),(e=t.keys)&&r.bind("keydown.fb",function(n){var o=n.which||n.keyCode,a=n.target||n.srcElement;if(27===o&&s.coming)return!1;n.ctrlKey||n.altKey||n.shiftKey||n.metaKey||a&&(a.type||i(a).is("[contenteditable]"))||i.each(e,function(e,a){return t.group.length>1&&void 0!==a[o]?(s[e](a[o]),n.preventDefault(),!1):i.inArray(o,a)>-1?(s[e](),n.preventDefault(),!1):void 0})}),i.fn.mousewheel&&t.mouseWheel&&s.wrap.bind("mousewheel.fb",function(e,n,o,a){for(var r=e.target||null,l=i(r),c=!1;l.length&&!(c||l.is(".fancybox-skin")||l.is(".fancybox-wrap"));)c=u(l[0]),l=i(l).parent();0===n||c||s.group.length>1&&!t.canShrink&&(a>0||o>0?s.prev(a>0?"down":"left"):(a<0||o<0)&&s.next(a<0?"up":"right"),e.preventDefault())}))},trigger:function(e,t){var n,o=t||s.coming||s.current;if(o){if(i.isFunction(o[e])&&(n=o[e].apply(o,Array.prototype.slice.call(arguments,1))),!1===n)return!1;o.helpers&&i.each(o.helpers,function(t,n){n&&s.helpers[t]&&i.isFunction(s.helpers[t][e])&&s.helpers[t][e](i.extend(!0,{},s.helpers[t].defaults,n),o)}),r.trigger(e)}},isImage:function(e){return h(e)&&e.match(/(^data:image\/.*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg)((\?|#).*)?$)/i)},isSWF:function(e){return h(e)&&e.match(/\.(swf)((\?|#).*)?$/i)},_start:function(e){var t,n,o,a,r,l={};if(e=g(e),!(t=s.group[e]||null))return!1;if(l=i.extend(!0,{},s.opts,t),a=l.margin,r=l.padding,"number"===i.type(a)&&(l.margin=[a,a,a,a]),"number"===i.type(r)&&(l.padding=[r,r,r,r]),l.modal&&i.extend(!0,l,{closeBtn:!1,closeClick:!1,nextClick:!1,arrows:!1,mouseWheel:!1,keys:null,helpers:{overlay:{closeClick:!1}}}),l.autoSize&&(l.autoWidth=l.autoHeight=!0),"auto"===l.width&&(l.autoWidth=!0),"auto"===l.height&&(l.autoHeight=!0),l.group=s.group,l.index=e,s.coming=l,!1!==s.trigger("beforeLoad")){if(o=l.type,n=l.href,!o)return s.coming=null,!(!s.current||!s.router||"jumpto"===s.router)&&(s.current.index=e,s[s.router](s.direction));if(s.isActive=!0,"image"!==o&&"swf"!==o||(l.autoHeight=l.autoWidth=!1,l.scrolling="visible"),"image"===o&&(l.aspectRatio=!0),"iframe"===o&&d&&(l.scrolling="scroll"),l.wrap=i(l.tpl.wrap).addClass("fancybox-"+(d?"mobile":"desktop")+" fancybox-type-"+o+" fancybox-tmp "+l.wrapCSS).appendTo(l.parent||"body"),i.extend(l,{skin:i(".fancybox-skin",l.wrap),outer:i(".fancybox-outer",l.wrap),inner:i(".fancybox-inner",l.wrap)}),i.each(["Top","Right","Bottom","Left"],function(e,t){l.skin.css("padding"+t,m(l.padding[e]))}),s.trigger("onReady"),"inline"===o||"html"===o){if(!l.content||!l.content.length)return s._error("content")}else if(!n)return s._error("href");"image"===o?s._loadImage():"ajax"===o?s._loadAjax():"iframe"===o?s._loadIframe():s._afterLoad()}else s.coming=null},_error:function(e){i.extend(s.coming,{type:"html",autoWidth:!0,autoHeight:!0,minWidth:0,minHeight:0,scrolling:"no",hasError:e,content:s.coming.tpl.error}),s._afterLoad()},_loadImage:function(){var e=s.imgPreload=new Image;e.onload=function(){this.onload=this.onerror=null,s.coming.width=this.width/s.opts.pixelRatio,s.coming.height=this.height/s.opts.pixelRatio,s._afterLoad()},e.onerror=function(){this.onload=this.onerror=null,s._error("image")},e.src=s.coming.href,!0!==e.complete&&s.showLoading()},_loadAjax:function(){var e=s.coming;s.showLoading(),s.ajaxLoad=i.ajax(i.extend({},e.ajax,{url:e.href,error:function(e,t){s.coming&&"abort"!==t?s._error("ajax",e):s.hideLoading()},success:function(t,i){"success"===i&&(e.content=t,s._afterLoad())}}))},_loadIframe:function(){var e=s.coming,t=i(e.tpl.iframe.replace(/\{rnd\}/g,(new Date).getTime())).attr("scrolling",d?"auto":e.iframe.scrolling).attr("src",e.href);i(e.wrap).bind("onReset",function(){try{i(this).find("iframe").hide().attr("src","//about:blank").end().empty()}catch(e){}}),e.iframe.preload&&(s.showLoading(),t.one("load",function(){i(this).data("ready",1),d||i(this).bind("load.fb",s.update),i(this).parents(".fancybox-wrap").width("100%").removeClass("fancybox-tmp").show(),s._afterLoad()})),e.content=t.appendTo(e.inner),e.iframe.preload||s._afterLoad()},_preloadImages:function(){var e,t,i=s.group,n=s.current,o=i.length,a=n.preload?Math.min(n.preload,o-1):0;for(t=1;t<=a;t+=1)"image"===(e=i[(n.index+t)%o]).type&&e.href&&((new Image).src=e.href)},_afterLoad:function(){var e,t,n,o,a,r,l=s.coming,c=s.current,d="fancybox-placeholder";if(s.hideLoading(),l&&!1!==s.isActive){if(!1===s.trigger("afterLoad",l,c))return l.wrap.stop(!0).trigger("onReset").remove(),void(s.coming=null);switch(c&&(s.trigger("beforeChange",c),c.wrap.stop(!0).removeClass("fancybox-opened").find(".fancybox-item, .fancybox-nav").remove()),s.unbindEvents(),e=l,t=l.content,n=l.type,o=l.scrolling,i.extend(s,{wrap:e.wrap,skin:e.skin,outer:e.outer,inner:e.inner,current:e,previous:c}),a=e.href,n){case"inline":case"ajax":case"html":e.selector?t=i("<div>").html(t).find(e.selector):p(t)&&(t.data(d)||t.data(d,i('<div class="'+d+'"></div>').insertAfter(t).hide()),t=t.show().detach(),e.wrap.bind("onReset",function(){i(this).find(t).length&&t.hide().replaceAll(t.data(d)).data(d,!1)}));break;case"image":t=e.tpl.image.replace("{href}",a);break;case"swf":t='<object id="fancybox-swf" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="100%"><param name="movie" value="'+a+'"></param>',r="",i.each(e.swf,function(e,i){t+='<param name="'+e+'" value="'+i+'"></param>',r+=" "+e+'="'+i+'"'}),t+='<embed src="'+a+'" type="application/x-shockwave-flash" width="100%" height="100%"'+r+"></embed></object>"}p(t)&&t.parent().is(e.inner)||e.inner.append(t),s.trigger("beforeShow"),e.inner.css("overflow","yes"===o?"scroll":"no"===o?"hidden":o),s._setDimension(),s.reposition(),s.isOpen=!1,s.coming=null,s.bindEvents(),s.isOpened?c.prevMethod&&s.transitions[c.prevMethod]():i(".fancybox-wrap").not(e.wrap).stop(!0).trigger("onReset").remove(),s.transitions[s.isOpened?e.nextMethod:e.openMethod](),s._preloadImages()}},_setDimension:function(){var e,t,n,o,a,r,l,c,d,p,h,u,y,x,v,w=s.getViewport(),b=0,k=!1,C=!1,S=s.wrap,O=s.skin,M=s.inner,T=s.current,W=T.width,_=T.height,E=T.minWidth,R=T.minHeight,L=T.maxWidth,A=T.maxHeight,P=T.scrolling,j=T.scrollOutside?T.scrollbarWidth:0,H=T.margin,I=g(H[1]+H[3]),D=g(H[0]+H[2]);if(S.add(O).add(M).width("auto").height("auto").removeClass("fancybox-tmp"),e=g(O.outerWidth(!0)-O.width()),t=g(O.outerHeight(!0)-O.height()),n=I+e,o=D+t,a=f(W)?(w.w-n)*g(W)/100:W,r=f(_)?(w.h-o)*g(_)/100:_,"iframe"===T.type){if(x=T.content,T.autoHeight&&1===x.data("ready"))try{x[0].contentWindow.document.location&&(M.width(a).height(9999),v=x.contents().find("body"),j&&v.css("overflow-x","hidden"),r=v.outerHeight(!0))}catch(e){}}else(T.autoWidth||T.autoHeight)&&(M.addClass("fancybox-tmp"),T.autoWidth||M.width(a),T.autoHeight||M.height(r),T.autoWidth&&(a=M.width()),T.autoHeight&&(r=M.height()),M.removeClass("fancybox-tmp"));if(W=g(a),_=g(r),d=a/r,E=g(f(E)?g(E,"w")-n:E),L=g(f(L)?g(L,"w")-n:L),R=g(f(R)?g(R,"h")-o:R),A=g(f(A)?g(A,"h")-o:A),l=L,c=A,T.fitToView&&(L=Math.min(w.w-n,L),A=Math.min(w.h-o,A)),u=w.w-I,y=w.h-D,T.aspectRatio?(W>L&&(_=g((W=L)/d)),_>A&&(W=g((_=A)*d)),W<E&&(_=g((W=E)/d)),_<R&&(W=g((_=R)*d))):(W=Math.max(E,Math.min(W,L)),T.autoHeight&&"iframe"!==T.type&&(M.width(W),_=M.height()),_=Math.max(R,Math.min(_,A))),T.fitToView)if(M.width(W).height(_),S.width(W+e),p=S.width(),h=S.height(),T.aspectRatio)for(;(p>u||h>y)&&W>E&&_>R&&!(b++>19);)_=Math.max(R,Math.min(A,_-10)),(W=g(_*d))<E&&(_=g((W=E)/d)),W>L&&(_=g((W=L)/d)),M.width(W).height(_),S.width(W+e),p=S.width(),h=S.height();else W=Math.max(E,Math.min(W,W-(p-u))),_=Math.max(R,Math.min(_,_-(h-y)));j&&"auto"===P&&_<r&&W+e+j<u&&(W+=j),M.width(W).height(_),S.width(W+e),p=S.width(),h=S.height(),k=(p>u||h>y)&&W>E&&_>R,C=T.aspectRatio?W<l&&_<c&&W<a&&_<r:(W<l||_<c)&&(W<a||_<r),i.extend(T,{dim:{width:m(p),height:m(h)},origWidth:a,origHeight:r,canShrink:k,canExpand:C,wPadding:e,hPadding:t,wrapSpace:h-O.outerHeight(!0),skinSpace:O.height()-_}),!x&&T.autoHeight&&_>R&&_<A&&!C&&M.height("auto")},_getPosition:function(e){var t=s.current,i=s.getViewport(),n=t.margin,o=s.wrap.width()+n[1]+n[3],a=s.wrap.height()+n[0]+n[2],r={position:"absolute",top:n[0],left:n[3]};return t.autoCenter&&t.fixed&&!e&&a<=i.h&&o<=i.w?r.position="fixed":t.locked||(r.top+=i.y,r.left+=i.x),r.top=m(Math.max(r.top,r.top+(i.h-a)*t.topRatio)),r.left=m(Math.max(r.left,r.left+(i.w-o)*t.leftRatio)),r},_afterZoomIn:function(){var e=s.current;e&&(s.isOpen=s.isOpened=!0,s.wrap.css("overflow","visible").addClass("fancybox-opened"),s.update(),(e.closeClick||e.nextClick&&s.group.length>1)&&s.inner.css("cursor","pointer").bind("click.fb",function(t){i(t.target).is("a")||i(t.target).parent().is("a")||(t.preventDefault(),s[e.closeClick?"close":"next"]())}),e.closeBtn&&i(e.tpl.closeBtn).appendTo(s.skin).bind("click.fb",function(e){e.preventDefault(),s.close()}),e.arrows&&s.group.length>1&&((e.loop||e.index>0)&&i(e.tpl.prev).appendTo(s.outer).bind("click.fb",s.prev),(e.loop||e.index<s.group.length-1)&&i(e.tpl.next).appendTo(s.outer).bind("click.fb",s.next)),s.trigger("afterShow"),e.loop||e.index!==e.group.length-1?s.opts.autoPlay&&!s.player.isActive&&(s.opts.autoPlay=!1,s.play()):s.play(!1))},_afterZoomOut:function(e){e=e||s.current,i(".fancybox-wrap").trigger("onReset").remove(),i.extend(s,{group:{},opts:{},router:!1,current:null,isActive:!1,isOpened:!1,isOpen:!1,isClosing:!1,wrap:null,skin:null,outer:null,inner:null}),s.trigger("afterClose",e)}}),s.transitions={getOrigPosition:function(){var e=s.current,t=e.element,i=e.orig,n={},o=50,a=50,r=e.hPadding,l=e.wPadding,c=s.getViewport();return!i&&e.isDom&&t.is(":visible")&&((i=t.find("img:first")).length||(i=t)),p(i)?(n=i.offset(),i.is("img")&&(o=i.outerWidth(),a=i.outerHeight())):(n.top=c.y+(c.h-a)*e.topRatio,n.left=c.x+(c.w-o)*e.leftRatio),("fixed"===s.wrap.css("position")||e.locked)&&(n.top-=c.y,n.left-=c.x),n={top:m(n.top-r*e.topRatio),left:m(n.left-l*e.leftRatio),width:m(o+l),height:m(a+r)}},step:function(e,t){var i,n,o=t.prop,a=s.current,r=a.wrapSpace,l=a.skinSpace;"width"!==o&&"height"!==o||(i=t.end===t.start?1:(e-t.start)/(t.end-t.start),s.isClosing&&(i=1-i),n=e-("width"===o?a.wPadding:a.hPadding),s.skin[o](g("width"===o?n:n-r*i)),s.inner[o](g("width"===o?n:n-r*i-l*i)))},zoomIn:function(){var e=s.current,t=e.pos,n=e.openEffect,o="elastic"===n,a=i.extend({opacity:1},t);delete a.position,o?(t=this.getOrigPosition(),e.openOpacity&&(t.opacity=.1)):"fade"===n&&(t.opacity=.1),s.wrap.css(t).animate(a,{duration:"none"===n?0:e.openSpeed,easing:e.openEasing,step:o?this.step:null,complete:s._afterZoomIn})},zoomOut:function(){var e=s.current,t=e.closeEffect,i="elastic"===t,n={opacity:.1};i&&(n=this.getOrigPosition(),e.closeOpacity&&(n.opacity=.1)),s.wrap.animate(n,{duration:"none"===t?0:e.closeSpeed,easing:e.closeEasing,step:i?this.step:null,complete:s._afterZoomOut})},changeIn:function(){var e,t=s.current,i=t.nextEffect,n=t.pos,o={opacity:1},a=s.direction;n.opacity=.1,"elastic"===i&&(e="down"===a||"up"===a?"top":"left","down"===a||"right"===a?(n[e]=m(g(n[e])-200),o[e]="+=200px"):(n[e]=m(g(n[e])+200),o[e]="-=200px")),"none"===i?s._afterZoomIn():s.wrap.css(n).animate(o,{duration:t.nextSpeed,easing:t.nextEasing,complete:s._afterZoomIn})},changeOut:function(){var e=s.previous,t=e.prevEffect,n={opacity:.1},o=s.direction;"elastic"===t&&(n["down"===o||"up"===o?"top":"left"]=("up"===o||"left"===o?"-":"+")+"=200px"),e.wrap.animate(n,{duration:"none"===t?0:e.prevSpeed,easing:e.prevEasing,complete:function(){i(this).trigger("onReset").remove()}})}},s.helpers.overlay={defaults:{closeClick:!0,speedOut:200,showEarly:!0,css:{},locked:!d,fixed:!0},overlay:null,fixed:!1,el:i("html"),create:function(e){e=i.extend({},this.defaults,e),this.overlay&&this.close(),this.overlay=i('<div class="fancybox-overlay"></div>').appendTo(s.coming?s.coming.parent:e.parent),this.fixed=!1,e.fixed&&s.defaults.fixed&&(this.overlay.addClass("fancybox-overlay-fixed"),this.fixed=!0)},open:function(e){var t=this;e=i.extend({},this.defaults,e),this.overlay?this.overlay.unbind(".overlay").width("auto").height("auto"):this.create(e),this.fixed||(a.bind("resize.overlay",i.proxy(this.update,this)),this.update()),e.closeClick&&this.overlay.bind("click.overlay",function(e){if(i(e.target).hasClass("fancybox-overlay"))return s.isActive?s.close():t.close(),!1}),this.overlay.css(e.css).show()},close:function(){var e,t;a.unbind("resize.overlay"),this.el.hasClass("fancybox-lock")&&(i(".fancybox-margin").removeClass("fancybox-margin"),e=a.scrollTop(),t=a.scrollLeft(),this.el.removeClass("fancybox-lock"),a.scrollTop(e).scrollLeft(t)),i(".fancybox-overlay").remove().hide(),i.extend(this,{overlay:null,fixed:!1})},update:function(){var e,i="100%";this.overlay.width(i).height("100%"),l?(e=Math.max(t.documentElement.offsetWidth,t.body.offsetWidth),r.width()>e&&(i=r.width())):r.width()>a.width()&&(i=r.width()),this.overlay.width(i).height(r.height())},onReady:function(e,t){var n=this.overlay;i(".fancybox-overlay").stop(!0,!0),n||this.create(e),e.locked&&this.fixed&&t.fixed&&(n||(this.margin=r.height()>a.height()&&i("html").css("margin-right").replace("px","")),t.locked=this.overlay.append(t.wrap),t.fixed=!1),!0===e.showEarly&&this.beforeShow.apply(this,arguments)},beforeShow:function(e,t){var n,o;t.locked&&(!1!==this.margin&&(i("*").filter(function(){return"fixed"===i(this).css("position")&&!i(this).hasClass("fancybox-overlay")&&!i(this).hasClass("fancybox-wrap")}).addClass("fancybox-margin"),this.el.addClass("fancybox-margin")),n=a.scrollTop(),o=a.scrollLeft(),this.el.addClass("fancybox-lock"),a.scrollTop(n).scrollLeft(o)),this.open(e)},onUpdate:function(){this.fixed||this.update()},afterClose:function(e){this.overlay&&!s.coming&&this.overlay.fadeOut(e.speedOut,i.proxy(this.close,this))}},s.helpers.title={defaults:{type:"float",position:"bottom"},beforeShow:function(e){var t,n,o=s.current,a=o.title,r=e.type;if(i.isFunction(a)&&(a=a.call(o.element,o)),h(a)&&""!==i.trim(a)){switch(t=i('<div class="fancybox-title fancybox-title-'+r+'-wrap">'+a+"</div>"),r){case"inside":n=s.skin;break;case"outside":n=s.wrap;break;case"over":n=s.inner;break;default:n=s.skin,t.appendTo("body"),l&&t.width(t.width()),t.wrapInner('<span class="child"></span>'),s.current.margin[2]+=Math.abs(g(t.css("margin-bottom")))}t["top"===e.position?"prependTo":"appendTo"](n)}}},i.fn.fancybox=function(e){var t,n=i(this),o=this.selector||"",a=function(a){var r,l,c=i(this).blur(),d=t;a.ctrlKey||a.altKey||a.shiftKey||a.metaKey||c.is(".fancybox-wrap")||(r=e.groupAttr||"data-fancybox-group",(l=c.attr(r))||(r="rel",l=c.get(0)[r]),l&&""!==l&&"nofollow"!==l&&(d=(c=(c=o.length?i(o):n).filter("["+r+'="'+l+'"]')).index(this)),e.index=d,!1!==s.open(c,e)&&a.preventDefault())};return e=e||{},t=e.index||0,o&&!1!==e.live?r.undelegate(o,"click.fb-start").delegate(o+":not('.fancybox-item, .fancybox-nav')","click.fb-start",a):n.unbind("click.fb-start").bind("click.fb-start",a),this.filter("[data-fancybox-start=1]").trigger("click"),this},r.ready(function(){var t,n;void 0===i.scrollbarWidth&&(i.scrollbarWidth=function(){var e=i('<div style="width:50px;height:50px;overflow:auto"><div/></div>').appendTo("body"),t=e.children(),n=t.innerWidth()-t.height(99).innerWidth();return e.remove(),n}),void 0===i.support.fixedPosition&&(i.support.fixedPosition=function(){var e=i('<div style="position:fixed;top:20px;"></div>').appendTo("body"),t=20===e[0].offsetTop||15===e[0].offsetTop;return e.remove(),t}()),i.extend(s.defaults,{scrollbarWidth:i.scrollbarWidth(),fixed:i.support.fixedPosition,parent:i("body")}),t=i(e).width(),o.addClass("fancybox-lock-test"),n=i(e).width(),o.removeClass("fancybox-lock-test"),i("<style type='text/css'>.fancybox-margin{margin-right:"+(n-t)+"px;}</style>").appendTo("head")})}(window,document,jQuery);
--- a/src/pyams_skin/resources/js/ext/jquery-jsonrpc.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function($,undefined){$.extend({jsonRPC:{version:"2.0",endPoint:null,namespace:null,setup:function(e){return this._validateConfigParams(e),this.endPoint=e.endPoint,this.namespace=e.namespace,this.cache=e.cache===undefined||e.cache,this},withOptions:function(e,t){if(this._validateConfigParams(e),t===undefined)throw"No callback specified";origParams={endPoint:this.endPoint,namespace:this.namespace},this.setup(e),t.call(this),this.setup(origParams)},request:function(e,t){return t===undefined&&(t={id:1}),t.id===undefined&&(t.id=1),t.cache===undefined&&(t.cache=this.cache),this._validateRequestMethod(e),this._validateRequestParams(t.params),this._validateRequestCallbacks(t.success,t.error),this._doRequest(JSON.stringify(this._requestDataObj(e,t.params,t.id)),t),!0},batchRequest:function(e,t){if(t===undefined&&(t={}),!$.isArray(e)||0===e.length)throw"Invalid requests supplied for jsonRPC batchRequest. Must be an array object that contain at least a method attribute";var n=this;$.each(e,function(e,t){n._validateRequestMethod(t.method),n._validateRequestParams(t.params),t.id===undefined&&(t.id=e+1)}),this._validateRequestCallbacks(t.success,t.error);for(var s,r=[],i=0;i<e.length;i++)s=e[i],r.push(this._requestDataObj(s.method,s.params,s.id));this._doRequest(JSON.stringify(r),t)},_validateConfigParams:function(e){if(e===undefined)throw"No params specified";if(e.endPoint&&"string"!=typeof e.endPoint)throw"endPoint must be a string";if(e.namespace&&"string"!=typeof e.namespace)throw"namespace must be a string"},_validateRequestMethod:function(e){if("string"!=typeof e)throw"Invalid method supplied for jsonRPC request";return!0},_validateRequestParams:function(e){if(null!==e&&e!==undefined&&"object"!=typeof e&&!$.isArray(e))throw"Invalid params supplied for jsonRPC request. It must be empty, an object or an array.";return!0},_validateRequestCallbacks:function(e,t){if(e!==undefined&&"function"!=typeof e)throw"Invalid success callback supplied for jsonRPC request";if(t!==undefined&&"function"!=typeof t)throw"Invalid error callback supplied for jsonRPC request";return!0},_doRequest:function(e,t){var n=this;$.ajax({type:"POST",async:!1!==t.async,dataType:"json",contentType:"application/json",url:this._requestUrl(t.endPoint||t.url,t.cache),data:e,cache:t.cache,processData:!1,error:function(e){n._requestError.call(n,e,t.error)},success:function(e){n._requestSuccess.call(n,e,t.success,t.error)}})},_requestUrl:function(e,t){return e=e||this.endPoint,t||(e.indexOf("?")<0?e+="?tm="+(new Date).getTime():e+="&tm="+(new Date).getTime()),e},_requestDataObj:function(e,t,n){var s={jsonrpc:this.version,method:this.namespace?this.namespace+"."+e:e,id:n};return t!==undefined&&(s.params=t),s},_requestError:function(json,error){if(error!==undefined&&"function"==typeof error)if("string"==typeof json.responseText)try{error(eval("("+json.responseText+")"))}catch(e){error(this._response())}else error(this._response())},_requestSuccess:function(e,t,n){var s=this._response(e);s.error&&"function"==typeof n?n(s):"function"==typeof t&&t(s)},_response:function(json){if(json===undefined)return{error:"Internal server error",version:"2.0"};try{if("string"==typeof json&&(json=eval("("+json+")")),$.isArray(json)&&json.length>0&&"2.0"!==json[0].jsonrpc||!$.isArray(json)&&"2.0"!==json.jsonrpc)throw"Version error";return json}catch(e){return{error:"Internal server error: "+e,version:"2.0"}}}}})}(jQuery);
--- a/src/pyams_skin/resources/js/ext/jquery-scrollto-2.1.2.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"undefined"!=typeof module&&module.exports?module.exports=e(require("jquery")):e(jQuery)}(function(e){"use strict";function t(t){return!t.nodeName||-1!==e.inArray(t.nodeName.toLowerCase(),["iframe","#document","html","body"])}function o(t){return e.isFunction(t)||e.isPlainObject(t)?t:{top:t,left:t}}var n=e.scrollTo=function(t,o,n){return e(window).scrollTo(t,o,n)};return n.defaults={axis:"xy",duration:0,limit:!0},e.fn.scrollTo=function(r,i,s){"object"==typeof i&&(s=i,i=0),"function"==typeof s&&(s={onAfter:s}),"max"===r&&(r=9e9),s=e.extend({},n.defaults,s),i=i||s.duration;var a=s.queue&&s.axis.length>1;return a&&(i/=2),s.offset=o(s.offset),s.over=o(s.over),this.each(function(){function f(t){var o=e.extend({},s,{queue:!0,duration:i,complete:t&&function(){t.call(l,m,s)}});d.animate(p,o)}if(null!==r){var u,c=t(this),l=c?this.contentWindow||window:this,d=e(l),m=r,p={};switch(typeof m){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(m)){m=o(m);break}m=c?e(m):e(m,l);case"object":if(0===m.length)return;(m.is||m.style)&&(u=(m=e(m)).offset())}var h=e.isFunction(s.offset)&&s.offset(l,m)||s.offset;e.each(s.axis.split(""),function(e,t){var o="x"===t?"Left":"Top",r=o.toLowerCase(),i="scroll"+o,x=d[i](),v=n.max(l,t);if(u)p[i]=u[r]+(c?0:x-d.offset()[r]),s.margin&&(p[i]-=parseInt(m.css("margin"+o),10)||0,p[i]-=parseInt(m.css("border"+o+"Width"),10)||0),p[i]+=h[r]||0,s.over[r]&&(p[i]+=m["x"===t?"width":"height"]()*s.over[r]);else{var w=m[r];p[i]=w.slice&&"%"===w.slice(-1)?parseFloat(w)/100*v:w}s.limit&&/^\d+$/.test(p[i])&&(p[i]=p[i]<=0?0:Math.min(p[i],v)),!e&&s.axis.length>1&&(x===p[i]?p={}:a&&(f(s.onAfterFirst),p={}))}),f(s.onAfter)}})},n.max=function(o,n){var r="x"===n?"Width":"Height",i="scroll"+r;if(!t(o))return o[i]-e(o)[r.toLowerCase()]();var s="client"+r,a=o.ownerDocument||o.document,f=a.documentElement,u=a.body;return Math.max(f[i],u[i])-Math.min(f[s],u[s])},e.Tween.propHooks.scrollLeft=e.Tween.propHooks.scrollTop={get:function(t){return e(t.elem)[t.prop]()},set:function(t){var o=this.get(t);if(t.options.interrupt&&t._last&&t._last!==o)return e(t.elem).stop();var n=Math.round(t.now);o!==n&&(e(t.elem)[t.prop](n),t._last=this.get(t))}},n});
--- a/src/pyams_skin/resources/js/ext/jquery-select2-3.5.4.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e){void 0===e.fn.each2&&e.extend(e.fn,{each2:function(t){for(var s=e([0]),i=-1,n=this.length;++i<n&&(s.context=s[0]=this[i])&&!1!==t.call(s[0],i,s););return this}})}(jQuery),function(e,t){"use strict";function s(t){var s=e(document.createTextNode(""));t.before(s),s.before(t),s.remove()}function i(e){return e.replace(/[^\u0000-\u007E]/g,function(e){return j[e]||e})}function n(e,t){for(var s=0,i=t.length;s<i;s+=1)if(a(e,t[s]))return s;return-1}function o(){var t=e(U);t.appendTo(document.body);var s={width:t.width()-t[0].clientWidth,height:t.height()-t[0].clientHeight};return t.remove(),s}function a(e,s){return e===s||e!==t&&s!==t&&(null!==e&&null!==s&&(e.constructor===String?e+""==s+"":s.constructor===String&&s+""==e+""))}function l(e,t,s){var i,n,o;if(null===e||e.length<1)return[];for(n=0,o=(i=e.split(t)).length;n<o;n+=1)i[n]=s(i[n]);return i}function r(e){return e.outerWidth(!1)-e.width()}function c(s){var i="keyup-change-value";s.on("keydown",function(){e.data(s,i)===t&&e.data(s,i,s.val())}),s.on("keyup",function(){var n=e.data(s,i);n!==t&&s.val()!==n&&(e.removeData(s,i),s.trigger("keyup-change"))})}function h(s){s.on("mousemove",function(s){var i=N;i!==t&&i.x===s.pageX&&i.y===s.pageY||e(s.target).trigger("mousemove-filtered",s)})}function u(e,s,i){i=i||t;var n;return function(){var t=arguments;window.clearTimeout(n),n=window.setTimeout(function(){s.apply(i,t)},e)}}function d(e,t){var s=u(e,function(e){t.trigger("scroll-debounced",e)});t.on("scroll",function(e){n(e.target,t.get())>=0&&s(e)})}function p(e){e[0]!==document.activeElement&&window.setTimeout(function(){var t,s=e[0],i=e.val().length;e.focus(),(s.offsetWidth>0||s.offsetHeight>0)&&s===document.activeElement&&(s.setSelectionRange?s.setSelectionRange(i,i):s.createTextRange&&((t=s.createTextRange()).collapse(!1),t.select()))},0)}function f(t){var s=0,i=0;if("selectionStart"in(t=e(t)[0]))s=t.selectionStart,i=t.selectionEnd-s;else if("selection"in document){t.focus();var n=document.selection.createRange();i=document.selection.createRange().text.length,n.moveStart("character",-t.value.length),s=n.text.length-i}return{offset:s,length:i}}function g(e){e.preventDefault(),e.stopPropagation()}function m(e){e.preventDefault(),e.stopImmediatePropagation()}function v(t){if(!L){var s=t[0].currentStyle||window.getComputedStyle(t[0],null);(L=e(document.createElement("div")).css({position:"absolute",left:"-10000px",top:"-10000px",display:"none",fontSize:s.fontSize,fontFamily:s.fontFamily,fontStyle:s.fontStyle,fontWeight:s.fontWeight,letterSpacing:s.letterSpacing,textTransform:s.textTransform,whiteSpace:"nowrap"})).attr("class","select2-sizer"),e(document.body).append(L)}return L.text(t.val()),L.width()}function b(t,s,i){var n,o,a=[];(n=e.trim(t.attr("class")))&&e((n=""+n).split(/\s+/)).each2(function(){0===this.indexOf("select2-")&&a.push(this)}),(n=e.trim(s.attr("class")))&&e((n=""+n).split(/\s+/)).each2(function(){0!==this.indexOf("select2-")&&(o=i(this))&&a.push(o)}),t.attr("class",a.join(" "))}function w(e,t,s,n){var o=i(e.toUpperCase()).indexOf(i(t.toUpperCase())),a=t.length;o<0?s.push(n(e)):(s.push(n(e.substring(0,o))),s.push("<span class='select2-match'>"),s.push(n(e.substring(o,o+a))),s.push("</span>"),s.push(n(e.substring(o+a,e.length))))}function S(e){var t={"\\":"&#92;","&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#47;"};return String(e).replace(/[&<>"'\/\\]/g,function(e){return t[e]})}function C(s){var i,n=null,o=s.quietMillis||100,a=s.url,l=this;return function(r){window.clearTimeout(i),i=window.setTimeout(function(){var i=s.data,o=a,c=s.transport||e.fn.select2.ajaxDefaults.transport,h={type:s.type||"GET",cache:s.cache||!1,jsonpCallback:s.jsonpCallback||t,dataType:s.dataType||"json"},u=e.extend({},e.fn.select2.ajaxDefaults.params,h);i=i?i.call(l,r.term,r.page,r.context):null,o="function"==typeof o?o.call(l,r.term,r.page,r.context):o,n&&"function"==typeof n.abort&&n.abort(),s.params&&(e.isFunction(s.params)?e.extend(u,s.params.call(l)):e.extend(u,s.params)),e.extend(u,{url:o,dataType:s.dataType,data:i,success:function(e){var t=s.results(e,r.page,r);r.callback(t)},error:function(e,t,s){var i={hasError:!0,jqXHR:e,textStatus:t,errorThrown:s};r.callback(i)}}),n=c.call(l,u)},o)}}function y(t){var s,i,n=t,o=function(e){return""+e.text};e.isArray(n)&&(n={results:i=n}),!1===e.isFunction(n)&&(i=n,n=function(){return i});var a=n();return a.text&&(o=a.text,e.isFunction(o)||(s=a.text,o=function(e){return e[s]})),function(t){var s,i=t.term,a={results:[]};""!==i?(s=function(n,a){var l,r;if((n=n[0]).children){l={};for(r in n)n.hasOwnProperty(r)&&(l[r]=n[r]);l.children=[],e(n.children).each2(function(e,t){s(t,l.children)}),(l.children.length||t.matcher(i,o(l),n))&&a.push(l)}else t.matcher(i,o(n),n)&&a.push(n)},e(n().results).each2(function(e,t){s(t,a.results)}),t.callback(a)):t.callback(n())}}function x(s){var i=e.isFunction(s);return function(n){var o=n.term,a={results:[]},l=i?s(n):s;e.isArray(l)&&(e(l).each(function(){var e=this.text!==t,s=e?this.text:this;(""===o||n.matcher(o,s))&&a.results.push(e?this:{id:this,text:this})}),n.callback(a))}}function E(t,s){if(e.isFunction(t))return!0;if(!t)return!1;if("string"==typeof t)return!0;throw new Error(s+" must be a string, function, or falsy value")}function T(t,s){if(e.isFunction(t)){var i=Array.prototype.slice.call(arguments,2);return t.apply(s,i)}return t}function O(t){var s=0;return e.each(t,function(e,t){t.children?s+=O(t.children):s++}),s}function I(){var t=this;e.each(arguments,function(e,s){t[s].remove(),t[s]=null})}function P(t,s){var i=function(){};return i.prototype=new t,i.prototype.constructor=i,i.prototype.parent=t.prototype,i.prototype=e.extend(i.prototype,s),i}if(window.Select2===t){var k,R,A,D,L,M,H,N={x:0,y:0},F={TAB:9,ENTER:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,SHIFT:16,CTRL:17,ALT:18,PAGE_UP:33,PAGE_DOWN:34,HOME:36,END:35,BACKSPACE:8,DELETE:46,isArrow:function(e){switch(e=e.which?e.which:e){case F.LEFT:case F.RIGHT:case F.UP:case F.DOWN:return!0}return!1},isControl:function(e){switch(e.which){case F.SHIFT:case F.CTRL:case F.ALT:return!0}return!!e.metaKey},isFunctionKey:function(e){return(e=e.which?e.which:e)>=112&&e<=123}},U="<div class='select2-measure-scrollbar'></div>",j={"Ⓐ":"A","A":"A","À":"A","Á":"A","Â":"A","Ầ":"A","Ấ":"A","Ẫ":"A","Ẩ":"A","Ã":"A","Ā":"A","Ă":"A","Ằ":"A","Ắ":"A","Ẵ":"A","Ẳ":"A","Ȧ":"A","Ǡ":"A","Ä":"A","Ǟ":"A","Ả":"A","Å":"A","Ǻ":"A","Ǎ":"A","Ȁ":"A","Ȃ":"A","Ạ":"A","Ậ":"A","Ặ":"A","Ḁ":"A","Ą":"A","Ⱥ":"A","Ɐ":"A","Ꜳ":"AA","Æ":"AE","Ǽ":"AE","Ǣ":"AE","Ꜵ":"AO","Ꜷ":"AU","Ꜹ":"AV","Ꜻ":"AV","Ꜽ":"AY","Ⓑ":"B","B":"B","Ḃ":"B","Ḅ":"B","Ḇ":"B","Ƀ":"B","Ƃ":"B","Ɓ":"B","Ⓒ":"C","C":"C","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","Ç":"C","Ḉ":"C","Ƈ":"C","Ȼ":"C","Ꜿ":"C","Ⓓ":"D","D":"D","Ḋ":"D","Ď":"D","Ḍ":"D","Ḑ":"D","Ḓ":"D","Ḏ":"D","Đ":"D","Ƌ":"D","Ɗ":"D","Ɖ":"D","Ꝺ":"D","DZ":"DZ","DŽ":"DZ","Dz":"Dz","Dž":"Dz","Ⓔ":"E","E":"E","È":"E","É":"E","Ê":"E","Ề":"E","Ế":"E","Ễ":"E","Ể":"E","Ẽ":"E","Ē":"E","Ḕ":"E","Ḗ":"E","Ĕ":"E","Ė":"E","Ë":"E","Ẻ":"E","Ě":"E","Ȅ":"E","Ȇ":"E","Ẹ":"E","Ệ":"E","Ȩ":"E","Ḝ":"E","Ę":"E","Ḙ":"E","Ḛ":"E","Ɛ":"E","Ǝ":"E","Ⓕ":"F","F":"F","Ḟ":"F","Ƒ":"F","Ꝼ":"F","Ⓖ":"G","G":"G","Ǵ":"G","Ĝ":"G","Ḡ":"G","Ğ":"G","Ġ":"G","Ǧ":"G","Ģ":"G","Ǥ":"G","Ɠ":"G","Ꞡ":"G","Ᵹ":"G","Ꝿ":"G","Ⓗ":"H","H":"H","Ĥ":"H","Ḣ":"H","Ḧ":"H","Ȟ":"H","Ḥ":"H","Ḩ":"H","Ḫ":"H","Ħ":"H","Ⱨ":"H","Ⱶ":"H","Ɥ":"H","Ⓘ":"I","I":"I","Ì":"I","Í":"I","Î":"I","Ĩ":"I","Ī":"I","Ĭ":"I","İ":"I","Ï":"I","Ḯ":"I","Ỉ":"I","Ǐ":"I","Ȉ":"I","Ȋ":"I","Ị":"I","Į":"I","Ḭ":"I","Ɨ":"I","Ⓙ":"J","J":"J","Ĵ":"J","Ɉ":"J","Ⓚ":"K","K":"K","Ḱ":"K","Ǩ":"K","Ḳ":"K","Ķ":"K","Ḵ":"K","Ƙ":"K","Ⱪ":"K","Ꝁ":"K","Ꝃ":"K","Ꝅ":"K","Ꞣ":"K","Ⓛ":"L","L":"L","Ŀ":"L","Ĺ":"L","Ľ":"L","Ḷ":"L","Ḹ":"L","Ļ":"L","Ḽ":"L","Ḻ":"L","Ł":"L","Ƚ":"L","Ɫ":"L","Ⱡ":"L","Ꝉ":"L","Ꝇ":"L","Ꞁ":"L","LJ":"LJ","Lj":"Lj","Ⓜ":"M","M":"M","Ḿ":"M","Ṁ":"M","Ṃ":"M","Ɱ":"M","Ɯ":"M","Ⓝ":"N","N":"N","Ǹ":"N","Ń":"N","Ñ":"N","Ṅ":"N","Ň":"N","Ṇ":"N","Ņ":"N","Ṋ":"N","Ṉ":"N","Ƞ":"N","Ɲ":"N","Ꞑ":"N","Ꞥ":"N","NJ":"NJ","Nj":"Nj","Ⓞ":"O","O":"O","Ò":"O","Ó":"O","Ô":"O","Ồ":"O","Ố":"O","Ỗ":"O","Ổ":"O","Õ":"O","Ṍ":"O","Ȭ":"O","Ṏ":"O","Ō":"O","Ṑ":"O","Ṓ":"O","Ŏ":"O","Ȯ":"O","Ȱ":"O","Ö":"O","Ȫ":"O","Ỏ":"O","Ő":"O","Ǒ":"O","Ȍ":"O","Ȏ":"O","Ơ":"O","Ờ":"O","Ớ":"O","Ỡ":"O","Ở":"O","Ợ":"O","Ọ":"O","Ộ":"O","Ǫ":"O","Ǭ":"O","Ø":"O","Ǿ":"O","Ɔ":"O","Ɵ":"O","Ꝋ":"O","Ꝍ":"O","Ƣ":"OI","Ꝏ":"OO","Ȣ":"OU","Ⓟ":"P","P":"P","Ṕ":"P","Ṗ":"P","Ƥ":"P","Ᵽ":"P","Ꝑ":"P","Ꝓ":"P","Ꝕ":"P","Ⓠ":"Q","Q":"Q","Ꝗ":"Q","Ꝙ":"Q","Ɋ":"Q","Ⓡ":"R","R":"R","Ŕ":"R","Ṙ":"R","Ř":"R","Ȑ":"R","Ȓ":"R","Ṛ":"R","Ṝ":"R","Ŗ":"R","Ṟ":"R","Ɍ":"R","Ɽ":"R","Ꝛ":"R","Ꞧ":"R","Ꞃ":"R","Ⓢ":"S","S":"S","ẞ":"S","Ś":"S","Ṥ":"S","Ŝ":"S","Ṡ":"S","Š":"S","Ṧ":"S","Ṣ":"S","Ṩ":"S","Ș":"S","Ş":"S","Ȿ":"S","Ꞩ":"S","Ꞅ":"S","Ⓣ":"T","T":"T","Ṫ":"T","Ť":"T","Ṭ":"T","Ț":"T","Ţ":"T","Ṱ":"T","Ṯ":"T","Ŧ":"T","Ƭ":"T","Ʈ":"T","Ⱦ":"T","Ꞇ":"T","Ꜩ":"TZ","Ⓤ":"U","U":"U","Ù":"U","Ú":"U","Û":"U","Ũ":"U","Ṹ":"U","Ū":"U","Ṻ":"U","Ŭ":"U","Ü":"U","Ǜ":"U","Ǘ":"U","Ǖ":"U","Ǚ":"U","Ủ":"U","Ů":"U","Ű":"U","Ǔ":"U","Ȕ":"U","Ȗ":"U","Ư":"U","Ừ":"U","Ứ":"U","Ữ":"U","Ử":"U","Ự":"U","Ụ":"U","Ṳ":"U","Ų":"U","Ṷ":"U","Ṵ":"U","Ʉ":"U","Ⓥ":"V","V":"V","Ṽ":"V","Ṿ":"V","Ʋ":"V","Ꝟ":"V","Ʌ":"V","Ꝡ":"VY","Ⓦ":"W","W":"W","Ẁ":"W","Ẃ":"W","Ŵ":"W","Ẇ":"W","Ẅ":"W","Ẉ":"W","Ⱳ":"W","Ⓧ":"X","X":"X","Ẋ":"X","Ẍ":"X","Ⓨ":"Y","Y":"Y","Ỳ":"Y","Ý":"Y","Ŷ":"Y","Ỹ":"Y","Ȳ":"Y","Ẏ":"Y","Ÿ":"Y","Ỷ":"Y","Ỵ":"Y","Ƴ":"Y","Ɏ":"Y","Ỿ":"Y","Ⓩ":"Z","Z":"Z","Ź":"Z","Ẑ":"Z","Ż":"Z","Ž":"Z","Ẓ":"Z","Ẕ":"Z","Ƶ":"Z","Ȥ":"Z","Ɀ":"Z","Ⱬ":"Z","Ꝣ":"Z","ⓐ":"a","a":"a","ẚ":"a","à":"a","á":"a","â":"a","ầ":"a","ấ":"a","ẫ":"a","ẩ":"a","ã":"a","ā":"a","ă":"a","ằ":"a","ắ":"a","ẵ":"a","ẳ":"a","ȧ":"a","ǡ":"a","ä":"a","ǟ":"a","ả":"a","å":"a","ǻ":"a","ǎ":"a","ȁ":"a","ȃ":"a","ạ":"a","ậ":"a","ặ":"a","ḁ":"a","ą":"a","ⱥ":"a","ɐ":"a","ꜳ":"aa","æ":"ae","ǽ":"ae","ǣ":"ae","ꜵ":"ao","ꜷ":"au","ꜹ":"av","ꜻ":"av","ꜽ":"ay","ⓑ":"b","b":"b","ḃ":"b","ḅ":"b","ḇ":"b","ƀ":"b","ƃ":"b","ɓ":"b","ⓒ":"c","c":"c","ć":"c","ĉ":"c","ċ":"c","č":"c","ç":"c","ḉ":"c","ƈ":"c","ȼ":"c","ꜿ":"c","ↄ":"c","ⓓ":"d","d":"d","ḋ":"d","ď":"d","ḍ":"d","ḑ":"d","ḓ":"d","ḏ":"d","đ":"d","ƌ":"d","ɖ":"d","ɗ":"d","ꝺ":"d","dz":"dz","dž":"dz","ⓔ":"e","e":"e","è":"e","é":"e","ê":"e","ề":"e","ế":"e","ễ":"e","ể":"e","ẽ":"e","ē":"e","ḕ":"e","ḗ":"e","ĕ":"e","ė":"e","ë":"e","ẻ":"e","ě":"e","ȅ":"e","ȇ":"e","ẹ":"e","ệ":"e","ȩ":"e","ḝ":"e","ę":"e","ḙ":"e","ḛ":"e","ɇ":"e","ɛ":"e","ǝ":"e","ⓕ":"f","f":"f","ḟ":"f","ƒ":"f","ꝼ":"f","ⓖ":"g","g":"g","ǵ":"g","ĝ":"g","ḡ":"g","ğ":"g","ġ":"g","ǧ":"g","ģ":"g","ǥ":"g","ɠ":"g","ꞡ":"g","ᵹ":"g","ꝿ":"g","ⓗ":"h","h":"h","ĥ":"h","ḣ":"h","ḧ":"h","ȟ":"h","ḥ":"h","ḩ":"h","ḫ":"h","ẖ":"h","ħ":"h","ⱨ":"h","ⱶ":"h","ɥ":"h","ƕ":"hv","ⓘ":"i","i":"i","ì":"i","í":"i","î":"i","ĩ":"i","ī":"i","ĭ":"i","ï":"i","ḯ":"i","ỉ":"i","ǐ":"i","ȉ":"i","ȋ":"i","ị":"i","į":"i","ḭ":"i","ɨ":"i","ı":"i","ⓙ":"j","j":"j","ĵ":"j","ǰ":"j","ɉ":"j","ⓚ":"k","k":"k","ḱ":"k","ǩ":"k","ḳ":"k","ķ":"k","ḵ":"k","ƙ":"k","ⱪ":"k","ꝁ":"k","ꝃ":"k","ꝅ":"k","ꞣ":"k","ⓛ":"l","l":"l","ŀ":"l","ĺ":"l","ľ":"l","ḷ":"l","ḹ":"l","ļ":"l","ḽ":"l","ḻ":"l","ſ":"l","ł":"l","ƚ":"l","ɫ":"l","ⱡ":"l","ꝉ":"l","ꞁ":"l","ꝇ":"l","lj":"lj","ⓜ":"m","m":"m","ḿ":"m","ṁ":"m","ṃ":"m","ɱ":"m","ɯ":"m","ⓝ":"n","n":"n","ǹ":"n","ń":"n","ñ":"n","ṅ":"n","ň":"n","ṇ":"n","ņ":"n","ṋ":"n","ṉ":"n","ƞ":"n","ɲ":"n","ʼn":"n","ꞑ":"n","ꞥ":"n","nj":"nj","ⓞ":"o","o":"o","ò":"o","ó":"o","ô":"o","ồ":"o","ố":"o","ỗ":"o","ổ":"o","õ":"o","ṍ":"o","ȭ":"o","ṏ":"o","ō":"o","ṑ":"o","ṓ":"o","ŏ":"o","ȯ":"o","ȱ":"o","ö":"o","ȫ":"o","ỏ":"o","ő":"o","ǒ":"o","ȍ":"o","ȏ":"o","ơ":"o","ờ":"o","ớ":"o","ỡ":"o","ở":"o","ợ":"o","ọ":"o","ộ":"o","ǫ":"o","ǭ":"o","ø":"o","ǿ":"o","ɔ":"o","ꝋ":"o","ꝍ":"o","ɵ":"o","ƣ":"oi","ȣ":"ou","ꝏ":"oo","ⓟ":"p","p":"p","ṕ":"p","ṗ":"p","ƥ":"p","ᵽ":"p","ꝑ":"p","ꝓ":"p","ꝕ":"p","ⓠ":"q","q":"q","ɋ":"q","ꝗ":"q","ꝙ":"q","ⓡ":"r","r":"r","ŕ":"r","ṙ":"r","ř":"r","ȑ":"r","ȓ":"r","ṛ":"r","ṝ":"r","ŗ":"r","ṟ":"r","ɍ":"r","ɽ":"r","ꝛ":"r","ꞧ":"r","ꞃ":"r","ⓢ":"s","s":"s","ß":"s","ś":"s","ṥ":"s","ŝ":"s","ṡ":"s","š":"s","ṧ":"s","ṣ":"s","ṩ":"s","ș":"s","ş":"s","ȿ":"s","ꞩ":"s","ꞅ":"s","ẛ":"s","ⓣ":"t","t":"t","ṫ":"t","ẗ":"t","ť":"t","ṭ":"t","ț":"t","ţ":"t","ṱ":"t","ṯ":"t","ŧ":"t","ƭ":"t","ʈ":"t","ⱦ":"t","ꞇ":"t","ꜩ":"tz","ⓤ":"u","u":"u","ù":"u","ú":"u","û":"u","ũ":"u","ṹ":"u","ū":"u","ṻ":"u","ŭ":"u","ü":"u","ǜ":"u","ǘ":"u","ǖ":"u","ǚ":"u","ủ":"u","ů":"u","ű":"u","ǔ":"u","ȕ":"u","ȗ":"u","ư":"u","ừ":"u","ứ":"u","ữ":"u","ử":"u","ự":"u","ụ":"u","ṳ":"u","ų":"u","ṷ":"u","ṵ":"u","ʉ":"u","ⓥ":"v","v":"v","ṽ":"v","ṿ":"v","ʋ":"v","ꝟ":"v","ʌ":"v","ꝡ":"vy","ⓦ":"w","w":"w","ẁ":"w","ẃ":"w","ŵ":"w","ẇ":"w","ẅ":"w","ẘ":"w","ẉ":"w","ⱳ":"w","ⓧ":"x","x":"x","ẋ":"x","ẍ":"x","ⓨ":"y","y":"y","ỳ":"y","ý":"y","ŷ":"y","ỹ":"y","ȳ":"y","ẏ":"y","ÿ":"y","ỷ":"y","ẙ":"y","ỵ":"y","ƴ":"y","ɏ":"y","ỿ":"y","ⓩ":"z","z":"z","ź":"z","ẑ":"z","ż":"z","ž":"z","ẓ":"z","ẕ":"z","ƶ":"z","ȥ":"z","ɀ":"z","ⱬ":"z","ꝣ":"z","Ά":"Α","Έ":"Ε","Ή":"Η","Ί":"Ι","Ϊ":"Ι","Ό":"Ο","Ύ":"Υ","Ϋ":"Υ","Ώ":"Ω","ά":"α","έ":"ε","ή":"η","ί":"ι","ϊ":"ι","ΐ":"ι","ό":"ο","ύ":"υ","ϋ":"υ","ΰ":"υ","ω":"ω","ς":"σ"};M=e(document),D=function(){var e=1;return function(){return e++}}(),R=P(k=P(Object,{bind:function(e){var t=this;return function(){e.apply(t,arguments)}},init:function(s){var i,n;this.opts=s=this.prepareOpts(s),this.id=s.id,s.element.data("select2")!==t&&null!==s.element.data("select2")&&s.element.data("select2").destroy(),this.container=this.createContainer(),this.liveRegion=e(".select2-hidden-accessible"),0==this.liveRegion.length&&(this.liveRegion=e("<span>",{role:"status","aria-live":"polite"}).addClass("select2-hidden-accessible").appendTo(document.body)),this.containerId="s2id_"+(s.element.attr("id")||"autogen"+D()),this.containerEventName=this.containerId.replace(/([.])/g,"_").replace(/([;&,\-\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,"\\$1"),this.container.attr("id",this.containerId),this.container.attr("title",s.element.attr("title")),this.body=e(document.body),b(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.attr("style",s.element.attr("style")),this.container.css(T(s.containerCss,this.opts.element)),this.container.addClass(T(s.containerCssClass,this.opts.element)),this.elementTabIndex=this.opts.element.attr("tabindex"),this.opts.element.data("select2",this).attr("tabindex","-1").before(this.container).on("click.select2",g),this.container.data("select2",this),this.dropdown=this.container.find(".select2-drop"),b(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(s.dropdownCssClass,this.opts.element)),this.dropdown.data("select2",this),this.dropdown.on("click",g),this.results=i=this.container.find(".select2-results"),this.search=n=this.container.find("input.select2-input"),this.queryCount=0,this.resultsPage=0,this.context=null,this.initContainer(),this.container.on("click",g),h(this.results),this.dropdown.on("mousemove-filtered",".select2-results",this.bind(this.highlightUnderEvent)),this.dropdown.on("touchstart touchmove touchend",".select2-results",this.bind(function(e){this._touchEvent=!0,this.highlightUnderEvent(e)})),this.dropdown.on("touchmove",".select2-results",this.bind(this.touchMoved)),this.dropdown.on("touchstart touchend",".select2-results",this.bind(this.clearTouchMoved)),this.dropdown.on("click",this.bind(function(e){this._touchEvent&&(this._touchEvent=!1,this.selectHighlighted())})),d(80,this.results),this.dropdown.on("scroll-debounced",".select2-results",this.bind(this.loadMoreIfNeeded)),e(this.container).on("change",".select2-input",function(e){e.stopPropagation()}),e(this.dropdown).on("change",".select2-input",function(e){e.stopPropagation()}),e.fn.mousewheel&&i.mousewheel(function(e,t,s,n){var o=i.scrollTop();n>0&&o-n<=0?(i.scrollTop(0),g(e)):n<0&&i.get(0).scrollHeight-i.scrollTop()+n<=i.height()&&(i.scrollTop(i.get(0).scrollHeight-i.height()),g(e))}),c(n),n.on("keyup-change input paste",this.bind(this.updateResults)),n.on("focus",function(){n.addClass("select2-focused")}),n.on("blur",function(){n.removeClass("select2-focused")}),this.dropdown.on("mouseup",".select2-results",this.bind(function(t){e(t.target).closest(".select2-result-selectable").length>0&&(this.highlightUnderEvent(t),this.selectHighlighted(t))})),this.dropdown.on("click mouseup mousedown touchstart touchend focusin",function(e){e.stopPropagation()}),this.lastSearchTerm=t,e.isFunction(this.opts.initSelection)&&(this.initSelection(),this.monitorSource()),null!==s.maximumInputLength&&this.search.attr("maxlength",s.maximumInputLength);var a=s.element.prop("disabled");a===t&&(a=!1),this.enable(!a);var l=s.element.prop("readonly");l===t&&(l=!1),this.readonly(l),H=H||o(),this.autofocus=s.element.prop("autofocus"),s.element.prop("autofocus",!1),this.autofocus&&this.focus(),this.search.attr("placeholder",s.searchInputPlaceholder)},destroy:function(){var e=this.opts.element,s=e.data("select2"),i=this;this.close(),e.length&&e[0].detachEvent&&i._sync&&e.each(function(){i._sync&&this.detachEvent("onpropertychange",i._sync)}),this.propertyObserver&&(this.propertyObserver.disconnect(),this.propertyObserver=null),this._sync=null,s!==t&&(s.container.remove(),s.liveRegion.remove(),s.dropdown.remove(),e.removeData("select2").off(".select2"),e.is("input[type='hidden']")?e.css("display",""):(e.show().prop("autofocus",this.autofocus||!1),this.elementTabIndex?e.attr({tabindex:this.elementTabIndex}):e.removeAttr("tabindex"),e.show())),I.call(this,"container","liveRegion","dropdown","results","search")},optionToData:function(e){return e.is("option")?{id:e.prop("value"),text:e.text(),element:e.get(),css:e.attr("class"),disabled:e.prop("disabled"),locked:a(e.attr("locked"),"locked")||a(e.data("locked"),!0)}:e.is("optgroup")?{text:e.attr("label"),children:[],element:e.get(),css:e.attr("class")}:void 0},prepareOpts:function(s){var i,n,o,r,c=this;if("select"===(i=s.element).get(0).tagName.toLowerCase()&&(this.select=n=s.element),n&&e.each(["id","multiple","ajax","query","createSearchChoice","initSelection","data","tags"],function(){if(this in s)throw new Error("Option '"+this+"' is not allowed for Select2 when attached to a <select> element.")}),s.debug=s.debug||e.fn.select2.defaults.debug,s.debug&&console&&console.warn&&(null!=s.id&&console.warn("Select2: The `id` option has been removed in Select2 4.0.0, consider renaming your `id` property or mapping the property before your data makes it to Select2. You can read more at https://select2.github.io/announcements-4.0.html#changed-id"),null!=s.text&&console.warn("Select2: The `text` option has been removed in Select2 4.0.0, consider renaming your `text` property or mapping the property before your data makes it to Select2. You can read more at https://select2.github.io/announcements-4.0.html#changed-id"),null!=s.sortResults&&console.warn("Select2: the `sortResults` option has been renamed to `sorter` in Select2 4.0.0. "),null!=s.selectOnBlur&&console.warn("Select2: The `selectOnBlur` option has been renamed to `selectOnClose` in Select2 4.0.0."),null!=s.ajax&&null!=s.ajax.results&&console.warn("Select2: The `ajax.results` option has been renamed to `ajax.processResults` in Select2 4.0.0."),null!=s.formatNoResults&&console.warn("Select2: The `formatNoResults` option has been renamed to `language.noResults` in Select2 4.0.0."),null!=s.formatSearching&&console.warn("Select2: The `formatSearching` option has been renamed to `language.searching` in Select2 4.0.0."),null!=s.formatInputTooShort&&console.warn("Select2: The `formatInputTooShort` option has been renamed to `language.inputTooShort` in Select2 4.0.0."),null!=s.formatInputTooLong&&console.warn("Select2: The `formatInputTooLong` option has been renamed to `language.inputTooLong` in Select2 4.0.0."),null!=s.formatLoading&&console.warn("Select2: The `formatLoading` option has been renamed to `language.loadingMore` in Select2 4.0.0."),null!=s.formatSelectionTooBig&&console.warn("Select2: The `formatSelectionTooBig` option has been renamed to `language.maximumSelected` in Select2 4.0.0."),s.element.data("select2Tags")&&console.warn("Select2: The `data-select2-tags` attribute has been renamed to `data-tags` in Select2 4.0.0.")),null!=s.element.data("tags")){var h=s.element.data("tags");e.isArray(h)||(h=[]),s.element.data("select2Tags",h)}if(null!=s.sorter&&(s.sortResults=s.sorter),null!=s.selectOnClose&&(s.selectOnBlur=s.selectOnClose),null!=s.ajax&&e.isFunction(s.ajax.processResults)&&(s.ajax.results=s.ajax.processResults),null!=s.language){var u=s.language;e.isFunction(u.noMatches)&&(s.formatNoMatches=u.noMatches),e.isFunction(u.searching)&&(s.formatSearching=u.searching),e.isFunction(u.inputTooShort)&&(s.formatInputTooShort=u.inputTooShort),e.isFunction(u.inputTooLong)&&(s.formatInputTooLong=u.inputTooLong),e.isFunction(u.loadingMore)&&(s.formatLoading=u.loadingMore),e.isFunction(u.maximumSelected)&&(s.formatSelectionTooBig=u.maximumSelected)}if("function"!=typeof(s=e.extend({},{populateResults:function(i,n,o){var a,l=this.opts.id,r=this.liveRegion;(a=function(i,n,h){var u,d,p,f,g,m,v,b,w,S,C=[];for(u=0,d=(i=s.sortResults(i,n,o)).length;u<d;u+=1)f=!(g=!0===(p=i[u]).disabled)&&l(p)!==t,m=p.children&&p.children.length>0,(v=e("<li></li>")).addClass("select2-results-dept-"+h),v.addClass("select2-result"),v.addClass(f?"select2-result-selectable":"select2-result-unselectable"),g&&v.addClass("select2-disabled"),m&&v.addClass("select2-result-with-children"),v.addClass(c.opts.formatResultCssClass(p)),v.attr("role","presentation"),(b=e(document.createElement("div"))).addClass("select2-result-label"),b.attr("id","select2-result-label-"+D()),b.attr("role","option"),(S=s.formatResult(p,b,o,c.opts.escapeMarkup))!==t&&(b.html(S),v.append(b)),m&&((w=e("<ul></ul>")).addClass("select2-result-sub"),a(p.children,w,h+1),v.append(w)),v.data("select2-data",p),C.push(v[0]);n.append(C),r.text(s.formatMatches(i.length))})(n,i,0)}},e.fn.select2.defaults,s)).id&&(o=s.id,s.id=function(e){return e[o]}),e.isArray(s.element.data("select2Tags"))){if("tags"in s)throw"tags specified as both an attribute 'data-select2-tags' and in options of Select2 "+s.element.attr("id");s.tags=s.element.data("select2Tags")}if(n?(s.query=this.bind(function(e){var s,n,o,a={results:[],more:!1},l=e.term;o=function(t,s){var i;t.is("option")?e.matcher(l,t.text(),t)&&s.push(c.optionToData(t)):t.is("optgroup")&&(i=c.optionToData(t),t.children().each2(function(e,t){o(t,i.children)}),i.children.length>0&&s.push(i))},s=i.children(),this.getPlaceholder()!==t&&s.length>0&&(n=this.getPlaceholderOption())&&(s=s.not(n)),s.each2(function(e,t){o(t,a.results)}),e.callback(a)}),s.id=function(e){return e.id}):"query"in s||("ajax"in s?((r=s.element.data("ajax-url"))&&r.length>0&&(s.ajax.url=r),s.query=C.call(s.element,s.ajax)):"data"in s?s.query=y(s.data):"tags"in s&&(s.query=x(s.tags),s.createSearchChoice===t&&(s.createSearchChoice=function(t){return{id:e.trim(t),text:e.trim(t)}}),s.initSelection===t&&(s.initSelection=function(t,i){var n=[];e(l(t.val(),s.separator,s.transformVal)).each(function(){var t={id:this,text:this},i=s.tags;e.isFunction(i)&&(i=i()),e(i).each(function(){if(a(this.id,t.id))return t=this,!1}),n.push(t)}),i(n)}))),"function"!=typeof s.query)throw"query function not defined for Select2 "+s.element.attr("id");if("top"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.unshift(t)};else if("bottom"===s.createSearchChoicePosition)s.createSearchChoicePosition=function(e,t){e.push(t)};else if("function"!=typeof s.createSearchChoicePosition)throw"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function";return s},monitorSource:function(){var s,i=this.opts.element,n=this;i.on("change.select2",this.bind(function(e){!0!==this.opts.element.data("select2-change-triggered")&&this.initSelection()})),this._sync=this.bind(function(){var e=i.prop("disabled");e===t&&(e=!1),this.enable(!e);var s=i.prop("readonly");s===t&&(s=!1),this.readonly(s),this.container&&(b(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(T(this.opts.containerCssClass,this.opts.element))),this.dropdown&&(b(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(T(this.opts.dropdownCssClass,this.opts.element)))}),i.length&&i[0].attachEvent&&i.each(function(){this.attachEvent("onpropertychange",n._sync)}),(s=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver)!==t&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new s(function(t){e.each(t,n._sync)}),this.propertyObserver.observe(i.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(t){var s=e.Event("select2-selecting",{val:this.id(t),object:t,choice:t});return this.opts.element.trigger(s),!s.isDefaultPrevented()},triggerChange:function(t){t=t||{},t=e.extend({},t,{type:"change",val:this.val()}),this.opts.element.data("select2-change-triggered",!0),this.opts.element.trigger(t),this.opts.element.data("select2-change-triggered",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return!0===this.enabledInterface},enableInterface:function(){var e=this._enabled&&!this._readonly,t=!e;return e!==this.enabledInterface&&(this.container.toggleClass("select2-container-disabled",t),this.close(),this.enabledInterface=e,!0)},enable:function(e){e===t&&(e=!0),this._enabled!==e&&(this._enabled=e,this.opts.element.prop("disabled",!e),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(e){e===t&&(e=!1),this._readonly!==e&&(this._readonly=e,this.opts.element.prop("readonly",e),this.enableInterface())},opened:function(){return!!this.container&&this.container.hasClass("select2-dropdown-open")},positionDropdown:function(){var t,s,i,n,o,a=this.dropdown,l=this.container,r=l.offset(),c=l.outerHeight(!1),h=l.outerWidth(!1),u=a.outerHeight(!1),d=e(window),p=d.width(),f=d.height(),g=d.scrollLeft()+p,m=d.scrollTop()+f,v=r.top+c,b=r.left,w=v+u<=m,S=r.top-u>=d.scrollTop(),C=a.outerWidth(!1);a.hasClass("select2-drop-above")?(s=!0,!S&&w&&(i=!0,s=!1)):(s=!1,!w&&S&&(i=!0,s=!0)),i&&(a.hide(),r=this.container.offset(),c=this.container.outerHeight(!1),h=this.container.outerWidth(!1),u=a.outerHeight(!1),g=d.scrollLeft()+p,m=d.scrollTop()+f,v=r.top+c,b=r.left,C=a.outerWidth(!1),a.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(o=e(".select2-results",a)[0],a.addClass("select2-drop-auto-width"),a.css("width",""),(C=a.outerWidth(!1)+(o.scrollHeight===o.clientHeight?0:H.width))>h?h=C:C=h,u=a.outerHeight(!1)):this.container.removeClass("select2-drop-auto-width"),"static"!==this.body.css("position")&&(v-=(t=this.body.offset()).top,b-=t.left),!(b+C<=g)&&r.left+g+l.outerWidth(!1)>C&&(b=r.left+this.container.outerWidth(!1)-C),n={left:b,width:h},s?(this.container.addClass("select2-drop-above"),a.addClass("select2-drop-above"),u=a.outerHeight(!1),n.top=r.top-u,n.bottom="auto"):(n.top=v,n.bottom="auto",this.container.removeClass("select2-drop-above"),a.removeClass("select2-drop-above")),n=e.extend(n,T(this.opts.dropdownCss,this.opts.element)),a.css(n)},shouldOpen:function(){var t;return!this.opened()&&(!1!==this._enabled&&!0!==this._readonly&&(t=e.Event("select2-opening"),this.opts.element.trigger(t),!t.isDefaultPrevented()))},clearDropdownAlignmentPreference:function(){this.container.removeClass("select2-drop-above"),this.dropdown.removeClass("select2-drop-above")},open:function(){return!!this.shouldOpen()&&(this.opening(),M.on("mousemove.select2Event",function(e){N.x=e.pageX,N.y=e.pageY}),!0)},opening:function(){var t,i=this.containerEventName,n="scroll."+i,o="resize."+i,a="orientationchange."+i;this.container.addClass("select2-dropdown-open").addClass("select2-container-active"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body.children().last()[0]&&this.dropdown.detach().appendTo(this.body),0===(t=e("#select2-drop-mask")).length&&((t=e(document.createElement("div"))).attr("id","select2-drop-mask").attr("class","select2-drop-mask"),t.hide(),t.appendTo(this.body),t.on("mousedown touchstart click",function(i){s(t);var n,o=e("#select2-drop");o.length>0&&((n=o.data("select2")).opts.selectOnBlur&&n.selectHighlighted({noFocus:!0}),n.close(),i.preventDefault(),i.stopPropagation())})),this.dropdown.prev()[0]!==t[0]&&this.dropdown.before(t),e("#select2-drop").removeAttr("id"),this.dropdown.attr("id","select2-drop"),t.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass("select2-drop-active");var l=this;this.container.parents().add(window).each(function(){e(this).on(o+" "+n+" "+a,function(e){l.opened()&&l.positionDropdown()})})},close:function(){if(this.opened()){var t=this.containerEventName,s="scroll."+t,i="resize."+t,n="orientationchange."+t;this.container.parents().add(window).each(function(){e(this).off(s).off(i).off(n)}),this.clearDropdownAlignmentPreference(),e("#select2-drop-mask").hide(),this.dropdown.removeAttr("id"),this.dropdown.hide(),this.container.removeClass("select2-dropdown-open").removeClass("select2-container-active"),this.results.empty(),M.off("mousemove.select2Event"),this.clearSearch(),this.search.removeClass("select2-active"),this.search.removeAttr("aria-activedescendant"),this.opts.element.trigger(e.Event("select2-close"))}},externalSearch:function(e){this.open(),this.search.val(e),this.updateResults(!1)},clearSearch:function(){},prefillNextSearchTerm:function(){if(""!==this.search.val())return!1;var e=this.opts.nextSearchTerm(this.data(),this.lastSearchTerm);return e!==t&&(this.search.val(e),this.search.select(),!0)},getMaximumSelectionSize:function(){return T(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var t,s,i,n,o,a,l,r,c=this.results;(s=this.highlight())<0||0!=s&&(t=this.findHighlightableChoices().find(".select2-result-label"),n=(r=((i=e(t[s])).offset()||{}).top||0)+i.outerHeight(!0),s===t.length-1&&(l=c.find("li.select2-more-results")).length>0&&(n=l.offset().top+l.outerHeight(!0)),n>(o=c.offset().top+c.outerHeight(!1))&&c.scrollTop(c.scrollTop()+(n-o)),(a=r-c.offset().top)<0&&"none"!=i.css("display")&&c.scrollTop(c.scrollTop()+a))},findHighlightableChoices:function(){return this.results.find(".select2-result-selectable:not(.select2-disabled):not(.select2-selected)")},moveHighlight:function(t){for(var s=this.findHighlightableChoices(),i=this.highlight();i>-1&&i<s.length;){var n=e(s[i+=t]);if(n.hasClass("select2-result-selectable")&&!n.hasClass("select2-disabled")&&!n.hasClass("select2-selected")){this.highlight(i);break}}},highlight:function(t){var s,i,o=this.findHighlightableChoices();if(0===arguments.length)return n(o.filter(".select2-highlighted")[0],o.get());t>=o.length&&(t=o.length-1),t<0&&(t=0),this.removeHighlight(),(s=e(o[t])).addClass("select2-highlighted"),this.search.attr("aria-activedescendant",s.find(".select2-result-label").attr("id")),this.ensureHighlightVisible(),this.liveRegion.text(s.text()),(i=s.data("select2-data"))&&this.opts.element.trigger({type:"select2-highlight",val:this.id(i),choice:i})},removeHighlight:function(){this.results.find(".select2-highlighted").removeClass("select2-highlighted")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(t){var s=e(t.target).closest(".select2-result-selectable");if(s.length>0&&!s.is(".select2-highlighted")){var i=this.findHighlightableChoices();this.highlight(i.index(s))}else 0==s.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var e=this.results,t=e.find("li.select2-more-results"),s=this.resultsPage+1,i=this,n=this.search.val(),o=this.context;0!==t.length&&t.offset().top-e.offset().top-e.height()<=this.opts.loadMorePadding&&(t.addClass("select2-active"),this.opts.query({element:this.opts.element,term:n,page:s,context:o,matcher:this.opts.matcher,callback:this.bind(function(a){i.opened()&&(i.opts.populateResults.call(this,e,a.results,{term:n,page:s,context:o}),i.postprocessResults(a,!1,!1),!0===a.more?(t.detach().appendTo(e).html(i.opts.escapeMarkup(T(i.opts.formatLoadMore,i.opts.element,s+1))),window.setTimeout(function(){i.loadMoreIfNeeded()},10)):t.remove(),i.positionDropdown(),i.resultsPage=s,i.context=a.context,this.opts.element.trigger({type:"select2-loaded",items:a}))})}))},tokenize:function(){},updateResults:function(s){function i(){c.removeClass("select2-active"),d.positionDropdown(),h.find(".select2-no-results,.select2-selection-limit,.select2-searching").length?d.liveRegion.text(h.text()):d.liveRegion.text(d.opts.formatMatches(h.find('.select2-result-selectable:not(".select2-selected")').length))}function n(e){h.html(e),i()}var o,l,r,c=this.search,h=this.results,u=this.opts,d=this,p=c.val(),f=e.data(this.container,"select2-last-term");if((!0===s||!f||!a(p,f))&&(e.data(this.container,"select2-last-term",p),!0===s||!1!==this.showSearchInput&&this.opened())){r=++this.queryCount;var g=this.getMaximumSelectionSize();if(!(g>=1&&(o=this.data(),e.isArray(o)&&o.length>=g&&E(u.formatSelectionTooBig,"formatSelectionTooBig"))))return c.val().length<u.minimumInputLength?(n(E(u.formatInputTooShort,"formatInputTooShort")?"<li class='select2-no-results'>"+T(u.formatInputTooShort,u.element,c.val(),u.minimumInputLength)+"</li>":""),void(s&&this.showSearch&&this.showSearch(!0))):void(u.maximumInputLength&&c.val().length>u.maximumInputLength?n(E(u.formatInputTooLong,"formatInputTooLong")?"<li class='select2-no-results'>"+T(u.formatInputTooLong,u.element,c.val(),u.maximumInputLength)+"</li>":""):(u.formatSearching&&0===this.findHighlightableChoices().length&&n("<li class='select2-searching'>"+T(u.formatSearching,u.element)+"</li>"),c.addClass("select2-active"),this.removeHighlight(),(l=this.tokenize())!=t&&null!=l&&c.val(l),this.resultsPage=1,u.query({element:u.element,term:c.val(),page:this.resultsPage,context:null,matcher:u.matcher,callback:this.bind(function(o){var l;if(r==this.queryCount)if(this.opened())if(o.hasError!==t&&E(u.formatAjaxError,"formatAjaxError"))n("<li class='select2-ajax-error'>"+T(u.formatAjaxError,u.element,o.jqXHR,o.textStatus,o.errorThrown)+"</li>");else{if(this.context=o.context===t?null:o.context,this.opts.createSearchChoice&&""!==c.val()&&(l=this.opts.createSearchChoice.call(d,c.val(),o.results))!==t&&null!==l&&d.id(l)!==t&&null!==d.id(l)&&0===e(o.results).filter(function(){return a(d.id(this),d.id(l))}).length&&this.opts.createSearchChoicePosition(o.results,l),0===o.results.length&&E(u.formatNoMatches,"formatNoMatches"))return n("<li class='select2-no-results'>"+T(u.formatNoMatches,u.element,c.val())+"</li>"),void(this.showSearch&&this.showSearch(c.val()));h.empty(),d.opts.populateResults.call(this,h,o.results,{term:c.val(),page:this.resultsPage,context:null}),!0===o.more&&E(u.formatLoadMore,"formatLoadMore")&&(h.append("<li class='select2-more-results'>"+u.escapeMarkup(T(u.formatLoadMore,u.element,this.resultsPage))+"</li>"),window.setTimeout(function(){d.loadMoreIfNeeded()},10)),this.postprocessResults(o,s),i(),this.opts.element.trigger({type:"select2-loaded",items:o})}else this.search.removeClass("select2-active")})})));n("<li class='select2-selection-limit'>"+T(u.formatSelectionTooBig,u.element,g)+"</li>")}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass("select2-container-active"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus")},focusSearch:function(){p(this.search)},selectHighlighted:function(e){if(this._touchMoved)this.clearTouchMoved();else{var t=this.highlight(),s=this.results.find(".select2-highlighted").closest(".select2-result").data("select2-data");s?(this.highlight(t),this.onSelect(s,e)):e&&e.noFocus&&this.close()}},getPlaceholder:function(){var e;return this.opts.element.attr("placeholder")||this.opts.element.attr("data-placeholder")||this.opts.element.data("placeholder")||this.opts.placeholder||((e=this.getPlaceholderOption())!==t?e.text():t)},getPlaceholderOption:function(){if(this.select){var s=this.select.children("option").first();if(this.opts.placeholderOption!==t)return"first"===this.opts.placeholderOption&&s||"function"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(""===e.trim(s.text())&&""===s.val())return s}},initContainerWidth:function(){var t=function(){var t,s,i,n,o,a;if("off"===this.opts.width)return null;if("element"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px";if("copy"===this.opts.width||"resolve"===this.opts.width){if("string"==typeof(t=this.opts.element.attr("style")))for(n=0,o=(s=t.split(";")).length;n<o;n+=1)if(a=s[n].replace(/\s/g,""),null!==(i=a.match(/^width:(([-+]?([0-9]*\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i))&&i.length>=1)return i[1];return"resolve"===this.opts.width?(t=this.opts.element.css("width")).indexOf("%")>0?t:0===this.opts.element.outerWidth(!1)?"auto":this.opts.element.outerWidth(!1)+"px":null}return e.isFunction(this.opts.width)?this.opts.width():this.opts.width}.call(this);null!==t&&this.container.css("width",t)}}),{createContainer:function(){return e(document.createElement("div")).attr({class:"select2-container"}).html(["<a href='javascript:void(0)' class='select2-choice' tabindex='-1'>","   <span class='select2-chosen'>&#160;</span><abbr class='select2-search-choice-close'></abbr>","   <span class='select2-arrow' role='presentation'><b role='presentation'></b></span>","</a>","<label for='' class='select2-offscreen'></label>","<input class='select2-focusser select2-offscreen' type='text' aria-haspopup='true' role='button' />","<div class='select2-drop select2-display-none'>","   <div class='select2-search'>","       <label for='' class='select2-offscreen'></label>","       <input type='text' autocomplete='none' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input' role='combobox' aria-expanded='true'","       aria-autocomplete='list' />","   </div>","   <ul class='select2-results' role='listbox'>","   </ul>","</div>"].join(""))},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop("disabled",!this.isInterfaceEnabled())},opening:function(){var t,s,i;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),!1!==this.showSearchInput&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),(t=this.search.get(0)).createTextRange?((s=t.createTextRange()).collapse(!1),s.select()):t.setSelectionRange&&(i=this.search.val().length,t.setSelectionRange(i,i))),this.prefillNextSearchTerm(),this.focusser.prop("disabled",!0).val(""),this.updateResults(!0),this.opts.element.trigger(e.Event("select2-open"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass("select2-container-active")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop("disabled",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){e("label[for='"+this.focusser.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"selection","focusser")},initContainer:function(){var t,i,n=this.container,o=this.dropdown,a=D();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=t=n.find(".select2-choice"),this.focusser=n.find(".select2-focusser"),t.find(".select2-chosen").attr("id","select2-chosen-"+a),this.focusser.attr("aria-labelledby","select2-chosen-"+a),this.results.attr("id","select2-results-"+a),this.search.attr("aria-owns","select2-results-"+a),this.focusser.attr("id","s2id_autogen"+a),i=e("label[for='"+this.opts.element.attr("id")+"']"),this.opts.element.on("focus.select2",this.bind(function(){this.focus()})),this.focusser.prev().text(i.text()).attr("for",this.focusser.attr("id"));var l=this.opts.element.attr("title");this.opts.element.attr("title",l||i.text()),this.focusser.attr("tabindex",this.elementTabIndex),this.search.attr("id",this.focusser.attr("id")+"_search"),this.search.prev().text(e("label[for='"+this.focusser.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&229!=e.keyCode)if(e.which!==F.PAGE_UP&&e.which!==F.PAGE_DOWN)switch(e.which){case F.UP:case F.DOWN:return this.moveHighlight(e.which===F.UP?-1:1),void g(e);case F.ENTER:return this.selectHighlighted(),void g(e);case F.TAB:return void this.selectHighlighted({noFocus:!0});case F.ESC:return this.cancel(e),void g(e)}else g(e)})),this.search.on("blur",this.bind(function(e){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.results&&this.results.length>1&&this.search.focus()}),0)})),this.focusser.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()&&e.which!==F.TAB&&!F.isControl(e)&&!F.isFunctionKey(e)&&e.which!==F.ESC){if(!1!==this.opts.openOnEnter||e.which!==F.ENTER){if(e.which==F.DOWN||e.which==F.UP||e.which==F.ENTER&&this.opts.openOnEnter){if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return;return this.open(),void g(e)}return e.which==F.DELETE||e.which==F.BACKSPACE?(this.opts.allowClear&&this.clear(),void g(e)):void 0}g(e)}})),c(this.focusser),this.focusser.on("keyup-change input",this.bind(function(e){if(this.opts.minimumResultsForSearch>=0){if(e.stopPropagation(),this.opened())return;this.open()}})),t.on("mousedown touchstart","abbr",this.bind(function(e){this.isInterfaceEnabled()&&(this.clear(),m(e),this.close(),this.selection&&this.selection.focus())})),t.on("mousedown touchstart",this.bind(function(i){s(t),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),g(i)})),o.on("mousedown touchstart",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),t.on("focus",this.bind(function(e){g(e)})),this.focusser.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})).on("blur",this.bind(function(){this.opened()||(this.container.removeClass("select2-container-active"),this.opts.element.trigger(e.Event("select2-blur")))})),this.search.on("focus",this.bind(function(){this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active")})),this.initContainerWidth(),this.opts.element.hide(),this.setPlaceholder()},clear:function(t){var s=this.selection.data("select2-data");if(s){var i=e.Event("select2-clearing");if(this.opts.element.trigger(i),i.isDefaultPrevented())return;var n=this.getPlaceholderOption();this.opts.element.val(n?n.val():""),this.selection.find(".select2-chosen").empty(),this.selection.removeData("select2-data"),this.setPlaceholder(),!1!==t&&(this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.setPlaceholder(),e.lastSearchTerm=e.search.val())})}},isPlaceholderOptionSelected:function(){var e;return this.getPlaceholder()!==t&&((e=this.getPlaceholderOption())!==t&&e.prop("selected")||""===this.opts.element.val()||this.opts.element.val()===t||null===this.opts.element.val())},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=e.find("option").filter(function(){return this.selected&&!this.disabled});t(s.optionToData(i))}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=s.val(),o=null;t.query({matcher:function(e,s,i){var l=a(n,t.id(i));return l&&(o=i),l},callback:e.isFunction(i)?function(){i(o)}:e.noop})}),t},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===t?t:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var e=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&e!==t){if(this.select&&this.getPlaceholderOption()===t)return;this.selection.find(".select2-chosen").html(this.opts.escapeMarkup(e)),this.selection.addClass("select2-default"),this.container.removeClass("select2-allowclear")}},postprocessResults:function(e,t,s){var i=0,n=this;if(this.findHighlightableChoices().each2(function(e,t){if(a(n.id(t.data("select2-data")),n.opts.element.val()))return i=e,!1}),!1!==s&&(!0===t&&i>=0?this.highlight(i):this.highlight(0)),!0===t){var o=this.opts.minimumResultsForSearch;o>=0&&this.showSearch(O(e.results)>=o)}},showSearch:function(t){this.showSearchInput!==t&&(this.showSearchInput=t,this.dropdown.find(".select2-search").toggleClass("select2-search-hidden",!t),this.dropdown.find(".select2-search").toggleClass("select2-offscreen",!t),e(this.dropdown,this.container).toggleClass("select2-with-searchbox",t))},onSelect:function(e,t){if(this.triggerSelect(e)){var s=this.opts.element.val(),i=this.data();this.opts.element.val(this.id(e)),this.updateSelection(e),this.opts.element.trigger({type:"select2-selected",val:this.id(e),choice:e}),this.lastSearchTerm=this.search.val(),this.close(),t&&t.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),a(s,this.id(e))||this.triggerChange({added:e,removed:i})}},updateSelection:function(e){var s,i,n=this.selection.find(".select2-chosen");this.selection.data("select2-data",e),n.empty(),null!==e&&(s=this.opts.formatSelection(e,n,this.opts.escapeMarkup)),s!==t&&n.append(s),(i=this.opts.formatSelectionCssClass(e,n))!==t&&n.addClass(i),this.selection.removeClass("select2-default"),this.opts.allowClear&&this.getPlaceholder()!==t&&this.container.addClass("select2-allowclear")},val:function(){var e,s=!1,i=null,n=this,o=this.data();if(0===arguments.length)return this.opts.element.val();if(e=arguments[0],arguments.length>1&&(s=arguments[1],this.opts.debug&&console&&console.warn&&console.warn('Select2: The second option to `select2("val")` is not supported in Select2 4.0.0. The `change` event will always be triggered in 4.0.0.')),this.select)this.opts.debug&&console&&console.warn&&console.warn('Select2: Setting the value on a <select> using `select2("val")` is no longer supported in 4.0.0. You can use the `.val(newValue).trigger("change")` method provided by jQuery instead.'),this.select.val(e).find("option").filter(function(){return this.selected}).each2(function(e,t){return i=n.optionToData(t),!1}),this.updateSelection(i),this.setPlaceholder(),s&&this.triggerChange({added:i,removed:o});else{if(!e&&0!==e)return void this.clear(s);if(this.opts.initSelection===t)throw new Error("cannot call val() if initSelection() is not defined");this.opts.element.val(e),this.opts.initSelection(this.opts.element,function(e){n.opts.element.val(e?n.id(e):""),n.updateSelection(e),n.setPlaceholder(),s&&n.triggerChange({added:e,removed:o})})}},clearSearch:function(){this.search.val(""),this.focusser.val("")},data:function(e){var s,i=!1;if(0===arguments.length)return(s=this.selection.data("select2-data"))==t&&(s=null),s;this.opts.debug&&console&&console.warn&&console.warn('Select2: The `select2("data")` method can no longer set selected values in 4.0.0, consider using the `.val()` method instead.'),arguments.length>1&&(i=arguments[1]),e?(s=this.data(),this.opts.element.val(e?this.id(e):""),this.updateSelection(e),i&&this.triggerChange({added:e,removed:s})):this.clear(i)}}),A=P(k,{createContainer:function(){return e(document.createElement("div")).attr({class:"select2-container select2-container-multi"}).html(["<ul class='select2-choices'>","  <li class='select2-search-field'>","    <label for='' class='select2-offscreen'></label>","    <input type='text' autocomplete='none' autocorrect='off' autocapitalize='off' spellcheck='false' class='select2-input'>","  </li>","</ul>","<div class='select2-drop select2-drop-multi select2-display-none'>","   <ul class='select2-results'>","   </ul>","</div>"].join(""))},prepareOpts:function(){var t=this.parent.prepareOpts.apply(this,arguments),s=this;return"select"===t.element.get(0).tagName.toLowerCase()?t.initSelection=function(e,t){var i=[];e.find("option").filter(function(){return this.selected&&!this.disabled}).each2(function(e,t){i.push(s.optionToData(t))}),t(i)}:"data"in t&&(t.initSelection=t.initSelection||function(s,i){var n=l(s.val(),t.separator,t.transformVal),o=[];t.query({matcher:function(s,i,l){var r=e.grep(n,function(e){return a(e,t.id(l))}).length;return r&&o.push(l),r},callback:e.isFunction(i)?function(){for(var e=[],s=0;s<n.length;s++)for(var l=n[s],r=0;r<o.length;r++){var c=o[r];if(a(l,t.id(c))){e.push(c),o.splice(r,1);break}}i(e)}:e.noop})}),t},selectChoice:function(e){var t=this.container.find(".select2-search-choice-focus");t.length&&e&&e[0]==t[0]||(t.length&&this.opts.element.trigger("choice-deselected",t),t.removeClass("select2-search-choice-focus"),e&&e.length&&(this.close(),e.addClass("select2-search-choice-focus"),this.opts.element.trigger("choice-selected",e)))},destroy:function(){e("label[for='"+this.search.attr("id")+"']").attr("for",this.opts.element.attr("id")),this.parent.destroy.apply(this,arguments),I.call(this,"searchContainer","selection")},initContainer:function(){var t,s=".select2-choices";this.searchContainer=this.container.find(".select2-search-field"),this.selection=t=this.container.find(s);var i=this;this.selection.on("click",".select2-container:not(.select2-container-disabled) .select2-search-choice:not(.select2-locked)",function(t){i.search[0].focus(),i.selectChoice(e(this))}),this.search.attr("id","s2id_autogen"+D()),this.search.prev().text(e("label[for='"+this.opts.element.attr("id")+"']").text()).attr("for",this.search.attr("id")),this.opts.element.on("focus.select2",this.bind(function(){this.focus()})),this.search.on("input paste",this.bind(function(){this.search.attr("placeholder")&&0==this.search.val().length||this.isInterfaceEnabled()&&(this.opened()||this.open())})),this.search.attr("tabindex",this.elementTabIndex),this.keydowns=0,this.search.on("keydown",this.bind(function(e){if(this.isInterfaceEnabled()){++this.keydowns;var s=t.find(".select2-search-choice-focus"),i=s.prev(".select2-search-choice:not(.select2-locked)"),n=s.next(".select2-search-choice:not(.select2-locked)"),o=f(this.search);if(s.length&&(e.which==F.LEFT||e.which==F.RIGHT||e.which==F.BACKSPACE||e.which==F.DELETE||e.which==F.ENTER)){var a=s;return e.which==F.LEFT&&i.length?a=i:e.which==F.RIGHT?a=n.length?n:null:e.which===F.BACKSPACE?this.unselect(s.first())&&(this.search.width(10),a=i.length?i:n):e.which==F.DELETE?this.unselect(s.first())&&(this.search.width(10),a=n.length?n:null):e.which==F.ENTER&&(a=null),this.selectChoice(a),g(e),void(a&&a.length||this.open())}if((e.which===F.BACKSPACE&&1==this.keydowns||e.which==F.LEFT)&&0==o.offset&&!o.length)return this.selectChoice(t.find(".select2-search-choice:not(.select2-locked)").last()),void g(e);if(this.selectChoice(null),this.opened())switch(e.which){case F.UP:case F.DOWN:return this.moveHighlight(e.which===F.UP?-1:1),void g(e);case F.ENTER:return this.selectHighlighted(),void g(e);case F.TAB:return this.selectHighlighted({noFocus:!0}),void this.close();case F.ESC:return this.cancel(e),void g(e)}if(e.which!==F.TAB&&!F.isControl(e)&&!F.isFunctionKey(e)&&e.which!==F.BACKSPACE&&e.which!==F.ESC){if(e.which===F.ENTER){if(!1===this.opts.openOnEnter)return;if(e.altKey||e.ctrlKey||e.shiftKey||e.metaKey)return}this.open(),e.which!==F.PAGE_UP&&e.which!==F.PAGE_DOWN||g(e),e.which===F.ENTER&&g(e)}}})),this.search.on("keyup",this.bind(function(e){this.keydowns=0,this.resizeSearch()})),this.search.on("blur",this.bind(function(t){this.container.removeClass("select2-container-active"),this.search.removeClass("select2-focused"),this.selectChoice(null),this.opened()||this.clearSearch(),t.stopImmediatePropagation(),this.opts.element.trigger(e.Event("select2-blur"))})),this.container.on("click",s,this.bind(function(t){this.isInterfaceEnabled()&&(e(t.target).closest(".select2-search-choice").length>0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.open(),this.focusSearch(),t.preventDefault()))})),this.container.on("focus",s,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass("select2-container-active")||this.opts.element.trigger(e.Event("select2-focus")),this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.hide(),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop("disabled",!this.isInterfaceEnabled())},initSelection:function(){if(""===this.opts.element.val()&&""===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||""!==this.opts.element.val()){var e=this;this.opts.initSelection.call(null,this.opts.element,function(s){s!==t&&null!==s&&(e.updateSelection(s),e.close(),e.clearSearch())})}},clearSearch:function(){var e=this.getPlaceholder(),s=this.getMaxSearchWidth();e!==t&&0===this.getVal().length&&!1===this.search.hasClass("select2-focused")?(this.search.val(e).addClass("select2-default"),this.search.width(s>0?s:this.container.css("width"))):this.search.val("").width(10)},clearPlaceholder:function(){this.search.hasClass("select2-default")&&this.search.val("").removeClass("select2-default")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),this.prefillNextSearchTerm(),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(e.Event("select2-open"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass("select2-focused")},updateSelection:function(t){var s={},i=[],n=this;e(t).each(function(){n.id(this)in s||(s[n.id(this)]=0,i.push(this))}),this.selection.find(".select2-search-choice").remove(),this.addSelectedChoice(i),n.postprocessResults()},tokenize:function(){var e=this.search.val();null!=(e=this.opts.tokenizer.call(this,e,this.data(),this.bind(this.onSelect),this.opts))&&e!=t&&(this.search.val(e),e.length>0&&this.open())},onSelect:function(e,t){this.triggerSelect(e)&&""!==e.text&&(this.addSelectedChoice(e),this.opts.element.trigger({type:"selected",val:this.id(e),choice:e}),this.lastSearchTerm=this.search.val(),this.clearSearch(),this.updateResults(),!this.select&&this.opts.closeOnSelect||this.postprocessResults(e,!1,!0===this.opts.closeOnSelect),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.prefillNextSearchTerm()&&this.updateResults(),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:e}),t&&t.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(t){var s=this.getVal(),i=this;e(t).each(function(){s.push(i.createChoice(this))}),this.setVal(s)},createChoice:function(s){var i,n,o=!s.locked,a=e("<li class='select2-search-choice'>    <div></div>    <a href='#' class='select2-search-choice-close' tabindex='-1'></a></li>"),l=e("<li class='select2-search-choice select2-locked'><div></div></li>"),r=o?a:l,c=this.id(s);return(i=this.opts.formatSelection(s,r.find("div"),this.opts.escapeMarkup))!=t&&r.find("div").replaceWith(e("<div></div>").html(i)),(n=this.opts.formatSelectionCssClass(s,r.find("div")))!=t&&r.addClass(n),o&&r.find(".select2-search-choice-close").on("mousedown",g).on("click dblclick",this.bind(function(t){this.isInterfaceEnabled()&&(this.unselect(e(t.target)),this.selection.find(".select2-search-choice-focus").removeClass("select2-search-choice-focus"),g(t),this.close(),this.focusSearch())})).on("focus",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass("select2-container-active"),this.dropdown.addClass("select2-drop-active"))})),r.data("select2-data",s),r.insertBefore(this.searchContainer),c},unselect:function(t){var s,i,o=this.getVal();if(0===(t=t.closest(".select2-search-choice")).length)throw"Invalid argument: "+t+". Must be .select2-search-choice";if(s=t.data("select2-data")){var a=e.Event("select2-removing");if(a.val=this.id(s),a.choice=s,this.opts.element.trigger(a),a.isDefaultPrevented())return!1;for(;(i=n(this.id(s),o))>=0;)o.splice(i,1),this.setVal(o),this.select&&this.postprocessResults();return t.remove(),this.opts.element.trigger({type:"select2-removed",val:this.id(s),choice:s}),this.triggerChange({removed:s}),!0}},postprocessResults:function(e,t,s){var i=this.getVal(),o=this.results.find(".select2-result"),a=this.results.find(".select2-result-with-children"),l=this;o.each2(function(e,t){n(l.id(t.data("select2-data")),i)>=0&&(t.addClass("select2-selected"),t.find(".select2-result-selectable").addClass("select2-selected"))}),a.each2(function(e,t){t.is(".select2-result-selectable")||0!==t.find(".select2-result-selectable:not(.select2-selected)").length||t.addClass("select2-selected")}),-1==this.highlight()&&!1!==s&&!0===this.opts.closeOnSelect&&l.highlight(0),!this.opts.createSearchChoice&&!o.filter(".select2-result:not(.select2-selected)").length>0&&(!e||e&&!e.more&&0===this.results.find(".select2-no-results").length)&&E(l.opts.formatNoMatches,"formatNoMatches")&&this.results.append("<li class='select2-no-results'>"+T(l.opts.formatNoMatches,l.opts.element,l.search.val())+"</li>")},getMaxSearchWidth:function(){return this.selection.width()-r(this.search)},resizeSearch:function(){var e,t,s,i,n=r(this.search);e=v(this.search)+10,t=this.search.offset().left,(i=(s=this.selection.width())-(t-this.selection.offset().left)-n)<e&&(i=s-n),i<40&&(i=s-n),i<=0&&(i=e),this.search.width(Math.floor(i))},getVal:function(){var e;return this.select?null===(e=this.select.val())?[]:e:(e=this.opts.element.val(),l(e,this.opts.separator,this.opts.transformVal))},setVal:function(t){if(this.select)this.select.val(t);else{var s=[],i={};e(t).each(function(){this in i||(s.push(this),i[this]=0)}),this.opts.element.val(0===s.length?"":s.join(this.opts.separator))}},buildChangeDetails:function(e,t){for(var t=t.slice(0),e=e.slice(0),s=0;s<t.length;s++)for(var i=0;i<e.length;i++)if(a(this.opts.id(t[s]),this.opts.id(e[i]))){t.splice(s,1),s--,e.splice(i,1);break}return{added:t,removed:e}},val:function(s,i){var n,o=this;if(0===arguments.length)return this.getVal();if((n=this.data()).length||(n=[]),!s&&0!==s)return this.opts.element.val(""),this.updateSelection([]),this.clearSearch(),void(i&&this.triggerChange({added:this.data(),removed:n}));if(this.setVal(s),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),i&&this.triggerChange(this.buildChangeDetails(n,this.data()));else{if(this.opts.initSelection===t)throw new Error("val() cannot be called if initSelection() is not defined");this.opts.initSelection(this.opts.element,function(t){var s=e.map(t,o.id);o.setVal(s),o.updateSelection(t),o.clearSearch(),i&&o.triggerChange(o.buildChangeDetails(n,o.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error("Sorting of elements is not supported when attached to <select>. Attach to <input type='hidden'/> instead.");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var t=[],s=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(".select2-search-choice").each(function(){t.push(s.opts.id(e(this).data("select2-data")))}),this.setVal(t),this.triggerChange()},data:function(t,s){var i,n,o=this;if(0===arguments.length)return this.selection.children(".select2-search-choice").map(function(){return e(this).data("select2-data")}).get();n=this.data(),t||(t=[]),i=e.map(t,function(e){return o.opts.id(e)}),this.setVal(i),this.updateSelection(t),this.clearSearch(),s&&this.triggerChange(this.buildChangeDetails(n,this.data()))}}),e.fn.select2=function(){var s,i,o,a,l,r=Array.prototype.slice.call(arguments,0),c=["val","destroy","opened","open","close","focus","isFocused","container","dropdown","onSortStart","onSortEnd","enable","disable","readonly","positionDropdown","data","search"],h=["opened","isFocused","container","dropdown"],u=["val","data"],d={search:"externalSearch"};return this.each(function(){if(0===r.length||"object"==typeof r[0])(s=0===r.length?{}:e.extend({},r[0])).element=e(this),"select"===s.element.get(0).tagName.toLowerCase()?l=s.element.prop("multiple"):(l=s.multiple||!1,"tags"in s&&(s.multiple=l=!0)),(i=l?new window.Select2.class.multi:new window.Select2.class.single).init(s);else{if("string"!=typeof r[0])throw"Invalid arguments to select2 plugin: "+r;if(n(r[0],c)<0)throw"Unknown method: "+r[0];if(a=t,(i=e(this).data("select2"))===t)return;if("container"===(o=r[0])?a=i.container:"dropdown"===o?a=i.dropdown:(d[o]&&(o=d[o]),a=i[o].apply(i,r.slice(1))),n(r[0],h)>=0||n(r[0],u)>=0&&1==r.length)return!1}}),a===t?this:a},e.fn.select2.defaults={debug:!1,width:"copy",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:"",dropdownCssClass:"",formatResult:function(e,t,s,i){var n=[];return w(this.text(e),s.term,n,i),n.join("")},transformVal:function(t){return e.trim(t)},formatSelection:function(e,s,i){return e?i(this.text(e)):t},sortResults:function(e,t,s){return e},formatResultCssClass:function(e){return e.css},formatSelectionCssClass:function(e,s){return t},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(e){return e==t?null:e.id},text:function(t){return t&&this.data&&this.data.text?e.isFunction(this.data.text)?this.data.text(t):t[this.data.text]:t.text},matcher:function(e,t){return i(""+t).toUpperCase().indexOf(i(""+e).toUpperCase())>=0},separator:",",tokenSeparators:[],tokenizer:function(e,s,i,n){var o,l,r,c,h,u=e,d=!1;if(!n.createSearchChoice||!n.tokenSeparators||n.tokenSeparators.length<1)return t;for(;;){for(l=-1,r=0,c=n.tokenSeparators.length;r<c&&(h=n.tokenSeparators[r],!((l=e.indexOf(h))>=0));r++);if(l<0)break;if(o=e.substring(0,l),e=e.substring(l+h.length),o.length>0&&(o=n.createSearchChoice.call(this,o,s))!==t&&null!==o&&n.id(o)!==t&&null!==n.id(o)){for(d=!1,r=0,c=s.length;r<c;r++)if(a(n.id(o),n.id(s[r]))){d=!0;break}d||i(o)}}return u!==e?e:void 0},escapeMarkup:S,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(e){return e},adaptDropdownCssClass:function(e){return null},nextSearchTerm:function(e,s){return t},searchInputPlaceholder:"",createSearchChoicePosition:"top",shouldFocusInput:function(e){return!("ontouchstart"in window||navigator.msMaxTouchPoints>0)||!(e.opts.minimumResultsForSearch<0)}},e.fn.select2.locales=[],e.fn.select2.locales.en={formatMatches:function(e){return 1===e?"One result is available, press enter to select it.":e+" results are available, use up and down arrow keys to navigate."},formatNoMatches:function(){return"No matches found"},formatAjaxError:function(e,t,s){return"Loading failed"},formatInputTooShort:function(e,t){var s=t-e.length;return"Please enter "+s+" or more character"+(1==s?"":"s")},formatInputTooLong:function(e,t){var s=e.length-t;return"Please delete "+s+" character"+(1==s?"":"s")},formatSelectionTooBig:function(e){return"You can only select "+e+" item"+(1==e?"":"s")},formatLoadMore:function(e){return"Loading more results…"},formatSearching:function(){return"Searching…"}},e.extend(e.fn.select2.defaults,e.fn.select2.locales.en),e.fn.select2.ajaxDefaults={transport:e.ajax,params:{type:"GET",cache:!1,dataType:"json"}},window.Select2={query:{ajax:C,local:y,tags:x},util:{debounce:u,markMatch:w,escapeMarkup:S,stripDiacritics:i},class:{abstract:k,single:R,multi:A}}}}(jQuery);
--- a/src/pyams_skin/resources/js/ext/jquery-typeahead.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1685 +0,0 @@
-/*!
- * typeahead.js 0.10.0
- * https://github.com/twitter/typeahead.js
- * Copyright 2013 Twitter, Inc. and other contributors; Licensed MIT
- */
-
-(function ($) {
-	var _ = {
-		isMsie: function () {
-			return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2] : false;
-		},
-		isBlankString: function (str) {
-			return !str || /^\s*$/.test(str);
-		},
-		escapeRegExChars: function (str) {
-			return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
-		},
-		isString: function (obj) {
-			return typeof obj === "string";
-		},
-		isNumber: function (obj) {
-			return typeof obj === "number";
-		},
-		isArray: $.isArray,
-		isFunction: $.isFunction,
-		isObject: $.isPlainObject,
-		isUndefined: function (obj) {
-			return typeof obj === "undefined";
-		},
-		bind: $.proxy,
-		each: function (collection, cb) {
-			$.each(collection, reverseArgs);
-			function reverseArgs(index, value) {
-				return cb(value, index);
-			}
-		},
-		map: $.map,
-		filter: $.grep,
-		every: function (obj, test) {
-			var result = true;
-			if (!obj) {
-				return result;
-			}
-			$.each(obj, function (key, val) {
-				if (!(result = test.call(null, val, key, obj))) {
-					return false;
-				}
-			});
-			return !!result;
-		},
-		some: function (obj, test) {
-			var result = false;
-			if (!obj) {
-				return result;
-			}
-			$.each(obj, function (key, val) {
-				if (result = test.call(null, val, key, obj)) {
-					return false;
-				}
-			});
-			return !!result;
-		},
-		mixin: $.extend,
-		getUniqueId: function () {
-			var counter = 0;
-			return function () {
-				return counter++;
-			};
-		}(),
-		templatify: function templatify(obj) {
-			return $.isFunction(obj) ? obj : template;
-			function template() {
-				return String(obj);
-			}
-		},
-		defer: function (fn) {
-			setTimeout(fn, 0);
-		},
-		debounce: function (func, wait, immediate) {
-			var timeout, result;
-			return function () {
-				var context = this, args = arguments, later, callNow;
-				later = function () {
-					timeout = null;
-					if (!immediate) {
-						result = func.apply(context, args);
-					}
-				};
-				callNow = immediate && !timeout;
-				clearTimeout(timeout);
-				timeout = setTimeout(later, wait);
-				if (callNow) {
-					result = func.apply(context, args);
-				}
-				return result;
-			};
-		},
-		throttle: function (func, wait) {
-			var context, args, timeout, result, previous, later;
-			previous = 0;
-			later = function () {
-				previous = new Date();
-				timeout = null;
-				result = func.apply(context, args);
-			};
-			return function () {
-				var now = new Date(), remaining = wait - (now - previous);
-				context = this;
-				args = arguments;
-				if (remaining <= 0) {
-					clearTimeout(timeout);
-					timeout = null;
-					previous = now;
-					result = func.apply(context, args);
-				} else if (!timeout) {
-					timeout = setTimeout(later, remaining);
-				}
-				return result;
-			};
-		},
-		noop: function () {
-		}
-	};
-	var VERSION = "0.10.0";
-	var LruCache = function (root, undefined) {
-		function LruCache(maxSize) {
-			this.maxSize = maxSize || 100;
-			this.size = 0;
-			this.hash = {};
-			this.list = new List();
-		}
-
-		_.mixin(LruCache.prototype, {
-			set: function set(key, val) {
-				var tailItem = this.list.tail, node;
-				if (this.size >= this.maxSize) {
-					this.list.remove(tailItem);
-					delete this.hash[tailItem.key];
-				}
-				if (node = this.hash[key]) {
-					node.val = val;
-					this.list.moveToFront(node);
-				} else {
-					node = new Node(key, val);
-					this.list.add(node);
-					this.hash[key] = node;
-					this.size++;
-				}
-			},
-			get: function get(key) {
-				var node = this.hash[key];
-				if (node) {
-					this.list.moveToFront(node);
-					return node.val;
-				}
-			}
-		});
-		function List() {
-			this.head = this.tail = null;
-		}
-
-		_.mixin(List.prototype, {
-			add: function add(node) {
-				if (this.head) {
-					node.next = this.head;
-					this.head.prev = node;
-				}
-				this.head = node;
-				this.tail = this.tail || node;
-			},
-			remove: function remove(node) {
-				node.prev ? node.prev.next = node.next : this.head = node.next;
-				node.next ? node.next.prev = node.prev : this.tail = node.prev;
-			},
-			moveToFront: function (node) {
-				this.remove(node);
-				this.add(node);
-			}
-		});
-		function Node(key, val) {
-			this.key = key;
-			this.val = val;
-			this.prev = this.next = null;
-		}
-
-		return LruCache;
-	}(this);
-	var PersistentStorage = function () {
-		var ls, methods;
-		try {
-			ls = window.localStorage;
-			ls.setItem("~~~", "!");
-			ls.removeItem("~~~");
-		} catch (err) {
-			ls = null;
-		}
-		function PersistentStorage(namespace) {
-			this.prefix = [ "__", namespace, "__" ].join("");
-			this.ttlKey = "__ttl__";
-			this.keyMatcher = new RegExp("^" + this.prefix);
-		}
-
-		if (ls && window.JSON) {
-			methods = {
-				_prefix: function (key) {
-					return this.prefix + key;
-				},
-				_ttlKey: function (key) {
-					return this._prefix(key) + this.ttlKey;
-				},
-				get: function (key) {
-					if (this.isExpired(key)) {
-						this.remove(key);
-					}
-					return decode(ls.getItem(this._prefix(key)));
-				},
-				set: function (key, val, ttl) {
-					if (_.isNumber(ttl)) {
-						ls.setItem(this._ttlKey(key), encode(now() + ttl));
-					} else {
-						ls.removeItem(this._ttlKey(key));
-					}
-					return ls.setItem(this._prefix(key), encode(val));
-				},
-				remove: function (key) {
-					ls.removeItem(this._ttlKey(key));
-					ls.removeItem(this._prefix(key));
-					return this;
-				},
-				clear: function () {
-					var i, key, keys = [], len = ls.length;
-					for (i = 0; i < len; i++) {
-						if ((key = ls.key(i)).match(this.keyMatcher)) {
-							keys.push(key.replace(this.keyMatcher, ""));
-						}
-					}
-					for (i = keys.length; i--;) {
-						this.remove(keys[i]);
-					}
-					return this;
-				},
-				isExpired: function (key) {
-					var ttl = decode(ls.getItem(this._ttlKey(key)));
-					return _.isNumber(ttl) && now() > ttl ? true : false;
-				}
-			};
-		} else {
-			methods = {
-				get: _.noop,
-				set: _.noop,
-				remove: _.noop,
-				clear: _.noop,
-				isExpired: _.noop
-			};
-		}
-		_.mixin(PersistentStorage.prototype, methods);
-		return PersistentStorage;
-		function now() {
-			return new Date().getTime();
-		}
-
-		function encode(val) {
-			return JSON.stringify(_.isUndefined(val) ? null : val);
-		}
-
-		function decode(val) {
-			return JSON.parse(val);
-		}
-	}();
-	var Transport = function () {
-		var pendingRequestsCount = 0, pendingRequests = {}, maxPendingRequests = 6, requestCache = new LruCache(10);
-
-		function Transport(o) {
-			o = o || {};
-			this._send = o.send ? callbackToDeferred(o.send) : $.ajax;
-			this._get = o.rateLimiter ? o.rateLimiter(this._get) : this._get;
-		}
-
-		Transport.setMaxPendingRequests = function setMaxPendingRequests(num) {
-			maxPendingRequests = num;
-		};
-		Transport.resetCache = function clearCache() {
-			requestCache = new LruCache(10);
-		};
-		_.mixin(Transport.prototype, {
-			_get: function (url, o, cb) {
-				var that = this, jqXhr;
-				if (jqXhr = pendingRequests[url]) {
-					jqXhr.done(done);
-				} else if (pendingRequestsCount < maxPendingRequests) {
-					pendingRequestsCount++;
-					pendingRequests[url] = this._send(url, o).done(done).always(always);
-				} else {
-					this.onDeckRequestArgs = [].slice.call(arguments, 0);
-				}
-				function done(resp) {
-					cb && cb(resp);
-					requestCache.set(url, resp);
-				}
-
-				function always() {
-					pendingRequestsCount--;
-					delete pendingRequests[url];
-					if (that.onDeckRequestArgs) {
-						that._get.apply(that, that.onDeckRequestArgs);
-						that.onDeckRequestArgs = null;
-					}
-				}
-			},
-			get: function (url, o, cb) {
-				var that = this, resp;
-				if (_.isFunction(o)) {
-					cb = o;
-					o = {};
-				}
-				if (resp = requestCache.get(url)) {
-					_.defer(function () {
-						cb && cb(resp);
-					});
-				} else {
-					this._get(url, o, cb);
-				}
-				return !!resp;
-			}
-		});
-		return Transport;
-		function callbackToDeferred(fn) {
-			return function customSendWrapper(url, o) {
-				var deferred = $.Deferred();
-				fn(url, o, onSuccess, onError);
-				return deferred;
-				function onSuccess(resp) {
-					_.defer(function () {
-						deferred.resolve(resp);
-					});
-				}
-
-				function onError(err) {
-					_.defer(function () {
-						deferred.reject(err);
-					});
-				}
-			};
-		}
-	}();
-	var SearchIndex = function () {
-		function SearchIndex(o) {
-			o = o || {};
-			if (!o.datumTokenizer || !o.queryTokenizer) {
-				$.error("datumTokenizer and queryTokenizer are both required");
-			}
-			this.datumTokenizer = o.datumTokenizer;
-			this.queryTokenizer = o.queryTokenizer;
-			this.datums = [];
-			this.trie = newNode();
-		}
-
-		_.mixin(SearchIndex.prototype, {
-			bootstrap: function bootstrap(o) {
-				this.datums = o.datums;
-				this.trie = o.trie;
-			},
-			add: function (data) {
-				var that = this;
-				data = _.isArray(data) ? data : [ data ];
-				_.each(data, function (datum) {
-					var id, tokens;
-					id = that.datums.push(datum) - 1;
-					tokens = normalizeTokens(that.datumTokenizer(datum));
-					_.each(tokens, function (token) {
-						var node, chars, ch, ids;
-						node = that.trie;
-						chars = token.split("");
-						while (ch = chars.shift()) {
-							node = node.children[ch] || (node.children[ch] = newNode());
-							node.ids.push(id);
-						}
-					});
-				});
-			},
-			get: function get(query) {
-				var that = this, tokens, matches;
-				tokens = normalizeTokens(this.queryTokenizer(query));
-				_.each(tokens, function (token) {
-					var node, chars, ch, ids;
-					if (matches && matches.length === 0) {
-						return false;
-					}
-					node = that.trie;
-					chars = token.split("");
-					while (node && (ch = chars.shift())) {
-						node = node.children[ch];
-					}
-					if (node && chars.length === 0) {
-						ids = node.ids.slice(0);
-						matches = matches ? getIntersection(matches, ids) : ids;
-					} else {
-						matches = [];
-						return false;
-					}
-				});
-				return matches ? _.map(unique(matches), function (id) {
-					return that.datums[id];
-				}) : [];
-			},
-			serialize: function serialize() {
-				return {
-					datums: this.datums,
-					trie: this.trie
-				};
-			}
-		});
-		return SearchIndex;
-		function normalizeTokens(tokens) {
-			tokens = _.filter(tokens, function (token) {
-				return !!token;
-			});
-			tokens = _.map(tokens, function (token) {
-				return token.toLowerCase();
-			});
-			return tokens;
-		}
-
-		function newNode() {
-			return {
-				ids: [],
-				children: {}
-			};
-		}
-
-		function unique(array) {
-			var seen = {}, uniques = [];
-			for (var i = 0; i < array.length; i++) {
-				if (!seen[array[i]]) {
-					seen[array[i]] = true;
-					uniques.push(array[i]);
-				}
-			}
-			return uniques;
-		}
-
-		function getIntersection(arrayA, arrayB) {
-			var ai = 0, bi = 0, intersection = [];
-			arrayA = arrayA.sort(compare);
-			arrayB = arrayB.sort(compare);
-			while (ai < arrayA.length && bi < arrayB.length) {
-				if (arrayA[ai] < arrayB[bi]) {
-					ai++;
-				} else if (arrayA[ai] > arrayB[bi]) {
-					bi++;
-				} else {
-					intersection.push(arrayA[ai]);
-					ai++;
-					bi++;
-				}
-			}
-			return intersection;
-			function compare(a, b) {
-				return a - b;
-			}
-		}
-	}();
-	var oParser = function () {
-		return {
-			local: getLocal,
-			prefetch: getPrefetch,
-			remote: getRemote
-		};
-		function getLocal(o) {
-			return o.local || null;
-		}
-
-		function getPrefetch(o) {
-			var prefetch, defaults;
-			defaults = {
-				url: null,
-				thumbprint: "",
-				ttl: 24 * 60 * 60 * 1e3,
-				filter: null,
-				ajax: {}
-			};
-			if (prefetch = o.prefetch || null) {
-				prefetch = _.isString(prefetch) ? {
-					url: prefetch
-				} : prefetch;
-				prefetch = _.mixin(defaults, prefetch);
-				prefetch.thumbprint = VERSION + prefetch.thumbprint;
-				prefetch.ajax.method = prefetch.ajax.method || "get";
-				prefetch.ajax.dataType = prefetch.ajax.dataType || "json";
-				!prefetch.url && $.error("prefetch requires url to be set");
-			}
-			return prefetch;
-		}
-
-		function getRemote(o) {
-			var remote, defaults;
-			defaults = {
-				url: null,
-				wildcard: "%QUERY",
-				replace: null,
-				rateLimitBy: "debounce",
-				rateLimitWait: 300,
-				send: null,
-				filter: null,
-				ajax: {}
-			};
-			if (remote = o.remote || null) {
-				remote = _.isString(remote) ? {
-					url: remote
-				} : remote;
-				remote = _.mixin(defaults, remote);
-				remote.rateLimiter = /^throttle$/i.test(remote.rateLimitBy) ? byThrottle(remote.rateLimitWait) : byDebounce(remote.rateLimitWait);
-				remote.ajax.method = remote.ajax.method || "get";
-				remote.ajax.dataType = remote.ajax.dataType || "json";
-				delete remote.rateLimitBy;
-				delete remote.rateLimitWait;
-				!remote.url && $.error("remote requires url to be set");
-			}
-			return remote;
-			function byDebounce(wait) {
-				return function (fn) {
-					return _.debounce(fn, wait);
-				};
-			}
-
-			function byThrottle(wait) {
-				return function (fn) {
-					return _.throttle(fn, wait);
-				};
-			}
-		}
-	}();
-	var Bloodhound = window.Bloodhound = function () {
-		var keys;
-		keys = {
-			data: "data",
-			protocol: "protocol",
-			thumbprint: "thumbprint"
-		};
-		function Bloodhound(o) {
-			if (!o || !o.local && !o.prefetch && !o.remote) {
-				$.error("one of local, prefetch, or remote is required");
-			}
-			this.limit = o.limit || 5;
-			this.sorter = o.sorter || noSort;
-			this.dupDetector = o.dupDetector || ignoreDuplicates;
-			this.local = oParser.local(o);
-			this.prefetch = oParser.prefetch(o);
-			this.remote = oParser.remote(o);
-			this.cacheKey = this.prefetch ? this.prefetch.cacheKey || this.prefetch.url : null;
-			this.index = new SearchIndex({
-											 datumTokenizer: o.datumTokenizer,
-											 queryTokenizer: o.queryTokenizer
-										 });
-			this.storage = this.cacheKey ? new PersistentStorage(this.cacheKey) : null;
-		}
-
-		Bloodhound.tokenizers = {
-			whitespace: function whitespaceTokenizer(s) {
-				return s.split(/\s+/);
-			},
-			nonword: function nonwordTokenizer(s) {
-				return s.split(/\W+/);
-			}
-		};
-		_.mixin(Bloodhound.prototype, {
-			_loadPrefetch: function loadPrefetch(o) {
-				var that = this, serialized, deferred;
-				if (serialized = this._readFromStorage(o.thumbprint)) {
-					this.index.bootstrap(serialized);
-					deferred = $.Deferred().resolve();
-				} else {
-					deferred = $.ajax(o.url, o.ajax).done(handlePrefetchResponse);
-				}
-				return deferred;
-				function handlePrefetchResponse(resp) {
-					var filtered;
-					filtered = o.filter ? o.filter(resp) : resp;
-					that.add(filtered);
-					that._saveToStorage(that.index.serialize(), o.thumbprint, o.ttl);
-				}
-			},
-			_getFromRemote: function getFromRemote(query, cb) {
-				var that = this, url, uriEncodedQuery;
-				query = query || "";
-				uriEncodedQuery = encodeURIComponent(query);
-				url = this.remote.replace ? this.remote.replace(this.remote.url, query) : this.remote.url.replace(this.remote.wildcard, uriEncodedQuery);
-				return this.transport.get(url, this.remote.ajax, handleRemoteResponse);
-				function handleRemoteResponse(resp) {
-					var filtered = that.remote.filter ? that.remote.filter(resp) : resp;
-					cb(filtered);
-				}
-			},
-			_saveToStorage: function saveToStorage(data, thumbprint, ttl) {
-				if (this.storage) {
-					this.storage.set(keys.data, data, ttl);
-					this.storage.set(keys.protocol, location.protocol, ttl);
-					this.storage.set(keys.thumbprint, thumbprint, ttl);
-				}
-			},
-			_readFromStorage: function readFromStorage(thumbprint) {
-				var stored = {};
-				if (this.storage) {
-					stored.data = this.storage.get(keys.data);
-					stored.protocol = this.storage.get(keys.protocol);
-					stored.thumbprint = this.storage.get(keys.thumbprint);
-				}
-				isExpired = stored.thumbprint !== thumbprint || stored.protocol !== location.protocol;
-				return stored.data && !isExpired ? stored.data : null;
-			},
-			initialize: function initialize() {
-				var that = this, deferred;
-				deferred = this.prefetch ? this._loadPrefetch(this.prefetch) : $.Deferred().resolve();
-				this.local && deferred.done(addLocalToIndex);
-				this.transport = this.remote ? new Transport(this.remote) : null;
-				this.initialize = function initialize() {
-					return deferred.promise();
-				};
-				return deferred.promise();
-				function addLocalToIndex() {
-					that.add(that.local);
-				}
-			},
-			add: function add(data) {
-				this.index.add(data);
-			},
-			get: function get(query, cb) {
-				var that = this, matches, cacheHit = false;
-				matches = this.index.get(query).sort(this.sorter).slice(0, this.limit);
-				if (matches.length < this.limit && this.transport) {
-					cacheHit = this._getFromRemote(query, returnRemoteMatches);
-				}
-				!cacheHit && cb && cb(matches);
-				function returnRemoteMatches(remoteMatches) {
-					var matchesWithBackfill = matches.slice(0);
-					_.each(remoteMatches, function (remoteMatch) {
-						var isDuplicate;
-						isDuplicate = _.some(matchesWithBackfill, function (match) {
-							return that.dupDetector(remoteMatch, match);
-						});
-						!isDuplicate && matchesWithBackfill.push(remoteMatch);
-						return matchesWithBackfill.length < that.limit;
-					});
-					cb && cb(matchesWithBackfill.sort(that.sorter));
-				}
-			},
-			ttAdapter: function ttAdapter() {
-				return _.bind(this.get, this);
-			}
-		});
-		return Bloodhound;
-		function noSort() {
-			return 0;
-		}
-
-		function ignoreDuplicates() {
-			return false;
-		}
-	}();
-	var html = {
-		wrapper: '<span class="twitter-typeahead"></span>',
-		dropdown: '<span class="tt-dropdown-menu"></span>',
-		dataset: '<div class="tt-dataset-%CLASS%"></div>',
-		suggestions: '<span class="tt-suggestions"></span>',
-		suggestion: '<div class="tt-suggestion">%BODY%</div>'
-	};
-	var css = {
-		wrapper: {
-			position: "relative",
-			display: "inline-block"
-		},
-		hint: {
-			position: "absolute",
-			top: "0",
-			left: "0",
-			borderColor: "transparent",
-			boxShadow: "none"
-		},
-		input: {
-			position: "relative",
-			verticalAlign: "top",
-			backgroundColor: "transparent"
-		},
-		inputWithNoHint: {
-			position: "relative",
-			verticalAlign: "top"
-		},
-		dropdown: {
-			position: "absolute",
-			top: "100%",
-			left: "0",
-			zIndex: "100",
-			display: "none"
-		},
-		suggestions: {
-			display: "block"
-		},
-		suggestion: {
-			whiteSpace: "nowrap",
-			cursor: "pointer"
-		},
-		suggestionChild: {
-			whiteSpace: "normal"
-		},
-		ltr: {
-			left: "0",
-			right: "auto"
-		},
-		rtl: {
-			left: "auto",
-			right: " 0"
-		}
-	};
-	if (_.isMsie()) {
-		_.mixin(css.input, {
-			backgroundImage: "url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"
-		});
-	}
-	if (_.isMsie() && _.isMsie() <= 7) {
-		_.mixin(css.input, {
-			marginTop: "-1px"
-		});
-	}
-	var EventBus = function () {
-		var namespace = "typeahead:";
-
-		function EventBus(o) {
-			if (!o || !o.el) {
-				$.error("EventBus initialized without el");
-			}
-			this.$el = $(o.el);
-		}
-
-		_.mixin(EventBus.prototype, {
-			trigger: function (type) {
-				var args = [].slice.call(arguments, 1);
-				this.$el.trigger(namespace + type, args);
-			}
-		});
-		return EventBus;
-	}();
-	var EventEmitter = function () {
-		var splitter = /\s+/, nextTick = getNextTick();
-		return {
-			onSync: onSync,
-			onAsync: onAsync,
-			off: off,
-			trigger: trigger
-		};
-		function on(method, types, cb, context) {
-			var type;
-			if (!cb) {
-				return this;
-			}
-			types = types.split(splitter);
-			cb = context ? bindContext(cb, context) : cb;
-			this._callbacks = this._callbacks || {};
-			while (type = types.shift()) {
-				this._callbacks[type] = this._callbacks[type] || {
-					sync: [],
-					async: []
-				};
-				this._callbacks[type][method].push(cb);
-			}
-			return this;
-		}
-
-		function onAsync(types, cb, context) {
-			return on.call(this, "async", types, cb, context);
-		}
-
-		function onSync(types, cb, context) {
-			return on.call(this, "sync", types, cb, context);
-		}
-
-		function off(types) {
-			var type;
-			if (!this._callbacks) {
-				return this;
-			}
-			types = types.split(splitter);
-			while (type = types.shift()) {
-				delete this._callbacks[type];
-			}
-			return this;
-		}
-
-		function trigger(types) {
-			var that = this, type, callbacks, args, syncFlush, asyncFlush;
-			if (!this._callbacks) {
-				return this;
-			}
-			types = types.split(splitter);
-			args = [].slice.call(arguments, 1);
-			while ((type = types.shift()) && (callbacks = this._callbacks[type])) {
-				syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));
-				asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));
-				syncFlush() && nextTick(asyncFlush);
-			}
-			return this;
-		}
-
-		function getFlush(callbacks, context, args) {
-			return flush;
-			function flush() {
-				var cancelled;
-				for (var i = 0; !cancelled && i < callbacks.length; i += 1) {
-					cancelled = callbacks[i].apply(context, args) === false;
-				}
-				return !cancelled;
-			}
-		}
-
-		function getNextTick() {
-			var nextTickFn, messageChannel;
-			if (window.setImmediate) {
-				nextTickFn = function nextTickSetImmediate(fn) {
-					setImmediate(function () {
-						fn();
-					});
-				};
-			} else {
-				nextTickFn = function nextTickSetTimeout(fn) {
-					setTimeout(function () {
-						fn();
-					}, 0);
-				};
-			}
-			return nextTickFn;
-		}
-
-		function bindContext(fn, context) {
-			return fn.bind ? fn.bind(context) : function () {
-				fn.apply(context, [].slice.call(arguments, 0));
-			};
-		}
-	}();
-	var highlight = function (doc) {
-		var defaults = {
-			node: null,
-			pattern: null,
-			tagName: "strong",
-			className: null,
-			wordsOnly: false,
-			caseSensitive: false
-		};
-		return function hightlight(o) {
-			var regex;
-			o = _.mixin({}, defaults, o);
-			if (!o.node || !o.pattern) {
-				return;
-			}
-			o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];
-			regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly);
-			traverse(o.node, hightlightTextNode);
-			function hightlightTextNode(textNode) {
-				var match, patternNode;
-				if (match = regex.exec(textNode.data)) {
-					wrapperNode = doc.createElement(o.tagName);
-					o.className && (wrapperNode.className = o.className);
-					patternNode = textNode.splitText(match.index);
-					patternNode.splitText(match[0].length);
-					wrapperNode.appendChild(patternNode.cloneNode(true));
-					textNode.parentNode.replaceChild(wrapperNode, patternNode);
-				}
-				return !!match;
-			}
-
-			function traverse(el, hightlightTextNode) {
-				var childNode, TEXT_NODE_TYPE = 3;
-				for (var i = 0; i < el.childNodes.length; i++) {
-					childNode = el.childNodes[i];
-					if (childNode.nodeType === TEXT_NODE_TYPE) {
-						i += hightlightTextNode(childNode) ? 1 : 0;
-					} else {
-						traverse(childNode, hightlightTextNode);
-					}
-				}
-			}
-		};
-		function getRegex(patterns, caseSensitive, wordsOnly) {
-			var escapedPatterns = [], regexStr;
-			for (var i = 0; i < patterns.length; i++) {
-				escapedPatterns.push(_.escapeRegExChars(patterns[i]));
-			}
-			regexStr = wordsOnly ? "\\b(" + escapedPatterns.join("|") + ")\\b" : "(" + escapedPatterns.join("|") + ")";
-			return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, "i");
-		}
-	}(window.document);
-	var Input = function () {
-		var specialKeyCodeMap;
-		specialKeyCodeMap = {
-			9: "tab",
-			27: "esc",
-			37: "left",
-			39: "right",
-			13: "enter",
-			38: "up",
-			40: "down"
-		};
-		function Input(o) {
-			var that = this, onBlur, onFocus, onKeydown, onInput;
-			o = o || {};
-			if (!o.input) {
-				$.error("input is missing");
-			}
-			onBlur = _.bind(this._onBlur, this);
-			onFocus = _.bind(this._onFocus, this);
-			onKeydown = _.bind(this._onKeydown, this);
-			onInput = _.bind(this._onInput, this);
-			this.$hint = $(o.hint);
-			this.$input = $(o.input).on("blur.tt", onBlur).on("focus.tt", onFocus).on("keydown.tt", onKeydown);
-			if (this.$hint.length === 0) {
-				this.setHintValue = this.getHintValue = this.clearHint = _.noop;
-			}
-			if (!_.isMsie()) {
-				this.$input.on("input.tt", onInput);
-			} else {
-				this.$input.on("keydown.tt keypress.tt cut.tt paste.tt", function ($e) {
-					if (specialKeyCodeMap[$e.which || $e.keyCode]) {
-						return;
-					}
-					_.defer(_.bind(that._onInput, that, $e));
-				});
-			}
-			this.query = this.$input.val();
-			this.$overflowHelper = buildOverflowHelper(this.$input);
-		}
-
-		Input.normalizeQuery = function (str) {
-			return (str || "").replace(/^\s*/g, "").replace(/\s{2,}/g, " ");
-		};
-		_.mixin(Input.prototype, EventEmitter, {
-			_onBlur: function onBlur($e) {
-				this.resetInputValue();
-				this.trigger("blurred");
-			},
-			_onFocus: function onFocus($e) {
-				this.trigger("focused");
-			},
-			_onKeydown: function onKeydown($e) {
-				var keyName = specialKeyCodeMap[$e.which || $e.keyCode];
-				this._managePreventDefault(keyName, $e);
-				if (keyName && this._shouldTrigger(keyName, $e)) {
-					this.trigger(keyName + "Keyed", $e);
-				}
-			},
-			_onInput: function onInput($e) {
-				this._checkInputValue();
-			},
-			_managePreventDefault: function managePreventDefault(keyName, $e) {
-				var preventDefault, hintValue, inputValue;
-				switch (keyName) {
-					case "tab":
-						hintValue = this.getHintValue();
-						inputValue = this.getInputValue();
-						preventDefault = hintValue && hintValue !== inputValue && !withModifier($e);
-						break;
-
-					case "up":
-					case "down":
-						preventDefault = !withModifier($e);
-						break;
-
-					default:
-						preventDefault = false;
-				}
-				preventDefault && $e.preventDefault();
-			},
-			_shouldTrigger: function shouldTrigger(keyName, $e) {
-				var trigger;
-				switch (keyName) {
-					case "tab":
-						trigger = !withModifier($e);
-						break;
-
-					default:
-						trigger = true;
-				}
-				return trigger;
-			},
-			_checkInputValue: function checkInputValue() {
-				var inputValue, areEquivalent, hasDifferentWhitespace;
-				inputValue = this.getInputValue();
-				areEquivalent = areQueriesEquivalent(inputValue, this.query);
-				hasDifferentWhitespace = areEquivalent ? this.query.length !== inputValue.length : false;
-				if (!areEquivalent) {
-					this.trigger("queryChanged", this.query = inputValue);
-				} else if (hasDifferentWhitespace) {
-					this.trigger("whitespaceChanged", this.query);
-				}
-			},
-			focus: function focus() {
-				this.$input.focus();
-			},
-			blur: function blur() {
-				this.$input.blur();
-			},
-			getQuery: function getQuery() {
-				return this.query;
-			},
-			setQuery: function setQuery(query) {
-				this.query = query;
-			},
-			getInputValue: function getInputValue() {
-				return this.$input.val();
-			},
-			setInputValue: function setInputValue(value, silent) {
-				this.$input.val(value);
-				!silent && this._checkInputValue();
-			},
-			getHintValue: function getHintValue() {
-				return this.$hint.val();
-			},
-			setHintValue: function setHintValue(value) {
-				this.$hint.val(value);
-			},
-			resetInputValue: function resetInputValue() {
-				this.$input.val(this.query);
-			},
-			clearHint: function clearHint() {
-				this.$hint.val("");
-			},
-			getLanguageDirection: function getLanguageDirection() {
-				return (this.$input.css("direction") || "ltr").toLowerCase();
-			},
-			hasOverflow: function hasOverflow() {
-				var constraint = this.$input.width() - 2;
-				this.$overflowHelper.text(this.getInputValue());
-				return this.$overflowHelper.width() >= constraint;
-			},
-			isCursorAtEnd: function () {
-				var valueLength, selectionStart, range;
-				valueLength = this.$input.val().length;
-				selectionStart = this.$input[0].selectionStart;
-				if (_.isNumber(selectionStart)) {
-					return selectionStart === valueLength;
-				} else if (document.selection) {
-					range = document.selection.createRange();
-					range.moveStart("character", -valueLength);
-					return valueLength === range.text.length;
-				}
-				return true;
-			},
-			destroy: function destroy() {
-				this.$hint.off(".tt");
-				this.$input.off(".tt");
-				this.$hint = this.$input = this.$overflowHelper = null;
-			}
-		});
-		return Input;
-		function buildOverflowHelper($input) {
-			return $('<pre aria-hidden="true"></pre>').css({
-															   position: "absolute",
-															   visibility: "hidden",
-															   whiteSpace: "nowrap",
-															   fontFamily: $input.css("font-family"),
-															   fontSize: $input.css("font-size"),
-															   fontStyle: $input.css("font-style"),
-															   fontVariant: $input.css("font-variant"),
-															   fontWeight: $input.css("font-weight"),
-															   wordSpacing: $input.css("word-spacing"),
-															   letterSpacing: $input.css("letter-spacing"),
-															   textIndent: $input.css("text-indent"),
-															   textRendering: $input.css("text-rendering"),
-															   textTransform: $input.css("text-transform")
-														   }).insertAfter($input);
-		}
-
-		function areQueriesEquivalent(a, b) {
-			return Input.normalizeQuery(a) === Input.normalizeQuery(b);
-		}
-
-		function withModifier($e) {
-			return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;
-		}
-	}();
-	var Dataset = function () {
-		var datasetKey = "ttDataset", valueKey = "ttValue", datumKey = "ttDatum";
-
-		function Dataset(o) {
-			o = o || {};
-			o.templates = o.templates || {};
-			if (!o.source) {
-				$.error("missing source");
-			}
-			this.query = null;
-			this.highlight = !!o.highlight;
-			this.name = o.name || _.getUniqueId();
-			this.source = o.source;
-			this.valueKey = o.displayKey || "value";
-			this.templates = getTemplates(o.templates, this.valueKey);
-			this.$el = $(html.dataset.replace("%CLASS%", this.name));
-		}
-
-		Dataset.extractDatasetName = function extractDatasetName(el) {
-			return $(el).data(datasetKey);
-		};
-		Dataset.extractValue = function extractDatum(el) {
-			return $(el).data(valueKey);
-		};
-		Dataset.extractDatum = function extractDatum(el) {
-			return $(el).data(datumKey);
-		};
-		_.mixin(Dataset.prototype, EventEmitter, {
-			_render: function render(query, suggestions) {
-				if (!this.$el) {
-					return;
-				}
-				var that = this, hasSuggestions;
-				this.$el.empty();
-				hasSuggestions = suggestions && suggestions.length;
-				if (!hasSuggestions && this.templates.empty) {
-					this.$el.html(getEmptyHtml()).prepend(that.templates.header ? getHeaderHtml() : null).append(that.templates.footer ? getFooterHtml() : null);
-				} else if (hasSuggestions) {
-					this.$el.html(getSuggestionsHtml()).prepend(that.templates.header ? getHeaderHtml() : null).append(that.templates.footer ? getFooterHtml() : null);
-				}
-				this.trigger("rendered");
-				function getEmptyHtml() {
-					return that.templates.empty({
-													query: query
-												});
-				}
-
-				function getSuggestionsHtml() {
-					var $suggestions;
-					$suggestions = $(html.suggestions).css(css.suggestions).append(_.map(suggestions, getSuggestionNode));
-					that.highlight && highlight({
-													node: $suggestions[0],
-													pattern: query
-												});
-					return $suggestions;
-					function getSuggestionNode(suggestion) {
-						var $el, innerHtml, outerHtml;
-						innerHtml = that.templates.suggestion(suggestion);
-						outerHtml = html.suggestion.replace("%BODY%", innerHtml);
-						$el = $(outerHtml).data(datasetKey, that.name).data(valueKey, suggestion[that.valueKey]).data(datumKey, suggestion);
-						$el.children().each(function () {
-							$(this).css(css.suggestionChild);
-						});
-						return $el;
-					}
-				}
-
-				function getHeaderHtml() {
-					return that.templates.header({
-													 query: query,
-													 isEmpty: !hasSuggestions
-												 });
-				}
-
-				function getFooterHtml() {
-					return that.templates.footer({
-													 query: query,
-													 isEmpty: !hasSuggestions
-												 });
-				}
-			},
-			getRoot: function getRoot() {
-				return this.$el;
-			},
-			update: function update(query) {
-				var that = this;
-				this.query = query;
-				this.source(query, renderIfQueryIsSame);
-				function renderIfQueryIsSame(suggestions) {
-					query === that.query && that._render(query, suggestions);
-				}
-			},
-			clear: function clear() {
-				this._render(this.query || "");
-			},
-			isEmpty: function isEmpty() {
-				return this.$el.is(":empty");
-			},
-			destroy: function destroy() {
-				this.$el = null;
-			}
-		});
-		return Dataset;
-		function getTemplates(templates, valueKey) {
-			return {
-				empty: templates.empty && _.templatify(templates.empty),
-				header: templates.header && _.templatify(templates.header),
-				footer: templates.footer && _.templatify(templates.footer),
-				suggestion: templates.suggestion || suggestionTemplate
-			};
-			function suggestionTemplate(context) {
-				return "<p>" + context[valueKey] + "</p>";
-			}
-		}
-	}();
-	var Dropdown = function () {
-		function Dropdown(o) {
-			var that = this, onMouseEnter, onMouseLeave, onSuggestionClick, onSuggestionMouseEnter, onSuggestionMouseLeave;
-			o = o || {};
-			if (!o.menu) {
-				$.error("menu is required");
-			}
-			this.isOpen = false;
-			this.isEmpty = true;
-			this.isMouseOverDropdown = false;
-			this.datasets = _.map(o.datasets, initializeDataset);
-			onMouseEnter = _.bind(this._onMouseEnter, this);
-			onMouseLeave = _.bind(this._onMouseLeave, this);
-			onSuggestionClick = _.bind(this._onSuggestionClick, this);
-			onSuggestionMouseEnter = _.bind(this._onSuggestionMouseEnter, this);
-			onSuggestionMouseLeave = _.bind(this._onSuggestionMouseLeave, this);
-			this.$menu = $(o.menu).on("mouseenter.tt", onMouseEnter).on("mouseleave.tt", onMouseLeave).on("click.tt", ".tt-suggestion", onSuggestionClick).on("mouseenter.tt", ".tt-suggestion", onSuggestionMouseEnter).on("mouseleave.tt", ".tt-suggestion", onSuggestionMouseLeave);
-			_.each(this.datasets, function (dataset) {
-				that.$menu.append(dataset.getRoot());
-				dataset.onSync("rendered", that._onRendered, that);
-			});
-		}
-
-		_.mixin(Dropdown.prototype, EventEmitter, {
-			_onMouseEnter: function onMouseEnter($e) {
-				this.isMouseOverDropdown = true;
-			},
-			_onMouseLeave: function onMouseLeave($e) {
-				this.isMouseOverDropdown = false;
-			},
-			_onSuggestionClick: function onSuggestionClick($e) {
-				this.trigger("suggestionClicked", $($e.currentTarget));
-			},
-			_onSuggestionMouseEnter: function onSuggestionMouseEnter($e) {
-				this._removeCursor();
-				this._setCursor($($e.currentTarget), true);
-			},
-			_onSuggestionMouseLeave: function onSuggestionMouseLeave($e) {
-				this._removeCursor();
-			},
-			_onRendered: function onRendered() {
-				this.isEmpty = _.every(this.datasets, isDatasetEmpty);
-				this.isEmpty ? this._hide() : this.isOpen && this._show();
-				this.trigger("datasetRendered");
-				function isDatasetEmpty(dataset) {
-					return dataset.isEmpty();
-				}
-			},
-			_hide: function () {
-				this.$menu.hide();
-			},
-			_show: function () {
-				this.$menu.css("display", "block");
-			},
-			_getSuggestions: function getSuggestions() {
-				return this.$menu.find(".tt-suggestion");
-			},
-			_getCursor: function getCursor() {
-				return this.$menu.find(".tt-cursor").first();
-			},
-			_setCursor: function setCursor($el, silent) {
-				$el.first().addClass("tt-cursor");
-				!silent && this.trigger("cursorMoved");
-			},
-			_removeCursor: function removeCursor() {
-				this._getCursor().removeClass("tt-cursor");
-			},
-			_moveCursor: function moveCursor(increment) {
-				var $suggestions, $oldCursor, newCursorIndex, $newCursor;
-				if (!this.isOpen) {
-					return;
-				}
-				$oldCursor = this._getCursor();
-				$suggestions = this._getSuggestions();
-				this._removeCursor();
-				newCursorIndex = $suggestions.index($oldCursor) + increment;
-				newCursorIndex = (newCursorIndex + 1) % ($suggestions.length + 1) - 1;
-				if (newCursorIndex === -1) {
-					this.trigger("cursorRemoved");
-					return;
-				} else if (newCursorIndex < -1) {
-					newCursorIndex = $suggestions.length - 1;
-				}
-				this._setCursor($newCursor = $suggestions.eq(newCursorIndex));
-				this._ensureVisible($newCursor);
-			},
-			_ensureVisible: function ensureVisible($el) {
-				var elTop, elBottom, menuScrollTop, menuHeight;
-				elTop = $el.position().top;
-				elBottom = elTop + $el.outerHeight(true);
-				menuScrollTop = this.$menu.scrollTop();
-				menuHeight = this.$menu.height() + parseInt(this.$menu.css("paddingTop"), 10) + parseInt(this.$menu.css("paddingBottom"), 10);
-				if (elTop < 0) {
-					this.$menu.scrollTop(menuScrollTop + elTop);
-				} else if (menuHeight < elBottom) {
-					this.$menu.scrollTop(menuScrollTop + (elBottom - menuHeight));
-				}
-			},
-			close: function close() {
-				if (this.isOpen) {
-					this.isOpen = this.isMouseOverDropdown = false;
-					this._removeCursor();
-					this._hide();
-					this.trigger("closed");
-				}
-			},
-			open: function open() {
-				if (!this.isOpen) {
-					this.isOpen = true;
-					!this.isEmpty && this._show();
-					this.trigger("opened");
-				}
-			},
-			setLanguageDirection: function setLanguageDirection(dir) {
-				this.$menu.css(dir === "ltr" ? css.ltr : css.rtl);
-			},
-			moveCursorUp: function moveCursorUp() {
-				this._moveCursor(-1);
-			},
-			moveCursorDown: function moveCursorDown() {
-				this._moveCursor(+1);
-			},
-			getDatumForSuggestion: function getDatumForSuggestion($el) {
-				var datum = null;
-				if ($el.length) {
-					datum = {
-						raw: Dataset.extractDatum($el),
-						value: Dataset.extractValue($el),
-						datasetName: Dataset.extractDatasetName($el)
-					};
-				}
-				return datum;
-			},
-			getDatumForCursor: function getDatumForCursor() {
-				return this.getDatumForSuggestion(this._getCursor().first());
-			},
-			getDatumForTopSuggestion: function getDatumForTopSuggestion() {
-				return this.getDatumForSuggestion(this._getSuggestions().first());
-			},
-			update: function update(query) {
-				_.each(this.datasets, updateDataset);
-				function updateDataset(dataset) {
-					dataset.update(query);
-				}
-			},
-			empty: function empty() {
-				_.each(this.datasets, clearDataset);
-				function clearDataset(dataset) {
-					dataset.clear();
-				}
-			},
-			isVisible: function isVisible() {
-				return this.isOpen && !this.isEmpty;
-			},
-			destroy: function destroy() {
-				this.$menu.off(".tt");
-				this.$menu = null;
-				_.each(this.datasets, destroyDataset);
-				function destroyDataset(dataset) {
-					dataset.destroy();
-				}
-			}
-		});
-		return Dropdown;
-		function initializeDataset(oDataset) {
-			return new Dataset(oDataset);
-		}
-	}();
-	var Typeahead = function () {
-		var attrsKey = "ttAttrs";
-
-		function Typeahead(o) {
-			var $menu, $input, $hint, datasets;
-			o = o || {};
-			if (!o.input) {
-				$.error("missing input");
-			}
-			this.autoselect = !!o.autoselect;
-			this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;
-			this.$node = buildDomStructure(o.input, o.withHint);
-			$menu = this.$node.find(".tt-dropdown-menu");
-			$input = this.$node.find(".tt-input");
-			$hint = this.$node.find(".tt-hint");
-			this.eventBus = o.eventBus || new EventBus({
-														   el: $input
-													   });
-			this.dropdown = new Dropdown({
-											 menu: $menu,
-											 datasets: o.datasets
-										 }).onSync("suggestionClicked", this._onSuggestionClicked, this).onSync("cursorMoved", this._onCursorMoved, this).onSync("cursorRemoved", this._onCursorRemoved, this).onSync("opened", this._onOpened, this).onSync("closed", this._onClosed, this).onAsync("datasetRendered", this._onDatasetRendered, this);
-			this.input = new Input({
-									   input: $input,
-									   hint: $hint
-								   }).onSync("focused", this._onFocused, this).onSync("blurred", this._onBlurred, this).onSync("enterKeyed", this._onEnterKeyed, this).onSync("tabKeyed", this._onTabKeyed, this).onSync("escKeyed", this._onEscKeyed, this).onSync("upKeyed", this._onUpKeyed, this).onSync("downKeyed", this._onDownKeyed, this).onSync("leftKeyed", this._onLeftKeyed, this).onSync("rightKeyed", this._onRightKeyed, this).onSync("queryChanged", this._onQueryChanged, this).onSync("whitespaceChanged", this._onWhitespaceChanged, this);
-			$menu.on("mousedown.tt", function ($e) {
-				if (_.isMsie() && _.isMsie() < 9) {
-					$input[0].onbeforedeactivate = function () {
-						window.event.returnValue = false;
-						$input[0].onbeforedeactivate = null;
-					};
-				}
-				$e.preventDefault();
-			});
-		}
-
-		_.mixin(Typeahead.prototype, {
-			_onSuggestionClicked: function onSuggestionClicked(type, $el) {
-				var datum;
-				if (datum = this.dropdown.getDatumForSuggestion($el)) {
-					this._select(datum);
-				}
-			},
-			_onCursorMoved: function onCursorMoved() {
-				var datum = this.dropdown.getDatumForCursor();
-				this.input.clearHint();
-				this.input.setInputValue(datum.value, true);
-				this.eventBus.trigger("cursorchanged", datum.raw, datum.datasetName);
-			},
-			_onCursorRemoved: function onCursorRemoved() {
-				this.input.resetInputValue();
-				this._updateHint();
-			},
-			_onDatasetRendered: function onDatasetRendered() {
-				this._updateHint();
-			},
-			_onOpened: function onOpened() {
-				this._updateHint();
-				this.eventBus.trigger("opened");
-			},
-			_onClosed: function onClosed() {
-				this.input.clearHint();
-				this.eventBus.trigger("closed");
-			},
-			_onFocused: function onFocused() {
-				this.dropdown.open();
-			},
-			_onBlurred: function onBlurred() {
-				!this.dropdown.isMouseOverDropdown && this.dropdown.close();
-			},
-			_onEnterKeyed: function onEnterKeyed(type, $e) {
-				var cursorDatum, topSuggestionDatum;
-				cursorDatum = this.dropdown.getDatumForCursor();
-				topSuggestionDatum = this.dropdown.getDatumForTopSuggestion();
-				if (cursorDatum) {
-					this._select(cursorDatum);
-					$e.preventDefault();
-				} else if (this.autoselect && topSuggestionDatum) {
-					this._select(topSuggestionDatum);
-					$e.preventDefault();
-				}
-			},
-			_onTabKeyed: function onTabKeyed(type, $e) {
-				var datum;
-				if (datum = this.dropdown.getDatumForCursor()) {
-					this._select(datum);
-					$e.preventDefault();
-				} else {
-					this._autocomplete();
-				}
-			},
-			_onEscKeyed: function onEscKeyed() {
-				this.dropdown.close();
-				this.input.resetInputValue();
-			},
-			_onUpKeyed: function onUpKeyed() {
-				var query = this.input.getQuery();
-				if (!this.dropdown.isOpen && query.length >= this.minLength) {
-					this.dropdown.update(query);
-				}
-				this.dropdown.open();
-				this.dropdown.moveCursorUp();
-			},
-			_onDownKeyed: function onDownKeyed() {
-				var query = this.input.getQuery();
-				if (!this.dropdown.isOpen && query.length >= this.minLength) {
-					this.dropdown.update(query);
-				}
-				this.dropdown.open();
-				this.dropdown.moveCursorDown();
-			},
-			_onLeftKeyed: function onLeftKeyed() {
-				this.dir === "rtl" && this._autocomplete();
-			},
-			_onRightKeyed: function onRightKeyed() {
-				this.dir === "ltr" && this._autocomplete();
-			},
-			_onQueryChanged: function onQueryChanged(e, query) {
-				this.input.clearHint();
-				this.dropdown.empty();
-				query.length >= this.minLength && this.dropdown.update(query);
-				this.dropdown.open();
-				this._setLanguageDirection();
-			},
-			_onWhitespaceChanged: function onWhitespaceChanged() {
-				this._updateHint();
-				this.dropdown.open();
-			},
-			_setLanguageDirection: function setLanguageDirection() {
-				var dir;
-				if (this.dir !== (dir = this.input.getLanguageDirection())) {
-					this.dir = dir;
-					this.$node.css("direction", dir);
-					this.dropdown.setLanguageDirection(dir);
-				}
-			},
-			_updateHint: function updateHint() {
-				var datum, inputValue, query, escapedQuery, frontMatchRegEx, match;
-				datum = this.dropdown.getDatumForTopSuggestion();
-				if (datum && this.dropdown.isVisible() && !this.input.hasOverflow()) {
-					inputValue = this.input.getInputValue();
-					query = Input.normalizeQuery(inputValue);
-					escapedQuery = _.escapeRegExChars(query);
-					frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.*$)", "i");
-					match = frontMatchRegEx.exec(datum.value);
-					this.input.setHintValue(inputValue + (match ? match[1] : ""));
-				}
-			},
-			_autocomplete: function autocomplete() {
-				var hint, query, datum;
-				hint = this.input.getHintValue();
-				query = this.input.getQuery();
-				if (hint && query !== hint && this.input.isCursorAtEnd()) {
-					datum = this.dropdown.getDatumForTopSuggestion();
-					datum && this.input.setInputValue(datum.value);
-					this.eventBus.trigger("autocompleted", datum.raw, datum.datasetName);
-				}
-			},
-			_select: function select(datum) {
-				this.input.clearHint();
-				this.input.setQuery(datum.value);
-				this.input.setInputValue(datum.value, true);
-				this.dropdown.empty();
-				this._setLanguageDirection();
-				_.defer(_.bind(this.dropdown.close, this.dropdown));
-				this.eventBus.trigger("selected", datum.raw, datum.datasetName);
-			},
-			open: function open() {
-				this.dropdown.open();
-			},
-			close: function close() {
-				this.dropdown.close();
-			},
-			getQuery: function getQuery() {
-				return this.input.getQuery();
-			},
-			setQuery: function setQuery(val) {
-				this.input.setInputValue(val);
-			},
-			destroy: function destroy() {
-				this.input.destroy();
-				this.dropdown.destroy();
-				destroyDomStructure(this.$node);
-				this.$node = null;
-			}
-		});
-		return Typeahead;
-		function buildDomStructure(input, withHint) {
-			var $input, $wrapper, $dropdown, $hint;
-			$input = $(input);
-			$wrapper = $(html.wrapper).css(css.wrapper);
-			$dropdown = $(html.dropdown).css(css.dropdown);
-			$hint = $input.clone().css(css.hint).css(getBackgroundStyles($input));
-			$hint.removeData().addClass("tt-hint").removeAttr("id name placeholder").prop("disabled", true).attr({
-																													 autocomplete: "off",
-																													 spellcheck: "false"
-																												 });
-			$input.data(attrsKey, {
-				dir: $input.attr("dir"),
-				autocomplete: $input.attr("autocomplete"),
-				spellcheck: $input.attr("spellcheck"),
-				style: $input.attr("style")
-			});
-			$input.addClass("tt-input").attr({
-												 autocomplete: "off",
-												 spellcheck: false
-											 }).css(withHint ? css.input : css.inputWithNoHint);
-			try {
-				!$input.attr("dir") && $input.attr("dir", "auto");
-			} catch (e) {
-			}
-			return $input.wrap($wrapper).parent().prepend(withHint ? $hint : null).append($dropdown);
-		}
-
-		function getBackgroundStyles($el) {
-			return {
-				backgroundAttachment: $el.css("background-attachment"),
-				backgroundClip: $el.css("background-clip"),
-				backgroundColor: $el.css("background-color"),
-				backgroundImage: $el.css("background-image"),
-				backgroundOrigin: $el.css("background-origin"),
-				backgroundPosition: $el.css("background-position"),
-				backgroundRepeat: $el.css("background-repeat"),
-				backgroundSize: $el.css("background-size")
-			};
-		}
-
-		function destroyDomStructure($node) {
-			var $input = $node.find(".tt-input");
-			_.each($input.data(attrsKey), function (val, key) {
-				_.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);
-			});
-			$input.detach().removeData(attrsKey).removeClass("tt-input").insertAfter($node);
-			$node.remove();
-		}
-	}();
-	(function () {
-		var typeaheadKey, methods;
-		typeaheadKey = "ttTypeahead";
-		methods = {
-			initialize: function initialize(o) {
-				var datasets = [].slice.call(arguments, 1);
-				o = o || {};
-				return this.each(attach);
-				function attach() {
-					var $input = $(this), eventBus, typeahead;
-					_.each(datasets, function (d) {
-						d.highlight = !!o.highlight;
-					});
-					typeahead = new Typeahead({
-												  input: $input,
-												  eventBus: eventBus = new EventBus({
-																						el: $input
-																					}),
-												  withHint: _.isUndefined(o.hint) ? true : !!o.hint,
-												  minLength: o.minLength,
-												  autoselect: o.autoselect,
-												  datasets: datasets
-											  });
-					$input.data(typeaheadKey, typeahead);
-					function trigger(eventName) {
-						return function () {
-							_.defer(function () {
-								eventBus.trigger(eventName);
-							});
-						};
-					}
-				}
-			},
-			open: function open() {
-				return this.each(openTypeahead);
-				function openTypeahead() {
-					var $input = $(this), typeahead;
-					if (typeahead = $input.data(typeaheadKey)) {
-						typeahead.open();
-					}
-				}
-			},
-			close: function close() {
-				return this.each(closeTypeahead);
-				function closeTypeahead() {
-					var $input = $(this), typeahead;
-					if (typeahead = $input.data(typeaheadKey)) {
-						typeahead.close();
-					}
-				}
-			},
-			val: function val(newVal) {
-				return _.isString(newVal) ? this.each(setQuery) : this.map(getQuery).get();
-				function setQuery() {
-					var $input = $(this), typeahead;
-					if (typeahead = $input.data(typeaheadKey)) {
-						typeahead.setQuery(newVal);
-					}
-				}
-
-				function getQuery() {
-					var $input = $(this), typeahead, query;
-					if (typeahead = $input.data(typeaheadKey)) {
-						query = typeahead.getQuery();
-					}
-					return query;
-				}
-			},
-			destroy: function destroy() {
-				return this.each(unattach);
-				function unattach() {
-					var $input = $(this), typeahead;
-					if (typeahead = $input.data(typeaheadKey)) {
-						typeahead.destroy();
-						$input.removeData(typeaheadKey);
-					}
-				}
-			}
-		};
-		jQuery.fn.typeahead = function (method) {
-			if (methods[method]) {
-				return methods[method].apply(this, [].slice.call(arguments, 1));
-			} else {
-				return methods.initialize.apply(this, arguments);
-			}
-		};
-	})();
-})(window.jQuery);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/jquery-typeahead.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(t){var e={isMsie:function(){return!!/(msie|trident)/i.test(navigator.userAgent)&&navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]},isBlankString:function(t){return!t||/^\s*$/.test(t)},escapeRegExChars:function(t){return t.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(t){return"string"==typeof t},isNumber:function(t){return"number"==typeof t},isArray:t.isArray,isFunction:t.isFunction,isObject:t.isPlainObject,isUndefined:function(t){return void 0===t},bind:t.proxy,each:function(e,n){t.each(e,function(t,e){return n(e,t)})},map:t.map,filter:t.grep,every:function(e,n){var i=!0;return e?(t.each(e,function(t,r){if(!(i=n.call(null,r,t,e)))return!1}),!!i):i},some:function(e,n){var i=!1;return e?(t.each(e,function(t,r){if(i=n.call(null,r,t,e))return!1}),!!i):i},mixin:t.extend,getUniqueId:function(){var t=0;return function(){return t++}}(),templatify:function(e){return t.isFunction(e)?e:function(){return String(e)}},defer:function(t){setTimeout(t,0)},debounce:function(t,e,n){var i,r;return function(){var s,o,u=this,a=arguments;return s=function(){i=null,n||(r=t.apply(u,a))},o=n&&!i,clearTimeout(i),i=setTimeout(s,e),o&&(r=t.apply(u,a)),r}},throttle:function(t,e){var n,i,r,s,o,u;return o=0,u=function(){o=new Date,r=null,s=t.apply(n,i)},function(){var a=new Date,h=e-(a-o);return n=this,i=arguments,h<=0?(clearTimeout(r),r=null,o=a,s=t.apply(n,i)):r||(r=setTimeout(u,h)),s}},noop:function(){}},n="0.10.0",i=function(t,n){function i(t){this.maxSize=t||100,this.size=0,this.hash={},this.list=new r}function r(){this.head=this.tail=null}function s(t,e){this.key=t,this.val=e,this.prev=this.next=null}return e.mixin(i.prototype,{set:function(t,e){var n,i=this.list.tail;this.size>=this.maxSize&&(this.list.remove(i),delete this.hash[i.key]),(n=this.hash[t])?(n.val=e,this.list.moveToFront(n)):(n=new s(t,e),this.list.add(n),this.hash[t]=n,this.size++)},get:function(t){var e=this.hash[t];if(e)return this.list.moveToFront(e),e.val}}),e.mixin(r.prototype,{add:function(t){this.head&&(t.next=this.head,this.head.prev=t),this.head=t,this.tail=this.tail||t},remove:function(t){t.prev?t.prev.next=t.next:this.head=t.next,t.next?t.next.prev=t.prev:this.tail=t.prev},moveToFront:function(t){this.remove(t),this.add(t)}}),i}(),r=function(){function t(t){this.prefix=["__",t,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new RegExp("^"+this.prefix)}function n(){return(new Date).getTime()}function i(t){return JSON.stringify(e.isUndefined(t)?null:t)}function r(t){return JSON.parse(t)}var s,o;try{(s=window.localStorage).setItem("~~~","!"),s.removeItem("~~~")}catch(t){s=null}return o=s&&window.JSON?{_prefix:function(t){return this.prefix+t},_ttlKey:function(t){return this._prefix(t)+this.ttlKey},get:function(t){return this.isExpired(t)&&this.remove(t),r(s.getItem(this._prefix(t)))},set:function(t,r,o){return e.isNumber(o)?s.setItem(this._ttlKey(t),i(n()+o)):s.removeItem(this._ttlKey(t)),s.setItem(this._prefix(t),i(r))},remove:function(t){return s.removeItem(this._ttlKey(t)),s.removeItem(this._prefix(t)),this},clear:function(){var t,e,n=[],i=s.length;for(t=0;t<i;t++)(e=s.key(t)).match(this.keyMatcher)&&n.push(e.replace(this.keyMatcher,""));for(t=n.length;t--;)this.remove(n[t]);return this},isExpired:function(t){var i=r(s.getItem(this._ttlKey(t)));return!!(e.isNumber(i)&&n()>i)}}:{get:e.noop,set:e.noop,remove:e.noop,clear:e.noop,isExpired:e.noop},e.mixin(t.prototype,o),t}(),s=function(){function n(e){e=e||{},this._send=e.send?r(e.send):t.ajax,this._get=e.rateLimiter?e.rateLimiter(this._get):this._get}function r(n){return function(i,r){var s=t.Deferred();return n(i,r,function(t){e.defer(function(){s.resolve(t)})},function(t){e.defer(function(){s.reject(t)})}),s}}var s=0,o={},u=6,a=new i(10);return n.setMaxPendingRequests=function(t){u=t},n.resetCache=function(){a=new i(10)},e.mixin(n.prototype,{_get:function(t,e,n){function i(e){n&&n(e),a.set(t,e)}var r,h=this;(r=o[t])?r.done(i):s<u?(s++,o[t]=this._send(t,e).done(i).always(function(){s--,delete o[t],h.onDeckRequestArgs&&(h._get.apply(h,h.onDeckRequestArgs),h.onDeckRequestArgs=null)})):this.onDeckRequestArgs=[].slice.call(arguments,0)},get:function(t,n,i){var r;return e.isFunction(n)&&(i=n,n={}),(r=a.get(t))?e.defer(function(){i&&i(r)}):this._get(t,n,i),!!r}}),n}(),o=function(){function n(e){(e=e||{}).datumTokenizer&&e.queryTokenizer||t.error("datumTokenizer and queryTokenizer are both required"),this.datumTokenizer=e.datumTokenizer,this.queryTokenizer=e.queryTokenizer,this.datums=[],this.trie={ids:[],children:{}}}function i(t){return t=e.filter(t,function(t){return!!t}),t=e.map(t,function(t){return t.toLowerCase()})}function r(t){for(var e={},n=[],i=0;i<t.length;i++)e[t[i]]||(e[t[i]]=!0,n.push(t[i]));return n}function s(t,e){function n(t,e){return t-e}var i=0,r=0,s=[];for(t=t.sort(n),e=e.sort(n);i<t.length&&r<e.length;)t[i]<e[r]?i++:t[i]>e[r]?r++:(s.push(t[i]),i++,r++);return s}return e.mixin(n.prototype,{bootstrap:function(t){this.datums=t.datums,this.trie=t.trie},add:function(t){var n=this;t=e.isArray(t)?t:[t],e.each(t,function(t){var r,s;r=n.datums.push(t)-1,s=i(n.datumTokenizer(t)),e.each(s,function(t){var e,i,s;for(e=n.trie,i=t.split("");s=i.shift();)(e=e.children[s]||(e.children[s]={ids:[],children:{}})).ids.push(r)})})},get:function(t){var n,o,u=this;return n=i(this.queryTokenizer(t)),e.each(n,function(t){var e,n,i,r;if(o&&0===o.length)return!1;for(e=u.trie,n=t.split("");e&&(i=n.shift());)e=e.children[i];if(!e||0!==n.length)return o=[],!1;r=e.ids.slice(0),o=o?s(o,r):r}),o?e.map(r(o),function(t){return u.datums[t]}):[]},serialize:function(){return{datums:this.datums,trie:this.trie}}}),n}(),u=function(){return{local:function(t){return t.local||null},prefetch:function(i){var r,s;return s={url:null,thumbprint:"",ttl:864e5,filter:null,ajax:{}},(r=i.prefetch||null)&&(r=e.isString(r)?{url:r}:r,(r=e.mixin(s,r)).thumbprint=n+r.thumbprint,r.ajax.method=r.ajax.method||"get",r.ajax.dataType=r.ajax.dataType||"json",!r.url&&t.error("prefetch requires url to be set")),r},remote:function(n){var i,r;return r={url:null,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}},(i=n.remote||null)&&(i=e.isString(i)?{url:i}:i,(i=e.mixin(r,i)).rateLimiter=/^throttle$/i.test(i.rateLimitBy)?function(t){return function(n){return e.throttle(n,t)}}(i.rateLimitWait):function(t){return function(n){return e.debounce(n,t)}}(i.rateLimitWait),i.ajax.method=i.ajax.method||"get",i.ajax.dataType=i.ajax.dataType||"json",delete i.rateLimitBy,delete i.rateLimitWait,!i.url&&t.error("remote requires url to be set")),i}}}(),a=(window.Bloodhound=function(){function n(e){e&&(e.local||e.prefetch||e.remote)||t.error("one of local, prefetch, or remote is required"),this.limit=e.limit||5,this.sorter=e.sorter||i,this.dupDetector=e.dupDetector||a,this.local=u.local(e),this.prefetch=u.prefetch(e),this.remote=u.remote(e),this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null,this.index=new o({datumTokenizer:e.datumTokenizer,queryTokenizer:e.queryTokenizer}),this.storage=this.cacheKey?new r(this.cacheKey):null}function i(){return 0}function a(){return!1}var h;return h={data:"data",protocol:"protocol",thumbprint:"thumbprint"},n.tokenizers={whitespace:function(t){return t.split(/\s+/)},nonword:function(t){return t.split(/\W+/)}},e.mixin(n.prototype,{_loadPrefetch:function(e){var n,i,r=this;return(n=this._readFromStorage(e.thumbprint))?(this.index.bootstrap(n),i=t.Deferred().resolve()):i=t.ajax(e.url,e.ajax).done(function(t){var n;n=e.filter?e.filter(t):t,r.add(n),r._saveToStorage(r.index.serialize(),e.thumbprint,e.ttl)}),i},_getFromRemote:function(t,e){var n,i,r=this;return t=t||"",i=encodeURIComponent(t),n=this.remote.replace?this.remote.replace(this.remote.url,t):this.remote.url.replace(this.remote.wildcard,i),this.transport.get(n,this.remote.ajax,function(t){var n=r.remote.filter?r.remote.filter(t):t;e(n)})},_saveToStorage:function(t,e,n){this.storage&&(this.storage.set(h.data,t,n),this.storage.set(h.protocol,location.protocol,n),this.storage.set(h.thumbprint,e,n))},_readFromStorage:function(t){var e={};return this.storage&&(e.data=this.storage.get(h.data),e.protocol=this.storage.get(h.protocol),e.thumbprint=this.storage.get(h.thumbprint)),isExpired=e.thumbprint!==t||e.protocol!==location.protocol,e.data&&!isExpired?e.data:null},initialize:function(){var e,n=this;return e=this.prefetch?this._loadPrefetch(this.prefetch):t.Deferred().resolve(),this.local&&e.done(function(){n.add(n.local)}),this.transport=this.remote?new s(this.remote):null,this.initialize=function(){return e.promise()},e.promise()},add:function(t){this.index.add(t)},get:function(t,n){var i,r=this,s=!1;(i=this.index.get(t).sort(this.sorter).slice(0,this.limit)).length<this.limit&&this.transport&&(s=this._getFromRemote(t,function(t){var s=i.slice(0);e.each(t,function(t){return!e.some(s,function(e){return r.dupDetector(t,e)})&&s.push(t),s.length<r.limit}),n&&n(s.sort(r.sorter))})),!s&&n&&n(i)},ttAdapter:function(){return e.bind(this.get,this)}}),n}(),{wrapper:'<span class="twitter-typeahead"></span>',dropdown:'<span class="tt-dropdown-menu"></span>',dataset:'<div class="tt-dataset-%CLASS%"></div>',suggestions:'<span class="tt-suggestions"></span>',suggestion:'<div class="tt-suggestion">%BODY%</div>'}),h={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};e.isMsie()&&e.mixin(h.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),e.isMsie()&&e.isMsie()<=7&&e.mixin(h.input,{marginTop:"-1px"});var c=function(){function n(e){e&&e.el||t.error("EventBus initialized without el"),this.$el=t(e.el)}return e.mixin(n.prototype,{trigger:function(t){var e=[].slice.call(arguments,1);this.$el.trigger("typeahead:"+t,e)}}),n}(),l=function(){function t(t,e,r,s){var o;if(!r)return this;for(e=e.split(i),r=s?n(r,s):r,this._callbacks=this._callbacks||{};o=e.shift();)this._callbacks[o]=this._callbacks[o]||{sync:[],async:[]},this._callbacks[o][t].push(r);return this}function e(t,e,n){return function(){for(var i,r=0;!i&&r<t.length;r+=1)i=!1===t[r].apply(e,n);return!i}}function n(t,e){return t.bind?t.bind(e):function(){t.apply(e,[].slice.call(arguments,0))}}var i=/\s+/,r=window.setImmediate?function(t){setImmediate(function(){t()})}:function(t){setTimeout(function(){t()},0)};return{onSync:function(e,n,i){return t.call(this,"sync",e,n,i)},onAsync:function(e,n,i){return t.call(this,"async",e,n,i)},off:function(t){var e;if(!this._callbacks)return this;for(t=t.split(i);e=t.shift();)delete this._callbacks[e];return this},trigger:function(t){var n,s,o,u,a;if(!this._callbacks)return this;for(t=t.split(i),o=[].slice.call(arguments,1);(n=t.shift())&&(s=this._callbacks[n]);)u=e(s.sync,this,[n].concat(o)),a=e(s.async,this,[n].concat(o)),u()&&r(a);return this}}}(),d=function(t){function n(t,n,i){for(var r,s=[],o=0;o<t.length;o++)s.push(e.escapeRegExChars(t[o]));return r=i?"\\b("+s.join("|")+")\\b":"("+s.join("|")+")",n?new RegExp(r):new RegExp(r,"i")}var i={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(r){function s(t,e){for(var n,i=0;i<t.childNodes.length;i++)3===(n=t.childNodes[i]).nodeType?i+=e(n)?1:0:s(n,e)}var o;(r=e.mixin({},i,r)).node&&r.pattern&&(r.pattern=e.isArray(r.pattern)?r.pattern:[r.pattern],o=n(r.pattern,r.caseSensitive,r.wordsOnly),s(r.node,function(e){var n,i;return(n=o.exec(e.data))&&(wrapperNode=t.createElement(r.tagName),r.className&&(wrapperNode.className=r.className),(i=e.splitText(n.index)).splitText(n[0].length),wrapperNode.appendChild(i.cloneNode(!0)),e.parentNode.replaceChild(wrapperNode,i)),!!n}))}}(window.document),p=function(){function n(n){var r,s,u,a,h=this;(n=n||{}).input||t.error("input is missing"),r=e.bind(this._onBlur,this),s=e.bind(this._onFocus,this),u=e.bind(this._onKeydown,this),a=e.bind(this._onInput,this),this.$hint=t(n.hint),this.$input=t(n.input).on("blur.tt",r).on("focus.tt",s).on("keydown.tt",u),0===this.$hint.length&&(this.setHintValue=this.getHintValue=this.clearHint=e.noop),e.isMsie()?this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(t){o[t.which||t.keyCode]||e.defer(e.bind(h._onInput,h,t))}):this.$input.on("input.tt",a),this.query=this.$input.val(),this.$overflowHelper=i(this.$input)}function i(e){return t('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"nowrap",fontFamily:e.css("font-family"),fontSize:e.css("font-size"),fontStyle:e.css("font-style"),fontVariant:e.css("font-variant"),fontWeight:e.css("font-weight"),wordSpacing:e.css("word-spacing"),letterSpacing:e.css("letter-spacing"),textIndent:e.css("text-indent"),textRendering:e.css("text-rendering"),textTransform:e.css("text-transform")}).insertAfter(e)}function r(t,e){return n.normalizeQuery(t)===n.normalizeQuery(e)}function s(t){return t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}var o;return o={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},n.normalizeQuery=function(t){return(t||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},e.mixin(n.prototype,l,{_onBlur:function(t){this.resetInputValue(),this.trigger("blurred")},_onFocus:function(t){this.trigger("focused")},_onKeydown:function(t){var e=o[t.which||t.keyCode];this._managePreventDefault(e,t),e&&this._shouldTrigger(e,t)&&this.trigger(e+"Keyed",t)},_onInput:function(t){this._checkInputValue()},_managePreventDefault:function(t,e){var n,i,r;switch(t){case"tab":i=this.getHintValue(),r=this.getInputValue(),n=i&&i!==r&&!s(e);break;case"up":case"down":n=!s(e);break;default:n=!1}n&&e.preventDefault()},_shouldTrigger:function(t,e){var n;switch(t){case"tab":n=!s(e);break;default:n=!0}return n},_checkInputValue:function(){var t,e,n;n=!!(e=r(t=this.getInputValue(),this.query))&&this.query.length!==t.length,e?n&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query=t)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(t){this.query=t},getInputValue:function(){return this.$input.val()},setInputValue:function(t,e){this.$input.val(t),!e&&this._checkInputValue()},getHintValue:function(){return this.$hint.val()},setHintValue:function(t){this.$hint.val(t)},resetInputValue:function(){this.$input.val(this.query)},clearHint:function(){this.$hint.val("")},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var t=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=t},isCursorAtEnd:function(){var t,n,i;return t=this.$input.val().length,n=this.$input[0].selectionStart,e.isNumber(n)?n===t:!document.selection||((i=document.selection.createRange()).moveStart("character",-t),t===i.text.length)},destroy:function(){this.$hint.off(".tt"),this.$input.off(".tt"),this.$hint=this.$input=this.$overflowHelper=null}}),n}(),f=function(){function n(n){(n=n||{}).templates=n.templates||{},n.source||t.error("missing source"),this.query=null,this.highlight=!!n.highlight,this.name=n.name||e.getUniqueId(),this.source=n.source,this.valueKey=n.displayKey||"value",this.templates=i(n.templates,this.valueKey),this.$el=t(a.dataset.replace("%CLASS%",this.name))}function i(t,n){return{empty:t.empty&&e.templatify(t.empty),header:t.header&&e.templatify(t.header),footer:t.footer&&e.templatify(t.footer),suggestion:t.suggestion||function(t){return"<p>"+t[n]+"</p>"}}}var r="ttDataset",s="ttValue",o="ttDatum";return n.extractDatasetName=function(e){return t(e).data(r)},n.extractValue=function(e){return t(e).data(s)},n.extractDatum=function(e){return t(e).data(o)},e.mixin(n.prototype,l,{_render:function(n,i){function u(){return p.templates.header({query:n,isEmpty:!l})}function c(){return p.templates.footer({query:n,isEmpty:!l})}if(this.$el){var l,p=this;this.$el.empty(),!(l=i&&i.length)&&this.templates.empty?this.$el.html(p.templates.empty({query:n})).prepend(p.templates.header?u():null).append(p.templates.footer?c():null):l&&this.$el.html(function(){var u;return u=t(a.suggestions).css(h.suggestions).append(e.map(i,function(e){var n,i,u;return i=p.templates.suggestion(e),u=a.suggestion.replace("%BODY%",i),(n=t(u).data(r,p.name).data(s,e[p.valueKey]).data(o,e)).children().each(function(){t(this).css(h.suggestionChild)}),n})),p.highlight&&d({node:u[0],pattern:n}),u}()).prepend(p.templates.header?u():null).append(p.templates.footer?c():null),this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(t){var e=this;this.query=t,this.source(t,function(n){t===e.query&&e._render(t,n)})},clear:function(){this._render(this.query||"")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),n}(),g=function(){function n(n){var r,s,o,u,a,h=this;(n=n||{}).menu||t.error("menu is required"),this.isOpen=!1,this.isEmpty=!0,this.isMouseOverDropdown=!1,this.datasets=e.map(n.datasets,i),r=e.bind(this._onMouseEnter,this),s=e.bind(this._onMouseLeave,this),o=e.bind(this._onSuggestionClick,this),u=e.bind(this._onSuggestionMouseEnter,this),a=e.bind(this._onSuggestionMouseLeave,this),this.$menu=t(n.menu).on("mouseenter.tt",r).on("mouseleave.tt",s).on("click.tt",".tt-suggestion",o).on("mouseenter.tt",".tt-suggestion",u).on("mouseleave.tt",".tt-suggestion",a),e.each(this.datasets,function(t){h.$menu.append(t.getRoot()),t.onSync("rendered",h._onRendered,h)})}function i(t){return new f(t)}return e.mixin(n.prototype,l,{_onMouseEnter:function(t){this.isMouseOverDropdown=!0},_onMouseLeave:function(t){this.isMouseOverDropdown=!1},_onSuggestionClick:function(e){this.trigger("suggestionClicked",t(e.currentTarget))},_onSuggestionMouseEnter:function(e){this._removeCursor(),this._setCursor(t(e.currentTarget),!0)},_onSuggestionMouseLeave:function(t){this._removeCursor()},_onRendered:function(){this.isEmpty=e.every(this.datasets,function(t){return t.isEmpty()}),this.isEmpty?this._hide():this.isOpen&&this._show(),this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(t,e){t.first().addClass("tt-cursor"),!e&&this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(t){var e,n,i,r;this.isOpen&&(n=this._getCursor(),e=this._getSuggestions(),this._removeCursor(),-1!==(i=((i=e.index(n)+t)+1)%(e.length+1)-1)?(i<-1&&(i=e.length-1),this._setCursor(r=e.eq(i)),this._ensureVisible(r)):this.trigger("cursorRemoved"))},_ensureVisible:function(t){var e,n,i,r;n=(e=t.position().top)+t.outerHeight(!0),i=this.$menu.scrollTop(),r=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10),e<0?this.$menu.scrollTop(i+e):r<n&&this.$menu.scrollTop(i+(n-r))},close:function(){this.isOpen&&(this.isOpen=this.isMouseOverDropdown=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,!this.isEmpty&&this._show(),this.trigger("opened"))},setLanguageDirection:function(t){this.$menu.css("ltr"===t?h.ltr:h.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(t){var e=null;return t.length&&(e={raw:f.extractDatum(t),value:f.extractValue(t),datasetName:f.extractDatasetName(t)}),e},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(t){e.each(this.datasets,function(e){e.update(t)})},empty:function(){e.each(this.datasets,function(t){t.clear()})},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){this.$menu.off(".tt"),this.$menu=null,e.each(this.datasets,function(t){t.destroy()})}}),n}(),m=function(){function n(n){var r,s,o;(n=n||{}).input||t.error("missing input"),this.autoselect=!!n.autoselect,this.minLength=e.isNumber(n.minLength)?n.minLength:1,this.$node=i(n.input,n.withHint),r=this.$node.find(".tt-dropdown-menu"),s=this.$node.find(".tt-input"),o=this.$node.find(".tt-hint"),this.eventBus=n.eventBus||new c({el:s}),this.dropdown=new g({menu:r,datasets:n.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new p({input:s,hint:o}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),r.on("mousedown.tt",function(t){e.isMsie()&&e.isMsie()<9&&(s[0].onbeforedeactivate=function(){window.event.returnValue=!1,s[0].onbeforedeactivate=null}),t.preventDefault()})}function i(e,n){var i,s,u,c;i=t(e),s=t(a.wrapper).css(h.wrapper),u=t(a.dropdown).css(h.dropdown),(c=i.clone().css(h.hint).css(r(i))).removeData().addClass("tt-hint").removeAttr("id name placeholder").prop("disabled",!0).attr({autocomplete:"off",spellcheck:"false"}),i.data(o,{dir:i.attr("dir"),autocomplete:i.attr("autocomplete"),spellcheck:i.attr("spellcheck"),style:i.attr("style")}),i.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(n?h.input:h.inputWithNoHint);try{!i.attr("dir")&&i.attr("dir","auto")}catch(t){}return i.wrap(s).parent().prepend(n?c:null).append(u)}function r(t){return{backgroundAttachment:t.css("background-attachment"),backgroundClip:t.css("background-clip"),backgroundColor:t.css("background-color"),backgroundImage:t.css("background-image"),backgroundOrigin:t.css("background-origin"),backgroundPosition:t.css("background-position"),backgroundRepeat:t.css("background-repeat"),backgroundSize:t.css("background-size")}}function s(t){var n=t.find(".tt-input");e.each(n.data(o),function(t,i){e.isUndefined(t)?n.removeAttr(i):n.attr(i,t)}),n.detach().removeData(o).removeClass("tt-input").insertAfter(t),t.remove()}var o="ttAttrs";return e.mixin(n.prototype,{_onSuggestionClicked:function(t,e){var n;(n=this.dropdown.getDatumForSuggestion(e))&&this._select(n)},_onCursorMoved:function(){var t=this.dropdown.getDatumForCursor();this.input.clearHint(),this.input.setInputValue(t.value,!0),this.eventBus.trigger("cursorchanged",t.raw,t.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint(),this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint(),this.eventBus.trigger("closed")},_onFocused:function(){this.dropdown.open()},_onBlurred:function(){!this.dropdown.isMouseOverDropdown&&this.dropdown.close()},_onEnterKeyed:function(t,e){var n,i;n=this.dropdown.getDatumForCursor(),i=this.dropdown.getDatumForTopSuggestion(),n?(this._select(n),e.preventDefault()):this.autoselect&&i&&(this._select(i),e.preventDefault())},_onTabKeyed:function(t,e){var n;(n=this.dropdown.getDatumForCursor())?(this._select(n),e.preventDefault()):this._autocomplete()},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var t=this.input.getQuery();!this.dropdown.isOpen&&t.length>=this.minLength&&this.dropdown.update(t),this.dropdown.open(),this.dropdown.moveCursorUp()},_onDownKeyed:function(){var t=this.input.getQuery();!this.dropdown.isOpen&&t.length>=this.minLength&&this.dropdown.update(t),this.dropdown.open(),this.dropdown.moveCursorDown()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(t,e){this.input.clearHint(),this.dropdown.empty(),e.length>=this.minLength&&this.dropdown.update(e),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var t;this.dir!==(t=this.input.getLanguageDirection())&&(this.dir=t,this.$node.css("direction",t),this.dropdown.setLanguageDirection(t))},_updateHint:function(){var t,n,i,r,s;(t=this.dropdown.getDatumForTopSuggestion())&&this.dropdown.isVisible()&&!this.input.hasOverflow()&&(n=this.input.getInputValue(),i=p.normalizeQuery(n),r=e.escapeRegExChars(i),s=new RegExp("^(?:"+r+")(.*$)","i").exec(t.value),this.input.setHintValue(n+(s?s[1]:"")))},_autocomplete:function(){var t,e,n;t=this.input.getHintValue(),e=this.input.getQuery(),t&&e!==t&&this.input.isCursorAtEnd()&&((n=this.dropdown.getDatumForTopSuggestion())&&this.input.setInputValue(n.value),this.eventBus.trigger("autocompleted",n.raw,n.datasetName))},_select:function(t){this.input.clearHint(),this.input.setQuery(t.value),this.input.setInputValue(t.value,!0),this.dropdown.empty(),this._setLanguageDirection(),e.defer(e.bind(this.dropdown.close,this.dropdown)),this.eventBus.trigger("selected",t.raw,t.datasetName)},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},getQuery:function(){return this.input.getQuery()},setQuery:function(t){this.input.setInputValue(t)},destroy:function(){this.input.destroy(),this.dropdown.destroy(),s(this.$node),this.$node=null}}),n}();!function(){var n,i;n="ttTypeahead",i={initialize:function(i){var r=[].slice.call(arguments,1);return i=i||{},this.each(function(){var s,o=t(this);e.each(r,function(t){t.highlight=!!i.highlight}),s=new m({input:o,eventBus:new c({el:o}),withHint:!!e.isUndefined(i.hint)||!!i.hint,minLength:i.minLength,autoselect:i.autoselect,datasets:r}),o.data(n,s)})},open:function(){return this.each(function(){var e;(e=t(this).data(n))&&e.open()})},close:function(){return this.each(function(){var e;(e=t(this).data(n))&&e.close()})},val:function(i){return e.isString(i)?this.each(function(){var e;(e=t(this).data(n))&&e.setQuery(i)}):this.map(function(){var e,i;return(e=t(this).data(n))&&(i=e.getQuery()),i}).get()},destroy:function(){return this.each(function(){var e,i=t(this);(e=i.data(n))&&(e.destroy(),i.removeData(n))})}},jQuery.fn.typeahead=function(t){return i[t]?i[t].apply(this,[].slice.call(arguments,1)):i.initialize.apply(this,arguments)}}()}(window.jQuery);
--- a/src/pyams_skin/resources/js/ext/jquery-xmlrpc.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-/*jshint browser:true */
-/*global jQuery */
-(function($) {
-	"use strict";
-
-	var XmlRpcFault = function() {
-		Error.apply(this, arguments);
-	};
-	XmlRpcFault.prototype = new Error();
-	XmlRpcFault.prototype.type = 'XML-RPC fault';
-
-	var xmlrpc = $.xmlrpc = function(url, settings) {
-
-		if (arguments.length === 2) {
-			settings.url = url;
-		} else {
-			settings = url;
-			url = settings.url;
-		}
-
-		settings.dataType = 'xml json';
-		settings.type = 'POST';
-		settings.contentType = 'text/xml';
-		settings.converters = {'xml json': xmlrpc.parseDocument};
-
-		var xmlDoc = xmlrpc.document(settings.methodName, settings.params || []);
-
-		if ("XMLSerializer" in window) {
-			settings.data = new window.XMLSerializer().serializeToString(xmlDoc);
-		} else {
-			// IE does not have XMLSerializer
-			settings.data = xmlDoc.xml;
-		}
-
-		return $.ajax(settings);
-	};
-
-	/**
-	* Make an XML document node.
-	*/
-	xmlrpc.createXMLDocument = function () {
-
-		if (document.implementation && "createDocument" in document.implementation) {
-			// Most browsers support createDocument
-			return document.implementation.createDocument(null, null, null);
-
-		} else {
-			// IE uses ActiveXObject instead of the above.
-			var i, length, activeX = [
-				"MSXML6.DomDocument", "MSXML3.DomDocument",
-				"MSXML2.DomDocument", "MSXML.DomDocument", "Microsoft.XmlDom"
-			];
-			for (i = 0, length = activeX.length; i < length; i++) {
-				try {
-					return new ActiveXObject(activeX[i]);
-				} catch(_) {}
-			}
-		}
-	};
-
-	/**
-	* Make an XML-RPC document from a method name and a set of parameters
-	*/
-	xmlrpc.document = function(name, params) {
-		var doc = xmlrpc.createXMLDocument();
-
-
-		var $xml = function(name) {
-			return $(doc.createElement(name));
-		};
-
-		var $methodName = $xml('methodName').text(name);
-		var $params = $xml('params').append($.map(params, function(param) {
-			var $value = $xml('value').append(xmlrpc.toXmlRpc(param, $xml));
-			return $xml('param').append($value);
-		}));
-		var $methodCall = $xml('methodCall').append($methodName, $params);
-		doc.appendChild($methodCall.get(0));
-		return doc;
-	};
-
-	var _isInt = function(x) {
-		return (x === parseInt(x, 10)) && !isNaN(x);
-	};
-
-	/**
-	* Take a JavaScript value, and return an XML node representing the value
-	* in XML-RPC style. If the value is one of the `XmlRpcType`s, that type is
-	* used. Otherwise, a best guess is made as to its type. The best guess is
-	* good enough in the vast majority of cases.
-	*/
-	xmlrpc.toXmlRpc = function(item, $xml) {
-
-		if (item instanceof XmlRpcType) {
-			return item.toXmlRpc($xml);
-		}
-
-		var types = $.xmlrpc.types;
-		var type = $.type(item);
-
-		switch (type) {
-			case "undefined":
-			case "null":
-				return types.nil.encode(item, $xml);
-
-			case "date":
-				return types['datetime.iso8601'].encode(item, $xml);
-
-			case "object":
-				if (item instanceof ArrayBuffer) {
-					return types.base64.encode(item, $xml);
-				} else {
-					return types.struct.encode(item, $xml);
-				}
-				break;
-
-
-			case "number":
-				// Ints and Floats encode differently
-				if (_isInt(item)) {
-					return types['int'].encode(item, $xml);
-				} else {
-					return types['double'].encode(item, $xml);
-				}
-				break;
-
-			case "array":
-			case "boolean":
-			case "string":
-				return types[type].encode(item, $xml);
-
-			default:
-				throw new Error("Unknown type", item);
-		}
-	};
-
-	/**
-	* Take an XML-RPC document and decode it to an equivalent JavaScript
-	* representation.
-	*
-	* If the XML-RPC document represents a fault, then an equivalent
-	* XmlRpcFault will be thrown instead
-	*/
-	xmlrpc.parseDocument = function(doc) {
-		var $doc = $(doc);
-		var $response = $doc.children('methodresponse');
-
-		var $fault = $response.find('> fault');
-		if ($fault.length === 0) {
-			var $params = $response.find('> params > param > value > *');
-			var json = $params.toArray().map(xmlrpc.parseNode);
-			return json;
-		} else {
-			var fault = xmlrpc.parseNode($fault.find('> value > *').get(0));
-			var err = new XmlRpcFault(fault.faultString);
-			err.msg = err.message = fault.faultString;
-			err.type = err.code = fault.faultCode;
-			throw err;
-		}
-	};
-
-	/*
-	* Take an XML-RPC node, and return the JavaScript equivalent
-	*/
-	xmlrpc.parseNode = function(node) {
-
-		// Some XML-RPC services return empty <value /> elements. This is not
-		// legal XML-RPC, but we may as well handle it.
-		if (node === undefined) {
-			return null;
-		}
-		var nodename = node.nodeName.toLowerCase();
-		if (nodename in xmlrpc.types) {
-			return xmlrpc.types[nodename].decode(node);
-		} else {
-			throw new Error('Unknown type ' + nodename);
-		}
-	};
-
-	/*
-	* Take a <value> node, and return the JavaScript equivalent.
-	*/
-	xmlrpc.parseValue = function(value) {
-		var child = $(value).children()[0];
-		if (child) {
-			// Child nodes should be decoded.
-			return xmlrpc.parseNode(child);
-		} else {
-			// If no child nodes, the value is a plain text node.
-			return $(value).text();
-		}
-	};
-
-	var XmlRpcType = function() { };
-
-	$.xmlrpc.types = {};
-
-	/**
-	* Make a XML-RPC type. We use these to encode and decode values. You can
-	* also force a values type using this. See `$.xmlrpc.force()`
-	*/
-	xmlrpc.makeType = function(tagName, simple, encode, decode) {
-		var Type;
-
-		Type = function(value) {
-			this.value = value;
-		};
-		Type.prototype = new XmlRpcType();
-		Type.prototype.tagName = tagName;
-
-		if (simple) {
-			var simpleEncode = encode, simpleDecode = decode;
-			encode = function(value, $xml) {
-				var text = simpleEncode(value);
-				return $xml(Type.tagName).text(text);
-			};
-			decode = function(node) {
-				return simpleDecode($(node).text(), node);
-			};
-		}
-		Type.prototype.toXmlRpc = function($xml) {
-			return Type.encode(this.value, $xml);
-		};
-
-		Type.tagName = tagName;
-		Type.encode = encode;
-		Type.decode = decode;
-
-		xmlrpc.types[tagName.toLowerCase()] = Type;
-	};
-
-
-	// Number types
-	var _fromInt = function(value) { return '' + Math.floor(value); };
-	var _toInt = function(text, _) { return parseInt(text, 10); };
-
-	xmlrpc.makeType('int', true, _fromInt, _toInt);
-	xmlrpc.makeType('i4', true, _fromInt, _toInt);
-	xmlrpc.makeType('i8', true, _fromInt, _toInt);
-	xmlrpc.makeType('i16', true, _fromInt, _toInt);
-	xmlrpc.makeType('i32', true, _fromInt, _toInt);
-
-	xmlrpc.makeType('double', true, String, function(text) {
-		return parseFloat(text, 10);
-	});
-
-	// String type. Fairly simple
-	xmlrpc.makeType('string', true, String, String);
-
-	// Boolean type. True == '1', False == '0'
-	xmlrpc.makeType('boolean', true, function(value) {
-		return value ? '1' : '0';
-	}, function(text) {
-		return text === '1';
-	});
-
-	// Dates are a little trickier
-	var _pad = function(n) { return n<10 ? '0'+n : n; };
-
-	xmlrpc.makeType('dateTime.iso8601', true, function(d) {
-		return [
-			d.getUTCFullYear(), '-', _pad(d.getUTCMonth()+1), '-',
-			_pad(d.getUTCDate()), 'T', _pad(d.getUTCHours()), ':',
-			_pad(d.getUTCMinutes()), ':', _pad(d.getUTCSeconds()), 'Z'
-		].join('');
-	}, function(text) {
-		return new Date(text);
-	});
-
-	// Go between a base64 string and an ArrayBuffer
-	xmlrpc.binary = (function() {
-		var pad = '=';
-		var toChars = ('ABCDEFGHIJKLMNOPQRSTUVWXYZ' +
-			'abcdefghijklmnopqrstuvwxyz0123456789+/').split("");
-		var fromChars = toChars.reduce(function(acc, chr, i) {
-			acc[chr] = i;
-			return acc;
-		}, {});
-
-		/*
-		* In the following, three bytes are added together into a 24-bit
-		* number, which is then split up in to 4 6-bit numbers - or vice versa.
-		* That is why there is lots of shifting by multiples of 6 and 8, and
-		* the magic numbers 3 and 4.
-		*
-		* The modulo 64 is for converting to base 64, and the modulo 256 is for
-		* converting to 8-bit numbers.
-		*/
-		return {
-			toBase64: function(ab) {
-				var acc = [];
-
-				var int8View = new Uint8Array(ab);
-				var int8Index = 0, int24;
-				for (; int8Index < int8View.length; int8Index += 3) {
-
-					// Grab three bytes
-					int24 =
-						(int8View[int8Index + 0] << 16) +
-						(int8View[int8Index + 1] << 8) +
-						(int8View[int8Index + 2] << 0);
-
-					// Push four chars
-					acc.push(toChars[(int24 >> 18) % 64]);
-					acc.push(toChars[(int24 >> 12) % 64]);
-					acc.push(toChars[(int24 >> 6) % 64]);
-					acc.push(toChars[(int24 >> 0)% 64]);
-				}
-
-				// Set the last few characters to the padding character
-				var padChars = 3 - ((ab.byteLength % 3) || 3);
-				while (padChars--) {
-					acc[acc.length - padChars - 1] = pad;
-				}
-
-				return acc.join('');
-			},
-
-			fromBase64: function(base64) {
-				var base64Len = base64.length;
-
-				// Work out the length of the data, accommodating for padding
-				var abLen = (base64Len / 4) * 3;
-				if (base64.charAt(base64Len - 1) === pad) { abLen--; }
-				if (base64.charAt(base64Len - 2) === pad) { abLen--; }
-
-				// Make the ArrayBuffer, and an Int8Array to work with it
-				var ab = new ArrayBuffer(abLen);
-				var int8View = new Uint8Array(ab);
-
-				var base64Index = 0, int8Index = 0, int24;
-				for (; base64Index < base64Len; base64Index += 4, int8Index += 3) {
-
-					// Grab four chars
-					int24 =
-						(fromChars[base64[base64Index + 0]] << 18) +
-						(fromChars[base64[base64Index + 1]] << 12) +
-						(fromChars[base64[base64Index + 2]] << 6) +
-						(fromChars[base64[base64Index + 3]] << 0);
-
-					// Push three bytes
-					int8View[int8Index + 0] = (int24 >> 16) % 256;
-					int8View[int8Index + 1] = (int24 >> 8) % 256;
-					int8View[int8Index + 2] = (int24 >> 0) % 256;
-
-				}
-
-				return ab;
-			}
-		};
-	})();
-
-	xmlrpc.makeType('base64', true, function(ab) {
-		return xmlrpc.binary.toBase64(ab);
-	}, function(text) {
-		return xmlrpc.binary.fromBase64(text);
-	});
-
-	// Nil/null
-	xmlrpc.makeType('nil', false,
-		function(val, $xml) { return $xml('nil'); },
-		function(_) { return null; }
-	);
-
-	// Structs/Objects
-	xmlrpc.makeType('struct', false, function(value, $xml) {
-		var $struct = $xml('struct');
-
-		$.each(value, function(name, value) {
-			var $name = $xml('name').text(name);
-			var $value = $xml('value').append(xmlrpc.toXmlRpc(value, $xml));
-			$struct.append($xml('member').append($name, $value));
-		});
-
-		return $struct;
-
-	}, function(node) {
-		return $(node)
-			.find('> member')
-			.toArray()
-			.reduce(function(struct, el) {
-				var $el = $(el);
-				var key = $el.find('> name').text();
-				var value = xmlrpc.parseValue($el.find('> value'));
-
-				struct[key] = value;
-				return struct;
-			}, {});
-
-	});
-
-	// Arrays
-	xmlrpc.makeType('array', false, function(value, $xml) {
-		var $array = $xml('array');
-		var $data = $xml('data');
-		$.each(value, function(i, val) {
-			$data.append($xml('value').append(xmlrpc.toXmlRpc(val, $xml)));
-		});
-		$array.append($data);
-		return $array;
-	}, function(node) {
-		return $(node).find('> data > value').toArray()
-			.map(xmlrpc.parseValue);
-	});
-
-
-	/**
-	* Force a value to an XML-RPC type. All the usual XML-RPC types are
-	* supported
-	*/
-	xmlrpc.force = function(type, value) {
-		return new xmlrpc.types[type](value);
-	};
-
-})(jQuery);
--- a/src/pyams_skin/resources/js/ext/jquery-xmlrpc.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(e){"use strict";var n=function(){Error.apply(this,arguments)};(n.prototype=new Error).type="XML-RPC fault";var t=e.xmlrpc=function(n,r){2===arguments.length?r.url=n:n=(r=n).url,r.dataType="xml json",r.type="POST",r.contentType="text/xml",r.converters={"xml json":t.parseDocument};var a=t.document(r.methodName,r.params||[]);return"XMLSerializer"in window?r.data=(new window.XMLSerializer).serializeToString(a):r.data=a.xml,e.ajax(r)};t.createXMLDocument=function(){if(document.implementation&&"createDocument"in document.implementation)return document.implementation.createDocument(null,null,null);var e,n,t=["MSXML6.DomDocument","MSXML3.DomDocument","MSXML2.DomDocument","MSXML.DomDocument","Microsoft.XmlDom"];for(e=0,n=t.length;e<n;e++)try{return new ActiveXObject(t[e])}catch(e){}},t.document=function(n,r){var a=t.createXMLDocument(),o=function(n){return e(a.createElement(n))},u=o("methodName").text(n),i=o("params").append(e.map(r,function(e){var n=o("value").append(t.toXmlRpc(e,o));return o("param").append(n)})),c=o("methodCall").append(u,i);return a.appendChild(c.get(0)),a};var r=function(e){return e===parseInt(e,10)&&!isNaN(e)};t.toXmlRpc=function(n,t){if(n instanceof a)return n.toXmlRpc(t);var o=e.xmlrpc.types,u=e.type(n);switch(u){case"undefined":case"null":return o.nil.encode(n,t);case"date":return o["datetime.iso8601"].encode(n,t);case"object":return n instanceof ArrayBuffer?o.base64.encode(n,t):o.struct.encode(n,t);case"number":return r(n)?o.int.encode(n,t):o.double.encode(n,t);case"array":case"boolean":case"string":return o[u].encode(n,t);default:throw new Error("Unknown type",n)}},t.parseDocument=function(r){var a=e(r).children("methodresponse"),o=a.find("> fault");if(0===o.length)return a.find("> params > param > value > *").toArray().map(t.parseNode);var u=t.parseNode(o.find("> value > *").get(0)),i=new n(u.faultString);throw i.msg=i.message=u.faultString,i.type=i.code=u.faultCode,i},t.parseNode=function(e){if(void 0===e)return null;var n=e.nodeName.toLowerCase();if(n in t.types)return t.types[n].decode(e);throw new Error("Unknown type "+n)},t.parseValue=function(n){var r=e(n).children()[0];return r?t.parseNode(r):e(n).text()};var a=function(){};e.xmlrpc.types={},t.makeType=function(n,r,o,u){var i;if(i=function(e){this.value=e},i.prototype=new a,i.prototype.tagName=n,r){var c=o,p=u;o=function(e,n){var t=c(e);return n(i.tagName).text(t)},u=function(n){return p(e(n).text(),n)}}i.prototype.toXmlRpc=function(e){return i.encode(this.value,e)},i.tagName=n,i.encode=o,i.decode=u,t.types[n.toLowerCase()]=i};var o=function(e){return""+Math.floor(e)},u=function(e,n){return parseInt(e,10)};t.makeType("int",!0,o,u),t.makeType("i4",!0,o,u),t.makeType("i8",!0,o,u),t.makeType("i16",!0,o,u),t.makeType("i32",!0,o,u),t.makeType("double",!0,String,function(e){return parseFloat(e,10)}),t.makeType("string",!0,String,String),t.makeType("boolean",!0,function(e){return e?"1":"0"},function(e){return"1"===e});var i=function(e){return e<10?"0"+e:e};t.makeType("dateTime.iso8601",!0,function(e){return[e.getUTCFullYear(),"-",i(e.getUTCMonth()+1),"-",i(e.getUTCDate()),"T",i(e.getUTCHours()),":",i(e.getUTCMinutes()),":",i(e.getUTCSeconds()),"Z"].join("")},function(e){return new Date(e)}),t.binary=function(){var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),n=e.reduce(function(e,n,t){return e[n]=t,e},{});return{toBase64:function(n){for(var t,r=[],a=new Uint8Array(n),o=0;o<a.length;o+=3)t=(a[o+0]<<16)+(a[o+1]<<8)+(a[o+2]<<0),r.push(e[(t>>18)%64]),r.push(e[(t>>12)%64]),r.push(e[(t>>6)%64]),r.push(e[(t>>0)%64]);for(var u=3-(n.byteLength%3||3);u--;)r[r.length-u-1]="=";return r.join("")},fromBase64:function(e){var t=e.length,r=t/4*3;"="===e.charAt(t-1)&&r--,"="===e.charAt(t-2)&&r--;for(var a,o=new ArrayBuffer(r),u=new Uint8Array(o),i=0,c=0;i<t;i+=4,c+=3)a=(n[e[i+0]]<<18)+(n[e[i+1]]<<12)+(n[e[i+2]]<<6)+(n[e[i+3]]<<0),u[c+0]=(a>>16)%256,u[c+1]=(a>>8)%256,u[c+2]=(a>>0)%256;return o}}}(),t.makeType("base64",!0,function(e){return t.binary.toBase64(e)},function(e){return t.binary.fromBase64(e)}),t.makeType("nil",!1,function(e,n){return n("nil")},function(e){return null}),t.makeType("struct",!1,function(n,r){var a=r("struct");return e.each(n,function(e,n){var o=r("name").text(e),u=r("value").append(t.toXmlRpc(n,r));a.append(r("member").append(o,u))}),a},function(n){return e(n).find("> member").toArray().reduce(function(n,r){var a=e(r),o=a.find("> name").text(),u=t.parseValue(a.find("> value"));return n[o]=u,n},{})}),t.makeType("array",!1,function(n,r){var a=r("array"),o=r("data");return e.each(n,function(e,n){o.append(r("value").append(t.toXmlRpc(n,r)))}),a.append(o),a},function(n){return e(n).find("> data > value").toArray().map(t.parseValue)}),t.force=function(e,n){return new t.types[e](n)}}(jQuery);
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/Editor.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/Editor",["tinymce/dom/DOMUtils","tinymce/dom/DomQuery","tinymce/AddOnManager","tinymce/NodeChange","tinymce/html/Node","tinymce/dom/Serializer","tinymce/html/Serializer","tinymce/dom/Selection","tinymce/Formatter","tinymce/UndoManager","tinymce/EnterKey","tinymce/ForceBlocks","tinymce/EditorCommands","tinymce/util/URI","tinymce/dom/ScriptLoader","tinymce/dom/EventUtils","tinymce/WindowManager","tinymce/html/Schema","tinymce/html/DomParser","tinymce/util/Quirks","tinymce/Env","tinymce/util/Tools","tinymce/EditorObservable","tinymce/Shortcuts"],function(K,s,u,e,p,C,A,w,q,f,B,y,n,v,k,l,E,g,b,t,F,i,c,H){var r=K.DOM,G=u.ThemeManager,J=u.PluginManager;var h=i.extend,D=i.each,j=i.explode;var I=i.inArray,a=i.trim,m=i.resolve;var z=l.Event;var d=F.gecko,x=F.ie;function o(Q,N,P){var M=this,L,O;L=M.documentBaseUrl=P.documentBaseURL;O=P.baseURI;M.settings=N=h({id:Q,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:L,add_form_submit_trigger:true,submit_patch:true,add_unload_trigger:true,convert_urls:true,relative_urls:true,remove_script_host:true,object_resizing:true,doctype:"<!DOCTYPE html>",visual:true,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:true,padd_empty_editor:true,render_ui:true,indentation:"30px",inline_styles:true,convert_fonts_to_spans:true,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",validate:true,entity_encoding:"named",url_converter:M.convertURL,url_converter_scope:M,ie7_compat:true},N);u.language=N.language||"en";u.languageLoad=N.language_load;u.baseURL=P.baseURL;M.id=N.id=Q;M.isNotDirty=true;M.plugins={};M.documentBaseURI=new v(N.document_base_url||L,{base_uri:O});M.baseURI=O;M.contentCSS=[];M.contentStyles=[];M.shortcuts=new H(M);M.loadedCSS={};M.editorCommands=new n(M);if(N.target){M.targetElm=N.target}M.suffix=P.suffix;M.editorManager=P;M.inline=N.inline;if(N.cache_suffix){F.cacheSuffix=N.cache_suffix.replace(/^[\?\&]+/,"")}P.fire("SetupEditor",M);M.execCallback("setup",M);M.$=s.overrideDefaults(function(){return{context:M.inline?M.getBody():M.getDoc(),element:M.getBody()}})}o.prototype={render:function(){var L=this,O=L.settings,R=L.id,Q=L.suffix;function N(){r.unbind(window,"ready",N);L.render()}if(!z.domLoaded){r.bind(window,"ready",N);return}if(!L.getElement()){return}if(!F.contentEditable){return}if(!O.inline){L.orgVisibility=L.getElement().style.visibility;L.getElement().style.visibility="hidden"}else{L.inline=true}var P=L.getElement().form||r.getParent(R,"form");if(P){L.formElement=P;if(O.hidden_input&&!/TEXTAREA|INPUT/i.test(L.getElement().nodeName)){r.insertAfter(r.create("input",{type:"hidden",name:R}),R);L.hasHiddenInput=true}L.formEventDelegate=function(S){L.fire(S.type,S)};r.bind(P,"submit reset",L.formEventDelegate);L.on("reset",function(){L.setContent(L.startContent,{format:"raw"})});if(O.submit_patch&&!P.submit.nodeType&&!P.submit.length&&!P._mceOldSubmit){P._mceOldSubmit=P.submit;P.submit=function(){L.editorManager.triggerSave();L.isNotDirty=true;return P._mceOldSubmit(P)}}}L.windowManager=new E(L);if(O.encoding=="xml"){L.on("GetContent",function(S){if(S.save){S.content=r.encode(S.content)}})}if(O.add_form_submit_trigger){L.on("submit",function(){if(L.initialized){L.save()}})}if(O.add_unload_trigger){L._beforeUnload=function(){if(L.initialized&&!L.destroyed&&!L.isHidden()){L.save({format:"raw",no_events:true,set_dirty:false})}};L.editorManager.on("BeforeUnload",L._beforeUnload)}function M(){var T=k.ScriptLoader;if(O.language&&O.language!="en"&&!O.language_url){O.language_url=L.editorManager.baseURL+"/langs/"+O.language+".js"}if(O.language_url){T.add(O.language_url)}if(O.theme&&typeof O.theme!="function"&&O.theme.charAt(0)!="-"&&!G.urls[O.theme]){var S=O.theme_url;if(S){S=L.documentBaseURI.toAbsolute(S)}else{S="themes/"+O.theme+"/theme"+Q+".js"}G.load(O.theme,S)}if(i.isArray(O.plugins)){O.plugins=O.plugins.join(" ")}D(O.external_plugins,function(V,U){J.load(U,V);O.plugins+=" "+U});D(O.plugins.split(/[ ,]/),function(U){U=a(U);if(U&&!J.urls[U]){if(U.charAt(0)=="-"){U=U.substr(1,U.length);var V=J.dependencies(U);D(V,function(X){var W={prefix:"plugins/",resource:X,suffix:"/plugin"+Q+".js"};X=J.createUrl(W,X);J.load(X.resource,X)})}else{J.load(U,{prefix:"plugins/",resource:U,suffix:"/plugin"+Q+".js"})}}});T.loadQueue(function(){if(!L.removed){L.init()}})}M()},init:function(){var T=this,ac=T.settings,P=T.getElement();var R,aa,O,W,U,L,M,ae,Z,V,Y,N=[];this.editorManager.i18n.setCode(ac.language);T.rtl=this.editorManager.i18n.rtl;T.editorManager.add(T);ac.aria_label=ac.aria_label||r.getAttrib(P,"aria-label",T.getLang("aria.rich_text_area"));if(ac.theme){if(typeof ac.theme!="function"){ac.theme=ac.theme.replace(/-/,"");L=G.get(ac.theme);T.theme=new L(T,G.urls[ac.theme]);if(T.theme.init){T.theme.init(T,G.urls[ac.theme]||T.documentBaseUrl.replace(/\/$/,""),T.$)}}else{T.theme=ac.theme}}function ad(ai){var ah=J.get(ai),ag,af;ag=J.urls[ai]||T.documentBaseUrl.replace(/\/$/,"");ai=a(ai);if(ah&&I(N,ai)===-1){D(J.dependencies(ai),function(aj){ad(aj)});af=new ah(T,ag,T.$);T.plugins[ai]=af;if(af.init){af.init(T,ag);N.push(ai)}}}D(ac.plugins.replace(/\-/g,"").split(/[ ,]/),ad);if(ac.render_ui&&T.theme){T.orgDisplay=P.style.display;if(typeof ac.theme!="function"){R=ac.width||P.style.width||P.offsetWidth;aa=ac.height||P.style.height||P.offsetHeight;O=ac.min_height||100;V=/^[0-9\.]+(|px)$/i;if(V.test(""+R)){R=Math.max(parseInt(R,10),100)}if(V.test(""+aa)){aa=Math.max(parseInt(aa,10),O)}U=T.theme.renderUI({targetNode:P,width:R,height:aa,deltaWidth:ac.delta_width,deltaHeight:ac.delta_height});if(!ac.content_editable){aa=(U.iframeHeight||aa)+(typeof aa=="number"?(U.deltaHeight||0):"");if(aa<O){aa=O}}}else{U=ac.theme(T,P);if(U.editorContainer.nodeType){U.editorContainer=U.editorContainer.id=U.editorContainer.id||T.id+"_parent"}if(U.iframeContainer.nodeType){U.iframeContainer=U.iframeContainer.id=U.iframeContainer.id||T.id+"_iframecontainer"}aa=U.iframeHeight||P.offsetHeight}T.editorContainer=U.editorContainer}if(ac.content_css){D(j(ac.content_css),function(af){T.contentCSS.push(T.documentBaseURI.toAbsolute(af))})}if(ac.content_style){T.contentStyles.push(ac.content_style)}if(ac.content_editable){P=W=U=null;return T.initContentBody()}T.iframeHTML=ac.doctype+"<html><head>";if(ac.document_base_url!=T.documentBaseUrl){T.iframeHTML+='<base href="'+T.documentBaseURI.getURI()+'" />'}if(!F.caretAfter&&ac.ie7_compat){T.iframeHTML+='<meta http-equiv="X-UA-Compatible" content="IE=7" />'}T.iframeHTML+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';for(Y=0;Y<T.contentCSS.length;Y++){var X=T.contentCSS[Y];T.iframeHTML+=('<link type="text/css" rel="stylesheet" href="'+i._addCacheSuffix(X)+'" />');T.loadedCSS[X]=true}ae=ac.body_id||"tinymce";if(ae.indexOf("=")!=-1){ae=T.getParam("body_id","","hash");ae=ae[T.id]||ae}Z=ac.body_class||"";if(Z.indexOf("=")!=-1){Z=T.getParam("body_class","","hash");Z=Z[T.id]||""}if(ac.content_security_policy){T.iframeHTML+='<meta http-equiv="Content-Security-Policy" content="'+ac.content_security_policy+'" />'}T.iframeHTML+='</head><body id="'+ae+'" class="mce-content-body '+Z+'" data-id="'+T.id+'"><br></body></html>';var S='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+T.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';if(document.domain!=location.hostname){M=S}var Q=r.create("iframe",{id:T.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:T.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:aa,display:"block"}});Q.onload=function(){Q.onload=null;T.fire("load")};r.setAttrib(Q,"src",M||'javascript:""');T.contentAreaContainer=U.iframeContainer;T.iframeElement=Q;W=r.add(U.iframeContainer,Q);if(x){try{T.getDoc()}catch(ab){W.src=M=S}}if(U.editorContainer){r.get(U.editorContainer).style.display=T.orgDisplay;T.hidden=r.isHidden(U.editorContainer)}T.getElement().style.display="none";r.setAttrib(T.id,"aria-hidden",true);if(!M){T.initContentBody()}P=W=U=null},initContentBody:function(M){var N=this,O=N.settings,P=N.getElement(),Q=N.getDoc(),L,R;if(!O.inline){N.getElement().style.visibility=N.orgVisibility}if(!M&&!O.content_editable){Q.open();Q.write(N.iframeHTML);Q.close()}if(O.content_editable){N.on("remove",function(){var S=this.getBody();r.removeClass(S,"mce-content-body");r.removeClass(S,"mce-edit-focus");r.setAttrib(S,"contentEditable",null)});r.addClass(P,"mce-content-body");N.contentDocument=Q=O.content_document||document;N.contentWindow=O.content_window||window;N.bodyElement=P;O.content_document=O.content_window=null;O.root_name=P.nodeName.toLowerCase()}L=N.getBody();L.disabled=true;if(!O.readonly){if(N.inline&&r.getStyle(L,"position",true)=="static"){L.style.position="relative"}L.contentEditable=N.getParam("content_editable_state",true)}L.disabled=false;N.schema=new g(O);N.dom=new K(Q,{keep_values:true,url_converter:N.convertURL,url_converter_scope:N,hex_colors:O.force_hex_style_colors,class_filter:O.class_filter,update_styles:true,root_element:N.inline?N.getBody():null,collect:O.content_editable,schema:N.schema,onSetAttrib:function(S){N.fire("SetAttrib",S)}});N.parser=new b(O,N.schema);N.parser.addAttributeFilter("src,href,style,tabindex",function(S,T){var U=S.length,W,Y=N.dom,X,V;while(U--){W=S[U];X=W.attr(T);V="data-mce-"+T;if(!W.attributes.map[V]){if(T==="style"){X=Y.serializeStyle(Y.parseStyle(X),W.name);if(!X.length){X=null}W.attr(V,X);W.attr(T,X)}else{if(T==="tabindex"){W.attr(V,X);W.attr(T,null)}else{W.attr(V,N.convertURL(X,T,W.name))}}}}});N.parser.addNodeFilter("script",function(S){var T=S.length,U;while(T--){U=S[T];U.attr("type","mce-"+(U.attr("type")||"no/type"))}});N.parser.addNodeFilter("#cdata",function(S){var T=S.length,U;while(T--){U=S[T];U.type=8;U.name="#comment";U.value="[CDATA["+U.value+"]]"}});N.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(T){var U=T.length,V,S=N.schema.getNonEmptyElements();while(U--){V=T[U];if(V.isEmpty(S)){V.append(new p("br",1)).shortEnded=true}}});N.serializer=new C(O,N);N.selection=new w(N.dom,N.getWin(),N.serializer,N);N.formatter=new q(N);N.undoManager=new f(N);N.forceBlocks=new y(N);N.enterKey=new B(N);N._nodeChangeDispatcher=new e(N);N.fire("PreInit");if(!O.browser_spellcheck&&!O.gecko_spellcheck){Q.body.spellcheck=false;r.setAttrib(L,"spellcheck","false")}N.fire("PostRender");N.quirks=new t(N);if(O.directionality){L.dir=O.directionality}if(O.nowrap){L.style.whiteSpace="nowrap"}if(O.protect){N.on("BeforeSetContent",function(S){D(O.protect,function(T){S.content=S.content.replace(T,function(U){return"<!--mce:protected "+escape(U)+"-->"})})})}N.on("SetContent",function(){N.addVisual(N.getBody())});if(O.padd_empty_editor){N.on("PostProcess",function(S){S.content=S.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")})}N.load({initial:true,format:"html"});N.startContent=N.getContent({format:"raw"});N.initialized=true;N.bindPendingEventDelegates();N.fire("init");N.focus(true);N.nodeChanged({initial:true});N.execCallback("init_instance_callback",N);if(N.contentStyles.length>0){R="";D(N.contentStyles,function(S){R+=S+"\r\n"});N.dom.addStyle(R)}D(N.contentCSS,function(S){if(!N.loadedCSS[S]){N.dom.loadCSS(S);N.loadedCSS[S]=true}});if(O.auto_focus){setTimeout(function(){var S;if(O.auto_focus===true){S=N}else{S=N.editorManager.get(O.auto_focus)}if(!S.destroyed){S.focus()}},100)}P=Q=L=null},focus:function(M){var T=this,S=T.selection,P=T.settings.content_editable,L;var Q,R=T.getDoc(),N;if(!M){L=S.getRng();if(L.item){Q=L.item(0)}T._refreshContentEditable();if(!P){if(!F.opera){T.getBody().focus()}T.getWin().focus()}if(d||P){N=T.getBody();if(N.setActive){try{N.setActive()}catch(O){N.focus()}}else{N.focus()}if(P){S.normalize()}}if(Q&&Q.ownerDocument==R){L=R.body.createControlRange();L.addElement(Q);L.select()}}T.editorManager.setActive(T)},execCallback:function(M){var L=this,O=L.settings[M],N;if(!O){return}if(L.callbackLookup&&(N=L.callbackLookup[M])){O=N.func;N=N.scope}if(typeof O==="string"){N=O.replace(/\.\w+$/,"");N=N?m(N):0;O=m(O);L.callbackLookup=L.callbackLookup||{};L.callbackLookup[M]={func:O,scope:N}}return O.apply(N||L,Array.prototype.slice.call(arguments,1))},translate:function(N){var M=this.settings.language||"en",L=this.editorManager.i18n;if(!N){return""}return L.data[M+"."+N]||N.replace(/\{\#([^\}]+)\}/g,function(P,O){return L.data[M+"."+O]||"{#"+O+"}"})},getLang:function(L,M){return(this.editorManager.i18n.data[(this.settings.language||"en")+"."+L]||(M!==undefined?M:"{#"+L+"}"))},getParam:function(M,P,N){var O=M in this.settings?this.settings[M]:P,L;if(N==="hash"){L={};if(typeof O==="string"){D(O.indexOf("=")>0?O.split(/[;,](?![^=;,]*(?:[;,]|$))/):O.split(","),function(Q){Q=Q.split("=");if(Q.length>1){L[a(Q[0])]=a(Q[1])}else{L[a(Q[0])]=a(Q)}})}else{L=O}return L}return O},nodeChanged:function(L){this._nodeChangeDispatcher.nodeChanged(L)},addButton:function(M,N){var L=this;if(N.cmd){N.onclick=function(){L.execCommand(N.cmd)}}if(!N.text&&!N.icon){N.icon=M}L.buttons=L.buttons||{};N.tooltip=N.tooltip||N.title;L.buttons[M]=N},addMenuItem:function(M,N){var L=this;if(N.cmd){N.onclick=function(){L.execCommand(N.cmd)}}L.menuItems=L.menuItems||{};L.menuItems[M]=N},addCommand:function(L,N,M){this.editorCommands.addCommand(L,N,M)},addQueryStateHandler:function(L,N,M){this.editorCommands.addQueryStateHandler(L,N,M)},addQueryValueHandler:function(L,N,M){this.editorCommands.addQueryValueHandler(L,N,M)},addShortcut:function(N,O,M,L){this.shortcuts.add(N,O,M,L)},execCommand:function(O,N,M,L){return this.editorCommands.execCommand(O,N,M,L)},queryCommandState:function(L){return this.editorCommands.queryCommandState(L)},queryCommandValue:function(L){return this.editorCommands.queryCommandValue(L)},queryCommandSupported:function(L){return this.editorCommands.queryCommandSupported(L)},show:function(){var L=this;if(L.hidden){L.hidden=false;if(L.inline){L.getBody().contentEditable=true}else{r.show(L.getContainer());r.hide(L.id)}L.load();L.fire("show")}},hide:function(){var L=this,M=L.getDoc();if(!L.hidden){if(x&&M&&!L.inline){M.execCommand("SelectAll")}L.save();if(L.inline){L.getBody().contentEditable=false;if(L==L.editorManager.focusedEditor){L.editorManager.focusedEditor=null}}else{r.hide(L.getContainer());r.setStyle(L.id,"display",L.orgDisplay)}L.hidden=true;L.fire("hide")}},isHidden:function(){return !!this.hidden},setProgressState:function(L,M){this.fire("ProgressState",{state:L,time:M})},load:function(M){var L=this,O=L.getElement(),N;if(O){M=M||{};M.load=true;N=L.setContent(O.value!==undefined?O.value:O.innerHTML,M);M.element=O;if(!M.no_events){L.fire("LoadContent",M)}M.element=O=null;return N}},save:function(M){var L=this,P=L.getElement(),N,O;if(!P||!L.initialized){return}M=M||{};M.save=true;M.element=P;N=M.content=L.getContent(M);if(!M.no_events){L.fire("SaveContent",M)}N=M.content;if(!/TEXTAREA|INPUT/i.test(P.nodeName)){if(!L.inline){P.innerHTML=N}if((O=r.getParent(L.id,"form"))){D(O.elements,function(Q){if(Q.name==L.id){Q.value=N;return false}})}}else{P.value=N}M.element=P=null;if(M.set_dirty!==false){L.isNotDirty=true}return N},setContent:function(P,N){var M=this,L=M.getBody(),O;N=N||{};N.format=N.format||"html";N.set=true;N.content=P;if(!N.no_events){M.fire("BeforeSetContent",N)}P=N.content;if(P.length===0||/^\s+$/.test(P)){O=M.settings.forced_root_block;if(O&&M.schema.isValidChild(L.nodeName.toLowerCase(),O.toLowerCase())){P=x&&x<11?"":'<br data-mce-bogus="1">';P=M.dom.createHTML(O,M.settings.forced_root_block_attrs,P)}else{if(!x){P='<br data-mce-bogus="1">'}}M.dom.setHTML(L,P);M.fire("SetContent",N)}else{if(N.format!=="raw"){P=new A({},M.schema).serialize(M.parser.parse(P,{isRootContent:true}))}N.content=a(P);M.dom.setHTML(L,N.content);if(!N.no_events){M.fire("SetContent",N)}}return N.content},getContent:function(N){var M=this,O,L=M.getBody();N=N||{};N.format=N.format||"html";N.get=true;N.getInner=true;if(!N.no_events){M.fire("BeforeGetContent",N)}if(N.format=="raw"){O=L.innerHTML}else{if(N.format=="text"){O=L.innerText||L.textContent}else{O=M.serializer.serialize(L,N)}}if(N.format!="text"){N.content=a(O)}else{N.content=O}if(!N.no_events){M.fire("GetContent",N)}return N.content},insertContent:function(M,L){if(L){M=h({content:M},L)}this.execCommand("mceInsertContent",false,M)},isDirty:function(){return !this.isNotDirty},getContainer:function(){var L=this;if(!L.container){L.container=r.get(L.editorContainer||L.id+"_parent")}return L.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){if(!this.targetElm){this.targetElm=r.get(this.id)}return this.targetElm},getWin:function(){var L=this,M;if(!L.contentWindow){M=L.iframeElement;if(M){L.contentWindow=M.contentWindow}}return L.contentWindow},getDoc:function(){var L=this,M;if(!L.contentDocument){M=L.getWin();if(M){L.contentDocument=M.document}}return L.contentDocument},getBody:function(){return this.bodyElement||this.getDoc().body},convertURL:function(N,M,P){var L=this,O=L.settings;if(O.urlconverter_callback){return L.execCallback("urlconverter_callback",N,P,true,M)}if(!O.convert_urls||(P&&P.nodeName=="LINK")||N.indexOf("file:")===0||N.length===0){return N}if(O.relative_urls){return L.documentBaseURI.toRelative(N)}N=L.documentBaseURI.toAbsolute(N,O.remove_script_host);return N},addVisual:function(P){var M=this,N=M.settings,O=M.dom,L;P=P||M.getBody();if(M.hasVisual===undefined){M.hasVisual=N.visual}D(O.select("table,a",P),function(R){var Q;switch(R.nodeName){case"TABLE":L=N.visual_table_class||"mce-item-table";Q=O.getAttrib(R,"border");if((!Q||Q=="0")&&M.hasVisual){O.addClass(R,L)}else{O.removeClass(R,L)}return;case"A":if(!O.getAttrib(R,"href",false)){Q=O.getAttrib(R,"name")||R.id;L=N.visual_anchor_class||"mce-item-anchor";if(Q&&M.hasVisual){O.addClass(R,L)}else{O.removeClass(R,L)}}return}});M.fire("VisualAid",{element:P,hasVisual:M.hasVisual})},remove:function(){var L=this;if(!L.removed){L.save();L.removed=1;L.unbindAllNativeEvents();if(L.hasHiddenInput){r.remove(L.getElement().nextSibling)}if(!L.inline){if(x&&x<10){L.getDoc().execCommand("SelectAll",false,null)}r.setStyle(L.id,"display",L.orgDisplay);L.getBody().onload=null}L.fire("remove");L.editorManager.remove(L);r.remove(L.getContainer());L.destroy()}},destroy:function(N){var L=this,M;if(L.destroyed){return}if(!N&&!L.removed){L.remove();return}if(!N){L.editorManager.off("beforeunload",L._beforeUnload);if(L.theme&&L.theme.destroy){L.theme.destroy()}L.selection.destroy();L.dom.destroy()}M=L.formElement;if(M){if(M._mceOldSubmit){M.submit=M._mceOldSubmit;M._mceOldSubmit=null}r.unbind(M,"submit reset",L.formEventDelegate)}L.contentAreaContainer=L.formElement=L.container=L.editorContainer=null;L.bodyElement=L.contentDocument=L.contentWindow=null;L.iframeElement=L.targetElm=null;if(L.selection){L.selection=L.selection.win=L.selection.dom=L.selection.dom.doc=null}L.destroyed=1},_refreshContentEditable:function(){var M=this,L,N;if(M._isHidden()){L=M.getBody();N=L.parentNode;N.removeChild(L);N.appendChild(L);L.focus()}},_isHidden:function(){var L;if(!d){return 0}L=this.selection.getSel();return(!L||!L.rangeCount||L.rangeCount===0)}};h(o.prototype,c);return o});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/EditorCommands.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/EditorCommands",["tinymce/html/Serializer","tinymce/Env","tinymce/util/Tools","tinymce/dom/ElementUtils","tinymce/dom/RangeUtils","tinymce/dom/TreeWalker"],function(l,j,e,c,h,o){var n=e.each,k=e.extend;var b=e.map,p=e.inArray,m=e.explode;var a=j.gecko,d=j.ie,g=j.ie&&j.ie<11;var f=true,i=false;return function(t){var E,K,D,w={state:{},exec:{},value:{}},G=t.settings,x;t.on("PreInit",function(){E=t.dom;K=t.selection;G=t.settings;D=t.formatter});function F(S,R,Q,L){var N,P,O=0;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(S)&&(!L||!L.skip_focus)){t.focus()}L=k({},L);L=t.fire("BeforeExecCommand",{command:S,ui:R,value:Q});if(L.isDefaultPrevented()){return false}P=S.toLowerCase();if((N=w.exec[P])){N(P,R,Q);t.fire("ExecCommand",{command:S,ui:R,value:Q});return true}n(t.plugins,function(T){if(T.execCommand&&T.execCommand(S,R,Q)){t.fire("ExecCommand",{command:S,ui:R,value:Q});O=true;return false}});if(O){return O}if(t.theme&&t.theme.execCommand&&t.theme.execCommand(S,R,Q)){t.fire("ExecCommand",{command:S,ui:R,value:Q});return true}try{O=t.getDoc().execCommand(S,R,Q)}catch(M){}if(O){t.fire("ExecCommand",{command:S,ui:R,value:Q});return true}return false}function v(N){var M;if(t._isHidden()){return}N=N.toLowerCase();if((M=w.state[N])){return M(N)}try{return t.getDoc().queryCommandState(N)}catch(L){}return false}function C(N){var M;if(t._isHidden()){return}N=N.toLowerCase();if((M=w.value[N])){return M(N)}try{return t.getDoc().queryCommandValue(N)}catch(L){}}function A(L,M){M=M||"exec";n(L,function(O,N){n(N.toLowerCase().split(","),function(P){w[M][P]=O})})}function z(M,N,L){M=M.toLowerCase();w.exec[M]=function(R,Q,P,O){return N.call(L||t,Q,P,O)}}function I(M){M=M.toLowerCase();if(w.exec[M]){return true}try{return t.getDoc().queryCommandSupported(M)}catch(L){}return false}function q(M,N,L){M=M.toLowerCase();w.state[M]=function(){return N.call(L||t)}}function r(M,N,L){M=M.toLowerCase();w.value[M]=function(){return N.call(L||t)}}function s(L){L=L.toLowerCase();return !!w.exec[L]}k(this,{execCommand:F,queryCommandState:v,queryCommandValue:C,queryCommandSupported:I,addCommands:A,addCommand:z,addQueryStateHandler:q,addQueryValueHandler:r,hasCustomCommand:s});function u(N,M,L){if(M===undefined){M=i}if(L===undefined){L=null}return t.getDoc().execCommand(N,M,L)}function H(L){return D.match(L)}function J(L,M){D.toggle(L,M?{value:M}:undefined);t.nodeChanged()}function B(L){x=K.getBookmark(L)}function y(){K.moveToBookmark(x)}A({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){t.undoManager.add()},"Cut,Copy,Paste":function(P){var N=t.getDoc(),L;try{u(P)}catch(M){L=f}if(L||!N.queryCommandSupported(P)){var O=t.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");if(j.mac){O=O.replace(/Ctrl\+/g,"\u2318+")}t.windowManager.alert(O)}},unlink:function(){if(K.isCollapsed()){var L=K.getNode();if(L.tagName=="A"){t.dom.remove(L,true)}return}D.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(L){var M=L.substring(7);if(M=="full"){M="justify"}n("left,center,right,justify".split(","),function(N){if(M!=N){D.remove("align"+N)}});J("align"+M);F("mceRepaint")},"InsertUnorderedList,InsertOrderedList":function(N){var L,M;u(N);L=E.getParent(K.getNode(),"ol,ul");if(L){M=L.parentNode;if(/^(H[1-6]|P|ADDRESS|PRE)$/.test(M.nodeName)){B();E.split(M,L);y()}}},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(L){J(L)},"ForeColor,HiliteColor,FontName":function(N,M,L){J(N,L)},FontSize:function(O,N,M){var L,P;if(M>=1&&M<=7){P=m(G.font_size_style_values);L=m(G.font_size_classes);if(L){M=L[M-1]||M}else{M=P[M-1]||M}}J(O,M)},RemoveFormat:function(L){D.remove(L)},mceBlockQuote:function(){J("blockquote")},FormatBlock:function(N,M,L){return J(L||"p")},mceCleanup:function(){var L=K.getBookmark();t.setContent(t.getContent({cleanup:f}),{cleanup:f});K.moveToBookmark(L)},mceRemoveNode:function(O,N,M){var L=M||K.getNode();if(L!=t.getBody()){B();t.dom.remove(L,f);y()}},mceSelectNodeDepth:function(O,N,M){var L=0;E.getParent(K.getNode(),function(P){if(P.nodeType==1&&L++==M){K.select(P);return i}},t.getBody())},mceSelectNode:function(N,M,L){K.select(L)},mceInsertContent:function(Q,ab,ac){var P,af,U,ag,M,O;var T,S,ad,L,W,R;var Z=t.schema.getTextInlineElements();function ae(al){var ak,aj,am;ak=K.getRng(true);aj=ak.startContainer;am=ak.startOffset;function ai(an){return aj[an]&&aj[an].nodeType==3}if(aj.nodeType==3){if(am>0){al=al.replace(/^&nbsp;/," ")}else{if(!ai("previousSibling")){al=al.replace(/^ /,"&nbsp;")}}if(am<aj.length){al=al.replace(/&nbsp;(<br>|)$/," ")}else{if(!ai("nextSibling")){al=al.replace(/(&nbsp;| )(<br>|)$/,"&nbsp;")}}}return al}function N(){var aj,ai,ak;aj=K.getRng(true);ai=aj.startContainer;ak=aj.startOffset;if(ai.nodeType==3&&aj.collapsed){if(ai.data[ak]==="\u00a0"){ai.deleteData(ak,1);if(!/[\u00a0| ]$/.test(ac)){ac+=" "}}else{if(ai.data[ak-1]==="\u00a0"){ai.deleteData(ak-1,1);if(!/[\u00a0| ]$/.test(ac)){ac=" "+ac}}}}}function V(ai){if(R){for(ad=ai.firstChild;ad;ad=ad.walk(true)){if(Z[ad.name]){ad.attr("data-mce-new","true")}}}}function ah(){if(R){var ai=t.getBody(),aj=new c(E);n(E.select("*[data-mce-new]"),function(al){al.removeAttribute("data-mce-new");for(var ak=al.parentNode;ak&&ak!=ai;ak=ak.parentNode){if(aj.compare(ak,al)){E.remove(al,true)}}})}}if(typeof ac!="string"){R=ac.merge;ac=ac.content}if(/^ | $/.test(ac)){ac=ae(ac)}P=t.parser;af=new l({},t.schema);W='<span id="mce_marker" data-mce-type="bookmark">&#xFEFF;&#x200B;</span>';O={content:ac,format:"html",selection:true};t.fire("BeforeSetContent",O);ac=O.content;if(ac.indexOf("{$caret}")==-1){ac+="{$caret}"}ac=ac.replace(/\{\$caret\}/,W);S=K.getRng();var aa=S.startContainer||(S.parentElement?S.parentElement():null);var X=t.getBody();if(aa===X&&K.isCollapsed()){if(E.isBlock(X.firstChild)&&E.isEmpty(X.firstChild)){S=E.createRng();S.setStart(X.firstChild,0);S.setEnd(X.firstChild,0);K.setRng(S)}}if(!K.isCollapsed()){t.getDoc().execCommand("Delete",false,null);N()}U=K.getNode();var Y={context:U.nodeName.toLowerCase()};M=P.parse(ac,Y);V(M);ad=M.lastChild;if(ad.attr("id")=="mce_marker"){T=ad;for(ad=ad.prev;ad;ad=ad.walk(true)){if(ad.type==3||!E.isBlock(ad.name)){if(t.schema.isValidChild(ad.parent.name,"span")){ad.parent.insert(T,ad,ad.name==="br")}break}}}if(!Y.invalid){ac=af.serialize(M);ad=U.firstChild;L=U.lastChild;if(!ad||(ad===L&&ad.nodeName==="BR")){E.setHTML(U,ac)}else{K.setContent(ac)}}else{K.setContent(W);U=K.getNode();ag=t.getBody();if(U.nodeType==9){U=ad=ag}else{ad=U}while(ad!==ag){U=ad;ad=ad.parentNode}ac=U==ag?ag.innerHTML:E.getOuterHTML(U);ac=af.serialize(P.parse(ac.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return af.serialize(M)})));if(U==ag){E.setHTML(ag,ac)}else{E.setOuterHTML(U,ac)}}ah();T=E.get("mce_marker");K.scrollIntoView(T);S=E.createRng();ad=T.previousSibling;if(ad&&ad.nodeType==3){S.setStart(ad,ad.nodeValue.length);if(!d){L=T.nextSibling;if(L&&L.nodeType==3){ad.appendData(L.data);L.parentNode.removeChild(L)}}}else{S.setStartBefore(T);S.setEndBefore(T)}E.remove(T);K.setRng(S);t.fire("SetContent",O);t.addVisual()},mceInsertRawHTML:function(N,M,L){K.setContent("tiny_mce_marker");t.setContent(t.getContent().replace(/tiny_mce_marker/g,function(){return L}))},mceToggleFormat:function(N,M,L){J(L)},mceSetContent:function(N,M,L){t.setContent(L)},"Indent,Outdent":function(O){var M,L,N;M=G.indentation;L=/[a-z%]+$/i.exec(M);M=parseInt(M,10);if(!v("InsertUnorderedList")&&!v("InsertOrderedList")){if(!G.forced_root_block&&!E.getParent(K.getNode(),E.isBlock)){D.apply("div")}n(K.getSelectedBlocks(),function(Q){if(Q.nodeName!="LI"){var P=t.getParam("indent_use_margin",false)?"margin":"padding";P+=E.getStyle(Q,"direction",true)=="rtl"?"Right":"Left";if(O=="outdent"){N=Math.max(0,parseInt(Q.style[P]||0,10)-M);E.setStyle(Q,P,N?N+L:"")}else{N=(parseInt(Q.style[P]||0,10)+M)+L;E.setStyle(Q,P,N)}}})}else{u(O)}},mceRepaint:function(){if(a){try{B(f);if(K.getSel()){K.getSel().selectAllChildren(t.getBody())}K.collapse(f);y()}catch(L){}}},InsertHorizontalRule:function(){t.execCommand("mceInsertContent",false,"<hr />")},mceToggleVisualAid:function(){t.hasVisual=!t.hasVisual;t.addVisual()},mceReplaceContent:function(N,M,L){t.execCommand("mceInsertContent",false,L.replace(/\{\$selection\}/g,K.getContent({format:"text"})))},mceInsertLink:function(O,N,M){var L;if(typeof M=="string"){M={href:M}}L=E.getParent(K.getNode(),"a");M.href=M.href.replace(" ","%20");if(!L||!M.href){D.remove("link")}if(M.href){D.apply("link",M,L)}},selectAll:function(){var M=E.getRoot(),L;if(K.getRng().setStart){L=E.createRng();L.setStart(M,0);L.setEnd(M,M.childNodes.length);K.setRng(L)}else{L=K.getRng();if(!L.item){L.moveToElementText(M);L.select()}}},"delete":function(){u("Delete");var L=t.getBody();if(E.isEmpty(L)){t.setContent("");if(L.firstChild&&E.isBlock(L.firstChild)){t.selection.setCursorLocation(L.firstChild,0)}else{t.selection.setCursorLocation(L,0)}}},mceNewDocument:function(){t.setContent("")},InsertLineBreak:function(N,X,Z){var W=Z;var L,U,S;var R=K.getRng(true);new h(E).normalize(R);var Q=R.startOffset;var V=R.startContainer;if(V.nodeType==1&&V.hasChildNodes()){var aa=Q>V.childNodes.length-1;V=V.childNodes[Math.min(Q,V.childNodes.length-1)]||V;if(aa&&V.nodeType==3){Q=V.nodeValue.length}else{Q=0}}var O=E.getParent(V,E.isBlock);var P=O?O.nodeName.toUpperCase():"";var M=O?E.getParent(O.parentNode,E.isBlock):null;var ab=M?M.nodeName.toUpperCase():"";var Y=W&&W.ctrlKey;if(ab=="LI"&&!Y){O=M;P=ab}function T(){var af=new o(V,O),ae;var ad=t.schema.getNonEmptyElements();while((ae=af.next())){if(ad[ae.nodeName.toLowerCase()]||ae.length>0){return true}}}if(V&&V.nodeType==3&&Q>=V.nodeValue.length){if(!g&&!T()){L=E.create("br");R.insertNode(L);R.setStartAfter(L);R.setEndAfter(L);U=true}}L=E.create("br");R.insertNode(L);var ac=E.doc.documentMode;if(g&&P=="PRE"&&(!ac||ac<8)){L.parentNode.insertBefore(E.doc.createTextNode("\r"),L)}S=E.create("span",{},"&nbsp;");L.parentNode.insertBefore(S,L);K.scrollIntoView(S);E.remove(S);if(!U){R.setStartAfter(L);R.setEndAfter(L)}else{R.setStartBefore(L);R.setEndBefore(L)}K.setRng(R);t.undoManager.add();return f}});A({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(O){var M="align"+O.substring(7);var L=K.isCollapsed()?[E.getParent(K.getNode(),E.isBlock)]:K.getSelectedBlocks();var N=b(L,function(P){return !!D.matchNode(P,M)});return p(N,f)!==-1},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(L){return H(L)},mceBlockQuote:function(){return H("blockquote")},Outdent:function(){var L;if(G.inline_styles){if((L=E.getParent(K.getStart(),E.isBlock))&&parseInt(L.style.paddingLeft,10)>0){return f}if((L=E.getParent(K.getEnd(),E.isBlock))&&parseInt(L.style.paddingLeft,10)>0){return f}}return(v("InsertUnorderedList")||v("InsertOrderedList")||(!G.inline_styles&&!!E.getParent(K.getNode(),"BLOCKQUOTE")))},"InsertUnorderedList,InsertOrderedList":function(M){var L=E.getParent(K.getNode(),"ul,ol");return L&&(M==="insertunorderedlist"&&L.tagName==="UL"||M==="insertorderedlist"&&L.tagName==="OL")}},"state");A({"FontSize,FontName":function(N){var M=0,L;if((L=E.getParent(K.getNode(),"span"))){if(N=="fontsize"){M=L.style.fontSize}else{M=L.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()}}return M}},"value");A({Undo:function(){t.undoManager.undo()},Redo:function(){t.undoManager.redo()}})}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/EnterKey.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,638 +0,0 @@
-/**
- * EnterKey.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Contains logic for handling the enter key to split/generate block elements.
- */
-define("tinymce/EnterKey", [
-	"tinymce/dom/TreeWalker",
-	"tinymce/dom/RangeUtils",
-	"tinymce/Env"
-], function(TreeWalker, RangeUtils, Env) {
-	var isIE = Env.ie && Env.ie < 11;
-
-	return function(editor) {
-		var dom = editor.dom, selection = editor.selection, settings = editor.settings;
-		var undoManager = editor.undoManager, schema = editor.schema, nonEmptyElementsMap = schema.getNonEmptyElements(),
-			moveCaretBeforeOnEnterElementsMap = schema.getMoveCaretBeforeOnEnterElements();
-
-		function handleEnterKey(evt) {
-			var rng, tmpRng, editableRoot, container, offset, parentBlock, documentMode, shiftKey,
-				newBlock, fragment, containerBlock, parentBlockName, containerBlockName, newBlockName, isAfterLastNodeInContainer;
-
-			// Returns true if the block can be split into two blocks or not
-			function canSplitBlock(node) {
-				return node &&
-					dom.isBlock(node) &&
-					!/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) &&
-					!/^(fixed|absolute)/i.test(node.style.position) &&
-					dom.getContentEditable(node) !== "true";
-			}
-
-			// Renders empty block on IE
-			function renderBlockOnIE(block) {
-				var oldRng;
-
-				if (dom.isBlock(block)) {
-					oldRng = selection.getRng();
-					block.appendChild(dom.create('span', null, '\u00a0'));
-					selection.select(block);
-					block.lastChild.outerHTML = '';
-					selection.setRng(oldRng);
-				}
-			}
-
-			// Remove the first empty inline element of the block so this: <p><b><em></em></b>x</p> becomes this: <p>x</p>
-			function trimInlineElementsOnLeftSideOfBlock(block) {
-				var node = block, firstChilds = [], i;
-
-				if (!node) {
-					return;
-				}
-
-				// Find inner most first child ex: <p><i><b>*</b></i></p>
-				while ((node = node.firstChild)) {
-					if (dom.isBlock(node)) {
-						return;
-					}
-
-					if (node.nodeType == 1 && !nonEmptyElementsMap[node.nodeName.toLowerCase()]) {
-						firstChilds.push(node);
-					}
-				}
-
-				i = firstChilds.length;
-				while (i--) {
-					node = firstChilds[i];
-					if (!node.hasChildNodes() || (node.firstChild == node.lastChild && node.firstChild.nodeValue === '')) {
-						dom.remove(node);
-					} else {
-						// Remove <a> </a> see #5381
-						if (node.nodeName == "A" && (node.innerText || node.textContent) === ' ') {
-							dom.remove(node);
-						}
-					}
-				}
-			}
-
-			// Moves the caret to a suitable position within the root for example in the first non
-			// pure whitespace text node or before an image
-			function moveToCaretPosition(root) {
-				var walker, node, rng, lastNode = root, tempElm;
-				function firstNonWhiteSpaceNodeSibling(node) {
-					while (node) {
-						if (node.nodeType == 1 || (node.nodeType == 3 && node.data && /[\r\n\s]/.test(node.data))) {
-							return node;
-						}
-
-						node = node.nextSibling;
-					}
-				}
-
-				if (!root) {
-					return;
-				}
-
-				// Old IE versions doesn't properly render blocks with br elements in them
-				// For example <p><br></p> wont be rendered correctly in a contentEditable area
-				// until you remove the br producing <p></p>
-				if (Env.ie && Env.ie < 9 && parentBlock && parentBlock.firstChild) {
-					if (parentBlock.firstChild == parentBlock.lastChild && parentBlock.firstChild.tagName == 'BR') {
-						dom.remove(parentBlock.firstChild);
-					}
-				}
-
-				if (/^(LI|DT|DD)$/.test(root.nodeName)) {
-					var firstChild = firstNonWhiteSpaceNodeSibling(root.firstChild);
-
-					if (firstChild && /^(UL|OL|DL)$/.test(firstChild.nodeName)) {
-						root.insertBefore(dom.doc.createTextNode('\u00a0'), root.firstChild);
-					}
-				}
-
-				rng = dom.createRng();
-
-				// Normalize whitespace to remove empty text nodes. Fix for: #6904
-				// Gecko will be able to place the caret in empty text nodes but it won't render propery
-				// Older IE versions will sometimes crash so for now ignore all IE versions
-				if (!Env.ie) {
-					root.normalize();
-				}
-
-				if (root.hasChildNodes()) {
-					walker = new TreeWalker(root, root);
-
-					while ((node = walker.current())) {
-						if (node.nodeType == 3) {
-							rng.setStart(node, 0);
-							rng.setEnd(node, 0);
-							break;
-						}
-
-						if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) {
-							rng.setStartBefore(node);
-							rng.setEndBefore(node);
-							break;
-						}
-
-						lastNode = node;
-						node = walker.next();
-					}
-
-					if (!node) {
-						rng.setStart(lastNode, 0);
-						rng.setEnd(lastNode, 0);
-					}
-				} else {
-					if (root.nodeName == 'BR') {
-						if (root.nextSibling && dom.isBlock(root.nextSibling)) {
-							// Trick on older IE versions to render the caret before the BR between two lists
-							if (!documentMode || documentMode < 9) {
-								tempElm = dom.create('br');
-								root.parentNode.insertBefore(tempElm, root);
-							}
-
-							rng.setStartBefore(root);
-							rng.setEndBefore(root);
-						} else {
-							rng.setStartAfter(root);
-							rng.setEndAfter(root);
-						}
-					} else {
-						rng.setStart(root, 0);
-						rng.setEnd(root, 0);
-					}
-				}
-
-				selection.setRng(rng);
-
-				// Remove tempElm created for old IE:s
-				dom.remove(tempElm);
-				selection.scrollIntoView(root);
-			}
-
-			function setForcedBlockAttrs(node) {
-				var forcedRootBlockName = settings.forced_root_block;
-
-				if (forcedRootBlockName && forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase()) {
-					dom.setAttribs(node, settings.forced_root_block_attrs);
-				}
-			}
-
-			// Creates a new block element by cloning the current one or creating a new one if the name is specified
-			// This function will also copy any text formatting from the parent block and add it to the new one
-			function createNewBlock(name) {
-				var node = container, block, clonedNode, caretNode, textInlineElements = schema.getTextInlineElements();
-
-				if (name || parentBlockName == "TABLE") {
-					block = dom.create(name || newBlockName);
-					setForcedBlockAttrs(block);
-				} else {
-					block = parentBlock.cloneNode(false);
-				}
-
-				caretNode = block;
-
-				// Clone any parent styles
-				if (settings.keep_styles !== false) {
-					do {
-						if (textInlineElements[node.nodeName]) {
-							// Never clone a caret containers
-							if (node.id == '_mce_caret') {
-								continue;
-							}
-
-							clonedNode = node.cloneNode(false);
-							dom.setAttrib(clonedNode, 'id', ''); // Remove ID since it needs to be document unique
-
-							if (block.hasChildNodes()) {
-								clonedNode.appendChild(block.firstChild);
-								block.appendChild(clonedNode);
-							} else {
-								caretNode = clonedNode;
-								block.appendChild(clonedNode);
-							}
-						}
-					} while ((node = node.parentNode));
-				}
-
-				// BR is needed in empty blocks on non IE browsers
-				if (!isIE) {
-					caretNode.innerHTML = '<br data-mce-bogus="1">';
-				}
-
-				return block;
-			}
-
-			// Returns true/false if the caret is at the start/end of the parent block element
-			function isCaretAtStartOrEndOfBlock(start) {
-				var walker, node, name;
-
-				// Caret is in the middle of a text node like "a|b"
-				if (container.nodeType == 3 && (start ? offset > 0 : offset < container.nodeValue.length)) {
-					return false;
-				}
-
-				// If after the last element in block node edge case for #5091
-				if (container.parentNode == parentBlock && isAfterLastNodeInContainer && !start) {
-					return true;
-				}
-
-				// If the caret if before the first element in parentBlock
-				if (start && container.nodeType == 1 && container == parentBlock.firstChild) {
-					return true;
-				}
-
-				// Caret can be before/after a table
-				if (container.nodeName === "TABLE" || (container.previousSibling && container.previousSibling.nodeName == "TABLE")) {
-					return (isAfterLastNodeInContainer && !start) || (!isAfterLastNodeInContainer && start);
-				}
-
-				// Walk the DOM and look for text nodes or non empty elements
-				walker = new TreeWalker(container, parentBlock);
-
-				// If caret is in beginning or end of a text block then jump to the next/previous node
-				if (container.nodeType == 3) {
-					if (start && offset === 0) {
-						walker.prev();
-					} else if (!start && offset == container.nodeValue.length) {
-						walker.next();
-					}
-				}
-
-				while ((node = walker.current())) {
-					if (node.nodeType === 1) {
-						// Ignore bogus elements
-						if (!node.getAttribute('data-mce-bogus')) {
-							// Keep empty elements like <img /> <input /> but not trailing br:s like <p>text|<br></p>
-							name = node.nodeName.toLowerCase();
-							if (nonEmptyElementsMap[name] && name !== 'br') {
-								return false;
-							}
-						}
-					} else if (node.nodeType === 3 && !/^[ \t\r\n]*$/.test(node.nodeValue)) {
-						return false;
-					}
-
-					if (start) {
-						walker.prev();
-					} else {
-						walker.next();
-					}
-				}
-
-				return true;
-			}
-
-			// Wraps any text nodes or inline elements in the specified forced root block name
-			function wrapSelfAndSiblingsInDefaultBlock(container, offset) {
-				var newBlock, parentBlock, startNode, node, next, rootBlockName, blockName = newBlockName || 'P';
-
-				// Not in a block element or in a table cell or caption
-				parentBlock = dom.getParent(container, dom.isBlock);
-				rootBlockName = editor.getBody().nodeName.toLowerCase();
-				if (!parentBlock || !canSplitBlock(parentBlock)) {
-					parentBlock = parentBlock || editableRoot;
-
-					if (!parentBlock.hasChildNodes()) {
-						newBlock = dom.create(blockName);
-						setForcedBlockAttrs(newBlock);
-						parentBlock.appendChild(newBlock);
-						rng.setStart(newBlock, 0);
-						rng.setEnd(newBlock, 0);
-						return newBlock;
-					}
-
-					// Find parent that is the first child of parentBlock
-					node = container;
-					while (node.parentNode != parentBlock) {
-						node = node.parentNode;
-					}
-
-					// Loop left to find start node start wrapping at
-					while (node && !dom.isBlock(node)) {
-						startNode = node;
-						node = node.previousSibling;
-					}
-
-					if (startNode && schema.isValidChild(rootBlockName, blockName.toLowerCase())) {
-						newBlock = dom.create(blockName);
-						setForcedBlockAttrs(newBlock);
-						startNode.parentNode.insertBefore(newBlock, startNode);
-
-						// Start wrapping until we hit a block
-						node = startNode;
-						while (node && !dom.isBlock(node)) {
-							next = node.nextSibling;
-							newBlock.appendChild(node);
-							node = next;
-						}
-
-						// Restore range to it's past location
-						rng.setStart(container, offset);
-						rng.setEnd(container, offset);
-					}
-				}
-
-				return container;
-			}
-
-			// Inserts a block or br before/after or in the middle of a split list of the LI is empty
-			function handleEmptyListItem() {
-				function isFirstOrLastLi(first) {
-					var node = containerBlock[first ? 'firstChild' : 'lastChild'];
-
-					// Find first/last element since there might be whitespace there
-					while (node) {
-						if (node.nodeType == 1) {
-							break;
-						}
-
-						node = node[first ? 'nextSibling' : 'previousSibling'];
-					}
-
-					return node === parentBlock;
-				}
-
-				function getContainerBlock() {
-					var containerBlockParent = containerBlock.parentNode;
-
-					if (/^(LI|DT|DD)$/.test(containerBlockParent.nodeName)) {
-						return containerBlockParent;
-					}
-
-					return containerBlock;
-				}
-
-				// Check if we are in an nested list
-				var containerBlockParentName = containerBlock.parentNode.nodeName;
-				if (/^(OL|UL|LI)$/.test(containerBlockParentName)) {
-					newBlockName = 'LI';
-				}
-
-				newBlock = newBlockName ? createNewBlock(newBlockName) : dom.create('BR');
-
-				if (isFirstOrLastLi(true) && isFirstOrLastLi()) {
-					if (containerBlockParentName == 'LI') {
-						// Nested list is inside a LI
-						dom.insertAfter(newBlock, getContainerBlock());
-					} else {
-						// Is first and last list item then replace the OL/UL with a text block
-						dom.replace(newBlock, containerBlock);
-					}
-				} else if (isFirstOrLastLi(true)) {
-					if (containerBlockParentName == 'LI') {
-						// List nested in an LI then move the list to a new sibling LI
-						dom.insertAfter(newBlock, getContainerBlock());
-						newBlock.appendChild(dom.doc.createTextNode(' ')); // Needed for IE so the caret can be placed
-						newBlock.appendChild(containerBlock);
-					} else {
-						// First LI in list then remove LI and add text block before list
-						containerBlock.parentNode.insertBefore(newBlock, containerBlock);
-					}
-				} else if (isFirstOrLastLi()) {
-					// Last LI in list then remove LI and add text block after list
-					dom.insertAfter(newBlock, getContainerBlock());
-					renderBlockOnIE(newBlock);
-				} else {
-					// Middle LI in list the split the list and insert a text block in the middle
-					// Extract after fragment and insert it after the current block
-					containerBlock = getContainerBlock();
-					tmpRng = rng.cloneRange();
-					tmpRng.setStartAfter(parentBlock);
-					tmpRng.setEndAfter(containerBlock);
-					fragment = tmpRng.extractContents();
-
-					if (newBlockName == 'LI' && fragment.firstChild.nodeName == 'LI') {
-						newBlock = fragment.firstChild;
-						dom.insertAfter(fragment, containerBlock);
-					} else {
-						dom.insertAfter(fragment, containerBlock);
-						dom.insertAfter(newBlock, containerBlock);
-					}
-				}
-
-				dom.remove(parentBlock);
-				moveToCaretPosition(newBlock);
-				undoManager.add();
-			}
-
-			// Inserts a BR element if the forced_root_block option is set to false or empty string
-			function insertBr() {
-				editor.execCommand("InsertLineBreak", false, evt);
-			}
-
-			// Trims any linebreaks at the beginning of node user for example when pressing enter in a PRE element
-			function trimLeadingLineBreaks(node) {
-				do {
-					if (node.nodeType === 3) {
-						node.nodeValue = node.nodeValue.replace(/^[\r\n]+/, '');
-					}
-
-					node = node.firstChild;
-				} while (node);
-			}
-
-			function getEditableRoot(node) {
-				var root = dom.getRoot(), parent, editableRoot;
-
-				// Get all parents until we hit a non editable parent or the root
-				parent = node;
-				while (parent !== root && dom.getContentEditable(parent) !== "false") {
-					if (dom.getContentEditable(parent) === "true") {
-						editableRoot = parent;
-					}
-
-					parent = parent.parentNode;
-				}
-
-				return parent !== root ? editableRoot : root;
-			}
-
-			// Adds a BR at the end of blocks that only contains an IMG or INPUT since
-			// these might be floated and then they won't expand the block
-			function addBrToBlockIfNeeded(block) {
-				var lastChild;
-
-				// IE will render the blocks correctly other browsers needs a BR
-				if (!isIE) {
-					block.normalize(); // Remove empty text nodes that got left behind by the extract
-
-					// Check if the block is empty or contains a floated last child
-					lastChild = block.lastChild;
-					if (!lastChild || (/^(left|right)$/gi.test(dom.getStyle(lastChild, 'float', true)))) {
-						dom.add(block, 'br');
-					}
-				}
-			}
-
-			rng = selection.getRng(true);
-
-			// Event is blocked by some other handler for example the lists plugin
-			if (evt.isDefaultPrevented()) {
-				return;
-			}
-
-			// Delete any selected contents
-			if (!rng.collapsed) {
-				editor.execCommand('Delete');
-				return;
-			}
-
-			// Setup range items and newBlockName
-			new RangeUtils(dom).normalize(rng);
-			container = rng.startContainer;
-			offset = rng.startOffset;
-			newBlockName = (settings.force_p_newlines ? 'p' : '') || settings.forced_root_block;
-			newBlockName = newBlockName ? newBlockName.toUpperCase() : '';
-			documentMode = dom.doc.documentMode;
-			shiftKey = evt.shiftKey;
-
-			// Resolve node index
-			if (container.nodeType == 1 && container.hasChildNodes()) {
-				isAfterLastNodeInContainer = offset > container.childNodes.length - 1;
-
-				container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container;
-				if (isAfterLastNodeInContainer && container.nodeType == 3) {
-					offset = container.nodeValue.length;
-				} else {
-					offset = 0;
-				}
-			}
-
-			// Get editable root node normaly the body element but sometimes a div or span
-			editableRoot = getEditableRoot(container);
-
-			// If there is no editable root then enter is done inside a contentEditable false element
-			if (!editableRoot) {
-				return;
-			}
-
-			undoManager.beforeChange();
-
-			// If editable root isn't block nor the root of the editor
-			if (!dom.isBlock(editableRoot) && editableRoot != dom.getRoot()) {
-				if (!newBlockName || shiftKey) {
-					insertBr();
-				}
-
-				return;
-			}
-
-			// Wrap the current node and it's sibling in a default block if it's needed.
-			// for example this <td>text|<b>text2</b></td> will become this <td><p>text|<b>text2</p></b></td>
-			// This won't happen if root blocks are disabled or the shiftKey is pressed
-			if ((newBlockName && !shiftKey) || (!newBlockName && shiftKey)) {
-				container = wrapSelfAndSiblingsInDefaultBlock(container, offset);
-			}
-
-			// Find parent block and setup empty block paddings
-			parentBlock = dom.getParent(container, dom.isBlock);
-			containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null;
-
-			// Setup block names
-			parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : ''; // IE < 9 & HTML5
-			containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : ''; // IE < 9 & HTML5
-
-			// Enter inside block contained within a LI then split or insert before/after LI
-			if (containerBlockName == 'LI' && !evt.ctrlKey) {
-				parentBlock = containerBlock;
-				parentBlockName = containerBlockName;
-			}
-
-			// Handle enter in list item
-			if (/^(LI|DT|DD)$/.test(parentBlockName)) {
-				if (!newBlockName && shiftKey) {
-					insertBr();
-					return;
-				}
-
-				// Handle enter inside an empty list item
-				if (dom.isEmpty(parentBlock)) {
-					handleEmptyListItem();
-					return;
-				}
-			}
-
-			// Don't split PRE tags but insert a BR instead easier when writing code samples etc
-			if (parentBlockName == 'PRE' && settings.br_in_pre !== false) {
-				if (!shiftKey) {
-					insertBr();
-					return;
-				}
-			} else {
-				// If no root block is configured then insert a BR by default or if the shiftKey is pressed
-				if ((!newBlockName && !shiftKey && parentBlockName != 'LI') || (newBlockName && shiftKey)) {
-					insertBr();
-					return;
-				}
-			}
-
-			// If parent block is root then never insert new blocks
-			if (newBlockName && parentBlock === editor.getBody()) {
-				return;
-			}
-
-			// Default block name if it's not configured
-			newBlockName = newBlockName || 'P';
-
-			// Insert new block before/after the parent block depending on caret location
-			if (isCaretAtStartOrEndOfBlock()) {
-				// If the caret is at the end of a header we produce a P tag after it similar to Word unless we are in a hgroup
-				if (/^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && containerBlockName != 'HGROUP') {
-					newBlock = createNewBlock(newBlockName);
-				} else {
-					newBlock = createNewBlock();
-				}
-
-				// Split the current container block element if enter is pressed inside an empty inner block element
-				if (settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock)) {
-					// Split container block for example a BLOCKQUOTE at the current blockParent location for example a P
-					newBlock = dom.split(containerBlock, parentBlock);
-				} else {
-					dom.insertAfter(newBlock, parentBlock);
-				}
-
-				moveToCaretPosition(newBlock);
-			} else if (isCaretAtStartOrEndOfBlock(true)) {
-				// Insert new block before
-				newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock);
-				renderBlockOnIE(newBlock);
-				moveToCaretPosition(parentBlock);
-			} else {
-				// Extract after fragment and insert it after the current block
-				tmpRng = rng.cloneRange();
-				tmpRng.setEndAfter(parentBlock);
-				fragment = tmpRng.extractContents();
-				trimLeadingLineBreaks(fragment);
-				newBlock = fragment.firstChild;
-				dom.insertAfter(fragment, parentBlock);
-				trimInlineElementsOnLeftSideOfBlock(newBlock);
-				addBrToBlockIfNeeded(parentBlock);
-				moveToCaretPosition(newBlock);
-			}
-
-			dom.setAttrib(newBlock, 'id', ''); // Remove ID since it needs to be document unique
-
-			// Allow custom handling of new blocks
-			editor.fire('NewBlock', {newBlock: newBlock});
-
-			undoManager.add();
-		}
-
-		editor.on('keydown', function(evt) {
-			if (evt.keyCode == 13) {
-				if (handleEnterKey(evt) !== false) {
-					evt.preventDefault();
-				}
-			}
-		});
-	};
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/FocusManager.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/FocusManager",["tinymce/dom/DOMUtils","tinymce/Env"],function(g,b){var c,e,d,f=g.DOM;function a(n){function i(){try{return document.activeElement}catch(o){return document.body}}function m(p,o){if(o&&o.startContainer){if(!p.isChildOf(o.startContainer,p.getRoot())||!p.isChildOf(o.endContainer,p.getRoot())){return}return{startContainer:o.startContainer,startOffset:o.startOffset,endContainer:o.endContainer,endOffset:o.endOffset}}return o}function h(q,p){var o;if(p.startContainer){o=q.getDoc().createRange();o.setStart(p.startContainer,p.startOffset);o.setEnd(p.endContainer,p.endOffset)}else{o=p}return o}function l(o){return !!f.getParent(o,a.isEditorUIElement)}function j(p){var o=p.editor;o.on("init",function(){if(o.inline||b.ie){if("onbeforedeactivate" in document&&b.ie<9){o.dom.bind(o.getBody(),"beforedeactivate",function(r){if(r.target!=o.getBody()){return}try{o.lastRng=o.selection.getRng()}catch(q){}})}else{o.on("nodechange mouseup keyup",function(r){var q=i();if(r.type=="nodechange"&&r.selectionChange){return}if(q&&q.id==o.id+"_ifr"){q=o.getBody()}if(o.dom.isChildOf(q,o.getBody())){o.lastRng=o.selection.getRng()}})}if(b.webkit&&!c){c=function(){var r=n.activeEditor;if(r&&r.selection){var q=r.selection.getRng();if(q&&!q.collapsed){o.lastRng=q}}};f.bind(document,"selectionchange",c)}}});o.on("setcontent",function(){o.lastRng=null});o.on("mousedown",function(){o.selection.lastFocusBookmark=null});o.on("focusin",function(){var q=n.focusedEditor;if(o.selection.lastFocusBookmark){o.selection.setRng(h(o,o.selection.lastFocusBookmark));o.selection.lastFocusBookmark=null}if(q!=o){if(q){q.fire("blur",{focusedEditor:o})}n.setActive(o);n.focusedEditor=o;o.fire("focus",{blurredEditor:q});o.focus(true)}o.lastRng=null});o.on("focusout",function(){window.setTimeout(function(){var q=n.focusedEditor;if(!l(i())&&q==o){o.fire("blur",{focusedEditor:null});n.focusedEditor=null;if(o.selection){o.selection.lastFocusBookmark=null}}},0)});if(!e){e=function(r){var q=n.activeEditor;if(q&&r.target.ownerDocument==document){if(q.selection&&r.target!=q.getBody()){q.selection.lastFocusBookmark=m(q.dom,q.lastRng)}if(r.target!=document.body&&!l(r.target)&&n.focusedEditor==q){q.fire("blur",{focusedEditor:null});n.focusedEditor=null}}};f.bind(document,"focusin",e)}if(o.inline&&!d){d=function(s){var r=n.activeEditor;if(r.inline&&!r.dom.isChildOf(s.target,r.getBody())){var q=r.selection.getRng();if(!q.collapsed){r.lastRng=q}}};f.bind(document,"mouseup",d)}}function k(o){if(n.focusedEditor==o.editor){n.focusedEditor=null}if(!n.activeEditor){f.unbind(document,"selectionchange",c);f.unbind(document,"focusin",e);f.unbind(document,"mouseup",d);c=e=d=null}}n.on("AddEditor",j);n.on("RemoveEditor",k)}a.isEditorUIElement=function(h){return h.className.toString().indexOf("mce-")!==-1};return a});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/Formatter.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2330 +0,0 @@
-/**
- * Formatter.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Text formatter engine class. This class is used to apply formats like bold, italic, font size
- * etc to the current selection or specific nodes. This engine was build to replace the browsers
- * default formatting logic for execCommand due to it's inconsistent and buggy behavior.
- *
- * @class tinymce.Formatter
- * @example
- *  tinymce.activeEditor.formatter.register('mycustomformat', {
- *    inline: 'span',
- *    styles: {color: '#ff0000'}
- *  });
- *
- *  tinymce.activeEditor.formatter.apply('mycustomformat');
- */
-define("tinymce/Formatter", [
-	"tinymce/dom/TreeWalker",
-	"tinymce/dom/RangeUtils",
-	"tinymce/dom/BookmarkManager",
-	"tinymce/dom/ElementUtils",
-	"tinymce/util/Tools",
-	"tinymce/fmt/Preview"
-], function(TreeWalker, RangeUtils, BookmarkManager, ElementUtils, Tools, Preview) {
-	/**
-	 * Constructs a new formatter instance.
-	 *
-	 * @constructor Formatter
-	 * @param {tinymce.Editor} ed Editor instance to construct the formatter engine to.
-	 */
-	return function(ed) {
-		var formats = {},
-			dom = ed.dom,
-			selection = ed.selection,
-			rangeUtils = new RangeUtils(dom),
-			isValid = ed.schema.isValidChild,
-			isBlock = dom.isBlock,
-			forcedRootBlock = ed.settings.forced_root_block,
-			nodeIndex = dom.nodeIndex,
-			INVISIBLE_CHAR = '\uFEFF',
-			MCE_ATTR_RE = /^(src|href|style)$/,
-			FALSE = false,
-			TRUE = true,
-			formatChangeData,
-			undef,
-			getContentEditable = dom.getContentEditable,
-			disableCaretContainer,
-			markCaretContainersBogus,
-			isBookmarkNode = BookmarkManager.isBookmarkNode;
-
-		var each = Tools.each,
-			grep = Tools.grep,
-			walk = Tools.walk,
-			extend = Tools.extend;
-
-		function isTextBlock(name) {
-			if (name.nodeType) {
-				name = name.nodeName;
-			}
-
-			return !!ed.schema.getTextBlockElements()[name.toLowerCase()];
-		}
-
-		function isTableCell(node) {
-			return /^(TH|TD)$/.test(node.nodeName);
-		}
-
-		function getParents(node, selector) {
-			return dom.getParents(node, selector, dom.getRoot());
-		}
-
-		function isCaretNode(node) {
-			return node.nodeType === 1 && node.id === '_mce_caret';
-		}
-
-		function defaultFormats() {
-			register({
-				valigntop: [
-					{selector: 'td,th', styles: {'verticalAlign': 'top'}}
-				],
-
-				valignmiddle: [
-					{selector: 'td,th', styles: {'verticalAlign': 'middle'}}
-				],
-
-				valignbottom: [
-					{selector: 'td,th', styles: {'verticalAlign': 'bottom'}}
-				],
-
-				alignleft: [
-					{selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', styles: {textAlign: 'left'}, defaultBlock: 'div'},
-					{selector: 'img,table', collapsed: false, styles: {'float': 'left'}}
-				],
-
-				aligncenter: [
-					{selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', styles: {textAlign: 'center'}, defaultBlock: 'div'},
-					{selector: 'img', collapsed: false, styles: {display: 'block', marginLeft: 'auto', marginRight: 'auto'}},
-					{selector: 'table', collapsed: false, styles: {marginLeft: 'auto', marginRight: 'auto'}}
-				],
-
-				alignright: [
-					{selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', styles: {textAlign: 'right'}, defaultBlock: 'div'},
-					{selector: 'img,table', collapsed: false, styles: {'float': 'right'}}
-				],
-
-				alignjustify: [
-					{selector: 'figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li', styles: {textAlign: 'justify'}, defaultBlock: 'div'}
-				],
-
-				bold: [
-					{inline: 'strong', remove: 'all'},
-					{inline: 'span', styles: {fontWeight: 'bold'}},
-					{inline: 'b', remove: 'all'}
-				],
-
-				italic: [
-					{inline: 'em', remove: 'all'},
-					{inline: 'span', styles: {fontStyle: 'italic'}},
-					{inline: 'i', remove: 'all'}
-				],
-
-				underline: [
-					{inline: 'span', styles: {textDecoration: 'underline'}, exact: true},
-					{inline: 'u', remove: 'all'}
-				],
-
-				strikethrough: [
-					{inline: 'span', styles: {textDecoration: 'line-through'}, exact: true},
-					{inline: 'strike', remove: 'all'}
-				],
-
-				forecolor: {inline: 'span', styles: {color: '%value'}, links: true, remove_similar: true},
-				hilitecolor: {inline: 'span', styles: {backgroundColor: '%value'}, links: true, remove_similar: true},
-				fontname: {inline: 'span', styles: {fontFamily: '%value'}},
-				fontsize: {inline: 'span', styles: {fontSize: '%value'}},
-				fontsize_class: {inline: 'span', attributes: {'class': '%value'}},
-				blockquote: {block: 'blockquote', wrapper: 1, remove: 'all'},
-				subscript: {inline: 'sub'},
-				superscript: {inline: 'sup'},
-				code: {inline: 'code'},
-
-				link: {inline: 'a', selector: 'a', remove: 'all', split: true, deep: true,
-					onmatch: function() {
-						return true;
-					},
-
-					onformat: function(elm, fmt, vars) {
-						each(vars, function(value, key) {
-							dom.setAttrib(elm, key, value);
-						});
-					}
-				},
-
-				removeformat: [
-					{
-						selector: 'b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins',
-						remove: 'all',
-						split: true,
-						expand: false,
-						block_expand: true,
-						deep: true
-					},
-					{selector: 'span', attributes: ['style', 'class'], remove: 'empty', split: true, expand: false, deep: true},
-					{selector: '*', attributes: ['style', 'class'], split: false, expand: false, deep: true}
-				]
-			});
-
-			// Register default block formats
-			each('p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp'.split(/\s/), function(name) {
-				register(name, {block: name, remove: 'all'});
-			});
-
-			// Register user defined formats
-			register(ed.settings.formats);
-		}
-
-		function addKeyboardShortcuts() {
-			// Add some inline shortcuts
-			ed.addShortcut('meta+b', 'bold_desc', 'Bold');
-			ed.addShortcut('meta+i', 'italic_desc', 'Italic');
-			ed.addShortcut('meta+u', 'underline_desc', 'Underline');
-
-			// BlockFormat shortcuts keys
-			for (var i = 1; i <= 6; i++) {
-				ed.addShortcut('access+' + i, '', ['FormatBlock', false, 'h' + i]);
-			}
-
-			ed.addShortcut('access+7', '', ['FormatBlock', false, 'p']);
-			ed.addShortcut('access+8', '', ['FormatBlock', false, 'div']);
-			ed.addShortcut('access+9', '', ['FormatBlock', false, 'address']);
-		}
-
-		// Public functions
-
-		/**
-		 * Returns the format by name or all formats if no name is specified.
-		 *
-		 * @method get
-		 * @param {String} name Optional name to retrive by.
-		 * @return {Array/Object} Array/Object with all registred formats or a specific format.
-		 */
-		function get(name) {
-			return name ? formats[name] : formats;
-		}
-
-		/**
-		 * Registers a specific format by name.
-		 *
-		 * @method register
-		 * @param {Object/String} name Name of the format for example "bold".
-		 * @param {Object/Array} format Optional format object or array of format variants
-		 * can only be omitted if the first arg is an object.
-		 */
-		function register(name, format) {
-			if (name) {
-				if (typeof name !== 'string') {
-					each(name, function(format, name) {
-						register(name, format);
-					});
-				} else {
-					// Force format into array and add it to internal collection
-					format = format.length ? format : [format];
-
-					each(format, function(format) {
-						// Set deep to false by default on selector formats this to avoid removing
-						// alignment on images inside paragraphs when alignment is changed on paragraphs
-						if (format.deep === undef) {
-							format.deep = !format.selector;
-						}
-
-						// Default to true
-						if (format.split === undef) {
-							format.split = !format.selector || format.inline;
-						}
-
-						// Default to true
-						if (format.remove === undef && format.selector && !format.inline) {
-							format.remove = 'none';
-						}
-
-						// Mark format as a mixed format inline + block level
-						if (format.selector && format.inline) {
-							format.mixed = true;
-							format.block_expand = true;
-						}
-
-						// Split classes if needed
-						if (typeof format.classes === 'string') {
-							format.classes = format.classes.split(/\s+/);
-						}
-					});
-
-					formats[name] = format;
-				}
-			}
-		}
-
-		/**
-		 * Unregister a specific format by name.
-		 *
-		 * @method unregister
-		 * @param {String} name Name of the format for example "bold".
-		 */
-		function unregister(name) {
-			if (name && formats[name]) {
-				delete formats[name];
-			}
-
-			return formats;
-		}
-
-		function getTextDecoration(node) {
-			var decoration;
-
-			ed.dom.getParent(node, function(n) {
-				decoration = ed.dom.getStyle(n, 'text-decoration');
-				return decoration && decoration !== 'none';
-			});
-
-			return decoration;
-		}
-
-		function processUnderlineAndColor(node) {
-			var textDecoration;
-			if (node.nodeType === 1 && node.parentNode && node.parentNode.nodeType === 1) {
-				textDecoration = getTextDecoration(node.parentNode);
-				if (ed.dom.getStyle(node, 'color') && textDecoration) {
-					ed.dom.setStyle(node, 'text-decoration', textDecoration);
-				} else if (ed.dom.getStyle(node, 'text-decoration') === textDecoration) {
-					ed.dom.setStyle(node, 'text-decoration', null);
-				}
-			}
-		}
-
-		/**
-		 * Applies the specified format to the current selection or specified node.
-		 *
-		 * @method apply
-		 * @param {String} name Name of format to apply.
-		 * @param {Object} vars Optional list of variables to replace within format before applying it.
-		 * @param {Node} node Optional node to apply the format to defaults to current selection.
-		 */
-		function apply(name, vars, node) {
-			var formatList = get(name), format = formatList[0], bookmark, rng, isCollapsed = !node && selection.isCollapsed();
-
-			function setElementFormat(elm, fmt) {
-				fmt = fmt || format;
-
-				if (elm) {
-					if (fmt.onformat) {
-						fmt.onformat(elm, fmt, vars, node);
-					}
-
-					each(fmt.styles, function(value, name) {
-						dom.setStyle(elm, name, replaceVars(value, vars));
-					});
-
-					// Needed for the WebKit span spam bug
-					// TODO: Remove this once WebKit/Blink fixes this
-					if (fmt.styles) {
-						var styleVal = dom.getAttrib(elm, 'style');
-
-						if (styleVal) {
-							elm.setAttribute('data-mce-style', styleVal);
-						}
-					}
-
-					each(fmt.attributes, function(value, name) {
-						dom.setAttrib(elm, name, replaceVars(value, vars));
-					});
-
-					each(fmt.classes, function(value) {
-						value = replaceVars(value, vars);
-
-						if (!dom.hasClass(elm, value)) {
-							dom.addClass(elm, value);
-						}
-					});
-				}
-			}
-
-			function adjustSelectionToVisibleSelection() {
-				function findSelectionEnd(start, end) {
-					var walker = new TreeWalker(end);
-					for (node = walker.current(); node; node = walker.prev()) {
-						if (node.childNodes.length > 1 || node == start || node.tagName == 'BR') {
-							return node;
-						}
-					}
-				}
-
-				// Adjust selection so that a end container with a end offset of zero is not included in the selection
-				// as this isn't visible to the user.
-				var rng = ed.selection.getRng();
-				var start = rng.startContainer;
-				var end = rng.endContainer;
-
-				if (start != end && rng.endOffset === 0) {
-					var newEnd = findSelectionEnd(start, end);
-					var endOffset = newEnd.nodeType == 3 ? newEnd.length : newEnd.childNodes.length;
-
-					rng.setEnd(newEnd, endOffset);
-				}
-
-				return rng;
-			}
-
-			function applyRngStyle(rng, bookmark, node_specific) {
-				var newWrappers = [], wrapName, wrapElm, contentEditable = true;
-
-				// Setup wrapper element
-				wrapName = format.inline || format.block;
-				wrapElm = dom.create(wrapName);
-				setElementFormat(wrapElm);
-
-				rangeUtils.walk(rng, function(nodes) {
-					var currentWrapElm;
-
-					/**
-					 * Process a list of nodes wrap them.
-					 */
-					function process(node) {
-						var nodeName, parentName, found, hasContentEditableState, lastContentEditable;
-
-						lastContentEditable = contentEditable;
-						nodeName = node.nodeName.toLowerCase();
-						parentName = node.parentNode.nodeName.toLowerCase();
-
-						// Node has a contentEditable value
-						if (node.nodeType === 1 && getContentEditable(node)) {
-							lastContentEditable = contentEditable;
-							contentEditable = getContentEditable(node) === "true";
-							hasContentEditableState = true; // We don't want to wrap the container only it's children
-						}
-
-						// Stop wrapping on br elements
-						if (isEq(nodeName, 'br')) {
-							currentWrapElm = 0;
-
-							// Remove any br elements when we wrap things
-							if (format.block) {
-								dom.remove(node);
-							}
-
-							return;
-						}
-
-						// If node is wrapper type
-						if (format.wrapper && matchNode(node, name, vars)) {
-							currentWrapElm = 0;
-							return;
-						}
-
-						// Can we rename the block
-						// TODO: Break this if up, too complex
-						if (contentEditable && !hasContentEditableState && format.block &&
-							!format.wrapper && isTextBlock(nodeName) && isValid(parentName, wrapName)) {
-							node = dom.rename(node, wrapName);
-							setElementFormat(node);
-							newWrappers.push(node);
-							currentWrapElm = 0;
-							return;
-						}
-
-						// Handle selector patterns
-						if (format.selector) {
-							// Look for matching formats
-							each(formatList, function(format) {
-								// Check collapsed state if it exists
-								if ('collapsed' in format && format.collapsed !== isCollapsed) {
-									return;
-								}
-
-								if (dom.is(node, format.selector) && !isCaretNode(node)) {
-									setElementFormat(node, format);
-									found = true;
-								}
-							});
-
-							// Continue processing if a selector match wasn't found and a inline element is defined
-							if (!format.inline || found) {
-								currentWrapElm = 0;
-								return;
-							}
-						}
-
-						// Is it valid to wrap this item
-						// TODO: Break this if up, too complex
-						if (contentEditable && !hasContentEditableState && isValid(wrapName, nodeName) && isValid(parentName, wrapName) &&
-								!(!node_specific && node.nodeType === 3 &&
-								node.nodeValue.length === 1 &&
-								node.nodeValue.charCodeAt(0) === 65279) &&
-								!isCaretNode(node) &&
-								(!format.inline || !isBlock(node))) {
-							// Start wrapping
-							if (!currentWrapElm) {
-								// Wrap the node
-								currentWrapElm = dom.clone(wrapElm, FALSE);
-								node.parentNode.insertBefore(currentWrapElm, node);
-								newWrappers.push(currentWrapElm);
-							}
-
-							currentWrapElm.appendChild(node);
-						} else {
-							// Start a new wrapper for possible children
-							currentWrapElm = 0;
-
-							each(grep(node.childNodes), process);
-
-							if (hasContentEditableState) {
-								contentEditable = lastContentEditable; // Restore last contentEditable state from stack
-							}
-
-							// End the last wrapper
-							currentWrapElm = 0;
-						}
-					}
-
-					// Process siblings from range
-					each(nodes, process);
-				});
-
-				// Apply formats to links as well to get the color of the underline to change as well
-				if (format.links === true) {
-					each(newWrappers, function(node) {
-						function process(node) {
-							if (node.nodeName === 'A') {
-								setElementFormat(node, format);
-							}
-
-							each(grep(node.childNodes), process);
-						}
-
-						process(node);
-					});
-				}
-
-				// Cleanup
-				each(newWrappers, function(node) {
-					var childCount;
-
-					function getChildCount(node) {
-						var count = 0;
-
-						each(node.childNodes, function(node) {
-							if (!isWhiteSpaceNode(node) && !isBookmarkNode(node)) {
-								count++;
-							}
-						});
-
-						return count;
-					}
-
-					function mergeStyles(node) {
-						var child, clone;
-
-						each(node.childNodes, function(node) {
-							if (node.nodeType == 1 && !isBookmarkNode(node) && !isCaretNode(node)) {
-								child = node;
-								return FALSE; // break loop
-							}
-						});
-
-						// If child was found and of the same type as the current node
-						if (child && !isBookmarkNode(child) && matchName(child, format)) {
-							clone = dom.clone(child, FALSE);
-							setElementFormat(clone);
-
-							dom.replace(clone, node, TRUE);
-							dom.remove(child, 1);
-						}
-
-						return clone || node;
-					}
-
-					childCount = getChildCount(node);
-
-					// Remove empty nodes but only if there is multiple wrappers and they are not block
-					// elements so never remove single <h1></h1> since that would remove the
-					// currrent empty block element where the caret is at
-					if ((newWrappers.length > 1 || !isBlock(node)) && childCount === 0) {
-						dom.remove(node, 1);
-						return;
-					}
-
-					if (format.inline || format.wrapper) {
-						// Merges the current node with it's children of similar type to reduce the number of elements
-						if (!format.exact && childCount === 1) {
-							node = mergeStyles(node);
-						}
-
-						// Remove/merge children
-						each(formatList, function(format) {
-							// Merge all children of similar type will move styles from child to parent
-							// this: <span style="color:red"><b><span style="color:red; font-size:10px">text</span></b></span>
-							// will become: <span style="color:red"><b><span style="font-size:10px">text</span></b></span>
-							each(dom.select(format.inline, node), function(child) {
-								if (isBookmarkNode(child)) {
-									return;
-								}
-
-								removeFormat(format, vars, child, format.exact ? child : null);
-							});
-						});
-
-						// Remove child if direct parent is of same type
-						if (matchNode(node.parentNode, name, vars)) {
-							dom.remove(node, 1);
-							node = 0;
-							return TRUE;
-						}
-
-						// Look for parent with similar style format
-						if (format.merge_with_parents) {
-							dom.getParent(node.parentNode, function(parent) {
-								if (matchNode(parent, name, vars)) {
-									dom.remove(node, 1);
-									node = 0;
-									return TRUE;
-								}
-							});
-						}
-
-						// Merge next and previous siblings if they are similar <b>text</b><b>text</b> becomes <b>texttext</b>
-						if (node && format.merge_siblings !== false) {
-							node = mergeSiblings(getNonWhiteSpaceSibling(node), node);
-							node = mergeSiblings(node, getNonWhiteSpaceSibling(node, TRUE));
-						}
-					}
-				});
-			}
-
-			if (format) {
-				if (node) {
-					if (node.nodeType) {
-						rng = dom.createRng();
-						rng.setStartBefore(node);
-						rng.setEndAfter(node);
-						applyRngStyle(expandRng(rng, formatList), null, true);
-					} else {
-						applyRngStyle(node, null, true);
-					}
-				} else {
-					if (!isCollapsed || !format.inline || dom.select('td.mce-item-selected,th.mce-item-selected').length) {
-						// Obtain selection node before selection is unselected by applyRngStyle()
-						var curSelNode = ed.selection.getNode();
-
-						// If the formats have a default block and we can't find a parent block then
-						// start wrapping it with a DIV this is for forced_root_blocks: false
-						// It's kind of a hack but people should be using the default block type P since all desktop editors work that way
-						if (!forcedRootBlock && formatList[0].defaultBlock && !dom.getParent(curSelNode, dom.isBlock)) {
-							apply(formatList[0].defaultBlock);
-						}
-
-						// Apply formatting to selection
-						ed.selection.setRng(adjustSelectionToVisibleSelection());
-						bookmark = selection.getBookmark();
-						applyRngStyle(expandRng(selection.getRng(TRUE), formatList), bookmark);
-
-						// Colored nodes should be underlined so that the color of the underline matches the text color.
-						if (format.styles && (format.styles.color || format.styles.textDecoration)) {
-							walk(curSelNode, processUnderlineAndColor, 'childNodes');
-							processUnderlineAndColor(curSelNode);
-						}
-
-						selection.moveToBookmark(bookmark);
-						moveStart(selection.getRng(TRUE));
-						ed.nodeChanged();
-					} else {
-						performCaretAction('apply', name, vars);
-					}
-				}
-			}
-		}
-
-		/**
-		 * Removes the specified format from the current selection or specified node.
-		 *
-		 * @method remove
-		 * @param {String} name Name of format to remove.
-		 * @param {Object} vars Optional list of variables to replace within format before removing it.
-		 * @param {Node/Range} node Optional node or DOM range to remove the format from defaults to current selection.
-		 */
-		function remove(name, vars, node, similar) {
-			var formatList = get(name), format = formatList[0], bookmark, rng, contentEditable = true;
-
-			// Merges the styles for each node
-			function process(node) {
-				var children, i, l, lastContentEditable, hasContentEditableState;
-
-				// Node has a contentEditable value
-				if (node.nodeType === 1 && getContentEditable(node)) {
-					lastContentEditable = contentEditable;
-					contentEditable = getContentEditable(node) === "true";
-					hasContentEditableState = true; // We don't want to wrap the container only it's children
-				}
-
-				// Grab the children first since the nodelist might be changed
-				children = grep(node.childNodes);
-
-				// Process current node
-				if (contentEditable && !hasContentEditableState) {
-					for (i = 0, l = formatList.length; i < l; i++) {
-						if (removeFormat(formatList[i], vars, node, node)) {
-							break;
-						}
-					}
-				}
-
-				// Process the children
-				if (format.deep) {
-					if (children.length) {
-						for (i = 0, l = children.length; i < l; i++) {
-							process(children[i]);
-						}
-
-						if (hasContentEditableState) {
-							contentEditable = lastContentEditable; // Restore last contentEditable state from stack
-						}
-					}
-				}
-			}
-
-			function findFormatRoot(container) {
-				var formatRoot;
-
-				// Find format root
-				each(getParents(container.parentNode).reverse(), function(parent) {
-					var format;
-
-					// Find format root element
-					if (!formatRoot && parent.id != '_start' && parent.id != '_end') {
-						// Is the node matching the format we are looking for
-						format = matchNode(parent, name, vars, similar);
-						if (format && format.split !== false) {
-							formatRoot = parent;
-						}
-					}
-				});
-
-				return formatRoot;
-			}
-
-			function wrapAndSplit(formatRoot, container, target, split) {
-				var parent, clone, lastClone, firstClone, i, formatRootParent;
-
-				// Format root found then clone formats and split it
-				if (formatRoot) {
-					formatRootParent = formatRoot.parentNode;
-
-					for (parent = container.parentNode; parent && parent != formatRootParent; parent = parent.parentNode) {
-						clone = dom.clone(parent, FALSE);
-
-						for (i = 0; i < formatList.length; i++) {
-							if (removeFormat(formatList[i], vars, clone, clone)) {
-								clone = 0;
-								break;
-							}
-						}
-
-						// Build wrapper node
-						if (clone) {
-							if (lastClone) {
-								clone.appendChild(lastClone);
-							}
-
-							if (!firstClone) {
-								firstClone = clone;
-							}
-
-							lastClone = clone;
-						}
-					}
-
-					// Never split block elements if the format is mixed
-					if (split && (!format.mixed || !isBlock(formatRoot))) {
-						container = dom.split(formatRoot, container);
-					}
-
-					// Wrap container in cloned formats
-					if (lastClone) {
-						target.parentNode.insertBefore(lastClone, target);
-						firstClone.appendChild(target);
-					}
-				}
-
-				return container;
-			}
-
-			function splitToFormatRoot(container) {
-				return wrapAndSplit(findFormatRoot(container), container, container, true);
-			}
-
-			function unwrap(start) {
-				var node = dom.get(start ? '_start' : '_end'),
-					out = node[start ? 'firstChild' : 'lastChild'];
-
-				// If the end is placed within the start the result will be removed
-				// So this checks if the out node is a bookmark node if it is it
-				// checks for another more suitable node
-				if (isBookmarkNode(out)) {
-					out = out[start ? 'firstChild' : 'lastChild'];
-				}
-
-				// Since dom.remove removes empty text nodes then we need to try to find a better node
-				if (out.nodeType == 3 && out.data.length === 0) {
-					out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling;
-				}
-
-				dom.remove(node, true);
-
-				return out;
-			}
-
-			function removeRngStyle(rng) {
-				var startContainer, endContainer;
-				var commonAncestorContainer = rng.commonAncestorContainer;
-
-				rng = expandRng(rng, formatList, TRUE);
-
-				if (format.split) {
-					startContainer = getContainer(rng, TRUE);
-					endContainer = getContainer(rng);
-
-					if (startContainer != endContainer) {
-						// WebKit will render the table incorrectly if we wrap a TH or TD in a SPAN
-						// so let's see if we can use the first child instead
-						// This will happen if you triple click a table cell and use remove formatting
-						if (/^(TR|TH|TD)$/.test(startContainer.nodeName) && startContainer.firstChild) {
-							if (startContainer.nodeName == "TR") {
-								startContainer = startContainer.firstChild.firstChild || startContainer;
-							} else {
-								startContainer = startContainer.firstChild || startContainer;
-							}
-						}
-
-						// Try to adjust endContainer as well if cells on the same row were selected - bug #6410
-						if (commonAncestorContainer &&
-							/^T(HEAD|BODY|FOOT|R)$/.test(commonAncestorContainer.nodeName) &&
-							isTableCell(endContainer) && endContainer.firstChild) {
-							endContainer = endContainer.firstChild || endContainer;
-						}
-
-						if (dom.isChildOf(startContainer, endContainer) && !isTableCell(startContainer) && !isTableCell(endContainer)) {
-							startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
-							splitToFormatRoot(startContainer);
-							startContainer = unwrap(TRUE);
-							return;
-						} else {
-							// Wrap start/end nodes in span element since these might be cloned/moved
-							startContainer = wrap(startContainer, 'span', {id: '_start', 'data-mce-type': 'bookmark'});
-							endContainer = wrap(endContainer, 'span', {id: '_end', 'data-mce-type': 'bookmark'});
-
-							// Split start/end
-							splitToFormatRoot(startContainer);
-							splitToFormatRoot(endContainer);
-
-							// Unwrap start/end to get real elements again
-							startContainer = unwrap(TRUE);
-							endContainer = unwrap();
-						}
-					} else {
-						startContainer = endContainer = splitToFormatRoot(startContainer);
-					}
-
-					// Update range positions since they might have changed after the split operations
-					rng.startContainer = startContainer.parentNode ? startContainer.parentNode : startContainer;
-					rng.startOffset = nodeIndex(startContainer);
-					rng.endContainer = endContainer.parentNode ? endContainer.parentNode : endContainer;
-					rng.endOffset = nodeIndex(endContainer) + 1;
-				}
-
-				// Remove items between start/end
-				rangeUtils.walk(rng, function(nodes) {
-					each(nodes, function(node) {
-						process(node);
-
-						// Remove parent span if it only contains text-decoration: underline, yet a parent node is also underlined.
-						if (node.nodeType === 1 && ed.dom.getStyle(node, 'text-decoration') === 'underline' &&
-							node.parentNode && getTextDecoration(node.parentNode) === 'underline') {
-							removeFormat({
-								'deep': false,
-								'exact': true,
-								'inline': 'span',
-								'styles': {
-									'textDecoration': 'underline'
-								}
-							}, null, node);
-						}
-					});
-				});
-			}
-
-			// Handle node
-			if (node) {
-				if (node.nodeType) {
-					rng = dom.createRng();
-					rng.setStartBefore(node);
-					rng.setEndAfter(node);
-					removeRngStyle(rng);
-				} else {
-					removeRngStyle(node);
-				}
-
-				return;
-			}
-
-			if (!selection.isCollapsed() || !format.inline || dom.select('td.mce-item-selected,th.mce-item-selected').length) {
-				bookmark = selection.getBookmark();
-				removeRngStyle(selection.getRng(TRUE));
-				selection.moveToBookmark(bookmark);
-
-				// Check if start element still has formatting then we are at: "<b>text|</b>text"
-				// and need to move the start into the next text node
-				if (format.inline && match(name, vars, selection.getStart())) {
-					moveStart(selection.getRng(true));
-				}
-
-				ed.nodeChanged();
-			} else {
-				performCaretAction('remove', name, vars, similar);
-			}
-		}
-
-		/**
-		 * Toggles the specified format on/off.
-		 *
-		 * @method toggle
-		 * @param {String} name Name of format to apply/remove.
-		 * @param {Object} vars Optional list of variables to replace within format before applying/removing it.
-		 * @param {Node} node Optional node to apply the format to or remove from. Defaults to current selection.
-		 */
-		function toggle(name, vars, node) {
-			var fmt = get(name);
-
-			if (match(name, vars, node) && (!('toggle' in fmt[0]) || fmt[0].toggle)) {
-				remove(name, vars, node);
-			} else {
-				apply(name, vars, node);
-			}
-		}
-
-		/**
-		 * Return true/false if the specified node has the specified format.
-		 *
-		 * @method matchNode
-		 * @param {Node} node Node to check the format on.
-		 * @param {String} name Format name to check.
-		 * @param {Object} vars Optional list of variables to replace before checking it.
-		 * @param {Boolean} similar Match format that has similar properties.
-		 * @return {Object} Returns the format object it matches or undefined if it doesn't match.
-		 */
-		function matchNode(node, name, vars, similar) {
-			var formatList = get(name), format, i, classes;
-
-			function matchItems(node, format, item_name) {
-				var key, value, items = format[item_name], i;
-
-				// Custom match
-				if (format.onmatch) {
-					return format.onmatch(node, format, item_name);
-				}
-
-				// Check all items
-				if (items) {
-					// Non indexed object
-					if (items.length === undef) {
-						for (key in items) {
-							if (items.hasOwnProperty(key)) {
-								if (item_name === 'attributes') {
-									value = dom.getAttrib(node, key);
-								} else {
-									value = getStyle(node, key);
-								}
-
-								if (similar && !value && !format.exact) {
-									return;
-								}
-
-								if ((!similar || format.exact) && !isEq(value, normalizeStyleValue(replaceVars(items[key], vars), key))) {
-									return;
-								}
-							}
-						}
-					} else {
-						// Only one match needed for indexed arrays
-						for (i = 0; i < items.length; i++) {
-							if (item_name === 'attributes' ? dom.getAttrib(node, items[i]) : getStyle(node, items[i])) {
-								return format;
-							}
-						}
-					}
-				}
-
-				return format;
-			}
-
-			if (formatList && node) {
-				// Check each format in list
-				for (i = 0; i < formatList.length; i++) {
-					format = formatList[i];
-
-					// Name name, attributes, styles and classes
-					if (matchName(node, format) && matchItems(node, format, 'attributes') && matchItems(node, format, 'styles')) {
-						// Match classes
-						if ((classes = format.classes)) {
-							for (i = 0; i < classes.length; i++) {
-								if (!dom.hasClass(node, classes[i])) {
-									return;
-								}
-							}
-						}
-
-						return format;
-					}
-				}
-			}
-		}
-
-		/**
-		 * Matches the current selection or specified node against the specified format name.
-		 *
-		 * @method match
-		 * @param {String} name Name of format to match.
-		 * @param {Object} vars Optional list of variables to replace before checking it.
-		 * @param {Node} node Optional node to check.
-		 * @return {boolean} true/false if the specified selection/node matches the format.
-		 */
-		function match(name, vars, node) {
-			var startNode;
-
-			function matchParents(node) {
-				var root = dom.getRoot();
-
-				if (node === root) {
-					return false;
-				}
-
-				// Find first node with similar format settings
-				node = dom.getParent(node, function(node) {
-					return node.parentNode === root || !!matchNode(node, name, vars, true);
-				});
-
-				// Do an exact check on the similar format element
-				return matchNode(node, name, vars);
-			}
-
-			// Check specified node
-			if (node) {
-				return matchParents(node);
-			}
-
-			// Check selected node
-			node = selection.getNode();
-			if (matchParents(node)) {
-				return TRUE;
-			}
-
-			// Check start node if it's different
-			startNode = selection.getStart();
-			if (startNode != node) {
-				if (matchParents(startNode)) {
-					return TRUE;
-				}
-			}
-
-			return FALSE;
-		}
-
-		/**
-		 * Matches the current selection against the array of formats and returns a new array with matching formats.
-		 *
-		 * @method matchAll
-		 * @param {Array} names Name of format to match.
-		 * @param {Object} vars Optional list of variables to replace before checking it.
-		 * @return {Array} Array with matched formats.
-		 */
-		function matchAll(names, vars) {
-			var startElement, matchedFormatNames = [], checkedMap = {};
-
-			// Check start of selection for formats
-			startElement = selection.getStart();
-			dom.getParent(startElement, function(node) {
-				var i, name;
-
-				for (i = 0; i < names.length; i++) {
-					name = names[i];
-
-					if (!checkedMap[name] && matchNode(node, name, vars)) {
-						checkedMap[name] = true;
-						matchedFormatNames.push(name);
-					}
-				}
-			}, dom.getRoot());
-
-			return matchedFormatNames;
-		}
-
-		/**
-		 * Returns true/false if the specified format can be applied to the current selection or not. It
-		 * will currently only check the state for selector formats, it returns true on all other format types.
-		 *
-		 * @method canApply
-		 * @param {String} name Name of format to check.
-		 * @return {boolean} true/false if the specified format can be applied to the current selection/node.
-		 */
-		function canApply(name) {
-			var formatList = get(name), startNode, parents, i, x, selector;
-
-			if (formatList) {
-				startNode = selection.getStart();
-				parents = getParents(startNode);
-
-				for (x = formatList.length - 1; x >= 0; x--) {
-					selector = formatList[x].selector;
-
-					// Format is not selector based then always return TRUE
-					// Is it has a defaultBlock then it's likely it can be applied for example align on a non block element line
-					if (!selector || formatList[x].defaultBlock) {
-						return TRUE;
-					}
-
-					for (i = parents.length - 1; i >= 0; i--) {
-						if (dom.is(parents[i], selector)) {
-							return TRUE;
-						}
-					}
-				}
-			}
-
-			return FALSE;
-		}
-
-		/**
-		 * Executes the specified callback when the current selection matches the formats or not.
-		 *
-		 * @method formatChanged
-		 * @param {String} formats Comma separated list of formats to check for.
-		 * @param {function} callback Callback with state and args when the format is changed/toggled on/off.
-		 * @param {Boolean} similar True/false state if the match should handle similar or exact formats.
-		 */
-		function formatChanged(formats, callback, similar) {
-			var currentFormats;
-
-			// Setup format node change logic
-			if (!formatChangeData) {
-				formatChangeData = {};
-				currentFormats = {};
-
-				ed.on('NodeChange', function(e) {
-					var parents = getParents(e.element), matchedFormats = {};
-
-					// Ignore bogus nodes like the <a> tag created by moveStart()
-					parents = Tools.grep(parents, function(node) {
-						return node.nodeType == 1 && !node.getAttribute('data-mce-bogus');
-					});
-
-					// Check for new formats
-					each(formatChangeData, function(callbacks, format) {
-						each(parents, function(node) {
-							if (matchNode(node, format, {}, callbacks.similar)) {
-								if (!currentFormats[format]) {
-									// Execute callbacks
-									each(callbacks, function(callback) {
-										callback(true, {node: node, format: format, parents: parents});
-									});
-
-									currentFormats[format] = callbacks;
-								}
-
-								matchedFormats[format] = callbacks;
-								return false;
-							}
-						});
-					});
-
-					// Check if current formats still match
-					each(currentFormats, function(callbacks, format) {
-						if (!matchedFormats[format]) {
-							delete currentFormats[format];
-
-							each(callbacks, function(callback) {
-								callback(false, {node: e.element, format: format, parents: parents});
-							});
-						}
-					});
-				});
-			}
-
-			// Add format listeners
-			each(formats.split(','), function(format) {
-				if (!formatChangeData[format]) {
-					formatChangeData[format] = [];
-					formatChangeData[format].similar = similar;
-				}
-
-				formatChangeData[format].push(callback);
-			});
-
-			return this;
-		}
-
-		/**
-		 * Returns a preview css text for the specified format.
-		 *
-		 * @method getCssText
-		 * @param {String/Object} format Format to generate preview css text for.
-		 * @return {String} Css text for the specified format.
-		 * @example
-		 * var cssText1 = editor.formatter.getCssText('bold');
-		 * var cssText2 = editor.formatter.getCssText({inline: 'b'});
-		 */
-		function getCssText(format) {
-			return Preview.getCssText(ed, format);
-		}
-
-		// Expose to public
-		extend(this, {
-			get: get,
-			register: register,
-			unregister: unregister,
-			apply: apply,
-			remove: remove,
-			toggle: toggle,
-			match: match,
-			matchAll: matchAll,
-			matchNode: matchNode,
-			canApply: canApply,
-			formatChanged: formatChanged,
-			getCssText: getCssText
-		});
-
-		// Initialize
-		defaultFormats();
-		addKeyboardShortcuts();
-		ed.on('BeforeGetContent', function(e) {
-			if (markCaretContainersBogus && e.format != 'raw') {
-				markCaretContainersBogus();
-			}
-		});
-		ed.on('mouseup keydown', function(e) {
-			if (disableCaretContainer) {
-				disableCaretContainer(e);
-			}
-		});
-
-		// Private functions
-
-		/**
-		 * Checks if the specified nodes name matches the format inline/block or selector.
-		 *
-		 * @private
-		 * @param {Node} node Node to match against the specified format.
-		 * @param {Object} format Format object o match with.
-		 * @return {boolean} true/false if the format matches.
-		 */
-		function matchName(node, format) {
-			// Check for inline match
-			if (isEq(node, format.inline)) {
-				return TRUE;
-			}
-
-			// Check for block match
-			if (isEq(node, format.block)) {
-				return TRUE;
-			}
-
-			// Check for selector match
-			if (format.selector) {
-				return node.nodeType == 1 && dom.is(node, format.selector);
-			}
-		}
-
-		/**
-		 * Compares two string/nodes regardless of their case.
-		 *
-		 * @private
-		 * @param {String/Node} Node or string to compare.
-		 * @param {String/Node} Node or string to compare.
-		 * @return {boolean} True/false if they match.
-		 */
-		function isEq(str1, str2) {
-			str1 = str1 || '';
-			str2 = str2 || '';
-
-			str1 = '' + (str1.nodeName || str1);
-			str2 = '' + (str2.nodeName || str2);
-
-			return str1.toLowerCase() == str2.toLowerCase();
-		}
-
-		/**
-		 * Returns the style by name on the specified node. This method modifies the style
-		 * contents to make it more easy to match. This will resolve a few browser issues.
-		 *
-		 * @private
-		 * @param {Node} node to get style from.
-		 * @param {String} name Style name to get.
-		 * @return {String} Style item value.
-		 */
-		function getStyle(node, name) {
-			return normalizeStyleValue(dom.getStyle(node, name), name);
-		}
-
-		/**
-		 * Normalize style value by name. This method modifies the style contents
-		 * to make it more easy to match. This will resolve a few browser issues.
-		 *
-		 * @private
-		 * @param {Node} node to get style from.
-		 * @param {String} name Style name to get.
-		 * @return {String} Style item value.
-		 */
-		function normalizeStyleValue(value, name) {
-			// Force the format to hex
-			if (name == 'color' || name == 'backgroundColor') {
-				value = dom.toHex(value);
-			}
-
-			// Opera will return bold as 700
-			if (name == 'fontWeight' && value == 700) {
-				value = 'bold';
-			}
-
-			// Normalize fontFamily so "'Font name', Font" becomes: "Font name,Font"
-			if (name == 'fontFamily') {
-				value = value.replace(/[\'\"]/g, '').replace(/,\s+/g, ',');
-			}
-
-			return '' + value;
-		}
-
-		/**
-		 * Replaces variables in the value. The variable format is %var.
-		 *
-		 * @private
-		 * @param {String} value Value to replace variables in.
-		 * @param {Object} vars Name/value array with variables to replace.
-		 * @return {String} New value with replaced variables.
-		 */
-		function replaceVars(value, vars) {
-			if (typeof value != "string") {
-				value = value(vars);
-			} else if (vars) {
-				value = value.replace(/%(\w+)/g, function(str, name) {
-					return vars[name] || str;
-				});
-			}
-
-			return value;
-		}
-
-		function isWhiteSpaceNode(node) {
-			return node && node.nodeType === 3 && /^([\t \r\n]+|)$/.test(node.nodeValue);
-		}
-
-		function wrap(node, name, attrs) {
-			var wrapper = dom.create(name, attrs);
-
-			node.parentNode.insertBefore(wrapper, node);
-			wrapper.appendChild(node);
-
-			return wrapper;
-		}
-
-		/**
-		 * Expands the specified range like object to depending on format.
-		 *
-		 * For example on block formats it will move the start/end position
-		 * to the beginning of the current block.
-		 *
-		 * @private
-		 * @param {Object} rng Range like object.
-		 * @param {Array} formats Array with formats to expand by.
-		 * @return {Object} Expanded range like object.
-		 */
-		function expandRng(rng, format, remove) {
-			var lastIdx, leaf, endPoint,
-				startContainer = rng.startContainer,
-				startOffset = rng.startOffset,
-				endContainer = rng.endContainer,
-				endOffset = rng.endOffset;
-
-			// This function walks up the tree if there is no siblings before/after the node
-			function findParentContainer(start) {
-				var container, parent, sibling, siblingName, root;
-
-				container = parent = start ? startContainer : endContainer;
-				siblingName = start ? 'previousSibling' : 'nextSibling';
-				root = dom.getRoot();
-
-				function isBogusBr(node) {
-					return node.nodeName == "BR" && node.getAttribute('data-mce-bogus') && !node.nextSibling;
-				}
-
-				// If it's a text node and the offset is inside the text
-				if (container.nodeType == 3 && !isWhiteSpaceNode(container)) {
-					if (start ? startOffset > 0 : endOffset < container.nodeValue.length) {
-						return container;
-					}
-				}
-
-				/*eslint no-constant-condition:0 */
-				while (true) {
-					// Stop expanding on block elements
-					if (!format[0].block_expand && isBlock(parent)) {
-						return parent;
-					}
-
-					// Walk left/right
-					for (sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) {
-						if (!isBookmarkNode(sibling) && !isWhiteSpaceNode(sibling) && !isBogusBr(sibling)) {
-							return parent;
-						}
-					}
-
-					// Check if we can move up are we at root level or body level
-					if (parent.parentNode == root) {
-						container = parent;
-						break;
-					}
-
-					parent = parent.parentNode;
-				}
-
-				return container;
-			}
-
-			// This function walks down the tree to find the leaf at the selection.
-			// The offset is also returned as if node initially a leaf, the offset may be in the middle of the text node.
-			function findLeaf(node, offset) {
-				if (offset === undef) {
-					offset = node.nodeType === 3 ? node.length : node.childNodes.length;
-				}
-
-				while (node && node.hasChildNodes()) {
-					node = node.childNodes[offset];
-					if (node) {
-						offset = node.nodeType === 3 ? node.length : node.childNodes.length;
-					}
-				}
-				return {node: node, offset: offset};
-			}
-
-			// If index based start position then resolve it
-			if (startContainer.nodeType == 1 && startContainer.hasChildNodes()) {
-				lastIdx = startContainer.childNodes.length - 1;
-				startContainer = startContainer.childNodes[startOffset > lastIdx ? lastIdx : startOffset];
-
-				if (startContainer.nodeType == 3) {
-					startOffset = 0;
-				}
-			}
-
-			// If index based end position then resolve it
-			if (endContainer.nodeType == 1 && endContainer.hasChildNodes()) {
-				lastIdx = endContainer.childNodes.length - 1;
-				endContainer = endContainer.childNodes[endOffset > lastIdx ? lastIdx : endOffset - 1];
-
-				if (endContainer.nodeType == 3) {
-					endOffset = endContainer.nodeValue.length;
-				}
-			}
-
-			// Expands the node to the closes contentEditable false element if it exists
-			function findParentContentEditable(node) {
-				var parent = node;
-
-				while (parent) {
-					if (parent.nodeType === 1 && getContentEditable(parent)) {
-						return getContentEditable(parent) === "false" ? parent : node;
-					}
-
-					parent = parent.parentNode;
-				}
-
-				return node;
-			}
-
-			function findWordEndPoint(container, offset, start) {
-				var walker, node, pos, lastTextNode;
-
-				function findSpace(node, offset) {
-					var pos, pos2, str = node.nodeValue;
-
-					if (typeof offset == "undefined") {
-						offset = start ? str.length : 0;
-					}
-
-					if (start) {
-						pos = str.lastIndexOf(' ', offset);
-						pos2 = str.lastIndexOf('\u00a0', offset);
-						pos = pos > pos2 ? pos : pos2;
-
-						// Include the space on remove to avoid tag soup
-						if (pos !== -1 && !remove) {
-							pos++;
-						}
-					} else {
-						pos = str.indexOf(' ', offset);
-						pos2 = str.indexOf('\u00a0', offset);
-						pos = pos !== -1 && (pos2 === -1 || pos < pos2) ? pos : pos2;
-					}
-
-					return pos;
-				}
-
-				if (container.nodeType === 3) {
-					pos = findSpace(container, offset);
-
-					if (pos !== -1) {
-						return {container: container, offset: pos};
-					}
-
-					lastTextNode = container;
-				}
-
-				// Walk the nodes inside the block
-				walker = new TreeWalker(container, dom.getParent(container, isBlock) || ed.getBody());
-				while ((node = walker[start ? 'prev' : 'next']())) {
-					if (node.nodeType === 3) {
-						lastTextNode = node;
-						pos = findSpace(node);
-
-						if (pos !== -1) {
-							return {container: node, offset: pos};
-						}
-					} else if (isBlock(node)) {
-						break;
-					}
-				}
-
-				if (lastTextNode) {
-					if (start) {
-						offset = 0;
-					} else {
-						offset = lastTextNode.length;
-					}
-
-					return {container: lastTextNode, offset: offset};
-				}
-			}
-
-			function findSelectorEndPoint(container, sibling_name) {
-				var parents, i, y, curFormat;
-
-				if (container.nodeType == 3 && container.nodeValue.length === 0 && container[sibling_name]) {
-					container = container[sibling_name];
-				}
-
-				parents = getParents(container);
-				for (i = 0; i < parents.length; i++) {
-					for (y = 0; y < format.length; y++) {
-						curFormat = format[y];
-
-						// If collapsed state is set then skip formats that doesn't match that
-						if ("collapsed" in curFormat && curFormat.collapsed !== rng.collapsed) {
-							continue;
-						}
-
-						if (dom.is(parents[i], curFormat.selector)) {
-							return parents[i];
-						}
-					}
-				}
-
-				return container;
-			}
-
-			function findBlockEndPoint(container, sibling_name) {
-				var node, root = dom.getRoot();
-
-				// Expand to block of similar type
-				if (!format[0].wrapper) {
-					node = dom.getParent(container, format[0].block, root);
-				}
-
-				// Expand to first wrappable block element or any block element
-				if (!node) {
-					node = dom.getParent(container.nodeType == 3 ? container.parentNode : container, function(node) {
-						// Fixes #6183 where it would expand to editable parent element in inline mode
-						return node != root && isTextBlock(node);
-					});
-				}
-
-				// Exclude inner lists from wrapping
-				if (node && format[0].wrapper) {
-					node = getParents(node, 'ul,ol').reverse()[0] || node;
-				}
-
-				// Didn't find a block element look for first/last wrappable element
-				if (!node) {
-					node = container;
-
-					while (node[sibling_name] && !isBlock(node[sibling_name])) {
-						node = node[sibling_name];
-
-						// Break on BR but include it will be removed later on
-						// we can't remove it now since we need to check if it can be wrapped
-						if (isEq(node, 'br')) {
-							break;
-						}
-					}
-				}
-
-				return node || container;
-			}
-
-			// Expand to closest contentEditable element
-			startContainer = findParentContentEditable(startContainer);
-			endContainer = findParentContentEditable(endContainer);
-
-			// Exclude bookmark nodes if possible
-			if (isBookmarkNode(startContainer.parentNode) || isBookmarkNode(startContainer)) {
-				startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode;
-				startContainer = startContainer.nextSibling || startContainer;
-
-				if (startContainer.nodeType == 3) {
-					startOffset = 0;
-				}
-			}
-
-			if (isBookmarkNode(endContainer.parentNode) || isBookmarkNode(endContainer)) {
-				endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode;
-				endContainer = endContainer.previousSibling || endContainer;
-
-				if (endContainer.nodeType == 3) {
-					endOffset = endContainer.length;
-				}
-			}
-
-			if (format[0].inline) {
-				if (rng.collapsed) {
-					// Expand left to closest word boundary
-					endPoint = findWordEndPoint(startContainer, startOffset, true);
-					if (endPoint) {
-						startContainer = endPoint.container;
-						startOffset = endPoint.offset;
-					}
-
-					// Expand right to closest word boundary
-					endPoint = findWordEndPoint(endContainer, endOffset);
-					if (endPoint) {
-						endContainer = endPoint.container;
-						endOffset = endPoint.offset;
-					}
-				}
-
-				// Avoid applying formatting to a trailing space.
-				leaf = findLeaf(endContainer, endOffset);
-				if (leaf.node) {
-					while (leaf.node && leaf.offset === 0 && leaf.node.previousSibling) {
-						leaf = findLeaf(leaf.node.previousSibling);
-					}
-
-					if (leaf.node && leaf.offset > 0 && leaf.node.nodeType === 3 &&
-							leaf.node.nodeValue.charAt(leaf.offset - 1) === ' ') {
-
-						if (leaf.offset > 1) {
-							endContainer = leaf.node;
-							endContainer.splitText(leaf.offset - 1);
-						}
-					}
-				}
-			}
-
-			// Move start/end point up the tree if the leaves are sharp and if we are in different containers
-			// Example * becomes !: !<p><b><i>*text</i><i>text*</i></b></p>!
-			// This will reduce the number of wrapper elements that needs to be created
-			// Move start point up the tree
-			if (format[0].inline || format[0].block_expand) {
-				if (!format[0].inline || (startContainer.nodeType != 3 || startOffset === 0)) {
-					startContainer = findParentContainer(true);
-				}
-
-				if (!format[0].inline || (endContainer.nodeType != 3 || endOffset === endContainer.nodeValue.length)) {
-					endContainer = findParentContainer();
-				}
-			}
-
-			// Expand start/end container to matching selector
-			if (format[0].selector && format[0].expand !== FALSE && !format[0].inline) {
-				// Find new startContainer/endContainer if there is better one
-				startContainer = findSelectorEndPoint(startContainer, 'previousSibling');
-				endContainer = findSelectorEndPoint(endContainer, 'nextSibling');
-			}
-
-			// Expand start/end container to matching block element or text node
-			if (format[0].block || format[0].selector) {
-				// Find new startContainer/endContainer if there is better one
-				startContainer = findBlockEndPoint(startContainer, 'previousSibling');
-				endContainer = findBlockEndPoint(endContainer, 'nextSibling');
-
-				// Non block element then try to expand up the leaf
-				if (format[0].block) {
-					if (!isBlock(startContainer)) {
-						startContainer = findParentContainer(true);
-					}
-
-					if (!isBlock(endContainer)) {
-						endContainer = findParentContainer();
-					}
-				}
-			}
-
-			// Setup index for startContainer
-			if (startContainer.nodeType == 1) {
-				startOffset = nodeIndex(startContainer);
-				startContainer = startContainer.parentNode;
-			}
-
-			// Setup index for endContainer
-			if (endContainer.nodeType == 1) {
-				endOffset = nodeIndex(endContainer) + 1;
-				endContainer = endContainer.parentNode;
-			}
-
-			// Return new range like object
-			return {
-				startContainer: startContainer,
-				startOffset: startOffset,
-				endContainer: endContainer,
-				endOffset: endOffset
-			};
-		}
-
-		function isColorFormatAndAnchor(node, format) {
-			return format.links && node.tagName == 'A';
-		}
-
-		/**
-		 * Removes the specified format for the specified node. It will also remove the node if it doesn't have
-		 * any attributes if the format specifies it to do so.
-		 *
-		 * @private
-		 * @param {Object} format Format object with items to remove from node.
-		 * @param {Object} vars Name/value object with variables to apply to format.
-		 * @param {Node} node Node to remove the format styles on.
-		 * @param {Node} compare_node Optional compare node, if specified the styles will be compared to that node.
-		 * @return {Boolean} True/false if the node was removed or not.
-		 */
-		function removeFormat(format, vars, node, compare_node) {
-			var i, attrs, stylesModified;
-
-			// Check if node matches format
-			if (!matchName(node, format) && !isColorFormatAndAnchor(node, format)) {
-				return FALSE;
-			}
-
-			// Should we compare with format attribs and styles
-			if (format.remove != 'all') {
-				// Remove styles
-				each(format.styles, function(value, name) {
-					value = normalizeStyleValue(replaceVars(value, vars), name);
-
-					// Indexed array
-					if (typeof name === 'number') {
-						name = value;
-						compare_node = 0;
-					}
-
-					if (format.remove_similar || (!compare_node || isEq(getStyle(compare_node, name), value))) {
-						dom.setStyle(node, name, '');
-					}
-
-					stylesModified = 1;
-				});
-
-				// Remove style attribute if it's empty
-				if (stylesModified && dom.getAttrib(node, 'style') === '') {
-					node.removeAttribute('style');
-					node.removeAttribute('data-mce-style');
-				}
-
-				// Remove attributes
-				each(format.attributes, function(value, name) {
-					var valueOut;
-
-					value = replaceVars(value, vars);
-
-					// Indexed array
-					if (typeof name === 'number') {
-						name = value;
-						compare_node = 0;
-					}
-
-					if (!compare_node || isEq(dom.getAttrib(compare_node, name), value)) {
-						// Keep internal classes
-						if (name == 'class') {
-							value = dom.getAttrib(node, name);
-							if (value) {
-								// Build new class value where everything is removed except the internal prefixed classes
-								valueOut = '';
-								each(value.split(/\s+/), function(cls) {
-									if (/mce\-\w+/.test(cls)) {
-										valueOut += (valueOut ? ' ' : '') + cls;
-									}
-								});
-
-								// We got some internal classes left
-								if (valueOut) {
-									dom.setAttrib(node, name, valueOut);
-									return;
-								}
-							}
-						}
-
-						// IE6 has a bug where the attribute doesn't get removed correctly
-						if (name == "class") {
-							node.removeAttribute('className');
-						}
-
-						// Remove mce prefixed attributes
-						if (MCE_ATTR_RE.test(name)) {
-							node.removeAttribute('data-mce-' + name);
-						}
-
-						node.removeAttribute(name);
-					}
-				});
-
-				// Remove classes
-				each(format.classes, function(value) {
-					value = replaceVars(value, vars);
-
-					if (!compare_node || dom.hasClass(compare_node, value)) {
-						dom.removeClass(node, value);
-					}
-				});
-
-				// Check for non internal attributes
-				attrs = dom.getAttribs(node);
-				for (i = 0; i < attrs.length; i++) {
-					if (attrs[i].nodeName.indexOf('_') !== 0) {
-						return FALSE;
-					}
-				}
-			}
-
-			// Remove the inline child if it's empty for example <b> or <span>
-			if (format.remove != 'none') {
-				removeNode(node, format);
-				return TRUE;
-			}
-		}
-
-		/**
-		 * Removes the node and wrap it's children in paragraphs before doing so or
-		 * appends BR elements to the beginning/end of the block element if forcedRootBlocks is disabled.
-		 *
-		 * If the div in the node below gets removed:
-		 *  text<div>text</div>text
-		 *
-		 * Output becomes:
-		 *  text<div><br />text<br /></div>text
-		 *
-		 * So when the div is removed the result is:
-		 *  text<br />text<br />text
-		 *
-		 * @private
-		 * @param {Node} node Node to remove + apply BR/P elements to.
-		 * @param {Object} format Format rule.
-		 * @return {Node} Input node.
-		 */
-		function removeNode(node, format) {
-			var parentNode = node.parentNode, rootBlockElm;
-
-			function find(node, next, inc) {
-				node = getNonWhiteSpaceSibling(node, next, inc);
-
-				return !node || (node.nodeName == 'BR' || isBlock(node));
-			}
-
-			if (format.block) {
-				if (!forcedRootBlock) {
-					// Append BR elements if needed before we remove the block
-					if (isBlock(node) && !isBlock(parentNode)) {
-						if (!find(node, FALSE) && !find(node.firstChild, TRUE, 1)) {
-							node.insertBefore(dom.create('br'), node.firstChild);
-						}
-
-						if (!find(node, TRUE) && !find(node.lastChild, FALSE, 1)) {
-							node.appendChild(dom.create('br'));
-						}
-					}
-				} else {
-					// Wrap the block in a forcedRootBlock if we are at the root of document
-					if (parentNode == dom.getRoot()) {
-						if (!format.list_block || !isEq(node, format.list_block)) {
-							each(grep(node.childNodes), function(node) {
-								if (isValid(forcedRootBlock, node.nodeName.toLowerCase())) {
-									if (!rootBlockElm) {
-										rootBlockElm = wrap(node, forcedRootBlock);
-										dom.setAttribs(rootBlockElm, ed.settings.forced_root_block_attrs);
-									} else {
-										rootBlockElm.appendChild(node);
-									}
-								} else {
-									rootBlockElm = 0;
-								}
-							});
-						}
-					}
-				}
-			}
-
-			// Never remove nodes that isn't the specified inline element if a selector is specified too
-			if (format.selector && format.inline && !isEq(format.inline, node)) {
-				return;
-			}
-
-			dom.remove(node, 1);
-		}
-
-		/**
-		 * Returns the next/previous non whitespace node.
-		 *
-		 * @private
-		 * @param {Node} node Node to start at.
-		 * @param {boolean} next (Optional) Include next or previous node defaults to previous.
-		 * @param {boolean} inc (Optional) Include the current node in checking. Defaults to false.
-		 * @return {Node} Next or previous node or undefined if it wasn't found.
-		 */
-		function getNonWhiteSpaceSibling(node, next, inc) {
-			if (node) {
-				next = next ? 'nextSibling' : 'previousSibling';
-
-				for (node = inc ? node : node[next]; node; node = node[next]) {
-					if (node.nodeType == 1 || !isWhiteSpaceNode(node)) {
-						return node;
-					}
-				}
-			}
-		}
-
-		/**
-		 * Merges the next/previous sibling element if they match.
-		 *
-		 * @private
-		 * @param {Node} prev Previous node to compare/merge.
-		 * @param {Node} next Next node to compare/merge.
-		 * @return {Node} Next node if we didn't merge and prev node if we did.
-		 */
-		function mergeSiblings(prev, next) {
-			var sibling, tmpSibling, elementUtils = new ElementUtils(dom);
-
-			function findElementSibling(node, sibling_name) {
-				for (sibling = node; sibling; sibling = sibling[sibling_name]) {
-					if (sibling.nodeType == 3 && sibling.nodeValue.length !== 0) {
-						return node;
-					}
-
-					if (sibling.nodeType == 1 && !isBookmarkNode(sibling)) {
-						return sibling;
-					}
-				}
-
-				return node;
-			}
-
-			// Check if next/prev exists and that they are elements
-			if (prev && next) {
-				// If previous sibling is empty then jump over it
-				prev = findElementSibling(prev, 'previousSibling');
-				next = findElementSibling(next, 'nextSibling');
-
-				// Compare next and previous nodes
-				if (elementUtils.compare(prev, next)) {
-					// Append nodes between
-					for (sibling = prev.nextSibling; sibling && sibling != next;) {
-						tmpSibling = sibling;
-						sibling = sibling.nextSibling;
-						prev.appendChild(tmpSibling);
-					}
-
-					// Remove next node
-					dom.remove(next);
-
-					// Move children into prev node
-					each(grep(next.childNodes), function(node) {
-						prev.appendChild(node);
-					});
-
-					return prev;
-				}
-			}
-
-			return next;
-		}
-
-		function getContainer(rng, start) {
-			var container, offset, lastIdx;
-
-			container = rng[start ? 'startContainer' : 'endContainer'];
-			offset = rng[start ? 'startOffset' : 'endOffset'];
-
-			if (container.nodeType == 1) {
-				lastIdx = container.childNodes.length - 1;
-
-				if (!start && offset) {
-					offset--;
-				}
-
-				container = container.childNodes[offset > lastIdx ? lastIdx : offset];
-			}
-
-			// If start text node is excluded then walk to the next node
-			if (container.nodeType === 3 && start && offset >= container.nodeValue.length) {
-				container = new TreeWalker(container, ed.getBody()).next() || container;
-			}
-
-			// If end text node is excluded then walk to the previous node
-			if (container.nodeType === 3 && !start && offset === 0) {
-				container = new TreeWalker(container, ed.getBody()).prev() || container;
-			}
-
-			return container;
-		}
-
-		function performCaretAction(type, name, vars, similar) {
-			var caretContainerId = '_mce_caret', debug = ed.settings.caret_debug;
-
-			// Creates a caret container bogus element
-			function createCaretContainer(fill) {
-				var caretContainer = dom.create('span', {id: caretContainerId, 'data-mce-bogus': true, style: debug ? 'color:red' : ''});
-
-				if (fill) {
-					caretContainer.appendChild(ed.getDoc().createTextNode(INVISIBLE_CHAR));
-				}
-
-				return caretContainer;
-			}
-
-			function isCaretContainerEmpty(node, nodes) {
-				while (node) {
-					if ((node.nodeType === 3 && node.nodeValue !== INVISIBLE_CHAR) || node.childNodes.length > 1) {
-						return false;
-					}
-
-					// Collect nodes
-					if (nodes && node.nodeType === 1) {
-						nodes.push(node);
-					}
-
-					node = node.firstChild;
-				}
-
-				return true;
-			}
-
-			// Returns any parent caret container element
-			function getParentCaretContainer(node) {
-				while (node) {
-					if (node.id === caretContainerId) {
-						return node;
-					}
-
-					node = node.parentNode;
-				}
-			}
-
-			// Finds the first text node in the specified node
-			function findFirstTextNode(node) {
-				var walker;
-
-				if (node) {
-					walker = new TreeWalker(node, node);
-
-					for (node = walker.current(); node; node = walker.next()) {
-						if (node.nodeType === 3) {
-							return node;
-						}
-					}
-				}
-			}
-
-			// Removes the caret container for the specified node or all on the current document
-			function removeCaretContainer(node, move_caret) {
-				var child, rng;
-
-				if (!node) {
-					node = getParentCaretContainer(selection.getStart());
-
-					if (!node) {
-						while ((node = dom.get(caretContainerId))) {
-							removeCaretContainer(node, false);
-						}
-					}
-				} else {
-					rng = selection.getRng(true);
-
-					if (isCaretContainerEmpty(node)) {
-						if (move_caret !== false) {
-							rng.setStartBefore(node);
-							rng.setEndBefore(node);
-						}
-
-						dom.remove(node);
-					} else {
-						child = findFirstTextNode(node);
-
-						if (child.nodeValue.charAt(0) === INVISIBLE_CHAR) {
-							child.deleteData(0, 1);
-
-							// Fix for bug #6976
-							if (rng.startContainer == child && rng.startOffset > 0) {
-								rng.setStart(child, rng.startOffset - 1);
-							}
-
-							if (rng.endContainer == child && rng.endOffset > 0) {
-								rng.setEnd(child, rng.endOffset - 1);
-							}
-						}
-
-						dom.remove(node, 1);
-					}
-
-					selection.setRng(rng);
-				}
-			}
-
-			// Applies formatting to the caret postion
-			function applyCaretFormat() {
-				var rng, caretContainer, textNode, offset, bookmark, container, text;
-
-				rng = selection.getRng(true);
-				offset = rng.startOffset;
-				container = rng.startContainer;
-				text = container.nodeValue;
-
-				caretContainer = getParentCaretContainer(selection.getStart());
-				if (caretContainer) {
-					textNode = findFirstTextNode(caretContainer);
-				}
-
-				// Expand to word is caret is in the middle of a text node and the char before/after is a alpha numeric character
-				if (text && offset > 0 && offset < text.length && /\w/.test(text.charAt(offset)) && /\w/.test(text.charAt(offset - 1))) {
-					// Get bookmark of caret position
-					bookmark = selection.getBookmark();
-
-					// Collapse bookmark range (WebKit)
-					rng.collapse(true);
-
-					// Expand the range to the closest word and split it at those points
-					rng = expandRng(rng, get(name));
-					rng = rangeUtils.split(rng);
-
-					// Apply the format to the range
-					apply(name, vars, rng);
-
-					// Move selection back to caret position
-					selection.moveToBookmark(bookmark);
-				} else {
-					if (!caretContainer || textNode.nodeValue !== INVISIBLE_CHAR) {
-						caretContainer = createCaretContainer(true);
-						textNode = caretContainer.firstChild;
-
-						rng.insertNode(caretContainer);
-						offset = 1;
-
-						apply(name, vars, caretContainer);
-					} else {
-						apply(name, vars, caretContainer);
-					}
-
-					// Move selection to text node
-					selection.setCursorLocation(textNode, offset);
-				}
-			}
-
-			function removeCaretFormat() {
-				var rng = selection.getRng(true), container, offset, bookmark,
-					hasContentAfter, node, formatNode, parents = [], i, caretContainer;
-
-				container = rng.startContainer;
-				offset = rng.startOffset;
-				node = container;
-
-				if (container.nodeType == 3) {
-					if (offset != container.nodeValue.length) {
-						hasContentAfter = true;
-					}
-
-					node = node.parentNode;
-				}
-
-				while (node) {
-					if (matchNode(node, name, vars, similar)) {
-						formatNode = node;
-						break;
-					}
-
-					if (node.nextSibling) {
-						hasContentAfter = true;
-					}
-
-					parents.push(node);
-					node = node.parentNode;
-				}
-
-				// Node doesn't have the specified format
-				if (!formatNode) {
-					return;
-				}
-
-				// Is there contents after the caret then remove the format on the element
-				if (hasContentAfter) {
-					// Get bookmark of caret position
-					bookmark = selection.getBookmark();
-
-					// Collapse bookmark range (WebKit)
-					rng.collapse(true);
-
-					// Expand the range to the closest word and split it at those points
-					rng = expandRng(rng, get(name), true);
-					rng = rangeUtils.split(rng);
-
-					// Remove the format from the range
-					remove(name, vars, rng);
-
-					// Move selection back to caret position
-					selection.moveToBookmark(bookmark);
-				} else {
-					caretContainer = createCaretContainer();
-
-					node = caretContainer;
-					for (i = parents.length - 1; i >= 0; i--) {
-						node.appendChild(dom.clone(parents[i], false));
-						node = node.firstChild;
-					}
-
-					// Insert invisible character into inner most format element
-					node.appendChild(dom.doc.createTextNode(INVISIBLE_CHAR));
-					node = node.firstChild;
-
-					var block = dom.getParent(formatNode, isTextBlock);
-
-					if (block && dom.isEmpty(block)) {
-						// Replace formatNode with caretContainer when removing format from empty block like <p><b>|</b></p>
-						formatNode.parentNode.replaceChild(caretContainer, formatNode);
-					} else {
-						// Insert caret container after the formated node
-						dom.insertAfter(caretContainer, formatNode);
-					}
-
-					// Move selection to text node
-					selection.setCursorLocation(node, 1);
-
-					// If the formatNode is empty, we can remove it safely.
-					if (dom.isEmpty(formatNode)) {
-						dom.remove(formatNode);
-					}
-				}
-			}
-
-			// Checks if the parent caret container node isn't empty if that is the case it
-			// will remove the bogus state on all children that isn't empty
-			function unmarkBogusCaretParents() {
-				var caretContainer;
-
-				caretContainer = getParentCaretContainer(selection.getStart());
-				if (caretContainer && !dom.isEmpty(caretContainer)) {
-					walk(caretContainer, function(node) {
-						if (node.nodeType == 1 && node.id !== caretContainerId && !dom.isEmpty(node)) {
-							dom.setAttrib(node, 'data-mce-bogus', null);
-						}
-					}, 'childNodes');
-				}
-			}
-
-			// Only bind the caret events once
-			if (!ed._hasCaretEvents) {
-				// Mark current caret container elements as bogus when getting the contents so we don't end up with empty elements
-				markCaretContainersBogus = function() {
-					var nodes = [], i;
-
-					if (isCaretContainerEmpty(getParentCaretContainer(selection.getStart()), nodes)) {
-						// Mark children
-						i = nodes.length;
-						while (i--) {
-							dom.setAttrib(nodes[i], 'data-mce-bogus', '1');
-						}
-					}
-				};
-
-				disableCaretContainer = function(e) {
-					var keyCode = e.keyCode;
-
-					removeCaretContainer();
-
-					// Remove caret container on keydown and it's a backspace, enter or left/right arrow keys
-					// Backspace key needs to check if the range is collapsed due to bug #6780
-					if ((keyCode == 8 && selection.isCollapsed()) || keyCode == 37 || keyCode == 39) {
-						removeCaretContainer(getParentCaretContainer(selection.getStart()));
-					}
-
-					unmarkBogusCaretParents();
-				};
-
-				// Remove bogus state if they got filled by contents using editor.selection.setContent
-				ed.on('SetContent', function(e) {
-					if (e.selection) {
-						unmarkBogusCaretParents();
-					}
-				});
-				ed._hasCaretEvents = true;
-			}
-
-			// Do apply or remove caret format
-			if (type == "apply") {
-				applyCaretFormat();
-			} else {
-				removeCaretFormat();
-			}
-		}
-
-		/**
-		 * Moves the start to the first suitable text node.
-		 */
-		function moveStart(rng) {
-			var container = rng.startContainer,
-					offset = rng.startOffset, isAtEndOfText,
-					walker, node, nodes, tmpNode;
-
-			// Convert text node into index if possible
-			if (container.nodeType == 3 && offset >= container.nodeValue.length) {
-				// Get the parent container location and walk from there
-				offset = nodeIndex(container);
-				container = container.parentNode;
-				isAtEndOfText = true;
-			}
-
-			// Move startContainer/startOffset in to a suitable node
-			if (container.nodeType == 1) {
-				nodes = container.childNodes;
-				container = nodes[Math.min(offset, nodes.length - 1)];
-				walker = new TreeWalker(container, dom.getParent(container, dom.isBlock));
-
-				// If offset is at end of the parent node walk to the next one
-				if (offset > nodes.length - 1 || isAtEndOfText) {
-					walker.next();
-				}
-
-				for (node = walker.current(); node; node = walker.next()) {
-					if (node.nodeType == 3 && !isWhiteSpaceNode(node)) {
-						// IE has a "neat" feature where it moves the start node into the closest element
-						// we can avoid this by inserting an element before it and then remove it after we set the selection
-						tmpNode = dom.create('a', {'data-mce-bogus': 'all'}, INVISIBLE_CHAR);
-						node.parentNode.insertBefore(tmpNode, node);
-
-						// Set selection and remove tmpNode
-						rng.setStart(node, 0);
-						selection.setRng(rng);
-						dom.remove(tmpNode);
-
-						return;
-					}
-				}
-			}
-		}
-	};
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/dom/EventUtils.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,563 +0,0 @@
-/**
- * EventUtils.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/*jshint loopfunc:true*/
-/*eslint no-loop-func:0 */
-
-/**
- * This class wraps the browsers native event logic with more convenient methods.
- *
- * @class tinymce.dom.EventUtils
- */
-define("tinymce/dom/EventUtils", [], function() {
-	"use strict";
-
-	var eventExpandoPrefix = "mce-data-";
-	var mouseEventRe = /^(?:mouse|contextmenu)|click/;
-	var deprecated = {keyLocation: 1, layerX: 1, layerY: 1, returnValue: 1};
-
-	/**
-	 * Binds a native event to a callback on the speified target.
-	 */
-	function addEvent(target, name, callback, capture) {
-		if (target.addEventListener) {
-			target.addEventListener(name, callback, capture || false);
-		} else if (target.attachEvent) {
-			target.attachEvent('on' + name, callback);
-		}
-	}
-
-	/**
-	 * Unbinds a native event callback on the specified target.
-	 */
-	function removeEvent(target, name, callback, capture) {
-		if (target.removeEventListener) {
-			target.removeEventListener(name, callback, capture || false);
-		} else if (target.detachEvent) {
-			target.detachEvent('on' + name, callback);
-		}
-	}
-
-	/**
-	 * Normalizes a native event object or just adds the event specific methods on a custom event.
-	 */
-	function fix(originalEvent, data) {
-		var name, event = data || {}, undef;
-
-		// Dummy function that gets replaced on the delegation state functions
-		function returnFalse() {
-			return false;
-		}
-
-		// Dummy function that gets replaced on the delegation state functions
-		function returnTrue() {
-			return true;
-		}
-
-		// Copy all properties from the original event
-		for (name in originalEvent) {
-			// layerX/layerY is deprecated in Chrome and produces a warning
-			if (!deprecated[name]) {
-				event[name] = originalEvent[name];
-			}
-		}
-
-		// Normalize target IE uses srcElement
-		if (!event.target) {
-			event.target = event.srcElement || document;
-		}
-
-		// Calculate pageX/Y if missing and clientX/Y available
-		if (originalEvent && mouseEventRe.test(originalEvent.type) && originalEvent.pageX === undef && originalEvent.clientX !== undef) {
-			var eventDoc = event.target.ownerDocument || document;
-			var doc = eventDoc.documentElement;
-			var body = eventDoc.body;
-
-			event.pageX = originalEvent.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) -
-				(doc && doc.clientLeft || body && body.clientLeft || 0);
-
-			event.pageY = originalEvent.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) -
-				(doc && doc.clientTop || body && body.clientTop || 0);
-		}
-
-		// Add preventDefault method
-		event.preventDefault = function() {
-			event.isDefaultPrevented = returnTrue;
-
-			// Execute preventDefault on the original event object
-			if (originalEvent) {
-				if (originalEvent.preventDefault) {
-					originalEvent.preventDefault();
-				} else {
-					originalEvent.returnValue = false; // IE
-				}
-			}
-		};
-
-		// Add stopPropagation
-		event.stopPropagation = function() {
-			event.isPropagationStopped = returnTrue;
-
-			// Execute stopPropagation on the original event object
-			if (originalEvent) {
-				if (originalEvent.stopPropagation) {
-					originalEvent.stopPropagation();
-				} else {
-					originalEvent.cancelBubble = true; // IE
-				}
-			}
-		};
-
-		// Add stopImmediatePropagation
-		event.stopImmediatePropagation = function() {
-			event.isImmediatePropagationStopped = returnTrue;
-			event.stopPropagation();
-		};
-
-		// Add event delegation states
-		if (!event.isDefaultPrevented) {
-			event.isDefaultPrevented = returnFalse;
-			event.isPropagationStopped = returnFalse;
-			event.isImmediatePropagationStopped = returnFalse;
-		}
-
-		return event;
-	}
-
-	/**
-	 * Bind a DOMContentLoaded event across browsers and executes the callback once the page DOM is initialized.
-	 * It will also set/check the domLoaded state of the event_utils instance so ready isn't called multiple times.
-	 */
-	function bindOnReady(win, callback, eventUtils) {
-		var doc = win.document, event = {type: 'ready'};
-
-		if (eventUtils.domLoaded) {
-			callback(event);
-			return;
-		}
-
-		// Gets called when the DOM is ready
-		function readyHandler() {
-			if (!eventUtils.domLoaded) {
-				eventUtils.domLoaded = true;
-				callback(event);
-			}
-		}
-
-		function waitForDomLoaded() {
-			// Check complete or interactive state if there is a body
-			// element on some iframes IE 8 will produce a null body
-			if (doc.readyState === "complete" || (doc.readyState === "interactive" && doc.body)) {
-				removeEvent(doc, "readystatechange", waitForDomLoaded);
-				readyHandler();
-			}
-		}
-
-		function tryScroll() {
-			try {
-				// If IE is used, use the trick by Diego Perini licensed under MIT by request to the author.
-				// http://javascript.nwbox.com/IEContentLoaded/
-				doc.documentElement.doScroll("left");
-			} catch (ex) {
-				setTimeout(tryScroll, 0);
-				return;
-			}
-
-			readyHandler();
-		}
-
-		// Use W3C method
-		if (doc.addEventListener) {
-			if (doc.readyState === "complete") {
-				readyHandler();
-			} else {
-				addEvent(win, 'DOMContentLoaded', readyHandler);
-			}
-		} else {
-			// Use IE method
-			addEvent(doc, "readystatechange", waitForDomLoaded);
-
-			// Wait until we can scroll, when we can the DOM is initialized
-			if (doc.documentElement.doScroll && win.self === win.top) {
-				tryScroll();
-			}
-		}
-
-		// Fallback if any of the above methods should fail for some odd reason
-		addEvent(win, 'load', readyHandler);
-	}
-
-	/**
-	 * This class enables you to bind/unbind native events to elements and normalize it's behavior across browsers.
-	 */
-	function EventUtils() {
-		var self = this, events = {}, count, expando, hasFocusIn, hasMouseEnterLeave, mouseEnterLeave;
-
-		expando = eventExpandoPrefix + (+new Date()).toString(32);
-		hasMouseEnterLeave = "onmouseenter" in document.documentElement;
-		hasFocusIn = "onfocusin" in document.documentElement;
-		mouseEnterLeave = {mouseenter: 'mouseover', mouseleave: 'mouseout'};
-		count = 1;
-
-		// State if the DOMContentLoaded was executed or not
-		self.domLoaded = false;
-		self.events = events;
-
-		/**
-		 * Executes all event handler callbacks for a specific event.
-		 *
-		 * @private
-		 * @param {Event} evt Event object.
-		 * @param {String} id Expando id value to look for.
-		 */
-		function executeHandlers(evt, id) {
-			var callbackList, i, l, callback, container = events[id];
-
-			callbackList = container && container[evt.type];
-			if (callbackList) {
-				for (i = 0, l = callbackList.length; i < l; i++) {
-					callback = callbackList[i];
-
-					// Check if callback exists might be removed if a unbind is called inside the callback
-					if (callback && callback.func.call(callback.scope, evt) === false) {
-						evt.preventDefault();
-					}
-
-					// Should we stop propagation to immediate listeners
-					if (evt.isImmediatePropagationStopped()) {
-						return;
-					}
-				}
-			}
-		}
-
-		/**
-		 * Binds a callback to an event on the specified target.
-		 *
-		 * @method bind
-		 * @param {Object} target Target node/window or custom object.
-		 * @param {String} names Name of the event to bind.
-		 * @param {function} callback Callback function to execute when the event occurs.
-		 * @param {Object} scope Scope to call the callback function on, defaults to target.
-		 * @return {function} Callback function that got bound.
-		 */
-		self.bind = function(target, names, callback, scope) {
-			var id, callbackList, i, name, fakeName, nativeHandler, capture, win = window;
-
-			// Native event handler function patches the event and executes the callbacks for the expando
-			function defaultNativeHandler(evt) {
-				executeHandlers(fix(evt || win.event), id);
-			}
-
-			// Don't bind to text nodes or comments
-			if (!target || target.nodeType === 3 || target.nodeType === 8) {
-				return;
-			}
-
-			// Create or get events id for the target
-			if (!target[expando]) {
-				id = count++;
-				target[expando] = id;
-				events[id] = {};
-			} else {
-				id = target[expando];
-			}
-
-			// Setup the specified scope or use the target as a default
-			scope = scope || target;
-
-			// Split names and bind each event, enables you to bind multiple events with one call
-			names = names.split(' ');
-			i = names.length;
-			while (i--) {
-				name = names[i];
-				nativeHandler = defaultNativeHandler;
-				fakeName = capture = false;
-
-				// Use ready instead of DOMContentLoaded
-				if (name === "DOMContentLoaded") {
-					name = "ready";
-				}
-
-				// DOM is already ready
-				if (self.domLoaded && name === "ready" && target.readyState == 'complete') {
-					callback.call(scope, fix({type: name}));
-					continue;
-				}
-
-				// Handle mouseenter/mouseleaver
-				if (!hasMouseEnterLeave) {
-					fakeName = mouseEnterLeave[name];
-
-					if (fakeName) {
-						nativeHandler = function(evt) {
-							var current, related;
-
-							current = evt.currentTarget;
-							related = evt.relatedTarget;
-
-							// Check if related is inside the current target if it's not then the event should
-							// be ignored since it's a mouseover/mouseout inside the element
-							if (related && current.contains) {
-								// Use contains for performance
-								related = current.contains(related);
-							} else {
-								while (related && related !== current) {
-									related = related.parentNode;
-								}
-							}
-
-							// Fire fake event
-							if (!related) {
-								evt = fix(evt || win.event);
-								evt.type = evt.type === 'mouseout' ? 'mouseleave' : 'mouseenter';
-								evt.target = current;
-								executeHandlers(evt, id);
-							}
-						};
-					}
-				}
-
-				// Fake bubbeling of focusin/focusout
-				if (!hasFocusIn && (name === "focusin" || name === "focusout")) {
-					capture = true;
-					fakeName = name === "focusin" ? "focus" : "blur";
-					nativeHandler = function(evt) {
-						evt = fix(evt || win.event);
-						evt.type = evt.type === 'focus' ? 'focusin' : 'focusout';
-						executeHandlers(evt, id);
-					};
-				}
-
-				// Setup callback list and bind native event
-				callbackList = events[id][name];
-				if (!callbackList) {
-					events[id][name] = callbackList = [{func: callback, scope: scope}];
-					callbackList.fakeName = fakeName;
-					callbackList.capture = capture;
-					//callbackList.callback = callback;
-
-					// Add the nativeHandler to the callback list so that we can later unbind it
-					callbackList.nativeHandler = nativeHandler;
-
-					// Check if the target has native events support
-
-					if (name === "ready") {
-						bindOnReady(target, nativeHandler, self);
-					} else {
-						addEvent(target, fakeName || name, nativeHandler, capture);
-					}
-				} else {
-					if (name === "ready" && self.domLoaded) {
-						callback({type: name});
-					} else {
-						// If it already has an native handler then just push the callback
-						callbackList.push({func: callback, scope: scope});
-					}
-				}
-			}
-
-			target = callbackList = 0; // Clean memory for IE
-
-			return callback;
-		};
-
-		/**
-		 * Unbinds the specified event by name, name and callback or all events on the target.
-		 *
-		 * @method unbind
-		 * @param {Object} target Target node/window or custom object.
-		 * @param {String} names Optional event name to unbind.
-		 * @param {function} callback Optional callback function to unbind.
-		 * @return {EventUtils} Event utils instance.
-		 */
-		self.unbind = function(target, names, callback) {
-			var id, callbackList, i, ci, name, eventMap;
-
-			// Don't bind to text nodes or comments
-			if (!target || target.nodeType === 3 || target.nodeType === 8) {
-				return self;
-			}
-
-			// Unbind event or events if the target has the expando
-			id = target[expando];
-			if (id) {
-				eventMap = events[id];
-
-				// Specific callback
-				if (names) {
-					names = names.split(' ');
-					i = names.length;
-					while (i--) {
-						name = names[i];
-						callbackList = eventMap[name];
-
-						// Unbind the event if it exists in the map
-						if (callbackList) {
-							// Remove specified callback
-							if (callback) {
-								ci = callbackList.length;
-								while (ci--) {
-									if (callbackList[ci].func === callback) {
-										var nativeHandler = callbackList.nativeHandler;
-										var fakeName = callbackList.fakeName, capture = callbackList.capture;
-
-										// Clone callbackList since unbind inside a callback would otherwise break the handlers loop
-										callbackList = callbackList.slice(0, ci).concat(callbackList.slice(ci + 1));
-										callbackList.nativeHandler = nativeHandler;
-										callbackList.fakeName = fakeName;
-										callbackList.capture = capture;
-
-										eventMap[name] = callbackList;
-									}
-								}
-							}
-
-							// Remove all callbacks if there isn't a specified callback or there is no callbacks left
-							if (!callback || callbackList.length === 0) {
-								delete eventMap[name];
-								removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);
-							}
-						}
-					}
-				} else {
-					// All events for a specific element
-					for (name in eventMap) {
-						callbackList = eventMap[name];
-						removeEvent(target, callbackList.fakeName || name, callbackList.nativeHandler, callbackList.capture);
-					}
-
-					eventMap = {};
-				}
-
-				// Check if object is empty, if it isn't then we won't remove the expando map
-				for (name in eventMap) {
-					return self;
-				}
-
-				// Delete event object
-				delete events[id];
-
-				// Remove expando from target
-				try {
-					// IE will fail here since it can't delete properties from window
-					delete target[expando];
-				} catch (ex) {
-					// IE will set it to null
-					target[expando] = null;
-				}
-			}
-
-			return self;
-		};
-
-		/**
-		 * Fires the specified event on the specified target.
-		 *
-		 * @method fire
-		 * @param {Object} target Target node/window or custom object.
-		 * @param {String} name Event name to fire.
-		 * @param {Object} args Optional arguments to send to the observers.
-		 * @return {EventUtils} Event utils instance.
-		 */
-		self.fire = function(target, name, args) {
-			var id;
-
-			// Don't bind to text nodes or comments
-			if (!target || target.nodeType === 3 || target.nodeType === 8) {
-				return self;
-			}
-
-			// Build event object by patching the args
-			args = fix(null, args);
-			args.type = name;
-			args.target = target;
-
-			do {
-				// Found an expando that means there is listeners to execute
-				id = target[expando];
-				if (id) {
-					executeHandlers(args, id);
-				}
-
-				// Walk up the DOM
-				target = target.parentNode || target.ownerDocument || target.defaultView || target.parentWindow;
-			} while (target && !args.isPropagationStopped());
-
-			return self;
-		};
-
-		/**
-		 * Removes all bound event listeners for the specified target. This will also remove any bound
-		 * listeners to child nodes within that target.
-		 *
-		 * @method clean
-		 * @param {Object} target Target node/window object.
-		 * @return {EventUtils} Event utils instance.
-		 */
-		self.clean = function(target) {
-			var i, children, unbind = self.unbind;
-
-			// Don't bind to text nodes or comments
-			if (!target || target.nodeType === 3 || target.nodeType === 8) {
-				return self;
-			}
-
-			// Unbind any element on the specificed target
-			if (target[expando]) {
-				unbind(target);
-			}
-
-			// Target doesn't have getElementsByTagName it's probably a window object then use it's document to find the children
-			if (!target.getElementsByTagName) {
-				target = target.document;
-			}
-
-			// Remove events from each child element
-			if (target && target.getElementsByTagName) {
-				unbind(target);
-
-				children = target.getElementsByTagName('*');
-				i = children.length;
-				while (i--) {
-					target = children[i];
-
-					if (target[expando]) {
-						unbind(target);
-					}
-				}
-			}
-
-			return self;
-		};
-
-		/**
-		 * Destroys the event object. Call this on IE to remove memory leaks.
-		 */
-		self.destroy = function() {
-			events = {};
-		};
-
-		// Legacy function for canceling events
-		self.cancel = function(e) {
-			if (e) {
-				e.preventDefault();
-				e.stopImmediatePropagation();
-			}
-
-			return false;
-		};
-	}
-
-	EventUtils.Event = new EventUtils();
-	EventUtils.Event.bind(window, 'ready', function() {});
-
-	return EventUtils;
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/fmt/Preview.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/fmt/Preview",["tinymce/util/Tools"],function(a){var c=a.each;function b(i,l){var e,f,h=i.dom;var d="",g,k;k=i.settings.preview_styles;if(k===false){return""}if(!k){k="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow"}function j(m){return m.replace(/%(\w+)/g,"")}if(typeof l=="string"){l=i.formatter.get(l);if(!l){return}l=l[0]}e=l.block||l.inline||"span";f=h.create(e);c(l.styles,function(n,m){n=j(n);if(n){h.setStyle(f,m,n)}});c(l.attributes,function(n,m){n=j(n);if(n){h.setAttrib(f,m,n)}});c(l.classes,function(m){m=j(m);if(!h.hasClass(f,m)){h.addClass(f,m)}});i.fire("PreviewFormats");h.setStyles(f,{position:"absolute",left:-65535});i.getBody().appendChild(f);g=h.getStyle(i.getBody(),"fontSize",true);g=/px$/.test(g)?parseInt(g,10):0;c(k.split(" "),function(m){var n=h.getStyle(f,m,true);if(m=="background-color"&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)){n=h.getStyle(i.getBody(),m,true);if(h.toHex(n).toLowerCase()=="#ffffff"){return}}if(m=="color"){if(h.toHex(n).toLowerCase()=="#000000"){return}}if(m=="font-size"){if(/em|%$/.test(n)){if(g===0){return}n=parseFloat(n,10)/(/%$/.test(n)?100:1);n=(n*g)+"px"}}if(m=="border"&&n){d+="padding:0 2px;"}d+=m+":"+n+";"});i.fire("AfterPreviewFormats");h.remove(f);return d}return{getCssText:b}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/html/DomParser.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/html/DomParser",["tinymce/html/Node","tinymce/html/Schema","tinymce/html/SaxParser","tinymce/util/Tools"],function(c,e,a,b){var f=b.makeMap,g=b.each,d=b.explode,h=b.extend;return function(m,n){var l=this,k={},j=[],o={},i={};m=m||{};m.validate="validate" in m?m.validate:true;m.root_name=m.root_name||"body";l.schema=n=n||new e();function p(t){var v,w,C,B,E,u,x,r,A;var q,z,s,D,y;z=f("tr,td,th,tbody,thead,tfoot,table");q=n.getNonEmptyElements();s=n.getTextBlockElements();for(v=0;v<t.length;v++){w=t[v];if(!w.parent||w.fixed){continue}if(s[w.name]&&w.parent.name=="li"){D=w.next;while(D){if(s[D.name]){D.name="li";D.fixed=true;w.parent.insert(D,w.parent)}else{break}D=D.next}w.unwrap(w);continue}B=[w];for(C=w.parent;C&&!n.isValidChild(C.name,w.name)&&!z[C.name];C=C.parent){B.push(C)}if(C&&B.length>1){B.reverse();E=u=l.filterNode(B[0].clone());for(A=0;A<B.length-1;A++){if(n.isValidChild(u.name,B[A].name)){x=l.filterNode(B[A].clone());u.append(x)}else{x=u}for(r=B[A].firstChild;r&&r!=B[A+1];){y=r.next;x.append(r);r=y}u=x}if(!E.isEmpty(q)){C.insert(E,B[0],true);C.insert(w,E)}else{C.insert(w,B[0],true)}C=B[0];if(C.isEmpty(q)||C.firstChild===C.lastChild&&C.firstChild.name==="br"){C.empty().remove()}}else{if(w.parent){if(w.name==="li"){D=w.prev;if(D&&(D.name==="ul"||D.name==="ul")){D.append(w);continue}D=w.next;if(D&&(D.name==="ul"||D.name==="ul")){D.insert(w,D.firstChild,true);continue}w.wrap(l.filterNode(new c("ul",1)));continue}if(n.isValidChild(w.parent.name,"div")&&n.isValidChild("div",w.name)){w.wrap(l.filterNode(new c("div",1)))}else{if(w.name==="style"||w.name==="script"){w.empty().remove()}else{w.unwrap()}}}}}}l.filterNode=function(s){var r,q,t;if(q in k){t=o[q];if(t){t.push(s)}else{o[q]=[s]}}r=j.length;while(r--){q=j[r].name;if(q in s.attributes.map){t=i[q];if(t){t.push(s)}else{i[q]=[s]}}}return s};l.addNodeFilter=function(q,r){g(d(q),function(s){var t=k[s];if(!t){k[s]=t=[]}t.push(r)})};l.addAttributeFilter=function(q,r){g(d(q),function(s){var t;for(t=0;t<j.length;t++){if(j[t].name===s){j[t].callbacks.push(r);return}}j.push({name:s,callbacks:[r]})})};l.parse=function(A,r){var s,N,F,E,H,G,B,w,J,R,D;var t,I,Q=[],P;var y,q,C,x;var u,z,v;r=r||{};o={};i={};t=h(f("script,style,head,html,body,title,meta,param"),n.getBlockElements());z=n.getNonEmptyElements();u=n.children;D=m.validate;v="forced_root_block" in r?r.forced_root_block:m.forced_root_block;x=n.getWhiteSpaceElements();I=/^[ \t\r\n]+/;y=/[ \t\r\n]+$/;q=/[ \t\r\n]+/g;C=/^[ \t\r\n]+$/;function K(){var U=N.firstChild,T,V;function S(W){if(W){U=W.firstChild;if(U&&U.type==3){U.value=U.value.replace(I,"")}U=W.lastChild;if(U&&U.type==3){U.value=U.value.replace(y,"")}}}if(!n.isValidChild(N.name,v.toLowerCase())){return}while(U){T=U.next;if(U.type==3||(U.type==1&&U.name!=="p"&&!t[U.name]&&!U.attr("data-mce-type"))){if(!V){V=O(v,1);V.attr(m.forced_root_block_attrs);N.insert(V,U);V.append(U)}else{V.append(U)}}else{S(V);V=null}U=T}S(V)}function O(S,T){var U=new c(S,T),V;if(S in k){V=o[S];if(V){V.push(U)}else{o[S]=[U]}}return U}function M(U){var V,S,T;for(V=U.prev;V&&V.type===3;){S=V.value.replace(y,"");if(S.length>0){V.value=S;V=V.prev}else{T=V.prev;V.remove();V=T}}}function L(T){var U,S={};for(U in T){if(U!=="li"&&U!="p"){S[U]=T[U]}}return S}s=new a({validate:D,allow_script_urls:m.allow_script_urls,allow_conditional_comments:m.allow_conditional_comments,self_closing_elements:L(n.getSelfClosingElements()),cdata:function(S){F.append(O("#cdata",4)).value=S},text:function(U,S){var T;if(!P){U=U.replace(q," ");if(F.lastChild&&t[F.lastChild.name]){U=U.replace(I,"")}}if(U.length!==0){T=O("#text",3);T.raw=!!S;F.append(T).value=U}},comment:function(S){F.append(O("#comment",8)).value=S},pi:function(S,T){F.append(O(S,7)).value=T;M(F)},doctype:function(T){var S;S=F.append(O("#doctype",10));S.value=T;M(F)},start:function(U,T,Z){var W,S,Y,V,X;Y=D?n.getElementRule(U):{};if(Y){W=O(Y.outputName||U,1);W.attributes=T;W.shortEnded=Z;F.append(W);X=u[F.name];if(X&&u[W.name]&&!X[W.name]){Q.push(W)}S=j.length;while(S--){V=j[S].name;if(V in T.map){J=i[V];if(J){J.push(W)}else{i[V]=[W]}}}if(t[U]){M(W)}if(!Z){F=W}if(!P&&x[U]){P=true}}},end:function(S){var X,U,W,T,V;U=D?n.getElementRule(S):{};if(U){if(t[S]){if(!P){X=F.firstChild;if(X&&X.type===3){W=X.value.replace(I,"");if(W.length>0){X.value=W;X=X.next}else{T=X.next;X.remove();X=T;while(X&&X.type===3){W=X.value;T=X.next;if(W.length===0||C.test(W)){X.remove();X=T}X=T}}}X=F.lastChild;if(X&&X.type===3){W=X.value.replace(y,"");if(W.length>0){X.value=W;X=X.prev}else{T=X.prev;X.remove();X=T;while(X&&X.type===3){W=X.value;T=X.prev;if(W.length===0||C.test(W)){X.remove();X=T}X=T}}}}}if(P&&x[S]){P=false}if(U.removeEmpty||U.paddEmpty){if(F.isEmpty(z)){if(U.paddEmpty){F.empty().append(new c("#text","3")).value="\u00a0"}else{if(!F.attributes.map.name&&!F.attributes.map.id){V=F.parent;if(t[F.name]){F.empty().remove()}else{F.unwrap()}F=V;return}}}}F=F.parent}}},n);N=F=new c(r.context||m.root_name,11);s.parse(A);if(D&&Q.length){if(!r.context){p(Q)}else{r.invalid=true}}if(v&&(N.name=="body"||r.isRootContent)){K()}if(!r.invalid){for(R in o){J=k[R];E=o[R];B=E.length;while(B--){if(!E[B].parent){E.splice(B,1)}}for(H=0,G=J.length;H<G;H++){J[H](E,R,r)}}for(H=0,G=j.length;H<G;H++){J=j[H];if(J.name in i){E=i[J.name];B=E.length;while(B--){if(!E[B].parent){E.splice(B,1)}}for(B=0,w=J.callbacks.length;B<w;B++){J.callbacks[B](E,J.name,r)}}}}return N};if(m.remove_trailing_brs){l.addNodeFilter("br",function(r){var w,v=r.length,s,B=h({},n.getBlockElements());var q=n.getNonEmptyElements(),z,x,u,A;var y,t;B.body=1;for(w=0;w<v;w++){s=r[w];z=s.parent;if(B[s.parent.name]&&s===z.lastChild){u=s.prev;while(u){A=u.name;if(A!=="span"||u.attr("data-mce-type")!=="bookmark"){if(A!=="br"){break}if(A==="br"){s=null;break}}u=u.prev}if(s){s.remove();if(z.isEmpty(q)){y=n.getElementRule(z.name);if(y){if(y.removeEmpty){z.remove()}else{if(y.paddEmpty){z.empty().append(new c("#text",3)).value="\u00a0"}}}}}}else{x=s;while(z&&z.firstChild===x&&z.lastChild===x){x=z;if(B[z.name]){break}z=z.parent}if(x===z){t=new c("#text",3);t.value="\u00a0";s.replace(t)}}}})}if(!m.allow_html_in_named_anchor){l.addAttributeFilter("id,name",function(q){var s=q.length,u,r,t,v;while(s--){v=q[s];if(v.name==="a"&&v.firstChild&&!v.attr("href")){t=v.parent;u=v.lastChild;do{r=u.prev;t.insert(u,v);u=r}while(u)}}})}if(m.validate&&n.getValidClasses()){l.addAttributeFilter("class",function(r){var v=r.length,u,s,z,x,t;var y=n.getValidClasses(),w,q;while(v--){u=r[v];s=u.attr("class").split(" ");t="";for(z=0;z<s.length;z++){x=s[z];q=false;w=y["*"];if(w&&w[x]){q=true}w=y[u.name];if(!q&&w&&w[x]){q=true}if(q){if(t){t+=" "}t+=x}}if(!t.length){t=null}u.attr("class",t)}})}}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/html/Entities.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/html/Entities",["tinymce/util/Tools"],function(d){var e=d.makeMap;var a,j,g,m=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,b=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,i=/[<>&\"\']/g,f=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,l={128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"};j={'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","&":"&amp;","\u0060":"&#96;"};g={"&lt;":"<","&gt;":">","&amp;":"&","&quot;":'"',"&apos;":"'"};function k(n){var o;o=document.createElement("div");o.innerHTML=n;return o.textContent||o.innerText||n}function h(o,r){var p,q,n,s={};if(o){o=o.split(",");r=r||10;for(p=0;p<o.length;p+=2){q=String.fromCharCode(parseInt(o[p],r));if(!j[q]){n="&"+o[p+1]+";";s[q]=n;s[n]=q}}return s}}a=h("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var c={encodeRaw:function(o,n){return o.replace(n?m:b,function(p){return j[p]||p})},encodeAllRaw:function(n){return(""+n).replace(i,function(o){return j[o]||o})},encodeNumeric:function(o,n){return o.replace(n?m:b,function(p){if(p.length>1){return"&#"+(((p.charCodeAt(0)-55296)*1024)+(p.charCodeAt(1)-56320)+65536)+";"}return j[p]||"&#"+p.charCodeAt(0)+";"})},encodeNamed:function(p,n,o){o=o||a;return p.replace(n?m:b,function(q){return j[q]||o[q]||q})},getEncodeFunc:function(n,q){q=h(q)||a;function o(s,r){return s.replace(r?m:b,function(t){return j[t]||q[t]||"&#"+t.charCodeAt(0)+";"||t})}function p(s,r){return c.encodeNamed(s,r,q)}n=e(n.replace(/\+/g,","));if(n.named&&n.numeric){return o}if(n.named){if(q){return p}return c.encodeNamed}if(n.numeric){return c.encodeNumeric}return c.encodeRaw},decode:function(n){return n.replace(f,function(p,o){if(o){if(o.charAt(0).toLowerCase()==="x"){o=parseInt(o.substr(1),16)}else{o=parseInt(o,10)}if(o>65535){o-=65536;return String.fromCharCode(55296+(o>>10),56320+(o&1023))}else{return l[o]||String.fromCharCode(o)}}return g[p]||a[p]||k(p)})}};return c});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Collection.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,430 +0,0 @@
-/**
- * Collection.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Control collection, this class contains control instances and it enables you to
- * perform actions on all the contained items. This is very similar to how jQuery works.
- *
- * @example
- * someCollection.show().disabled(true);
- *
- * @class tinymce.ui.Collection
- */
-define("tinymce/ui/Collection", [
-	"tinymce/util/Tools",
-	"tinymce/ui/Selector",
-	"tinymce/util/Class"
-], function(Tools, Selector, Class) {
-	"use strict";
-
-	var Collection, proto, push = Array.prototype.push, slice = Array.prototype.slice;
-
-	proto = {
-		/**
-		 * Current number of contained control instances.
-		 *
-		 * @field length
-		 * @type Number
-		 */
-		length: 0,
-
-		/**
-		 * Constructor for the collection.
-		 *
-		 * @constructor
-		 * @method init
-		 * @param {Array} items Optional array with items to add.
-		 */
-		init: function(items) {
-			if (items) {
-				this.add(items);
-			}
-		},
-
-		/**
-		 * Adds new items to the control collection.
-		 *
-		 * @method add
-		 * @param {Array} items Array if items to add to collection.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		add: function(items) {
-			var self = this;
-
-			// Force single item into array
-			if (!Tools.isArray(items)) {
-				if (items instanceof Collection) {
-					self.add(items.toArray());
-				} else {
-					push.call(self, items);
-				}
-			} else {
-				push.apply(self, items);
-			}
-
-			return self;
-		},
-
-		/**
-		 * Sets the contents of the collection. This will remove any existing items
-		 * and replace them with the ones specified in the input array.
-		 *
-		 * @method set
-		 * @param {Array} items Array with items to set into the Collection.
-		 * @return {tinymce.ui.Collection} Collection instance.
-		 */
-		set: function(items) {
-			var self = this, len = self.length, i;
-
-			self.length = 0;
-			self.add(items);
-
-			// Remove old entries
-			for (i = self.length; i < len; i++) {
-				delete self[i];
-			}
-
-			return self;
-		},
-
-		/**
-		 * Filters the collection item based on the specified selector expression or selector function.
-		 *
-		 * @method filter
-		 * @param {String} selector Selector expression to filter items by.
-		 * @return {tinymce.ui.Collection} Collection containing the filtered items.
-		 */
-		filter: function(selector) {
-			var self = this, i, l, matches = [], item, match;
-
-			// Compile string into selector expression
-			if (typeof selector === "string") {
-				selector = new Selector(selector);
-
-				match = function(item) {
-					return selector.match(item);
-				};
-			} else {
-				// Use selector as matching function
-				match = selector;
-			}
-
-			for (i = 0, l = self.length; i < l; i++) {
-				item = self[i];
-
-				if (match(item)) {
-					matches.push(item);
-				}
-			}
-
-			return new Collection(matches);
-		},
-
-		/**
-		 * Slices the items within the collection.
-		 *
-		 * @method slice
-		 * @param {Number} index Index to slice at.
-		 * @param {Number} len Optional length to slice.
-		 * @return {tinymce.ui.Collection} Current collection.
-		 */
-		slice: function() {
-			return new Collection(slice.apply(this, arguments));
-		},
-
-		/**
-		 * Makes the current collection equal to the specified index.
-		 *
-		 * @method eq
-		 * @param {Number} index Index of the item to set the collection to.
-		 * @return {tinymce.ui.Collection} Current collection.
-		 */
-		eq: function(index) {
-			return index === -1 ? this.slice(index) : this.slice(index, +index + 1);
-		},
-
-		/**
-		 * Executes the specified callback on each item in collection.
-		 *
-		 * @method each
-		 * @param {function} callback Callback to execute for each item in collection.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		each: function(callback) {
-			Tools.each(this, callback);
-
-			return this;
-		},
-
-		/**
-		 * Returns an JavaScript array object of the contents inside the collection.
-		 *
-		 * @method toArray
-		 * @return {Array} Array with all items from collection.
-		 */
-		toArray: function() {
-			return Tools.toArray(this);
-		},
-
-		/**
-		 * Finds the index of the specified control or return -1 if it isn't in the collection.
-		 *
-		 * @method indexOf
-		 * @param {Control} ctrl Control instance to look for.
-		 * @return {Number} Index of the specified control or -1.
-		 */
-		indexOf: function(ctrl) {
-			var self = this, i = self.length;
-
-			while (i--) {
-				if (self[i] === ctrl) {
-					break;
-				}
-			}
-
-			return i;
-		},
-
-		/**
-		 * Returns a new collection of the contents in reverse order.
-		 *
-		 * @method reverse
-		 * @return {tinymce.ui.Collection} Collection instance with reversed items.
-		 */
-		reverse: function() {
-			return new Collection(Tools.toArray(this).reverse());
-		},
-
-		/**
-		 * Returns true/false if the class exists or not.
-		 *
-		 * @method hasClass
-		 * @param {String} cls Class to check for.
-		 * @return {Boolean} true/false state if the class exists or not.
-		 */
-		hasClass: function(cls) {
-			return this[0] ? this[0].hasClass(cls) : false;
-		},
-
-		/**
-		 * Sets/gets the specific property on the items in the collection. The same as executing control.<property>(<value>);
-		 *
-		 * @method prop
-		 * @param {String} name Property name to get/set.
-		 * @param {Object} value Optional object value to set.
-		 * @return {tinymce.ui.Collection} Current collection instance or value of the first item on a get operation.
-		 */
-		prop: function(name, value) {
-			var self = this, undef, item;
-
-			if (value !== undef) {
-				self.each(function(item) {
-					if (item[name]) {
-						item[name](value);
-					}
-				});
-
-				return self;
-			}
-
-			item = self[0];
-
-			if (item && item[name]) {
-				return item[name]();
-			}
-		},
-
-		/**
-		 * Executes the specific function name with optional arguments an all items in collection if it exists.
-		 *
-		 * @example collection.exec("myMethod", arg1, arg2, arg3);
-		 * @method exec
-		 * @param {String} name Name of the function to execute.
-		 * @param {Object} ... Multiple arguments to pass to each function.
-		 * @return {tinymce.ui.Collection} Current collection.
-		 */
-		exec: function(name) {
-			var self = this, args = Tools.toArray(arguments).slice(1);
-
-			self.each(function(item) {
-				if (item[name]) {
-					item[name].apply(item, args);
-				}
-			});
-
-			return self;
-		},
-
-		/**
-		 * Remove all items from collection and DOM.
-		 *
-		 * @method remove
-		 * @return {tinymce.ui.Collection} Current collection.
-		 */
-		remove: function() {
-			var i = this.length;
-
-			while (i--) {
-				this[i].remove();
-			}
-
-			return this;
-		}
-
-		/**
-		 * Fires the specified event by name and arguments on the control. This will execute all
-		 * bound event handlers.
-		 *
-		 * @method fire
-		 * @param {String} name Name of the event to fire.
-		 * @param {Object} args Optional arguments to pass to the event.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// fire: function(event, args) {}, -- Generated by code below
-
-		/**
-		 * Binds a callback to the specified event. This event can both be
-		 * native browser events like "click" or custom ones like PostRender.
-		 *
-		 * The callback function will have two parameters the first one being the control that received the event
-		 * the second one will be the event object either the browsers native event object or a custom JS object.
-		 *
-		 * @method on
-		 * @param {String} name Name of the event to bind. For example "click".
-		 * @param {String/function} callback Callback function to execute ones the event occurs.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// on: function(name, callback) {}, -- Generated by code below
-
-		/**
-		 * Unbinds the specified event and optionally a specific callback. If you omit the name
-		 * parameter all event handlers will be removed. If you omit the callback all event handles
-		 * by the specified name will be removed.
-		 *
-		 * @method off
-		 * @param {String} name Optional name for the event to unbind.
-		 * @param {function} callback Optional callback function to unbind.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// off: function(name, callback) {}, -- Generated by code below
-
-		/**
-		 * Shows the items in the current collection.
-		 *
-		 * @method show
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// show: function() {}, -- Generated by code below
-
-		/**
-		 * Hides the items in the current collection.
-		 *
-		 * @method hide
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// hide: function() {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the text contents of the items in the current collection.
-		 *
-		 * @method text
-		 * @return {tinymce.ui.Collection} Current collection instance or text value of the first item on a get operation.
-		 */
-		// text: function(value) {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the name contents of the items in the current collection.
-		 *
-		 * @method name
-		 * @return {tinymce.ui.Collection} Current collection instance or name value of the first item on a get operation.
-		 */
-		// name: function(value) {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the disabled state on the items in the current collection.
-		 *
-		 * @method disabled
-		 * @return {tinymce.ui.Collection} Current collection instance or disabled state of the first item on a get operation.
-		 */
-		// disabled: function(state) {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the active state on the items in the current collection.
-		 *
-		 * @method active
-		 * @return {tinymce.ui.Collection} Current collection instance or active state of the first item on a get operation.
-		 */
-		// active: function(state) {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the selected state on the items in the current collection.
-		 *
-		 * @method selected
-		 * @return {tinymce.ui.Collection} Current collection instance or selected state of the first item on a get operation.
-		 */
-		// selected: function(state) {}, -- Generated by code below
-
-		/**
-		 * Sets/gets the selected state on the items in the current collection.
-		 *
-		 * @method visible
-		 * @return {tinymce.ui.Collection} Current collection instance or visible state of the first item on a get operation.
-		 */
-		// visible: function(state) {}, -- Generated by code below
-
-		/**
-		 * Adds a class to all items in the collection.
-		 *
-		 * @method addClass
-		 * @param {String} cls Class to add to each item.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// addClass: function(cls) {}, -- Generated by code below
-
-		/**
-		 * Removes the specified class from all items in collection.
-		 *
-		 * @method removeClass
-		 * @param {String} cls Class to remove from each item.
-		 * @return {tinymce.ui.Collection} Current collection instance.
-		 */
-		// removeClass: function(cls) {}, -- Generated by code below
-	};
-
-	// Extend tinymce.ui.Collection prototype with some generated control specific methods
-	Tools.each('fire on off show hide addClass removeClass append prepend before after reflow'.split(' '), function(name) {
-		proto[name] = function() {
-			var args = Tools.toArray(arguments);
-
-			this.each(function(ctrl) {
-				if (name in ctrl) {
-					ctrl[name].apply(ctrl, args);
-				}
-			});
-
-			return this;
-		};
-	});
-
-	// Extend tinymce.ui.Collection prototype with some property methods
-	Tools.each('text name disabled active selected checked visible parent value data'.split(' '), function(name) {
-		proto[name] = function(value) {
-			return this.prop(name, value);
-		};
-	});
-
-	// Create class based on the new prototype
-	Collection = Class.extend(proto);
-
-	// Stick Collection into Selector to prevent circual references
-	Selector.Collection = Collection;
-
-	return Collection;
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/ColorButton.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/ColorButton",["tinymce/ui/PanelButton","tinymce/dom/DOMUtils"],function(b,a){var c=a.DOM;return b.extend({init:function(d){this._super(d);this.addClass("colorbutton")},color:function(d){if(d){this._color=d;this.getEl("preview").style.backgroundColor=d;return this}return this._color},resetColor:function(){this._color=null;this.getEl("preview").style.backgroundColor=null;return this},renderHtml:function(){var d=this,h=d._id,f=d.classPrefix;var e=d.settings.icon?f+"ico "+f+"i-"+d.settings.icon:"";var g=d.settings.image?" style=\"background-image: url('"+d.settings.image+"')\"":"";return('<div id="'+h+'" class="'+d.classes()+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(e?'<i class="'+e+'"'+g+"></i>":"")+'<span id="'+h+'-preview" class="'+f+'preview"></span>'+(d._text?(e?" ":"")+(d._text):"")+'</button><button type="button" class="'+f+'open" hidefocus="1" tabindex="-1"> <i class="'+f+'caret"></i></button></div>')},postRender:function(){var d=this,e=d.settings.onclick;d.on("click",function(f){if(f.aria&&f.aria.key=="down"){return}if(f.control==d&&!c.getParent(f.target,"."+d.classPrefix+"open")){f.stopImmediatePropagation();e.call(d,f)}});delete d.settings.onclick;return d._super()}})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DomUtils.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/**
- * DOMUtils.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-define("tinymce/ui/DomUtils", [
-	"tinymce/util/Tools",
-	"tinymce/dom/DOMUtils"
-], function(Tools, DOMUtils) {
-	"use strict";
-
-	var count = 0;
-
-	return {
-		id: function() {
-			return 'mceu_' + (count++);
-		},
-
-		createFragment: function(html) {
-			return DOMUtils.DOM.createFragment(html);
-		},
-
-		getWindowSize: function() {
-			return DOMUtils.DOM.getViewPort();
-		},
-
-		getSize: function(elm) {
-			var width, height;
-
-			if (elm.getBoundingClientRect) {
-				var rect = elm.getBoundingClientRect();
-
-				width = Math.max(rect.width || (rect.right - rect.left), elm.offsetWidth);
-				height = Math.max(rect.height || (rect.bottom - rect.bottom), elm.offsetHeight);
-			} else {
-				width = elm.offsetWidth;
-				height = elm.offsetHeight;
-			}
-
-			return {width: width, height: height};
-		},
-
-		getPos: function(elm, root) {
-			return DOMUtils.DOM.getPos(elm, root);
-		},
-
-		getViewPort: function(win) {
-			return DOMUtils.DOM.getViewPort(win);
-		},
-
-		get: function(id) {
-			return document.getElementById(id);
-		},
-
-		addClass: function(elm, cls) {
-			return DOMUtils.DOM.addClass(elm, cls);
-		},
-
-		removeClass: function(elm, cls) {
-			return DOMUtils.DOM.removeClass(elm, cls);
-		},
-
-		hasClass: function(elm, cls) {
-			return DOMUtils.DOM.hasClass(elm, cls);
-		},
-
-		toggleClass: function(elm, cls, state) {
-			return DOMUtils.DOM.toggleClass(elm, cls, state);
-		},
-
-		css: function(elm, name, value) {
-			return DOMUtils.DOM.setStyle(elm, name, value);
-		},
-
-		getRuntimeStyle: function(elm, name) {
-			return DOMUtils.DOM.getStyle(elm, name, true);
-		},
-
-		on: function(target, name, callback, scope) {
-			return DOMUtils.DOM.bind(target, name, callback, scope);
-		},
-
-		off: function(target, name, callback) {
-			return DOMUtils.DOM.unbind(target, name, callback);
-		},
-
-		fire: function(target, name, args) {
-			return DOMUtils.DOM.fire(target, name, args);
-		},
-
-		innerHtml: function(elm, html) {
-			// Workaround for <div> in <p> bug on IE 8 #6178
-			DOMUtils.DOM.setHTML(elm, html);
-		}
-	};
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DragHelper.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/**
- * DragHelper.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Drag/drop helper class.
- *
- * @example
- * var dragHelper = new tinymce.ui.DragHelper('mydiv', {
- *     start: function(evt) {
- *     },
- *
- *     drag: function(evt) {
- *     },
- *
- *     end: function(evt) {
- *     }
- * });
- *
- * @class tinymce.ui.DragHelper
- */
-define("tinymce/ui/DragHelper", [
-	"tinymce/ui/DomUtils"
-], function(DomUtils) {
-	"use strict";
-
-	function getDocumentSize() {
-		var doc = document, documentElement, body, scrollWidth, clientWidth;
-		var offsetWidth, scrollHeight, clientHeight, offsetHeight, max = Math.max;
-
-		documentElement = doc.documentElement;
-		body = doc.body;
-
-		scrollWidth = max(documentElement.scrollWidth, body.scrollWidth);
-		clientWidth = max(documentElement.clientWidth, body.clientWidth);
-		offsetWidth = max(documentElement.offsetWidth, body.offsetWidth);
-
-		scrollHeight = max(documentElement.scrollHeight, body.scrollHeight);
-		clientHeight = max(documentElement.clientHeight, body.clientHeight);
-		offsetHeight = max(documentElement.offsetHeight, body.offsetHeight);
-
-		return {
-			width: scrollWidth < offsetWidth ? clientWidth : scrollWidth,
-			height: scrollHeight < offsetHeight ? clientHeight : scrollHeight
-		};
-	}
-
-	return function(id, settings) {
-		var eventOverlayElm, doc = document, downButton, start, stop, drag, startX, startY;
-
-		settings = settings || {};
-
-		function getHandleElm() {
-			return doc.getElementById(settings.handle || id);
-		}
-
-		start = function(e) {
-			var docSize = getDocumentSize(), handleElm, cursor;
-
-			e.preventDefault();
-			downButton = e.button;
-			handleElm = getHandleElm();
-			startX = e.screenX;
-			startY = e.screenY;
-
-			// Grab cursor from handle
-			if (window.getComputedStyle) {
-				cursor = window.getComputedStyle(handleElm, null).getPropertyValue("cursor");
-			} else {
-				cursor = handleElm.runtimeStyle.cursor;
-			}
-
-			// Create event overlay and add it to document
-			eventOverlayElm = doc.createElement('div');
-			DomUtils.css(eventOverlayElm, {
-				position: "absolute",
-				top: 0, left: 0,
-				width: docSize.width,
-				height: docSize.height,
-				zIndex: 0x7FFFFFFF,
-				opacity: 0.0001,
-				cursor: cursor
-			});
-
-			doc.body.appendChild(eventOverlayElm);
-
-			// Bind mouse events
-			DomUtils.on(doc, 'mousemove', drag);
-			DomUtils.on(doc, 'mouseup', stop);
-
-			// Begin drag
-			settings.start(e);
-		};
-
-		drag = function(e) {
-			if (e.button !== downButton) {
-				return stop(e);
-			}
-
-			e.deltaX = e.screenX - startX;
-			e.deltaY = e.screenY - startY;
-
-			e.preventDefault();
-			settings.drag(e);
-		};
-
-		stop = function(e) {
-			DomUtils.off(doc, 'mousemove', drag);
-			DomUtils.off(doc, 'mouseup', stop);
-
-			eventOverlayElm.parentNode.removeChild(eventOverlayElm);
-
-			if (settings.stop) {
-				settings.stop(e);
-			}
-		};
-
-		/**
-		 * Destroys the drag/drop helper instance.
-		 *
-		 * @method destroy
-		 */
-		this.destroy = function() {
-			DomUtils.off(getHandleElm());
-		};
-
-		DomUtils.on(getHandleElm(), 'mousedown', start);
-	};
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/DragHelper.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/DragHelper",["tinymce/ui/DomUtils"],function(a){function b(){var j=document,k,f,d,i;var g,l,e,c,h=Math.max;k=j.documentElement;f=j.body;d=h(k.scrollWidth,f.scrollWidth);i=h(k.clientWidth,f.clientWidth);g=h(k.offsetWidth,f.offsetWidth);l=h(k.scrollHeight,f.scrollHeight);e=h(k.clientHeight,f.clientHeight);c=h(k.offsetHeight,f.offsetHeight);return{width:d<g?i:d,height:l<c?e:l}}return function(d,f){var m,l=document,c,e,k,i,h,g;f=f||{};function j(){return l.getElementById(f.handle||d)}e=function(o){var q=b(),n,p;o.preventDefault();c=o.button;n=j();h=o.screenX;g=o.screenY;if(window.getComputedStyle){p=window.getComputedStyle(n,null).getPropertyValue("cursor")}else{p=n.runtimeStyle.cursor}m=l.createElement("div");a.css(m,{position:"absolute",top:0,left:0,width:q.width,height:q.height,zIndex:2147483647,opacity:0.0001,cursor:p});l.body.appendChild(m);a.on(l,"mousemove",i);a.on(l,"mouseup",k);f.start(o)};i=function(n){if(n.button!==c){return k(n)}n.deltaX=n.screenX-h;n.deltaY=n.screenY-g;n.preventDefault();f.drag(n)};k=function(n){a.off(l,"mousemove",i);a.off(l,"mouseup",k);m.parentNode.removeChild(m);if(f.stop){f.stop(n)}};this.destroy=function(){a.off(j())};a.on(j(),"mousedown",e)}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FitLayout.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/FitLayout",["tinymce/ui/AbsoluteLayout"],function(a){return a.extend({recalc:function(c){var b=c.layoutRect(),d=c.paddingBox();c.items().filter(":visible").each(function(e){e.layoutRect({x:d.left,y:d.top,w:b.innerW-d.right-d.left,h:b.innerH-d.top-d.bottom});if(e.recalc){e.recalc()}})}})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FlowLayout.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/**
- * FlowLayout.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This layout manager will place the controls by using the browsers native layout.
- *
- * @-x-less FlowLayout.less
- * @class tinymce.ui.FlowLayout
- * @extends tinymce.ui.Layout
- */
-define("tinymce/ui/FlowLayout", [
-	"tinymce/ui/Layout"
-], function(Layout) {
-	return Layout.extend({
-		Defaults: {
-			containerClass: 'flow-layout',
-			controlClass: 'flow-layout-item',
-			endClass: 'break'
-		},
-
-		/**
-		 * Recalculates the positions of the controls in the specified container.
-		 *
-		 * @method recalc
-		 * @param {tinymce.ui.Container} container Container instance to recalc.
-		 */
-		recalc: function(container) {
-			container.items().filter(':visible').each(function(ctrl) {
-				if (ctrl.recalc) {
-					ctrl.recalc();
-				}
-			});
-		}
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/FormatControls.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,539 +0,0 @@
-/**
- * FormatControls.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Internal class containing all TinyMCE specific control types such as
- * format listboxes, fontlist boxes, toolbar buttons etc.
- *
- * @class tinymce.ui.FormatControls
- */
-define("tinymce/ui/FormatControls", [
-	"tinymce/ui/Control",
-	"tinymce/ui/Widget",
-	"tinymce/ui/FloatPanel",
-	"tinymce/util/Tools",
-	"tinymce/EditorManager",
-	"tinymce/Env"
-], function(Control, Widget, FloatPanel, Tools, EditorManager, Env) {
-	var each = Tools.each;
-
-	EditorManager.on('AddEditor', function(e) {
-		if (e.editor.rtl) {
-			Control.rtl = true;
-		}
-
-		registerControls(e.editor);
-	});
-
-	Control.translate = function(text) {
-		return EditorManager.translate(text);
-	};
-
-	Widget.tooltips = !Env.iOS;
-
-	function registerControls(editor) {
-		var formatMenu;
-
-		function createListBoxChangeHandler(items, formatName) {
-			return function() {
-				var self = this;
-
-				editor.on('nodeChange', function(e) {
-					var formatter = editor.formatter;
-					var value = null;
-
-					each(e.parents, function(node) {
-						each(items, function(item) {
-							if (formatName) {
-								if (formatter.matchNode(node, formatName, {value: item.value})) {
-									value = item.value;
-								}
-							} else {
-								if (formatter.matchNode(node, item.value)) {
-									value = item.value;
-								}
-							}
-
-							if (value) {
-								return false;
-							}
-						});
-
-						if (value) {
-							return false;
-						}
-					});
-
-					self.value(value);
-				});
-			};
-		}
-
-		function createFormats(formats) {
-			formats = formats.replace(/;$/, '').split(';');
-
-			var i = formats.length;
-			while (i--) {
-				formats[i] = formats[i].split('=');
-			}
-
-			return formats;
-		}
-
-		function createFormatMenu() {
-			var count = 0, newFormats = [];
-
-			var defaultStyleFormats = [
-				{title: 'Headings', items: [
-					{title: 'Heading 1', format: 'h1'},
-					{title: 'Heading 2', format: 'h2'},
-					{title: 'Heading 3', format: 'h3'},
-					{title: 'Heading 4', format: 'h4'},
-					{title: 'Heading 5', format: 'h5'},
-					{title: 'Heading 6', format: 'h6'}
-				]},
-
-				{title: 'Inline', items: [
-					{title: 'Bold', icon: 'bold', format: 'bold'},
-					{title: 'Italic', icon: 'italic', format: 'italic'},
-					{title: 'Underline', icon: 'underline', format: 'underline'},
-					{title: 'Strikethrough', icon: 'strikethrough', format: 'strikethrough'},
-					{title: 'Superscript', icon: 'superscript', format: 'superscript'},
-					{title: 'Subscript', icon: 'subscript', format: 'subscript'},
-					{title: 'Code', icon: 'code', format: 'code'}
-				]},
-
-				{title: 'Blocks', items: [
-					{title: 'Paragraph', format: 'p'},
-					{title: 'Blockquote', format: 'blockquote'},
-					{title: 'Div', format: 'div'},
-					{title: 'Pre', format: 'pre'}
-				]},
-
-				{title: 'Alignment', items: [
-					{title: 'Left', icon: 'alignleft', format: 'alignleft'},
-					{title: 'Center', icon: 'aligncenter', format: 'aligncenter'},
-					{title: 'Right', icon: 'alignright', format: 'alignright'},
-					{title: 'Justify', icon: 'alignjustify', format: 'alignjustify'}
-				]}
-			];
-
-			function createMenu(formats) {
-				var menu = [];
-
-				if (!formats) {
-					return;
-				}
-
-				each(formats, function(format) {
-					var menuItem = {
-						text: format.title,
-						icon: format.icon
-					};
-
-					if (format.items) {
-						menuItem.menu = createMenu(format.items);
-					} else {
-						var formatName = format.format || "custom" + count++;
-
-						if (!format.format) {
-							format.name = formatName;
-							newFormats.push(format);
-						}
-
-						menuItem.format = formatName;
-						menuItem.cmd = format.cmd;
-					}
-
-					menu.push(menuItem);
-				});
-
-				return menu;
-			}
-
-			function createStylesMenu() {
-				var menu;
-
-				if (editor.settings.style_formats_merge) {
-					if (editor.settings.style_formats) {
-						menu = createMenu(defaultStyleFormats.concat(editor.settings.style_formats));
-					} else {
-						menu = createMenu(defaultStyleFormats);
-					}
-				} else {
-					menu = createMenu(editor.settings.style_formats || defaultStyleFormats);
-				}
-
-				return menu;
-			}
-
-			editor.on('init', function() {
-				each(newFormats, function(format) {
-					editor.formatter.register(format.name, format);
-				});
-			});
-
-			return {
-				type: 'menu',
-				items: createStylesMenu(),
-				onPostRender: function(e) {
-					editor.fire('renderFormatsMenu', {control: e.control});
-				},
-				itemDefaults: {
-					preview: true,
-
-					textStyle: function() {
-						if (this.settings.format) {
-							return editor.formatter.getCssText(this.settings.format);
-						}
-					},
-
-					onPostRender: function() {
-						var self = this;
-
-						self.parent().on('show', function() {
-							var formatName, command;
-
-							formatName = self.settings.format;
-							if (formatName) {
-								self.disabled(!editor.formatter.canApply(formatName));
-								self.active(editor.formatter.match(formatName));
-							}
-
-							command = self.settings.cmd;
-							if (command) {
-								self.active(editor.queryCommandState(command));
-							}
-						});
-					},
-
-					onclick: function() {
-						if (this.settings.format) {
-							toggleFormat(this.settings.format);
-						}
-
-						if (this.settings.cmd) {
-							editor.execCommand(this.settings.cmd);
-						}
-					}
-				}
-			};
-		}
-
-		formatMenu = createFormatMenu();
-
-		// Simple format controls <control/format>:<UI text>
-		each({
-			bold: 'Bold',
-			italic: 'Italic',
-			underline: 'Underline',
-			strikethrough: 'Strikethrough',
-			subscript: 'Subscript',
-			superscript: 'Superscript'
-		}, function(text, name) {
-			editor.addButton(name, {
-				tooltip: text,
-				onPostRender: function() {
-					var self = this;
-
-					// TODO: Fix this
-					if (editor.formatter) {
-						editor.formatter.formatChanged(name, function(state) {
-							self.active(state);
-						});
-					} else {
-						editor.on('init', function() {
-							editor.formatter.formatChanged(name, function(state) {
-								self.active(state);
-							});
-						});
-					}
-				},
-				onclick: function() {
-					toggleFormat(name);
-				}
-			});
-		});
-
-		// Simple command controls <control>:[<UI text>,<Command>]
-		each({
-			outdent: ['Decrease indent', 'Outdent'],
-			indent: ['Increase indent', 'Indent'],
-			cut: ['Cut', 'Cut'],
-			copy: ['Copy', 'Copy'],
-			paste: ['Paste', 'Paste'],
-			help: ['Help', 'mceHelp'],
-			selectall: ['Select all', 'SelectAll'],
-			removeformat: ['Clear formatting', 'RemoveFormat'],
-			visualaid: ['Visual aids', 'mceToggleVisualAid'],
-			newdocument: ['New document', 'mceNewDocument']
-		}, function(item, name) {
-			editor.addButton(name, {
-				tooltip: item[0],
-				cmd: item[1]
-			});
-		});
-
-		// Simple command controls with format state
-		each({
-			blockquote: ['Blockquote', 'mceBlockQuote'],
-			numlist: ['Numbered list', 'InsertOrderedList'],
-			bullist: ['Bullet list', 'InsertUnorderedList'],
-			subscript: ['Subscript', 'Subscript'],
-			superscript: ['Superscript', 'Superscript'],
-			alignleft: ['Align left', 'JustifyLeft'],
-			aligncenter: ['Align center', 'JustifyCenter'],
-			alignright: ['Align right', 'JustifyRight'],
-			alignjustify: ['Justify', 'JustifyFull']
-		}, function(item, name) {
-			editor.addButton(name, {
-				tooltip: item[0],
-				cmd: item[1],
-				onPostRender: function() {
-					var self = this;
-
-					// TODO: Fix this
-					if (editor.formatter) {
-						editor.formatter.formatChanged(name, function(state) {
-							self.active(state);
-						});
-					} else {
-						editor.on('init', function() {
-							editor.formatter.formatChanged(name, function(state) {
-								self.active(state);
-							});
-						});
-					}
-				}
-			});
-		});
-
-		function toggleUndoRedoState(type) {
-			return function() {
-				var self = this;
-
-				type = type == 'redo' ? 'hasRedo' : 'hasUndo';
-
-				function checkState() {
-					return editor.undoManager ? editor.undoManager[type]() : false;
-				}
-
-				self.disabled(!checkState());
-				editor.on('Undo Redo AddUndo TypingUndo ClearUndos', function() {
-					self.disabled(!checkState());
-				});
-			};
-		}
-
-		function toggleVisualAidState() {
-			var self = this;
-
-			editor.on('VisualAid', function(e) {
-				self.active(e.hasVisual);
-			});
-
-			self.active(editor.hasVisual);
-		}
-
-		editor.addButton('undo', {
-			tooltip: 'Undo',
-			onPostRender: toggleUndoRedoState('undo'),
-			cmd: 'undo'
-		});
-
-		editor.addButton('redo', {
-			tooltip: 'Redo',
-			onPostRender: toggleUndoRedoState('redo'),
-			cmd: 'redo'
-		});
-
-		editor.addMenuItem('newdocument', {
-			text: 'New document',
-			icon: 'newdocument',
-			cmd: 'mceNewDocument'
-		});
-
-		editor.addMenuItem('undo', {
-			text: 'Undo',
-			icon: 'undo',
-			shortcut: 'Meta+Z',
-			onPostRender: toggleUndoRedoState('undo'),
-			cmd: 'undo'
-		});
-
-		editor.addMenuItem('redo', {
-			text: 'Redo',
-			icon: 'redo',
-			shortcut: 'Meta+Y',
-			onPostRender: toggleUndoRedoState('redo'),
-			cmd: 'redo'
-		});
-
-		editor.addMenuItem('visualaid', {
-			text: 'Visual aids',
-			selectable: true,
-			onPostRender: toggleVisualAidState,
-			cmd: 'mceToggleVisualAid'
-		});
-
-		each({
-			cut: ['Cut', 'Cut', 'Meta+X'],
-			copy: ['Copy', 'Copy', 'Meta+C'],
-			paste: ['Paste', 'Paste', 'Meta+V'],
-			selectall: ['Select all', 'SelectAll', 'Meta+A'],
-			bold: ['Bold', 'Bold', 'Meta+B'],
-			italic: ['Italic', 'Italic', 'Meta+I'],
-			underline: ['Underline', 'Underline'],
-			strikethrough: ['Strikethrough', 'Strikethrough'],
-			subscript: ['Subscript', 'Subscript'],
-			superscript: ['Superscript', 'Superscript'],
-			removeformat: ['Clear formatting', 'RemoveFormat']
-		}, function(item, name) {
-			editor.addMenuItem(name, {
-				text: item[0],
-				icon: name,
-				shortcut: item[2],
-				cmd: item[1]
-			});
-		});
-
-		editor.on('mousedown', function() {
-			FloatPanel.hideAll();
-		});
-
-		function toggleFormat(fmt) {
-			if (fmt.control) {
-				fmt = fmt.control.value();
-			}
-
-			if (fmt) {
-				editor.execCommand('mceToggleFormat', false, fmt);
-			}
-		}
-
-		editor.addButton('styleselect', {
-			type: 'menubutton',
-			text: 'Formats',
-			menu: formatMenu
-		});
-
-		editor.addButton('formatselect', function() {
-			var items = [], blocks = createFormats(editor.settings.block_formats ||
-				'Paragraph=p;' +
-				'Heading 1=h1;' +
-				'Heading 2=h2;' +
-				'Heading 3=h3;' +
-				'Heading 4=h4;' +
-				'Heading 5=h5;' +
-				'Heading 6=h6;' +
-				'Preformatted=pre'
-			);
-
-			each(blocks, function(block) {
-				items.push({
-					text: block[0],
-					value: block[1],
-					textStyle: function() {
-						return editor.formatter.getCssText(block[1]);
-					}
-				});
-			});
-
-			return {
-				type: 'listbox',
-				text: blocks[0][0],
-				values: items,
-				fixedWidth: true,
-				onselect: toggleFormat,
-				onPostRender: createListBoxChangeHandler(items)
-			};
-		});
-
-		editor.addButton('fontselect', function() {
-			var defaultFontsFormats =
-				'Andale Mono=andale mono,monospace;' +
-				'Arial=arial,helvetica,sans-serif;' +
-				'Arial Black=arial black,sans-serif;' +
-				'Book Antiqua=book antiqua,palatino,serif;' +
-				'Comic Sans MS=comic sans ms,sans-serif;' +
-				'Courier New=courier new,courier,monospace;' +
-				'Georgia=georgia,palatino,serif;' +
-				'Helvetica=helvetica,arial,sans-serif;' +
-				'Impact=impact,sans-serif;' +
-				'Symbol=symbol;' +
-				'Tahoma=tahoma,arial,helvetica,sans-serif;' +
-				'Terminal=terminal,monaco,monospace;' +
-				'Times New Roman=times new roman,times,serif;' +
-				'Trebuchet MS=trebuchet ms,geneva,sans-serif;' +
-				'Verdana=verdana,geneva,sans-serif;' +
-				'Webdings=webdings;' +
-				'Wingdings=wingdings,zapf dingbats';
-
-			var items = [], fonts = createFormats(editor.settings.font_formats || defaultFontsFormats);
-
-			each(fonts, function(font) {
-				items.push({
-					text: {raw: font[0]},
-					value: font[1],
-					textStyle: font[1].indexOf('dings') == -1 ? 'font-family:' + font[1] : ''
-				});
-			});
-
-			return {
-				type: 'listbox',
-				text: 'Font Family',
-				tooltip: 'Font Family',
-				values: items,
-				fixedWidth: true,
-				onPostRender: createListBoxChangeHandler(items, 'fontname'),
-				onselect: function(e) {
-					if (e.control.settings.value) {
-						editor.execCommand('FontName', false, e.control.settings.value);
-					}
-				}
-			};
-		});
-
-		editor.addButton('fontsizeselect', function() {
-			var items = [], defaultFontsizeFormats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
-			var fontsize_formats = editor.settings.fontsize_formats || defaultFontsizeFormats;
-
-			each(fontsize_formats.split(' '), function(item) {
-				var text = item, value = item;
-				// Allow text=value font sizes.
-				var values = item.split('=');
-				if (values.length > 1) {
-					text = values[0];
-					value = values[1];
-				}
-				items.push({text: text, value: value});
-			});
-
-			return {
-				type: 'listbox',
-				text: 'Font Sizes',
-				tooltip: 'Font Sizes',
-				values: items,
-				fixedWidth: true,
-				onPostRender: createListBoxChangeHandler(items, 'fontsize'),
-				onclick: function(e) {
-					if (e.control.settings.value) {
-						editor.execCommand('FontSize', false, e.control.settings.value);
-					}
-				}
-			};
-		});
-
-		editor.addMenuItem('formats', {
-			text: 'Formats',
-			menu: formatMenu
-		});
-	}
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Movable.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/Movable",["tinymce/ui/DomUtils"],function(a){function b(c,k,n){var m,g,j,h,l,e,i,d,f,o;f=a.getViewPort();g=a.getPos(k);j=g.x;h=g.y;if(c._fixed&&a.getRuntimeStyle(document.body,"position")=="static"){j-=f.x;h-=f.y}m=c.getEl();o=a.getSize(m);l=o.width;e=o.height;o=a.getSize(k);i=o.width;d=o.height;n=(n||"").split("");if(n[0]==="b"){h+=d}if(n[1]==="r"){j+=i}if(n[0]==="c"){h+=Math.round(d/2)}if(n[1]==="c"){j+=Math.round(i/2)}if(n[3]==="b"){h-=e}if(n[4]==="r"){j-=l}if(n[3]==="c"){h-=Math.round(e/2)}if(n[4]==="c"){j-=Math.round(l/2)}return{x:j,y:h,w:l,h:e}}return{testMoveRel:function(g,d){var c=a.getViewPort();for(var e=0;e<d.length;e++){var f=b(this,g,d[e]);if(this._fixed){if(f.x>0&&f.x+f.w<c.w&&f.y>0&&f.y+f.h<c.h){return d[e]}}else{if(f.x>c.x&&f.x+f.w<c.w+c.x&&f.y>c.y&&f.y+f.h<c.h+c.y){return d[e]}}}return d[0]},moveRel:function(e,c){if(typeof c!="string"){c=this.testMoveRel(e,c)}var d=b(this,e,c);return this.moveTo(d.x,d.y)},moveBy:function(e,c){var d=this,f=d.layoutRect();d.moveTo(f.x+e,f.y+c);return d},moveTo:function(c,h){var e=this;function d(k,i,j){if(k<0){return 0}if(k+j>i){k=i-j;return k<0?0:k}return k}if(e.settings.constrainToViewport){var f=a.getViewPort(window);var g=e.layoutRect();c=d(c,f.w+f.x,g.w);h=d(h,f.h+f.y,g.h)}if(e._rendered){e.layoutRect({x:c,y:h}).repaint()}else{e.settings.x=c;e.settings.y=h}e.fire("move",{x:c,y:h});return e}}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Panel.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/**
- * Panel.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Creates a new panel.
- *
- * @-x-less Panel.less
- * @class tinymce.ui.Panel
- * @extends tinymce.ui.Container
- * @mixes tinymce.ui.Scrollable
- */
-define("tinymce/ui/Panel", [
-	"tinymce/ui/Container",
-	"tinymce/ui/Scrollable"
-], function(Container, Scrollable) {
-	"use strict";
-
-	return Container.extend({
-		Defaults: {
-			layout: 'fit',
-			containerCls: 'panel'
-		},
-
-		Mixins: [Scrollable],
-
-		/**
-		 * Renders the control as a HTML string.
-		 *
-		 * @method renderHtml
-		 * @return {String} HTML representing the control.
-		 */
-		renderHtml: function() {
-			var self = this, layout = self._layout, innerHtml = self.settings.html;
-
-			self.preRender();
-			layout.preRender(self);
-
-			if (typeof innerHtml == "undefined") {
-				innerHtml = (
-					'<div id="' + self._id + '-body" class="' + self.classes('body') + '">' +
-						layout.renderHtml(self) +
-					'</div>'
-				);
-			} else {
-				if (typeof innerHtml == 'function') {
-					innerHtml = innerHtml.call(self);
-				}
-
-				self._hasBody = false;
-			}
-
-			return (
-				'<div id="' + self._id + '" class="' + self.classes() + '" hidefocus="1" tabindex="-1" role="group">' +
-					(self._preBodyHtml || '') +
-					innerHtml +
-				'</div>'
-			);
-		}
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/PanelButton.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/**
- * PanelButton.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Creates a new panel button.
- *
- * @class tinymce.ui.PanelButton
- * @extends tinymce.ui.Button
- */
-define("tinymce/ui/PanelButton", [
-	"tinymce/ui/Button",
-	"tinymce/ui/FloatPanel"
-], function(Button, FloatPanel) {
-	"use strict";
-
-	return Button.extend({
-		/**
-		 * Shows the panel for the button.
-		 *
-		 * @method showPanel
-		 */
-		showPanel: function() {
-			var self = this, settings = self.settings;
-
-			self.active(true);
-
-			if (!self.panel) {
-				var panelSettings = settings.panel;
-
-				// Wrap panel in grid layout if type if specified
-				// This makes it possible to add forms or other containers directly in the panel option
-				if (panelSettings.type) {
-					panelSettings = {
-						layout: 'grid',
-						items: panelSettings
-					};
-				}
-
-				panelSettings.role = panelSettings.role || 'dialog';
-				panelSettings.popover = true;
-				panelSettings.autohide = true;
-				panelSettings.ariaRoot = true;
-
-				self.panel = new FloatPanel(panelSettings).on('hide', function() {
-					self.active(false);
-				}).on('cancel', function(e) {
-					e.stopPropagation();
-					self.focus();
-					self.hidePanel();
-				}).parent(self).renderTo(self.getContainerElm());
-
-				self.panel.fire('show');
-				self.panel.reflow();
-			} else {
-				self.panel.show();
-			}
-
-			self.panel.moveRel(self.getEl(), settings.popoverAlign || (self.isRtl() ? ['bc-tr', 'bc-tc'] : ['bc-tl', 'bc-tc']));
-		},
-
-		/**
-		 * Hides the panel for the button.
-		 *
-		 * @method hidePanel
-		 */
-		hidePanel: function() {
-			var self = this;
-
-			if (self.panel) {
-				self.panel.hide();
-			}
-		},
-
-		/**
-		 * Called after the control has been rendered.
-		 *
-		 * @method postRender
-		 */
-		postRender: function() {
-			var self = this;
-
-			self.aria('haspopup', true);
-
-			self.on('click', function(e) {
-				if (e.control === self) {
-					if (self.panel && self.panel.visible()) {
-						self.hidePanel();
-					} else {
-						self.showPanel();
-						self.panel.focus(!!e.aria);
-					}
-				}
-			});
-
-			return self._super();
-		},
-
-		remove: function() {
-			if (this.panel) {
-				this.panel.remove();
-				this.panel = null;
-			}
-
-			return this._super();
-		}
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Path.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/**
- * Path.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Creates a new path control.
- *
- * @-x-less Path.less
- * @class tinymce.ui.Path
- * @extends tinymce.ui.Widget
- */
-define("tinymce/ui/Path", [
-	"tinymce/ui/Widget"
-], function(Widget) {
-	"use strict";
-
-	return Widget.extend({
-		/**
-		 * Constructs a instance with the specified settings.
-		 *
-		 * @constructor
-		 * @param {Object} settings Name/value object with settings.
-		 * @setting {String} delimiter Delimiter to display between items in path.
-		 */
-		init: function(settings) {
-			var self = this;
-
-			if (!settings.delimiter) {
-				settings.delimiter = '\u00BB';
-			}
-
-			self._super(settings);
-			self.addClass('path');
-			self.canFocus = true;
-
-			self.on('click', function(e) {
-				var index, target = e.target;
-
-				if ((index = target.getAttribute('data-index'))) {
-					self.fire('select', {value: self.data()[index], index: index});
-				}
-			});
-		},
-
-		/**
-		 * Focuses the current control.
-		 *
-		 * @method focus
-		 * @return {tinymce.ui.Control} Current control instance.
-		 */
-		focus: function() {
-			var self = this;
-
-			self.getEl().firstChild.focus();
-
-			return self;
-		},
-
-		/**
-		 * Sets/gets the data to be used for the path.
-		 *
-		 * @method data
-		 * @param {Array} data Array with items name is rendered to path.
-		 */
-		data: function(data) {
-			var self = this;
-
-			if (typeof data !== "undefined") {
-				self._data = data;
-				self.update();
-
-				return self;
-			}
-
-			return self._data;
-		},
-
-		/**
-		 * Updated the path.
-		 *
-		 * @private
-		 */
-		update: function() {
-			this.innerHtml(this._getPathHtml());
-		},
-
-		/**
-		 * Called after the control has been rendered.
-		 *
-		 * @method postRender
-		 */
-		postRender: function() {
-			var self = this;
-
-			self._super();
-
-			self.data(self.settings.data);
-		},
-
-		/**
-		 * Renders the control as a HTML string.
-		 *
-		 * @method renderHtml
-		 * @return {String} HTML representing the control.
-		 */
-		renderHtml: function() {
-			var self = this;
-
-			return (
-				'<div id="' + self._id + '" class="' + self.classes() + '">' +
-					self._getPathHtml() +
-				'</div>'
-			);
-		},
-
-		_getPathHtml: function() {
-			var self = this, parts = self._data || [], i, l, html = '', prefix = self.classPrefix;
-
-			for (i = 0, l = parts.length; i < l; i++) {
-				html += (
-					(i > 0 ? '<div class="' + prefix + 'divider" aria-hidden="true"> ' + self.settings.delimiter + ' </div>' : '') +
-					'<div role="button" class="' + prefix + 'path-item' + (i == l - 1 ? ' ' + prefix + 'last' : '') + '" data-index="' +
-					i + '" tabindex="-1" id="' + self._id + '-' + i + '" aria-level="' + i + '">' + parts[i].name + '</div>'
-				);
-			}
-
-			if (!html) {
-				html = '<div class="' + prefix + 'path-item">\u00a0</div>';
-			}
-
-			return html;
-		}
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Spacer.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/**
- * Spacer.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * Creates a spacer. This control is used in flex layouts for example.
- *
- * @-x-less Spacer.less
- * @class tinymce.ui.Spacer
- * @extends tinymce.ui.Widget
- */
-define("tinymce/ui/Spacer", [
-	"tinymce/ui/Widget"
-], function(Widget) {
-	"use strict";
-
-	return Widget.extend({
-		/**
-		 * Renders the control as a HTML string.
-		 *
-		 * @method renderHtml
-		 * @return {String} HTML representing the control.
-		 */
-		renderHtml: function() {
-			var self = this;
-
-			self.addClass('spacer');
-			self.canFocus = false;
-
-			return '<div id="' + self._id + '" class="' + self.classes() + '"></div>';
-		}
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/Spacer.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/Spacer",["tinymce/ui/Widget"],function(a){return a.extend({renderHtml:function(){var b=this;b.addClass("spacer");b.canFocus=false;return'<div id="'+b._id+'" class="'+b.classes()+'"></div>'}})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/ui/TextBox.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-define("tinymce/ui/TextBox",["tinymce/ui/Widget","tinymce/ui/DomUtils"],function(b,a){return b.extend({init:function(d){var c=this;c._super(d);c._value=d.value||"";c.addClass("textbox");if(d.multiline){c.addClass("multiline")}else{c.on("keydown",function(f){if(f.keyCode==13){c.parents().reverse().each(function(e){f.preventDefault();if(e.hasEventListeners("submit")&&e.toJSON){e.fire("submit",{data:e.toJSON()});return false}})}})}},disabled:function(d){var c=this;if(c._rendered&&typeof d!="undefined"){c.getEl().disabled=d}return c._super(d)},value:function(d){var c=this;if(typeof d!="undefined"){c._value=d;if(c._rendered){c.getEl().value=d}return c}if(c._rendered){return c.getEl().value}return c._value},repaint:function(){var d=this,f,g,j,e=0,h=0,c;f=d.getEl().style;g=d._layoutRect;c=d._lastRepaintRect||{};var i=document;if(!d.settings.multiline&&i.all&&(!i.documentMode||i.documentMode<=8)){f.lineHeight=(g.h-h)+"px"}j=d._borderBox;e=j.left+j.right+8;h=j.top+j.bottom+(d.settings.multiline?8:0);if(g.x!==c.x){f.left=g.x+"px";c.x=g.x}if(g.y!==c.y){f.top=g.y+"px";c.y=g.y}if(g.w!==c.w){f.width=(g.w-e)+"px";c.w=g.w}if(g.h!==c.h){f.height=(g.h-h)+"px";c.h=g.h}d._lastRepaintRect=c;d.fire("repaint",{},false);return d},renderHtml:function(){var c=this,g=c._id,d=c.settings,f=c.encode(c._value,false),e="";if("spellcheck" in d){e+=' spellcheck="'+d.spellcheck+'"'}if(d.maxLength){e+=' maxlength="'+d.maxLength+'"'}if(d.size){e+=' size="'+d.size+'"'}if(d.subtype){e+=' type="'+d.subtype+'"'}if(c.disabled()){e+=' disabled="disabled"'}if(d.multiline){return('<textarea id="'+g+'" class="'+c.classes()+'" '+(d.rows?' rows="'+d.rows+'"':"")+' hidefocus="1"'+e+">"+f+"</textarea>")}return'<input id="'+g+'" class="'+c.classes()+'" value="'+f+'" hidefocus="1"'+e+" />"},postRender:function(){var c=this;a.on(c.getEl(),"change",function(d){c.fire("change",d)});return c._super()},remove:function(){a.off(this.getEl());this._super()}})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Color.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/**
- * Color.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class lets you parse/serialize colors and convert rgb/hsb.
- *
- * @class tinymce.util.Color
- * @example
- * var white = new tinymce.util.Color({r: 255, g: 255, b: 255});
- * var red = new tinymce.util.Color('#FF0000');
- *
- * console.log(white.toHex(), red.toHsv());
- */
-define("tinymce/util/Color", [], function() {
-	var min = Math.min, max = Math.max, round = Math.round;
-
-	/**
-	 * Constructs a new color instance.
-	 *
-	 * @constructor
-	 * @method Color
-	 * @param {String} value Optional initial value to parse.
-	 */
-	function Color(value) {
-		var self = this, r = 0, g = 0, b = 0;
-
-		function rgb2hsv(r, g, b) {
-			var h, s, v, d, minRGB, maxRGB;
-
-			h = 0;
-			s = 0;
-			v = 0;
-			r = r / 255;
-			g = g / 255;
-			b = b / 255;
-
-			minRGB = min(r, min(g, b));
-			maxRGB = max(r, max(g, b));
-
-			if (minRGB == maxRGB) {
-				v = minRGB;
-
-				return {
-					h: 0,
-					s: 0,
-					v: v * 100
-				};
-			}
-
-			/*eslint no-nested-ternary:0 */
-			d = (r == minRGB) ? g - b : ((b == minRGB) ? r - g : b - r);
-			h = (r == minRGB) ? 3 : ((b == minRGB) ? 1 : 5);
-			h = 60 * (h - d / (maxRGB - minRGB));
-			s = (maxRGB - minRGB) / maxRGB;
-			v = maxRGB;
-
-			return {
-				h: round(h),
-				s: round(s * 100),
-				v: round(v * 100)
-			};
-		}
-
-		function hsvToRgb(hue, saturation, brightness) {
-			var side, chroma, x, match;
-
-			hue = (parseInt(hue, 10) || 0) % 360;
-			saturation = parseInt(saturation, 10) / 100;
-			brightness = parseInt(brightness, 10) / 100;
-			saturation = max(0, min(saturation, 1));
-			brightness = max(0, min(brightness, 1));
-
-			if (saturation === 0) {
-				r = g = b = round(255 * brightness);
-				return;
-			}
-
-			side = hue / 60;
-			chroma = brightness * saturation;
-			x = chroma * (1 - Math.abs(side % 2 - 1));
-			match = brightness - chroma;
-
-			switch (Math.floor(side)) {
-				case 0:
-					r = chroma;
-					g = x;
-					b = 0;
-					break;
-
-				case 1:
-					r = x;
-					g = chroma;
-					b = 0;
-					break;
-
-				case 2:
-					r = 0;
-					g = chroma;
-					b = x;
-					break;
-
-				case 3:
-					r = 0;
-					g = x;
-					b = chroma;
-					break;
-
-				case 4:
-					r = x;
-					g = 0;
-					b = chroma;
-					break;
-
-				case 5:
-					r = chroma;
-					g = 0;
-					b = x;
-					break;
-
-				default:
-					r = g = b = 0;
-			}
-
-			r = round(255 * (r + match));
-			g = round(255 * (g + match));
-			b = round(255 * (b + match));
-		}
-
-		/**
-		 * Returns the hex string of the current color. For example: #ff00ff
-		 *
-		 * @method toHex
-		 * @return {String} Hex string of current color.
-		 */
-		function toHex() {
-			function hex(val) {
-				val = parseInt(val, 10).toString(16);
-
-				return val.length > 1 ? val : '0' + val;
-			}
-
-			return '#' + hex(r) + hex(g) + hex(b);
-		}
-
-		/**
-		 * Returns the r, g, b values of the color. Each channel has a range from 0-255.
-		 *
-		 * @method toRgb
-		 * @return {Object} Object with r, g, b fields.
-		 */
-		function toRgb() {
-			return {
-				r: r,
-				g: g,
-				b: b
-			};
-		}
-
-		/**
-		 * Returns the h, s, v values of the color. Ranges: h=0-360, s=0-100, v=0-100.
-		 *
-		 * @method toHsv
-		 * @return {Object} Object with h, s, v fields.
-		 */
-		function toHsv() {
-			return rgb2hsv(r, g, b);
-		}
-
-		/**
-		 * Parses the specified value and populates the color instance.
-		 *
-		 * Supported format examples:
-		 *  * rbg(255,0,0)
-		 *  * #ff0000
-		 *  * #fff
-		 *  * {r: 255, g: 0, b: 0}
-		 *  * {h: 360, s: 100, v: 100}
-		 *
-		 * @method parse
-		 * @param {Object/String} value Color value to parse.
-		 * @return {tinymce.util.Color} Current color instance.
-		 */
-		function parse(value) {
-			var matches;
-
-			if (typeof value == 'object') {
-				if ("r" in value) {
-					r = value.r;
-					g = value.g;
-					b = value.b;
-				} else if ("v" in value) {
-					hsvToRgb(value.h, value.s, value.v);
-				}
-			} else {
-				if ((matches = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(value))) {
-					r = parseInt(matches[1], 10);
-					g = parseInt(matches[2], 10);
-					b = parseInt(matches[3], 10);
-				} else if ((matches = /#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(value))) {
-					r = parseInt(matches[1], 16);
-					g = parseInt(matches[2], 16);
-					b = parseInt(matches[3], 16);
-				} else if ((matches = /#([0-F])([0-F])([0-F])/gi.exec(value))) {
-					r = parseInt(matches[1] + matches[1], 16);
-					g = parseInt(matches[2] + matches[2], 16);
-					b = parseInt(matches[3] + matches[3], 16);
-				}
-			}
-
-			r = r < 0 ? 0 : (r > 255 ? 255 : r);
-			g = g < 0 ? 0 : (g > 255 ? 255 : g);
-			b = b < 0 ? 0 : (b > 255 ? 255 : b);
-
-			return self;
-		}
-
-		if (value) {
-			parse(value);
-		}
-
-		self.toRgb = toRgb;
-		self.toHsv = toHsv;
-		self.toHex = toHex;
-		self.parse = parse;
-	}
-
-	return Color;
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/I18n.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-/**
- * I18n.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * I18n class that handles translation of TinyMCE UI.
- * Uses po style with csharp style parameters.
- *
- * @class tinymce.util.I18n
- */
-define("tinymce/util/I18n", [], function() {
-	"use strict";
-
-	var data = {}, code = "en";
-
-	return {
-		/**
-		 * Sets the current language code.
-		 *
-		 * @method setCode
-		 * @param {String} newCode Current language code.
-		 */
-		setCode: function(newCode) {
-			if (newCode) {
-				code = newCode;
-				this.rtl = this.data[newCode] ? this.data[newCode]._dir === 'rtl' : false;
-			}
-		},
-
-		/**
-		 * Returns the current language code.
-		 *
-		 * @return {String} Current language code.
-		 */
-		getCode: function() {
-			return code;
-		},
-
-		/**
-		 * Property gets set to true if a RTL language pack was loaded.
-		 *
-		 * @property rtl
-		 * @type Boolean
-		 */
-		rtl: false,
-
-		/**
-		 * Adds translations for a specific language code.
-		 *
-		 * @method add
-		 * @param {String} code Language code like sv_SE.
-		 * @param {Array} items Name/value array with English en_US to sv_SE.
-		 */
-		add: function(code, items) {
-			var langData = data[code];
-
-			if (!langData) {
-				data[code] = langData = {};
-			}
-
-			for (var name in items) {
-				langData[name] = items[name];
-			}
-
-			this.setCode(code);
-		},
-
-		/**
-		 * Translates the specified text.
-		 *
-		 * It has a few formats:
-		 * I18n.translate("Text");
-		 * I18n.translate(["Text {0}/{1}", 0, 1]);
-		 * I18n.translate({raw: "Raw string"});
-		 *
-		 * @method translate
-		 * @param {String/Object/Array} text Text to translate.
-		 * @return {String} String that got translated.
-		 */
-		translate: function(text) {
-			var langData;
-
-			langData = data[code];
-			if (!langData) {
-				langData = {};
-			}
-
-			if (typeof text == "undefined") {
-				return text;
-			}
-
-			if (typeof text != "string" && text.raw) {
-				return text.raw;
-			}
-
-			if (text.push) {
-				var values = text.slice(1);
-
-				text = (langData[text[0]] || text[0]).replace(/\{([0-9]+)\}/g, function(match1, match2) {
-					return values[match2];
-				});
-			}
-
-			return (langData[text] || text).replace(/{context:\w+}$/, '');
-		},
-
-		data: data
-	};
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/JSON.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/**
- * JSON.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * JSON parser and serializer class.
- *
- * @class tinymce.util.JSON
- * @static
- * @example
- * // JSON parse a string into an object
- * var obj = tinymce.util.JSON.parse(somestring);
- *
- * // JSON serialize a object into an string
- * var str = tinymce.util.JSON.serialize(obj);
- */
-define("tinymce/util/JSON", [], function() {
-	function serialize(o, quote) {
-		var i, v, t, name;
-
-		quote = quote || '"';
-
-		if (o === null) {
-			return 'null';
-		}
-
-		t = typeof o;
-
-		if (t == 'string') {
-			v = '\bb\tt\nn\ff\rr\""\'\'\\\\';
-
-			return quote + o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g, function(a, b) {
-				// Make sure single quotes never get encoded inside double quotes for JSON compatibility
-				if (quote === '"' && a === "'") {
-					return a;
-				}
-
-				i = v.indexOf(b);
-
-				if (i + 1) {
-					return '\\' + v.charAt(i + 1);
-				}
-
-				a = b.charCodeAt().toString(16);
-
-				return '\\u' + '0000'.substring(a.length) + a;
-			}) + quote;
-		}
-
-		if (t == 'object') {
-			if (o.hasOwnProperty && Object.prototype.toString.call(o) === '[object Array]') {
-				for (i = 0, v = '['; i < o.length; i++) {
-					v += (i > 0 ? ',' : '') + serialize(o[i], quote);
-				}
-
-				return v + ']';
-			}
-
-			v = '{';
-
-			for (name in o) {
-				if (o.hasOwnProperty(name)) {
-					v += typeof o[name] != 'function' ? (v.length > 1 ? ',' + quote : quote) + name +
-						quote + ':' + serialize(o[name], quote) : '';
-				}
-			}
-
-			return v + '}';
-		}
-
-		return '' + o;
-	}
-
-	return {
-		/**
-		 * Serializes the specified object as a JSON string.
-		 *
-		 * @method serialize
-		 * @param {Object} obj Object to serialize as a JSON string.
-		 * @param {String} quote Optional quote string defaults to ".
-		 * @return {string} JSON string serialized from input.
-		 */
-		serialize: serialize,
-
-		/**
-		 * Unserializes/parses the specified JSON string into a object.
-		 *
-		 * @method parse
-		 * @param {string} s JSON String to parse into a JavaScript object.
-		 * @return {Object} Object from input JSON string or undefined if it failed.
-		 */
-		parse: function(text) {
-			try {
-				// Trick uglify JS
-				return window[String.fromCharCode(101) + 'val']('(' + text + ')');
-			} catch (ex) {
-				// Ignore
-			}
-		}
-
-		/**#@-*/
-	};
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Quirks.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1577 +0,0 @@
-/**
- * Quirks.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- *
- * @ignore-file
- */
-
-/**
- * This file includes fixes for various browser quirks it's made to make it easy to add/remove browser specific fixes.
- *
- * @class tinymce.util.Quirks
- */
-define("tinymce/util/Quirks", [
-	"tinymce/util/VK",
-	"tinymce/dom/RangeUtils",
-	"tinymce/dom/TreeWalker",
-	"tinymce/html/Node",
-	"tinymce/html/Entities",
-	"tinymce/Env",
-	"tinymce/util/Tools"
-], function(VK, RangeUtils, TreeWalker, Node, Entities, Env, Tools) {
-	return function(editor) {
-		var each = Tools.each, $ = editor.$;
-		var BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE, dom = editor.dom, selection = editor.selection,
-			settings = editor.settings, parser = editor.parser, serializer = editor.serializer;
-		var isGecko = Env.gecko, isIE = Env.ie, isWebKit = Env.webkit;
-		var mceInternalUrlPrefix = 'data:text/mce-internal,';
-		var mceInternalDataType = isIE ? 'Text' : 'URL';
-
-		/**
-		 * Executes a command with a specific state this can be to enable/disable browser editing features.
-		 */
-		function setEditorCommandState(cmd, state) {
-			try {
-				editor.getDoc().execCommand(cmd, false, state);
-			} catch (ex) {
-				// Ignore
-			}
-		}
-
-		/**
-		 * Returns current IE document mode.
-		 */
-		function getDocumentMode() {
-			var documentMode = editor.getDoc().documentMode;
-
-			return documentMode ? documentMode : 6;
-		}
-
-		/**
-		 * Returns true/false if the event is prevented or not.
-		 *
-		 * @private
-		 * @param {Event} e Event object.
-		 * @return {Boolean} true/false if the event is prevented or not.
-		 */
-		function isDefaultPrevented(e) {
-			return e.isDefaultPrevented();
-		}
-
-		/**
-		 * Sets Text/URL data on the event's dataTransfer object to a special data:text/mce-internal url.
-		 * This is to workaround the inability to set custom contentType on IE and Safari.
-		 * The editor's selected content is encoded into this url so drag and drop between editors will work.
-		 *
-		 * @private
-		 * @param {DragEvent} e Event object
-		 */
-		function setMceInteralContent(e) {
-			var selectionHtml;
-
-			if (e.dataTransfer) {
-				if (editor.selection.isCollapsed() && e.target.tagName == 'IMG') {
-					selection.select(e.target);
-				}
-
-				selectionHtml = editor.selection.getContent();
-
-				// Safari/IE doesn't support custom dataTransfer items so we can only use URL and Text
-				if (selectionHtml.length > 0) {
-					e.dataTransfer.setData(mceInternalDataType, mceInternalUrlPrefix + escape(selectionHtml));
-				}
-			}
-		}
-
-		/**
-		 * Gets content of special data:text/mce-internal url on the event's dataTransfer object.
-		 * This is to workaround the inability to set custom contentType on IE and Safari.
-		 * The editor's selected content is encoded into this url so drag and drop between editors will work.
-		 *
-		 * @private
-		 * @param {DragEvent} e Event object
-		 * @returns {String} mce-internal content
-		 */
-		function getMceInternalContent(e) {
-			var internalContent, content;
-
-			if (e.dataTransfer) {
-				internalContent = e.dataTransfer.getData(mceInternalDataType);
-
-				if (internalContent && internalContent.indexOf(mceInternalUrlPrefix) >= 0) {
-					content = unescape(internalContent.substr(mceInternalUrlPrefix.length));
-				}
-			}
-
-			return content;
-		}
-
-		/**
-		 * Inserts contents using the paste clipboard command if it's available if it isn't it will fallback
-		 * to the core command.
-		 *
-		 * @private
-		 * @param {String} content Content to insert at selection.
-		 */
-		function insertClipboardContents(content) {
-			if (editor.queryCommandSupported('mceInsertClipboardContent')) {
-				editor.execCommand('mceInsertClipboardContent', false, {content: content});
-			} else {
-				editor.execCommand('mceInsertContent', false, content);
-			}
-		}
-
-		/**
-		 * Fixes a WebKit bug when deleting contents using backspace or delete key.
-		 * WebKit will produce a span element if you delete across two block elements.
-		 *
-		 * Example:
-		 * <h1>a</h1><p>|b</p>
-		 *
-		 * Will produce this on backspace:
-		 * <h1>a<span style="<all runtime styles>">b</span></p>
-		 *
-		 * This fixes the backspace to produce:
-		 * <h1>a|b</p>
-		 *
-		 * See bug: https://bugs.webkit.org/show_bug.cgi?id=45784
-		 *
-		 * This fixes the following delete scenarios:
-		 *  1. Delete by pressing backspace key.
-		 *  2. Delete by pressing delete key.
-		 *  3. Delete by pressing backspace key with ctrl/cmd (Word delete).
-		 *  4. Delete by pressing delete key with ctrl/cmd (Word delete).
-		 *  5. Delete by drag/dropping contents inside the editor.
-		 *  6. Delete by using Cut Ctrl+X/Cmd+X.
-		 *  7. Delete by selecting contents and writing a character.
-		 *
-		 * This code is a ugly hack since writing full custom delete logic for just this bug
-		 * fix seemed like a huge task. I hope we can remove this before the year 2030.
-		 */
-		function cleanupStylesWhenDeleting() {
-			var doc = editor.getDoc(), dom = editor.dom, selection = editor.selection;
-			var MutationObserver = window.MutationObserver, olderWebKit, dragStartRng;
-
-			// Add mini polyfill for older WebKits
-			// TODO: Remove this when old Safari versions gets updated
-			if (!MutationObserver) {
-				olderWebKit = true;
-
-				MutationObserver = function() {
-					var records = [], target;
-
-					function nodeInsert(e) {
-						var target = e.relatedNode || e.target;
-						records.push({target: target, addedNodes: [target]});
-					}
-
-					function attrModified(e) {
-						var target = e.relatedNode || e.target;
-						records.push({target: target, attributeName: e.attrName});
-					}
-
-					this.observe = function(node) {
-						target = node;
-						target.addEventListener('DOMSubtreeModified', nodeInsert, false);
-						target.addEventListener('DOMNodeInsertedIntoDocument', nodeInsert, false);
-						target.addEventListener('DOMNodeInserted', nodeInsert, false);
-						target.addEventListener('DOMAttrModified', attrModified, false);
-					};
-
-					this.disconnect = function() {
-						target.removeEventListener('DOMSubtreeModified', nodeInsert, false);
-						target.removeEventListener('DOMNodeInsertedIntoDocument', nodeInsert, false);
-						target.removeEventListener('DOMNodeInserted', nodeInsert, false);
-						target.removeEventListener('DOMAttrModified', attrModified, false);
-					};
-
-					this.takeRecords = function() {
-						return records;
-					};
-				};
-			}
-
-			function isTrailingBr(node) {
-				var blockElements = dom.schema.getBlockElements(), rootNode = editor.getBody();
-
-				if (node.nodeName != 'BR') {
-					return false;
-				}
-
-				for (node = node; node != rootNode && !blockElements[node.nodeName]; node = node.parentNode) {
-					if (node.nextSibling) {
-						return false;
-					}
-				}
-
-				return true;
-			}
-
-			function isSiblingsIgnoreWhiteSpace(node1, node2) {
-				var node;
-
-				for (node = node1.nextSibling; node && node != node2; node = node.nextSibling) {
-					if (node.nodeType == 3 && $.trim(node.data).length === 0) {
-						continue;
-					}
-
-					if (node !== node2) {
-						return false;
-					}
-				}
-
-				return node === node2;
-			}
-
-			function findCaretNode(node, forward, startNode) {
-				var walker, current, nonEmptyElements;
-
-				nonEmptyElements = dom.schema.getNonEmptyElements();
-
-				walker = new TreeWalker(startNode || node, node);
-
-				while ((current = walker[forward ? 'next' : 'prev']())) {
-					if (nonEmptyElements[current.nodeName] && !isTrailingBr(current)) {
-						return current;
-					}
-
-					if (current.nodeType == 3 && current.data.length > 0) {
-						return current;
-					}
-				}
-			}
-
-			function deleteRangeBetweenTextBlocks(rng) {
-				var startBlock, endBlock, caretNodeBefore, caretNodeAfter, textBlockElements;
-
-				if (rng.collapsed) {
-					return;
-				}
-
-				startBlock = dom.getParent(RangeUtils.getNode(rng.startContainer, rng.startOffset), dom.isBlock);
-				endBlock = dom.getParent(RangeUtils.getNode(rng.endContainer, rng.endOffset), dom.isBlock);
-				textBlockElements = editor.schema.getTextBlockElements();
-
-				if (startBlock == endBlock) {
-					return;
-				}
-
-				if (!textBlockElements[startBlock.nodeName] || !textBlockElements[endBlock.nodeName]) {
-					return;
-				}
-
-				if (dom.getContentEditable(startBlock) === "false" || dom.getContentEditable(endBlock) === "false") {
-					return;
-				}
-
-				rng.deleteContents();
-
-				caretNodeBefore = findCaretNode(startBlock, false);
-				caretNodeAfter = findCaretNode(endBlock, true);
-
-				if (!dom.isEmpty(endBlock)) {
-					$(startBlock).append(endBlock.childNodes);
-				}
-
-				$(endBlock).remove();
-
-				if (caretNodeBefore) {
-					if (caretNodeBefore.nodeType == 1) {
-						if (caretNodeBefore.nodeName == "BR") {
-							rng.setStartBefore(caretNodeBefore);
-							rng.setEndBefore(caretNodeBefore);
-						} else {
-							rng.setStartAfter(caretNodeBefore);
-							rng.setEndAfter(caretNodeBefore);
-						}
-					} else {
-						rng.setStart(caretNodeBefore, caretNodeBefore.data.length);
-						rng.setEnd(caretNodeBefore, caretNodeBefore.data.length);
-					}
-				} else if (caretNodeAfter) {
-					if (caretNodeAfter.nodeType == 1) {
-						rng.setStartBefore(caretNodeAfter);
-						rng.setEndBefore(caretNodeAfter);
-					} else {
-						rng.setStart(caretNodeAfter, 0);
-						rng.setEnd(caretNodeAfter, 0);
-					}
-				}
-
-				selection.setRng(rng);
-
-				return true;
-			}
-
-			function expandBetweenBlocks(rng, isForward) {
-				var caretNode, targetCaretNode, textBlock, targetTextBlock, container, offset;
-
-				if (!rng.collapsed) {
-					return rng;
-				}
-
-				container = rng.startContainer;
-				offset = rng.startOffset;
-
-				if (container.nodeType == 3) {
-					if (isForward) {
-						if (offset < container.data.length) {
-							return rng;
-						}
-					} else {
-						if (offset > 0) {
-							return rng;
-						}
-					}
-				}
-
-				caretNode = RangeUtils.getNode(rng.startContainer, rng.startOffset);
-				textBlock = dom.getParent(caretNode, dom.isBlock);
-				targetCaretNode = findCaretNode(editor.getBody(), isForward, caretNode);
-				targetTextBlock = dom.getParent(targetCaretNode, dom.isBlock);
-
-				if (!caretNode || !targetCaretNode) {
-					return rng;
-				}
-
-				if (targetTextBlock && textBlock != targetTextBlock) {
-					if (!isForward) {
-						if (!isSiblingsIgnoreWhiteSpace(targetTextBlock, textBlock)) {
-							return rng;
-						}
-
-						if (targetCaretNode.nodeType == 1) {
-							if (targetCaretNode.nodeName == "BR") {
-								rng.setStartBefore(targetCaretNode);
-							} else {
-								rng.setStartAfter(targetCaretNode);
-							}
-						} else {
-							rng.setStart(targetCaretNode, targetCaretNode.data.length);
-						}
-
-						if (caretNode.nodeType == 1) {
-							rng.setEnd(caretNode, 0);
-						} else {
-							rng.setEndBefore(caretNode);
-						}
-					} else {
-						if (!isSiblingsIgnoreWhiteSpace(textBlock, targetTextBlock)) {
-							return rng;
-						}
-
-						if (caretNode.nodeType == 1) {
-							if (caretNode.nodeName == "BR") {
-								rng.setStartBefore(caretNode);
-							} else {
-								rng.setStartAfter(caretNode);
-							}
-						} else {
-							rng.setStart(caretNode, caretNode.data.length);
-						}
-
-						if (targetCaretNode.nodeType == 1) {
-							rng.setEnd(targetCaretNode, 0);
-						} else {
-							rng.setEndBefore(targetCaretNode);
-						}
-					}
-				}
-
-				return rng;
-			}
-
-			function handleTextBlockMergeDelete(isForward) {
-				var rng = selection.getRng();
-
-				rng = expandBetweenBlocks(rng, isForward);
-
-				if (deleteRangeBetweenTextBlocks(rng)) {
-					return true;
-				}
-			}
-
-			function customDelete(isForward) {
-				var mutationObserver, rng, caretElement;
-
-				if (handleTextBlockMergeDelete(isForward)) {
-					return;
-				}
-
-				Tools.each(editor.getBody().getElementsByTagName('*'), function(elm) {
-					// Mark existing spans
-					if (elm.tagName == 'SPAN') {
-						elm.setAttribute('mce-data-marked', 1);
-					}
-
-					// Make sure all elements has a data-mce-style attribute
-					if (!elm.hasAttribute('data-mce-style') && elm.hasAttribute('style')) {
-						editor.dom.setAttrib(elm, 'style', editor.dom.getAttrib(elm, 'style'));
-					}
-				});
-
-				// Observe added nodes and style attribute changes
-				mutationObserver = new MutationObserver(function() {});
-				mutationObserver.observe(editor.getDoc(), {
-					childList: true,
-					attributes: true,
-					subtree: true,
-					attributeFilter: ['style']
-				});
-
-				editor.getDoc().execCommand(isForward ? 'ForwardDelete' : 'Delete', false, null);
-
-				rng = editor.selection.getRng();
-				caretElement = rng.startContainer.parentNode;
-
-				Tools.each(mutationObserver.takeRecords(), function(record) {
-					if (!dom.isChildOf(record.target, editor.getBody())) {
-						return;
-					}
-
-					// Restore style attribute to previous value
-					if (record.attributeName == "style") {
-						var oldValue = record.target.getAttribute('data-mce-style');
-
-						if (oldValue) {
-							record.target.setAttribute("style", oldValue);
-						} else {
-							record.target.removeAttribute("style");
-						}
-					}
-
-					// Remove all spans that isn't maked and retain selection
-					Tools.each(record.addedNodes, function(node) {
-						if (node.nodeName == "SPAN" && !node.getAttribute('mce-data-marked')) {
-							var offset, container;
-
-							if (node == caretElement) {
-								offset = rng.startOffset;
-								container = node.firstChild;
-							}
-
-							dom.remove(node, true);
-
-							if (container) {
-								rng.setStart(container, offset);
-								rng.setEnd(container, offset);
-								editor.selection.setRng(rng);
-							}
-						}
-					});
-				});
-
-				mutationObserver.disconnect();
-
-				// Remove any left over marks
-				Tools.each(editor.dom.select('span[mce-data-marked]'), function(span) {
-					span.removeAttribute('mce-data-marked');
-				});
-			}
-
-			editor.on('keydown', function(e) {
-				var isForward = e.keyCode == DELETE, isMetaOrCtrl = e.ctrlKey || e.metaKey;
-
-				if (!isDefaultPrevented(e) && (isForward || e.keyCode == BACKSPACE)) {
-					var rng = editor.selection.getRng(), container = rng.startContainer, offset = rng.startOffset;
-
-					// Ignore non meta delete in the where there is text before/after the caret
-					if (!isMetaOrCtrl && rng.collapsed && container.nodeType == 3) {
-						if (isForward ? offset < container.data.length : offset > 0) {
-							return;
-						}
-					}
-
-					e.preventDefault();
-
-					if (isMetaOrCtrl) {
-						editor.selection.getSel().modify("extend", isForward ? "forward" : "backward", e.metaKey ? "lineboundary" : "word");
-					}
-
-					customDelete(isForward);
-				}
-			});
-
-			// Handle case where text is deleted by typing over
-			editor.on('keypress', function(e) {
-				if (!isDefaultPrevented(e) && !selection.isCollapsed() && e.charCode && !VK.metaKeyPressed(e)) {
-					var rng, currentFormatNodes, fragmentNode, blockParent, caretNode, charText;
-
-					rng = editor.selection.getRng();
-					charText = String.fromCharCode(e.charCode);
-					e.preventDefault();
-
-					// Keep track of current format nodes
-					currentFormatNodes = $(rng.startContainer).parents().filter(function(idx, node) {
-						return !!editor.schema.getTextInlineElements()[node.nodeName];
-					});
-
-					customDelete(true);
-
-					// Check if the browser removed them
-					currentFormatNodes = currentFormatNodes.filter(function(idx, node) {
-						return !$.contains(editor.getBody(), node);
-					});
-
-					// Then re-add them
-					if (currentFormatNodes.length) {
-						fragmentNode = dom.createFragment();
-
-						currentFormatNodes.each(function(idx, formatNode) {
-							formatNode = formatNode.cloneNode(false);
-
-							if (fragmentNode.hasChildNodes()) {
-								formatNode.appendChild(fragmentNode.firstChild);
-								fragmentNode.appendChild(formatNode);
-							} else {
-								caretNode = formatNode;
-								fragmentNode.appendChild(formatNode);
-							}
-
-							fragmentNode.appendChild(formatNode);
-						});
-
-						caretNode.appendChild(editor.getDoc().createTextNode(charText));
-
-						// Prevent edge case where older WebKit would add an extra BR element
-						blockParent = dom.getParent(rng.startContainer, dom.isBlock);
-						if (dom.isEmpty(blockParent)) {
-							$(blockParent).empty().append(fragmentNode);
-						} else {
-							rng.insertNode(fragmentNode);
-						}
-
-						rng.setStart(caretNode.firstChild, 1);
-						rng.setEnd(caretNode.firstChild, 1);
-						editor.selection.setRng(rng);
-					} else {
-						editor.selection.setContent(charText);
-					}
-				}
-			});
-
-			editor.addCommand('Delete', function() {
-				customDelete();
-			});
-
-			editor.addCommand('ForwardDelete', function() {
-				customDelete(true);
-			});
-
-			// Older WebKits doesn't properly handle the clipboard so we can't add the rest
-			if (olderWebKit) {
-				return;
-			}
-
-			editor.on('dragstart', function(e) {
-				dragStartRng = selection.getRng();
-				setMceInteralContent(e);
-			});
-
-			editor.on('drop', function(e) {
-				if (!isDefaultPrevented(e)) {
-					var internalContent = getMceInternalContent(e);
-					if (internalContent) {
-						e.preventDefault();
-
-						// Safari has a weird issue where drag/dropping images sometimes
-						// produces a green plus icon. When this happens the caretRangeFromPoint
-						// will return "null" even though the x, y coordinate is correct.
-						// But if we detach the insert from the drop event we will get a proper range
-						window.setTimeout(function() {
-							var pointRng = RangeUtils.getCaretRangeFromPoint(e.x, e.y, doc);
-
-							if (dragStartRng) {
-								selection.setRng(dragStartRng);
-								dragStartRng = null;
-							}
-
-							customDelete();
-							selection.setRng(pointRng);
-							insertClipboardContents(internalContent);
-						}, 0);
-					}
-				}
-			});
-
-			editor.on('cut', function(e) {
-				if (!isDefaultPrevented(e) && e.clipboardData) {
-					e.preventDefault();
-					e.clipboardData.clearData();
-					e.clipboardData.setData('text/html', editor.selection.getContent());
-					e.clipboardData.setData('text/plain', editor.selection.getContent({format: 'text'}));
-					customDelete(true);
-				}
-			});
-		}
-
-		/**
-		 * Makes sure that the editor body becomes empty when backspace or delete is pressed in empty editors.
-		 *
-		 * For example:
-		 * <p><b>|</b></p>
-		 *
-		 * Or:
-		 * <h1>|</h1>
-		 *
-		 * Or:
-		 * [<h1></h1>]
-		 */
-		function emptyEditorWhenDeleting() {
-			function serializeRng(rng) {
-				var body = dom.create("body");
-				var contents = rng.cloneContents();
-				body.appendChild(contents);
-				return selection.serializer.serialize(body, {format: 'html'});
-			}
-
-			function allContentsSelected(rng) {
-				if (!rng.setStart) {
-					if (rng.item) {
-						return false;
-					}
-
-					var bodyRng = rng.duplicate();
-					bodyRng.moveToElementText(editor.getBody());
-					return RangeUtils.compareRanges(rng, bodyRng);
-				}
-
-				var selection = serializeRng(rng);
-
-				var allRng = dom.createRng();
-				allRng.selectNode(editor.getBody());
-
-				var allSelection = serializeRng(allRng);
-				return selection === allSelection;
-			}
-
-			editor.on('keydown', function(e) {
-				var keyCode = e.keyCode, isCollapsed, body;
-
-				// Empty the editor if it's needed for example backspace at <p><b>|</b></p>
-				if (!isDefaultPrevented(e) && (keyCode == DELETE || keyCode == BACKSPACE)) {
-					isCollapsed = editor.selection.isCollapsed();
-					body = editor.getBody();
-
-					// Selection is collapsed but the editor isn't empty
-					if (isCollapsed && !dom.isEmpty(body)) {
-						return;
-					}
-
-					// Selection isn't collapsed but not all the contents is selected
-					if (!isCollapsed && !allContentsSelected(editor.selection.getRng())) {
-						return;
-					}
-
-					// Manually empty the editor
-					e.preventDefault();
-					editor.setContent('');
-
-					if (body.firstChild && dom.isBlock(body.firstChild)) {
-						editor.selection.setCursorLocation(body.firstChild, 0);
-					} else {
-						editor.selection.setCursorLocation(body, 0);
-					}
-
-					editor.nodeChanged();
-				}
-			});
-		}
-
-		/**
-		 * WebKit doesn't select all the nodes in the body when you press Ctrl+A.
-		 * IE selects more than the contents <body>[<p>a</p>]</body> instead of <body><p>[a]</p]</body> see bug #6438
-		 * This selects the whole body so that backspace/delete logic will delete everything
-		 */
-		function selectAll() {
-			editor.shortcuts.add('meta+a', null, 'SelectAll');
-		}
-
-		/**
-		 * WebKit has a weird issue where it some times fails to properly convert keypresses to input method keystrokes.
-		 * The IME on Mac doesn't initialize when it doesn't fire a proper focus event.
-		 *
-		 * This seems to happen when the user manages to click the documentElement element then the window doesn't get proper focus until
-		 * you enter a character into the editor.
-		 *
-		 * It also happens when the first focus in made to the body.
-		 *
-		 * See: https://bugs.webkit.org/show_bug.cgi?id=83566
-		 */
-		function inputMethodFocus() {
-			if (!editor.settings.content_editable) {
-				// Case 1 IME doesn't initialize if you focus the document
-				dom.bind(editor.getDoc(), 'focusin', function() {
-					selection.setRng(selection.getRng());
-				});
-
-				// Case 2 IME doesn't initialize if you click the documentElement it also doesn't properly fire the focusin event
-				// Needs to be both down/up due to weird rendering bug on Chrome Windows
-				dom.bind(editor.getDoc(), 'mousedown mouseup', function(e) {
-					if (e.target == editor.getDoc().documentElement) {
-						editor.getBody().focus();
-
-						if (e.type == 'mousedown') {
-							// Edge case for mousedown, drag select and mousedown again within selection on Chrome Windows to render caret
-							selection.placeCaretAt(e.clientX, e.clientY);
-						} else {
-							selection.setRng(selection.getRng());
-						}
-					}
-				});
-			}
-		}
-
-		/**
-		 * Backspacing in FireFox/IE from a paragraph into a horizontal rule results in a floating text node because the
-		 * browser just deletes the paragraph - the browser fails to merge the text node with a horizontal rule so it is
-		 * left there. TinyMCE sees a floating text node and wraps it in a paragraph on the key up event (ForceBlocks.js
-		 * addRootBlocks), meaning the action does nothing. With this code, FireFox/IE matche the behaviour of other
-		 * browsers.
-		 *
-		 * It also fixes a bug on Firefox where it's impossible to delete HR elements.
-		 */
-		function removeHrOnBackspace() {
-			editor.on('keydown', function(e) {
-				if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {
-					// Check if there is any HR elements this is faster since getRng on IE 7 & 8 is slow
-					if (!editor.getBody().getElementsByTagName('hr').length) {
-						return;
-					}
-
-					if (selection.isCollapsed() && selection.getRng(true).startOffset === 0) {
-						var node = selection.getNode();
-						var previousSibling = node.previousSibling;
-
-						if (node.nodeName == 'HR') {
-							dom.remove(node);
-							e.preventDefault();
-							return;
-						}
-
-						if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === "hr") {
-							dom.remove(previousSibling);
-							e.preventDefault();
-						}
-					}
-				}
-			});
-		}
-
-		/**
-		 * Firefox 3.x has an issue where the body element won't get proper focus if you click out
-		 * side it's rectangle.
-		 */
-		function focusBody() {
-			// Fix for a focus bug in FF 3.x where the body element
-			// wouldn't get proper focus if the user clicked on the HTML element
-			if (!window.Range.prototype.getClientRects) { // Detect getClientRects got introduced in FF 4
-				editor.on('mousedown', function(e) {
-					if (!isDefaultPrevented(e) && e.target.nodeName === "HTML") {
-						var body = editor.getBody();
-
-						// Blur the body it's focused but not correctly focused
-						body.blur();
-
-						// Refocus the body after a little while
-						setTimeout(function() {
-							body.focus();
-						}, 0);
-					}
-				});
-			}
-		}
-
-		/**
-		 * WebKit has a bug where it isn't possible to select image, hr or anchor elements
-		 * by clicking on them so we need to fake that.
-		 */
-		function selectControlElements() {
-			editor.on('click', function(e) {
-				var target = e.target;
-
-				// Workaround for bug, http://bugs.webkit.org/show_bug.cgi?id=12250
-				// WebKit can't even do simple things like selecting an image
-				// Needs to be the setBaseAndExtend or it will fail to select floated images
-				if (/^(IMG|HR)$/.test(target.nodeName)) {
-					e.preventDefault();
-					selection.getSel().setBaseAndExtent(target, 0, target, 1);
-					editor.nodeChanged();
-				}
-
-				if (target.nodeName == 'A' && dom.hasClass(target, 'mce-item-anchor')) {
-					e.preventDefault();
-					selection.select(target);
-				}
-			});
-		}
-
-		/**
-		 * Fixes a Gecko bug where the style attribute gets added to the wrong element when deleting between two block elements.
-		 *
-		 * Fixes do backspace/delete on this:
-		 * <p>bla[ck</p><p style="color:red">r]ed</p>
-		 *
-		 * Would become:
-		 * <p>bla|ed</p>
-		 *
-		 * Instead of:
-		 * <p style="color:red">bla|ed</p>
-		 */
-		function removeStylesWhenDeletingAcrossBlockElements() {
-			function getAttributeApplyFunction() {
-				var template = dom.getAttribs(selection.getStart().cloneNode(false));
-
-				return function() {
-					var target = selection.getStart();
-
-					if (target !== editor.getBody()) {
-						dom.setAttrib(target, "style", null);
-
-						each(template, function(attr) {
-							target.setAttributeNode(attr.cloneNode(true));
-						});
-					}
-				};
-			}
-
-			function isSelectionAcrossElements() {
-				return !selection.isCollapsed() &&
-					dom.getParent(selection.getStart(), dom.isBlock) != dom.getParent(selection.getEnd(), dom.isBlock);
-			}
-
-			editor.on('keypress', function(e) {
-				var applyAttributes;
-
-				if (!isDefaultPrevented(e) && (e.keyCode == 8 || e.keyCode == 46) && isSelectionAcrossElements()) {
-					applyAttributes = getAttributeApplyFunction();
-					editor.getDoc().execCommand('delete', false, null);
-					applyAttributes();
-					e.preventDefault();
-					return false;
-				}
-			});
-
-			dom.bind(editor.getDoc(), 'cut', function(e) {
-				var applyAttributes;
-
-				if (!isDefaultPrevented(e) && isSelectionAcrossElements()) {
-					applyAttributes = getAttributeApplyFunction();
-
-					setTimeout(function() {
-						applyAttributes();
-					}, 0);
-				}
-			});
-		}
-
-		/**
-		 * Screen readers on IE needs to have the role application set on the body.
-		 */
-		function ensureBodyHasRoleApplication() {
-			document.body.setAttribute("role", "application");
-		}
-
-		/**
-		 * Backspacing into a table behaves differently depending upon browser type.
-		 * Therefore, disable Backspace when cursor immediately follows a table.
-		 */
-		function disableBackspaceIntoATable() {
-			editor.on('keydown', function(e) {
-				if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE) {
-					if (selection.isCollapsed() && selection.getRng(true).startOffset === 0) {
-						var previousSibling = selection.getNode().previousSibling;
-						if (previousSibling && previousSibling.nodeName && previousSibling.nodeName.toLowerCase() === "table") {
-							e.preventDefault();
-							return false;
-						}
-					}
-				}
-			});
-		}
-
-		/**
-		 * Old IE versions can't properly render BR elements in PRE tags white in contentEditable mode. So this
-		 * logic adds a \n before the BR so that it will get rendered.
-		 */
-		function addNewLinesBeforeBrInPre() {
-			// IE8+ rendering mode does the right thing with BR in PRE
-			if (getDocumentMode() > 7) {
-				return;
-			}
-
-			// Enable display: none in area and add a specific class that hides all BR elements in PRE to
-			// avoid the caret from getting stuck at the BR elements while pressing the right arrow key
-			setEditorCommandState('RespectVisibilityInDesign', true);
-			editor.contentStyles.push('.mceHideBrInPre pre br {display: none}');
-			dom.addClass(editor.getBody(), 'mceHideBrInPre');
-
-			// Adds a \n before all BR elements in PRE to get them visual
-			parser.addNodeFilter('pre', function(nodes) {
-				var i = nodes.length, brNodes, j, brElm, sibling;
-
-				while (i--) {
-					brNodes = nodes[i].getAll('br');
-					j = brNodes.length;
-					while (j--) {
-						brElm = brNodes[j];
-
-						// Add \n before BR in PRE elements on older IE:s so the new lines get rendered
-						sibling = brElm.prev;
-						if (sibling && sibling.type === 3 && sibling.value.charAt(sibling.value - 1) != '\n') {
-							sibling.value += '\n';
-						} else {
-							brElm.parent.insert(new Node('#text', 3), brElm, true).value = '\n';
-						}
-					}
-				}
-			});
-
-			// Removes any \n before BR elements in PRE since other browsers and in contentEditable=false mode they will be visible
-			serializer.addNodeFilter('pre', function(nodes) {
-				var i = nodes.length, brNodes, j, brElm, sibling;
-
-				while (i--) {
-					brNodes = nodes[i].getAll('br');
-					j = brNodes.length;
-					while (j--) {
-						brElm = brNodes[j];
-						sibling = brElm.prev;
-						if (sibling && sibling.type == 3) {
-							sibling.value = sibling.value.replace(/\r?\n$/, '');
-						}
-					}
-				}
-			});
-		}
-
-		/**
-		 * Moves style width/height to attribute width/height when the user resizes an image on IE.
-		 */
-		function removePreSerializedStylesWhenSelectingControls() {
-			dom.bind(editor.getBody(), 'mouseup', function() {
-				var value, node = selection.getNode();
-
-				// Moved styles to attributes on IMG eements
-				if (node.nodeName == 'IMG') {
-					// Convert style width to width attribute
-					if ((value = dom.getStyle(node, 'width'))) {
-						dom.setAttrib(node, 'width', value.replace(/[^0-9%]+/g, ''));
-						dom.setStyle(node, 'width', '');
-					}
-
-					// Convert style height to height attribute
-					if ((value = dom.getStyle(node, 'height'))) {
-						dom.setAttrib(node, 'height', value.replace(/[^0-9%]+/g, ''));
-						dom.setStyle(node, 'height', '');
-					}
-				}
-			});
-		}
-
-		/**
-		 * Removes a blockquote when backspace is pressed at the beginning of it.
-		 *
-		 * For example:
-		 * <blockquote><p>|x</p></blockquote>
-		 *
-		 * Becomes:
-		 * <p>|x</p>
-		 */
-		function removeBlockQuoteOnBackSpace() {
-			// Add block quote deletion handler
-			editor.on('keydown', function(e) {
-				var rng, container, offset, root, parent;
-
-				if (isDefaultPrevented(e) || e.keyCode != VK.BACKSPACE) {
-					return;
-				}
-
-				rng = selection.getRng();
-				container = rng.startContainer;
-				offset = rng.startOffset;
-				root = dom.getRoot();
-				parent = container;
-
-				if (!rng.collapsed || offset !== 0) {
-					return;
-				}
-
-				while (parent && parent.parentNode && parent.parentNode.firstChild == parent && parent.parentNode != root) {
-					parent = parent.parentNode;
-				}
-
-				// Is the cursor at the beginning of a blockquote?
-				if (parent.tagName === 'BLOCKQUOTE') {
-					// Remove the blockquote
-					editor.formatter.toggle('blockquote', null, parent);
-
-					// Move the caret to the beginning of container
-					rng = dom.createRng();
-					rng.setStart(container, 0);
-					rng.setEnd(container, 0);
-					selection.setRng(rng);
-				}
-			});
-		}
-
-		/**
-		 * Sets various Gecko editing options on mouse down and before a execCommand to disable inline table editing that is broken etc.
-		 */
-		function setGeckoEditingOptions() {
-			function setOpts() {
-				editor._refreshContentEditable();
-
-				setEditorCommandState("StyleWithCSS", false);
-				setEditorCommandState("enableInlineTableEditing", false);
-
-				if (!settings.object_resizing) {
-					setEditorCommandState("enableObjectResizing", false);
-				}
-			}
-
-			if (!settings.readonly) {
-				editor.on('BeforeExecCommand MouseDown', setOpts);
-			}
-		}
-
-		/**
-		 * Fixes a gecko link bug, when a link is placed at the end of block elements there is
-		 * no way to move the caret behind the link. This fix adds a bogus br element after the link.
-		 *
-		 * For example this:
-		 * <p><b><a href="#">x</a></b></p>
-		 *
-		 * Becomes this:
-		 * <p><b><a href="#">x</a></b><br></p>
-		 */
-		function addBrAfterLastLinks() {
-			function fixLinks() {
-				each(dom.select('a'), function(node) {
-					var parentNode = node.parentNode, root = dom.getRoot();
-
-					if (parentNode.lastChild === node) {
-						while (parentNode && !dom.isBlock(parentNode)) {
-							if (parentNode.parentNode.lastChild !== parentNode || parentNode === root) {
-								return;
-							}
-
-							parentNode = parentNode.parentNode;
-						}
-
-						dom.add(parentNode, 'br', {'data-mce-bogus': 1});
-					}
-				});
-			}
-
-			editor.on('SetContent ExecCommand', function(e) {
-				if (e.type == "setcontent" || e.command === 'mceInsertLink') {
-					fixLinks();
-				}
-			});
-		}
-
-		/**
-		 * WebKit will produce DIV elements here and there by default. But since TinyMCE uses paragraphs by
-		 * default we want to change that behavior.
-		 */
-		function setDefaultBlockType() {
-			if (settings.forced_root_block) {
-				editor.on('init', function() {
-					setEditorCommandState('DefaultParagraphSeparator', settings.forced_root_block);
-				});
-			}
-		}
-
-		/**
-		 * Removes ghost selections from images/tables on Gecko.
-		 */
-		function removeGhostSelection() {
-			editor.on('Undo Redo SetContent', function(e) {
-				if (!e.initial) {
-					editor.execCommand('mceRepaint');
-				}
-			});
-		}
-
-		/**
-		 * Deletes the selected image on IE instead of navigating to previous page.
-		 */
-		function deleteControlItemOnBackSpace() {
-			editor.on('keydown', function(e) {
-				var rng;
-
-				if (!isDefaultPrevented(e) && e.keyCode == BACKSPACE) {
-					rng = editor.getDoc().selection.createRange();
-					if (rng && rng.item) {
-						e.preventDefault();
-						editor.undoManager.beforeChange();
-						dom.remove(rng.item(0));
-						editor.undoManager.add();
-					}
-				}
-			});
-		}
-
-		/**
-		 * IE10 doesn't properly render block elements with the right height until you add contents to them.
-		 * This fixes that by adding a padding-right to all empty text block elements.
-		 * See: https://connect.microsoft.com/IE/feedback/details/743881
-		 */
-		function renderEmptyBlocksFix() {
-			var emptyBlocksCSS;
-
-			// IE10+
-			if (getDocumentMode() >= 10) {
-				emptyBlocksCSS = '';
-				each('p div h1 h2 h3 h4 h5 h6'.split(' '), function(name, i) {
-					emptyBlocksCSS += (i > 0 ? ',' : '') + name + ':empty';
-				});
-
-				editor.contentStyles.push(emptyBlocksCSS + '{padding-right: 1px !important}');
-			}
-		}
-
-		/**
-		 * Old IE versions can't retain contents within noscript elements so this logic will store the contents
-		 * as a attribute and the insert that value as it's raw text when the DOM is serialized.
-		 */
-		function keepNoScriptContents() {
-			if (getDocumentMode() < 9) {
-				parser.addNodeFilter('noscript', function(nodes) {
-					var i = nodes.length, node, textNode;
-
-					while (i--) {
-						node = nodes[i];
-						textNode = node.firstChild;
-
-						if (textNode) {
-							node.attr('data-mce-innertext', textNode.value);
-						}
-					}
-				});
-
-				serializer.addNodeFilter('noscript', function(nodes) {
-					var i = nodes.length, node, textNode, value;
-
-					while (i--) {
-						node = nodes[i];
-						textNode = nodes[i].firstChild;
-
-						if (textNode) {
-							textNode.value = Entities.decode(textNode.value);
-						} else {
-							// Old IE can't retain noscript value so an attribute is used to store it
-							value = node.attributes.map['data-mce-innertext'];
-							if (value) {
-								node.attr('data-mce-innertext', null);
-								textNode = new Node('#text', 3);
-								textNode.value = value;
-								textNode.raw = true;
-								node.append(textNode);
-							}
-						}
-					}
-				});
-			}
-		}
-
-		/**
-		 * IE has an issue where you can't select/move the caret by clicking outside the body if the document is in standards mode.
-		 */
-		function fixCaretSelectionOfDocumentElementOnIe() {
-			var doc = dom.doc, body = doc.body, started, startRng, htmlElm;
-
-			// Return range from point or null if it failed
-			function rngFromPoint(x, y) {
-				var rng = body.createTextRange();
-
-				try {
-					rng.moveToPoint(x, y);
-				} catch (ex) {
-					// IE sometimes throws and exception, so lets just ignore it
-					rng = null;
-				}
-
-				return rng;
-			}
-
-			// Fires while the selection is changing
-			function selectionChange(e) {
-				var pointRng;
-
-				// Check if the button is down or not
-				if (e.button) {
-					// Create range from mouse position
-					pointRng = rngFromPoint(e.x, e.y);
-
-					if (pointRng) {
-						// Check if pointRange is before/after selection then change the endPoint
-						if (pointRng.compareEndPoints('StartToStart', startRng) > 0) {
-							pointRng.setEndPoint('StartToStart', startRng);
-						} else {
-							pointRng.setEndPoint('EndToEnd', startRng);
-						}
-
-						pointRng.select();
-					}
-				} else {
-					endSelection();
-				}
-			}
-
-			// Removes listeners
-			function endSelection() {
-				var rng = doc.selection.createRange();
-
-				// If the range is collapsed then use the last start range
-				if (startRng && !rng.item && rng.compareEndPoints('StartToEnd', rng) === 0) {
-					startRng.select();
-				}
-
-				dom.unbind(doc, 'mouseup', endSelection);
-				dom.unbind(doc, 'mousemove', selectionChange);
-				startRng = started = 0;
-			}
-
-			// Make HTML element unselectable since we are going to handle selection by hand
-			doc.documentElement.unselectable = true;
-
-			// Detect when user selects outside BODY
-			dom.bind(doc, 'mousedown contextmenu', function(e) {
-				if (e.target.nodeName === 'HTML') {
-					if (started) {
-						endSelection();
-					}
-
-					// Detect vertical scrollbar, since IE will fire a mousedown on the scrollbar and have target set as HTML
-					htmlElm = doc.documentElement;
-					if (htmlElm.scrollHeight > htmlElm.clientHeight) {
-						return;
-					}
-
-					started = 1;
-					// Setup start position
-					startRng = rngFromPoint(e.x, e.y);
-					if (startRng) {
-						// Listen for selection change events
-						dom.bind(doc, 'mouseup', endSelection);
-						dom.bind(doc, 'mousemove', selectionChange);
-
-						dom.getRoot().focus();
-						startRng.select();
-					}
-				}
-			});
-		}
-
-		/**
-		 * Fixes selection issues where the caret can be placed between two inline elements like <b>a</b>|<b>b</b>
-		 * this fix will lean the caret right into the closest inline element.
-		 */
-		function normalizeSelection() {
-			// Normalize selection for example <b>a</b><i>|a</i> becomes <b>a|</b><i>a</i> except for Ctrl+A since it selects everything
-			editor.on('keyup focusin mouseup', function(e) {
-				if (e.keyCode != 65 || !VK.metaKeyPressed(e)) {
-					selection.normalize();
-				}
-			}, true);
-		}
-
-		/**
-		 * Forces Gecko to render a broken image icon if it fails to load an image.
-		 */
-		function showBrokenImageIcon() {
-			editor.contentStyles.push(
-				'img:-moz-broken {' +
-					'-moz-force-broken-image-icon:1;' +
-					'min-width:24px;' +
-					'min-height:24px' +
-				'}'
-			);
-		}
-
-		/**
-		 * iOS has a bug where it's impossible to type if the document has a touchstart event
-		 * bound and the user touches the document while having the on screen keyboard visible.
-		 *
-		 * The touch event moves the focus to the parent document while having the caret inside the iframe
-		 * this fix moves the focus back into the iframe document.
-		 */
-		function restoreFocusOnKeyDown() {
-			if (!editor.inline) {
-				editor.on('keydown', function() {
-					if (document.activeElement == document.body) {
-						editor.getWin().focus();
-					}
-				});
-			}
-		}
-
-		/**
-		 * IE 11 has an annoying issue where you can't move focus into the editor
-		 * by clicking on the white area HTML element. We used to be able to to fix this with
-		 * the fixCaretSelectionOfDocumentElementOnIe fix. But since M$ removed the selection
-		 * object it's not possible anymore. So we need to hack in a ungly CSS to force the
-		 * body to be at least 150px. If the user clicks the HTML element out side this 150px region
-		 * we simply move the focus into the first paragraph. Not ideal since you loose the
-		 * positioning of the caret but goot enough for most cases.
-		 */
-		function bodyHeight() {
-			if (!editor.inline) {
-				editor.contentStyles.push('body {min-height: 150px}');
-				editor.on('click', function(e) {
-					if (e.target.nodeName == 'HTML') {
-						var rng;
-
-						// Need to store away non collapsed ranges since the focus call will mess that up see #7382
-						rng = editor.selection.getRng();
-						editor.getBody().focus();
-						editor.selection.setRng(rng);
-						editor.selection.normalize();
-						editor.nodeChanged();
-					}
-				});
-			}
-		}
-
-		/**
-		 * Firefox on Mac OS will move the browser back to the previous page if you press CMD+Left arrow.
-		 * You might then loose all your work so we need to block that behavior and replace it with our own.
-		 */
-		function blockCmdArrowNavigation() {
-			if (Env.mac) {
-				editor.on('keydown', function(e) {
-					if (VK.metaKeyPressed(e) && (e.keyCode == 37 || e.keyCode == 39)) {
-						e.preventDefault();
-						editor.selection.getSel().modify('move', e.keyCode == 37 ? 'backward' : 'forward', 'lineboundary');
-					}
-				});
-			}
-		}
-
-		/**
-		 * Disables the autolinking in IE 9+ this is then re-enabled by the autolink plugin.
-		 */
-		function disableAutoUrlDetect() {
-			setEditorCommandState("AutoUrlDetect", false);
-		}
-
-		/**
-		 * IE 11 has a fantastic bug where it will produce two trailing BR elements to iframe bodies when
-		 * the iframe is hidden by display: none on a parent container. The DOM is actually out of sync
-		 * with innerHTML in this case. It's like IE adds shadow DOM BR elements that appears on innerHTML
-		 * but not as the lastChild of the body. However is we add a BR element to the body then remove it
-		 * it doesn't seem to add these BR elements makes sence right?!
-		 *
-		 * Example of what happens: <body>text</body> becomes <body>text<br><br></body>
-		 */
-		function doubleTrailingBrElements() {
-			if (!editor.inline) {
-				editor.on('focus blur beforegetcontent', function() {
-					var br = editor.dom.create('br');
-					editor.getBody().appendChild(br);
-					br.parentNode.removeChild(br);
-				}, true);
-			}
-		}
-
-		/**
-		 * iOS 7.1 introduced two new bugs:
-		 * 1) It's possible to open links within a contentEditable area by clicking on them.
-		 * 2) If you hold down the finger it will display the link/image touch callout menu.
-		 */
-		function tapLinksAndImages() {
-			editor.on('click', function(e) {
-				var elm = e.target;
-
-				do {
-					if (elm.tagName === 'A') {
-						e.preventDefault();
-						return;
-					}
-				} while ((elm = elm.parentNode));
-			});
-
-			editor.contentStyles.push('.mce-content-body {-webkit-touch-callout: none}');
-		}
-
-		/**
-		 * iOS Safari and possible other browsers have a bug where it won't fire
-		 * a click event when a contentEditable is focused. This function fakes click events
-		 * by using touchstart/touchend and measuring the time and distance travelled.
-		 */
-		function touchClickEvent() {
-			editor.on('touchstart', function(e) {
-				var elm, time, startTouch, changedTouches;
-
-				elm = e.target;
-				time = new Date().getTime();
-				changedTouches = e.changedTouches;
-
-				if (!changedTouches || changedTouches.length > 1) {
-					return;
-				}
-
-				startTouch = changedTouches[0];
-
-				editor.once('touchend', function(e) {
-					var endTouch = e.changedTouches[0], args;
-
-					if (new Date().getTime() - time > 500) {
-						return;
-					}
-
-					if (Math.abs(startTouch.clientX - endTouch.clientX) > 5) {
-						return;
-					}
-
-					if (Math.abs(startTouch.clientY - endTouch.clientY) > 5) {
-						return;
-					}
-
-					args = {
-						target: elm
-					};
-
-					each('pageX pageY clientX clientY screenX screenY'.split(' '), function(key) {
-						args[key] = endTouch[key];
-					});
-
-					args = editor.fire('click', args);
-
-					if (!args.isDefaultPrevented()) {
-						// iOS WebKit can't place the caret properly once
-						// you bind touch events so we need to do this manually
-						// TODO: Expand to the closest word? Touble tap still works.
-						editor.selection.placeCaretAt(endTouch.clientX, endTouch.clientY);
-						editor.nodeChanged();
-					}
-				});
-			});
-		}
-
-		/**
-		 * WebKit has a bug where it will allow forms to be submitted if they are inside a contentEditable element.
-		 * For example this: <form><button></form>
-		 */
-		function blockFormSubmitInsideEditor() {
-			editor.on('init', function() {
-				editor.dom.bind(editor.getBody(), 'submit', function(e) {
-					e.preventDefault();
-				});
-			});
-		}
-
-		/**
-		 * Sometimes WebKit/Blink generates BR elements with the Apple-interchange-newline class.
-		 *
-		 * Scenario:
-		 *  1) Create a table 2x2.
-		 *  2) Select and copy cells A2-B2.
-		 *  3) Paste and it will add BR element to table cell.
-		 */
-		function removeAppleInterchangeBrs() {
-			parser.addNodeFilter('br', function(nodes) {
-				var i = nodes.length;
-
-				while (i--) {
-					if (nodes[i].attr('class') == 'Apple-interchange-newline') {
-						nodes[i].remove();
-					}
-				}
-			});
-		}
-
-		/**
-		 * IE cannot set custom contentType's on drag events, and also does not properly drag/drop between
-		 * editors. This uses a special data:text/mce-internal URL to pass data when drag/drop between editors.
-		 */
-		function ieInternalDragAndDrop() {
-			editor.on('dragstart', function(e) {
-				setMceInteralContent(e);
-			});
-
-			editor.on('drop', function(e) {
-				if (!isDefaultPrevented(e)) {
-					var internalContent = getMceInternalContent(e);
-					if (internalContent) {
-						e.preventDefault();
-
-						var rng = RangeUtils.getCaretRangeFromPoint(e.x, e.y, editor.getDoc());
-						selection.setRng(rng);
-						insertClipboardContents(internalContent);
-					}
-				}
-			});
-		}
-
-		// All browsers
-		removeBlockQuoteOnBackSpace();
-		emptyEditorWhenDeleting();
-		normalizeSelection();
-
-		// WebKit
-		if (isWebKit) {
-			cleanupStylesWhenDeleting();
-			inputMethodFocus();
-			selectControlElements();
-			setDefaultBlockType();
-			blockFormSubmitInsideEditor();
-			disableBackspaceIntoATable();
-			removeAppleInterchangeBrs();
-			touchClickEvent();
-
-			// iOS
-			if (Env.iOS) {
-				restoreFocusOnKeyDown();
-				bodyHeight();
-				tapLinksAndImages();
-			} else {
-				selectAll();
-			}
-		}
-
-		// IE
-		if (isIE && Env.ie < 11) {
-			removeHrOnBackspace();
-			ensureBodyHasRoleApplication();
-			addNewLinesBeforeBrInPre();
-			removePreSerializedStylesWhenSelectingControls();
-			deleteControlItemOnBackSpace();
-			renderEmptyBlocksFix();
-			keepNoScriptContents();
-			fixCaretSelectionOfDocumentElementOnIe();
-		}
-
-		if (Env.ie >= 11) {
-			bodyHeight();
-			doubleTrailingBrElements();
-			disableBackspaceIntoATable();
-		}
-
-		if (Env.ie) {
-			selectAll();
-			disableAutoUrlDetect();
-			ieInternalDragAndDrop();
-		}
-
-		// Gecko
-		if (isGecko) {
-			removeHrOnBackspace();
-			focusBody();
-			removeStylesWhenDeletingAcrossBlockElements();
-			setGeckoEditingOptions();
-			addBrAfterLastLinks();
-			removeGhostSelection();
-			showBrokenImageIcon();
-			blockCmdArrowNavigation();
-			disableBackspaceIntoATable();
-		}
-	};
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/classes/util/Tools.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,520 +0,0 @@
-/**
- * Tools.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains various utlity functions. These are also exposed
- * directly on the tinymce namespace.
- *
- * @class tinymce.util.Tools
- */
-define("tinymce/util/Tools", [
-	"tinymce/Env"
-], function(Env) {
-	/**
-	 * Removes whitespace from the beginning and end of a string.
-	 *
-	 * @method trim
-	 * @param {String} s String to remove whitespace from.
-	 * @return {String} New string with removed whitespace.
-	 */
-	var whiteSpaceRegExp = /^\s*|\s*$/g;
-
-	function trim(str) {
-		return (str === null || str === undefined) ? '' : ("" + str).replace(whiteSpaceRegExp, '');
-	}
-
-	/**
-	 * Returns true/false if the object is an array or not.
-	 *
-	 * @method isArray
-	 * @param {Object} obj Object to check.
-	 * @return {boolean} true/false state if the object is an array or not.
-	 */
-	var isArray = Array.isArray || function(obj) {
-		return Object.prototype.toString.call(obj) === "[object Array]";
-	};
-
-	/**
-	 * Checks if a object is of a specific type for example an array.
-	 *
-	 * @method is
-	 * @param {Object} obj Object to check type of.
-	 * @param {string} type Optional type to check for.
-	 * @return {Boolean} true/false if the object is of the specified type.
-	 */
-	function is(obj, type) {
-		if (!type) {
-			return obj !== undefined;
-		}
-
-		if (type == 'array' && isArray(obj)) {
-			return true;
-		}
-
-		return typeof obj == type;
-	}
-
-	/**
-	 * Converts the specified object into a real JavaScript array.
-	 *
-	 * @method toArray
-	 * @param {Object} obj Object to convert into array.
-	 * @return {Array} Array object based in input.
-	 */
-	function toArray(obj) {
-		var array = obj, i, l;
-
-		if (!isArray(obj)) {
-			array = [];
-			for (i = 0, l = obj.length; i < l; i++) {
-				array[i] = obj[i];
-			}
-		}
-
-		return array;
-	}
-
-	/**
-	 * Makes a name/object map out of an array with names.
-	 *
-	 * @method makeMap
-	 * @param {Array/String} items Items to make map out of.
-	 * @param {String} delim Optional delimiter to split string by.
-	 * @param {Object} map Optional map to add items to.
-	 * @return {Object} Name/value map of items.
-	 */
-	function makeMap(items, delim, map) {
-		var i;
-
-		items = items || [];
-		delim = delim || ',';
-
-		if (typeof items == "string") {
-			items = items.split(delim);
-		}
-
-		map = map || {};
-
-		i = items.length;
-		while (i--) {
-			map[items[i]] = {};
-		}
-
-		return map;
-	}
-
-	/**
-	 * Performs an iteration of all items in a collection such as an object or array. This method will execure the
-	 * callback function for each item in the collection, if the callback returns false the iteration will terminate.
-	 * The callback has the following format: cb(value, key_or_index).
-	 *
-	 * @method each
-	 * @param {Object} o Collection to iterate.
-	 * @param {function} cb Callback function to execute for each item.
-	 * @param {Object} s Optional scope to execute the callback in.
-	 * @example
-	 * // Iterate an array
-	 * tinymce.each([1,2,3], function(v, i) {
-	 *     console.debug("Value: " + v + ", Index: " + i);
-	 * });
-	 *
-	 * // Iterate an object
-	 * tinymce.each({a: 1, b: 2, c: 3], function(v, k) {
-	 *     console.debug("Value: " + v + ", Key: " + k);
-	 * });
-	 */
-	function each(o, cb, s) {
-		var n, l;
-
-		if (!o) {
-			return 0;
-		}
-
-		s = s || o;
-
-		if (o.length !== undefined) {
-			// Indexed arrays, needed for Safari
-			for (n = 0, l = o.length; n < l; n++) {
-				if (cb.call(s, o[n], n, o) === false) {
-					return 0;
-				}
-			}
-		} else {
-			// Hashtables
-			for (n in o) {
-				if (o.hasOwnProperty(n)) {
-					if (cb.call(s, o[n], n, o) === false) {
-						return 0;
-					}
-				}
-			}
-		}
-
-		return 1;
-	}
-
-	/**
-	 * Creates a new array by the return value of each iteration function call. This enables you to convert
-	 * one array list into another.
-	 *
-	 * @method map
-	 * @param {Array} array Array of items to iterate.
-	 * @param {function} callback Function to call for each item. It's return value will be the new value.
-	 * @return {Array} Array with new values based on function return values.
-	 */
-	function map(array, callback) {
-		var out = [];
-
-		each(array, function(item) {
-			out.push(callback(item));
-		});
-
-		return out;
-	}
-
-	/**
-	 * Filters out items from the input array by calling the specified function for each item.
-	 * If the function returns false the item will be excluded if it returns true it will be included.
-	 *
-	 * @method grep
-	 * @param {Array} a Array of items to loop though.
-	 * @param {function} f Function to call for each item. Include/exclude depends on it's return value.
-	 * @return {Array} New array with values imported and filtered based in input.
-	 * @example
-	 * // Filter out some items, this will return an array with 4 and 5
-	 * var items = tinymce.grep([1,2,3,4,5], function(v) {return v > 3;});
-	 */
-	function grep(a, f) {
-		var o = [];
-
-		each(a, function(v) {
-			if (!f || f(v)) {
-				o.push(v);
-			}
-		});
-
-		return o;
-	}
-
-	/**
-	 * Creates a class, subclass or static singleton.
-	 * More details on this method can be found in the Wiki.
-	 *
-	 * @method create
-	 * @param {String} s Class name, inheritage and prefix.
-	 * @param {Object} p Collection of methods to add to the class.
-	 * @param {Object} root Optional root object defaults to the global window object.
-	 * @example
-	 * // Creates a basic class
-	 * tinymce.create('tinymce.somepackage.SomeClass', {
-	 *     SomeClass: function() {
-	 *         // Class constructor
-	 *     },
-	 *
-	 *     method: function() {
-	 *         // Some method
-	 *     }
-	 * });
-	 *
-	 * // Creates a basic subclass class
-	 * tinymce.create('tinymce.somepackage.SomeSubClass:tinymce.somepackage.SomeClass', {
-	 *     SomeSubClass: function() {
-	 *         // Class constructor
-	 *         this.parent(); // Call parent constructor
-	 *     },
-	 *
-	 *     method: function() {
-	 *         // Some method
-	 *         this.parent(); // Call parent method
-	 *     },
-	 *
-	 *     'static': {
-	 *         staticMethod: function() {
-	 *             // Static method
-	 *         }
-	 *     }
-	 * });
-	 *
-	 * // Creates a singleton/static class
-	 * tinymce.create('static tinymce.somepackage.SomeSingletonClass', {
-	 *     method: function() {
-	 *         // Some method
-	 *     }
-	 * });
-	 */
-	function create(s, p, root) {
-		var self = this, sp, ns, cn, scn, c, de = 0;
-
-		// Parse : <prefix> <class>:<super class>
-		s = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(s);
-		cn = s[3].match(/(^|\.)(\w+)$/i)[2]; // Class name
-
-		// Create namespace for new class
-		ns = self.createNS(s[3].replace(/\.\w+$/, ''), root);
-
-		// Class already exists
-		if (ns[cn]) {
-			return;
-		}
-
-		// Make pure static class
-		if (s[2] == 'static') {
-			ns[cn] = p;
-
-			if (this.onCreate) {
-				this.onCreate(s[2], s[3], ns[cn]);
-			}
-
-			return;
-		}
-
-		// Create default constructor
-		if (!p[cn]) {
-			p[cn] = function() {};
-			de = 1;
-		}
-
-		// Add constructor and methods
-		ns[cn] = p[cn];
-		self.extend(ns[cn].prototype, p);
-
-		// Extend
-		if (s[5]) {
-			sp = self.resolve(s[5]).prototype;
-			scn = s[5].match(/\.(\w+)$/i)[1]; // Class name
-
-			// Extend constructor
-			c = ns[cn];
-			if (de) {
-				// Add passthrough constructor
-				ns[cn] = function() {
-					return sp[scn].apply(this, arguments);
-				};
-			} else {
-				// Add inherit constructor
-				ns[cn] = function() {
-					this.parent = sp[scn];
-					return c.apply(this, arguments);
-				};
-			}
-			ns[cn].prototype[cn] = ns[cn];
-
-			// Add super methods
-			self.each(sp, function(f, n) {
-				ns[cn].prototype[n] = sp[n];
-			});
-
-			// Add overridden methods
-			self.each(p, function(f, n) {
-				// Extend methods if needed
-				if (sp[n]) {
-					ns[cn].prototype[n] = function() {
-						this.parent = sp[n];
-						return f.apply(this, arguments);
-					};
-				} else {
-					if (n != cn) {
-						ns[cn].prototype[n] = f;
-					}
-				}
-			});
-		}
-
-		// Add static methods
-		/*jshint sub:true*/
-		/*eslint dot-notation:0*/
-		self.each(p['static'], function(f, n) {
-			ns[cn][n] = f;
-		});
-	}
-
-	/**
-	 * Returns the index of a value in an array, this method will return -1 if the item wasn't found.
-	 *
-	 * @method inArray
-	 * @param {Array} a Array/Object to search for value in.
-	 * @param {Object} v Value to check for inside the array.
-	 * @return {Number/String} Index of item inside the array inside an object. Or -1 if it wasn't found.
-	 * @example
-	 * // Get index of value in array this will alert 1 since 2 is at that index
-	 * alert(tinymce.inArray([1,2,3], 2));
-	 */
-	function inArray(a, v) {
-		var i, l;
-
-		if (a) {
-			for (i = 0, l = a.length; i < l; i++) {
-				if (a[i] === v) {
-					return i;
-				}
-			}
-		}
-
-		return -1;
-	}
-
-	function extend(obj, ext) {
-		var i, l, name, args = arguments, value;
-
-		for (i = 1, l = args.length; i < l; i++) {
-			ext = args[i];
-			for (name in ext) {
-				if (ext.hasOwnProperty(name)) {
-					value = ext[name];
-
-					if (value !== undefined) {
-						obj[name] = value;
-					}
-				}
-			}
-		}
-
-		return obj;
-	}
-
-	/**
-	 * Executed the specified function for each item in a object tree.
-	 *
-	 * @method walk
-	 * @param {Object} o Object tree to walk though.
-	 * @param {function} f Function to call for each item.
-	 * @param {String} n Optional name of collection inside the objects to walk for example childNodes.
-	 * @param {String} s Optional scope to execute the function in.
-	 */
-	function walk(o, f, n, s) {
-		s = s || this;
-
-		if (o) {
-			if (n) {
-				o = o[n];
-			}
-
-			each(o, function(o, i) {
-				if (f.call(s, o, i, n) === false) {
-					return false;
-				}
-
-				walk(o, f, n, s);
-			});
-		}
-	}
-
-	/**
-	 * Creates a namespace on a specific object.
-	 *
-	 * @method createNS
-	 * @param {String} n Namespace to create for example a.b.c.d.
-	 * @param {Object} o Optional object to add namespace to, defaults to window.
-	 * @return {Object} New namespace object the last item in path.
-	 * @example
-	 * // Create some namespace
-	 * tinymce.createNS('tinymce.somepackage.subpackage');
-	 *
-	 * // Add a singleton
-	 * var tinymce.somepackage.subpackage.SomeSingleton = {
-	 *     method: function() {
-	 *         // Some method
-	 *     }
-	 * };
-	 */
-	function createNS(n, o) {
-		var i, v;
-
-		o = o || window;
-
-		n = n.split('.');
-		for (i = 0; i < n.length; i++) {
-			v = n[i];
-
-			if (!o[v]) {
-				o[v] = {};
-			}
-
-			o = o[v];
-		}
-
-		return o;
-	}
-
-	/**
-	 * Resolves a string and returns the object from a specific structure.
-	 *
-	 * @method resolve
-	 * @param {String} n Path to resolve for example a.b.c.d.
-	 * @param {Object} o Optional object to search though, defaults to window.
-	 * @return {Object} Last object in path or null if it couldn't be resolved.
-	 * @example
-	 * // Resolve a path into an object reference
-	 * var obj = tinymce.resolve('a.b.c.d');
-	 */
-	function resolve(n, o) {
-		var i, l;
-
-		o = o || window;
-
-		n = n.split('.');
-		for (i = 0, l = n.length; i < l; i++) {
-			o = o[n[i]];
-
-			if (!o) {
-				break;
-			}
-		}
-
-		return o;
-	}
-
-	/**
-	 * Splits a string but removes the whitespace before and after each value.
-	 *
-	 * @method explode
-	 * @param {string} s String to split.
-	 * @param {string} d Delimiter to split by.
-	 * @example
-	 * // Split a string into an array with a,b,c
-	 * var arr = tinymce.explode('a, b,   c');
-	 */
-	function explode(s, d) {
-		if (!s || is(s, 'array')) {
-			return s;
-		}
-
-		return map(s.split(d || ','), trim);
-	}
-
-	function _addCacheSuffix(url) {
-		var cacheSuffix = Env.cacheSuffix;
-
-		if (cacheSuffix) {
-			url += (url.indexOf('?') === -1 ? '?' : '&') + cacheSuffix;
-		}
-
-		return url;
-	}
-
-	return {
-		trim: trim,
-		isArray: isArray,
-		is: is,
-		toArray: toArray,
-		makeMap: makeMap,
-		each: each,
-		map: map,
-		grep: grep,
-		inArray: inArray,
-		extend: extend,
-		create: create,
-		walk: walk,
-		createNS: createNS,
-		resolve: resolve,
-		explode: explode,
-		_addCacheSuffix: _addCacheSuffix
-	};
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/autolink/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("autolink",function(d){var a;d.on("keydown",function(g){if(g.keyCode==13){return c(d)}});if(tinymce.Env.ie){d.on("focus",function(){if(!a){a=true;try{d.execCommand("AutoUrlDetect",false,true)}catch(g){}}});return}d.on("keypress",function(g){if(g.keyCode==41){return e(d)}});d.on("keyup",function(g){if(g.keyCode==32){return b(d)}});function e(g){f(g,-1,"(",true)}function b(g){f(g,0,"",true)}function c(g){f(g,-1,"",false)}function f(p,k,h){var g,m,j,v,s,u,n,l,o,t;function i(x,y){if(y<0){y=0}if(x.nodeType==3){var w=x.data.length;if(y>w){y=w}}return y}function r(w,x){if(w.nodeType!=1||w.hasChildNodes()){g.setStart(w,i(w,x))}else{g.setStartBefore(w)}}function q(w,x){if(w.nodeType!=1||w.hasChildNodes()){g.setEnd(w,i(w,x))}else{g.setEndAfter(w)}}g=p.selection.getRng(true).cloneRange();if(g.startOffset<5){l=g.endContainer.previousSibling;if(!l){if(!g.endContainer.firstChild||!g.endContainer.firstChild.nextSibling){return}l=g.endContainer.firstChild.nextSibling}o=l.length;r(l,o);q(l,o);if(g.endOffset<5){return}m=g.endOffset;v=l}else{v=g.endContainer;if(v.nodeType!=3&&v.firstChild){while(v.nodeType!=3&&v.firstChild){v=v.firstChild}if(v.nodeType==3){r(v,0);q(v,v.nodeValue.length)}}if(g.endOffset==1){m=2}else{m=g.endOffset-1-k}}j=m;do{r(v,m>=2?m-2:0);q(v,m>=1?m-1:0);m-=1;t=g.toString()}while(t!=" "&&t!==""&&t.charCodeAt(0)!=160&&(m-2)>=0&&t!=h);if(g.toString()==h||g.toString().charCodeAt(0)==160){r(v,m);q(v,j);m+=1}else{if(g.startOffset===0){r(v,0);q(v,j)}else{r(v,m);q(v,j)}}u=g.toString();if(u.charAt(u.length-1)=="."){q(v,j-1)}u=g.toString();n=u.match(/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i);if(n){if(n[1]=="www."){n[1]="http://www."}else{if(/@$/.test(n[1])&&!/^mailto:/.test(n[1])){n[1]="mailto:"+n[1]}}s=p.selection.getBookmark();p.selection.setRng(g);p.execCommand("createlink",false,n[1]+n[2]);p.selection.moveToBookmark(s);p.nodeChanged()}}});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/autoresize/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("autoresize",function(d){var c=d.settings,e=0;function b(){return d.plugins.fullscreen&&d.plugins.fullscreen.isFullscreen()}if(d.settings.inline){return}function a(o){var l,q,n,r,t=tinymce.DOM,j,h,g,m,s,i,k,p;q=d.getDoc();if(!q){return}n=q.body;r=q.documentElement;j=c.autoresize_min_height;if(!n||(o&&o.type==="setcontent"&&o.initial)||b()){if(n&&r){n.style.overflowY="auto";r.style.overflowY="auto"}return}g=d.dom.getStyle(n,"margin-top",true);m=d.dom.getStyle(n,"margin-bottom",true);s=d.dom.getStyle(n,"padding-top",true);i=d.dom.getStyle(n,"padding-bottom",true);k=d.dom.getStyle(n,"border-top-width",true);p=d.dom.getStyle(n,"border-bottom-width",true);h=n.offsetHeight+parseInt(g,10)+parseInt(m,10)+parseInt(s,10)+parseInt(i,10)+parseInt(k,10)+parseInt(p,10);if(isNaN(h)||h<=0){h=tinymce.Env.ie?n.scrollHeight:(tinymce.Env.webkit&&n.clientHeight===0?0:n.offsetHeight)}if(h>c.autoresize_min_height){j=h}if(c.autoresize_max_height&&h>c.autoresize_max_height){j=c.autoresize_max_height;n.style.overflowY="auto";r.style.overflowY="auto"}else{n.style.overflowY="hidden";r.style.overflowY="hidden";n.scrollTop=0}if(j!==e){l=j-e;t.setStyle(d.iframeElement,"height",j+"px");e=j;if(tinymce.isWebKit&&l<0){a(o)}}}function f(h,g,i){setTimeout(function(){a({});if(h--){f(h,g,i)}else{if(i){i()}}},g)}c.autoresize_min_height=parseInt(d.getParam("autoresize_min_height",d.getElement().offsetHeight),10);c.autoresize_max_height=parseInt(d.getParam("autoresize_max_height",0),10);d.on("init",function(){var h,g;h=d.getParam("autoresize_overflow_padding",1);g=d.getParam("autoresize_bottom_margin",50);if(h!==false){d.dom.setStyles(d.getBody(),{paddingLeft:h,paddingRight:h})}if(g!==false){d.dom.setStyles(d.getBody(),{paddingBottom:g})}});d.on("nodechange setcontent keyup FullscreenStateChanged",a);if(d.getParam("autoresize_on_init",true)){d.on("init",function(){f(20,100,function(){f(5,1000)})})}d.addCommand("mceAutoResize",a)});
\ No newline at end of file
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/plugins/compat3x/img/menu_arrow.gif has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/compat3x/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-(function(f){var c;function e(){}function b(g){if(!c&&window&&window.console){c=true;console.log("Deprecated TinyMCE API call: "+g)}}function a(h,g,j,i){h=h||this;if(!g){this.add=this.addToTop=this.remove=this.dispatch=e;return}this.add=function(n,l,k){b("<target>.on"+g+".add(..)");function m(q){var p=[];if(typeof j=="string"){j=j.split(" ")}if(j&&typeof j!="function"){for(var o=0;o<j.length;o++){p.push(q[j[o]])}}if(typeof j=="function"){p=j(g,q,h);if(!p){return}}if(!j){p=[q]}p.unshift(i||h);if(n.apply(l||i||h,p)===false){q.stopImmediatePropagation()}}h.on(g,m,k);return m};this.addToTop=function(l,k){this.add(l,k,true)};this.remove=function(k){return h.off(g,k)};this.dispatch=function(){h.fire(g);return true}}f.util.Dispatcher=a;f.onBeforeUnload=new a(f,"BeforeUnload");f.onAddEditor=new a(f,"AddEditor","editor");f.onRemoveEditor=new a(f,"RemoveEditor","editor");f.util.Cookie={get:e,getHash:e,remove:e,set:e,setHash:e};function d(i){function g(m,n){f.each(m.split(" "),function(o){i["on"+o]=new a(i,o,n)})}function k(m,n,o){return[n.level,o]}function h(m){return function(n,o){if((!o.selection&&!m)||o.selection==m){return[o]}}}if(i.controlManager){return}function l(){var o={},m="add addMenu addSeparator collapse createMenu destroy displayColor expand focus getLength hasMenus hideMenu isActive isCollapsed isDisabled isRendered isSelected mark postRender remove removeAll renderHTML renderMenu renderNode renderTo select selectByIndex setActive setAriaProperty setColor setDisabled setSelected setState showMenu update";b("editor.controlManager.*");function n(){return l()}f.each(m.split(" "),function(p){o[p]=n});return o}i.controlManager={buttons:{},setDisabled:function(m,n){b("controlManager.setDisabled(..)");if(this.buttons[m]){this.buttons[m].disabled(n)}},setActive:function(m,n){b("controlManager.setActive(..)");if(this.buttons[m]){this.buttons[m].active(n)}},onAdd:new a(),onPostRender:new a(),add:function(m){return m},createButton:l,createColorSplitButton:l,createControl:l,createDropMenu:l,createListBox:l,createMenuButton:l,createSeparator:l,createSplitButton:l,createToolbar:l,createToolbarGroup:l,destroy:e,get:e,setControlType:l};g("PreInit BeforeRenderUI PostRender Load Init Remove Activate Deactivate","editor");g("Click MouseUp MouseDown DblClick KeyDown KeyUp KeyPress ContextMenu Paste Submit Reset");g("BeforeExecCommand ExecCommand","command ui value args");g("PreProcess PostProcess LoadContent SaveContent Change");g("BeforeSetContent BeforeGetContent SetContent GetContent",h(false));g("SetProgressState","state time");g("VisualAid","element hasVisual");g("Undo Redo",k);g("NodeChange",function(m,n){return[i.controlManager,n.element,i.selection.isCollapsed(),n]});var j=i.addButton;i.addButton=function(n,p){var q;function m(){i.controlManager.buttons[n]=this;if(q){return q.call(this)}}for(var o in p){if(o.toLowerCase()==="onpostrender"){q=p[o];p.onPostRender=m}}if(!q){p.onPostRender=m}if(p.title){p.title=f.i18n.translate((i.settings.language||"en")+"."+p.title)}return j.call(this,n,p)};i.on("init",function(){var n=i.undoManager,m=i.selection;n.onUndo=new a(i,"Undo",k,null,n);n.onRedo=new a(i,"Redo",k,null,n);n.onBeforeAdd=new a(i,"BeforeAddUndo",null,n);n.onAdd=new a(i,"AddUndo",null,n);m.onBeforeGetContent=new a(i,"BeforeGetContent",h(true),m);m.onGetContent=new a(i,"GetContent",h(true),m);m.onBeforeSetContent=new a(i,"BeforeSetContent",h(true),m);m.onSetContent=new a(i,"SetContent",h(true),m)});i.on("BeforeRenderUI",function(){var m=i.windowManager;m.onOpen=new a();m.onClose=new a();m.createInstance=function(p,o,n,t,s,r){b("windowManager.createInstance(..)");var q=f.resolve(p);return new q(o,n,t,s,r)}})}f.on("SetupEditor",d);f.PluginManager.add("compat3x",d);f.addI18n=function(i,j){var g=f.util.I18n,h=f.each;if(typeof i=="string"&&i.indexOf(".")===-1){g.add(i,j);return}if(!f.is(i,"string")){h(i,function(l,k){h(l,function(n,m){h(n,function(q,p){if(m==="common"){g.data[k+"."+p]=q}else{g.data[k+"."+m+"."+p]=q}})})})}else{h(j,function(m,l){g.data[i+"."+l]=m})}}})(tinymce);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/directionality/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("directionality",function(b){function a(d){var g=b.dom,f,e=b.selection.getSelectedBlocks();if(e.length){f=g.getAttrib(e[0],"dir");tinymce.each(e,function(h){if(!g.getParent(h.parentNode,"*[dir='"+d+"']",g.getRoot())){if(f!=d){g.setAttrib(h,"dir",d)}else{g.setAttrib(h,"dir",null)}}});b.nodeChanged()}}function c(e){var d=[];tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(f){d.push(f+"[dir="+e+"]")});return d.join(",")}b.addCommand("mceDirectionLTR",function(){a("ltr")});b.addCommand("mceDirectionRTL",function(){a("rtl")});b.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:c("ltr")});b.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:c("rtl")})});
\ No newline at end of file
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/plugins/emoticons/img/smiley-innocent.gif has changed
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/plugins/emoticons/img/smiley-tongue-out.gif has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/fullpage/plugin.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-/**
- * plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/*global tinymce:true */
-
-tinymce.PluginManager.add('fullpage', function(editor) {
-	var each = tinymce.each, Node = tinymce.html.Node;
-	var head, foot;
-
-	function showDialog() {
-		var data = htmlToData();
-
-		editor.windowManager.open({
-			title: 'Document properties',
-			data: data,
-			defaults: {type: 'textbox', size: 40},
-			body: [
-				{name: 'title', label: 'Title'},
-				{name: 'keywords', label: 'Keywords'},
-				{name: 'description', label: 'Description'},
-				{name: 'robots', label: 'Robots'},
-				{name: 'author', label: 'Author'},
-				{name: 'docencoding', label: 'Encoding'}
-			],
-			onSubmit: function(e) {
-				dataToHtml(tinymce.extend(data, e.data));
-			}
-		});
-	}
-
-	function htmlToData() {
-		var headerFragment = parseHeader(), data = {}, elm, matches;
-
-		function getAttr(elm, name) {
-			var value = elm.attr(name);
-
-			return value || '';
-		}
-
-		// Default some values
-		data.fontface = editor.getParam("fullpage_default_fontface", "");
-		data.fontsize = editor.getParam("fullpage_default_fontsize", "");
-
-		// Parse XML PI
-		elm = headerFragment.firstChild;
-		if (elm.type == 7) {
-			data.xml_pi = true;
-			matches = /encoding="([^"]+)"/.exec(elm.value);
-			if (matches) {
-				data.docencoding = matches[1];
-			}
-		}
-
-		// Parse doctype
-		elm = headerFragment.getAll('#doctype')[0];
-		if (elm) {
-			data.doctype = '<!DOCTYPE' + elm.value + ">";
-		}
-
-		// Parse title element
-		elm = headerFragment.getAll('title')[0];
-		if (elm && elm.firstChild) {
-			data.title = elm.firstChild.value;
-		}
-
-		// Parse meta elements
-		each(headerFragment.getAll('meta'), function(meta) {
-			var name = meta.attr('name'), httpEquiv = meta.attr('http-equiv'), matches;
-
-			if (name) {
-				data[name.toLowerCase()] = meta.attr('content');
-			} else if (httpEquiv == "Content-Type") {
-				matches = /charset\s*=\s*(.*)\s*/gi.exec(meta.attr('content'));
-
-				if (matches) {
-					data.docencoding = matches[1];
-				}
-			}
-		});
-
-		// Parse html attribs
-		elm = headerFragment.getAll('html')[0];
-		if (elm) {
-			data.langcode = getAttr(elm, 'lang') || getAttr(elm, 'xml:lang');
-		}
-
-		// Parse stylesheets
-		data.stylesheets = [];
-		tinymce.each(headerFragment.getAll('link'), function(link) {
-			if (link.attr('rel') == 'stylesheet') {
-				data.stylesheets.push(link.attr('href'));
-			}
-		});
-
-		// Parse body parts
-		elm = headerFragment.getAll('body')[0];
-		if (elm) {
-			data.langdir = getAttr(elm, 'dir');
-			data.style = getAttr(elm, 'style');
-			data.visited_color = getAttr(elm, 'vlink');
-			data.link_color = getAttr(elm, 'link');
-			data.active_color = getAttr(elm, 'alink');
-		}
-
-		return data;
-	}
-
-	function dataToHtml(data) {
-		var headerFragment, headElement, html, elm, value, dom = editor.dom;
-
-		function setAttr(elm, name, value) {
-			elm.attr(name, value ? value : undefined);
-		}
-
-		function addHeadNode(node) {
-			if (headElement.firstChild) {
-				headElement.insert(node, headElement.firstChild);
-			} else {
-				headElement.append(node);
-			}
-		}
-
-		headerFragment = parseHeader();
-		headElement = headerFragment.getAll('head')[0];
-		if (!headElement) {
-			elm = headerFragment.getAll('html')[0];
-			headElement = new Node('head', 1);
-
-			if (elm.firstChild) {
-				elm.insert(headElement, elm.firstChild, true);
-			} else {
-				elm.append(headElement);
-			}
-		}
-
-		// Add/update/remove XML-PI
-		elm = headerFragment.firstChild;
-		if (data.xml_pi) {
-			value = 'version="1.0"';
-
-			if (data.docencoding) {
-				value += ' encoding="' + data.docencoding + '"';
-			}
-
-			if (elm.type != 7) {
-				elm = new Node('xml', 7);
-				headerFragment.insert(elm, headerFragment.firstChild, true);
-			}
-
-			elm.value = value;
-		} else if (elm && elm.type == 7) {
-			elm.remove();
-		}
-
-		// Add/update/remove doctype
-		elm = headerFragment.getAll('#doctype')[0];
-		if (data.doctype) {
-			if (!elm) {
-				elm = new Node('#doctype', 10);
-
-				if (data.xml_pi) {
-					headerFragment.insert(elm, headerFragment.firstChild);
-				} else {
-					addHeadNode(elm);
-				}
-			}
-
-			elm.value = data.doctype.substring(9, data.doctype.length - 1);
-		} else if (elm) {
-			elm.remove();
-		}
-
-		// Add meta encoding
-		elm = null;
-		each(headerFragment.getAll('meta'), function(meta) {
-			if (meta.attr('http-equiv') == 'Content-Type') {
-				elm = meta;
-			}
-		});
-
-		if (data.docencoding) {
-			if (!elm) {
-				elm = new Node('meta', 1);
-				elm.attr('http-equiv', 'Content-Type');
-				elm.shortEnded = true;
-				addHeadNode(elm);
-			}
-
-			elm.attr('content', 'text/html; charset=' + data.docencoding);
-		} else if (elm) {
-			elm.remove();
-		}
-
-		// Add/update/remove title
-		elm = headerFragment.getAll('title')[0];
-		if (data.title) {
-			if (!elm) {
-				elm = new Node('title', 1);
-				addHeadNode(elm);
-			} else {
-				elm.empty();
-			}
-
-			elm.append(new Node('#text', 3)).value = data.title;
-		} else if (elm) {
-			elm.remove();
-		}
-
-		// Add/update/remove meta
-		each('keywords,description,author,copyright,robots'.split(','), function(name) {
-			var nodes = headerFragment.getAll('meta'), i, meta, value = data[name];
-
-			for (i = 0; i < nodes.length; i++) {
-				meta = nodes[i];
-
-				if (meta.attr('name') == name) {
-					if (value) {
-						meta.attr('content', value);
-					} else {
-						meta.remove();
-					}
-
-					return;
-				}
-			}
-
-			if (value) {
-				elm = new Node('meta', 1);
-				elm.attr('name', name);
-				elm.attr('content', value);
-				elm.shortEnded = true;
-
-				addHeadNode(elm);
-			}
-		});
-
-		var currentStyleSheetsMap = {};
-		tinymce.each(headerFragment.getAll('link'), function(stylesheet) {
-			if (stylesheet.attr('rel') == 'stylesheet') {
-				currentStyleSheetsMap[stylesheet.attr('href')] = stylesheet;
-			}
-		});
-
-		// Add new
-		tinymce.each(data.stylesheets, function(stylesheet) {
-			if (!currentStyleSheetsMap[stylesheet]) {
-				elm = new Node('link', 1);
-				elm.attr({
-					rel: 'stylesheet',
-					text: 'text/css',
-					href: stylesheet
-				});
-				elm.shortEnded = true;
-				addHeadNode(elm);
-			}
-
-			delete currentStyleSheetsMap[stylesheet];
-		});
-
-		// Delete old
-		tinymce.each(currentStyleSheetsMap, function(stylesheet) {
-			stylesheet.remove();
-		});
-
-		// Update body attributes
-		elm = headerFragment.getAll('body')[0];
-		if (elm) {
-			setAttr(elm, 'dir', data.langdir);
-			setAttr(elm, 'style', data.style);
-			setAttr(elm, 'vlink', data.visited_color);
-			setAttr(elm, 'link', data.link_color);
-			setAttr(elm, 'alink', data.active_color);
-
-			// Update iframe body as well
-			dom.setAttribs(editor.getBody(), {
-				style: data.style,
-				dir: data.dir,
-				vLink: data.visited_color,
-				link: data.link_color,
-				aLink: data.active_color
-			});
-		}
-
-		// Set html attributes
-		elm = headerFragment.getAll('html')[0];
-		if (elm) {
-			setAttr(elm, 'lang', data.langcode);
-			setAttr(elm, 'xml:lang', data.langcode);
-		}
-
-		// No need for a head element
-		if (!headElement.firstChild) {
-			headElement.remove();
-		}
-
-		// Serialize header fragment and crop away body part
-		html = new tinymce.html.Serializer({
-			validate: false,
-			indent: true,
-			apply_source_formatting: true,
-			indent_before: 'head,html,body,meta,title,script,link,style',
-			indent_after: 'head,html,body,meta,title,script,link,style'
-		}).serialize(headerFragment);
-
-		head = html.substring(0, html.indexOf('</body>'));
-	}
-
-	function parseHeader() {
-		// Parse the contents with a DOM parser
-		return new tinymce.html.DomParser({
-			validate: false,
-			root_name: '#document'
-		}).parse(head);
-	}
-
-	function setContent(evt) {
-		var startPos, endPos, content = evt.content, headerFragment, styles = '', dom = editor.dom, elm;
-
-		if (evt.selection) {
-			return;
-		}
-
-		function low(s) {
-			return s.replace(/<\/?[A-Z]+/g, function(a) {
-				return a.toLowerCase();
-			});
-		}
-
-		// Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate
-		if (evt.format == 'raw' && head) {
-			return;
-		}
-
-		if (evt.source_view && editor.getParam('fullpage_hide_in_source_view')) {
-			return;
-		}
-
-		// Fixed so new document/setContent('') doesn't remove existing header/footer except when it's in source code view
-		if (content.length === 0 && !evt.source_view) {
-			content = tinymce.trim(head) + '\n' + tinymce.trim(content) + '\n' + tinymce.trim(foot);
-		}
-
-		// Parse out head, body and footer
-		content = content.replace(/<(\/?)BODY/gi, '<$1body');
-		startPos = content.indexOf('<body');
-
-		if (startPos != -1) {
-			startPos = content.indexOf('>', startPos);
-			head = low(content.substring(0, startPos + 1));
-
-			endPos = content.indexOf('</body', startPos);
-			if (endPos == -1) {
-				endPos = content.length;
-			}
-
-			evt.content = content.substring(startPos + 1, endPos);
-			foot = low(content.substring(endPos));
-		} else {
-			head = getDefaultHeader();
-			foot = '\n</body>\n</html>';
-		}
-
-		// Parse header and update iframe
-		headerFragment = parseHeader();
-		each(headerFragment.getAll('style'), function(node) {
-			if (node.firstChild) {
-				styles += node.firstChild.value;
-			}
-		});
-
-		elm = headerFragment.getAll('body')[0];
-		if (elm) {
-			dom.setAttribs(editor.getBody(), {
-				style: elm.attr('style') || '',
-				dir: elm.attr('dir') || '',
-				vLink: elm.attr('vlink') || '',
-				link: elm.attr('link') || '',
-				aLink: elm.attr('alink') || ''
-			});
-		}
-
-		dom.remove('fullpage_styles');
-
-		var headElm = editor.getDoc().getElementsByTagName('head')[0];
-
-		if (styles) {
-			dom.add(headElm, 'style', {
-				id: 'fullpage_styles'
-			}, styles);
-
-			// Needed for IE 6/7
-			elm = dom.get('fullpage_styles');
-			if (elm.styleSheet) {
-				elm.styleSheet.cssText = styles;
-			}
-		}
-
-		var currentStyleSheetsMap = {};
-		tinymce.each(headElm.getElementsByTagName('link'), function(stylesheet) {
-			if (stylesheet.rel == 'stylesheet' && stylesheet.getAttribute('data-mce-fullpage')) {
-				currentStyleSheetsMap[stylesheet.href] = stylesheet;
-			}
-		});
-
-		// Add new
-		tinymce.each(headerFragment.getAll('link'), function(stylesheet) {
-			var href = stylesheet.attr('href');
-
-			if (!currentStyleSheetsMap[href] && stylesheet.attr('rel') == 'stylesheet') {
-				dom.add(headElm, 'link', {
-					rel: 'stylesheet',
-					text: 'text/css',
-					href: href,
-					'data-mce-fullpage': '1'
-				});
-			}
-
-			delete currentStyleSheetsMap[href];
-		});
-
-		// Delete old
-		tinymce.each(currentStyleSheetsMap, function(stylesheet) {
-			stylesheet.parentNode.removeChild(stylesheet);
-		});
-	}
-
-	function getDefaultHeader() {
-		var header = '', value, styles = '';
-
-		if (editor.getParam('fullpage_default_xml_pi')) {
-			header += '<?xml version="1.0" encoding="' + editor.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n';
-		}
-
-		header += editor.getParam('fullpage_default_doctype', '<!DOCTYPE html>');
-		header += '\n<html>\n<head>\n';
-
-		if ((value = editor.getParam('fullpage_default_title'))) {
-			header += '<title>' + value + '</title>\n';
-		}
-
-		if ((value = editor.getParam('fullpage_default_encoding'))) {
-			header += '<meta http-equiv="Content-Type" content="text/html; charset=' + value + '" />\n';
-		}
-
-		if ((value = editor.getParam('fullpage_default_font_family'))) {
-			styles += 'font-family: ' + value + ';';
-		}
-
-		if ((value = editor.getParam('fullpage_default_font_size'))) {
-			styles += 'font-size: ' + value + ';';
-		}
-
-		if ((value = editor.getParam('fullpage_default_text_color'))) {
-			styles += 'color: ' + value + ';';
-		}
-
-		header += '</head>\n<body' + (styles ? ' style="' + styles + '"' : '') + '>\n';
-
-		return header;
-	}
-
-	function getContent(evt) {
-		if (!evt.selection && (!evt.source_view || !editor.getParam('fullpage_hide_in_source_view'))) {
-			evt.content = tinymce.trim(head) + '\n' + tinymce.trim(evt.content) + '\n' + tinymce.trim(foot);
-		}
-	}
-
-	editor.addCommand('mceFullPageProperties', showDialog);
-
-	editor.addButton('fullpage', {
-		title: 'Document properties',
-		cmd: 'mceFullPageProperties'
-	});
-
-	editor.addMenuItem('fullpage', {
-		text: 'Document properties',
-		cmd: 'mceFullPageProperties',
-		context: 'file'
-	});
-
-	editor.on('BeforeSetContent', setContent);
-	editor.on('GetContent', getContent);
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/link/plugin.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,402 +0,0 @@
-/**
- * plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/*global tinymce:true */
-
-tinymce.PluginManager.add('link', function(editor) {
-	function createLinkList(callback) {
-		return function() {
-			var linkList = editor.settings.link_list;
-
-			if (typeof linkList == "string") {
-				tinymce.util.XHR.send({
-					url: linkList,
-					success: function(text) {
-						callback(tinymce.util.JSON.parse(text));
-					}
-				});
-			} else if (typeof linkList == "function") {
-				linkList(callback);
-			} else {
-				callback(linkList);
-			}
-		};
-	}
-
-	function buildListItems(inputList, itemCallback, startItems) {
-		function appendItems(values, output) {
-			output = output || [];
-
-			tinymce.each(values, function(item) {
-				var menuItem = {text: item.text || item.title};
-
-				if (item.menu) {
-					menuItem.menu = appendItems(item.menu);
-				} else {
-					menuItem.value = item.value;
-
-					if (itemCallback) {
-						itemCallback(menuItem);
-					}
-				}
-
-				output.push(menuItem);
-			});
-
-			return output;
-		}
-
-		return appendItems(inputList, startItems || []);
-	}
-
-	function showDialog(linkList) {
-		var data = {}, selection = editor.selection, dom = editor.dom, selectedElm, anchorElm, initialText;
-		var win, onlyText, textListCtrl, linkListCtrl, relListCtrl, targetListCtrl, classListCtrl, linkTitleCtrl, value;
-
-		function linkListChangeHandler(e) {
-			var textCtrl = win.find('#text');
-
-			if (!textCtrl.value() || (e.lastControl && textCtrl.value() == e.lastControl.text())) {
-				textCtrl.value(e.control.text());
-			}
-
-			win.find('#href').value(e.control.value());
-		}
-
-		function buildAnchorListControl(url) {
-			var anchorList = [];
-
-			tinymce.each(editor.dom.select('a:not([href])'), function(anchor) {
-				var id = anchor.name || anchor.id;
-
-				if (id) {
-					anchorList.push({
-						text: id,
-						value: '#' + id,
-						selected: url.indexOf('#' + id) != -1
-					});
-				}
-			});
-
-			if (anchorList.length) {
-				anchorList.unshift({text: 'None', value: ''});
-
-				return {
-					name: 'anchor',
-					type: 'listbox',
-					label: 'Anchors',
-					values: anchorList,
-					onselect: linkListChangeHandler
-				};
-			}
-		}
-
-		function updateText() {
-			if (!initialText && data.text.length === 0 && onlyText) {
-				this.parent().parent().find('#text')[0].value(this.value());
-			}
-		}
-
-		function urlChange(e) {
-			var meta = e.meta || {};
-
-			if (linkListCtrl) {
-				linkListCtrl.value(editor.convertURL(this.value(), 'href'));
-			}
-
-			tinymce.each(e.meta, function(value, key) {
-				win.find('#' + key).value(value);
-			});
-
-			if (!meta.text) {
-				updateText.call(this);
-			}
-		}
-
-		function isOnlyTextSelected(anchorElm) {
-			var html = selection.getContent();
-
-			// Partial html and not a fully selected anchor element
-			if (/</.test(html) && (!/^<a [^>]+>[^<]+<\/a>$/.test(html) || html.indexOf('href=') == -1)) {
-				return false;
-			}
-
-			if (anchorElm) {
-				var nodes = anchorElm.childNodes, i;
-
-				if (nodes.length === 0) {
-					return false;
-				}
-
-				for (i = nodes.length - 1; i >= 0; i--) {
-					if (nodes[i].nodeType != 3) {
-						return false;
-					}
-				}
-			}
-
-			return true;
-		}
-
-		selectedElm = selection.getNode();
-		anchorElm = dom.getParent(selectedElm, 'a[href]');
-		onlyText = isOnlyTextSelected();
-
-		data.text = initialText = anchorElm ? (anchorElm.innerText || anchorElm.textContent) : selection.getContent({format: 'text'});
-		data.href = anchorElm ? dom.getAttrib(anchorElm, 'href') : '';
-
-		if (anchorElm) {
-			data.target = dom.getAttrib(anchorElm, 'target');
-		} else if (editor.settings.default_link_target) {
-			data.target = editor.settings.default_link_target;
-		}
-
-		if ((value = dom.getAttrib(anchorElm, 'rel'))) {
-			data.rel = value;
-		}
-
-		if ((value = dom.getAttrib(anchorElm, 'class'))) {
-			data['class'] = value;
-		}
-
-		if ((value = dom.getAttrib(anchorElm, 'title'))) {
-			data.title = value;
-		}
-
-		if (onlyText) {
-			textListCtrl = {
-				name: 'text',
-				type: 'textbox',
-				size: 40,
-				label: 'Text to display',
-				onchange: function() {
-					data.text = this.value();
-				}
-			};
-		}
-
-		if (linkList) {
-			linkListCtrl = {
-				type: 'listbox',
-				label: 'Link list',
-				values: buildListItems(
-					linkList,
-					function(item) {
-						item.value = editor.convertURL(item.value || item.url, 'href');
-					},
-					[{text: 'None', value: ''}]
-				),
-				onselect: linkListChangeHandler,
-				value: editor.convertURL(data.href, 'href'),
-				onPostRender: function() {
-					linkListCtrl = this;
-				}
-			};
-		}
-
-		if (editor.settings.target_list !== false) {
-			if (!editor.settings.target_list) {
-				editor.settings.target_list = [
-					{text: 'None', value: ''},
-					{text: 'New window', value: '_blank'}
-				];
-			}
-
-			targetListCtrl = {
-				name: 'target',
-				type: 'listbox',
-				label: 'Target',
-				values: buildListItems(editor.settings.target_list)
-			};
-		}
-
-		if (editor.settings.rel_list) {
-			relListCtrl = {
-				name: 'rel',
-				type: 'listbox',
-				label: 'Rel',
-				values: buildListItems(editor.settings.rel_list)
-			};
-		}
-
-		if (editor.settings.link_class_list) {
-			classListCtrl = {
-				name: 'class',
-				type: 'listbox',
-				label: 'Class',
-				values: buildListItems(
-					editor.settings.link_class_list,
-					function(item) {
-						if (item.value) {
-							item.textStyle = function() {
-								return editor.formatter.getCssText({inline: 'a', classes: [item.value]});
-							};
-						}
-					}
-				)
-			};
-		}
-
-		if (editor.settings.link_title !== false) {
-			linkTitleCtrl = {
-				name: 'title',
-				type: 'textbox',
-				label: 'Title',
-				value: data.title
-			};
-		}
-
-		win = editor.windowManager.open({
-			title: 'Insert link',
-			data: data,
-			body: [
-				{
-					name: 'href',
-					type: 'filepicker',
-					filetype: 'file',
-					size: 40,
-					autofocus: true,
-					label: 'Url',
-					onchange: urlChange,
-					onkeyup: updateText
-				},
-				textListCtrl,
-				linkTitleCtrl,
-				buildAnchorListControl(data.href),
-				linkListCtrl,
-				relListCtrl,
-				targetListCtrl,
-				classListCtrl
-			],
-			onSubmit: function(e) {
-				/*eslint dot-notation: 0*/
-				var href;
-
-				data = tinymce.extend(data, e.data);
-				href = data.href;
-
-				// Delay confirm since onSubmit will move focus
-				function delayedConfirm(message, callback) {
-					var rng = editor.selection.getRng();
-
-					window.setTimeout(function() {
-						editor.windowManager.confirm(message, function(state) {
-							editor.selection.setRng(rng);
-							callback(state);
-						});
-					}, 0);
-				}
-
-				function insertLink() {
-					var linkAttrs = {
-						href: href,
-						target: data.target ? data.target : null,
-						rel: data.rel ? data.rel : null,
-						"class": data["class"] ? data["class"] : null,
-						title: data.title ? data.title : null
-					};
-
-					if (anchorElm) {
-						editor.focus();
-
-						if (onlyText && data.text != initialText) {
-							if ("innerText" in anchorElm) {
-								anchorElm.innerText = data.text;
-							} else {
-								anchorElm.textContent = data.text;
-							}
-						}
-
-						dom.setAttribs(anchorElm, linkAttrs);
-
-						selection.select(anchorElm);
-						editor.undoManager.add();
-					} else {
-						if (onlyText) {
-							editor.insertContent(dom.createHTML('a', linkAttrs, dom.encode(data.text)));
-						} else {
-							editor.execCommand('mceInsertLink', false, linkAttrs);
-						}
-					}
-				}
-
-				if (!href) {
-					editor.execCommand('unlink');
-					return;
-				}
-
-				// Is email and not //user@domain.com
-				if (href.indexOf('@') > 0 && href.indexOf('//') == -1 && href.indexOf('mailto:') == -1) {
-					delayedConfirm(
-						'The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?',
-						function(state) {
-							if (state) {
-								href = 'mailto:' + href;
-							}
-
-							insertLink();
-						}
-					);
-
-					return;
-				}
-
-				// Is not protocol prefixed
-				if ((editor.settings.link_assume_external_targets && !/^\w+:/i.test(href)) ||
-					(!editor.settings.link_assume_external_targets && /^\s*www\./i.test(href))) {
-					delayedConfirm(
-						'The URL you entered seems to be an external link. Do you want to add the required http:// prefix?',
-						function(state) {
-							if (state) {
-								href = 'http://' + href;
-							}
-
-							insertLink();
-						}
-					);
-
-					return;
-				}
-
-				insertLink();
-			}
-		});
-	}
-
-	editor.addButton('link', {
-		icon: 'link',
-		tooltip: 'Insert/edit link',
-		shortcut: 'Meta+K',
-		onclick: createLinkList(showDialog),
-		stateSelector: 'a[href]'
-	});
-
-	editor.addButton('unlink', {
-		icon: 'unlink',
-		tooltip: 'Remove link',
-		cmd: 'unlink',
-		stateSelector: 'a[href]'
-	});
-
-	editor.addShortcut('Meta+K', '', createLinkList(showDialog));
-	editor.addCommand('mceLink', createLinkList(showDialog));
-
-	this.showDialog = showDialog;
-
-	editor.addMenuItem('link', {
-		icon: 'link',
-		text: 'Insert/edit link',
-		shortcut: 'Meta+K',
-		onclick: createLinkList(showDialog),
-		stateSelector: 'a[href]',
-		context: 'insert',
-		prependToContext: true
-	});
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/link/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("link",function(d){function b(e){return function(){var f=d.settings.link_list;if(typeof f=="string"){tinymce.util.XHR.send({url:f,success:function(g){e(tinymce.util.JSON.parse(g))}})}else{if(typeof f=="function"){f(e)}else{e(f)}}}}function c(g,e,h){function f(j,i){i=i||[];tinymce.each(j,function(l){var k={text:l.text||l.title};if(l.menu){k.menu=f(l.menu)}else{k.value=l.value;if(e){e(k)}}i.push(k)});return i}return f(g,h||[])}function a(j){var x={},y=d.selection,t=d.dom,v,n,o;var i,l,k,g,p,m,h,q,r;function u(z){var A=i.find("#text");if(!A.value()||(z.lastControl&&A.value()==z.lastControl.text())){A.value(z.control.text())}i.find("#href").value(z.control.value())}function f(z){var A=[];tinymce.each(d.dom.select("a:not([href])"),function(B){var C=B.name||B.id;if(C){A.push({text:C,value:"#"+C,selected:z.indexOf("#"+C)!=-1})}});if(A.length){A.unshift({text:"None",value:""});return{name:"anchor",type:"listbox",label:"Anchors",values:A,onselect:u}}}function s(){if(!o&&x.text.length===0&&l){this.parent().parent().find("#text")[0].value(this.value())}}function e(A){var z=A.meta||{};if(g){g.value(d.convertURL(this.value(),"href"))}tinymce.each(A.meta,function(C,B){i.find("#"+B).value(C)});if(!z.text){s.call(this)}}function w(A){var C=y.getContent();if(/</.test(C)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(C)||C.indexOf("href=")==-1)){return false}if(A){var z=A.childNodes,B;if(z.length===0){return false}for(B=z.length-1;B>=0;B--){if(z[B].nodeType!=3){return false}}}return true}v=y.getNode();n=t.getParent(v,"a[href]");l=w();x.text=o=n?(n.innerText||n.textContent):y.getContent({format:"text"});x.href=n?t.getAttrib(n,"href"):"";if(n){x.target=t.getAttrib(n,"target")}else{if(d.settings.default_link_target){x.target=d.settings.default_link_target}}if((r=t.getAttrib(n,"rel"))){x.rel=r}if((r=t.getAttrib(n,"class"))){x["class"]=r}if((r=t.getAttrib(n,"title"))){x.title=r}if(l){k={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){x.text=this.value()}}}if(j){g={type:"listbox",label:"Link list",values:c(j,function(z){z.value=d.convertURL(z.value||z.url,"href")},[{text:"None",value:""}]),onselect:u,value:d.convertURL(x.href,"href"),onPostRender:function(){g=this}}}if(d.settings.target_list!==false){if(!d.settings.target_list){d.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]}m={name:"target",type:"listbox",label:"Target",values:c(d.settings.target_list)}}if(d.settings.rel_list){p={name:"rel",type:"listbox",label:"Rel",values:c(d.settings.rel_list)}}if(d.settings.link_class_list){h={name:"class",type:"listbox",label:"Class",values:c(d.settings.link_class_list,function(z){if(z.value){z.textStyle=function(){return d.formatter.getCssText({inline:"a",classes:[z.value]})}}})}}if(d.settings.link_title!==false){q={name:"title",type:"textbox",label:"Title",value:x.title}}i=d.windowManager.open({title:"Insert link",data:x,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:true,label:"Url",onchange:e,onkeyup:s},k,q,f(x.href),g,p,m,h],onSubmit:function(C){var z;x=tinymce.extend(x,C.data);z=x.href;function B(E,F){var D=d.selection.getRng();window.setTimeout(function(){d.windowManager.confirm(E,function(G){d.selection.setRng(D);F(G)})},0)}function A(){var D={href:z,target:x.target?x.target:null,rel:x.rel?x.rel:null,"class":x["class"]?x["class"]:null,title:x.title?x.title:null};if(n){d.focus();if(l&&x.text!=o){if("innerText" in n){n.innerText=x.text}else{n.textContent=x.text}}t.setAttribs(n,D);y.select(n);d.undoManager.add()}else{if(l){d.insertContent(t.createHTML("a",D,t.encode(x.text)))}else{d.execCommand("mceInsertLink",false,D)}}}if(!z){d.execCommand("unlink");return}if(z.indexOf("@")>0&&z.indexOf("//")==-1&&z.indexOf("mailto:")==-1){B("The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(D){if(D){z="mailto:"+z}A()});return}if((d.settings.link_assume_external_targets&&!/^\w+:/i.test(z))||(!d.settings.link_assume_external_targets&&/^\s*www\./i.test(z))){B("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(D){if(D){z="http://"+z}A()});return}A()}})}d.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:b(a),stateSelector:"a[href]"});d.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",stateSelector:"a[href]"});d.addShortcut("Meta+K","",b(a));d.addCommand("mceLink",b(a));this.showDialog=a;d.addMenuItem("link",{icon:"link",text:"Insert/edit link",shortcut:"Meta+K",onclick:b(a),stateSelector:"a[href]",context:"insert",prependToContext:true})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/paste/classes/Plugin.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/**
- * Plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/**
- * This class contains the tinymce plugin logic for the paste plugin.
- *
- * @class tinymce.pasteplugin.Plugin
- * @private
- */
-define("tinymce/pasteplugin/Plugin", [
-	"tinymce/PluginManager",
-	"tinymce/pasteplugin/Clipboard",
-	"tinymce/pasteplugin/WordFilter",
-	"tinymce/pasteplugin/Quirks"
-], function(PluginManager, Clipboard, WordFilter, Quirks) {
-	var userIsInformed;
-
-	PluginManager.add('paste', function(editor) {
-		var self = this, clipboard, settings = editor.settings;
-
-		function togglePlainTextPaste() {
-			if (clipboard.pasteFormat == "text") {
-				this.active(false);
-				clipboard.pasteFormat = "html";
-			} else {
-				clipboard.pasteFormat = "text";
-				this.active(true);
-
-				if (!userIsInformed) {
-					editor.windowManager.alert(
-						'Paste is now in plain text mode. Contents will now ' +
-						'be pasted as plain text until you toggle this option off.'
-					);
-
-					userIsInformed = true;
-				}
-			}
-		}
-
-		self.clipboard = clipboard = new Clipboard(editor);
-		self.quirks = new Quirks(editor);
-		self.wordFilter = new WordFilter(editor);
-
-		if (editor.settings.paste_as_text) {
-			self.clipboard.pasteFormat = "text";
-		}
-
-		if (settings.paste_preprocess) {
-			editor.on('PastePreProcess', function(e) {
-				settings.paste_preprocess.call(self, self, e);
-			});
-		}
-
-		if (settings.paste_postprocess) {
-			editor.on('PastePostProcess', function(e) {
-				settings.paste_postprocess.call(self, self, e);
-			});
-		}
-
-		editor.addCommand('mceInsertClipboardContent', function(ui, value) {
-			if (value.content) {
-				self.clipboard.pasteHtml(value.content);
-			}
-
-			if (value.text) {
-				self.clipboard.pasteText(value.text);
-			}
-		});
-
-		// Block all drag/drop events
-		if (editor.paste_block_drop) {
-			editor.on('dragend dragover draggesture dragdrop drop drag', function(e) {
-				e.preventDefault();
-				e.stopPropagation();
-			});
-		}
-
-		// Prevent users from dropping data images on Gecko
-		if (!editor.settings.paste_data_images) {
-			editor.on('drop', function(e) {
-				var dataTransfer = e.dataTransfer;
-
-				if (dataTransfer && dataTransfer.files && dataTransfer.files.length > 0) {
-					e.preventDefault();
-				}
-			});
-		}
-
-		editor.addButton('pastetext', {
-			icon: 'pastetext',
-			tooltip: 'Paste as text',
-			onclick: togglePlainTextPaste,
-			active: self.clipboard.pasteFormat == "text"
-		});
-
-		editor.addMenuItem('pastetext', {
-			text: 'Paste as text',
-			selectable: true,
-			active: clipboard.pasteFormat,
-			onclick: togglePlainTextPaste
-		});
-	});
-});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/paste/plugin.dev.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-(function(g){var k="",l;var e={},q=[],d=0;var f=document.getElementsByTagName("script");for(var h=0;h<f.length;h++){var a=f[h].src;if(a.indexOf("/plugin.dev.js")!=-1){l=a.substring(0,a.lastIndexOf("/"))}}function c(u,v){var t,r=[];for(var s=0;s<u.length;++s){t=e[u[s]]||p(u[s]);if(!t){throw"module definition dependecy not found: "+u[s]}r.push(t)}v.apply(null,r)}function p(t){var r=g;var i=t.split(/[.\/]/);for(var s=0;s<i.length;++s){if(!r[i[s]]){return}r=r[i[s]]}return r}function o(t){var r=g;var i=t.split(/[.\/]/);for(var s=0;s<i.length-1;++s){if(r[i[s]]===undefined){r[i[s]]={}}r=r[i[s]]}r[i[i.length-1]]=e[t]}function j(u,t,s){if(typeof u!=="string"){throw"invalid module definition, module id must be defined and be a string"}if(t===undefined){throw"invalid module definition, dependencies must be specified"}if(s===undefined){throw"invalid module definition, definition function must be specified"}c(t,function(){e[u]=s.apply(null,arguments)});if(--d===0){for(var r=0;r<q.length;r++){o(q[r])}}}function b(i){q=i}function n(){document.write(k)}function m(i){k+='<script type="text/javascript" src="'+l+"/"+i+'"><\/script>\n';d++}g.define=j;g.require=c;b(["tinymce/pasteplugin/Utils"]);m("classes/Utils.js");m("classes/Clipboard.js");m("classes/WordFilter.js");m("classes/Quirks.js");m("classes/Plugin.js");n()})(this);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/preview/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("preview",function(c){var b=c.settings,a=!tinymce.Env.ie;c.addCommand("mcePreview",function(){c.windowManager.open({title:"Preview",width:parseInt(c.getParam("plugin_preview_width","650"),10),height:parseInt(c.getParam("plugin_preview_height","500"),10),html:'<iframe src="javascript:\'\'" frameborder="0"'+(a?' sandbox="allow-scripts"':"")+"></iframe>",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var d,g="";g+='<base href="'+c.documentBaseURI.getURI()+'">';tinymce.each(c.contentCSS,function(j){g+='<link type="text/css" rel="stylesheet" href="'+c.documentBaseURI.toAbsolute(j)+'">'});var h=b.body_id||"tinymce";if(h.indexOf("=")!=-1){h=c.getParam("body_id","","hash");h=h[c.id]||h}var f=b.body_class||"";if(f.indexOf("=")!=-1){f=c.getParam("body_class","","hash");f=f[c.id]||""}var e=c.settings.directionality?' dir="'+c.settings.directionality+'"':"";d=("<!DOCTYPE html><html><head>"+g+'</head><body id="'+h+'" class="mce-content-body '+f+'"'+e+">"+c.getContent()+"</body></html>");if(!a){var i=this.getEl("body").firstChild.contentWindow.document;i.open();i.write(d);i.close()}else{this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(d)}}})});c.addButton("preview",{title:"Preview",cmd:"mcePreview"});c.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/spellchecker/classes/Plugin.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-/**
- * Plugin.js
- *
- * Copyright, Moxiecode Systems AB
- * Released under LGPL License.
- *
- * License: http://www.tinymce.com/license
- * Contributing: http://www.tinymce.com/contributing
- */
-
-/*jshint camelcase:false */
-
-/**
- * This class contains all core logic for the spellchecker plugin.
- *
- * @class tinymce.spellcheckerplugin.Plugin
- * @private
- */
-define("tinymce/spellcheckerplugin/Plugin", [
-	"tinymce/spellcheckerplugin/DomTextMatcher",
-	"tinymce/PluginManager",
-	"tinymce/util/Tools",
-	"tinymce/ui/Menu",
-	"tinymce/dom/DOMUtils",
-	"tinymce/util/XHR",
-	"tinymce/util/URI",
-	"tinymce/util/JSON"
-], function(DomTextMatcher, PluginManager, Tools, Menu, DOMUtils, XHR, URI, JSON) {
-	PluginManager.add('spellchecker', function(editor, url) {
-		var languageMenuItems, self = this, lastSuggestions, started, suggestionsMenu, settings = editor.settings;
-		var hasDictionarySupport;
-
-		function getTextMatcher() {
-			if (!self.textMatcher) {
-				self.textMatcher = new DomTextMatcher(editor.getBody(), editor);
-			}
-
-			return self.textMatcher;
-		}
-
-		function buildMenuItems(listName, languageValues) {
-			var items = [];
-
-			Tools.each(languageValues, function(languageValue) {
-				items.push({
-					selectable: true,
-					text: languageValue.name,
-					data: languageValue.value
-				});
-			});
-
-			return items;
-		}
-
-		var languagesString = settings.spellchecker_languages ||
-			'English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr_FR,' +
-			'German=de,Italian=it,Polish=pl,Portuguese=pt_BR,' +
-			'Spanish=es,Swedish=sv';
-
-		languageMenuItems = buildMenuItems('Language',
-			Tools.map(languagesString.split(','), function(langPair) {
-				langPair = langPair.split('=');
-
-				return {
-					name: langPair[0],
-					value: langPair[1]
-				};
-			})
-		);
-
-		function isEmpty(obj) {
-			/*jshint unused:false*/
-			/*eslint no-unused-vars:0 */
-			for (var name in obj) {
-				return false;
-			}
-
-			return true;
-		}
-
-		function showSuggestions(word, spans) {
-			var items = [], suggestions = lastSuggestions[word];
-
-			Tools.each(suggestions, function(suggestion) {
-				items.push({
-					text: suggestion,
-					onclick: function() {
-						editor.insertContent(editor.dom.encode(suggestion));
-						editor.dom.remove(spans);
-						checkIfFinished();
-					}
-				});
-			});
-
-			items.push({text: '-'});
-
-			if (hasDictionarySupport) {
-				items.push({text: 'Add to Dictionary', onclick: function() {
-					addToDictionary(word, spans);
-				}});
-			}
-
-			items.push.apply(items, [
-				{text: 'Ignore', onclick: function() {
-					ignoreWord(word, spans);
-				}},
-
-				{text: 'Ignore all', onclick: function() {
-					ignoreWord(word, spans, true);
-				}}
-			]);
-
-			// Render menu
-			suggestionsMenu = new Menu({
-				items: items,
-				context: 'contextmenu',
-				onautohide: function(e) {
-					if (e.target.className.indexOf('spellchecker') != -1) {
-						e.preventDefault();
-					}
-				},
-				onhide: function() {
-					suggestionsMenu.remove();
-					suggestionsMenu = null;
-				}
-			});
-
-			suggestionsMenu.renderTo(document.body);
-
-			// Position menu
-			var pos = DOMUtils.DOM.getPos(editor.getContentAreaContainer());
-			var targetPos = editor.dom.getPos(spans[0]);
-			var root = editor.dom.getRoot();
-
-			// Adjust targetPos for scrolling in the editor
-			if (root.nodeName == 'BODY') {
-				targetPos.x -= root.ownerDocument.documentElement.scrollLeft || root.scrollLeft;
-				targetPos.y -= root.ownerDocument.documentElement.scrollTop || root.scrollTop;
-			} else {
-				targetPos.x -= root.scrollLeft;
-				targetPos.y -= root.scrollTop;
-			}
-
-			pos.x += targetPos.x;
-			pos.y += targetPos.y;
-
-			suggestionsMenu.moveTo(pos.x, pos.y + spans[0].offsetHeight);
-		}
-
-		function getWordCharPattern() {
-			// Regexp for finding word specific characters this will split words by
-			// spaces, quotes, copy right characters etc. It's escaped with unicode characters
-			// to make it easier to output scripts on servers using different encodings
-			// so if you add any characters outside the 128 byte range make sure to escape it
-			return editor.getParam('spellchecker_wordchar_pattern') || new RegExp("[^" +
-				"\\s!\"#$%&()*+,-./:;<=>?@[\\]^_{|}`" +
-				"\u00a7\u00a9\u00ab\u00ae\u00b1\u00b6\u00b7\u00b8\u00bb" +
-				"\u00bc\u00bd\u00be\u00bf\u00d7\u00f7\u00a4\u201d\u201c\u201e\u00a0\u2002\u2003\u2009" +
-			"]+", "g");
-		}
-
-		function defaultSpellcheckCallback(method, text, doneCallback, errorCallback) {
-			var data = {method: method}, postData = '';
-
-			if (method == "spellcheck") {
-				data.text = text;
-				data.lang = settings.spellchecker_language;
-			}
-
-			if (method == "addToDictionary") {
-				data.word = text;
-			}
-
-			Tools.each(data, function(value, key) {
-				if (postData) {
-					postData += '&';
-				}
-
-				postData += key + '=' + encodeURIComponent(value);
-			});
-
-			XHR.send({
-				url: new URI(url).toAbsolute(settings.spellchecker_rpc_url),
-				type: "post",
-				content_type: 'application/x-www-form-urlencoded',
-				data: postData,
-				success: function(result) {
-					result = JSON.parse(result);
-
-					if (!result) {
-						errorCallback("Sever response wasn't proper JSON.");
-					} else if (result.error) {
-						errorCallback(result.error);
-					} else {
-						doneCallback(result);
-					}
-				},
-				error: function(type, xhr) {
-					errorCallback("Spellchecker request error: " + xhr.status);
-				}
-			});
-		}
-
-		function sendRpcCall(name, data, successCallback, errorCallback) {
-			var spellCheckCallback = settings.spellchecker_callback || defaultSpellcheckCallback;
-			spellCheckCallback.call(self, name, data, successCallback, errorCallback);
-		}
-
-		function spellcheck() {
-			if (started) {
-				finish();
-				return;
-			} else {
-				finish();
-			}
-
-			function errorCallback(message) {
-				editor.windowManager.alert(message);
-				editor.setProgressState(false);
-				finish();
-			}
-
-			editor.setProgressState(true);
-			sendRpcCall("spellcheck", getTextMatcher().text, markErrors, errorCallback);
-			editor.focus();
-		}
-
-		function checkIfFinished() {
-			if (!editor.dom.select('span.mce-spellchecker-word').length) {
-				finish();
-			}
-		}
-
-		function addToDictionary(word, spans) {
-			editor.setProgressState(true);
-
-			sendRpcCall("addToDictionary", word, function() {
-				editor.setProgressState(false);
-				editor.dom.remove(spans, true);
-				checkIfFinished();
-			}, function(message) {
-				editor.windowManager.alert(message);
-				editor.setProgressState(false);
-			});
-		}
-
-		function ignoreWord(word, spans, all) {
-			editor.selection.collapse();
-
-			if (all) {
-				Tools.each(editor.dom.select('span.mce-spellchecker-word'), function(span) {
-					if (span.getAttribute('data-mce-word') == word) {
-						editor.dom.remove(span, true);
-					}
-				});
-			} else {
-				editor.dom.remove(spans, true);
-			}
-
-			checkIfFinished();
-		}
-
-		function finish() {
-			getTextMatcher().reset();
-			self.textMatcher = null;
-
-			if (started) {
-				started = false;
-				editor.fire('SpellcheckEnd');
-			}
-		}
-
-		function getElmIndex(elm) {
-			var value = elm.getAttribute('data-mce-index');
-
-			if (typeof value == "number") {
-				return "" + value;
-			}
-
-			return value;
-		}
-
-		function findSpansByIndex(index) {
-			var nodes, spans = [];
-
-			nodes = Tools.toArray(editor.getBody().getElementsByTagName('span'));
-			if (nodes.length) {
-				for (var i = 0; i < nodes.length; i++) {
-					var nodeIndex = getElmIndex(nodes[i]);
-
-					if (nodeIndex === null || !nodeIndex.length) {
-						continue;
-					}
-
-					if (nodeIndex === index.toString()) {
-						spans.push(nodes[i]);
-					}
-				}
-			}
-
-			return spans;
-		}
-
-		editor.on('click', function(e) {
-			var target = e.target;
-
-			if (target.className == "mce-spellchecker-word") {
-				e.preventDefault();
-
-				var spans = findSpansByIndex(getElmIndex(target));
-
-				if (spans.length > 0) {
-					var rng = editor.dom.createRng();
-					rng.setStartBefore(spans[0]);
-					rng.setEndAfter(spans[spans.length - 1]);
-					editor.selection.setRng(rng);
-					showSuggestions(target.getAttribute('data-mce-word'), spans);
-				}
-			}
-		});
-
-		editor.addMenuItem('spellchecker', {
-			text: 'Spellcheck',
-			context: 'tools',
-			onclick: spellcheck,
-			selectable: true,
-			onPostRender: function() {
-				var self = this;
-
-				self.active(started);
-
-				editor.on('SpellcheckStart SpellcheckEnd', function() {
-					self.active(started);
-				});
-			}
-		});
-
-		function updateSelection(e) {
-			var selectedLanguage = settings.spellchecker_language;
-
-			e.control.items().each(function(ctrl) {
-				ctrl.active(ctrl.settings.data === selectedLanguage);
-			});
-		}
-
-		/**
-		 * Find the specified words and marks them. It will also show suggestions for those words.
-		 *
-		 * @example
-		 * editor.plugins.spellchecker.markErrors({
-		 *     dictionary: true,
-		 *     words: {
-		 *         "word1": ["suggestion 1", "Suggestion 2"]
-		 *     }
-		 * });
-		 * @param {Object} data Data object containing the words with suggestions.
-		 */
-		function markErrors(data) {
-			var suggestions;
-
-			if (data.words) {
-				hasDictionarySupport = !!data.dictionary;
-				suggestions = data.words;
-			} else {
-				// Fallback to old format
-				suggestions = data;
-			}
-
-			editor.setProgressState(false);
-
-			if (isEmpty(suggestions)) {
-				editor.windowManager.alert('No misspellings found');
-				started = false;
-				return;
-			}
-
-			lastSuggestions = suggestions;
-
-			getTextMatcher().find(getWordCharPattern()).filter(function(match) {
-				return !!suggestions[match.text];
-			}).wrap(function(match) {
-				return editor.dom.create('span', {
-					"class": 'mce-spellchecker-word',
-					"data-mce-bogus": 1,
-					"data-mce-word": match.text
-				});
-			});
-
-			started = true;
-			editor.fire('SpellcheckStart');
-		}
-
-		var buttonArgs = {
-			tooltip: 'Spellcheck',
-			onclick: spellcheck,
-			onPostRender: function() {
-				var self = this;
-
-				editor.on('SpellcheckStart SpellcheckEnd', function() {
-					self.active(started);
-				});
-			}
-		};
-
-		if (languageMenuItems.length > 1) {
-			buttonArgs.type = 'splitbutton';
-			buttonArgs.menu = languageMenuItems;
-			buttonArgs.onshow = updateSelection;
-			buttonArgs.onselect = function(e) {
-				settings.spellchecker_language = e.control.settings.data;
-			};
-		}
-
-		editor.addButton('spellchecker', buttonArgs);
-		editor.addCommand('mceSpellCheck', spellcheck);
-
-		editor.on('remove', function() {
-			if (suggestionsMenu) {
-				suggestionsMenu.remove();
-				suggestionsMenu = null;
-			}
-		});
-
-		editor.on('change', checkIfFinished);
-
-		this.getTextMatcher = getTextMatcher;
-		this.getWordCharPattern = getWordCharPattern;
-		this.markErrors = markErrors;
-		this.getLanguage = function() {
-			return settings.spellchecker_language;
-		};
-
-		// Set default spellchecker language if it's not specified
-		settings.spellchecker_language = settings.spellchecker_language || settings.language || 'en';
-	});
-});
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/table/plugin.dev.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-(function(g){var k="",l;var e={},q=[],d=0;var f=document.getElementsByTagName("script");for(var h=0;h<f.length;h++){var a=f[h].src;if(a.indexOf("/plugin.dev.js")!=-1){l=a.substring(0,a.lastIndexOf("/"))}}function c(u,v){var t,r=[];for(var s=0;s<u.length;++s){t=e[u[s]]||p(u[s]);if(!t){throw"module definition dependecy not found: "+u[s]}r.push(t)}v.apply(null,r)}function p(t){var r=g;var i=t.split(/[.\/]/);for(var s=0;s<i.length;++s){if(!r[i[s]]){return}r=r[i[s]]}return r}function o(t){var r=g;var i=t.split(/[.\/]/);for(var s=0;s<i.length-1;++s){if(r[i[s]]===undefined){r[i[s]]={}}r=r[i[s]]}r[i[i.length-1]]=e[t]}function j(u,t,s){if(typeof u!=="string"){throw"invalid module definition, module id must be defined and be a string"}if(t===undefined){throw"invalid module definition, dependencies must be specified"}if(s===undefined){throw"invalid module definition, definition function must be specified"}c(t,function(){e[u]=s.apply(null,arguments)});if(--d===0){for(var r=0;r<q.length;r++){o(q[r])}}}function b(i){q=i}function n(){document.write(k)}function m(i){k+='<script type="text/javascript" src="'+l+"/"+i+'"><\/script>\n';d++}g.define=j;g.require=c;m("classes/TableGrid.js");m("classes/Quirks.js");m("classes/CellSelection.js");m("classes/Dialogs.js");m("classes/Plugin.js");n()})(this);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/css/visualblocks.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-.mce-visualblocks p {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
-}
-
-.mce-visualblocks h1 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
-}
-
-.mce-visualblocks h2 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
-}
-
-.mce-visualblocks h3 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
-}
-
-.mce-visualblocks h4 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
-}
-
-.mce-visualblocks h5 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
-}
-
-.mce-visualblocks h6 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
-}
-
-.mce-visualblocks div {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
-}
-
-.mce-visualblocks section {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
-}
-
-.mce-visualblocks article {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
-}
-
-.mce-visualblocks blockquote {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
-}
-
-.mce-visualblocks address {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
-}
-
-.mce-visualblocks pre {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
-}
-
-.mce-visualblocks figure {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
-}
-
-.mce-visualblocks hgroup {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
-}
-
-.mce-visualblocks aside {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
-}
-
-.mce-visualblocks figcaption {
-	border: 1px dashed #BBB;
-}
-
-.mce-visualblocks ul {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)
-}
-
-.mce-visualblocks ol {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
-}
-
-.mce-visualblocks dl {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
-}
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/img/div.gif has changed
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/plugins/visualblocks/img/ul.gif has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Label.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-// Label
-
-.@{prefix}-label {
-	.inline-block();
-	text-shadow: @text-shadow;
-	overflow: hidden;
-}
-
-.@{prefix}-label.@{prefix}-autoscroll {
-	overflow: auto;
-}
-
-.@{prefix}-label.@{prefix}-disabled {
-	color: @text-disabled;
-}
-
-.@{prefix}-label.@{prefix}-multiline {
-	white-space: pre-wrap;
-}
-
-.@{prefix}-label.@{prefix}-error {
-	color: @text-error;
-}
-
-// RTL
-
-.@{prefix}-rtl .@{prefix}-label {
-	text-align: right;
-	direction: rtl;
-}
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Panel.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-// Panel
-
-.@{prefix}-panel {
-	border: 0 solid @panel-border;
-	.vertical-gradient(@panel-bg, @panel-bg-hlight);
-}
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Path.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-// Path
-
-.@{prefix}-path {
-	.inline-block();
-	padding: 8px;
-	white-space: normal;
-}
-
-.@{prefix}-path .@{prefix}-txt {
-	display: inline-block;
-	padding-right: 3px;
-}
-
-.@{prefix}-path .@{prefix}-path-body {
-	display: inline-block;
-}
-
-.@{prefix}-path-item {
-	.inline-block();
-	cursor: pointer;
-	color: @path-text;
-}
-
-.@{prefix}-path-item:hover {
-	text-decoration: underline;
-}
-
-.@{prefix}-path-item:focus {
-	background: @path-bg-focus;
-	color: @path-text-focus;
-}
-
-.@{prefix}-path .@{prefix}-divider {
-	display: inline;
-}
-
-.@{prefix}-disabled .@{prefix}-path-item {
-	color: @text-disabled;
-}
-
-// RTL
-
-.@{prefix}-rtl .@{prefix}-path {
-	direction: rtl;
-}
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Reset.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-// Reset
-
-.@{prefix}-container, .@{prefix}-container *, .@{prefix}-widget, .@{prefix}-widget *, .@{prefix}-reset {
-	margin: 0; padding: 0; border: 0; outline: 0;
-	vertical-align: top; background: transparent;
-	text-decoration: none; color: @text;
-	font-family: @font-family;
-	font-size: @font-size; text-shadow: none; float: none;
-	position: static; width: auto; height: auto;
-	white-space: nowrap; cursor: inherit;
-	-webkit-tap-highlight-color: transparent;
-	line-height: normal; font-weight: normal;
-	text-align: left;
-	-moz-box-sizing: content-box;
-	-webkit-box-sizing: content-box;
-	box-sizing: content-box;
-	direction: ltr;
-	max-width: none;
-}
-
-.@{prefix}-widget button {
-	-moz-box-sizing: border-box;
-	-webkit-box-sizing: border-box;
-	box-sizing: border-box;
-}
-
-.@{prefix}-container *[unselectable] {
-	-moz-user-select: none;
-	-webkit-user-select: none;
-	-o-user-select: none;
-	user-select: none;
-}
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/TinyMCE.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-.@{prefix}-tinymce {
-	// Avoid FOUC
-	visibility: inherit !important;
-	position: relative;
-}
-
-.@{prefix}-fullscreen {
-	border: 0; padding: 0; margin: 0;
-	overflow: hidden;
-	height: 100%;
-	z-index: 100;
-}
-
-div.@{prefix}-fullscreen {
-	position: fixed;
-	top: 0; left: 0;
-	width: 100%;
-	height: auto;
-}
-
-.@{prefix}-tinymce {
-	display: block;
-	.border-radius(2px);
-}
-
-.@{prefix}-wordcount {
-	position: absolute;
-	top: 0;
-	right: 0;
-	padding: 8px;
-}
-
-div.@{prefix}-edit-area {
-	background: #FFF;
-	filter: none;
-}
-
-.@{prefix}-statusbar {
-	position: relative;
-}
-
-.@{prefix}-statusbar .@{prefix}-container-body {
-	position: relative;
-}
-
-.@{prefix}-fullscreen .@{prefix}-resizehandle {
-	display: none;
-}
-
-// Charmap
-
-.@{prefix}-charmap {
-	border-collapse: collapse;
-}
-
-.@{prefix}-charmap td {
-	cursor: default;
-	border: 1px solid @panel-border;
-	width: 20px;
-	height: 20px;
-	line-height: 20px;
-	text-align: center;
-	vertical-align: middle;
-	padding: 2px;
-}
-
-.@{prefix}-charmap td div {
-	text-align: center;
-}
-
-.@{prefix}-charmap td:hover {
-	background: @btn-bg-hlight;
-}
-
-.@{prefix}-grid td.@{prefix}-grid-cell div {
-	border: 1px solid @grid-border;
-	width: 15px; height: 15px;
-	margin: 0px;
-	cursor: pointer;
-
-	&:focus {
-		border-color: @grid-border-active;
-	}
-
-	&[disabled] {
-		cursor: not-allowed;
-	}
-}
-
-.@{prefix}-grid {
-	border-spacing: 2px;
-	border-collapse: separate;
-
-	a {
-		display: block;
-		border: 1px solid transparent;
-
-		&:hover, &:focus {
-			border-color: @grid-border-active;
-		}
-	}
-}
-
-.@{prefix}-grid-border {
-	margin: 0 4px 0 4px;
-
-	a {
-		border-color: @grid-border;
-		width: 13px; height: 13px;
-	}
-
-	a:hover, a.@{prefix}-active {
-		border-color: @grid-border-active;
-		background: @grid-bg-active;
-	}
-}
-
-.@{prefix}-text-center {
-	text-align: center;
-}
-
-div.@{prefix}-tinymce-inline {
-	width: 100%;
-	.box-shadow(none);
-}
-
-.@{prefix}-colorbtn-trans div {
-	text-align: center;
-	vertical-align: middle;
-	font-weight: bold;
-	font-size: 20px;
-	line-height: 16px;
-	color: mix(@text, #fff, 70%);
-}
-
-// Reduce double margins between toolbar rows
-
-.@{prefix}-toolbar-grp {
-	padding-bottom: 2px;
-}
-
-.@{prefix}-toolbar-grp .@{prefix}-flow-layout-item {
-	margin-bottom: 0;
-}
-
-// RTL
-
-.@{prefix}-rtl .@{prefix}-wordcount {
-	left: 0;
-	right: auto;
-}
--- a/src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/Window.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-// Window
-
-.@{prefix}-fullscreen {
-	border: 0; padding: 0; margin: 0;
-	overflow: hidden;
-	background: @window-fullscreen-bg;
-	height: 100%;
-}
-
-div.@{prefix}-fullscreen {
-	position: fixed;
-	top: 0; left: 0;
-}
-
-#@{prefix}-modal-block {
-	.opacity(0);
-	position: fixed;
-	left: 0; top: 0;
-	width: 100%; height: 100%;
-	background: @window-modalblock-bg;
-}
-
-#@{prefix}-modal-block.@{prefix}-in {
-	.opacity(@window-modalblock-opacity);
-}
-
-.@{prefix}-window-move {
-	cursor: move;
-}
-
-.@{prefix}-window {
-	.border-radius(6px);
-	.box-shadow(@window-box-shadow);
-	.reset-gradient();
-	background: @window-bg;
-	position: fixed;
-	top: 0; left: 0;
-	opacity: 0;
-	.transition(opacity 150ms ease-in);
-}
-
-.@{prefix}-window.@{prefix}-in {
-	opacity: 1;
-}
-
-.@{prefix}-window-head {
-	padding: 9px 15px;
-	border-bottom: 1px solid @window-head-border;
-	position: relative;
-}
-
-.@{prefix}-window-head .@{prefix}-close {
-	position: absolute;
-	right: 15px;
-	top: 9px;
-	font-size: 20px;
-	font-weight: bold;
-	line-height: 20px;
-	color: @window-head-close;
-	cursor: pointer;
-
-	// IE7
-	height: 20px;
-	overflow: hidden;
-}
-
-.@{prefix}-close:hover {
-	color: @window-head-close-hover;
-}
-
-.@{prefix}-window-head .@{prefix}-title {
-	line-height: 20px;
-	font-size: @window-title-font-size;
-	font-weight: bold;
-	text-rendering: optimizelegibility;
-	padding-right: 10px;
-}
-
-.@{prefix}-window .@{prefix}-container-body {
-	display: block;
-}
-
-.@{prefix}-foot {
-	display: block;
-	background-color: @window-foot-bg;
-	border-top: 1px solid @window-foot-border;
-	.border-radius(0 0 6px 6px);
-}
-
-.@{prefix}-window-head .@{prefix}-dragh {
-	position: absolute;
-	top: 0; left: 0;
-	cursor: move;
-	width: 90%;
-	height: 100%;
-}
-
-.@{prefix}-window iframe {
-	width: 100%;
-	height: 100%;
-}
-
-.@{prefix}-window.@{prefix}-fullscreen, .@{prefix}-window.@{prefix}-fullscreen .@{prefix}-foot {
-	.border-radius(0);
-}
-
-// RTL
-
-.@{prefix}-rtl .@{prefix}-window-head .@{prefix}-close {
-	position: absolute;
-	right: auto;
-	left: 15px;
-}
-
-.@{prefix}-rtl .@{prefix}-window-head .@{prefix}-dragh {
-	left: auto;
-	right: 0;
-}
-
-.@{prefix}-rtl .@{prefix}-window-head .@{prefix}-title {
-	direction: rtl;
-	text-align: right;
-}
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/fonts/tinymce-small.ttf has changed
Binary file src/pyams_skin/resources/js/ext/tinymce/dev/skins/lightgray/img/loader.gif has changed
Binary file src/pyams_skin/resources/js/ext/tinymce/plugins/emoticons/img/smiley-cry.gif has changed
Binary file src/pyams_skin/resources/js/ext/tinymce/plugins/emoticons/img/smiley-kiss.gif has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/example_dependency/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("example_dependency",function(){},["example"]);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/fullpage/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("fullpage",function(a){function b(){var b=c();a.windowManager.open({title:"Document properties",data:b,defaults:{type:"textbox",size:40},body:[{name:"title",label:"Title"},{name:"keywords",label:"Keywords"},{name:"description",label:"Description"},{name:"robots",label:"Robots"},{name:"author",label:"Author"},{name:"docencoding",label:"Encoding"}],onSubmit:function(a){d(tinymce.extend(b,a.data))}})}function c(){function b(a,b){var c=a.attr(b);return c||""}var c,d,f=e(),g={};return g.fontface=a.getParam("fullpage_default_fontface",""),g.fontsize=a.getParam("fullpage_default_fontsize",""),c=f.firstChild,7==c.type&&(g.xml_pi=!0,d=/encoding="([^"]+)"/.exec(c.value),d&&(g.docencoding=d[1])),c=f.getAll("#doctype")[0],c&&(g.doctype="<!DOCTYPE"+c.value+">"),c=f.getAll("title")[0],c&&c.firstChild&&(g.title=c.firstChild.value),k(f.getAll("meta"),function(a){var b,c=a.attr("name"),d=a.attr("http-equiv");c?g[c.toLowerCase()]=a.attr("content"):"Content-Type"==d&&(b=/charset\s*=\s*(.*)\s*/gi.exec(a.attr("content")),b&&(g.docencoding=b[1]))}),c=f.getAll("html")[0],c&&(g.langcode=b(c,"lang")||b(c,"xml:lang")),g.stylesheets=[],tinymce.each(f.getAll("link"),function(a){"stylesheet"==a.attr("rel")&&g.stylesheets.push(a.attr("href"))}),c=f.getAll("body")[0],c&&(g.langdir=b(c,"dir"),g.style=b(c,"style"),g.visited_color=b(c,"vlink"),g.link_color=b(c,"link"),g.active_color=b(c,"alink")),g}function d(b){function c(a,b,c){a.attr(b,c?c:void 0)}function d(a){g.firstChild?g.insert(a,g.firstChild):g.append(a)}var f,g,h,j,m,n=a.dom;f=e(),g=f.getAll("head")[0],g||(j=f.getAll("html")[0],g=new l("head",1),j.firstChild?j.insert(g,j.firstChild,!0):j.append(g)),j=f.firstChild,b.xml_pi?(m='version="1.0"',b.docencoding&&(m+=' encoding="'+b.docencoding+'"'),7!=j.type&&(j=new l("xml",7),f.insert(j,f.firstChild,!0)),j.value=m):j&&7==j.type&&j.remove(),j=f.getAll("#doctype")[0],b.doctype?(j||(j=new l("#doctype",10),b.xml_pi?f.insert(j,f.firstChild):d(j)),j.value=b.doctype.substring(9,b.doctype.length-1)):j&&j.remove(),j=null,k(f.getAll("meta"),function(a){"Content-Type"==a.attr("http-equiv")&&(j=a)}),b.docencoding?(j||(j=new l("meta",1),j.attr("http-equiv","Content-Type"),j.shortEnded=!0,d(j)),j.attr("content","text/html; charset="+b.docencoding)):j&&j.remove(),j=f.getAll("title")[0],b.title?(j?j.empty():(j=new l("title",1),d(j)),j.append(new l("#text",3)).value=b.title):j&&j.remove(),k("keywords,description,author,copyright,robots".split(","),function(a){var c,e,g=f.getAll("meta"),h=b[a];for(c=0;c<g.length;c++)if(e=g[c],e.attr("name")==a)return void(h?e.attr("content",h):e.remove());h&&(j=new l("meta",1),j.attr("name",a),j.attr("content",h),j.shortEnded=!0,d(j))});var o={};tinymce.each(f.getAll("link"),function(a){"stylesheet"==a.attr("rel")&&(o[a.attr("href")]=a)}),tinymce.each(b.stylesheets,function(a){o[a]||(j=new l("link",1),j.attr({rel:"stylesheet",text:"text/css",href:a}),j.shortEnded=!0,d(j)),delete o[a]}),tinymce.each(o,function(a){a.remove()}),j=f.getAll("body")[0],j&&(c(j,"dir",b.langdir),c(j,"style",b.style),c(j,"vlink",b.visited_color),c(j,"link",b.link_color),c(j,"alink",b.active_color),n.setAttribs(a.getBody(),{style:b.style,dir:b.dir,vLink:b.visited_color,link:b.link_color,aLink:b.active_color})),j=f.getAll("html")[0],j&&(c(j,"lang",b.langcode),c(j,"xml:lang",b.langcode)),g.firstChild||g.remove(),h=new tinymce.html.Serializer({validate:!1,indent:!0,apply_source_formatting:!0,indent_before:"head,html,body,meta,title,script,link,style",indent_after:"head,html,body,meta,title,script,link,style"}).serialize(f),i=h.substring(0,h.indexOf("</body>"))}function e(){return new tinymce.html.DomParser({validate:!1,root_name:"#document"}).parse(i)}function f(b){function c(a){return a.replace(/<\/?[A-Z]+/g,function(a){return a.toLowerCase()})}var d,f,h,l,m=b.content,n="",o=a.dom;if(!b.selection&&!("raw"==b.format&&i||b.source_view&&a.getParam("fullpage_hide_in_source_view"))){0!==m.length||b.source_view||(m=tinymce.trim(i)+"\n"+tinymce.trim(m)+"\n"+tinymce.trim(j)),m=m.replace(/<(\/?)BODY/gi,"<$1body"),d=m.indexOf("<body"),-1!=d?(d=m.indexOf(">",d),i=c(m.substring(0,d+1)),f=m.indexOf("</body",d),-1==f&&(f=m.length),b.content=m.substring(d+1,f),j=c(m.substring(f))):(i=g(),j="\n</body>\n</html>"),h=e(),k(h.getAll("style"),function(a){a.firstChild&&(n+=a.firstChild.value)}),l=h.getAll("body")[0],l&&o.setAttribs(a.getBody(),{style:l.attr("style")||"",dir:l.attr("dir")||"",vLink:l.attr("vlink")||"",link:l.attr("link")||"",aLink:l.attr("alink")||""}),o.remove("fullpage_styles");var p=a.getDoc().getElementsByTagName("head")[0];n&&(o.add(p,"style",{id:"fullpage_styles"},n),l=o.get("fullpage_styles"),l.styleSheet&&(l.styleSheet.cssText=n));var q={};tinymce.each(p.getElementsByTagName("link"),function(a){"stylesheet"==a.rel&&a.getAttribute("data-mce-fullpage")&&(q[a.href]=a)}),tinymce.each(h.getAll("link"),function(a){var b=a.attr("href");q[b]||"stylesheet"!=a.attr("rel")||o.add(p,"link",{rel:"stylesheet",text:"text/css",href:b,"data-mce-fullpage":"1"}),delete q[b]}),tinymce.each(q,function(a){a.parentNode.removeChild(a)})}}function g(){var b,c="",d="";return a.getParam("fullpage_default_xml_pi")&&(c+='<?xml version="1.0" encoding="'+a.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'),c+=a.getParam("fullpage_default_doctype","<!DOCTYPE html>"),c+="\n<html>\n<head>\n",(b=a.getParam("fullpage_default_title"))&&(c+="<title>"+b+"</title>\n"),(b=a.getParam("fullpage_default_encoding"))&&(c+='<meta http-equiv="Content-Type" content="text/html; charset='+b+'" />\n'),(b=a.getParam("fullpage_default_font_family"))&&(d+="font-family: "+b+";"),(b=a.getParam("fullpage_default_font_size"))&&(d+="font-size: "+b+";"),(b=a.getParam("fullpage_default_text_color"))&&(d+="color: "+b+";"),c+="</head>\n<body"+(d?' style="'+d+'"':"")+">\n"}function h(b){b.selection||b.source_view&&a.getParam("fullpage_hide_in_source_view")||(b.content=tinymce.trim(i)+"\n"+tinymce.trim(b.content)+"\n"+tinymce.trim(j))}var i,j,k=tinymce.each,l=tinymce.html.Node;a.addCommand("mceFullPageProperties",b),a.addButton("fullpage",{title:"Document properties",cmd:"mceFullPageProperties"}),a.addMenuItem("fullpage",{text:"Document properties",cmd:"mceFullPageProperties",context:"file"}),a.on("BeforeSetContent",f),a.on("GetContent",h)});
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/fullscreen/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-tinymce.PluginManager.add("fullscreen",function(a){function b(){var a,b,c=window,d=document,e=d.body;return e.offsetWidth&&(a=e.offsetWidth,b=e.offsetHeight),c.innerWidth&&c.innerHeight&&(a=c.innerWidth,b=c.innerHeight),{w:a,h:b}}function c(){function c(){j.setStyle(m,"height",b().h-(l.clientHeight-m.clientHeight))}var k,l,m,n,o=document.body,p=document.documentElement;i=!i,l=a.getContainer(),k=l.style,m=a.getContentAreaContainer().firstChild,n=m.style,i?(d=n.width,e=n.height,n.width=n.height="100%",g=k.width,h=k.height,k.width=k.height="",j.addClass(o,"mce-fullscreen"),j.addClass(p,"mce-fullscreen"),j.addClass(l,"mce-fullscreen"),j.bind(window,"resize",c),c(),f=c):(n.width=d,n.height=e,g&&(k.width=g),h&&(k.height=h),j.removeClass(o,"mce-fullscreen"),j.removeClass(p,"mce-fullscreen"),j.removeClass(l,"mce-fullscreen"),j.unbind(window,"resize",f)),a.fire("FullscreenStateChanged",{state:i})}var d,e,f,g,h,i=!1,j=tinymce.DOM;return a.settings.inline?void 0:(a.on("init",function(){a.addShortcut("Meta+Alt+F","",c)}),a.on("remove",function(){f&&j.unbind(window,"resize",f)}),a.addCommand("mceFullScreen",c),a.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Meta+Alt+F",selectable:!0,onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})},context:"view"}),a.addButton("fullscreen",{tooltip:"Fullscreen",shortcut:"Meta+Alt+F",onClick:c,onPostRender:function(){var b=this;a.on("FullscreenStateChanged",function(a){b.active(a.state)})}}),{isFullscreen:function(){return i}})});
\ No newline at end of file
Binary file src/pyams_skin/resources/js/ext/tinymce/plugins/media/moxieplayer.swf has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/paste/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(a,b){"use strict";function c(a,b){for(var c,d=[],f=0;f<a.length;++f){if(c=g[a[f]]||e(a[f]),!c)throw"module definition dependecy not found: "+a[f];d.push(c)}b.apply(null,d)}function d(a,d,e){if("string"!=typeof a)throw"invalid module definition, module id must be defined and be a string";if(d===b)throw"invalid module definition, dependencies must be specified";if(e===b)throw"invalid module definition, definition function must be specified";c(d,function(){g[a]=e.apply(null,arguments)})}function e(b){for(var c=a,d=b.split(/[.\/]/),e=0;e<d.length;++e){if(!c[d[e]])return;c=c[d[e]]}return c}function f(c){for(var d=0;d<c.length;d++){for(var e=a,f=c[d],h=f.split(/[.\/]/),i=0;i<h.length-1;++i)e[h[i]]===b&&(e[h[i]]={}),e=e[h[i]];e[h[h.length-1]]=g[f]}}var g={};d("tinymce/pasteplugin/Utils",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema"],function(a,b,c){function d(b,c){return a.each(c,function(a){b=a.constructor==RegExp?b.replace(a,""):b.replace(a[0],a[1])}),b}function e(e){function f(a){var b=a.name,c=a;if("br"===b)return void(i+="\n");if(j[b]&&(i+=" "),k[b])return void(i+=" ");if(3==a.type&&(i+=a.value),!a.shortEnded&&(a=a.firstChild))do f(a);while(a=a.next);l[b]&&c.next&&(i+="\n","p"==b&&(i+="\n"))}var g=new c,h=new b({},g),i="",j=g.getShortEndedElements(),k=a.makeMap("script noscript style textarea video audio iframe object"," "),l=g.getBlockElements();return e=d(e,[/<!\[[^\]]+\]>/g]),f(h.parse(e)),i}function f(a){function b(a,b,c){return b||c?"\xa0":" "}return a=d(a,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/g,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,b],/<br>$/i])}return{filter:d,innerText:e,trimHtml:f}}),d("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){var b,c=e.dom;if(b=e.fire("BeforePastePreProcess",{content:a}),b=e.fire("PastePreProcess",b),a=b.content,!b.isDefaultPrevented()){if(e.hasEventListeners("PastePostProcess")&&!b.isDefaultPrevented()){var d=c.add(e.getBody(),"div",{style:"display:none"},a);b=e.fire("PastePostProcess",{node:d}),c.remove(d),a=b.node.innerHTML}b.isDefaultPrevented()||e.insertContent(a,{merge:e.settings.paste_merge_formats!==!1})}}function g(a){a=e.dom.encode(a).replace(/\r\n/g,"\n");var b,c=e.dom.getParent(e.selection.getStart(),e.dom.isBlock),g=e.settings.forced_root_block;g&&(b=e.dom.createHTML(g,e.settings.forced_root_block_attrs),b=b.substr(0,b.length-3)+">"),c&&/^(PRE|DIV)$/.test(c.nodeName)||!g?a=d.filter(a,[[/\n/g,"<br>"]]):(a=d.filter(a,[[/\n\n/g,"</p>"+b],[/^(.*<\/p>)(<p>)$/,b+"$1"],[/\n/g,"<br />"]]),-1!=a.indexOf("<p>")&&(a=b+a)),f(a)}function h(){function b(a){var b,c,e,f=a.startContainer;if(b=a.getClientRects(),b.length)return b[0];if(a.collapsed&&1==f.nodeType){for(e=f.childNodes[t.startOffset];e&&3==e.nodeType&&!e.data.length;)e=e.nextSibling;if(e)return"BR"==e.tagName&&(c=d.doc.createTextNode("\ufeff"),e.parentNode.insertBefore(c,e),a=d.createRng(),a.setStartBefore(c),a.setEndAfter(c),b=a.getClientRects(),d.remove(c)),b.length?b[0]:void 0}}var c,d=e.dom,f=e.getBody(),g=e.dom.getViewPort(e.getWin()),h=g.y,i=20;if(t=e.selection.getRng(),e.inline&&(c=e.selection.getScrollContainer(),c&&c.scrollTop>0&&(h=c.scrollTop)),t.getClientRects){var j=b(t);if(j)i=h+(j.top-d.getPos(f).y);else{i=h;var k=t.startContainer;k&&(3==k.nodeType&&k.parentNode!=f&&(k=k.parentNode),1==k.nodeType&&(i=d.getPos(k,c||f).y))}}s=d.add(e.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+i+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},y),(a.ie||a.gecko)&&d.setStyle(s,"left","rtl"==d.getStyle(f,"direction",!0)?65535:-65535),d.bind(s,"beforedeactivate focusin focusout",function(a){a.stopPropagation()}),s.focus(),e.selection.select(s,!0)}function i(){if(s){for(var a;a=e.dom.get("mcepastebin");)e.dom.remove(a),e.dom.unbind(a);t&&e.selection.setRng(t)}s=t=null}function j(){var a,b,c,d,f="";for(a=e.dom.select("div[id=mcepastebin]"),b=0;b<a.length;b++)c=a[b],c.firstChild&&"mcepastebin"==c.firstChild.id&&(c=c.firstChild),d=c.innerHTML,f!=y&&(f+=d);return f}function k(a){var b={};if(a){if(a.getData){var c=a.getData("Text");c&&c.length>0&&-1==c.indexOf(z)&&(b["text/plain"]=c)}if(a.types)for(var d=0;d<a.types.length;d++){var e=a.types[d];b[e]=a.getData(e)}}return b}function l(a){return k(a.clipboardData||e.getDoc().dataTransfer)}function m(a,b){function c(c){function d(a){b&&(e.selection.setRng(b),b=null),f('<img src="'+a.result+'">')}var g,h,i,j=!1;if(c)for(g=0;g<c.length;g++)h=c[g],/^image\/(jpeg|png|gif|bmp)$/.test(h.type)&&(i=new FileReader,i.onload=d.bind(null,i),i.readAsDataURL(h.getAsFile?h.getAsFile():h),a.preventDefault(),j=!0);return j}var d=a.clipboardData||a.dataTransfer;return e.settings.paste_data_images&&d?c(d.items)||c(d.files):void 0}function n(a){var b=a.clipboardData;return-1!=navigator.userAgent.indexOf("Android")&&b&&b.items&&0===b.items.length}function o(a){return b.getCaretRangeFromPoint(a.clientX,a.clientY,e.getDoc())}function p(a,b){return b in a&&a[b].length>0}function q(a){return c.metaKeyPressed(a)&&86==a.keyCode||a.shiftKey&&45==a.keyCode}function r(){e.on("keydown",function(b){function c(a){q(a)&&!a.isDefaultPrevented()&&i()}if(q(b)&&!b.isDefaultPrevented()){if(u=b.shiftKey&&86==b.keyCode,u&&a.webkit&&-1!=navigator.userAgent.indexOf("Version/"))return;if(b.stopImmediatePropagation(),w=(new Date).getTime(),a.ie&&u)return b.preventDefault(),void e.fire("paste",{ieFake:!0});i(),h(),e.once("keyup",c),e.once("paste",function(){e.off("keyup",c)})}}),e.on("paste",function(b){var c=(new Date).getTime(),k=l(b),o=(new Date).getTime()-c,q=(new Date).getTime()-w-o<1e3,r="text"==v.pasteFormat||u;return u=!1,b.isDefaultPrevented()||n(b)?void i():m(b)?void i():(q||b.preventDefault(),!a.ie||q&&!b.ieFake||(h(),e.dom.bind(s,"paste",function(a){a.stopPropagation()}),e.getDoc().execCommand("Paste",!1,null),k["text/html"]=j()),void setTimeout(function(){var a;return p(k,"text/html")?a=k["text/html"]:(a=j(),a==y&&(r=!0)),a=d.trimHtml(a),s&&s.firstChild&&"mcepastebin"===s.firstChild.id&&(r=!0),i(),a.length||(r=!0),r&&(a=p(k,"text/plain")&&-1==a.indexOf("</p>")?k["text/plain"]:d.innerText(a)),a==y?void(q||e.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(r?g(a):f(a))},0))}),e.on("dragstart dragend",function(a){x="dragstart"==a.type}),e.on("drop",function(a){var b=o(a);if(!a.isDefaultPrevented()&&!x&&!m(a,b)&&b&&e.settings.paste_filter_drop!==!1){var c=k(a.dataTransfer),h=c["mce-internal"]||c["text/html"]||c["text/plain"];h&&(a.preventDefault(),e.undoManager.transact(function(){c["mce-internal"]&&e.execCommand("Delete"),e.selection.setRng(b),h=d.trimHtml(h),c["text/html"]?f(h):g(h)}))}}),e.on("dragover dragend",function(a){e.settings.paste_data_images&&a.preventDefault()})}var s,t,u,v=this,w=0,x=!1,y="%MCEPASTEBIN%",z="data:text/mce-internal,";v.pasteHtml=f,v.pasteText=g,e.on("preInit",function(){r(),e.parser.addNodeFilter("img",function(b){if(!e.settings.paste_data_images)for(var c=b.length;c--;){var d=b[c].attributes.map.src;d&&/^(data:image|webkit\-fake\-url)/.test(d)&&(b[c].attr("data-mce-object")||d===a.transparentSrc||b[c].remove())}})})}}),d("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(a,b,c,d,e,f){function g(a){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(a)||/class="OutlineElement/.test(a)||/id="?docs\-internal\-guid\-/.test(a)}function h(b){var c,d;return d=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],b=b.replace(/^[\u00a0 ]+/,""),a.each(d,function(a){return a.test(b)?(c=!0,!1):void 0}),c}function i(a){return/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(a)}function j(j){var k=j.settings;j.on("BeforePastePreProcess",function(l){function m(a){function b(a){var c="";if(3===a.type)return a.value;if(a=a.firstChild)do c+=b(a);while(a=a.next);return c}function c(a,b){if(3===a.type&&b.test(a.value))return a.value=a.value.replace(b,""),!1;if(a=a.firstChild)do if(!c(a,b))return!1;while(a=a.next);return!0}function d(a){if(a._listIgnore)return void a.remove();if(a=a.firstChild)do d(a);while(a=a.next)}function f(a,b,f){var h=a._listLevel||k;h!=k&&(k>h?g&&(g=g.parent.parent):(j=g,g=null)),g&&g.name==b?g.append(a):(j=j||g,g=new e(b,1),f>1&&g.attr("start",""+f),a.wrap(g)),a.name="li",h>k&&j&&j.lastChild.append(g),k=h,d(a),c(a,/^\u00a0+/),c(a,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),c(a,/^\u00a0+/)}for(var g,j,k=1,l=[],m=a.firstChild;"undefined"!=typeof m&&null!==m;)if(l.push(m),m=m.walk(),null!==m)for(;"undefined"!=typeof m&&m.parent!==a;)m=m.walk();for(var n=0;n<l.length;n++)if(a=l[n],"p"==a.name&&a.firstChild){var o=b(a);if(i(o)){f(a,"ul");continue}if(h(o)){var p=/([0-9]+)\./.exec(o),q=1;p&&(q=parseInt(p[1],10)),f(a,"ol",q);continue}if(a._listLevel){f(a,"ul",1);continue}g=null}else j=g,g=null}function n(b,c){var d,f={},g=j.dom.parseStyle(c);return a.each(g,function(a,e){switch(e){case"mso-list":d=/\w+ \w+([0-9]+)/i.exec(c),d&&(b._listLevel=parseInt(d[1],10)),/Ignore/i.test(a)&&b.firstChild&&(b._listIgnore=!0,b.firstChild._listIgnore=!0);break;case"horiz-align":e="text-align";break;case"vert-align":e="vertical-align";break;case"font-color":case"mso-foreground":e="color";break;case"mso-background":case"mso-highlight":e="background";break;case"font-weight":case"font-style":return void("normal"!=a&&(f[e]=a));case"mso-element":if(/^(comment|comment-list)$/i.test(a))return void b.remove()}return 0===e.indexOf("mso-comment")?void b.remove():void(0!==e.indexOf("mso-")&&("all"==o||p&&p[e])&&(f[e]=a))}),/(bold)/i.test(f["font-weight"])&&(delete f["font-weight"],b.wrap(new e("b",1))),/(italic)/i.test(f["font-style"])&&(delete f["font-style"],b.wrap(new e("i",1))),f=j.dom.serializeStyle(f,b.name),f?f:null}var o,p,q=l.content;if(q=q.replace(/<b[^>]+id="?docs-internal-[^>]*>/gi,""),q=q.replace(/<br class="?Apple-interchange-newline"?>/gi,""),o=k.paste_retain_style_properties,o&&(p=a.makeMap(o.split(/[, ]/))),k.paste_enable_default_filters!==!1&&g(l.content)){l.wordContent=!0,q=f.filter(q,[/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(a,b){return b.length>0?b.replace(/./," ").slice(Math.floor(b.length/2)).split("").join("\xa0"):""}]]);var r=k.paste_word_valid_elements;r||(r="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var s=new c({valid_elements:r,valid_children:"-li[p]"});a.each(s.elements,function(a){a.attributes["class"]||(a.attributes["class"]={},a.attributesOrder.push("class")),a.attributes.style||(a.attributes.style={},a.attributesOrder.push("style"))});var t=new b({},s);t.addAttributeFilter("style",function(a){for(var b,c=a.length;c--;)b=a[c],b.attr("style",n(b,b.attr("style"))),"span"==b.name&&b.parent&&!b.attributes.length&&b.unwrap()}),t.addAttributeFilter("class",function(a){for(var b,c,d=a.length;d--;)b=a[d],c=b.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(c)&&b.remove(),b.attr("class",null)}),t.addNodeFilter("del",function(a){for(var b=a.length;b--;)a[b].remove()}),t.addNodeFilter("a",function(a){for(var b,c,d,e=a.length;e--;)if(b=a[e],c=b.attr("href"),d=b.attr("name"),c&&-1!=c.indexOf("#_msocom_"))b.remove();else if(c&&0===c.indexOf("file://")&&(c=c.split("#")[1],c&&(c="#"+c)),c||d){if(d&&!/^_?(?:toc|edn|ftn)/i.test(d)){b.unwrap();continue}b.attr({href:c,name:d})}else b.unwrap()});var u=t.parse(q);k.paste_convert_word_fake_lists!==!1&&m(u),l.content=new d({},s).serialize(u)}})}return j.isWordContent=g,j}),d("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(a,b,c,d){return function(e){function f(a){e.on("BeforePastePreProcess",function(b){b.content=a(b.content)})}function g(a){if(!c.isWordContent(a))return a;var f=[];b.each(e.schema.getBlockElements(),function(a,b){f.push(b)});var g=new RegExp("(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*(<\\/?("+f.join("|")+")[^>]*>)(?:<br>&nbsp;[\\s\\r\\n]+|<br>)*","g");return a=d.filter(a,[[g,"$1"]]),a=d.filter(a,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function h(a){if(c.isWordContent(a))return a;var b=e.settings.paste_webkit_styles;if(e.settings.paste_remove_styles_if_webkit===!1||"all"==b)return a;if(b&&(b=b.split(/[, ]/)),b){var d=e.dom,f=e.selection.getNode();a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(a,c,e,g){var h=d.parseStyle(e,"span"),i={};if("none"===b)return c+g;for(var j=0;j<b.length;j++){var k=h[b[j]],l=d.getStyle(f,b[j],!0);/color/.test(b[j])&&(k=d.toHex(k),l=d.toHex(l)),l!=k&&(i[b[j]]=k)}return i=d.serializeStyle(i,"span"),i?c+' style="'+i+'"'+g:c+g})}else a=a.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return a=a.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(a,b,c,d){return b+' style="'+c+'"'+d})}a.webkit&&f(h),a.ie&&f(g)}}),d("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(a,b,c,d){var e;a.add("paste",function(a){function f(){"text"==g.pasteFormat?(this.active(!1),g.pasteFormat="html"):(g.pasteFormat="text",this.active(!0),e||(a.windowManager.alert("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off."),e=!0))}var g,h=this,i=a.settings;h.clipboard=g=new b(a),h.quirks=new d(a),h.wordFilter=new c(a),a.settings.paste_as_text&&(h.clipboard.pasteFormat="text"),i.paste_preprocess&&a.on("PastePreProcess",function(a){i.paste_preprocess.call(h,h,a)}),i.paste_postprocess&&a.on("PastePostProcess",function(a){i.paste_postprocess.call(h,h,a)}),a.addCommand("mceInsertClipboardContent",function(a,b){b.content&&h.clipboard.pasteHtml(b.content),b.text&&h.clipboard.pasteText(b.text)}),a.paste_block_drop&&a.on("dragend dragover draggesture dragdrop drop drag",function(a){a.preventDefault(),a.stopPropagation()}),a.settings.paste_data_images||a.on("drop",function(a){var b=a.dataTransfer;b&&b.files&&b.files.length>0&&a.preventDefault()}),a.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:f,active:"text"==h.clipboard.pasteFormat}),a.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:g.pasteFormat,onclick:f})})}),f(["tinymce/pasteplugin/Utils"])}(this);
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/searchreplace/plugin.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(){function a(a,b,c,d,e){function f(a,b){if(b=b||0,!a[0])throw"findAndReplaceDOMText cannot handle zero-length matches";var c=a.index;if(b>0){var d=a[b];if(!d)throw"Invalid capture group";c+=a[0].indexOf(d),a[0]=d}return[c,c+a[0].length,[a[0]]]}function g(a){var b;if(3===a.nodeType)return a.data;if(n[a.nodeName]&&!m[a.nodeName])return"";if(b="",(m[a.nodeName]||o[a.nodeName])&&(b+="\n"),a=a.firstChild)do b+=g(a);while(a=a.nextSibling);return b}function h(a,b,c){var d,e,f,g,h=[],i=0,j=a,k=b.shift(),l=0;a:for(;;){if((m[j.nodeName]||o[j.nodeName])&&i++,3===j.nodeType&&(!e&&j.length+i>=k[1]?(e=j,g=k[1]-i):d&&h.push(j),!d&&j.length+i>k[0]&&(d=j,f=k[0]-i),i+=j.length),d&&e){if(j=c({startNode:d,startNodeIndex:f,endNode:e,endNodeIndex:g,innerNodes:h,match:k[2],matchIndex:l}),i-=e.length-g,d=null,e=null,h=[],k=b.shift(),l++,!k)break}else{if((!n[j.nodeName]||m[j.nodeName])&&j.firstChild){j=j.firstChild;continue}if(j.nextSibling){j=j.nextSibling;continue}}for(;;){if(j.nextSibling){j=j.nextSibling;break}if(j.parentNode===a)break a;j=j.parentNode}}}function i(a){var b;if("function"!=typeof a){var c=a.nodeType?a:l.createElement(a);b=function(a,b){var d=c.cloneNode(!1);return d.setAttribute("data-mce-index",b),a&&d.appendChild(l.createTextNode(a)),d}}else b=a;return function(a){var c,d,e,f=a.startNode,g=a.endNode,h=a.matchIndex;if(f===g){var i=f;e=i.parentNode,a.startNodeIndex>0&&(c=l.createTextNode(i.data.substring(0,a.startNodeIndex)),e.insertBefore(c,i));var j=b(a.match[0],h);return e.insertBefore(j,i),a.endNodeIndex<i.length&&(d=l.createTextNode(i.data.substring(a.endNodeIndex)),e.insertBefore(d,i)),i.parentNode.removeChild(i),j}c=l.createTextNode(f.data.substring(0,a.startNodeIndex)),d=l.createTextNode(g.data.substring(a.endNodeIndex));for(var k=b(f.data.substring(a.startNodeIndex),h),m=[],n=0,o=a.innerNodes.length;o>n;++n){var p=a.innerNodes[n],q=b(p.data,h);p.parentNode.replaceChild(q,p),m.push(q)}var r=b(g.data.substring(0,a.endNodeIndex),h);return e=f.parentNode,e.insertBefore(c,f),e.insertBefore(k,f),e.removeChild(f),e=g.parentNode,e.insertBefore(r,g),e.insertBefore(d,g),e.removeChild(g),r}}var j,k,l,m,n,o,p=[],q=0;if(l=b.ownerDocument,m=e.getBlockElements(),n=e.getWhiteSpaceElements(),o=e.getShortEndedElements(),k=g(b)){if(a.global)for(;j=a.exec(k);)p.push(f(j,d));else j=k.match(a),p.push(f(j,d));return p.length&&(q=p.length,h(b,p,i(c))),q}}function b(b){function c(){function a(){e.statusbar.find("#next").disabled(!g(k+1).length),e.statusbar.find("#prev").disabled(!g(k-1).length)}function c(){tinymce.ui.MessageBox.alert("Could not find the specified string.",function(){e.find("#find")[0].focus()})}var d={},e=tinymce.ui.Factory.create({type:"window",layout:"flex",pack:"center",align:"center",onClose:function(){b.focus(),j.done()},onSubmit:function(b){var f,h,i,l;return b.preventDefault(),h=e.find("#case").checked(),l=e.find("#words").checked(),i=e.find("#find").value(),i.length?d.text==i&&d.caseState==h&&d.wholeWord==l?0===g(k+1).length?void c():(j.next(),void a()):(f=j.find(i,h,l),f||c(),e.statusbar.items().slice(1).disabled(0===f),a(),void(d={text:i,caseState:h,wholeWord:l})):(j.done(!1),void e.statusbar.items().slice(1).disabled(!0))},buttons:[{text:"Find",onclick:function(){e.submit()}},{text:"Replace",disabled:!0,onclick:function(){j.replace(e.find("#replace").value())||(e.statusbar.items().slice(1).disabled(!0),k=-1,d={})}},{text:"Replace all",disabled:!0,onclick:function(){j.replace(e.find("#replace").value(),!0,!0),e.statusbar.items().slice(1).disabled(!0),d={}}},{type:"spacer",flex:1},{text:"Prev",name:"prev",disabled:!0,onclick:function(){j.prev(),a()}},{text:"Next",name:"next",disabled:!0,onclick:function(){j.next(),a()}}],title:"Find and replace",items:{type:"form",padding:20,labelGap:30,spacing:10,items:[{type:"textbox",name:"find",size:40,label:"Find",value:b.selection.getNode().src},{type:"textbox",name:"replace",size:40,label:"Replace with"},{type:"checkbox",name:"case",text:"Match case",label:" "},{type:"checkbox",name:"words",text:"Whole words",label:" "}]}}).renderTo().reflow()}function d(a){var b=a.getAttribute("data-mce-index");return"number"==typeof b?""+b:b}function e(c){var d,e;return e=b.dom.create("span",{"data-mce-bogus":1}),e.className="mce-match-marker",d=b.getBody(),j.done(!1),a(c,d,e,!1,b.schema)}function f(a){var b=a.parentNode;a.firstChild&&b.insertBefore(a.firstChild,a),a.parentNode.removeChild(a)}function g(a){var c,e=[];if(c=tinymce.toArray(b.getBody().getElementsByTagName("span")),c.length)for(var f=0;f<c.length;f++){var g=d(c[f]);null!==g&&g.length&&g===a.toString()&&e.push(c[f])}return e}function h(a){var c=k,d=b.dom;a=a!==!1,a?c++:c--,d.removeClass(g(k),"mce-match-marker-selected");var e=g(c);return e.length?(d.addClass(g(c),"mce-match-marker-selected"),b.selection.scrollIntoView(e[0]),c):-1}function i(a){a.parentNode.removeChild(a)}var j=this,k=-1;j.init=function(a){a.addMenuItem("searchreplace",{text:"Find and replace",shortcut:"Meta+F",onclick:c,separator:"before",context:"edit"}),a.addButton("searchreplace",{tooltip:"Find and replace",shortcut:"Meta+F",onclick:c}),a.addCommand("SearchReplace",c),a.shortcuts.add("Meta+F","",c)},j.find=function(a,b,c){a=a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),a=c?"\\b"+a+"\\b":a;var d=e(new RegExp(a,b?"g":"gi"));return d&&(k=-1,k=h(!0)),d},j.next=function(){var a=h(!0);-1!==a&&(k=a)},j.prev=function(){var a=h(!1);-1!==a&&(k=a)},j.replace=function(a,c,e){var h,l,m,n,o,p,q=k;for(c=c!==!1,m=b.getBody(),l=tinymce.toArray(m.getElementsByTagName("span")),h=0;h<l.length;h++){var r=d(l[h]);if(null!==r&&r.length)if(n=o=parseInt(r,10),e||n===k){for(a.length?(l[h].firstChild.nodeValue=a,f(l[h])):i(l[h]);l[++h];)if(n=d(l[h]),null!==r&&r.length){if(n!==o){h--;break}i(l[h])}c&&q--}else o>k&&l[h].setAttribute("data-mce-index",o-1)}return b.undoManager.add(),k=q,c?(p=g(q+1).length>0,j.next()):(p=g(q-1).length>0,j.prev()),!e&&p},j.done=function(a){var c,e,g,h;for(e=tinymce.toArray(b.getBody().getElementsByTagName("span")),c=0;c<e.length;c++){var i=d(e[c]);null!==i&&i.length&&(i===k.toString()&&(g||(g=e[c].firstChild),h=e[c].firstChild),f(e[c]))}if(g&&h){var j=b.dom.createRng();return j.setStart(g,0),j.setEnd(h,h.data.length),a!==!1&&b.selection.setRng(j),j}}}tinymce.PluginManager.add("searchreplace",b)}();
\ No newline at end of file
--- a/src/pyams_skin/resources/js/ext/tinymce/plugins/visualblocks/css/visualblocks.css	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-.mce-visualblocks p {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
-}
-
-.mce-visualblocks h1 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
-}
-
-.mce-visualblocks h2 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
-}
-
-.mce-visualblocks h3 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
-}
-
-.mce-visualblocks h4 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
-}
-
-.mce-visualblocks h5 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
-}
-
-.mce-visualblocks h6 {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
-}
-
-.mce-visualblocks div {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
-}
-
-.mce-visualblocks section {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
-}
-
-.mce-visualblocks article {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
-}
-
-.mce-visualblocks blockquote {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
-}
-
-.mce-visualblocks address {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
-}
-
-.mce-visualblocks pre {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin-left: 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
-}
-
-.mce-visualblocks figure {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
-}
-
-.mce-visualblocks hgroup {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
-}
-
-.mce-visualblocks aside {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
-}
-
-.mce-visualblocks figcaption {
-	border: 1px dashed #BBB;
-}
-
-.mce-visualblocks ul {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)
-}
-
-.mce-visualblocks ol {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
-}
-
-.mce-visualblocks dl {
-	padding-top: 10px;
-	border: 1px dashed #BBB;
-	margin: 0 0 1em 3px;
-	background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
-}
Binary file src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/fonts/tinymce-small.eot has changed
--- a/src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/fonts/tinymce.svg	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,63 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
-<svg xmlns="http://www.w3.org/2000/svg">
-<metadata>Generated by IcoMoon</metadata>
-<defs>
-<font id="tinymce" horiz-adv-x="1024">
-<font-face units-per-em="1024" ascent="960" descent="-64" />
-<missing-glyph horiz-adv-x="1024" />
-<glyph unicode="&#x20;" d="" horiz-adv-x="512" />
-<glyph unicode="&#xe000;" d="M896 960h-896v-1024h1024v896l-128 128zM512 832h128v-256h-128v256zM896 64h-768v768h64v-320h576v320h74.978l53.022-53.018v-714.982z" />
-<glyph unicode="&#xe001;" d="M903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
-<glyph unicode="&#xe002;" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
-<glyph unicode="&#xe003;" d="M0 896h1024v-128h-1024zM0 704h640v-128h-640zM0 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
-<glyph unicode="&#xe004;" d="M0 896h1024v-128h-1024zM192 704h640v-128h-640zM192 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
-<glyph unicode="&#xe005;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
-<glyph unicode="&#xe006;" d="M0 896h1024v-128h-1024zM0 704h1024v-128h-1024zM0 512h1024v-128h-1024zM0 320h1024v-128h-1024zM0 128h1024v-128h-1024z" />
-<glyph unicode="&#xe007;" d="M890.774 250.846c-45.654 45.556-103.728 69.072-157.946 69.072h-29.112l-63.904 64.008 255.62 256.038c63.904 64.010 63.904 192.028 0 256.038l-383.43-384.056-383.432 384.054c-63.904-64.008-63.904-192.028 0-256.038l255.622-256.034-63.906-64.008h-29.114c-54.22 0-112.292-23.518-157.948-69.076-81.622-81.442-92.65-202.484-24.63-270.35 29.97-29.902 70.288-44.494 112.996-44.494 54.216 0 112.29 23.514 157.946 69.072 53.584 53.464 76.742 124 67.084 185.348l65.384 65.488 65.376-65.488c-9.656-61.348 13.506-131.882 67.084-185.348 45.662-45.558 103.732-69.072 157.948-69.072 42.708 0 83.024 14.592 112.994 44.496 68.020 67.866 56.988 188.908-24.632 270.35zM353.024 114.462c-7.698-17.882-19.010-34.346-33.626-48.926-14.636-14.604-31.172-25.918-49.148-33.624-16.132-6.916-32.96-10.568-48.662-10.568-15.146 0-36.612 3.402-52.862 19.612-16.136 16.104-19.52 37.318-19.52 52.288 0 15.542 3.642 32.21 10.526 48.212 7.7 17.884 19.014 34.346 33.626 48.926 14.634 14.606 31.172 25.914 49.15 33.624 16.134 6.914 32.96 10.568 48.664 10.568 15.146 0 36.612-3.4 52.858-19.614 16.134-16.098 19.522-37.316 19.522-52.284 0.002-15.542-3.638-32.216-10.528-48.214zM512.004 293.404c-49.914 0-90.376 40.532-90.376 90.526 0 49.992 40.462 90.52 90.376 90.52s90.372-40.528 90.372-90.52c0-49.998-40.46-90.526-90.372-90.526zM855.272 40.958c-16.248-16.208-37.712-19.612-52.86-19.612-15.704 0-32.53 3.652-48.666 10.568-17.972 7.706-34.508 19.020-49.142 33.624-14.614 14.58-25.926 31.042-33.626 48.926-6.886 15.998-10.526 32.672-10.526 48.212 0 14.966 3.384 36.188 19.52 52.286 16.246 16.208 37.712 19.614 52.86 19.614 15.7 0 32.53-3.654 48.66-10.568 17.978-7.708 34.516-19.018 49.15-33.624 14.61-14.58 25.924-31.042 33.626-48.926 6.884-15.998 10.526-32.67 10.526-48.212-0.002-14.97-3.39-36.186-19.522-52.288z" />
-<glyph unicode="&#xe008;" d="M832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h448l192 192v512h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM832 26.51v101.49h101.49l-101.49-101.49zM960 192h-192v-192h-320v576h512v-384z" />
-<glyph unicode="&#xe009;" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
-<glyph unicode="&#xe00a;" d="M384 896h640v-128h-640v128zM384 512h640v-128h-640v128zM384 128h640v-128h-640v128zM0 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 448c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 64c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128z" />
-<glyph unicode="&#xe00b;" d="M384 128h640v-128h-640zM384 512h640v-128h-640zM384 896h640v-128h-640zM192 960v-256h-64v192h-64v64zM128 434v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM256 256v-320h-192v64h128v64h-128v64h128v64h-128v64z" />
-<glyph unicode="&#xe00c;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM0 256v384l256-192z" />
-<glyph unicode="&#xe00d;" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM256 640v-384l-256 192z" />
-<glyph unicode="&#xe00e;" d="M225 512c123.712 0 224-100.29 224-224 0-123.712-100.288-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.634-11.636-22.252-24.016-31.83-37.020 11.438 1.8 23.16 2.746 35.104 2.746zM801 512c123.71 0 224-100.29 224-224 0-123.712-100.29-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.636-11.636-22.254-24.016-31.832-37.020 11.44 1.8 23.16 2.746 35.106 2.746z" />
-<glyph unicode="&#xe00f;" d="M761.862-64c113.726 206.032 132.888 520.306-313.862 509.824v-253.824l-384 384 384 384v-248.372c534.962 13.942 594.57-472.214 313.862-775.628z" />
-<glyph unicode="&#xe010;" d="M576 711.628v248.372l384-384-384-384v253.824c-446.75 10.482-427.588-303.792-313.86-509.824-280.712 303.414-221.1 789.57 313.86 775.628z" />
-<glyph unicode="&#xe011;" d="M320 256c17.6-17.6 47.274-16.726 65.942 1.942l316.118 316.116c18.668 18.668 19.54 48.342 1.94 65.942s-47.274 16.726-65.942-1.942l-316.116-316.116c-18.668-18.668-19.542-48.342-1.942-65.942zM476.888 284.888c4.56-9.050 6.99-19.16 6.99-29.696 0-17.616-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.382 99.382c-12.248 12.248-18.992 28.694-18.992 46.308s6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994 10.536 0 20.644-2.43 29.696-6.99l65.338 65.338c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-60.67-60.67-60.67-159.948 0-220.618l99.382-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c55.82 55.82 60.238 144.298 13.344 205.344l-65.34-65.34zM978.498 815.116l-99.382 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994s34.060-6.746 46.308-18.994l99.382-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c60.67 60.666 60.67 159.944 0 220.614z" />
-<glyph unicode="&#xe012;" d="M476.888 284.886c4.56-9.048 6.99-19.158 6.99-29.696 0-17.616-6.744-34.058-18.992-46.308l-163.38-163.38c-12.248-12.248-28.696-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.38 99.38c-12.248 12.25-18.992 28.696-18.992 46.308s6.744 34.060 18.992 46.308l163.38 163.382c12.248 12.246 28.696 18.992 46.308 18.992 10.538 0 20.644-2.43 29.696-6.988l65.338 65.336c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.38-163.382c-60.67-60.67-60.67-159.95 0-220.618l99.38-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.38 163.38c55.82 55.82 60.238 144.298 13.344 205.346l-65.34-65.338zM978.496 815.116l-99.38 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.97-15.166-110.306-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.246 12.248 28.694 18.994 46.306 18.994 17.616 0 34.060-6.746 46.308-18.994l99.38-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.38-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.504l163.38 163.38c60.672 60.666 60.672 159.944 0 220.614zM233.368 681.376l-191.994 191.994 45.256 45.256 191.994-191.994zM384 960h64v-192h-64zM0 576h192v-64h-192zM790.632 214.624l191.996-191.996-45.256-45.256-191.996 191.996zM576 128h64v-192h-64zM832 384h192v-64h-192z" />
-<glyph unicode="&#xe013;" d="M192 960v-1024l320 320 320-320v1024h-640zM768 90.51l-256 256-256-256v805.49h512v-805.49z" />
-<glyph unicode="&#xe014;" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
-<glyph unicode="&#xe015;" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
-<glyph unicode="&#xe016;" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
-<glyph unicode="&#xe017;" d="M320 704l-256-256 256-256h128l-256 256 256 256zM704 704h-128l256-256-256-256h128l256 256z" />
-<glyph unicode="&#xe018;" d="M512 768c-212.076 0-384-171.922-384-384s171.922-384 384-384c212.074 0 384 171.922 384 384s-171.926 384-384 384zM715.644 180.354c-54.392-54.396-126.716-84.354-203.644-84.354s-149.25 29.958-203.646 84.354c-54.396 54.394-84.354 126.718-84.354 203.646s29.958 149.25 84.354 203.646c54.396 54.396 126.718 84.354 203.646 84.354s149.252-29.958 203.642-84.354c54.402-54.396 84.358-126.718 84.358-203.646s-29.958-149.252-84.356-203.646zM325.93 756.138l-42.94 85.878c-98.874-49.536-179.47-130.132-229.006-229.008l85.876-42.94c40.248 80.336 105.732 145.822 186.070 186.070zM884.134 570.070l85.878 42.938c-49.532 98.876-130.126 179.472-229.004 229.008l-42.944-85.878c80.338-40.248 145.824-105.732 186.070-186.068zM512 576h-64v-192c0-10.11 4.7-19.11 12.022-24.972l-0.012-0.016 160-128 39.976 49.976-147.986 118.39v176.622z" />
-<glyph unicode="&#xe019;" d="M512 640c-209.368 0-395.244-100.556-512-256 116.756-155.446 302.632-256 512-256s395.244 100.554 512 256c-116.756 155.444-302.632 256-512 256zM448 512c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM773.616 254.704c-39.648-20.258-81.652-35.862-124.846-46.376-44.488-10.836-90.502-16.328-136.77-16.328-46.266 0-92.282 5.492-136.768 16.324-43.194 10.518-85.198 26.122-124.846 46.376-63.020 32.202-120.222 76.41-167.64 129.298 47.418 52.888 104.62 97.1 167.64 129.298 32.336 16.522 66.242 29.946 101.082 40.040-19.888-30.242-31.468-66.434-31.468-105.336 0-106.040 85.962-192 192-192s192 85.96 192 192c0 38.902-11.582 75.094-31.466 105.34 34.838-10.096 68.744-23.52 101.082-40.042 63.022-32.198 120.218-76.408 167.638-129.298-47.42-52.886-104.618-97.1-167.638-129.296zM860.918 716.278c-108.72 55.554-226.112 83.722-348.918 83.722s-240.198-28.168-348.918-83.722c-58.772-30.032-113.732-67.904-163.082-112.076v-109.206c55.338 58.566 120.694 107.754 192.194 144.29 99.62 50.904 207.218 76.714 319.806 76.714s220.186-25.81 319.804-76.716c71.502-36.536 136.858-85.724 192.196-144.29v109.206c-49.35 44.174-104.308 82.046-163.082 112.078z" />
-<glyph unicode="&#xe01a;" d="M322.018 128l57.6 192h264.764l57.6-192h113.632l-191.996 640h-223.236l-192-640h113.636zM475.618 640h72.764l57.6-192h-187.964l57.6 192z" />
-<glyph unicode="&#xe01b;" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
-<glyph unicode="&#xe01c;" d="M0 512h1024v-128h-1024z" />
-<glyph unicode="&#xe01d;" d="M0 64h576v-128h-576zM192 960h704v-128h-704zM277.388 128l204.688 784.164 123.85-32.328-196.25-751.836zM929.774-64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774z" />
-<glyph unicode="&#xe01e;" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
-<glyph unicode="&#xe01f;" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
-<glyph unicode="&#xe020;" d="M704 64h256l64 128v-256h-384v214.214c131.112 56.484 224 197.162 224 361.786 0 214.432-157.598 382.266-352 382.266-194.406 0-352-167.832-352-382.266 0-164.624 92.886-305.302 224-361.786v-214.214h-384v256l64-128h256v32.59c-187.63 66.46-320 227.402-320 415.41 0 247.424 229.23 448 512 448s512-200.576 512-448c0-188.008-132.37-348.95-320-415.41v-32.59z" />
-<glyph unicode="&#xe021;" d="M512 960c-282.77 0-512-229.228-512-512 0-282.77 229.228-512 512-512 282.77 0 512 229.23 512 512 0 282.772-229.23 512-512 512zM512 16c-238.586 0-432 193.412-432 432 0 238.586 193.414 432 432 432 238.59 0 432-193.414 432-432 0-238.588-193.41-432-432-432zM384 640c0-35.346-28.654-64-64-64s-64 28.654-64 64 28.654 64 64 64 64-28.654 64-64zM768 640c0-35.346-28.652-64-64-64s-64 28.654-64 64 28.652 64 64 64 64-28.654 64-64zM512 308c141.074 0 262.688 57.532 318.462 123.192-20.872-171.22-156.288-303.192-318.462-303.192-162.118 0-297.498 132.026-318.444 303.168 55.786-65.646 177.386-123.168 318.444-123.168z" />
-<glyph unicode="&#xe022;" d="M256 896h512v-128h-512zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM704 64h-384v320h384v-320zM974.4 608c0-25.626-20.774-46.4-46.398-46.4-25.626 0-46.402 20.774-46.402 46.4s20.776 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
-<glyph unicode="&#xe023;" d="M1024 960v-384l-138.26 138.26-212-212-107.48 107.48 212 212-138.26 138.26zM245.74 821.74l212-212-107.48-107.48-212 212-138.26-138.26v384h384zM885.74 181.74l138.26 138.26v-384h-384l138.26 138.26-212 212 107.48 107.48zM457.74 286.26l-212-212 138.26-138.26h-384v384l138.26-138.26 212 212z" />
-<glyph unicode="&#xe024;" d="M128 704h128v-192h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192zM128 896h128v-128h-128v128zM960 896v64h-192c-35.202 0-64-28.8-64-64v-320c0-35.2 28.798-64 64-64h192v64h-192v320h192zM640 800v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64zM576 576h-128v128h128v-128zM576 768h-128v128h128v-128zM832 384l-416-448-224 288 82 70 142-148 352 302z" />
-<glyph unicode="&#xe025;" d="M448 384h-192v128h192v192h128v-192h192v-128h-192v-192h-128zM1024 320v-384h-1024v384h128v-256h768v256z" />
-<glyph unicode="&#xe026;" d="M384 768h128v-64h-128zM576 768h128v-64h-128zM896 768v-256h-192v64h128v128h-64v64zM320 576h128v-64h-128zM512 576h128v-64h-128zM192 704v-128h64v-64h-128v256h192v-64zM384 384h128v-64h-128zM576 384h128v-64h-128zM896 384v-256h-192v64h128v128h-64v64zM320 192h128v-64h-128zM512 192h128v-64h-128zM192 320v-128h64v-64h-128v256h192v-64zM960 896h-896v-896h896v896zM1024 960v0-1024h-1024v1024h1024z" />
-<glyph unicode="&#xe027;" d="M0 448h128v-64h-128zM192 448h192v-64h-192zM448 448h128v-64h-128zM640 448h192v-64h-192zM896 448h128v-64h-128zM880 960l16-448h-768l16 448h32l16-384h640l16 384zM144-64l-16 384h768l-16-384h-32l-16 320h-640l-16-320z" />
-<glyph unicode="&#xe028;" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
-<glyph unicode="&#xe02a;" d="M707.88 475.348c37.498 44.542 60.12 102.008 60.12 164.652 0 141.16-114.842 256-256 256h-320v-896h384c141.158 0 256 114.842 256 256 0 92.956-49.798 174.496-124.12 219.348zM384 768h101.5c55.968 0 101.5-57.42 101.5-128s-45.532-128-101.5-128h-101.5v256zM543 128h-159v256h159c58.45 0 106-57.42 106-128s-47.55-128-106-128z" />
-<glyph unicode="&#xe02b;" d="M896 896v-64h-128l-320-768h128v-64h-448v64h128l320 768h-128v64z" />
-<glyph unicode="&#xe02c;" d="M704 896h128v-416c0-159.058-143.268-288-320-288-176.73 0-320 128.942-320 288v416h128v-416c0-40.166 18.238-78.704 51.354-108.506 36.896-33.204 86.846-51.494 140.646-51.494s103.75 18.29 140.646 51.494c33.116 29.802 51.354 68.34 51.354 108.506v416zM192 128h640v-128h-640z" />
-<glyph unicode="&#xe02d;" d="M731.42 442.964c63.92-47.938 100.58-116.086 100.58-186.964s-36.66-139.026-100.58-186.964c-59.358-44.518-137.284-69.036-219.42-69.036-82.138 0-160.062 24.518-219.42 69.036-63.92 47.938-100.58 116.086-100.58 186.964h128c0-69.382 87.926-128 192-128s192 58.618 192 128c0 69.382-87.926 128-192 128-82.138 0-160.062 24.518-219.42 69.036-63.92 47.94-100.58 116.086-100.58 186.964s36.66 139.024 100.58 186.964c59.358 44.518 137.282 69.036 219.42 69.036 82.136 0 160.062-24.518 219.42-69.036 63.92-47.94 100.58-116.086 100.58-186.964h-128c0 69.382-87.926 128-192 128s-192-58.618-192-128c0-69.382 87.926-128 192-128 82.136 0 160.062-24.518 219.42-69.036zM0 448h1024v-64h-1024z" />
-<glyph unicode="&#xe02e;" d="M384 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224z" />
-<glyph unicode="&#xe02f;" d="M448 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM64 512l256-224-256-224z" />
-<glyph unicode="&#xe030;" d="M256 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM960 64l-256 224 256 224z" />
-<glyph unicode="&#xe031;" d="M832 704h-192v64l-192 192h-448v-768h384v-256h640v576l-192 192zM832 613.49l101.49-101.49h-101.49v101.49zM448 869.49l101.49-101.49h-101.49v101.49zM64 896h320v-192h192v-448h-512v640zM960 0h-512v192h192v448h128v-192h192v-448z" />
-<glyph unicode="&#xe032;" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
-<glyph unicode="&#xe033;" d="M128 416l288-288 480 480-128 128-352-352-160 160z" />
-<glyph unicode="&#xe034;" d="M928 832h-416l-32 64h-352l-64-128h896zM904.34 256h74.86l44.8 448h-1024l64-640h484.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM1002.996 46.25l-198.496 174.692c17.454 28.92 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l174.692-198.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM640 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
-<glyph unicode="&#xe035;" d="M512 448v-128h32l32 64h64v-256h-48v-64h224v64h-48v256h64l32-64h32v128zM832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h640v704h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM960 0h-512v576h512v-576z" />
-</font></defs></svg>
\ No newline at end of file
Binary file src/pyams_skin/resources/js/ext/tinymce/skins/lightgray/img/trans.gif has changed
--- a/src/pyams_skin/resources/js/myams-callbacks.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(m,a){var r=a.MyAMS;r.callbacks={init:function(a){m("[data-ams-callback]",a).each(function(){var a,e,t=this,s=m(t).data();try{var n=JSON.parse(s.amsCallback);Array.isArray(n)||(n=[n])}catch(a){n=s.amsCallback.split(/\s+/)}for(var l=0;l<n.length;l++){var o=n[l];if("string"==typeof o){var i=r.getFunctionByName(o),c=s.amsCallbackOptions;"string"==typeof c&&(c=c.unserialize()),void 0===i?s.amsCallbackSource?r.getScript(s.amsCallbackSource,(e=o,void r.executeFunctionByName(e,t,c)),{async:void 0===s.amsCallbackAsync||s.amsCallbackAsync}):console&&console.warn&&console.warn("Undefined callback: "+s.amsCallback):i.call(t,c)}else i=r.getFunctionByName(o.callback),"string"==typeof(c=o.options)&&(c=c.unserialize()),void 0===i?o.source?r.getScript(o.source,(a=o,void r.executeFunctionByName(a.callback,t,a.options)),{async:void 0===o.async||o.async}):console&&console.warn&&console.warn("Undefined callback: "+o.callback):i.call(t,o.options)}})},alert:function(a){var e=m(this).data(),t=m.extend({},a,e.amsAlertOptions),s=m(e.amsAlertParent||t.parent||this),n=e.amsAlertStatus||t.status||"info",l=e.amsAlertHeader||t.header,o=e.amsAlertMessage||t.message,i=e.amsAlertSubtitle||t.subtitle,c=void 0===e.amsAlertMargin?void 0!==t.margin&&t.margin:e.amsAlertMargin;r.skin&&r.skin.alert(s,n,l,o,i,c)},messageBox:function(a){var e=m(this).data(),t=m.extend({},a,e.amsMessageboxOptions),s=m.extend({},t,{title:e.amsMessageboxTitle||t.title||"",content:e.amsMessageboxContent||t.content||"",icon:e.amsMessageboxIcon||t.icon,number:e.amsMessageboxNumber||t.number,timeout:e.amsMessageboxTimeout||t.timeout}),n=e.amsMessageboxStatus||t.status||"info",l=r.getFunctionByName(e.amsMessageboxCallback||t.callback);r.skin&&r.skin.messageBox(n,s,l)},smallBox:function(a){var e=m(this).data(),t=m.extend({},a,e.amsSmallboxOptions),s=m.extend({},t,{title:e.amsSmallboxTitle||t.title||"",content:e.amsSmallboxContent||t.content||"",icon:e.amsSmallboxIcon||t.icon,iconSmall:e.amsSmallboxIconSmall||t.iconSmall,timeout:e.amsSmallboxTimeout||t.timeout}),n=e.amsSmallboxStatus||t.status||"info",l=r.getFunctionByName(e.amsSmallboxCallback||t.callback);r.skin&&r.skin.smallBox(n,s,l)}}}(jQuery,this);
--- a/src/pyams_skin/resources/js/myams-i18n.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-(function($, globals) {
-
-	var ams = globals.MyAMS;
-
-	/**
-	 * MyAMS locale strings
-	 */
-	ams.i18n = {
-
-		INFO: "Information",
-		WARNING: "!! WARNING !!",
-		ERROR: "ERROR: ",
-
-		LOADING: "Loading...",
-		PROGRESS: "Processing",
-
-		WAIT: "Please wait!",
-		FORM_SUBMITTED: "This form was already submitted...",
-		NO_SERVER_RESPONSE: "No response from server!",
-
-		ERROR_OCCURED: "An error occured!",
-		ERRORS_OCCURED: "Some errors occured!",
-
-		BAD_LOGIN_TITLE: "Bad login!",
-		BAD_LOGIN_MESSAGE: "Your anthentication credentials didn't allow you to open a session; " +
-						   "please check your credentials or contact administrator.",
-
-		CONFIRM: "Confirm",
-		CONFIRM_REMOVE: "Removing this content can't be undone. Do you confirm?",
-
-		CLEAR_STORAGE_TITLE: "Clear Local Storage",
-		CLEAR_STORAGE_CONTENT: "Would you like to RESET all your saved widgets and clear LocalStorage?",
-
-		BTN_OK: "OK",
-		BTN_CANCEL: "Cancel",
-		BTN_OK_CANCEL: "[OK][Cancel]",
-		BTN_YES: "Yes",
-		BTN_NO: "No",
-		BTN_YES_NO: "[Yes][No]",
-
-		CLIPBOARD_COPY: "Copy to clipboard with Ctrl+C, and Enter",
-		CLIPBOARD_CHARACTER_COPY_OK: "Character copied to clipboard",
-		CLIPBOARD_TEXT_COPY_OK: "Text copied to clipboard",
-
-		FORM_CHANGED_WARNING: "Some changes were not saved. These updates will be lost if you leave this page.",
-		DELETE_WARNING: "This change can't be undone. Are you sure that you want to delete this element?",
-		NO_UPDATE: "No changes were applied.",
-		DATA_UPDATED: "Data successfully updated.",
-
-		HOME: "Home",
-		LOGOUT: "Logout?",
-		LOGOUT_COMMENT: "You can improve your security further after logging out by closing this opened browser",
-
-		SELECT2_PLURAL: 's',
-		SELECT2_MATCH: "One result is available, press enter to select it.",
-		SELECT2_MATCHES: " results are available, use up and down arrow keys to navigate.",
-		SELECT2_NOMATCHES: "No matches found",
-		SELECT2_SEARCHING: "Searching...",
-		SELECT2_LOADMORE: "Loading more results...",
-		SELECT2_INPUT_TOOSHORT: "Please enter {0} more character{1}",
-		SELECT2_INPUT_TOOLONG: "Please delete {0} character{1}",
-		SELECT2_SELECTION_TOOBIG: "You can only select {0} item{1}",
-		SELECT2_FREETAG_PREFIX: "Free text: ",
-
-		DT_COLUMNS: "Columns"
-	};
-
-})(jQuery, this);
--- a/src/pyams_skin/resources/js/myams-menus.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(d,e){var t=e.MyAMS;d.fn.extend({contextMenu:function(c){function n(e,n,i){var t=d(window)[n](),a=d(c.menuSelector)[n](),s=e;return t<e+a&&a<e&&(s-=a),s}return this.each(function(){d("a",d(c.menuSelector)).each(function(){d(this).data("ams-context-menu",!0)}),d(this).on("contextmenu",function(e){if(!e.ctrlKey)return d(c.menuSelector).data("invokedOn",d(e.target)).show().css({position:"fixed",left:n(e.clientX,"width")-10,top:n(e.clientY,"height")-10}).off("click").on("click",function(e){d(this).hide();var n=d(this).data("invokedOn"),i=d(e.target);c.menuSelected.call(this,n,i),t.event&&t.event.stop(e)}),!1}),d(document).click(function(){d(c.menuSelector).hide()})})},myams_menu:function(e){var o=d.extend({},{accordion:!0,speed:200,closedSign:'<em class="fa fa-angle-down"></em>',openedSign:'<em class="fa fa-angle-up"></em>'},e),i=d(this);i.find("LI").each(function(){var e=d(this);if(0<e.find("UL").size()){e.find("A:first").append("<b class='collapse-sign'>"+o.closedSign+"</b>");var n=e.find("A:first");"#"===n.attr("href")&&n.click(function(){return!1})}}),i.find("LI.active").each(function(){var e=d(this).parents("UL"),n=e.parent("LI");e.slideDown(o.speed),n.find("b:first").html(o.openedSign),n.addClass("open")}),i.find("LI A").on("click",function(){var e=d(this);if(!e.hasClass("active")){var t=e.attr("href").replace(/^#/,""),a=e.parent().find("UL");if(o.accordion){var s=e.parent().parents("UL"),c=i.find("UL:visible");c.each(function(n){var i=!0;if(s.each(function(e){if(s[e]===c[n])return i=!1}),i&&a!==c[n]){var e=d(c[n]);!t&&e.hasClass("active")||e.slideUp(o.speed,function(){d(this).parent("LI").removeClass("open").find("B:first").delay(o.speed).html(o.closedSign)})}})}var n=e.parent().find("UL:first");t||!n.is(":visible")||n.hasClass("active")?n.slideDown(o.speed,function(){e.parent("LI").addClass("open").find("B:first").delay(o.speed).html(o.openedSign)}):n.slideUp(o.speed,function(){e.parent("LI").removeClass("open").find("B:first").delay(o.speed).html(o.closedSign)})}})}})}(jQuery,this);
--- a/src/pyams_skin/resources/js/myams-tree.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-!function(c,a){var v=a.MyAMS;v.tree={switchTableNode:function(){var a=c(this),n=c("i.switch",a),d=a.parents("tr").first(),o=d.parents("table").first();if(n.hasClass("fa-minus-square-o"))!function e(a){c('tr[data-ams-tree-node-parent-id="'+a+'"]').each(function(){var a=c(this);e(a.data("ams-tree-node-id")),a.remove()})}(d.data("ams-tree-node-id")),n.removeClass("fa-minus-square-o").addClass("fa-plus-square-o");else{var e=d.data("ams-location")||o.data("ams-location")||"",t=d.data("ams-tree-nodes-target")||o.data("ams-tree-nodes-target")||"get-tree-nodes.json",s=d.data("ams-element-name");n.removeClass("fa-plus-square-o").addClass("fa-cog fa-spin"),v.ajax&&v.ajax.post(e+"/"+s+"/"+t,{can_sort:!c("td.sorter",d).is(":empty")},function(a,e){if(0<a.length){for(var t=d,s=0;s<a.length;s++){var r=c(a[s]);r.insertAfter(t).addClass("no-drag-handle"),v.initContent&&v.initContent(r),t=r}o.hasClass("table-dnd")&&o.tableDnDUpdate()}n.removeClass("fa-cog fa-spin").addClass("fa-minus-square-o")})}},switchTree:function(){var a=c(this),n=c("i.switch",a),d=c(this).parents("table").first(),e=d.data("ams-tree-node-id");if(n.hasClass("fa-minus-square-o"))c("tr[data-ams-tree-node-parent-id]").filter('tr[data-ams-tree-node-parent-id!="'+e+'"]').remove(),c("i.switch",d).removeClass("fa-minus-square-o").addClass("fa-plus-square-o");else{var t=c("tbody tr",d).first(),s=d.data("ams-location")||"",r=d.data("ams-tree-nodes-target")||"get-tree.json";n.removeClass("fa-plus-square-o").addClass("fa-cog fa-spin"),v.ajax&&v.ajax.post(s+"/"+r,{can_sort:!c("td.sorter",t).is(":empty")},function(a,e){c("tr[data-ams-tree-node-id]",d).remove();for(var t=null,s=0;s<a.length;s++){var r=c(a[s]);null===t?r.appendTo(c("tbody",d)):r.insertAfter(t),r.addClass("no-drag-handle"),v.initContent&&v.initContent(r),t=r}d.hasClass("table-dnd")&&d.tableDnDUpdate(),c("i.switch",d).removeClass("fa-plus-square-o").addClass("fa-minus-square-o"),n.removeClass("fa-cog fa-spin").addClass("fa-minus-square-o")})}},sortTree:function(a,d){var e=c(a).data(),t=e.amsTabledndDropTarget;if(t){(d=c(d)).data("ams-disabled-handlers","click");try{var s=d.parents("table").first().data("ams-tree-node-id"),o=d.data("ams-tree-node-id"),r=d.data("ams-tree-node-parent-id"),n=d.prev("tr");if(n.exists()){var i=n.data("ams-tree-node-id"),l=c(".switch",n);if(l.hasClass("fa-minus-square-o"))if(r===i)var f="reorder";else f="reparent";else f=r===(i=n.data("ams-tree-node-parent-id"))?"reorder":"reparent"}else l=null,f=r===(i=s)?"reorder":"reparent";var m=v.getFunctionByName(t);if("function"==typeof m)m.call(table,a,p);else{if(!t.startsWith(window.location.protocol)){var u=e.amsLocation;u&&(t=u+"/"+t)}var p={action:f,child:o,parent:i,order:JSON.stringify(c("tr[data-ams-tree-node-id]").listattr("data-ams-tree-node-id")),can_sort:!c("td.sorter",d).is(":empty")};v.ajax&&v.ajax.post(t,p,function(a){function e(a){c('tr[data-ams-tree-node-parent-id="'+a+'"]').each(function(){var a=c(this);e(a.attr("data-ams-tree-node-id")),a.remove()})}if(a.status)v.ajax.handleJSON(a);else{var t=c(d).parents("tbody").first();if(e(o),"reparent"===p.action){e(i),d.remove();for(var s=c('tr[data-ams-tree-node-id="'+i+'"]'),r=0;r<a.length;r++){var n=c(a[r]);s.exists()?n.insertAfter(s).addClass("no-drag-handle"):n.prependTo(t).addClass("no-drag-handle"),v.initContent&&v.initContent(n),s=n}}c("tr").parents("table").tableDnDUpdate()}})}}finally{setTimeout(function(){c(d).removeData("ams-disabled-handlers")},50)}}return!1}}}(jQuery,this);
--- a/src/pyams_skin/resources/js/myams-utf8.min.js	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-jQuery.UTF8={encode:function(r){r=r.replace(/\r\n/g,"\n");for(var o="",e=0;e<r.length;e++){var C=r.charCodeAt(e);C<128?o+=String.fromCharCode(C):(127<C&&C<2048?o+=String.fromCharCode(C>>6|192):(o+=String.fromCharCode(C>>12|224),o+=String.fromCharCode(C>>6&63|128)),o+=String.fromCharCode(63&C|128))}return o},decode:function(r){for(var o="",e=0,C=0,n=0,t=0;e<r.length;)(C=r.charCodeAt(e))<128?(o+=String.fromCharCode(C),e++):191<C&&C<224?(n=r.charCodeAt(e+1),o+=String.fromCharCode((31&C)<<6|63&n),e+=2):(n=r.charCodeAt(e+1),t=r.charCodeAt(e+2),o+=String.fromCharCode((15&C)<<12|(63&n)<<6|63&t),e+=3);return o}};
--- a/src/pyams_skin/resources/less/apps/chat.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
- * Chat application
- */
-
-#chat-container {
-	position: absolute;
-	width: 250px;
-	height: 270px;
-	z-index: 2;
-	border-left: 1px solid #CDCECF;
-	right: -251px;
-	top: 0;
-	background: #fff;
-	transition-duration: .25s;
-	-webkit-transition-duration: .25s;
-
-	&:hover,
-	&:hover .chat-list-open-close {
-		border-color: #A7A7A7;
-	}
-	*,
-	:after,
-	:before {
-		box-sizing: content-box;
-		-moz-box-sizing: content-box;
-		-webkit-box-sizing: content-box;
-	}
-	input[type=text] {
-		box-sizing: border-box;
-		-moz-box-sizing: border-box;
-		-webkit-box-sizing: border-box;
-	}
-	&.open {
-		right: 0;
-		top: 0;
-
-		.chat-list-open-close i:before {
-			content: "\f00d"!important;
-		}
-		.chat-list-open-close b {
-			display: none;
-		}
-	}
-	.chat-list-open-close {
-		display: block;
-		width: 25px;
-		height: 25px;
-		border: 1px solid #CDCECF;
-		border-right: 1px solid #f2f4f8!important;
-		position: absolute;
-		left: -32px;
-		top: 7%;
-		border-radius: 50% 0 0 50%;
-		padding: 3px 1px 3px 5px;
-		font-size: 21px;
-		line-height: 22px;
-		cursor: pointer;
-		color: #868686;
-		-webkit-box-shadow: inset 0 .2em 0 rgba(0, 0, 0, .05);
-		box-shadow: inset 0 .2em 0 rgba(0, 0, 0, .05);
-		background: #f2f4f8;
-		text-align: center;
-
-		b {
-			position: absolute;
-			right: 0;
-			background: #ed1c24;
-			line-height: 9px;
-			height: 10px;
-			width: 10px;
-			top: 3px;
-			border: 1px solid #FFF;
-			border-radius: 3px;
-			font-size: 9px;
-			text-align: center;
-			vertical-align: middle;
-			color: #fff;
-			font-weight: 400;
-		}
-	}
-	.chat-list-body {
-		height: 217px;
-		overflow-y: scroll;
-		overflow-x: hidden;
-		display: block;
-		padding: 0;
-		box-sizing: border-box;
-		-webkit-box-sizing: border-box;
-		-moz-box-sizing: border-box;
-		background: #f2f4f8;
-	}
-	#chat-users {
-		list-style: none;
-		margin: 10px 0;
-		padding: 0;
-
-		li {
-			margin-bottom: 3px;
-			margin-left: 5px;
-
-			a {
-				display: block;
-				font-size: 13px;
-				color: #3d3d3d;
-				text-decoration: none!important;
-				box-sizing: border-box;
-				-webkit-box-sizing: border-box;
-				-moz-box-sizing: border-box;
-				padding: 3px 8px 3px 3px;
-				line-height: 33px;
-				vertical-align: middle;
-
-				&:hover {
-					background: #e0e4ee;
-				}
-				img {
-					width: 33px;
-					height: auto;
-					margin-right: 10px;
-				}
-				i {
-					color: #ACACAC;
-					font-size: 8px;
-					line-height: 34px;
-					font-style: normal;
-
-					&.last-online {
-						font-size: 12px;
-						letter-spacing: -1px;
-					}
-				}
-			}
-		}
-	}
-	.chat-list-footer {
-		overflow: hidden;
-		border-top: 1px solid #CCC;
-		padding: 10px;
-		box-sizing: border-box;
-		-webkit-box-sizing: border-box;
-		-moz-box-sizing: border-box;
-
-		input[type=text] {
-			border: 1px solid #bababa!important;
-		}
-	}
-	.control-group {
-		padding: 0;
-	}
-}
-
-.chat-body {
-	background: #FAFAFA;
-	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJod…EiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
-	background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #fafafa), color-stop(100%, #fff));
-	background: -webkit-linear-gradient(top, #fafafa 0, #fff 100%);
-	background: -webkit-gradient(linear, top left, bottom left, from(#f5fcff), to(#fff));
-	background: -webkit-linear-gradient(top, #f5fcff 0, #fff 100%);
-	background: linear-gradient(to bottom, #f5fcff 0, #fff 100%);
-	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fafafa',  endColorstr='#ffffff',  GradientType=0);
-	-webkit-box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .04);
-	box-shadow: inset 2px 2px 5px rgba(0, 0, 0, .04);
-	display: block;
-	min-height: 270px;
-	overflow-y: scroll;
-	overflow-x: hidden;
-	padding: 10px;
-	box-sizing: border-box;
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-	border: 1px solid #fff;
-	border-top: 0;
-
-	ul {
-		margin: 0;
-		padding: 0;
-	}
-	li {
-		&.message {
-			display: block;
-			position: relative;
-			padding: 10px;
-			margin: 2px;
-
-			&:hover {
-				background-color: #eee;
-			}
-			&.request,
-			&.request:hover {
-				background-color: #e4e4e4;
-			}
-			img,
-			.img {
-				display: inline-block;
-				border-left: 4px solid transparent;
-				position: absolute;
-
-				&.online {
-					border-left-color: #00a300;
-				}
-				&.offline {
-					border-left-color: #ddd;
-				}
-				&.busy {
-					border-left-color: #A90329;
-				}
-				&.away {
-					border-left-color: #ffc40d;
-				}
-			}
-			.img {
-				width: 35px;
-				padding-top: 7px;
-				text-align: center;
-			}
-			.message-text {
-				display: inline-block;
-				vertical-align: top;
-				box-sizing: border-box;
-				-webkit-box-sizing: border-box;
-				-moz-box-sizing: border-box;
-				padding: 0;
-				margin-left: 50px;
-				line-height: normal;
-
-				time {
-					font-size: 13px;
-					font-weight: normal;
-					color: #666;
-				}
-				.chat-file {
-					display: block;
-					margin: 3px 0;
-					padding: 4px;
-					border: 1px dotted #ddd;
-					background: rgba(0, 0, 0, .05);
-					border-radius: 4px;
-					text-align: right;
-					box-sizing: border-box;
-					-webkit-box-sizing: border-box;
-					-moz-box-sizing: border-box;
-
-					&:nth-child(3) {
-						margin-top: 15px;
-					}
-					&.row-fluid [class*=span] {
-						min-height: 10px!important;
-					}
-					b {
-						font-style: italic;
-						white-space: nowrap;
-						width: 250px;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						text-align: left;
-
-						@media (min-width:768px) and (max-width:880px) {
-							width: 150px;
-						}
-						@media only screen and (min-width:320px) and (max-width:479px) {
-							width: 150px;
-						}
-						@media (max-width:480px) {
-							width: 150px;
-						}
-					}
-				}
-				.username {
-					display: block;
-					font-weight: 700;
-					margin-bottom: 4px;
-					vertical-align: top;
-					line-height: 14px;
-					font-size: 14px;
-					text-decoration: none!important;
-				}
-			}
-		}
-	}
-}
-
-.chat-footer {
-	border-top: 1px solid rgba(0, 0, 0, .1);
-	background: rgba(248, 248, 248, .9);
-	padding: 0 10px 15px;
-	position: relative;
-	box-sizing: border-box;
-	-webkit-box-sizing: border-box;
-	-moz-box-sizing: border-box;
-}
-
-.profile-message {
-	background: none!important;
-	height: auto!important;
-	box-shadow: none!important;
-	-webkit-box-shadow: none!important;
-	overflow: hidden;
-
-	li.message.message-reply {
-		margin-left: 85px!important;
-		background: #F7F7F7;
-		padding: 10px;
-		margin: 3px 0 0 20px;
-
-		img {
-			width: 35px!important;
-		}
-		.message-text {
-			margin-left: 45px!important;
-		}
-	}
-	.wall-comment-reply {
-		margin-left: 85px;
-		margin-bottom: 20px;
-	}
-}
-
-.cajita img {
-	width: 23px;
-	height: 23px;
-	padding-left: 3px;
-	padding-top: 3px;
-}
-
-#pageslide {
-	display: none;
-	position: absolute;
-	position: fixed;
-	top: 0;
-	height: 100%;
-	z-index: 999999;
-	width: 305px;
-	padding: 20px;
-	background-color: #004d60;
-	color: #FFF;
-	-webkit-box-shadow: inset 0 0 5px 5px #222;
-	-moz-shadow: inset 0 0 0 0 #222;
-	box-shadow: inset 0 0 0 0 #222;
-}
-
-.purehtml {
-	color: #fff;
-	font-size: 16px;
-}
--- a/src/pyams_skin/resources/less/myams.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
- * MyAMS
- * « My Application Management Skin »
- *
- * $Tag: 0.1.38 $ (rev. 1)
- * A bootstrap based application/administration skin
- *
- * Custom administration and application skin tools
- * Released under Zope Public License ZPL 1.1
- * ©2014-2016 Thierry Florac <tflorac@ulthar.net>
- */
-
-html { /* */ }
-
-@import "colors.less";
-@import "anims.less";
-@import "icons.less";
-@import "typo.less";
-
-@import "layout.less";
-@import "messages.less";
-
-@import "menus.less";
-@import "tabs.less";
-@import "content.less";
-@import "tables.less";
-@import "forms.less";
-@import "buttons.less";
-@import "widgets.less";
-@import "ui.less";
-@import "modal.less";
-
-@import "pricing.less";
-@import "superbox.less";
-@import "tags.less";
-@import "slider.less";
-@import "graphs.less";
-
-@import "apps/chat.less";
-@import "apps/mail.less";
-@import "apps/todo.less";
-@import "apps/gis.less";
--- a/src/pyams_skin/resources/less/tabs.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,244 +0,0 @@
-/*
- * Tabs
- */
-
-.nav-tabs {
-
-	.tabs-below >&,
-	.tabs-left >&,
-	.tabs-right >& {
-		border-bottom: 0;
-	}
-	&.bordered {
-		background: #fff;
-		border: 1px solid #ddd;
-
-		>:first-child a {
-			border-left-width: 0!important;
-		}
-		+.tab-content {
-			border: 1px solid #ddd;
-			border-top: 0;
-		}
-	}
-	>li {
-		>a {
-			padding: 4px 10px;
-			border-radius: 0;
-			color: #333;
-
-			&.xsmall {
-				line-height: 1.0;
-				padding: 3px 8px;
-			}
-			.label {
-				display: inline-block;
-				font-size: 11px;
-				margin-left: 5px;
-				opacity: .5;
-			}
-			.badge {
-				font-size: 11px;
-				padding: 4px 5px 2px;
-				opacity: .5;
-				margin-left: 5px;
-				min-width: 17px;
-				font-weight: 400;
-
-				.tabs-left & {
-					margin-right: 5px;
-					margin-left: 0;
-				}
-			}
-			>.fa {
-				opacity: .5;
-			}
-		}
-	}
-	&.small {
-		>li {
-			>a {
-				padding: 2px 8px;
-				font-size: 90%;
-			}
-		}
-	}
-	&.tiny {
-		>li {
-			>a {
-				padding: 1px 6px;
-				font-size: 75%;
-			}
-		}
-	}
-	>li.active {
-		>a {
-			-webkit-box-shadow: 0 -2px 0 @activeTabBorder;
-			box-shadow: 0 -2px 0 @activeTabBorder;
-			border-top-width: 0!important;
-			margin-top: 1px!important;
-			font-weight: 700;
-
-			.badge,
-			.label,
-			>.fa {
-				opacity: 1;
-			}
-			.tabs-left & {
-				-webkit-box-shadow: -2px 0 0 @activeTabBorder;
-				box-shadow: -2px 0 0 @activeTabBorder;
-				border-top-width: 1px!important;
-				border-left: 0!important;
-				margin-left: 1px!important;
-			}
-			.tabs-right & {
-				-webkit-box-shadow: 2px 0 0 @activeTabBorder;
-				box-shadow: 2px 0 0 #57889c;
-				border-top-width: 1px!important;
-				border-right: 0!important;
-				margin-right: 1px!important;
-			}
-			.tabs-below & {
-				-webkit-box-shadow: 0 2px 0 @activeTabBorder;
-				box-shadow: 0 2px 0 @activeTabBorder;
-				border-bottom-width: 0!important;
-				border-top: 0!important;
-				margin-top: 0!important;
-			}
-		}
-	}
-}
-.tabs-left,
-.tabs-right {
-	>.nav-tabs >li,
-	>.nav-pills >li {
-		float: none;
-
-		>a {
-			min-width: 74px;
-			margin-right: 0;
-			margin-bottom: 3px;
-		}
-	}
-}
-.tabs-left {
-	.nav-pills >li.active >a {
-		border: 0!important;
-		box-shadow: none!important;
-		-webkit-box-shadow: none!important;
-	}
-	>.nav-pills,
-	>.nav-tabs {
-		float: left;
-		margin-right: 19px;
-		border-right: 1px solid #ddd;
-	}
-	>.nav-pills {
-		border-right: 0;
-	}
-	>.nav-tabs >li >a {
-		margin-right: -1px;
-	}
-	>.nav-tabs >li >a:focus,
-	>.nav-tabs >li >a:hover {
-		border-color: #eee #d5d5d5 #eee #eee;
-	}
-	>.nav-tabs .active >a,
-	>.nav-tabs .active >a:focus,
-	>.nav-tabs .active >a:hover {
-		border-color: #d5d5d5 transparent #d5d5d5 #ddd;
-		*border-right-color: #fff;
-	}
-	>.tab-content {
-		margin-left: 109px;
-	}
-}
-.tabs-right {
-	>.nav-tabs {
-		float: right;
-		margin-left: 19px;
-		border-left: 1px solid #ddd;
-
-		>li >a {
-			margin-left: -1px;
-
-			&:focus,
-			&:hover {
-				border-color: #eee #eee #eee #ddd;
-			}
-		}
-		.active {
-			>a,
-			>a:focus,
-			>a:hover {
-				border-color: #ddd #ddd #ddd transparent;
-				*border-left-color: #fff;
-			}
-		}
-	}
-}
-.tabs-pull-right {
-	&.nav-tabs,
-	&.nav-pills {
-		>li {
-			float: right;
-
-			&:first-child >a {
-				margin-right: 1px;
-			}
-		}
-	}
-	&.bordered.nav-pills,
-	&.bordered.nav-tabs {
-		>li:first-child >a {
-			border-left-width: 1px!important;
-			margin-right: 0;
-			border-right-width: 0;
-		}
-	}
-}
-.tabs-below {
-	>.nav-tabs {
-		border-top: 1px solid #ddd;
-
-		>li {
-			margin-top: -1px;
-			margin-bottom: 0;
-
-			>a:focus,
-			>a:hover {
-				border-top-color: #ddd;
-				border-bottom-color: transparent;
-			}
-		}
-		>.active >a,
-		>.active >a:focus,
-		>.active >a:hover {
-			border-color: transparent #ddd #ddd;
-		}
-	}
-}
-
-.pill-content,
-.tab-content {
-	>.pill-pane,
-	>.tab-pane {
-		display: none;
-	}
-	>.active,
-	>.active {
-		display: block;
-	}
-	&.transparent {
-		background-color: transparent;
-	}
-	&.bordered,
-	&.bordered:hover {
-		border-color: #ddd;
-		border-top: 0;
-	}
-}
-
-.ams-widget >header >.nav-tabs.pull-left >li:first-child a {
-	border-left-width: 0!important;
-}
--- a/src/pyams_skin/resources/less/ui.less	Fri Jul 03 14:40:17 2020 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1505 +0,0 @@
-
-@import "colors.less";
-
-
-/*
- * JQuery-UI for Bootstrap
- */
-
-.ui-helper {
-	&-hidden {
-		display: none;
-
-		&-accessible {
-			border: 0;
-			clip: rect(0 0 0 0);
-			height: 1px;
-			margin: -1px;
-			overflow: hidden;
-			padding: 0;
-			position: absolute;
-			width: 1px;
-		}
-	}
-	&-reset {
-		margin: 0;
-		padding: 0;
-		border: 0;
-		outline: 0;
-		line-height: 1.3;
-		text-decoration: none;
-		font-size: 100%;
-		list-style: none;
-	}
-	&-clearfix {
-		display: block;
-		min-height: 0;
-
-		&:after,
-		&:before {
-			content: "";
-			display: table;
-			border-collapse: collapse;
-		}
-		&:after {
-			content: ".";
-			display: block;
-			height: 0;
-			clear: both;
-			visibility: hidden;
-		}
-		* html & {
-			height: 1%;
-		}
-	}
-	&-zfix {
-		width: 100%;
-		height: 100%;
-		top: 0;
-		left: 0;
-		position: absolute;
-		opacity: 0;
-		filter: alpha(opacity=0);
-	}
-}
-
-.ui-front {
-	z-index: 100;
-}
-
-.ui-state-disabled {
-	cursor: default !important;
-}
-
-.ui-icon {
-	display: block;
-	width: 16px;
-	height: 16px;
-	text-indent: -99999px;
-	overflow: hidden;
-	background-repeat: no-repeat;
-}
-
-.ui-sortable {
-	overflow: auto;
-	overflow-x: hidden;
-
-	.ui-sortable-helper {
-		background-color: @grayDark;
-	}
-	.ui-sortable-placeholder {
-		visibility: visible!important;
-		background-color: @lighten;
-	}
-	.ui-sortable-handle {
-		cursor: move;
-	}
-}
-
-
-/*
- * UI widget
- */
-
-.ui-widget {
-	font-family: Ubuntu, Helvetica, Arial, sans-serif;
-	font-size: 13px;
-
-	:active {
-		outline: 0;
-	}
-	.ui-widget {
-		font-size: 13px;
-	}
-	button,
-	input,
-	select,
-	textarea {
-		font-family: Ubuntu, Helvetica, Arial, sans-serif;
-		font-size: inherit;
-	}
-	&-content {
-		border: 1px solid #aaa;
-		background: #fff;
-		color: #404040;
-
-		.ui-icon {
-			background: none!important;
-		}
-	}
-	&-header {
-		font-weight: 700;
-		background-color: #F5F5F5;
-		border-color: #DDD;
-		color: #333;
-
-		a {
-			color: #222;
-		}
-	}
-	&-overlay {
-		position: fixed;
-		background: #AAA;
-		width: 100%;
-		height: 200%;
-		top: 0;
-		left: 0;
-		z-index: 999;
-		opacity: .3;
-		filter: alpha(opacity=30);
-	}
-	&-shadow {
-		margin: -8px 0 0 -8px;
-		padding: 8px;
-		background: #aaa;
-		opacity: .3;
-		filter: alpha(opacity=30);
-		border-radius: 8px;
-	}
-}
-
-.ui-state {
-	&-default,
-	.ui-widget-content &-default,
-	.ui-widget-header &-default {
-		color: #333;
-		background-color: #fff;
-		font-weight: 400;
-		border: 1px solid #ccc;
-	}
-	&-default {
-		a,
-		a:link,
-		a:visited {
-			color: #555;
-			text-decoration: none;
-		}
-		&,
-		.ui-widget-content &,
-		.ui-widget-header & {
-			text-shadow: none;
-		}
-	}
-	&-default,
-	&-error,
-	&-highlight {
-		position: relative;
-		border-width: 1px;
-		border-style: solid;
-
-		p {
-			font-size: 13px;
-			font-weight: 400;
-			line-height: 18px;
-			margin: 7px 15px;
-		}
-	}
-	&-highlight {
-		&,
-		.ui-widget-content &,
-		.ui-widget-header & {
-			color: #3a87ad;
-			background-color: #d9edf7;
-			border-color: #bce8f1;
-		}
-		a,
-		.ui-widget-content & a,
-		.ui-widget-header & a {
-			color: #2d6987;
-		}
-	}
-	&-error {
-		&,
-		.ui-widget-content &,
-		.ui-widget-header & {
-			color: #b94a48;
-			background-color: #f2dede;
-			border-color: #eed3d7;
-		}
-		a,
-		&-text,
-		.ui-widget-content & a,
-		.ui-widget-content &-text,
-		.ui-widget-header & a,
-		.ui-widget-header &-text {
-			color: #953b39;
-		}
-	}
-	&-focus,
-	&-hover,
-	.ui-widget-content &-focus,
-	.ui-widget-content &-hover,
-	.ui-widget-header &-focus,
-	.ui-widget-header &-hover {
-		color: #333;
-		background-color: #ebebeb;
-		border-color: #adadad;
-		text-decoration: none;
-	}
-	&-hover a {
-		&:hover,
-		&:link,
-		&:visited {
-			color: #333;
-			text-decoration: none;
-		}
-	}
-	&-active {
-		.ui-widget-content &,
-		.ui-widget-header & {
-			border: 1px solid #adadad;
-			font-weight: 400;
-			color: #333;
-		}
-		a,
-		a:link,
-		a:visited {
-			color: #333;
-			text-decoration: none;
-		}
-	}
-	&-disabled,
-	.ui-widget-content &-disabled,
-	.ui-widget-header &-disabled {
-		opacity: .35;
-		filter: alpha(opacity=35);
-		background-image: none;
-
-		.ui-icon {
-			filter: alpha(opacity=35);
-		}
-	}
-}
-
-.ui-priority {
-	&-primary,
-	.ui-widget-content &-primary,
-	.ui-widget-header &-primary {
-		font-weight: 700;
-	}
-	&-secondary,
-	.ui-widget-content &-secondary,
-	.ui-widget-header &-secondary {
-		opacity: .7;
-		filter: alpha(opacity=70);
-		font-weight: 400;
-	}
-}
-
-
-.ui-corner {
-	&-all {
-		border-radius: 0;
-	}
-	&-left,
-	&-tl,
-	&-top {
-		border-top-left-radius: 4px;
-	}
-	&-right,
-	&-top,
-	&-tr {
-		border-top-right-radius: 4px;
-	}
-	&-bl,
-	&-bottom,
-	&-left {
-		border-bottom-left-radius: 4px;
-	}
-	&-bottom,
-	&-br,
-	&-right {
-		border-bottom-right-radius: 4px;
-	}
-}
-
-
-.ui-autocomplete {
-	position: absolute;
-	top: 0;
-	left: 0;
-	cursor: default;
-}
-
-.ui-autocomplete-loading {
-	input[type=color]&,
-	input[type=date]&,
-	input[type=datetime-local]&,
-	input[type=datetime]&,
-	input[type=email]&,
-	input[type=month]&,
-	input[type=number]&,
-	input[type=password]&,
-	input[type=search]&,
-	input[type=tel]&,
-	input[type=text]&,
-	input[type=time]&,
-	input[type=url]&,
-	input[type=week]& {
-		background-image: url(../img/select2-spinner.gif)!important;
-		background-repeat: no-repeat;
-		background-position: 99% 50%;
-		padding-right: 27px;
-	}
-}
-
-/*
- * UI buttons
- */
-
-.ui-btn {
-	&-lg {
-		padding: 10px 16px;
-		font-size: 18px;
-		line-height: 1.33;
-		border-radius: 6px;
-	}
-	&-sm,
-	&-xs {
-		padding: 5px 10px;
-		font-size: 12px;
-		line-height: 1.5;
-		border-radius: 3px;
-	}
-	&-xs {
-		padding: 1px 5px;
-	}
-	&-block {
-		display: block;
-		width: 100%;
-		padding-right: 0;
-		padding-left: 0;
-	}
-	&-block+&-block {
-		margin-top: 5px;
-	}
-	input[type=button]&-block,
-	input[type=reset]&-block,
-	input[type=submit]&-block {
-		width: 100%;
-	}
-}
-
-
-.ui-button {
-	display: inline-block;
-	padding: 6px 12px;
-	margin-bottom: 0;
-	font-size: 14px;
-	font-weight: 400;
-	line-height: 1.428571429;
-	text-align: center;
-	white-space: nowrap;
-	vertical-align: middle;
-	cursor: pointer;
-	border: 1px solid #ccc;
-	-webkit-user-select: none;
-	-moz-user-select: none;
-	-ms-user-select: none;
-	-o-user-select: none;
-	user-select: none;
-
-	&:focus {
-		outline: thin dotted #333;
-		outline: 5px auto -webkit-focus-ring-color;
-		outline-offset: -2px;
-	}
-	&:focus,
-	&:hover {
-		color: #333;
-		background-color: #ebebeb;
-		border-color: #adadad;
-		text-decoration: none;
-	}
-	fieldset[disabled] &,
-	fieldset[disabled] &.ui-state-active,
-	fieldset[disabled] &:active,
-	fieldset[disabled] &:focus,
-	fieldset[disabled] &:hover,
-	&.disabled,
-	&.disabled.active,
-	&.disabled:active,
-	&.disabled:focus,
-	&.disabled:hover,
-	&[disabled],
-	&[disabled].active,
-	&[disabled]:active,
-	&[disabled]:focus,
-	&[disabled]:hover {
-		background-color: #fff;
-		border-color: #ccc;
-	}
-	&-text-icon-primary &-icon-primary {
-		float: left;
-	}
-	&-text-icon-primary {
-		padding: 2px 7px 3px;
-	}
-	&-primary {
-		color: #fff;
-		background-color: #428bca;
-		border-color: #357ebd;
-	}
-	&-warning {
-		color: #fff;
-		background-color: #f0ad4e;
-		border-color: #eea236;
-	}
-	&-info {
-		color: #fff;
-		background-color: #5bc0de;
-		border-color: #46b8da;
-	}
-	&-danger {
-		color: #fff;
-		background-color: #d9534f;
-		border-color: #d43f3a;
-	}
-	&-inverse {
-		color: #fff;
-		background-color: #222;
-		border-color: #080808;
-	}
-	&-success {
-		color: #fff;
-		background-color: #5cb85c;
-		border-color: #4cae4c;
-	}
-	&-error {
-		color: #fff;
-		background-color: #c43c35;
-		border-color: #882a25;
-	}
-	&-danger:hover,
-	&-info:hover,
-	&-inverse:hover,
-	&-primary:hover,
-	&-success:hover,
-	&-warning:hover {
-		text-decoration: none;
-	}
-	&-primary:focus,
-	&-primary:hover {
-		color: #fff;
-		background-color: #3276b1;
-		border-color: #285e8e;
-	}
-	&-success:hover {
-		color: #fff;
-		background-color: #47a447;
-		border-color: #398439;
-	}
-	&-info:hover {
-		color: #fff;
-		background-color: #39b3d7;
-		border-color: #269abc;
-	}
-	&-danger:hover {
-		color: #fff;
-		background-color: #d2322d;
-		border-color: #ac2925;
-	}
-	&-warning:hover {
-		color: #fff;
-		background-color: #ed9c28;
-		border-color: #d58512;
-	}
-	&-inverse:hover {
-		color: #fff;
-		background-color: #363636;
-		border-color: #000;
-	}
-	&-icon-only {
-		width: 2.2em;
-	}
-	&-icons-only {
-		width: 3.4em;
-	}
-	button&-icons-only {
-		width: 3.7em;
-	}
-	&-text-icon-primary &-icon-primary.ui-icon {
-		margin-top: 5px;
-	}
-	& &-text {
-		display: block;
-		line-height: normal;
-	}
-	&-icon-only &-text,
-	&-icons-only &-text {
-		padding: .4em;
-		text-indent: -9999px;
-		display: none;
-	}
-	&-text-icon-primary &-text,
-	&-text-icons &-text {
-		padding: .4em 1em .4em 2.1em;
-	}
-	&-text-icon-secondary &-text,
-	&-text-icons &-text {
-		padding: .4em 2.1em .4em 1em;
-	}
-	&-text-icons &-text {
-		padding-left: 2.1em;
-		padding-right: 2.1em;
-	}
-	input& {
-		padding: .4em 1em;
-	}
-	&-icon-only .ui-icon,
-	&-icons-only .ui-icon,
-	&-text-icon-primary .ui-icon,
-	&-text-icon-secondary .ui-icon,
-	&-text-icons .ui-icon {
-		margin-bottom: 0;
-		margin-top: 0;
-		top: 50%;
-	}
-	&-icon-only .ui-icon {
-		left: 50%;
-		margin-left: -8px;
-		margin-right: -6px;
-	}
-	&-icons-only &-icon-primary,
-	&-text-icon-primary &-icon-primary,
-	&-text-icons &-icon-primary {
-		left: .5em;
-	}
-	&-icons-only &-icon-secondary,
-	&-text-icon-secondary &-icon-secondary,
-	&-text-icons &-icon-secondary {
-		right: .5em;
-	}
-	&set {
-		margin-right: 7px;
-
-		.ui-state-active {
-			color: #fff;
-			background-color: #428bca;
-			border-color: #357ebd;
-
-			&.ui-state-hover {
-				color: #fff;
-				background-color: #3276b1;
-				border-color: #285e8e;
-			}
-		}
-		.ui-button {
-			margin-left: 0;
-			margin-right: -.4em;
-		}
-	}
-	button&::-moz-focus-inner {
-		border: 0;
-		padding: 0;
-	}
-}
-
-
-/*
- * UI slider
- */
-
-.ui-slider {
-	position: relative;
-	text-align: left;
-
-	&.ui-state-disabled &-handle,
-	&.ui-state-disabled &-range {
-		-webkit-filter: inherit;
-		filter: inherit;
-	}
-	.ui-slider-handle {
-		position: absolute;
-		z-index: 2;
-		width: 16px;
-		height: 18px;
-		cursor: default;
-	}
-	.ui-slider-range {
-		position: absolute;
-		z-index: 1;
-		font-size: .7em;
-		display: block;
-		border: 0;
-		background-position: 0 0;
-		color: #fff;
-		background-color: #0e90d2;
-		background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
-		background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
-		background-image: -webkit-gradient(linear, top left, bottom left, from(#149bdf), to(#0480be));
-		background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
-		background-image: linear-gradient(to bottom, #149bdf, #0480be);
-		background-repeat: repeat-x;
-		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf',  endColorstr='#ff0480be',  GradientType=0);
-		-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-		box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
-		-webkit-box-sizing: border-box;
-		-moz-box-sizing: border-box;
-		box-sizing: border-box;
-		-webkit-transition: width .6s ease;
-		transition: width .6s ease;
-	}
-	&-horizontal {
-		height: 10px;
-		background: #D5D5D5;
-		border: 0;
-
-		.ui-slider-handle {
-			top: -.2em;
-			margin-left: -.5em;
-			background-color: #fff;
-			border-color: #CCC;
-
-			&:focus {
-				background-color: #fff;
-				border-color: #357EBD;
-			}
-			&:hover {
-				background-color: #fff;
-				border-color: #285E8E;
-				outline: 0;
-			}
-			&:active {
-				background-color: #428BCA;
-				border-color: #3276B1;
-			}
-		}
-		.ui-slider-range {
-			top: 0;
-			height: 100%;
-
-			&-min {
-				left: 0;
-			}
-			&-max {
-				right: 0;
-			}
-		}
-	}
-	&-vertical {
-		width: .8em;
-		height: 100px;
-
-		.ui-slider-handle {
-			left: -.3em;
-			margin-left: 0;
-			margin-bottom: -.6em;
-		}
-		.ui-slider-range {
-			left: 0;
-			width: 100%;
-
-			&-min {
-				bottom: 0;
-			}
-			&-max {
-				top: 0;
-			}
-		}
-	}
-}
-
-
-/*
- * UI tabs
- */
-
-.ui-tabs {
-	position: relative;
-	border: 0;
-	border-radius: 0;
-
-	.ui-tabs-panel {
-		display: block;
-		border-radius: 0;
-		background: 0 0;
-	}
-	.ui-tabs-nav {
-		margin-bottom: 0;
-		border: solid #ddd;
-		border-width: 0 0 1px;
-		border-radius: 0;
-		background: 0 0;
-
-		li {
-			position: relative;
-			top: 0;
-			float: left;
-			margin-bottom: -1px;
-			margin-right: 3px;
-			border: 0;
-			list-style: none;
-			white-space: nowrap;
-			background: 0 0;
-			-webkit-filter: none;
-			filter: none;
-
-			&.ui-tabs-active {
-				&:hover {
-					background: #fff;
-					cursor: text;
-				}
-				a {
-					border: 1px solid #ddd;
-					border-bottom: 1px solid #fff;
-					background-color: #fff;
-					color: #555;
-					font-weight: 700;
-					border-top-width: 0!important;
-					margin-top: 1px!important;
-					-webkit-box-shadow: 0 -2px 0 #57889c;
-					box-shadow: 0 -2px 0 #57889c;
-				}
-			}
-			a {
-				float: left;
-				padding: 8px 12px;
-				font-weight: 400;
-				text-decoration: none;
-				outline: 0;
-				background: 0 0;
-				border-radius: 0;
-				background-color: #F5F5F5;
-				border: 1px solid #F5F5F5;
-				border-bottom: 1px solid #ddd;
-				color: #838383;
-
-				&:hover {
-					border: 1px solid #f5f5f5;
-					border-bottom: 1px solid #ddd;
-					background-color: #f5f5f5;
-				}
-			}
-			&.ui-state-disabled a,
-			&.ui-tabs-active a,
-			&.ui-tabs-loading a {
-				cursor: text;
-			}
-		}
-		.ui-state-default {
-			border: 0;
-			-webkit-box-shadow: none;
-			box-shadow: none;
-		}
-	}
-	.ui-tabs-panel {
-		border: 1px solid #ddd;
-		margin: 0;
-		padding: 10px 13px;
-		border-top: 0;
-	}
-	.ui-tabs-hide {
-		display: none!important;
-	}
-}
-
-
-/*
- * UI tooltip
- */
-
-.ui-tooltip {
-	display: block;
-	font-size: 11px;
-	opacity: .8;
-	position: absolute;
-	visibility: visible;
-	z-index: 1024;
-	max-width: 200px;
-	background: #000;
-	border: 1px solid #000;
-	color: #FFF;
-	padding: 3px 8px;
-	text-align: center;
-	text-decoration: none;
-	-webkit-box-shadow: inset 0 1px 0 #000;
-	box-shadow: inset 0 1px 0 #000;
-	border-radius: 4px;
-
-	body & {
-		border-width: 1px;
-	}
-}
-
-
-/*
- * UI spinner
- */
-
-.ui-spinner {
-	position: relative;
-	display: inline-block;
-	overflow: hidden;
-	width: 100%;
-	padding: 0;
-	vertical-align: middle;
-
-	&-input {
-		margin: 0!important;
-		height: 30px;
-		padding: 6px 24px 6px 12px;
-		border: 0;
-		background: 0 0;
-		vertical-align: middle;
-
-		&.spinner-left {
-			padding: 6px 12px 6px 24px;
-
-			+.ui-spinner-button,
-			+.ui-spinner-button+.ui-spinner-button {
-				right: auto;
-				left: 0;
-			}
-		}
-		&.spinner-both {
-			padding: 6px 30px;
-
-			+.ui-spinner-button+.ui-spinner-button {
-				left: 0;
-				right: auto;
-			}
-			+.ui-spinner-button,
-			+.ui-spinner-button+.ui-spinner-button {
-				height: 30px;
-				width: 25px;
-			}
-			+.ui-spinner-up+.ui-spinner-down:before,
-			+.ui-spinner-up:before {
-				margin-top: 8px;
-			}
-		}
-	}
-	&-button {
-		width: 19px;
-		height: 50%;
-		font-size: .5em;
-		padding: 0;
-		margin: 0;
-		text-align: center;
-		position: absolute;
-		cursor: default;
-		display: block;
-		overflow: hidden;
-		right: 0;
-	}
-	a.ui-spinner-button {
-		border-top: 0;
-		border-bottom: 0;
-		border-right: 0;
-	}
-	.ui-icon {
-		position: absolute;
-		margin-top: -8px;
-		top: 50%;
-		left: 0;
-	}
-	&-down,
-	&-up {
-		background: #739e73;
-		border-radius: 0;
-
-		&:before {
-			display: inline-block;
-			font-family: FontAwesome;
-			font-style: normal;
-			font-weight: 400;
-			line-height: 1;
-			-webkit-font-smoothing: antialiased;
-			-moz-osx-font-smoothing: grayscale;
-			content: "\f067";
-			color: #fff;
-			font-size: 14px;
-			margin-top: 1px;
-		}
-		>:first-child {
-			display: none;
-		}
-	}
-	&-up {
-		top: 0;
-
-		&:active,
-		&:focus,
-		&:hover {
-			background: #5b835b;
-		}
-	}
-	&-down {
-		bottom: 0;
-		background: #c2032f;
-
-		&:before {
-			content: "\f068";
-		}
-		&:active,
-		&:focus,
-		&:hover {
-			background: #77021d;
-		}
-	}
-	.ui-icon-triangle-1-s {
-		background-position: -65px -16px;
-	}
-}
-
-
-/*
- * UI date picker
- */
-
-.ui-datepicker {
-	width: 20em;
-	padding: .2em .2em 0;
-	display: none;
-	z-index: 9999!important;
-
-	&-inline {
-		z-index: 9000!important;
-	}
-	&-header {
-		position: relative;
-		border: 0;
-		font-weight: 700;
-		width: 100%;
-		padding: 4px 0;
-		background-color: #f5f5f5;
-		color: gray;
-	}
-	&-next,
-	&-prev {
-		position: absolute;
-		top: 2px;
-		width: 5.6em;
-		height: 1.8em;
-		text-align: center;
-		margin-top: 2px;
-		cursor: pointer;
-
-		>:first-child {
-			text-indent: 0!important;
-		}
-		span {
-			display: block;
-			position: absolute;
-			text-align: center;
-			top: 50%;
-			margin-top: -8px;
-			width: 5.8em;
-		}
-	}
-	&-prev {
-		left: 2px;
-	}
-	&-next {
-		right: 2px;
-	}
-	&-title {
-		margin: 0 5.8em;
-		line-height: 1.8em;
-		text-align: center;
-
-		select {
-			font-size: 1em;
-			margin: 1px 0;
-		}
-	}
-	select.ui-datepicker-month-year {
-		width: 100%;
-	}
-	select.ui-datepicker-month,
-	select.ui-datepicker-year {
-		width: 49%;
-	}
-	table {
-		width: 100%;
-		font-size: .9em;
-		border-collapse: collapse;
-		margin: 0 0 .4em;
-	}
-	th {
-		padding: .7em .3em;
-		text-align: center;
-		border: 0;
-		font-weight: 700;
-		color: gray;
-	}
-	td {
-		border: 0;
-		padding: 1px;
-
-		&:hover {
-			color: #fff;
-		}
-		a {
-			margin-bottom: 0;
-			border: 0;
-		}
-		a,
-		span {
-			display: block;
-			padding: .2em;
-			text-align: right;
-			text-decoration: none;
-		}
-		.ui-state-default {
-			border: 0;
-			background: 0 0;
-			margin-bottom: 0;
-			padding: 5px;
-			color: gray;
-			text-align: center;
-			-webkit-filter: none;
-			filter: none;
-		}
-		.ui-state-highlight {
-			color: #fff;
-			background-color: #A90329;
-			text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
-			border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25);
-			border-radius: 0;
-		}
-		.ui-state-active {
-			color: #333;
-			background-color: #ebebeb;
-			margin-bottom: 0;
-			font-size: normal;
-			text-shadow: 0;
-			border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25);
-			border-radius: 0;
-		}
-		.ui-state-hover {
-			color: #fff;
-			background: #428bca;
-			background-color: #428bca;
-			text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
-			border-color: #357ebd;
-			border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25);
-			border-radius: 0;
-		}
-	}
-	&-buttonpane {
-		background-image: none;
-		margin: .7em 0 0;
-		padding: 0 .2em;
-		border-left: 0;
-		border-right: 0;
-		border-bottom: 0;
-
-		button {
-			float: right;
-			margin: .5em .2em .4em;
-			cursor: pointer;
-			padding: .2em .6em .3em;
-			width: auto;
-			overflow: visible;
-
-			&.ui-datepicker-current {
-				float: left;
-			}
-		}
-	}
-	&-multi {
-		width: auto;
-
-		.ui-datepicker-group {
-			float: left;
-		}
-		.ui-datepicker-group table {
-			width: 95%;
-			margin: 0 auto .4em;
-		}
-		&-2 .ui-datepicker-group {
-			width: 50%;
-		}
-		&-3 .ui-datepicker-group {
-			width: 33.3%;
-		}
-		&-4 .ui-datepicker-group {
-			width: 25%;
-		}
-		.ui-detepicker-group-last .ui-datepicker-header,
-		.ui-datepicket-group-middle .ui-datepicker-header {
-			border-left-width: 0;
-		}
-		.ui-datepicker-buttonpane {
-			clear: left;
-		}
-	}
-	&-row-break {
-		clear: both;
-		width: 100%;
-		font-size: 0;
-	}
-	&-rtl {
-		direction: rtl;
-
-		.ui-datepicker-prev {
-			right: 2px;
-			left: auto;
-		}
-		.ui-datepicker-next {
-			left: 2px;
-			right: auto;
-		}
-		.ui-datepicker-prev:hover {
-			right: 1px;
-			left: auto;
-		}
-		.ui-datepicker-next:hover {
-			left: 1px;
-			right: auto;
-		}
-		.ui-datepicker-buttonpane {
-			clear: right;
-		}
-		.ui-datepicker-buttonpane button {
-			float: left;
-		}
-		.ui-datepicker-buttonpane button.ui-datepicker-current,
-		.ui-datepicker-group {
-			float: right;
-		}
-		.ui-datepicker-group-last .ui-datepicker-header,
-		.ui-datepicker-group-middle .ui-datepicker-header {
-			border-right-width: 0;
-			border-left-width: 1px;
-		}
-	}
-	&-cover {
-		display: none;
-		display: block;
-		position: absolute;
-		z-index: -1;
-		-webkit-filter: mask();
-		filter: mask();
-		top: -4px;
-		left: -4px;
-		width: 200px;
-		height: 200px;
-	}
-	&-today {
-		a {
-			background-color: #BFBFBF;
-			cursor: pointer;
-			padding: 0 4px;
-			margin-bottom: 0;
-
-			&:hover {
-				background-color: gray;
-				color: #fff;
-			}
-		}
-	}
-}
-
-
-/*
- * UI progressbar
- */
-
-.ui-progressbar {
-	height: 2em;
-	margin-bottom: 20px;
-	border: 0;
-	overflow: hidden;
-	background-color: #f7f7f7;
-	background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
-	background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-	background-image: -webkit-gradient(linear, top left, bottom left, from(#f5f5f5), to(#f9f9f9));
-	background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
-	background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
-	background-repeat: repeat-x;
-	border-radius: 0;
-	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5',  endColorstr='#fff9f9f9',  GradientType=0);
-	-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-	box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
-
-	.ui-progressbar-value {
-		margin: 0;
-		height: 100%;
-		color: #fff;
-		background-color: #428BCA;
-		-webkit-box-sizing: border-box;
-		-moz-box-sizing: border-box;
-		box-sizing: border-box;
-		-webkit-transition: width .6s ease;
-		transition: width .6s ease;
-	}
-	.ui-progressbar-overlay {
-		background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255, 255, 255, .15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255, 255, 255, .15)), color-stop(.75, rgba(255, 255, 255, .15)), color-stop(.75, transparent), to(transparent));
-		background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-		background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-		background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
-		-webkit-background-size: 40px 40px;
-		background-size: 40px 40px;
-		-webkit-animation: progress-bar-stripes 2s linear infinite;
-		-ms-animation: progress-bar-stripes 2s linear infinite;
-		animation: progress-bar-stripes 2s linear infinite;
-	}
-	&-indeterminate &-value {
-		background-image: none;
-	}
-}
-
-
-/*
- * UI resizable
- */
-
-.ui-resizable {
-	position: relative;
-
-	&-handle {
-		position: absolute;
-		font-size: .1px;
-		z-index: 99999;
-		display: block;
-	}
-	&-autohide &-handle,
-	&-disabled &-handle {
-		display: none;
-	}
-	&-n {
-		cursor: n-resize;
-		height: 7px;
-		width: 100%;
-		top: -5px;
-		left: 0;
-	}
-	&-s {
-		cursor: s-resize;
-		height: 7px;
-		width: 100%;
-		bottom: -5px;
-		left: 0;
-	}
-	&-e {
-		cursor: e-resize;
-		width: 7px;
-		right: -5px;
-		top: 0;
-		height: 100%;
-	}
-	&-w {
-		cursor: w-resize;
-		width: 7px;
-		left: -5px;
-		top: 0;
-		height: 100%;
-	}
-	&-se {
-		cursor: se-resize;
-		width: 12px;
-		height: 12px;
-		right: 1px;
-		bottom: 1px;
-	}
-	&-sw {
-		cursor: sw-resize;
-		width: 9px;
-		height: 9px;
-		left: -5px;
-		bottom: -5px;
-	}
-	&-nw {
-		cursor: nw-resize;
-		width: 9px;
-		height: 9px;
-		left: -5px;
-		top: -5px;
-	}
-	&-ne {
-		cursor: ne-resize;
-		width: 9px;
-		height: 9px;
-		right: -5px;
-		top: -5px;
-	}
-}
-
-
-/*
- * UI selectable
- */
-
-.ui-selectable {
-	&-helper {
-		position: absolute;
-		z-index: 100;
-		border: 1px dotted #000;
-	}
-}
-
-
-/*
- * UI accordion
- */
-
-.ui-accordion {
-	width: 100%;
-
-	.ui-accordion-li-fix {
-		display: inline;
-	}
-	.ui-accordion-header {
-		display: block;
-		position: relative;
-		margin-top: -2px;
-		border-color: #ddd!important;
-		padding: 10px 15px 10px 36px!important;
-		cursor: pointer;
-		min-height: 0;
-		background-color: #fbfbfb;
-		border-radius: 0;
-		font-size: 15px;
-
-		&-active {
-			border-bottom: 0!important;
-		}
-	}
-	.ui-accordion-icons {
-		padding-left: 2.2em;
-	}
-	.ui-accordion-noicons {
-		padding-left: .7em;
-	}
-	.ui-accordion-icons .ui-accordion-icons {
-		padding-left: 2.2em;
-	}
-	.ui-accordion-header .ui-accordion-header-icon {
-		position: absolute;
-		left: .5em;
-		top: 50%;
-		margin-top: -8px;
-		text-indent: 0!important;
-		background-image: none!important;
-		text-align: center;
-		line-height: normal;
-		left: 12px!important;
-		margin-top: -6px!important;
-		font-size: 14px!important;
-	}
-	.ui-accordion-content {
-		margin-top: -3px;
-		border-radius: 0;
-		border-top: 0 none;
-		border-color: #ddd!important;
-		padding: 15px;
-		position: relative;
-		top: 1px;
-		margin-bottom: 2px;
-		overflow: auto;
-		display: none;
-	}
-	.ui-accordion-content-active {
-		display: block;
-	}
-	&-header-active+.ui-accordion-content {
-		border-top: 1px solid #ddd;
-	}
-}
-
-.noUi {
-	&-target * {
-		-webkit-box-sizing: border-box;
-		-moz-box-sizing: border-box;
-		box-sizing: border-box;
-		-webkit-touch-callout: none;
-		-ms-touch-action: none;
-		-webkit-user-select: none;
-		-moz-user-select: none;
-		-ms-user-select: none;
-		cursor: default;
-
-		&[disabled] {
-			.noUi-base {
-				background: #999;
-			}
-			.noUi-connect {
-				background: #BBB;
-			}
-		}
-	}
-	&-base {
-		width: 100%;
-		height: 14px;
-		position: relative;
-		max-width: 100%;
-		max-height: 100%;
-		border: 1px solid #bfbfbf;
-		z-index: 1;
-	}
-	&-origin-lower {
-		background: #72a8d7;
-	}
-	&-handle {
-		background: #858585;
-		height: 30px;
-		width: 16px;
-		border: 1px solid #fff;
-		margin: -8px 0 0 -8px;
-		cursor: default;
-
-		&:hover {
-			background: #6c6c6c;
-		}
-	}
-	&-active {
-		cursor: default;
-		-webkit-box-shadow: rgba(0, 0, 0, .1) 1px 1px 1px 0;
-		box-shadow: rgba(0, 0, 0, .1) 1px 1px 1px 0;
-		background: #686868;
-		height: 32px;
-		width: 18px;
-		margin: -9px 0 0 -8px;
-		border: 0;
-
-		&:after {
-			-webkit-box-sizing: border-box;
-			-moz-box-sizing: border-box;
-			box-sizing: border-box;
-			content: "";
-			display: block;
-			height: 100%;
-			border: 1px solid #ddd;
-		}
-	}
-	&-connect {
-		background: #3276b1;
-	}
-	&-background {
-		background: #eee;
-		border: 0;
-	}
-	&-origin {
-		position: absolute;
-		right: 0;
-		top: 0;
-		bottom: 0;
-		z-index: 0;
-
-		&-upper {
-			background: inherit!important;
-		}
-	}
-	&-z-index {
-		z-index: 10;
-	}
-	&-vertical {
-		width: 10px;
-		height: 100%;
-
-		.noUi-origin {
-			bottom: 0;
-			left: 0;
-		}
-		.noUi-handle {
-			margin: -8px 0 0 -3px;
-		}
-	}
-	&-state-tap .noUi-origin {
-		-webkit-transition: left .3s, top .3s;
-		transition: left .3s, top .3s;
-	}
-}