diff --git a/configs/config.yaml b/configs/config.yaml index cd9a8b07..822dcf21 100644 --- a/configs/config.yaml +++ b/configs/config.yaml @@ -1,5 +1,5 @@ # =================== Lord Of Large Language Multimodal Systems Configuration file =========================== -version: 55 +version: 56 binding_name: null model_name: null @@ -125,7 +125,8 @@ internet_vectorization_chunk_size: 512 # chunk size internet_vectorization_overlap_size: 128 # overlap between chunks size internet_vectorization_nb_chunks: 2 # number of chunks to use internet_nb_search_pages: 3 # number of pages to select - +internet_quick_search: False # If active the search engine will not load and read the webpages +internet_activate_search_decision: False # If active the ai decides by itself if it needs to do search # Helpers pdf_latex_path: null diff --git a/lollms_core b/lollms_core index eda4d026..7551e7fa 160000 --- a/lollms_core +++ b/lollms_core @@ -1 +1 @@ -Subproject commit eda4d02626106d36553c63b9837489e3fe567608 +Subproject commit 7551e7fa021a9526239fda2ca0814583791c35c2 diff --git a/lollms_webui.py b/lollms_webui.py index cf316a2b..e59a1474 100644 --- a/lollms_webui.py +++ b/lollms_webui.py @@ -688,7 +688,8 @@ class LOLLMSWebUI(LOLLMSElfServer): Returns: Tuple[str, str, List[str]]: The prepared query, original message content, and tokenized query. """ - + if self.personality.callback is None: + self.personality.callback = partial(self.process_chunk, client_id=client_id) # Get the list of messages messages = self.connections[client_id]["current_discussion"].get_messages() @@ -706,8 +707,8 @@ class LOLLMSWebUI(LOLLMSElfServer): conditionning = self.personality.personality_conditioning # Check if there are document files to add to the prompt - internet_search_rsults = "" - internet_search_sources = [] + internet_search_results = "" + internet_search_infos = [] documentation = "" knowledge = "" @@ -745,19 +746,28 @@ class LOLLMSWebUI(LOLLMSElfServer): if generation_type != "simple_question": if self.config.activate_internet_search: - self.personality.callback = partial(self.process_chunk, client_id=client_id) if discussion is None: - discussion = self.recover_discussion(client_id)[-512:] - self.personality.step_start("Crafting internet search query") - internet_search_rsults="!@>important information: Use the internet search results data to answer the user query. If the data is not present in the search, please tell the user that the information he is asking for was not found and he may need to increase the number of search pages from the settings. It is strictly forbidden to give the user an answer without having actual proof from the documentation.\n!@>Search results:\n" - query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and craft a web search query suited to recover needed information to answer the user.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion}\n!@>websearch query: ", max_generation_size=256, show_progress=True) - self.personality.step_end("Crafting internet search query") - self.personality.step_start("Performing Internet search") - docs, sorted_similarities = self.personality.internet_search(query) - for doc, infos in zip(docs, sorted_similarities): - internet_search_sources.append(infos[0]) - internet_search_rsults += f"search result chunk:\n{doc}" - self.personality.step_end("Performing INternet search") + discussion = self.recover_discussion(client_id) + if self.config.internet_activate_search_decision: + self.personality.step_start(f"Requesting if {self.personality.name} needs to search internet to answer the user") + need = not self.personality.yes_no(f"Are you able to fulfill {self.config.user_name}'s request without internet search?\nIf he is asking for information that can be found on internet please answer 0 (no).", discussion) + self.personality.step_end(f"Requesting if {self.personality.name} needs to search internet to answer the user") + self.personality.step("Yes" if need else "No") + else: + need=True + if need: + self.personality.step_start("Crafting internet search query") + query = self.personality.fast_gen(f"!@>discussion:\n{discussion[-2048:]}\n!@>instruction: Read the discussion and craft a web search query suited to recover needed information to reply to last {self.config.user_name} message.\nDo not answer the prompt. Do not add explanations.\n!@>websearch query: ", max_generation_size=256, show_progress=True) + self.personality.step_end("Crafting internet search query") + self.personality.step_start("Performing Internet search") + + internet_search_results=f"!@>important information: Use the internet search results data to answer {self.config.user_name}'s last message. It is strictly forbidden to give the user an answer without having actual proof from the documentation.\n!@>Web search results:\n" + + docs, sorted_similarities, document_ids = self.personality.internet_search(query, self.config.internet_quick_search) + for doc, infos,document_id in zip(docs, sorted_similarities, document_ids): + internet_search_infos.append(document_id) + internet_search_results += f"search result chunk:\nchunk_infos:{document_id['url']}\nchunk_title:{document_id['title']}\ncontent:{doc}" + self.personality.step_end("Performing Internet search") if self.personality.persona_data_vectorizer: if documentation=="": @@ -765,15 +775,15 @@ class LOLLMSWebUI(LOLLMSElfServer): if self.config.data_vectorization_build_keys_words: if discussion is None: - discussion = self.recover_discussion(client_id)[-512:] - query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) + discussion = self.recover_discussion(client_id) + query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion[-2048:]}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) ASCIIColors.cyan(f"Query:{query}") else: query = current_message.content try: - docs, sorted_similarities = self.personality.persona_data_vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) - for doc, infos in zip(docs, sorted_similarities): - documentation += f"document chunk:\n{doc}" + docs, sorted_similarities, document_ids = self.personality.persona_data_vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) + for doc, infos, doc_id in zip(docs, sorted_similarities, document_ids): + documentation += f"document chunk:\nchunk_infos:{infos}\ncontent:{doc}" except: self.warning("Couldn't add documentation to the context. Please verify the vector database") @@ -782,14 +792,14 @@ class LOLLMSWebUI(LOLLMSElfServer): documentation="\n!@>important information: Use the documentation data to answer the user questions. If the data is not present in the documentation, please tell the user that the information he is asking for does not exist in the documentation section. It is strictly forbidden to give the user an answer without having actual proof from the documentation.\n!@>Documentation:\n" if self.config.data_vectorization_build_keys_words: - discussion = self.recover_discussion(client_id)[-512:] - query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) + discussion = self.recover_discussion(client_id) + query = self.personality.fast_gen(f"\n!@>instruction: Read the discussion and rewrite the last prompt for someone who didn't read the entire discussion.\nDo not answer the prompt. Do not add explanations.\n!@>discussion:\n{discussion[-2048:]}\n!@>enhanced query: ", max_generation_size=256, show_progress=True) ASCIIColors.cyan(f"Query:{query}") else: query = current_message.content try: - docs, sorted_similarities = self.personality.vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) + docs, sorted_similarities, document_ids = self.personality.vectorizer.recover_text(query, top_k=self.config.data_vectorization_nb_chunks) for doc, infos in zip(docs, sorted_similarities): documentation += f"document chunk:\nchunk path: {infos[0]}\nchunk content:{doc}" documentation += "\n!@>important information: Use the documentation data to answer the user questions. If the data is not present in the documentation, please tell the user that the information he is asking for does not exist in the documentation section. It is strictly forbidden to give the user an answer without having actual proof from the documentation." @@ -801,7 +811,7 @@ class LOLLMSWebUI(LOLLMSElfServer): knowledge="!@>knowledge:\n" try: - docs, sorted_similarities = self.long_term_memory.recover_text(current_message.content, top_k=self.config.data_vectorization_nb_chunks) + docs, sorted_similarities, document_ids = self.long_term_memory.recover_text(current_message.content, top_k=self.config.data_vectorization_nb_chunks) for i,(doc, infos) in enumerate(zip(docs, sorted_similarities)): knowledge += f"!@>knowledge {i}:\n!@>title:\n{infos[0]}\ncontent:\n{doc}" except: @@ -817,11 +827,11 @@ class LOLLMSWebUI(LOLLMSElfServer): # Tokenize the internet search results text and calculate its number of tokens - if len(internet_search_rsults)>0: - tokens_internet_search_rsults = self.model.tokenize(internet_search_rsults) - n_isearch_tk = len(tokens_internet_search_rsults) + if len(internet_search_results)>0: + tokens_internet_search_results = self.model.tokenize(internet_search_results) + n_isearch_tk = len(tokens_internet_search_results) else: - tokens_internet_search_rsults = [] + tokens_internet_search_results = [] n_isearch_tk = 0 @@ -931,7 +941,7 @@ class LOLLMSWebUI(LOLLMSElfServer): else: ai_prefix = "" # Build the final prompt by concatenating the conditionning and discussion messages - prompt_data = conditionning + internet_search_rsults + documentation + knowledge + user_description + discussion_messages + positive_boost + negative_boost + force_language + fun_mode + ai_prefix + prompt_data = conditionning + internet_search_results + documentation + knowledge + user_description + discussion_messages + positive_boost + negative_boost + force_language + fun_mode + ai_prefix # Tokenize the prompt data tokens = self.model.tokenize(prompt_data) @@ -941,7 +951,7 @@ class LOLLMSWebUI(LOLLMSElfServer): ASCIIColors.bold("CONDITIONNING") ASCIIColors.yellow(conditionning) ASCIIColors.bold("INTERNET SEARCH") - ASCIIColors.yellow(internet_search_rsults) + ASCIIColors.yellow(internet_search_results) ASCIIColors.bold("DOC") ASCIIColors.yellow(documentation) ASCIIColors.bold("HISTORY") @@ -958,8 +968,8 @@ class LOLLMSWebUI(LOLLMSElfServer): # Details context_details = { "conditionning":conditionning, - "internet_search_sources":internet_search_sources, - "internet_search_rsults":internet_search_rsults, + "internet_search_infos":internet_search_infos, + "internet_search_results":internet_search_results, "documentation":documentation, "knowledge":knowledge, "user_description":user_description, @@ -973,7 +983,7 @@ class LOLLMSWebUI(LOLLMSElfServer): } # Return the prepared query, original message content, and tokenized query - return prompt_data, current_message.content, tokens, context_details, internet_search_sources + return prompt_data, current_message.content, tokens, context_details, internet_search_infos def get_discussion_to(self, client_id, message_id=-1): @@ -1210,6 +1220,9 @@ class LOLLMSWebUI(LOLLMSElfServer): if self.nb_received_tokens==0: self.start_time = datetime.now() + self.update_message(client_id, "✍ warming up ...", msg_type=MSG_TYPE.MSG_TYPE_STEP_END, parameters= {'status':True}) + self.update_message(client_id, "Generating ...", msg_type=MSG_TYPE.MSG_TYPE_STEP_START) + dt =(datetime.now() - self.start_time).seconds if dt==0: dt=1 @@ -1378,7 +1391,7 @@ class LOLLMSWebUI(LOLLMSElfServer): self.update_message(client_id, "✍ warming up ...", msg_type=MSG_TYPE.MSG_TYPE_STEP_START) # prepare query and reception - self.discussion_messages, self.current_message, tokens, context_details, internet_search_sources = self.prepare_query(client_id, message_id, is_continue, n_tokens=self.config.min_n_predict, generation_type=generation_type) + self.discussion_messages, self.current_message, tokens, context_details, internet_search_infos = self.prepare_query(client_id, message_id, is_continue, n_tokens=self.config.min_n_predict, generation_type=generation_type) self.prepare_reception(client_id) self.generating = True self.connections[client_id]["processing"]=True @@ -1459,22 +1472,23 @@ class LOLLMSWebUI(LOLLMSElfServer): from lollms.internet import get_favicon_url, get_root_url sources_text = '
"+eo(n[e].content)+`
`};es.fence=function(n,e,t,i,s){var r=n[e],o=r.info?Afe(r.info).trim():"",a="",l="",c,d,_,h,m;return o&&(_=o.split(/(\s+)/g),a=_[0],l=_.slice(2).join("")),t.highlight?c=t.highlight(r.content,a,l)||eo(r.content):c=eo(r.content),c.indexOf("\s]/i.test(n)}function Pfe(n){return/^<\/a\s*>/i.test(n)}var Ufe=function(e){var t,i,s,r,o,a,l,c,d,_,h,m,f,E,b,g,v=e.tokens,y;if(e.md.options.linkify){for(i=0,s=v.length;i=0;t--){if(a=r[t],a.type==="link_close"){for(t--;r[t].level!==a.level&&r[t].type!=="link_open";)t--;continue}if(a.type==="html_inline"&&(Lfe(a.content)&&f>0&&f--,Pfe(a.content)&&f++),!(f>0)&&a.type==="text"&&e.md.linkify.test(a.content)){for(d=a.content,y=e.md.linkify.match(d),l=[],m=a.level,h=0,y.length>0&&y[0].index===0&&t>0&&r[t-1].type==="text_special"&&(y=y.slice(1)),c=0;ch&&(o=new e.Token("text","",0),o.content=d.slice(h,_),o.level=m,l.push(o)),o=new e.Token("link_open","a",1),o.attrs=[["href",b]],o.level=m++,o.markup="linkify",o.info="auto",l.push(o),o=new e.Token("text","",0),o.content=g,o.level=m,l.push(o),o=new e.Token("link_close","a",-1),o.level=--m,o.markup="linkify",o.info="auto",l.push(o),h=y[c].lastIndex);h =0;e--)t=n[e],t.type==="text"&&!i&&(t.content=t.content.replace(Bfe,Vfe)),t.type==="link_open"&&t.info==="auto"&&i--,t.type==="link_close"&&t.info==="auto"&&i++}function Hfe(n){var e,t,i=0;for(e=n.length-1;e>=0;e--)t=n[e],t.type==="text"&&!i&&Cw.test(t.content)&&(t.content=t.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),t.type==="link_open"&&t.info==="auto"&&i--,t.type==="link_close"&&t.info==="auto"&&i++}var qfe=function(e){var t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(Ffe.test(e.tokens[t].content)&&zfe(e.tokens[t].children),Cw.test(e.tokens[t].content)&&Hfe(e.tokens[t].children))},NS=kt.isWhiteSpace,OS=kt.isPunctChar,IS=kt.isMdAsciiPunct,Yfe=/['"]/,MS=/['"]/g,DS="’";function wc(n,e,t){return n.slice(0,e)+t+n.slice(e+1)}function $fe(n,e){var t,i,s,r,o,a,l,c,d,_,h,m,f,E,b,g,v,y,T,C,x;for(T=[],t=0;t =0&&!(T[v].level<=l);v--);if(T.length=v+1,i.type==="text"){s=i.content,o=0,a=s.length;e:for(;o=0)d=s.charCodeAt(r.index-1);else for(v=t-1;v>=0&&!(n[v].type==="softbreak"||n[v].type==="hardbreak");v--)if(n[v].content){d=n[v].content.charCodeAt(n[v].content.length-1);break}if(_=32,o=48&&d<=57&&(g=b=!1),b&&g&&(b=h,g=m),!b&&!g){y&&(i.content=wc(i.content,r.index,DS));continue}if(g){for(v=T.length-1;v>=0&&(c=T[v],!(T[v].level =0;t--)e.tokens[t].type!=="inline"||!Yfe.test(e.tokens[t].content)||$fe(e.tokens[t].children,e)},Kfe=function(e){var t,i,s,r,o,a,l=e.tokens;for(t=0,i=l.length;t=0&&(i=this.attrs[t][1]),i};Ba.prototype.attrJoin=function(e,t){var i=this.attrIndex(e);i<0?this.attrPush([e,t]):this.attrs[i][1]=this.attrs[i][1]+" "+t};var Gb=Ba,jfe=Gb;function Rw(n,e,t){this.src=n,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=e}Rw.prototype.Token=jfe;var Qfe=Rw,Xfe=Bb,Np=[["normalize",Ife],["block",Mfe],["inline",Dfe],["linkify",Ufe],["replacements",qfe],["smartquotes",Wfe],["text_join",Kfe]];function Vb(){this.ruler=new Xfe;for(var n=0;n i||(d=t+1,e.sCount[d] =4||(a=e.bMarks[d]+e.tShift[d],a>=e.eMarks[d])||(C=e.src.charCodeAt(a++),C!==124&&C!==45&&C!==58)||a>=e.eMarks[d]||(x=e.src.charCodeAt(a++),x!==124&&x!==45&&x!==58&&!Op(x))||C===45&&Op(x))return!1;for(;a =4||(_=kS(o),_.length&&_[0]===""&&_.shift(),_.length&&_[_.length-1]===""&&_.pop(),h=_.length,h===0||h!==f.length))return!1;if(s)return!0;for(v=e.parentType,e.parentType="table",T=e.md.block.ruler.getRules("blockquote"),m=e.push("table_open","table",1),m.map=b=[t,0],m=e.push("thead_open","thead",1),m.map=[t,t+1],m=e.push("tr_open","tr",1),m.map=[t,t+1],l=0;l<_.length;l++)m=e.push("th_open","th",1),f[l]&&(m.attrs=[["style","text-align:"+f[l]]]),m=e.push("inline","",0),m.content=_[l].trim(),m.children=[],m=e.push("th_close","th",-1);for(m=e.push("tr_close","tr",-1),m=e.push("thead_close","thead",-1),d=t+2;d=4)break;for(_=kS(o),_.length&&_[0]===""&&_.shift(),_.length&&_[_.length-1]===""&&_.pop(),d===t+2&&(m=e.push("tbody_open","tbody",1),m.map=g=[t+2,0]),m=e.push("tr_open","tr",1),m.map=[d,d+1],l=0;l =4){s++,r=s;continue}break}return e.line=r,o=e.push("code_block","code",0),o.content=e.getLines(t,r,4+e.blkIndent,!1)+` `,o.map=[t,e.line],!0},tme=function(e,t,i,s){var r,o,a,l,c,d,_,h=!1,m=e.bMarks[t]+e.tShift[t],f=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||m+3>f||(r=e.src.charCodeAt(m),r!==126&&r!==96)||(c=m,m=e.skipChars(m,r),o=m-c,o<3)||(_=e.src.slice(c,m),a=e.src.slice(m,f),r===96&&a.indexOf(String.fromCharCode(r))>=0))return!1;if(s)return!0;for(l=t;l++,!(l>=i||(m=c=e.bMarks[l]+e.tShift[l],f=e.eMarks[l],m =4)&&(m=e.skipChars(m,r),!(m-c =4||e.src.charCodeAt(A)!==62)return!1;if(s)return!0;for(f=[],E=[],v=[],y=[],x=e.md.block.ruler.getRules("blockquote"),g=e.parentType,e.parentType="blockquote",h=t;h=P));h++){if(e.src.charCodeAt(A++)===62&&!R){for(l=e.sCount[h]+1,e.src.charCodeAt(A)===32?(A++,l++,r=!1,T=!0):e.src.charCodeAt(A)===9?(T=!0,(e.bsCount[h]+l)%4===3?(A++,l++,r=!1):r=!0):T=!1,m=l,f.push(e.bMarks[h]),e.bMarks[h]=A;A =P,E.push(e.bsCount[h]),e.bsCount[h]=e.sCount[h]+1+(T?1:0),v.push(e.sCount[h]),e.sCount[h]=m-l,y.push(e.tShift[h]),e.tShift[h]=A-e.bMarks[h];continue}if(d)break;for(C=!1,a=0,c=x.length;a
",w.map=_=[t,0],e.md.block.tokenize(e,t,h),w=e.push("blockquote_close","blockquote",-1),w.markup=">",e.lineMax=S,e.parentType=g,_[1]=e.line,a=0;a =4||(r=e.src.charCodeAt(c++),r!==42&&r!==45&&r!==95))return!1;for(o=1;c =r||(t=n.src.charCodeAt(s++),t<48||t>57))return-1;for(;;){if(s>=r)return-1;if(t=n.src.charCodeAt(s++),t>=48&&t<=57){if(s-i>=10)return-1;continue}if(t===41||t===46)break;return-1}return s =4||e.listIndent>=0&&e.sCount[B]-e.listIndent>=4&&e.sCount[B] =e.blkIndent&&(L=!0),(A=PS(e,B))>=0){if(_=!0,U=e.bMarks[B]+e.tShift[B],g=Number(e.src.slice(U,A-1)),L&&g!==1)return!1}else if((A=LS(e,B))>=0)_=!1;else return!1;if(L&&e.skipSpaces(A)>=e.eMarks[B])return!1;if(s)return!0;for(b=e.src.charCodeAt(A-1),E=e.tokens.length,_?(H=e.push("ordered_list_open","ol",1),g!==1&&(H.attrs=[["start",g]])):H=e.push("bullet_list_open","ul",1),H.map=f=[B,0],H.markup=String.fromCharCode(b),P=!1,k=e.md.block.ruler.getRules("list"),C=e.parentType,e.parentType="list";B=v?c=1:c=y-d,c>4&&(c=1),l=d+c,H=e.push("list_item_open","li",1),H.markup=String.fromCharCode(b),H.map=h=[B,0],_&&(H.info=e.src.slice(U,A-1)),R=e.tight,w=e.tShift[B],x=e.sCount[B],T=e.listIndent,e.listIndent=e.blkIndent,e.blkIndent=l,e.tight=!0,e.tShift[B]=o-e.bMarks[B],e.sCount[B]=y,o>=v&&e.isEmpty(B+1)?e.line=Math.min(e.line+2,i):e.md.block.tokenize(e,B,i,!0),(!e.tight||P)&&($=!1),P=e.line-B>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=T,e.tShift[B]=w,e.sCount[B]=x,e.tight=R,H=e.push("list_item_close","li",-1),H.markup=String.fromCharCode(b),B=e.line,h[1]=B,B>=i||e.sCount[B] =4)break;for(Y=!1,a=0,m=k.length;a =4||e.src.charCodeAt(x)!==91)return!1;for(;++x 3)&&!(e.sCount[R]<0)){for(v=!1,d=0,_=y.length;d<_;d++)if(y[d](e,R,l,!0)){v=!0;break}if(v)break}for(g=e.getLines(t,R,e.blkIndent,!1).trim(),w=g.length,x=1;x "u"&&(e.env.references={}),typeof e.env.references[h]>"u"&&(e.env.references[h]={title:T,href:c}),e.parentType=f,e.line=t+C+1),!0)},dme=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Vu={},ume="[a-zA-Z_:][a-zA-Z0-9:._-]*",pme="[^\"'=<>`\\x00-\\x20]+",_me="'[^']*'",hme='"[^"]*"',fme="(?:"+pme+"|"+_me+"|"+hme+")",mme="(?:\\s+"+ume+"(?:\\s*=\\s*"+fme+")?)",ww="<[A-Za-z][A-Za-z0-9\\-]*"+mme+"*\\s*\\/?>",Nw="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",gme="|",bme="<[?][\\s\\S]*?[?]>",Eme="]*>",vme="",Sme=new RegExp("^(?:"+ww+"|"+Nw+"|"+gme+"|"+bme+"|"+Eme+"|"+vme+")"),yme=new RegExp("^(?:"+ww+"|"+Nw+")");Vu.HTML_TAG_RE=Sme;Vu.HTML_OPEN_CLOSE_TAG_RE=yme;var Tme=dme,xme=Vu.HTML_OPEN_CLOSE_TAG_RE,Eo=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^?("+Tme.join("|")+")(?=(\\s|/?>|$))","i"),/^$/,!0],[new RegExp(xme.source+"\\s*$"),/^$/,!1]],Cme=function(e,t,i,s){var r,o,a,l,c=e.bMarks[t]+e.tShift[t],d=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(c)!==60)return!1;for(l=e.src.slice(c,d),r=0;r =4||(r=e.src.charCodeAt(c),r!==35||c>=d))return!1;for(o=1,r=e.src.charCodeAt(++c);r===35&&c 6||c c&&US(e.src.charCodeAt(a-1))&&(d=a),e.line=t+1,l=e.push("heading_open","h"+String(o),1),l.markup="########".slice(0,o),l.map=[t,e.line],l=e.push("inline","",0),l.content=e.src.slice(c,d).trim(),l.map=[t,e.line],l.children=[],l=e.push("heading_close","h"+String(o),-1),l.markup="########".slice(0,o)),!0)},Ame=function(e,t,i){var s,r,o,a,l,c,d,_,h,m=t+1,f,E=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;for(f=e.parentType,e.parentType="paragraph";m3)){if(e.sCount[m]>=e.blkIndent&&(c=e.bMarks[m]+e.tShift[m],d=e.eMarks[m],c =d)))){_=h===61?1:2;break}if(!(e.sCount[m]<0)){for(r=!1,o=0,a=E.length;o3)&&!(e.sCount[d]<0)){for(r=!1,o=0,a=_.length;o0&&this.level++,this.tokens.push(i),i};ts.prototype.isEmpty=function(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]};ts.prototype.skipEmptyLines=function(e){for(var t=this.lineMax;e t;)if(!zu(this.src.charCodeAt(--e)))return e+1;return e};ts.prototype.skipChars=function(e,t){for(var i=this.src.length;ei;)if(t!==this.src.charCodeAt(--e))return e+1;return e};ts.prototype.getLines=function(e,t,i,s){var r,o,a,l,c,d,_,h=e;if(e>=t)return"";for(d=new Array(t-e),r=0;h i?d[r]=new Array(o-i+1).join(" ")+this.src.slice(l,c):d[r]=this.src.slice(l,c)}return d.join("")};ts.prototype.Token=Ow;var Nme=ts,Ome=Bb,Oc=[["table",Jfe,["paragraph","reference"]],["code",eme],["fence",tme,["paragraph","reference","blockquote","list"]],["blockquote",ime,["paragraph","reference","blockquote","list"]],["hr",rme,["paragraph","reference","blockquote","list"]],["list",ame,["paragraph","reference","blockquote"]],["reference",cme],["html_block",Cme,["paragraph","reference","blockquote"]],["heading",Rme,["paragraph","reference","blockquote"]],["lheading",Ame],["paragraph",wme]];function Hu(){this.ruler=new Ome;for(var n=0;n =t||n.sCount[l] =d){n.line=t;break}for(r=n.line,s=0;s=n.line)throw new Error("block rule didn't increment state.line");break}if(!i)throw new Error("none of the block rules matched");n.tight=!c,n.isEmpty(n.line-1)&&(c=!0),l=n.line,l 0||(i=e.pos,s=e.posMax,i+3>s)||e.src.charCodeAt(i)!==58||e.src.charCodeAt(i+1)!==47||e.src.charCodeAt(i+2)!==47||(r=e.pending.match(kme),!r)||(o=r[1],a=e.md.linkify.matchAtStart(e.src.slice(i-o.length)),!a)||(l=a.url,l.length<=o.length)||(l=l.replace(/\*+$/,""),c=e.md.normalizeLink(l),!e.md.validateLink(c))?!1:(t||(e.pending=e.pending.slice(0,-o.length),d=e.push("link_open","a",1),d.attrs=[["href",c]],d.markup="linkify",d.info="auto",d=e.push("text","",0),d.content=e.md.normalizeLinkText(l),d=e.push("link_close","a",-1),d.markup="linkify",d.info="auto"),e.pos+=l.length-o.length,!0)},Pme=kt.isSpace,Ume=function(e,t){var i,s,r,o=e.pos;if(e.src.charCodeAt(o)!==10)return!1;if(i=e.pending.length-1,s=e.posMax,!t)if(i>=0&&e.pending.charCodeAt(i)===32)if(i>=1&&e.pending.charCodeAt(i-1)===32){for(r=i-1;r>=1&&e.pending.charCodeAt(r-1)===32;)r--;e.pending=e.pending.slice(0,r),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(o++;o ?@[]^_`{|}~-".split("").forEach(function(n){zb[n.charCodeAt(0)]=1});var Bme=function(e,t){var i,s,r,o,a,l=e.pos,c=e.posMax;if(e.src.charCodeAt(l)!==92||(l++,l>=c))return!1;if(i=e.src.charCodeAt(l),i===10){for(t||e.push("hardbreak","br",0),l++;l=55296&&i<=56319&&l+1 =56320&&s<=57343&&(o+=e.src[l+1],l++)),r="\\"+o,t||(a=e.push("text_special","",0),i<256&&zb[i]!==0?a.content=o:a.content=r,a.markup=r,a.info="escape"),e.pos=l+1,!0},Gme=function(e,t){var i,s,r,o,a,l,c,d,_=e.pos,h=e.src.charCodeAt(_);if(h!==96)return!1;for(i=_,_++,s=e.posMax;_ =0;t--)i=e[t],!(i.marker!==95&&i.marker!==42)&&i.end!==-1&&(s=e[i.end],a=t>0&&e[t-1].end===i.end+1&&e[t-1].marker===i.marker&&e[t-1].token===i.token-1&&e[i.end+1].token===s.token+1,o=String.fromCharCode(i.marker),r=n.tokens[i.token],r.type=a?"strong_open":"em_open",r.tag=a?"strong":"em",r.nesting=1,r.markup=a?o+o:o,r.content="",r=n.tokens[s.token],r.type=a?"strong_close":"em_close",r.tag=a?"strong":"em",r.nesting=-1,r.markup=a?o+o:o,r.content="",a&&(n.tokens[e[t-1].token].content="",n.tokens[e[i.end+1].token].content="",t--))}Yu.postProcess=function(e){var t,i=e.tokens_meta,s=e.tokens_meta.length;for(GS(e,e.delimiters),t=0;t=E)return!1;if(b=l,c=e.md.helpers.parseLinkDestination(e.src,l,e.posMax),c.ok){for(h=e.md.normalizeLink(c.str),e.md.validateLink(h)?l=c.pos:h="",b=l;l=E||e.src.charCodeAt(l)!==41)&&(g=!0),l++}if(g){if(typeof e.env.references>"u")return!1;if(l =0?r=e.src.slice(b,l++):l=o+1):l=o+1,r||(r=e.src.slice(a,o)),d=e.env.references[Vme(r)],!d)return e.pos=f,!1;h=d.href,m=d.title}return t||(e.pos=a,e.posMax=o,_=e.push("link_open","a",1),_.attrs=i=[["href",h]],m&&i.push(["title",m]),e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,_=e.push("link_close","a",-1)),e.pos=l,e.posMax=E,!0},Hme=kt.normalizeReference,Dp=kt.isSpace,qme=function(e,t){var i,s,r,o,a,l,c,d,_,h,m,f,E,b="",g=e.pos,v=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91||(l=e.pos+2,a=e.md.helpers.parseLinkLabel(e,e.pos+1,!1),a<0))return!1;if(c=a+1,c =v)return!1;for(E=c,_=e.md.helpers.parseLinkDestination(e.src,c,e.posMax),_.ok&&(b=e.md.normalizeLink(_.str),e.md.validateLink(b)?c=_.pos:b=""),E=c;c =v||e.src.charCodeAt(c)!==41)return e.pos=g,!1;c++}else{if(typeof e.env.references>"u")return!1;if(c =0?o=e.src.slice(E,c++):c=a+1):c=a+1,o||(o=e.src.slice(l,a)),d=e.env.references[Hme(o)],!d)return e.pos=g,!1;b=d.href,h=d.title}return t||(r=e.src.slice(l,a),e.md.inline.parse(r,e.md,e.env,f=[]),m=e.push("image","img",0),m.attrs=i=[["src",b],["alt",""]],m.children=f,m.content=r,h&&i.push(["title",h])),e.pos=c,e.posMax=v,!0},Yme=/^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,$me=/^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/,Wme=function(e,t){var i,s,r,o,a,l,c=e.pos;if(e.src.charCodeAt(c)!==60)return!1;for(a=e.pos,l=e.posMax;;){if(++c>=l||(o=e.src.charCodeAt(c),o===60))return!1;if(o===62)break}return i=e.src.slice(a+1,c),$me.test(i)?(s=e.md.normalizeLink(i),e.md.validateLink(s)?(t||(r=e.push("link_open","a",1),r.attrs=[["href",s]],r.markup="autolink",r.info="auto",r=e.push("text","",0),r.content=e.md.normalizeLinkText(i),r=e.push("link_close","a",-1),r.markup="autolink",r.info="auto"),e.pos+=i.length+2,!0):!1):Yme.test(i)?(s=e.md.normalizeLink("mailto:"+i),e.md.validateLink(s)?(t||(r=e.push("link_open","a",1),r.attrs=[["href",s]],r.markup="autolink",r.info="auto",r=e.push("text","",0),r.content=e.md.normalizeLinkText(i),r=e.push("link_close","a",-1),r.markup="autolink",r.info="auto"),e.pos+=i.length+2,!0):!1):!1},Kme=Vu.HTML_TAG_RE;function jme(n){return/^\s]/i.test(n)}function Qme(n){return/^<\/a\s*>/i.test(n)}function Xme(n){var e=n|32;return e>=97&&e<=122}var Zme=function(e,t){var i,s,r,o,a=e.pos;return!e.md.options.html||(r=e.posMax,e.src.charCodeAt(a)!==60||a+2>=r)||(i=e.src.charCodeAt(a+1),i!==33&&i!==63&&i!==47&&!Xme(i))||(s=e.src.slice(a).match(Kme),!s)?!1:(t||(o=e.push("html_inline","",0),o.content=s[0],jme(o.content)&&e.linkLevel++,Qme(o.content)&&e.linkLevel--),e.pos+=s[0].length,!0)},VS=Sw,Jme=kt.has,ege=kt.isValidEntityCode,zS=kt.fromCodePoint,tge=/^((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,nge=/^&([a-z][a-z0-9]{1,31});/i,ige=function(e,t){var i,s,r,o,a=e.pos,l=e.posMax;if(e.src.charCodeAt(a)!==38||a+1>=l)return!1;if(i=e.src.charCodeAt(a+1),i===35){if(r=e.src.slice(a).match(tge),r)return t||(s=r[1][0].toLowerCase()==="x"?parseInt(r[1].slice(1),16):parseInt(r[1],10),o=e.push("text_special","",0),o.content=ege(s)?zS(s):zS(65533),o.markup=r[0],o.info="entity"),e.pos+=r[0].length,!0}else if(r=e.src.slice(a).match(nge),r&&Jme(VS,r[1]))return t||(o=e.push("text_special","",0),o.content=VS[r[1]],o.markup=r[0],o.info="entity"),e.pos+=r[0].length,!0;return!1};function HS(n){var e,t,i,s,r,o,a,l,c={},d=n.length;if(d){var _=0,h=-2,m=[];for(e=0;e r;t-=m[t]+1)if(s=n[t],s.marker===i.marker&&s.open&&s.end<0&&(a=!1,(s.close||i.open)&&(s.length+i.length)%3===0&&(s.length%3!==0||i.length%3!==0)&&(a=!0),!a)){l=t>0&&!n[t-1].open?m[t-1]+1:0,m[e]=e-t+l,m[t]=l,i.open=!1,s.end=e,s.close=!1,o=-1,h=-2;break}o!==-1&&(c[i.marker][(i.open?3:0)+(i.length||0)%3]=o)}}}var sge=function(e){var t,i=e.tokens_meta,s=e.tokens_meta.length;for(HS(e.delimiters),t=0;t 0&&s++,r[t].type==="text"&&t+10&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(i),this.tokens_meta.push(s),i};ac.prototype.scanDelims=function(n,e){var t=n,i,s,r,o,a,l,c,d,_,h=!0,m=!0,f=this.posMax,E=this.src.charCodeAt(n);for(i=n>0?this.src.charCodeAt(n-1):32;t =n.pos)throw new Error("inline rule didn't increment state.pos");break}}else n.pos=n.posMax;e||n.pos++,a[i]=n.pos};lc.prototype.tokenize=function(n){for(var e,t,i,s=this.ruler.getRules(""),r=s.length,o=n.posMax,a=n.md.options.maxNesting;n.pos =n.pos)throw new Error("inline rule didn't increment state.pos");break}}if(e){if(n.pos>=o)break;continue}n.pending+=n.src[n.pos++]}n.pending&&n.pushPending()};lc.prototype.parse=function(n,e,t,i){var s,r,o,a=new this.State(n,e,t,i);for(this.tokenize(a),r=this.ruler2.getRules(""),o=r.length,s=0;s |$))",e.tpl_email_fuzzy="(^|"+t+'|"|\\(|'+e.src_ZCc+")("+e.src_email_name+"@"+e.tpl_host_fuzzy_strict+")",e.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_fuzzy_strict+e.src_path+")",e.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+e.src_ZPCc+"))((?![$+<=>^`||])"+e.tpl_host_port_no_ip_fuzzy_strict+e.src_path+")",e}),Pp}function Cg(n){var e=Array.prototype.slice.call(arguments,1);return e.forEach(function(t){t&&Object.keys(t).forEach(function(i){n[i]=t[i]})}),n}function $u(n){return Object.prototype.toString.call(n)}function cge(n){return $u(n)==="[object String]"}function dge(n){return $u(n)==="[object Object]"}function uge(n){return $u(n)==="[object RegExp]"}function jS(n){return $u(n)==="[object Function]"}function pge(n){return n.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var Iw={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function _ge(n){return Object.keys(n||{}).reduce(function(e,t){return e||Iw.hasOwnProperty(t)},!1)}var hge={"http:":{validate:function(n,e,t){var i=n.slice(e);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(i)?i.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(n,e,t){var i=n.slice(e);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(i)?e>=3&&n[e-3]===":"||e>=3&&n[e-3]==="/"?0:i.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(n,e,t){var i=n.slice(e);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(i)?i.match(t.re.mailto)[0].length:0}}},fge="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",mge="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function gge(n){n.__index__=-1,n.__text_cache__=""}function bge(n){return function(e,t){var i=e.slice(t);return n.test(i)?i.match(n)[0].length:0}}function QS(){return function(n,e){e.normalize(n)}}function Yd(n){var e=n.re=lge()(n.__opts__),t=n.__tlds__.slice();n.onCompile(),n.__tlds_replaced__||t.push(fge),t.push(e.src_xn),e.src_tlds=t.join("|");function i(a){return a.replace("%TLDS%",e.src_tlds)}e.email_fuzzy=RegExp(i(e.tpl_email_fuzzy),"i"),e.link_fuzzy=RegExp(i(e.tpl_link_fuzzy),"i"),e.link_no_ip_fuzzy=RegExp(i(e.tpl_link_no_ip_fuzzy),"i"),e.host_fuzzy_test=RegExp(i(e.tpl_host_fuzzy_test),"i");var s=[];n.__compiled__={};function r(a,l){throw new Error('(LinkifyIt) Invalid schema "'+a+'": '+l)}Object.keys(n.__schemas__).forEach(function(a){var l=n.__schemas__[a];if(l!==null){var c={validate:null,link:null};if(n.__compiled__[a]=c,dge(l)){uge(l.validate)?c.validate=bge(l.validate):jS(l.validate)?c.validate=l.validate:r(a,l),jS(l.normalize)?c.normalize=l.normalize:l.normalize?r(a,l):c.normalize=QS();return}if(cge(l)){s.push(a);return}r(a,l)}}),s.forEach(function(a){n.__compiled__[n.__schemas__[a]]&&(n.__compiled__[a].validate=n.__compiled__[n.__schemas__[a]].validate,n.__compiled__[a].normalize=n.__compiled__[n.__schemas__[a]].normalize)}),n.__compiled__[""]={validate:null,normalize:QS()};var o=Object.keys(n.__compiled__).filter(function(a){return a.length>0&&n.__compiled__[a]}).map(pge).join("|");n.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","i"),n.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+e.src_ZPCc+"))("+o+")","ig"),n.re.schema_at_start=RegExp("^"+n.re.schema_search.source,"i"),n.re.pretest=RegExp("("+n.re.schema_test.source+")|("+n.re.host_fuzzy_test.source+")|@","i"),gge(n)}function Ege(n,e){var t=n.__index__,i=n.__last_index__,s=n.__text_cache__.slice(t,i);this.schema=n.__schema__.toLowerCase(),this.index=t+e,this.lastIndex=i+e,this.raw=s,this.text=s,this.url=s}function Rg(n,e){var t=new Ege(n,e);return n.__compiled__[t.schema].normalize(t,n),t}function ti(n,e){if(!(this instanceof ti))return new ti(n,e);e||_ge(n)&&(e=n,n={}),this.__opts__=Cg({},Iw,e),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Cg({},hge,n),this.__compiled__={},this.__tlds__=mge,this.__tlds_replaced__=!1,this.re={},Yd(this)}ti.prototype.add=function(e,t){return this.__schemas__[e]=t,Yd(this),this};ti.prototype.set=function(e){return this.__opts__=Cg(this.__opts__,e),this};ti.prototype.test=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return!1;var t,i,s,r,o,a,l,c,d;if(this.re.schema_test.test(e)){for(l=this.re.schema_search,l.lastIndex=0;(t=l.exec(e))!==null;)if(r=this.testSchemaAt(e,t[2],l.lastIndex),r){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+r;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(c=e.search(this.re.host_fuzzy_test),c>=0&&(this.__index__<0||c =0&&(s=e.match(this.re.email_fuzzy))!==null&&(o=s.index+s[1].length,a=s.index+s[0].length,(this.__index__<0||o this.__last_index__)&&(this.__schema__="mailto:",this.__index__=o,this.__last_index__=a))),this.__index__>=0};ti.prototype.pretest=function(e){return this.re.pretest.test(e)};ti.prototype.testSchemaAt=function(e,t,i){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(e,i,this):0};ti.prototype.match=function(e){var t=0,i=[];this.__index__>=0&&this.__text_cache__===e&&(i.push(Rg(this,t)),t=this.__last_index__);for(var s=t?e.slice(t):e;this.test(s);)i.push(Rg(this,t)),s=s.slice(this.__last_index__),t+=this.__last_index__;return i.length?i:null};ti.prototype.matchAtStart=function(e){if(this.__text_cache__=e,this.__index__=-1,!e.length)return null;var t=this.re.schema_at_start.exec(e);if(!t)return null;var i=this.testSchemaAt(e,t[2],t[0].length);return i?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+i,Rg(this,0)):null};ti.prototype.tlds=function(e,t){return e=Array.isArray(e)?e:[e],t?(this.__tlds__=this.__tlds__.concat(e).sort().filter(function(i,s,r){return i!==r[s-1]}).reverse(),Yd(this),this):(this.__tlds__=e.slice(),this.__tlds_replaced__=!0,Yd(this),this)};ti.prototype.normalize=function(e){e.schema||(e.url="http://"+e.url),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url="mailto:"+e.url)};ti.prototype.onCompile=function(){};var vge=ti;const Xo=2147483647,$i=36,qb=1,Yl=26,Sge=38,yge=700,Mw=72,Dw=128,kw="-",Tge=/^xn--/,xge=/[^\0-\x7F]/,Cge=/[\x2E\u3002\uFF0E\uFF61]/g,Rge={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Up=$i-qb,Wi=Math.floor,Fp=String.fromCharCode;function Xs(n){throw new RangeError(Rge[n])}function Age(n,e){const t=[];let i=n.length;for(;i--;)t[i]=e(n[i]);return t}function Lw(n,e){const t=n.split("@");let i="";t.length>1&&(i=t[0]+"@",n=t[1]),n=n.replace(Cge,".");const s=n.split("."),r=Age(s,e).join(".");return i+r}function Yb(n){const e=[];let t=0;const i=n.length;for(;t=55296&&s<=56319&&tString.fromCodePoint(...n),wge=function(n){return n>=48&&n<58?26+(n-48):n>=65&&n<91?n-65:n>=97&&n<123?n-97:$i},XS=function(n,e){return n+22+75*(n<26)-((e!=0)<<5)},Uw=function(n,e,t){let i=0;for(n=t?Wi(n/yge):n>>1,n+=Wi(n/e);n>Up*Yl>>1;i+=$i)n=Wi(n/Up);return Wi(i+(Up+1)*n/(n+Sge))},$b=function(n){const e=[],t=n.length;let i=0,s=Dw,r=Mw,o=n.lastIndexOf(kw);o<0&&(o=0);for(let a=0;a =128&&Xs("not-basic"),e.push(n.charCodeAt(a));for(let a=o>0?o+1:0;a =t&&Xs("invalid-input");const h=wge(n.charCodeAt(a++));h>=$i&&Xs("invalid-input"),h>Wi((Xo-i)/d)&&Xs("overflow"),i+=h*d;const m=_<=r?qb:_>=r+Yl?Yl:_-r;if(h Wi(Xo/f)&&Xs("overflow"),d*=f}const c=e.length+1;r=Uw(i-l,c,l==0),Wi(i/c)>Xo-s&&Xs("overflow"),s+=Wi(i/c),i%=c,e.splice(i++,0,s)}return String.fromCodePoint(...e)},Wb=function(n){const e=[];n=Yb(n);const t=n.length;let i=Dw,s=0,r=Mw;for(const l of n)l<128&&e.push(Fp(l));const o=e.length;let a=o;for(o&&e.push(kw);a =i&&d Wi((Xo-s)/c)&&Xs("overflow"),s+=(l-i)*c,i=l;for(const d of n)if(dXo&&Xs("overflow"),d===i){let _=s;for(let h=$i;;h+=$i){const m=h<=r?qb:h>=r+Yl?Yl:h-r;if(_ =0))try{e.hostname=Gw.toASCII(e.hostname)}catch{}return Hr.encode(Hr.format(e))}function $ge(n){var e=Hr.parse(n,!0);if(e.hostname&&(!e.protocol||Vw.indexOf(e.protocol)>=0))try{e.hostname=Gw.toUnicode(e.hostname)}catch{}return Hr.decode(Hr.format(e),Hr.decode.defaultChars+"%")}function bi(n,e){if(!(this instanceof bi))return new bi(n,e);e||Cl.isString(n)||(e=n||{},n="default"),this.inline=new Bge,this.block=new Fge,this.core=new Uge,this.renderer=new Pge,this.linkify=new Gge,this.validateLink=qge,this.normalizeLink=Yge,this.normalizeLinkText=$ge,this.utils=Cl,this.helpers=Cl.assign({},Lge),this.options={},this.configure(n),e&&this.set(e)}bi.prototype.set=function(n){return Cl.assign(this.options,n),this};bi.prototype.configure=function(n){var e=this,t;if(Cl.isString(n)&&(t=n,n=Vge[t],!n))throw new Error('Wrong `markdown-it` preset "'+t+'", check name');if(!n)throw new Error("Wrong `markdown-it` preset, can't be empty");return n.options&&e.set(n.options),n.components&&Object.keys(n.components).forEach(function(i){n.components[i].rules&&e[i].ruler.enableOnly(n.components[i].rules),n.components[i].rules2&&e[i].ruler2.enableOnly(n.components[i].rules2)}),this};bi.prototype.enable=function(n,e){var t=[];Array.isArray(n)||(n=[n]),["core","block","inline"].forEach(function(s){t=t.concat(this[s].ruler.enable(n,!0))},this),t=t.concat(this.inline.ruler2.enable(n,!0));var i=n.filter(function(s){return t.indexOf(s)<0});if(i.length&&!e)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+i);return this};bi.prototype.disable=function(n,e){var t=[];Array.isArray(n)||(n=[n]),["core","block","inline"].forEach(function(s){t=t.concat(this[s].ruler.disable(n,!0))},this),t=t.concat(this.inline.ruler2.disable(n,!0));var i=n.filter(function(s){return t.indexOf(s)<0});if(i.length&&!e)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+i);return this};bi.prototype.use=function(n){var e=[this].concat(Array.prototype.slice.call(arguments,1));return n.apply(n,e),this};bi.prototype.parse=function(n,e){if(typeof n!="string")throw new Error("Input data should be a String");var t=new this.core.State(n,this,e);return this.core.process(t),t.tokens};bi.prototype.render=function(n,e){return e=e||{},this.renderer.render(this.parse(n,e),this.options,e)};bi.prototype.parseInline=function(n,e){var t=new this.core.State(n,this,e);return t.inlineMode=!0,this.core.process(t),t.tokens};bi.prototype.renderInline=function(n,e){return e=e||{},this.renderer.render(this.parseInline(n,e),this.options,e)};var Wge=bi,Kge=Wge;const jge=Ds(Kge),Qge="😀",Xge="😃",Zge="😄",Jge="😁",ebe="😆",tbe="😆",nbe="😅",ibe="🤣",sbe="😂",rbe="🙂",obe="🙃",abe="😉",lbe="😊",cbe="😇",dbe="🥰",ube="😍",pbe="🤩",_be="😘",hbe="😗",fbe="☺️",mbe="😚",gbe="😙",bbe="🥲",Ebe="😋",vbe="😛",Sbe="😜",ybe="🤪",Tbe="😝",xbe="🤑",Cbe="🤗",Rbe="🤭",Abe="🤫",wbe="🤔",Nbe="🤐",Obe="🤨",Ibe="😐",Mbe="😑",Dbe="😶",kbe="😏",Lbe="😒",Pbe="🙄",Ube="😬",Fbe="🤥",Bbe="😌",Gbe="😔",Vbe="😪",zbe="🤤",Hbe="😴",qbe="😷",Ybe="🤒",$be="🤕",Wbe="🤢",Kbe="🤮",jbe="🤧",Qbe="🥵",Xbe="🥶",Zbe="🥴",Jbe="😵",eEe="🤯",tEe="🤠",nEe="🥳",iEe="🥸",sEe="😎",rEe="🤓",oEe="🧐",aEe="😕",lEe="😟",cEe="🙁",dEe="☹️",uEe="😮",pEe="😯",_Ee="😲",hEe="😳",fEe="🥺",mEe="😦",gEe="😧",bEe="😨",EEe="😰",vEe="😥",SEe="😢",yEe="😭",TEe="😱",xEe="😖",CEe="😣",REe="😞",AEe="😓",wEe="😩",NEe="😫",OEe="🥱",IEe="😤",MEe="😡",DEe="😡",kEe="😠",LEe="🤬",PEe="😈",UEe="👿",FEe="💀",BEe="☠️",GEe="💩",VEe="💩",zEe="💩",HEe="🤡",qEe="👹",YEe="👺",$Ee="👻",WEe="👽",KEe="👾",jEe="🤖",QEe="😺",XEe="😸",ZEe="😹",JEe="😻",eve="😼",tve="😽",nve="🙀",ive="😿",sve="😾",rve="🙈",ove="🙉",ave="🙊",lve="💋",cve="💌",dve="💘",uve="💝",pve="💖",_ve="💗",hve="💓",fve="💞",mve="💕",gve="💟",bve="❣️",Eve="💔",vve="❤️",Sve="🧡",yve="💛",Tve="💚",xve="💙",Cve="💜",Rve="🤎",Ave="🖤",wve="🤍",Nve="💢",Ove="💥",Ive="💥",Mve="💫",Dve="💦",kve="💨",Lve="🕳️",Pve="💣",Uve="💬",Fve="👁️🗨️",Bve="🗨️",Gve="🗯️",Vve="💭",zve="💤",Hve="👋",qve="🤚",Yve="🖐️",$ve="✋",Wve="✋",Kve="🖖",jve="👌",Qve="🤌",Xve="🤏",Zve="✌️",Jve="🤞",eSe="🤟",tSe="🤘",nSe="🤙",iSe="👈",sSe="👉",rSe="👆",oSe="🖕",aSe="🖕",lSe="👇",cSe="☝️",dSe="👍",uSe="👎",pSe="✊",_Se="✊",hSe="👊",fSe="👊",mSe="👊",gSe="🤛",bSe="🤜",ESe="👏",vSe="🙌",SSe="👐",ySe="🤲",TSe="🤝",xSe="🙏",CSe="✍️",RSe="💅",ASe="🤳",wSe="💪",NSe="🦾",OSe="🦿",ISe="🦵",MSe="🦶",DSe="👂",kSe="🦻",LSe="👃",PSe="🧠",USe="🫀",FSe="🫁",BSe="🦷",GSe="🦴",VSe="👀",zSe="👁️",HSe="👅",qSe="👄",YSe="👶",$Se="🧒",WSe="👦",KSe="👧",jSe="🧑",QSe="👱",XSe="👨",ZSe="🧔",JSe="👨🦰",eye="👨🦱",tye="👨🦳",nye="👨🦲",iye="👩",sye="👩🦰",rye="🧑🦰",oye="👩🦱",aye="🧑🦱",lye="👩🦳",cye="🧑🦳",dye="👩🦲",uye="🧑🦲",pye="👱♀️",_ye="👱♀️",hye="👱♂️",fye="🧓",mye="👴",gye="👵",bye="🙍",Eye="🙍♂️",vye="🙍♀️",Sye="🙎",yye="🙎♂️",Tye="🙎♀️",xye="🙅",Cye="🙅♂️",Rye="🙅♂️",Aye="🙅♀️",wye="🙅♀️",Nye="🙆",Oye="🙆♂️",Iye="🙆♀️",Mye="💁",Dye="💁",kye="💁♂️",Lye="💁♂️",Pye="💁♀️",Uye="💁♀️",Fye="🙋",Bye="🙋♂️",Gye="🙋♀️",Vye="🧏",zye="🧏♂️",Hye="🧏♀️",qye="🙇",Yye="🙇♂️",$ye="🙇♀️",Wye="🤦",Kye="🤦♂️",jye="🤦♀️",Qye="🤷",Xye="🤷♂️",Zye="🤷♀️",Jye="🧑⚕️",e0e="👨⚕️",t0e="👩⚕️",n0e="🧑🎓",i0e="👨🎓",s0e="👩🎓",r0e="🧑🏫",o0e="👨🏫",a0e="👩🏫",l0e="🧑⚖️",c0e="👨⚖️",d0e="👩⚖️",u0e="🧑🌾",p0e="👨🌾",_0e="👩🌾",h0e="🧑🍳",f0e="👨🍳",m0e="👩🍳",g0e="🧑🔧",b0e="👨🔧",E0e="👩🔧",v0e="🧑🏭",S0e="👨🏭",y0e="👩🏭",T0e="🧑💼",x0e="👨💼",C0e="👩💼",R0e="🧑🔬",A0e="👨🔬",w0e="👩🔬",N0e="🧑💻",O0e="👨💻",I0e="👩💻",M0e="🧑🎤",D0e="👨🎤",k0e="👩🎤",L0e="🧑🎨",P0e="👨🎨",U0e="👩🎨",F0e="🧑✈️",B0e="👨✈️",G0e="👩✈️",V0e="🧑🚀",z0e="👨🚀",H0e="👩🚀",q0e="🧑🚒",Y0e="👨🚒",$0e="👩🚒",W0e="👮",K0e="👮",j0e="👮♂️",Q0e="👮♀️",X0e="🕵️",Z0e="🕵️♂️",J0e="🕵️♀️",eTe="💂",tTe="💂♂️",nTe="💂♀️",iTe="🥷",sTe="👷",rTe="👷♂️",oTe="👷♀️",aTe="🤴",lTe="👸",cTe="👳",dTe="👳♂️",uTe="👳♀️",pTe="👲",_Te="🧕",hTe="🤵",fTe="🤵♂️",mTe="🤵♀️",gTe="👰",bTe="👰♂️",ETe="👰♀️",vTe="👰♀️",STe="🤰",yTe="🤱",TTe="👩🍼",xTe="👨🍼",CTe="🧑🍼",RTe="👼",ATe="🎅",wTe="🤶",NTe="🧑🎄",OTe="🦸",ITe="🦸♂️",MTe="🦸♀️",DTe="🦹",kTe="🦹♂️",LTe="🦹♀️",PTe="🧙",UTe="🧙♂️",FTe="🧙♀️",BTe="🧚",GTe="🧚♂️",VTe="🧚♀️",zTe="🧛",HTe="🧛♂️",qTe="🧛♀️",YTe="🧜",$Te="🧜♂️",WTe="🧜♀️",KTe="🧝",jTe="🧝♂️",QTe="🧝♀️",XTe="🧞",ZTe="🧞♂️",JTe="🧞♀️",exe="🧟",txe="🧟♂️",nxe="🧟♀️",ixe="💆",sxe="💆♂️",rxe="💆♀️",oxe="💇",axe="💇♂️",lxe="💇♀️",cxe="🚶",dxe="🚶♂️",uxe="🚶♀️",pxe="🧍",_xe="🧍♂️",hxe="🧍♀️",fxe="🧎",mxe="🧎♂️",gxe="🧎♀️",bxe="🧑🦯",Exe="👨🦯",vxe="👩🦯",Sxe="🧑🦼",yxe="👨🦼",Txe="👩🦼",xxe="🧑🦽",Cxe="👨🦽",Rxe="👩🦽",Axe="🏃",wxe="🏃",Nxe="🏃♂️",Oxe="🏃♀️",Ixe="💃",Mxe="💃",Dxe="🕺",kxe="🕴️",Lxe="👯",Pxe="👯♂️",Uxe="👯♀️",Fxe="🧖",Bxe="🧖♂️",Gxe="🧖♀️",Vxe="🧗",zxe="🧗♂️",Hxe="🧗♀️",qxe="🤺",Yxe="🏇",$xe="⛷️",Wxe="🏂",Kxe="🏌️",jxe="🏌️♂️",Qxe="🏌️♀️",Xxe="🏄",Zxe="🏄♂️",Jxe="🏄♀️",eCe="🚣",tCe="🚣♂️",nCe="🚣♀️",iCe="🏊",sCe="🏊♂️",rCe="🏊♀️",oCe="⛹️",aCe="⛹️♂️",lCe="⛹️♂️",cCe="⛹️♀️",dCe="⛹️♀️",uCe="🏋️",pCe="🏋️♂️",_Ce="🏋️♀️",hCe="🚴",fCe="🚴♂️",mCe="🚴♀️",gCe="🚵",bCe="🚵♂️",ECe="🚵♀️",vCe="🤸",SCe="🤸♂️",yCe="🤸♀️",TCe="🤼",xCe="🤼♂️",CCe="🤼♀️",RCe="🤽",ACe="🤽♂️",wCe="🤽♀️",NCe="🤾",OCe="🤾♂️",ICe="🤾♀️",MCe="🤹",DCe="🤹♂️",kCe="🤹♀️",LCe="🧘",PCe="🧘♂️",UCe="🧘♀️",FCe="🛀",BCe="🛌",GCe="🧑🤝🧑",VCe="👭",zCe="👫",HCe="👬",qCe="💏",YCe="👩❤️💋👨",$Ce="👨❤️💋👨",WCe="👩❤️💋👩",KCe="💑",jCe="👩❤️👨",QCe="👨❤️👨",XCe="👩❤️👩",ZCe="👪",JCe="👨👩👦",e1e="👨👩👧",t1e="👨👩👧👦",n1e="👨👩👦👦",i1e="👨👩👧👧",s1e="👨👨👦",r1e="👨👨👧",o1e="👨👨👧👦",a1e="👨👨👦👦",l1e="👨👨👧👧",c1e="👩👩👦",d1e="👩👩👧",u1e="👩👩👧👦",p1e="👩👩👦👦",_1e="👩👩👧👧",h1e="👨👦",f1e="👨👦👦",m1e="👨👧",g1e="👨👧👦",b1e="👨👧👧",E1e="👩👦",v1e="👩👦👦",S1e="👩👧",y1e="👩👧👦",T1e="👩👧👧",x1e="🗣️",C1e="👤",R1e="👥",A1e="🫂",w1e="👣",N1e="🐵",O1e="🐒",I1e="🦍",M1e="🦧",D1e="🐶",k1e="🐕",L1e="🦮",P1e="🐕🦺",U1e="🐩",F1e="🐺",B1e="🦊",G1e="🦝",V1e="🐱",z1e="🐈",H1e="🐈⬛",q1e="🦁",Y1e="🐯",$1e="🐅",W1e="🐆",K1e="🐴",j1e="🐎",Q1e="🦄",X1e="🦓",Z1e="🦌",J1e="🦬",eRe="🐮",tRe="🐂",nRe="🐃",iRe="🐄",sRe="🐷",rRe="🐖",oRe="🐗",aRe="🐽",lRe="🐏",cRe="🐑",dRe="🐐",uRe="🐪",pRe="🐫",_Re="🦙",hRe="🦒",fRe="🐘",mRe="🦣",gRe="🦏",bRe="🦛",ERe="🐭",vRe="🐁",SRe="🐀",yRe="🐹",TRe="🐰",xRe="🐇",CRe="🐿️",RRe="🦫",ARe="🦔",wRe="🦇",NRe="🐻",ORe="🐻❄️",IRe="🐨",MRe="🐼",DRe="🦥",kRe="🦦",LRe="🦨",PRe="🦘",URe="🦡",FRe="🐾",BRe="🐾",GRe="🦃",VRe="🐔",zRe="🐓",HRe="🐣",qRe="🐤",YRe="🐥",$Re="🐦",WRe="🐧",KRe="🕊️",jRe="🦅",QRe="🦆",XRe="🦢",ZRe="🦉",JRe="🦤",eAe="🪶",tAe="🦩",nAe="🦚",iAe="🦜",sAe="🐸",rAe="🐊",oAe="🐢",aAe="🦎",lAe="🐍",cAe="🐲",dAe="🐉",uAe="🦕",pAe="🐳",_Ae="🐋",hAe="🐬",fAe="🐬",mAe="🦭",gAe="🐟",bAe="🐠",EAe="🐡",vAe="🦈",SAe="🐙",yAe="🐚",TAe="🐌",xAe="🦋",CAe="🐛",RAe="🐜",AAe="🐝",wAe="🐝",NAe="🪲",OAe="🐞",IAe="🦗",MAe="🪳",DAe="🕷️",kAe="🕸️",LAe="🦂",PAe="🦟",UAe="🪰",FAe="🪱",BAe="🦠",GAe="💐",VAe="🌸",zAe="💮",HAe="🏵️",qAe="🌹",YAe="🥀",$Ae="🌺",WAe="🌻",KAe="🌼",jAe="🌷",QAe="🌱",XAe="🪴",ZAe="🌲",JAe="🌳",ewe="🌴",twe="🌵",nwe="🌾",iwe="🌿",swe="☘️",rwe="🍀",owe="🍁",awe="🍂",lwe="🍃",cwe="🍇",dwe="🍈",uwe="🍉",pwe="🍊",_we="🍊",hwe="🍊",fwe="🍋",mwe="🍌",gwe="🍍",bwe="🥭",Ewe="🍎",vwe="🍏",Swe="🍐",ywe="🍑",Twe="🍒",xwe="🍓",Cwe="🫐",Rwe="🥝",Awe="🍅",wwe="🫒",Nwe="🥥",Owe="🥑",Iwe="🍆",Mwe="🥔",Dwe="🥕",kwe="🌽",Lwe="🌶️",Pwe="🫑",Uwe="🥒",Fwe="🥬",Bwe="🥦",Gwe="🧄",Vwe="🧅",zwe="🍄",Hwe="🥜",qwe="🌰",Ywe="🍞",$we="🥐",Wwe="🥖",Kwe="🫓",jwe="🥨",Qwe="🥯",Xwe="🥞",Zwe="🧇",Jwe="🧀",eNe="🍖",tNe="🍗",nNe="🥩",iNe="🥓",sNe="🍔",rNe="🍟",oNe="🍕",aNe="🌭",lNe="🥪",cNe="🌮",dNe="🌯",uNe="🫔",pNe="🥙",_Ne="🧆",hNe="🥚",fNe="🍳",mNe="🥘",gNe="🍲",bNe="🫕",ENe="🥣",vNe="🥗",SNe="🍿",yNe="🧈",TNe="🧂",xNe="🥫",CNe="🍱",RNe="🍘",ANe="🍙",wNe="🍚",NNe="🍛",ONe="🍜",INe="🍝",MNe="🍠",DNe="🍢",kNe="🍣",LNe="🍤",PNe="🍥",UNe="🥮",FNe="🍡",BNe="🥟",GNe="🥠",VNe="🥡",zNe="🦀",HNe="🦞",qNe="🦐",YNe="🦑",$Ne="🦪",WNe="🍦",KNe="🍧",jNe="🍨",QNe="🍩",XNe="🍪",ZNe="🎂",JNe="🍰",eOe="🧁",tOe="🥧",nOe="🍫",iOe="🍬",sOe="🍭",rOe="🍮",oOe="🍯",aOe="🍼",lOe="🥛",cOe="☕",dOe="🫖",uOe="🍵",pOe="🍶",_Oe="🍾",hOe="🍷",fOe="🍸",mOe="🍹",gOe="🍺",bOe="🍻",EOe="🥂",vOe="🥃",SOe="🥤",yOe="🧋",TOe="🧃",xOe="🧉",COe="🧊",ROe="🥢",AOe="🍽️",wOe="🍴",NOe="🥄",OOe="🔪",IOe="🔪",MOe="🏺",DOe="🌍",kOe="🌎",LOe="🌏",POe="🌐",UOe="🗺️",FOe="🗾",BOe="🧭",GOe="🏔️",VOe="⛰️",zOe="🌋",HOe="🗻",qOe="🏕️",YOe="🏖️",$Oe="🏜️",WOe="🏝️",KOe="🏞️",jOe="🏟️",QOe="🏛️",XOe="🏗️",ZOe="🧱",JOe="🪨",eIe="🪵",tIe="🛖",nIe="🏘️",iIe="🏚️",sIe="🏠",rIe="🏡",oIe="🏢",aIe="🏣",lIe="🏤",cIe="🏥",dIe="🏦",uIe="🏨",pIe="🏩",_Ie="🏪",hIe="🏫",fIe="🏬",mIe="🏭",gIe="🏯",bIe="🏰",EIe="💒",vIe="🗼",SIe="🗽",yIe="⛪",TIe="🕌",xIe="🛕",CIe="🕍",RIe="⛩️",AIe="🕋",wIe="⛲",NIe="⛺",OIe="🌁",IIe="🌃",MIe="🏙️",DIe="🌄",kIe="🌅",LIe="🌆",PIe="🌇",UIe="🌉",FIe="♨️",BIe="🎠",GIe="🎡",VIe="🎢",zIe="💈",HIe="🎪",qIe="🚂",YIe="🚃",$Ie="🚄",WIe="🚅",KIe="🚆",jIe="🚇",QIe="🚈",XIe="🚉",ZIe="🚊",JIe="🚝",eMe="🚞",tMe="🚋",nMe="🚌",iMe="🚍",sMe="🚎",rMe="🚐",oMe="🚑",aMe="🚒",lMe="🚓",cMe="🚔",dMe="🚕",uMe="🚖",pMe="🚗",_Me="🚗",hMe="🚘",fMe="🚙",mMe="🛻",gMe="🚚",bMe="🚛",EMe="🚜",vMe="🏎️",SMe="🏍️",yMe="🛵",TMe="🦽",xMe="🦼",CMe="🛺",RMe="🚲",AMe="🛴",wMe="🛹",NMe="🛼",OMe="🚏",IMe="🛣️",MMe="🛤️",DMe="🛢️",kMe="⛽",LMe="🚨",PMe="🚥",UMe="🚦",FMe="🛑",BMe="🚧",GMe="⚓",VMe="⛵",zMe="⛵",HMe="🛶",qMe="🚤",YMe="🛳️",$Me="⛴️",WMe="🛥️",KMe="🚢",jMe="✈️",QMe="🛩️",XMe="🛫",ZMe="🛬",JMe="🪂",e2e="💺",t2e="🚁",n2e="🚟",i2e="🚠",s2e="🚡",r2e="🛰️",o2e="🚀",a2e="🛸",l2e="🛎️",c2e="🧳",d2e="⌛",u2e="⏳",p2e="⌚",_2e="⏰",h2e="⏱️",f2e="⏲️",m2e="🕰️",g2e="🕛",b2e="🕧",E2e="🕐",v2e="🕜",S2e="🕑",y2e="🕝",T2e="🕒",x2e="🕞",C2e="🕓",R2e="🕟",A2e="🕔",w2e="🕠",N2e="🕕",O2e="🕡",I2e="🕖",M2e="🕢",D2e="🕗",k2e="🕣",L2e="🕘",P2e="🕤",U2e="🕙",F2e="🕥",B2e="🕚",G2e="🕦",V2e="🌑",z2e="🌒",H2e="🌓",q2e="🌔",Y2e="🌔",$2e="🌕",W2e="🌖",K2e="🌗",j2e="🌘",Q2e="🌙",X2e="🌚",Z2e="🌛",J2e="🌜",eDe="🌡️",tDe="☀️",nDe="🌝",iDe="🌞",sDe="🪐",rDe="⭐",oDe="🌟",aDe="🌠",lDe="🌌",cDe="☁️",dDe="⛅",uDe="⛈️",pDe="🌤️",_De="🌥️",hDe="🌦️",fDe="🌧️",mDe="🌨️",gDe="🌩️",bDe="🌪️",EDe="🌫️",vDe="🌬️",SDe="🌀",yDe="🌈",TDe="🌂",xDe="☂️",CDe="☔",RDe="⛱️",ADe="⚡",wDe="❄️",NDe="☃️",ODe="⛄",IDe="☄️",MDe="🔥",DDe="💧",kDe="🌊",LDe="🎃",PDe="🎄",UDe="🎆",FDe="🎇",BDe="🧨",GDe="✨",VDe="🎈",zDe="🎉",HDe="🎊",qDe="🎋",YDe="🎍",$De="🎎",WDe="🎏",KDe="🎐",jDe="🎑",QDe="🧧",XDe="🎀",ZDe="🎁",JDe="🎗️",eke="🎟️",tke="🎫",nke="🎖️",ike="🏆",ske="🏅",rke="⚽",oke="⚾",ake="🥎",lke="🏀",cke="🏐",dke="🏈",uke="🏉",pke="🎾",_ke="🥏",hke="🎳",fke="🏏",mke="🏑",gke="🏒",bke="🥍",Eke="🏓",vke="🏸",Ske="🥊",yke="🥋",Tke="🥅",xke="⛳",Cke="⛸️",Rke="🎣",Ake="🤿",wke="🎽",Nke="🎿",Oke="🛷",Ike="🥌",Mke="🎯",Dke="🪀",kke="🪁",Lke="🔮",Pke="🪄",Uke="🧿",Fke="🎮",Bke="🕹️",Gke="🎰",Vke="🎲",zke="🧩",Hke="🧸",qke="🪅",Yke="🪆",$ke="♠️",Wke="♥️",Kke="♦️",jke="♣️",Qke="♟️",Xke="🃏",Zke="🀄",Jke="🎴",eLe="🎭",tLe="🖼️",nLe="🎨",iLe="🧵",sLe="🪡",rLe="🧶",oLe="🪢",aLe="👓",lLe="🕶️",cLe="🥽",dLe="🥼",uLe="🦺",pLe="👔",_Le="👕",hLe="👕",fLe="👖",mLe="🧣",gLe="🧤",bLe="🧥",ELe="🧦",vLe="👗",SLe="👘",yLe="🥻",TLe="🩱",xLe="🩲",CLe="🩳",RLe="👙",ALe="👚",wLe="👛",NLe="👜",OLe="👝",ILe="🛍️",MLe="🎒",DLe="🩴",kLe="👞",LLe="👞",PLe="👟",ULe="🥾",FLe="🥿",BLe="👠",GLe="👡",VLe="🩰",zLe="👢",HLe="👑",qLe="👒",YLe="🎩",$Le="🎓",WLe="🧢",KLe="🪖",jLe="⛑️",QLe="📿",XLe="💄",ZLe="💍",JLe="💎",ePe="🔇",tPe="🔈",nPe="🔉",iPe="🔊",sPe="📢",rPe="📣",oPe="📯",aPe="🔔",lPe="🔕",cPe="🎼",dPe="🎵",uPe="🎶",pPe="🎙️",_Pe="🎚️",hPe="🎛️",fPe="🎤",mPe="🎧",gPe="📻",bPe="🎷",EPe="🪗",vPe="🎸",SPe="🎹",yPe="🎺",TPe="🎻",xPe="🪕",CPe="🥁",RPe="🪘",APe="📱",wPe="📲",NPe="☎️",OPe="☎️",IPe="📞",MPe="📟",DPe="📠",kPe="🔋",LPe="🔌",PPe="💻",UPe="🖥️",FPe="🖨️",BPe="⌨️",GPe="🖱️",VPe="🖲️",zPe="💽",HPe="💾",qPe="💿",YPe="📀",$Pe="🧮",WPe="🎥",KPe="🎞️",jPe="📽️",QPe="🎬",XPe="📺",ZPe="📷",JPe="📸",eUe="📹",tUe="📼",nUe="🔍",iUe="🔎",sUe="🕯️",rUe="💡",oUe="🔦",aUe="🏮",lUe="🏮",cUe="🪔",dUe="📔",uUe="📕",pUe="📖",_Ue="📖",hUe="📗",fUe="📘",mUe="📙",gUe="📚",bUe="📓",EUe="📒",vUe="📃",SUe="📜",yUe="📄",TUe="📰",xUe="🗞️",CUe="📑",RUe="🔖",AUe="🏷️",wUe="💰",NUe="🪙",OUe="💴",IUe="💵",MUe="💶",DUe="💷",kUe="💸",LUe="💳",PUe="🧾",UUe="💹",FUe="✉️",BUe="📧",GUe="📨",VUe="📩",zUe="📤",HUe="📥",qUe="📫",YUe="📪",$Ue="📬",WUe="📭",KUe="📮",jUe="🗳️",QUe="✏️",XUe="✒️",ZUe="🖋️",JUe="🖊️",eFe="🖌️",tFe="🖍️",nFe="📝",iFe="📝",sFe="💼",rFe="📁",oFe="📂",aFe="🗂️",lFe="📅",cFe="📆",dFe="🗒️",uFe="🗓️",pFe="📇",_Fe="📈",hFe="📉",fFe="📊",mFe="📋",gFe="📌",bFe="📍",EFe="📎",vFe="🖇️",SFe="📏",yFe="📐",TFe="✂️",xFe="🗃️",CFe="🗄️",RFe="🗑️",AFe="🔒",wFe="🔓",NFe="🔏",OFe="🔐",IFe="🔑",MFe="🗝️",DFe="🔨",kFe="🪓",LFe="⛏️",PFe="⚒️",UFe="🛠️",FFe="🗡️",BFe="⚔️",GFe="🔫",VFe="🪃",zFe="🏹",HFe="🛡️",qFe="🪚",YFe="🔧",$Fe="🪛",WFe="🔩",KFe="⚙️",jFe="🗜️",QFe="⚖️",XFe="🦯",ZFe="🔗",JFe="⛓️",eBe="🪝",tBe="🧰",nBe="🧲",iBe="🪜",sBe="⚗️",rBe="🧪",oBe="🧫",aBe="🧬",lBe="🔬",cBe="🔭",dBe="📡",uBe="💉",pBe="🩸",_Be="💊",hBe="🩹",fBe="🩺",mBe="🚪",gBe="🛗",bBe="🪞",EBe="🪟",vBe="🛏️",SBe="🛋️",yBe="🪑",TBe="🚽",xBe="🪠",CBe="🚿",RBe="🛁",ABe="🪤",wBe="🪒",NBe="🧴",OBe="🧷",IBe="🧹",MBe="🧺",DBe="🧻",kBe="🪣",LBe="🧼",PBe="🪥",UBe="🧽",FBe="🧯",BBe="🛒",GBe="🚬",VBe="⚰️",zBe="🪦",HBe="⚱️",qBe="🗿",YBe="🪧",$Be="🏧",WBe="🚮",KBe="🚰",jBe="♿",QBe="🚹",XBe="🚺",ZBe="🚻",JBe="🚼",e3e="🚾",t3e="🛂",n3e="🛃",i3e="🛄",s3e="🛅",r3e="⚠️",o3e="🚸",a3e="⛔",l3e="🚫",c3e="🚳",d3e="🚭",u3e="🚯",p3e="🚷",_3e="📵",h3e="🔞",f3e="☢️",m3e="☣️",g3e="⬆️",b3e="↗️",E3e="➡️",v3e="↘️",S3e="⬇️",y3e="↙️",T3e="⬅️",x3e="↖️",C3e="↕️",R3e="↔️",A3e="↩️",w3e="↪️",N3e="⤴️",O3e="⤵️",I3e="🔃",M3e="🔄",D3e="🔙",k3e="🔚",L3e="🔛",P3e="🔜",U3e="🔝",F3e="🛐",B3e="⚛️",G3e="🕉️",V3e="✡️",z3e="☸️",H3e="☯️",q3e="✝️",Y3e="☦️",$3e="☪️",W3e="☮️",K3e="🕎",j3e="🔯",Q3e="♈",X3e="♉",Z3e="♊",J3e="♋",e4e="♌",t4e="♍",n4e="♎",i4e="♏",s4e="♐",r4e="♑",o4e="♒",a4e="♓",l4e="⛎",c4e="🔀",d4e="🔁",u4e="🔂",p4e="▶️",_4e="⏩",h4e="⏭️",f4e="⏯️",m4e="◀️",g4e="⏪",b4e="⏮️",E4e="🔼",v4e="⏫",S4e="🔽",y4e="⏬",T4e="⏸️",x4e="⏹️",C4e="⏺️",R4e="⏏️",A4e="🎦",w4e="🔅",N4e="🔆",O4e="📶",I4e="📳",M4e="📴",D4e="♀️",k4e="♂️",L4e="⚧️",P4e="✖️",U4e="➕",F4e="➖",B4e="➗",G4e="♾️",V4e="‼️",z4e="⁉️",H4e="❓",q4e="❔",Y4e="❕",$4e="❗",W4e="❗",K4e="〰️",j4e="💱",Q4e="💲",X4e="⚕️",Z4e="♻️",J4e="⚜️",e5e="🔱",t5e="📛",n5e="🔰",i5e="⭕",s5e="✅",r5e="☑️",o5e="✔️",a5e="❌",l5e="❎",c5e="➰",d5e="➿",u5e="〽️",p5e="✳️",_5e="✴️",h5e="❇️",f5e="©️",m5e="®️",g5e="™️",b5e="#️⃣",E5e="*️⃣",v5e="0️⃣",S5e="1️⃣",y5e="2️⃣",T5e="3️⃣",x5e="4️⃣",C5e="5️⃣",R5e="6️⃣",A5e="7️⃣",w5e="8️⃣",N5e="9️⃣",O5e="🔟",I5e="🔠",M5e="🔡",D5e="🔣",k5e="🔤",L5e="🅰️",P5e="🆎",U5e="🅱️",F5e="🆑",B5e="🆒",G5e="🆓",V5e="ℹ️",z5e="🆔",H5e="Ⓜ️",q5e="🆖",Y5e="🅾️",$5e="🆗",W5e="🅿️",K5e="🆘",j5e="🆙",Q5e="🆚",X5e="🈁",Z5e="🈂️",J5e="🉐",eGe="🉑",tGe="㊗️",nGe="㊙️",iGe="🈵",sGe="🔴",rGe="🟠",oGe="🟡",aGe="🟢",lGe="🔵",cGe="🟣",dGe="🟤",uGe="⚫",pGe="⚪",_Ge="🟥",hGe="🟧",fGe="🟨",mGe="🟩",gGe="🟦",bGe="🟪",EGe="🟫",vGe="⬛",SGe="⬜",yGe="◼️",TGe="◻️",xGe="◾",CGe="◽",RGe="▪️",AGe="▫️",wGe="🔶",NGe="🔷",OGe="🔸",IGe="🔹",MGe="🔺",DGe="🔻",kGe="💠",LGe="🔘",PGe="🔳",UGe="🔲",FGe="🏁",BGe="🚩",GGe="🎌",VGe="🏴",zGe="🏳️",HGe="🏳️🌈",qGe="🏳️⚧️",YGe="🏴☠️",$Ge="🇦🇨",WGe="🇦🇩",KGe="🇦🇪",jGe="🇦🇫",QGe="🇦🇬",XGe="🇦🇮",ZGe="🇦🇱",JGe="🇦🇲",e9e="🇦🇴",t9e="🇦🇶",n9e="🇦🇷",i9e="🇦🇸",s9e="🇦🇹",r9e="🇦🇺",o9e="🇦🇼",a9e="🇦🇽",l9e="🇦🇿",c9e="🇧🇦",d9e="🇧🇧",u9e="🇧🇩",p9e="🇧🇪",_9e="🇧🇫",h9e="🇧🇬",f9e="🇧🇭",m9e="🇧🇮",g9e="🇧🇯",b9e="🇧🇱",E9e="🇧🇲",v9e="🇧🇳",S9e="🇧🇴",y9e="🇧🇶",T9e="🇧🇷",x9e="🇧🇸",C9e="🇧🇹",R9e="🇧🇻",A9e="🇧🇼",w9e="🇧🇾",N9e="🇧🇿",O9e="🇨🇦",I9e="🇨🇨",M9e="🇨🇩",D9e="🇨🇫",k9e="🇨🇬",L9e="🇨🇭",P9e="🇨🇮",U9e="🇨🇰",F9e="🇨🇱",B9e="🇨🇲",G9e="🇨🇳",V9e="🇨🇴",z9e="🇨🇵",H9e="🇨🇷",q9e="🇨🇺",Y9e="🇨🇻",$9e="🇨🇼",W9e="🇨🇽",K9e="🇨🇾",j9e="🇨🇿",Q9e="🇩🇪",X9e="🇩🇬",Z9e="🇩🇯",J9e="🇩🇰",e8e="🇩🇲",t8e="🇩🇴",n8e="🇩🇿",i8e="🇪🇦",s8e="🇪🇨",r8e="🇪🇪",o8e="🇪🇬",a8e="🇪🇭",l8e="🇪🇷",c8e="🇪🇸",d8e="🇪🇹",u8e="🇪🇺",p8e="🇪🇺",_8e="🇫🇮",h8e="🇫🇯",f8e="🇫🇰",m8e="🇫🇲",g8e="🇫🇴",b8e="🇫🇷",E8e="🇬🇦",v8e="🇬🇧",S8e="🇬🇧",y8e="🇬🇩",T8e="🇬🇪",x8e="🇬🇫",C8e="🇬🇬",R8e="🇬🇭",A8e="🇬🇮",w8e="🇬🇱",N8e="🇬🇲",O8e="🇬🇳",I8e="🇬🇵",M8e="🇬🇶",D8e="🇬🇷",k8e="🇬🇸",L8e="🇬🇹",P8e="🇬🇺",U8e="🇬🇼",F8e="🇬🇾",B8e="🇭🇰",G8e="🇭🇲",V8e="🇭🇳",z8e="🇭🇷",H8e="🇭🇹",q8e="🇭🇺",Y8e="🇮🇨",$8e="🇮🇩",W8e="🇮🇪",K8e="🇮🇱",j8e="🇮🇲",Q8e="🇮🇳",X8e="🇮🇴",Z8e="🇮🇶",J8e="🇮🇷",e6e="🇮🇸",t6e="🇮🇹",n6e="🇯🇪",i6e="🇯🇲",s6e="🇯🇴",r6e="🇯🇵",o6e="🇰🇪",a6e="🇰🇬",l6e="🇰🇭",c6e="🇰🇮",d6e="🇰🇲",u6e="🇰🇳",p6e="🇰🇵",_6e="🇰🇷",h6e="🇰🇼",f6e="🇰🇾",m6e="🇰🇿",g6e="🇱🇦",b6e="🇱🇧",E6e="🇱🇨",v6e="🇱🇮",S6e="🇱🇰",y6e="🇱🇷",T6e="🇱🇸",x6e="🇱🇹",C6e="🇱🇺",R6e="🇱🇻",A6e="🇱🇾",w6e="🇲🇦",N6e="🇲🇨",O6e="🇲🇩",I6e="🇲🇪",M6e="🇲🇫",D6e="🇲🇬",k6e="🇲🇭",L6e="🇲🇰",P6e="🇲🇱",U6e="🇲🇲",F6e="🇲🇳",B6e="🇲🇴",G6e="🇲🇵",V6e="🇲🇶",z6e="🇲🇷",H6e="🇲🇸",q6e="🇲🇹",Y6e="🇲🇺",$6e="🇲🇻",W6e="🇲🇼",K6e="🇲🇽",j6e="🇲🇾",Q6e="🇲🇿",X6e="🇳🇦",Z6e="🇳🇨",J6e="🇳🇪",eVe="🇳🇫",tVe="🇳🇬",nVe="🇳🇮",iVe="🇳🇱",sVe="🇳🇴",rVe="🇳🇵",oVe="🇳🇷",aVe="🇳🇺",lVe="🇳🇿",cVe="🇴🇲",dVe="🇵🇦",uVe="🇵🇪",pVe="🇵🇫",_Ve="🇵🇬",hVe="🇵🇭",fVe="🇵🇰",mVe="🇵🇱",gVe="🇵🇲",bVe="🇵🇳",EVe="🇵🇷",vVe="🇵🇸",SVe="🇵🇹",yVe="🇵🇼",TVe="🇵🇾",xVe="🇶🇦",CVe="🇷🇪",RVe="🇷🇴",AVe="🇷🇸",wVe="🇷🇺",NVe="🇷🇼",OVe="🇸🇦",IVe="🇸🇧",MVe="🇸🇨",DVe="🇸🇩",kVe="🇸🇪",LVe="🇸🇬",PVe="🇸🇭",UVe="🇸🇮",FVe="🇸🇯",BVe="🇸🇰",GVe="🇸🇱",VVe="🇸🇲",zVe="🇸🇳",HVe="🇸🇴",qVe="🇸🇷",YVe="🇸🇸",$Ve="🇸🇹",WVe="🇸🇻",KVe="🇸🇽",jVe="🇸🇾",QVe="🇸🇿",XVe="🇹🇦",ZVe="🇹🇨",JVe="🇹🇩",eze="🇹🇫",tze="🇹🇬",nze="🇹🇭",ize="🇹🇯",sze="🇹🇰",rze="🇹🇱",oze="🇹🇲",aze="🇹🇳",lze="🇹🇴",cze="🇹🇷",dze="🇹🇹",uze="🇹🇻",pze="🇹🇼",_ze="🇹🇿",hze="🇺🇦",fze="🇺🇬",mze="🇺🇲",gze="🇺🇳",bze="🇺🇸",Eze="🇺🇾",vze="🇺🇿",Sze="🇻🇦",yze="🇻🇨",Tze="🇻🇪",xze="🇻🇬",Cze="🇻🇮",Rze="🇻🇳",Aze="🇻🇺",wze="🇼🇫",Nze="🇼🇸",Oze="🇽🇰",Ize="🇾🇪",Mze="🇾🇹",Dze="🇿🇦",kze="🇿🇲",Lze="🇿🇼",Pze="🏴",Uze="🏴",Fze="🏴",Bze={100:"💯",1234:"🔢",grinning:Qge,smiley:Xge,smile:Zge,grin:Jge,laughing:ebe,satisfied:tbe,sweat_smile:nbe,rofl:ibe,joy:sbe,slightly_smiling_face:rbe,upside_down_face:obe,wink:abe,blush:lbe,innocent:cbe,smiling_face_with_three_hearts:dbe,heart_eyes:ube,star_struck:pbe,kissing_heart:_be,kissing:hbe,relaxed:fbe,kissing_closed_eyes:mbe,kissing_smiling_eyes:gbe,smiling_face_with_tear:bbe,yum:Ebe,stuck_out_tongue:vbe,stuck_out_tongue_winking_eye:Sbe,zany_face:ybe,stuck_out_tongue_closed_eyes:Tbe,money_mouth_face:xbe,hugs:Cbe,hand_over_mouth:Rbe,shushing_face:Abe,thinking:wbe,zipper_mouth_face:Nbe,raised_eyebrow:Obe,neutral_face:Ibe,expressionless:Mbe,no_mouth:Dbe,smirk:kbe,unamused:Lbe,roll_eyes:Pbe,grimacing:Ube,lying_face:Fbe,relieved:Bbe,pensive:Gbe,sleepy:Vbe,drooling_face:zbe,sleeping:Hbe,mask:qbe,face_with_thermometer:Ybe,face_with_head_bandage:$be,nauseated_face:Wbe,vomiting_face:Kbe,sneezing_face:jbe,hot_face:Qbe,cold_face:Xbe,woozy_face:Zbe,dizzy_face:Jbe,exploding_head:eEe,cowboy_hat_face:tEe,partying_face:nEe,disguised_face:iEe,sunglasses:sEe,nerd_face:rEe,monocle_face:oEe,confused:aEe,worried:lEe,slightly_frowning_face:cEe,frowning_face:dEe,open_mouth:uEe,hushed:pEe,astonished:_Ee,flushed:hEe,pleading_face:fEe,frowning:mEe,anguished:gEe,fearful:bEe,cold_sweat:EEe,disappointed_relieved:vEe,cry:SEe,sob:yEe,scream:TEe,confounded:xEe,persevere:CEe,disappointed:REe,sweat:AEe,weary:wEe,tired_face:NEe,yawning_face:OEe,triumph:IEe,rage:MEe,pout:DEe,angry:kEe,cursing_face:LEe,smiling_imp:PEe,imp:UEe,skull:FEe,skull_and_crossbones:BEe,hankey:GEe,poop:VEe,shit:zEe,clown_face:HEe,japanese_ogre:qEe,japanese_goblin:YEe,ghost:$Ee,alien:WEe,space_invader:KEe,robot:jEe,smiley_cat:QEe,smile_cat:XEe,joy_cat:ZEe,heart_eyes_cat:JEe,smirk_cat:eve,kissing_cat:tve,scream_cat:nve,crying_cat_face:ive,pouting_cat:sve,see_no_evil:rve,hear_no_evil:ove,speak_no_evil:ave,kiss:lve,love_letter:cve,cupid:dve,gift_heart:uve,sparkling_heart:pve,heartpulse:_ve,heartbeat:hve,revolving_hearts:fve,two_hearts:mve,heart_decoration:gve,heavy_heart_exclamation:bve,broken_heart:Eve,heart:vve,orange_heart:Sve,yellow_heart:yve,green_heart:Tve,blue_heart:xve,purple_heart:Cve,brown_heart:Rve,black_heart:Ave,white_heart:wve,anger:Nve,boom:Ove,collision:Ive,dizzy:Mve,sweat_drops:Dve,dash:kve,hole:Lve,bomb:Pve,speech_balloon:Uve,eye_speech_bubble:Fve,left_speech_bubble:Bve,right_anger_bubble:Gve,thought_balloon:Vve,zzz:zve,wave:Hve,raised_back_of_hand:qve,raised_hand_with_fingers_splayed:Yve,hand:$ve,raised_hand:Wve,vulcan_salute:Kve,ok_hand:jve,pinched_fingers:Qve,pinching_hand:Xve,v:Zve,crossed_fingers:Jve,love_you_gesture:eSe,metal:tSe,call_me_hand:nSe,point_left:iSe,point_right:sSe,point_up_2:rSe,middle_finger:oSe,fu:aSe,point_down:lSe,point_up:cSe,"+1":"👍",thumbsup:dSe,"-1":"👎",thumbsdown:uSe,fist_raised:pSe,fist:_Se,fist_oncoming:hSe,facepunch:fSe,punch:mSe,fist_left:gSe,fist_right:bSe,clap:ESe,raised_hands:vSe,open_hands:SSe,palms_up_together:ySe,handshake:TSe,pray:xSe,writing_hand:CSe,nail_care:RSe,selfie:ASe,muscle:wSe,mechanical_arm:NSe,mechanical_leg:OSe,leg:ISe,foot:MSe,ear:DSe,ear_with_hearing_aid:kSe,nose:LSe,brain:PSe,anatomical_heart:USe,lungs:FSe,tooth:BSe,bone:GSe,eyes:VSe,eye:zSe,tongue:HSe,lips:qSe,baby:YSe,child:$Se,boy:WSe,girl:KSe,adult:jSe,blond_haired_person:QSe,man:XSe,bearded_person:ZSe,red_haired_man:JSe,curly_haired_man:eye,white_haired_man:tye,bald_man:nye,woman:iye,red_haired_woman:sye,person_red_hair:rye,curly_haired_woman:oye,person_curly_hair:aye,white_haired_woman:lye,person_white_hair:cye,bald_woman:dye,person_bald:uye,blond_haired_woman:pye,blonde_woman:_ye,blond_haired_man:hye,older_adult:fye,older_man:mye,older_woman:gye,frowning_person:bye,frowning_man:Eye,frowning_woman:vye,pouting_face:Sye,pouting_man:yye,pouting_woman:Tye,no_good:xye,no_good_man:Cye,ng_man:Rye,no_good_woman:Aye,ng_woman:wye,ok_person:Nye,ok_man:Oye,ok_woman:Iye,tipping_hand_person:Mye,information_desk_person:Dye,tipping_hand_man:kye,sassy_man:Lye,tipping_hand_woman:Pye,sassy_woman:Uye,raising_hand:Fye,raising_hand_man:Bye,raising_hand_woman:Gye,deaf_person:Vye,deaf_man:zye,deaf_woman:Hye,bow:qye,bowing_man:Yye,bowing_woman:$ye,facepalm:Wye,man_facepalming:Kye,woman_facepalming:jye,shrug:Qye,man_shrugging:Xye,woman_shrugging:Zye,health_worker:Jye,man_health_worker:e0e,woman_health_worker:t0e,student:n0e,man_student:i0e,woman_student:s0e,teacher:r0e,man_teacher:o0e,woman_teacher:a0e,judge:l0e,man_judge:c0e,woman_judge:d0e,farmer:u0e,man_farmer:p0e,woman_farmer:_0e,cook:h0e,man_cook:f0e,woman_cook:m0e,mechanic:g0e,man_mechanic:b0e,woman_mechanic:E0e,factory_worker:v0e,man_factory_worker:S0e,woman_factory_worker:y0e,office_worker:T0e,man_office_worker:x0e,woman_office_worker:C0e,scientist:R0e,man_scientist:A0e,woman_scientist:w0e,technologist:N0e,man_technologist:O0e,woman_technologist:I0e,singer:M0e,man_singer:D0e,woman_singer:k0e,artist:L0e,man_artist:P0e,woman_artist:U0e,pilot:F0e,man_pilot:B0e,woman_pilot:G0e,astronaut:V0e,man_astronaut:z0e,woman_astronaut:H0e,firefighter:q0e,man_firefighter:Y0e,woman_firefighter:$0e,police_officer:W0e,cop:K0e,policeman:j0e,policewoman:Q0e,detective:X0e,male_detective:Z0e,female_detective:J0e,guard:eTe,guardsman:tTe,guardswoman:nTe,ninja:iTe,construction_worker:sTe,construction_worker_man:rTe,construction_worker_woman:oTe,prince:aTe,princess:lTe,person_with_turban:cTe,man_with_turban:dTe,woman_with_turban:uTe,man_with_gua_pi_mao:pTe,woman_with_headscarf:_Te,person_in_tuxedo:hTe,man_in_tuxedo:fTe,woman_in_tuxedo:mTe,person_with_veil:gTe,man_with_veil:bTe,woman_with_veil:ETe,bride_with_veil:vTe,pregnant_woman:STe,breast_feeding:yTe,woman_feeding_baby:TTe,man_feeding_baby:xTe,person_feeding_baby:CTe,angel:RTe,santa:ATe,mrs_claus:wTe,mx_claus:NTe,superhero:OTe,superhero_man:ITe,superhero_woman:MTe,supervillain:DTe,supervillain_man:kTe,supervillain_woman:LTe,mage:PTe,mage_man:UTe,mage_woman:FTe,fairy:BTe,fairy_man:GTe,fairy_woman:VTe,vampire:zTe,vampire_man:HTe,vampire_woman:qTe,merperson:YTe,merman:$Te,mermaid:WTe,elf:KTe,elf_man:jTe,elf_woman:QTe,genie:XTe,genie_man:ZTe,genie_woman:JTe,zombie:exe,zombie_man:txe,zombie_woman:nxe,massage:ixe,massage_man:sxe,massage_woman:rxe,haircut:oxe,haircut_man:axe,haircut_woman:lxe,walking:cxe,walking_man:dxe,walking_woman:uxe,standing_person:pxe,standing_man:_xe,standing_woman:hxe,kneeling_person:fxe,kneeling_man:mxe,kneeling_woman:gxe,person_with_probing_cane:bxe,man_with_probing_cane:Exe,woman_with_probing_cane:vxe,person_in_motorized_wheelchair:Sxe,man_in_motorized_wheelchair:yxe,woman_in_motorized_wheelchair:Txe,person_in_manual_wheelchair:xxe,man_in_manual_wheelchair:Cxe,woman_in_manual_wheelchair:Rxe,runner:Axe,running:wxe,running_man:Nxe,running_woman:Oxe,woman_dancing:Ixe,dancer:Mxe,man_dancing:Dxe,business_suit_levitating:kxe,dancers:Lxe,dancing_men:Pxe,dancing_women:Uxe,sauna_person:Fxe,sauna_man:Bxe,sauna_woman:Gxe,climbing:Vxe,climbing_man:zxe,climbing_woman:Hxe,person_fencing:qxe,horse_racing:Yxe,skier:$xe,snowboarder:Wxe,golfing:Kxe,golfing_man:jxe,golfing_woman:Qxe,surfer:Xxe,surfing_man:Zxe,surfing_woman:Jxe,rowboat:eCe,rowing_man:tCe,rowing_woman:nCe,swimmer:iCe,swimming_man:sCe,swimming_woman:rCe,bouncing_ball_person:oCe,bouncing_ball_man:aCe,basketball_man:lCe,bouncing_ball_woman:cCe,basketball_woman:dCe,weight_lifting:uCe,weight_lifting_man:pCe,weight_lifting_woman:_Ce,bicyclist:hCe,biking_man:fCe,biking_woman:mCe,mountain_bicyclist:gCe,mountain_biking_man:bCe,mountain_biking_woman:ECe,cartwheeling:vCe,man_cartwheeling:SCe,woman_cartwheeling:yCe,wrestling:TCe,men_wrestling:xCe,women_wrestling:CCe,water_polo:RCe,man_playing_water_polo:ACe,woman_playing_water_polo:wCe,handball_person:NCe,man_playing_handball:OCe,woman_playing_handball:ICe,juggling_person:MCe,man_juggling:DCe,woman_juggling:kCe,lotus_position:LCe,lotus_position_man:PCe,lotus_position_woman:UCe,bath:FCe,sleeping_bed:BCe,people_holding_hands:GCe,two_women_holding_hands:VCe,couple:zCe,two_men_holding_hands:HCe,couplekiss:qCe,couplekiss_man_woman:YCe,couplekiss_man_man:$Ce,couplekiss_woman_woman:WCe,couple_with_heart:KCe,couple_with_heart_woman_man:jCe,couple_with_heart_man_man:QCe,couple_with_heart_woman_woman:XCe,family:ZCe,family_man_woman_boy:JCe,family_man_woman_girl:e1e,family_man_woman_girl_boy:t1e,family_man_woman_boy_boy:n1e,family_man_woman_girl_girl:i1e,family_man_man_boy:s1e,family_man_man_girl:r1e,family_man_man_girl_boy:o1e,family_man_man_boy_boy:a1e,family_man_man_girl_girl:l1e,family_woman_woman_boy:c1e,family_woman_woman_girl:d1e,family_woman_woman_girl_boy:u1e,family_woman_woman_boy_boy:p1e,family_woman_woman_girl_girl:_1e,family_man_boy:h1e,family_man_boy_boy:f1e,family_man_girl:m1e,family_man_girl_boy:g1e,family_man_girl_girl:b1e,family_woman_boy:E1e,family_woman_boy_boy:v1e,family_woman_girl:S1e,family_woman_girl_boy:y1e,family_woman_girl_girl:T1e,speaking_head:x1e,bust_in_silhouette:C1e,busts_in_silhouette:R1e,people_hugging:A1e,footprints:w1e,monkey_face:N1e,monkey:O1e,gorilla:I1e,orangutan:M1e,dog:D1e,dog2:k1e,guide_dog:L1e,service_dog:P1e,poodle:U1e,wolf:F1e,fox_face:B1e,raccoon:G1e,cat:V1e,cat2:z1e,black_cat:H1e,lion:q1e,tiger:Y1e,tiger2:$1e,leopard:W1e,horse:K1e,racehorse:j1e,unicorn:Q1e,zebra:X1e,deer:Z1e,bison:J1e,cow:eRe,ox:tRe,water_buffalo:nRe,cow2:iRe,pig:sRe,pig2:rRe,boar:oRe,pig_nose:aRe,ram:lRe,sheep:cRe,goat:dRe,dromedary_camel:uRe,camel:pRe,llama:_Re,giraffe:hRe,elephant:fRe,mammoth:mRe,rhinoceros:gRe,hippopotamus:bRe,mouse:ERe,mouse2:vRe,rat:SRe,hamster:yRe,rabbit:TRe,rabbit2:xRe,chipmunk:CRe,beaver:RRe,hedgehog:ARe,bat:wRe,bear:NRe,polar_bear:ORe,koala:IRe,panda_face:MRe,sloth:DRe,otter:kRe,skunk:LRe,kangaroo:PRe,badger:URe,feet:FRe,paw_prints:BRe,turkey:GRe,chicken:VRe,rooster:zRe,hatching_chick:HRe,baby_chick:qRe,hatched_chick:YRe,bird:$Re,penguin:WRe,dove:KRe,eagle:jRe,duck:QRe,swan:XRe,owl:ZRe,dodo:JRe,feather:eAe,flamingo:tAe,peacock:nAe,parrot:iAe,frog:sAe,crocodile:rAe,turtle:oAe,lizard:aAe,snake:lAe,dragon_face:cAe,dragon:dAe,sauropod:uAe,"t-rex":"🦖",whale:pAe,whale2:_Ae,dolphin:hAe,flipper:fAe,seal:mAe,fish:gAe,tropical_fish:bAe,blowfish:EAe,shark:vAe,octopus:SAe,shell:yAe,snail:TAe,butterfly:xAe,bug:CAe,ant:RAe,bee:AAe,honeybee:wAe,beetle:NAe,lady_beetle:OAe,cricket:IAe,cockroach:MAe,spider:DAe,spider_web:kAe,scorpion:LAe,mosquito:PAe,fly:UAe,worm:FAe,microbe:BAe,bouquet:GAe,cherry_blossom:VAe,white_flower:zAe,rosette:HAe,rose:qAe,wilted_flower:YAe,hibiscus:$Ae,sunflower:WAe,blossom:KAe,tulip:jAe,seedling:QAe,potted_plant:XAe,evergreen_tree:ZAe,deciduous_tree:JAe,palm_tree:ewe,cactus:twe,ear_of_rice:nwe,herb:iwe,shamrock:swe,four_leaf_clover:rwe,maple_leaf:owe,fallen_leaf:awe,leaves:lwe,grapes:cwe,melon:dwe,watermelon:uwe,tangerine:pwe,orange:_we,mandarin:hwe,lemon:fwe,banana:mwe,pineapple:gwe,mango:bwe,apple:Ewe,green_apple:vwe,pear:Swe,peach:ywe,cherries:Twe,strawberry:xwe,blueberries:Cwe,kiwi_fruit:Rwe,tomato:Awe,olive:wwe,coconut:Nwe,avocado:Owe,eggplant:Iwe,potato:Mwe,carrot:Dwe,corn:kwe,hot_pepper:Lwe,bell_pepper:Pwe,cucumber:Uwe,leafy_green:Fwe,broccoli:Bwe,garlic:Gwe,onion:Vwe,mushroom:zwe,peanuts:Hwe,chestnut:qwe,bread:Ywe,croissant:$we,baguette_bread:Wwe,flatbread:Kwe,pretzel:jwe,bagel:Qwe,pancakes:Xwe,waffle:Zwe,cheese:Jwe,meat_on_bone:eNe,poultry_leg:tNe,cut_of_meat:nNe,bacon:iNe,hamburger:sNe,fries:rNe,pizza:oNe,hotdog:aNe,sandwich:lNe,taco:cNe,burrito:dNe,tamale:uNe,stuffed_flatbread:pNe,falafel:_Ne,egg:hNe,fried_egg:fNe,shallow_pan_of_food:mNe,stew:gNe,fondue:bNe,bowl_with_spoon:ENe,green_salad:vNe,popcorn:SNe,butter:yNe,salt:TNe,canned_food:xNe,bento:CNe,rice_cracker:RNe,rice_ball:ANe,rice:wNe,curry:NNe,ramen:ONe,spaghetti:INe,sweet_potato:MNe,oden:DNe,sushi:kNe,fried_shrimp:LNe,fish_cake:PNe,moon_cake:UNe,dango:FNe,dumpling:BNe,fortune_cookie:GNe,takeout_box:VNe,crab:zNe,lobster:HNe,shrimp:qNe,squid:YNe,oyster:$Ne,icecream:WNe,shaved_ice:KNe,ice_cream:jNe,doughnut:QNe,cookie:XNe,birthday:ZNe,cake:JNe,cupcake:eOe,pie:tOe,chocolate_bar:nOe,candy:iOe,lollipop:sOe,custard:rOe,honey_pot:oOe,baby_bottle:aOe,milk_glass:lOe,coffee:cOe,teapot:dOe,tea:uOe,sake:pOe,champagne:_Oe,wine_glass:hOe,cocktail:fOe,tropical_drink:mOe,beer:gOe,beers:bOe,clinking_glasses:EOe,tumbler_glass:vOe,cup_with_straw:SOe,bubble_tea:yOe,beverage_box:TOe,mate:xOe,ice_cube:COe,chopsticks:ROe,plate_with_cutlery:AOe,fork_and_knife:wOe,spoon:NOe,hocho:OOe,knife:IOe,amphora:MOe,earth_africa:DOe,earth_americas:kOe,earth_asia:LOe,globe_with_meridians:POe,world_map:UOe,japan:FOe,compass:BOe,mountain_snow:GOe,mountain:VOe,volcano:zOe,mount_fuji:HOe,camping:qOe,beach_umbrella:YOe,desert:$Oe,desert_island:WOe,national_park:KOe,stadium:jOe,classical_building:QOe,building_construction:XOe,bricks:ZOe,rock:JOe,wood:eIe,hut:tIe,houses:nIe,derelict_house:iIe,house:sIe,house_with_garden:rIe,office:oIe,post_office:aIe,european_post_office:lIe,hospital:cIe,bank:dIe,hotel:uIe,love_hotel:pIe,convenience_store:_Ie,school:hIe,department_store:fIe,factory:mIe,japanese_castle:gIe,european_castle:bIe,wedding:EIe,tokyo_tower:vIe,statue_of_liberty:SIe,church:yIe,mosque:TIe,hindu_temple:xIe,synagogue:CIe,shinto_shrine:RIe,kaaba:AIe,fountain:wIe,tent:NIe,foggy:OIe,night_with_stars:IIe,cityscape:MIe,sunrise_over_mountains:DIe,sunrise:kIe,city_sunset:LIe,city_sunrise:PIe,bridge_at_night:UIe,hotsprings:FIe,carousel_horse:BIe,ferris_wheel:GIe,roller_coaster:VIe,barber:zIe,circus_tent:HIe,steam_locomotive:qIe,railway_car:YIe,bullettrain_side:$Ie,bullettrain_front:WIe,train2:KIe,metro:jIe,light_rail:QIe,station:XIe,tram:ZIe,monorail:JIe,mountain_railway:eMe,train:tMe,bus:nMe,oncoming_bus:iMe,trolleybus:sMe,minibus:rMe,ambulance:oMe,fire_engine:aMe,police_car:lMe,oncoming_police_car:cMe,taxi:dMe,oncoming_taxi:uMe,car:pMe,red_car:_Me,oncoming_automobile:hMe,blue_car:fMe,pickup_truck:mMe,truck:gMe,articulated_lorry:bMe,tractor:EMe,racing_car:vMe,motorcycle:SMe,motor_scooter:yMe,manual_wheelchair:TMe,motorized_wheelchair:xMe,auto_rickshaw:CMe,bike:RMe,kick_scooter:AMe,skateboard:wMe,roller_skate:NMe,busstop:OMe,motorway:IMe,railway_track:MMe,oil_drum:DMe,fuelpump:kMe,rotating_light:LMe,traffic_light:PMe,vertical_traffic_light:UMe,stop_sign:FMe,construction:BMe,anchor:GMe,boat:VMe,sailboat:zMe,canoe:HMe,speedboat:qMe,passenger_ship:YMe,ferry:$Me,motor_boat:WMe,ship:KMe,airplane:jMe,small_airplane:QMe,flight_departure:XMe,flight_arrival:ZMe,parachute:JMe,seat:e2e,helicopter:t2e,suspension_railway:n2e,mountain_cableway:i2e,aerial_tramway:s2e,artificial_satellite:r2e,rocket:o2e,flying_saucer:a2e,bellhop_bell:l2e,luggage:c2e,hourglass:d2e,hourglass_flowing_sand:u2e,watch:p2e,alarm_clock:_2e,stopwatch:h2e,timer_clock:f2e,mantelpiece_clock:m2e,clock12:g2e,clock1230:b2e,clock1:E2e,clock130:v2e,clock2:S2e,clock230:y2e,clock3:T2e,clock330:x2e,clock4:C2e,clock430:R2e,clock5:A2e,clock530:w2e,clock6:N2e,clock630:O2e,clock7:I2e,clock730:M2e,clock8:D2e,clock830:k2e,clock9:L2e,clock930:P2e,clock10:U2e,clock1030:F2e,clock11:B2e,clock1130:G2e,new_moon:V2e,waxing_crescent_moon:z2e,first_quarter_moon:H2e,moon:q2e,waxing_gibbous_moon:Y2e,full_moon:$2e,waning_gibbous_moon:W2e,last_quarter_moon:K2e,waning_crescent_moon:j2e,crescent_moon:Q2e,new_moon_with_face:X2e,first_quarter_moon_with_face:Z2e,last_quarter_moon_with_face:J2e,thermometer:eDe,sunny:tDe,full_moon_with_face:nDe,sun_with_face:iDe,ringed_planet:sDe,star:rDe,star2:oDe,stars:aDe,milky_way:lDe,cloud:cDe,partly_sunny:dDe,cloud_with_lightning_and_rain:uDe,sun_behind_small_cloud:pDe,sun_behind_large_cloud:_De,sun_behind_rain_cloud:hDe,cloud_with_rain:fDe,cloud_with_snow:mDe,cloud_with_lightning:gDe,tornado:bDe,fog:EDe,wind_face:vDe,cyclone:SDe,rainbow:yDe,closed_umbrella:TDe,open_umbrella:xDe,umbrella:CDe,parasol_on_ground:RDe,zap:ADe,snowflake:wDe,snowman_with_snow:NDe,snowman:ODe,comet:IDe,fire:MDe,droplet:DDe,ocean:kDe,jack_o_lantern:LDe,christmas_tree:PDe,fireworks:UDe,sparkler:FDe,firecracker:BDe,sparkles:GDe,balloon:VDe,tada:zDe,confetti_ball:HDe,tanabata_tree:qDe,bamboo:YDe,dolls:$De,flags:WDe,wind_chime:KDe,rice_scene:jDe,red_envelope:QDe,ribbon:XDe,gift:ZDe,reminder_ribbon:JDe,tickets:eke,ticket:tke,medal_military:nke,trophy:ike,medal_sports:ske,"1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉",soccer:rke,baseball:oke,softball:ake,basketball:lke,volleyball:cke,football:dke,rugby_football:uke,tennis:pke,flying_disc:_ke,bowling:hke,cricket_game:fke,field_hockey:mke,ice_hockey:gke,lacrosse:bke,ping_pong:Eke,badminton:vke,boxing_glove:Ske,martial_arts_uniform:yke,goal_net:Tke,golf:xke,ice_skate:Cke,fishing_pole_and_fish:Rke,diving_mask:Ake,running_shirt_with_sash:wke,ski:Nke,sled:Oke,curling_stone:Ike,dart:Mke,yo_yo:Dke,kite:kke,"8ball":"🎱",crystal_ball:Lke,magic_wand:Pke,nazar_amulet:Uke,video_game:Fke,joystick:Bke,slot_machine:Gke,game_die:Vke,jigsaw:zke,teddy_bear:Hke,pinata:qke,nesting_dolls:Yke,spades:$ke,hearts:Wke,diamonds:Kke,clubs:jke,chess_pawn:Qke,black_joker:Xke,mahjong:Zke,flower_playing_cards:Jke,performing_arts:eLe,framed_picture:tLe,art:nLe,thread:iLe,sewing_needle:sLe,yarn:rLe,knot:oLe,eyeglasses:aLe,dark_sunglasses:lLe,goggles:cLe,lab_coat:dLe,safety_vest:uLe,necktie:pLe,shirt:_Le,tshirt:hLe,jeans:fLe,scarf:mLe,gloves:gLe,coat:bLe,socks:ELe,dress:vLe,kimono:SLe,sari:yLe,one_piece_swimsuit:TLe,swim_brief:xLe,shorts:CLe,bikini:RLe,womans_clothes:ALe,purse:wLe,handbag:NLe,pouch:OLe,shopping:ILe,school_satchel:MLe,thong_sandal:DLe,mans_shoe:kLe,shoe:LLe,athletic_shoe:PLe,hiking_boot:ULe,flat_shoe:FLe,high_heel:BLe,sandal:GLe,ballet_shoes:VLe,boot:zLe,crown:HLe,womans_hat:qLe,tophat:YLe,mortar_board:$Le,billed_cap:WLe,military_helmet:KLe,rescue_worker_helmet:jLe,prayer_beads:QLe,lipstick:XLe,ring:ZLe,gem:JLe,mute:ePe,speaker:tPe,sound:nPe,loud_sound:iPe,loudspeaker:sPe,mega:rPe,postal_horn:oPe,bell:aPe,no_bell:lPe,musical_score:cPe,musical_note:dPe,notes:uPe,studio_microphone:pPe,level_slider:_Pe,control_knobs:hPe,microphone:fPe,headphones:mPe,radio:gPe,saxophone:bPe,accordion:EPe,guitar:vPe,musical_keyboard:SPe,trumpet:yPe,violin:TPe,banjo:xPe,drum:CPe,long_drum:RPe,iphone:APe,calling:wPe,phone:NPe,telephone:OPe,telephone_receiver:IPe,pager:MPe,fax:DPe,battery:kPe,electric_plug:LPe,computer:PPe,desktop_computer:UPe,printer:FPe,keyboard:BPe,computer_mouse:GPe,trackball:VPe,minidisc:zPe,floppy_disk:HPe,cd:qPe,dvd:YPe,abacus:$Pe,movie_camera:WPe,film_strip:KPe,film_projector:jPe,clapper:QPe,tv:XPe,camera:ZPe,camera_flash:JPe,video_camera:eUe,vhs:tUe,mag:nUe,mag_right:iUe,candle:sUe,bulb:rUe,flashlight:oUe,izakaya_lantern:aUe,lantern:lUe,diya_lamp:cUe,notebook_with_decorative_cover:dUe,closed_book:uUe,book:pUe,open_book:_Ue,green_book:hUe,blue_book:fUe,orange_book:mUe,books:gUe,notebook:bUe,ledger:EUe,page_with_curl:vUe,scroll:SUe,page_facing_up:yUe,newspaper:TUe,newspaper_roll:xUe,bookmark_tabs:CUe,bookmark:RUe,label:AUe,moneybag:wUe,coin:NUe,yen:OUe,dollar:IUe,euro:MUe,pound:DUe,money_with_wings:kUe,credit_card:LUe,receipt:PUe,chart:UUe,envelope:FUe,email:BUe,"e-mail":"📧",incoming_envelope:GUe,envelope_with_arrow:VUe,outbox_tray:zUe,inbox_tray:HUe,package:"📦",mailbox:qUe,mailbox_closed:YUe,mailbox_with_mail:$Ue,mailbox_with_no_mail:WUe,postbox:KUe,ballot_box:jUe,pencil2:QUe,black_nib:XUe,fountain_pen:ZUe,pen:JUe,paintbrush:eFe,crayon:tFe,memo:nFe,pencil:iFe,briefcase:sFe,file_folder:rFe,open_file_folder:oFe,card_index_dividers:aFe,date:lFe,calendar:cFe,spiral_notepad:dFe,spiral_calendar:uFe,card_index:pFe,chart_with_upwards_trend:_Fe,chart_with_downwards_trend:hFe,bar_chart:fFe,clipboard:mFe,pushpin:gFe,round_pushpin:bFe,paperclip:EFe,paperclips:vFe,straight_ruler:SFe,triangular_ruler:yFe,scissors:TFe,card_file_box:xFe,file_cabinet:CFe,wastebasket:RFe,lock:AFe,unlock:wFe,lock_with_ink_pen:NFe,closed_lock_with_key:OFe,key:IFe,old_key:MFe,hammer:DFe,axe:kFe,pick:LFe,hammer_and_pick:PFe,hammer_and_wrench:UFe,dagger:FFe,crossed_swords:BFe,gun:GFe,boomerang:VFe,bow_and_arrow:zFe,shield:HFe,carpentry_saw:qFe,wrench:YFe,screwdriver:$Fe,nut_and_bolt:WFe,gear:KFe,clamp:jFe,balance_scale:QFe,probing_cane:XFe,link:ZFe,chains:JFe,hook:eBe,toolbox:tBe,magnet:nBe,ladder:iBe,alembic:sBe,test_tube:rBe,petri_dish:oBe,dna:aBe,microscope:lBe,telescope:cBe,satellite:dBe,syringe:uBe,drop_of_blood:pBe,pill:_Be,adhesive_bandage:hBe,stethoscope:fBe,door:mBe,elevator:gBe,mirror:bBe,window:EBe,bed:vBe,couch_and_lamp:SBe,chair:yBe,toilet:TBe,plunger:xBe,shower:CBe,bathtub:RBe,mouse_trap:ABe,razor:wBe,lotion_bottle:NBe,safety_pin:OBe,broom:IBe,basket:MBe,roll_of_paper:DBe,bucket:kBe,soap:LBe,toothbrush:PBe,sponge:UBe,fire_extinguisher:FBe,shopping_cart:BBe,smoking:GBe,coffin:VBe,headstone:zBe,funeral_urn:HBe,moyai:qBe,placard:YBe,atm:$Be,put_litter_in_its_place:WBe,potable_water:KBe,wheelchair:jBe,mens:QBe,womens:XBe,restroom:ZBe,baby_symbol:JBe,wc:e3e,passport_control:t3e,customs:n3e,baggage_claim:i3e,left_luggage:s3e,warning:r3e,children_crossing:o3e,no_entry:a3e,no_entry_sign:l3e,no_bicycles:c3e,no_smoking:d3e,do_not_litter:u3e,"non-potable_water":"🚱",no_pedestrians:p3e,no_mobile_phones:_3e,underage:h3e,radioactive:f3e,biohazard:m3e,arrow_up:g3e,arrow_upper_right:b3e,arrow_right:E3e,arrow_lower_right:v3e,arrow_down:S3e,arrow_lower_left:y3e,arrow_left:T3e,arrow_upper_left:x3e,arrow_up_down:C3e,left_right_arrow:R3e,leftwards_arrow_with_hook:A3e,arrow_right_hook:w3e,arrow_heading_up:N3e,arrow_heading_down:O3e,arrows_clockwise:I3e,arrows_counterclockwise:M3e,back:D3e,end:k3e,on:L3e,soon:P3e,top:U3e,place_of_worship:F3e,atom_symbol:B3e,om:G3e,star_of_david:V3e,wheel_of_dharma:z3e,yin_yang:H3e,latin_cross:q3e,orthodox_cross:Y3e,star_and_crescent:$3e,peace_symbol:W3e,menorah:K3e,six_pointed_star:j3e,aries:Q3e,taurus:X3e,gemini:Z3e,cancer:J3e,leo:e4e,virgo:t4e,libra:n4e,scorpius:i4e,sagittarius:s4e,capricorn:r4e,aquarius:o4e,pisces:a4e,ophiuchus:l4e,twisted_rightwards_arrows:c4e,repeat:d4e,repeat_one:u4e,arrow_forward:p4e,fast_forward:_4e,next_track_button:h4e,play_or_pause_button:f4e,arrow_backward:m4e,rewind:g4e,previous_track_button:b4e,arrow_up_small:E4e,arrow_double_up:v4e,arrow_down_small:S4e,arrow_double_down:y4e,pause_button:T4e,stop_button:x4e,record_button:C4e,eject_button:R4e,cinema:A4e,low_brightness:w4e,high_brightness:N4e,signal_strength:O4e,vibration_mode:I4e,mobile_phone_off:M4e,female_sign:D4e,male_sign:k4e,transgender_symbol:L4e,heavy_multiplication_x:P4e,heavy_plus_sign:U4e,heavy_minus_sign:F4e,heavy_division_sign:B4e,infinity:G4e,bangbang:V4e,interrobang:z4e,question:H4e,grey_question:q4e,grey_exclamation:Y4e,exclamation:$4e,heavy_exclamation_mark:W4e,wavy_dash:K4e,currency_exchange:j4e,heavy_dollar_sign:Q4e,medical_symbol:X4e,recycle:Z4e,fleur_de_lis:J4e,trident:e5e,name_badge:t5e,beginner:n5e,o:i5e,white_check_mark:s5e,ballot_box_with_check:r5e,heavy_check_mark:o5e,x:a5e,negative_squared_cross_mark:l5e,curly_loop:c5e,loop:d5e,part_alternation_mark:u5e,eight_spoked_asterisk:p5e,eight_pointed_black_star:_5e,sparkle:h5e,copyright:f5e,registered:m5e,tm:g5e,hash:b5e,asterisk:E5e,zero:v5e,one:S5e,two:y5e,three:T5e,four:x5e,five:C5e,six:R5e,seven:A5e,eight:w5e,nine:N5e,keycap_ten:O5e,capital_abcd:I5e,abcd:M5e,symbols:D5e,abc:k5e,a:L5e,ab:P5e,b:U5e,cl:F5e,cool:B5e,free:G5e,information_source:V5e,id:z5e,m:H5e,new:"🆕",ng:q5e,o2:Y5e,ok:$5e,parking:W5e,sos:K5e,up:j5e,vs:Q5e,koko:X5e,sa:Z5e,ideograph_advantage:J5e,accept:eGe,congratulations:tGe,secret:nGe,u6e80:iGe,red_circle:sGe,orange_circle:rGe,yellow_circle:oGe,green_circle:aGe,large_blue_circle:lGe,purple_circle:cGe,brown_circle:dGe,black_circle:uGe,white_circle:pGe,red_square:_Ge,orange_square:hGe,yellow_square:fGe,green_square:mGe,blue_square:gGe,purple_square:bGe,brown_square:EGe,black_large_square:vGe,white_large_square:SGe,black_medium_square:yGe,white_medium_square:TGe,black_medium_small_square:xGe,white_medium_small_square:CGe,black_small_square:RGe,white_small_square:AGe,large_orange_diamond:wGe,large_blue_diamond:NGe,small_orange_diamond:OGe,small_blue_diamond:IGe,small_red_triangle:MGe,small_red_triangle_down:DGe,diamond_shape_with_a_dot_inside:kGe,radio_button:LGe,white_square_button:PGe,black_square_button:UGe,checkered_flag:FGe,triangular_flag_on_post:BGe,crossed_flags:GGe,black_flag:VGe,white_flag:zGe,rainbow_flag:HGe,transgender_flag:qGe,pirate_flag:YGe,ascension_island:$Ge,andorra:WGe,united_arab_emirates:KGe,afghanistan:jGe,antigua_barbuda:QGe,anguilla:XGe,albania:ZGe,armenia:JGe,angola:e9e,antarctica:t9e,argentina:n9e,american_samoa:i9e,austria:s9e,australia:r9e,aruba:o9e,aland_islands:a9e,azerbaijan:l9e,bosnia_herzegovina:c9e,barbados:d9e,bangladesh:u9e,belgium:p9e,burkina_faso:_9e,bulgaria:h9e,bahrain:f9e,burundi:m9e,benin:g9e,st_barthelemy:b9e,bermuda:E9e,brunei:v9e,bolivia:S9e,caribbean_netherlands:y9e,brazil:T9e,bahamas:x9e,bhutan:C9e,bouvet_island:R9e,botswana:A9e,belarus:w9e,belize:N9e,canada:O9e,cocos_islands:I9e,congo_kinshasa:M9e,central_african_republic:D9e,congo_brazzaville:k9e,switzerland:L9e,cote_divoire:P9e,cook_islands:U9e,chile:F9e,cameroon:B9e,cn:G9e,colombia:V9e,clipperton_island:z9e,costa_rica:H9e,cuba:q9e,cape_verde:Y9e,curacao:$9e,christmas_island:W9e,cyprus:K9e,czech_republic:j9e,de:Q9e,diego_garcia:X9e,djibouti:Z9e,denmark:J9e,dominica:e8e,dominican_republic:t8e,algeria:n8e,ceuta_melilla:i8e,ecuador:s8e,estonia:r8e,egypt:o8e,western_sahara:a8e,eritrea:l8e,es:c8e,ethiopia:d8e,eu:u8e,european_union:p8e,finland:_8e,fiji:h8e,falkland_islands:f8e,micronesia:m8e,faroe_islands:g8e,fr:b8e,gabon:E8e,gb:v8e,uk:S8e,grenada:y8e,georgia:T8e,french_guiana:x8e,guernsey:C8e,ghana:R8e,gibraltar:A8e,greenland:w8e,gambia:N8e,guinea:O8e,guadeloupe:I8e,equatorial_guinea:M8e,greece:D8e,south_georgia_south_sandwich_islands:k8e,guatemala:L8e,guam:P8e,guinea_bissau:U8e,guyana:F8e,hong_kong:B8e,heard_mcdonald_islands:G8e,honduras:V8e,croatia:z8e,haiti:H8e,hungary:q8e,canary_islands:Y8e,indonesia:$8e,ireland:W8e,israel:K8e,isle_of_man:j8e,india:Q8e,british_indian_ocean_territory:X8e,iraq:Z8e,iran:J8e,iceland:e6e,it:t6e,jersey:n6e,jamaica:i6e,jordan:s6e,jp:r6e,kenya:o6e,kyrgyzstan:a6e,cambodia:l6e,kiribati:c6e,comoros:d6e,st_kitts_nevis:u6e,north_korea:p6e,kr:_6e,kuwait:h6e,cayman_islands:f6e,kazakhstan:m6e,laos:g6e,lebanon:b6e,st_lucia:E6e,liechtenstein:v6e,sri_lanka:S6e,liberia:y6e,lesotho:T6e,lithuania:x6e,luxembourg:C6e,latvia:R6e,libya:A6e,morocco:w6e,monaco:N6e,moldova:O6e,montenegro:I6e,st_martin:M6e,madagascar:D6e,marshall_islands:k6e,macedonia:L6e,mali:P6e,myanmar:U6e,mongolia:F6e,macau:B6e,northern_mariana_islands:G6e,martinique:V6e,mauritania:z6e,montserrat:H6e,malta:q6e,mauritius:Y6e,maldives:$6e,malawi:W6e,mexico:K6e,malaysia:j6e,mozambique:Q6e,namibia:X6e,new_caledonia:Z6e,niger:J6e,norfolk_island:eVe,nigeria:tVe,nicaragua:nVe,netherlands:iVe,norway:sVe,nepal:rVe,nauru:oVe,niue:aVe,new_zealand:lVe,oman:cVe,panama:dVe,peru:uVe,french_polynesia:pVe,papua_new_guinea:_Ve,philippines:hVe,pakistan:fVe,poland:mVe,st_pierre_miquelon:gVe,pitcairn_islands:bVe,puerto_rico:EVe,palestinian_territories:vVe,portugal:SVe,palau:yVe,paraguay:TVe,qatar:xVe,reunion:CVe,romania:RVe,serbia:AVe,ru:wVe,rwanda:NVe,saudi_arabia:OVe,solomon_islands:IVe,seychelles:MVe,sudan:DVe,sweden:kVe,singapore:LVe,st_helena:PVe,slovenia:UVe,svalbard_jan_mayen:FVe,slovakia:BVe,sierra_leone:GVe,san_marino:VVe,senegal:zVe,somalia:HVe,suriname:qVe,south_sudan:YVe,sao_tome_principe:$Ve,el_salvador:WVe,sint_maarten:KVe,syria:jVe,swaziland:QVe,tristan_da_cunha:XVe,turks_caicos_islands:ZVe,chad:JVe,french_southern_territories:eze,togo:tze,thailand:nze,tajikistan:ize,tokelau:sze,timor_leste:rze,turkmenistan:oze,tunisia:aze,tonga:lze,tr:cze,trinidad_tobago:dze,tuvalu:uze,taiwan:pze,tanzania:_ze,ukraine:hze,uganda:fze,us_outlying_islands:mze,united_nations:gze,us:bze,uruguay:Eze,uzbekistan:vze,vatican_city:Sze,st_vincent_grenadines:yze,venezuela:Tze,british_virgin_islands:xze,us_virgin_islands:Cze,vietnam:Rze,vanuatu:Aze,wallis_futuna:wze,samoa:Nze,kosovo:Oze,yemen:Ize,mayotte:Mze,south_africa:Dze,zambia:kze,zimbabwe:Lze,england:Pze,scotland:Uze,wales:Fze};var Gze={angry:[">:(",">:-("],blush:[':")',':-")'],broken_heart:["3","<\\3"],confused:[":/",":-/"],cry:[":'(",":'-(",":,(",":,-("],frowning:[":(",":-("],heart:["<3"],imp:["]:(","]:-("],innocent:["o:)","O:)","o:-)","O:-)","0:)","0:-)"],joy:[":')",":'-)",":,)",":,-)",":'D",":'-D",":,D",":,-D"],kissing:[":*",":-*"],laughing:["x-)","X-)"],neutral_face:[":|",":-|"],open_mouth:[":o",":-o",":O",":-O"],rage:[":@",":-@"],smile:[":D",":-D"],smiley:[":)",":-)"],smiling_imp:["]:)","]:-)"],sob:[":,'(",":,'-(",";(",";-("],stuck_out_tongue:[":P",":-P"],sunglasses:["8-)","B-)"],sweat:[",:(",",:-("],sweat_smile:[",:)",",:-)"],unamused:[":s",":-S",":z",":-Z",":$",":-$"],wink:[";)",";-)"]},Vze=function(e,t){return e[t].content},zze=function(e,t,i,s,r){var o=e.utils.arrayReplaceAt,a=e.utils.lib.ucmicro,l=new RegExp([a.Z.source,a.P.source,a.Cc.source].join("|"));function c(d,_,h){var m,f=0,E=[];return d.replace(r,function(b,g,v){var y;if(i.hasOwnProperty(b)){if(y=i[b],g>0&&!l.test(v[g-1])||g+b.length f&&(m=new h("text","",0),m.content=d.slice(f,g),E.push(m)),m=new h("emoji","",0),m.markup=y,m.content=t[y],E.push(m),f=g+b.length}),f =0;h--)b=E[h],(b.type==="link_open"||b.type==="link_close")&&b.info==="auto"&&(v-=b.nesting),b.type==="text"&&v===0&&s.test(b.content)&&(g[m].children=E=o(E,h,c(b.content,b.level,_.Token)))}};function Hze(n){return n.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var qze=function(e){var t=e.defs,i;e.enabled.length&&(t=Object.keys(t).reduce(function(l,c){return e.enabled.indexOf(c)>=0&&(l[c]=t[c]),l},{})),i=Object.keys(e.shortcuts).reduce(function(l,c){return t[c]?Array.isArray(e.shortcuts[c])?(e.shortcuts[c].forEach(function(d){l[d]=c}),l):(l[e.shortcuts[c]]=c,l):l},{});var s=Object.keys(t),r;s.length===0?r="^$":r=s.map(function(l){return":"+l+":"}).concat(Object.keys(i)).sort().reverse().map(function(l){return Hze(l)}).join("|");var o=RegExp(r),a=RegExp(r,"g");return{defs:t,shortcuts:i,scanRE:o,replaceRE:a}},Yze=Vze,$ze=zze,Wze=qze,Kze=function(e,t){var i={defs:{},shortcuts:{},enabled:[]},s=Wze(e.utils.assign({},i,t||{}));e.renderer.rules.emoji=Yze,e.core.ruler.after("linkify","emoji",$ze(e,s.defs,s.shortcuts,s.scanRE,s.replaceRE))},jze=Bze,Qze=Gze,Xze=Kze,Zze=function(e,t){var i={defs:jze,shortcuts:Qze,enabled:[]},s=e.utils.assign({},i,t||{});Xze(e,s)};const Jze=Ds(Zze);var ZS=!1,da={false:"push",true:"unshift",after:"push",before:"unshift"},$d={isPermalinkSymbol:!0};function Ag(n,e,t,i){var s;if(!ZS){var r="Using deprecated markdown-it-anchor permalink option, see https://github.com/valeriangalliat/markdown-it-anchor#permalinks";typeof process=="object"&&process&&process.emitWarning?process.emitWarning(r):console.warn(r),ZS=!0}var o=[Object.assign(new t.Token("link_open","a",1),{attrs:[].concat(e.permalinkClass?[["class",e.permalinkClass]]:[],[["href",e.permalinkHref(n,t)]],Object.entries(e.permalinkAttrs(n,t)))}),Object.assign(new t.Token("html_block","",0),{content:e.permalinkSymbol,meta:$d}),new t.Token("link_close","a",-1)];e.permalinkSpace&&t.tokens[i+1].children[da[e.permalinkBefore]](Object.assign(new t.Token("text","",0),{content:" "})),(s=t.tokens[i+1].children)[da[e.permalinkBefore]].apply(s,o)}function zw(n){return"#"+n}function Hw(n){return{}}var eHe={class:"header-anchor",symbol:"#",renderHref:zw,renderAttrs:Hw};function cc(n){function e(t){return t=Object.assign({},e.defaults,t),function(i,s,r,o){return n(i,t,s,r,o)}}return e.defaults=Object.assign({},eHe),e.renderPermalinkImpl=n,e}var Wu=cc(function(n,e,t,i,s){var r,o=[Object.assign(new i.Token("link_open","a",1),{attrs:[].concat(e.class?[["class",e.class]]:[],[["href",e.renderHref(n,i)]],e.ariaHidden?[["aria-hidden","true"]]:[],Object.entries(e.renderAttrs(n,i)))}),Object.assign(new i.Token("html_inline","",0),{content:e.symbol,meta:$d}),new i.Token("link_close","a",-1)];if(e.space){var a=typeof e.space=="string"?e.space:" ";i.tokens[s+1].children[da[e.placement]](Object.assign(new i.Token(typeof e.space=="string"?"html_inline":"text","",0),{content:a}))}(r=i.tokens[s+1].children)[da[e.placement]].apply(r,o)});Object.assign(Wu.defaults,{space:!0,placement:"after",ariaHidden:!1});var Mr=cc(Wu.renderPermalinkImpl);Mr.defaults=Object.assign({},Wu.defaults,{ariaHidden:!0});var qw=cc(function(n,e,t,i,s){var r=[Object.assign(new i.Token("link_open","a",1),{attrs:[].concat(e.class?[["class",e.class]]:[],[["href",e.renderHref(n,i)]],Object.entries(e.renderAttrs(n,i)))})].concat(e.safariReaderFix?[new i.Token("span_open","span",1)]:[],i.tokens[s+1].children,e.safariReaderFix?[new i.Token("span_close","span",-1)]:[],[new i.Token("link_close","a",-1)]);i.tokens[s+1]=Object.assign(new i.Token("inline","",0),{children:r})});Object.assign(qw.defaults,{safariReaderFix:!1});var JS=cc(function(n,e,t,i,s){var r;if(!["visually-hidden","aria-label","aria-describedby","aria-labelledby"].includes(e.style))throw new Error("`permalink.linkAfterHeader` called with unknown style option `"+e.style+"`");if(!["aria-describedby","aria-labelledby"].includes(e.style)&&!e.assistiveText)throw new Error("`permalink.linkAfterHeader` called without the `assistiveText` option in `"+e.style+"` style");if(e.style==="visually-hidden"&&!e.visuallyHiddenClass)throw new Error("`permalink.linkAfterHeader` called without the `visuallyHiddenClass` option in `visually-hidden` style");var o=i.tokens[s+1].children.filter(function(_){return _.type==="text"||_.type==="code_inline"}).reduce(function(_,h){return _+h.content},""),a=[],l=[];if(e.class&&l.push(["class",e.class]),l.push(["href",e.renderHref(n,i)]),l.push.apply(l,Object.entries(e.renderAttrs(n,i))),e.style==="visually-hidden"){if(a.push(Object.assign(new i.Token("span_open","span",1),{attrs:[["class",e.visuallyHiddenClass]]}),Object.assign(new i.Token("text","",0),{content:e.assistiveText(o)}),new i.Token("span_close","span",-1)),e.space){var c=typeof e.space=="string"?e.space:" ";a[da[e.placement]](Object.assign(new i.Token(typeof e.space=="string"?"html_inline":"text","",0),{content:c}))}a[da[e.placement]](Object.assign(new i.Token("span_open","span",1),{attrs:[["aria-hidden","true"]]}),Object.assign(new i.Token("html_inline","",0),{content:e.symbol,meta:$d}),new i.Token("span_close","span",-1))}else a.push(Object.assign(new i.Token("html_inline","",0),{content:e.symbol,meta:$d}));e.style==="aria-label"?l.push(["aria-label",e.assistiveText(o)]):["aria-describedby","aria-labelledby"].includes(e.style)&&l.push([e.style,n]);var d=[Object.assign(new i.Token("link_open","a",1),{attrs:l})].concat(a,[new i.Token("link_close","a",-1)]);(r=i.tokens).splice.apply(r,[s+3,0].concat(d)),e.wrapper&&(i.tokens.splice(s,0,Object.assign(new i.Token("html_block","",0),{content:e.wrapper[0]+` `})),i.tokens.splice(s+3+d.length+1,0,Object.assign(new i.Token("html_block","",0),{content:e.wrapper[1]+` -`})))});function ey(n,e,t,i){var s=n,r=i;if(t&&Object.prototype.hasOwnProperty.call(e,s))throw new Error("User defined `id` attribute `"+n+"` is not unique. Please fix it in your Markdown to continue.");for(;Object.prototype.hasOwnProperty.call(e,s);)s=n+"-"+r,r+=1;return e[s]=!0,s}function Vo(n,e){e=Object.assign({},Vo.defaults,e),n.core.ruler.push("anchor",function(t){for(var i,s={},r=t.tokens,o=Array.isArray(e.level)?(i=e.level,function(_){return i.includes(_)}):function(_){return function(h){return h>=_}}(e.level),a=0;a "u"||n===null)throw new TypeError("Cannot convert first argument to object");for(var e=Object(n),t=1;t "u"||i===null))for(var s=Object.keys(Object(i)),r=0,o=s.length;r =0}});var r={"*":"·","**":"∗","***":"⋆","//":"/","|":"|",":":":","'":"′","''":"″","'''":"‴","''''":"⁗",xx:"×","-:":"÷","|><":"⋉","><|":"⋊","|><|":"⋈","@":"∘","o+":"⊕",ox:"⊗","o.":"⊙","!":"!",sum:"∑",prod:"∏","^^":"∧","^^^":"⋀",vv:"∨",vvv:"⋁",nn:"∩",nnn:"⋂",uu:"∪",uuu:"⋃",int:"∫",oint:"∮",dint:"∬","+-":"±",del:"∂",grad:"∇",aleph:"ℵ","/_":"∠",diamond:"⋄",square:"□","|__":"⌊","__|":"⌋","|~":"⌈","~|":"⌉","=":"=","!=":"≠","<":"<",">":">","<=":"≤",">=":"≥","-<":"≺","-<=":"⪯",">-":"≻",">-=":"⪰",in:"∈","!in":"∉",sub:"⊂",sup:"⊃",sube:"⊆",supe:"⊇","-=":"≡","==":"≡","~=":"≅","~~":"≈",prop:"∝","<-":"←","->":"→","=>":"⇒","<=>":"⇔","|->":"↦",">->":"↣","->>":"↠",">->>":"⤖",uarr:"↑",darr:"↓",larr:"←",rarr:"→",harr:"↔",lArr:"⇐",rArr:"⇒",hArr:"⇔",iff:"⇔",",":",",":.":"∴","...":"…",cdots:"⋯",ddots:"⋱",vdots:"⋮",if:"if",otherwise:"otherwise",and:"and",or:"or",not:"¬",AA:"∀",EE:"∃","_|_":"⊥",TT:"⊤","|--":"⊢","|==":"⊨"};Dn.operators=r,Object.defineProperty(r,"contains",{value:function(_){return typeof r[_]<"u"}}),Object.defineProperty(r,"get",{value:function(_){return r[_]||_}}),Object.defineProperty(r,"regexp",{value:new RegExp("("+Object.keys(r).sort(function(d,_){return _.length-d.length}).map(o).join("|")+"|[+-<=>|~¬±×÷ϐϑϒϕϰϱϴϵ϶؆؇؈‖′″‴⁀⁄⁒-⁺-⁾₊-₎★☆♠♡♢♣♭♮♯﬩。-ィ+<=>\^|~¬←↑→↓∀-⋿⨀-⫿⟀-⟥⦀-⦂⦙-⧿⌁-⏿■-◿⬀-⯿←-⇿⟰-⟿⤀-⥿⃐-⃯])")});function o(d){return d.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}var a={open:{"(:":"⟨","{:":""},close:{":)":"⟩",":}":""},complex:{abs:{open:"|",close:"|"},floor:{open:"⌊",close:"⌋"},ceil:{open:"⌈",close:"⌉"},norm:{open:"∥",close:"∥"}}};Dn.groupings=a,Object.defineProperty(a.open,"regexp",{value:/([[⟦⟨⟪⟬⟮⦃⦅⦇⦉⦋⦍⦏⦑⦓⦕⦗]|[({]:?)/}),Object.defineProperty(a.close,"regexp",{value:/([\]⟧⟩⟫⟭⟯⦄⦆⦈⦊⦌⦎⦐⦒⦔⦖⦘]|:?[)}])/}),Object.defineProperty(a.open,"get",{value:function(_){var h=a.open[_];return typeof h=="string"?h:_}}),Object.defineProperty(a.close,"get",{value:function(_){var h=a.close[_];return typeof h=="string"?h:_}}),Object.defineProperty(a.complex,"contains",{value:function(_){return Object.keys(a.complex).indexOf(_)>=0}}),Object.defineProperty(a.complex,"get",{value:function(_){return a.complex[_]}}),Object.freeze(a.open),Object.freeze(a.close),Object.freeze(a.complex);var l={rm:"normal",bf:"bold",it:"italic",bb:"double-struck",cc:"script",tt:"monospace",fr:"fraktur",sf:"sans-serif"};Dn.fonts=l,Object.defineProperty(l,"get",{value:function(_){return l[_]}}),Object.defineProperty(l,"regexp",{value:new RegExp("("+Object.keys(l).join("|")+")")});var c={hat:{type:"over",accent:"^"},bar:{type:"over",accent:"‾"},ul:{type:"under",accent:"_"},vec:{type:"over",accent:"→"},dot:{type:"over",accent:"⋅"},ddot:{type:"over",accent:"⋅⋅"},tilde:{type:"over",accent:"˜"},cancel:{type:"enclose",attrs:{notation:"updiagonalstrike"}}};return Dn.accents=c,Object.defineProperty(c,"contains",{value:function(_){return Object.keys(c).indexOf(_)>=0}}),Object.defineProperty(c,"get",{value:function(_){return c[_]}}),Object.defineProperty(c,"regexp",{value:new RegExp("("+Object.keys(c).join("|")+")")}),Dn}var ny;function tHe(){if(ny)return sl;ny=1,Object.defineProperty(sl,"__esModule",{value:!0}),sl.default=void 0;var n=Yw();function e(C){var x=new RegExp("^"+n.operators.regexp.source),w=x.exec(C),R=w[0];return[n.operators.get(R),C.slice(R.length)]}function t(C){var x=new RegExp("^"+n.groupings.open.regexp.source);return C.match(x)}function i(C,x){var w=new RegExp("^[0-9A-Za-z+\\-!]{2,}(\\s|".concat(x.colSep,"|").concat(x.rowSep,")"));return C.match(w)}function s(C,x,w){if(!t(C))return!1;var R=a(C)[4];if(!(R.trim().startsWith(x)||R.match(/^\s*\n/)&&t(R.trim())))return!1;for(;R&&R.trim();)if(R=(a(R)||[])[4],R&&(R.startsWith(w)||R.match(/^\s*\n/)))return!1;return!0}var r=new RegExp("("+n.identifiers.funs.concat(Object.keys(n.accents)).concat(["sqrt"]).sort(function(C,x){return C.length-x.length}).join("|")+")$");function o(C){return C.match(r)}function a(C){for(var x=new RegExp("^"+n.groupings.open.regexp.source),w=new RegExp("^"+n.groupings.close.regexp.source),R,S,A,P,U=0,Y=0;Y 0;){var U=a(S),Y=U?U[0]:S,k=U?U[4]:"",H=P.exec(Y);if(H)return x(w,R+H.index,A);R+=U.slice(0,-1).map(d("length")).reduce(_),U[1]===""?R+=2:U[1]==="〈"&&(R+=1),U[3]===""?R+=2:U[3]==="〉"&&(R+=1),S=k}return null}function d(C){return function(x){return x[C]}}function _(C,x){return C+x}function h(C){var x=new RegExp("^("+n.fonts.regexp.source+" ?)?"+C);return function(w){return x.exec(w)}}var m=h("(`)\\w+`"),f=h('(")');function E(C){return m(C)||f(C)}function b(C){var x=m(C)||f(C),w=x&&x[2],R=x&&x[3],S=R==='"'?"mtext":R==="`"?"mi":"",A=C.indexOf(R),P=A+1+C.slice(A+1).indexOf(R),U=A>0?n.fonts.get(w):"";return{tagname:S,text:C.slice(A+1,P),font:U,rest:C.slice(P+1)}}var g=[" lim ","∑ ","∏ "];function v(C){return g.indexOf(C)>=0}var y={endsInFunc:o,isgroupStart:t,isgroupable:i,isvertGroupStart:l,splitNextGroup:a,splitNextVert:c,splitNextOperator:e,ismatrixInterior:s,isfontCommand:E,splitfont:b,shouldGoUnder:v},T=y;return sl.default=T,sl}var iy;function nHe(){if(iy)return il;iy=1,Object.defineProperty(il,"__esModule",{value:!0}),il.default=void 0;var n=t(tHe()),e=Yw();function t(W){return W&&W.__esModule?W:{default:W}}function i(W,le){return o(W)||r(W,le)||s()}function s(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function r(W,le){var J=[],ee=!0,fe=!1,be=void 0;try{for(var Ce=W[Symbol.iterator](),X;!(ee=(X=Ce.next()).done)&&(J.push(X.value),!(le&&J.length===le));ee=!0);}catch(pe){fe=!0,be=pe}finally{try{!ee&&Ce.return!=null&&Ce.return()}finally{if(fe)throw be}}return J}function o(W){if(Array.isArray(W))return W}function a(W){return function le(J,ee){if(typeof J=="object")return function(be){return le(be,J)};if(typeof ee!="object")return"<".concat(W,">").concat(J,"").concat(W,">");var fe=Object.keys(ee).map(function(be){return"".concat(be,'="').concat(ee[be],'"')}).join(" ");return"<".concat(W," ").concat(fe,">").concat(J,"").concat(W,">")}}var l=a("mi"),c=a("mn"),d=a("mo"),_=a("mfrac"),h=a("msup"),m=a("msub"),f=a("msubsup"),E=a("munder"),b=a("mover"),g=a("munderover"),v=a("menclose"),y=a("mrow"),T=a("msqrt"),C=a("mroot"),x=a("mfenced"),w=a("mtable"),R=a("mtr"),S=a("mtd");function A(W){var le=W.decimalMark==="."?"\\.":W.decimalMark,J=new RegExp("^".concat(e.numbers.digitRange,"+(").concat(le).concat(e.numbers.digitRange,"+)?")),ee=Ce(W.colSep),fe=Ce(W.rowSep),be=Ce(` -`);function Ce(V){return function(ce){for(var ie=[],re=0,I=0,N=0;N1){var de=' ');return V(ce.trim(),ie+de)}return V(ce.trim(),ie)}var Q=Z(ce,I),te=i(Q,2),Re=te[0],Se=te[1];if((Se&&Se.trimLeft().startsWith("/")||Se.trimLeft().startsWith("./"))&&!Se.trimLeft().match(/^\.?\/\//)){var ke=q(Re,Se),ze=i(ke,2);Re=ze[0],Se=ze[1]}return V(Se,ie+Re)};function pe(V){if(V.trim().length===0)return"";var ce=X(V,"",!1,!0);return ce===Y(ce)?ce:y(ce)}function Z(V,ce,ie){if(!V)return["",""];var re,I,N=V[0],z=V.slice(1),de=N+(z.match(/^[A-Za-z]+/)||"");if(V.startsWith("sqrt")){var Q=Z(V.slice(4).trim(),ce);re=T(Q[0]?U(Q[0]):y("")),I=Q[1]}else if(V.startsWith("root")){var te=Z(V.slice(4).trimLeft(),ce),Re=te[0]?U(te[0]):y(""),Se=Z(te[1].trimLeft(),ce),ke=Se[0]?U(Se[0]):y("");re=C(ke+Re),I=Se[1]}else if(N==="\\"&&V.length>1)if(V[1].match(/[(\[]/)){var ze=k(z);re=d(V.slice(2,ze)),I=V.slice(ze+1)}else re=d(V[1]),I=V.slice(2);else if(e.accents.contains(de)){var it=e.accents.get(de),De=V.slice(de.length).trimLeft(),st=De.match(/^\s*\(?([ij])\)?/),Xe=Z(De);switch(it.type){case"over":st?(re=b(l(st[1]==="i"?"ı":"ȷ")+d(it.accent,{accent:!0})),I=De.slice(st[0].length)):(re=b(U(Xe[0])+d(it.accent,{accent:!0})),I=Xe[1]);break;case"under":re=E(U(Xe[0])+d(it.accent)),I=Xe[1];break;case"enclose":re=v(U(Xe[0]),it.attrs),I=Xe[1];break;default:throw new Error("Invalid config for accent "+de)}}else if(n.default.isfontCommand(V)){var Ve=n.default.splitfont(V);re=a(Ve.tagname)(Ve.text,Ve.font&&{mathvariant:Ve.font}),I=Ve.rest}else if(e.groupings.complex.contains(de)){var Ze=e.groupings.complex.get(de),Ke=V.slice(de.length).trimLeft(),ht=Z(Ke);re=x(U(ht[0]),Ze),I=ht[1]}else if(n.default.isgroupStart(V)||n.default.isvertGroupStart(V)){var ae=n.default.isgroupStart(V)?n.default.splitNextGroup(V):n.default.splitNextVert(V),$e=i(ae,5),Pe=$e[1],Ne=$e[2],Fe=$e[3],ot=$e[4];I=e.groupings.open.get(ot);var bt=function(){var Rn=be(Ne);return Rn.length>1?Rn:fe(Ne)}();if(n.default.ismatrixInterior(Ne.trim(),W.colSep,W.rowSep)){Ne.trim().endsWith(W.colSep)&&(Ne=Ne.trimRight().slice(0,-1));var tn=Pe==="{"&&Fe==="",un=ne(Ne,tn&&{columnalign:"center left"});re=x(un,{open:Pe,close:Fe})}else if(bt.length>1)if(bt.length===2&&Pe==="("&&Fe===")"){var Lt=_(bt.map(pe).join(""),{linethickness:0});re=x(Lt,{open:Pe,close:Fe})}else{var Xt=bt.map(ee);L(Xt).length===1&&L(Xt)[0].match(/^\s*$/)&&(Xt=Xt.slice(0,-1));var Vn=Xt.map(function(Rn){return R(Rn.map($(S,pe)).join(""))}).join("");re=x(w(Vn),{open:Pe,close:Fe})}else{var _o=ee(Ne),Wa=_o.map(pe).join(""),rs={open:Pe,close:Fe};W.colSep!==","&&(rs.separators=W.colSep),re=x(Wa,rs)}}else if(!ce&&n.default.isgroupable(V,W)){var Er=oe(V);re=pe(Er[0]),I=Er[1]}else if(e.numbers.isdigit(N)){var os=V.match(J)[0];re=c(os),I=z.slice(os.length-1)}else if(V.match(/^#`[^`]+`/)){var vr=V.match(/^#`([^`]+)`/)[1];re=c(vr),I=V.slice(vr.length+3)}else if(V.match(new RegExp("^"+e.operators.regexp.source))&&!e.identifiers.contains(de)){var ho=n.default.splitNextOperator(V),fo=i(ho,2),Sr=fo[0],Ka=fo[1],F=V.startsWith("'"),ge=B(["∂","∇"],Sr),xe=B(["|"],Sr),Ae=V.startsWith("| "),ve={};F&&(ve.lspace=0,ve.rspace=0),ge&&(ve.rspace=0),xe&&(ve.stretchy=!0),Ae&&(ve.lspace="veryverythickmathspace",ve.rspace="veryverythickmathspace"),re=d(Sr,!H(ve)&&ve),I=Ka}else if(e.identifiers.contains(de)){var je=e.identifiers[de],Je=je.match(/[\u0391-\u03A9\u2100-\u214F\u2200-\u22FF]/);re=Je?l(je,{mathvariant:"normal"}):l(je),I=z.slice(de.length-1)}else N==="O"&&z[0]==="/"?(re=l(e.identifiers["O/"],{mathvariant:"normal"}),I=z.slice(1)):(re=l(N),I=z);if(I&&I.trimLeft().match(/\.?[\^_]/)){if((!ie||!ie.match(/m(sup|over)/))&&I.trim().startsWith("_")&&(I.trim().length<=1||!I.trim()[1].match(/[|_]/))){var rt=Ee(re,I),at=i(rt,2);re=at[0],I=at[1]}else if(ie!=="mover"&&I.trim().startsWith("._")&&(I.trim().length<=2||!I.trim()[2].match(/[|_]/))){var ft=M(re,I),ct=i(ft,2);re=ct[0],I=ct[1]}else if((!ie||!ie.match(/m(sub|under)/))&&I.trim().startsWith("^")&&(I.trim().length<=1||I.trim()[1]!=="^")){var _t=Ie(re,I),Yt=i(_t,2);re=Yt[0],I=Yt[1]}else if(ie!=="munder"&&I.trim().startsWith(".^")&&(I.trim().length<=2||I.trim()[2]!=="^")){var En=G(re,I),Zt=i(En,2);re=Zt[0],I=Zt[1]}}return[re,I]}function Ee(V,ce){var ie=Z(ce.trim().slice(1).trim(),!0,"msub"),re=ie[0]?U(ie[0]):y(""),I,N=ie[1];if(N&&N.trim().startsWith("^")&&(N.trim().length<=1||!N.trim()[1]!=="^")){var z=Z(N.trim().slice(1).trim(),!0),de=z[0]?U(z[0]):y(""),Q=n.default.shouldGoUnder(V)?g:f;I=Q(V+re+de),N=z[1]}else{var te=n.default.shouldGoUnder(V)?E:m;I=te(V+re)}return[I,N]}function Ie(V,ce){var ie=Z(ce.trim().slice(1).trim(),!0,"msup"),re=ie[0]?U(ie[0]):y(""),I,N=ie[1];if(N.trim().startsWith("_")&&(N.trim().length<=1||!N.trim()[1].match(/[|_]/))){var z=Z(N.trim().slice(1).trim(),!0),de=z[0]?U(z[0]):y(""),Q=n.default.shouldGoUnder(V)?g:f;I=Q(V+de+re),N=z[1]}else{var te=n.default.shouldGoUnder(V)?b:h;I=te(V+re)}return[I,N]}function M(V,ce){var ie=Z(ce.trim().slice(2).trim(),!0,"munder"),re=ie[0]?U(ie[0]):y(""),I,N=ie[1],z=N.match(/^(\.?\^)[^\^]/);if(z){var de=Z(N.trim().slice(z[1].length).trim(),!0),Q=de[0]?U(de[0]):y("");I=g(V+re+Q),N=de[1]}else I=E(V+re);return[I,N]}function G(V,ce){var ie=Z(ce.trim().slice(2).trim(),!0,"mover"),re=ie[0]?U(ie[0]):y(""),I,N=ie[1],z=N.match(/^(\.?_)[^_|]/);if(z){var de=Z(N.trim().slice(z[1].length).trim(),!0),Q=de[0]?U(de[0]):y("");I=g(V+Q+re),N=de[1]}else I=b(V+re);return[I,N]}function q(V,ce){var ie=ce.trim().startsWith("./"),re=ce.trim().slice(ie?2:1),I,N,z;if(re.startsWith(" ")){var de=re.trim().split(" ");I=pe(de[0]),z=re.trimLeft().slice(de[0].length+1)}else{var Q=Z(re),te=i(Q,2);I=te[0],z=te[1]}return I=I||y(""),N=_(U(V)+U(I),ie&&{bevelled:!0}),z&&z.trim().startsWith("/")||z.trim().startsWith("./")?q(N,z):[N,z]}function oe(V){var ce=new RegExp("(\\s|".concat(W.colSep,"|").concat(W.rowSep,"|$)")),ie=V.match(ce),re=V.slice(0,ie.index),I=ie[0],N=V.slice(ie.index+1),z=re,de=I+N;if(!n.default.isgroupStart(N.trim())&&n.default.endsInFunc(re)){var Q=oe(N);z+=I+Q[0],de=Q[1]}else if(re.match(/root$/)){var te=oe(N),Re=oe(te[1].trimLeft());z+=I+te[0]+" "+Re[0],de=I+Re[1]}return[z,de]}function ne(V,ce){var ie=function(){var re=ee(V);return re.length>1?re:be(V)}().map(function(re){return re.trim().slice(1,-1)});return w(ie.map(Te).join(""),ce)}function Te(V,ce){if(ce=typeof ce=="string"?ce:"",!V||V.length===0)return R(ce);var ie=we(V.trim(),""),re=i(ie,2),I=re[0],N=re[1];return Te(N.trim(),ce+I)}function we(V,ce){if(!V||V.length===0)return[S(ce),""];if(V[0]===W.colSep)return[S(ce),V.slice(1).trim()];var ie=Z(V),re=i(ie,2),I=re[0],N=re[1];return we(N.trim(),ce+I)}return X}function P(W){var le=Y(W),J=W.slice(0,W.lastIndexOf(le));return[J,le]}function U(W){var le=W.replace(/^ ]*>/,"").replace(/<\/mfenced>$/,"");return P(le)[1]===le?le:y(le)}function Y(W){var le=W.match(/<\/(m[a-z]+)>$/);if(!le){var J=W.match(/ /);if(J){var ee=J.match[0].length;return W.slice(ee)}else return""}var fe=le[1],be=W.length-(fe.length+3),Ce=0;for(be;be>=0;be-=1){if(W.slice(be).startsWith("<".concat(fe))){if(Ce===0)break;Ce-=1}W.slice(be-2).startsWith("".concat(fe))&&(Ce+=1)}return W.slice(be)}function k(W){for(var le=W[0],J=le==="("?")":le==="["?"]":W[0],ee=0,fe=0,be=0;be =0}function L(W){return W.slice(-1)[0]}function $(W,le){return function(J){return W(le(J))}}A.getlastel=Y;var j=A;return il.default=j,il}var sy;function iHe(){if(sy)return vo;sy=1,Object.defineProperty(vo,"__esModule",{value:!0}),vo.ascii2mathml=t,vo.default=void 0;var n=e(nHe());function e(s){return s&&s.__esModule?s:{default:s}}function t(s,r){if(typeof s=="object")return function(_,h){var m=Object.assign({},s,h);return t(_,m)};if(r=typeof r=="object"?r:{},r.annotate=r.annotate||!1,r.bare=r.bare||!1,r.display=r.display||"inline",r.standalone=r.standalone||!1,r.dir=r.dir||"ltr",r.decimalMark=r.decimalMark||".",r.colSep=r.colSep||",",r.rowSep=r.rowSep||";",r.decimalMark===","&&r.colSep===","&&(r.colSep=";"),r.colSep===";"&&r.rowSep===";"&&(r.rowSep=";;"),r.bare){if(r.standalone)throw new Error("Can't output a valid HTML without a root