@hep-code-runner/vue3 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,116 @@
1
+ # @hep-code-runner/vue3
2
+
3
+ Vue 3 代码运行器组件,支持多种编程语言在线执行。
4
+
5
+ ## 功能特性
6
+
7
+ - 支持多种编程语言(JavaScript、Python、Go、Java、C、Rust 等)
8
+ - 多版本语言支持(如 Python 2、Python 3)
9
+ - 代码语法高亮(PrismJS)
10
+ - 亮色/暗色主题切换
11
+ - 可拖拽调整编辑器宽度
12
+ - 支持自定义 Piston API 地址
13
+ - 完整的事件回调
14
+
15
+ ## 安装
16
+
17
+ ```bash
18
+ npm install @hep-code-runner/vue3
19
+ # 或
20
+ pnpm add @hep-code-runner/vue3
21
+ ```
22
+
23
+ ## 基础用法
24
+
25
+ ```vue
26
+ <template>
27
+ <CodeRunner />
28
+ </template>
29
+
30
+ <script setup>
31
+ import { CodeRunner } from "@hep-code-runner/vue3";
32
+ import "@hep-code-runner/vue3/dist/style.css";
33
+ </script>
34
+ ```
35
+
36
+ ## Props 属性
37
+
38
+ | 属性 | 类型 | 默认值 | 说明 |
39
+ | -------------------- | ----------------- | ------------- | --------------- |
40
+ | v-model | string | - | 绑定代码内容 |
41
+ | pistonUrl | string | '/api/piston' | Piston API 地址 |
42
+ | language | string | 'javascript' | 默认语言 |
43
+ | theme | 'light' \| 'dark' | 'light' | 主题 |
44
+ | showLanguageSelector | boolean | true | 显示语言选择器 |
45
+ | showEditor | boolean | true | 显示代码编辑器 |
46
+ | editable | boolean | true | 是否可编辑 |
47
+ | defaultCode | string | '' | 默认代码 |
48
+ | executorLabel | string | '运行' | 运行按钮文字 |
49
+
50
+ ## Events 事件
51
+
52
+ | 事件名 | 参数 | 说明 |
53
+ | ----------------- | -------------- | ------------ |
54
+ | update:modelValue | value | 代码内容变化 |
55
+ | execute-start | - | 代码开始执行 |
56
+ | execute-end | result | 代码执行完成 |
57
+ | language-change | language, code | 语言切换 |
58
+
59
+ ## 主题切换
60
+
61
+ ```vue
62
+ <CodeRunner theme="dark" />
63
+ ```
64
+
65
+ 点击组件右上角的月亮/太阳按钮可切换主题。
66
+
67
+ ## 自定义 Piston API
68
+
69
+ ```vue
70
+ <CodeRunner pistonUrl="https://your-piston-api.com/api" />
71
+ ```
72
+
73
+ ## 示例
74
+
75
+ ### 默认配置
76
+
77
+ ```vue
78
+ <CodeRunner />
79
+ ```
80
+
81
+ ### 深色主题
82
+
83
+ ```vue
84
+ <CodeRunner theme="dark" language="python" />
85
+ ```
86
+
87
+ ### 监听事件
88
+
89
+ ```vue
90
+ <template>
91
+ <CodeRunner
92
+ @execute-start="handleStart"
93
+ @execute-end="handleEnd"
94
+ @language-change="handleLanguageChange"
95
+ />
96
+ </template>
97
+
98
+ <script setup>
99
+ function handleStart() {
100
+ console.log("开始执行");
101
+ }
102
+
103
+ function handleEnd(result) {
104
+ console.log("执行完成", result);
105
+ }
106
+
107
+ function handleLanguageChange(language, code) {
108
+ console.log("语言切换", language);
109
+ }
110
+ </script>
111
+ ```
112
+
113
+ ## 依赖
114
+
115
+ - vue: ^3.0.0
116
+ - prismjs: ^1.30.0
@@ -0,0 +1,83 @@
1
+ import { App } from 'vue';
2
+ import { ComponentOptionsMixin } from 'vue';
3
+ import { ComponentProvideOptions } from 'vue';
4
+ import { DefineComponent } from 'vue';
5
+ import { ExecuteResult } from '@hep-code-runner/core';
6
+ import { ExtractPropTypes } from 'vue';
7
+ import { PropType } from 'vue';
8
+ import { PublicProps } from 'vue';
9
+
10
+ declare type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+
12
+ declare type __VLS_Prettify<T> = {
13
+ [K in keyof T]: T[K];
14
+ } & {};
15
+
16
+ declare type __VLS_TypePropsToRuntimeProps<T> = {
17
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
18
+ type: PropType<__VLS_NonUndefinedable<T[K]>>;
19
+ } : {
20
+ type: PropType<T[K]>;
21
+ required: true;
22
+ };
23
+ };
24
+
25
+ declare type __VLS_WithDefaults<P, D> = {
26
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
27
+ default: D[K];
28
+ }> : P[K];
29
+ };
30
+
31
+ declare const _default: DefineComponent<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
32
+ pistonUrl: string;
33
+ language: string;
34
+ theme: string;
35
+ showLanguageSelector: boolean;
36
+ showEditor: boolean;
37
+ editable: boolean;
38
+ executorLabel: string;
39
+ }>>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
40
+ "execute-start": () => void;
41
+ "execute-end": (result: ExecuteResult) => void;
42
+ "language-change": (language: string, code: string) => void;
43
+ }, string, PublicProps, Readonly<ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<Props>, {
44
+ pistonUrl: string;
45
+ language: string;
46
+ theme: string;
47
+ showLanguageSelector: boolean;
48
+ showEditor: boolean;
49
+ editable: boolean;
50
+ executorLabel: string;
51
+ }>>> & Readonly<{
52
+ "onExecute-start"?: (() => any) | undefined;
53
+ "onExecute-end"?: ((result: ExecuteResult) => any) | undefined;
54
+ "onLanguage-change"?: ((language: string, code: string) => any) | undefined;
55
+ }>, {
56
+ language: string;
57
+ theme: "light" | "dark";
58
+ pistonUrl: string;
59
+ showLanguageSelector: boolean;
60
+ showEditor: boolean;
61
+ editable: boolean;
62
+ executorLabel: string;
63
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
64
+ export { _default as CodeRunner }
65
+ export { _default as CodeRunnerProps }
66
+
67
+ declare const _default_2: {
68
+ install(app: App): void;
69
+ };
70
+ export default _default_2;
71
+
72
+ declare interface Props {
73
+ pistonUrl?: string;
74
+ language?: string;
75
+ theme?: "light" | "dark";
76
+ showLanguageSelector?: boolean;
77
+ showEditor?: boolean;
78
+ editable?: boolean;
79
+ defaultCode?: string;
80
+ executorLabel?: string;
81
+ }
82
+
83
+ export { }
package/dist/index.js ADDED
@@ -0,0 +1,75 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("vue");var se=Object.defineProperty,ie=(l,p,a)=>p in l?se(l,p,{enumerable:!0,configurable:!0,writable:!0,value:a}):l[p]=a,Q=(l,p,a)=>ie(l,typeof p!="symbol"?p+"":p,a);let Z=null;class oe{constructor(p={}){Q(this,"baseUrl"),Q(this,"timeout"),this.baseUrl=p.pistonUrl||"/api/piston",this.timeout=p.timeout||3e3}async getRuntimes(p=!1){if(Z&&!p)return Z;try{const a=await fetch(`${this.baseUrl}/runtimes`,{method:"GET",headers:{"Content-Type":"application/json"}});if(!a.ok)throw new Error(`Failed to fetch runtimes: ${a.statusText}`);const u=await a.json();return Z=u,u}catch(a){throw console.error("Failed to fetch runtimes:",a),a}}async execute(p,a,u={}){const b=(await this.getRuntimes()).find(h=>{var S;return h.language.toLowerCase()===p.toLowerCase()||((S=h.aliases)==null?void 0:S.some(k=>k.toLowerCase()===p.toLowerCase()))});if(!b)throw new Error(`Language '${p}' is not supported`);const y=this.getFileName(p),v={language:b.language,version:u.version||b.version,files:[{name:y,content:a}],stdin:u.stdin||"",args:u.args||[],run_timeout:u.runTimeout||this.timeout,compile_timeout:this.timeout},o=Date.now();try{const h=await fetch(`${this.baseUrl}/execute`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v)});if(!h.ok)throw new Error(`Execute failed: ${h.statusText}`);const S=await h.json(),k=Date.now()-o,R=S.run.stdout||"",I=S.run.stderr||"";return{success:S.run.code===0,output:R,stderr:I,code:S.run.code,executionTime:k,compile:S.compile?{stdout:S.compile.stdout||"",stderr:S.compile.stderr||"",code:S.compile.code}:void 0}}catch(h){return{success:!1,output:"",stderr:h instanceof Error?h.message:"Unknown error",code:-1,executionTime:Date.now()-o}}}getFileName(p){return{javascript:"main.js",typescript:"main.ts",python:"main.py",python3:"main.py",go:"main.go",rust:"main.rs",java:"Main.java",c:"main.c",cpp:"main.cpp",csharp:"Main.cs",ruby:"main.rb",php:"main.php",bash:"main.sh",shell:"main.sh",perl:"main.pl",lua:"main.lua",swift:"main.swift",kotlin:"Main.kt",scala:"Main.scala",haskell:"main.hs",dart:"main.dart",html:"index.html",css:"style.css",sql:"query.sql",markdown:"readme.md"}[p.toLowerCase()]||`main.${p}`}}const le={javascript:'console.log("Hello, World!");',typescript:'console.log("Hello, World!");',python:'print("Hello, World!")',python3:'print("Hello, World!")',go:`package main
2
+
3
+ import "fmt"
4
+
5
+ func main() {
6
+ fmt.Println("Hello, World!")
7
+ }`,rust:`fn main() {
8
+ println!("Hello, World!");
9
+ }`,java:`public class Main {
10
+ public static void main(String[] args) {
11
+ System.out.println("Hello, World!");
12
+ }
13
+ }`,c:`#include <stdio.h>
14
+
15
+ int main() {
16
+ printf("Hello, World!\\n");
17
+ return 0;
18
+ }`,cpp:`#include <iostream>
19
+
20
+ int main() {
21
+ std::cout << "Hello, World!" << std::endl;
22
+ return 0;
23
+ }`,csharp:`using System;
24
+
25
+ class Main {
26
+ static void Main() {
27
+ Console.WriteLine("Hello, World!");
28
+ }
29
+ }`,ruby:'puts "Hello, World!"',php:`<?php
30
+ echo "Hello, World!";
31
+ ?>`,bash:'echo "Hello, World!"',shell:'echo "Hello, World!"',perl:'print "Hello, World!\\n";',lua:'print("Hello, World!")',r:'print("Hello, World!")',swift:'print("Hello, World!")',kotlin:`fun main() {
32
+ println("Hello, World!")
33
+ }`,scala:`object Main extends App {
34
+ println("Hello, World!")
35
+ }`,haskell:'main = putStrLn "Hello, World!"',elixir:'IO.puts "Hello, World!"',erlang:'main() -> io:fwrite("Hello, World!~n").',clojure:'(println "Hello, World!")',fsharp:'printfn "Hello, World!"',dart:`void main() {
36
+ print("Hello, World!");
37
+ }`,assembly:`section .data
38
+ msg db 'Hello, World!', 0
39
+ section .text
40
+ global _start
41
+ _start:
42
+ mov rax, 1
43
+ mov rdi, 1
44
+ mov rsi, msg
45
+ mov rdx, 13
46
+ syscall
47
+ mov rax, 60
48
+ xor rdi, rdi
49
+ syscall`,html:`<!DOCTYPE html>
50
+ <html>
51
+ <head>
52
+ <title>Hello</title>
53
+ </head>
54
+ <body>
55
+ <h1>Hello, World!</h1>
56
+ </body>
57
+ </html>`,css:`body {
58
+ background-color: #f0f0f0;
59
+ font-family: Arial, sans-serif;
60
+ }
61
+
62
+ h1 {
63
+ color: #333;
64
+ }`,sql:"SELECT 'Hello, World!' AS message;",markdown:`# Hello, World!
65
+
66
+ This is a sample markdown document.`};function K(l){const p=l.toLowerCase();return le[p]||`// ${l}
67
+ // Write your code here`}var ee=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ue(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var te={exports:{}};(function(l){var p=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/**
68
+ * Prism: Lightweight, robust, elegant syntax highlighting
69
+ *
70
+ * @license MIT <https://opensource.org/licenses/MIT>
71
+ * @author Lea Verou <https://lea.verou.me>
72
+ * @namespace
73
+ * @public
74
+ */var a=function(u){var b=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,y=0,v={},o={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function n(e){return e instanceof h?new h(e.type,n(e.content),e.alias):Array.isArray(e)?e.map(n):e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(n){return Object.prototype.toString.call(n).slice(8,-1)},objId:function(n){return n.__id||Object.defineProperty(n,"__id",{value:++y}),n.__id},clone:function n(e,r){r=r||{};var s,i;switch(o.util.type(e)){case"Object":if(i=o.util.objId(e),r[i])return r[i];s={},r[i]=s;for(var d in e)e.hasOwnProperty(d)&&(s[d]=n(e[d],r));return s;case"Array":return i=o.util.objId(e),r[i]?r[i]:(s=[],r[i]=s,e.forEach(function(f,c){s[c]=n(f,r)}),s);default:return e}},getLanguage:function(n){for(;n;){var e=b.exec(n.className);if(e)return e[1].toLowerCase();n=n.parentElement}return"none"},setLanguage:function(n,e){n.className=n.className.replace(RegExp(b,"gi"),""),n.classList.add("language-"+e)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT")return document.currentScript;try{throw new Error}catch(s){var n=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(s.stack)||[])[1];if(n){var e=document.getElementsByTagName("script");for(var r in e)if(e[r].src==n)return e[r]}return null}},isActive:function(n,e,r){for(var s="no-"+e;n;){var i=n.classList;if(i.contains(e))return!0;if(i.contains(s))return!1;n=n.parentElement}return!!r}},languages:{plain:v,plaintext:v,text:v,txt:v,extend:function(n,e){var r=o.util.clone(o.languages[n]);for(var s in e)r[s]=e[s];return r},insertBefore:function(n,e,r,s){s=s||o.languages;var i=s[n],d={};for(var f in i)if(i.hasOwnProperty(f)){if(f==e)for(var c in r)r.hasOwnProperty(c)&&(d[c]=r[c]);r.hasOwnProperty(f)||(d[f]=i[f])}var w=s[n];return s[n]=d,o.languages.DFS(o.languages,function(N,L){L===w&&N!=n&&(this[N]=d)}),d},DFS:function n(e,r,s,i){i=i||{};var d=o.util.objId;for(var f in e)if(e.hasOwnProperty(f)){r.call(e,f,e[f],s||f);var c=e[f],w=o.util.type(c);w==="Object"&&!i[d(c)]?(i[d(c)]=!0,n(c,r,null,i)):w==="Array"&&!i[d(c)]&&(i[d(c)]=!0,n(c,r,f,i))}}},plugins:{},highlightAll:function(n,e){o.highlightAllUnder(document,n,e)},highlightAllUnder:function(n,e,r){var s={callback:r,container:n,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",s),s.elements=Array.prototype.slice.apply(s.container.querySelectorAll(s.selector)),o.hooks.run("before-all-elements-highlight",s);for(var i=0,d;d=s.elements[i++];)o.highlightElement(d,e===!0,s.callback)},highlightElement:function(n,e,r){var s=o.util.getLanguage(n),i=o.languages[s];o.util.setLanguage(n,s);var d=n.parentElement;d&&d.nodeName.toLowerCase()==="pre"&&o.util.setLanguage(d,s);var f=n.textContent,c={element:n,language:s,grammar:i,code:f};function w(L){c.highlightedCode=L,o.hooks.run("before-insert",c),c.element.innerHTML=c.highlightedCode,o.hooks.run("after-highlight",c),o.hooks.run("complete",c),r&&r.call(c.element)}if(o.hooks.run("before-sanity-check",c),d=c.element.parentElement,d&&d.nodeName.toLowerCase()==="pre"&&!d.hasAttribute("tabindex")&&d.setAttribute("tabindex","0"),!c.code){o.hooks.run("complete",c),r&&r.call(c.element);return}if(o.hooks.run("before-highlight",c),!c.grammar){w(o.util.encode(c.code));return}if(e&&u.Worker){var N=new Worker(o.filename);N.onmessage=function(L){w(L.data)},N.postMessage(JSON.stringify({language:c.language,code:c.code,immediateClose:!0}))}else w(o.highlight(c.code,c.grammar,c.language))},highlight:function(n,e,r){var s={code:n,grammar:e,language:r};if(o.hooks.run("before-tokenize",s),!s.grammar)throw new Error('The language "'+s.language+'" has no grammar.');return s.tokens=o.tokenize(s.code,s.grammar),o.hooks.run("after-tokenize",s),h.stringify(o.util.encode(s.tokens),s.language)},tokenize:function(n,e){var r=e.rest;if(r){for(var s in r)e[s]=r[s];delete e.rest}var i=new R;return I(i,i.head,n),k(n,i,e,i.head,0),O(i)},hooks:{all:{},add:function(n,e){var r=o.hooks.all;r[n]=r[n]||[],r[n].push(e)},run:function(n,e){var r=o.hooks.all[n];if(!(!r||!r.length))for(var s=0,i;i=r[s++];)i(e)}},Token:h};u.Prism=o;function h(n,e,r,s){this.type=n,this.content=e,this.alias=r,this.length=(s||"").length|0}h.stringify=function n(e,r){if(typeof e=="string")return e;if(Array.isArray(e)){var s="";return e.forEach(function(w){s+=n(w,r)}),s}var i={type:e.type,content:n(e.content,r),tag:"span",classes:["token",e.type],attributes:{},language:r},d=e.alias;d&&(Array.isArray(d)?Array.prototype.push.apply(i.classes,d):i.classes.push(d)),o.hooks.run("wrap",i);var f="";for(var c in i.attributes)f+=" "+c+'="'+(i.attributes[c]||"").replace(/"/g,"&quot;")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+f+">"+i.content+"</"+i.tag+">"};function S(n,e,r,s){n.lastIndex=e;var i=n.exec(r);if(i&&s&&i[1]){var d=i[1].length;i.index+=d,i[0]=i[0].slice(d)}return i}function k(n,e,r,s,i,d){for(var f in r)if(!(!r.hasOwnProperty(f)||!r[f])){var c=r[f];c=Array.isArray(c)?c:[c];for(var w=0;w<c.length;++w){if(d&&d.cause==f+","+w)return;var N=c[w],L=N.inside,M=!!N.lookbehind,E=!!N.greedy,T=N.alias;if(E&&!N.pattern.global){var F=N.pattern.toString().match(/[imsuy]*$/)[0];N.pattern=RegExp(N.pattern.source,F+"g")}for(var U=N.pattern||N,_=s.next,D=i;_!==e.tail&&!(d&&D>=d.reach);D+=_.value.length,_=_.next){var $=_.value;if(e.length>n.length)return;if(!($ instanceof h)){var H=1,C;if(E){if(C=S(U,D,n,M),!C||C.index>=n.length)break;var G=C.index,ae=C.index+C[0].length,P=D;for(P+=_.value.length;G>=P;)_=_.next,P+=_.value.length;if(P-=_.value.length,D=P,_.value instanceof h)continue;for(var B=_;B!==e.tail&&(P<ae||typeof B.value=="string");B=B.next)H++,P+=B.value.length;H--,$=n.slice(D,P),C.index-=D}else if(C=S(U,0,$,M),!C)continue;var G=C.index,V=C[0],W=$.slice(0,G),J=$.slice(G+V.length),Y=D+$.length;d&&Y>d.reach&&(d.reach=Y);var z=_.prev;W&&(z=I(e,z,W),D+=W.length),x(e,z,H);var re=new h(f,L?o.tokenize(V,L):V,T,V);if(_=I(e,z,re),J&&I(e,_,J),H>1){var X={cause:f+","+w,reach:Y};k(n,e,r,_.prev,D,X),d&&X.reach>d.reach&&(d.reach=X.reach)}}}}}}function R(){var n={value:null,prev:null,next:null},e={value:null,prev:n,next:null};n.next=e,this.head=n,this.tail=e,this.length=0}function I(n,e,r){var s=e.next,i={value:r,prev:e,next:s};return e.next=i,s.prev=i,n.length++,i}function x(n,e,r){for(var s=e.next,i=0;i<r&&s!==n.tail;i++)s=s.next;e.next=s,s.prev=e,n.length-=i}function O(n){for(var e=[],r=n.head.next;r!==n.tail;)e.push(r.value),r=r.next;return e}if(!u.document)return u.addEventListener&&(o.disableWorkerMessageHandler||u.addEventListener("message",function(n){var e=JSON.parse(n.data),r=e.language,s=e.code,i=e.immediateClose;u.postMessage(o.highlight(s,o.languages[r],r)),i&&u.close()},!1)),o;var m=o.util.currentScript();m&&(o.filename=m.src,m.hasAttribute("data-manual")&&(o.manual=!0));function g(){o.manual||o.highlightAll()}if(!o.manual){var A=document.readyState;A==="loading"||A==="interactive"&&m&&m.defer?document.addEventListener("DOMContentLoaded",g):window.requestAnimationFrame?window.requestAnimationFrame(g):window.setTimeout(g,16)}return o}(p);l.exports&&(l.exports=a),typeof ee<"u"&&(ee.Prism=a),a.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},a.languages.markup.tag.inside["attr-value"].inside.entity=a.languages.markup.entity,a.languages.markup.doctype.inside["internal-subset"].inside=a.languages.markup,a.hooks.add("wrap",function(u){u.type==="entity"&&(u.attributes.title=u.content.replace(/&amp;/,"&"))}),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(b,y){var v={};v["language-"+y]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:a.languages[y]},v.cdata=/^<!\[CDATA\[|\]\]>$/i;var o={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:v}};o["language-"+y]={pattern:/[\s\S]+/,inside:a.languages[y]};var h={};h[b]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return b}),"i"),lookbehind:!0,greedy:!0,inside:o},a.languages.insertBefore("markup","cdata",h)}}),Object.defineProperty(a.languages.markup.tag,"addAttribute",{value:function(u,b){a.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+u+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[b,"language-"+b],inside:a.languages[b]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),a.languages.html=a.languages.markup,a.languages.mathml=a.languages.markup,a.languages.svg=a.languages.markup,a.languages.xml=a.languages.extend("markup",{}),a.languages.ssml=a.languages.xml,a.languages.atom=a.languages.xml,a.languages.rss=a.languages.xml,function(u){var b=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;u.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+b.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+b.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+b.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+b.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:b,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},u.languages.css.atrule.inside.rest=u.languages.css;var y=u.languages.markup;y&&(y.tag.addInlined("style","css"),y.tag.addAttribute("style","css"))}(a),a.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.javascript=a.languages.extend("clike",{"class-name":[a.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:a.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:a.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:a.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:a.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),a.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:a.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),a.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),a.languages.markup&&(a.languages.markup.tag.addInlined("script","javascript"),a.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),a.languages.js=a.languages.javascript,function(){if(typeof a>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var u="Loading…",b=function(m,g){return"✖ Error "+m+" while fetching file: "+g},y="✖ Error: File does not exist or is empty",v={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},o="data-src-status",h="loading",S="loaded",k="failed",R="pre[data-src]:not(["+o+'="'+S+'"]):not(['+o+'="'+h+'"])';function I(m,g,A){var n=new XMLHttpRequest;n.open("GET",m,!0),n.onreadystatechange=function(){n.readyState==4&&(n.status<400&&n.responseText?g(n.responseText):n.status>=400?A(b(n.status,n.statusText)):A(y))},n.send(null)}function x(m){var g=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(m||"");if(g){var A=Number(g[1]),n=g[2],e=g[3];return n?e?[A,Number(e)]:[A,void 0]:[A,A]}}a.hooks.add("before-highlightall",function(m){m.selector+=", "+R}),a.hooks.add("before-sanity-check",function(m){var g=m.element;if(g.matches(R)){m.code="",g.setAttribute(o,h);var A=g.appendChild(document.createElement("CODE"));A.textContent=u;var n=g.getAttribute("data-src"),e=m.language;if(e==="none"){var r=(/\.(\w+)$/.exec(n)||[,"none"])[1];e=v[r]||r}a.util.setLanguage(A,e),a.util.setLanguage(g,e);var s=a.plugins.autoloader;s&&s.loadLanguages(e),I(n,function(i){g.setAttribute(o,S);var d=x(g.getAttribute("data-range"));if(d){var f=i.split(/\r\n?|\n/g),c=d[0],w=d[1]==null?f.length:d[1];c<0&&(c+=f.length),c=Math.max(0,Math.min(c-1,f.length)),w<0&&(w+=f.length),w=Math.max(0,Math.min(w,f.length)),i=f.slice(c,w).join(`
75
+ `),g.hasAttribute("data-start")||g.setAttribute("data-start",String(c+1))}A.textContent=i,a.highlightElement(A)},function(i){g.setAttribute(o,k),A.textContent=i})}}),a.plugins.fileHighlight={highlight:function(g){for(var A=(g||document).querySelectorAll(R),n=0,e;e=A[n++];)a.highlightElement(e)}};var O=!1;a.fileHighlight=function(){O||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),O=!0),a.plugins.fileHighlight.highlight.apply(this,arguments)}}()})(te);var ce=te.exports;const q=ue(ce);Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/};Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python;Prism.languages.py=Prism.languages.python;Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/});Prism.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}});delete Prism.languages.go["class-name"];(function(l){var p=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,a=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,u={pattern:RegExp(/(^|[^\w.])/.source+a+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};l.languages.java=l.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[u,{pattern:RegExp(/(^|[^\w.])/.source+a+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:u.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+a+/[A-Z]\w*\b/.source),lookbehind:!0,inside:u.inside}],keyword:p,function:[l.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),l.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),l.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":u,keyword:p,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+a+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:u.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+a+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:u.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!<keyword>)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(/<keyword>/g,function(){return p.source})),lookbehind:!0,inside:{punctuation:/\./}}})})(Prism);Prism.languages.c=Prism.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/});Prism.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}});Prism.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],char:Prism.languages.c.char,comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}}});Prism.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/});delete Prism.languages.c.boolean;(function(l){for(var p=/\/\*(?:[^*/]|\*(?!\/)|\/(?!\*)|<self>)*\*\//.source,a=0;a<2;a++)p=p.replace(/<self>/g,function(){return p});p=p.replace(/<self>/g,function(){return/[^\s\S]/.source}),l.languages.rust={comment:[{pattern:RegExp(/(^|[^\\])/.source+p),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|trait|type|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:Self|abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:bool|char|f(?:32|64)|[ui](?:8|16|32|64|128|size)|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\b\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:f32|f64|[iu](?:8|16|32|64|size)?))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<<?=?|>>?=?|[@?]/},l.languages.rust["closure-params"].inside.rest=l.languages.rust,l.languages.rust.attribute.inside.string=l.languages.rust.string})(Prism);Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};(function(l){var p="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},u={bash:a,environment:{pattern:RegExp("\\$"+p),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+p),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};l.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+p),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:u},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:u},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:u.entity}}],environment:{pattern:RegExp("\\$?"+p),alias:"constant"},variable:u.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=l.languages.bash;for(var b=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],y=u.variable[1].inside,v=0;v<b.length;v++)y[b[v]]=l.languages.bash[b[v]];l.languages.sh=l.languages.bash,l.languages.shell=l.languages.bash})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;const de=["innerHTML"],pe=["value","disabled"],ge=t.defineComponent({__name:"CodeEditor",props:{modelValue:{},language:{},theme:{default:"dark"},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(l,{emit:p}){t.useCssVars(m=>({v4a58b198:S.value}));function a(m){if(typeof document>"u")return;const g=m==="dark"?"prism-okaidia":"prism",A=document.getElementById("prism-theme-style"),n=`https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/${g}.min.css`;if(A)A.setAttribute("href",n);else{const e=document.createElement("link");e.id="prism-theme-style",e.rel="stylesheet",e.href=n,document.head.appendChild(e)}}typeof window<"u"&&(window.Prism=q);const u=l,b=p,y=t.ref(null),v=t.ref(null),o={javascript:"javascript",js:"javascript",typescript:"typescript",ts:"typescript",python:"python",py:"python",java:"java",c:"c",cpp:"cpp","c++":"cpp",csharp:"csharp","c#":"csharp",go:"go",golang:"go",rust:"rust",ruby:"ruby",rb:"ruby",php:"php",swift:"swift",kotlin:"kotlin",kt:"kotlin",sql:"sql",bash:"bash",sh:"bash",shell:"bash",json:"json",yaml:"yaml",yml:"yaml",markdown:"markdown",md:"markdown"},h=t.computed(()=>o[u.language.toLowerCase()]||"javascript"),S=t.computed(()=>u.theme==="dark"?"#1e1e1e":"#fafafa"),k=t.computed(()=>{try{const m=q.languages[h.value];if(m)return q.highlight(u.modelValue||"",m,h.value)}catch{}return R(u.modelValue||"")});function R(m){const g=document.createElement("div");return g.textContent=m,g.innerHTML}function I(m){const g=m.target;b("update:modelValue",g.value)}function x(){y.value&&v.value&&(v.value.scrollTop=y.value.scrollTop,v.value.scrollLeft=y.value.scrollLeft)}function O(m){if(m.key==="Tab"){m.preventDefault();const g=m.target,A=g.selectionStart,n=g.selectionEnd,e=g.value;g.value=e.substring(0,A)+" "+e.substring(n),g.selectionStart=g.selectionEnd=A+2,b("update:modelValue",g.value)}}return t.onMounted(()=>{a(u.theme)}),t.watch(()=>u.theme,m=>{a(m)}),(m,g)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["code-editor",`theme-${l.theme}`])},[t.createElementVNode("pre",{ref_key:"highlightRef",ref:v,class:t.normalizeClass(["code-highlight",[`language-${h.value}`,`prism-theme-${l.theme}`]]),"aria-hidden":"true"},[t.createElementVNode("code",{innerHTML:k.value},null,8,de)],2),t.createElementVNode("textarea",{ref_key:"codeRef",ref:y,class:"code-input",value:l.modelValue,disabled:l.disabled,onInput:I,onScroll:x,onKeydown:O,spellcheck:"false",placeholder:"Write your code here..."},null,40,pe)],2))}}),ne=(l,p)=>{const a=l.__vccOpts||l;for(const[u,b]of p)a[u]=b;return a},me=ne(ge,[["__scopeId","data-v-0ec35612"]]),fe={class:"code-runner-header"},he={class:"code-runner-controls"},Ee=["disabled"],be={key:0,value:""},ve=["value"],ye={class:"code-runner-actions"},Ae=["disabled"],Se={key:0,class:"spinner"},we={key:1,class:"run-icon"},Te=["title"],ke={key:0,class:"error-message"},Ie={class:"code-runner-main"},Ne={class:"panel-header"},Fe={class:"language-badge"},_e={class:"panel-header"},Re={class:"output-tabs"},xe={class:"output-actions"},Oe={key:0,class:"execution-time"},Le={class:"output-content"},Ce={key:0},De={key:1,class:"stderr"},Pe=t.defineComponent({__name:"CodeRunner",props:{pistonUrl:{default:"/api/piston"},language:{default:"javascript"},theme:{default:"light"},showLanguageSelector:{type:Boolean,default:!0},showEditor:{type:Boolean,default:!0},editable:{type:Boolean,default:!0},defaultCode:{},executorLabel:{default:"运行"}},emits:["execute-start","execute-end","language-change"],setup(l,{emit:p}){const a=l,u=p,b=t.ref([]),y=t.ref(a.language),v=t.ref(a.theme),o=t.ref(""),h=t.ref(""),S=t.ref(""),k=t.ref(!1),R=t.ref(null),I=t.ref("stdout"),x=t.ref(null),O=t.ref(!1),m=t.ref(60);function g(){v.value=v.value==="light"?"dark":"light"}const A=t.computed(()=>new oe({pistonUrl:a.pistonUrl})),n=t.computed(()=>b.value.map(E=>({value:`${E.language}:${E.version}`,label:`${E.language.charAt(0).toUpperCase()+E.language.slice(1)} ${E.version}`}))),e=t.computed(()=>{const E=y.value;return E.includes(":")?E.split(":")[0]:E});async function r(){O.value=!0,x.value=null;try{b.value=await A.value.getRuntimes()}catch(E){x.value=E instanceof Error?E.message:"Failed to load runtimes"}finally{O.value=!1}}t.watch(y,E=>{const T=E.includes(":")?E.split(":")[0]:E,F=K(T);o.value=F,u("language-change",T,F)});async function s(){if(!k.value){k.value=!0,h.value="",S.value="",R.value=null,x.value=null,I.value="stdout",u("execute-start");try{const E=await A.value.execute(e.value,o.value);h.value=E.output,S.value=E.stderr,R.value=E.executionTime||null,I.value=E.stderr?"stderr":"stdout",u("execute-end",E)}catch(E){x.value=E instanceof Error?E.message:"Execution failed",u("execute-end",{success:!1,output:"",stderr:x.value,code:-1})}finally{k.value=!1}}}function i(){h.value="",S.value="",R.value=null,x.value=null}async function d(){const E=I.value==="stdout"?h.value:S.value;await navigator.clipboard.writeText(E)}function f(){o.value=K(e.value)}let c=!1;function w(E){c=!0,document.addEventListener("mousemove",N),document.addEventListener("mouseup",L),document.body.style.cursor="col-resize",document.body.style.userSelect="none"}function N(E){if(!c)return;const T=document.querySelector(".code-runner-main");if(!T)return;const F=T.getBoundingClientRect(),U=(E.clientX-F.left)/F.width*100;m.value=Math.max(20,Math.min(80,U))}function L(){c=!1,document.removeEventListener("mousemove",N),document.removeEventListener("mouseup",L),document.body.style.cursor="",document.body.style.userSelect=""}t.onMounted(async()=>{await r(),o.value||(o.value=a.defaultCode||K(y.value))});const M=t.computed(()=>`code-runner-${v.value}`);return(E,T)=>(t.openBlock(),t.createElementBlock("div",{class:t.normalizeClass(["code-runner",M.value])},[t.createElementVNode("div",fe,[t.createElementVNode("div",he,[l.showLanguageSelector?t.withDirectives((t.openBlock(),t.createElementBlock("select",{key:0,"onUpdate:modelValue":T[0]||(T[0]=F=>y.value=F),class:"language-select",disabled:k.value},[O.value?(t.openBlock(),t.createElementBlock("option",be,"加载中...")):t.createCommentVNode("",!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(n.value,F=>(t.openBlock(),t.createElementBlock("option",{key:F.value,value:F.value},t.toDisplayString(F.label),9,ve))),128))],8,Ee)),[[t.vModelSelect,y.value]]):t.createCommentVNode("",!0)]),t.createElementVNode("div",ye,[t.createElementVNode("button",{class:"btn btn-run",disabled:k.value||O.value,onClick:s},[k.value?(t.openBlock(),t.createElementBlock("span",Se)):(t.openBlock(),t.createElementBlock("span",we,"▶")),t.createTextVNode(" "+t.toDisplayString(k.value?"运行中...":l.executorLabel),1)],8,Ae),l.showEditor&&l.editable?(t.openBlock(),t.createElementBlock("button",{key:0,class:"btn btn-reset",onClick:f}," 重置 ")):t.createCommentVNode("",!0),t.createElementVNode("button",{class:"btn btn-theme",onClick:g,title:v.value==="light"?"Switch to dark mode":"Switch to light mode"},t.toDisplayString(v.value==="light"?"🌙":"☀️"),9,Te)])]),x.value?(t.openBlock(),t.createElementBlock("div",ke,t.toDisplayString(x.value),1)):t.createCommentVNode("",!0),t.createElementVNode("div",Ie,[l.showEditor?(t.openBlock(),t.createElementBlock("div",{key:0,class:"editor-panel",style:t.normalizeStyle({width:m.value+"%"})},[t.createElementVNode("div",Ne,[T[4]||(T[4]=t.createElementVNode("span",{class:"panel-title"},"编辑器",-1)),t.createElementVNode("span",Fe,t.toDisplayString(e.value),1)]),t.createVNode(me,{modelValue:o.value,"onUpdate:modelValue":T[1]||(T[1]=F=>o.value=F),language:e.value,theme:v.value,disabled:!l.editable||k.value},null,8,["modelValue","language","theme","disabled"])],4)):t.createCommentVNode("",!0),l.showEditor?(t.openBlock(),t.createElementBlock("div",{key:1,class:"resize-handle",onMousedown:w},[...T[5]||(T[5]=[t.createElementVNode("div",{class:"resize-line"},null,-1)])],32)):t.createCommentVNode("",!0),t.createElementVNode("div",{class:"output-panel",style:t.normalizeStyle({width:l.showEditor?100-m.value+"%":"100%"})},[t.createElementVNode("div",_e,[t.createElementVNode("div",Re,[t.createElementVNode("button",{class:t.normalizeClass(["tab",{active:I.value==="stdout"}]),onClick:T[2]||(T[2]=F=>I.value="stdout")}," 输出 ",2),S.value?(t.openBlock(),t.createElementBlock("button",{key:0,class:t.normalizeClass(["tab",{active:I.value==="stderr"}]),onClick:T[3]||(T[3]=F=>I.value="stderr")}," 错误 ",2)):t.createCommentVNode("",!0)]),t.createElementVNode("div",xe,[R.value!==null?(t.openBlock(),t.createElementBlock("span",Oe,t.toDisplayString(R.value)+"ms ",1)):t.createCommentVNode("",!0),t.createElementVNode("button",{class:"btn-icon",onClick:d,title:"复制"},[...T[6]||(T[6]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[t.createElementVNode("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),t.createElementVNode("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])]),t.createElementVNode("button",{class:"btn-icon",onClick:i,title:"清除"},[...T[7]||(T[7]=[t.createElementVNode("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[t.createElementVNode("polyline",{points:"3 6 5 6 21 6"}),t.createElementVNode("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"})],-1)])])])]),t.createElementVNode("div",Le,[I.value==="stdout"?(t.openBlock(),t.createElementBlock("pre",Ce,t.toDisplayString(h.value||'点击"运行"执行代码'),1)):(t.openBlock(),t.createElementBlock("pre",De,t.toDisplayString(S.value),1))])],4)])],2))}}),j=ne(Pe,[["__scopeId","data-v-6e14ca02"]]);j.install=l=>{l.component("CodeRunner",j)};const $e={install(l){l.component("CodeRunner",j)}};exports.CodeRunner=j;exports.default=$e;