1"use strict";(self.webpackChunkgalim_pro=self.webpackChunkgalim_pro||[]).push([[846],{19427(me,q,O){O.d(q,{a:()=>he});var R=O(74523),T=O(87480);class B extends Error{constructor(y,a,l){super(`Invalid SSE JSON payload for "${y}": ${a.slice(0,120)}`),this.name="SseParseError",this.cause=l}}function j(u){if(!u.trim())return null;const y=u.replace(/\r?\n$/,"").split(/\r?\n/),a=[],l=[];let h="message";for(const A of y)A.startsWith(":")?a.push(A.slice(1).trim()):A.startsWith("event:")?h=A.slice(6).trim():A.startsWith("data:")&&l.push(A.slice(5).trimStart());if(!l.length)return a.length?{event:"comment",data:a.join("\n"),raw:u}:null;const g=l.join("\n");if("[DONE]"===g)return null;let b;try{b=JSON.parse(g)}catch(A){throw new B(h,g,A)}return{event:h,data:b,raw:u}}function I(){return(I=(0,R.A)(function*(u,y,a){let l="";try{for(;;){const{done:h,value:g}=yield u.read();if(g){l+=y.decode(g,{stream:!h});const b=l.split(/\r?\n\r?\n/);l=b.pop()||"";for(const A of b){const z=j(A);z&&(yield a(z))}}if(h)break}if(l+=y.decode(),l.trim()){const h=j(l);h&&(yield a(h))}}finally{try{u.releaseLock()}catch{}}})).apply(this,arguments)}var r=O(73664),_=O(2615),$=O(72573),x=O(64801),v=O(89417),E=O(80916);let N=(()=>{class u{constructor(a){this.element=a,this.maxLen=150,this.limitReached=new r.bkB,this._alreadyFired=!1}ngOnInit(){this.trimValueIfNeeded()}ngOnChanges(a){a.maxLen&&this.trimValueIfNeeded(!0)}onKeyDown(a){this.length()<this.maxLen||["Backspace","Delete","ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Tab"].includes(a.key)||(a.preventDefault(),this.emitOnce())}handleInsert(a){a.preventDefault();const l=a.clipboardData?.getData("text")??a.dataTransfer?.getData("text")??"",h=this.maxLen-this.length();if(h<=0)return void this.emitOnce();const g=l.slice(0,h),b=this.textarea();b.setRangeText(g,b.selectionStart??0,b.selectionEnd??0,"end"),b.dispatchEvent(new Event("input")),g.length<l.length&&this.emitOnce()}textarea(){return this.element.nativeElement}length(){return this.textarea().value.length}trimValueIfNeeded(a=!1){const l=this.textarea();l.value.length>this.maxLen&&(l.value=l.value.slice(0,this.maxLen),l.dispatchEvent(new Event("input"))),a&&(this._alreadyFired=!1)}emitOnce(){this._alreadyFired||(this.limitReached.emit(),this._alreadyFired=!0)}static{this.\u0275fac=function(l){return new(l||u)(r.rXU(r.aKT))}}static{this.\u0275dir=r.FsC({type:u,selectors:[["","maxLenPaste",""]],hostBindings:function(l,h){1&l&&r.bIt("keydown",function(b){return h.onKeyDown(b)})("paste",function(b){return h.handleInsert(b)})("drop",function(b){return h.handleInsert(b)})},inputs:{maxLen:[0,"maxLenPaste","maxLen"]},outputs:{limitReached:"limitReached"},standalone:!1,features:[r.OA$]})}}return u})();const k=["chatHistory"];function S(u,y){if(1&u){const a=r.RV6();r.j41(0,"div",9)(1,"div",10)(2,"span"),r.EFF(3),r.j41(4,"span",11),r.bIt("click",function(){_.eBV(a);const h=r.XpG(2);return _.Njj(h.changeChoice())}),r.EFF(5),r.k0s()()()()}if(2&u){const a=r.XpG().$implicit,l=r.XpG();r.R7$(3),r.SpI("",a.content," "),r.R7$(2),r.JRh(l.lang.translate("GALIM_CHAT.CHANGE_CHOICE"))}}function L(u,y){if(1&u&&(r.j41(0,"div",9)(1,"div",10)(2,"span"),r.EFF(3),r.k0s()()()),2&u){const a=r.XpG().$implicit;r.R7$(3),r.JRh(a.content)}}function ee(u,y){if(1&u&&(r.j41(0,"span",12),r.EFF(1),r.k0s()),2&u){const a=r.XpG(3);r.R7$(),r.JRh(a.dots)}}function H(u,y){if(1&u){const a=r.RV6();r.j41(0,"span",16),r.bIt("click",function(){_.eBV(a);const h=r.XpG(2).$implicit;return _.Njj(h.expanded=!0)}),r.j41(1,"span",17),r.EFF(2),r.k0s()()}if(2&u){const a=r.XpG(3);r.R7$(2),r.JRh(a.lang.translate("GALIM_CHAT.READ_MORE"))}}function te(u,y){if(1&u&&(r.j41(0,"div",3)(1,"div",4),r.nVh(2,ee,2,1,"span",12),r.j41(3,"div",13),r.nrm(4,"span",14),r.k0s(),r.nVh(5,H,3,1,"span",15),r.k0s()()),2&u){const a=r.XpG(),l=a.$implicit,h=a.$index,g=r.XpG();r.R7$(2),r.vxM(g.isWaitingForAnswer&&h==g.conversationHistory.length-1?2:-1),r.R7$(),r.xc7("max-height",l.overflowing&&!l.expanded?l.clampHeight:null,"px"),r.AVh("clamped",l.overflowing&&!l.expanded),r.R7$(),r.Y8G("innerHTML",l.content,r.npT),r.R7$(),r.vxM(l.overflowing&&!l.expanded?5:-1)}}function ne(u,y){if(1&u&&(r.j41(0,"div",5),r.nVh(1,S,6,2,"div",9),r.nVh(2,L,4,1,"div",9),r.nVh(3,te,6,7,"div",3),r.k0s()),2&u){const a=y.$implicit;r.R7$(),r.vxM("userChoice"===a.role?1:-1),r.R7$(),r.vxM("user"===a.role?2:-1),r.R7$(),r.vxM("assistant"===a.role?3:-1)}}function re(u,y){if(1&u){const a=r.RV6();r.j41(0,"div",29),r.bIt("click",function(h){const g=_.eBV(a).$implicit,b=r.XpG(3);return _.Njj(b.selectChoice(g,h))}),r.EFF(1),r.k0s()}if(2&u){const a=y.$implicit,l=r.XpG(3);r.AVh("active",a===l.currChoice),r.R7$(),r.SpI(" ",l.lang.translate("GALIM_CHAT."+a)," ")}}function U(u,y){if(1&u&&(r.j41(0,"div",22),r.Z7z(1,re,2,3,"div",28,r.fX1),r.k0s()),2&u){const a=r.XpG(2);r.R7$(),r.Dyx(a.chat_types)}}
1function xe(u,y){1&u&&r.nrm(0,"div",26)}function _e(u,y){1&u&&r.nrm(0,"i",27)}function ke(u,y){if(1&u){const a=r.RV6();r.j41(0,"form",18),r.bIt("submit",function(){_.eBV(a);const h=r.XpG();return _.Njj(h.onSubmit())}),r.j41(1,"div",19)(2,"div",20),r.bIt("click",function(h){_.eBV(a);const g=r.XpG();return _.Njj(g.toggleDropdown(h))}),r.j41(3,"span"),r.EFF(4),r.k0s(),r.nrm(5,"i",21),r.k0s(),r.nVh(6,U,3,0,"div",22),r.k0s(),r.j41(7,"textarea",23),r.bIt("keydown",function(h){_.eBV(a);const g=r.XpG();return _.Njj(g.handleKeyDown(h))}),r.mxI("ngModelChange",function(h){_.eBV(a);const g=r.XpG();return r.DH7(g.userQuestion,h)||(g.userQuestion=h),_.Njj(h)}),r.EFF(8," "),r.k0s(),r.j41(9,"div",24)(10,"button",25),r.nVh(11,xe,1,0,"div",26),r.nVh(12,_e,1,0,"i",27),r.k0s()()()}if(2&u){const a=r.XpG();r.R7$(),r.AVh("open",a.dropdownOpen),r.R7$(3),r.JRh(a.lang.translate("GALIM_CHAT."+a.currChoice)),r.R7$(2),r.vxM(a.dropdownOpen?6:-1),r.R7$(),r.Y8G("minRows",1),r.R50("ngModel",a.userQuestion),r.Y8G("disabled",a.isWaitingForAnswer)("maxLenPaste",150),r.BMQ("placeholder",a.inputPlaceholder),r.R7$(4),r.vxM(a.isWaitingForAnswer?11:-1),r.R7$(),r.vxM(a.isWaitingForAnswer?-1:12)}}function K(u,y){if(1&u){const a=r.RV6();r.j41(0,"div",31),r.bIt("click",function(){const h=_.eBV(a).$implicit,g=r.XpG(2);return _.Njj(g.submitQuickPrompt(h))}),r.EFF(1),r.k0s()}if(2&u){const a=y.$implicit,l=r.XpG(2);r.R7$(),r.SpI(" ",l.lang.translate("GALIM_CHAT."+a)," ")}}function be(u,y){if(1&u&&(r.j41(0,"div",7),r.Z7z(1,K,2,1,"div",30,r.fX1),r.k0s()),2&u){const a=r.XpG();r.R7$(),r.Dyx(a.chat_types)}}let he=(()=>{class u{constructor(a,l){var h=this;this.lang=a,this.renderMarkdownService=l,this.userQuestion="",this.conversationHistory=[],this.isWaitingForAnswer=!1,this.dots="",this.chat_types=["CATALOG","HELP"],this.currChoice=null,this.dropdownOpen=!1,this.helpChatMessages=[],this.processStream=function(){var g=(0,R.A)(function*(b,A,z,W,V){h.isWaitingForAnswer=!0;const X=h.conversationHistory;let se=!1;const we={answer:""},ae={answer:"",sources:[],donePayload:null},Ce=function(){var ie=(0,R.A)(function*(le){"HELP"===z?yield h.handleHelpStreamEvent(le,W,ae):h.handleCatalogStreamEvent(le,X,we)});return function(oe){return ie.apply(this,arguments)}}();try{yield function Z(u,y,a){return I.apply(this,arguments)}(b,A,Ce)}catch(ie){se=!0,console.error("Error reading stream:",ie),h.setStreamErrorMessage(X)}finally{h.isWaitingForAnswer=!1,h.stopDotsAnimation(),!se&&"HELP"===z&&W&&h.saveHelpStreamHistory(V,W,ae),!se&&"HELP"===z&&W&&h.checkOverflowForMessage(W)}});return function(b,A,z,W,V){return g.apply(this,arguments)}}()}ngOnInit(){this.catalogConversationId=null}onSubmit(){var a=this;const l=this.userQuestion?.trim(),h=this.currChoice;if(!l||!h||this.isWaitingForAnswer)return;this.isWaitingForAnswer=!0,this.userQuestion="";const g={userQuestion:l,newChat:"CATALOG"===h?!this.catalogConversationId:!this.helpChatMessages.length,id:"CATALOG"===h&&this.catalogConversationId||null,type:h,..."HELP"===h?{messages:this.helpChatMessages,language:this.lang.getLanguage().toLowerCase()}:{}};fetch(T.V2+"/api/site/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}).then(function(){var b=(0,R.A)(function*(A){if(!A.ok)return void("Exceeded"===(yield A.json()).status?a.handleErrors(g.userQuestion," \u05d0\u05e0\u05d5 \u05de\u05e6\u05d8\u05e2\u05e8\u05d9\u05dd \u05d0\u05da \u05e2\u05d1\u05e8\u05ea \u05d0\u05ea \u05de\u05db\u05e1\u05ea \u05d4\u05e9\u05d0\u05dc\u05d5\u05ea \u05d4\u05d9\u05d5\u05de\u05d9\u05ea \u2639\ufe0f"):a.handleErrors(g.userQuestion));const z=A.body?A.body.getReader():null;if(!z)return void(yield a.handleErrors(g.userQuestion));const W=new TextDecoder("utf-8"),X={role:"assistant",content:" "};a.conversationHistory.push({role:"user",content:g.userQuestion}),a.scrollToBottom(),a.conversationHistory.push(X),a.startDotsAnimation(),yield a.processStream(z,W,g.type,X,l),a.scrollToBottom()});return function(A){return b.apply(this,arguments)}}()).catch(b=>{console.error("Error from backend:",b),this.handleErrors(l)})}
1handleKeyDown(a){"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),this.onSubmit())}get inputPlaceholder(){return!this.currChoice||window.innerWidth<=992||this.isWaitingForAnswer||this.hasStartedDiscussion(this.currChoice)?null:this.lang.translate("GALIM_CHAT."+this.currChoice+"_PLACEHOLDER")}hasStartedDiscussion(a){return"CATALOG"===a?!!this.catalogConversationId:this.helpChatMessages.length>0}resetChatSessionState(a){"CATALOG"===a?this.catalogConversationId=null:this.helpChatMessages=[]}submitQuickPrompt(a){this.currChoice=a,this.resetChatSessionState(a);const l={role:"userChoice",content:this.lang.translate("GALIM_CHAT."+a)},h={role:"assistant",content:this.lang.translate("GALIM_CHAT."+a+"_DESCRIPTION")};this.conversationHistory.push(l),setTimeout(()=>{this.conversationHistory.push(h),this.scrollToBottom()},500)}changeChoice(){this.currChoice&&this.resetChatSessionState(this.currChoice);const a={role:"assistant",content:this.lang.translate("GALIM_CHAT.CHANGE_CHOICE_DESCRIPTION")};this.conversationHistory.push(a),this.currChoice=null,this.scrollToBottom()}toggleDropdown(a){a.stopPropagation(),this.dropdownOpen=!this.dropdownOpen}selectChoice(a,l){l.stopPropagation(),this.dropdownOpen=!1,a!==this.currChoice&&(this.currChoice&&this.resetChatSessionState(this.currChoice),this.submitQuickPrompt(a))}closeDropdown(){this.dropdownOpen=!1}startDotsAnimation(){let a=0;this.dotsInterval=setInterval(()=>{a=(a+1)%4,this.dots=".".repeat(a)},500)}stopDotsAnimation(){clearInterval(this.dotsInterval),this.dots=""}scrollToBottom(){setTimeout(()=>{const a=this.chatHistory.nativeElement;a.scrollTop=a.scrollHeight},0)}appendAssistantText(a,l,h){return a?(this.stopDotsAnimation(),l[l.length-1].content=h+=a,this.scrollToBottom(),h):h}handleHelpStreamEvent(a,l,h){var g=this;return(0,R.A)(function*(){const b=a.data;if("sources"===a.event)h.sources=b.chunks||[];else if("token"===a.event)g.stopDotsAnimation(),h.answer+=b.text||"",l.content=yield g.renderMarkdownService.renderMarkdown(h.answer),g.scrollToBottom();else if("done"===a.event)h.donePayload=b;else if("error"===a.event)throw new Error(b.message||"Streaming request failed.")})()}handleCatalogStreamEvent(a,l,h){if("comment"===a.event){const g=String(a.data).match(/conversationId:\s*(\S+)/);return void(g&&(this.catalogConversationId=g[1]))}if("unit"===a.event)h.answer=this.appendAssistantText(this.unitToHTML(a.data),l,h.answer);else if("response"===a.event||"prompt"===a.event)h.answer=this.appendAssistantText(String(a.data||""),l,h.answer);else if("error"===a.event)throw new Error(("string"==typeof a.data?a.data:a.data?.message)||"Streaming request failed.")}setStreamErrorMessage(a){const l=a[a.length-1];"assistant"===l?.role&&(l.content=" \u05d0\u05d9\u05e8\u05e2\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4, \u05d0\u05e0\u05d0 \u05e0\u05e1\u05d4 \u05e9\u05d5\u05d1 \u05de\u05d0\u05d5\u05d7\u05e8 \u05d9\u05d5\u05ea\u05e8.")}saveHelpStreamHistory(a,l,h){h.donePayload&&(l.sources=h.sources,this.helpChatMessages.push({role:"user",content:a||""}),this.helpChatMessages.push({role:"assistant",content:h.answer}))}checkOverflowForMessage(a){setTimeout(()=>{const l=this.chatHistory?.nativeElement;if(!l)return;const h=l.querySelectorAll(".message-content"),g=h[h.length-1];if(!g)return;const b=.7*l.clientHeight;g.scrollHeight>b&&(a.clampHeight=Math.round(b),a.overflowing=!0)},0)}handleErrors(a,l){var h=this;return(0,R.A)(function*(){l||(l=" \u05d0\u05d9\u05e8\u05e2\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4, \u05d0\u05e0\u05d0 \u05e0\u05e1\u05d4 \u05e9\u05d5\u05d1 \u05de\u05d0\u05d5\u05d7\u05e8 \u05d9\u05d5\u05ea\u05e8.");const b={role:"assistant",content:l};h.conversationHistory.push({role:"user",content:a}),h.conversationHistory.push(b),h.isWaitingForAnswer=!1,h.stopDotsAnimation(),h.scrollToBottom(),h.userQuestion=""})()}unitToHTML(a){const l=g=>String(g??"").replace(/[&<>"']/g,b=>({"&":"&","<":"<",">":">",'"':""","'":"'"}[b]));return`\n <a class="unit" href="https://pro.galim.org.il/field/unit/${encodeURIComponent(a.unitId)}" target="_blank">\n <h4>${l(a.unitName)}</h4>\n ${l(a.teaser)}\n <div class="info">
1\n <span class="${l(a.unitType)}"></span> <span>${this.lang.translate("LIBRARY.PAGE.FILTERS."+l(a.unitType))}</span><span class="sep">| </span> <span class="classes">\u05db\u05d9\u05ea\u05d5\u05ea: ${function pe(u){return u.replace(/^\[|\]$/g,"").split(",").map(y=>y.trim()).sort((y,a)=>y.localeCompare(a,"he")).join(", ")}(l(a.ageLevel))}</span>\n </div>\n </a>`.trim()}static{this.\u0275fac=function(l){return new(l||u)(r.rXU($.L),r.rXU(x.D))}}static{this.\u0275cmp=r.VBU({type:u,selectors:[["app-chat"]],viewQuery:function(l,h){if(1&l&&r.GBs(k,5),2&l){let g;r.mGM(g=r.lsd())&&(h.chatHistory=g.first)}},hostBindings:function(l,h){1&l&&r.bIt("click",function(){return h.closeDropdown()},r.EBC)},standalone:!1,decls:15,vars:2,consts:[["chatHistory",""],[1,"chat-container"],[1,"chat-messages"],[1,"assistant-message"],[1,"message-box","assistant-box"],[1,"message"],[1,"chat-form"],[1,"quick-actions"],[1,"important"],[1,"user-message"],[1,"message-box","user-box"],[1,"change-choice",3,"click"],[1,"dots-animation"],[1,"message-content"],[3,"innerHTML"],[1,"read-more"],[1,"read-more",3,"click"],[1,"read-more-text"],[1,"chat-form",3,"submit"],[1,"chat-type-select"],[1,"chat-type-trigger",3,"click"],[1,"gp","gp-arrow-down"],[1,"chat-type-menu"],["autosize","","name","question","required","",3,"keydown","ngModelChange","minRows","ngModel","disabled","maxLenPaste"],[1,"buttonDiv"],["type","submit"],[1,"spinner"],[1,"cmviewer","cmviewer-send-small"],[1,"chat-type-option",3,"active"],[1,"chat-type-option",3,"click"],["type","button",1,"quick-action"],["type","button",1,"quick-action",3,"click"]],template:function(l,h){1&l&&(r.j41(0,"div",1)(1,"div",2,0)(3,"div",3)(4,"div",4)(5,"span"),r.EFF(6," \u05d4\u05d9\u05d9, "),r.nrm(7,"br"),r.EFF(8," \u05d1\u05de\u05d4 \u05d0\u05d5\u05db\u05dc \u05dc\u05e2\u05d6\u05d5\u05e8? "),r.k0s()()(),r.Z7z(9,ne,4,3,"div",5,r.fX1),r.k0s(),r.nVh(11,ke,13,11,"form",6),r.nVh(12,be,3,0,"div",7),r.j41(13,"div",8),r.EFF(14,"\u05d1\u05d0\u05d3\u05d9 \u05d4\u05d5\u05d0 \u05e6\u05f3\u05d8 AI \u05d5\u05dc\u05db\u05df \u05d9\u05db\u05d5\u05dc \u05dc\u05e2\u05e9\u05d5\u05ea \u05d8\u05e2\u05d5\u05d9\u05d5\u05ea \u05d0\u05d5 \u05dc\u05ea\u05ea \u05ea\u05d5\u05e6\u05d0\u05d5\u05ea \u05dc\u05d0 \u05de\u05e1\u05e4\u05d9\u05e7 \u05d8\u05d5\u05d1\u05d5\u05ea "),r.k0s()()),2&l&&(r.R7$(9),r.Dyx(h.conversationHistory),r.R7$(2),r.vxM(h.currChoice?11:-1),r.R7$(),r.vxM(h.currChoice?-1:12))},dependencies:[v.qT,v.me,v.BC,v.cb,v.YS,v.vS,v.cV,E.K8,N],styles:['@charset "UTF-8";[_nghost-%COMP%]{width:95%;position:relative;max-width:800px;background-color:#f9f9f9;border-radius:10px;box-shadow:0 4px 6px #0000001a}@media screen and (max-width: 600px){[_nghost-%COMP%]{width:100%}}[_nghost-%COMP%] .notAllowed[_ngcontent-%COMP%]{height:200px;line-height:200px;text-align:center}[_nghost-%COMP%] .close[_ngcontent-%COMP%]{position:absolute;top:9px;left:9px;cursor:pointer;z-index:1}@media screen and (max-width: 600px){[_nghost-%COMP%] .close[_ngcontent-%COMP%]{top:12px;left:12px}}[_nghost-%COMP%] .close[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{line-height:1.2;font-size:13px}[_nghost-%COMP%] .chat-container[_ngcontent-%COMP%]{width:100%;margin:0 auto;display:flex;flex-direction:column;justify-content:flex-end;height:calc(100vh - 215px);padding:20px 0}@media screen and (max-width: 992px){[_nghost-%COMP%] .chat-container[_ngcontent-%COMP%]{height:calc(100vh - 70px)}}[_nghost-%COMP%] .chat-messages[_ngcontent-%COMP%]{margin-bottom:20px;display:flex;flex-direction:column;gap:15px;overflow-y:auto;flex-grow:1;word-wrap:break-word;padding-left:35px;padding-right:20px}[_nghost-%COMP%] .message[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:5px;justify-content:flex-start}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%]{padding:12px;border-radius:10px;font-size:18px}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-image{max-width:100%;border-radius:8px;margin:8px 0;display:block}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-video-link{position:relative;display:inline-block;max-width:100%;margin:8px 0;line-height:0}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-video-link img.msg-video-thumb{max-width:100%;border-radius:8px;display:block}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-video-link:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:68px;height:48px;border-radius:12px;background:#212121cc;pointer-events:none}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-video-link:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff;pointer-events:none}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .msg-video-link:hover:before{background:red}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit{background-color:#fff;border-radius:12px;border:1px solid #e4e4e4;font-size:20px;text-decoration:none;color:#878786;white-space:normal;display:block;padding:12px;margin:8px 0}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit:hover, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit:hover{background-color:var(--BG-Secondary1, #e3f1fd)}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit h4, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit h4{font-size:24px;line-height:1;font-weight:400;color:#303030;margin:0 0 6px}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info{font-size:14px;line-height:1.2;color:#303030;margin-top:9px;display:flex;align-items:center}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span{dis
1play:inline-block}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.sep, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.sep{font-size:12px;margin-right:11px;margin-left:11px}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.studying, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.exam, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.exercise, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.gamification, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.adaptive_exercise, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.studying, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.exam, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.exercise, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.gamification, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.adaptive_exercise{width:10px;height:10px;border-radius:50%;margin-left:8px}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.exercise, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.exercise{background:#fec803}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.gamification, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.gamification{background:#ef5da8}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.exam, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.exam{background:#007bff}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.studying, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.studying{background:#00b46f}[_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .unit .info span.adaptive_exercise, [_nghost-%COMP%] .message-box[_ngcontent-%COMP%] .otherUnit .info span.adaptive_exercise{background:#a273c6}[_nghost-%COMP%] .user-box[_ngcontent-%COMP%]{background:var(--BG-Decorative-Purple, #E3F1FD);align-self:flex-start;max-width:80%}[_nghost-%COMP%] .assistant-box[_ngcontent-%COMP%]{background-color:#f0f0f0;align-self:flex-end;max-width:80%;min-width:100px;min-height:52px}[_nghost-%COMP%] .message-content.clamped[_ngcontent-%COMP%]{position:relative;overflow:hidden}[_nghost-%COMP%] .read-more[_ngcontent-%COMP%]{display:inline-block;margin-top:6px;color:#007bff;font-weight:700;cursor:pointer}[_nghost-%COMP%] .read-more[_ngcontent-%COMP%] .ellipsis[_ngcontent-%COMP%]{color:#303030;font-weight:400}[_nghost-%COMP%] .read-more[_ngcontent-%COMP%]:hover .read-more-text[_ngcontent-%COMP%]{text-decoration:underline}[_nghost-%COMP%] .message-sources[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px;margin-top:12px;font-size:14px}[_nghost-%COMP%] .message-sources[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:#2366a8;text-decoration:underline}[_nghost-%COMP%] .user-message[_ngcontent-%COMP%], [_nghost-%COMP%] .assistant-message[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;flex-direction:column}[_nghost-%COMP%] .change-choice[_ngcontent-%COMP%]{cursor:pointer;height:35px;padding:4px 16px;justify-content:center;align-items:center;border-radius:22px;border:1px solid var(--Border-Light, #E4E4E4);background:var(--Content-On-dark, #FFF);font-size:16px;font-style:normal;font-weight:400;line-height:22px}[_nghost-%COMP%] .change-choice[_ngcontent-%COMP%]:hover{background-color:#007bff;color:#fff}[_nghost-%COMP%] strong[_ngcontent-%COMP%]{font-weight:700;color:#333}[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%]{padding:0 20px 40px;color:#666;background-color:#bdccd300;position:relative;margin-top:10px}@media screen and (max-width: 992px){[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%]{padding:0 20px 10px}}[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%] textarea{width:100%;border-radius:20px;color:#303030;font-size:16px;min-height:42px!important;padding-right:14px;padding-top:11px;padding-left:175px;overflow:hidden;border-color:#c6c6c6;line-height:1;outline:none}[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%] textarea:disabled{background-color:#f3f3f3;color:#c6c6c6;padding-left:13px}[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%] textarea.narrow{font-size:18px;height:52px}@media screen and (max-width: 992px){[_nghost-%COMP%] .chat-form[_ngcontent-%COMP%] textarea{font-size:18px;height:52px}}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%]{position:absolute;top:0;left:64px;height:42px;display:flex;align-items:center;z-index:2}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-trigger[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:22px;background:#f0f0f0;color:#303030;font-size:16px;font-weight:400;line-height:1;cursor:pointer;white-space:nowrap}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-trigger[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{font-size:7p
1x;color:#303030;transition:transform .2s ease}[_nghost-%COMP%] .chat-type-select.open[_ngcontent-%COMP%] .chat-type-trigger[_ngcontent-%COMP%] i[_ngcontent-%COMP%]{transform:rotate(180deg)}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-menu[_ngcontent-%COMP%]{position:absolute;top:calc(100% + 4px);left:0;min-width:125px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001f;padding:6px;z-index:5;display:flex;flex-direction:column;gap:2px}@media screen and (max-width: 992px){[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-menu[_ngcontent-%COMP%]{top:auto;bottom:calc(100% + 4px)}}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-option[_ngcontent-%COMP%]{padding:8px 14px;border-radius:8px;font-size:16px;font-weight:400;color:#303030;cursor:pointer;white-space:nowrap}[_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-option[_ngcontent-%COMP%]:hover, [_nghost-%COMP%] .chat-type-select[_ngcontent-%COMP%] .chat-type-option.active[_ngcontent-%COMP%]{background:#e3f1fd}[_nghost-%COMP%] button[_ngcontent-%COMP%]{position:absolute;left:24px;bottom:53px;background-color:transparent;border-radius:30px;color:#fb69b0;border:0;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}@media screen and (max-width: 992px){[_nghost-%COMP%] button[_ngcontent-%COMP%]{bottom:22px}}[_nghost-%COMP%] button.more[_ngcontent-%COMP%]{position:static;width:227px;height:48px;color:#007bff;background-color:#e3f1fd;font-weight:700;font-size:18px;margin:26px auto auto}@media screen and (max-width: 992px){[_nghost-%COMP%] button.more[_ngcontent-%COMP%]{font-size:16px;height:40px;width:-moz-fit-content;width:fit-content;padding:0 25px}}[_nghost-%COMP%] .quick-actions[_ngcontent-%COMP%]{display:flex;justify-content:right;gap:8px;padding:0 20px 60px 35px}@media screen and (max-width: 992px){[_nghost-%COMP%] .quick-actions[_ngcontent-%COMP%]{padding:0 20px 30px 35px}}[_nghost-%COMP%] .quick-actions[_ngcontent-%COMP%] .quick-action[_ngcontent-%COMP%]{cursor:pointer;display:inline-flex;min-width:103px;height:35px;padding:4px 18px;border-radius:22px;background-color:#fedfee;color:#fb69b0;justify-content:center;align-items:center;font-size:16px;font-weight:600;font-style:normal}[_nghost-%COMP%] .quick-actions[_ngcontent-%COMP%] .quick-action[_ngcontent-%COMP%]:hover{background-color:#fb69b0;color:#fff}[_nghost-%COMP%] .important[_ngcontent-%COMP%]{font-size:14px;bottom:42px;position:absolute;width:100%;text-align:center;color:#787878}@media screen and (max-width: 992px){[_nghost-%COMP%] .important[_ngcontent-%COMP%]{width:100%;bottom:9px;font-size:13px;right:0}}[_nghost-%COMP%] .question-input[_ngcontent-%COMP%]{width:70%;padding:10px;font-size:16px;border-radius:20px;border:1px solid #ddd}[_nghost-%COMP%] .dots-animation[_ngcontent-%COMP%]{color:#303030;font-size:1.2em;display:flex;align-items:center;font-weight:700}[_nghost-%COMP%] .spinner[_ngcontent-%COMP%]{width:25px;height:25px;border-radius:50%;background:conic-gradient(from 270deg,#fb69b0 0%,rgba(251,105,176,.8) 10%,rgba(251,105,176,.5333333333) 30%,rgba(251,105,176,.2666666667) 50%,transparent 70%,transparent 100%);mask:radial-gradient(circle at center,transparent 38%,black 40%,black 60%,transparent 62%);-webkit-mask:radial-gradient(circle at center,transparent 38%,black 40%,black 60%,transparent 62%);animation:_ngcontent-%COMP%_spin-ccw 1s linear infinite;background-color:transparent}@keyframes _ngcontent-%COMP%_spin-ccw{to{transform:rotate(-360deg)}}']})}}return u})()},93846(me,q,O){O.d(q,{J:()=>_});var R=O(72200),T=O(89417),B=O(80916),j=O(64801),Z=O(2615),I=O(73664);O(19427);let _=(()=>{class ${static{this.\u0275fac=function(E){return new(E||$)}}static{this.\u0275mod=I.$C({type:$})}static{this.\u0275inj=Z.G2t({providers:[j.D],imports:[R.MD,T.YN,B.Py]})}}return $})()},64801(me,q,O){O.d(q,{D:()=>Qe});let T={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function B(d){T=d}const j=/[&<>"']/,Z=new RegExp(j.source,"g"),I=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,r=new RegExp(I.source,"g"),_={"&":"&","<":"<",">":">",'"':""","'":"'"},$=d=>_[d];function x(d,n){if(n){if(j.test(d))return d.replace(Z,$)}else if(I.test(d))return d.replace(r,$);return d}const v=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function E(d){return d.replace(v,(n,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")}const N=/(^|[^\[])\^/g;function k(d,n){let t="string"==typeof d?d:d.source;n=n||"";const e={replace:(o,i)=>{let s="string"==typeof i?i:i.source;return s=s.replace(N,"$1"),t=t.replace(o,s),e},getRegex:()=>new RegExp(t,n)};return e}function S(d){try{d=encodeURI(d).replace(/%25/g,"%")}catch{return null}return d}const L={exec:()=>null};
vendor: 4,114 bytes, line 1
1function ee(d,n){const e=d.replace(/\|/g,(i,s,c)=>{let p=!1,w=s;for(;--w>=0&&"\\"===c[w];)p=!p;return p?"|":" |"}).split(/ \|/);let o=0;if(e[0].trim()||e.shift(),e.length>0&&!e[e.length-1].trim()&&e.pop(),n)if(e.length>n)e.splice(n);else for(;e.length<n;)e.push("");for(;o<e.length;o++)e[o]=e[o].trim().replace(/\\\|/g,"|");return e}function H(d,n,t){const e=d.length;if(0===e)return"";let o=0;for(;o<e;){const i=d.charAt(e-o-1);if(i!==n||t){if(i===n||!t)break;o++}else o++}return d.slice(0,e-o)}function ne(d,n,t,e){const o=n.href,i=n.title?x(n.title):null,s=d[1].replace(/\\([\[\]])/g,"$1");if("!"!==d[0].charAt(0)){e.state.inLink=!0;const c={type:"link",raw:t,href:o,title:i,text:s,tokens:e.inlineTokens(s)};return e.state.inLink=!1,c}return{type:"image",raw:t,href:o,title:i,text:x(s)}}class U{options;rules;lexer;constructor(n){this.options=n||T}space(n){const t=this.rules.block.newline.exec(n);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(n){const t=this.rules.block.code.exec(n);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:H(e,"\n")}}}fences(n){const t=this.rules.block.fences.exec(n);if(t){const e=t[0],o=function re(d,n){const t=d.match(/^(\s+)(?:```)/);if(null===t)return n;const e=t[1];return n.split("\n").map(o=>{const i=o.match(/^\s+/);if(null===i)return o;const[s]=i;return s.length>=e.length?o.slice(e.length):o}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:o}}}heading(n){const t=this.rules.block.heading.exec(n);if(t){let e=t[2].trim();if(/#$/.test(e)){const o=H(e,"#");(this.options.pedantic||!o||/ $/.test(o))&&(e=o.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(n){const t=this.rules.block.hr.exec(n);if(t)return{type:"hr",raw:t[0]}}blockquote(n){const t=this.rules.block.blockquote.exec(n);if(t){let e=t[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,"\n $1");e=H(e.replace(/^ *>[ \t]?/gm,""),"\n");const o=this.lexer.state.top;this.lexer.state.top=!0;const i=this.lexer.blockTokens(e);return this.lexer.state.top=o,{type:"blockquote",raw:t[0],tokens:i,text:e}}}list(n){let t=this.rules.block.list.exec(n);if(t){let e=t[1].trim();const o=e.length>1,i={type:"list",raw:"",ordered:o,start:o?+e.slice(0,-1):"",loose:!1,items:[]};e=o?`\\d{1,9}\\${e.slice(-1)}`:`\\${e}`,this.options.pedantic&&(e=o?e:"[*+-]");const s=new RegExp(`^( {0,3}${e})((?:[\t ][^\\n]*)?(?:\\n|$))`);let c="",p="",w=!1;for(;n;){let f=!1;if(!(t=s.exec(n))||this.rules.block.hr.test(n))break;c=t[0],n=n.substring(c.length);let C=t[2].split("\n",1)[0].replace(/^\t+/,Oe=>" ".repeat(3*Oe.length)),m=n.split("\n",1)[0],P=0;this.options.pedantic?(P=2,p=C.trimStart()):(P=t[2].search(/[^ ]/),P=P>4?1:P,p=C.slice(P),P+=t[1].length);let Q=!1;if(!C&&/^ *$/.test(m)&&(c+=m+"\n",n=n.substring(m.length+1),f=!0),!f){const Oe=new RegExp(`^ {0,${Math.min(3,P-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),Ee=new RegExp(`^ {0,${Math.min(3,P-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),$e=new RegExp(`^ {0,${Math.min(3,P-1)}}(?:\`\`\`|~~~)`),Re=new RegExp(`^ {0,${Math.min(3,P-1)}}#`);for(;n;){const ve=n.split("\n",1)[0];if(m=ve,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),$e.test(m)||Re.test(m)||Oe.test(m)||Ee.test(n))break;if(m.search(/[^ ]/)>=P||!m.trim())p+="\n"+m.slice(P);else{if(Q||C.search(/[^ ]/)>=4||$e.test(C)||Re.test(C)||Ee.test(C))break;p+="\n"+m}!Q&&!m.trim()&&(Q=!0),c+=ve+"\n",n=n.substring(ve.length+1),C=m.slice(P)}}i.loose||(w?i.loose=!0:/\n *\n *$/.test(c)&&(w=!0));let Y,D=null;this.options.gfm&&(D=/^\[[ xX]\] /.exec(p),D&&(Y="[ ] "!==D[0],p=p.replace(/^\[[ xX]\] +/,""))),i.items.push({type:"list_item",raw:c,task:!!D,checked:Y,loose:!1,text:p,tokens:[]}),i.raw+=c}i.items[i.items.length-1].raw=c.trimEnd(),i.items[i.items.length-1].text=p.trimEnd(),i.raw=i.raw.trimEnd();for(let f=0;f<i.items.length;f++)if(this.lexer.state.top=!1,i.items[f].tokens=this.lexer.blockTokens(i.items[f].text,[]),!i.loose){const C=i.items[f].tokens.filter(P=>
vendor: 6,904 bytes, line 1
1"space"===P.type),m=C.length>0&&C.some(P=>/\n.*\n/.test(P.raw));i.loose=m}if(i.loose)for(let f=0;f<i.items.length;f++)i.items[f].loose=!0;return i}}html(n){const t=this.rules.block.html.exec(n);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(n){const t=this.rules.block.def.exec(n);if(t){const e=t[1].toLowerCase().replace(/\s+/g," "),o=t[2]?t[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:o,title:i}}}table(n){const t=this.rules.block.table.exec(n);if(!t||!/[:|]/.test(t[2]))return;const e=ee(t[1]),o=t[2].replace(/^\||\| *$/g,"").split("|"),i=t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(e.length===o.length){for(const c of o)/^ *-+: *$/.test(c)?s.align.push("right"):/^ *:-+: *$/.test(c)?s.align.push("center"):/^ *:-+ *$/.test(c)?s.align.push("left"):s.align.push(null);for(const c of e)s.header.push({text:c,tokens:this.lexer.inline(c)});for(const c of i)s.rows.push(ee(c,s.header.length).map(p=>({text:p,tokens:this.lexer.inline(p)})));return s}}lheading(n){const t=this.rules.block.lheading.exec(n);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(n){const t=this.rules.block.paragraph.exec(n);if(t){const e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(n){const t=this.rules.block.text.exec(n);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(n){const t=this.rules.inline.escape.exec(n);if(t)return{type:"escape",raw:t[0],text:x(t[1])}}tag(n){const t=this.rules.inline.tag.exec(n);if(t)return!this.lexer.state.inLink&&/^<a /i.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(n){const t=this.rules.inline.link.exec(n);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^</.test(e)){if(!/>$/.test(e))return;const s=H(e.slice(0,-1),"\\");if((e.length-s.length)%2==0)return}else{const s=function te(d,n){if(-1===d.indexOf(n[1]))return-1;let t=0;for(let e=0;e<d.length;e++)if("\\"===d[e])e++;else if(d[e]===n[0])t++;else if(d[e]===n[1]&&(t--,t<0))return e;return-1}(t[2],"()");if(s>-1){const p=(0===t[0].indexOf("!")?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,p).trim(),t[3]=""}}let o=t[2],i="";if(this.options.pedantic){const s=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(o);s&&(o=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):"";return o=o.trim(),/^</.test(o)&&(o=this.options.pedantic&&!/>$/.test(e)?o.slice(1):o.slice(1,-1)),ne(t,{href:o&&o.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer)}}reflink(n,t){let e;if((e=this.rules.inline.reflink.exec(n))||(e=this.rules.inline.nolink.exec(n))){const i=t[(e[2]||e[1]).replace(/\s+/g," ").toLowerCase()];if(!i){const s=e[0].charAt(0);return{type:"text",raw:s,text:s}}return ne(e,i,e[0],this.lexer)}}emStrong(n,t,e=""){let o=this.rules.inline.emStrongLDelim.exec(n);if(!(!o||o[3]&&e.match(/[\p{L}\p{N}]/u))&&(!o[1]&&!o[2]||!e||this.rules.inline.punctuation.exec(e))){const s=[...o[0]].length-1;let c,p,w=s,f=0;const C="*"===o[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(C.lastIndex=0,t=t.slice(-1*n.length+s);null!=(o=C.exec(t));){if(c=o[1]||o[2]||o[3]||o[4]||o[5]||o[6],!c)continue;if(p=[...c].length,o[3]||o[4]){w+=p;continue}if((o[5]||o[6])&&s%3&&!((s+p)%3)){f+=p;continue}if(w-=p,w>0)continue;p=Math.min(p,p+w+f);const m=[...o[0]][0].length,P=n.slice(0,s+o.index+m+p);if(Math.min(s,p)%2){const D=P.slice(1,-1);return{type:"em",raw:P,text:D,tokens:this.lexer.inlineTokens(D)}}const Q=P.slice(2,-2);return{type:"strong",raw:P,text:Q,tokens:this.lexer.inlineTokens(Q)}}}}codespan(n){const t=this.rules.inline.code.exec(n);if(t){let e=t[2].replace(/\n/g," ");const o=/[^ ]/.test(e),i=/^ /.test(e)&&/ $/.test(e);return o&&i&&(e=e.substring(1,e.length-1)),e=x(e,!0),{type:"codespan",raw:t[0],text:e}}}br(n){const t=this.rules.inline.br.exec(n);if(t)return{type:"br",raw:t[0]}}del(n){const t=this.rules.inline.del.exec(n);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(n){const t=this.rules.inline.autolink.exec(n);if(t){let e,o;return"@"===t[2]?(e=x(t[1]),o="mailto:"+e):(e=x(t[1]),o=e),{type:"link",raw:t[0],text:e,href:o,tokens:[{type:"text",raw:e,text:e}]}}}url(n){let t;if(t=this.rules.inline.url.exec(n)){let e,o;if("@"===t[2])e=x(t[0]),o="mailto:"+e;else{let i;do{i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(i!==t[0]);e=x(t[0]),o="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:o,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(n){const t=this.rules.inline.text.exec(n);if(t){let e;return e=this.lexer.state.inRawBlock?t[0]:x(t[0]),{type:"text",raw:t[0],text:e}}}}const K=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,he=/(?:[*+-]|\d{1,9}[.)])/,pe=k(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,he).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),u=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,a=/(?!\s*\])(?:\\.|[^\[\]\\])+/,l=k(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",a).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),h=k(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,he).getRegex(),g="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|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",b=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,A=k("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>
1)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",b).replace("tag",g).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),z=k(u).replace("hr",K).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",g).getRegex(),V={blockquote:k(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",z).getRegex(),code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,def:l,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:K,html:A,lheading:pe,list:h,newline:/^(?: *(?:\n|$))+/,paragraph:z,table:L,text:/^[^\n]+/},X=k("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",K).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",g).getRegex(),se={...V,table:X,paragraph:k(u).replace("hr",K).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",X).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",g).getRegex()},we={...V,html:k("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",b).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:L,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:k(u).replace("hr",K).replace("heading"," *#{1,6} *[^\n]").replace("lheading",pe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},ae=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ie=/^( {2,}|\\)\n(?!\s*$)/,oe="\\p{P}\\p{S}",ze=k(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,oe).getRegex(),Ie=k(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,oe).getRegex(),Se=k("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,oe).getRegex(),Le=k("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,oe).getRegex(),He=k(/\\([punct])/,"gu").replace(/punct/g,oe).getRegex(),Fe=k(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[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])?)+(?![-_])/).getRegex(),Ge=k(b).replace("(?:--\x3e|$)","--\x3e").getRegex(),Be=k("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Ge).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),ue=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,je=k(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",ue).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Te=k(/^!?\[(label)\]\[(ref)\]/).replace("label",ue).replace("ref",a).getRegex(),Ae=k(/^!?\[(ref)\](?:\[\])?/).replace("ref",a).getRegex(),ye={_backpedal:L,anyPunctuation:He,autolink:Fe,blockSkip:/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,br:ie,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:L,emStrongLDelim:Ie,emStrongRDelimAst:Se,emStrongRDelimUnd:Le,escape:ae,link:je,nolink:Ae,punctuation:ze,reflink:Te,reflinkSearch:k("reflink|nolink(?!\\()","g").replace("reflink",Te).replace("nolink",Ae).getRegex(),tag:Be,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:L},We={...ye,link:k(/^!?\[(label)\]\((.*?)\)/).replace("label",ue).getRegex(),reflink:k(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ue).getRegex()},Me={...ye,escape:k(ae).replace("])","~|])").getRegex(),url:k(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Ne={...Me,br:k(ie).replace("{2,}","*").getRegex(),text:k(Me.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ge={normal:V,gfm:se,pedantic:we},ce={normal:ye,gfm:Me,breaks:Ne,pedantic:We};class F{tokens;options;state;tokenizer;inlineQueue;constructor(n){this.tokens=[],this.tokens.links=Object.create(null),this.options=n||T,this.options.tokenizer=this.options.tokenizer||new U,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const t={block:ge.normal,inline:ce.normal};this.options.pedantic?(t.block=ge.pedantic,t.inline=ce.pedantic):this.options.gfm&&(t.block=ge.gfm,t.inline=this.options.breaks?ce.breaks:ce.gfm),this.tokenizer.rules=t}static get rules(){return{block:ge,inline:ce}}static lex(n,t){return new F(t).lex(n)}static lexInline(n,t){return new F(t).inlineTokens(n)}lex(n){n=n.replace(/\r\n|\r/g,"\n"),this.blockTokens(n,this.tokens);for(let t=0;
vendor: 4,109 bytes, line 1
1t<this.inlineQueue.length;t++){const e=this.inlineQueue[t];this.inlineTokens(e.src,e.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(n,t=[]){let e,o,i,s;for(n=this.options.pedantic?n.replace(/\t/g," ").replace(/^ +$/gm,""):n.replace(/^( *)(\t+)/gm,(c,p,w)=>p+" ".repeat(w.length));n;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(c=>!!(e=c.call({lexer:this},n,t))&&(n=n.substring(e.raw.length),t.push(e),!0)))){if(e=this.tokenizer.space(n)){n=n.substring(e.raw.length),1===e.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(e);continue}if(e=this.tokenizer.code(n)){n=n.substring(e.raw.length),o=t[t.length-1],!o||"paragraph"!==o.type&&"text"!==o.type?t.push(e):(o.raw+="\n"+e.raw,o.text+="\n"+e.text,this.inlineQueue[this.inlineQueue.length-1].src=o.text);continue}if(e=this.tokenizer.fences(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.heading(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.hr(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.blockquote(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.list(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.html(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.def(n)){n=n.substring(e.raw.length),o=t[t.length-1],!o||"paragraph"!==o.type&&"text"!==o.type?this.tokens.links[e.tag]||(this.tokens.links[e.tag]={href:e.href,title:e.title}):(o.raw+="\n"+e.raw,o.text+="\n"+e.raw,this.inlineQueue[this.inlineQueue.length-1].src=o.text);continue}if(e=this.tokenizer.table(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.lheading(n)){n=n.substring(e.raw.length),t.push(e);continue}if(i=n,this.options.extensions&&this.options.extensions.startBlock){let c=1/0;const p=n.slice(1);let w;this.options.extensions.startBlock.forEach(f=>{w=f.call({lexer:this},p),"number"==typeof w&&w>=0&&(c=Math.min(c,w))}),c<1/0&&c>=0&&(i=n.substring(0,c+1))}if(this.state.top&&(e=this.tokenizer.paragraph(i))){o=t[t.length-1],s&&"paragraph"===o.type?(o.raw+="\n"+e.raw,o.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=o.text):t.push(e),s=i.length!==n.length,n=n.substring(e.raw.length);continue}if(e=this.tokenizer.text(n)){n=n.substring(e.raw.length),o=t[t.length-1],o&&"text"===o.type?(o.raw+="\n"+e.raw,o.text+="\n"+e.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=o.text):t.push(e);continue}if(n){const c="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(c);break}throw new Error(c)}}return this.state.top=!0,t}inline(n,t=[]){return this.inlineQueue.push({src:n,tokens:t}),t}inlineTokens(n,t=[]){let e,o,i,c,p,w,s=n;if(this.tokens.links){const f=Object.keys(this.tokens.links);if(f.length>0)for(;null!=(c=this.tokenizer.rules.inline.reflinkSearch.exec(s));)f.includes(c[0].slice(c[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,c.index)+"["+"a".repeat(c[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(c=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,c.index)+"["+"a".repeat(c[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(c=this.tokenizer.rules.inline.anyPunctuation.exec(s));)s=s.slice(0,c.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;n;)if(p||(w=""),p=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(f=>!!(e=f.call({lexer:this},n,t))&&(n=n.substring(e.raw.length),t.push(e),!0)))){if(e=this.tokenizer.escape(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.tag(n)){n=n.substring(e.raw.length),o=t[t.length-1],o&&"text"===e.type&&"text"===o.type?(o.raw+=e.raw,o.text+=e.text):t.push(e);continue}if(e=this.tokenizer.link(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.reflink(n,this.tokens.links)){n=n.substring(e.raw.length),o=t[t.length-1],o&&"text"===e.type&&"text"===o.type?(o.raw+=e.raw,o.text+=e.text):t.push(e);continue}
vendor: 7,332 bytes, line 1
1if(e=this.tokenizer.emStrong(n,s,w)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.codespan(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.br(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.del(n)){n=n.substring(e.raw.length),t.push(e);continue}if(e=this.tokenizer.autolink(n)){n=n.substring(e.raw.length),t.push(e);continue}if(!this.state.inLink&&(e=this.tokenizer.url(n))){n=n.substring(e.raw.length),t.push(e);continue}if(i=n,this.options.extensions&&this.options.extensions.startInline){let f=1/0;const C=n.slice(1);let m;this.options.extensions.startInline.forEach(P=>{m=P.call({lexer:this},C),"number"==typeof m&&m>=0&&(f=Math.min(f,m))}),f<1/0&&f>=0&&(i=n.substring(0,f+1))}if(e=this.tokenizer.inlineText(i)){n=n.substring(e.raw.length),"_"!==e.raw.slice(-1)&&(w=e.raw.slice(-1)),p=!0,o=t[t.length-1],o&&"text"===o.type?(o.raw+=e.raw,o.text+=e.text):t.push(e);continue}if(n){const f="Infinite loop on byte: "+n.charCodeAt(0);if(this.options.silent){console.error(f);break}throw new Error(f)}}return t}}class de{options;constructor(n){this.options=n||T}code(n,t,e){const o=(t||"").match(/^\S*/)?.[0];return n=n.replace(/\n$/,"")+"\n",o?'<pre><code class="language-'+x(o)+'">'+(e?n:x(n,!0))+"</code></pre>\n":"<pre><code>"+(e?n:x(n,!0))+"</code></pre>\n"}blockquote(n){return`<blockquote>\n${n}</blockquote>\n`}html(n,t){return n}heading(n,t,e){return`<h${t}>${n}</h${t}>\n`}hr(){return"<hr>\n"}list(n,t,e){const o=t?"ol":"ul";return"<"+o+(t&&1!==e?' start="'+e+'"':"")+">\n"+n+"</"+o+">\n"}listitem(n,t,e){return`<li>${n}</li>\n`}checkbox(n){return"<input "+(n?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(n){return`<p>${n}</p>\n`}table(n,t){return t&&(t=`<tbody>${t}</tbody>`),"<table>\n<thead>\n"+n+"</thead>\n"+t+"</table>\n"}tablerow(n){return`<tr>\n${n}</tr>\n`}tablecell(n,t){const e=t.header?"th":"td";return(t.align?`<${e} align="${t.align}">`:`<${e}>`)+n+`</${e}>\n`}strong(n){return`<strong>${n}</strong>`}em(n){return`<em>${n}</em>`}codespan(n){return`<code>${n}</code>`}br(){return"<br>"}del(n){return`<del>${n}</del>`}link(n,t,e){const o=S(n);if(null===o)return e;let i='<a href="'+(n=o)+'"';return t&&(i+=' title="'+t+'"'),i+=">"+e+"</a>",i}image(n,t,e){const o=S(n);if(null===o)return e;let i=`<img src="${n=o}" alt="${e}"`;return t&&(i+=` title="${t}"`),i+=">",i}text(n){return n}}class Pe{strong(n){return n}em(n){return n}codespan(n){return n}del(n){return n}html(n){return n}text(n){return n}link(n,t,e){return""+e}image(n,t,e){return""+e}br(){return""}}class G{options;renderer;textRenderer;constructor(n){this.options=n||T,this.options.renderer=this.options.renderer||new de,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Pe}static parse(n,t){return new G(t).parse(n)}static parseInline(n,t){return new G(t).parseInline(n)}parse(n,t=!0){let e="";for(let o=0;o<n.length;o++){const i=n[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){const s=i,c=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==c||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(s.type)){e+=c||"";continue}}switch(i.type){case"space":continue;case"hr":e+=this.renderer.hr();continue;case"heading":{const s=i;e+=this.renderer.heading(this.parseInline(s.tokens),s.depth,E(this.parseInline(s.tokens,this.textRenderer)));continue}case"code":e+=this.renderer.code(i.text,i.lang,!!i.escaped);continue;case"table":{const s=i;let c="",p="";for(let f=0;f<s.header.length;f++)p+=this.renderer.tablecell(this.parseInline(s.header[f].tokens),{header:!0,align:s.align[f]});c+=this.renderer.tablerow(p);let w="";for(let f=0;f<s.rows.length;f++){const C=s.rows[f];p="";for(let m=0;m<C.length;m++)p+=this.renderer.tablecell(this.parseInline(C[m].tokens),{header:!1,align:s.align[m]});w+=this.renderer.tablerow(p)}e+=this.renderer.table(c,w);continue}case"blockquote":{const c=this.parse(i.tokens);e+=this.renderer.blockquote(c);continue}case"list":{const s=i,c=s.ordered,p=s.start,w=s.loose;let f="";for(let C=0;C<s.items.length;C++){const m=s.items[C],P=m.checked,Q=m.task;let D="";if(m.task){const Y=this.renderer.checkbox(!!P);w?m.tokens.length>0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=Y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=Y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:Y+" "}):D+=Y+" "}D+=this.parse(m.tokens,w),f+=this.renderer.listitem(D,Q,!!P)}e+=this.renderer.list(f,c,p);continue}case"html":e+=this.renderer.html(i.text,i.block);continue;case"paragraph":e+=this.renderer.paragraph(this.parseInline(i.tokens));continue;case"text":{let s=i,c=s.tokens?this.parseInline(s.tokens):s.text;for(;o+1<n.length&&"text"===n[o+1].type;)s=n[++o],c+="\n"+(s.tokens?this.parseInline(s.tokens):s.text);e+=t?this.renderer.paragraph(c):c;continue}default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return e}parseInline(n,t){t=t||this.renderer;let e="";for(let o=0;o<n.length;o++){const i=n[o];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[i.type]){const s=this.options.extensions.renderers[i.type].call({parser:this},i);if(!1!==s||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(i.type)){e+=s||"";continue}}switch(i.type){case"escape":case"text":e+=t.text(i.text);break;case"html":e+=t.html(i.text);break;case"link":e+=t.link(i.href,i.title,this.parseInline(i.tokens,t));break;case"image":e+=t.image(i.href,i.title,i.text);break;case"strong":e+=t.strong(this.parseInline(i.tokens,t));break;case"em":e+=t.em(this.parseInline(i.tokens,t));break;case"codespan":e+=t.codespan(i.text);break;case"br":e+=t.br();break;case"del":e+=t.del(this.parseInline(i.tokens,t));break;default:{const s='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(s),"";throw new Error(s)}}}return e}}class fe{options;constructor(n){this.options=n||T}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}}const J=new class Ve{defaults={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};options=this.setOptions;parse=this.#e(F.lex,G.parse);parseInline=this.#e(F.lexInline,G.parseInline);Parser=G;Renderer=de;TextRenderer=Pe;Lexer=F;Tokenizer=U;Hooks=fe;constructor(...n){this.use(...n)}walkTokens(n,t){let e=[];for(const o of n)switch(e=e.concat(t.call(this,o)),o.type){case"table":{const i=o;for(const s of i.header)e=e.concat(this.walkTokens(s.tokens,t));for(const s of i.rows)for(const c of s)e=e.concat(this.walkTokens(c.tokens,t));break}case"list":e=e.concat(this.walkTokens(o.items,t));break;default:{const i=o;this.defaults.extensions?.childTokens?.[i.type]?this.defaults.extensions.childTokens[i.type].forEach(s=>{const c=i[s].flat(1/0);e=e.concat(this.walkTokens(c,t))}):i.tokens&&(e=e.concat(this.walkTokens(i.tokens,t)))}}return e}use(...n){const t=this.defaults.extensions||{renderers:{},childTokens:{}};
1return n.forEach(e=>{const o={...e};if(o.async=this.defaults.async||o.async||!1,e.extensions&&(e.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){const s=t.renderers[i.name];t.renderers[i.name]=s?function(...c){let p=i.renderer.apply(this,c);return!1===p&&(p=s.apply(this,c)),p}:i.renderer}if("tokenizer"in i){if(!i.level||"block"!==i.level&&"inline"!==i.level)throw new Error("extension level must be 'block' or 'inline'");const s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&("block"===i.level?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:"inline"===i.level&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),o.extensions=t),e.renderer){const i=this.defaults.renderer||new de(this.defaults);for(const s in e.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if("options"===s)continue;const p=e.renderer[s],w=i[s];i[s]=(...f)=>{let C=p.apply(i,f);return!1===C&&(C=w.apply(i,f)),C||""}}o.renderer=i}if(e.tokenizer){const i=this.defaults.tokenizer||new U(this.defaults);for(const s in e.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;const p=e.tokenizer[s],w=i[s];i[s]=(...f)=>{let C=p.apply(i,f);return!1===C&&(C=w.apply(i,f)),C}}o.tokenizer=i}if(e.hooks){const i=this.defaults.hooks||new fe;for(const s in e.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if("options"===s)continue;const p=e.hooks[s],w=i[s];i[s]=fe.passThroughHooks.has(s)?f=>{if(this.defaults.async)return Promise.resolve(p.call(i,f)).then(m=>w.call(i,m));const C=p.call(i,f);return w.call(i,C)}:(...f)=>{let C=p.apply(i,f);return!1===C&&(C=w.apply(i,f)),C}}o.hooks=i}if(e.walkTokens){const i=this.defaults.walkTokens,s=e.walkTokens;o.walkTokens=function(c){let p=[];return p.push(s.call(this,c)),i&&(p=p.concat(i.call(this,c))),p}}this.defaults={...this.defaults,...o}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,t){return F.lex(n,t??this.defaults)}parser(n,t){return G.parse(n,t??this.defaults)}#e(n,t){return(e,o)=>{const i={...o},s={...this.defaults,...i};!0===this.defaults.async&&!1===i.async&&(s.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),s.async=!0);const c=this.#t(!!s.silent,!!s.async);if(typeof e>"u"||null===e)return c(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof e)return c(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(s.hooks&&(s.hooks.options=s),s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(e):e).then(p=>n(p,s)).then(p=>s.hooks?s.hooks.processAllTokens(p):p).then(p=>s.walkTokens?Promise.all(this.walkTokens(p,s.walkTokens)).then(()=>p):p).then(p=>t(p,s)).then(p=>s.hooks?s.hooks.postprocess(p):p).catch(c);try{s.hooks&&(e=s.hooks.preprocess(e));let p=n(e,s);s.hooks&&(p=s.hooks.processAllTokens(p)),s.walkTokens&&this.walkTokens(p,s.walkTokens);let w=t(p,s);return s.hooks&&(w=s.hooks.postprocess(w)),w}catch(p){return c(p)}}}#t(n,t){return e=>{if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",n){const o="<p>An error occurred:</p><pre>"+x(e.message+"",!0)+"</pre>";return t?Promise.resolve(o):o}if(t)return Promise.reject(e);throw e}}};function M(d,n){return J.parse(d,n)}M.options=M.setOptions=function(d){return J.setOptions(d),B(M.defaults=J.defaults),M},M.getDefaults=function R(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}},M.defaults=T,M.use=function(...d){return J.use(...d),B(M.defaults=J.defaults),M},M.walkTokens=function(d,n){return J.walkTokens(d,n)},M.parseInline=J.parseInline,M.Parser=G,M.parser=G.parse,M.Renderer=de,M.TextRenderer=Pe,M.Lexer=F,M.lexer=F.lex,M.Tokenizer=U,M.Hooks=fe,M.parse=M;var Xe=O(2615);let Qe=(()=>{class d{constructor(){}escapeAttr(t){return String(t).replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}youtubeIdFromUrl(t){try{const e=new URL(t),o=e.hostname.replace(/^www\./,"");if("youtu.be"===o)return e.pathname.replace(/^\//,"").split("/")[0]||null;if("youtube.com"===o||"youtube-nocookie.com"===o){if("/watch"===e.pathname)return e.searchParams.get("v");if(e.pathname.startsWith("/embed/"))return e.pathname.slice(7).split("/")[0]||null}}catch{}return null}isImageUrl(t){return!!(/\.(png|jpe?g|gif|webp|svg|bmp|avif)(\?.*)?$/i.test(t)||/\/article_attachments\//i.test(t)||/zendesk\.com\/attachments\/token\//i.test(t))}isYouTubeUrl(t){return/(?:^|\/\/)(?:www\.)?(?:youtube\.com|youtu\.be|youtube-nocookie\.com)\b/i.test(t)}imgTag(t,e){return`<img src="${this.escapeAttr(t)}" alt="${this.escapeAttr(e||"")}" loading="lazy" class="msg-image">`}youtubeThumb(t){const e=encodeURIComponent(t);return`<a class="msg-video-link" href="https://www.youtube.com/watch?v=${e}" target="_blank" rel="noopener"><img src="https://img.youtube.com/vi/${e}/hqdefault.jpg" alt="YouTube video" loading="lazy" class="msg-video-thumb"></a>`}renderMarkdown(t){let e=t.replace(/!?\[image:\s*([^\]]*)\]\(([^)\s]+)\)/g,(o,i,s)=>this.imgTag(s,i.trim()));return e=e.replace(/!\[([^\]]*)\]\(([^)\s]+)\)/g,(o,i,s)=>this.imgTag(s,i)),e=e.replace(/\[video\]\(([^)\s]+)\)/g,(o,i)=>{const s=this.youtubeIdFromUrl(i);if(s)return this.youtubeThumb(s);const c=this.escapeAttr(i);return`<a href="${c}" target="_blank" rel="noopener">${c}</a>`}),e=e.replace(/\[([^\]\n]+)\]\(([^)\s]+)\)/g,(o,i,s)=>{if(this.isImageUrl(s))return this.imgTag(s,i);if(this.isYouTubeUrl(s)){const c=this.youtubeIdFromUrl(s);if(c)return this.youtubeThumb(c)}return o}
1),M.parse(e,{breaks:!0,gfm:!0})}static{this.\u0275fac=function(e){return new(e||d)}}static{this.\u0275prov=Xe.jDH({token:d,factory:d.\u0275fac})}}return d})()},80916(me,q,O){O.d(q,{K8:()=>Z,Py:()=>r});var R=O(2615),T=O(73664);let B=(()=>{class _{get nativeWindow(){return window}}return _.\u0275fac=function(x){return new(x||_)},_.\u0275prov=R.jDH({token:_,factory:_.\u0275fac}),_})(),Z=(()=>{class _{constructor(x,v,E){this.element=x,this._window=v,this._zone=E,this.onlyGrow=!1,this.useImportant=!1,this.resized=new T.bkB,this.autosize=!0,this.retries=0,this._destroyed=!1,"TEXTAREA"!==this.element.nativeElement.tagName?this._findNestedTextArea():(this.textAreaEl=this.element.nativeElement,this.textAreaEl.style["overflow-y"]="hidden",this._onTextAreaFound())}set minRows(x){this._minRows=+x,this.textAreaEl&&(this.textAreaEl.rows=this._minRows)}set _autosize(x){this.autosize="boolean"!=typeof x||x}onInput(x){this.adjust()}ngOnDestroy(){this._destroyed=!0,this._windowResizeHandler&&this._window.nativeWindow.removeEventListener("resize",this._windowResizeHandler,!1)}ngAfterContentChecked(){this.adjust()}ngOnChanges(x){this.adjust(!0)}_findNestedTextArea(){this.textAreaEl=this.element.nativeElement.querySelector("TEXTAREA"),!this.textAreaEl&&this.element.nativeElement.shadowRoot&&(this.textAreaEl=this.element.nativeElement.shadowRoot.querySelector("TEXTAREA")),this.textAreaEl?(this.textAreaEl.style["overflow-y"]="hidden",this._onTextAreaFound()):this.retries>=3?console.warn("ngx-autosize: textarea not found"):(this.retries++,setTimeout(()=>{this._findNestedTextArea()},100))}_onTextAreaFound(){this._addWindowResizeHandler(),setTimeout(()=>{this.adjust()})}_addWindowResizeHandler(){this._windowResizeHandler=function I(_,$){let x;return(...v)=>{clearTimeout(x),x=setTimeout(()=>{_(...v)},$)}}(()=>{this._zone.run(()=>{this.adjust()})},200),this._zone.runOutsideAngular(()=>{this._window.nativeWindow.addEventListener("resize",this._windowResizeHandler,!1)})}adjust(x=!1){if(this.autosize&&!this._destroyed&&this.textAreaEl&&this.textAreaEl.parentNode){const v=this.textAreaEl.value;if(!1===x&&v===this._oldContent&&this.textAreaEl.offsetWidth===this._oldWidth)return;this._oldContent=v,this._oldWidth=this.textAreaEl.offsetWidth;const E=this.textAreaEl.cloneNode(!0),N=this.textAreaEl.parentNode;E.style.width=this.textAreaEl.offsetWidth+"px",E.style.visibility="hidden",E.style.position="absolute",E.textContent=v,N.appendChild(E),E.style["overflow-y"]="hidden",E.style.height="auto";let k=E.scrollHeight,S=this._window.nativeWindow.getComputedStyle(E,null);k+=parseInt(S.getPropertyValue("border-top-width")),k+=parseInt(S.getPropertyValue("border-bottom-width")),"content-box"===S.getPropertyValue("box-sizing")&&(k-=parseInt(S.getPropertyValue("padding-top")),k-=parseInt(S.getPropertyValue("padding-bottom")));const L=this.textAreaEl.offsetHeight;if(!1===this.onlyGrow||k>L){const H=this._getLineHeight(),te=k/H;if(this._minRows&&this._minRows>=te)k=this._minRows*H;else if(this.maxRows&&this.maxRows<=te){const U=this.maxRows*H;k=this.onlyGrow?Math.max(U,L):U,this.textAreaEl.style["overflow-y"]="auto"}else this.textAreaEl.style["overflow-y"]="hidden";this.textAreaEl.style.setProperty("height",k+"px",this.useImportant?"important":""),this.resized.emit(k)}N.removeChild(E)}}_getLineHeight(){let x=parseInt(this.textAreaEl.style.lineHeight,10);if(isNaN(x)&&this._window.nativeWindow.getComputedStyle){const v=this._window.nativeWindow.getComputedStyle(this.textAreaEl);x=parseInt(v.lineHeight,10)}if(isNaN(x)){const v=this._window.nativeWindow.getComputedStyle(this.textAreaEl,null).getPropertyValue("font-size");x=Math.floor(1.5*parseInt(v.replace("px",""),10))}return x}}return _.\u0275fac=function(x){return new(x||_)(T.rXU(T.aKT),T.rXU(B),T.rXU(T.SKi))},_.\u0275dir=T.FsC({type:_,selectors:[["","autosize",""]],hostBindings:function(x,v){1&x&&T.bIt("input",function(N){return v.onInput(N.target)})},inputs:{minRows:"minRows",_autosize:[0,"autosize","_autosize"],maxRows:"maxRows",onlyGrow:"onlyGrow",useImportant:"useImportant"},outputs:{resized:"resized"},standalone:!1,features:[T.OA$]}),_})(),r=(()=>{class _{}return _.\u0275fac=function(x){return new(x||_)},_.\u0275mod=T.$C({type:_}),_.\u0275inj=R.G2t({providers:[B],imports:[[]]}),_})()}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.