From 29d91b9ec32a8fff36c60938c4d87f7ee5495497 Mon Sep 17 00:00:00 2001
From: TQS <56479841@qq.com>
Date: 星期二, 14 三月 2023 08:06:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/bfasrs' into bfasrs

---
 src/main/webapp/views/1_自动仓库管理系统操作说明.pdf           |    0 
 src/main/webapp/static/js/api/api_index.js         |    0 
 src/main/webapp/views/api_index.html               |  182 ++++++++++++++++++++++++++++++
 src/main/webapp/static/css/prism.css               |    6 +
 src/main/webapp/views/index.html                   |   13 ++
 src/main/webapp/views/pdf.html                     |   29 ++++
 src/main/webapp/static/css/api_index/api_index.css |   88 ++++++++++++++
 src/main/webapp/static/css/prism.js                |   14 ++
 src/main/resources/application.yml                 |    2 
 9 files changed, 333 insertions(+), 1 deletions(-)

diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 85997c1..10c71cc 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -10,7 +10,7 @@
     enabled: false
   datasource:
     driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
-    url: jdbc:sqlserver://10.10.10.100:1433;databasename=bfasrs
+    url: jdbc:sqlserver://127.0.0.1:1433;databasename=bfasrs
 #    url: jdbc:sqlserver://192.168.4.15:1433;databasename=bfasrs
     username: sa
 #    password: Zoneyung@zy56$
