From abd90f9abb4db2d1caa8f23c2bb7f1fb1b728a05 Mon Sep 17 00:00:00 2001 From: akiq2016 Date: Thu, 14 Oct 2021 23:08:15 +0800 Subject: [PATCH] Deploy website - based on 4078649f75a4d60851ddff34aa00f7cddc3e23ea --- 404.html | 10 +++++----- about/index.html => about.html | 10 +++++----- .../{d4358da1.d434a604.js => d4358da1.ba5b02b5.js} | 2 +- assets/js/main.52f9823f.js | 2 ++ ...7.js.LICENSE.txt => main.52f9823f.js.LICENSE.txt} | 0 assets/js/main.5a9fbc37.js | 2 -- ...ime~main.ab45fc51.js => runtime~main.e4536af0.js} | 2 +- ...dex.html => algorithm-balanced-binary-trees.html} | 10 +++++----- .../index.html => browser-cross-origin.html} | 10 +++++----- .../index.html => browser-repain-reflow.html} | 10 +++++----- .../index.html => coding-promise.html} | 10 +++++----- book1/{css-bfc/index.html => css-bfc.html} | 10 +++++----- .../index.html => engineer-webpack-workflow.html} | 10 +++++----- .../index.html => frame-vue-computed-watch.html} | 10 +++++----- .../index.html => frame-vue-data-binding.html} | 10 +++++----- book1/{js-closures/index.html => js-closures.html} | 10 +++++----- .../index.html => js-module-specs.html} | 10 +++++----- .../index.html => network-security.html} | 10 +++++----- .../index.html => topic-enter-url-display-xx.html} | 10 +++++----- ...index.html => algorithm-reverse-linked-list.html} | 10 +++++----- .../index.html => browser-garbage.html} | 10 +++++----- .../index.html => browser-render-mechanism.html} | 10 +++++----- .../index.html => coding-throttle-debounce.html} | 10 +++++----- .../index.html => css-preprocessor.html} | 10 +++++----- .../index.html => engineer-babel.html} | 10 +++++----- .../index.html => frame-react-fiber.html} | 10 +++++----- .../index.html => frame-react-hoc-hooks.html} | 10 +++++----- book2/{js-inherite/index.html => js-inherite.html} | 10 +++++----- book2/{js-new/index.html => js-new.html} | 10 +++++----- .../index.html => network-http-cache.html} | 10 +++++----- ...ndex.html => topic-multi-pics-site-optimize.html} | 10 +++++----- .../index.html => algorithm-binary-tree-k.html} | 10 +++++----- .../index.html => browser-event-loop.html} | 10 +++++----- .../index.html => browser-memory-leaks.html} | 10 +++++----- .../index.html => coding-arr-to-tree.html} | 10 +++++----- .../index.html => css-mobile-adaptive.html} | 10 +++++----- .../index.html => engineer-webpack-loader.html} | 10 +++++----- book3/{frame-diff/index.html => frame-diff.html} | 10 +++++----- .../index.html => frame-react-hooks.html} | 10 +++++----- book3/{js-async/index.html => js-async.html} | 12 ++++++------ .../index.html => js-ts-interface-type.html} | 10 +++++----- .../index.html => network-http-1-2.html} | 10 +++++----- ...dex.html => topic-white-screen-optimization.html} | 10 +++++----- guide/index.html => guide.html | 10 +++++----- index.html | 10 +++++----- opensearch.xml | 8 ++++---- readme.md | 5 +++++ search/index.html => search.html | 10 +++++----- sitemap.xml | 2 +- tags/index.html => tags.html | 10 +++++----- 50 files changed, 225 insertions(+), 220 deletions(-) rename about/index.html => about.html (86%) rename assets/js/{d4358da1.d434a604.js => d4358da1.ba5b02b5.js} (98%) create mode 100644 assets/js/main.52f9823f.js rename assets/js/{main.5a9fbc37.js.LICENSE.txt => main.52f9823f.js.LICENSE.txt} (100%) delete mode 100644 assets/js/main.5a9fbc37.js rename assets/js/{runtime~main.ab45fc51.js => runtime~main.e4536af0.js} (98%) rename book1/{algorithm-balanced-binary-trees/index.html => algorithm-balanced-binary-trees.html} (96%) rename book1/{browser-cross-origin/index.html => browser-cross-origin.html} (93%) rename book1/{browser-repain-reflow/index.html => browser-repain-reflow.html} (91%) rename book1/{coding-promise/index.html => coding-promise.html} (99%) rename book1/{css-bfc/index.html => css-bfc.html} (93%) rename book1/{engineer-webpack-workflow/index.html => engineer-webpack-workflow.html} (85%) rename book1/{frame-vue-computed-watch/index.html => frame-vue-computed-watch.html} (91%) rename book1/{frame-vue-data-binding/index.html => frame-vue-data-binding.html} (97%) rename book1/{js-closures/index.html => js-closures.html} (93%) rename book1/{js-module-specs/index.html => js-module-specs.html} (98%) rename book1/{network-security/index.html => network-security.html} (93%) rename book1/{topic-enter-url-display-xx/index.html => topic-enter-url-display-xx.html} (95%) rename book2/{algorithm-reverse-linked-list/index.html => algorithm-reverse-linked-list.html} (94%) rename book2/{browser-garbage/index.html => browser-garbage.html} (91%) rename book2/{browser-render-mechanism/index.html => browser-render-mechanism.html} (95%) rename book2/{coding-throttle-debounce/index.html => coding-throttle-debounce.html} (95%) rename book2/{css-preprocessor/index.html => css-preprocessor.html} (95%) rename book2/{engineer-babel/index.html => engineer-babel.html} (96%) rename book2/{frame-react-fiber/index.html => frame-react-fiber.html} (94%) rename book2/{frame-react-hoc-hooks/index.html => frame-react-hoc-hooks.html} (95%) rename book2/{js-inherite/index.html => js-inherite.html} (97%) rename book2/{js-new/index.html => js-new.html} (93%) rename book2/{network-http-cache/index.html => network-http-cache.html} (92%) rename book2/{topic-multi-pics-site-optimize/index.html => topic-multi-pics-site-optimize.html} (97%) rename book3/{algorithm-binary-tree-k/index.html => algorithm-binary-tree-k.html} (94%) rename book3/{browser-event-loop/index.html => browser-event-loop.html} (94%) rename book3/{browser-memory-leaks/index.html => browser-memory-leaks.html} (93%) rename book3/{coding-arr-to-tree/index.html => coding-arr-to-tree.html} (97%) rename book3/{css-mobile-adaptive/index.html => css-mobile-adaptive.html} (96%) rename book3/{engineer-webpack-loader/index.html => engineer-webpack-loader.html} (98%) rename book3/{frame-diff/index.html => frame-diff.html} (95%) rename book3/{frame-react-hooks/index.html => frame-react-hooks.html} (97%) rename book3/{js-async/index.html => js-async.html} (96%) rename book3/{js-ts-interface-type/index.html => js-ts-interface-type.html} (96%) rename book3/{network-http-1-2/index.html => network-http-1-2.html} (91%) rename book3/{topic-white-screen-optimization/index.html => topic-white-screen-optimization.html} (94%) rename guide/index.html => guide.html (76%) rename search/index.html => search.html (90%) rename tags/index.html => tags.html (76%) diff --git a/404.html b/404.html index a3e3f91..f6e2fa9 100644 --- a/404.html +++ b/404.html @@ -6,14 +6,14 @@ -Page Not Found | HZFE - 剑指前端 Offer - - +Page Not Found | HZFE - 剑指前端 Offer + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/about/index.html b/about.html similarity index 86% rename from about/index.html rename to about.html index 0fb09b3..4d715a6 100644 --- a/about/index.html +++ b/about.html @@ -6,14 +6,14 @@ -关于我们 | HZFE - 剑指前端 Offer - - +关于我们 | HZFE - 剑指前端 Offer + +
Skip to main content

关于我们

Hi,我们是 HZFE,一群来自于五湖四海的 90 后技术人。

一些缘分 :D#

一群固定的人总聚在一起,不知不觉就会成为一个所谓的团队。而我们的团队代号“HZFE”,总让不明其意的人拼错或不知如何发音。曾经在我们三周年活动蛋糕上,店家就用心写下了“H2FF 三周年快乐”的祝福。但是问题不大,只要我们不说,没有人会知道。

我们最初相识于拥有 17 位成员的群聊,群聊名称正是 HZFE。其本意是杭州前端(Hangzhou Front-End),所以也读作“杭州 FE”。尽管我们大多不在杭州,也不全是前端。所以姑且当这是个没道理的代号吧,而我们的相聚则是一场有趣的缘分。

可爱的人 0:)#

和每个普通人一样,我们大多过着三点一线的生活。喜欢旅游也爱摄影,也像千千万个理财小白一般,在正向或是反向理财中来回波动。每天都在产出新的想法,一起头脑风暴,结局总是以没有设计师为借口不了了之,三分钟热度成了我们心照不宣的默契。每天都在做梦,讲些不切实际的幻想,平凡且平庸。

如果说,唯一值得小小炫耀一番的,便是我们这群人对于热爱开发这件事达成了共识。不论是做开源、做自己的产品亦或各自在工作岗位上,都有所收获和成绩。目前团队开源的技术项目累计 6k star 以上,成员主要任职于腾讯、阿里巴巴、字节跳动、百度等一二线互联网公司,同时也不乏优秀的个人开发者。或许我们也是幸运的,在刚踏入社会时相遇相知相爱,彼此影响,一同成长为此刻至少技术还不赖的人。

做些东西 ;‑)#

因缘巧合下,在某天如同往日的头脑风暴中,我们一拍脑袋,说要一起写本书,将五年来对于行业面试规则和趋势的了解整理成册。就此,开启了这场坎坷的写作之旅。

正如其名:剑指前端 Offer,希望在这本书的帮助下,我们和读者都能有所成长。

