diff --git a/404.php b/404.php index 12bf0c8c..b4376599 100644 --- a/404.php +++ b/404.php @@ -43,7 +43,7 @@ $top_cats = get_terms([
- +
404
diff --git a/archive-resources.php b/archive-resources.php index fc37256f..6be35693 100644 --- a/archive-resources.php +++ b/archive-resources.php @@ -152,7 +152,7 @@ $has_filter = $current_orderby !== 'date' || $current_price !== 'all' || $price_ - + diff --git a/assets/admin/src/api/modules/page-display.js b/assets/admin/src/api/modules/page-display.js index 998b912e..ef29ca6e 100644 --- a/assets/admin/src/api/modules/page-display.js +++ b/assets/admin/src/api/modules/page-display.js @@ -9,22 +9,20 @@ export const pageDisplayApiMethods = { getCategoryRecommendSettings() { return this.request('/settings/category-recommend') }, saveCategoryRecommendSettings(data) { return this.request('/settings/category-recommend', { method: 'POST', body: JSON.stringify(data) }) }, - getCategories() { return this.request('/categories') }, + getCategories(taxonomy = 'category') { + const value = Array.isArray(taxonomy) ? taxonomy.join(',') : taxonomy + return this.request(`/categories?taxonomy=${encodeURIComponent(value || 'category')}`) + }, updateCategoryMeta(id, data) { return this.request(`/categories/${id}/meta`, { method: 'POST', body: JSON.stringify(data) }) }, searchUsers(search = '', number = 20) { return this.request(`/users/search?search=${encodeURIComponent(search)}&number=${number}`) }, - getBanners(kind = 'hero') { return this.request(`/banners?kind=${encodeURIComponent(kind)}`) }, + getBanners() { return this.request('/banners') }, createBanner(data) { return this.request('/banners', { method: 'POST', body: JSON.stringify(data) }) }, updateBanner(id, data) { return this.request(`/banners/${id}`, { method: 'PUT', body: JSON.stringify(data) }) }, deleteBanner(id) { return this.request(`/banners/${id}`, { method: 'DELETE' }) }, - getHeroes() { return this.getBanners('hero') }, - createHero(data) { return this.createBanner({ ...data, kind: 'hero' }) }, - updateHero(id, data) { return this.updateBanner(id, { ...data, kind: 'hero' }) }, - deleteHero(id) { return this.deleteBanner(id) }, - - getHomepageBanners() { return this.getBanners('banner') }, - createHomepageBanner(data) { return this.createBanner({ ...data, kind: 'banner' }) }, - updateHomepageBanner(id, data) { return this.updateBanner(id, { ...data, kind: 'banner' }) }, + getHomepageBanners() { return this.getBanners() }, + createHomepageBanner(data) { return this.createBanner(data) }, + updateHomepageBanner(id, data) { return this.updateBanner(id, data) }, deleteHomepageBanner(id) { return this.deleteBanner(id) }, } diff --git a/assets/admin/src/components/DeferredPage.vue b/assets/admin/src/components/DeferredPage.vue index 10f5e1d6..0bbbe289 100644 --- a/assets/admin/src/components/DeferredPage.vue +++ b/assets/admin/src/components/DeferredPage.vue @@ -25,7 +25,7 @@ :key="i" class="aksrt-deferred-page__feature" > -暂无配置项
暂无首页模块,点击"添加模块"或"应用预设"开始配置。
选择左侧模块查看和编辑配置
- 幻灯片内容在此维护。页面类型启用、设备规则、搜索覆盖层与图标卡片请到「顶部多功能组件」配置;全不选页面类型即为关闭。 -
-Logo、背景、菜单装饰、自定义代码
@@ -17,7 +17,7 @@首页模块、布局、排序和预设模板
@@ -27,7 +27,7 @@登录注册、OAuth、签到、积分
@@ -37,7 +37,7 @@导入导出、健康检查、迁移状态
@@ -66,7 +66,7 @@{{ doc.description }}
{{ tool.desc }}
暂无消息
暂无消息
换个条件试试,或清除当前筛选。
换个条件试试,或清除当前筛选。
' + _zib__('admin_home_posts_page_desc') + '
'); + } + + var posts_per_page = $('[for="posts_per_page"]:eq(0)'); + if (posts_per_page.length) { + posts_per_page + .html(posts_per_page.html().replace('博客页面至多显示', _zib__('admin_posts_per_page'))) + .parent() + .next() + .append('' + _zib__('admin_posts_per_page_desc') + '
'); + } + } + + //--------------------为后台菜单:添加说明------------------------ + var menu_edit_instructions = $('.menu-edit .drag-instructions'); + if (menu_edit_instructions.length) { + var menu_edit_desc = ''+i("admin_home_posts_page_desc")+"
")}var v=t('[for="posts_per_page"]:eq(0)');v.length&&v.html(v.html().replace("博客页面至多显示",i("admin_posts_per_page"))).parent().next().append(''+i("admin_posts_per_page_desc")+"
")}var f=t(".menu-edit .drag-instructions");if(f.length){var g='' + title + '
' + mce__('media_iframe_prompt') + '
' + val + '
'; + if (is_own(getNode)) { + suffix = ''; + val = $(getNode).find('[contenteditable="true"]').html(); + } else if (getNode.nodeName === 'P') { + var outerHTML = $.trim(getNode.outerHTML); + if (outerHTML) { + editor.dom.remove(getNode); + val = outerHTML; + } + } + editor.insertContent('[hidecontent type="' + type + '" desc="' + mce__('hide_content_prefix') + type_desc[type] + '"]
[/hidecontent]
' + val + '
'; + var getNode = editor.selection.getNode(); + if (is_own(getNode)) { + suffix = ''; + val = $(getNode).find('[contenteditable="true"]').html(); + } else if (getNode.nodeName === 'P') { + var outerHTML = $.trim(getNode.outerHTML); + if (outerHTML) { + editor.dom.remove(getNode); + val = outerHTML; + } + } + editor.insertContent('' + codenr + '' + (is_edit ? '' : ''));
+ }
+ }
+
+ function on_click() {
+ var getNode = editor.selection.getNode();
+ var getval = get_val(getNode);
+ var vals = {
+ codeyy: 'generic',
+ theme: 'qj',
+ codenr: '',
+ };
+
+ is_edit = !!getval;
+
+ open(getval || vals);
+ }
+
+ function open(vals) {
+ var w = Math.min(window.innerWidth);
+ var h = Math.min(window.innerHeight);
+ if (w > 800) {
+ w = w * 0.5;
+ } else if (w > 640 && w < 801) {
+ w = w * 0.7;
+ } else if (w < 641) {
+ w = w - 20;
+ }
+
+ var window_title = (is_edit ? mce__('precode_edit') : mce__('precode_insert')) + mce__('precode_title');
+
+ editor.windowManager.open({
+ title: window_title,
+ width: w,
+ height: h * 0.6,
+ body: [
+ {
+ type: 'listbox',
+ name: 'codeyy',
+ label: mce__('precode_select_lang'),
+ value: vals.codeyy,
+ values: [
+ {
+ text: 'yaml',
+ value: 'yaml',
+ },
+ {
+ text: 'xml/html',
+ value: 'xml',
+ },
+ {
+ text: 'visualbasic',
+ value: 'visualbasic',
+ },
+ {
+ text: 'vhdl',
+ value: 'vhdl',
+ },
+ {
+ text: 'typescript',
+ value: 'typescript',
+ },
+ {
+ text: 'swift',
+ value: 'swift',
+ },
+ {
+ text: 'squirrel',
+ value: 'squirrel',
+ },
+ {
+ text: 'sql',
+ value: 'sql',
+ },
+ {
+ text: 'shell',
+ value: 'shell',
+ },
+ {
+ text: 'scss/sass',
+ value: 'scss',
+ },
+ {
+ text: 'rust',
+ value: 'rust',
+ },
+ {
+ text: 'ruby',
+ value: 'ruby',
+ },
+ {
+ text: 'raw',
+ value: 'raw',
+ },
+ {
+ text: 'python',
+ value: 'python',
+ },
+ {
+ text: 'prolog',
+ value: 'prolog',
+ },
+ {
+ text: 'powershell',
+ value: 'powershell',
+ },
+ {
+ text: 'php',
+ value: 'php',
+ },
+ {
+ text: 'nsis',
+ value: 'nsis',
+ },
+ {
+ text: 'matlab',
+ value: 'matlab',
+ },
+ {
+ text: 'markdown',
+ value: 'markdown',
+ },
+ {
+ text: 'lua',
+ value: 'lua',
+ },
+ {
+ text: 'less',
+ value: 'less',
+ },
+ {
+ text: 'kotlin',
+ value: 'kotlin',
+ },
+ {
+ text: 'json',
+ value: 'json',
+ },
+ {
+ text: 'javascript',
+ value: 'javascript',
+ },
+ {
+ text: 'java',
+ value: 'java',
+ },
+ {
+ text: 'ini/conf',
+ value: 'ini',
+ },
+ {
+ text: 'groovy',
+ value: 'groovy',
+ },
+ {
+ text: 'go/golang',
+ value: 'go',
+ },
+ {
+ text: 'docker',
+ value: 'dockerfile',
+ },
+ {
+ text: 'diff',
+ value: 'diff',
+ },
+ {
+ text: 'cordpro',
+ value: 'cordpro',
+ },
+ {
+ text: 'cython',
+ value: 'cython',
+ },
+ {
+ text: 'css',
+ value: 'css',
+ },
+ {
+ text: 'csharp',
+ value: 'csharp',
+ },
+ {
+ text: 'Cpp/C++/C',
+ value: 'cpp',
+ },
+ {
+ text: 'avrassembly',
+ value: 'avrassembly',
+ },
+ {
+ text: 'assembly',
+ value: 'assembly',
+ },
+ {
+ text: mce__('precode_general'),
+ value: 'generic',
+ },
+ ],
+ },
+ {
+ type: 'listbox',
+ name: 'theme',
+ label: mce__('precode_theme'),
+ value: vals.theme,
+ values: [
+ {
+ text: 'enlighter',
+ value: 'enlighter',
+ },
+ {
+ text: 'classic',
+ value: 'classic',
+ },
+ {
+ text: 'beyond',
+ value: 'beyond',
+ },
+ {
+ text: 'mowtwo',
+ value: 'mowtwo',
+ },
+ {
+ text: 'eclipse',
+ value: 'eclipse',
+ },
+ {
+ text: 'droide',
+ value: 'droide',
+ },
+ {
+ text: 'minimal',
+ value: 'minimal',
+ },
+ {
+ text: 'atomic',
+ value: 'atomic',
+ },
+ {
+ text: 'dracula',
+ value: 'dracula',
+ },
+ {
+ text: 'bootstrap4',
+ value: 'bootstrap4',
+ },
+ {
+ text: 'rowhammer',
+ value: 'rowhammer',
+ },
+ {
+ text: 'godzilla',
+ value: 'godzilla',
+ },
+ {
+ text: mce__('precode_follow_global'),
+ value: 'qj',
+ },
+ ],
+ },
+ {
+ type: 'textbox',
+ name: 'codenr',
+ label: mce__('precode_code_label'),
+ value: vals.codenr,
+ multiline: true,
+ minHeight: h * 0.6 - 115,
+ },
+ ],
+ onsubmit: on_submit,
+ });
+ }
+
+ $.each(['precode', 'precode_edit'], function (i, k) {
+ editor.addButton(k, {
+ title: (k === 'precode' ? '' : mce__('precode_edit')) + mce__('precode_title'), //标题自拟
+ icon: 'c-svg zib-precode',
+ onPostRender: function () {
+ $('.mce-i-c-svg.zib-precode').replaceWith('');
+ },
+ stateSelector: 'pre',
+ onclick: on_click,
+ });
+ });
+ });
+
+ //判断是否是移动端
+ function is_mobile() {
+ return /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent);
+ }
+})(jQuery, window);
diff --git a/assets/vendor/zibll/js/editextend.min.js b/assets/vendor/zibll/js/editextend.min.js
new file mode 100644
index 00000000..5587b6fd
--- /dev/null
+++ b/assets/vendor/zibll/js/editextend.min.js
@@ -0,0 +1,2 @@
+(function(e,t){function i(e){var i=t.mce&&t.mce.i18n;return i&&Object.prototype.hasOwnProperty.call(i,e)?i[e]:e}function a(e){var t=Array.prototype.slice.call(arguments,1),a=i(e),n=0;return a.replace(/%(\d+\$)?s/g,function(e,i){var a=i?parseInt(i,10)-1:n++;return void 0!==t[a]&&null!==t[a]?t[a]:e})}function n(){return/Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)}tbquire=t.tbquire||function(){};var o=t.zib=t.zib||{},l=t._win=t._win||{};o.ajax_url=o.ajax_url||l.ajax_url,o.user_upload_nonce=o.user_upload_nonce||l.user_upload_nonce,o.is_split_upload=o.is_split_upload||l.is_split_upload||0,o.split_minimum_size=o.split_minimum_size||l.split_minimum_size||10,l.is_split_upload&&tbquire(["spark-md5"]),o.media=function(n){function s(e){var t={image:"image/gif,image/jpeg,image/jpg,image/png,image/bmp",video:"video/*",audio:"audio/*",file:"*"};return t[e]}function d(e,t){if(e.msg){var i=e.ys?e.ys:e.error?"danger":"";t.notify(e.msg,i)}}function r(e,t){var n=a("media_ajax_error",e.status,e.statusText);e.responseText&&e.responseText.indexOf("致命错误")>-1&&(n=i("media_fatal_error")),console.error("ajax请求错误,错误信息如下:",e),t.notify(n,"danger")}function c(t){return c.onprogress=t,function(){var t=e.ajaxSettings.xhr();return t.upload&&(t.upload.onprogress=c.onprogress),t}}function u(e){e.addClass("notyn-out");var i=e.data("notice_this_id");setTimeout(function(){e.remove(),t.notice_ing[i]=!1},3e3)}this.file_data={},this.upload_ing={},this.new_upload=[],this.active_lists=[],this.input_lists=[],this.option=e.extend({iframe:!0,search:!0,is_upload:!1,is_input:!0,upload_multiple:!1,upload_size:30,upload_ext:"",multiple:0,text:{},is_split_upload:!1,split_minimum_size:20,split_chunk_size:2,is_breakpoint:!0},n),this.type_names={image:i("media_type_image"),video:i("media_type_video"),audio:i("media_type_audio"),file:i("media_type_file")},this.type=this.option.type||"image",this.type_name=this.type_names[this.type],this.refresh_lists=!0,this.ajax_url=o.ajax_url,this.upload_nonce=o.user_upload_nonce,this.upload_action="user_upload",this.split_upload_action="user_split_upload",this.split_upload_merge_action="user_split_upload_merge",this.split_uploaded_chunk_action="user_split_uploaded_chunk",void 0!==o.is_split_upload&&(this.option.is_split_upload=o.is_split_upload),o.split_minimum_size>=4&&(this.option.split_minimum_size=~~o.split_minimum_size);var p="upload_ing";return this.init=function(){this.initDOM()},this.getMy=function(){var e=this.option;if(e.is_upload){var t=e.text.upload_title||a("media_upload_title_max",e.upload_size)+(e.upload_multiple>1?a("media_upload_title_batch",e.upload_multiple):"")+i("media_upload_title_drag"),n=e.search?''+t+'
'+i("media_iframe_prompt")+'
"+s+"
",n(l))d="",s=e(l).find('[contenteditable="true"]').html();else if("P"===l.nodeName){var r=e.trim(l.outerHTML);r&&(t.dom.remove(l),s=r)}t.insertContent('[hidecontent type="'+a+'" desc="'+i("hide_content_prefix")+o[a]+'"]
[/hidecontent]
"+i+"
";var l=a.selection.getNode();if(o(l))n="",i=e(l).find('[contenteditable="true"]').html();else if("P"===l.nodeName){var s=e.trim(l.outerHTML);s&&(a.dom.remove(l),i=s)}a.insertContent('"+i+""+(v?"":""))}function u(){var e=a.selection.getNode(),t=r(e),i={codeyy:"generic",theme:"qj",codenr:""};v=!!t,p(t||i)}function p(e){var n=Math.min(t.innerWidth),o=Math.min(t.innerHeight);n>800?n*=.5:n>640&&n<801?n*=.7:n<641&&(n-=20);var l=i(v?"precode_edit":"precode_insert")+i("precode_title");a.windowManager.open({title:l,width:n,height:.6*o,body:[{type:"listbox",name:"codeyy",label:i("precode_select_lang"),value:e.codeyy,values:[{text:"yaml",value:"yaml"},{text:"xml/html",value:"xml"},{text:"visualbasic",value:"visualbasic"},{text:"vhdl",value:"vhdl"},{text:"typescript",value:"typescript"},{text:"swift",value:"swift"},{text:"squirrel",value:"squirrel"},{text:"sql",value:"sql"},{text:"shell",value:"shell"},{text:"scss/sass",value:"scss"},{text:"rust",value:"rust"},{text:"ruby",value:"ruby"},{text:"raw",value:"raw"},{text:"python",value:"python"},{text:"prolog",value:"prolog"},{text:"powershell",value:"powershell"},{text:"php",value:"php"},{text:"nsis",value:"nsis"},{text:"matlab",value:"matlab"},{text:"markdown",value:"markdown"},{text:"lua",value:"lua"},{text:"less",value:"less"},{text:"kotlin",value:"kotlin"},{text:"json",value:"json"},{text:"javascript",value:"javascript"},{text:"java",value:"java"},{text:"ini/conf",value:"ini"},{text:"groovy",value:"groovy"},{text:"go/golang",value:"go"},{text:"docker",value:"dockerfile"},{text:"diff",value:"diff"},{text:"cordpro",value:"cordpro"},{text:"cython",value:"cython"},{text:"css",value:"css"},{text:"csharp",value:"csharp"},{text:"Cpp/C++/C",value:"cpp"},{text:"avrassembly",value:"avrassembly"},{text:"assembly",value:"assembly"},{text:i("precode_general"),value:"generic"}]},{type:"listbox",name:"theme",label:i("precode_theme"),value:e.theme,values:[{text:"enlighter",value:"enlighter"},{text:"classic",value:"classic"},{text:"beyond",value:"beyond"},{text:"mowtwo",value:"mowtwo"},{text:"eclipse",value:"eclipse"},{text:"droide",value:"droide"},{text:"minimal",value:"minimal"},{text:"atomic",value:"atomic"},{text:"dracula",value:"dracula"},{text:"bootstrap4",value:"bootstrap4"},{text:"rowhammer",value:"rowhammer"},{text:"godzilla",value:"godzilla"},{text:i("precode_follow_global"),value:"qj"}]},{type:"textbox",name:"codenr",label:i("precode_code_label"),value:e.codenr,multiline:!0,minHeight:.6*o-115}],onsubmit:c})}mce.float_toolbar&&a.on("wptoolbar",function(e){if(n(e)){var t=o(e,a.selection.getContent());t&&(e.toolbar=t)}}),a.addButton("zib_h2",{title:"Heading 2",icon:"c-svg heading2",stateSelector:"h2",onclick:function(){l("h2")},onPostRender:function(){e(".mce-i-c-svg.heading2").replaceWith('')}}),a.addButton("zib_h3",{title:"Heading 3",icon:"c-svg heading3",stateSelector:"h3",onclick:function(){l("h3")},onPostRender:function(){e(".mce-i-c-svg.heading3").replaceWith('')}}),a.addButton("dom_remove",{tooltip:"Remove",icon:"dashicon dashicons-no-alt",onclick:function(){s(a.selection.getNode())}});var m,v=!1;a.on("wptoolbar",function(e){d(e.element)&&(e.toolbar=m)}),a.once("preinit",function(){a.wp&&a.wp._createToolbar&&(m=a.wp._createToolbar(["precode_edit","dom_remove"],!0))}),e.each(["precode","precode_edit"],function(t,n){a.addButton(n,{title:("precode"===n?"":i("precode_edit"))+i("precode_title"),icon:"c-svg zib-precode",onPostRender:function(){e(".mce-i-c-svg.zib-precode").replaceWith('')},stateSelector:"pre",onclick:u})})})})(jQuery,window);
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.atomic.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.atomic.min.css
new file mode 100644
index 00000000..bb48732a
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.atomic.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-atomic{font-family:Inconsolata,Consolas,"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;background-color:#272b33;font-size:12px;color:#939393}.enlighter-t-atomic .enlighter-toolbar{top:10px;right:10px}.enlighter-t-atomic .enlighter-btn{font-family:"Open Sans",Arial,Verdana,sans-serif;background-image:none;background-color:transparent;color:#939393;font-size:14px;padding:2px 8px 2px 8px;margin:0 5px 0 5px;border:solid 1px #383e49;border-radius:4px;background-color:#13151a}.enlighter-t-atomic .enlighter-btn:hover{background-color:#121518;color:#f0f0f0}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-raw{background-image:none}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-raw:after{content:'Raw'}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-copy{background-image:none}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-copy:after{content:'Copy'}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-window{background-image:none}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-window:after{content:'Extern'}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-website{background-image:none}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-website:after{content:'EnlighterJS'}.enlighter-t-atomic .enlighter-raw{font-size:17px;color:#cfd5e0;background-color:#272b33;line-height:22px;padding:4px 5px 4px 54px}.enlighter-t-atomic div.enlighter>div{padding:1px 5px 1px 14px;line-height:19px;color:#596174;background-color:#272b33}.enlighter-t-atomic div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-atomic div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-atomic div.enlighter>div:AFTER{content:' '}.enlighter-t-atomic div.enlighter>div.enlighter-special{background-color:#392d3b}.enlighter-t-atomic.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;font-size:15px}.enlighter-t-atomic.enlighter-hover div.enlighter>div:hover{background-color:#2e353e}.enlighter-t-atomic .enlighter span{font-size:17px}.enlighter-t-atomic .enlighter-text{color:#cfd5e0}.enlighter-t-atomic .enlighter-c0{color:#6b7c8b}.enlighter-t-atomic .enlighter-c1{color:#6b7c8b}.enlighter-t-atomic .enlighter-c2{color:#6b7c8b}.enlighter-t-atomic .enlighter-c9{color:#5b7c9c}.enlighter-t-atomic .enlighter-k0{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k2{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-k3{color:#4284ae}.enlighter-t-atomic .enlighter-k4{color:#4284ae;font-weight:700}.enlighter-t-atomic .enlighter-k5{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k6{color:#d171dd;font-style:italic}.enlighter-t-atomic .enlighter-k7{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k8{color:#4284ae}.enlighter-t-atomic .enlighter-k9{color:#fff}.enlighter-t-atomic .enlighter-k10{color:#4284ae;font-style:italic}.enlighter-t-atomic .enlighter-e0{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-e1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-e2{color:#d19252}.enlighter-t-atomic .enlighter-e3{color:#ae42a0}.enlighter-t-atomic .enlighter-e4{color:#d2901d;font-style:italic}.enlighter-t-atomic .enlighter-s0{color:#7cc379}.enlighter-t-atomic .enlighter-s1{color:#7cc379}.enlighter-t-atomic .enlighter-s2{color:#7cc379}.enlighter-t-atomic .enlighter-s3{color:#7cc379}.enlighter-t-atomic .enlighter-s4{color:#7cc379;font-weight:700}.enlighter-t-atomic .enlighter-s5{color:#5e860f;font-style:italic}.enlighter-t-atomic .enlighter-n0{color:#d19a66}.enlighter-t-atomic .enlighter-n1{color:#d19a66}.enlighter-t-atomic .enlighter-n2{color:#d19a66}.enlighter-t-atomic .enlighter-n3{color:#d19a66}.enlighter-t-atomic .enlighter-n4{color:#d19a66}.enlighter-t-atomic .enlighter-n5{color:#d19a66}.enlighter-t-atomic .enlighter-m0{color:#4284ae}.enlighter-t-atomic .enlighter-m1{color:#4284ae}.enlighter-t-atomic .enlighter-m2{color:#4284ae}.enlighter-t-atomic .enlighter-m3{color:#4284ae}.enlighter-t-atomic .enlighter-g0{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-g1{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-t0{color:#6b7c8b}.enlighter-t-atomic .enlighter-t1{color:#9b0d5c;font-weight:700}.enlighter-t-atomic .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-atomic .enlighter-t3{color:#d171dd}.enlighter-t-atomic .enlighter-t4{color:#4284ae}.enlighter-t-atomic .enlighter-t5{color:#4284ae}.enlighter-t-atomic .enlighter-t6{color:#9b0d5c}.enlighter-t-atomic .enlighter-t7{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-t8{color:#6b7c8b}.enlighter-t-atomic .enlighter-x1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x2{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-x10{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x11{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x12{color:#d171dd;text-decoration:underline}.enlighter-t-atomic .enlighter-x13{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-x14{color:#d19a66;font-style:italic}.enlighter-t-atomic .enlighter-x15{color:#9b0d5c;font-style:italic}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-switch{padding:5px 5px 0 45px;background-color:#121518}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{padding:2px 8px 0 8px;border:none;background-color:transparent;line-height:25px;font-weight:700;color:#f0f0f0;border-radius:5px 5px 0 0;text-transform:lowercase}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#272b33}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.beyond.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.beyond.min.css
new file mode 100644
index 00000000..cd412a58
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.beyond.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-beyond{color:#333;background-color:#f7f7fa;border-radius:5px;border:solid 2px #e2e2e8;padding:10px 10px 10px 5px}.enlighter-t-beyond .enlighter-btn{border-radius:3px;background-color:#fff;color:#717171;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;width:23px;height:23px;background-position:0 0;background-size:contain;font-family:"Open Sans",Arial,Verdana,sans-serif}.enlighter-t-beyond .enlighter-btn:hover{border-color:#c9c9c9}.enlighter-t-beyond .enlighter-btn:after{content:''}.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover{color:#444;background-color:#fff}.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover.enlighter-special{background-color:#fffcd3;border:solid 0 #fff;color:#444}.enlighter-t-beyond .enlighter-raw{background-color:#f7f7fa;font-size:13px;color:#333;padding:10px 15px 10px 59px;line-height:20px}.enlighter-t-beyond div.enlighter>div{border:solid 0 #fff;padding:1px 5px 1px 10px;line-height:18px;color:#aaa;background-color:#f7f7fa}.enlighter-t-beyond div.enlighter>div:FIRST-CHILD{border-radius:8px 8px 0 0}.enlighter-t-beyond div.enlighter>div:LAST-CHILD{border-radius:0 0 8px 8px}.enlighter-t-beyond div.enlighter>div:AFTER{content:' '}.enlighter-t-beyond div.enlighter>div.enlighter-special{background-color:#fff}.enlighter-t-beyond.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;font-size:11px}.enlighter-t-beyond.enlighter-linenumbers div.enlighter>div:FIRST-CHILD::before{border-radius:0 8px 0 0}.enlighter-t-beyond.enlighter-linenumbers div.enlighter>div:LAST-CHILD::before{border-radius:0 0 8px 0}.enlighter-t-beyond .enlighter span{font-size:13px}.enlighter-t-beyond .enlighter-text{color:#2f3235}.enlighter-t-beyond .enlighter-c0{color:#8181a1}.enlighter-t-beyond .enlighter-c1{color:#8181a1}.enlighter-t-beyond .enlighter-c2{color:#8181a1}.enlighter-t-beyond .enlighter-c9{color:#8181a1}.enlighter-t-beyond .enlighter-k0{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k1{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k2{color:#458;font-weight:700}.enlighter-t-beyond .enlighter-k3{color:#4da0d2;background-color:#f0f0f0}.enlighter-t-beyond .enlighter-k4{color:#4a9141;font-weight:700}.enlighter-t-beyond .enlighter-k5{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k6{color:#286491;font-style:italic}.enlighter-t-beyond .enlighter-k7{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k8{color:#4da0d2}.enlighter-t-beyond .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-beyond .enlighter-k10{color:#4a9141;font-style:italic}.enlighter-t-beyond .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-beyond .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-beyond .enlighter-e2{color:#009926}.enlighter-t-beyond .enlighter-e3{color:#286491}.enlighter-t-beyond .enlighter-e4{color:#049595;font-style:italic}.enlighter-t-beyond .enlighter-s0{color:#d14}.enlighter-t-beyond .enlighter-s1{color:#d14}.enlighter-t-beyond .enlighter-s2{color:#d14}.enlighter-t-beyond .enlighter-s3{color:#737383}.enlighter-t-beyond .enlighter-s4{color:#049595;font-weight:700}.enlighter-t-beyond .enlighter-s5{color:#d14;font-style:italic}.enlighter-t-beyond .enlighter-n0{color:#099}.enlighter-t-beyond .enlighter-n1{color:#099}.enlighter-t-beyond .enlighter-n2{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n3{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n4{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-beyond .enlighter-m0{color:#0086b3}.enlighter-t-beyond .enlighter-m1{color:#0086b3}.enlighter-t-beyond .enlighter-m2{color:#0086b3}.enlighter-t-beyond .enlighter-m3{color:#0086b3}.enlighter-t-beyond .enlighter-g0{color:#777}.enlighter-t-beyond .enlighter-g1{color:#777}.enlighter-t-beyond .enlighter-t0{color:#777}.enlighter-t-beyond .enlighter-t1{color:#d14;font-weight:700}.enlighter-t-beyond .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-beyond .enlighter-t3{color:#0086b3}.enlighter-t-beyond .enlighter-t4{color:#009926}.enlighter-t-beyond .enlighter-t5{color:#009926}.enlighter-t-beyond .enlighter-t6{color:#d14}.enlighter-t-beyond .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-beyond .enlighter-t8{color:#777;background-color:#f0f0f0;font-style:italic}.enlighter-t-beyond .enlighter-x1{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-x2{color:#4da0d2}.enlighter-t-beyond .enlighter-x10{color:#000;font-weight:700}.enlighter-t-beyond .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-beyond .enlighter-x13{color:#0086b3}.enlighter-t-beyond .enlighter-x14{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-beyond.enlighter-v-inline{border-radius:3px;background-color:#f7f7fa;border:dotted 1px #e2e2e8;padding:0}.enlighter-t-beyond.enlighter-v-codegroup{padding:0;border:none}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-wrapper{background-color:#f7f7fa;border-radius:5px;border:solid 2px #e2e2e8;padding:10px 10px 10px 5px}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#fff;padding:0 0 0 45px}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{border:solid 2px #e2e2e8;border-radius:5px 5px 0 0;font-size:12px;color:#286491;font-weight:700;background-color:#fff;border-bottom:none;padding:3px 10px 3px 10px;width:auto}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#e2e2e8;border-color:#d8d8dd;color:#505050;font-weight:700}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.bootstrap4.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.bootstrap4.min.css
new file mode 100644
index 00000000..a7188ddb
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.bootstrap4.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-bootstrap4{font-size:10px;color:#212529;background-color:#f8f9fa;padding:25px 25px 25px 25px}.enlighter-t-bootstrap4 .enlighter-toolbar{top:10px;right:10px}.enlighter-t-bootstrap4 .enlighter-btn{background-image:none;background-color:transparent;color:#818a91;font-size:12px;padding:2px 8px 2px 8px;margin:0 5px 0 5px;border:none;border-radius:4px;font-family:"Open Sans",Arial,Verdana,sans-serif}.enlighter-t-bootstrap4 .enlighter-btn:hover{background-color:#007bff;color:#f0f0f0}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-raw{background-image:none}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-raw:after{content:'Raw'}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-copy{background-image:none}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-copy:after{content:'Copy'}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-window{background-image:none}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-window:after{content:'Extern'}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-website{background-image:none}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-website:after{content:'EnlighterJS'}.enlighter-t-bootstrap4.enlighter-hover div.enlighter>div:hover{background-color:#eceef0}.enlighter-t-bootstrap4 .enlighter-raw{font-size:14px;color:#212529;background-color:#f8f9fa;line-height:20px;padding:28px 25px 30px 79px}.enlighter-t-bootstrap4 div.enlighter>div{padding:1px 5px 1px 14px;line-height:16px;color:#999;background-color:transparent}.enlighter-t-bootstrap4 div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-bootstrap4 div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-bootstrap4 div.enlighter>div:AFTER{content:' '}.enlighter-t-bootstrap4 div.enlighter>div.enlighter-special{background-color:#eceef0}.enlighter-t-bootstrap4.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 0}.enlighter-t-bootstrap4 .enlighter span{font-size:14px}.enlighter-t-bootstrap4 .enlighter-text{color:#212529}.enlighter-t-bootstrap4 .enlighter-c0{color:#999}.enlighter-t-bootstrap4 .enlighter-c1{color:#999}.enlighter-t-bootstrap4 .enlighter-c2{color:#999}.enlighter-t-bootstrap4 .enlighter-c9{color:#999}.enlighter-t-bootstrap4 .enlighter-k0{color:#069}.enlighter-t-bootstrap4 .enlighter-k1{color:#069}.enlighter-t-bootstrap4 .enlighter-k2{color:#069}.enlighter-t-bootstrap4 .enlighter-k3{color:#069}.enlighter-t-bootstrap4 .enlighter-k4{color:#069;font-style:italic}.enlighter-t-bootstrap4 .enlighter-k5{color:#212529}.enlighter-t-bootstrap4 .enlighter-k6{color:#069}.enlighter-t-bootstrap4 .enlighter-k7{color:#069;border-bottom:dotted 1px #069}.enlighter-t-bootstrap4 .enlighter-k8{color:#212529}.enlighter-t-bootstrap4 .enlighter-k9{color:#069}.enlighter-t-bootstrap4 .enlighter-k10{color:#212529}.enlighter-t-bootstrap4 .enlighter-e0{color:#069}.enlighter-t-bootstrap4 .enlighter-e1{color:#069}.enlighter-t-bootstrap4 .enlighter-e2{color:#009926}.enlighter-t-bootstrap4 .enlighter-e3{color:#069}.enlighter-t-bootstrap4 .enlighter-e4{color:#069}.enlighter-t-bootstrap4 .enlighter-s0{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s1{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s2{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s3{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s4{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s5{color:#d44950}.enlighter-t-bootstrap4 .enlighter-n0{color:#f60}.enlighter-t-bootstrap4 .enlighter-n1{color:#f60}.enlighter-t-bootstrap4 .enlighter-n2{color:#f60}.enlighter-t-bootstrap4 .enlighter-n3{color:#f60}.enlighter-t-bootstrap4 .enlighter-n4{color:#f60}.enlighter-t-bootstrap4 .enlighter-n5{color:#f60}.enlighter-t-bootstrap4 .enlighter-m0{color:#99f}.enlighter-t-bootstrap4 .enlighter-m1{color:#212529}.enlighter-t-bootstrap4 .enlighter-m2{color:#212529}.enlighter-t-bootstrap4 .enlighter-m3{color:#212529}.enlighter-t-bootstrap4 .enlighter-g0{color:#2f6f9f}.enlighter-t-bootstrap4 .enlighter-g1{color:#999;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t0{color:#999}.enlighter-t-bootstrap4 .enlighter-t1{color:#d44950;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t2{color:#d44950;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t3{color:#0086b3}.enlighter-t-bootstrap4 .enlighter-t4{color:#0a8}.enlighter-t-bootstrap4 .enlighter-t5{color:#0a8}.enlighter-t-bootstrap4 .enlighter-t6{color:#f60}.enlighter-t-bootstrap4 .enlighter-t7{color:#999;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t8{color:#999}.enlighter-t-bootstrap4 .enlighter-x1{color:#2f6f9f}.enlighter-t-bootstrap4 .enlighter-x2{color:#4f9fcf}.enlighter-t-bootstrap4 .enlighter-x10{color:#0a8}.enlighter-t-bootstrap4 .enlighter-x11{color:#0a8}.enlighter-t-bootstrap4 .enlighter-x12{color:#99f}.enlighter-t-bootstrap4 .enlighter-x13{color:#f60}.enlighter-t-bootstrap4 .enlighter-x14{color:#f60}.enlighter-t-bootstrap4 .enlighter-x15{color:#f60}.enlighter-t-bootstrap4.enlighter-v-inline{background-color:#f8f9fa;border:none;border-radius:5px;padding:3px}.enlighter-t-bootstrap4.enlighter-v-codegroup .enlighter-codegroup-switch{border:solid 3px #f8f9fa;border-bottom-width:0;padding:15px}.enlighter-t-bootstrap4.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{padding:3px 10px 3px 10px;border:none;font-size:11px;color:#212529;font-weight:700;background-color:#f8f9fa;border-radius:5px}.enlighter-t-bootstrap4.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#007bff;color:#f0f0f0}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.classic.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.classic.min.css
new file mode 100644
index 00000000..dff2f281
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.classic.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-classic{background-color:#fff;border:1px solid #e8e8e2}.enlighter-t-classic .enlighter-btn{background-color:#fff;color:#717171;font-size:12px;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;background-position:0 0;background-size:contain;font-family:"Open Sans",Arial,Verdana,sans-serif}.enlighter-t-classic .enlighter-btn:hover{border-color:#c9c9c9}.enlighter-t-classic .enlighter-btn:after{content:''}.enlighter-t-classic.enlighter-hover div.enlighter>div:hover{background-color:#ddf0dd}.enlighter-t-classic .enlighter-raw{font-size:15px;color:#000;line-height:22px;padding:4px 5px 4px 58px}.enlighter-t-classic div.enlighter{line-height:20px}.enlighter-t-classic div.enlighter>div{padding:1px 5px 1px 14px;line-height:20px;color:#aaa}.enlighter-t-classic div.enlighter>div>div{border-left:solid 4px #52ce52}.enlighter-t-classic div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-classic div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-classic div.enlighter>div:AFTER{content:' '}.enlighter-t-classic div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-classic div.enlighter>div:nth-child(even){background-color:#f8f8f8}.enlighter-t-classic.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;color:#000;background-color:#f8f8f8;font-size:14px;width:55px;min-width:55px}.enlighter-t-classic .enlighter li.enlighter-special{background-color:#edf9ec;border-left-color:#3fa03f}.enlighter-t-classic .enlighter span{font-size:15px}.enlighter-t-classic .enlighter-text{color:#000}.enlighter-t-classic .enlighter-c0{color:#888}.enlighter-t-classic .enlighter-c1{color:#888}.enlighter-t-classic .enlighter-c2{color:#888}.enlighter-t-classic .enlighter-c9{color:#888}.enlighter-t-classic .enlighter-k0{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k1{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k2{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k3{color:#404247;background-color:#f0f0f0}.enlighter-t-classic .enlighter-k4{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k5{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k6{color:#066da1;font-style:italic}.enlighter-t-classic .enlighter-k7{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k8{color:#404247}.enlighter-t-classic .enlighter-k9{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-k10{color:#404247;font-style:italic}.enlighter-t-classic .enlighter-e0{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-e1{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-e2{color:#009926}.enlighter-t-classic .enlighter-e3{color:#d53aa9}.enlighter-t-classic .enlighter-e4{color:#d53aa9;font-style:italic}.enlighter-t-classic .enlighter-s0{color:#2d47e6}.enlighter-t-classic .enlighter-s1{color:#2d47e6}.enlighter-t-classic .enlighter-s2{color:#2d47e6}.enlighter-t-classic .enlighter-s3{color:#2d47e6}.enlighter-t-classic .enlighter-s4{color:#2d47e6;font-weight:700}.enlighter-t-classic .enlighter-s5{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-n0{color:#d53aa9}.enlighter-t-classic .enlighter-n1{color:#d53aa9}.enlighter-t-classic .enlighter-n2{color:#d53aa9}.enlighter-t-classic .enlighter-n3{color:#d53aa9}.enlighter-t-classic .enlighter-n4{color:#d53aa9}.enlighter-t-classic .enlighter-n5{color:#d53aa9}.enlighter-t-classic .enlighter-m0{color:#404247}.enlighter-t-classic .enlighter-m1{color:#404247}.enlighter-t-classic .enlighter-m2{color:#404247}.enlighter-t-classic .enlighter-m3{color:#404247}.enlighter-t-classic .enlighter-g0{color:#444}.enlighter-t-classic .enlighter-g1{color:#444}.enlighter-t-classic .enlighter-t0{color:#444}.enlighter-t-classic .enlighter-t1{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-t2{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-t3{color:#066da1}.enlighter-t-classic .enlighter-t4{color:#009926}.enlighter-t-classic .enlighter-t5{color:#009926}.enlighter-t-classic .enlighter-t6{color:#d53aa9}.enlighter-t-classic .enlighter-t7{color:#444;font-weight:700}.enlighter-t-classic .enlighter-t8{color:#444;background-color:#f0f0f0;font-style:italic}.enlighter-t-classic .enlighter-x1{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-x2{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-x10{color:#000;font-weight:700}.enlighter-t-classic .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-classic .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-classic .enlighter-x13{color:#0086b3}.enlighter-t-classic .enlighter-x14{color:#099;font-style:italic}.enlighter-t-classic .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-classic.enlighter-v-inline{background-color:transparent;border:none}.enlighter-t-classic.enlighter-v-codegroup{display:block}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#f8f8f8;padding-left:45px}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{border:none;font-size:15px;line-height:25px;width:auto;height:auto;background-color:transparent;padding:5px 10px 5px 10px}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#52ce52;color:#f9f9f9;font-weight:700}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.css b/assets/vendor/zibll/js/enlighter/enlighterjs.css
new file mode 100644
index 00000000..c8b83c36
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.css
@@ -0,0 +1,4075 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip {
+ z-index: 100
+}
+
+.enlighter-default {
+ font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
+ font-size: 13px;
+ line-height: 1.4;
+ overflow: hidden;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ margin: 0 0 20px 0;
+ padding: 0;
+ position: relative;
+ text-align: left;
+ direction: ltr;
+ border-radius: 8px
+}
+
+.enlighter-default .enlighter-special:hover {
+ background-color: #f4f8fc
+}
+
+.enlighter-default .enlighter-raw {
+ display: none;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ box-shadow: none;
+ padding: 0 17px !important;
+ color: inherit
+}
+
+.enlighter-toolbar {
+ opacity: 0;
+ position: absolute;
+ right: 10px;
+ top: 8px;
+ z-index: 10;
+ transition: .2s
+}
+
+.enlighter-default:hover .enlighter-toolbar {
+ opacity: 1
+}
+
+.enlighter-default .enlighter-btn {
+ font: normal normal 900 14px/1 "Font Awesome 5 Free";
+ border-radius: 4px;
+ display: inline-block;
+ transition: .15s;
+ padding: .3em .6em;
+ background: rgba(235, 237, 239, 0.8);
+ color: #666;
+ font-size: 14px;
+ margin-left: 6px;
+ cursor: pointer
+}
+
+.enlighter-default .enlighter-btn:hover {
+ color: #157ff9;
+}
+
+.enlighter-t-monokai .enlighter-btn,
+.enlighter-t-atomic .enlighter-btn,
+.enlighter-t-dracula .enlighter-btn {
+ background: rgba(57, 60, 66, 0.87)
+}
+
+.enlighter-default .enlighter-toolbar .enlighter-btn-raw::after {
+ content: "\f121"
+}
+
+.enlighter-default .enlighter-toolbar .enlighter-btn-copy::after {
+ content: "\f0ea"
+}
+
+.enlighter-default .enlighter-toolbar .enlighter-btn-window::after {
+ content: "\f1b2"
+}
+
+.enlighter-origin {
+ display: none !important
+}
+
+.enlighter-clipboard {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 1px;
+ height: 1px;
+ overflow: hidden
+}
+
+.enlighter-v-inline {
+ display: inline-block;
+ overflow: inherit;
+ margin: 0
+}
+
+.enlighter-v-standard {
+ display: block
+}
+
+.enlighter-v-codegroup {
+ display: block
+}
+
+.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative
+}
+
+div.enlighter {
+ /* display:table;*/
+ width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+ padding: 12px 0;
+ empty-cells: show;
+ min-width: 100%;
+ font-size: 10px;
+ margin: 0;
+ text-indent: 0;
+ -webkit-overflow-scrolling: touch;
+ counter-reset: enlighter 0
+}
+
+div.enlighter>div {
+ /*display: table-row;*/
+ margin: 0;
+ border: solid 0 #fff;
+ list-style: none;
+ font-size: inherit;
+ line-height: 1.4;
+ min-height: 14px
+}
+
+div.enlighter>div>div {
+ display: table-cell;
+ width: 100%;
+ padding-left: 10px
+}
+
+div.enlighter>div>div::before {
+ content: " "
+}
+
+span.enlighter {
+ display: inline-block;
+ padding: 3px 5px 1px 5px;
+ margin: 0 2px 0 2px
+}
+
+.enlighter span {
+ margin: 0;
+ padding: 0;
+ line-height: inherit;
+ font-size: 13px;
+ font-family: inherit
+}
+
+.enlighter-linenumbers div.enlighter>div::before {
+ white-space: nowrap;
+ display: block;
+ display: table-cell;
+ width: 45px;
+ min-width: 45px;
+ counter-increment: enlighter;
+ content: counter(enlighter, decimal)".";
+ text-align: right;
+ padding-right: 8px
+}
+
+.enlighter-overflow-scroll.enlighter-v-standard .enlighter {
+ overflow-x: auto;
+ word-wrap: normal !important
+}
+
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ overflow-x: auto;
+ word-wrap: normal !important
+}
+
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,
+.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div {
+ white-space: pre !important
+}
+
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,
+.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw {
+ white-space: pre !important
+}
+
+.enlighter-show-rawcode .enlighter-raw {
+ padding: 12px 16px !important;
+ display: block
+}
+
+.enlighter-show-rawcode .enlighter {
+ display: none !important
+}
+
+.enlighter-t-enlighter {
+ color: #555;
+ background: #f8f9fa
+}
+
+.enlighter-t-enlighter.enlighter-hover div.enlighter>div:hover {
+ color: #444;
+ background-color: #fffcd3
+}
+
+.enlighter-t-enlighter div.enlighter>div {
+ color: #aaa
+}
+
+.enlighter-t-enlighter div.enlighter>div.enlighter-special {
+ background-color: #fdf5f0
+}
+
+.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div::before {
+ border-right: solid 1px #e8e8e8
+}
+
+.enlighter-t-enlighter .enlighter-text {
+ color: #555
+}
+
+.enlighter-t-enlighter .enlighter-c0 {
+ color: #99a
+}
+
+.enlighter-t-enlighter .enlighter-c1 {
+ color: #99a
+}
+
+.enlighter-t-enlighter .enlighter-c2 {
+ color: #99a
+}
+
+.enlighter-t-enlighter .enlighter-c9 {
+ color: #9baa8f
+}
+
+.enlighter-t-enlighter .enlighter-k0 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k1 {
+ color: #4573f7;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k2 {
+ color: #458;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k3 {
+ color: #4da0d2;
+ background-color: #f0f0f0
+}
+
+.enlighter-t-enlighter .enlighter-k4 {
+ color: #4a9141;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k5 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k6 {
+ color: #286491;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-k7 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k8 {
+ color: #4da0d2
+}
+
+.enlighter-t-enlighter .enlighter-k9 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-k10 {
+ color: #4a9141;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-e0 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-e1 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-enlighter .enlighter-e3 {
+ color: #286491
+}
+
+.enlighter-t-enlighter .enlighter-e4 {
+ color: #ff8c00;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-s0 {
+ color: #f1436e
+}
+
+.enlighter-t-enlighter .enlighter-s1 {
+ color: #d14
+}
+
+.enlighter-t-enlighter .enlighter-s2 {
+ color: #d14
+}
+
+.enlighter-t-enlighter .enlighter-s3 {
+ color: #737383
+}
+
+.enlighter-t-enlighter .enlighter-s4 {
+ color: #ff8c00;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-s5 {
+ color: #d14;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-n0 {
+ color: #099
+}
+
+.enlighter-t-enlighter .enlighter-n1 {
+ color: #099
+}
+
+.enlighter-t-enlighter .enlighter-n2 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-n3 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-n4 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-n5 {
+ color: #099;
+ text-decoration: underline
+}
+
+.enlighter-t-enlighter .enlighter-m0 {
+ color: #0cad64
+}
+
+.enlighter-t-enlighter .enlighter-m1 {
+ color: #0086b3
+}
+
+.enlighter-t-enlighter .enlighter-m2 {
+ color: #0086b3
+}
+
+.enlighter-t-enlighter .enlighter-m3 {
+ color: #0086b3
+}
+
+.enlighter-t-enlighter .enlighter-g0 {
+ color: #777
+}
+
+.enlighter-t-enlighter .enlighter-g1 {
+ color: #777
+}
+
+.enlighter-t-enlighter .enlighter-t0 {
+ color: #777
+}
+
+.enlighter-t-enlighter .enlighter-t1 {
+ color: #d14;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-t3 {
+ color: #0086b3
+}
+
+.enlighter-t-enlighter .enlighter-t4 {
+ color: #009926
+}
+
+.enlighter-t-enlighter .enlighter-t5 {
+ color: #009926
+}
+
+.enlighter-t-enlighter .enlighter-t6 {
+ color: #d14
+}
+
+.enlighter-t-enlighter .enlighter-t7 {
+ color: #535353;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-t8 {
+ color: #777;
+ background-color: #f0f0f0;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-x1 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-x2 {
+ color: #4da0d2
+}
+
+.enlighter-t-enlighter .enlighter-x10 {
+ color: #000;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-x11 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-enlighter .enlighter-x12 {
+ color: #286491;
+ text-decoration: underline
+}
+
+.enlighter-t-enlighter .enlighter-x13 {
+ color: #0086b3
+}
+
+.enlighter-t-enlighter .enlighter-x14 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-enlighter .enlighter-x15 {
+ color: #990073;
+ font-style: italic
+}
+
+.enlighter-t-enlighter.enlighter-v-inline {
+ border-radius: 3px;
+ background-color: #fafafa
+}
+
+.enlighter-t-enlighter.enlighter-v-codegroup .enlighter,
+.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-raw {
+ border-top-left-radius: 0;
+ border-top-right-radius: 0
+}
+
+.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative
+}
+
+.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-switch {
+ border-radius: 8px 8px 0 0;
+ background-color: #f9f9f9;
+ border-bottom: 1px solid #e0e0e0;
+ padding: 5px 5px 5px 45px
+}
+
+.enlighter-t-beyond {
+ color: #333;
+ background-color: #f7f7fa;
+ border-radius: 5px;
+ border: solid 2px #e2e2e8
+}
+
+.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover {
+ color: #444;
+ background-color: #fff
+}
+
+.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover.enlighter-special {
+ background-color: #fffcd3;
+ border: solid 0 #fff;
+ color: #444
+}
+
+.enlighter-t-beyond div.enlighter>div {
+ line-height: 18px;
+ color: #aaa
+}
+
+.enlighter-t-beyond div.enlighter>div.enlighter-special {
+ background-color: #fff
+}
+
+.enlighter-t-beyond.enlighter-linenumbers div.enlighter>div::before {
+ padding: 1px 5px 1px 14px;
+ font-size: 11px
+}
+
+.enlighter-t-beyond .enlighter span {
+ font-size: 13px
+}
+
+.enlighter-t-beyond .enlighter-text {
+ color: #2f3235
+}
+
+.enlighter-t-beyond .enlighter-c0 {
+ color: #8181a1
+}
+
+.enlighter-t-beyond .enlighter-c1 {
+ color: #8181a1
+}
+
+.enlighter-t-beyond .enlighter-c2 {
+ color: #8181a1
+}
+
+.enlighter-t-beyond .enlighter-c9 {
+ color: #8181a1
+}
+
+.enlighter-t-beyond .enlighter-k0 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k1 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k2 {
+ color: #458;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k3 {
+ color: #4da0d2;
+ background-color: #f0f0f0
+}
+
+.enlighter-t-beyond .enlighter-k4 {
+ color: #4a9141;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k5 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k6 {
+ color: #286491;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-k7 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k8 {
+ color: #4da0d2
+}
+
+.enlighter-t-beyond .enlighter-k9 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-k10 {
+ color: #4a9141;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-e0 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-e1 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-beyond .enlighter-e3 {
+ color: #286491
+}
+
+.enlighter-t-beyond .enlighter-e4 {
+ color: #049595;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-s0 {
+ color: #d14
+}
+
+.enlighter-t-beyond .enlighter-s1 {
+ color: #d14
+}
+
+.enlighter-t-beyond .enlighter-s2 {
+ color: #d14
+}
+
+.enlighter-t-beyond .enlighter-s3 {
+ color: #737383
+}
+
+.enlighter-t-beyond .enlighter-s4 {
+ color: #049595;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-s5 {
+ color: #d14;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-n0 {
+ color: #099
+}
+
+.enlighter-t-beyond .enlighter-n1 {
+ color: #099
+}
+
+.enlighter-t-beyond .enlighter-n2 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-n3 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-n4 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-n5 {
+ color: #099;
+ text-decoration: underline
+}
+
+.enlighter-t-beyond .enlighter-m0 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-m1 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-m2 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-m3 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-g0 {
+ color: #777
+}
+
+.enlighter-t-beyond .enlighter-g1 {
+ color: #777
+}
+
+.enlighter-t-beyond .enlighter-t0 {
+ color: #777
+}
+
+.enlighter-t-beyond .enlighter-t1 {
+ color: #d14;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-t3 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-t4 {
+ color: #009926
+}
+
+.enlighter-t-beyond .enlighter-t5 {
+ color: #009926
+}
+
+.enlighter-t-beyond .enlighter-t6 {
+ color: #d14
+}
+
+.enlighter-t-beyond .enlighter-t7 {
+ color: #535353;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-t8 {
+ color: #777;
+ background-color: #f0f0f0;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-x1 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-x2 {
+ color: #4da0d2
+}
+
+.enlighter-t-beyond .enlighter-x10 {
+ color: #000;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-x11 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-beyond .enlighter-x12 {
+ color: #286491;
+ text-decoration: underline
+}
+
+.enlighter-t-beyond .enlighter-x13 {
+ color: #0086b3
+}
+
+.enlighter-t-beyond .enlighter-x14 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-beyond .enlighter-x15 {
+ color: #990073;
+ font-style: italic
+}
+
+.enlighter-t-beyond.enlighter-v-inline {
+ border-radius: 3px;
+ background-color: #f7f7fa;
+ border: dotted 1px #e2e2e8;
+ padding: 0
+}
+
+.enlighter-t-beyond.enlighter-v-codegroup {
+ padding: 0;
+ border: none
+}
+
+.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ background-color: #f7f7fa;
+ border-radius: 5px;
+ border: solid 2px #e2e2e8;
+ padding: 10px 10px 10px 5px
+}
+
+.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #fff;
+ padding: 0 0 0 45px
+}
+
+.enlighter-t-classic {
+ background-color: #fff;
+ border: 1px solid #e8e8e2;
+ border-left: solid 4px #52ce52
+}
+
+.enlighter-t-classic.enlighter-hover div.enlighter>div:hover {
+ background-color: #ddf0dd
+}
+
+.enlighter-t-classic .enlighter-raw {
+ font-size: 15px;
+ color: #000;
+ line-height: 22px;
+ padding: 4px 5px 4px 58px
+}
+
+.enlighter-t-classic div.enlighter {
+ line-height: 20px
+}
+
+.enlighter-t-classic div.enlighter>div {
+ padding: 1px 5px 1px 14px;
+ line-height: 20px;
+ color: #aaa
+}
+
+.enlighter-t-classic div.enlighter>div.enlighter-special {
+ background-color: #f9f9f9
+}
+
+.enlighter-t-classic div.enlighter>div:nth-child(even) {
+ background-color: #f8f8f8
+}
+
+.enlighter-t-classic.enlighter-linenumbers div.enlighter>div::before {
+ color: #40b540;
+ border-right: 1px solid #52ce52
+}
+
+.enlighter-t-classic .enlighter li.enlighter-special {
+ background-color: #edf9ec;
+ border-left-color: #3fa03f
+}
+
+.enlighter-t-classic .enlighter-text {
+ color: #000
+}
+
+.enlighter-t-classic .enlighter-c0 {
+ color: #888
+}
+
+.enlighter-t-classic .enlighter-c1 {
+ color: #888
+}
+
+.enlighter-t-classic .enlighter-c2 {
+ color: #888
+}
+
+.enlighter-t-classic .enlighter-c9 {
+ color: #888
+}
+
+.enlighter-t-classic .enlighter-k0 {
+ color: #066da1;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k1 {
+ color: #066da1;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k2 {
+ color: #404247;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k3 {
+ color: #404247;
+ background-color: #f0f0f0
+}
+
+.enlighter-t-classic .enlighter-k4 {
+ color: #404247;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k5 {
+ color: #404247;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k6 {
+ color: #066da1;
+ font-style: italic
+}
+
+.enlighter-t-classic .enlighter-k7 {
+ color: #066da1;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k8 {
+ color: #404247
+}
+
+.enlighter-t-classic .enlighter-k9 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-k10 {
+ color: #404247;
+ font-style: italic
+}
+
+.enlighter-t-classic .enlighter-e0 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-e1 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-classic .enlighter-e3 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-e4 {
+ color: #d53aa9;
+ font-style: italic
+}
+
+.enlighter-t-classic .enlighter-s0 {
+ color: #2d47e6
+}
+
+.enlighter-t-classic .enlighter-s1 {
+ color: #2d47e6
+}
+
+.enlighter-t-classic .enlighter-s2 {
+ color: #2d47e6
+}
+
+.enlighter-t-classic .enlighter-s3 {
+ color: #2d47e6
+}
+
+.enlighter-t-classic .enlighter-s4 {
+ color: #2d47e6;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-s5 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-n0 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-n1 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-n2 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-n3 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-n4 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-n5 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-m0 {
+ color: #404247
+}
+
+.enlighter-t-classic .enlighter-m1 {
+ color: #404247
+}
+
+.enlighter-t-classic .enlighter-m2 {
+ color: #404247
+}
+
+.enlighter-t-classic .enlighter-m3 {
+ color: #404247
+}
+
+.enlighter-t-classic .enlighter-g0 {
+ color: #444
+}
+
+.enlighter-t-classic .enlighter-g1 {
+ color: #444
+}
+
+.enlighter-t-classic .enlighter-t0 {
+ color: #444
+}
+
+.enlighter-t-classic .enlighter-t1 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-t2 {
+ color: #d53aa9;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-t3 {
+ color: #066da1
+}
+
+.enlighter-t-classic .enlighter-t4 {
+ color: #009926
+}
+
+.enlighter-t-classic .enlighter-t5 {
+ color: #009926
+}
+
+.enlighter-t-classic .enlighter-t6 {
+ color: #d53aa9
+}
+
+.enlighter-t-classic .enlighter-t7 {
+ color: #444;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-t8 {
+ color: #444;
+ background-color: #f0f0f0;
+ font-style: italic
+}
+
+.enlighter-t-classic .enlighter-x1 {
+ color: #066da1;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-x2 {
+ color: #404247;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-x10 {
+ color: #000;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-x11 {
+ color: #286491;
+ font-weight: 700
+}
+
+.enlighter-t-classic .enlighter-x12 {
+ color: #286491;
+ text-decoration: underline
+}
+
+.enlighter-t-classic .enlighter-x13 {
+ color: #0086b3
+}
+
+.enlighter-t-classic .enlighter-x14 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-classic .enlighter-x15 {
+ color: #990073;
+ font-style: italic
+}
+
+.enlighter-t-classic.enlighter-v-inline {
+ background-color: transparent;
+ border: none
+}
+
+.enlighter-t-classic.enlighter-v-codegroup {
+ display: block
+}
+
+.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative
+}
+
+.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #f8f8f8;
+ padding-left: 45px
+}
+
+.enlighter-t-godzilla {
+ border-left: solid 6px #4a80b3;
+ background-image: url(data:image/gif;base64,R0lGODlhHgAeAJEAAPLz9ezt7vf39wAAACwAAAAAHgAeAAACYYyPqXvi/wCccr5gY3Y1491Z4fRlI3Rem5ByaymurQBT8nuDuM57wA8MCodEQA2V8yRjm6OmZ3G6oKSlrWlFYqlaJffpNWUvxbL5J2WNHenZrL2mxd/znfjLrm/v/Kg+UwAAOw==);
+ background-repeat: repeat;
+ background-position: 0 0;
+}
+
+.enlighter-t-godzilla .enlighter-btn {
+ background: rgba(229, 239, 244, 0.0);
+ color: #315f8c
+}
+
+.enlighter-t-godzilla.enlighter-hover div.enlighter>div:hover {
+ background-color: #f0f0f1
+}
+
+.enlighter-t-godzilla .enlighter-raw {
+ color: #1a5c9a
+}
+
+.enlighter-t-godzilla div.enlighter>div {
+ padding: 1px 5px 1px 14px;
+ line-height: 16px;
+ color: #9c9ea0
+}
+
+.enlighter-t-godzilla div.enlighter>div.enlighter-special {
+ background-color: #fffcd3
+}
+
+.enlighter-t-godzilla.enlighter-linenumbers div.enlighter>div::before {
+ font-size: 11px
+}
+
+.enlighter-t-godzilla .enlighter span {
+ font-size: 14px
+}
+
+.enlighter-t-godzilla .enlighter-text {
+ color: #2b333a
+}
+
+.enlighter-t-godzilla .enlighter-c0 {
+ color: #6b7c8b
+}
+
+.enlighter-t-godzilla .enlighter-c1 {
+ color: #6b7c8b
+}
+
+.enlighter-t-godzilla .enlighter-c2 {
+ color: #6b7c8b
+}
+
+.enlighter-t-godzilla .enlighter-c9 {
+ color: #5b7c9c
+}
+
+.enlighter-t-godzilla .enlighter-k0 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k1 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k2 {
+ color: #4284ae;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k3 {
+ color: #4284ae;
+ background-color: #f0f0f0
+}
+
+.enlighter-t-godzilla .enlighter-k4 {
+ color: #4284ae;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k5 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k6 {
+ color: #085789;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-k7 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k8 {
+ color: #4284ae
+}
+
+.enlighter-t-godzilla .enlighter-k9 {
+ color: #ae42a0;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-k10 {
+ color: #ae42a0;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-e0 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-e1 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-e2 {
+ color: #085789
+}
+
+.enlighter-t-godzilla .enlighter-e3 {
+ color: #085789
+}
+
+.enlighter-t-godzilla .enlighter-e4 {
+ color: #d2901d
+}
+
+.enlighter-t-godzilla .enlighter-s0 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-s1 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-s2 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-s3 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-s4 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-s5 {
+ color: #5e860f
+}
+
+.enlighter-t-godzilla .enlighter-n0 {
+ color: #9b0d5c
+}
+
+.enlighter-t-godzilla .enlighter-n1 {
+ color: #9b0d5c
+}
+
+.enlighter-t-godzilla .enlighter-n2 {
+ color: #9b0d5c;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-n3 {
+ color: #9b0d5c;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-n4 {
+ color: #9b0d5c;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-n5 {
+ color: #9b0d5c;
+ text-decoration: underline
+}
+
+.enlighter-t-godzilla .enlighter-m0 {
+ color: #d0284a
+}
+
+.enlighter-t-godzilla .enlighter-m1 {
+ color: #d0284a
+}
+
+.enlighter-t-godzilla .enlighter-m2 {
+ color: #d0284a
+}
+
+.enlighter-t-godzilla .enlighter-m3 {
+ color: #d0284a
+}
+
+.enlighter-t-godzilla .enlighter-g0 {
+ color: #35434c
+}
+
+.enlighter-t-godzilla .enlighter-g1 {
+ color: #35434c
+}
+
+.enlighter-t-godzilla .enlighter-t0 {
+ color: #35434c
+}
+
+.enlighter-t-godzilla .enlighter-t1 {
+ color: #d0284a;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-t2 {
+ color: #9b0d5c;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-t3 {
+ color: #085789
+}
+
+.enlighter-t-godzilla .enlighter-t4 {
+ color: #085789
+}
+
+.enlighter-t-godzilla .enlighter-t5 {
+ color: #085789
+}
+
+.enlighter-t-godzilla .enlighter-t6 {
+ color: #d0284a
+}
+
+.enlighter-t-godzilla .enlighter-t7 {
+ color: #35434c;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-t8 {
+ color: #35434c;
+ background-color: #f0f0f0;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-x1 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-x2 {
+ color: #4284ae
+}
+
+.enlighter-t-godzilla .enlighter-x10 {
+ color: #35434c;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-x11 {
+ color: #085789;
+ font-weight: 700
+}
+
+.enlighter-t-godzilla .enlighter-x12 {
+ color: #085789;
+ text-decoration: underline
+}
+
+.enlighter-t-godzilla .enlighter-x13 {
+ color: #4284ae
+}
+
+.enlighter-t-godzilla .enlighter-x14 {
+ color: #4284ae;
+ font-style: italic
+}
+
+.enlighter-t-godzilla .enlighter-x15 {
+ color: #9b0d5c;
+ font-style: italic
+}
+
+.enlighter-t-godzilla.enlighter-v-inline {
+ background-color: #f7f7f7;
+ border: dotted 1px #e0e0e1;
+ border-left: solid 2px #4a80b3
+}
+
+.enlighter-t-godzilla.enlighter-v-codegroup .enlighter-codegroup-switch {
+ font-family: "Open Sans", Arial, Verdana, sans-serif;
+ background-color: #4a80b3;
+ padding: 5px 5px 5px 5px
+}
+
+.enlighter-t-atomic {
+ font-family: Inconsolata, Consolas, "Source Code Pro", "Liberation Mono", "Courier New", Courier, monospace;
+ background-color: #272b33;
+ color: #939393
+}
+
+.enlighter-t-atomic .enlighter-toolbar {
+ top: 10px;
+ right: 10px
+}
+
+.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-raw:after {
+ content: "Raw"
+}
+
+.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-copy:after {
+ content: "Copy"
+}
+
+.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-window:after {
+ content: "Extern"
+}
+
+.enlighter-t-atomic .enlighter-raw {
+ font-size: 16px;
+ color: #517891
+}
+
+.enlighter-t-atomic div.enlighter>div {
+ padding: 1px 5px 1px 14px;
+ line-height: 19px;
+ color: #596174;
+ background-color: #272b33
+}
+
+.enlighter-t-atomic div.enlighter>div.enlighter-special {
+ background-color: #392d3b
+}
+
+.enlighter-t-atomic.enlighter-linenumbers div.enlighter>div::before {
+ padding: 1px 5px 1px 14px
+}
+
+.enlighter-t-atomic.enlighter-hover div.enlighter>div:hover {
+ background-color: #2e353e
+}
+
+.enlighter-t-atomic .enlighter span {
+ font-size: 17px
+}
+
+.enlighter-t-atomic .enlighter-text {
+ color: #cfd5e0
+}
+
+.enlighter-t-atomic .enlighter-c0 {
+ color: #6b7c8b
+}
+
+.enlighter-t-atomic .enlighter-c1 {
+ color: #6b7c8b
+}
+
+.enlighter-t-atomic .enlighter-c2 {
+ color: #6b7c8b
+}
+
+.enlighter-t-atomic .enlighter-c9 {
+ color: #5b7c9c
+}
+
+.enlighter-t-atomic .enlighter-k0 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-k1 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-k2 {
+ color: #d19252;
+ border-bottom: dotted 1px #d19252
+}
+
+.enlighter-t-atomic .enlighter-k3 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-k4 {
+ color: #4284ae;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-k5 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-k6 {
+ color: #d171dd;
+ font-style: italic
+}
+
+.enlighter-t-atomic .enlighter-k7 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-k8 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-k9 {
+ color: #fff
+}
+
+.enlighter-t-atomic .enlighter-k10 {
+ color: #4284ae;
+ font-style: italic
+}
+
+.enlighter-t-atomic .enlighter-e0 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-e1 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-e2 {
+ color: #d19252
+}
+
+.enlighter-t-atomic .enlighter-e3 {
+ color: #ae42a0
+}
+
+.enlighter-t-atomic .enlighter-e4 {
+ color: #d2901d;
+ font-style: italic
+}
+
+.enlighter-t-atomic .enlighter-s0 {
+ color: #7cc379
+}
+
+.enlighter-t-atomic .enlighter-s1 {
+ color: #7cc379
+}
+
+.enlighter-t-atomic .enlighter-s2 {
+ color: #7cc379
+}
+
+.enlighter-t-atomic .enlighter-s3 {
+ color: #7cc379
+}
+
+.enlighter-t-atomic .enlighter-s4 {
+ color: #7cc379;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-s5 {
+ color: #5e860f;
+ font-style: italic
+}
+
+.enlighter-t-atomic .enlighter-n0 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-n1 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-n2 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-n3 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-n4 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-n5 {
+ color: #d19a66
+}
+
+.enlighter-t-atomic .enlighter-m0 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-m1 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-m2 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-m3 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-g0 {
+ color: #6b7c8b;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-g1 {
+ color: #6b7c8b;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-t0 {
+ color: #6b7c8b
+}
+
+.enlighter-t-atomic .enlighter-t1 {
+ color: #9b0d5c;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-t3 {
+ color: #d171dd
+}
+
+.enlighter-t-atomic .enlighter-t4 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-t5 {
+ color: #4284ae
+}
+
+.enlighter-t-atomic .enlighter-t6 {
+ color: #9b0d5c
+}
+
+.enlighter-t-atomic .enlighter-t7 {
+ color: #6b7c8b;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-t8 {
+ color: #6b7c8b
+}
+
+.enlighter-t-atomic .enlighter-x1 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-x2 {
+ color: #d19252;
+ border-bottom: dotted 1px #d19252
+}
+
+.enlighter-t-atomic .enlighter-x10 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-x11 {
+ color: #d171dd;
+ font-weight: 700
+}
+
+.enlighter-t-atomic .enlighter-x12 {
+ color: #d171dd;
+ text-decoration: underline
+}
+
+.enlighter-t-atomic .enlighter-x13 {
+ color: #d19252;
+ border-bottom: dotted 1px #d19252
+}
+
+.enlighter-t-atomic .enlighter-x14 {
+ color: #d19a66;
+ font-style: italic
+}
+
+.enlighter-t-atomic .enlighter-x15 {
+ color: #9b0d5c;
+ font-style: italic
+}
+
+.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative
+}
+
+.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-switch {
+ padding: 5px 5px 0 45px;
+ background-color: #121518
+}
+
+.enlighter-t-droide {
+ background-color: #f7f7f9;
+ border: solid 1px #e0e0e0
+}
+
+.enlighter-t-droide.enlighter-hover div.enlighter>div:hover {
+ background-color: #fae9d9
+}
+
+.enlighter-t-droide div.enlighter>div {
+ line-height: 16px;
+ color: #aaa
+}
+
+.enlighter-t-droide div.enlighter>div.enlighter-special {
+ background-color: #fae9d9;
+ border-left: solid 5px #e07c19
+}
+
+.enlighter-t-droide .enlighter span {
+ font-size: 13px
+}
+
+.enlighter-t-droide .enlighter-text {
+ color: #000
+}
+
+.enlighter-t-droide .enlighter-c0 {
+ color: #086b08
+}
+
+.enlighter-t-droide .enlighter-c1 {
+ color: #086b08
+}
+
+.enlighter-t-droide .enlighter-c2 {
+ color: #086b08
+}
+
+.enlighter-t-droide .enlighter-c9 {
+ color: #086b08
+}
+
+.enlighter-t-droide .enlighter-k0 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k1 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k2 {
+ color: #458;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k3 {
+ color: #6e0d6e
+}
+
+.enlighter-t-droide .enlighter-k4 {
+ color: #6e0d6e;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k5 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k6 {
+ color: #12217c;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-k7 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k8 {
+ color: #458
+}
+
+.enlighter-t-droide .enlighter-k9 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-k10 {
+ color: #6e0d6e;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-e0 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-e1 {
+ color: #34068a;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-droide .enlighter-e3 {
+ color: #286491
+}
+
+.enlighter-t-droide .enlighter-e4 {
+ color: #ff8c00;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-s0 {
+ color: #961414
+}
+
+.enlighter-t-droide .enlighter-s1 {
+ color: #961414
+}
+
+.enlighter-t-droide .enlighter-s2 {
+ color: #961414
+}
+
+.enlighter-t-droide .enlighter-s3 {
+ color: #961414
+}
+
+.enlighter-t-droide .enlighter-s4 {
+ color: #963f14;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-s5 {
+ color: #961414;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-n0 {
+ color: #099
+}
+
+.enlighter-t-droide .enlighter-n1 {
+ color: #099
+}
+
+.enlighter-t-droide .enlighter-n2 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-n3 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-n4 {
+ color: #099;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-n5 {
+ color: #099;
+ text-decoration: underline
+}
+
+.enlighter-t-droide .enlighter-m0 {
+ color: #000
+}
+
+.enlighter-t-droide .enlighter-m1 {
+ color: #000
+}
+
+.enlighter-t-droide .enlighter-m2 {
+ color: #000
+}
+
+.enlighter-t-droide .enlighter-m3 {
+ color: #000
+}
+
+.enlighter-t-droide .enlighter-g0 {
+ color: #12217c
+}
+
+.enlighter-t-droide .enlighter-g1 {
+ color: #12217c
+}
+
+.enlighter-t-droide .enlighter-t0 {
+ color: #777
+}
+
+.enlighter-t-droide .enlighter-t1 {
+ color: #961414;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-t3 {
+ color: #458
+}
+
+.enlighter-t-droide .enlighter-t4 {
+ color: #6e0d6e
+}
+
+.enlighter-t-droide .enlighter-t5 {
+ color: #6e0d6e
+}
+
+.enlighter-t-droide .enlighter-t6 {
+ color: #961414
+}
+
+.enlighter-t-droide .enlighter-t7 {
+ color: #535353;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-t8 {
+ color: #777;
+ font-style: italic
+}
+
+.enlighter-t-droide .enlighter-x1 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-x2 {
+ color: #6e0d6e
+}
+
+.enlighter-t-droide .enlighter-x10 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-x11 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-droide .enlighter-x12 {
+ color: #458
+}
+
+.enlighter-t-droide .enlighter-x13 {
+ color: #099
+}
+
+.enlighter-t-droide .enlighter-x14 {
+ color: #099
+}
+
+.enlighter-t-droide .enlighter-x15 {
+ color: #990073;
+ font-style: italic
+}
+
+.enlighter-t-droide.enlighter-v-codegroup {
+ background-color: transparent;
+ border: none
+}
+
+.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ background-color: #f7f7f9;
+ border: solid 1px #e0e0e0
+}
+
+.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-switch {
+ padding-left: 15px
+}
+
+.enlighter-t-minimal {
+ border-top: solid 3px #e0e0e0;
+ border-bottom: solid 3px #e0e0e0;
+ border-radius: 0 !important
+}
+
+.enlighter-t-minimal.enlighter-hover div.enlighter>div:hover {
+ background-color: #f0f0f0
+}
+
+.enlighter-t-minimal div.enlighter>div {
+ line-height: 18px;
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal div.enlighter>div.enlighter-special {
+ background-color: #f9f9f9
+}
+
+.enlighter-t-minimal.enlighter-linenumbers div.enlighter>div::before {
+ padding: 1px 10px 1px 10px;
+ font-size: 10px;
+ color: #404141
+}
+
+.enlighter-t-minimal .enlighter span {
+ font-size: 13px
+}
+
+.enlighter-t-minimal .enlighter-text {
+ color: #2a2a2a
+}
+
+.enlighter-t-minimal .enlighter-c0 {
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal .enlighter-c1 {
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal .enlighter-c2 {
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal .enlighter-c9 {
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal .enlighter-k0 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-k1 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-k2 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-k3 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-k4 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-k5 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-k6 {
+ color: #12217c;
+ font-style: italic
+}
+
+.enlighter-t-minimal .enlighter-k7 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-k8 {
+ color: #458
+}
+
+.enlighter-t-minimal .enlighter-k9 {
+ color: #990073
+}
+
+.enlighter-t-minimal .enlighter-k10 {
+ color: #990073
+}
+
+.enlighter-t-minimal .enlighter-e0 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-e1 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-e2 {
+ color: #996700;
+ border-bottom: solid 1px #996700
+}
+
+.enlighter-t-minimal .enlighter-e3 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-e4 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-s0 {
+ color: #217908;
+ border-bottom: dotted 1px #387905
+}
+
+.enlighter-t-minimal .enlighter-s1 {
+ color: #217908;
+ border-bottom: dotted 1px #387905
+}
+
+.enlighter-t-minimal .enlighter-s2 {
+ color: #cf6a4c
+}
+
+.enlighter-t-minimal .enlighter-s3 {
+ color: #217908;
+ border-bottom: dotted 1px #387905
+}
+
+.enlighter-t-minimal .enlighter-s4 {
+ color: #217908;
+ border-bottom: dotted 1px #387905
+}
+
+.enlighter-t-minimal .enlighter-s5 {
+ color: #217908;
+ border-bottom: dotted 1px #387905
+}
+
+.enlighter-t-minimal .enlighter-n0 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-n1 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-n2 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-n3 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-n4 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-n5 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-m0 {
+ color: #12217c;
+ background-color: #e0e0e0
+}
+
+.enlighter-t-minimal .enlighter-m1 {
+ color: #12217c;
+ background-color: #e0e0e0
+}
+
+.enlighter-t-minimal .enlighter-m2 {
+ color: #12217c;
+ background-color: #e0e0e0
+}
+
+.enlighter-t-minimal .enlighter-m3 {
+ color: #12217c;
+ background-color: #e0e0e0
+}
+
+.enlighter-t-minimal .enlighter-g0 {
+ color: #12217c
+}
+
+.enlighter-t-minimal .enlighter-g1 {
+ color: #2a2a2a
+}
+
+.enlighter-t-minimal .enlighter-t0 {
+ color: #a0a0a0
+}
+
+.enlighter-t-minimal .enlighter-t1 {
+ color: #387905;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-t3 {
+ color: #458
+}
+
+.enlighter-t-minimal .enlighter-t4 {
+ color: #458
+}
+
+.enlighter-t-minimal .enlighter-t5 {
+ color: #458
+}
+
+.enlighter-t-minimal .enlighter-t6 {
+ color: #387905
+}
+
+.enlighter-t-minimal .enlighter-t7 {
+ color: #a0a0a0;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-t8 {
+ color: #a0a0a0;
+ font-style: italic
+}
+
+.enlighter-t-minimal .enlighter-x1 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-x2 {
+ color: #458;
+ border-bottom: dotted 1px #458
+}
+
+.enlighter-t-minimal .enlighter-x10 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-x11 {
+ color: #12217c;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-x12 {
+ color: #458
+}
+
+.enlighter-t-minimal .enlighter-x13 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-x14 {
+ color: #a61d1b;
+ font-weight: 700
+}
+
+.enlighter-t-minimal .enlighter-x15 {
+ color: #990073
+}
+
+.enlighter-t-minimal.enlighter-v-inline {
+ background-color: transparent;
+ border: none;
+ padding: 0
+}
+
+.enlighter-t-minimal.enlighter-v-codegroup {
+ border-top: none;
+ padding-top: 0
+}
+
+.enlighter-t-minimal.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ border-top: solid 3px #e0e0e0;
+ padding-top: 10px
+}
+
+.enlighter-t-minimal.enlighter-v-codegroup .enlighter-codegroup-switch {
+ padding-left: 5px;
+ padding-bottom: 5px
+}
+
+.enlighter-t-eclipse {
+ color: #787878;
+ border: solid 8px #f3f3f3
+}
+
+.enlighter-t-eclipse.enlighter-hover.enlighter-linenumbers div.enlighter>div:hover {
+ background-color: #e8f2fe;
+ color: #444
+}
+
+.enlighter-t-eclipse.enlighter-hover div.enlighter>div:hover {
+ background-color: #e8f2fe;
+ color: #444;
+ border-left-color: #e0e0e0
+}
+
+.enlighter-t-eclipse .enlighter-raw {
+ color: #717171
+}
+
+.enlighter-t-eclipse div.enlighter>div {
+ line-height: 16px;
+ color: #787878
+}
+
+.enlighter-t-eclipse div.enlighter>div.enlighter-special {
+ background-color: #f9f9f9
+}
+
+.enlighter-t-eclipse.enlighter-linenumbers div.enlighter>div::before {
+ border-right: 2px solid #f8f8f8;
+ padding: 1px 5px 1px 14px
+}
+
+.enlighter-t-eclipse .enlighter span {
+ font-size: 13px
+}
+
+.enlighter-t-eclipse .enlighter-text {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-c0 {
+ color: #3f7f5f
+}
+
+.enlighter-t-eclipse .enlighter-c1 {
+ color: #3f5fbf
+}
+
+.enlighter-t-eclipse .enlighter-c2 {
+ color: #3f5fbf
+}
+
+.enlighter-t-eclipse .enlighter-c9 {
+ color: #3f5fbf
+}
+
+.enlighter-t-eclipse .enlighter-k0 {
+ color: #3f7f95;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k1 {
+ color: #3f7f95;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k2 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k3 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k4 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-k5 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k6 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k7 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-k8 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-k9 {
+ color: #990073
+}
+
+.enlighter-t-eclipse .enlighter-k10 {
+ color: #990073
+}
+
+.enlighter-t-eclipse .enlighter-e0 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-e1 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-eclipse .enlighter-e3 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-e4 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-s0 {
+ color: #320fe3
+}
+
+.enlighter-t-eclipse .enlighter-s1 {
+ color: #320fe3
+}
+
+.enlighter-t-eclipse .enlighter-s2 {
+ color: #320fe3
+}
+
+.enlighter-t-eclipse .enlighter-s3 {
+ color: #320fe3
+}
+
+.enlighter-t-eclipse .enlighter-s4 {
+ color: #320fe3
+}
+
+.enlighter-t-eclipse .enlighter-s5 {
+ color: #990073
+}
+
+.enlighter-t-eclipse .enlighter-n0 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-n1 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-n2 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-n3 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-n4 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-n5 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-m0 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-m1 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-m2 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-m3 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-g0 {
+ color: #777
+}
+
+.enlighter-t-eclipse .enlighter-g1 {
+ color: #777
+}
+
+.enlighter-t-eclipse .enlighter-t0 {
+ color: #777
+}
+
+.enlighter-t-eclipse .enlighter-t1 {
+ color: #3f7f5f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-t3 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-t4 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-t5 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-t6 {
+ color: #3f7f5f
+}
+
+.enlighter-t-eclipse .enlighter-t7 {
+ color: #a0a0a0;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-t8 {
+ color: #a0a0a0;
+ font-style: italic
+}
+
+.enlighter-t-eclipse .enlighter-x1 {
+ color: #3f7f95;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-x2 {
+ color: #7f007f;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-x10 {
+ color: #3f7f95;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-x11 {
+ color: #3f7f95;
+ font-weight: 700
+}
+
+.enlighter-t-eclipse .enlighter-x12 {
+ color: #458
+}
+
+.enlighter-t-eclipse .enlighter-x13 {
+ color: #3f7f95
+}
+
+.enlighter-t-eclipse .enlighter-x14 {
+ color: #000
+}
+
+.enlighter-t-eclipse .enlighter-x15 {
+ color: #000
+}
+
+.enlighter-t-eclipse.enlighter-v-inline {
+ border-radius: 3px;
+ background-color: #f8f8f8;
+ border: solid 0 #fff
+}
+
+.enlighter-t-eclipse.enlighter-v-codegroup {
+ display: block
+}
+
+.enlighter-t-eclipse.enlighter-v-codegroup .enlighter,
+.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-raw {
+ border-top: 0;
+ border-top-left-radius: 0;
+ border-top-right-radius: 0
+}
+
+.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative
+}
+
+.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #f3f3f3;
+ padding: 8px 5px 0 60px;
+ border-radius: 5px 5px 0 0
+}
+
+.enlighter-t-mowtwo {
+ background-color: #f0f0f1;
+ border: solid 1px #f0f0f1
+}
+
+.enlighter-t-mowtwo.enlighter-hover div.enlighter>div:hover {
+ background-color: #e9e9e9
+}
+
+.enlighter-t-mowtwo div.enlighter>div {
+ line-height: 18px;
+ color: #9c9ea0
+}
+
+.enlighter-t-mowtwo div.enlighter>div.enlighter-special {
+ background-color: #e9e9e9
+}
+
+.enlighter-t-mowtwo.enlighter-linenumbers div.enlighter>div::before {
+ font-size: 11px
+}
+
+.enlighter-t-mowtwo .enlighter span {
+ font-size: 14px
+}
+
+.enlighter-t-mowtwo .enlighter-text {
+ color: #313437
+}
+
+.enlighter-t-mowtwo .enlighter-c0 {
+ color: #9c9ea0
+}
+
+.enlighter-t-mowtwo .enlighter-c1 {
+ color: #9c9ea0
+}
+
+.enlighter-t-mowtwo .enlighter-c2 {
+ color: #9c9ea0
+}
+
+.enlighter-t-mowtwo .enlighter-c9 {
+ color: #9c9ea0
+}
+
+.enlighter-t-mowtwo .enlighter-k0 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-k1 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-k2 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k3 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k4 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k5 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k6 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k7 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-k8 {
+ color: #313437
+}
+
+.enlighter-t-mowtwo .enlighter-k9 {
+ color: #313437
+}
+
+.enlighter-t-mowtwo .enlighter-k10 {
+ color: #313437
+}
+
+.enlighter-t-mowtwo .enlighter-e0 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-e1 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-e2 {
+ color: #864c08
+}
+
+.enlighter-t-mowtwo .enlighter-e3 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-e4 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-s0 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-s1 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-s2 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-s3 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-s4 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-s5 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-n0 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-n1 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-n2 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-n3 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-n4 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-n5 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-m0 {
+ color: #666
+}
+
+.enlighter-t-mowtwo .enlighter-m1 {
+ color: #666
+}
+
+.enlighter-t-mowtwo .enlighter-m2 {
+ color: #666
+}
+
+.enlighter-t-mowtwo .enlighter-m3 {
+ color: #666
+}
+
+.enlighter-t-mowtwo .enlighter-g0 {
+ color: #864c08
+}
+
+.enlighter-t-mowtwo .enlighter-g1 {
+ color: #909090
+}
+
+.enlighter-t-mowtwo .enlighter-t0 {
+ color: #909090
+}
+
+.enlighter-t-mowtwo .enlighter-t1 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-t2 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-t3 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-t4 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-t5 {
+ color: #83a440
+}
+
+.enlighter-t-mowtwo .enlighter-t6 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-t7 {
+ color: #909090;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-t8 {
+ color: #909090;
+ font-style: italic
+}
+
+.enlighter-t-mowtwo .enlighter-x1 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-x2 {
+ color: #b05098
+}
+
+.enlighter-t-mowtwo .enlighter-x10 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-x11 {
+ color: #b05098;
+ font-weight: 700
+}
+
+.enlighter-t-mowtwo .enlighter-x12 {
+ color: #313437
+}
+
+.enlighter-t-mowtwo .enlighter-x13 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-x14 {
+ color: #429bc1
+}
+
+.enlighter-t-mowtwo .enlighter-x15 {
+ color: #313437
+}
+
+.enlighter-t-mowtwo.enlighter-v-inline {
+ border-radius: 4px
+}
+
+.enlighter-t-mowtwo.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #585b5e;
+ padding: 10px 0 10px 20px;
+ border-radius: 8px;
+ margin-bottom: 5px
+}
+
+.enlighter-t-rowhammer {
+ background-color: transparent;
+ border: none
+}
+
+.enlighter-t-rowhammer.enlighter-hover div.enlighter>div:hover {
+ background-color: #f0f0f0
+}
+
+.enlighter-t-rowhammer div.enlighter>div {
+ line-height: 20px;
+ color: #94a9bf;
+ font-size: 10px;
+ border-bottom: dotted 1px #e9e9f0
+}
+
+.enlighter-t-rowhammer div.enlighter>div:nth-of-type(1) {
+ border-top: dotted 1px #e9e9f0
+}
+
+.enlighter-t-rowhammer div.enlighter>div.enlighter-special {
+ background-color: #f9f9f9
+}
+
+.enlighter-t-rowhammer.enlighter-linenumbers div.enlighter>div::before {
+ padding: 1px 5px 1px 14px;
+ font-size: 10px;
+ color: #5d87b4
+}
+
+.enlighter-t-rowhammer .enlighter span {
+ font-size: 13px
+}
+
+.enlighter-t-rowhammer .enlighter-text {
+ color: #000
+}
+
+.enlighter-t-rowhammer .enlighter-c0 {
+ color: #758697
+}
+
+.enlighter-t-rowhammer .enlighter-c1 {
+ color: #758697
+}
+
+.enlighter-t-rowhammer .enlighter-c2 {
+ color: #758697
+}
+
+.enlighter-t-rowhammer .enlighter-c9 {
+ color: #758697
+}
+
+.enlighter-t-rowhammer .enlighter-k0 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k1 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k2 {
+ color: #07a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-k3 {
+ color: #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k4 {
+ color: #07a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-k5 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k6 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k7 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k8 {
+ color: #07a
+}
+
+.enlighter-t-rowhammer .enlighter-k9 {
+ color: #000
+}
+
+.enlighter-t-rowhammer .enlighter-k10 {
+ color: #07a;
+ font-style: italic
+}
+
+.enlighter-t-rowhammer .enlighter-e0 {
+ color: #07a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-e1 {
+ color: #07a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-e2 {
+ color: #d2901d
+}
+
+.enlighter-t-rowhammer .enlighter-e3 {
+ color: #07a
+}
+
+.enlighter-t-rowhammer .enlighter-e4 {
+ color: #ff8c00;
+ font-style: italic
+}
+
+.enlighter-t-rowhammer .enlighter-s0 {
+ color: #639500;
+ border-bottom: dotted 1px #639500
+}
+
+.enlighter-t-rowhammer .enlighter-s1 {
+ color: #639500
+}
+
+.enlighter-t-rowhammer .enlighter-s2 {
+ color: #639500
+}
+
+.enlighter-t-rowhammer .enlighter-s3 {
+ color: #639500
+}
+
+.enlighter-t-rowhammer .enlighter-s4 {
+ color: #639500
+}
+
+.enlighter-t-rowhammer .enlighter-s5 {
+ color: #639500;
+ font-style: italic
+}
+
+.enlighter-t-rowhammer .enlighter-n0 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-n1 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-n2 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-n3 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-n4 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-n5 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-m0 {
+ color: #d0284a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-m1 {
+ color: #c2415b;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-m2 {
+ color: #c2415b;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-m3 {
+ color: #d0284a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-g0 {
+ color: #35434c;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-g1 {
+ color: #6b7c8b;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-t0 {
+ color: #777
+}
+
+.enlighter-t-rowhammer .enlighter-t1 {
+ color: #961414;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-t2 {
+ color: #990073;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-t3 {
+ color: #458
+}
+
+.enlighter-t-rowhammer .enlighter-t4 {
+ color: #6e0d6e
+}
+
+.enlighter-t-rowhammer .enlighter-t5 {
+ color: #6e0d6e
+}
+
+.enlighter-t-rowhammer .enlighter-t6 {
+ color: #961414
+}
+
+.enlighter-t-rowhammer .enlighter-t7 {
+ color: #535353;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-t8 {
+ color: #777;
+ font-style: italic
+}
+
+.enlighter-t-rowhammer .enlighter-x1 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-x2 {
+ color: #07a;
+ font-weight: 700
+}
+
+.enlighter-t-rowhammer .enlighter-x10 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-x11 {
+ color: #07a;
+ font-weight: 700;
+ border-bottom: dotted 1px #07a
+}
+
+.enlighter-t-rowhammer .enlighter-x12 {
+ color: #07a
+}
+
+.enlighter-t-rowhammer .enlighter-x13 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-x14 {
+ color: #9b0d5c
+}
+
+.enlighter-t-rowhammer .enlighter-x15 {
+ color: #121212
+}
+
+.enlighter-t-rowhammer.enlighter-v-codegroup .enlighter-codegroup-switch {
+ padding-left: 15px;
+ padding-bottom: 15px
+}
+
+.enlighter-t-bootstrap4 {
+ font-size: 10px;
+ color: #212529;
+ background-color: #f8f9fa;
+ padding: 1.5em 1.2em;
+ border-radius: 4px
+}
+
+.enlighter-t-bootstrap4 .enlighter-toolbar {
+ top: 10px;
+ right: 10px
+}
+
+.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-raw:after {
+ content: "Raw"
+}
+
+.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-copy:after {
+ content: "Copy"
+}
+
+.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-window:after {
+ content: "Extern"
+}
+
+.enlighter-t-bootstrap4.enlighter-hover div.enlighter>div:hover {
+ background-color: #eceef0
+}
+
+.enlighter-t-bootstrap4 .enlighter-raw {
+ font-size: 14px;
+ color: #212529;
+ background-color: #f8f9fa;
+ line-height: 20px;
+ padding: 28px 25px 30px 79px
+}
+
+.enlighter-t-bootstrap4 div.enlighter>div {
+ padding: 1px 5px 1px 14px;
+ line-height: 16px;
+ color: #999;
+ background-color: transparent
+}
+
+.enlighter-t-bootstrap4 div.enlighter>div.enlighter-special {
+ background-color: #eceef0
+}
+
+.enlighter-t-bootstrap4.enlighter-linenumbers div.enlighter>div::before {
+ padding: 1px 5px 1px 0
+}
+
+.enlighter-t-bootstrap4 .enlighter span {
+ font-size: 14px
+}
+
+.enlighter-t-bootstrap4 .enlighter-text {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-c0 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-c1 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-c2 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-c9 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-k0 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k1 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k2 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k3 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k4 {
+ color: #069;
+ font-style: italic
+}
+
+.enlighter-t-bootstrap4 .enlighter-k5 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-k6 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k7 {
+ color: #069;
+ border-bottom: dotted 1px #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k8 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-k9 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-k10 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-e0 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-e1 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-e2 {
+ color: #009926
+}
+
+.enlighter-t-bootstrap4 .enlighter-e3 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-e4 {
+ color: #069
+}
+
+.enlighter-t-bootstrap4 .enlighter-s0 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-s1 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-s2 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-s3 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-s4 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-s5 {
+ color: #d44950
+}
+
+.enlighter-t-bootstrap4 .enlighter-n0 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-n1 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-n2 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-n3 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-n4 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-n5 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-m0 {
+ color: #99f
+}
+
+.enlighter-t-bootstrap4 .enlighter-m1 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-m2 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-m3 {
+ color: #212529
+}
+
+.enlighter-t-bootstrap4 .enlighter-g0 {
+ color: #2f6f9f
+}
+
+.enlighter-t-bootstrap4 .enlighter-g1 {
+ color: #999;
+ font-weight: 700
+}
+
+.enlighter-t-bootstrap4 .enlighter-t0 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-t1 {
+ color: #d44950;
+ font-weight: 700
+}
+
+.enlighter-t-bootstrap4 .enlighter-t2 {
+ color: #d44950;
+ font-weight: 700
+}
+
+.enlighter-t-bootstrap4 .enlighter-t3 {
+ color: #0086b3
+}
+
+.enlighter-t-bootstrap4 .enlighter-t4 {
+ color: #0a8
+}
+
+.enlighter-t-bootstrap4 .enlighter-t5 {
+ color: #0a8
+}
+
+.enlighter-t-bootstrap4 .enlighter-t6 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-t7 {
+ color: #999;
+ font-weight: 700
+}
+
+.enlighter-t-bootstrap4 .enlighter-t8 {
+ color: #999
+}
+
+.enlighter-t-bootstrap4 .enlighter-x1 {
+ color: #2f6f9f
+}
+
+.enlighter-t-bootstrap4 .enlighter-x2 {
+ color: #4f9fcf
+}
+
+.enlighter-t-bootstrap4 .enlighter-x10 {
+ color: #0a8
+}
+
+.enlighter-t-bootstrap4 .enlighter-x11 {
+ color: #0a8
+}
+
+.enlighter-t-bootstrap4 .enlighter-x12 {
+ color: #99f
+}
+
+.enlighter-t-bootstrap4 .enlighter-x13 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-x14 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4 .enlighter-x15 {
+ color: #f60
+}
+
+.enlighter-t-bootstrap4.enlighter-v-inline {
+ background-color: #f8f9fa;
+ border: none;
+ border-radius: 5px;
+ padding: 3px
+}
+
+.enlighter-t-bootstrap4.enlighter-v-codegroup .enlighter-codegroup-switch {
+ border: solid 3px #f8f9fa;
+ border-bottom-width: 0;
+ padding: 15px
+}
+
+.enlighter-t-dracula {
+ background-color: #2d2e31;
+ color: #7e9bf5
+}
+
+.enlighter-t-dracula .enlighter-btn:hover {
+ color: #4b7bf9
+}
+
+.enlighter-t-dracula.enlighter-hover div.enlighter>div:hover {
+ background-color: #44475a
+}
+
+.enlighter-t-dracula div.enlighter>div {
+ color: #6272a4
+}
+
+.enlighter-t-dracula div.enlighter>div.enlighter-special {
+ background-color: #44475a
+}
+
+.enlighter-t-dracula.enlighter-linenumbers div.enlighter>div::before {
+ font-size: 12px;
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-text {
+ color: #f8f8f2
+}
+
+.enlighter-t-dracula .enlighter-c0 {
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-c1 {
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-c2 {
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-c9 {
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-k0 {
+ color: #ff79c6;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-k1 {
+ color: #8be9fd;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-k2 {
+ color: #ff79c6;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-k3 {
+ color: #ff79c6
+}
+
+.enlighter-t-dracula .enlighter-k4 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-k5 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-k6 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-k7 {
+ color: #ffb86c
+}
+
+.enlighter-t-dracula .enlighter-k8 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-k9 {
+ color: #50fa7b
+}
+
+.enlighter-t-dracula .enlighter-k10 {
+ color: #50fa7b
+}
+
+.enlighter-t-dracula .enlighter-e0 {
+ color: #bd93f9;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-e1 {
+ color: #bd93f9;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-e2 {
+ color: #f1fa8c
+}
+
+.enlighter-t-dracula .enlighter-e3 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-e4 {
+ color: #bd93f9;
+ font-style: italic
+}
+
+.enlighter-t-dracula .enlighter-s0 {
+ color: #f1fa8c
+}
+
+.enlighter-t-dracula .enlighter-s1 {
+ color: #f1fa8c
+}
+
+.enlighter-t-dracula .enlighter-s2 {
+ color: #f1fa8c
+}
+
+.enlighter-t-dracula .enlighter-s3 {
+ color: #f1fa8c
+}
+
+.enlighter-t-dracula .enlighter-s4 {
+ color: #f1fa8c;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-s5 {
+ color: #f1fa8c;
+ font-style: italic
+}
+
+.enlighter-t-dracula .enlighter-n0 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-n1 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-n2 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-n3 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-n4 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-n5 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-m0 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-m1 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-m2 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-m3 {
+ color: #8be9fd
+}
+
+.enlighter-t-dracula .enlighter-g0 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-g1 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-t0 {
+ color: #6272a4
+}
+
+.enlighter-t-dracula .enlighter-t1 {
+ color: #8be9fd;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-t2 {
+ color: #8be9fd;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-t3 {
+ color: #ff79c6
+}
+
+.enlighter-t-dracula .enlighter-t4 {
+ color: #ffb86c
+}
+
+.enlighter-t-dracula .enlighter-t5 {
+ color: #50fa7b
+}
+
+.enlighter-t-dracula .enlighter-t6 {
+ color: #f55
+}
+
+.enlighter-t-dracula .enlighter-t7 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-t8 {
+ color: #f8f8f2
+}
+
+.enlighter-t-dracula .enlighter-x1 {
+ color: #ff79c6;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-x2 {
+ color: #50fa7b
+}
+
+.enlighter-t-dracula .enlighter-x10 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-x11 {
+ color: #50fa7b;
+ font-weight: 700
+}
+
+.enlighter-t-dracula .enlighter-x12 {
+ color: #8be9fd;
+ font-style: italic
+}
+
+.enlighter-t-dracula .enlighter-x13 {
+ color: #bd93f9
+}
+
+.enlighter-t-dracula .enlighter-x14 {
+ color: #bd93f9;
+ font-style: italic
+}
+
+.enlighter-t-dracula .enlighter-x15 {
+ color: #ffb86c;
+ font-style: italic
+}
+
+.enlighter-t-dracula.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #282a36;
+ padding: 10px
+}
+
+.enlighter-t-monokai {
+ background-color: #272822;
+ border-bottom: 5px solid #949833
+}
+
+.enlighter-t-monokai.enlighter-hover div.enlighter>div:hover {
+ background-color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-raw {
+ color: #bab36b;
+ line-height: 19px
+}
+
+.enlighter-t-monokai div.enlighter>div {
+ line-height: 19px
+}
+
+.enlighter-t-monokai div.enlighter>div.enlighter-special {
+ background-color: #414339
+}
+
+.enlighter-t-monokai.enlighter-linenumbers div.enlighter>div::before {
+ font-size: 12px;
+ color: #d2c784
+}
+
+.enlighter-t-monokai .enlighter-text {
+ color: #f8f8f2
+}
+
+.enlighter-t-monokai .enlighter-c0 {
+ color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-c1 {
+ color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-c2 {
+ color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-c9 {
+ color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-k0 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k1 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k2 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k3 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k4 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k5 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k6 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k7 {
+ color: #f8f8f2
+}
+
+.enlighter-t-monokai .enlighter-k8 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-k9 {
+ color: #fd971f
+}
+
+.enlighter-t-monokai .enlighter-k10 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-e0 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-e1 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-e2 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-e3 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-e4 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-s0 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-s1 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-s2 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-s3 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-s4 {
+ color: #e6db74;
+ font-weight: 700
+}
+
+.enlighter-t-monokai .enlighter-s5 {
+ color: #e6db74;
+ font-style: italic
+}
+
+.enlighter-t-monokai .enlighter-n0 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-n1 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-n2 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-n3 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-n4 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-n5 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-m0 {
+ color: #66d9ef
+}
+
+.enlighter-t-monokai .enlighter-m1 {
+ color: #66d9ef
+}
+
+.enlighter-t-monokai .enlighter-m2 {
+ color: #66d9ef
+}
+
+.enlighter-t-monokai .enlighter-m3 {
+ color: #66d9ef
+}
+
+.enlighter-t-monokai .enlighter-g0 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-monokai .enlighter-g1 {
+ color: #f8f8f2;
+ font-weight: 700
+}
+
+.enlighter-t-monokai .enlighter-t0 {
+ color: #f8f8f2
+}
+
+.enlighter-t-monokai .enlighter-t1 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-t2 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-t3 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-t4 {
+ color: #e6db74
+}
+
+.enlighter-t-monokai .enlighter-t5 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-t6 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-t7 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-t8 {
+ color: #75715e
+}
+
+.enlighter-t-monokai .enlighter-x1 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-x2 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-x10 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-x11 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai .enlighter-x12 {
+ color: #66d9ef;
+ font-style: italic
+}
+
+.enlighter-t-monokai .enlighter-x13 {
+ color: #f92672
+}
+
+.enlighter-t-monokai .enlighter-x14 {
+ color: #ae81ff
+}
+
+.enlighter-t-monokai .enlighter-x15 {
+ color: #a6e22e
+}
+
+.enlighter-t-monokai.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #414339;
+ padding: 10px 10px 0 30px
+}
+
+.enlighter {
+ -ms-overflow-style: none;
+ overflow: -moz-scrollbars-none;
+}
+
+.enlighter::-webkit-scrollbar {
+ width: 5px;
+ height: 5px;
+ margin: 2px
+}
+
+.enlighter::-webkit-scrollbar-track {
+ border-radius: 10px
+}
+
+.enlighter::-webkit-scrollbar-thumb {
+ border-radius: 10px;
+ background: rgba(0, 0, 0, .1)
+}
+
+.enlighter::-webkit-scrollbar-thumb:hover {
+ background: rgba(0, 0, 0, .2)
+}
+
+.enlighter::-webkit-scrollbar-thumb:window-inactive {
+ background: rgba(0, 0, 0, .05)
+}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.dracula.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.dracula.min.css
new file mode 100644
index 00000000..f1923b87
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.dracula.min.css
@@ -0,0 +1,456 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip {
+ z-index: 100;
+}
+.enlighter-default {
+ font-family: "Source Code Pro", "Liberation Mono", "Courier New", Courier,
+ monospace;
+ font-size: 10px;
+ line-height: 16px;
+ overflow: hidden;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ margin: 0 0 20px 0;
+ padding: 0;
+ position: relative;
+ text-align: left;
+ direction: ltr;
+}
+.enlighter-default .enlighter-special:hover {
+ background-color: #f4f8fc;
+}
+.enlighter-default .enlighter-raw {
+ display: none;
+ min-width: 100%;
+ line-height: inherit;
+ font-size: 12px;
+ font-family: inherit;
+ margin: 0;
+ padding: 0;
+ white-space: pre-wrap;
+ word-wrap: break-word;
+ border: none;
+ box-shadow: none;
+}
+.enlighter-default:hover .enlighter-toolbar {
+ display: block;
+}
+.enlighter-default .enlighter-btn {
+ display: inline-block;
+ margin: 0 5px 0 5px;
+ padding: 3px 5px 3px 5px;
+ border: solid 1px #333;
+ background-color: #f0f0f0;
+ cursor: pointer;
+ font-family: inherit;
+}
+.enlighter-default .enlighter-toolbar .enlighter-btn-raw {
+ background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A);
+}
+.enlighter-default .enlighter-toolbar .enlighter-btn-copy {
+ background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A);
+}
+.enlighter-default .enlighter-toolbar .enlighter-btn-window {
+ background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A);
+}
+.enlighter-default .enlighter-toolbar .enlighter-btn-website {
+ background-image: url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A);
+}
+.enlighter-origin {
+ display: none !important;
+}
+.enlighter-clipboard {
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ width: 1px;
+ height: 1px;
+ overflow: hidden;
+}
+.enlighter-v-inline {
+ display: inline-block;
+ overflow: inherit;
+ margin: 0;
+}
+.enlighter-v-standard {
+ display: block;
+}
+.enlighter-v-codegroup {
+ display: block;
+}
+.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ position: relative;
+}
+div.enlighter {
+ display: table;
+ width: 100%;
+ border-collapse: collapse;
+ border-spacing: 0;
+ empty-cells: show;
+ min-width: 100%;
+ font-size: 10px;
+ margin: 0;
+ padding: 0;
+ text-indent: 0;
+ counter-reset: enlighter 0;
+}
+div.enlighter > div {
+ display: table-row;
+ margin: 0;
+ border: solid 0 #fff;
+ list-style: none;
+ font-size: inherit;
+ line-height: 14px;
+ min-height: 14px;
+}
+div.enlighter > div > div {
+ display: table-cell;
+ padding-left: 10px;
+}
+div.enlighter > div > div::before {
+ content: " ";
+}
+span.enlighter {
+ display: inline-block;
+ padding: 3px 5px 1px 5px;
+ margin: 0 2px 0 2px;
+}
+.enlighter span {
+ margin: 0;
+ padding: 0;
+ line-height: inherit;
+ font-size: 12px;
+ font-family: inherit;
+}
+.enlighter-linenumbers div.enlighter > div::before {
+ white-space: nowrap;
+ display: block;
+ display: table-cell;
+ width: 45px;
+ min-width: 45px;
+ counter-increment: enlighter;
+ content: counter(enlighter, decimal) ".";
+ text-align: right;
+ padding-right: 8px;
+}
+.enlighter-toolbar {
+ display: none;
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ z-index: 10;
+}
+.enlighter-overflow-scroll.enlighter-v-standard {
+ overflow-x: auto;
+ word-wrap: normal !important;
+}
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper {
+ overflow-x: auto;
+ word-wrap: normal !important;
+}
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter > div > div,
+.enlighter-overflow-scroll.enlighter-v-standard .enlighter > div > div {
+ white-space: pre !important;
+}
+.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,
+.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw {
+ white-space: pre !important;
+}
+.enlighter-show-rawcode .enlighter-raw {
+ display: block;
+}
+.enlighter-show-rawcode .enlighter {
+ display: none !important;
+}
+.enlighter-t-dracula {
+ background-color: #282a36;
+ padding: 12px 0;
+ border-radius: 6px;
+}
+.enlighter-t-dracula .enlighter-toolbar {
+ top: 10px;
+ right: 10px;
+}
+.enlighter-t-dracula .enlighter-btn {
+ background-image: none;
+ background-color: #44475a;
+ color: #f8f8f2;
+ font-size: 12px;
+ padding: 2px 8px 2px 8px;
+ margin: 0 5px 0 5px;
+ border: none;
+ border-radius: 4px;
+ font-family: "Arial, Helvetica, sans-serif";
+}
+.enlighter-t-dracula .enlighter-btn:hover {
+ background-color: #6272a4;
+ color: #f8f8f2;
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-raw {
+ background-image: none;
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-raw:after {
+ content: "Raw";
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-copy {
+ background-image: none;
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-copy:after {
+ content: "Copy";
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-window {
+ background-image: none;
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-window:after {
+ content: "Extern";
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-website {
+ background-image: none;
+}
+.enlighter-t-dracula .enlighter-toolbar .enlighter-btn-website:after {
+ content: "EnlighterJS";
+}
+.enlighter-t-dracula.enlighter-hover div.enlighter > div:hover {
+ background-color: #44475a;
+}
+.enlighter-t-dracula .enlighter-raw {
+ font-size: 15px;
+ color: #f8f8f2;
+ line-height: 22px;
+ padding: 4px 5px 4px 55px;
+}
+.enlighter-t-dracula div.enlighter > div {
+ padding: 1px 5px 1px 14px;
+ line-height: 19px;
+ color: #6272a4;
+ background-color: #282a36;
+}
+.enlighter-t-dracula div.enlighter > div:first-child {
+ padding-top: 5px;
+}
+.enlighter-t-dracula div.enlighter > div:last-child {
+ padding-bottom: 5px;
+}
+.enlighter-t-dracula div.enlighter > div:after {
+ content: " ";
+}
+.enlighter-t-dracula div.enlighter > div.enlighter-special {
+ background-color: #44475a;
+}
+.enlighter-t-dracula.enlighter-linenumbers div.enlighter > div::before {
+ font-size: 12px;
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter span {
+ font-size: 15px;
+}
+.enlighter-t-dracula .enlighter-text {
+ color: #f8f8f2;
+}
+.enlighter-t-dracula .enlighter-c0 {
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter-c1 {
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter-c2 {
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter-c9 {
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter-k0 {
+ color: #ff79c6;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-k1 {
+ color: #8be9fd;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-k2 {
+ color: #ff79c6;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-k3 {
+ color: #ff79c6;
+}
+.enlighter-t-dracula .enlighter-k4 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-k5 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-k6 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-k7 {
+ color: #ffb86c;
+}
+.enlighter-t-dracula .enlighter-k8 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-k9 {
+ color: #50fa7b;
+}
+.enlighter-t-dracula .enlighter-k10 {
+ color: #50fa7b;
+}
+.enlighter-t-dracula .enlighter-e0 {
+ color: #bd93f9;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-e1 {
+ color: #bd93f9;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-e2 {
+ color: #f1fa8c;
+}
+.enlighter-t-dracula .enlighter-e3 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-e4 {
+ color: #bd93f9;
+ font-style: italic;
+}
+.enlighter-t-dracula .enlighter-s0 {
+ color: #f1fa8c;
+}
+.enlighter-t-dracula .enlighter-s1 {
+ color: #f1fa8c;
+}
+.enlighter-t-dracula .enlighter-s2 {
+ color: #f1fa8c;
+}
+.enlighter-t-dracula .enlighter-s3 {
+ color: #f1fa8c;
+}
+.enlighter-t-dracula .enlighter-s4 {
+ color: #f1fa8c;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-s5 {
+ color: #f1fa8c;
+ font-style: italic;
+}
+.enlighter-t-dracula .enlighter-n0 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-n1 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-n2 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-n3 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-n4 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-n5 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-m0 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-m1 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-m2 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-m3 {
+ color: #8be9fd;
+}
+.enlighter-t-dracula .enlighter-g0 {
+ color: #f8f8f2;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-g1 {
+ color: #f8f8f2;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-t0 {
+ color: #6272a4;
+}
+.enlighter-t-dracula .enlighter-t1 {
+ color: #8be9fd;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-t2 {
+ color: #8be9fd;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-t3 {
+ color: #ff79c6;
+}
+.enlighter-t-dracula .enlighter-t4 {
+ color: #ffb86c;
+}
+.enlighter-t-dracula .enlighter-t5 {
+ color: #50fa7b;
+}
+.enlighter-t-dracula .enlighter-t6 {
+ color: #f55;
+}
+.enlighter-t-dracula .enlighter-t7 {
+ color: #f8f8f2;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-t8 {
+ color: #f8f8f2;
+}
+.enlighter-t-dracula .enlighter-x1 {
+ color: #ff79c6;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-x2 {
+ color: #50fa7b;
+}
+.enlighter-t-dracula .enlighter-x10 {
+ color: #f8f8f2;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-x11 {
+ color: #50fa7b;
+ font-weight: 700;
+}
+.enlighter-t-dracula .enlighter-x12 {
+ color: #8be9fd;
+ font-style: italic;
+}
+.enlighter-t-dracula .enlighter-x13 {
+ color: #bd93f9;
+}
+.enlighter-t-dracula .enlighter-x14 {
+ color: #bd93f9;
+ font-style: italic;
+}
+.enlighter-t-dracula .enlighter-x15 {
+ color: #ffb86c;
+ font-style: italic;
+}
+.enlighter-t-dracula.enlighter-v-codegroup .enlighter-codegroup-switch {
+ background-color: #282a36;
+ padding: 10px;
+}
+.enlighter-t-dracula.enlighter-v-codegroup
+ .enlighter-codegroup-switch
+ .enlighter-btn {
+ background-image: none;
+ background-color: transparent;
+ color: #f8f8f2;
+ font-size: 14px;
+ padding: 2px 8px 2px 8px;
+ margin: 0 5px 0 5px;
+ border: none;
+ border-radius: 4px;
+ font-family: "Arial, Helvetica, sans-serif";
+}
+.enlighter-t-dracula.enlighter-v-codegroup
+ .enlighter-codegroup-switch
+ .enlighter-btn.enlighter-active {
+ background-color: #44475a;
+ color: #f8f8f2;
+}
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.droide.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.droide.min.css
new file mode 100644
index 00000000..dc0395a5
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.droide.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-droide{background-color:#f7f7f9;border:solid 1px #e0e0e0}.enlighter-t-droide .enlighter-btn{background-color:#fff;color:#717171;font-size:12px;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;background-position:0 0;background-size:contain}.enlighter-t-droide .enlighter-btn:hover{background-color:#fff}.enlighter-t-droide .enlighter-btn:after{content:''}.enlighter-t-droide.enlighter-hover div.enlighter>div:hover{background-color:#fae9d9}.enlighter-t-droide .enlighter-raw{font-size:13px;color:#404141;line-height:18px;padding:4px 5px 4px 55px}.enlighter-t-droide div.enlighter>div{border:solid 0 #fff;padding:1px 5px 1px 14px;line-height:16px;color:#aaa}.enlighter-t-droide div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-droide div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-droide div.enlighter>div:AFTER{content:' '}.enlighter-t-droide div.enlighter>div.enlighter-special{background-color:#fae9d9;border-left:solid 5px #e07c19}.enlighter-t-droide.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 0;border-right:1px dashed #e0e0e0;font-size:11px;color:#707070;background-color:#f7f7f9}.enlighter-t-droide .enlighter span{font-size:13px}.enlighter-t-droide .enlighter-text{color:#000}.enlighter-t-droide .enlighter-c0{color:#086b08}.enlighter-t-droide .enlighter-c1{color:#086b08}.enlighter-t-droide .enlighter-c2{color:#086b08}.enlighter-t-droide .enlighter-c9{color:#086b08}.enlighter-t-droide .enlighter-k0{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k1{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k2{color:#458;font-weight:700}.enlighter-t-droide .enlighter-k3{color:#6e0d6e}.enlighter-t-droide .enlighter-k4{color:#6e0d6e;font-weight:700}.enlighter-t-droide .enlighter-k5{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k6{color:#12217c;font-style:italic}.enlighter-t-droide .enlighter-k7{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k8{color:#458}.enlighter-t-droide .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-droide .enlighter-k10{color:#6e0d6e;font-style:italic}.enlighter-t-droide .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-droide .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-droide .enlighter-e2{color:#009926}.enlighter-t-droide .enlighter-e3{color:#286491}.enlighter-t-droide .enlighter-e4{color:#ff8c00;font-style:italic}.enlighter-t-droide .enlighter-s0{color:#961414}.enlighter-t-droide .enlighter-s1{color:#961414}.enlighter-t-droide .enlighter-s2{color:#961414}.enlighter-t-droide .enlighter-s3{color:#961414}.enlighter-t-droide .enlighter-s4{color:#963f14;font-weight:700}.enlighter-t-droide .enlighter-s5{color:#961414;font-style:italic}.enlighter-t-droide .enlighter-n0{color:#099}.enlighter-t-droide .enlighter-n1{color:#099}.enlighter-t-droide .enlighter-n2{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n3{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n4{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-droide .enlighter-m0{color:#000}.enlighter-t-droide .enlighter-m1{color:#000}.enlighter-t-droide .enlighter-m2{color:#000}.enlighter-t-droide .enlighter-m3{color:#000}.enlighter-t-droide .enlighter-g0{color:#12217c}.enlighter-t-droide .enlighter-g1{color:#12217c}.enlighter-t-droide .enlighter-t0{color:#777}.enlighter-t-droide .enlighter-t1{color:#961414;font-weight:700}.enlighter-t-droide .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-droide .enlighter-t3{color:#458}.enlighter-t-droide .enlighter-t4{color:#6e0d6e}.enlighter-t-droide .enlighter-t5{color:#6e0d6e}.enlighter-t-droide .enlighter-t6{color:#961414}.enlighter-t-droide .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-droide .enlighter-t8{color:#777;font-style:italic}.enlighter-t-droide .enlighter-x1{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x2{color:#6e0d6e}.enlighter-t-droide .enlighter-x10{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x11{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x12{color:#458}.enlighter-t-droide .enlighter-x13{color:#099}.enlighter-t-droide .enlighter-x14{color:#099}.enlighter-t-droide .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-droide.enlighter-v-codegroup{background-color:transparent;border:none}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-wrapper{background-color:#f7f7f9;border:solid 1px #e0e0e0}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-switch{padding-left:15px}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{border:solid 1px #e0e0e0;font-size:12px;color:#000;background-color:transparent;border-radius:0;border-bottom-width:0;padding:5px 10px 5px 10px;font-weight:700;width:auto}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#f7f7f9;color:#000;border-color:#c9c9c9}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.eclipse.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.eclipse.min.css
new file mode 100644
index 00000000..0e499b99
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.eclipse.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-eclipse{color:#787878;border-radius:5px;border:solid 8px #f3f3f3;background-color:#fff}.enlighter-t-eclipse .enlighter-toolbar{top:15px;right:15px}.enlighter-t-eclipse .enlighter-btn{background-color:#fff;color:#717171;font-size:12px;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;background-position:0 0;background-size:contain;border-radius:8px}.enlighter-t-eclipse .enlighter-btn:hover{background-color:#e0e0e0}.enlighter-t-eclipse .enlighter-btn:after{content:''}.enlighter-t-eclipse.enlighter-hover.enlighter-linenumbers div.enlighter>div:hover{background-color:#e8f2fe;color:#444}.enlighter-t-eclipse.enlighter-hover div.enlighter>div:hover{background-color:#e8f2fe;color:#444;border-left-color:#e0e0e0}.enlighter-t-eclipse .enlighter-raw{font-size:13px;line-height:18px;padding:4px 5px 4px 56px;color:#717171}.enlighter-t-eclipse div.enlighter{background-color:#fff}.enlighter-t-eclipse div.enlighter>div{border:solid 0 #fff;background-color:transparent;padding:1px 5px 1px 0;line-height:16px;color:#787878}.enlighter-t-eclipse div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-eclipse div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-eclipse div.enlighter>div:AFTER{content:' '}.enlighter-t-eclipse div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-eclipse.enlighter-linenumbers div.enlighter>div::before{border-right:2px solid #f8f8f8;padding:1px 5px 1px 14px}.enlighter-t-eclipse .enlighter span{font-size:13px}.enlighter-t-eclipse .enlighter-text{color:#000}.enlighter-t-eclipse .enlighter-c0{color:#3f7f5f}.enlighter-t-eclipse .enlighter-c1{color:#3f5fbf}.enlighter-t-eclipse .enlighter-c2{color:#3f5fbf}.enlighter-t-eclipse .enlighter-c9{color:#3f5fbf}.enlighter-t-eclipse .enlighter-k0{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-k1{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-k2{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k3{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k4{color:#458}.enlighter-t-eclipse .enlighter-k5{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k6{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k7{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k8{color:#458}.enlighter-t-eclipse .enlighter-k9{color:#990073}.enlighter-t-eclipse .enlighter-k10{color:#990073}.enlighter-t-eclipse .enlighter-e0{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e1{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e2{color:#009926}.enlighter-t-eclipse .enlighter-e3{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e4{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-s0{color:#320fe3}.enlighter-t-eclipse .enlighter-s1{color:#320fe3}.enlighter-t-eclipse .enlighter-s2{color:#320fe3}.enlighter-t-eclipse .enlighter-s3{color:#320fe3}.enlighter-t-eclipse .enlighter-s4{color:#320fe3}.enlighter-t-eclipse .enlighter-s5{color:#990073}.enlighter-t-eclipse .enlighter-n0{color:#000}.enlighter-t-eclipse .enlighter-n1{color:#000}.enlighter-t-eclipse .enlighter-n2{color:#000}.enlighter-t-eclipse .enlighter-n3{color:#000}.enlighter-t-eclipse .enlighter-n4{color:#000}.enlighter-t-eclipse .enlighter-n5{color:#000}.enlighter-t-eclipse .enlighter-m0{color:#000}.enlighter-t-eclipse .enlighter-m1{color:#000}.enlighter-t-eclipse .enlighter-m2{color:#000}.enlighter-t-eclipse .enlighter-m3{color:#000}.enlighter-t-eclipse .enlighter-g0{color:#777}.enlighter-t-eclipse .enlighter-g1{color:#777}.enlighter-t-eclipse .enlighter-t0{color:#777}.enlighter-t-eclipse .enlighter-t1{color:#3f7f5f;font-weight:700}.enlighter-t-eclipse .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-eclipse .enlighter-t3{color:#458}.enlighter-t-eclipse .enlighter-t4{color:#458}.enlighter-t-eclipse .enlighter-t5{color:#458}.enlighter-t-eclipse .enlighter-t6{color:#3f7f5f}.enlighter-t-eclipse .enlighter-t7{color:#a0a0a0;font-weight:700}.enlighter-t-eclipse .enlighter-t8{color:#a0a0a0;font-style:italic}.enlighter-t-eclipse .enlighter-x1{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x2{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-x10{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x11{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x12{color:#458}.enlighter-t-eclipse .enlighter-x13{color:#3f7f95}.enlighter-t-eclipse .enlighter-x14{color:#000}.enlighter-t-eclipse .enlighter-x15{color:#000}.enlighter-t-eclipse.enlighter-v-inline{border-radius:3px;background-color:#f8f8f8;border:solid 0 #fff}.enlighter-t-eclipse.enlighter-v-codegroup{display:block}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter,.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-raw{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#f3f3f3;padding:8px 5px 0 60px;border-radius:5px 5px 0 0}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{font-size:12px;color:#000;background-color:transparent;padding:5px 10px 5px 10px;border-radius:5px 5px 0 0;border:none;width:auto}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#fff;color:#000;border-color:#c9c9c9}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.enlighter.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.enlighter.min.css
new file mode 100644
index 00000000..426186eb
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.enlighter.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-enlighter{color:#939393;border-radius:8px;border:solid 1px #e0e0e0}.enlighter-t-enlighter .enlighter-btn{border-radius:3px;background-color:#fff;color:#717171;font-size:12px;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;background-position:0 0;background-size:contain}.enlighter-t-enlighter .enlighter-btn:hover{border-color:#c9c9c9}.enlighter-t-enlighter .enlighter-btn:after{content:''}.enlighter-t-enlighter.enlighter-hover.enlighter-linenumbers div.enlighter>div:hover{color:#444;background-color:#fffcd3}.enlighter-t-enlighter.enlighter-hover div.enlighter>div:hover{color:#444;background-color:#fffcd3}.enlighter-t-enlighter .enlighter-raw{font-size:12px;color:#000;background-color:#f9f9f9;border-radius:8px;line-height:17px;padding:0 5px 0 60px}.enlighter-t-enlighter div.enlighter>div{border:solid 0 #fff;line-height:16px;color:#aaa}.enlighter-t-enlighter div.enlighter>div:FIRST-CHILD{border-radius:8px 8px 0 0}.enlighter-t-enlighter div.enlighter>div:LAST-CHILD{border-radius:0 0 8px 8px}.enlighter-t-enlighter div.enlighter>div.enlighter-special{background-color:#fdf5f0}.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div::before{border-right:solid 1px #e0e0e0;background-color:#f9f9f9}.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div:FIRST-CHILD::before{border-radius:8px 0 0 0}.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div:LAST-CHILD::before{border-radius:0 0 0 8px}.enlighter-t-enlighter .enlighter-text{color:#000}.enlighter-t-enlighter .enlighter-c0{color:#99a}.enlighter-t-enlighter .enlighter-c1{color:#99a}.enlighter-t-enlighter .enlighter-c2{color:#99a}.enlighter-t-enlighter .enlighter-c9{color:#9baa8f}.enlighter-t-enlighter .enlighter-k0{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k1{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k2{color:#458;font-weight:700}.enlighter-t-enlighter .enlighter-k3{color:#4da0d2;background-color:#f0f0f0}.enlighter-t-enlighter .enlighter-k4{color:#4a9141;font-weight:700}.enlighter-t-enlighter .enlighter-k5{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k6{color:#286491;font-style:italic}.enlighter-t-enlighter .enlighter-k7{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k8{color:#4da0d2}.enlighter-t-enlighter .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-enlighter .enlighter-k10{color:#4a9141;font-style:italic}.enlighter-t-enlighter .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-enlighter .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-enlighter .enlighter-e2{color:#009926}.enlighter-t-enlighter .enlighter-e3{color:#286491}.enlighter-t-enlighter .enlighter-e4{color:#ff8c00;font-style:italic}.enlighter-t-enlighter .enlighter-s0{color:#d14}.enlighter-t-enlighter .enlighter-s1{color:#d14}.enlighter-t-enlighter .enlighter-s2{color:#d14}.enlighter-t-enlighter .enlighter-s3{color:#737383}.enlighter-t-enlighter .enlighter-s4{color:#ff8c00;font-weight:700}.enlighter-t-enlighter .enlighter-s5{color:#d14;font-style:italic}.enlighter-t-enlighter .enlighter-n0{color:#099}.enlighter-t-enlighter .enlighter-n1{color:#099}.enlighter-t-enlighter .enlighter-n2{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n3{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n4{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-enlighter .enlighter-m0{color:#0086b3}.enlighter-t-enlighter .enlighter-m1{color:#0086b3}.enlighter-t-enlighter .enlighter-m2{color:#0086b3}.enlighter-t-enlighter .enlighter-m3{color:#0086b3}.enlighter-t-enlighter .enlighter-g0{color:#777}.enlighter-t-enlighter .enlighter-g1{color:#777}.enlighter-t-enlighter .enlighter-t0{color:#777}.enlighter-t-enlighter .enlighter-t1{color:#d14;font-weight:700}.enlighter-t-enlighter .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-enlighter .enlighter-t3{color:#0086b3}.enlighter-t-enlighter .enlighter-t4{color:#009926}.enlighter-t-enlighter .enlighter-t5{color:#009926}.enlighter-t-enlighter .enlighter-t6{color:#d14}.enlighter-t-enlighter .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-enlighter .enlighter-t8{color:#777;background-color:#f0f0f0;font-style:italic}.enlighter-t-enlighter .enlighter-x1{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-x2{color:#4da0d2}.enlighter-t-enlighter .enlighter-x10{color:#000;font-weight:700}.enlighter-t-enlighter .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-enlighter .enlighter-x13{color:#0086b3}.enlighter-t-enlighter .enlighter-x14{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-enlighter.enlighter-v-inline{border-radius:3px;background-color:#fafafa}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter,.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-raw{border-top-left-radius:0;border-top-right-radius:0}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter div:first-child{border-radius:0}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-switch{border-radius:8px 8px 0 0;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:5px 5px 5px 45px}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{padding:3px 10px 3px 10px;border-radius:4px;border:1px solid #e0e0e0;font-size:12px;color:#000;background-color:transparent;width:auto}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#e5e5e5;color:#000;border-color:#c9c9c9}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.godzilla.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.godzilla.min.css
new file mode 100644
index 00000000..8102aee5
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.godzilla.min.css
@@ -0,0 +1,3 @@
+/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */
+.enlighter-tooltip{z-index:100}.enlighter-default{font-family:"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;font-size:10px;line-height:16px;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;min-width:100%;line-height:inherit;font-size:12px;font-family:inherit;margin:0;padding:0;white-space:pre-wrap;word-wrap:break-word;border:none;box-shadow:none}.enlighter-default:hover .enlighter-toolbar{display:block}.enlighter-default .enlighter-btn{display:inline-block;margin:0 5px 0 5px;padding:3px 5px 3px 5px;border:solid 1px #333;background-color:#f0f0f0;cursor:pointer;font-family:inherit}.enlighter-default .enlighter-toolbar .enlighter-btn-raw{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20d%3D%22M19.436%2C36.875L6.568%2C25.002v-3.863L19.436%2C9.267v5.041l-9.583%2C8.668v0.188l9.583%2C8.669V36.875z%22%2F%3E%0D%0A%09%3Cpath%20d%3D%22M26.343%2C36.875v-5.041l9.583-8.669v-0.188l-9.583-8.668V9.267l12.868%2C11.872v3.863L26.343%2C36.875z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-copy{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2253.75%22%20y1%3D%2239.353%22%20x2%3D%2286.375%22%20y2%3D%2239.353%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%2251.711%22%20y1%3D%2230.534%22%20x2%3D%2284.336%22%20y2%3D%2230.534%22%2F%3E%0D%0A%3Crect%20x%3D%228.932%22%20y%3D%227.334%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.097%22%20height%3D%2224.952%22%2F%3E%0D%0A%3Crect%20x%3D%2218.942%22%20y%3D%2215.424%22%20fill%3D%22%23FFFFFF%22%20stroke%3D%22%23000000%22%20stroke-width%3D%223%22%20stroke-miterlimit%3D%2210%22%20width%3D%2221.096%22%20height%3D%2224.953%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-window{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22Ebene_2%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%229.25%22%20x2%3D%2239.75%22%20y2%3D%229.25%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2218.167%22%20x2%3D%2239.75%22%20y2%3D%2218.167%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2227.083%22%20x2%3D%2239.75%22%20y2%3D%2227.083%22%2F%3E%0D%0A%3Cline%20fill%3D%22none%22%20stroke%3D%22%23000000%22%20stroke-width%3D%224%22%20stroke-miterlimit%3D%2210%22%20x1%3D%227.125%22%20y1%3D%2236%22%20x2%3D%2229.809%22%20y2%3D%2236%22%2F%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-default .enlighter-toolbar .enlighter-btn-website{background-image:url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0D%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%0D%0A%3Csvg%20version%3D%221.1%22%20id%3D%22E%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%0D%0A%09%20width%3D%2246px%22%20height%3D%2246px%22%20viewBox%3D%220%200%2046%2046%22%20enable-background%3D%22new%200%200%2046%2046%22%20xml%3Aspace%3D%22preserve%22%3E%0D%0A%3Cg%3E%0D%0A%09%3Cpath%20fill%3D%22%23202F65%22%20d%3D%22M32.48%2C25.614H19.64l-4.933%2C9.826l17.746%2C0.037l-6.173%2C5.358L8.167%2C40.912L16.29%2C6.055h22.974l-5.734%2C5.354%0D%0A%09%09l-13.306-0.027l0.672%2C8.797h12.841L32.48%2C25.614z%22%2F%3E%0D%0A%3C%2Fg%3E%0D%0A%3C%2Fsvg%3E%0D%0A)}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{display:table;width:100%;border-collapse:collapse;border-spacing:0;empty-cells:show;min-width:100%;font-size:10px;margin:0;padding:0;text-indent:0;counter-reset:enlighter 0}div.enlighter>div{display:table-row;margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:14px;min-height:14px}div.enlighter>div>div{display:table-cell;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:12px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-toolbar{display:none;position:absolute;right:10px;top:10px;z-index:10}.enlighter-overflow-scroll.enlighter-v-standard{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{display:block}.enlighter-show-rawcode .enlighter{display:none!important}
+.enlighter-t-godzilla{border-left:solid 6px #4a80b3;background-image:url(data:image/gif;base64,R0lGODlhHgAeAJEAAPLz9ezt7vf39wAAACwAAAAAHgAeAAACYYyPqXvi/wCccr5gY3Y1491Z4fRlI3Rem5ByaymurQBT8nuDuM57wA8MCodEQA2V8yRjm6OmZ3G6oKSlrWlFYqlaJffpNWUvxbL5J2WNHenZrL2mxd/znfjLrm/v/Kg+UwAAOw==);background-repeat:repeat;background-position:0 0}.enlighter-t-godzilla .enlighter-btn{border-radius:3px;background-color:#fff;color:#717171;font-size:12px;padding:0;border:1px solid #e0e0e0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;background-position:0 0;background-size:contain}.enlighter-t-godzilla .enlighter-btn:hover{border-color:#c9c9c9}.enlighter-t-godzilla .enlighter-btn:after{content:''}.enlighter-t-godzilla.enlighter-hover div.enlighter>div:hover{background-color:#f0f0f1}.enlighter-t-godzilla .enlighter-raw{font-size:14px;line-height:19px;color:#2b333a;padding:4px 5px 4px 54px}.enlighter-t-godzilla div.enlighter>div{padding:1px 5px 1px 14px;line-height:16px;color:#9c9ea0}.enlighter-t-godzilla div.enlighter>div:FIRST-CHILD{padding-top:5px}.enlighter-t-godzilla div.enlighter>div:LAST-CHILD{padding-bottom:5px}.enlighter-t-godzilla div.enlighter>div:AFTER{content:' '}.enlighter-t-godzilla div.enlighter>div.enlighter-special{background-color:#fffcd3}.enlighter-t-godzilla.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;background-color:transparent;font-size:11px}.enlighter-t-godzilla .enlighter span{font-size:14px}.enlighter-t-godzilla .enlighter-text{color:#2b333a}.enlighter-t-godzilla .enlighter-c0{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c1{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c2{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c9{color:#5b7c9c}.enlighter-t-godzilla .enlighter-k0{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k2{color:#4284ae;font-weight:700}.enlighter-t-godzilla .enlighter-k3{color:#4284ae;background-color:#f0f0f0}.enlighter-t-godzilla .enlighter-k4{color:#4284ae;font-weight:700}.enlighter-t-godzilla .enlighter-k5{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k6{color:#085789;font-style:italic}.enlighter-t-godzilla .enlighter-k7{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k8{color:#4284ae}.enlighter-t-godzilla .enlighter-k9{color:#ae42a0;font-weight:700}.enlighter-t-godzilla .enlighter-k10{color:#ae42a0;font-style:italic}.enlighter-t-godzilla .enlighter-e0{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-e1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-e2{color:#085789}.enlighter-t-godzilla .enlighter-e3{color:#085789}.enlighter-t-godzilla .enlighter-e4{color:#d2901d}.enlighter-t-godzilla .enlighter-s0{color:#5e860f}.enlighter-t-godzilla .enlighter-s1{color:#5e860f}.enlighter-t-godzilla .enlighter-s2{color:#5e860f}.enlighter-t-godzilla .enlighter-s3{color:#5e860f}.enlighter-t-godzilla .enlighter-s4{color:#5e860f}.enlighter-t-godzilla .enlighter-s5{color:#5e860f}.enlighter-t-godzilla .enlighter-n0{color:#9b0d5c}.enlighter-t-godzilla .enlighter-n1{color:#9b0d5c}.enlighter-t-godzilla .enlighter-n2{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n3{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n4{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n5{color:#9b0d5c;text-decoration:underline}.enlighter-t-godzilla .enlighter-m0{color:#d0284a}.enlighter-t-godzilla .enlighter-m1{color:#d0284a}.enlighter-t-godzilla .enlighter-m2{color:#d0284a}.enlighter-t-godzilla .enlighter-m3{color:#d0284a}.enlighter-t-godzilla .enlighter-g0{color:#35434c}.enlighter-t-godzilla .enlighter-g1{color:#35434c}.enlighter-t-godzilla .enlighter-t0{color:#35434c}.enlighter-t-godzilla .enlighter-t1{color:#d0284a;font-weight:700}.enlighter-t-godzilla .enlighter-t2{color:#9b0d5c;font-weight:700}.enlighter-t-godzilla .enlighter-t3{color:#085789}.enlighter-t-godzilla .enlighter-t4{color:#085789}.enlighter-t-godzilla .enlighter-t5{color:#085789}.enlighter-t-godzilla .enlighter-t6{color:#d0284a}.enlighter-t-godzilla .enlighter-t7{color:#35434c;font-weight:700}.enlighter-t-godzilla .enlighter-t8{color:#35434c;background-color:#f0f0f0;font-style:italic}.enlighter-t-godzilla .enlighter-x1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-x2{color:#4284ae}.enlighter-t-godzilla .enlighter-x10{color:#35434c;font-weight:700}.enlighter-t-godzilla .enlighter-x11{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-x12{color:#085789;text-decoration:underline}.enlighter-t-godzilla .enlighter-x13{color:#4284ae}.enlighter-t-godzilla .enlighter-x14{color:#4284ae;font-style:italic}.enlighter-t-godzilla .enlighter-x15{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla.enlighter-v-inline{background-color:#f7f7f7;border:dotted 1px #e0e0e1;border-left:solid 2px #4a80b3}.enlighter-t-godzilla.enlighter-v-codegroup .enlighter-codegroup-switch{font-family:"Open Sans",Arial,Verdana,sans-serif;background-color:#4a80b3;padding:5px 5px 5px 5px}.enlighter-t-godzilla.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn{padding:3px 10px 3px 10px;border:none;background-color:transparent;line-height:20px;font-size:14px;color:#f0f0f0;width:auto}.enlighter-t-godzilla.enlighter-v-codegroup .enlighter-codegroup-switch .enlighter-btn.enlighter-active{background-color:#00417f}
\ No newline at end of file
diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.js b/assets/vendor/zibll/js/enlighter/enlighterjs.js
new file mode 100644
index 00000000..dc67c1df
--- /dev/null
+++ b/assets/vendor/zibll/js/enlighter/enlighterjs.js
@@ -0,0 +1,2314 @@
+var EnlighterJS = function(e) {
+ "use strict";
+ var u = {
+ indent: 4,
+ ampersandCleanup: !0,
+ linehover: !0,
+ rawcodeDbclick: !1,
+ textOverflow: "break",
+ linenumbers: !0,
+ lineoffset: 0,
+ highlight: "",
+ layout: "standard",
+ language: "generic",
+ theme: "enlighter",
+ title: ""
+ };
+ var t = {
+ sqStrings: {
+ regex: /('(?:[^'\\]|\\.)*')/g,
+ type: "s0"
+ },
+ dqStrings: {
+ regex: /"(?:[^"\\]|\\.)*"/g,
+ type: "s0"
+ },
+ bqStrings: {
+ regex: /`(?:[^`\\]|\\.)*`/g,
+ type: "s0"
+ },
+ char: {
+ regex: /('(\\.|.|\\\w+)')/g,
+ type: "s1"
+ },
+ slashComments: {
+ regex: /(?:^|[^\\])\/\/.*$/gm,
+ type: "c0"
+ },
+ poundComments: {
+ regex: /(?:^|[^\\])#.*$/gm,
+ type: "c0"
+ },
+ blockComments: {
+ regex: /\/\*[\s\S]*?\*\//g,
+ type: "c1"
+ },
+ docComments: {
+ regex: /\/\*\*[\s\S]*?\*\//g,
+ type: "c2"
+ },
+ heredoc: {
+ regex: /(<<[<-]?\s*?(['"]?)([A-Z0-9_]+)\2\s*\n[\s\S]*?\n\3)/gi,
+ type: "s5"
+ },
+ brackets: {
+ regex: /[[\](){}<>]+/g,
+ type: "g1"
+ },
+ floats: {
+ regex: /[\b\W](-?((?:\d+\.\d+|\.\d+|\d+\.)(?:e[+-]?\d+)?)|\d+(?:e[+-]?\d+))/gi,
+ type: "n0"
+ },
+ complex: {
+ regex: /[\b\W](?:-?(?:(?:\d+\.\d+|\.\d+|\d+\.|\d+)(?:e[+-]?\d+)?)|\d+(?:e[+-]?\d+))[ij]/gi,
+ type: "n5"
+ },
+ int: {
+ regex: /[\b\W](-?\d+)(?!\.)\b/g,
+ type: "n1"
+ },
+ hex: {
+ regex: /[\b\W](-?0x[A-F0-9]+)\b/gi,
+ type: "n2"
+ },
+ bin: {
+ regex: /[\b\W](-?0b[01]+)\b/gi,
+ type: "n3"
+ },
+ octal: {
+ regex: /[\b\W](-?0[0-7]+)(?!\.)\b/g,
+ type: "n4"
+ },
+ prop: {
+ regex: /[\w\])]\.(\w+)\b/g,
+ type: "m3"
+ },
+ fCalls: {
+ regex: /\b([\w]+)\s*\(/gm,
+ type: "m0"
+ },
+ mCalls: {
+ regex: /\.([\w]+)\s*\(/gm,
+ type: "m1"
+ },
+ boolean: {
+ regex: /\b(true|false)\b/gi,
+ type: "e0"
+ },
+ null: {
+ regex: /\b(null)\b/gi,
+ type: "e1"
+ }
+ };
+
+ function _(e, t, r, n, s) {
+ return {
+ text: e,
+ type: t,
+ index: n || 0,
+ end: e.length + n,
+ filter: r || null,
+ priority: s || 0
+ }
+ }
+ function r(e, t) {
+ if (!(e instanceof t)) throw new TypeError("Cannot call a class as a function")
+ }
+ var n = function(e, t, r) {
+ return t && s(e.prototype, t), r && s(e, r), e
+ };
+
+ function s(e, t) {
+ for (var r = 0; r < t.length; r++) {
+ var n = t[r];
+ n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object.defineProperty(e, n.key, n)
+ }
+ }
+ function o(e, t, r) {
+ null === e && (e = Function.prototype);
+ var n = Object.getOwnPropertyDescriptor(e, t);
+ if (void 0 === n) {
+ var s = Object.getPrototypeOf(e);
+ return null === s ? void 0 : o(s, t, r)
+ }
+ if ("value" in n) return n.value;
+ var i = n.get;
+ return void 0 !== i ? i.call(r) : void 0
+ }
+ function i(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 a(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
+ }
+ var g = function(e) {
+ if (Array.isArray(e)) {
+ for (var t = 0, r = Array(e.length); t < e.length; t++) r[t] = e[t];
+ return r
+ }
+ return Array.from(e)
+ }, l = (n(p, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.sqStrings, t.dqStrings, t.prop, t.slashComments, t.poundComments, t.blockComments, t.brackets, {
+ regex: /\W(true|false|null|nil|if|then|else|for|while|do|class|implements|extends|function|end|void|return|in|of|new|this|try|catch|def|except)\W/gi,
+ type: "k1"
+ },
+ t.mCalls, t.fCalls, t.octal, t.bin, t.hex, t.floats, t.int, {
+ regex: /[\b\s]([$&|~*:;]+)[\b\s]/g,
+ type: "g0"
+ }
+ ]
+ }
+ }, {
+ key: "analyze",
+ value: function(e) {
+ return function(e, t, r) {
+ for (var n = 2 < arguments.length && void 0 !== r ? r : "text", s = [], i = 0, o = 0; o < t.length; o++) {
+ var a = t[o];
+ if (!a || !a.type || !a.regex) return;
+ for (var g = void 0; null != (g = a.regex.exec(e));) {
+ if (5e4 < ++i) throw new Error("Infinite tokenizer loop detected; more than 50k tokens - language rule [" + o + "] " + a.regex + " seems to be broken");
+ if (0 != g[0].length) {
+ a.regex.lastIndex = g.index + 1 + g[0].length / 3;
+ var l = Array.isArray(a.type) ? a.type[0] : a.type,
+ p = (Array.isArray(a.filter) ? a.filter[0] : a.filter) || null;
+ if (1 < g.length) {
+ for (var u = 1; u < g.length; u++) if (g[u]) {
+ var c = Array.isArray(a.type) && a.type.length >= u ? a.type[u - 1] : l,
+ y = Array.isArray(a.filter) && a.filter.length >= u ? a.filter[u - 1] : p;
+ s.push(_(g[u], c, y, g.index + g[0].indexOf(g[u]), o))
+ }
+ } else s.push(_(g[0], l, p, g.index, o))
+ }
+ }
+ }
+ s = s.sort(function(e, t) {
+ return e.index == t.index ? e.priority < t.priority ? -1 : 1 : e.index < t.index ? -1 : 1
+ });
+ for (var b = [], f = 0, h = 0; h < s.length; h++) {
+ if (f < s[h].index && b.push(_(e.substring(f, s[h].index), n, null, f)), s[h].filter) for (var d = s[h].filter(s[h]) || [], x = 0; x < d.length; x++) b.push(d[x]);
+ else b.push(s[h]);
+ f = s[h].end;
+ for (var m = !1, k = h + 1; k < s.length; k++) if (s[k].index >= f) {
+ h = k - 1, m = !0;
+ break
+ }
+ if (!1 === m) break
+ }
+ return f < e.length && b.push(_(e.substring(f), n, null, f)), b
+ }(e, this.rules)
+ }
+ }
+ ]), p);
+
+ function p() {
+ r(this, p), this.rules = [], this.setupLanguage()
+ }
+ var c = (i(y, l), n(y, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.sqStrings, {
+ regex: /\|.*?\|/g,
+ type: "s2"
+ }, {
+ regex: /(".*)$/gm,
+ type: "c0"
+ }, {
+ regex: /^\s*(\*.*)$/gm,
+ type: "c0"
+ }, {
+ regex: /(data):?\s*(\w+)\s*/gi,
+ type: ["k2", "k7"]
+ }, {
+ regex: /(type)\s+(\w+)\s*/gi,
+ type: ["k2", "k5"]
+ }, {
+ regex: /\b(abap_true|abap_false)\b/gi,
+ type: "e0"
+ }, {
+ regex: /\b(abap_undefined)\b/gi,
+ type: "e1"
+ }, {
+ regex: /\b[A-Z_][A-Za-z0-9_]*\b/g,
+ type: "k0"
+ },
+ t.fCalls, t.int, t.brackets
+ ]
+ }
+ }
+ ]), y);
+
+ function y() {
+ return r(this, y), a(this, (y.__proto__ || Object.getPrototypeOf(y)).apply(this, arguments))
+ }
+ var b = (i(f, l), n(f, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /(;.*)$/gm,
+ type: "co0"
+ }, {
+ regex: /(\$.*)$/gm,
+ type: "k4"
+ },
+ t.sqStrings, t.dqStrings, {
+ regex: /(^|:)\s*?(\w+)\s+/gm,
+ type: "k0"
+ }, {
+ regex: /^\s*?([A-Z?_][A-Z0-9?_]+:)\s*?/gim,
+ type: "k6"
+ }, {
+ regex: /@\w+/gi,
+ type: "k9"
+ }, {
+ regex: /#\w+/gi,
+ type: "k9"
+ }, {
+ regex: /[A-F0-9][A-F0-9$]+?H/gi,
+ type: "n2"
+ }, {
+ regex: /\d[\d$]+?D/gi,
+ type: "n1"
+ }, {
+ regex: /[01][01$]+?B/gi,
+ type: "n3"
+ }, {
+ regex: /[0-7][0-7$]+?(?:Q|O)/gi,
+ type: "nu4"
+ }, {
+ regex: /(0x[A-F0-9]+|\$[A-F0-9]+)/gi,
+ type: "n2"
+ }, {
+ regex: /(0b[01]+)/g,
+ type: "n3"
+ }, {
+ regex: /\b(\d+)/g,
+ type: "n1"
+ },
+ t.fCalls
+ ]
+ }
+ }
+ ]), f);
+
+ function f() {
+ return r(this, f), a(this, (f.__proto__ || Object.getPrototypeOf(f)).apply(this, arguments))
+ }
+ var h = (i(d, l), n(d, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /(;.*)$/gm,
+ type: "co0"
+ },
+ t.sqStrings, t.dqStrings, {
+ regex: /^\s*?\.\w+\s+/gm,
+ type: "kw4"
+ }, {
+ regex: /\b(r\d{1,2})/gi,
+ type: "kw0"
+ }, {
+ regex: /(@[0-9])/gi,
+ type: "k2"
+ }, {
+ regex: /^\s*?(\w+:)\s*?/gm,
+ type: "kw6"
+ }, {
+ regex: /(^|:)\s*?(\w+)\s+/gm,
+ type: "kw0"
+ }, {
+ regex: /(0x[A-F0-9]+|\$[A-F0-9]+)/gi,
+ type: "nu2"
+ },
+ t.bin, t.int, t.fCalls, {
+ regex: /\b[A-Z]{2,}[0-9]?[0-9]?\b/g,
+ type: "kw9"
+ }
+ ]
+ }
+ }
+ ]), d);
+
+ function d() {
+ return r(this, d), a(this, (d.__proto__ || Object.getPrototypeOf(d)).apply(this, arguments))
+ }
+ var x = (i(m, l), n(m, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.char, {
+ regex: /@[\W\w_][\w]+/gm,
+ type: "s9"
+ },
+ t.boolean, t.null, t.prop, {
+ regex: /#.*$/gm,
+ type: "k4"
+ }, {
+ regex: /\b(break|case|catch|continue|do|else|for|if|goto|switch|try|throw|while)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(__[A-Z][A-Z0-9_]+__|__cplusplus)\b/g,
+ type: "e3"
+ }, {
+ regex: /\b(\w+\d+?_t)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(bool|char|double|float|int|long|short|void)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(enum|struct|typedef|union)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const|volatile|unsigned|signed|restrict)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(asm|auto|class|auto|default|explicit|export|extern|friend|inline|thread_local|static_assert|nullptr|noexcept|friend|decltype|constexpr|alignof|alignas|virtual|using|typename|typeid|this|template|static|return|register|public|protected|private|operator|namespace|mutable|inline)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(new|delete|cast|const_cast|dynamic_cast|static_cast|reinterpret_cast|sizeof|and|bitand|and_eq|not|not_eq|or|bitor|or_eq|xor|xor_eq|compl)\b/g,
+ type: "k3"
+ },
+ t.mCalls, t.fCalls, t.slashComments, t.blockComments, t.octal, t.bin, t.hex, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), m);
+
+ function m() {
+ return r(this, m), a(this, (m.__proto__ || Object.getPrototypeOf(m)).apply(this, arguments))
+ }
+ function k(e, t, r) {
+ for (var n = [], s = 0, i = void 0; null != (i = t.exec(e.text));) {
+ s < i.index && n.push(_(e.text.substring(s, i.index), e.type, null, s));
+ for (var o = r(i, e.type) || [], a = 0; a < o.length; a++) n.push(o[a]);
+ s = i.index + i[0].length, t.lastIndex = s
+ }
+ return 0 == n.length ? [e] : (s < e.text.length && n.push(_(e.text.substring(s), e.type, null, s)), n)
+ }
+ var v = (i(w, l), n(w, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /\$("(?:[^"\\]|\\.)*")/g,
+ type: "s0",
+ filter: function(e) {
+ return k(e, /\{.*?}/g, function(e) {
+ return [_(e[0], "s3")]
+ })
+ }
+ },
+ t.dqStrings, t.char, {
+ regex: /@[\W\w_][\w]+/gm,
+ type: "s9"
+ },
+ t.null, t.boolean, t.prop, {
+ regex: /\b(bool|byte|char|decimal|double|float|int|long|sbyte|short|uint|ulong|ushort|void)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(while|try|throw|switch|if|goto|foreach|for|finally|else|do|continue|catch|case|break)\b/g,
+ type: "k1"
+ }, {
+ regex: /^((?:using|namespace)\s+)(\w[\w._]+[;{\n])/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(enum|struct|var)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const|in|out)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(using|volatile|virtual|using|unsafe|unchecked|static|stackalloc|sealed|return|ref|readonly|public|protected|private|params|override|operator|object|namespace|lock|is|internal|interface|implicit|fixed|extern|explicit|event|delegate|default|class|checked|base|as|abstract)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(this)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(new|sizeof|typeof)\b/g,
+ type: "k3"
+ },
+ t.fCalls, t.mCalls, t.slashComments, t.blockComments, t.docComments, t.int, t.floats, t.bin, t.hex, t.octal, t.brackets
+ ]
+ }
+ }
+ ]), w);
+
+ function w() {
+ return r(this, w), a(this, (w.__proto__ || Object.getPrototypeOf(w)).apply(this, arguments))
+ }
+ var C = (i(O, l), n(O, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.sqStrings, {
+ regex: /\W@(charset|import|namespace|page|font-face|keyframes|viewport|document|supports)\b/gi,
+ type: "k4"
+ }, {
+ regex: /(url\s*)(\(.*?\))/gi,
+ type: ["m0", "s0"]
+ }, {
+ regex: /(#[a-z0-9]+)\W/gi,
+ type: "x14"
+ }, {
+ regex: /\b(\d+[.\d+-]?\s*(%|[a-z]{1,3})?)/gi,
+ type: "x13"
+ }, {
+ regex: /[\w\]](::?[\w-]+)\b/g,
+ type: "x15"
+ }, {
+ regex: /(#[\w-]+)\W/g,
+ type: "x10"
+ }, {
+ regex: /(\.[\w-]+)\W/g,
+ type: "x11"
+ }, {
+ regex: /([\w-]+)\s*:/g,
+ type: "x12"
+ },
+ t.blockComments, t.brackets
+ ]
+ }
+ }
+ ]), O);
+
+ function O() {
+ return r(this, O), a(this, (O.__proto__ || Object.getPrototypeOf(O)).apply(this, arguments))
+ }
+ var S = (i(A, l), n(A, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /^("""[\s\S]*?"""|'''[\s\S]*?''')/gm,
+ type: "c9"
+ }, {
+ regex: /("""[\s\S]*?"""|'''[\s\S]*?''')/g,
+ type: "s5"
+ },
+ t.dqStrings, t.sqStrings, {
+ regex: /\b(__[a-z]+__)\b/g,
+ type: "e3"
+ }, {
+ regex: /[^;]\s*(from\s+)([\w.]+)(\s+import)/gi,
+ type: ["k0", "k10", "k0"]
+ }, {
+ regex: /\b(raise|while|try|if|for|finally|else|elif|continue|break)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(yield|with|return|pass|lambda|is|in|import|global|from|except|def|class|assert|as|async|await)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(and|or|not|del)\b/g,
+ type: "k3"
+ }, {
+ regex: /\b(True|False)\b/g,
+ type: "e0"
+ }, {
+ regex: /\b(None)\b/g,
+ type: "e1"
+ },
+ t.mCalls, t.fCalls, t.poundComments, t.int, t.hex, t.floats, t.octal, t.brackets
+ ]
+ }
+ }
+ ]), A);
+
+ function A() {
+ return r(this, A), a(this, (A.__proto__ || Object.getPrototypeOf(A)).apply(this, arguments))
+ }
+ var L = (i(j, S), n(j, [{
+ key: "setupLanguage",
+ value: function() {
+ o(j.prototype.__proto__ || Object.getPrototypeOf(j.prototype), "setupLanguage", this).call(this), this.rules = [{
+ regex: /\b(bool|char|double|float|int|long|short|void)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(enum|struct|typedef|union|object)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const|volatile|unsigned|signed|restrict)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(readonly|extern|namespace|public|privat|include|cimport|pyximport|cythonize|cdef|cpdef|ctypedef|property|IF|ELIF|ELSE|DEF)\b/g,
+ type: "k0"
+ }
+ ].concat(this.rules)
+ }
+ }
+ ]), j);
+
+ function j() {
+ return r(this, j), a(this, (j.__proto__ || Object.getPrototypeOf(j)).apply(this, arguments))
+ }
+ var E = (i(q, l), n(q, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.poundComments, t.brackets, {
+ regex: /\[(\w+)\]/gm,
+ type: "k9"
+ }, {
+ regex: /\{([\w_-]+)\s*(?::\s*(.*?))?}/gm,
+ type: ["k7", "s0"]
+ }
+ ]
+ }
+ }
+ ]), q);
+
+ function q() {
+ return r(this, q), a(this, (q.__proto__ || Object.getPrototypeOf(q)).apply(this, arguments))
+ }
+ var P = (i(W, l), n(W, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /^([+-]{3}.*)$/gm,
+ type: "c0"
+ }, {
+ regex: /^(@@.*@@\s*)/gm,
+ type: "t2"
+ }, {
+ regex: /^(\+.*)/gm,
+ type: "t5"
+ }, {
+ regex: /^(-.*)/gm,
+ type: "t6"
+ }
+ ]
+ }
+ }
+ ]), W);
+
+ function W() {
+ return r(this, W), a(this, (W.__proto__ || Object.getPrototypeOf(W)).apply(this, arguments))
+ }
+ var $ = (i(I, l), n(I, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, {
+ regex: /\$\{\w+\}/gi,
+ type: "k7"
+ }, {
+ regex: /ARG\s+(\w+)(?:(=)(.*?)$)?/gim,
+ type: ["k7", "k3", "s0"]
+ }, {
+ regex: /ENV\s+(\w+)(?:(\s+|=)(.*?)$)?/gim,
+ type: ["k7", "k3", "s0"]
+ }, {
+ regex: /(?:^|[^\\])#\s*\w+=.*$/gm,
+ type: "k4"
+ },
+ t.poundComments, {
+ regex: /^([a-z]+)\b/gim,
+ type: "k0"
+ }, {
+ regex: /\b(AS)\b/gi,
+ type: "k0"
+ }, {
+ regex: /^\s+(&&)/gim,
+ type: "k3"
+ },
+ t.brackets
+ ]
+ }
+ }
+ ]), I);
+
+ function I() {
+ return r(this, I), a(this, (I.__proto__ || Object.getPrototypeOf(I)).apply(this, arguments))
+ }
+ var N = (i(F, l), n(F, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.bqStrings, t.char, t.boolean, {
+ regex: /\b(nil)\b/gi,
+ type: "e1"
+ },
+ t.prop, {
+ regex: /\b(var)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(case|break|default|else|goto|switch|if|continue|for)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(func|interface|select|defer|go|map|chan|package|fallthrough|range|import|return)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(iota)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(bool|string|u?int(8|16|32|64)?|uintptr|byte|rune|float32|float64|complex64|complex128)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(struct|type)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const)\b/g,
+ type: "k8"
+ },
+ t.mCalls, t.fCalls, t.slashComments, t.octal, t.int, t.complex, t.floats, t.hex, t.brackets
+ ]
+ }
+ }
+ ]), F);
+
+ function F() {
+ return r(this, F), a(this, (F.__proto__ || Object.getPrototypeOf(F)).apply(this, arguments))
+ }
+ var D = (i(T, l), n(T, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /("""[\s\S]*?"""|'''[\s\S]*?''')/g,
+ type: "s5"
+ },
+ t.dqStrings, t.sqStrings, t.char, t.slashComments, t.blockComments, t.docComments, {
+ regex: /(\/(?:[^/\\]|\\.)*\/)/g,
+ type: "s5"
+ },
+ t.prop, {
+ regex: /\b(byte|char|short|int|long|float|double|String)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(break|case|catch|continue|default|do|else|finally|for|goto|if|switch|throw|try|while)\b/g,
+ type: "k1"
+ }, {
+ regex: /^(package|import)(\s+[\w.]+)/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(const|enum|def)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(as|assert|class|extends|goto|implements|in|interface|return|thows|trait)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(this|super)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(instanceof|new)\b/g,
+ type: "k3"
+ },
+ t.fCalls, t.mCalls, t.null, t.boolean, {
+ regex: /^#.*/g,
+ type: "k9"
+ }, {
+ regex: /[\b\W](-?0[0-7][0-7_]+[GLIDF]?)\b/gi,
+ type: "n4"
+ }, {
+ regex: /[\b\W](-?\d[\d_]*[GLIDF]?)(?!\.)\b/gi,
+ type: "n1"
+ }, {
+ regex: /[\b\W](-?0x[A-F0-9][A-F0-9_]+[GLIDF]?)\b/gi,
+ type: "n2"
+ }, {
+ regex: /[\b\W](-?0b[01][01_]+[GLIDF]?)\b/gi,
+ type: "n3"
+ }, {
+ regex: /(-?((?:\d+\.\d+|\.\d+|\d+\.)(?:e[+-]?\d+)?)|\d+(?:e[+-]?\d+)?)/gi,
+ type: "n0"
+ },
+ t.brackets
+ ]
+ }
+ }
+ ]), T);
+
+ function T() {
+ return r(this, T), a(this, (T.__proto__ || Object.getPrototypeOf(T)).apply(this, arguments))
+ }
+ var R = (i(Z, l), n(Z, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, {
+ regex: /(;.*)$/gm,
+ type: "c0"
+ },
+ t.poundComments, {
+ regex: /^\s*?(\[.*])\s*?$/gm,
+ type: "t2"
+ }, {
+ regex: /^(\s*?[a-z0-9._-]+\s*?)(=)/gim,
+ type: ["k2", "k3"]
+ }, {
+ regex: /\b(true|false|on|off|yes|no)\b/gim,
+ type: "e0"
+ },
+ t.octal, t.bin, t.hex, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), Z);
+
+ function Z() {
+ return r(this, Z), a(this, (Z.__proto__ || Object.getPrototypeOf(Z)).apply(this, arguments))
+ }
+ var z = (i(B, l), n(B, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.char, {
+ regex: /@[\W\w_][\w]+/gm,
+ type: "s9"
+ },
+ t.prop, {
+ regex: /\b(boolean|byte|char|short|int|long|float|double|String|void|Integer|Double|BigInt|Float|Boolean|Byte|Char|Long)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(while|try|catch|case|else|throw|break|if|do|goto|switch|for|continue)\b/g,
+ type: "k1"
+ }, {
+ regex: /^(package|import)(\s+[\w.]+)/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(enum)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(native|volatile|strictfp|finally|class|static|interface|final|extends|transient|return|throws|public|protected|implements|private|synchronized|default|assert|abstract)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(this|super)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(instanceof|new)\b/g,
+ type: "k3"
+ },
+ t.fCalls, t.mCalls, t.null, t.boolean, t.slashComments, t.blockComments, t.docComments, t.int, t.floats, t.bin, t.hex, t.octal, t.brackets
+ ]
+ }
+ }
+ ]), B);
+
+ function B() {
+ return r(this, B), a(this, (B.__proto__ || Object.getPrototypeOf(B)).apply(this, arguments))
+ }
+ var G = (i(M, l), n(M, [{
+ key: "setupLanguage",
+ value: function() {
+ function e(e) {
+ return k(e, /\\(x[A-F0-9]{2}|u[A-F0-9]{4}|.)/gi, function(e) {
+ return [_(e[0], "s4")]
+ })
+ }
+ this.rules = [{
+ regex: t.sqStrings.regex,
+ type: "s0",
+ filter: e
+ }, {
+ regex: t.dqStrings.regex,
+ type: "s0",
+ filter: e
+ }, {
+ regex: /`(?:[^`\\]|\\.)*`/g,
+ type: "s2",
+ filter: function(e) {
+ return k(e, /\$\{.*?}/g, function(e) {
+ return [_(e[0], "s3")]
+ })
+ }
+ },
+ t.boolean, t.null, t.prop, {
+ regex: /\b(var|let|enum|const)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(document|window|console)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(break|case|catch|continue|do|else|finally|for|if|switch|try|while|throw)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(as|async|class|constructor|debugger|default|export|extends|function|import|return|with|yield|implements|package|protected|static|interface|private|public|await|module)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(this|super)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(instanceof|new|delete|typeof|void|in)\b/g,
+ type: "k3"
+ }, {
+ regex: /\W(=>)\W/g,
+ type: "k3"
+ },
+ t.slashComments, t.blockComments, {
+ regex: /\W(\/(?:[^/\\]|\\.)*\/\w*)/g,
+ type: "e2"
+ },
+ t.mCalls, t.fCalls, {
+ regex: /\{|}|\(|\)|\[|]/g,
+ type: "g1"
+ }, {
+ regex: /[\b\W](-?0o[0-7]+)(?!\.)\b/g,
+ type: "n4"
+ },
+ t.bin, t.hex, t.floats, t.int
+ ]
+ }
+ }
+ ]), M);
+
+ function M() {
+ return r(this, M), a(this, (M.__proto__ || Object.getPrototypeOf(M)).apply(this, arguments))
+ }
+ var U = (i(H, l), n(H, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /"(?:[^"\\]|\\.)*"\s*:/g,
+ type: "k2"
+ },
+ t.dqStrings, t.boolean, t.null, {
+ regex: /\{|}|\(|\)|\[|]/g,
+ type: "g1"
+ },
+ t.int, t.floats, {
+ regex: /,|:/g,
+ type: "g0"
+ }
+ ]
+ }
+ }
+ ]), H);
+
+ function H() {
+ return r(this, H), a(this, (H.__proto__ || Object.getPrototypeOf(H)).apply(this, arguments))
+ }
+ var J = (i(V, l), n(V, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.char, {
+ regex: /"""[\s\S]*?"""/g,
+ type: "s5"
+ },
+ t.prop, {
+ regex: /\b(Double|Float|Long|Int|Short|Byte|Any|String|Array)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(break|continue|do|else|for|if|throw|try|when|while|catch|finally)\b/g,
+ type: "k1"
+ }, {
+ regex: /^(package|import)(\s+[\w.]+)/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(enum|typealias|object|companion|val|var)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(actual|abstract|annotation|companion|crossinline|data|expect|external|final|infix|inline|inner|internal|lateinit|noinline|open|operator|out|override|private|protected|public|reified|sealed|suspend|tailrec|vararg)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(as|class|fun|in|interface|is|return|by|constructor|delegate|dynamic|field|file|get|init|param|property|receiver|set|setparam|where|field|it)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(this|super)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(instanceof|new)\b/g,
+ type: "k3"
+ }, {
+ regex: /(@\w+|\w+@)/gm,
+ type: "k6"
+ },
+ t.fCalls, t.mCalls, t.null, t.boolean, t.slashComments, t.blockComments, {
+ regex: /[\b\W](-?\d[\d_]*L?)(?!\.)\b/g,
+ type: "n1"
+ },
+ t.floats, {
+ regex: /[\b\W](-?0x[A-F0-9][A-F0-9_]+)\b/gi,
+ type: "n2"
+ }, {
+ regex: /[\b\W](-?0b[01][01_]+)\b/gi,
+ type: "n3"
+ },
+ t.brackets
+ ]
+ }
+ }
+ ]), V);
+
+ function V() {
+ return r(this, V), a(this, (V.__proto__ || Object.getPrototypeOf(V)).apply(this, arguments))
+ }
+ var Y = (i(X, C), n(X, [{
+ key: "setupLanguage",
+ value: function() {
+ o(X.prototype.__proto__ || Object.getPrototypeOf(X.prototype), "setupLanguage", this).call(this);
+ var e = [t.slashComments, {
+ regex: /\b([\w][\w-]+)\s*\(/gm,
+ type: "m0"
+ }, {
+ regex: /@[\w-]+\b/g,
+ type: "k7"
+ }, {
+ regex: /&/gi,
+ type: "k3"
+ }
+ ];
+ this.rules = this.rules.concat(e)
+ }
+ }
+ ]), X);
+
+ function X() {
+ return r(this, X), a(this, (X.__proto__ || Object.getPrototypeOf(X)).apply(this, arguments))
+ }
+ var Q = (i(K, l), n(K, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /---\[\[[\s\S]*?(]])/g,
+ type: "c1"
+ }, {
+ regex: /--\[\[[\s\S]*?]]/g,
+ type: "c1"
+ }, {
+ regex: /(--.*)$/gm,
+ type: "c0"
+ },
+ t.dqStrings, t.sqStrings, {
+ regex: /(\[(=*)\[[\S\s]*?]\2])/g,
+ type: "s5"
+ }, {
+ regex: /\b(true|false)\b/gi,
+ type: "e0"
+ }, {
+ regex: /\b(nil)\b/gi,
+ type: "e1"
+ }, {
+ regex: /\b(local)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(break|do|else|elseif|end|for|if|repeat|then|until|while)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(function|return|and|in|or|not)\b/g,
+ type: "k0"
+ },
+ t.brackets, t.floats, t.mCalls, t.fCalls
+ ]
+ }
+ }
+ ]), K);
+
+ function K() {
+ return r(this, K), a(this, (K.__proto__ || Object.getPrototypeOf(K)).apply(this, arguments))
+ }
+ var ee = (i(te, l), n(te, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /[\r|\n](```[a-z_-]*[\r|\n][\S\s]+?```)/gi,
+ type: "t8"
+ }, {
+ regex: /^\s*#{1,6}.+$/gm,
+ type: "t1"
+ }, {
+ regex: /(.+[\r|\n][=-]{3,})[\r|\n]/g,
+ type: "t1"
+ }, {
+ regex: /`.+?`/g,
+ type: "t8"
+ }, {
+ regex: /^(?:\*|_|-){3,}$/gm,
+ type: "t2"
+ }, {
+ regex: /\W(\*\*|\*|~~|~|__|_)(.*?\1)\W/gm,
+ type: "t4"
+ }, {
+ regex: /!?\[.*?]\(.*?\)/g,
+ type: "t3"
+ }
+ ]
+ }
+ }
+ ]), te);
+
+ function te() {
+ return r(this, te), a(this, (te.__proto__ || Object.getPrototypeOf(te)).apply(this, arguments))
+ }
+ var re = (i(ne, l), n(ne, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /%.*$/gm,
+ type: "c0"
+ }, {
+ regex: /%%.*$/gm,
+ type: "c1"
+ },
+ t.sqStrings, t.dqStrings, t.boolean, t.mCalls, t.prop, {
+ regex: /\b(break|case|catch|continue|do|else|elseif|end|end_try_catch|endfor|endif|endmethods|endparfor|endproperties|endswitch|endwhile|for|if|switch|try|until|while)\b/gi,
+ type: "k1"
+ }, {
+ regex: /\b(__FILE__|__LINE__|classdef|end_unwind_protect|endclassdef|endenumeration|endevents|endfunctionenumeration|events|function|global|methods|otherwise|parfor|persistent|properties|return|static|unwind_protect|unwind_protect_cleanup)\b/gi,
+ type: "k0"
+ }, {
+ regex: /(@[\w]+)\s*/gm,
+ type: "k7"
+ },
+ t.fCalls, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), ne);
+
+ function ne() {
+ return r(this, ne), a(this, (ne.__proto__ || Object.getPrototypeOf(ne)).apply(this, arguments))
+ }
+ var se = (i(ie, l), n(ie, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.sqStrings, t.bqStrings, {
+ regex: /^\s*(Var(\s+\\GLOBAL)?)(\s+\w+)\b/g,
+ type: ["k2", "k7"]
+ }, {
+ regex: /\W(\$\{\w+})\W/g,
+ type: "k9"
+ }, {
+ regex: /\W(\$\w+)\b/g,
+ type: "k7"
+ }, {
+ regex: /^\s*([A-Z]\w+)\s+/gm,
+ type: "k0"
+ }, {
+ regex: /\b[A-Z][A-Z_]*[A-Z]\b/g,
+ type: "e3"
+ }, {
+ regex: /^\s*(!\w+)\s+/gm,
+ type: "k4"
+ }, {
+ regex: /^\s*(\w+:)\s*$/gim,
+ type: "k6"
+ }, {
+ regex: /\b(admin|all|auto|both|colored|false|force|hide|highest|lastused|leave|listonly|none|normal|notset|off|on|open|print|show|silent|silentlog|smooth|textonly|true|user)\b/gi,
+ type: "k9"
+ },
+ t.blockComments, {
+ regex: /[#;].*?$/gm,
+ type: "c0"
+ },
+ t.int, t.hex, t.octal, t.brackets
+ ]
+ }
+ }
+ ]), ie);
+
+ function ie() {
+ return r(this, ie), a(this, (ie.__proto__ || Object.getPrototypeOf(ie)).apply(this, arguments))
+ }
+ var oe = (i(ae, l), n(ae, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.sqStrings, t.dqStrings, t.heredoc, t.boolean, t.null, {
+ regex: /(self|parent|\$this)/gi,
+ type: "k9"
+ }, {
+ regex: /\b(as|break|case|catch|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|finally|for|foreach|goto|if|switch|throw|try|while)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b__[A-Z][A-Z0-9_]+__\b/g,
+ type: "e3"
+ }, {
+ regex: /\b(__halt_compiler|abstract|array|callable|class|const|continue|declare|default|die|echo|empty|eval|exit|extends|final|function|global|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|print|private|protected|public|require|require_once|return|static|trait|use|var|yield)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(and|or|xor|clone|new|unset)\b/g,
+ type: "k3"
+ }, {
+ regex: /\b(int|float|bool|string|resource|object|mixed|numeric)\b/g,
+ type: "k5"
+ },
+ t.slashComments, t.blockComments, {
+ regex: /\$[A-Z_][\w]*/gim,
+ type: "k7"
+ },
+ t.fCalls, {
+ regex: /->([\w]+)/gim,
+ type: "m1"
+ }, {
+ regex: /::([\w]+)/gim,
+ type: "m2"
+ },
+ t.octal, t.bin, t.hex, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), ae);
+
+ function ae() {
+ return r(this, ae), a(this, (ae.__proto__ || Object.getPrototypeOf(ae)).apply(this, arguments))
+ }
+ var ge = (i(le, l), n(le, [{
+ key: "setupLanguage",
+ value: function() {
+ function e(e) {
+ return k(e, /\$(?:\w+|\(.*?\))/g, function(e) {
+ return [_(e[0], "k7")]
+ })
+ }
+ this.rules = [{
+ regex: /"(?:[^"`]|`.)*"/g,
+ type: "s2",
+ filter: e
+ },
+ t.sqStrings, {
+ regex: /@"[\S\s]*?\n\s*"@/g,
+ type: "s5",
+ filter: e
+ }, {
+ regex: /@'[\S\s]*?\n\s*'@/g,
+ type: "s5"
+ }, {
+ regex: /\b(Begin|Break|Catch|Continue|Else|Elseif|End|Finally|For|ForEach|If|Switch|Throw|Try|Until|While)\b/gi,
+ type: "k1"
+ }, {
+ regex: /\b(Data|Do|DynamicParam|Exit|Filter|From|Function|In|InlineScript|Hidden|Parallel|Param|Process|Return|Sequence|Trap|Workflow)\b/gi,
+ type: "k0"
+ }, {
+ regex: /\b([A-Z]\w+(?:-\w+)+)\b/g,
+ type: "m0"
+ }, {
+ regex: /<#[\S\s]+?#>/gi,
+ type: "c1"
+ },
+ t.poundComments, {
+ regex: /\$[A-Z_][\w]*/gim,
+ type: "k7"
+ },
+ t.mCalls, t.fCalls, t.int, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), le);
+
+ function le() {
+ return r(this, le), a(this, (le.__proto__ || Object.getPrototypeOf(le)).apply(this, arguments))
+ }
+ var pe = (i(ue, l), n(ue, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /(%.*)$/gm,
+ type: "c0"
+ },
+ t.blockComments, t.dqStrings, t.sqStrings, {
+ regex: /^(\w+)(?:\(.*?\))?\s*(?::-|\.)/gm,
+ type: "k9"
+ }, {
+ regex: /\b(true|false|Yes|No|not|fail)\b/gi,
+ type: "e0"
+ }, {
+ regex: /\b(catch|throw|repeat)\b/g,
+ type: "k1"
+ }, {
+ regex: /^(\?-)/g,
+ type: "k9"
+ }, {
+ regex: /\b(is)\b/g,
+ type: "k3"
+ }, {
+ regex: /[A-Z_][\w]*/g,
+ type: "k7"
+ },
+ t.brackets, t.floats, t.int, t.fCalls
+ ]
+ }
+ }
+ ]), ue);
+
+ function ue() {
+ return r(this, ue), a(this, (ue.__proto__ || Object.getPrototypeOf(ue)).apply(this, arguments))
+ }
+ var ce = (i(ye, l), n(ye, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.prop, {
+ regex: /\b([A-Z]\w+)\b/g,
+ type: "k5"
+ }, {
+ regex: /^(import)(\s+[\w.]+)/gm,
+ type: ["k0", "k5"]
+ }, {
+ regex: /\b(bool|char|double|float|int|long|short|void|string)\b/g,
+ type: "k5"
+ },
+ t.mCalls, t.null, t.boolean, t.slashComments, t.blockComments, t.int, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), ye);
+
+ function ye() {
+ return r(this, ye), a(this, (ye.__proto__ || Object.getPrototypeOf(ye)).apply(this, arguments))
+ }
+ var be = (i(fe, l), n(fe, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /^(.*?)$/g,
+ type: "text"
+ }
+ ]
+ }
+ }
+ ]), fe);
+
+ function fe() {
+ return r(this, fe), a(this, (fe.__proto__ || Object.getPrototypeOf(fe)).apply(this, arguments))
+ }
+ var he = (i(de, l), n(de, [{
+ key: "setupLanguage",
+ value: function() {
+ function e(e) {
+ return e.text.match(/^%r/) ? e.type = "e2" : e.text.match(/^%x/) && (e.type = "e4"), [e]
+ }
+ this.rules = [t.dqStrings, t.sqStrings, t.heredoc, {
+ regex: /(`(?:[^`\\]|\\.)*`)/g,
+ type: "e4"
+ },
+ t.boolean, {
+ regex: /\b(nil)\b/gi,
+ type: "e1"
+ },
+ t.fCalls, t.prop, {
+ regex: /@{1,2}[A-Za-z_]\w*\W/g,
+ type: "k7"
+ }, {
+ regex: /[^:](:[\w]+)\b/g,
+ type: "k6"
+ }, {
+ regex: /(\$[a-z0-9_-]+|\$.)\W/gi,
+ type: "k9"
+ }, {
+ regex: /\b(begin|break|case|do|else|elsif|end|ensure|for|if|in|next|redo|rescue|retry|then|unless|until|when|while)\b/gi,
+ type: "k1"
+ }, {
+ regex: /\b((?:__)?[A-Z][A-Z0-9_]+)\b/g,
+ type: "e3"
+ }, {
+ regex: /\b(alias|class|defined\?|undef|def|module|return|self|super|yield)\W/gi,
+ type: "k0"
+ }, {
+ regex: /\b(and|not|or)\b/gi,
+ type: "k3"
+ },
+ t.poundComments, {
+ regex: /^=begin[\S\s]*?^=end/gim,
+ type: "c2"
+ }, {
+ regex: /(%[iqrswx](\W)(?:[^\2\n\\]|\\.)*\2[iomx]*)/gim,
+ type: "s2",
+ filter: e
+ }, {
+ regex: /(%[iqrswx]?(\{(?:[^}\\]|\\.)*}|\[(?:[^}\\]|\\.)*]|\((?:[^)\\]|\\.)*\))[iomx]*)/gim,
+ type: "s2",
+ filter: e
+ }, {
+ regex: /\W(\/(?:[^/\\]|\\.)*\/\w*)\W/g,
+ type: "e2"
+ }, {
+ regex: /\W\?(?:\w|\\M|\\C)(?:-\w|-\\M|-\\C)*\b/g,
+ type: "n1"
+ }, {
+ regex: /[\b\W](-?\d[\d_]+?)(?!\.)\b/g,
+ type: "n1"
+ }, {
+ regex: /[\b\W](-?0x[A-F0-9][A-F0-9_]+)\b/gi,
+ type: "n2"
+ }, {
+ regex: /[\b\W](-?0b[01][01_]+)\b/gi,
+ type: "n3"
+ }, {
+ regex: /[\b\W](-?[\d_]+(?:\.[\d_]+)?(?:e[+-]?\d+)?[ji]?)\b/gi,
+ type: "n0"
+ },
+ t.brackets
+ ]
+ }
+ }
+ ]), de);
+
+ function de() {
+ return r(this, de), a(this, (de.__proto__ || Object.getPrototypeOf(de)).apply(this, arguments))
+ }
+ var xe = (i(me, l), n(me, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.char, {
+ regex: /r((#+)".*?"\2)/gm,
+ type: "s0"
+ }, {
+ regex: /("(?:\\.|\\\s*\n|\\s*\r\n|[^\\"])*")/g,
+ type: "s0"
+ }, {
+ regex: /^\s*#.*$/gm,
+ type: "k4"
+ }, {
+ regex: /fn\s+([\w]+)\s*(<\w+\s*>)?\(/gm,
+ type: "k0"
+ }, {
+ regex: /\b\.?([\w]+)\s*(\(|::)/gm,
+ type: "k1"
+ }, {
+ regex: /\b([\w]+)!/gm,
+ type: "k9"
+ }, {
+ regex: /\bself\b/gi,
+ type: "k9"
+ },
+ t.boolean, {
+ regex: /\b(while|loop|in|for|if|else|do|continue|break)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(type|struct|let|enum)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(const)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(yield|where|virtual|use|unsized|unsafe|trait|super|static|return|ref|pure|pub|proc|priv|override|offsetof|mut|move|mod|match|macro|impl|fn|final|extern|crate|box|become|as|alignof|abstract)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(sizeof|typeof)\b/g,
+ type: "k3"
+ }, {
+ regex: /\b([0-9_]+\.?[0-9_]+?(e\+[0-9_]+)?)(?:f32|f64)?\b/gim,
+ type: "n0"
+ }, {
+ regex: /\b([0-9_]+|0o[0-9_]+|0x[A-F0-9_]+|0b[0-1_]+)(?:u8|i8|u16|i16|u32|i32|u64|i64|isize|usize)?\b/gim,
+ type: "n1"
+ },
+ t.slashComments, t.blockComments, {
+ regex: /(?:^|[^\\])\/\/[/!].*$/gm,
+ type: "c2"
+ }, {
+ regex: /\/\*[*!][\s\S]*?\*\//gm,
+ type: "c2"
+ },
+ t.brackets, {
+ regex: /\W(&)\w/g,
+ type: "k3"
+ }
+ ]
+ }
+ }
+ ]), me);
+
+ function me() {
+ return r(this, me), a(this, (me.__proto__ || Object.getPrototypeOf(me)).apply(this, arguments))
+ }
+ var ke = (i(_e, l), n(_e, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.char, {
+ regex: /s"(?:[^"\\]|\\.)*"/g,
+ type: "s2"
+ }, {
+ regex: /`(?:[^`\\]|\\.)*`/g,
+ type: "k7"
+ }, {
+ regex: /@[\W\w_][\w]+/g,
+ type: "s9"
+ }, {
+ regex: /\b([A-Z]\w*)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(while|try|catch|else|throw|break|if|do|goto|switch|for|match)\b/g,
+ type: "k1"
+ }, {
+ regex: /(package|import)(\s+[\w.]+)/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /[\b\w\s)](_|:|@|#|<-|←|<:|<%|=|=>|⇒|>:)[\b\w\s]/g,
+ type: "k3"
+ }, {
+ regex: /\b(abstract|class|case|extends|final|finally|forSome|implicit|lazy|object|override|private|protected|return|sealed|trait|with|yield)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(def)\s+(\w+)\b/gm,
+ type: ["k2", "m0"]
+ }, {
+ regex: /\b(type)\s+(\w+)\b/gm,
+ type: ["k2", "k5"]
+ }, {
+ regex: /\b(val)\s+(\w+)\b/gm,
+ type: ["k2", "k7"]
+ }, {
+ regex: /\b(var)\s+(\w+)\b/gm,
+ type: ["k2", "k7"]
+ }, {
+ regex: /\b(this|super)\b/g,
+ type: "k9"
+ }, {
+ regex: /\b(new)\b/g,
+ type: "k3"
+ },
+ t.mCalls, t.fCalls, t.null, t.boolean, t.slashComments, t.blockComments, t.docComments, t.int, t.floats, t.bin, t.brackets
+ ]
+ }
+ }
+ ]), _e);
+
+ function _e() {
+ return r(this, _e), a(this, (_e.__proto__ || Object.getPrototypeOf(_e)).apply(this, arguments))
+ }
+ var ve = (i(we, C), n(we, [{
+ key: "setupLanguage",
+ value: function() {
+ o(we.prototype.__proto__ || Object.getPrototypeOf(we.prototype), "setupLanguage", this).call(this);
+ var e = [t.slashComments, {
+ regex: /\b([\w-]+)\s*\(/gm,
+ type: "m0"
+ }, {
+ regex: /\$[\w-]+\b/g,
+ type: "k7"
+ }, {
+ regex: /@[\w-]+\b/g,
+ type: "k9"
+ }, {
+ regex: /&/gi,
+ type: "k3"
+ }
+ ];
+ this.rules = this.rules.concat(e)
+ }
+ }
+ ]), we);
+
+ function we() {
+ return r(this, we), a(this, (we.__proto__ || Object.getPrototypeOf(we)).apply(this, arguments))
+ }
+ var Ce = (i(Oe, l), n(Oe, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /(^#!.*?)\n/gi,
+ type: "k4"
+ },
+ t.poundComments, t.dqStrings, {
+ regex: /`.*?`/gm,
+ type: "s2"
+ }, {
+ regex: /(\$)\(/gm,
+ type: "s2"
+ }, {
+ regex: /(\$\d)\b/gim,
+ type: "k9"
+ }, {
+ regex: /(\$\w+)\b/gim,
+ type: "k7"
+ }, {
+ regex: /^(\s*\w+)=/gm,
+ type: "k7"
+ }, {
+ regex: /^\s*\w+\)\s*$/gm,
+ type: "k6"
+ }, {
+ regex: /\b(if|fi|then|elif|else|for|do|done|until|while|break|continue|case|esac|in|eq|ne|gt|lt|ge|le)\b/gi,
+ type: "k1"
+ }, {
+ regex: /\b(return|function)\b/gi,
+ type: "k0"
+ }, {
+ regex: /^\s*\w+\(\)\s*\{/gm,
+ type: "k0"
+ },
+ t.floats
+ ]
+ }
+ }
+ ]), Oe);
+
+ function Oe() {
+ return r(this, Oe), a(this, (Oe.__proto__ || Object.getPrototypeOf(Oe)).apply(this, arguments))
+ }
+ var Se = (i(Ae, l), n(Ae, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.poundComments, t.blockComments, t.null, t.sqStrings, {
+ regex: /--.*$/g,
+ type: "c0"
+ }, {
+ regex: /`\w+?`(?:\.`\w+?`)*/g,
+ type: "k9"
+ }, {
+ regex: /\b(all|and|any|between|exists|in|like|not|or|is null|is not null|unique|=|!=|<>|>|<|>=|<=|!<|!>)\b/gi,
+ type: "k3"
+ }, {
+ regex: /\b[A-Z]+\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(SELECT|INSERT|UPDATE|DELETE|INTO|FROM|CREATE|TABLE|VIEW|TRIGGER|ALTER|ORDER BY|DESC|ASC|AS|BETWEEN|IN|JOIN|LEFT|RIGHT|INNER|OUTER|USING|ON)b/gi,
+ type: "k0"
+ },
+ t.fCalls, t.floats
+ ]
+ }
+ }
+ ]), Ae);
+
+ function Ae() {
+ return r(this, Ae), a(this, (Ae.__proto__ || Object.getPrototypeOf(Ae)).apply(this, arguments))
+ }
+ var Le = (i(je, l), n(je, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, {
+ regex: t.sqStrings.regex,
+ type: "n0"
+ },
+ t.prop, t.slashComments, t.poundComments, t.blockComments, t.brackets, {
+ regex: /\b(const|enum|local)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(break|case|catch|continue|else|for|foreach|if|switch|while|try|do)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(base|class|clone|constructor|default|extends|false|function|null|resume|return|static|this|throw|true|yield)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(delete|in|instanceof|typeof)\b/g,
+ type: "k3"
+ },
+ t.mCalls, t.fCalls, t.octal, t.hex, t.floats, t.int
+ ]
+ }
+ }
+ ]), je);
+
+ function je() {
+ return r(this, je), a(this, (je.__proto__ || Object.getPrototypeOf(je)).apply(this, arguments))
+ }
+ var Ee = (i(qe, l), n(qe, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.boolean, {
+ regex: /#.*$/gm,
+ type: "k4"
+ },
+ t.prop, {
+ regex: /(import )(.*?)$/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(nil)\b/gi,
+ type: "e1"
+ }, {
+ regex: /\b(break|case|continue|default|do|else|for|if|switch|while|catch|throw|try)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(var|let|enum|struct)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(Int|UInt|Float|Double|Bool|String|Character|Optional|Array|Dictionary)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(associatedtype|class|deinit|extension|func|init|inout|internal|operator|private|protocol|public|static|subscript|typealias|defer|fallthrough|guard|in|as|repeat|return|where|dynamicType|is|rethrows|super|self|Self|throws|associativity|convenience|dynamic|didSet|final|get|infix|indirect|lazy|left|mutating|none|nonmutating|optional|override|postfix|precedence|prefix|Protocol|required|right|set|Type|unowned|weak|willSet)\b/g,
+ type: "k0"
+ },
+ t.mCalls, t.fCalls, {
+ regex: /(?:^|[^\\])\/\/\/.*$/gm,
+ type: "c2"
+ },
+ t.docComments, t.slashComments, t.blockComments, {
+ regex: /[\b\W](-?0b[01_]+)\b/gi,
+ type: "n3"
+ }, {
+ regex: /[\b\W](-?0x[A-F0-9_]+)(?!\.)\b/gi,
+ type: "n2"
+ }, {
+ regex: /[\b\W](-?0o[0-7_]+)(?!\.)\b/g,
+ type: "n4"
+ }, {
+ regex: /[\b\W](-?[\d_]+)(?!\.)\b/g,
+ type: "n1"
+ }, {
+ regex: /(-?(?:[\d_]+\.[\d_]+(?:e[+-]?[\d_]+)?))/gi,
+ type: "n0"
+ }, {
+ regex: /(-?0x(?:[A-F0-9_]+\.[A-F0-9_]+(?:p[+-]?[A-F0-9_]+)?))/gi,
+ type: "n2"
+ },
+ t.brackets
+ ]
+ }
+ }
+ ]), qe);
+
+ function qe() {
+ return r(this, qe), a(this, (qe.__proto__ || Object.getPrototypeOf(qe)).apply(this, arguments))
+ }
+ var Pe = (i(We, G), n(We, [{
+ key: "setupLanguage",
+ value: function() {
+ o(We.prototype.__proto__ || Object.getPrototypeOf(We.prototype), "setupLanguage", this).call(this), this.rules = [{
+ regex: /\b(boolean|number|string|any|void|undefined|never|symbol)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(type|interface)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(abstract|implements|readonly)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(declare|namespace)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b([\w]+)\s*]/g,
+ type: "g1"
+ }
+ ].concat(this.rules)
+ }
+ }
+ ]), We);
+
+ function We() {
+ return r(this, We), a(this, (We.__proto__ || Object.getPrototypeOf(We)).apply(this, arguments))
+ }
+ var $e = (i(Ie, l), n(Ie, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: /((?:^\s*|\s+)--.*$)/gm,
+ type: "c0"
+ }, {
+ regex: /^\s*(?:use|library)\s*(\S+);/gim,
+ type: "k9"
+ },
+ t.fCalls, {
+ regex: /\*\*|\*|\/|\+|-|&|=|\/=|<|<=|>|>=/g,
+ type: "g0"
+ },
+ t.dqStrings, t.sqStrings, t.brackets, {
+ regex: /\b(alias|array|variable|downto|range|to|type|units)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(array|buffer|bus|file)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(if|else|elsif|end|for|while|loop|when|begin|block|case|exit|next|then)\b/g,
+ type: "k1"
+ }, {
+ regex: /\b(access|after|all|architecture|attribute|assert|body|component|configuration|constant|disconnect|entity|function|generate|generic|group|guarded|impure|in|inertial|inout|is|label|library|linkage|literal|map|null|of|on|open|others|out|package|port|postponed|procedure|process|pure|record|return|select|severity|signal|shared|subtype|transport|unaffected|use|vaiable|with|wait|until)\b/g,
+ type: "k0"
+ }, {
+ regex: /\b(abs|not|mod|rem|sll|srl|sla|sra|rol|ror|and|or|nand|nor|xor|xnor|new)\b/g,
+ type: "k3"
+ },
+ t.floats
+ ]
+ }
+ }
+ ]), Ie);
+
+ function Ie() {
+ return r(this, Ie), a(this, (Ie.__proto__ || Object.getPrototypeOf(Ie)).apply(this, arguments))
+ }
+ var Ne = (i(Fe, l), n(Fe, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.dqStrings, t.boolean, t.prop, {
+ regex: /(#.*?)(?:'|$)/gim,
+ type: "k4"
+ }, {
+ regex: /\b(Case|Catch|Continue|Each|Else|ElseIf|End|EndIf|Do|Finally|For|If|Loop|Next|OrElse|Then|Throw|Try|When|While)\b/g,
+ type: "k1"
+ }, {
+ regex: /(Imports )(.*?)$/gm,
+ type: ["k0", "k10"]
+ }, {
+ regex: /\b(Boolean|Byte|CBool|CByte|CChar|CDate|CDbl|CDec|Char|CInt|CLng|CObj|CSByte|CShort|CSng|CStr|CType|CUInt|CULng|CUShort|Decimal|Double|Integer|Long|ParamArray|SByte|Short|Single|String|UInteger|ULong|UShort)\b/g,
+ type: "k5"
+ }, {
+ regex: /\b(Dim|Enum|Let|ReDim)\b/g,
+ type: "k2"
+ }, {
+ regex: /\b(Const|Shared|Static)\b/g,
+ type: "k8"
+ }, {
+ regex: /\b(AddHandler|AddressOf|Alias|As|ByRef|ByVal|Call|Class|Date|Declare|Default|Delegate|DirectCast|Erase|Error|Event|Exit|Friend|Function|Get|GetType|GetXMLNamespace|Global|GoSub|GoTo|Handles|Implements|In|Inherits|Interface|Lib|Like|Me|Module|MustInherit|MustOverride|MyBase|MyClass|Namespace|Narrowing|Nothing|NotInheritable|NotOverridable|Object|Of|On|Operator|Option|Optional|Out|Overloads|Overridable|Overrides|Partial|Private|Property|Protected|Public|RaiseEvent|ReadOnly|REM|RemoveHandler|Resume|Return|Select|Set|Shadows|Step|Stop|Structure|Sub|SyncLock|To|TryCast|Using|Variant|Wend|Widening|With|WithEvents|WriteOnly)\b/gi,
+ type: "k0"
+ }, {
+ regex: /\b(And|AndAlso|Is|IsNot|Mod|New|Not|Or|TypeOf|Xor)\b/g,
+ type: "k3"
+ },
+ t.mCalls, t.fCalls, {
+ regex: /'.*$/gm,
+ type: "c0"
+ },
+ t.int, t.floats, t.brackets
+ ]
+ }
+ }
+ ]), Fe);
+
+ function Fe() {
+ return r(this, Fe), a(this, (Fe.__proto__ || Object.getPrototypeOf(Fe)).apply(this, arguments))
+ }
+ var De = (i(Te, l), n(Te, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [{
+ regex: //g,
+ type: "k9"
+ }, {
+ regex: /<\?xml[\s\S]+\?>/gi,
+ type: "k4"
+ }, {
+ regex: //g,
+ type: "c1"
+ }, {
+ regex: /()/gim,
+ type: ["c9", "text", "c9"]
+ }, {
+ regex: /(<)([A-Z:_][A-Z0-9:.-]*)([\s\S]*?)(\/?>)/gi,
+ type: ["g1", "x1", "text", "g1"],
+ filter: [null, null, function(e) {
+ return k(e, /\b([\w:-]+)(\s*=\s*)(['"][^'"]*['"]|[^'" \t]+)/gi, function(e) {
+ return [_(e[1], "x2"), _(e[2], "k3"), _(e[3], "s0")]
+ })
+ },
+ null
+ ]
+ }, {
+ regex: /(<\/)([A-Z:_][A-Z0-9:.-]*\s*)(>)/gi,
+ type: ["g1", "x1", "g1"]
+ }
+ ]
+ }
+ }
+ ]), Te);
+
+ function Te() {
+ return r(this, Te), a(this, (Te.__proto__ || Object.getPrototypeOf(Te)).apply(this, arguments))
+ }
+ var Re = (i(Ze, l), n(Ze, [{
+ key: "setupLanguage",
+ value: function() {
+ this.rules = [t.poundComments, t.boolean, t.null, {
+ regex: /^%[A-Z]+\s+.*$/gm,
+ type: "k4"
+ }, {
+ regex: /\b!{1,2}[A-Z]+\b/gi,
+ type: "k5"
+ }, {
+ regex: /\b[a-z][a-z0-9_-]*:/gim,
+ type: "k7"
+ }, {
+ regex: /\{|}|\(|\)|\[|]/g,
+ type: "g1"
+ }, {
+ regex: /\s+(?:>|\|)[\r|\n]+((?:\s+[^\r\n]+[\r|\n]+)+)/gi,
+ type: "s5"
+ },
+ t.dqStrings, t.sqStrings, t.floats
+ ]
+ }
+ }
+ ]), Ze);
+
+ function Ze() {
+ return r(this, Ze), a(this, (Ze.__proto__ || Object.getPrototypeOf(Ze)).apply(this, arguments))
+ }
+ var ze = Object.freeze({
+ generic: l,
+ abap: c,
+ assembly: b,
+ avrassembly: h,
+ cpp: x,
+ csharp: v,
+ css: C,
+ cython: L,
+ cordpro: E,
+ diff: P,
+ dockerfile: $,
+ go: N,
+ groovy: D,
+ ini: R,
+ java: z,
+ javascript: G,
+ json: U,
+ kotlin: J,
+ less: Y,
+ lua: Q,
+ markdown: ee,
+ matlab: re,
+ nsis: se,
+ php: oe,
+ powershell: ge,
+ prolog: pe,
+ python: S,
+ qml: ce,
+ raw: be,
+ ruby: he,
+ rust: xe,
+ scala: ke,
+ scss: ve,
+ shell: Ce,
+ sql: Se,
+ squirrel: Le,
+ swift: Ee,
+ typescript: Pe,
+ vhdl: $e,
+ visualbasic: Ne,
+ xml: De,
+ yaml: Re
+ }),
+ Be = {
+ standard: "generic",
+ js: "javascript",
+ md: "markdown",
+ gfm: "markdown",
+ "c++": "cpp",
+ c: "cpp",
+ "c#": "csharp",
+ styles: "css",
+ bash: "shell",
+ py: "python",
+ html: "xml",
+ conf: "ini",
+ avrasm: "avrassembly",
+ asm: "assembly",
+ sass: "scss",
+ golang: "go",
+ vb: "visualbasic",
+ docker: "dockerfile"
+ };
+
+ function Ge(e, t, r) {
+ if (e) if (Array.isArray(e)) for (var n = 0; n < e.length; n++) t.apply(r || t, [e[n], n]);
+ else for (var s in e) e.hasOwnProperty(s) && t.apply(r || t, [e[s], s])
+ }
+ var Me = document,
+ Ue = window,
+ He = {
+ document: Me,
+ window: Ue
+ };
+
+ function Je() {
+ return Me
+ }
+ function Ve() {
+ return Ue
+ }
+ function Ye(e) {
+ var t = !(1 < arguments.length && void 0 !== arguments[1]) || arguments[1];
+ e.style.display = !0 === t ? "block" : "none"
+ }
+ function Xe(e) {
+ e.parentNode.removeChild(e)
+ }
+ function Qe(e) {
+ return null != e && 0 < e.length ? Me.querySelectorAll(e) : []
+ }
+ function Ke(e, t) {
+ return e.getAttribute("data-" + t) || null
+ }
+ function et(e, t) {
+ return e.parentNode.insertBefore(t, e)
+ }
+ function tt(e, t) {
+ e.classList.contains(t) || e.classList.add(t)
+ }
+ function rt(e, t) {
+ e.classList.contains(t) && e.classList.remove(t)
+ }
+ function nt(e, t) {
+ return e.classList.contains(t)
+ }
+ function st(e, t) {
+ e.classList.contains(t) ? e.classList.remove(t) : e.classList.add(t)
+ }
+ function it(e, t) {
+ for (var r = arguments.length, n = Array(2 < r ? r - 2 : 0), s = 2; s < r; s++) n[s - 2] = arguments[s];
+ if ("function" == typeof e) return e.apply(void 0, [t || {}].concat(n));
+ var i = Me.createElement(e);
+
+ function o(e, t) {
+ i.addEventListener(e, function(e) {
+ e.preventDefault(), e.stopPropagation(), t && t.apply(i, [e, i])
+ })
+ }
+ return 0 < n.length && Ge(n, function(e) {
+ e && (e.push ? Ge(e, function(e) {
+ e.appendChild ? i.appendChild(e) : i.appendChild(Me.createTextNode(e))
+ }) : e.appendChild ? i.appendChild(e) : i.appendChild(Me.createTextNode(e)))
+ }), Ge(t, function(e, t) {
+ if ("on" === t.substr(0, 2)) {
+ if (null === e) return;
+ o(t.substr(2).toLowerCase(), e)
+ } else "className" === t && (t = "class"), i.setAttribute(t, e)
+ }), i.on = o, i
+ }
+ var ot = Object.freeze({
+ globals: He,
+ getDocument: Je,
+ getWindow: Ve,
+ displayElement: Ye,
+ disposeElement: Xe,
+ getElements: Qe,
+ getElement: function(e) {
+ return null != e && 0 < e.length ? Me.querySelector(e) : null
+ },
+ getElementDataAttribute: Ke,
+ insertBefore: et,
+ addClass: tt,
+ removeClass: rt,
+ hasClass: nt,
+ toggleClass: st,
+ createElement: it
+ });
+
+ function at(e) {
+ var t = e.tokens,
+ r = e.options,
+ n = function(e, t) {
+ if ("string" != typeof e || 0 === e.length) return function() {
+ return !1
+ };
+ var r = parseInt(t),
+ i = !isNaN(r) && 1 < r ? r - 1 : 0,
+ o = {};
+ return e.split(",").forEach(function(e) {
+ var t = e.match(/([0-9]+)-([0-9]+)/);
+ if (null != t) {
+ var r = parseInt(t[1]) - i,
+ n = parseInt(t[2]) - i;
+ if (r < n) for (var s = r; s <= n; s++) o["" + s] = !0
+ } else o["" + (parseInt(e) - i)] = !0
+ }),
+ function(e) {
+ return o["" + e] || !1
+ }
+ }(r.highlight, r.lineoffset),
+ s = [],
+ i = [];
+ t.forEach(function(t) {
+ var e = t.text.split("\n");
+ 1 === e.length ? i.push([t.type, t.text]) : (i.push([t.type, e.shift()]), e.forEach(function(e) {
+ s.push(i), (i = []).push([t.type, e])
+ }))
+ }), s.push(i);
+ var o = [];
+ return 0 < r.lineoffset && o.push("counter-reset: enlighter " + (parseInt(r.lineoffset) - 1)), it("div", {
+ className: "enlighter",
+ style: o.join(";")
+ }, s.map(function(e, t) {
+ return it("div", {
+ className: n(t + 1) ? "enlighter-special" : ""
+ }, it("div", null, e.map(function(e) {
+ return it("span", {
+ className: "enlighter-" + e[0]
+ }, e[1])
+ })))
+ }))
+ }
+ function gt(e) {
+ var t = [];
+ e.name && t.push("enlighter-" + e.name), e.className && ("string" == typeof e.className ? t.push(e.className) : t.push.apply(t, g(e.className)));
+ for (var r = arguments.length, n = Array(1 < r ? r - 1 : 0), s = 1; s < r; s++) n[s - 1] = arguments[s];
+ return it.apply(ot, ["div", {
+ className: t.join(" ")
+ }
+ ].concat(n))
+ }
+ function lt(e) {
+ var t = ["enlighter-btn"];
+ return e.name && t.push("enlighter-btn-" + e.name), it("div", {
+ className: t.join(" "),
+ onClick: e.onClick
+ }, e.text || null)
+ }
+ function pt(r) {
+ var n = Ve();
+ return it(gt, {
+ name: "toolbar"
+ }, it(lt, {
+ name: "raw",
+ tooltip: "Toggle RAW code",
+ onClick: r.toggleRawCode
+ }), it(lt, {
+ name: "copy",
+ tooltip: "Copy to clipboard",
+ onClick: function() {
+ ! function(e) {
+ var t = Je(),
+ r = Ve(),
+ n = it("pre", {
+ className: "enlighter-clipboard"
+ }, e);
+ t.body.appendChild(n);
+ try {
+ var s = t.createRange();
+ s.selectNodeContents(n);
+ var i = r.getSelection();
+ i.removeAllRanges(), i.addRange(s)
+ } catch (e) {
+ return
+ }
+ var o = function() {
+ try {
+ return t.execCommand("copy"), notyf('代码已复制,可贴粘')
+ } catch (e) {
+ return !1
+ }
+ }();
+ r.getSelection().removeAllRanges(), Xe(n)
+ }(r.getRawCode())
+ }
+ }), it(lt, {
+ name: "window",
+ tooltip: "Open code in new window",
+ onClick: function() {
+ var e = n.open("", "", "width=" + n.screen.width / 2 + ", height=" + n.screen.height / 2 + ", menubar=no, titlebar=no, toolbar=no, top=100, left=100, scrollbars=yes, status=no"),
+ t = r.getRawCode().replace(/&/g, "&").replace(//g, ">");
+ e.document.body.innerHTML = "" + t + "", e.document.title = document.title + } + })) + } + function ut(e, t) { + return it("pre", { + className: "enlighter-raw" + }, t) + } + function ct(e) { + var t = null, + r = e[0].params, + n = ["enlighter-default", "enlighter-v-standard", "enlighter-t-" + e[0].params.theme]; + + function s() { + st(t, "enlighter-show-rawcode") + } + return !0 === r.linehover && n.push("enlighter-hover"), !0 === r.linenumbers && n.push("enlighter-linenumbers"), "scroll" === r.textOverflow && n.push("enlighter-overflow-scroll"), t = it(gt, { + className: n + }, it(pt, { + toggleRawCode: s, + getRawCode: function() { + return e[0].code + } + }), it(at, { + tokens: e[0].tokens, + options: e[0].params + }), it(ut, null, e[0].code)), r.rawcodeDbclick && t.on("dbclick", s), t + } + function yt(e) { + return it("span", { + className: "enlighter" + }, e.tokens.map(function(e) { + return it("span", { + className: "enlighter-" + e.type + }, e.text) + })) + } + function bt(r) { + var n = 0, + s = []; + return tt((s = r.dataset.map(function(e, t) { + return it(lt, { + onClick: function() { + return function(e) { + rt(s[n], "enlighter-active"), tt(s[e], "enlighter-active"), n = e, r.onChange(e) + }(t) + }, + text: e.params.title || e.params.language + }) + }))[0], "enlighter-active"), it(gt, { + name: "codegroup-switch" + }, s) + } + var ft = Object.freeze({ + standard: ct, + inline: function(e) { + return it(gt, { + className: ["enlighter-default", "enlighter-v-inline", "enlighter-t-" + e[0].params.theme] + }, it(yt, { + tokens: e[0].tokens, + options: e[0].params + })) + }, + codegroup: function(e) { + var t, r = null, + n = e[0].params, + s = 0, + i = ["enlighter-default", "enlighter-v-codegroup", "enlighter-t-" + n.theme]; + + function o() { + st(r, "enlighter-show-rawcode") + } + function a(e) { + Ye(t[s], !1), Ye(t[e], !0), s = e + } + return !0 === n.linehover && i.push("enlighter-hover"), !0 === n.linenumbers && i.push("enlighter-linenumbers"), "scroll" === n.textOverflow && i.push("enlighter-overflow-scroll"), t = e.map(function(e) { + return it("div", { + style: "display:none" + }, it(at, { + tokens: e.tokens, + options: e.params + }), it(ut, null, e.code)) + }), a(0), r = it(gt, { + className: i + }, it(bt, { + onChange: function(e) { + return a(e) + }, + dataset: e + }), it(gt, { + name: "codegroup-wrapper" + }, it(pt, { + toggleRawCode: o, + getRawCode: function() { + return e[s].code + } + }), t)), n.rawcodeDbclick && r.on("dbclick", o), r + } + }); + + function ht(e) { + return e = (e || "").toLowerCase(), e = Be[e] || e, ze[e] ? e : null + } + function dt(e) { + return function(e) { + return e = (e || "").toLowerCase(), ft[e] ? ft[e] : ct + }(e[0].params.layout)(e.map(function(e) { + var t = e.code, + r = e.params; + if ("string" != typeof t) throw new TypeError("EnlighterJS Engine requires string input"); + var n = ht(r.language) || ht(function(e) { + return u[e] || null + }("language")) || "generic"; + return { + tokens: (new ze[n]).analyze(t), + params: r, + code: t + } + })) + } + function xt(s, t) { + function i(e) { + return function() { + for (var e = arguments.length, t = Array(e), r = 0; r < e; r++) t[r] = arguments[r]; + for (var n = t.pop(), s = 0; s < t.length; s++) { + var i = t[s]; + if (null != i) return i + } + return n + }(t[e], u[e], null) + } + function e(e, t) { + var r = Ke(s, "enlighter-" + e), + n = i(e); + if (!(r && 0 < r.length)) return n; + switch (t) { + case "boolean": + return "true" === (r = r.toLowerCase().trim()) || "false" !== r && n; + case "int": + return r = parseInt(r), isNaN(r) ? n : r; + default: + return r + } + } + return { + language: e("language"), + theme: e("theme"), + layout: e("layout"), + title: e("title"), + highlight: e("highlight"), + linenumbers: e("linenumbers", "boolean"), + lineoffset: e("lineoffset", "int"), + indent: i("indent"), + ampersandCleanup: i("ampersandCleanup"), + linehover: i("linehover"), + rawcodeDbclick: i("rawcodeDbclick"), + textOverflow: i("textOverflow") + } + } + var mt = []; + + function kt(e) { + var t = function(e) { + for (var t = 0; t < mt.length; t++) for (var r = 0; r < mt[t].elements.length; r++) if (mt[t].elements[r] === e) return t; + return !1 + }(e); + if (!1 === t) return !1; + var r = mt.splice(t, 1); + return Xe(r[0].wrapper), r[0].elements.map(function(e) { + return rt(e, "enlighter-origin") + }), !0 + } + function _t(e) { + var n = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {}; + try { + if (Array.isArray(e) || (e = [e]), 0 === e.length) return !1; + if (!1 === n) return kt(e[0]); + if (nt(e[0], "enlighter-origin")) return !1; + var t = dt(e.map(function(e) { + var t = xt(e, n), + r = function(e, t) { + var r = e.innerHTML || ""; + r = r.replace(/(^\s*\n|\n\s*$)/gi, ""), !0 === t.ampersandCleanup && (r = r.replace(/&/gim, "&")), r = r.replace(/</gim, "<").replace(/>/gim, ">").replace(/ /gim, " "); + var n = t.indent; + return !1 !== n && -1 < n && (r = r.replace(/(\t*)/gim, function(e, t) { + return new Array(n * t.length + 1).join(" ") + })), r + }(e, t); + return tt(e, "enlighter-origin"), { + element: e, + code: r, + params: t + } + })); + return et(e[0], t), + function(e, t) { + mt.push({ + elements: e, + wrapper: t + }) + }(e, t), !0 + } catch (e) { + return console.error("EnlighterJS Internal Error:", e), !1 + } + } + return e.version = "3.0.0", e.enlight = _t, e.init = function() { + var e = 0 < arguments.length && void 0 !== arguments[0] ? arguments[0] : "pre.ejs", + t = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : "code.ejs", + r = 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : {}; + ! function(e) { + Object.assign(u, e || {}) + }(2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null); + for (var n = Qe(e), s = Qe(t), i = function(e) { + for (var t = {}, r = [], n = 0; n < e.length; n++) { + var s = Ke(e[n], "enlighter-group"); + s ? (t[s] || (t[s] = []), t[s].push(e[n])) : r.push(e[n]) + } + return { + standalone: r, + groups: Object.keys(t).map(function(e) { + return t[e] + }) + } + }(n), o = i.standalone, a = i.groups, g = 0; g < o.length; g++) _t(o[g], { + layout: r.block || "standard" + }); + for (var l = 0; l < a.length; l++) _t(a[l], { + layout: r.codegroup || "codegroup" + }); + for (var p = 0; p < s.length; p++) _t(s[p], { + layout: r.inline || "inline" + }) + }, e +}({}); +! function(n) { + "function" == typeof n && n.fn && (n.fn.enlight = function(n) { + return n = !0 === (n = void 0 === n ? {} : n) ? {} : n, this.each(function() { + EnlighterJS.enlight(this, n) + }) + }) +}(window.jQuery); \ No newline at end of file diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.min.css b/assets/vendor/zibll/js/enlighter/enlighterjs.min.css new file mode 100644 index 00000000..ae3c4461 --- /dev/null +++ b/assets/vendor/zibll/js/enlighter/enlighterjs.min.css @@ -0,0 +1 @@ +/*! EnlighterJS Syntax Highlighter 3.0.0 | Mozilla Public License 2.0 | https://enlighterjs.org */.enlighter-tooltip{z-index:100}.enlighter-default{font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:13px;line-height:1.4;overflow:hidden;white-space:pre-wrap;word-wrap:break-word;margin:0 0 20px 0;padding:0;position:relative;text-align:left;direction:ltr;border-radius:8px}.enlighter-default .enlighter-special:hover{background-color:#f4f8fc}.enlighter-default .enlighter-raw{display:none;white-space:pre-wrap;word-wrap:break-word;box-shadow:none;padding:0 17px!important;color:inherit}.enlighter-toolbar{opacity:0;position:absolute;right:10px;top:8px;z-index:10;transition:.2s}.enlighter-default:hover .enlighter-toolbar{opacity:1}.enlighter-default .enlighter-btn{font: normal normal 900 14px/1 "Font Awesome 5 Free";border-radius:4px;display:inline-block;transition:.15s;padding:.3em .6em;background:rgba(235,237,239,.8);color:#666;font-size:14px;margin-left:6px;cursor:pointer}.enlighter-default .enlighter-btn:hover{color:#157ff9}.enlighter-t-atomic .enlighter-btn,.enlighter-t-dracula .enlighter-btn,.enlighter-t-monokai .enlighter-btn{background:rgba(57,60,66,.87)}.enlighter-default .enlighter-toolbar .enlighter-btn-raw::after{content:"\f121"}.enlighter-default .enlighter-toolbar .enlighter-btn-copy::after{content:"\f0ea"}.enlighter-default .enlighter-toolbar .enlighter-btn-window::after{content:"\f1b2"}.enlighter-origin{display:none!important}.enlighter-clipboard{position:absolute;left:0;bottom:0;width:1px;height:1px;overflow:hidden}.enlighter-v-inline{display:inline-block;overflow:inherit;margin:0}.enlighter-v-standard{display:block}.enlighter-v-codegroup{display:block}.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}div.enlighter{width:100%;border-collapse:collapse;border-spacing:0;padding:12px 0;empty-cells:show;min-width:100%;font-size:10px;margin:0;text-indent:0;-webkit-overflow-scrolling:touch;counter-reset:enlighter 0}div.enlighter>div{margin:0;border:solid 0 #fff;list-style:none;font-size:inherit;line-height:1.4;min-height:14px}div.enlighter>div>div{display:table-cell;width:100%;padding-left:10px}div.enlighter>div>div::before{content:" "}span.enlighter{display:inline-block;padding:3px 5px 1px 5px;margin:0 2px 0 2px}.enlighter span{margin:0;padding:0;line-height:inherit;font-size:13px;font-family:inherit}.enlighter-linenumbers div.enlighter>div::before{white-space:nowrap;display:block;display:table-cell;width:45px;min-width:45px;counter-increment:enlighter;content:counter(enlighter,decimal) ".";text-align:right;padding-right:8px}.enlighter-overflow-scroll.enlighter-v-standard .enlighter{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-codegroup-wrapper{overflow-x:auto;word-wrap:normal!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter>div>div,.enlighter-overflow-scroll.enlighter-v-standard .enlighter>div>div{white-space:pre!important}.enlighter-overflow-scroll.enlighter-v-codegroup .enlighter-raw,.enlighter-overflow-scroll.enlighter-v-standard .enlighter-raw{white-space:pre!important}.enlighter-show-rawcode .enlighter-raw{padding:12px 16px!important;display:block}.enlighter-show-rawcode .enlighter{display:none!important}.enlighter-t-enlighter{color:#555;background:#f8f9fa}.enlighter-t-enlighter.enlighter-hover div.enlighter>div:hover{color:#444;background-color:#fffcd3}.enlighter-t-enlighter div.enlighter>div{color:#aaa}.enlighter-t-enlighter div.enlighter>div.enlighter-special{background-color:#fdf5f0}.enlighter-t-enlighter.enlighter-linenumbers div.enlighter>div::before{border-right:solid 1px #e8e8e8}.enlighter-t-enlighter .enlighter-text{color:#555}.enlighter-t-enlighter .enlighter-c0{color:#99a}.enlighter-t-enlighter .enlighter-c1{color:#99a}.enlighter-t-enlighter .enlighter-c2{color:#99a}.enlighter-t-enlighter .enlighter-c9{color:#9baa8f}.enlighter-t-enlighter .enlighter-k0{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k1{color:#4573f7;font-weight:700}.enlighter-t-enlighter .enlighter-k2{color:#458;font-weight:700}.enlighter-t-enlighter .enlighter-k3{color:#4da0d2;background-color:#f0f0f0}.enlighter-t-enlighter .enlighter-k4{color:#4a9141;font-weight:700}.enlighter-t-enlighter .enlighter-k5{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k6{color:#286491;font-style:italic}.enlighter-t-enlighter .enlighter-k7{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-k8{color:#4da0d2}.enlighter-t-enlighter .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-enlighter .enlighter-k10{color:#4a9141;font-style:italic}.enlighter-t-enlighter .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-enlighter .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-enlighter .enlighter-e2{color:#009926}.enlighter-t-enlighter .enlighter-e3{color:#286491}.enlighter-t-enlighter .enlighter-e4{color:#ff8c00;font-style:italic}.enlighter-t-enlighter .enlighter-s0{color:#f1436e}.enlighter-t-enlighter .enlighter-s1{color:#d14}.enlighter-t-enlighter .enlighter-s2{color:#d14}.enlighter-t-enlighter .enlighter-s3{color:#737383}.enlighter-t-enlighter .enlighter-s4{color:#ff8c00;font-weight:700}.enlighter-t-enlighter .enlighter-s5{color:#d14;font-style:italic}.enlighter-t-enlighter .enlighter-n0{color:#099}.enlighter-t-enlighter .enlighter-n1{color:#099}.enlighter-t-enlighter .enlighter-n2{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n3{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n4{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-enlighter .enlighter-m0{color:#0cad64}.enlighter-t-enlighter .enlighter-m1{color:#0086b3}.enlighter-t-enlighter .enlighter-m2{color:#0086b3}.enlighter-t-enlighter .enlighter-m3{color:#0086b3}.enlighter-t-enlighter .enlighter-g0{color:#777}.enlighter-t-enlighter .enlighter-g1{color:#777}.enlighter-t-enlighter .enlighter-t0{color:#777}.enlighter-t-enlighter .enlighter-t1{color:#d14;font-weight:700}.enlighter-t-enlighter .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-enlighter .enlighter-t3{color:#0086b3}.enlighter-t-enlighter .enlighter-t4{color:#009926}.enlighter-t-enlighter .enlighter-t5{color:#009926}.enlighter-t-enlighter .enlighter-t6{color:#d14}.enlighter-t-enlighter .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-enlighter .enlighter-t8{color:#777;background-color:#f0f0f0;font-style:italic}.enlighter-t-enlighter .enlighter-x1{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-x2{color:#4da0d2}.enlighter-t-enlighter .enlighter-x10{color:#000;font-weight:700}.enlighter-t-enlighter .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-enlighter .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-enlighter .enlighter-x13{color:#0086b3}.enlighter-t-enlighter .enlighter-x14{color:#099;font-style:italic}.enlighter-t-enlighter .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-enlighter.enlighter-v-inline{border-radius:3px;background-color:#fafafa}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter,.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-raw{border-top-left-radius:0;border-top-right-radius:0}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-enlighter.enlighter-v-codegroup .enlighter-codegroup-switch{border-radius:8px 8px 0 0;background-color:#f9f9f9;border-bottom:1px solid #e0e0e0;padding:5px 5px 5px 45px}.enlighter-t-beyond{color:#333;background-color:#f7f7fa;border-radius:5px;border:solid 2px #e2e2e8}.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover{color:#444;background-color:#fff}.enlighter-t-beyond.enlighter-hover div.enlighter>div:hover.enlighter-special{background-color:#fffcd3;border:solid 0 #fff;color:#444}.enlighter-t-beyond div.enlighter>div{line-height:18px;color:#aaa}.enlighter-t-beyond div.enlighter>div.enlighter-special{background-color:#fff}.enlighter-t-beyond.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;font-size:11px}.enlighter-t-beyond .enlighter span{font-size:13px}.enlighter-t-beyond .enlighter-text{color:#2f3235}.enlighter-t-beyond .enlighter-c0{color:#8181a1}.enlighter-t-beyond .enlighter-c1{color:#8181a1}.enlighter-t-beyond .enlighter-c2{color:#8181a1}.enlighter-t-beyond .enlighter-c9{color:#8181a1}.enlighter-t-beyond .enlighter-k0{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k1{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k2{color:#458;font-weight:700}.enlighter-t-beyond .enlighter-k3{color:#4da0d2;background-color:#f0f0f0}.enlighter-t-beyond .enlighter-k4{color:#4a9141;font-weight:700}.enlighter-t-beyond .enlighter-k5{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k6{color:#286491;font-style:italic}.enlighter-t-beyond .enlighter-k7{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-k8{color:#4da0d2}.enlighter-t-beyond .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-beyond .enlighter-k10{color:#4a9141;font-style:italic}.enlighter-t-beyond .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-beyond .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-beyond .enlighter-e2{color:#009926}.enlighter-t-beyond .enlighter-e3{color:#286491}.enlighter-t-beyond .enlighter-e4{color:#049595;font-style:italic}.enlighter-t-beyond .enlighter-s0{color:#d14}.enlighter-t-beyond .enlighter-s1{color:#d14}.enlighter-t-beyond .enlighter-s2{color:#d14}.enlighter-t-beyond .enlighter-s3{color:#737383}.enlighter-t-beyond .enlighter-s4{color:#049595;font-weight:700}.enlighter-t-beyond .enlighter-s5{color:#d14;font-style:italic}.enlighter-t-beyond .enlighter-n0{color:#099}.enlighter-t-beyond .enlighter-n1{color:#099}.enlighter-t-beyond .enlighter-n2{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n3{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n4{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-beyond .enlighter-m0{color:#0086b3}.enlighter-t-beyond .enlighter-m1{color:#0086b3}.enlighter-t-beyond .enlighter-m2{color:#0086b3}.enlighter-t-beyond .enlighter-m3{color:#0086b3}.enlighter-t-beyond .enlighter-g0{color:#777}.enlighter-t-beyond .enlighter-g1{color:#777}.enlighter-t-beyond .enlighter-t0{color:#777}.enlighter-t-beyond .enlighter-t1{color:#d14;font-weight:700}.enlighter-t-beyond .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-beyond .enlighter-t3{color:#0086b3}.enlighter-t-beyond .enlighter-t4{color:#009926}.enlighter-t-beyond .enlighter-t5{color:#009926}.enlighter-t-beyond .enlighter-t6{color:#d14}.enlighter-t-beyond .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-beyond .enlighter-t8{color:#777;background-color:#f0f0f0;font-style:italic}.enlighter-t-beyond .enlighter-x1{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-x2{color:#4da0d2}.enlighter-t-beyond .enlighter-x10{color:#000;font-weight:700}.enlighter-t-beyond .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-beyond .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-beyond .enlighter-x13{color:#0086b3}.enlighter-t-beyond .enlighter-x14{color:#099;font-style:italic}.enlighter-t-beyond .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-beyond.enlighter-v-inline{border-radius:3px;background-color:#f7f7fa;border:dotted 1px #e2e2e8;padding:0}.enlighter-t-beyond.enlighter-v-codegroup{padding:0;border:none}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-wrapper{background-color:#f7f7fa;border-radius:5px;border:solid 2px #e2e2e8;padding:10px 10px 10px 5px}.enlighter-t-beyond.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#fff;padding:0 0 0 45px}.enlighter-t-classic{background-color:#fff;border:1px solid #e8e8e2;border-left:solid 4px #52ce52}.enlighter-t-classic.enlighter-hover div.enlighter>div:hover{background-color:#ddf0dd}.enlighter-t-classic .enlighter-raw{font-size:15px;color:#000;line-height:22px;padding:4px 5px 4px 58px}.enlighter-t-classic div.enlighter{line-height:20px}.enlighter-t-classic div.enlighter>div{padding:1px 5px 1px 14px;line-height:20px;color:#aaa}.enlighter-t-classic div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-classic div.enlighter>div:nth-child(even){background-color:#f8f8f8}.enlighter-t-classic.enlighter-linenumbers div.enlighter>div::before{color:#40b540;border-right:1px solid #52ce52}.enlighter-t-classic .enlighter li.enlighter-special{background-color:#edf9ec;border-left-color:#3fa03f}.enlighter-t-classic .enlighter-text{color:#000}.enlighter-t-classic .enlighter-c0{color:#888}.enlighter-t-classic .enlighter-c1{color:#888}.enlighter-t-classic .enlighter-c2{color:#888}.enlighter-t-classic .enlighter-c9{color:#888}.enlighter-t-classic .enlighter-k0{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k1{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k2{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k3{color:#404247;background-color:#f0f0f0}.enlighter-t-classic .enlighter-k4{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k5{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-k6{color:#066da1;font-style:italic}.enlighter-t-classic .enlighter-k7{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-k8{color:#404247}.enlighter-t-classic .enlighter-k9{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-k10{color:#404247;font-style:italic}.enlighter-t-classic .enlighter-e0{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-e1{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-e2{color:#009926}.enlighter-t-classic .enlighter-e3{color:#d53aa9}.enlighter-t-classic .enlighter-e4{color:#d53aa9;font-style:italic}.enlighter-t-classic .enlighter-s0{color:#2d47e6}.enlighter-t-classic .enlighter-s1{color:#2d47e6}.enlighter-t-classic .enlighter-s2{color:#2d47e6}.enlighter-t-classic .enlighter-s3{color:#2d47e6}.enlighter-t-classic .enlighter-s4{color:#2d47e6;font-weight:700}.enlighter-t-classic .enlighter-s5{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-n0{color:#d53aa9}.enlighter-t-classic .enlighter-n1{color:#d53aa9}.enlighter-t-classic .enlighter-n2{color:#d53aa9}.enlighter-t-classic .enlighter-n3{color:#d53aa9}.enlighter-t-classic .enlighter-n4{color:#d53aa9}.enlighter-t-classic .enlighter-n5{color:#d53aa9}.enlighter-t-classic .enlighter-m0{color:#404247}.enlighter-t-classic .enlighter-m1{color:#404247}.enlighter-t-classic .enlighter-m2{color:#404247}.enlighter-t-classic .enlighter-m3{color:#404247}.enlighter-t-classic .enlighter-g0{color:#444}.enlighter-t-classic .enlighter-g1{color:#444}.enlighter-t-classic .enlighter-t0{color:#444}.enlighter-t-classic .enlighter-t1{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-t2{color:#d53aa9;font-weight:700}.enlighter-t-classic .enlighter-t3{color:#066da1}.enlighter-t-classic .enlighter-t4{color:#009926}.enlighter-t-classic .enlighter-t5{color:#009926}.enlighter-t-classic .enlighter-t6{color:#d53aa9}.enlighter-t-classic .enlighter-t7{color:#444;font-weight:700}.enlighter-t-classic .enlighter-t8{color:#444;background-color:#f0f0f0;font-style:italic}.enlighter-t-classic .enlighter-x1{color:#066da1;font-weight:700}.enlighter-t-classic .enlighter-x2{color:#404247;font-weight:700}.enlighter-t-classic .enlighter-x10{color:#000;font-weight:700}.enlighter-t-classic .enlighter-x11{color:#286491;font-weight:700}.enlighter-t-classic .enlighter-x12{color:#286491;text-decoration:underline}.enlighter-t-classic .enlighter-x13{color:#0086b3}.enlighter-t-classic .enlighter-x14{color:#099;font-style:italic}.enlighter-t-classic .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-classic.enlighter-v-inline{background-color:transparent;border:none}.enlighter-t-classic.enlighter-v-codegroup{display:block}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-classic.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#f8f8f8;padding-left:45px}.enlighter-t-godzilla{border-left:solid 6px #4a80b3;background-image:url(data:image/gif;base64,R0lGODlhHgAeAJEAAPLz9ezt7vf39wAAACwAAAAAHgAeAAACYYyPqXvi/wCccr5gY3Y1491Z4fRlI3Rem5ByaymurQBT8nuDuM57wA8MCodEQA2V8yRjm6OmZ3G6oKSlrWlFYqlaJffpNWUvxbL5J2WNHenZrL2mxd/znfjLrm/v/Kg+UwAAOw==);background-repeat:repeat;background-position:0 0}.enlighter-t-godzilla .enlighter-btn{background:rgba(229,239,244,0);color:#315f8c}.enlighter-t-godzilla.enlighter-hover div.enlighter>div:hover{background-color:#f0f0f1}.enlighter-t-godzilla .enlighter-raw{color:#1a5c9a}.enlighter-t-godzilla div.enlighter>div{padding:1px 5px 1px 14px;line-height:16px;color:#9c9ea0}.enlighter-t-godzilla div.enlighter>div.enlighter-special{background-color:#fffcd3}.enlighter-t-godzilla.enlighter-linenumbers div.enlighter>div::before{font-size:11px}.enlighter-t-godzilla .enlighter span{font-size:14px}.enlighter-t-godzilla .enlighter-text{color:#2b333a}.enlighter-t-godzilla .enlighter-c0{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c1{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c2{color:#6b7c8b}.enlighter-t-godzilla .enlighter-c9{color:#5b7c9c}.enlighter-t-godzilla .enlighter-k0{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k2{color:#4284ae;font-weight:700}.enlighter-t-godzilla .enlighter-k3{color:#4284ae;background-color:#f0f0f0}.enlighter-t-godzilla .enlighter-k4{color:#4284ae;font-weight:700}.enlighter-t-godzilla .enlighter-k5{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k6{color:#085789;font-style:italic}.enlighter-t-godzilla .enlighter-k7{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-k8{color:#4284ae}.enlighter-t-godzilla .enlighter-k9{color:#ae42a0;font-weight:700}.enlighter-t-godzilla .enlighter-k10{color:#ae42a0;font-style:italic}.enlighter-t-godzilla .enlighter-e0{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-e1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-e2{color:#085789}.enlighter-t-godzilla .enlighter-e3{color:#085789}.enlighter-t-godzilla .enlighter-e4{color:#d2901d}.enlighter-t-godzilla .enlighter-s0{color:#5e860f}.enlighter-t-godzilla .enlighter-s1{color:#5e860f}.enlighter-t-godzilla .enlighter-s2{color:#5e860f}.enlighter-t-godzilla .enlighter-s3{color:#5e860f}.enlighter-t-godzilla .enlighter-s4{color:#5e860f}.enlighter-t-godzilla .enlighter-s5{color:#5e860f}.enlighter-t-godzilla .enlighter-n0{color:#9b0d5c}.enlighter-t-godzilla .enlighter-n1{color:#9b0d5c}.enlighter-t-godzilla .enlighter-n2{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n3{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n4{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla .enlighter-n5{color:#9b0d5c;text-decoration:underline}.enlighter-t-godzilla .enlighter-m0{color:#d0284a}.enlighter-t-godzilla .enlighter-m1{color:#d0284a}.enlighter-t-godzilla .enlighter-m2{color:#d0284a}.enlighter-t-godzilla .enlighter-m3{color:#d0284a}.enlighter-t-godzilla .enlighter-g0{color:#35434c}.enlighter-t-godzilla .enlighter-g1{color:#35434c}.enlighter-t-godzilla .enlighter-t0{color:#35434c}.enlighter-t-godzilla .enlighter-t1{color:#d0284a;font-weight:700}.enlighter-t-godzilla .enlighter-t2{color:#9b0d5c;font-weight:700}.enlighter-t-godzilla .enlighter-t3{color:#085789}.enlighter-t-godzilla .enlighter-t4{color:#085789}.enlighter-t-godzilla .enlighter-t5{color:#085789}.enlighter-t-godzilla .enlighter-t6{color:#d0284a}.enlighter-t-godzilla .enlighter-t7{color:#35434c;font-weight:700}.enlighter-t-godzilla .enlighter-t8{color:#35434c;background-color:#f0f0f0;font-style:italic}.enlighter-t-godzilla .enlighter-x1{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-x2{color:#4284ae}.enlighter-t-godzilla .enlighter-x10{color:#35434c;font-weight:700}.enlighter-t-godzilla .enlighter-x11{color:#085789;font-weight:700}.enlighter-t-godzilla .enlighter-x12{color:#085789;text-decoration:underline}.enlighter-t-godzilla .enlighter-x13{color:#4284ae}.enlighter-t-godzilla .enlighter-x14{color:#4284ae;font-style:italic}.enlighter-t-godzilla .enlighter-x15{color:#9b0d5c;font-style:italic}.enlighter-t-godzilla.enlighter-v-inline{background-color:#f7f7f7;border:dotted 1px #e0e0e1;border-left:solid 2px #4a80b3}.enlighter-t-godzilla.enlighter-v-codegroup .enlighter-codegroup-switch{font-family:"Open Sans",Arial,Verdana,sans-serif;background-color:#4a80b3;padding:5px 5px 5px 5px}.enlighter-t-atomic{font-family:Inconsolata,Consolas,"Source Code Pro","Liberation Mono","Courier New",Courier,monospace;background-color:#272b33;color:#939393}.enlighter-t-atomic .enlighter-toolbar{top:10px;right:10px}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-raw:after{content:"Raw"}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-copy:after{content:"Copy"}.enlighter-t-atomic .enlighter-toolbar .enlighter-btn-window:after{content:"Extern"}.enlighter-t-atomic .enlighter-raw{font-size:16px;color:#517891}.enlighter-t-atomic div.enlighter>div{padding:1px 5px 1px 14px;line-height:19px;color:#596174;background-color:#272b33}.enlighter-t-atomic div.enlighter>div.enlighter-special{background-color:#392d3b}.enlighter-t-atomic.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px}.enlighter-t-atomic.enlighter-hover div.enlighter>div:hover{background-color:#2e353e}.enlighter-t-atomic .enlighter span{font-size:17px}.enlighter-t-atomic .enlighter-text{color:#cfd5e0}.enlighter-t-atomic .enlighter-c0{color:#6b7c8b}.enlighter-t-atomic .enlighter-c1{color:#6b7c8b}.enlighter-t-atomic .enlighter-c2{color:#6b7c8b}.enlighter-t-atomic .enlighter-c9{color:#5b7c9c}.enlighter-t-atomic .enlighter-k0{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k2{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-k3{color:#4284ae}.enlighter-t-atomic .enlighter-k4{color:#4284ae;font-weight:700}.enlighter-t-atomic .enlighter-k5{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k6{color:#d171dd;font-style:italic}.enlighter-t-atomic .enlighter-k7{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-k8{color:#4284ae}.enlighter-t-atomic .enlighter-k9{color:#fff}.enlighter-t-atomic .enlighter-k10{color:#4284ae;font-style:italic}.enlighter-t-atomic .enlighter-e0{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-e1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-e2{color:#d19252}.enlighter-t-atomic .enlighter-e3{color:#ae42a0}.enlighter-t-atomic .enlighter-e4{color:#d2901d;font-style:italic}.enlighter-t-atomic .enlighter-s0{color:#7cc379}.enlighter-t-atomic .enlighter-s1{color:#7cc379}.enlighter-t-atomic .enlighter-s2{color:#7cc379}.enlighter-t-atomic .enlighter-s3{color:#7cc379}.enlighter-t-atomic .enlighter-s4{color:#7cc379;font-weight:700}.enlighter-t-atomic .enlighter-s5{color:#5e860f;font-style:italic}.enlighter-t-atomic .enlighter-n0{color:#d19a66}.enlighter-t-atomic .enlighter-n1{color:#d19a66}.enlighter-t-atomic .enlighter-n2{color:#d19a66}.enlighter-t-atomic .enlighter-n3{color:#d19a66}.enlighter-t-atomic .enlighter-n4{color:#d19a66}.enlighter-t-atomic .enlighter-n5{color:#d19a66}.enlighter-t-atomic .enlighter-m0{color:#4284ae}.enlighter-t-atomic .enlighter-m1{color:#4284ae}.enlighter-t-atomic .enlighter-m2{color:#4284ae}.enlighter-t-atomic .enlighter-m3{color:#4284ae}.enlighter-t-atomic .enlighter-g0{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-g1{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-t0{color:#6b7c8b}.enlighter-t-atomic .enlighter-t1{color:#9b0d5c;font-weight:700}.enlighter-t-atomic .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-atomic .enlighter-t3{color:#d171dd}.enlighter-t-atomic .enlighter-t4{color:#4284ae}.enlighter-t-atomic .enlighter-t5{color:#4284ae}.enlighter-t-atomic .enlighter-t6{color:#9b0d5c}.enlighter-t-atomic .enlighter-t7{color:#6b7c8b;font-weight:700}.enlighter-t-atomic .enlighter-t8{color:#6b7c8b}.enlighter-t-atomic .enlighter-x1{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x2{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-x10{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x11{color:#d171dd;font-weight:700}.enlighter-t-atomic .enlighter-x12{color:#d171dd;text-decoration:underline}.enlighter-t-atomic .enlighter-x13{color:#d19252;border-bottom:dotted 1px #d19252}.enlighter-t-atomic .enlighter-x14{color:#d19a66;font-style:italic}.enlighter-t-atomic .enlighter-x15{color:#9b0d5c;font-style:italic}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-atomic.enlighter-v-codegroup .enlighter-codegroup-switch{padding:5px 5px 0 45px;background-color:#121518}.enlighter-t-droide{background-color:#f7f7f9;border:solid 1px #e0e0e0}.enlighter-t-droide.enlighter-hover div.enlighter>div:hover{background-color:#fae9d9}.enlighter-t-droide div.enlighter>div{line-height:16px;color:#aaa}.enlighter-t-droide div.enlighter>div.enlighter-special{background-color:#fae9d9;border-left:solid 5px #e07c19}.enlighter-t-droide .enlighter span{font-size:13px}.enlighter-t-droide .enlighter-text{color:#000}.enlighter-t-droide .enlighter-c0{color:#086b08}.enlighter-t-droide .enlighter-c1{color:#086b08}.enlighter-t-droide .enlighter-c2{color:#086b08}.enlighter-t-droide .enlighter-c9{color:#086b08}.enlighter-t-droide .enlighter-k0{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k1{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k2{color:#458;font-weight:700}.enlighter-t-droide .enlighter-k3{color:#6e0d6e}.enlighter-t-droide .enlighter-k4{color:#6e0d6e;font-weight:700}.enlighter-t-droide .enlighter-k5{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k6{color:#12217c;font-style:italic}.enlighter-t-droide .enlighter-k7{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-k8{color:#458}.enlighter-t-droide .enlighter-k9{color:#990073;font-weight:700}.enlighter-t-droide .enlighter-k10{color:#6e0d6e;font-style:italic}.enlighter-t-droide .enlighter-e0{color:#34068a;font-weight:700}.enlighter-t-droide .enlighter-e1{color:#34068a;font-weight:700}.enlighter-t-droide .enlighter-e2{color:#009926}.enlighter-t-droide .enlighter-e3{color:#286491}.enlighter-t-droide .enlighter-e4{color:#ff8c00;font-style:italic}.enlighter-t-droide .enlighter-s0{color:#961414}.enlighter-t-droide .enlighter-s1{color:#961414}.enlighter-t-droide .enlighter-s2{color:#961414}.enlighter-t-droide .enlighter-s3{color:#961414}.enlighter-t-droide .enlighter-s4{color:#963f14;font-weight:700}.enlighter-t-droide .enlighter-s5{color:#961414;font-style:italic}.enlighter-t-droide .enlighter-n0{color:#099}.enlighter-t-droide .enlighter-n1{color:#099}.enlighter-t-droide .enlighter-n2{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n3{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n4{color:#099;font-style:italic}.enlighter-t-droide .enlighter-n5{color:#099;text-decoration:underline}.enlighter-t-droide .enlighter-m0{color:#000}.enlighter-t-droide .enlighter-m1{color:#000}.enlighter-t-droide .enlighter-m2{color:#000}.enlighter-t-droide .enlighter-m3{color:#000}.enlighter-t-droide .enlighter-g0{color:#12217c}.enlighter-t-droide .enlighter-g1{color:#12217c}.enlighter-t-droide .enlighter-t0{color:#777}.enlighter-t-droide .enlighter-t1{color:#961414;font-weight:700}.enlighter-t-droide .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-droide .enlighter-t3{color:#458}.enlighter-t-droide .enlighter-t4{color:#6e0d6e}.enlighter-t-droide .enlighter-t5{color:#6e0d6e}.enlighter-t-droide .enlighter-t6{color:#961414}.enlighter-t-droide .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-droide .enlighter-t8{color:#777;font-style:italic}.enlighter-t-droide .enlighter-x1{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x2{color:#6e0d6e}.enlighter-t-droide .enlighter-x10{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x11{color:#12217c;font-weight:700}.enlighter-t-droide .enlighter-x12{color:#458}.enlighter-t-droide .enlighter-x13{color:#099}.enlighter-t-droide .enlighter-x14{color:#099}.enlighter-t-droide .enlighter-x15{color:#990073;font-style:italic}.enlighter-t-droide.enlighter-v-codegroup{background-color:transparent;border:none}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-wrapper{background-color:#f7f7f9;border:solid 1px #e0e0e0}.enlighter-t-droide.enlighter-v-codegroup .enlighter-codegroup-switch{padding-left:15px}.enlighter-t-minimal{border-top:solid 3px #e0e0e0;border-bottom:solid 3px #e0e0e0;border-radius:0!important}.enlighter-t-minimal.enlighter-hover div.enlighter>div:hover{background-color:#f0f0f0}.enlighter-t-minimal div.enlighter>div{line-height:18px;color:#a0a0a0}.enlighter-t-minimal div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-minimal.enlighter-linenumbers div.enlighter>div::before{padding:1px 10px 1px 10px;font-size:10px;color:#404141}.enlighter-t-minimal .enlighter span{font-size:13px}.enlighter-t-minimal .enlighter-text{color:#2a2a2a}.enlighter-t-minimal .enlighter-c0{color:#a0a0a0}.enlighter-t-minimal .enlighter-c1{color:#a0a0a0}.enlighter-t-minimal .enlighter-c2{color:#a0a0a0}.enlighter-t-minimal .enlighter-c9{color:#a0a0a0}.enlighter-t-minimal .enlighter-k0{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-k1{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-k2{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-k3{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-k4{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-k5{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-k6{color:#12217c;font-style:italic}.enlighter-t-minimal .enlighter-k7{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-k8{color:#458}.enlighter-t-minimal .enlighter-k9{color:#990073}.enlighter-t-minimal .enlighter-k10{color:#990073}.enlighter-t-minimal .enlighter-e0{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-e1{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-e2{color:#996700;border-bottom:solid 1px #996700}.enlighter-t-minimal .enlighter-e3{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-e4{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-s0{color:#217908;border-bottom:dotted 1px #387905}.enlighter-t-minimal .enlighter-s1{color:#217908;border-bottom:dotted 1px #387905}.enlighter-t-minimal .enlighter-s2{color:#cf6a4c}.enlighter-t-minimal .enlighter-s3{color:#217908;border-bottom:dotted 1px #387905}.enlighter-t-minimal .enlighter-s4{color:#217908;border-bottom:dotted 1px #387905}.enlighter-t-minimal .enlighter-s5{color:#217908;border-bottom:dotted 1px #387905}.enlighter-t-minimal .enlighter-n0{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-n1{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-n2{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-n3{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-n4{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-n5{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-m0{color:#12217c;background-color:#e0e0e0}.enlighter-t-minimal .enlighter-m1{color:#12217c;background-color:#e0e0e0}.enlighter-t-minimal .enlighter-m2{color:#12217c;background-color:#e0e0e0}.enlighter-t-minimal .enlighter-m3{color:#12217c;background-color:#e0e0e0}.enlighter-t-minimal .enlighter-g0{color:#12217c}.enlighter-t-minimal .enlighter-g1{color:#2a2a2a}.enlighter-t-minimal .enlighter-t0{color:#a0a0a0}.enlighter-t-minimal .enlighter-t1{color:#387905;font-weight:700}.enlighter-t-minimal .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-minimal .enlighter-t3{color:#458}.enlighter-t-minimal .enlighter-t4{color:#458}.enlighter-t-minimal .enlighter-t5{color:#458}.enlighter-t-minimal .enlighter-t6{color:#387905}.enlighter-t-minimal .enlighter-t7{color:#a0a0a0;font-weight:700}.enlighter-t-minimal .enlighter-t8{color:#a0a0a0;font-style:italic}.enlighter-t-minimal .enlighter-x1{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-x2{color:#458;border-bottom:dotted 1px #458}.enlighter-t-minimal .enlighter-x10{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-x11{color:#12217c;font-weight:700}.enlighter-t-minimal .enlighter-x12{color:#458}.enlighter-t-minimal .enlighter-x13{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-x14{color:#a61d1b;font-weight:700}.enlighter-t-minimal .enlighter-x15{color:#990073}.enlighter-t-minimal.enlighter-v-inline{background-color:transparent;border:none;padding:0}.enlighter-t-minimal.enlighter-v-codegroup{border-top:none;padding-top:0}.enlighter-t-minimal.enlighter-v-codegroup .enlighter-codegroup-wrapper{border-top:solid 3px #e0e0e0;padding-top:10px}.enlighter-t-minimal.enlighter-v-codegroup .enlighter-codegroup-switch{padding-left:5px;padding-bottom:5px}.enlighter-t-eclipse{color:#787878;border:solid 8px #f3f3f3}.enlighter-t-eclipse.enlighter-hover.enlighter-linenumbers div.enlighter>div:hover{background-color:#e8f2fe;color:#444}.enlighter-t-eclipse.enlighter-hover div.enlighter>div:hover{background-color:#e8f2fe;color:#444;border-left-color:#e0e0e0}.enlighter-t-eclipse .enlighter-raw{color:#717171}.enlighter-t-eclipse div.enlighter>div{line-height:16px;color:#787878}.enlighter-t-eclipse div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-eclipse.enlighter-linenumbers div.enlighter>div::before{border-right:2px solid #f8f8f8;padding:1px 5px 1px 14px}.enlighter-t-eclipse .enlighter span{font-size:13px}.enlighter-t-eclipse .enlighter-text{color:#000}.enlighter-t-eclipse .enlighter-c0{color:#3f7f5f}.enlighter-t-eclipse .enlighter-c1{color:#3f5fbf}.enlighter-t-eclipse .enlighter-c2{color:#3f5fbf}.enlighter-t-eclipse .enlighter-c9{color:#3f5fbf}.enlighter-t-eclipse .enlighter-k0{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-k1{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-k2{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k3{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k4{color:#458}.enlighter-t-eclipse .enlighter-k5{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k6{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k7{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-k8{color:#458}.enlighter-t-eclipse .enlighter-k9{color:#990073}.enlighter-t-eclipse .enlighter-k10{color:#990073}.enlighter-t-eclipse .enlighter-e0{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e1{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e2{color:#009926}.enlighter-t-eclipse .enlighter-e3{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-e4{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-s0{color:#320fe3}.enlighter-t-eclipse .enlighter-s1{color:#320fe3}.enlighter-t-eclipse .enlighter-s2{color:#320fe3}.enlighter-t-eclipse .enlighter-s3{color:#320fe3}.enlighter-t-eclipse .enlighter-s4{color:#320fe3}.enlighter-t-eclipse .enlighter-s5{color:#990073}.enlighter-t-eclipse .enlighter-n0{color:#000}.enlighter-t-eclipse .enlighter-n1{color:#000}.enlighter-t-eclipse .enlighter-n2{color:#000}.enlighter-t-eclipse .enlighter-n3{color:#000}.enlighter-t-eclipse .enlighter-n4{color:#000}.enlighter-t-eclipse .enlighter-n5{color:#000}.enlighter-t-eclipse .enlighter-m0{color:#000}.enlighter-t-eclipse .enlighter-m1{color:#000}.enlighter-t-eclipse .enlighter-m2{color:#000}.enlighter-t-eclipse .enlighter-m3{color:#000}.enlighter-t-eclipse .enlighter-g0{color:#777}.enlighter-t-eclipse .enlighter-g1{color:#777}.enlighter-t-eclipse .enlighter-t0{color:#777}.enlighter-t-eclipse .enlighter-t1{color:#3f7f5f;font-weight:700}.enlighter-t-eclipse .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-eclipse .enlighter-t3{color:#458}.enlighter-t-eclipse .enlighter-t4{color:#458}.enlighter-t-eclipse .enlighter-t5{color:#458}.enlighter-t-eclipse .enlighter-t6{color:#3f7f5f}.enlighter-t-eclipse .enlighter-t7{color:#a0a0a0;font-weight:700}.enlighter-t-eclipse .enlighter-t8{color:#a0a0a0;font-style:italic}.enlighter-t-eclipse .enlighter-x1{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x2{color:#7f007f;font-weight:700}.enlighter-t-eclipse .enlighter-x10{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x11{color:#3f7f95;font-weight:700}.enlighter-t-eclipse .enlighter-x12{color:#458}.enlighter-t-eclipse .enlighter-x13{color:#3f7f95}.enlighter-t-eclipse .enlighter-x14{color:#000}.enlighter-t-eclipse .enlighter-x15{color:#000}.enlighter-t-eclipse.enlighter-v-inline{border-radius:3px;background-color:#f8f8f8;border:solid 0 #fff}.enlighter-t-eclipse.enlighter-v-codegroup{display:block}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter,.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-raw{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-wrapper{position:relative}.enlighter-t-eclipse.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#f3f3f3;padding:8px 5px 0 60px;border-radius:5px 5px 0 0}.enlighter-t-mowtwo{background-color:#f0f0f1;border:solid 1px #f0f0f1}.enlighter-t-mowtwo.enlighter-hover div.enlighter>div:hover{background-color:#e9e9e9}.enlighter-t-mowtwo div.enlighter>div{line-height:18px;color:#9c9ea0}.enlighter-t-mowtwo div.enlighter>div.enlighter-special{background-color:#e9e9e9}.enlighter-t-mowtwo.enlighter-linenumbers div.enlighter>div::before{font-size:11px}.enlighter-t-mowtwo .enlighter span{font-size:14px}.enlighter-t-mowtwo .enlighter-text{color:#313437}.enlighter-t-mowtwo .enlighter-c0{color:#9c9ea0}.enlighter-t-mowtwo .enlighter-c1{color:#9c9ea0}.enlighter-t-mowtwo .enlighter-c2{color:#9c9ea0}.enlighter-t-mowtwo .enlighter-c9{color:#9c9ea0}.enlighter-t-mowtwo .enlighter-k0{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-k1{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-k2{color:#b05098}.enlighter-t-mowtwo .enlighter-k3{color:#b05098}.enlighter-t-mowtwo .enlighter-k4{color:#b05098}.enlighter-t-mowtwo .enlighter-k5{color:#b05098}.enlighter-t-mowtwo .enlighter-k6{color:#b05098}.enlighter-t-mowtwo .enlighter-k7{color:#b05098}.enlighter-t-mowtwo .enlighter-k8{color:#313437}.enlighter-t-mowtwo .enlighter-k9{color:#313437}.enlighter-t-mowtwo .enlighter-k10{color:#313437}.enlighter-t-mowtwo .enlighter-e0{color:#b05098}.enlighter-t-mowtwo .enlighter-e1{color:#b05098}.enlighter-t-mowtwo .enlighter-e2{color:#864c08}.enlighter-t-mowtwo .enlighter-e3{color:#b05098}.enlighter-t-mowtwo .enlighter-e4{color:#b05098}.enlighter-t-mowtwo .enlighter-s0{color:#83a440}.enlighter-t-mowtwo .enlighter-s1{color:#83a440}.enlighter-t-mowtwo .enlighter-s2{color:#83a440}.enlighter-t-mowtwo .enlighter-s3{color:#83a440}.enlighter-t-mowtwo .enlighter-s4{color:#83a440}.enlighter-t-mowtwo .enlighter-s5{color:#83a440}.enlighter-t-mowtwo .enlighter-n0{color:#429bc1}.enlighter-t-mowtwo .enlighter-n1{color:#429bc1}.enlighter-t-mowtwo .enlighter-n2{color:#429bc1}.enlighter-t-mowtwo .enlighter-n3{color:#429bc1}.enlighter-t-mowtwo .enlighter-n4{color:#429bc1}.enlighter-t-mowtwo .enlighter-n5{color:#429bc1}.enlighter-t-mowtwo .enlighter-m0{color:#666}.enlighter-t-mowtwo .enlighter-m1{color:#666}.enlighter-t-mowtwo .enlighter-m2{color:#666}.enlighter-t-mowtwo .enlighter-m3{color:#666}.enlighter-t-mowtwo .enlighter-g0{color:#864c08}.enlighter-t-mowtwo .enlighter-g1{color:#909090}.enlighter-t-mowtwo .enlighter-t0{color:#909090}.enlighter-t-mowtwo .enlighter-t1{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-t2{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-t3{color:#b05098}.enlighter-t-mowtwo .enlighter-t4{color:#b05098}.enlighter-t-mowtwo .enlighter-t5{color:#83a440}.enlighter-t-mowtwo .enlighter-t6{color:#b05098}.enlighter-t-mowtwo .enlighter-t7{color:#909090;font-weight:700}.enlighter-t-mowtwo .enlighter-t8{color:#909090;font-style:italic}.enlighter-t-mowtwo .enlighter-x1{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-x2{color:#b05098}.enlighter-t-mowtwo .enlighter-x10{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-x11{color:#b05098;font-weight:700}.enlighter-t-mowtwo .enlighter-x12{color:#313437}.enlighter-t-mowtwo .enlighter-x13{color:#429bc1}.enlighter-t-mowtwo .enlighter-x14{color:#429bc1}.enlighter-t-mowtwo .enlighter-x15{color:#313437}.enlighter-t-mowtwo.enlighter-v-inline{border-radius:4px}.enlighter-t-mowtwo.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#585b5e;padding:10px 0 10px 20px;border-radius:8px;margin-bottom:5px}.enlighter-t-rowhammer{background-color:transparent;border:none}.enlighter-t-rowhammer.enlighter-hover div.enlighter>div:hover{background-color:#f0f0f0}.enlighter-t-rowhammer div.enlighter>div{line-height:20px;color:#94a9bf;font-size:10px;border-bottom:dotted 1px #e9e9f0}.enlighter-t-rowhammer div.enlighter>div:nth-of-type(1){border-top:dotted 1px #e9e9f0}.enlighter-t-rowhammer div.enlighter>div.enlighter-special{background-color:#f9f9f9}.enlighter-t-rowhammer.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 14px;font-size:10px;color:#5d87b4}.enlighter-t-rowhammer .enlighter span{font-size:13px}.enlighter-t-rowhammer .enlighter-text{color:#000}.enlighter-t-rowhammer .enlighter-c0{color:#758697}.enlighter-t-rowhammer .enlighter-c1{color:#758697}.enlighter-t-rowhammer .enlighter-c2{color:#758697}.enlighter-t-rowhammer .enlighter-c9{color:#758697}.enlighter-t-rowhammer .enlighter-k0{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-k1{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-k2{color:#07a;font-weight:700}.enlighter-t-rowhammer .enlighter-k3{color:#07a}.enlighter-t-rowhammer .enlighter-k4{color:#07a;font-weight:700}.enlighter-t-rowhammer .enlighter-k5{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-k6{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-k7{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-k8{color:#07a}.enlighter-t-rowhammer .enlighter-k9{color:#000}.enlighter-t-rowhammer .enlighter-k10{color:#07a;font-style:italic}.enlighter-t-rowhammer .enlighter-e0{color:#07a;font-weight:700}.enlighter-t-rowhammer .enlighter-e1{color:#07a;font-weight:700}.enlighter-t-rowhammer .enlighter-e2{color:#d2901d}.enlighter-t-rowhammer .enlighter-e3{color:#07a}.enlighter-t-rowhammer .enlighter-e4{color:#ff8c00;font-style:italic}.enlighter-t-rowhammer .enlighter-s0{color:#639500;border-bottom:dotted 1px #639500}.enlighter-t-rowhammer .enlighter-s1{color:#639500}.enlighter-t-rowhammer .enlighter-s2{color:#639500}.enlighter-t-rowhammer .enlighter-s3{color:#639500}.enlighter-t-rowhammer .enlighter-s4{color:#639500}.enlighter-t-rowhammer .enlighter-s5{color:#639500;font-style:italic}.enlighter-t-rowhammer .enlighter-n0{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-n1{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-n2{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-n3{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-n4{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-n5{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-m0{color:#d0284a;font-weight:700}.enlighter-t-rowhammer .enlighter-m1{color:#c2415b;font-weight:700}.enlighter-t-rowhammer .enlighter-m2{color:#c2415b;font-weight:700}.enlighter-t-rowhammer .enlighter-m3{color:#d0284a;font-weight:700}.enlighter-t-rowhammer .enlighter-g0{color:#35434c;font-weight:700}.enlighter-t-rowhammer .enlighter-g1{color:#6b7c8b;font-weight:700}.enlighter-t-rowhammer .enlighter-t0{color:#777}.enlighter-t-rowhammer .enlighter-t1{color:#961414;font-weight:700}.enlighter-t-rowhammer .enlighter-t2{color:#990073;font-weight:700}.enlighter-t-rowhammer .enlighter-t3{color:#458}.enlighter-t-rowhammer .enlighter-t4{color:#6e0d6e}.enlighter-t-rowhammer .enlighter-t5{color:#6e0d6e}.enlighter-t-rowhammer .enlighter-t6{color:#961414}.enlighter-t-rowhammer .enlighter-t7{color:#535353;font-weight:700}.enlighter-t-rowhammer .enlighter-t8{color:#777;font-style:italic}.enlighter-t-rowhammer .enlighter-x1{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-x2{color:#07a;font-weight:700}.enlighter-t-rowhammer .enlighter-x10{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-x11{color:#07a;font-weight:700;border-bottom:dotted 1px #07a}.enlighter-t-rowhammer .enlighter-x12{color:#07a}.enlighter-t-rowhammer .enlighter-x13{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-x14{color:#9b0d5c}.enlighter-t-rowhammer .enlighter-x15{color:#121212}.enlighter-t-rowhammer.enlighter-v-codegroup .enlighter-codegroup-switch{padding-left:15px;padding-bottom:15px}.enlighter-t-bootstrap4{font-size:10px;color:#212529;background-color:#f8f9fa;padding:1.5em 1.2em;border-radius:4px}.enlighter-t-bootstrap4 .enlighter-toolbar{top:10px;right:10px}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-raw:after{content:"Raw"}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-copy:after{content:"Copy"}.enlighter-t-bootstrap4 .enlighter-toolbar .enlighter-btn-window:after{content:"Extern"}.enlighter-t-bootstrap4.enlighter-hover div.enlighter>div:hover{background-color:#eceef0}.enlighter-t-bootstrap4 .enlighter-raw{font-size:14px;color:#212529;background-color:#f8f9fa;line-height:20px;padding:28px 25px 30px 79px}.enlighter-t-bootstrap4 div.enlighter>div{padding:1px 5px 1px 14px;line-height:16px;color:#999;background-color:transparent}.enlighter-t-bootstrap4 div.enlighter>div.enlighter-special{background-color:#eceef0}.enlighter-t-bootstrap4.enlighter-linenumbers div.enlighter>div::before{padding:1px 5px 1px 0}.enlighter-t-bootstrap4 .enlighter span{font-size:14px}.enlighter-t-bootstrap4 .enlighter-text{color:#212529}.enlighter-t-bootstrap4 .enlighter-c0{color:#999}.enlighter-t-bootstrap4 .enlighter-c1{color:#999}.enlighter-t-bootstrap4 .enlighter-c2{color:#999}.enlighter-t-bootstrap4 .enlighter-c9{color:#999}.enlighter-t-bootstrap4 .enlighter-k0{color:#069}.enlighter-t-bootstrap4 .enlighter-k1{color:#069}.enlighter-t-bootstrap4 .enlighter-k2{color:#069}.enlighter-t-bootstrap4 .enlighter-k3{color:#069}.enlighter-t-bootstrap4 .enlighter-k4{color:#069;font-style:italic}.enlighter-t-bootstrap4 .enlighter-k5{color:#212529}.enlighter-t-bootstrap4 .enlighter-k6{color:#069}.enlighter-t-bootstrap4 .enlighter-k7{color:#069;border-bottom:dotted 1px #069}.enlighter-t-bootstrap4 .enlighter-k8{color:#212529}.enlighter-t-bootstrap4 .enlighter-k9{color:#069}.enlighter-t-bootstrap4 .enlighter-k10{color:#212529}.enlighter-t-bootstrap4 .enlighter-e0{color:#069}.enlighter-t-bootstrap4 .enlighter-e1{color:#069}.enlighter-t-bootstrap4 .enlighter-e2{color:#009926}.enlighter-t-bootstrap4 .enlighter-e3{color:#069}.enlighter-t-bootstrap4 .enlighter-e4{color:#069}.enlighter-t-bootstrap4 .enlighter-s0{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s1{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s2{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s3{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s4{color:#d44950}.enlighter-t-bootstrap4 .enlighter-s5{color:#d44950}.enlighter-t-bootstrap4 .enlighter-n0{color:#f60}.enlighter-t-bootstrap4 .enlighter-n1{color:#f60}.enlighter-t-bootstrap4 .enlighter-n2{color:#f60}.enlighter-t-bootstrap4 .enlighter-n3{color:#f60}.enlighter-t-bootstrap4 .enlighter-n4{color:#f60}.enlighter-t-bootstrap4 .enlighter-n5{color:#f60}.enlighter-t-bootstrap4 .enlighter-m0{color:#99f}.enlighter-t-bootstrap4 .enlighter-m1{color:#212529}.enlighter-t-bootstrap4 .enlighter-m2{color:#212529}.enlighter-t-bootstrap4 .enlighter-m3{color:#212529}.enlighter-t-bootstrap4 .enlighter-g0{color:#2f6f9f}.enlighter-t-bootstrap4 .enlighter-g1{color:#999;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t0{color:#999}.enlighter-t-bootstrap4 .enlighter-t1{color:#d44950;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t2{color:#d44950;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t3{color:#0086b3}.enlighter-t-bootstrap4 .enlighter-t4{color:#0a8}.enlighter-t-bootstrap4 .enlighter-t5{color:#0a8}.enlighter-t-bootstrap4 .enlighter-t6{color:#f60}.enlighter-t-bootstrap4 .enlighter-t7{color:#999;font-weight:700}.enlighter-t-bootstrap4 .enlighter-t8{color:#999}.enlighter-t-bootstrap4 .enlighter-x1{color:#2f6f9f}.enlighter-t-bootstrap4 .enlighter-x2{color:#4f9fcf}.enlighter-t-bootstrap4 .enlighter-x10{color:#0a8}.enlighter-t-bootstrap4 .enlighter-x11{color:#0a8}.enlighter-t-bootstrap4 .enlighter-x12{color:#99f}.enlighter-t-bootstrap4 .enlighter-x13{color:#f60}.enlighter-t-bootstrap4 .enlighter-x14{color:#f60}.enlighter-t-bootstrap4 .enlighter-x15{color:#f60}.enlighter-t-bootstrap4.enlighter-v-inline{background-color:#f8f9fa;border:none;border-radius:5px;padding:3px}.enlighter-t-bootstrap4.enlighter-v-codegroup .enlighter-codegroup-switch{border:solid 3px #f8f9fa;border-bottom-width:0;padding:15px}.enlighter-t-dracula{background-color:#2d2e31;color:#7e9bf5}.enlighter-t-dracula .enlighter-btn:hover{color:#4b7bf9}.enlighter-t-dracula.enlighter-hover div.enlighter>div:hover{background-color:#44475a}.enlighter-t-dracula div.enlighter>div{color:#6272a4}.enlighter-t-dracula div.enlighter>div.enlighter-special{background-color:#44475a}.enlighter-t-dracula.enlighter-linenumbers div.enlighter>div::before{font-size:12px;color:#6272a4}.enlighter-t-dracula .enlighter-text{color:#f8f8f2}.enlighter-t-dracula .enlighter-c0{color:#6272a4}.enlighter-t-dracula .enlighter-c1{color:#6272a4}.enlighter-t-dracula .enlighter-c2{color:#6272a4}.enlighter-t-dracula .enlighter-c9{color:#6272a4}.enlighter-t-dracula .enlighter-k0{color:#ff79c6;font-weight:700}.enlighter-t-dracula .enlighter-k1{color:#8be9fd;font-weight:700}.enlighter-t-dracula .enlighter-k2{color:#ff79c6;font-weight:700}.enlighter-t-dracula .enlighter-k3{color:#ff79c6}.enlighter-t-dracula .enlighter-k4{color:#8be9fd}.enlighter-t-dracula .enlighter-k5{color:#8be9fd}.enlighter-t-dracula .enlighter-k6{color:#8be9fd}.enlighter-t-dracula .enlighter-k7{color:#ffb86c}.enlighter-t-dracula .enlighter-k8{color:#8be9fd}.enlighter-t-dracula .enlighter-k9{color:#50fa7b}.enlighter-t-dracula .enlighter-k10{color:#50fa7b}.enlighter-t-dracula .enlighter-e0{color:#bd93f9;font-weight:700}.enlighter-t-dracula .enlighter-e1{color:#bd93f9;font-weight:700}.enlighter-t-dracula .enlighter-e2{color:#f1fa8c}.enlighter-t-dracula .enlighter-e3{color:#bd93f9}.enlighter-t-dracula .enlighter-e4{color:#bd93f9;font-style:italic}.enlighter-t-dracula .enlighter-s0{color:#f1fa8c}.enlighter-t-dracula .enlighter-s1{color:#f1fa8c}.enlighter-t-dracula .enlighter-s2{color:#f1fa8c}.enlighter-t-dracula .enlighter-s3{color:#f1fa8c}.enlighter-t-dracula .enlighter-s4{color:#f1fa8c;font-weight:700}.enlighter-t-dracula .enlighter-s5{color:#f1fa8c;font-style:italic}.enlighter-t-dracula .enlighter-n0{color:#bd93f9}.enlighter-t-dracula .enlighter-n1{color:#bd93f9}.enlighter-t-dracula .enlighter-n2{color:#bd93f9}.enlighter-t-dracula .enlighter-n3{color:#bd93f9}.enlighter-t-dracula .enlighter-n4{color:#bd93f9}.enlighter-t-dracula .enlighter-n5{color:#bd93f9}.enlighter-t-dracula .enlighter-m0{color:#8be9fd}.enlighter-t-dracula .enlighter-m1{color:#8be9fd}.enlighter-t-dracula .enlighter-m2{color:#8be9fd}.enlighter-t-dracula .enlighter-m3{color:#8be9fd}.enlighter-t-dracula .enlighter-g0{color:#f8f8f2;font-weight:700}.enlighter-t-dracula .enlighter-g1{color:#f8f8f2;font-weight:700}.enlighter-t-dracula .enlighter-t0{color:#6272a4}.enlighter-t-dracula .enlighter-t1{color:#8be9fd;font-weight:700}.enlighter-t-dracula .enlighter-t2{color:#8be9fd;font-weight:700}.enlighter-t-dracula .enlighter-t3{color:#ff79c6}.enlighter-t-dracula .enlighter-t4{color:#ffb86c}.enlighter-t-dracula .enlighter-t5{color:#50fa7b}.enlighter-t-dracula .enlighter-t6{color:#f55}.enlighter-t-dracula .enlighter-t7{color:#f8f8f2;font-weight:700}.enlighter-t-dracula .enlighter-t8{color:#f8f8f2}.enlighter-t-dracula .enlighter-x1{color:#ff79c6;font-weight:700}.enlighter-t-dracula .enlighter-x2{color:#50fa7b}.enlighter-t-dracula .enlighter-x10{color:#f8f8f2;font-weight:700}.enlighter-t-dracula .enlighter-x11{color:#50fa7b;font-weight:700}.enlighter-t-dracula .enlighter-x12{color:#8be9fd;font-style:italic}.enlighter-t-dracula .enlighter-x13{color:#bd93f9}.enlighter-t-dracula .enlighter-x14{color:#bd93f9;font-style:italic}.enlighter-t-dracula .enlighter-x15{color:#ffb86c;font-style:italic}.enlighter-t-dracula.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#282a36;padding:10px}.enlighter-t-monokai{background-color:#272822;border-bottom:5px solid #949833}.enlighter-t-monokai.enlighter-hover div.enlighter>div:hover{background-color:#75715e}.enlighter-t-monokai .enlighter-raw{color:#bab36b;line-height:19px}.enlighter-t-monokai div.enlighter>div{line-height:19px}.enlighter-t-monokai div.enlighter>div.enlighter-special{background-color:#414339}.enlighter-t-monokai.enlighter-linenumbers div.enlighter>div::before{font-size:12px;color:#d2c784}.enlighter-t-monokai .enlighter-text{color:#f8f8f2}.enlighter-t-monokai .enlighter-c0{color:#75715e}.enlighter-t-monokai .enlighter-c1{color:#75715e}.enlighter-t-monokai .enlighter-c2{color:#75715e}.enlighter-t-monokai .enlighter-c9{color:#75715e}.enlighter-t-monokai .enlighter-k0{color:#f92672}.enlighter-t-monokai .enlighter-k1{color:#f92672}.enlighter-t-monokai .enlighter-k2{color:#f92672}.enlighter-t-monokai .enlighter-k3{color:#f92672}.enlighter-t-monokai .enlighter-k4{color:#f92672}.enlighter-t-monokai .enlighter-k5{color:#f92672}.enlighter-t-monokai .enlighter-k6{color:#f92672}.enlighter-t-monokai .enlighter-k7{color:#f8f8f2}.enlighter-t-monokai .enlighter-k8{color:#f92672}.enlighter-t-monokai .enlighter-k9{color:#fd971f}.enlighter-t-monokai .enlighter-k10{color:#f92672}.enlighter-t-monokai .enlighter-e0{color:#ae81ff}.enlighter-t-monokai .enlighter-e1{color:#ae81ff}.enlighter-t-monokai .enlighter-e2{color:#ae81ff}.enlighter-t-monokai .enlighter-e3{color:#ae81ff}.enlighter-t-monokai .enlighter-e4{color:#ae81ff}.enlighter-t-monokai .enlighter-s0{color:#e6db74}.enlighter-t-monokai .enlighter-s1{color:#e6db74}.enlighter-t-monokai .enlighter-s2{color:#e6db74}.enlighter-t-monokai .enlighter-s3{color:#e6db74}.enlighter-t-monokai .enlighter-s4{color:#e6db74;font-weight:700}.enlighter-t-monokai .enlighter-s5{color:#e6db74;font-style:italic}.enlighter-t-monokai .enlighter-n0{color:#ae81ff}.enlighter-t-monokai .enlighter-n1{color:#ae81ff}.enlighter-t-monokai .enlighter-n2{color:#ae81ff}.enlighter-t-monokai .enlighter-n3{color:#ae81ff}.enlighter-t-monokai .enlighter-n4{color:#ae81ff}.enlighter-t-monokai .enlighter-n5{color:#ae81ff}.enlighter-t-monokai .enlighter-m0{color:#66d9ef}.enlighter-t-monokai .enlighter-m1{color:#66d9ef}.enlighter-t-monokai .enlighter-m2{color:#66d9ef}.enlighter-t-monokai .enlighter-m3{color:#66d9ef}.enlighter-t-monokai .enlighter-g0{color:#f8f8f2;font-weight:700}.enlighter-t-monokai .enlighter-g1{color:#f8f8f2;font-weight:700}.enlighter-t-monokai .enlighter-t0{color:#f8f8f2}.enlighter-t-monokai .enlighter-t1{color:#a6e22e}.enlighter-t-monokai .enlighter-t2{color:#a6e22e}.enlighter-t-monokai .enlighter-t3{color:#e6db74}.enlighter-t-monokai .enlighter-t4{color:#e6db74}.enlighter-t-monokai .enlighter-t5{color:#a6e22e}.enlighter-t-monokai .enlighter-t6{color:#f92672}.enlighter-t-monokai .enlighter-t7{color:#f92672}.enlighter-t-monokai .enlighter-t8{color:#75715e}.enlighter-t-monokai .enlighter-x1{color:#f92672}.enlighter-t-monokai .enlighter-x2{color:#a6e22e}.enlighter-t-monokai .enlighter-x10{color:#a6e22e}.enlighter-t-monokai .enlighter-x11{color:#a6e22e}.enlighter-t-monokai .enlighter-x12{color:#66d9ef;font-style:italic}.enlighter-t-monokai .enlighter-x13{color:#f92672}.enlighter-t-monokai .enlighter-x14{color:#ae81ff}.enlighter-t-monokai .enlighter-x15{color:#a6e22e}.enlighter-t-monokai.enlighter-v-codegroup .enlighter-codegroup-switch{background-color:#414339;padding:10px 10px 0 30px}.enlighter{-ms-overflow-style:none;overflow:-moz-scrollbars-none}.enlighter::-webkit-scrollbar{width:5px;height:5px;margin:2px}.enlighter::-webkit-scrollbar-track{border-radius:10px}.enlighter::-webkit-scrollbar-thumb{border-radius:10px;background:rgba(0,0,0,.1)}.enlighter::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.2)}.enlighter::-webkit-scrollbar-thumb:window-inactive{background:rgba(0,0,0,.05)} \ No newline at end of file diff --git a/assets/vendor/zibll/js/enlighter/enlighterjs.min.js b/assets/vendor/zibll/js/enlighter/enlighterjs.min.js new file mode 100644 index 00000000..fa1974c2 --- /dev/null +++ b/assets/vendor/zibll/js/enlighter/enlighterjs.min.js @@ -0,0 +1,2 @@ +var EnlighterJS=function(e){"use strict";function t(e,t,r,n,s){return{text:e,type:t,index:n||0,end:e.length+n,filter:r||null,priority:s||0}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function n(e,t){for(var r=0;r
"+n+"",r.document.title=document.title}}))}function ye(e,t){return ge("pre",{className:"enlighter-raw"},t)}function be(e){function t(){ae(r,"enlighter-show-rawcode")}var r=null,n=e[0].params,s=["enlighter-default","enlighter-v-standard","enlighter-t-"+e[0].params.theme];return!0===n.linehover&&s.push("enlighter-hover"),!0===n.linenumbers&&s.push("enlighter-linenumbers"),"scroll"===n.textOverflow&&s.push("enlighter-overflow-scroll"),r=ge(pe,{className:s},ge(ce,{toggleRawCode:t,getRawCode:function(){return e[0].code}}),ge(le,{tokens:e[0].tokens,options:e[0].params}),ge(ye,null,e[0].code)),n.rawcodeDbclick&&r.on("dbclick",t),r}function fe(e){return ge("span",{className:"enlighter"},e.tokens.map(function(e){return ge("span",{className:"enlighter-"+e.type},e.text)}))}function he(e){var t=0,r=[];return se((r=e.dataset.map(function(n,s){return ge(ue,{onClick:function(){return n=s,ie(r[t],"enlighter-active"),se(r[n],"enlighter-active"),t=n,void e.onChange(n);var n},text:n.params.title||n.params.language})}))[0],"enlighter-active"),ge(pe,{name:"codegroup-switch"},r)}function de(e){return e=(e||"").toLowerCase(),e=ft[e]||e,bt[e]?e:null}function xe(e){return function(e){return e=(e||"").toLowerCase(),kt[e]?kt[e]:be}(e[0].params.layout)(e.map(function(e){var t=e.code,r=e.params;if("string"!=typeof t)throw new TypeError("EnlighterJS Engine requires string input");var n=de(r.language)||de(function(e){return we[e]||null}("language"))||"generic";return{tokens:(new bt[n]).analyze(t),params:r,code:t}}))}function me(e,t){function r(e){return function(){for(var e=arguments.length,t=Array(e),r=0;r