diff --git a/src/main/webapp/static/css/api_index/api_index.css b/src/main/webapp/static/css/api_index/api_index.css
new file mode 100644
index 0000000..8bd64ae
--- /dev/null
+++ b/src/main/webapp/static/css/api_index/api_index.css
@@ -0,0 +1,88 @@
+html,body,div {
+    height: 100%;
+    color: #2c3e50;
+}
+* {
+    margin: 0;
+}
+body {
+    display: grid;
+    /*grid-template-columns:2fr 10fr ;*/
+}
+/*澶撮儴*/
+.header {
+    position: fixed;
+    left: 0;
+    top: 0;
+    height: 60px;
+    width: 100%;
+    border-bottom: 1px solid #eaecef;
+    z-index: 999;
+    background-color: #ffffff;
+}
+
+
+
+/*渚ц竟鏍�*/
+.siderbar {
+    position: fixed;
+    top: 60px;
+    left: 0;
+    width: 200px;
+    border-right: 1px solid #eaecef;
+    display: inline-block;
+    float: left;
+    cursor: pointer;
+}
+
+
+.main {
+    width: auto;
+    display: inline-block;
+    float: right;
+    margin-top: 3.6rem;
+}
+.main-box {
+    max-width: 740px;
+    margin: 0 auto;
+    /*padding: 2rem 2.5rem;*/
+    /*border: 1px solid #eaecef;*/
+}
+h2 {
+    border-bottom: 1px solid #eaecef;
+    padding-bottom: 4.8px;
+}
+h1,h2,h3,h4,h5,h6,p {
+    margin: 30px auto;
+}
+h1 {
+    padding-top: 4.6rem;
+    margin-top: -1.6rem;
+}
+table {
+    margin: auto;
+    margin-top: 20px;
+    max-width: 100%;
+    min-width: 80%;
+    border-collapse: collapse;
+    border-spacing: 2px;
+    border-color: grey;
+    text-align: center;
+}
+table th {
+    padding: 7px 5px;
+    border: 1px solid #ccc;
+    background-color: #EDEDED;
+}
+table td {
+    padding: 5px 5px;
+    border: 1px solid #ccc;
+}
+table tr:nth-child(2n-1) {
+    background-color: #f8f8f8
+}
+.code {
+    height: auto;
+    text-align: left;
+}
+
diff --git a/src/main/webapp/static/css/prism.css b/src/main/webapp/static/css/prism.css
new file mode 100644
index 0000000..3a9b930
--- /dev/null
+++ b/src/main/webapp/static/css/prism.css
@@ -0,0 +1,6 @@
+/* PrismJS 1.29.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+java+jq+json&plugins=line-highlight+line-numbers+toolbar+copy-to-clipboard */
+code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}
+pre[data-line]{position:relative;padding:1em 0 1em 3em}.line-highlight{position:absolute;left:0;right:0;padding:inherit 0;margin-top:1em;background:hsla(24,20%,50%,.08);background:linear-gradient(to right,hsla(24,20%,50%,.1) 70%,hsla(24,20%,50%,0));pointer-events:none;line-height:inherit;white-space:pre}@media print{.line-highlight{-webkit-print-color-adjust:exact;color-adjust:exact}}.line-highlight:before,.line-highlight[data-end]:after{content:attr(data-start);position:absolute;top:.4em;left:.6em;min-width:1em;padding:0 .5em;background-color:hsla(24,20%,50%,.4);color:#f4f1ef;font:bold 65%/1.5 sans-serif;text-align:center;vertical-align:.3em;border-radius:999px;text-shadow:none;box-shadow:0 1px #fff}.line-highlight[data-end]:after{content:attr(data-end);top:auto;bottom:.4em}.line-numbers .line-highlight:after,.line-numbers .line-highlight:before{content:none}pre[id].linkable-line-numbers span.line-numbers-rows{pointer-events:all}pre[id].linkable-line-numbers span.line-numbers-rows>span:before{cursor:pointer}pre[id].linkable-line-numbers span.line-numbers-rows>span:hover:before{background-color:rgba(128,128,128,.2)}
+pre[class*=language-].line-numbers{position:relative;padding-left:3.8em;counter-reset:linenumber}pre[class*=language-].line-numbers>code{position:relative;white-space:inherit}.line-numbers .line-numbers-rows{position:absolute;pointer-events:none;top:0;font-size:100%;left:-3.8em;width:3em;letter-spacing:-1px;border-right:1px solid #999;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.line-numbers-rows>span{display:block;counter-increment:linenumber}.line-numbers-rows>span:before{content:counter(linenumber);color:#999;display:block;padding-right:.8em;text-align:right}
+div.code-toolbar{position:relative}div.code-toolbar>.toolbar{position:absolute;z-index:10;top:.3em;right:.2em;transition:opacity .3s ease-in-out;opacity:0}div.code-toolbar:hover>.toolbar{opacity:1}div.code-toolbar:focus-within>.toolbar{opacity:1}div.code-toolbar>.toolbar>.toolbar-item{display:inline-block}div.code-toolbar>.toolbar>.toolbar-item>a{cursor:pointer}div.code-toolbar>.toolbar>.toolbar-item>button{background:0 0;border:0;color:inherit;font:inherit;line-height:normal;overflow:visible;padding:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}div.code-toolbar>.toolbar>.toolbar-item>a,div.code-toolbar>.toolbar>.toolbar-item>button,div.code-toolbar>.toolbar>.toolbar-item>span{color:#bbb;font-size:.8em;padding:0 .5em;background:#f5f2f0;background:rgba(224,224,224,.2);box-shadow:0 2px 0 0 rgba(0,0,0,.2);border-radius:.5em}div.code-toolbar>.toolbar>.toolbar-item>a:focus,div.code-toolbar>.toolbar>.toolbar-item>a:hover,div.code-toolbar>.toolbar>.toolbar-item>button:focus,div.code-toolbar>.toolbar>.toolbar-item>button:hover,div.code-toolbar>.toolbar>.toolbar-item>span:focus,div.code-toolbar>.toolbar>.toolbar-item>span:hover{color:inherit;text-decoration:none}
diff --git a/src/main/webapp/static/css/prism.js b/src/main/webapp/static/css/prism.js
new file mode 100644
index 0000000..987c590
--- /dev/null
+++ b/src/main/webapp/static/css/prism.js
@@ -0,0 +1,14 @@
+/* PrismJS 1.29.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript+java+jq+json&plugins=line-highlight+line-numbers+toolbar+copy-to-clipboard */
+var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++t}),e.__id},clone:function e(n,t){var r,i;switch(t=t||{},a.util.type(n)){case"Object":if(i=a.util.objId(n),t[i])return t[i];for(var l in r={},t[i]=r,n)n.hasOwnProperty(l)&&(r[l]=e(n[l],t));return r;case"Array":return i=a.util.objId(n),t[i]?t[i]:(r=[],t[i]=r,n.forEach((function(n,a){r[a]=e(n,t)})),r);default:return n}},getLanguage:function(e){for(;e;){var t=n.exec(e.className);if(t)return t[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,t){e.className=e.className.replace(RegExp(n,"gi"),""),e.classList.add("language-"+t)},currentScript:function(){if("undefined"==typeof document)return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(r){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(r.stack)||[])[1];if(e){var n=document.getElementsByTagName("script");for(var t in n)if(n[t].src==e)return n[t]}return null}},isActive:function(e,n,t){for(var r="no-"+n;e;){var a=e.classList;if(a.contains(n))return!0;if(a.contains(r))return!1;e=e.parentElement}return!!t}},languages:{plain:r,plaintext:r,text:r,txt:r,extend:function(e,n){var t=a.util.clone(a.languages[e]);for(var r in n)t[r]=n[r];return t},insertBefore:function(e,n,t,r){var i=(r=r||a.languages)[e],l={};for(var o in i)if(i.hasOwnProperty(o)){if(o==n)for(var s in t)t.hasOwnProperty(s)&&(l[s]=t[s]);t.hasOwnProperty(o)||(l[o]=i[o])}var u=r[e];return r[e]=l,a.languages.DFS(a.languages,(function(n,t){t===u&&n!=e&&(this[n]=l)})),l},DFS:function e(n,t,r,i){i=i||{};var l=a.util.objId;for(var o in n)if(n.hasOwnProperty(o)){t.call(n,o,n[o],r||o);var s=n[o],u=a.util.type(s);"Object"!==u||i[l(s)]?"Array"!==u||i[l(s)]||(i[l(s)]=!0,e(s,t,o,i)):(i[l(s)]=!0,e(s,t,null,i))}}},plugins:{},highlightAll:function(e,n){a.highlightAllUnder(document,e,n)},highlightAllUnder:function(e,n,t){var r={callback:t,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};a.hooks.run("before-highlightall",r),r.elements=Array.prototype.slice.apply(r.container.querySelectorAll(r.selector)),a.hooks.run("before-all-elements-highlight",r);for(var i,l=0;i=r.elements[l++];)a.highlightElement(i,!0===n,r.callback)},highlightElement:function(n,t,r){var i=a.util.getLanguage(n),l=a.languages[i];a.util.setLanguage(n,i);var o=n.parentElement;o&&"pre"===o.nodeName.toLowerCase()&&a.util.setLanguage(o,i);var s={element:n,language:i,grammar:l,code:n.textContent};function u(e){s.highlightedCode=e,a.hooks.run("before-insert",s),s.element.innerHTML=s.highlightedCode,a.hooks.run("after-highlight",s),a.hooks.run("complete",s),r&&r.call(s.element)}if(a.hooks.run("before-sanity-check",s),(o=s.element.parentElement)&&"pre"===o.nodeName.toLowerCase()&&!o.hasAttribute("tabindex")&&o.setAttribute("tabindex","0"),!s.code)return a.hooks.run("complete",s),void(r&&r.call(s.element));if(a.hooks.run("before-highlight",s),s.grammar)if(t&&e.Worker){var c=new Worker(a.filename);c.onmessage=function(e){u(e.data)},c.postMessage(JSON.stringify({language:s.language,code:s.code,immediateClose:!0}))}else u(a.highlight(s.code,s.grammar,s.language));else u(a.util.encode(s.code))},highlight:function(e,n,t){var r={code:e,grammar:n,language:t};if(a.hooks.run("before-tokenize",r),!r.grammar)throw new Error('The language "'+r.language+'" has no grammar.');return r.tokens=a.tokenize(r.code,r.grammar),a.hooks.run("after-tokenize",r),i.stringify(a.util.encode(r.tokens),r.language)},tokenize:function(e,n){var t=n.rest;if(t){for(var r in t)n[r]=t[r];delete n.rest}var a=new s;return u(a,a.head,e),o(e,a,n,a.head,0),function(e){for(var n=[],t=e.head.next;t!==e.tail;)n.push(t.value),t=t.next;return n}(a)},hooks:{all:{},add:function(e,n){var t=a.hooks.all;t[e]=t[e]||[],t[e].push(n)},run:function(e,n){var t=a.hooks.all[e];if(t&&t.length)for(var r,i=0;r=t[i++];)r(n)}},Token:i};function i(e,n,t,r){this.type=e,this.content=n,this.alias=t,this.length=0|(r||"").length}function l(e,n,t,r){e.lastIndex=n;var a=e.exec(t);if(a&&r&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function o(e,n,t,r,s,g){for(var f in t)if(t.hasOwnProperty(f)&&t[f]){var h=t[f];h=Array.isArray(h)?h:[h];for(var d=0;d<h.length;++d){if(g&&g.cause==f+","+d)return;var v=h[d],p=v.inside,m=!!v.lookbehind,y=!!v.greedy,k=v.alias;if(y&&!v.pattern.global){var x=v.pattern.toString().match(/[imsuy]*$/)[0];v.pattern=RegExp(v.pattern.source,x+"g")}for(var b=v.pattern||v,w=r.next,A=s;w!==n.tail&&!(g&&A>=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(j<O||"string"==typeof C.value);C=C.next)L++,j+=C.value.length;L--,E=e.slice(A,j),P.index-=A}else if(!(P=l(b,0,E,m)))continue;S=P.index;var N=P[0],_=E.slice(0,S),M=E.slice(S+N.length),W=A+E.length;g&&W>g.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a<t&&r!==e.tail;a++)r=r.next;n.next=r,r.prev=n,e.length-=a}if(e.Prism=a,i.stringify=function e(n,t){if("string"==typeof n)return n;if(Array.isArray(n)){var r="";return n.forEach((function(n){r+=e(n,t)})),r}var i={type:n.type,content:e(n.content,t),tag:"span",classes:["token",n.type],attributes:{},language:t},l=n.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(i.classes,l):i.classes.push(l)),a.hooks.run("wrap",i);var o="";for(var s in i.attributes)o+=" "+s+'="'+(i.attributes[s]||"").replace(/"/g,"&quot;")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'"'+o+">"+i.content+"</"+i.tag+">"},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
+Prism.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]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&amp;/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^<!\[CDATA\[|\]\]>$/i;var t={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:<!\\[CDATA\\[(?:[^\\]]|\\](?!\\]>))*\\]\\]>|(?!<!\\[CDATA\\[)[^])*?(?=</__>)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml;
+!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),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\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,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:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism);
+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$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),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*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),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)","javascript")),Prism.languages.js=Prism.languages.javascript;
+!function(e){var n=/\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/,t="(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",s={pattern:RegExp("(^|[^\\w.])"+t+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[s,{pattern:RegExp("(^|[^\\w.])"+t+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=()]|\\s*(?:\\[[\\s,]*\\]\\s*)?::\\s*new\\b)"),lookbehind:!0,inside:s.inside},{pattern:RegExp("(\\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\\s+)"+t+"[A-Z]\\w*\\b"),lookbehind:!0,inside:s.inside}],keyword:n,function:[e.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/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.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":s,keyword:n,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp("(\\bimport\\s+)"+t+"(?:[A-Z]\\w*|\\*)(?=\\s*;)"),lookbehind:!0,inside:{namespace:s.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp("(\\bimport\\s+static\\s+)"+t+"(?:\\w+|\\*)(?=\\s*;)"),lookbehind:!0,alias:"static",inside:{namespace:s.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*)*\\.?".replace(/<keyword>/g,(function(){return n.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism);
+!function(e){var n="\\\\\\((?:[^()]|\\([^()]*\\))*\\)",t=RegExp('(^|[^\\\\])"(?:[^"\r\n\\\\]|\\\\[^\r\n(]|__)*"'.replace(/__/g,(function(){return n}))),i={interpolation:{pattern:RegExp("((?:^|[^\\\\])(?:\\\\{2})*)"+n),lookbehind:!0,inside:{content:{pattern:/^(\\\()[\s\S]+(?=\)$)/,lookbehind:!0,inside:null},punctuation:/^\\\(|\)$/}}},a=e.languages.jq={comment:/#.*/,property:{pattern:RegExp(t.source+"(?=\\s*:(?!:))"),lookbehind:!0,greedy:!0,inside:i},string:{pattern:t,lookbehind:!0,greedy:!0,inside:i},function:{pattern:/(\bdef\s+)[a-z_]\w+/i,lookbehind:!0},variable:/\B\$\w+/,"property-literal":{pattern:/\b[a-z_]\w*(?=\s*:(?!:))/i,alias:"property"},keyword:/\b(?:as|break|catch|def|elif|else|end|foreach|if|import|include|label|module|modulemeta|null|reduce|then|try|while)\b/,boolean:/\b(?:false|true)\b/,number:/(?:\b\d+\.|\B\.)?\b\d+(?:[eE][+-]?\d+)?\b/,operator:[{pattern:/\|=?/,alias:"pipe"},/\.\.|[!=<>]?=|\?\/\/|\/\/=?|[-+*/%]=?|[<>?]|\b(?:and|not|or)\b/],"c-style-function":{pattern:/\b[a-z_]\w*(?=\s*\()/i,alias:"function"},punctuation:/::|[()\[\]{},:;]|\.(?=\s*[\[\w$])/,dot:{pattern:/\./,alias:"important"}};i.interpolation.inside.content.inside=a}(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;
+!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document&&document.querySelector){var e,t="line-numbers",i="linkable-line-numbers",n=/\n(?!$)/g,r=!0;Prism.plugins.lineHighlight={highlightLines:function(o,u,c){var h=(u="string"==typeof u?u:o.getAttribute("data-line")||"").replace(/\s+/g,"").split(",").filter(Boolean),d=+o.getAttribute("data-line-offset")||0,f=(function(){if(void 0===e){var t=document.createElement("div");t.style.fontSize="13px",t.style.lineHeight="1.5",t.style.padding="0",t.style.border="0",t.innerHTML="&nbsp;<br />&nbsp;",document.body.appendChild(t),e=38===t.offsetHeight,document.body.removeChild(t)}return e}()?parseInt:parseFloat)(getComputedStyle(o).lineHeight),p=Prism.util.isActive(o,t),g=o.querySelector("code"),m=p?o:g||o,v=[],y=g.textContent.match(n),b=y?y.length+1:1,A=g&&m!=g?function(e,t){var i=getComputedStyle(e),n=getComputedStyle(t);function r(e){return+e.substr(0,e.length-2)}return t.offsetTop+r(n.borderTopWidth)+r(n.paddingTop)-r(i.paddingTop)}(o,g):0;h.forEach((function(e){var t=e.split("-"),i=+t[0],n=+t[1]||i;if(!((n=Math.min(b+d,n))<i)){var r=o.querySelector('.line-highlight[data-range="'+e+'"]')||document.createElement("div");if(v.push((function(){r.setAttribute("aria-hidden","true"),r.setAttribute("data-range",e),r.className=(c||"")+" line-highlight"})),p&&Prism.plugins.lineNumbers){var s=Prism.plugins.lineNumbers.getLine(o,i),l=Prism.plugins.lineNumbers.getLine(o,n);if(s){var a=s.offsetTop+A+"px";v.push((function(){r.style.top=a}))}if(l){var u=l.offsetTop-s.offsetTop+l.offsetHeight+"px";v.push((function(){r.style.height=u}))}}else v.push((function(){r.setAttribute("data-start",String(i)),n>i&&r.setAttribute("data-end",String(n)),r.style.top=(i-d-1)*f+A+"px",r.textContent=new Array(n-i+2).join(" \n")}));v.push((function(){r.style.width=o.scrollWidth+"px"})),v.push((function(){m.appendChild(r)}))}}));var P=o.id;if(p&&Prism.util.isActive(o,i)&&P){l(o,i)||v.push((function(){o.classList.add(i)}));var E=parseInt(o.getAttribute("data-start")||"1");s(".line-numbers-rows > span",o).forEach((function(e,t){var i=t+E;e.onclick=function(){var e=P+"."+i;r=!1,location.hash=e,setTimeout((function(){r=!0}),1)}}))}return function(){v.forEach(a)}}};var o=0;Prism.hooks.add("before-sanity-check",(function(e){var t=e.element.parentElement;if(u(t)){var i=0;s(".line-highlight",t).forEach((function(e){i+=e.textContent.length,e.parentNode.removeChild(e)})),i&&/^(?: \n)+$/.test(e.code.slice(-i))&&(e.code=e.code.slice(0,-i))}})),Prism.hooks.add("complete",(function e(i){var n=i.element.parentElement;if(u(n)){clearTimeout(o);var r=Prism.plugins.lineNumbers,s=i.plugins&&i.plugins.lineNumbers;l(n,t)&&r&&!s?Prism.hooks.add("line-numbers",e):(Prism.plugins.lineHighlight.highlightLines(n)(),o=setTimeout(c,1))}})),window.addEventListener("hashchange",c),window.addEventListener("resize",(function(){s("pre").filter(u).map((function(e){return Prism.plugins.lineHighlight.highlightLines(e)})).forEach(a)}))}function s(e,t){return Array.prototype.slice.call((t||document).querySelectorAll(e))}function l(e,t){return e.classList.contains(t)}function a(e){e()}function u(e){return!!(e&&/pre/i.test(e.nodeName)&&(e.hasAttribute("data-line")||e.id&&Prism.util.isActive(e,i)))}function c(){var e=location.hash.slice(1);s(".temporary.line-highlight").forEach((function(e){e.parentNode.removeChild(e)}));var t=(e.match(/\.([\d,-]+)$/)||[,""])[1];if(t&&!document.getElementById(e)){var i=e.slice(0,e.lastIndexOf(".")),n=document.getElementById(i);n&&(n.hasAttribute("data-line")||n.setAttribute("data-line",""),Prism.plugins.lineHighlight.highlightLines(n,t,"temporary ")(),r&&document.querySelector(".temporary.line-highlight").scrollIntoView())}}}();
+!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e="line-numbers",n=/\n(?!$)/g,t=Prism.plugins.lineNumbers={getLine:function(n,t){if("PRE"===n.tagName&&n.classList.contains(e)){var i=n.querySelector(".line-numbers-rows");if(i){var r=parseInt(n.getAttribute("data-start"),10)||1,s=r+(i.children.length-1);t<r&&(t=r),t>s&&(t=s);var l=t-r;return i.children[l]}}},resize:function(e){r([e])},assumeViewportIndependence:!0},i=void 0;window.addEventListener("resize",(function(){t.assumeViewportIndependence&&i===window.innerWidth||(i=window.innerWidth,r(Array.prototype.slice.call(document.querySelectorAll("pre.line-numbers"))))})),Prism.hooks.add("complete",(function(t){if(t.code){var i=t.element,s=i.parentNode;if(s&&/pre/i.test(s.nodeName)&&!i.querySelector(".line-numbers-rows")&&Prism.util.isActive(i,e)){i.classList.remove(e),s.classList.add(e);var l,o=t.code.match(n),a=o?o.length+1:1,u=new Array(a+1).join("<span></span>");(l=document.createElement("span")).setAttribute("aria-hidden","true"),l.className="line-numbers-rows",l.innerHTML=u,s.hasAttribute("data-start")&&(s.style.counterReset="linenumber "+(parseInt(s.getAttribute("data-start"),10)-1)),t.element.appendChild(l),r([s]),Prism.hooks.run("line-numbers",t)}}})),Prism.hooks.add("line-numbers",(function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0}))}function r(e){if(0!=(e=e.filter((function(e){var n,t=(n=e,n?window.getComputedStyle?getComputedStyle(n):n.currentStyle||null:null)["white-space"];return"pre-wrap"===t||"pre-line"===t}))).length){var t=e.map((function(e){var t=e.querySelector("code"),i=e.querySelector(".line-numbers-rows");if(t&&i){var r=e.querySelector(".line-numbers-sizer"),s=t.textContent.split(n);r||((r=document.createElement("span")).className="line-numbers-sizer",t.appendChild(r)),r.innerHTML="0",r.style.display="block";var l=r.getBoundingClientRect().height;return r.innerHTML="",{element:e,lines:s,lineHeights:[],oneLinerHeight:l,sizer:r}}})).filter(Boolean);t.forEach((function(e){var n=e.sizer,t=e.lines,i=e.lineHeights,r=e.oneLinerHeight;i[t.length-1]=void 0,t.forEach((function(e,t){if(e&&e.length>1){var s=n.appendChild(document.createElement("span"));s.style.display="block",s.textContent=e}else i[t]=r}))})),t.forEach((function(e){for(var n=e.sizer,t=e.lineHeights,i=0,r=0;r<t.length;r++)void 0===t[r]&&(t[r]=n.children[i++].getBoundingClientRect().height)})),t.forEach((function(e){var n=e.sizer,t=e.element.querySelector(".line-numbers-rows");n.style.display="none",n.innerHTML="",e.lineHeights.forEach((function(e,n){t.children[n].style.height=e+"px"}))}))}}}();
+!function(){if("undefined"!=typeof Prism&&"undefined"!=typeof document){var e=[],t={},n=function(){};Prism.plugins.toolbar={};var a=Prism.plugins.toolbar.registerButton=function(n,a){var r;r="function"==typeof a?a:function(e){var t;return"function"==typeof a.onClick?((t=document.createElement("button")).type="button",t.addEventListener("click",(function(){a.onClick.call(this,e)}))):"string"==typeof a.url?(t=document.createElement("a")).href=a.url:t=document.createElement("span"),a.className&&t.classList.add(a.className),t.textContent=a.text,t},n in t?console.warn('There is a button with the key "'+n+'" registered already.'):e.push(t[n]=r)},r=Prism.plugins.toolbar.hook=function(a){var r=a.element.parentNode;if(r&&/pre/i.test(r.nodeName)&&!r.parentNode.classList.contains("code-toolbar")){var o=document.createElement("div");o.classList.add("code-toolbar"),r.parentNode.insertBefore(o,r),o.appendChild(r);var i=document.createElement("div");i.classList.add("toolbar");var l=e,d=function(e){for(;e;){var t=e.getAttribute("data-toolbar-order");if(null!=t)return(t=t.trim()).length?t.split(/\s*,\s*/g):[];e=e.parentElement}}(a.element);d&&(l=d.map((function(e){return t[e]||n}))),l.forEach((function(e){var t=e(a);if(t){var n=document.createElement("div");n.classList.add("toolbar-item"),n.appendChild(t),i.appendChild(n)}})),o.appendChild(i)}};a("label",(function(e){var t=e.element.parentNode;if(t&&/pre/i.test(t.nodeName)&&t.hasAttribute("data-label")){var n,a,r=t.getAttribute("data-label");try{a=document.querySelector("template#"+r)}catch(e){}return a?n=a.content:(t.hasAttribute("data-url")?(n=document.createElement("a")).href=t.getAttribute("data-url"):n=document.createElement("span"),n.textContent=r),n}})),Prism.hooks.add("complete",r)}}();
+!function(){function t(t){var e=document.createElement("textarea");e.value=t.getText(),e.style.top="0",e.style.left="0",e.style.position="fixed",document.body.appendChild(e),e.focus(),e.select();try{var o=document.execCommand("copy");setTimeout((function(){o?t.success():t.error()}),1)}catch(e){setTimeout((function(){t.error(e)}),1)}document.body.removeChild(e)}"undefined"!=typeof Prism&&"undefined"!=typeof document&&(Prism.plugins.toolbar?Prism.plugins.toolbar.registerButton("copy-to-clipboard",(function(e){var o=e.element,n=function(t){var e={copy:"Copy","copy-error":"Press Ctrl+C to copy","copy-success":"Copied!","copy-timeout":5e3};for(var o in e){for(var n="data-prismjs-"+o,c=t;c&&!c.hasAttribute(n);)c=c.parentElement;c&&(e[o]=c.getAttribute(n))}return e}(o),c=document.createElement("button");c.className="copy-to-clipboard-button",c.setAttribute("type","button");var r=document.createElement("span");return c.appendChild(r),u("copy"),function(e,o){e.addEventListener("click",(function(){!function(e){navigator.clipboard?navigator.clipboard.writeText(e.getText()).then(e.success,(function(){t(e)})):t(e)}(o)}))}(c,{getText:function(){return o.textContent},success:function(){u("copy-success"),i()},error:function(){u("copy-error"),setTimeout((function(){!function(t){window.getSelection().selectAllChildren(t)}(o)}),1),i()}}),c;function i(){setTimeout((function(){u("copy")}),n["copy-timeout"])}function u(t){r.textContent=n[t],c.setAttribute("data-copy-state",t)}})):console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."))}();
diff --git a/src/main/webapp/static/js/api/api_index.js b/src/main/webapp/static/js/api/api_index.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/main/webapp/static/js/api/api_index.js
diff --git "a/src/main/webapp/views/1_\350\207\252\345\212\250\344\273\223\345\272\223\347\256\241\347\220\206\347\263\273\347\273\237\346\223\215\344\275\234\350\257\264\346\230\216.pdf" "b/src/main/webapp/views/1_\350\207\252\345\212\250\344\273\223\345\272\223\347\256\241\347\220\206\347\263\273\347\273\237\346\223\215\344\275\234\350\257\264\346\230\216.pdf"
new file mode 100644
index 0000000..113d2bf
--- /dev/null
+++ "b/src/main/webapp/views/1_\350\207\252\345\212\250\344\273\223\345\272\223\347\256\241\347\220\206\347\263\273\347\273\237\346\223\215\344\275\234\350\257\264\346\230\216.pdf"
Binary files differ
diff --git a/src/main/webapp/views/api_index.html b/src/main/webapp/views/api_index.html
new file mode 100644
index 0000000..b47e7a0
--- /dev/null
+++ b/src/main/webapp/views/api_index.html
@@ -0,0 +1,182 @@
+<!doctype html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport"
+          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
+    <link rel="stylesheet" href="../static/css/api_index/api_index.css">
+    <link rel="stylesheet" href="../static/css/prism.css">
+    <script src="../static/css/prism.js"></script>
+    <title>api | AS / RS</title>
+</head>
+<body>
+    <div class="header">
+
+    </div>
+    <div class="siderbar">
+        <div >
+            <ul>
+                <li><a href="#background">鑳屾櫙</a></li>
+<!--                <li><a href="#background">鑳屾櫙</a></li>-->
+                <li><a href="#Url">URL鍙婃暟鎹寘鏍煎紡瑙勮寖</a></li>
+            </ul>
+        </div>
+    </div>
+    <div class="main">
+        <div class="main-box">
+            <h1 id="background">鑳屾櫙</h1>
+            <p>鏈枃鏃ㄥ湪涓鸿嚜鍔ㄥ寲绔嬩綋浠撳簱鏁版嵁鍚屾鏉′欢鐨勫钩鍙板紑鏀炬湇鍔★紝鎻愪緵缁熶竴鐨凥TTP鎺ュ彛璋冪敤涓庝氦浜掕鑼冦��</p>
+            <p>鏈枃涓弿杩扮殑瑙勮寖鍖呮嫭AS/RS鍔熻兘妯″潡鐨勬暟鎹悓姝ユ帴鍙c��</p>
+            <h1>瑙勮寖閫傜敤瀵硅薄璇存槑</h1>
+            <p>鏈鑼冧粎閫傜敤浜庣敱骞冲彴涔嬮棿鏈嶅姟鍣ㄧ鍙戣捣璋冪敤璇锋眰锛屽寘鎷琍OST鎻愪氦鏁版嵁浠ュ強GET璇锋眰鏁版嵁銆�</p>
+            <h1>鍚嶈瘝瑙i噴</h1>
+            <ul>
+                <li><span>AS/RS锛氳嚜鍔ㄥ寲绔嬩綋浠撳簱浠撳偍绯荤粺</span></li>
+                <li><span>WMS锛氫粨搴撶鐞嗙郴缁熴��</span></li>
+                <li><span>WCS锛氫粨鍌ㄨ澶囩鐞嗘帶鍒剁郴缁熴��</span></li>
+                <li><span>PDA锛氬畨瑁呬簡绔嬪簱绉诲姩绔蒋浠跺簲鐢ㄣ�佸彲杩涜鎵爜鐨勬墜鎸佺粓绔澶囥��</span></li>
+                <li><span>鍏ㄩ儴鍚屾锛氫笉绠℃暟鎹湁鏃犲彉鍖栵紝鍚屾鍛ㄦ湡鍐呭叏閮ㄦ暟鎹悓姝ヤ笂浼犮��</span></li>
+                <li><span>澧為噺鍚屾锛氬悓姝ュ懆鏈熷唴鏈夊彉鍖栵紙鏂板銆佷慨鏀广�佹洿鏂帮級鐨勬暟鎹悓姝ヤ笂浼犮��</span></li>
+            </ul>
+            <h1 id="Url">URL鍙婃暟鎹寘鏍煎紡瑙勮寖</h1>
+            <h2>URL</h2>
+            <ul>
+                <li><span>鏈嶅姟鍣ㄦ彁渚涘涓嬮鏍肩殑HTTP鎺ュ彛銆�</span></li>
+                <li><span>http://{host}:{port}/{prefix}/open/asrs/{url}</span></li>
+                <li><span>娉�1锛氭墍鏈塇ttp璇锋眰浠OST鏂瑰紡锛孞SON鎻愪氦杩涜</span></li>
+                <li><span>娉�2锛氬搷搴旀姤鏂囧悓涓篔SON瀛楃涓�</span></li>
+            </ul>
+            <h2>鍙傛暟</h2>
+            <h3>绯荤粺绾у弬鏁�</h3>
+            <ul>
+                <li><span>浠ヤ笅鍙傛暟鏄敱寮�鍙戝钩鍙扮瀹氫箟锛岀郴缁熼渶鏀寔杩欎簺鍙傛暟浠ヤ究璇嗗埆璋冪敤鎺ュ彛鐨勫鎴风銆�</span></li>
+            </ul>
+            <table border="1">
+                <tr><th>鍙傛暟鍚�</th><th>绫诲瀷</th><th>鏄惁蹇呴』</th><th>鎻忚堪</th></tr>
+                <tr><td>appkey</td><td>string</td><td>鏄�</td><td>骞冲彴璁よ瘉鍞竴瀵嗛挜</td></tr>
+            </table>
+            <h3>涓氬姟绾у弬鏁�</h3>
+            <p>閬靛畧鏁版嵁浜ゆ崲瑙勮寖涓笟鍔$骇閫氱敤鍙傛暟鐨勭害瀹氥��</p>
+            <p>琛ㄦ牸4-2涓氬姟绾у弬鏁扮殑閫氱敤绾﹀畾</p>
+            <p>ERP閬靛畧鏁版嵁浜ゆ崲瑙勮寖涓笟鍔$骇閫氱敤鍙傛暟鐨勭害瀹氥��</p>
+            <h1>鍝嶅簲鏁版嵁鍖呮牸寮忚鑼�</h1>
+            <p>鐩墠鎺ュ彛鐨勮繑鍥炴牸寮忓叏閮ㄩ噰鐢↗SON鏍煎紡銆�</p>
+            <h2>JSON杈撳嚭鏍煎紡</h2>
+            <p>鍝嶅簲鍖呯鍚堝涓嬭鑼冪殑鏍囧噯JSON瀛楃涓诧細</p>
+            <ul>
+                <li>http鍝嶅簲澶翠腑鐨凜ontent-Type鎸囧畾:application/json;charset=utf-8</li>
+                <li>瀛楃涓茬紪鐮佹牸寮忔槸utf-8</li>
+            </ul>
+            <h2>鎺ュ彛鍝嶅簲杈撳嚭鏍煎紡</h2>
+            <ur><li>鍝嶅簲杈撳嚭鏍煎紡</li></ur>
+            <div class="code language-css">
+                <pre class="">
+                    <code class="">
+    {
+        "code":200,
+        "msg":"鎿嶄綔鎴愬姛",
+        "data":null
+    }
+                    </code>
+                </pre>
+            </div>
+
+            <ur><li>鑾峰彇鎴愬姛淇℃伅</li></ur>
+            <table border="1">
+                <tr><th>code</th><th>msg</th><th>data</th></tr>
+                <tr><td>200</td><td>鎿嶄綔鎴愬姛</td><td>鎺ュ彛杩斿洖涓氬姟鏁版嵁</td></tr>
+            </table>
+            <h2>閿欒鍝嶅簲杈撳嚭鏍煎紡</h2>
+            <p>閿欒鍝嶅簲杈撳嚭鍐呭绗﹀悎浠ヤ笅瑙勮寖锛�</p>
+            <ur><li>杩斿洖鍐呭鐢眂ode,msg,data姝や笁绫诲睘鎬х粍鎴愶紝鍒嗗埆鐢ㄤ簬鎻忚堪閿欒缂栫爜锛屼互鍙婇敊璇俊鎭��</li></ur>
+            <p>{
+                "code":500,
+                "msg":"鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�",
+                "data":null
+                }
+            </p>
+            <p>閿欒鐮佸畾涔夊涓嬭〃鎵�绀猴細</p>
+            <table border="1">
+                <tr><th>code</th><th>鎻忚堪</th></tr>
+                <tr><td>201</td><td>鏆傛棤鏁版嵁</td></tr>
+                <tr><td>401</td><td>鍙傛暟涓虹┖</td></tr>
+                <tr><td>403</td><td>鏉冮檺涓嶈冻</td></tr>
+                <tr><td>407</td><td>璇峰嬁閲嶅鎻愪氦</td></tr>
+                <tr><td>500</td><td>鏈嶅姟鍣ㄩ敊璇�</td></tr>
+            </table>
+            <h1>鐩稿叧涓氬姟鎺ュ彛</h1>
+            <h2>鍟嗗搧淇℃伅鍚屾</h2>
+            <h3>鎺ュ彛鍓嶈█</h3>
+            <ul>
+                <li>鎺ュ彛鎻愪緵鏂癸細AS/RS</li>
+                <li>鎺ュ彛璋冪敤鏂癸細ERP</li>
+                <li>涓氬姟绫诲瀷锛氬叆搴撲綔涓�</li>
+                <li>鍦烘櫙鎻忚堪锛欵RP绯荤粺涓柊澧炴垨淇敼鍟嗗搧鍩虹淇℃伅浠ュ悗锛岃皟鐢ㄦ鎺ュ彛锛屽皢鍟嗗搧淇℃伅鍚屾鑷矨S/RS銆�</li>
+            </ul>
+            <h3>璇锋眰瑙勮寖</h3>
+            <p>璇锋眰澶达細</p>
+            <table border="1">
+                <tr><th>鍙傛暟鍚�</th><th>鎻忚堪</th></tr>
+                <tr><td>Method</td><td>http://{prefix}/open/asrs/order/matSync/default/v1</td></tr>
+                <tr><td>Url</td><td>Post</td></tr>
+                <tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
+                <tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
+            </table>
+            <p>娉細appkey銆乸refix鐢辩鐞嗗憳鎻愪緵</p>
+            <p>璇锋眰浣擄細</p>
+            <table border="1">
+                <tr><th>瀛楁鍚嶇О</th><th>蹇呴渶</th><th>绫诲瀷</th><th>璇存槑</th></tr>
+                <tr><td>createTime</td><td>鏄�</td><td>瀛楃涓�</td><td>鍗曟嵁鏃堕棿锛坹yyy-MM-ddHH:mm:ss锛�</td></tr>
+                <tr><td>matDetails</td><td>鏄�</td><td>鍒楄〃</td><td>鍗曟嵁鏄庣粏</td></tr>
+            </table>
+            <p>娉細JSON鎻愪氦</p>
+            <p>matDetails鍒楄〃瀵硅薄</p>
+            <table border="1">
+                <tr><th>瀛楁鍚嶇О</th><th>蹇呴渶</th><th>绫诲瀷</th><th>璇存槑</th></tr>
+
+                <tr><td>matnr</td><td>鏄�</td><td>瀛楃涓�</td><td>鍟嗗搧缂栧彿</td></tr>
+                <tr><td>maktx</td><td>鏄�</td><td>瀛楃涓�</td><td>鍟嗗搧鍚嶇О</td></tr>
+                <tr><td>groupCode</td><td>鏄�</td><td>瀛楃涓�</td><td>鍟嗗搧鍒嗙被</td></tr>
+                <tr><td>groupName</td><td>鏄�</td><td>瀛楃涓�</td><td>鍒嗙被鍚嶇О</td></tr>
+                <tr><td>name</td><td>鍚�</td><td>瀛楃涓�</td><td>瀛樿揣浠g爜</td></tr>
+                <tr><td>specs</td><td>鍚�</td><td>瀛楃涓�</td><td>瑙勬牸</td></tr>
+                <tr><td>model</td><td>鍚�</td><td>瀛楃涓�</td><td>鍨嬪彿</td></tr>
+                <tr><td>color</td><td>鍚�</td><td>瀛楃涓�</td><td>棰滆壊</td></tr>
+
+                <tr><td>brand</td><td>鍚�</td><td>瀛楃涓�</td><td>鍝佺墝</td></tr>
+                <tr><td>unit</td><td>鍚�</td><td>瀛楃涓�</td><td>鍗曚綅</td></tr>
+                <tr><td>price</td><td>鍚�</td><td>瀛楃涓�</td><td>鍗曚环</td></tr>
+                <tr><td>sku</td><td>鍚�</td><td>瀛楃涓�</td><td>sku</td></tr>
+                <tr><td>units</td><td>鍚�</td><td>Double</td><td>鍗曚綅閲�</td></tr>
+                <tr><td>barcode</td><td>鍚�</td><td>瀛楃涓�</td><td>鏉$爜</td></tr>
+                <tr><td>origin</td><td>鍚�</td><td>瀛楃涓�</td><td>浜у湴</td></tr>
+                <tr><td>manu</td><td>鍚�</td><td>瀛楃涓�</td><td>鍘傚</td></tr>
+
+                <tr><td>manuDate</td><td>鍚�</td><td>Double</td><td>鐢熶骇鏃ユ湡</td></tr>
+                <tr><td>itemNum</td><td>鍚�</td><td>瀛楃涓�</td><td>鍝侀」鏁�</td></tr>
+                <tr><td>safeQty</td><td>鍚�</td><td>Double</td><td>瀹夊叏搴撳瓨閲�</td></tr>
+                <tr><td>weight</td><td>鍚�</td><td>Double</td><td>閲嶉噺</td></tr>
+                <tr><td>length</td><td>鍚�</td><td>Double</td><td>闀垮害</td></tr>
+                <tr><td>volume</td><td>鍚�</td><td>Double</td><td>浣撶Н</td></tr>
+
+                <tr><td>threeCode</td><td>鍚�</td><td>瀛楃涓�</td><td>涓夋柟缂栫爜</td></tr>
+                <tr><td>Supp</td><td>鍚�</td><td>瀛楃涓�</td><td>渚涘簲鍟�</td></tr>
+                <tr><td>suppCode</td><td>鍚�</td><td>瀛楃涓�</td><td>渚涘簲鍟嗙紪鐮�</td></tr>
+                <tr><td>beBatch</td><td>鍚�</td><td>Integer</td><td>鏄惁鎵规1:鏄�0:鍚�</td></tr>
+                <tr><td>deadTime</td><td>鍚�</td><td>瀛楃涓�</td><td>淇濊川鏈�</td></tr>
+                <tr><td>deadWarn</td><td>鍚�</td><td>Integer</td><td>棰勮澶╂暟</td></tr>
+                <tr><td>source</td><td>鍚�</td><td>Integer</td><td>鍒惰喘1:鍒堕��2:閲囪喘3:澶栧崗</td></tr>
+                <tr><td>inspect</td><td>鍚�</td><td>Integer</td><td>瑕佹眰妫�楠�1:鏄�0:鍚�</td></tr>
+
+                <tr><td>danger</td><td>鏄�</td><td>Integer</td><td>鍗遍櫓鍝�1:鏄�0:鍚�</td></tr>
+                <tr><td>status</td><td>鏄�</td><td>Integer</td><td>鐘舵��1:姝e父0:绂佺敤</td></tr>
+                <tr><td>createBy</td><td>鏄�</td><td>Long</td><td>濉�1鍗冲彲</td></tr>
+                <tr><td>createTime</td><td>鏄�</td><td>Date</td><td>娣诲姞鏃堕棿</td></tr>
+                <tr><td>memo</td><td>鏄�</td><td>瀛楃涓�</td><td>澶囨敞</td></tr>
+            </table>
+        </div>
+    </div>
+</body>
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/index.html b/src/main/webapp/views/index.html
index fce459a..2c8517c 100644
--- a/src/main/webapp/views/index.html
+++ b/src/main/webapp/views/index.html
@@ -41,6 +41,17 @@
       </li>
     </ul>
     <ul class="layui-nav layui-layout-right">
+      <!--<li class="layui-nav-item" lay-unselect>-->
+      <!--  <a ew-event="help" title="甯姪" href="./pdf.html" target="_blank"><i class="layui-icon layui-icon-survey"></i></a>-->
+      <!--</li>-->
+      <li class="layui-nav-item" lay-unselect>
+        <a ew-event="help" title="甯姪"><i class="layui-icon layui-icon-survey"></i></a>
+        <dl class="layui-nav-child">
+          <dd lay-unselect><a href="./pdf.html" target="_blank">鎿嶄綔鎵嬪唽</a></dd>
+          <hr>
+          <dd lay-unselect><a href="api_index.html" target="_blank">api鏂囨。</a></dd>
+        </dl>
+      </li>
       <li class="layui-nav-item" lay-unselect id="activation-icon">
         <a ew-event="license" title="鎺堟潈"><i class="layui-icon layui-icon-auz"></i></a>
       </li>
@@ -115,6 +126,7 @@
     var form = layui.form;
 
     var easywebIframeMsg = localStorage.getItem("easyweb-iframe");
+    console.log(easywebIframeMsg)
     if (!isEmpty(easywebIframeMsg)) {
       var easywebIframeObj = JSON.parse(easywebIframeMsg);
       if (easywebIframeObj.defaultTheme === undefined) {
@@ -142,6 +154,7 @@
       success: function (res) {
         $('.layuimini-loader').fadeOut();
         if (res.code === 200) {
+          console.log(res.data)
           var tpl = $('#menuTpl').html();
           var template = Handlebars.compile(tpl);
           var html = template(res);
diff --git a/src/main/webapp/views/pdf.html b/src/main/webapp/views/pdf.html
new file mode 100644
index 0000000..5844f59
--- /dev/null
+++ b/src/main/webapp/views/pdf.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
+    <title>AS / RS 鎿嶄綔鎵嬪唽</title>
+    <style>
+        html,body,div {
+            height: 100%;
+            overflow: hidden;
+        }
+        * {
+            margin: 0;
+        }
+        embed {
+            height: 100%;
+        }
+        iframe {
+            width: 100%;
+            height: 100%;
+        }
+    </style>
+</head>
+<body>
+    <div>
+        <iframe src="./1_鑷姩浠撳簱绠$悊绯荤粺鎿嶄綔璇存槑.pdf" frameborder="0"></iframe>
+    </div>
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.1