Loading script...
- - + + \ No newline at end of file diff --git a/assets/js/d4358da1.d434a604.js b/assets/js/d4358da1.ba5b02b5.js similarity index 98% rename from assets/js/d4358da1.d434a604.js rename to assets/js/d4358da1.ba5b02b5.js index 3275bfe..4cc18ca 100644 --- a/assets/js/d4358da1.d434a604.js +++ b/assets/js/d4358da1.ba5b02b5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[9591],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return k}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),m=p(n),k=a,d=m["".concat(s,".").concat(k)]||m[k]||u[k]||l;return n?r.createElement(d,o(o({ref:t},c),{},{components:n})):r.createElement(d,o({ref:t},c))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var p=2;p {\n console.log("You clicked me!");\n\n const pElem = document.createElement("p");\n pElem.textContent = "hello, hzfe.";\n document.body.appendChild(pElem);\n});\n')),(0,l.kt)("p",null,"\u5f02\u6b65\u56de\u8c03\u662f\u7f16\u5199\u548c\u5904\u7406 JavaScript \u5f02\u6b65\u903b\u8f91\u7684\u6700\u5e38\u7528\u65b9\u5f0f\uff0c\u4e5f\u662f\u6700\u57fa\u7840\u7684\u5f02\u6b65\u6a21\u5f0f\u3002\u4f46\u662f\u968f\u7740 JavaScript \u7684\u53d1\u5c55\uff0c\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u4e5f\u4e0d\u5bb9\u5ffd\u89c6\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u56de\u8c03\u8868\u8fbe\u5f02\u6b65\u6d41\u7a0b\u7684\u65b9\u5f0f\u662f\u975e\u7ebf\u6027\u7684\uff0c\u975e\u987a\u5e8f\u7684\uff0c\u7406\u89e3\u6210\u672c\u8f83\u9ad8\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u56de\u8c03\u4f1a\u53d7\u5230\u63a7\u5236\u53cd\u8f6c\u7684\u5f71\u54cd\u3002\u56e0\u4e3a\u56de\u8c03\u7684\u63a7\u5236\u6743\u5728\u7b2c\u4e09\u65b9\uff08\u5982 Ajax\uff09\uff0c\u7531\u7b2c\u4e09\u65b9\u6765\u8c03\u7528\u56de\u8c03\u51fd\u6570\uff0c\u65e0\u6cd5\u786e\u5b9a\u8c03\u7528\u662f\u5426\u7b26\u5408\u9884\u671f\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u591a\u5c42\u5d4c\u5957\u56de\u8c03\u4f1a\u4ea7\u751f\u56de\u8c03\u5730\u72f1\uff08callback hell\uff09\u3002")),(0,l.kt)("h3",{id:"2-\u5b9a\u65f6\u5668settimeoutsetintervalrequestanimationframe"},"2. \u5b9a\u65f6\u5668\uff1asetTimeout/setInterval/requestAnimationFrame"),(0,l.kt)("p",null,"\u8fd9\u4e09\u4e2a\u90fd\u53ef\u4ee5\u7528\u5f02\u6b65\u65b9\u5f0f\u8fd0\u884c\u4ee3\u7801\u3002\u4e3b\u8981\u7279\u5f81\u5982\u4e0b\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"setTimeout\uff1a\u7ecf\u8fc7\u4efb\u610f\u65f6\u95f4\u540e\u8fd0\u884c\u51fd\u6570\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u9012\u5f52 setTimeout \u5728 JavaScript \u7ebf\u7a0b\u4e0d\u963b\u585e\u60c5\u7684\u51b5\u4e0b\u53ef\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u76f8\u540c"),"\u3002"),(0,l.kt)("li",{parentName:"ol"},"setInterval\uff1a\u5141\u8bb8\u91cd\u590d\u6267\u884c\u4e00\u4e2a\u51fd\u6570\uff0c\u5e76\u8bbe\u7f6e\u65f6\u95f4\u95f4\u9694\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u4e0d\u80fd\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u76f8\u540c"),"\u3002"),(0,l.kt)("li",{parentName:"ol"},"requestAnimationFrame\uff1a\u4ee5",(0,l.kt)("strong",{parentName:"li"},"\u5f53\u524d\u6d4f\u89c8\u5668/\u7cfb\u7edf\u7684\u6700\u4f73\u5e27\u901f\u7387"),"\u91cd\u590d\u4e14\u9ad8\u6548\u5730\u8fd0\u884c\u51fd\u6570\u7684\u65b9\u6cd5\u3002\u4e00\u822c\u7528\u4e8e\u5904\u7406\u52a8\u753b\u6548\u679c\u3002")),(0,l.kt)("p",null,"setInterval \u4f1a\u6309\u8bbe\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u56fa\u5b9a\u8c03\u7528\uff0c\u5176\u4e2d setInterval \u91cc\u9762\u7684\u4ee3\u7801\u7684\u6267\u884c\u65f6\u95f4\u4e5f\u5305\u542b\u5728\u5185\uff0c\u6240\u4ee5",(0,l.kt)("strong",{parentName:"p"},"\u5b9e\u9645\u95f4\u9694\u5c0f\u4e8e\u8bbe\u5b9a\u7684\u65f6\u95f4\u95f4\u9694"),"\u3002\u800c\u9012\u5f52 setTimeout \u662f\u8c03\u7528\u65f6\u624d\u5f00\u59cb\u7b97\u65f6\u95f4\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u591a\u6b21\u9012\u5f52\u8c03\u7528\u65f6\u7684\u95f4\u9694\u76f8\u540c\u3002"),(0,l.kt)("p",null,"\u5982\u679c\u5f53\u524d JavaScript \u7ebf\u7a0b",(0,l.kt)("strong",{parentName:"p"},"\u963b\u585e"),"\uff0c\u8f6e\u5230\u7684 setInterval \u65e0\u6cd5\u6267\u884c\uff0c\u90a3\u4e48\u672c\u6b21\u4efb\u52a1\u5c31\u4f1a",(0,l.kt)("strong",{parentName:"p"},"\u88ab\u4e22\u5f03"),"\u3002\u800c setTimeout \u88ab\u963b\u585e\u540e\u4e0d\u4f1a",(0,l.kt)("strong",{parentName:"p"},"\u88ab\u4e22\u5f03"),"\uff0c\u7b49\u5230\u7a7a\u95f2\u65f6\u4f1a\u7ee7\u7eed\u6267\u884c\uff0c\u4f46\u65e0\u6cd5\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u3002"),(0,l.kt)("h3",{id:"3-\u53d1\u5e03\u8ba2\u9605\u6a21\u5f0fpublish-subscribe-pattern"},"3. \u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\uff08publish-subscribe pattern\uff09"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\u662f\u4e00\u79cd\u5bf9\u8c61\u95f4\u4e00\u5bf9\u591a\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5f53\u4e00\u4e2a\u5bf9\u8c61\u7684\u72b6\u6001\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u6240\u6709\u4f9d\u8d56\u4e8e\u5b83\u7684\u5bf9\u8c61\u90fd\u5c06\u5f97\u5230\u72b6\u6001\u6539\u53d8\u7684\u901a\u77e5\u3002")),(0,l.kt)("p",null,"\u4e0a\u9762\u5f02\u6b65\u56de\u8c03\u7684\u4f8b\u5b50\u4e5f\u662f\u4e00\u4e2a\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\uff08publish-subscribe pattern\uff09\u7684\u5b9e\u73b0\u3002\u8ba2\u9605 btn \u7684 click \u4e8b\u4ef6\uff0c\u5f53 btn \u88ab\u70b9\u51fb\u65f6\u5411\u8ba2\u9605\u8005\u53d1\u9001\u8fd9\u4e2a\u6d88\u606f\uff0c\u6267\u884c\u5bf9\u5e94\u7684\u64cd\u4f5c\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'class PubSub {\n constructor() {\n // \u5b58\u50a8\u6240\u6709\u8ba2\u9605\u7684\u4e8b\u4ef6\u7c7b\u578b\u53ca\u5bf9\u5e94\u7684\u8ba2\u9605\u51fd\u6570\u6570\u7ec4\n // key : value []\n this.handlers = {};\n }\n // \u8ba2\u9605\u4e8b\u4ef6\u65b9\u6cd5\n on(eventType, handler) {\n if (!(eventType in this.handlers)) this.handlers[eventType] = [];\n this.handlers[eventType].push(handler);\n }\n // \u6d88\u606f\u53d1\u5e03\u65b9\u6cd5\n emit(eventType, ...handlerArgs) {\n this.handlers[eventType].forEach((v) => {\n v(...handlerArgs);\n });\n }\n // \u53d6\u6d88\u8ba2\u9605\n remove(eventType, handler) {\n // \u6ca1\u6709\u4f20\u5165\u5177\u4f53\u7684\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\uff0c\u5219\u79fb\u9664\u8be5\u4e8b\u4ef6\u7c7b\u578b\u7684\u6240\u6709\u8ba2\u9605\u51fd\u6570\n // \u6709\u5219\u5728\u8ba2\u9605\u6570\u7ec4\u4e2d\u79fb\u9664\u5bf9\u5e94\u7684\u51fd\u6570\n if (!handler) {\n this.handlers[eventType].length = 0;\n } else {\n const key = this.handlers[eventType].findIndex((v) => v === handler);\n if (key !== -1) this.handlers[eventType].splice(key, 1);\n }\n }\n}\n\nconst test1 = new PubSub();\nconst fn1 = (...data) => console.log(data);\ntest1.on("event1", fn1);\ntest1.on("event1", (...data) => console.log(`fn2: ${data}`));\ntest1.emit("event1", "hzfe1", "hzfe2", "hzfe3");\ntest1.remove("event1", fn1);\n// ["hzfe1", "hzfe2", "hzfe3"] fn1\u6253\u5370\n// fn2: hzfe1,hzfe2,hzfe3\n')),(0,l.kt)("p",null,"\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\u53ef\u4ee5\u66f4\u7ec6\u81f4\u5730\u4e86\u89e3\u5230\u6709\u591a\u5c11\u79cd\u4e8b\u4ef6\u7c7b\u578b\u4ee5\u53ca\u6bcf\u79cd\u7c7b\u578b\u5bf9\u5e94\u7684\u8ba2\u9605\u4e8b\u4ef6\uff0c\u65b9\u4fbf\u8fdb\u4e00\u6b65\u7684\u76d1\u542c\u4e0e\u63a7\u5236\u3002"),(0,l.kt)("h3",{id:"4-promise"},"4. Promise"),(0,l.kt)("p",null,"Promise \u63d0\u4f9b\u4e86\u5b8c\u6210\u548c\u62d2\u7edd\u4e24\u4e2a\u72b6\u6001\u6765\u6807\u8bc6\u5f02\u6b65\u64cd\u4f5c\u7ed3\u679c\uff0c\u901a\u8fc7 then \u548c catch \u53ef\u4ee5\u5206\u522b\u5bf9\u7740\u4e24\u4e2a\u72b6\u6001\u8fdb\u884c\u8ddf\u8e2a\u5904\u7406\u3002\u548c\u4e8b\u4ef6\u76d1\u542c\u7684\u4e3b\u8981\u5dee\u522b\u5728\u4e8e\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u4e00\u4e2a Promise \u53ea\u80fd\u6210\u529f\u6216\u5931\u8d25\u4e00\u6b21\uff0c\u4e00\u65e6\u72b6\u6001\u6539\u53d8\uff0c\u5c31\u65e0\u6cd5\u4ece\u6210\u529f\u5207\u6362\u5230\u5931\u8d25\uff0c\u53cd\u4e4b\u4ea6\u7136\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c Promise \u6210\u529f\u6216\u5931\u8d25\uff0c\u90a3\u4e48\u5373\u4f7f\u5728\u4e8b\u4ef6\u53d1\u751f\u4e4b\u540e\u6dfb\u52a0\u6210\u529f/\u5931\u8d25\u56de\u8c03\uff0c\u4e5f\u5c06\u8c03\u7528\u6b63\u786e\u7684\u56de\u8c03\u3002")),(0,l.kt)("p",null,"Promise \u4f7f\u7528\u987a\u5e8f\u7684\u65b9\u5f0f\u6765\u8868\u8fbe\u5f02\u6b65\uff0c\u5c06\u56de\u8c03\u7684\u63a7\u5236\u6743\u8f6c\u4ea4\u7ed9\u4e86\u53ef\u4ee5\u4fe1\u4efb\u7684 Promise.resolve()\uff0c\u540c\u65f6\u4e5f\u80fd\u591f\u4f7f\u7528\u94fe\u5f0f\u6d41\u7684\u65b9\u5f0f\u907f\u514d\u56de\u8c03\u5730\u72f1\u7684\u4ea7\u751f\uff0c\u89e3\u51b3\u4e86\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u3002\u4f46 Promise \u4e5f\u6709\u7f3a\u9677\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u987a\u5e8f\u9519\u8bef\u5904\u7406\uff1a\u5982\u679c\u4e0d\u8bbe\u7f6e\u56de\u8c03\u51fd\u6570\uff0cPromise \u94fe\u4e2d\u7684\u9519\u8bef\u5f88\u5bb9\u6613\u88ab\u5ffd\u7565\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5355\u51b3\u8bae\uff1aPromise \u53ea\u80fd\u88ab\u51b3\u8bae\u4e00\u6b21\uff08\u5b8c\u6210\u6216\u62d2\u7edd\uff09\uff0c\u4e0d\u80fd\u5f88\u597d\u5730\u652f\u6301\u591a\u6b21\u89e6\u53d1\u7684\u4e8b\u4ef6\u53ca\u6570\u636e\u6d41\uff08\u652f\u6301\u7684",(0,l.kt)("a",{parentName:"li",href:"https://streams.spec.whatwg.org/"},"\u6807\u51c6"),"\u6b63\u5728\u5236\u5b9a\u4e2d\uff09\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u65e0\u6cd5\u83b7\u53d6\u72b6\u6001\uff1a\u5904\u4e8e Pending \u72b6\u6001\u65f6\uff0c\u65e0\u6cd5\u5f97\u77e5\u76ee\u524d\u8fdb\u5c55\u5230\u54ea\u4e00\u4e2a\u9636\u6bb5\uff08\u521a\u521a\u5f00\u59cb\u8fd8\u662f\u5373\u5c06\u5b8c\u6210\uff09\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u65e0\u6cd5\u53d6\u6d88\uff1a\u4e00\u65e6\u521b\u5efa\u4e86 Promise \u5e76\u6ce8\u518c\u4e86\u5b8c\u6210/\u62d2\u7edd\u51fd\u6570\uff0c\u4e0d\u80fd\u53d6\u6d88\u6267\u884c\u3002")),(0,l.kt)("h3",{id:"5-\u751f\u6210\u5668-generator"},"5. \u751f\u6210\u5668 Generator"),(0,l.kt)("p",null,"Generator \u51fd\u6570\u662f ES6 \u63d0\u4f9b\u7684\u4e00\u79cd\u5f02\u6b65\u7f16\u7a0b\u89e3\u51b3\u65b9\u6848\uff0c\u8bed\u6cd5\u4e0e\u4f20\u7edf\u51fd\u6570\u5b8c\u5168\u4e0d\u540c\uff0c\u6700\u5927\u7684\u7279\u70b9\u5c31\u662f\u53ef\u4ee5\u63a7\u5236\u51fd\u6570\u7684\u6267\u884c\u3002\u7b80\u5355\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"function* helloHzfeGenerator() {\n yield \"hello\";\n yield \"hzfe\";\n return \"ending\";\n}\n\nvar hello = helloHzfeGenerator();\n\nhello.next();\n// { value: 'hello', done: false }\n\nhello.next();\n// { value: 'hzfe', done: false }\n\nhello.next();\n// { value: 'ending', done: true }\n\nhello.next();\n// { value: undefined, done: true }\n")),(0,l.kt)("p",null,"\u751f\u6210\u5668 Generator \u5e76\u4e0d\u50cf\u666e\u901a\u51fd\u6570\u90a3\u6837\u603b\u662f\u8fd0\u884c\u5230\u7ed3\u675f\uff0c\u53ef\u4ee5\u5728\u8fd0\u884c\u5f53\u4e2d\u901a\u8fc7 yield \u6765\u6682\u505c\u5e76\u5b8c\u5168\u4fdd\u6301\u5176\u72b6\u6001\uff0c\u518d\u901a\u8fc7 next \u6062\u590d\u8fd0\u884c\u3002yield/next \u4e0d\u53ea\u662f\u63a7\u5236\u673a\u5236\uff0c\u4e5f\u662f\u4e00\u79cd\u53cc\u5411\u6d88\u606f\u4f20\u9012\u673a\u5236\u3002yield \u8868\u8fbe\u5f0f\u672c\u8d28\u4e0a\u662f\u6682\u505c\u4e0b\u6765\u7b49\u5f85\u67d0\u4e2a\u503c\uff0cnext \u8c03\u7528\u4f1a\u5411\u88ab\u6682\u505c\u7684 yield \u8868\u8fbe\u5f0f\u4f20\u56de\u4e00\u4e2a\u503c\uff08\u6216\u8005\u662f\u9690\u5f0f\u7684 undefined\uff09\u3002"),(0,l.kt)("p",null,"\u751f\u6210\u5668 Generator \u4fdd\u6301\u4e86\u987a\u5e8f\u3001\u540c\u6b65\u3001\u963b\u585e\u7684\u4ee3\u7801\u6a21\u5f0f\uff0c\u540c\u6837\u89e3\u51b3\u4e86\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u3002"),(0,l.kt)("h3",{id:"6-aysncawait"},"6. aysnc/await"),(0,l.kt)("p",null,"aysnc/await \u5c5e\u4e8e ",(0,l.kt)("a",{parentName:"p",href:"https://262.ecma-international.org/8.0/"},"ECMAScript 2017 JavaScript \u7248"),"\u7684\u4e00\u90e8\u5206\uff0c\u4f7f\u5f02\u6b65\u4ee3\u7801\u66f4\u6613\u4e8e\u7f16\u5199\u548c\u9605\u8bfb\u3002\u901a\u8fc7\u4f7f\u7528\u5b83\u4eec\uff0c\u5f02\u6b65\u4ee3\u7801\u770b\u8d77\u6765\u66f4\u50cf\u662f\u540c\u6b65\u4ee3\u7801\u3002\u5177\u6709\u5982\u4e0b\u7279\u70b9\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"async/await \u4e0d\u80fd\u7528\u4e8e\u666e\u901a\u7684\u56de\u8c03\u51fd\u6570\u3002"),(0,l.kt)("li",{parentName:"ol"},"async/await \u4e0e Promise \u4e00\u6837\uff0c\u662f\u975e\u963b\u585e\u7684\u3002"),(0,l.kt)("li",{parentName:"ol"},"async/await \u4f7f\u5f97\u5f02\u6b65\u4ee3\u7801\u770b\u8d77\u6765\u50cf\u540c\u6b65\u4ee3\u7801\u3002")),(0,l.kt)("p",null,"async/await \u4e5f\u5b58\u5728\u95ee\u9898\uff1aawait \u5173\u952e\u5b57\u4f1a\u963b\u585e\u5176\u540e\u7684\u4ee3\u7801\uff0c\u76f4\u5230 Promise \u5b8c\u6210\uff0c\u5c31\u50cf\u6267\u884c\u540c\u6b65\u64cd\u4f5c\u4e00\u6837\u3002\u5b83\u53ef\u4ee5\u5141\u8bb8\u5176\u4ed6\u4efb\u52a1\u5728\u6b64\u671f\u95f4\u7ee7\u7eed\u8fd0\u884c\uff0c\u4f46\u81ea\u5df1\u7684\u4ee3\u7801\u4f1a\u88ab\u963b\u585e\u3002\u89e3\u51b3\u65b9\u6848\u662f\u5c06 Promise \u5bf9\u8c61\u5b58\u50a8\u5728\u53d8\u91cf\u4e2d\u6765\u540c\u65f6\u5f00\u59cb\uff0c\u7136\u540e\u7b49\u5f85\u5b83\u4eec\u5168\u90e8\u6267\u884c\u5b8c\u6bd5\u3002\u5177\u4f53\u53c2\u7167 ",(0,l.kt)("a",{parentName:"p",href:"https://mdn.github.io/learning-area/javascript/asynchronous/async-await/fast-async-await.html"},"fast asnyc await"),"\u3002\u5982\u679c\u5185\u90e8\u7684 await \u7b49\u5f85\u7684\u5f02\u6b65\u4efb\u52a1\u4e4b\u95f4\u6ca1\u6709\u4f9d\u8d56\u5173\u7cfb\uff0c\u4e14\u9700\u8981\u83b7\u53d6\u8fd9\u4e9b\u5f02\u6b65\u64cd\u4f5c\u7684\u7ed3\u679c\uff0c\u53ef\u4ee5\u4f7f\u7528 Promise.allSettled() \u540c\u65f6\u6267\u884c\u8fd9\u4e9b\u4efb\u52a1\u5e76\u83b7\u5f97\u7ed3\u679c\u3002"),(0,l.kt)("h3",{id:"7-web-worker"},"7. Web Worker"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Web Worker \u4e3a JavaScript \u521b\u9020\u4e86\u591a\u7ebf\u7a0b\u73af\u5883"),"\uff0c\u5141\u8bb8\u4e3b\u7ebf\u7a0b\u521b\u5efa Worker \u7ebf\u7a0b\uff0c\u5c06\u4e00\u4e9b\u4efb\u52a1\u5206\u914d\u7ed9 Worker \u7ebf\u7a0b\u8fd0\u884c\uff0c\u5904\u7406\u5b8c\u540e\u53ef\u4ee5\u901a\u8fc7 postMessage \u5c06\u7ed3\u679c\u4f20\u9012\u7ed9\u4e3b\u7ebf\u7a0b\u3002\u4f18\u70b9\u5728\u4e8e\u53ef\u4ee5\u5728\u4e00\u4e2a\u5355\u72ec\u7684\u7ebf\u7a0b\u4e2d\u6267\u884c\u8d39\u65f6\u7684\u5904\u7406\u4efb\u52a1\uff0c\u4ece\u800c\u5141\u8bb8\u4e3b\u7ebf\u7a0b\u4e2d\u7684\u4efb\u52a1\uff08\u901a\u5e38\u662f UI\uff09\u8fd0\u884c\u4e0d\u88ab\u963b\u585e/\u653e\u6162\u3002"),(0,l.kt)("p",null,"\u4f7f\u7528 Web Worker \u65f6\u6709\u4ee5\u4e0b\u4e09\u70b9\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5728 Worker \u5185\u90e8\u65e0\u6cd5\u8bbf\u95ee\u4e3b\u7ebf\u7a0b\u7684\u4efb\u4f55\u8d44\u6e90"),"\uff0c\u5305\u62ec\u5168\u5c40\u53d8\u91cf\uff0c\u9875\u9762\u7684 DOM \u6216\u8005\u5176\u4ed6\u8d44\u6e90\uff0c\u56e0\u4e3a\u8fd9\u662f\u4e00\u4e2a\u5b8c\u5168\u72ec\u7acb\u7684\u7ebf\u7a0b\u3002"),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"Worker \u548c\u4e3b\u7ebf\u7a0b\u95f4\u7684\u6570\u636e\u4f20\u9012\u901a\u8fc7\u6d88\u606f\u673a\u5236\u8fdb\u884c"),"\u3002\u4f7f\u7528 postMessage \u65b9\u6cd5\u53d1\u9001\u6d88\u606f\uff1b\u4f7f\u7528 onmessage \u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u6765\u54cd\u5e94\u6d88\u606f\u3002"),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"Worker \u53ef\u4ee5\u521b\u5efa\u65b0\u7684 Worker\uff0c\u65b0\u7684 Worker \u548c\u7236\u9875\u9762\u540c\u6e90"),"\u3002Worker \u5728\u4f7f\u7528 XMLHttpRequest \u8fdb\u884c\u7f51\u7edc I/O \u65f6\uff0cXMLHttpRequest \u7684 responseXML \u548c channel \u5c5e\u6027\u4f1a\u8fd4\u56de null\u3002")),(0,l.kt)("p",null,"Web Worker \u4e3b\u8981\u5e94\u7528\u573a\u666f\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5904\u7406\u5bc6\u96c6\u578b\u6570\u5b66\u8ba1\u7b97"),(0,l.kt)("li",{parentName:"ol"},"\u5927\u6570\u636e\u96c6\u6392\u5e8f"),(0,l.kt)("li",{parentName:"ol"},"\u6570\u636e\u5904\u7406\uff08\u538b\u7f29\uff0c\u97f3\u9891\u5206\u6790\uff0c\u56fe\u50cf\u5904\u7406\u7b49\uff09"),(0,l.kt)("li",{parentName:"ol"},"\u9ad8\u6d41\u91cf\u7f51\u7edc\u901a\u4fe1")),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Asynchronous"},"\u5f02\u6b65 JavaScript")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API/Using_web_workers"},"\u4f7f\u7528 Web Worker"))))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[9591],{3905:function(e,t,n){n.d(t,{Zo:function(){return c},kt:function(){return k}});var r=n(7294);function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function l(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function o(e){for(var t=1;t=0||(a[n]=e[n]);return a}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var s=r.createContext({}),p=function(e){var t=r.useContext(s),n=t;return e&&(n="function"==typeof e?e(t):o(o({},t),e)),n},c=function(e){var t=p(e.components);return r.createElement(s.Provider,{value:t},e.children)},u={inlineCode:"code",wrapper:function(e){var t=e.children;return r.createElement(r.Fragment,{},t)}},m=r.forwardRef((function(e,t){var n=e.components,a=e.mdxType,l=e.originalType,s=e.parentName,c=i(e,["components","mdxType","originalType","parentName"]),m=p(n),k=a,d=m["".concat(s,".").concat(k)]||m[k]||u[k]||l;return n?r.createElement(d,o(o({ref:t},c),{},{components:n})):r.createElement(d,o({ref:t},c))}));function k(e,t){var n=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var l=n.length,o=new Array(l);o[0]=m;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i.mdxType="string"==typeof e?e:a,o[1]=i;for(var p=2;p {\n console.log("You clicked me!");\n\n const pElem = document.createElement("p");\n pElem.textContent = "hello, hzfe.";\n document.body.appendChild(pElem);\n});\n')),(0,l.kt)("p",null,"\u5f02\u6b65\u56de\u8c03\u662f\u7f16\u5199\u548c\u5904\u7406 JavaScript \u5f02\u6b65\u903b\u8f91\u7684\u6700\u5e38\u7528\u65b9\u5f0f\uff0c\u4e5f\u662f\u6700\u57fa\u7840\u7684\u5f02\u6b65\u6a21\u5f0f\u3002\u4f46\u662f\u968f\u7740 JavaScript \u7684\u53d1\u5c55\uff0c\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u4e5f\u4e0d\u5bb9\u5ffd\u89c6\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u56de\u8c03\u8868\u8fbe\u5f02\u6b65\u6d41\u7a0b\u7684\u65b9\u5f0f\u662f\u975e\u7ebf\u6027\u7684\uff0c\u975e\u987a\u5e8f\u7684\uff0c\u7406\u89e3\u6210\u672c\u8f83\u9ad8\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u56de\u8c03\u4f1a\u53d7\u5230\u63a7\u5236\u53cd\u8f6c\u7684\u5f71\u54cd\u3002\u56e0\u4e3a\u56de\u8c03\u7684\u63a7\u5236\u6743\u5728\u7b2c\u4e09\u65b9\uff08\u5982 Ajax\uff09\uff0c\u7531\u7b2c\u4e09\u65b9\u6765\u8c03\u7528\u56de\u8c03\u51fd\u6570\uff0c\u65e0\u6cd5\u786e\u5b9a\u8c03\u7528\u662f\u5426\u7b26\u5408\u9884\u671f\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u591a\u5c42\u5d4c\u5957\u56de\u8c03\u4f1a\u4ea7\u751f\u56de\u8c03\u5730\u72f1\uff08callback hell\uff09\u3002")),(0,l.kt)("h3",{id:"2-\u5b9a\u65f6\u5668settimeoutsetintervalrequestanimationframe"},"2. \u5b9a\u65f6\u5668\uff1asetTimeout/setInterval/requestAnimationFrame"),(0,l.kt)("p",null,"\u8fd9\u4e09\u4e2a\u90fd\u53ef\u4ee5\u7528\u5f02\u6b65\u65b9\u5f0f\u8fd0\u884c\u4ee3\u7801\u3002\u4e3b\u8981\u7279\u5f81\u5982\u4e0b\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"setTimeout\uff1a\u7ecf\u8fc7\u4efb\u610f\u65f6\u95f4\u540e\u8fd0\u884c\u51fd\u6570\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u9012\u5f52 setTimeout \u5728 JavaScript \u7ebf\u7a0b\u4e0d\u963b\u585e\u60c5\u7684\u51b5\u4e0b\u53ef\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u76f8\u540c"),"\u3002"),(0,l.kt)("li",{parentName:"ol"},"setInterval\uff1a\u5141\u8bb8\u91cd\u590d\u6267\u884c\u4e00\u4e2a\u51fd\u6570\uff0c\u5e76\u8bbe\u7f6e\u65f6\u95f4\u95f4\u9694\uff0c",(0,l.kt)("strong",{parentName:"li"},"\u4e0d\u80fd\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u76f8\u540c"),"\u3002"),(0,l.kt)("li",{parentName:"ol"},"requestAnimationFrame\uff1a\u4ee5",(0,l.kt)("strong",{parentName:"li"},"\u5f53\u524d\u6d4f\u89c8\u5668/\u7cfb\u7edf\u7684\u6700\u4f73\u5e27\u901f\u7387"),"\u91cd\u590d\u4e14\u9ad8\u6548\u5730\u8fd0\u884c\u51fd\u6570\u7684\u65b9\u6cd5\u3002\u4e00\u822c\u7528\u4e8e\u5904\u7406\u52a8\u753b\u6548\u679c\u3002")),(0,l.kt)("p",null,"setInterval \u4f1a\u6309\u8bbe\u5b9a\u7684\u65f6\u95f4\u95f4\u9694\u56fa\u5b9a\u8c03\u7528\uff0c\u5176\u4e2d setInterval \u91cc\u9762\u7684\u4ee3\u7801\u7684\u6267\u884c\u65f6\u95f4\u4e5f\u5305\u542b\u5728\u5185\uff0c\u6240\u4ee5",(0,l.kt)("strong",{parentName:"p"},"\u5b9e\u9645\u95f4\u9694\u5c0f\u4e8e\u8bbe\u5b9a\u7684\u65f6\u95f4\u95f4\u9694"),"\u3002\u800c\u9012\u5f52 setTimeout \u662f\u8c03\u7528\u65f6\u624d\u5f00\u59cb\u7b97\u65f6\u95f4\uff0c\u53ef\u4ee5\u4fdd\u8bc1\u591a\u6b21\u9012\u5f52\u8c03\u7528\u65f6\u7684\u95f4\u9694\u76f8\u540c\u3002"),(0,l.kt)("p",null,"\u5982\u679c\u5f53\u524d JavaScript \u7ebf\u7a0b",(0,l.kt)("strong",{parentName:"p"},"\u963b\u585e"),"\uff0c\u8f6e\u5230\u7684 setInterval \u65e0\u6cd5\u6267\u884c\uff0c\u90a3\u4e48\u672c\u6b21\u4efb\u52a1\u5c31\u4f1a",(0,l.kt)("strong",{parentName:"p"},"\u88ab\u4e22\u5f03"),"\u3002\u800c setTimeout \u88ab\u963b\u585e\u540e\u4e0d\u4f1a",(0,l.kt)("strong",{parentName:"p"},"\u88ab\u4e22\u5f03"),"\uff0c\u7b49\u5230\u7a7a\u95f2\u65f6\u4f1a\u7ee7\u7eed\u6267\u884c\uff0c\u4f46\u65e0\u6cd5\u4fdd\u8bc1\u6267\u884c\u95f4\u9694\u3002"),(0,l.kt)("h3",{id:"3-\u53d1\u5e03\u8ba2\u9605\u6a21\u5f0fpublish-subscribe-pattern"},"3. \u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\uff08publish-subscribe pattern\uff09"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\u662f\u4e00\u79cd\u5bf9\u8c61\u95f4\u4e00\u5bf9\u591a\u7684\u4f9d\u8d56\u5173\u7cfb\uff0c\u5f53\u4e00\u4e2a\u5bf9\u8c61\u7684\u72b6\u6001\u53d1\u751f\u6539\u53d8\u65f6\uff0c\u6240\u6709\u4f9d\u8d56\u4e8e\u5b83\u7684\u5bf9\u8c61\u90fd\u5c06\u5f97\u5230\u72b6\u6001\u6539\u53d8\u7684\u901a\u77e5\u3002")),(0,l.kt)("p",null,"\u4e0a\u9762\u5f02\u6b65\u56de\u8c03\u7684\u4f8b\u5b50\u4e5f\u662f\u4e00\u4e2a\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\uff08publish-subscribe pattern\uff09\u7684\u5b9e\u73b0\u3002\u8ba2\u9605 btn \u7684 click \u4e8b\u4ef6\uff0c\u5f53 btn \u88ab\u70b9\u51fb\u65f6\u5411\u8ba2\u9605\u8005\u53d1\u9001\u8fd9\u4e2a\u6d88\u606f\uff0c\u6267\u884c\u5bf9\u5e94\u7684\u64cd\u4f5c\u3002"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'class PubSub {\n constructor() {\n // \u5b58\u50a8\u6240\u6709\u8ba2\u9605\u7684\u4e8b\u4ef6\u7c7b\u578b\u53ca\u5bf9\u5e94\u7684\u8ba2\u9605\u51fd\u6570\u6570\u7ec4\n // key : value []\n this.handlers = {};\n }\n // \u8ba2\u9605\u4e8b\u4ef6\u65b9\u6cd5\n on(eventType, handler) {\n if (!(eventType in this.handlers)) this.handlers[eventType] = [];\n this.handlers[eventType].push(handler);\n }\n // \u6d88\u606f\u53d1\u5e03\u65b9\u6cd5\n emit(eventType, ...handlerArgs) {\n this.handlers[eventType].forEach((v) => {\n v(...handlerArgs);\n });\n }\n // \u53d6\u6d88\u8ba2\u9605\n remove(eventType, handler) {\n // \u6ca1\u6709\u4f20\u5165\u5177\u4f53\u7684\u4e8b\u4ef6\u5904\u7406\u51fd\u6570\uff0c\u5219\u79fb\u9664\u8be5\u4e8b\u4ef6\u7c7b\u578b\u7684\u6240\u6709\u8ba2\u9605\u51fd\u6570\n // \u6709\u5219\u5728\u8ba2\u9605\u6570\u7ec4\u4e2d\u79fb\u9664\u5bf9\u5e94\u7684\u51fd\u6570\n if (!handler) {\n this.handlers[eventType].length = 0;\n } else {\n const key = this.handlers[eventType].findIndex((v) => v === handler);\n if (key !== -1) this.handlers[eventType].splice(key, 1);\n }\n }\n}\n\nconst test1 = new PubSub();\nconst fn1 = (...data) => console.log(data);\ntest1.on("event1", fn1);\ntest1.on("event1", (...data) => console.log(`fn2: ${data}`));\ntest1.emit("event1", "hzfe1", "hzfe2", "hzfe3");\ntest1.remove("event1", fn1);\n// ["hzfe1", "hzfe2", "hzfe3"] fn1\u6253\u5370\n// fn2: hzfe1,hzfe2,hzfe3\n')),(0,l.kt)("p",null,"\u53d1\u5e03/\u8ba2\u9605\u6a21\u5f0f\u53ef\u4ee5\u66f4\u7ec6\u81f4\u5730\u4e86\u89e3\u5230\u6709\u591a\u5c11\u79cd\u4e8b\u4ef6\u7c7b\u578b\u4ee5\u53ca\u6bcf\u79cd\u7c7b\u578b\u5bf9\u5e94\u7684\u8ba2\u9605\u4e8b\u4ef6\uff0c\u65b9\u4fbf\u8fdb\u4e00\u6b65\u7684\u76d1\u542c\u4e0e\u63a7\u5236\u3002"),(0,l.kt)("h3",{id:"4-promise"},"4. Promise"),(0,l.kt)("p",null,"Promise \u63d0\u4f9b\u4e86\u5b8c\u6210\u548c\u62d2\u7edd\u4e24\u4e2a\u72b6\u6001\u6765\u6807\u8bc6\u5f02\u6b65\u64cd\u4f5c\u7ed3\u679c\uff0c\u901a\u8fc7 then \u548c catch \u53ef\u4ee5\u5206\u522b\u5bf9\u7740\u4e24\u4e2a\u72b6\u6001\u8fdb\u884c\u8ddf\u8e2a\u5904\u7406\u3002\u548c\u4e8b\u4ef6\u76d1\u542c\u7684\u4e3b\u8981\u5dee\u522b\u5728\u4e8e\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u4e00\u4e2a Promise \u53ea\u80fd\u6210\u529f\u6216\u5931\u8d25\u4e00\u6b21\uff0c\u4e00\u65e6\u72b6\u6001\u6539\u53d8\uff0c\u5c31\u65e0\u6cd5\u4ece\u6210\u529f\u5207\u6362\u5230\u5931\u8d25\uff0c\u53cd\u4e4b\u4ea6\u7136\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5982\u679c Promise \u6210\u529f\u6216\u5931\u8d25\uff0c\u90a3\u4e48\u5373\u4f7f\u5728\u4e8b\u4ef6\u53d1\u751f\u4e4b\u540e\u6dfb\u52a0\u6210\u529f/\u5931\u8d25\u56de\u8c03\uff0c\u4e5f\u5c06\u8c03\u7528\u6b63\u786e\u7684\u56de\u8c03\u3002")),(0,l.kt)("p",null,"Promise \u4f7f\u7528\u987a\u5e8f\u7684\u65b9\u5f0f\u6765\u8868\u8fbe\u5f02\u6b65\uff0c\u5c06\u56de\u8c03\u7684\u63a7\u5236\u6743\u8f6c\u4ea4\u7ed9\u4e86\u53ef\u4ee5\u4fe1\u4efb\u7684 Promise.resolve()\uff0c\u540c\u65f6\u4e5f\u80fd\u591f\u4f7f\u7528\u94fe\u5f0f\u6d41\u7684\u65b9\u5f0f\u907f\u514d\u56de\u8c03\u5730\u72f1\u7684\u4ea7\u751f\uff0c\u89e3\u51b3\u4e86\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u3002\u4f46 Promise \u4e5f\u6709\u7f3a\u9677\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u987a\u5e8f\u9519\u8bef\u5904\u7406\uff1a\u5982\u679c\u4e0d\u8bbe\u7f6e\u56de\u8c03\u51fd\u6570\uff0cPromise \u94fe\u4e2d\u7684\u9519\u8bef\u5f88\u5bb9\u6613\u88ab\u5ffd\u7565\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u5355\u51b3\u8bae\uff1aPromise \u53ea\u80fd\u88ab\u51b3\u8bae\u4e00\u6b21\uff08\u5b8c\u6210\u6216\u62d2\u7edd\uff09\uff0c\u4e0d\u80fd\u5f88\u597d\u5730\u652f\u6301\u591a\u6b21\u89e6\u53d1\u7684\u4e8b\u4ef6\u53ca\u6570\u636e\u6d41\uff08\u652f\u6301\u7684",(0,l.kt)("a",{parentName:"li",href:"https://streams.spec.whatwg.org/"},"\u6807\u51c6"),"\u6b63\u5728\u5236\u5b9a\u4e2d\uff09\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u65e0\u6cd5\u83b7\u53d6\u72b6\u6001\uff1a\u5904\u4e8e Pending \u72b6\u6001\u65f6\uff0c\u65e0\u6cd5\u5f97\u77e5\u76ee\u524d\u8fdb\u5c55\u5230\u54ea\u4e00\u4e2a\u9636\u6bb5\uff08\u521a\u521a\u5f00\u59cb\u8fd8\u662f\u5373\u5c06\u5b8c\u6210\uff09\u3002"),(0,l.kt)("li",{parentName:"ol"},"\u65e0\u6cd5\u53d6\u6d88\uff1a\u4e00\u65e6\u521b\u5efa\u4e86 Promise \u5e76\u6ce8\u518c\u4e86\u5b8c\u6210/\u62d2\u7edd\u51fd\u6570\uff0c\u4e0d\u80fd\u53d6\u6d88\u6267\u884c\u3002")),(0,l.kt)("h3",{id:"5-\u751f\u6210\u5668-generator"},"5. \u751f\u6210\u5668 Generator"),(0,l.kt)("p",null,"Generator \u51fd\u6570\u662f ES6 \u63d0\u4f9b\u7684\u4e00\u79cd\u5f02\u6b65\u7f16\u7a0b\u89e3\u51b3\u65b9\u6848\uff0c\u8bed\u6cd5\u4e0e\u4f20\u7edf\u51fd\u6570\u5b8c\u5168\u4e0d\u540c\uff0c\u6700\u5927\u7684\u7279\u70b9\u5c31\u662f\u53ef\u4ee5\u63a7\u5236\u51fd\u6570\u7684\u6267\u884c\u3002\u7b80\u5355\u793a\u4f8b\u5982\u4e0b\uff1a"),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"function* helloHzfeGenerator() {\n yield \"hello\";\n yield \"hzfe\";\n return \"ending\";\n}\n\nvar hello = helloHzfeGenerator();\n\nhello.next();\n// { value: 'hello', done: false }\n\nhello.next();\n// { value: 'hzfe', done: false }\n\nhello.next();\n// { value: 'ending', done: true }\n\nhello.next();\n// { value: undefined, done: true }\n")),(0,l.kt)("p",null,"\u751f\u6210\u5668 Generator \u5e76\u4e0d\u50cf\u666e\u901a\u51fd\u6570\u90a3\u6837\u603b\u662f\u8fd0\u884c\u5230\u7ed3\u675f\uff0c\u53ef\u4ee5\u5728\u8fd0\u884c\u5f53\u4e2d\u901a\u8fc7 yield \u6765\u6682\u505c\u5e76\u5b8c\u5168\u4fdd\u6301\u5176\u72b6\u6001\uff0c\u518d\u901a\u8fc7 next \u6062\u590d\u8fd0\u884c\u3002yield/next \u4e0d\u53ea\u662f\u63a7\u5236\u673a\u5236\uff0c\u4e5f\u662f\u4e00\u79cd\u53cc\u5411\u6d88\u606f\u4f20\u9012\u673a\u5236\u3002yield \u8868\u8fbe\u5f0f\u672c\u8d28\u4e0a\u662f\u6682\u505c\u4e0b\u6765\u7b49\u5f85\u67d0\u4e2a\u503c\uff0cnext \u8c03\u7528\u4f1a\u5411\u88ab\u6682\u505c\u7684 yield \u8868\u8fbe\u5f0f\u4f20\u56de\u4e00\u4e2a\u503c\uff08\u6216\u8005\u662f\u9690\u5f0f\u7684 undefined\uff09\u3002"),(0,l.kt)("p",null,"\u751f\u6210\u5668 Generator \u4fdd\u6301\u4e86\u987a\u5e8f\u3001\u540c\u6b65\u3001\u963b\u585e\u7684\u4ee3\u7801\u6a21\u5f0f\uff0c\u540c\u6837\u89e3\u51b3\u4e86\u5f02\u6b65\u56de\u8c03\u7684\u95ee\u9898\u3002"),(0,l.kt)("h3",{id:"6-asyncawait"},"6. async/await"),(0,l.kt)("p",null,"async/await \u5c5e\u4e8e ",(0,l.kt)("a",{parentName:"p",href:"https://262.ecma-international.org/8.0/"},"ECMAScript 2017 JavaScript \u7248"),"\u7684\u4e00\u90e8\u5206\uff0c\u4f7f\u5f02\u6b65\u4ee3\u7801\u66f4\u6613\u4e8e\u7f16\u5199\u548c\u9605\u8bfb\u3002\u901a\u8fc7\u4f7f\u7528\u5b83\u4eec\uff0c\u5f02\u6b65\u4ee3\u7801\u770b\u8d77\u6765\u66f4\u50cf\u662f\u540c\u6b65\u4ee3\u7801\u3002\u5177\u6709\u5982\u4e0b\u7279\u70b9\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"async/await \u4e0d\u80fd\u7528\u4e8e\u666e\u901a\u7684\u56de\u8c03\u51fd\u6570\u3002"),(0,l.kt)("li",{parentName:"ol"},"async/await \u4e0e Promise \u4e00\u6837\uff0c\u662f\u975e\u963b\u585e\u7684\u3002"),(0,l.kt)("li",{parentName:"ol"},"async/await \u4f7f\u5f97\u5f02\u6b65\u4ee3\u7801\u770b\u8d77\u6765\u50cf\u540c\u6b65\u4ee3\u7801\u3002")),(0,l.kt)("p",null,"async/await \u4e5f\u5b58\u5728\u95ee\u9898\uff1aawait \u5173\u952e\u5b57\u4f1a\u963b\u585e\u5176\u540e\u7684\u4ee3\u7801\uff0c\u76f4\u5230 Promise \u5b8c\u6210\uff0c\u5c31\u50cf\u6267\u884c\u540c\u6b65\u64cd\u4f5c\u4e00\u6837\u3002\u5b83\u53ef\u4ee5\u5141\u8bb8\u5176\u4ed6\u4efb\u52a1\u5728\u6b64\u671f\u95f4\u7ee7\u7eed\u8fd0\u884c\uff0c\u4f46\u81ea\u5df1\u7684\u4ee3\u7801\u4f1a\u88ab\u963b\u585e\u3002\u89e3\u51b3\u65b9\u6848\u662f\u5c06 Promise \u5bf9\u8c61\u5b58\u50a8\u5728\u53d8\u91cf\u4e2d\u6765\u540c\u65f6\u5f00\u59cb\uff0c\u7136\u540e\u7b49\u5f85\u5b83\u4eec\u5168\u90e8\u6267\u884c\u5b8c\u6bd5\u3002\u5177\u4f53\u53c2\u7167 ",(0,l.kt)("a",{parentName:"p",href:"https://mdn.github.io/learning-area/javascript/asynchronous/async-await/fast-async-await.html"},"fast async await"),"\u3002\u5982\u679c\u5185\u90e8\u7684 await \u7b49\u5f85\u7684\u5f02\u6b65\u4efb\u52a1\u4e4b\u95f4\u6ca1\u6709\u4f9d\u8d56\u5173\u7cfb\uff0c\u4e14\u9700\u8981\u83b7\u53d6\u8fd9\u4e9b\u5f02\u6b65\u64cd\u4f5c\u7684\u7ed3\u679c\uff0c\u53ef\u4ee5\u4f7f\u7528 Promise.allSettled() \u540c\u65f6\u6267\u884c\u8fd9\u4e9b\u4efb\u52a1\u5e76\u83b7\u5f97\u7ed3\u679c\u3002"),(0,l.kt)("h3",{id:"7-web-worker"},"7. Web Worker"),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Web Worker \u4e3a JavaScript \u521b\u9020\u4e86\u591a\u7ebf\u7a0b\u73af\u5883"),"\uff0c\u5141\u8bb8\u4e3b\u7ebf\u7a0b\u521b\u5efa Worker \u7ebf\u7a0b\uff0c\u5c06\u4e00\u4e9b\u4efb\u52a1\u5206\u914d\u7ed9 Worker \u7ebf\u7a0b\u8fd0\u884c\uff0c\u5904\u7406\u5b8c\u540e\u53ef\u4ee5\u901a\u8fc7 postMessage \u5c06\u7ed3\u679c\u4f20\u9012\u7ed9\u4e3b\u7ebf\u7a0b\u3002\u4f18\u70b9\u5728\u4e8e\u53ef\u4ee5\u5728\u4e00\u4e2a\u5355\u72ec\u7684\u7ebf\u7a0b\u4e2d\u6267\u884c\u8d39\u65f6\u7684\u5904\u7406\u4efb\u52a1\uff0c\u4ece\u800c\u5141\u8bb8\u4e3b\u7ebf\u7a0b\u4e2d\u7684\u4efb\u52a1\uff08\u901a\u5e38\u662f UI\uff09\u8fd0\u884c\u4e0d\u88ab\u963b\u585e/\u653e\u6162\u3002"),(0,l.kt)("p",null,"\u4f7f\u7528 Web Worker \u65f6\u6709\u4ee5\u4e0b\u4e09\u70b9\u9700\u8981\u6ce8\u610f\u7684\u5730\u65b9\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"\u5728 Worker \u5185\u90e8\u65e0\u6cd5\u8bbf\u95ee\u4e3b\u7ebf\u7a0b\u7684\u4efb\u4f55\u8d44\u6e90"),"\uff0c\u5305\u62ec\u5168\u5c40\u53d8\u91cf\uff0c\u9875\u9762\u7684 DOM \u6216\u8005\u5176\u4ed6\u8d44\u6e90\uff0c\u56e0\u4e3a\u8fd9\u662f\u4e00\u4e2a\u5b8c\u5168\u72ec\u7acb\u7684\u7ebf\u7a0b\u3002"),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"Worker \u548c\u4e3b\u7ebf\u7a0b\u95f4\u7684\u6570\u636e\u4f20\u9012\u901a\u8fc7\u6d88\u606f\u673a\u5236\u8fdb\u884c"),"\u3002\u4f7f\u7528 postMessage \u65b9\u6cd5\u53d1\u9001\u6d88\u606f\uff1b\u4f7f\u7528 onmessage \u4e8b\u4ef6\u5904\u7406\u51fd\u6570\u6765\u54cd\u5e94\u6d88\u606f\u3002"),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("strong",{parentName:"li"},"Worker \u53ef\u4ee5\u521b\u5efa\u65b0\u7684 Worker\uff0c\u65b0\u7684 Worker \u548c\u7236\u9875\u9762\u540c\u6e90"),"\u3002Worker \u5728\u4f7f\u7528 XMLHttpRequest \u8fdb\u884c\u7f51\u7edc I/O \u65f6\uff0cXMLHttpRequest \u7684 responseXML \u548c channel \u5c5e\u6027\u4f1a\u8fd4\u56de null\u3002")),(0,l.kt)("p",null,"Web Worker \u4e3b\u8981\u5e94\u7528\u573a\u666f\uff1a"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},"\u5904\u7406\u5bc6\u96c6\u578b\u6570\u5b66\u8ba1\u7b97"),(0,l.kt)("li",{parentName:"ol"},"\u5927\u6570\u636e\u96c6\u6392\u5e8f"),(0,l.kt)("li",{parentName:"ol"},"\u6570\u636e\u5904\u7406\uff08\u538b\u7f29\uff0c\u97f3\u9891\u5206\u6790\uff0c\u56fe\u50cf\u5904\u7406\u7b49\uff09"),(0,l.kt)("li",{parentName:"ol"},"\u9ad8\u6d41\u91cf\u7f51\u7edc\u901a\u4fe1")),(0,l.kt)("h2",{id:"\u53c2\u8003\u8d44\u6599"},"\u53c2\u8003\u8d44\u6599"),(0,l.kt)("ol",null,(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/zh-CN/docs/Learn/JavaScript/Asynchronous"},"\u5f02\u6b65 JavaScript")),(0,l.kt)("li",{parentName:"ol"},(0,l.kt)("a",{parentName:"li",href:"https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API/Using_web_workers"},"\u4f7f\u7528 Web Worker"))))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.52f9823f.js b/assets/js/main.52f9823f.js new file mode 100644 index 0000000..2439b18 --- /dev/null +++ b/assets/js/main.52f9823f.js @@ -0,0 +1,2 @@ +/*! For license information please see main.52f9823f.js.LICENSE.txt */ +(self.webpackChunkjjbook=self.webpackChunkjjbook||[]).push([[179],{9782:function(e,t){"use strict";t.Z={title:"HZFE - \u5251\u6307\u524d\u7aef Offer",tagline:"\u5251\u6307\u524d\u7aef Offer",url:"https://febook.hzfe.org",baseUrl:"/awesome-interview/",onBrokenLinks:"throw",onBrokenMarkdownLinks:"warn",favicon:"img/favicon.ico",organizationName:"HZFE",projectName:"awesome-interview",trailingSlash:!1,themeConfig:{hideableSidebar:!0,colorMode:{defaultMode:"light",disableSwitch:!0,respectPrefersColorScheme:!1,switchConfig:{darkIcon:"\ud83c\udf1c",darkIconStyle:{},lightIcon:"\ud83c\udf1e",lightIconStyle:{}}},navbar:{hideOnScroll:!0,title:"\u5251\u6307\u524d\u7aef Offer",logo:{alt:"HZFE",src:"img/badge.svg"},items:[{href:"https://github.com/hzfe/awesome-interview",label:"GitHub",position:"right"}]},prism:{theme:{plain:{color:"#393A34",backgroundColor:"#f6f8fa"},styles:[{types:["comment","prolog","doctype","cdata"],style:{color:"#999988",fontStyle:"italic"}},{types:["namespace"],style:{opacity:.7}},{types:["string","attr-value"],style:{color:"#e3116c"}},{types:["punctuation","operator"],style:{color:"#393A34"}},{types:["entity","url","symbol","number","boolean","variable","constant","property","regex","inserted"],style:{color:"#36acaa"}},{types:["atrule","keyword","attr-name","selector"],style:{color:"#00a4db"}},{types:["function","deleted","tag"],style:{color:"#d73a49"}},{types:["function-variable"],style:{color:"#6f42c1"}},{types:["tag","selector","keyword"],style:{color:"#00009f"}}]},darkTheme:{plain:{color:"#F8F8F2",backgroundColor:"#282A36"},styles:[{types:["prolog","constant","builtin"],style:{color:"rgb(189, 147, 249)"}},{types:["inserted","function"],style:{color:"rgb(80, 250, 123)"}},{types:["deleted"],style:{color:"rgb(255, 85, 85)"}},{types:["changed"],style:{color:"rgb(255, 184, 108)"}},{types:["punctuation","symbol"],style:{color:"rgb(248, 248, 242)"}},{types:["string","char","tag","selector"],style:{color:"rgb(255, 121, 198)"}},{types:["keyword","variable"],style:{color:"rgb(189, 147, 249)",fontStyle:"italic"}},{types:["comment"],style:{color:"rgb(98, 114, 164)"}},{types:["attr-name"],style:{color:"rgb(241, 250, 140)"}}]},additionalLanguages:[]},utterances:{repo:"HZFE/awesome-interview","issue-term":"title",theme:"github-light"},algolia:{apiKey:"7f57c860f8b4c40d2618ecfc18686a07",indexName:"awesome-interview",contextualSearch:!1,appId:"BH4D9OD16A",searchParameters:{}},docs:{versionPersistence:"localStorage"},metadatas:[]},presets:[["@docusaurus/preset-classic",{docs:{sidebarPath:"/Users/aki/workspace/aki/jjbook/sidebars.js",routeBasePath:"/",docItemComponent:"/Users/aki/workspace/aki/jjbook/src/layout/DocItem.tsx"},theme:{customCss:"/Users/aki/workspace/aki/jjbook/src/css/custom.css"},sitemap:{changefreq:"weekly",priority:.5}}]],plugins:["/Users/aki/workspace/aki/jjbook/src/plugins/baidu-analytics"],baseUrlIssueBanner:!0,i18n:{defaultLocale:"en",locales:["en"],localeConfigs:{}},onDuplicateRoutes:"warn",customFields:{},themes:[],titleDelimiter:"|",noIndex:!1}},640:function(e,t,n){"use strict";var r=n(7294),o=n(3935),a=n(3727),i=n(2203),l=n.n(i),s=function(e){var t=e.error,n=e.retry,o=e.pastDelay;return t?r.createElement("div",{style:{align:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},r.createElement("p",null,t.message),r.createElement("div",null,r.createElement("button",{type:"button",onClick:n},"Retry"))):o?r.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},r.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},r.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},r.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),r.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),r.createElement("circle",{cx:"22",cy:"22",r:"8"},r.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null},u=JSON.parse('{"/awesome-interview/guide-822":{"component":"1f391b9e","content":"a757db9b"},"/awesome-interview/search-333":{"component":"7b60a092"},"/awesome-interview/tags-d02":{"component":"3720c009","tags":"55960ee5"},"/awesome-interview/-e55":{"component":"1be78505","versionMetadata":"935f2afb"},"/awesome-interview/-cc9":{"component":"bfa6c7fa","content":"e31563f4"},"/awesome-interview/about-d0a":{"component":"bfa6c7fa","content":"e2f5eafd"},"/awesome-interview/book1/algorithm-balanced-binary-trees-835":{"component":"bfa6c7fa","content":"90b799f4"},"/awesome-interview/book1/browser-cross-origin-b22":{"component":"bfa6c7fa","content":"e9fc5b99"},"/awesome-interview/book1/browser-repain-reflow-b6c":{"component":"bfa6c7fa","content":"b728f6fe"},"/awesome-interview/book1/coding-promise-9ad":{"component":"bfa6c7fa","content":"605371c8"},"/awesome-interview/book1/css-bfc-1c6":{"component":"bfa6c7fa","content":"57076a74"},"/awesome-interview/book1/engineer-webpack-workflow-815":{"component":"bfa6c7fa","content":"0ba2ede9"},"/awesome-interview/book1/frame-vue-computed-watch-d97":{"component":"bfa6c7fa","content":"216712ef"},"/awesome-interview/book1/frame-vue-data-binding-054":{"component":"bfa6c7fa","content":"520898ab"},"/awesome-interview/book1/js-closures-2bd":{"component":"bfa6c7fa","content":"8584d295"},"/awesome-interview/book1/js-module-specs-876":{"component":"bfa6c7fa","content":"b948ee85"},"/awesome-interview/book1/network-security-089":{"component":"bfa6c7fa","content":"99c95826"},"/awesome-interview/book1/topic-enter-url-display-xx-6cc":{"component":"bfa6c7fa","content":"e420c2e8"},"/awesome-interview/book2/algorithm-reverse-linked-list-be6":{"component":"bfa6c7fa","content":"6b1ae1c5"},"/awesome-interview/book2/browser-garbage-d64":{"component":"bfa6c7fa","content":"972d49dd"},"/awesome-interview/book2/browser-render-mechanism-2a5":{"component":"bfa6c7fa","content":"2ad5369a"},"/awesome-interview/book2/coding-throttle-debounce-0fb":{"component":"bfa6c7fa","content":"d9cd0856"},"/awesome-interview/book2/css-preprocessor-a06":{"component":"bfa6c7fa","content":"d9d15992"},"/awesome-interview/book2/engineer-babel-005":{"component":"bfa6c7fa","content":"6b15a8e7"},"/awesome-interview/book2/frame-react-fiber-5f9":{"component":"bfa6c7fa","content":"59da24a9"},"/awesome-interview/book2/frame-react-hoc-hooks-82b":{"component":"bfa6c7fa","content":"223d151b"},"/awesome-interview/book2/js-inherite-636":{"component":"bfa6c7fa","content":"5ba709b9"},"/awesome-interview/book2/js-new-9d3":{"component":"bfa6c7fa","content":"5cddde15"},"/awesome-interview/book2/network-http-cache-a6b":{"component":"bfa6c7fa","content":"d5444868"},"/awesome-interview/book2/topic-multi-pics-site-optimize-da7":{"component":"bfa6c7fa","content":"5825b5f0"},"/awesome-interview/book3/algorithm-binary-tree-k-88e":{"component":"bfa6c7fa","content":"312ed758"},"/awesome-interview/book3/browser-event-loop-7d2":{"component":"bfa6c7fa","content":"26d83c4c"},"/awesome-interview/book3/browser-memory-leaks-5d9":{"component":"bfa6c7fa","content":"f4f9ee34"},"/awesome-interview/book3/coding-arr-to-tree-d20":{"component":"bfa6c7fa","content":"667a1a38"},"/awesome-interview/book3/css-mobile-adaptive-be2":{"component":"bfa6c7fa","content":"31bf44dd"},"/awesome-interview/book3/engineer-webpack-loader-09c":{"component":"bfa6c7fa","content":"f930e7e8"},"/awesome-interview/book3/frame-diff-188":{"component":"bfa6c7fa","content":"da95f3d6"},"/awesome-interview/book3/frame-react-hooks-21b":{"component":"bfa6c7fa","content":"3bd79dc4"},"/awesome-interview/book3/js-async-773":{"component":"bfa6c7fa","content":"d4358da1"},"/awesome-interview/book3/js-ts-interface-type-b21":{"component":"bfa6c7fa","content":"7c39e10e"},"/awesome-interview/book3/network-http-1-2-4c0":{"component":"bfa6c7fa","content":"505fc875"},"/awesome-interview/book3/topic-white-screen-optimization-62c":{"component":"bfa6c7fa","content":"ab21f6e2"}}'),c={"0ba2ede9":[function(){return n.e(5722).then(n.bind(n,2681))},"@site/docs/book1/engineer-webpack-workflow.md",2681],"1be78505":[function(){return Promise.all([n.e(532),n.e(6159),n.e(5227),n.e(9727),n.e(9514)]).then(n.bind(n,8704))},"@theme/DocPage",8704],"1f391b9e":[function(){return Promise.all([n.e(532),n.e(6159),n.e(5227),n.e(9727),n.e(3085)]).then(n.bind(n,7979))},"@theme/MDXPage",7979],"216712ef":[function(){return n.e(7544).then(n.bind(n,4498))},"@site/docs/book1/frame-vue-computed-watch.md",4498],"223d151b":[function(){return n.e(7530).then(n.bind(n,6761))},"@site/docs/book2/frame-react-hoc-hooks.md",6761],"26d83c4c":[function(){return n.e(6695).then(n.bind(n,8070))},"@site/docs/book3/browser-event-loop.md",8070],"2ad5369a":[function(){return n.e(9500).then(n.bind(n,3997))},"@site/docs/book2/browser-render-mechanism.md",3997],"312ed758":[function(){return n.e(6099).then(n.bind(n,3581))},"@site/docs/book3/algorithm-binary-tree-k.md",3581],"31bf44dd":[function(){return n.e(7802).then(n.bind(n,7851))},"@site/docs/book3/css-mobile-adaptive.md",7851],"3720c009":[function(){return Promise.all([n.e(532),n.e(6159),n.e(5227),n.e(3751)]).then(n.bind(n,3316))},"@theme/DocTagsListPage",3316],"3bd79dc4":[function(){return n.e(1440).then(n.bind(n,2158))},"@site/docs/book3/frame-react-hooks.md",2158],"505fc875":[function(){return n.e(334).then(n.bind(n,8316))},"@site/docs/book3/network-http-1-2.md",8316],"520898ab":[function(){return n.e(6756).then(n.bind(n,8995))},"@site/docs/book1/frame-vue-data-binding.md",8995],"55960ee5":[function(){return n.e(4121).then(n.t.bind(n,7245,19))},"~docs/default/tags-list-current-prop-15a.json",7245],"57076a74":[function(){return n.e(8721).then(n.bind(n,1163))},"@site/docs/book1/css-bfc.md",1163],"5825b5f0":[function(){return n.e(5131).then(n.bind(n,6809))},"@site/docs/book2/topic-multi-pics-site-optimize.md",6809],"59da24a9":[function(){return n.e(5365).then(n.bind(n,585))},"@site/docs/book2/frame-react-fiber.md",585],"5ba709b9":[function(){return n.e(8765).then(n.bind(n,6109))},"@site/docs/book2/js-inherite.md",6109],"5cddde15":[function(){return n.e(9429).then(n.bind(n,741))},"@site/docs/book2/js-new.md",741],"605371c8":[function(){return n.e(2299).then(n.bind(n,7643))},"@site/docs/book1/coding-promise.md",7643],"667a1a38":[function(){return n.e(3253).then(n.bind(n,5838))},"@site/docs/book3/coding-arr-to-tree.md",5838],"6b15a8e7":[function(){return n.e(2617).then(n.bind(n,4189))},"@site/docs/book2/engineer-babel.md",4189],"6b1ae1c5":[function(){return n.e(6015).then(n.bind(n,5651))},"@site/docs/book2/algorithm-reverse-linked-list.md",5651],"7b60a092":[function(){return Promise.all([n.e(532),n.e(6159),n.e(5227),n.e(3467)]).then(n.bind(n,9343))},"/Users/aki/workspace/aki/jjbook/node_modules/@docusaurus/theme-search-algolia/src/theme/SearchPage/index.js",9343],"7c39e10e":[function(){return n.e(5582).then(n.bind(n,214))},"@site/docs/book3/js-ts-interface-type.md",214],"8584d295":[function(){return n.e(7259).then(n.bind(n,1251))},"@site/docs/book1/js-closures.md",1251],"90b799f4":[function(){return n.e(737).then(n.bind(n,3082))},"@site/docs/book1/algorithm-balanced-binary-trees.md",3082],"935f2afb":[function(){return n.e(53).then(n.t.bind(n,1109,19))},"~docs/default/version-current-metadata-prop-751.json",1109],"972d49dd":[function(){return n.e(2872).then(n.bind(n,7057))},"@site/docs/book2/browser-garbage.md",7057],"99c95826":[function(){return n.e(2575).then(n.bind(n,7136))},"@site/docs/book1/network-security.md",7136],a757db9b:[function(){return n.e(5851).then(n.bind(n,8455))},"@site/src/pages/guide.mdx",8455],ab21f6e2:[function(){return n.e(8670).then(n.bind(n,7565))},"@site/docs/book3/topic-white-screen-optimization.md",7565],b728f6fe:[function(){return n.e(5211).then(n.bind(n,2983))},"@site/docs/book1/browser-repain-reflow.md",2983],b948ee85:[function(){return n.e(6283).then(n.bind(n,3240))},"@site/docs/book1/js-module-specs.md",3240],bfa6c7fa:[function(){return Promise.all([n.e(532),n.e(6159),n.e(7198)]).then(n.bind(n,8499))},"/Users/aki/workspace/aki/jjbook/src/layout/DocItem.tsx",8499],d4358da1:[function(){return n.e(9591).then(n.bind(n,7345))},"@site/docs/book3/js-async.md",7345],d5444868:[function(){return n.e(5986).then(n.bind(n,1406))},"@site/docs/book2/network-http-cache.md",1406],d9cd0856:[function(){return n.e(6238).then(n.bind(n,2734))},"@site/docs/book2/coding-throttle-debounce.md",2734],d9d15992:[function(){return n.e(6686).then(n.bind(n,1047))},"@site/docs/book2/css-preprocessor.md",1047],da95f3d6:[function(){return n.e(1050).then(n.bind(n,9645))},"@site/docs/book3/frame-diff.md",9645],e2f5eafd:[function(){return n.e(9791).then(n.bind(n,5512))},"@site/docs/introduce.md",5512],e31563f4:[function(){return n.e(3280).then(n.bind(n,7074))},"@site/docs/preface.md",7074],e420c2e8:[function(){return n.e(3989).then(n.bind(n,2174))},"@site/docs/book1/topic-enter-url-display-xx.md",2174],e9fc5b99:[function(){return n.e(4051).then(n.bind(n,8423))},"@site/docs/book1/browser-cross-origin.md",8423],f4f9ee34:[function(){return n.e(4109).then(n.bind(n,7489))},"@site/docs/book3/browser-memory-leaks.md",7489],f930e7e8:[function(){return n.e(6553).then(n.bind(n,1503))},"@site/docs/book3/engineer-webpack-loader.md",1503]};var d=function(e){var t={};return function e(n,r){Object.keys(n).forEach((function(o){var a=n[o],i=r?r+"."+o:o;"object"===typeof a&&!!a&&Object.keys(a).length?e(a,i):t[i]=a}))}(e),t};var f=function(e,t){if("*"===e)return l()({loading:s,loader:function(){return Promise.all([n.e(532),n.e(6159),n.e(5227),n.e(4608)]).then(n.bind(n,4608))}});var o=u[e+"-"+t],a=[],i=[],f={},p=d(o);return Object.keys(p).forEach((function(e){var t=c[p[e]];t&&(f[e]=t[0],a.push(t[1]),i.push(t[2]))})),l().Map({loading:s,loader:f,modules:a,webpack:function(){return i},render:function(e,t){var n=JSON.parse(JSON.stringify(o));Object.keys(e).forEach((function(t){for(var r=n,o=t.split("."),a=0;a1?t-1:0),r=1;r\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = '+e+" "+("/"===e?" (default value)":"")+'

\n

We suggest trying baseUrl =

\n\n'}(e)).replace(/=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n},H=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},V=function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return!1===t?String(e):String(e).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")},W=function(e){var t=X(e,y.TITLE),n=X(e,F);if(n&&t)return n.replace(/%s/g,(function(){return Array.isArray(t)?t.join(""):t}));var r=X(e,L);return t||r||void 0},Z=function(e){return X(e,D)||function(){}},Y=function(e,t){return t.filter((function(t){return void 0!==t[e]})).map((function(t){return t[e]})).reduce((function(e,t){return G({},e,t)}),{})},K=function(e,t){return t.filter((function(e){return void 0!==e[y.BASE]})).map((function(e){return e[y.BASE]})).reverse().reduce((function(t,n){if(!t.length)for(var r=Object.keys(n),o=0;o=0;n--){var r=e[n];if(r.hasOwnProperty(t))return r[t]}return null},J=(r=Date.now(),function(e){var t=Date.now();t-r>16?(r=t,e(t)):setTimeout((function(){J(e)}),0)}),ee=function(e){return clearTimeout(e)},te="undefined"!=typeof window?window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||J:n.g.requestAnimationFrame||J,ne="undefined"!=typeof window?window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||ee:n.g.cancelAnimationFrame||ee,re=function(e){return console&&"function"==typeof console.warn&&console.warn(e)},oe=null,ae=function(e,t){var n=e.baseTag,r=e.bodyAttributes,o=e.htmlAttributes,a=e.linkTags,i=e.metaTags,l=e.noscriptTags,s=e.onChangeClientState,u=e.scriptTags,c=e.styleTags,d=e.title,f=e.titleAttributes;se(y.BODY,r),se(y.HTML,o),le(d,f);var p={baseTag:ue(y.BASE,n),linkTags:ue(y.LINK,a),metaTags:ue(y.META,i),noscriptTags:ue(y.NOSCRIPT,l),scriptTags:ue(y.SCRIPT,u),styleTags:ue(y.STYLE,c)},m={},h={};Object.keys(p).forEach((function(e){var t=p[e],n=t.newTags,r=t.oldTags;n.length&&(m[e]=n),r.length&&(h[e]=p[e].oldTags)})),t&&t(),s(e,m,h)},ie=function(e){return Array.isArray(e)?e.join(""):e},le=function(e,t){void 0!==e&&document.title!==e&&(document.title=ie(e)),se(y.TITLE,t)},se=function(e,t){var n=document.getElementsByTagName(e)[0];if(n){for(var r=n.getAttribute(B),o=r?r.split(","):[],a=[].concat(o),i=Object.keys(t),l=0;l=0;d--)n.removeAttribute(a[d]);o.length===a.length?n.removeAttribute(B):n.getAttribute(B)!==i.join(",")&&n.setAttribute(B,i.join(","))}},ue=function(e,t){var n=document.head||document.querySelector(y.HEAD),r=n.querySelectorAll(e+"["+"data-react-helmet]"),o=Array.prototype.slice.call(r),a=[],i=void 0;return t&&t.length&&t.forEach((function(t){var n=document.createElement(e);for(var r in t)if(t.hasOwnProperty(r))if(r===x)n.innerHTML=t.innerHTML;else if(r===k)n.styleSheet?n.styleSheet.cssText=t.cssText:n.appendChild(document.createTextNode(t.cssText));else{var l=void 0===t[r]?"":t[r];n.setAttribute(r,l)}n.setAttribute(B,"true"),o.some((function(e,t){return i=t,n.isEqualNode(e)}))?o.splice(i,1):a.push(n)})),o.forEach((function(e){return e.parentNode.removeChild(e)})),a.forEach((function(e){return n.appendChild(e)})),{oldTags:o,newTags:a}},ce=function(e){return Object.keys(e).reduce((function(t,n){var r=void 0!==e[n]?n+'="'+e[n]+'"':""+n;return t?t+" "+r:r}),"")},de=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[R[n]||n]=e[n],t}),t)},fe=function(e,t,n){switch(e){case y.TITLE:return{toComponent:function(){return e=t.title,n=t.titleAttributes,(r={key:e})[B]=!0,o=de(n,r),[l.createElement(y.TITLE,o,e)];var e,n,r,o},toString:function(){return function(e,t,n,r){var o=ce(n),a=ie(t);return o?"<"+e+' data-react-helmet="true" '+o+">"+V(a,r)+"":"<"+e+' data-react-helmet="true">'+V(a,r)+""}(e,t.title,t.titleAttributes,n)}};case g:case b:return{toComponent:function(){return de(t)},toString:function(){return ce(t)}};default:return{toComponent:function(){return function(e,t){return t.map((function(t,n){var r,o=((r={key:n})[B]=!0,r);return Object.keys(t).forEach((function(e){var n=R[e]||e;if(n===x||n===k){var r=t.innerHTML||t.cssText;o.dangerouslySetInnerHTML={__html:r}}else o[n]=t[e]})),l.createElement(e,o)}))}(e,t)},toString:function(){return function(e,t,n){return t.reduce((function(t,r){var o=Object.keys(r).filter((function(e){return!(e===x||e===k)})).reduce((function(e,t){var o=void 0===r[t]?t:t+'="'+V(r[t],n)+'"';return e?e+" "+o:o}),""),a=r.innerHTML||r.cssText||"",i=-1===M.indexOf(e);return t+"<"+e+' data-react-helmet="true" '+o+(i?"/>":">"+a+"")}),"")}(e,t,n)}}}},pe=function(e){var t=e.baseTag,n=e.bodyAttributes,r=e.encode,o=e.htmlAttributes,a=e.linkTags,i=e.metaTags,l=e.noscriptTags,s=e.scriptTags,u=e.styleTags,c=e.title,d=void 0===c?"":c,f=e.titleAttributes;return{base:fe(y.BASE,t,r),bodyAttributes:fe(g,n,r),htmlAttributes:fe(b,o,r),link:fe(y.LINK,a,r),meta:fe(y.META,i,r),noscript:fe(y.NOSCRIPT,l,r),script:fe(y.SCRIPT,s,r),style:fe(y.STYLE,u,r),title:fe(y.TITLE,{title:d,titleAttributes:f},r)}},me=d()((function(e){return{baseTag:K([S,P],e),bodyAttributes:Y(g,e),defer:X(e,N),encode:X(e,I),htmlAttributes:Y(b,e),linkTags:Q(y.LINK,[O,S],e),metaTags:Q(y.META,[C,w,E,_,T],e),noscriptTags:Q(y.NOSCRIPT,[x],e),onChangeClientState:Z(e),scriptTags:Q(y.SCRIPT,[A,x],e),styleTags:Q(y.STYLE,[k],e),title:W(e),titleAttributes:Y(v,e)}}),(function(e){oe&&ne(oe),e.defer?oe=te((function(){ae(e,(function(){oe=null}))})):(ae(e),oe=null)}),pe)((function(){return null})),he=(o=me,i=a=function(e){function t(){return U(this,t),H(this,e.apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),t.prototype.shouldComponentUpdate=function(e){return!p()(this.props,e)},t.prototype.mapNestedChildrenToProps=function(e,t){if(!t)return null;switch(e.type){case y.SCRIPT:case y.NOSCRIPT:return{innerHTML:t};case y.STYLE:return{cssText:t}}throw new Error("<"+e.type+" /> elements are self-closing and can not contain children. Refer to our API for more information.")},t.prototype.flattenArrayTypeChildren=function(e){var t,n=e.child,r=e.arrayTypeChildren,o=e.newChildProps,a=e.nestedChildren;return G({},r,((t={})[n.type]=[].concat(r[n.type]||[],[G({},o,this.mapNestedChildrenToProps(n,a))]),t))},t.prototype.mapObjectTypeChildren=function(e){var t,n,r=e.child,o=e.newProps,a=e.newChildProps,i=e.nestedChildren;switch(r.type){case y.TITLE:return G({},o,((t={})[r.type]=i,t.titleAttributes=G({},a),t));case y.BODY:return G({},o,{bodyAttributes:G({},a)});case y.HTML:return G({},o,{htmlAttributes:G({},a)})}return G({},o,((n={})[r.type]=G({},a),n))},t.prototype.mapArrayTypeChildrenToProps=function(e,t){var n=G({},t);return Object.keys(e).forEach((function(t){var r;n=G({},n,((r={})[t]=e[t],r))})),n},t.prototype.warnOnInvalidChildren=function(e,t){return!0},t.prototype.mapChildrenToProps=function(e,t){var n=this,r={};return l.Children.forEach(e,(function(e){if(e&&e.props){var o=e.props,a=o.children,i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Object.keys(e).reduce((function(t,n){return t[j[n]||n]=e[n],t}),t)}(q(o,["children"]));switch(n.warnOnInvalidChildren(e,a),e.type){case y.LINK:case y.META:case y.NOSCRIPT:case y.SCRIPT:case y.STYLE:r=n.flattenArrayTypeChildren({child:e,arrayTypeChildren:r,newChildProps:i,nestedChildren:a});break;default:t=n.mapObjectTypeChildren({child:e,newProps:t,newChildProps:i,nestedChildren:a})}}})),t=this.mapArrayTypeChildrenToProps(r,t)},t.prototype.render=function(){var e=this.props,t=e.children,n=q(e,["children"]),r=G({},n);return t&&(r=this.mapChildrenToProps(t,r)),l.createElement(o,r)},$(t,null,[{key:"canUseDOM",set:function(e){o.canUseDOM=e}}]),t}(l.Component),a.propTypes={base:u().object,bodyAttributes:u().object,children:u().oneOfType([u().arrayOf(u().node),u().node]),defaultTitle:u().string,defer:u().bool,encodeSpecialCharacters:u().bool,htmlAttributes:u().object,link:u().arrayOf(u().object),meta:u().arrayOf(u().object),noscript:u().arrayOf(u().object),onChangeClientState:u().func,script:u().arrayOf(u().object),style:u().arrayOf(u().object),title:u().string,titleAttributes:u().object,titleTemplate:u().string},a.defaultProps={defer:!0,encodeSpecialCharacters:!0},a.peek=o.peek,a.rewind=function(){var e=o.rewind();return e||(e=pe({baseTag:[],bodyAttributes:{},encodeSpecialCharacters:!0,htmlAttributes:{},linkTags:[],metaTags:[],noscriptTags:[],scriptTags:[],styleTags:[],title:"",titleAttributes:{}})),e},i);he.renderStatic=he.rewind;var ge=function(e){return l.createElement(he,Object.assign({},e))}},9913:function(e,t,n){"use strict";n.d(t,{_:function(){return o},t:function(){return a}});var r=n(7294),o=r.createContext(!1);function a(e){var t=e.children,n=(0,r.useState)(!1),a=n[0],i=n[1];return(0,r.useEffect)((function(){i(!0)}),[]),r.createElement(o.Provider,{value:a},t)}},5757:function(e,t,n){"use strict";n.d(t,{_:function(){return c},M:function(){return d}});var r=n(7294),o=n(9782),a=JSON.parse('{"docusaurus-plugin-content-docs":{"default":{"path":"/awesome-interview/","versions":[{"name":"current","label":"Next","isLast":true,"path":"/awesome-interview/","mainDocId":"preface","docs":[{"id":"book1/algorithm-balanced-binary-trees","path":"/awesome-interview/book1/algorithm-balanced-binary-trees","sidebar":"tutorialSidebar"},{"id":"book1/browser-cross-origin","path":"/awesome-interview/book1/browser-cross-origin","sidebar":"tutorialSidebar"},{"id":"book1/browser-repain-reflow","path":"/awesome-interview/book1/browser-repain-reflow","sidebar":"tutorialSidebar"},{"id":"book1/coding-promise","path":"/awesome-interview/book1/coding-promise","sidebar":"tutorialSidebar"},{"id":"book1/css-bfc","path":"/awesome-interview/book1/css-bfc","sidebar":"tutorialSidebar"},{"id":"book1/engineer-webpack-workflow","path":"/awesome-interview/book1/engineer-webpack-workflow","sidebar":"tutorialSidebar"},{"id":"book1/frame-vue-computed-watch","path":"/awesome-interview/book1/frame-vue-computed-watch","sidebar":"tutorialSidebar"},{"id":"book1/frame-vue-data-binding","path":"/awesome-interview/book1/frame-vue-data-binding","sidebar":"tutorialSidebar"},{"id":"book1/js-closures","path":"/awesome-interview/book1/js-closures","sidebar":"tutorialSidebar"},{"id":"book1/js-module-specs","path":"/awesome-interview/book1/js-module-specs","sidebar":"tutorialSidebar"},{"id":"book1/network-security","path":"/awesome-interview/book1/network-security","sidebar":"tutorialSidebar"},{"id":"book1/topic-enter-url-display-xx","path":"/awesome-interview/book1/topic-enter-url-display-xx","sidebar":"tutorialSidebar"},{"id":"book2/algorithm-reverse-linked-list","path":"/awesome-interview/book2/algorithm-reverse-linked-list","sidebar":"tutorialSidebar"},{"id":"book2/browser-garbage","path":"/awesome-interview/book2/browser-garbage","sidebar":"tutorialSidebar"},{"id":"book2/browser-render-mechanism","path":"/awesome-interview/book2/browser-render-mechanism","sidebar":"tutorialSidebar"},{"id":"book2/coding-throttle-debounce","path":"/awesome-interview/book2/coding-throttle-debounce","sidebar":"tutorialSidebar"},{"id":"book2/css-preprocessor","path":"/awesome-interview/book2/css-preprocessor","sidebar":"tutorialSidebar"},{"id":"book2/engineer-babel","path":"/awesome-interview/book2/engineer-babel","sidebar":"tutorialSidebar"},{"id":"book2/frame-react-fiber","path":"/awesome-interview/book2/frame-react-fiber","sidebar":"tutorialSidebar"},{"id":"book2/frame-react-hoc-hooks","path":"/awesome-interview/book2/frame-react-hoc-hooks","sidebar":"tutorialSidebar"},{"id":"book2/js-inherite","path":"/awesome-interview/book2/js-inherite","sidebar":"tutorialSidebar"},{"id":"book2/js-new","path":"/awesome-interview/book2/js-new","sidebar":"tutorialSidebar"},{"id":"book2/network-http-cache","path":"/awesome-interview/book2/network-http-cache","sidebar":"tutorialSidebar"},{"id":"book2/topic-multi-pics-site-optimize","path":"/awesome-interview/book2/topic-multi-pics-site-optimize","sidebar":"tutorialSidebar"},{"id":"book3/algorithm-binary-tree-k","path":"/awesome-interview/book3/algorithm-binary-tree-k","sidebar":"tutorialSidebar"},{"id":"book3/browser-event-loop","path":"/awesome-interview/book3/browser-event-loop","sidebar":"tutorialSidebar"},{"id":"book3/browser-memory-leaks","path":"/awesome-interview/book3/browser-memory-leaks","sidebar":"tutorialSidebar"},{"id":"book3/coding-arr-to-tree","path":"/awesome-interview/book3/coding-arr-to-tree","sidebar":"tutorialSidebar"},{"id":"book3/css-mobile-adaptive","path":"/awesome-interview/book3/css-mobile-adaptive","sidebar":"tutorialSidebar"},{"id":"book3/engineer-webpack-loader","path":"/awesome-interview/book3/engineer-webpack-loader","sidebar":"tutorialSidebar"},{"id":"book3/frame-diff","path":"/awesome-interview/book3/frame-diff","sidebar":"tutorialSidebar"},{"id":"book3/frame-react-hooks","path":"/awesome-interview/book3/frame-react-hooks","sidebar":"tutorialSidebar"},{"id":"book3/js-async","path":"/awesome-interview/book3/js-async","sidebar":"tutorialSidebar"},{"id":"book3/js-ts-interface-type","path":"/awesome-interview/book3/js-ts-interface-type","sidebar":"tutorialSidebar"},{"id":"book3/network-http-1-2","path":"/awesome-interview/book3/network-http-1-2","sidebar":"tutorialSidebar"},{"id":"book3/topic-white-screen-optimization","path":"/awesome-interview/book3/topic-white-screen-optimization","sidebar":"tutorialSidebar"},{"id":"introduce","path":"/awesome-interview/about","sidebar":"tutorialSidebar"},{"id":"preface","path":"/awesome-interview/","sidebar":"tutorialSidebar"}]}]}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"currentLocale":"en","localeConfigs":{"en":{"label":"en","direction":"ltr"}}}'),l=n(7529),s=JSON.parse('{"docusaurusVersion":"2.0.0-beta.5","siteVersion":"1.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.0.0-beta.5"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.0.0-beta.5"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.0.0-beta.5"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.0.0-beta.5"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.0.0-beta.5"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.0.0-beta.5"},"docusaurus-plugin-baidu-analytics":{"type":"project"}}}'),u={siteConfig:o.Z,siteMetadata:s,globalData:a,i18n:i,codeTranslations:l},c=r.createContext(u);function d(e){var t=e.children;return r.createElement(c.Provider,{value:u},t)}},6291:function(e,t,n){"use strict";var r=n(8790);t.Z=r.H},2263:function(e,t,n){"use strict";var r=n(7294),o=n(5757);t.Z=function(){return(0,r.useContext)(o._)}},2203:function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}function o(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(){return(i=Object.assign||function(e){for(var t=1;t=0;f--){var p=i[f];"."===p?a(i,f):".."===p?(a(i,f),d++):d&&(a(i,f),d--)}if(!u)for(;d--;d)i.unshift("..");!u||""===i[0]||i[0]&&o(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};function l(e){return e.valueOf?e.valueOf():Object.prototype.valueOf.call(e)}var s=function e(t,n){if(t===n)return!0;if(null==t||null==n)return!1;if(Array.isArray(t))return Array.isArray(n)&&t.length===n.length&&t.every((function(t,r){return e(t,n[r])}));if("object"==typeof t||"object"==typeof n){var r=l(t),o=l(n);return r!==t||o!==n?e(r,o):Object.keys(Object.assign({},t,n)).every((function(r){return e(t[r],n[r])}))}return!1},u=n(2177);function c(e){return"/"===e.charAt(0)?e:"/"+e}function d(e){return"/"===e.charAt(0)?e.substr(1):e}function f(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function m(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function h(e,t,n,o){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(a=(0,r.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(l){throw l instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):l}return n&&(a.key=n),o?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,o.pathname)):a.pathname=o.pathname:a.pathname||(a.pathname="/"),a}function g(e,t){return e.pathname===t.pathname&&e.search===t.search&&e.hash===t.hash&&e.key===t.key&&s(e.state,t.state)}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof r?r(a,o):o(!0):o(!1!==a)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,o):n.push(o),d({action:r,location:o,index:t,entries:n})}}))},replace:function(e,t){var r="REPLACE",o=h(e,t,f(),w.location);c.confirmTransitionTo(o,r,n,(function(e){e&&(w.entries[w.index]=o,d({action:r,location:o}))}))},go:y,goBack:function(){y(-1)},goForward:function(){y(1)},canGo:function(e){var t=w.index+e;return t>=0&&t
'};function o(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var o;return(o="translate3d"===r.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===r.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,o}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(r[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=o(e,r.minimum,1),n.status=1===e?null:e;var a=n.render(!t),u=a.querySelector(r.barSelector),c=r.speed,d=r.easing;return a.offsetWidth,l((function(t){""===r.positionUsing&&(r.positionUsing=n.getPositioningCSS()),s(u,i(e,c,d)),1===e?(s(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){s(a,{transition:"all "+c+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),c)}),c)):setTimeout(t,c)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),r.trickleSpeed)};return r.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*r.trickleRate)},e=0,t=0,n.promise=function(r){return r&&"resolved"!==r.state()?(0===t&&n.start(),e++,t++,r.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");c(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=r.template;var o,i=t.querySelector(r.barSelector),l=e?"-100":a(n.status||0),u=document.querySelector(r.parent);return s(i,{transition:"all 0 linear",transform:"translate3d("+l+"%,0,0)"}),r.showSpinner||(o=t.querySelector(r.spinnerSelector))&&p(o),u!=document.body&&c(u,"nprogress-custom-parent"),u.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(r.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&p(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var l=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),s=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function r(t){var n=document.body.style;if(t in n)return t;for(var r,o=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((r=e[o]+a)in n)return r;return t}function o(e){return e=n(e),t[e]||(t[e]=r(e))}function a(e,t,n){t=o(t),e.style[t]=n}return function(e,t){var n,r,o=arguments;if(2==o.length)for(n in t)void 0!==(r=t[n])&&t.hasOwnProperty(n)&&a(e,n,r);else a(e,o[1],o[2])}}();function u(e,t){return("string"==typeof e?e:f(e)).indexOf(" "+t+" ")>=0}function c(e,t){var n=f(e),r=n+t;u(n,t)||(e.className=r.substring(1))}function d(e,t){var n,r=f(e);u(e,t)&&(n=r.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function f(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function p(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n})?r.call(t,n,t,e):r)||(e.exports=o)},7418:function(e){"use strict";var t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;function o(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,a){for(var i,l,s=o(e),u=1;ue.length)return;if(!(k instanceof s)){if(h&&y!=t.length-1){if(f.lastIndex=w,!(_=f.exec(e)))break;for(var S=_.index+(m?_[1].length:0),E=_.index+_[0].length,x=y,T=w,C=t.length;x=(T+=t[x].length)&&(++y,w=T);if(t[y]instanceof s)continue;O=x-y,k=e.slice(w,T),_.index-=w}else{f.lastIndex=0;var _=f.exec(k),O=1}if(_){m&&(g=_[1]?_[1].length:0),E=(S=_.index+g)+(_=_[0].slice(g)).length;var A=k.slice(0,S),P=k.slice(E),R=[y,O];A&&(++y,w+=A.length,R.push(A));var L=new s(u,p?r.tokenize(_,p):_,b,_,h);if(R.push(L),P&&R.push(P),Array.prototype.splice.apply(t,R),1!=O&&r.matchGrammar(e,t,n,y,w,!0,u),i)break}else if(i)break}}}}},hooks:{add:function(){},run:function(e,t){}},tokenize:function(e,t,n){var o=[e],a=t.rest;if(a){for(var i in a)t[i]=a[i];delete t.rest}return r.matchGrammar(e,o,t,0,0,!1),o}},(o=r.Token=function(e,t,n,r,o){this.type=e,this.content=t,this.alias=n,this.length=0|(r||"").length,this.greedy=!!o}).stringify=function(e,t,n){if("string"==typeof e)return e;if("Array"===r.util.type(e))return e.map((function(n){return o.stringify(n,t,e)})).join("");var a={type:e.type,content:o.stringify(e.content,t,n),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:n};if(e.alias){var i="Array"===r.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(a.classes,i)}var l=Object.keys(a.attributes).map((function(e){return e+'="'+(a.attributes[e]||"").replace(/"/g,""")+'"'})).join(" ");return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+(l?" "+l:"")+">"+a.content+""},r);a.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},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(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(a.languages.markup.tag,"addInlined",{value:function(e,t){var n={};n["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:a.languages[t]},n.cdata=/^$/i;var r={"included-cdata":{pattern://i,inside:n}};r["language-"+t]={pattern:/[\s\S]+/,inside:a.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:r},a.languages.insertBefore("markup","cdata",o)}}),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(e){var t="\\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",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),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("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.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+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|(?!\2)[^\\`$])*\2/,lookbehind:!0,greedy:!0,inside:r}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|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|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|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|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|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|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|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;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\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}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],a=r.variable[1].inside,i=0;i]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},a.languages.c=a.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,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(?:__attribute__|_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,function:/[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|[?:~]|[-+*/%&|^!=<>]=?/}),a.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},a.languages.c.string],comment:a.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:a.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete a.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/;e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore("cpp","string",{"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","operator",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(a),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\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\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),e.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:e.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},n.tag))}(a),function(e){var t,n=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+n.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[n,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+\b)/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#(?:[\da-f]{1,2}){3,4}\b/i,alias:"color"},color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:o})}(a),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])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|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:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),a.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,a.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:a.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"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:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,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",{"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]+/}}}),a.languages.markup&&a.languages.markup.tag.addInlined("script","javascript"),a.languages.js=a.languages.javascript,function(e){var t=e.util.clone(e.languages.javascript);e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=/<\/?(?:[\w.:-]+(?:\s+(?:[\w.:$-]+(?:=(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s{'">=]+|\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\}))?|\{\s*\.{3}\s*[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\s*\}))*\s*\/?)?>/i,e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s'">]+)/i,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.insertBefore("inside","attr-name",{spread:{pattern:/\{\s*\.{3}\s*[a-z_$][\w$]*(?:\.[a-z_$][\w$]*)*\s*\}/,inside:{punctuation:/\.{3}|[{}.]/,"attr-value":/\w+/}}},e.languages.jsx.tag),e.languages.insertBefore("inside","attr-value",{script:{pattern:/=(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])+\})/i,inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:e.languages.jsx},alias:"language-javascript"}},e.languages.jsx.tag);var n=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(n).join(""):""},r=function(t){for(var o=[],a=0;a0&&o[o.length-1].tagName===n(i.content[0].content[1])&&o.pop():"/>"===i.content[i.content.length-1].content||o.push({tagName:n(i.content[0].content[1]),openedBraces:0}):o.length>0&&"punctuation"===i.type&&"{"===i.content?o[o.length-1].openedBraces++:o.length>0&&o[o.length-1].openedBraces>0&&"punctuation"===i.type&&"}"===i.content?o[o.length-1].openedBraces--:l=!0),(l||"string"==typeof i)&&o.length>0&&0===o[o.length-1].openedBraces){var s=n(i);a0&&("string"==typeof t[a-1]||"plain-text"===t[a-1].type)&&(s=n(t[a-1])+s,t.splice(a-1,1),a--),t[a]=new e.Token("plain-text",s,null,s)}i.content&&"string"!=typeof i.content&&r(i.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||r(e.tokens)}))}(a),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:(?:Uint|Int)(?:8|16|32)|Uint8Clamped|Float(?:32|64))?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|(?:Weak)?(?:Set|Map)|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|for|finally|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|location|navigator|performance|(?:local|session)Storage|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(n){var r=t[n],o=[];/^\w+$/.test(n)||o.push(/\w+/.exec(n)[0]),"diff"===n&&o.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(a),a.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/m,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/m}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},a.languages.go=a.languages.extend("clike",{string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,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(?:_|iota|nil|true|false)\b/,number:/(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/}),delete a.languages.go["class-name"],a.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:a.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:true|false)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*)[a-zA-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,punctuation:/[!(){}\[\]:=,]/,constant:/\b(?!ID\b)[A-Z][A-Z_\d]*\b/},function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,o,a){if(n.language===r){var i=n.tokenStack=[];n.code=n.code.replace(o,(function(e){if("function"==typeof a&&!a(e))return e;for(var o,l=i.length;-1!==n.code.indexOf(o=t(r,l));)++l;return i[l]=e,o})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language===r&&n.tokenStack){n.grammar=e.languages[r];var o=0,a=Object.keys(n.tokenStack);!function i(l){for(var s=0;s=a.length);s++){var u=l[s];if("string"==typeof u||u.content&&"string"==typeof u.content){var c=a[o],d=n.tokenStack[c],f="string"==typeof u?u:u.content,p=t(r,c),m=f.indexOf(p);if(m>-1){++o;var h=f.substring(0,m),g=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),b=f.substring(m+p.length),v=[];h&&v.push.apply(v,i([h])),v.push(g),b&&v.push.apply(v,i([b])),"string"==typeof u?l.splice.apply(l,[s,1].concat(v)):u.content=v}}else u.content&&i(u.content)}return l}(n.tokens)}}}})}(a),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/i,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:true|false)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/i,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")}))}(a),a.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},a.languages.webmanifest=a.languages.json,a.languages.less=a.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),a.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),a.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))/.source;function n(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return r})),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"font-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~))+?\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike"].forEach((function(n){t!==n&&(e.languages.markdown[t].inside.content.inside[n]=e.languages.markdown[n])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var n=0,r=t.length;n]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete a.languages.objectivec["class-name"],a.languages.objc=a.languages.objectivec,a.languages.ocaml={comment:/\(\*[\s\S]*?\*\)/,string:[{pattern:/"(?:\\.|[^\\\r\n"])*"/,greedy:!0},{pattern:/(['`])(?:\\(?:\d+|x[\da-f]+|.)|(?!\1)[^\\\r\n])\1/i,greedy:!0}],number:/\b(?:0x[\da-f][\da-f_]+|(?:0[bo])?\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?[\d_]+)?)/i,directive:{pattern:/\B#\w+/,alias:"important"},label:{pattern:/\B~\w+/,alias:"function"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"variable"},module:{pattern:/\b[A-Z]\w+/,alias:"variable"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,operator:/:=|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/[(){}\[\]|.,:;]|\b_\b/},a.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\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]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\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:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|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(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},a.languages.python["string-interpolation"].inside.interpolation.inside.rest=a.languages.python,a.languages.py=a.languages.python,a.languages.reason=a.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:mod|land|lor|lxor|lsl|lsr|asr)\b/}),a.languages.insertBefore("reason","class-name",{character:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,alias:"string"},constructor:{pattern:/\b[A-Z]\w*\b(?!\s*\.)/,alias:"variable"},label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete a.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/,lookbehind:!0}})}(a),a.languages.scss=a.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),a.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\b/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),a.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),a.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|with|show|hide)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),a.languages.scss.atrule.inside.rest=a.languages.scss,a.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},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(?:_INSERT|COL)?|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(?:S|ING)?|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(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|IN|LIKE|NOT|OR|IS|DIV|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/url\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:if|else|for|return|unless)(?=\s+|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:rgb|hsl)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:rgb|hsl)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:true|false)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^{|}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^\s*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:if|else|for|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,](?=$)(?!(?:\r?\n|\r)(?:\{|\2[ \t]+)))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t]+)))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(a),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(a),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t);var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(a),a.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^_`|~]+/i,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/},function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),a=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function i(e,t){t=(t||"").replace(/m/g,"")+"m";var n=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|]|}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return e}));return RegExp(n,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return r}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return r})).replace(/<>/g,(function(){return"(?:"+o+"|"+a+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:i(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:i(/true|false/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:i(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:i(a),lookbehind:!0,greedy:!0},number:{pattern:i(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(a),t.Z=a},9901:function(e){e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},bash:{title:"Bash",alias:"shell",aliasTitles:{shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},go:{title:"Go",require:"clike",owner:"arnehormann"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:"hbs",owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},http:{title:"HTTP",optional:["css","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},matlab:{title:"MATLAB",owner:"Golmote"},mel:{title:"MEL",owner:"Golmote"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",owner:"Golmote"},scss:{title:"Sass (Scss)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},swift:{title:"Swift",require:"clike",owner:"chrischares"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword matched in the code. For example, the keyword if will have the class keyword-if as well. You can have fine grained control over the appearance of each keyword by providing your own CSS rules.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:function(e,t,n){const r=n(9901),o=n(9642),a=new Set;function i(e){void 0===e?e=Object.keys(r.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...a,...Object.keys(Prism.languages)];o(r,e,t).load((e=>{if(!(e in r.languages))return void(i.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete n.c[n(6500).resolve(t)],delete Prism.languages[e],n(6500)(t),a.add(e)}))}i.silent=!1,e.exports=i},6500:function(e,t,n){var r={"./":2885};function o(e){var t=a(e);return n(t)}function a(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}o.keys=function(){return Object.keys(r)},o.resolve=a,e.exports=o,o.id=6500},9642:function(e){"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function n(e){for(var t={},n=0,r=e.length;n "));var l={},s=e[r];if(s){function i(t){if(!(t in e))throw new Error(r+" depends on an unknown component "+t);if(!(t in l))for(var i in o(t,a),l[t]=!0,n[t])l[i]=!0}t(s.require,i),t(s.optional,i),t(s.modify,i)}n[r]=l,a.pop()}}return function(e){var t=n[e];return t||(o(e,r),t=n[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(a,i,l){var s=function(e){var t={};for(var n in e){var r=e[n];for(var o in r)if("meta"!=o){var a=r[o];t[o]="string"==typeof a?{title:a}:a}}return t}(a),u=function(e){var n;return function(r){if(r in e)return r;if(!n)for(var o in n={},e){var a=e[o];t(a&&a.alias,(function(t){if(t in n)throw new Error(t+" cannot be alias for both "+o+" and "+n[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");n[t]=o}))}return n[r]||r}}(s);i=i.map(u),l=(l||[]).map(u);var c=n(i),d=n(l);i.forEach((function e(n){var r=s[n];t(r&&r.require,(function(t){t in d||(c[t]=!0,e(t))}))}));for(var f,p=r(s),m=c;o(m);){for(var h in f={},m){var g=s[h];t(g&&g.modify,(function(e){e in d&&(f[e]=!0)}))}for(var b in d)if(!(b in c))for(var v in p(b))if(v in c){f[b]=!0;break}for(var y in m=f)c[y]=!0}var w={getIds:function(){var e=[];return w.load((function(t){e.push(t)})),e},load:function(t,n){return function(t,n,r,o){var a=o?o.series:void 0,i=o?o.parallel:e,l={},s={};function u(e){if(e in l)return l[e];s[e]=!0;var o,c=[];for(var d in t(e))d in n&&c.push(d);if(0===c.length)o=r(e);else{var f=i(c.map((function(e){var t=u(e);return delete s[e],t})));a?o=a(f,(function(){return r(e)})):r(e)}return l[e]=o}for(var c in n)u(c);var d=[];for(var f in s)d.push(l[f]);return i(d)}(p,c,t,n)}};return w}}();e.exports=t},2703:function(e,t,n){"use strict";var r=n(414);function o(){}function a(){}a.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,a,i){if(i!==r){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:o};return n.PropTypes=n,n}},5697:function(e,t,n){e.exports=n(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:function(e,t,n){"use strict";var r=n(7294),o=n(7418),a=n(3840);function i(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n