From a3c2848195eafa8b543a2596584e398d37a55b3b Mon Sep 17 00:00:00 2001 From: gyjune Date: Thu, 27 Jun 2024 09:29:31 +0800 Subject: [PATCH] 1 --- HeChengChaXiu.jar | Bin 0 -> 722267 bytes lib/98影视.json | 21 + lib/bp.json | 1 + lib/cheerio.min.js | 2 + lib/crypto-js.js | 6191 +++++++++++++++++++++++++++++++++++++++++++ lib/douban.js | 37 + lib/drpy2.min.js | 1 + lib/gbk.js | 68 + lib/ikanbot3.js | 46 + lib/nm.json | 1 + lib/py_企鹅体育.py | 142 + lib/py_央视少儿.py | 192 ++ lib/yqk.json | 1 + lib/zb.txt | 1382 ++++++++++ lib/七新影视.json | 21 + lib/剧圈圈.json | 1 + lib/动漫巴士.json | 182 ++ lib/厂长资源.js | 75 + lib/哔哩初中.json | 3635 +++++++++++++++++++++++++ lib/哔哩小学.json | 1051 ++++++++ lib/哔哩幼小.json | 455 ++++ lib/哔哩经典.json | 12 + lib/哔哩音乐.json | 707 +++++ lib/哔哩高中.json | 3687 ++++++++++++++++++++++++++ lib/土豆阿里.json | 74 + lib/央视大全.json | 55 + lib/新视觉影视.json | 448 ++++ lib/星辰影视.json | 1 + lib/模板.js | 304 +++ lib/玩偶哥哥.json | 1 + lib/玩我哥哥.json | 1 + lib/短剧网.json | 1 + lib/维奇动漫.json | 295 +++ lib/蛋蛋影视.json | 1 + lib/骚火影视.json | 41 + lib/黑狐影视.json | 51 + 荷城茶秀.json | 968 +++++++ 37 files changed, 20152 insertions(+) create mode 100644 HeChengChaXiu.jar create mode 100644 lib/98影视.json create mode 100644 lib/bp.json create mode 100644 lib/cheerio.min.js create mode 100644 lib/crypto-js.js create mode 100644 lib/douban.js create mode 100644 lib/drpy2.min.js create mode 100644 lib/gbk.js create mode 100644 lib/ikanbot3.js create mode 100644 lib/nm.json create mode 100644 lib/py_企鹅体育.py create mode 100644 lib/py_央视少儿.py create mode 100644 lib/yqk.json create mode 100644 lib/zb.txt create mode 100644 lib/七新影视.json create mode 100644 lib/剧圈圈.json create mode 100644 lib/动漫巴士.json create mode 100644 lib/厂长资源.js create mode 100644 lib/哔哩初中.json create mode 100644 lib/哔哩小学.json create mode 100644 lib/哔哩幼小.json create mode 100644 lib/哔哩经典.json create mode 100644 lib/哔哩音乐.json create mode 100644 lib/哔哩高中.json create mode 100644 lib/土豆阿里.json create mode 100644 lib/央视大全.json create mode 100644 lib/新视觉影视.json create mode 100644 lib/星辰影视.json create mode 100644 lib/模板.js create mode 100644 lib/玩偶哥哥.json create mode 100644 lib/玩我哥哥.json create mode 100644 lib/短剧网.json create mode 100644 lib/维奇动漫.json create mode 100644 lib/蛋蛋影视.json create mode 100644 lib/骚火影视.json create mode 100644 lib/黑狐影视.json create mode 100644 荷城茶秀.json diff --git a/HeChengChaXiu.jar b/HeChengChaXiu.jar new file mode 100644 index 0000000000000000000000000000000000000000..03b8bb428c4b8397f4a7c39856e77f5425ed97ef GIT binary patch literal 722267 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 z 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℘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%0D$36M$L>)f%OtWz4$7^a`zwJ-;)` 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

&y@V|Kr-*_$45PAhU?d%toO?m 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 vyDCl9V^Bg#ro5%=^IBY&eg40;CAkv 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 *QTp8B% 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 Cy`}v{yAZ#naQ{8dvCA|fu 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

eZ=N9PTiOQ%o`&9IhB)g)5_N>eAZ}EK|lix|E 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∓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 U000010096w0000C1q%QG0L`XNO#lD@ literal 0 HcmV?d00001 diff --git a/lib/98影视.json b/lib/98影视.json new file mode 100644 index 0000000..0481777 --- /dev/null +++ b/lib/98影视.json @@ -0,0 +1,21 @@ + { + + "作者":"荷城茶秀", + + "站名":"玖八影视", + + "主页url":"http://www.98dyb.com/", + + "简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!+&&", + + "影片状态":"状态:&&

", + + "搜索url":"/search.php;post;searchword={wd}", + + "线路数组":"", + + "线路标题":"🌸荷城茶秀接口🌸+src=*>&&<", + + "分类url":"http://www.98dyb.com/{cateId}/index{catePg}.html[http://www.7xdy.com/{cateId}/index.html];;k", + + "分类":"电影$dianyingpian#电视剧$dianshiju#综艺$zongyi#动漫$dongman"} \ No newline at end of file diff --git a/lib/bp.json b/lib/bp.json new file mode 100644 index 0000000..31f20d6 --- /dev/null +++ b/lib/bp.json @@ -0,0 +1 @@ +{"作者":"荷城茶秀","站名":"白嫖影视","主页url":"https://www.qyzf88.com/","线路数组":"","线路标题":"🌸荷城茶秀接口🌸+src=*>&&<[替换:1>>高清#2>>线路1#3>>线路2]","分类url":"https://www.qyzf88.com/qyvodshow/{cateId}-{area}-{by}-{class}-----{catePg}---{year}.html","分类":"电影$1#电视剧$2#动漫$4#综艺$3","副标题":"class=\"pic-text text-right\"&&","简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!+剧情介绍:&&

"} \ No newline at end of file diff --git a/lib/cheerio.min.js b/lib/cheerio.min.js new file mode 100644 index 0000000..5be6ce0 --- /dev/null +++ b/lib/cheerio.min.js @@ -0,0 +1,2 @@ +var e,t=function(){return t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?this.children[this.children.length-1]:null}get childNodes(){return this.children}set childNodes(e){this.children=e}}class g extends A{constructor(){super(...arguments),this.type=e.CDATA}get nodeType(){return 4}}class N extends A{constructor(){super(...arguments),this.type=e.Root}get nodeType(){return 9}}class C extends A{constructor(t,n,r=[],i=("script"===t?e.Script:"style"===t?e.Style:e.Tag)){super(r),this.name=t,this.attribs=n,this.type=i}get nodeType(){return 1}get tagName(){return this.name}set tagName(e){this.name=e}get attributes(){return Object.keys(this.attribs).map((e=>{var t,n;return{name:e,value:this.attribs[e],namespace:null===(t=this["x-attribsNamespace"])||void 0===t?void 0:t[e],prefix:null===(n=this["x-attribsPrefix"])||void 0===n?void 0:n[e]}}))}}function I(t){return(n=t).type===e.Tag||n.type===e.Script||n.type===e.Style;var n}function S(t){return t.type===e.CDATA}function b(t){return t.type===e.Text}function O(t){return t.type===e.Comment}function y(t){return t.type===e.Directive}function L(t){return t.type===e.Root}function k(e){return Object.prototype.hasOwnProperty.call(e,"children")}function v(e,t=!1){let n;if(b(e))n=new m(e.data);else if(O(e))n=new T(e.data);else if(I(e)){const r=t?D(e.children):[],i=new C(e.name,{...e.attribs},r);r.forEach((e=>e.parent=i)),null!=e.namespace&&(i.namespace=e.namespace),e["x-attribsNamespace"]&&(i["x-attribsNamespace"]={...e["x-attribsNamespace"]}),e["x-attribsPrefix"]&&(i["x-attribsPrefix"]={...e["x-attribsPrefix"]}),n=i}else if(S(e)){const r=t?D(e.children):[],i=new g(r);r.forEach((e=>e.parent=i)),n=i}else if(L(e)){const r=t?D(e.children):[],i=new N(r);r.forEach((e=>e.parent=i)),e["x-mode"]&&(i["x-mode"]=e["x-mode"]),n=i}else{if(!y(e))throw new Error(`Not implemented yet: ${e.type}`);{const t=new _(e.name,e.data);null!=e["x-name"]&&(t["x-name"]=e["x-name"],t["x-publicId"]=e["x-publicId"],t["x-systemId"]=e["x-systemId"]),n=t}}return n.startIndex=e.startIndex,n.endIndex=e.endIndex,null!=e.sourceCodeLocation&&(n.sourceCodeLocation=e.sourceCodeLocation),n}function D(e){const t=e.map((e=>v(e,!0)));for(let e=1;e$\x80-\uFFFF]/g,x=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]),w=null!=String.prototype.codePointAt?(e,t)=>e.codePointAt(t):(e,t)=>55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t);function B(e){let t,n="",r=0;for(;null!==(t=P.exec(e));){const i=t.index,s=e.charCodeAt(i),a=x.get(s);void 0!==a?(n+=e.substring(r,i)+a,r=i+1):(n+=`${e.substring(r,i)}&#x${w(e,i).toString(16)};`,r=P.lastIndex+=Number(55296==(64512&s)))}return n+e.substr(r)}function F(e,t){return function(n){let r,i=0,s="";for(;r=e.exec(n);)i!==r.index&&(s+=n.substring(i,r.index)),s+=t.get(r[0].charCodeAt(0)),i=r.index+1;return s+n.substring(i)}}const U=F(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),H=F(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]])),G=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),Y=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),q=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function K(e){return e.replace(/"/g,""")}const j=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function V(e,t={}){const n="length"in e?e:[e];let r="";for(let e=0;e`;case c:return function(e){return`\x3c!--${e.data}--\x3e`}(e);case p:return function(e){return``}(e);case l:case h:case u:return function(e,t){var n;"foreign"===t.xmlMode&&(e.name=null!==(n=G.get(e.name))&&void 0!==n?n:e.name,e.parent&&Q.has(e.parent.name)&&(t={...t,xmlMode:!1}));!t.xmlMode&&X.has(e.name)&&(t={...t,xmlMode:"foreign"});let r=`<${e.name}`;const i=function(e,t){var n;if(!e)return;const r=!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)?K:t.xmlMode||"utf8"!==t.encodeEntities?B:U;return Object.keys(e).map((n=>{var i,s;const a=null!==(i=e[n])&&void 0!==i?i:"";return"foreign"===t.xmlMode&&(n=null!==(s=Y.get(n))&&void 0!==s?s:n),t.emptyAttrs||t.xmlMode||""!==a?`${n}="${r(a)}"`:n})).join(" ")}(e.attribs,t);i&&(r+=` ${i}`);0===e.children.length&&(t.xmlMode?!1!==t.selfClosingTags:t.selfClosingTags&&j.has(e.name))?(t.xmlMode||(r+=" "),r+="/>"):(r+=">",e.children.length>0&&(r+=V(e.children,t)),!t.xmlMode&&j.has(e.name)||(r+=``));return r}(e,t);case a:return function(e,t){var n;let r=e.data||"";!1===(null!==(n=t.encodeEntities)&&void 0!==n?n:t.decodeEntities)||!t.xmlMode&&e.parent&&q.has(e.parent.name)||(r=t.xmlMode||"utf8"!==t.encodeEntities?B(r):H(r));return r}(e,t)}}const Q=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),X=new Set(["svg","math"]);function $(e,t){return V(e,t)}function z(e){return Array.isArray(e)?e.map(z).join(""):k(e)&&!O(e)?z(e.children):b(e)?e.data:""}function J(t){return Array.isArray(t)?t.map(J).join(""):k(t)&&(t.type===e.Tag||S(t))?J(t.children):b(t)?t.data:""}function Z(e){return k(e)?e.children:[]}function ee(e){return e.parent||null}function te(e){const t=ee(e);if(null!=t)return Z(t);const n=[e];let{prev:r,next:i}=e;for(;null!=r;)n.unshift(r),({prev:r}=r);for(;null!=i;)n.push(i),({next:i}=i);return n}function ne(e){let{next:t}=e;for(;null!==t&&!I(t);)({next:t}=t);return t}function re(e){let{prev:t}=e;for(;null!==t&&!I(t);)({prev:t}=t);return t}function ie(e){if(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e.parent){const t=e.parent.children;t.splice(t.lastIndexOf(e),1)}}function se(e,t,n=!0,r=1/0){return Array.isArray(t)||(t=[t]),ae(e,t,n,r)}function ae(e,t,n,r){const i=[];for(const s of t){if(e(s)&&(i.push(s),--r<=0))break;if(n&&k(s)&&s.children.length>0){const t=ae(e,s.children,n,r);if(i.push(...t),r-=t.length,r<=0)break}}return i}function oe(e,t,n=!0){let r=null;for(let i=0;i0&&(r=oe(e,s.children,!0)))}return r}const ce={tag_name:e=>"function"==typeof e?t=>I(t)&&e(t.name):"*"===e?I:t=>I(t)&&t.name===e,tag_type:e=>"function"==typeof e?t=>e(t.type):t=>t.type===e,tag_contains:e=>"function"==typeof e?t=>b(t)&&e(t.data):t=>b(t)&&t.data===e};function le(e,t){return"function"==typeof t?n=>I(n)&&t(n.attribs[e]):n=>I(n)&&n.attribs[e]===t}function he(e,t){return n=>e(n)||t(n)}function ue(e){const t=Object.keys(e).map((t=>{const n=e[t];return Object.prototype.hasOwnProperty.call(ce,t)?ce[t](n):le(t,n)}));return 0===t.length?null:t.reduce(he)}function pe(e,t,n=!0,r=1/0){return se(ce.tag_name(e),t,n,r)}var fe;function de(e,t){const n=[],r=[];if(e===t)return 0;let i=k(e)?e:e.parent;for(;i;)n.unshift(i),i=i.parent;for(i=k(t)?t:t.parent;i;)r.unshift(i),i=i.parent;const s=Math.min(n.length,r.length);let a=0;for(;ac.indexOf(h)?o===t?fe.FOLLOWING|fe.CONTAINED_BY:fe.FOLLOWING:o===e?fe.PRECEDING|fe.CONTAINS:fe.PRECEDING}function Ee(e){return(e=e.filter(((e,t,n)=>!n.includes(e,t+1)))).sort(((e,t)=>{const n=de(e,t);return n&fe.PRECEDING?-1:n&fe.FOLLOWING?1:0})),e}!function(e){e[e.DISCONNECTED=1]="DISCONNECTED",e[e.PRECEDING=2]="PRECEDING",e[e.FOLLOWING=4]="FOLLOWING",e[e.CONTAINS=8]="CONTAINS",e[e.CONTAINED_BY=16]="CONTAINED_BY"}(fe||(fe={}));const me=["url","type","lang"],Te=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function _e(e){return pe("media:content",e).map((e=>{const{attribs:t}=e,n={medium:t.medium,isDefault:!!t.isDefault};for(const e of me)t[e]&&(n[e]=t[e]);for(const e of Te)t[e]&&(n[e]=parseInt(t[e],10));return t.expression&&(n.expression=t.expression),n}))}function Ae(e,t){return pe(e,t,!0,1)[0]}function ge(e,t,n=!1){return z(pe(e,t,n,1)).trim()}function Ne(e,t,n,r,i=!1){const s=ge(n,r,i);s&&(e[t]=s)}function Ce(e){return"rss"===e||"feed"===e||"rdf:RDF"===e}var Ie,Se=Object.freeze({__proto__:null,isTag:I,isCDATA:S,isText:b,isComment:O,isDocument:L,hasChildren:k,getOuterHTML:$,getInnerHTML:function(e,t){return k(e)?e.children.map((e=>$(e,t))).join(""):""},getText:function e(t){return Array.isArray(t)?t.map(e).join(""):I(t)?"br"===t.name?"\n":e(t.children):S(t)?e(t.children):b(t)?t.data:""},textContent:z,innerText:J,getChildren:Z,getParent:ee,getSiblings:te,getAttributeValue:function(e,t){var n;return null===(n=e.attribs)||void 0===n?void 0:n[t]},hasAttrib:function(e,t){return null!=e.attribs&&Object.prototype.hasOwnProperty.call(e.attribs,t)&&null!=e.attribs[t]},getName:function(e){return e.name},nextElementSibling:ne,prevElementSibling:re,removeElement:ie,replaceElement:function(e,t){const n=t.prev=e.prev;n&&(n.next=t);const r=t.next=e.next;r&&(r.prev=t);const i=t.parent=e.parent;if(i){const n=i.children;n[n.lastIndexOf(e)]=t,e.parent=null}},appendChild:function(e,t){if(ie(t),t.next=null,t.parent=e,e.children.push(t)>1){const n=e.children[e.children.length-2];n.next=t,t.prev=n}else t.prev=null},append:function(e,t){ie(t);const{parent:n}=e,r=e.next;if(t.next=r,t.prev=e,e.next=t,t.parent=n,r){if(r.prev=t,n){const e=n.children;e.splice(e.lastIndexOf(r),0,t)}}else n&&n.children.push(t)},prependChild:function(e,t){if(ie(t),t.parent=e,t.prev=null,1!==e.children.unshift(t)){const n=e.children[1];n.prev=t,t.next=n}else t.next=null},prepend:function(e,t){ie(t);const{parent:n}=e;if(n){const r=n.children;r.splice(r.indexOf(e),0,t)}e.prev&&(e.prev.next=t),t.parent=n,t.prev=e.prev,t.next=e,e.prev=t},filter:se,find:ae,findOneChild:function(e,t){return t.find(e)},findOne:oe,existsOne:function e(t,n){return n.some((n=>I(n)&&(t(n)||n.children.length>0&&e(t,n.children))))},findAll:function(e,t){var n;const r=[],i=t.filter(I);let s;for(;s=i.shift();){const t=null===(n=s.children)||void 0===n?void 0:n.filter(I);t&&t.length>0&&i.unshift(...t),e(s)&&r.push(s)}return r},testElement:function(e,t){const n=ue(e);return!n||n(t)},getElements:function(e,t,n,r=1/0){const i=ue(e);return i?se(i,t,n,r):[]},getElementById:function(e,t,n=!0){return Array.isArray(t)||(t=[t]),oe(le("id",e),t,n)},getElementsByTagName:pe,getElementsByTagType:function(e,t,n=!0,r=1/0){return se(ce.tag_type(e),t,n,r)},removeSubsets:function(e){let t=e.length;for(;--t>=0;){const n=e[t];if(t>0&&e.lastIndexOf(n,t-1)>=0)e.splice(t,1);else for(let r=n.parent;r;r=r.parent)if(e.includes(r)){e.splice(t,1);break}}return e},get DocumentPosition(){return fe},compareDocumentPosition:de,uniqueSort:Ee,getFeed:function(e){const t=Ae(Ce,e);return t?"feed"===t.name?function(e){var t;const n=e.children,r={type:"atom",items:pe("entry",n).map((e=>{var t;const{children:n}=e,r={media:_e(n)};Ne(r,"id","id",n),Ne(r,"title","title",n);const i=null===(t=Ae("link",n))||void 0===t?void 0:t.attribs.href;i&&(r.link=i);const s=ge("summary",n)||ge("content",n);s&&(r.description=s);const a=ge("updated",n);return a&&(r.pubDate=new Date(a)),r}))};Ne(r,"id","id",n),Ne(r,"title","title",n);const i=null===(t=Ae("link",n))||void 0===t?void 0:t.attribs.href;i&&(r.link=i);Ne(r,"description","subtitle",n);const s=ge("updated",n);s&&(r.updated=new Date(s));return Ne(r,"author","email",n,!0),r}(t):function(e){var t,n;const r=null!==(n=null===(t=Ae("channel",e.children))||void 0===t?void 0:t.children)&&void 0!==n?n:[],i={type:e.name.substr(0,3),id:"",items:pe("item",e.children).map((e=>{const{children:t}=e,n={media:_e(t)};Ne(n,"id","guid",t),Ne(n,"title","title",t),Ne(n,"link","link",t),Ne(n,"description","description",t);const r=ge("pubDate",t);return r&&(n.pubDate=new Date(r)),n}))};Ne(i,"title","title",r),Ne(i,"link","link",r),Ne(i,"description","description",r);const s=ge("lastBuildDate",r);s&&(i.updated=new Date(s));return Ne(i,"author","managingEditor",r,!0),i}(t):null}}),be="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{};function Oe(e){if(Object.keys)return Object.keys(e);var t=[];for(var n in e)t.push(n);return t}function ye(e,t){if(e.forEach)return e.forEach(t);for(var n=0;n1&&c.shift(),this._hasParentSelector=null;const l=this._trace(c,t,["$"],i,s,n).filter((function(e){return e&&!e.isParentSelector}));return l.length?o||1!==l.length||l[0].hasArrExpr?l.reduce(((e,t)=>{const n=this._getPreferredOutput(t);return a&&Array.isArray(n)?e=e.concat(n):e.push(n),e}),[]):this._getPreferredOutput(l[0]):o?[]:void 0},He.prototype._getPreferredOutput=function(e){const t=this.currResultType;switch(t){case"all":{const t=Array.isArray(e.path)?e.path:He.toPathArray(e.path);return e.pointer=He.toPointer(t),e.path="string"==typeof e.path?e.path:He.toPathString(e.path),e}case"value":case"parent":case"parentProperty":return e[t];case"path":return He.toPathString(e[t]);case"pointer":return He.toPointer(e.path);default:throw new TypeError("Unknown result type")}},He.prototype._handleCallback=function(e,t,n){if(t){const r=this._getPreferredOutput(e);e.path="string"==typeof e.path?e.path:He.toPathString(e.path),t(r,n,e)}},He.prototype._trace=function(e,t,n,r,i,s,a,o){let c;if(!e.length)return c={path:n,value:t,parent:r,parentProperty:i,hasArrExpr:a},this._handleCallback(c,s,"value"),c;const l=e[0],h=e.slice(1),u=[];function p(e){Array.isArray(e)?e.forEach((e=>{u.push(e)})):u.push(e)}if(("string"!=typeof l||o)&&t&&we.call(t,l))p(this._trace(h,t[l],Be(n,l),t,l,s,a));else if("*"===l)this._walk(t,(e=>{p(this._trace(h,t[e],Be(n,e),t,e,s,!0,!0))}));else if(".."===l)p(this._trace(h,t,n,r,i,s,a)),this._walk(t,(r=>{"object"==typeof t[r]&&p(this._trace(e.slice(),t[r],Be(n,r),t,r,s,!0))}));else{if("^"===l)return this._hasParentSelector=!0,{path:n.slice(0,-1),expr:h,isParentSelector:!0};if("~"===l)return c={path:Be(n,l),value:i,parent:r,parentProperty:null},this._handleCallback(c,s,"property"),c;if("$"===l)p(this._trace(h,t,n,null,null,s,a));else if(/^(-?\d*):(-?\d*):?(\d*)$/u.test(l))p(this._slice(l,h,t,n,r,i,s));else if(0===l.indexOf("?(")){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");const e=l.replace(/^\?\((.*?)\)$/u,"$1");this._walk(t,(a=>{this._eval(e,t[a],a,n,r,i)&&p(this._trace(h,t[a],Be(n,a),t,a,s,!0))}))}else if("("===l[0]){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");p(this._trace(Fe(this._eval(l,t,n[n.length-1],n.slice(0,-1),r,i),h),t,n,r,i,s,a))}else if("@"===l[0]){let e=!1;const a=l.slice(1,-2);switch(a){case"scalar":t&&["object","function"].includes(typeof t)||(e=!0);break;case"boolean":case"string":case"undefined":case"function":typeof t===a&&(e=!0);break;case"integer":!Number.isFinite(t)||t%1||(e=!0);break;case"number":Number.isFinite(t)&&(e=!0);break;case"nonFinite":"number"!=typeof t||Number.isFinite(t)||(e=!0);break;case"object":t&&typeof t===a&&(e=!0);break;case"array":Array.isArray(t)&&(e=!0);break;case"other":e=this.currOtherTypeCallback(t,n,r,i);break;case"null":null===t&&(e=!0);break;default:throw new TypeError("Unknown value type "+a)}if(e)return c={path:n,value:t,parent:r,parentProperty:i},this._handleCallback(c,s,"value"),c}else if("`"===l[0]&&t&&we.call(t,l.slice(1))){const e=l.slice(1);p(this._trace(h,t[e],Be(n,e),t,e,s,a,!0))}else if(l.includes(",")){const e=l.split(",");for(const a of e)p(this._trace(Fe(a,h),t,n,r,i,s,!0))}else!o&&t&&we.call(t,l)&&p(this._trace(h,t[l],Be(n,l),t,l,s,a,!0))}if(this._hasParentSelector)for(let e=0;e{t(e)}))},He.prototype._slice=function(e,t,n,r,i,s,a){if(!Array.isArray(n))return;const o=n.length,c=e.split(":"),l=c[2]&&Number.parseInt(c[2])||1;let h=c[0]&&Number.parseInt(c[0])||0,u=c[1]&&Number.parseInt(c[1])||o;h=h<0?Math.max(0,h+o):Math.min(o,h),u=u<0?Math.max(0,u+o):Math.min(o,u);const p=[];for(let e=h;e{p.push(e)}))}return p},He.prototype._eval=function(e,t,n,r,i,s){this.currSandbox._$_parentProperty=s,this.currSandbox._$_parent=i,this.currSandbox._$_property=n,this.currSandbox._$_root=this.json,this.currSandbox._$_v=t;const a=e.includes("@path");a&&(this.currSandbox._$_path=He.toPathString(r.concat([n])));const o="script:"+e;if(!He.cache[o]){let t=e.replace(/@parentProperty/gu,"_$_parentProperty").replace(/@parent/gu,"_$_parent").replace(/@property/gu,"_$_property").replace(/@root/gu,"_$_root").replace(/@([.\s)[])/gu,"_$_v$1");a&&(t=t.replace(/@path/gu,"_$_path")),He.cache[o]=new this.vm.Script(t)}try{return He.cache[o].runInNewContext(this.currSandbox)}catch(t){throw new Error("jsonPath: "+t.message+": "+e)}},He.cache={},He.toPathString=function(e){const t=e,n=t.length;let r="$";for(let e=1;e":">"},i=/[&"'<>]/g,s=e.exports={};function a(e,t){return n.hasOwnProperty.call(e,t)}function o(e){return r[e]}function c(e,t,n){var r,i,s;if(e instanceof Error&&(e=(i=e).name+": "+i.message),Object.setPrototypeOf?(r=new Error(e),Object.setPrototypeOf(r,c.prototype)):(r=this,Object.defineProperty(r,"message",{enumerable:!1,writable:!0,value:e})),Object.defineProperty(r,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(r,this.constructor),i){var a=Object.getOwnPropertyDescriptor(i,"stack");(s=a&&(a.get||function(){return a.value}))||(s=function(){return i.stack})}else{var o=new Error(e).stack;s=function(){return o}}return Object.defineProperty(r,"stack",{get:function(){return s.call(r)}}),Object.defineProperty(r,"cause",{value:i}),r.lineno=t,r.colno=n,r.firstUpdate=!0,r.Update=function(e){var t="("+(e||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?t+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(t+=" [Line "+this.lineno+"]")),t+="\n ",this.firstUpdate&&(t+=" "),this.message=t+(this.message||""),this.firstUpdate=!1,this},r}function l(e){return"[object Function]"===n.toString.call(e)}function h(e){return"[object Array]"===n.toString.call(e)}function u(e){return"[object String]"===n.toString.call(e)}function p(e){return"[object Object]"===n.toString.call(e)}function f(e){var t=function(e){return e?"string"==typeof e?e.split("."):[e]:[]}(e);return function(e){for(var n=e,r=0;r1)for(var n=1;n0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function bt(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function Ot(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function yt(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}function Lt(){var e;Tt.call(this),this.__emitError=(e=this,function(t){e.emit("error",t)})}function kt(){return new Lt}mt.prototype=Object.create(null),Tt.EventEmitter=Tt,Tt.usingDomains=!1,Tt.prototype.domain=void 0,Tt.prototype._events=void 0,Tt.prototype._maxListeners=void 0,Tt.defaultMaxListeners=10,Tt.init=function(){this.domain=null,Tt.usingDomains&&undefined.active,this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new mt,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Tt.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Tt.prototype.getMaxListeners=function(){return _t(this)},Tt.prototype.emit=function(e){var t,n,r,i,s,a,o,c="error"===e;if(a=this._events)c=c&&null==a.error;else if(!c)return!1;if(o=this.domain,c){if(t=arguments[1],!o){if(t instanceof Error)throw t;var l=new Error('Uncaught, unspecified "error" event. ('+t+")");throw l.context=t,l}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var h="function"==typeof n;switch(r=arguments.length){case 1:At(n,h,this);break;case 2:gt(n,h,this,arguments[1]);break;case 3:Nt(n,h,this,arguments[1],arguments[2]);break;case 4:Ct(n,h,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0==--this._eventsCount)return this._events=new mt,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r0?Reflect.ownKeys(this._events):[]},("function"==typeof Object.create?function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e})(Lt,Tt),Lt.prototype.add=function(e){e.on("error",this.__emitError)},Lt.prototype.remove=function(e){e.removeListener("error",this.__emitError)},Lt.prototype.bind=function(e){var t=this.__emitError;return function(){var n=Array.prototype.slice.call(arguments);try{e.apply(null,n)}catch(e){t(e)}}},Lt.prototype.intercept=function(e){var t=this.__emitError;return function(n){if(n)t(n);else{var r=Array.prototype.slice.call(arguments,1);try{e.apply(null,r)}catch(n){t(n)}}}},Lt.prototype.run=function(e){var t=this.__emitError;try{e()}catch(e){t(e)}return this},Lt.prototype.dispose=function(){return this.removeAllListeners(),this},Lt.prototype.enter=Lt.prototype.exit=function(){return this};var vt,Dt={Domain:Lt,createDomain:kt,create:kt},Rt="function"==typeof setImmediate,Mt=Pt;function Pt(e){xt.length||(Ut(),wt=!0),xt[xt.length]=e}var xt=[],wt=!1,Bt=0;function Ft(){for(;Bt1024){for(var t=0,n=xt.length-Bt;t=!".indexOf(r)){this.forward();var o,c=["==","===","!=","!==","<=",">=","//","**"],l=r+this.current();switch(-1!==je.indexOf(c,l)&&(this.forward(),r=l,-1!==je.indexOf(c,l+this.current())&&(r=l+this.current(),this.forward())),r){case"(":o="left-paren";break;case")":o="right-paren";break;case"[":o="left-bracket";break;case"]":o="right-bracket";break;case"{":o="left-curly";break;case"}":o="right-curly";break;case",":o="comma";break;case":":o="colon";break;case"~":o="tilde";break;case"|":o="pipe";break;default:o="operator"}return Kt(o,r,t,n)}if((e=this._extractUntil(" \n\t\r ()[]{}%*-+~/#,:|.<>=!")).match(/^[-+]?[0-9]+$/))return"."===this.current()?(this.forward(),Kt("float",e+"."+this._extract("0123456789"),t,n)):Kt("int",e,t,n);if(e.match(/^(true|false)$/))return Kt("boolean",e,t,n);if("none"===e)return Kt("none",e,t,n);if("null"===e)return Kt("none",e,t,n);if(e)return Kt("symbol",e,t,n);throw new Error("Unexpected value while parsing: "+e)}var h,u=this.tags.BLOCK_START.charAt(0)+this.tags.VARIABLE_START.charAt(0)+this.tags.COMMENT_START.charAt(0)+this.tags.COMMENT_END.charAt(0);if(this.isFinished())return null;if((e=this._extractString(this.tags.BLOCK_START+"-"))||(e=this._extractString(this.tags.BLOCK_START)))return this.in_code=!0,Kt("block-start",e,t,n);if((e=this._extractString(this.tags.VARIABLE_START+"-"))||(e=this._extractString(this.tags.VARIABLE_START)))return this.in_code=!0,Kt("variable-start",e,t,n);e="";var p=!1;for(this._matches(this.tags.COMMENT_START)&&(p=!0,e=this._extractString(this.tags.COMMENT_START));null!==(h=this._extractUntil(u));){if(e+=h,(this._matches(this.tags.BLOCK_START)||this._matches(this.tags.VARIABLE_START)||this._matches(this.tags.COMMENT_START))&&!p){if(this.lstripBlocks&&this._matches(this.tags.BLOCK_START)&&this.colno>0&&this.colno<=e.length){var f=e.slice(-this.colno);if(/^\s+$/.test(f)&&!(e=e.slice(0,-this.colno)).length)return this.nextToken()}break}if(this._matches(this.tags.COMMENT_END)){if(!p)throw new Error("unexpected end of comment");e+=this._extractString(this.tags.COMMENT_END);break}e+=this.current(),this.forward()}if(null===h&&p)throw new Error("expected end of comment, got end of file");return Kt(p?"comment":"data",e,t,n)},t._parseString=function(e){this.forward();for(var t="";!this.isFinished()&&this.current()!==e;){var n=this.current();if("\\"===n){switch(this.forward(),this.current()){case"n":t+="\n";break;case"t":t+="\t";break;case"r":t+="\r";break;default:t+=this.current()}this.forward()}else t+=n,this.forward()}return this.forward(),t},t._matches=function(e){return this.index+e.length>this.len?null:this.str.slice(this.index,this.index+e.length)===e},t._extractString=function(e){return this._matches(e)?(this.forwardN(e.length),e):null},t._extractUntil=function(e){return this._extractMatching(!0,e||"")},t._extract=function(e){return this._extractMatching(!1,e)},t._extractMatching=function(e,t){if(this.isFinished())return null;var n=t.indexOf(this.current());if(e&&-1===n||!e&&-1!==n){var r=this.current();this.forward();for(var i=t.indexOf(this.current());(e&&-1===i||!e&&-1!==i)&&!this.isFinished();)r+=this.current(),this.forward(),i=t.indexOf(this.current());return r}return""},t._extractRegex=function(e){var t=this.currentStr().match(e);return t?(this.forwardN(t[0].length),t):null},t.isFinished=function(){return this.index>=this.len},t.forwardN=function(e){for(var t=0;t2?i-2:0),a=2;a0||!n)&&Et.stdout.write(" ".repeat(t));var s=i===r.length-1?"":"\n";Et.stdout.write(""+e+s)}))}var hr={Node:on,Root:hn,NodeList:ln,Value:cn,Literal:un,Symbol:pn,Group:fn,Array:dn,Pair:En,Dict:mn,Output:Un,Capture:Hn,TemplateData:Gn,If:_n,IfAsync:An,InlineIf:gn,For:Nn,AsyncEach:Cn,AsyncAll:In,Macro:Sn,Caller:bn,Import:On,FromImport:yn,FunCall:Ln,Filter:kn,FilterAsync:vn,KeywordArgs:Dn,Block:Rn,Super:Mn,Extends:Pn,Include:xn,Set:wn,Switch:Bn,Case:Fn,LookupVal:Tn,BinOp:qn,In:Kn,Is:jn,Or:Vn,And:Wn,Not:Qn,Add:Xn,Concat:$n,Sub:zn,Mul:Jn,Div:Zn,FloorDiv:er,Mod:tr,Pow:nr,Neg:rr,Pos:ir,Compare:sr,CompareOperand:ar,CallExtension:or,CallExtensionAsync:cr,printNodes:function e(t,n){if(n=n||0,lr(t.typename+": ",n),t instanceof ln)lr("\n"),t.children.forEach((function(t){e(t,n+2)}));else if(t instanceof or)lr(t.extName+"."+t.prop+"\n"),t.args&&e(t.args,n+2),t.contentArgs&&t.contentArgs.forEach((function(t){e(t,n+2)}));else{var r=[],i=null;t.iterFields((function(e,t){e instanceof on?r.push([t,e]):(i=i||{})[t]=e})),i?lr(JSON.stringify(i,null,2)+"\n",null,!0):lr("\n"),r.forEach((function(t){var r=t[0],i=t[1];lr("["+r+"] =>",n+2),e(i,n+4)}))}}};function ur(e,t){return ur=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ur(e,t)}hr.Node,hr.Root,hr.NodeList,hr.Value,hr.Literal,hr.Group,hr.Pair,hr.Dict,hr.Output,hr.Capture,hr.TemplateData,hr.If,hr.IfAsync,hr.InlineIf,hr.For,hr.AsyncEach,hr.AsyncAll,hr.Macro,hr.Caller,hr.Import,hr.FromImport,hr.FunCall,hr.Filter,hr.FilterAsync,hr.KeywordArgs,hr.Block,hr.Super,hr.Extends,hr.Include,hr.Switch,hr.Case,hr.LookupVal,hr.BinOp,hr.In,hr.Is,hr.Or,hr.And,hr.Not,hr.Add,hr.Concat,hr.Sub,hr.Mul,hr.Div,hr.FloorDiv,hr.Mod,hr.Pow,hr.Neg,hr.Pos,hr.Compare,hr.CompareOperand,hr.CallExtension,hr.CallExtensionAsync,hr.printNodes;var pr=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,ur(t,n);var i=r.prototype;return i.init=function(e){this.tokens=e,this.peeked=null,this.breakOnBlocks=null,this.dropLeadingWhitespace=!1,this.extensions=[]},i.nextToken=function(e){var t;if(this.peeked){if(e||this.peeked.type!==Vt.TOKEN_WHITESPACE)return t=this.peeked,this.peeked=null,t;this.peeked=null}if(t=this.tokens.nextToken(),!e)for(;t&&t.type===Vt.TOKEN_WHITESPACE;)t=this.tokens.nextToken();return t},i.peekToken=function(){return this.peeked=this.peeked||this.nextToken(),this.peeked},i.pushToken=function(e){if(this.peeked)throw new Error("pushToken: can only push one token on between reads");this.peeked=e},i.error=function(e,t,n){if(void 0===t||void 0===n){var r=this.peekToken()||{};t=r.lineno,n=r.colno}return void 0!==t&&(t+=1),void 0!==n&&(n+=1),new je.TemplateError(e,t,n)},i.fail=function(e,t,n){throw this.error(e,t,n)},i.skip=function(e){var t=this.nextToken();return!(!t||t.type!==e)||(this.pushToken(t),!1)},i.expect=function(e){var t=this.nextToken();return t.type!==e&&this.fail("expected "+e+", got "+t.type,t.lineno,t.colno),t},i.skipValue=function(e,t){var n=this.nextToken();return!(!n||n.type!==e||n.value!==t)||(this.pushToken(n),!1)},i.skipSymbol=function(e){return this.skipValue(Vt.TOKEN_SYMBOL,e)},i.advanceAfterBlockEnd=function(e){var t;return e||((t=this.peekToken())||this.fail("unexpected end of file"),t.type!==Vt.TOKEN_SYMBOL&&this.fail("advanceAfterBlockEnd: expected symbol token or explicit name to be passed"),e=this.nextToken().value),(t=this.nextToken())&&t.type===Vt.TOKEN_BLOCK_END?"-"===t.value.charAt(0)&&(this.dropLeadingWhitespace=!0):this.fail("expected block end in "+e+" statement"),t},i.advanceAfterVariableEnd=function(){var e=this.nextToken();e&&e.type===Vt.TOKEN_VARIABLE_END?this.dropLeadingWhitespace="-"===e.value.charAt(e.value.length-this.tokens.tags.VARIABLE_END.length-1):(this.pushToken(e),this.fail("expected variable end"))},i.parseFor=function(){var e,t,n=this.peekToken();if(this.skipSymbol("for")?(e=new hr.For(n.lineno,n.colno),t="endfor"):this.skipSymbol("asyncEach")?(e=new hr.AsyncEach(n.lineno,n.colno),t="endeach"):this.skipSymbol("asyncAll")?(e=new hr.AsyncAll(n.lineno,n.colno),t="endall"):this.fail("parseFor: expected for{Async}",n.lineno,n.colno),e.name=this.parsePrimary(),e.name instanceof hr.Symbol||this.fail("parseFor: variable name expected for loop"),this.peekToken().type===Vt.TOKEN_COMMA){var r=e.name;for(e.name=new hr.Array(r.lineno,r.colno),e.name.addChild(r);this.skip(Vt.TOKEN_COMMA);){var i=this.parsePrimary();e.name.addChild(i)}}return this.skipSymbol("in")||this.fail('parseFor: expected "in" keyword for loop',n.lineno,n.colno),e.arr=this.parseExpression(),this.advanceAfterBlockEnd(n.value),e.body=this.parseUntilBlocks(t,"else"),this.skipSymbol("else")&&(this.advanceAfterBlockEnd("else"),e.else_=this.parseUntilBlocks(t)),this.advanceAfterBlockEnd(),e},i.parseMacro=function(){var e=this.peekToken();this.skipSymbol("macro")||this.fail("expected macro");var t=this.parsePrimary(!0),n=this.parseSignature(),r=new hr.Macro(e.lineno,e.colno,t,n);return this.advanceAfterBlockEnd(e.value),r.body=this.parseUntilBlocks("endmacro"),this.advanceAfterBlockEnd(),r},i.parseCall=function(){var e=this.peekToken();this.skipSymbol("call")||this.fail("expected call");var t=this.parseSignature(!0)||new hr.NodeList,n=this.parsePrimary();this.advanceAfterBlockEnd(e.value);var r=this.parseUntilBlocks("endcall");this.advanceAfterBlockEnd();var i=new hr.Symbol(e.lineno,e.colno,"caller"),s=new hr.Caller(e.lineno,e.colno,i,t,r),a=n.args.children;return a[a.length-1]instanceof hr.KeywordArgs||a.push(new hr.KeywordArgs),a[a.length-1].addChild(new hr.Pair(e.lineno,e.colno,i,s)),new hr.Output(e.lineno,e.colno,[n])},i.parseWithContext=function(){var e=this.peekToken(),t=null;return this.skipSymbol("with")?t=!0:this.skipSymbol("without")&&(t=!1),null!==t&&(this.skipSymbol("context")||this.fail("parseFrom: expected context after with/without",e.lineno,e.colno)),t},i.parseImport=function(){var e=this.peekToken();this.skipSymbol("import")||this.fail("parseImport: expected import",e.lineno,e.colno);var t=this.parseExpression();this.skipSymbol("as")||this.fail('parseImport: expected "as" keyword',e.lineno,e.colno);var n=this.parseExpression(),r=this.parseWithContext(),i=new hr.Import(e.lineno,e.colno,t,n,r);return this.advanceAfterBlockEnd(e.value),i},i.parseFrom=function(){var e=this.peekToken();this.skipSymbol("from")||this.fail("parseFrom: expected from");var t=this.parseExpression();this.skipSymbol("import")||this.fail("parseFrom: expected import",e.lineno,e.colno);for(var n,r=new hr.NodeList;;){var i=this.peekToken();if(i.type===Vt.TOKEN_BLOCK_END){r.children.length||this.fail("parseFrom: Expected at least one import name",e.lineno,e.colno),"-"===i.value.charAt(0)&&(this.dropLeadingWhitespace=!0),this.nextToken();break}r.children.length>0&&!this.skip(Vt.TOKEN_COMMA)&&this.fail("parseFrom: expected comma",e.lineno,e.colno);var s=this.parsePrimary();if("_"===s.value.charAt(0)&&this.fail("parseFrom: names starting with an underscore cannot be imported",s.lineno,s.colno),this.skipSymbol("as")){var a=this.parsePrimary();r.addChild(new hr.Pair(s.lineno,s.colno,s,a))}else r.addChild(s);n=this.parseWithContext()}return new hr.FromImport(e.lineno,e.colno,t,r,n)},i.parseBlock=function(){var e=this.peekToken();this.skipSymbol("block")||this.fail("parseBlock: expected block",e.lineno,e.colno);var t=new hr.Block(e.lineno,e.colno);t.name=this.parsePrimary(),t.name instanceof hr.Symbol||this.fail("parseBlock: variable name expected",e.lineno,e.colno),this.advanceAfterBlockEnd(e.value),t.body=this.parseUntilBlocks("endblock"),this.skipSymbol("endblock"),this.skipSymbol(t.name.value);var n=this.peekToken();return n||this.fail("parseBlock: expected endblock, got end of file"),this.advanceAfterBlockEnd(n.value),t},i.parseExtends=function(){var e="extends",t=this.peekToken();this.skipSymbol(e)||this.fail("parseTemplateRef: expected extends");var n=new hr.Extends(t.lineno,t.colno);return n.template=this.parseExpression(),this.advanceAfterBlockEnd(t.value),n},i.parseInclude=function(){var e="include",t=this.peekToken();this.skipSymbol(e)||this.fail("parseInclude: expected include");var n=new hr.Include(t.lineno,t.colno);return n.template=this.parseExpression(),this.skipSymbol("ignore")&&this.skipSymbol("missing")&&(n.ignoreMissing=!0),this.advanceAfterBlockEnd(t.value),n},i.parseIf=function(){var e,t=this.peekToken();this.skipSymbol("if")||this.skipSymbol("elif")||this.skipSymbol("elseif")?e=new hr.If(t.lineno,t.colno):this.skipSymbol("ifAsync")?e=new hr.IfAsync(t.lineno,t.colno):this.fail("parseIf: expected if, elif, or elseif",t.lineno,t.colno),e.cond=this.parseExpression(),this.advanceAfterBlockEnd(t.value),e.body=this.parseUntilBlocks("elif","elseif","else","endif");var n=this.peekToken();switch(n&&n.value){case"elseif":case"elif":e.else_=this.parseIf();break;case"else":this.advanceAfterBlockEnd(),e.else_=this.parseUntilBlocks("endif"),this.advanceAfterBlockEnd();break;case"endif":e.else_=null,this.advanceAfterBlockEnd();break;default:this.fail("parseIf: expected elif, else, or endif, got end of file")}return e},i.parseSet=function(){var e=this.peekToken();this.skipSymbol("set")||this.fail("parseSet: expected set",e.lineno,e.colno);for(var t,n=new hr.Set(e.lineno,e.colno,[]);(t=this.parsePrimary())&&(n.targets.push(t),this.skip(Vt.TOKEN_COMMA)););return this.skipValue(Vt.TOKEN_OPERATOR,"=")?(n.value=this.parseExpression(),this.advanceAfterBlockEnd(e.value)):this.skip(Vt.TOKEN_BLOCK_END)?(n.body=new hr.Capture(e.lineno,e.colno,this.parseUntilBlocks("endset")),n.value=null,this.advanceAfterBlockEnd()):this.fail("parseSet: expected = or block end in set tag",e.lineno,e.colno),n},i.parseSwitch=function(){var e="switch",t="endswitch",n="case",r="default",i=this.peekToken();this.skipSymbol(e)||this.skipSymbol(n)||this.skipSymbol(r)||this.fail('parseSwitch: expected "switch," "case" or "default"',i.lineno,i.colno);var s=this.parseExpression();this.advanceAfterBlockEnd(e),this.parseUntilBlocks(n,r,t);var a,o=this.peekToken(),c=[];do{this.skipSymbol(n);var l=this.parseExpression();this.advanceAfterBlockEnd(e);var h=this.parseUntilBlocks(n,r,t);c.push(new hr.Case(o.line,o.col,l,h)),o=this.peekToken()}while(o&&o.value===n);switch(o.value){case r:this.advanceAfterBlockEnd(),a=this.parseUntilBlocks(t),this.advanceAfterBlockEnd();break;case t:this.advanceAfterBlockEnd();break;default:this.fail('parseSwitch: expected "case," "default" or "endswitch," got EOF.')}return new hr.Switch(i.lineno,i.colno,s,c,a)},i.parseStatement=function(){var e=this.peekToken();if(e.type!==Vt.TOKEN_SYMBOL&&this.fail("tag name expected",e.lineno,e.colno),this.breakOnBlocks&&-1!==je.indexOf(this.breakOnBlocks,e.value))return null;switch(e.value){case"raw":return this.parseRaw();case"verbatim":return this.parseRaw("verbatim");case"if":case"ifAsync":return this.parseIf();case"for":case"asyncEach":case"asyncAll":return this.parseFor();case"block":return this.parseBlock();case"extends":return this.parseExtends();case"include":return this.parseInclude();case"set":return this.parseSet();case"macro":return this.parseMacro();case"call":return this.parseCall();case"import":return this.parseImport();case"from":return this.parseFrom();case"filter":return this.parseFilterStatement();case"switch":return this.parseSwitch();default:if(this.extensions.length)for(var t=0;t0;){var o=s[0],c=s[1],l=s[2];l===e?r+=1:l===t&&(r-=1),0===r?(i+=c,this.tokens.backN(o.length-c.length)):i+=o}return new hr.Output(a.lineno,a.colno,[new hr.TemplateData(a.lineno,a.colno,i)])},i.parsePostfix=function(e){for(var t,n=this.peekToken();n;){if(n.type===Vt.TOKEN_LEFT_PAREN)e=new hr.FunCall(n.lineno,n.colno,e,this.parseSignature());else if(n.type===Vt.TOKEN_LEFT_BRACKET)(t=this.parseAggregate()).children.length>1&&this.fail("invalid index"),e=new hr.LookupVal(n.lineno,n.colno,e,t.children[0]);else{if(n.type!==Vt.TOKEN_OPERATOR||"."!==n.value)break;this.nextToken();var r=this.nextToken();r.type!==Vt.TOKEN_SYMBOL&&this.fail("expected name as lookup value, got "+r.value,r.lineno,r.colno),t=new hr.Literal(r.lineno,r.colno,r.value),e=new hr.LookupVal(n.lineno,n.colno,e,t)}n=this.peekToken()}return e},i.parseExpression=function(){return this.parseInlineIf()},i.parseInlineIf=function(){var e=this.parseOr();if(this.skipSymbol("if")){var t=this.parseOr(),n=e;(e=new hr.InlineIf(e.lineno,e.colno)).body=n,e.cond=t,this.skipSymbol("else")?e.else_=this.parseOr():e.else_=null}return e},i.parseOr=function(){for(var e=this.parseAnd();this.skipSymbol("or");){var t=this.parseAnd();e=new hr.Or(e.lineno,e.colno,e,t)}return e},i.parseAnd=function(){for(var e=this.parseNot();this.skipSymbol("and");){var t=this.parseNot();e=new hr.And(e.lineno,e.colno,e,t)}return e},i.parseNot=function(){var e=this.peekToken();return this.skipSymbol("not")?new hr.Not(e.lineno,e.colno,this.parseNot()):this.parseIn()},i.parseIn=function(){for(var e=this.parseIs();;){var t=this.nextToken();if(!t)break;var n=t.type===Vt.TOKEN_SYMBOL&&"not"===t.value;if(n||this.pushToken(t),!this.skipSymbol("in")){n&&this.pushToken(t);break}var r=this.parseIs();e=new hr.In(e.lineno,e.colno,e,r),n&&(e=new hr.Not(e.lineno,e.colno,e))}return e},i.parseIs=function(){var e=this.parseCompare();if(this.skipSymbol("is")){var t=this.skipSymbol("not"),n=this.parseCompare();e=new hr.Is(e.lineno,e.colno,e,n),t&&(e=new hr.Not(e.lineno,e.colno,e))}return e},i.parseCompare=function(){for(var e=["==","===","!=","!==","<",">","<=",">="],t=this.parseConcat(),n=[];;){var r=this.nextToken();if(!r)break;if(-1===e.indexOf(r.value)){this.pushToken(r);break}n.push(new hr.CompareOperand(r.lineno,r.colno,this.parseConcat(),r.value))}return n.length?new hr.Compare(n[0].lineno,n[0].colno,t,n):t},i.parseConcat=function(){for(var e=this.parseAdd();this.skipValue(Vt.TOKEN_TILDE,"~");){var t=this.parseAdd();e=new hr.Concat(e.lineno,e.colno,e,t)}return e},i.parseAdd=function(){for(var e=this.parseSub();this.skipValue(Vt.TOKEN_OPERATOR,"+");){var t=this.parseSub();e=new hr.Add(e.lineno,e.colno,e,t)}return e},i.parseSub=function(){for(var e=this.parseMul();this.skipValue(Vt.TOKEN_OPERATOR,"-");){var t=this.parseMul();e=new hr.Sub(e.lineno,e.colno,e,t)}return e},i.parseMul=function(){for(var e=this.parseDiv();this.skipValue(Vt.TOKEN_OPERATOR,"*");){var t=this.parseDiv();e=new hr.Mul(e.lineno,e.colno,e,t)}return e},i.parseDiv=function(){for(var e=this.parseFloorDiv();this.skipValue(Vt.TOKEN_OPERATOR,"/");){var t=this.parseFloorDiv();e=new hr.Div(e.lineno,e.colno,e,t)}return e},i.parseFloorDiv=function(){for(var e=this.parseMod();this.skipValue(Vt.TOKEN_OPERATOR,"//");){var t=this.parseMod();e=new hr.FloorDiv(e.lineno,e.colno,e,t)}return e},i.parseMod=function(){for(var e=this.parsePow();this.skipValue(Vt.TOKEN_OPERATOR,"%");){var t=this.parsePow();e=new hr.Mod(e.lineno,e.colno,e,t)}return e},i.parsePow=function(){for(var e=this.parseUnary();this.skipValue(Vt.TOKEN_OPERATOR,"**");){var t=this.parseUnary();e=new hr.Pow(e.lineno,e.colno,e,t)}return e},i.parseUnary=function(e){var t,n=this.peekToken();return t=this.skipValue(Vt.TOKEN_OPERATOR,"-")?new hr.Neg(n.lineno,n.colno,this.parseUnary(!0)):this.skipValue(Vt.TOKEN_OPERATOR,"+")?new hr.Pos(n.lineno,n.colno,this.parseUnary(!0)):this.parsePrimary(),e||(t=this.parseFilter(t)),t},i.parsePrimary=function(e){var t,n=this.nextToken(),r=null;if(n?n.type===Vt.TOKEN_STRING?t=n.value:n.type===Vt.TOKEN_INT?t=parseInt(n.value,10):n.type===Vt.TOKEN_FLOAT?t=parseFloat(n.value):n.type===Vt.TOKEN_BOOLEAN?"true"===n.value?t=!0:"false"===n.value?t=!1:this.fail("invalid boolean: "+n.value,n.lineno,n.colno):n.type===Vt.TOKEN_NONE?t=null:n.type===Vt.TOKEN_REGEX&&(t=new RegExp(n.value.body,n.value.flags)):this.fail("expected expression, got end of file"),void 0!==t?r=new hr.Literal(n.lineno,n.colno,t):n.type===Vt.TOKEN_SYMBOL?r=new hr.Symbol(n.lineno,n.colno,n.value):(this.pushToken(n),r=this.parseAggregate()),e||(r=this.parsePostfix(r)),r)return r;throw this.error("unexpected token: "+n.value,n.lineno,n.colno)},i.parseFilterName=function(){for(var e=this.expect(Vt.TOKEN_SYMBOL),t=e.value;this.skipValue(Vt.TOKEN_OPERATOR,".");)t+="."+this.expect(Vt.TOKEN_SYMBOL).value;return new hr.Symbol(e.lineno,e.colno,t)},i.parseFilterArgs=function(e){return this.peekToken().type===Vt.TOKEN_LEFT_PAREN?this.parsePostfix(e).args.children:[]},i.parseFilter=function(e){for(;this.skip(Vt.TOKEN_PIPE);){var t=this.parseFilterName();e=new hr.Filter(t.lineno,t.colno,t,new hr.NodeList(t.lineno,t.colno,[e].concat(this.parseFilterArgs(e))))}return e},i.parseFilterStatement=function(){var e=this.peekToken();this.skipSymbol("filter")||this.fail("parseFilterStatement: expected filter");var t=this.parseFilterName(),n=this.parseFilterArgs(t);this.advanceAfterBlockEnd(e.value);var r=new hr.Capture(t.lineno,t.colno,this.parseUntilBlocks("endfilter"));this.advanceAfterBlockEnd();var i=new hr.Filter(t.lineno,t.colno,t,new hr.NodeList(t.lineno,t.colno,[r].concat(n)));return new hr.Output(t.lineno,t.colno,[i])},i.parseAggregate=function(){var e,t=this.nextToken();switch(t.type){case Vt.TOKEN_LEFT_PAREN:e=new hr.Group(t.lineno,t.colno);break;case Vt.TOKEN_LEFT_BRACKET:e=new hr.Array(t.lineno,t.colno);break;case Vt.TOKEN_LEFT_CURLY:e=new hr.Dict(t.lineno,t.colno);break;default:return null}for(;;){var n=this.peekToken().type;if(n===Vt.TOKEN_RIGHT_PAREN||n===Vt.TOKEN_RIGHT_BRACKET||n===Vt.TOKEN_RIGHT_CURLY){this.nextToken();break}if(e.children.length>0&&(this.skip(Vt.TOKEN_COMMA)||this.fail("parseAggregate: expected comma after expression",t.lineno,t.colno)),e instanceof hr.Dict){var r=this.parsePrimary();this.skip(Vt.TOKEN_COLON)||this.fail("parseAggregate: expected colon after dict key",t.lineno,t.colno);var i=this.parseExpression();e.addChild(new hr.Pair(r.lineno,r.colno,r,i))}else{var s=this.parseExpression();e.addChild(s)}}return e},i.parseSignature=function(e,t){var n=this.peekToken();if(!t&&n.type!==Vt.TOKEN_LEFT_PAREN){if(e)return null;this.fail("expected arguments",n.lineno,n.colno)}n.type===Vt.TOKEN_LEFT_PAREN&&(n=this.nextToken());for(var r=new hr.NodeList(n.lineno,n.colno),i=new hr.KeywordArgs(n.lineno,n.colno),s=!1;;){if(n=this.peekToken(),!t&&n.type===Vt.TOKEN_RIGHT_PAREN){this.nextToken();break}if(t&&n.type===Vt.TOKEN_BLOCK_END)break;if(s&&!this.skip(Vt.TOKEN_COMMA))this.fail("parseSignature: expected comma after expression",n.lineno,n.colno);else{var a=this.parseExpression();this.skipValue(Vt.TOKEN_OPERATOR,"=")?i.addChild(new hr.Pair(a.lineno,a.colno,a,this.parseExpression())):r.addChild(a)}s=!0}return i.children.length&&r.addChild(i),r},i.parseUntilBlocks=function(){for(var e=this.breakOnBlocks,t=arguments.length,n=new Array(t),r=0;re.length)a=i.slice(0,e.length),i.slice(a.length,o).forEach((function(e,n){n":">","<=":"<=",">=":">="},Pr=function(e){var t,n;function r(){return e.apply(this,arguments)||this}n=e,(t=r).prototype=Object.create(n.prototype),t.prototype.constructor=t,vr(t,n);var i=r.prototype;return i.init=function(e,t){this.templateName=e,this.codebuf=[],this.lastId=0,this.buffer=null,this.bufferStack=[],this._scopeClosers="",this.inBlock=!1,this.throwOnUndefined=t},i.fail=function(e,t,n){throw void 0!==t&&(t+=1),void 0!==n&&(n+=1),new Dr(e,t,n)},i._pushBuffer=function(){var e=this._tmpid();return this.bufferStack.push(this.buffer),this.buffer=e,this._emit("var "+this.buffer+' = "";'),e},i._popBuffer=function(){this.buffer=this.bufferStack.pop()},i._emit=function(e){this.codebuf.push(e)},i._emitLine=function(e){this._emit(e+"\n")},i._emitLines=function(){for(var e=this,t=arguments.length,n=new Array(t),r=0;r0&&i._emit(","),i.compile(e,t)})),r&&this._emit(r)},i._compileExpression=function(e,t){this.assertType(e,hr.Literal,hr.Symbol,hr.Group,hr.Array,hr.Dict,hr.FunCall,hr.Caller,hr.Filter,hr.LookupVal,hr.Compare,hr.InlineIf,hr.In,hr.Is,hr.And,hr.Or,hr.Not,hr.Add,hr.Concat,hr.Sub,hr.Mul,hr.Div,hr.FloorDiv,hr.Mod,hr.Pow,hr.Neg,hr.Pos,hr.Compare,hr.NodeList),this.compile(e,t)},i.assertType=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r0&&r._emit(","),e){r._emitLine("function(cb) {"),r._emitLine("if(!cb) { cb = function(err) { if(err) { throw err; }}}");var i=r._pushBuffer();r._withScopedSyntax((function(){r.compile(e,t),r._emitLine("cb(null, "+i+");")})),r._popBuffer(),r._emitLine("return "+i+";"),r._emitLine("}")}else r._emit("null")})),n){var o=this._tmpid();this._emitLine(", "+this._makeCallback(o)),this._emitLine(this.buffer+" += runtime.suppressValue("+o+", "+a+" && env.opts.autoescape);"),this._addScopeLevel()}else this._emit(")"),this._emit(", "+a+" && env.opts.autoescape);\n")},i.compileCallExtensionAsync=function(e,t){this.compileCallExtension(e,t,!0)},i.compileNodeList=function(e,t){this._compileChildren(e,t)},i.compileLiteral=function(e){if("string"==typeof e.value){var t=e.value.replace(/\\/g,"\\\\");t=(t=(t=(t=(t=t.replace(/"/g,'\\"')).replace(/\n/g,"\\n")).replace(/\r/g,"\\r")).replace(/\t/g,"\\t")).replace(/\u2028/g,"\\u2028"),this._emit('"'+t+'"')}else null===e.value?this._emit("null"):this._emit(e.value.toString())},i.compileSymbol=function(e,t){var n=e.value,r=t.lookup(n);r?this._emit(r):this._emit('runtime.contextOrFrameLookup(context, frame, "'+n+'")')},i.compileGroup=function(e,t){this._compileAggregate(e,t,"(",")")},i.compileArray=function(e,t){this._compileAggregate(e,t,"[","]")},i.compileDict=function(e,t){this._compileAggregate(e,t,"{","}")},i.compilePair=function(e,t){var n=e.key,r=e.value;n instanceof hr.Symbol?n=new hr.Literal(n.lineno,n.colno,n.value):n instanceof hr.Literal&&"string"==typeof n.value||this.fail("compilePair: Dict keys must be strings or names",n.lineno,n.colno),this.compile(n,t),this._emit(": "),this._compileExpression(r,t)},i.compileInlineIf=function(e,t){this._emit("("),this.compile(e.cond,t),this._emit("?"),this.compile(e.body,t),this._emit(":"),null!==e.else_?this.compile(e.else_,t):this._emit('""'),this._emit(")")},i.compileIn=function(e,t){this._emit("runtime.inOperator("),this.compile(e.left,t),this._emit(","),this.compile(e.right,t),this._emit(")")},i.compileIs=function(e,t){var n=e.right.name?e.right.name.value:e.right.value;this._emit('env.getTest("'+n+'").call(context, '),this.compile(e.left,t),e.right.args&&(this._emit(","),this.compile(e.right.args,t)),this._emit(") === true")},i._binOpEmitter=function(e,t,n){this.compile(e.left,t),this._emit(n),this.compile(e.right,t)},i.compileOr=function(e,t){return this._binOpEmitter(e,t," || ")},i.compileAnd=function(e,t){return this._binOpEmitter(e,t," && ")},i.compileAdd=function(e,t){return this._binOpEmitter(e,t," + ")},i.compileConcat=function(e,t){return this._binOpEmitter(e,t,' + "" + ')},i.compileSub=function(e,t){return this._binOpEmitter(e,t," - ")},i.compileMul=function(e,t){return this._binOpEmitter(e,t," * ")},i.compileDiv=function(e,t){return this._binOpEmitter(e,t," / ")},i.compileMod=function(e,t){return this._binOpEmitter(e,t," % ")},i.compileNot=function(e,t){this._emit("!"),this.compile(e.target,t)},i.compileFloorDiv=function(e,t){this._emit("Math.floor("),this.compile(e.left,t),this._emit(" / "),this.compile(e.right,t),this._emit(")")},i.compilePow=function(e,t){this._emit("Math.pow("),this.compile(e.left,t),this._emit(", "),this.compile(e.right,t),this._emit(")")},i.compileNeg=function(e,t){this._emit("-"),this.compile(e.target,t)},i.compilePos=function(e,t){this._emit("+"),this.compile(e.target,t)},i.compileCompare=function(e,t){var n=this;this.compile(e.expr,t),e.ops.forEach((function(e){n._emit(" "+Mr[e.type]+" "),n.compile(e.expr,t)}))},i.compileLookupVal=function(e,t){this._emit("runtime.memberLookup(("),this._compileExpression(e.target,t),this._emit("),"),this._compileExpression(e.val,t),this._emit(")")},i._getNodeName=function(e){switch(e.typename){case"Symbol":return e.value;case"FunCall":return"the return value of ("+this._getNodeName(e.name)+")";case"LookupVal":return this._getNodeName(e.target)+'["'+this._getNodeName(e.val)+'"]';case"Literal":return e.value.toString();default:return"--expression--"}},i.compileFunCall=function(e,t){this._emit("(lineno = "+e.lineno+", colno = "+e.colno+", "),this._emit("runtime.callWrap("),this._compileExpression(e.name,t),this._emit(', "'+this._getNodeName(e.name).replace(/"/g,'\\"')+'", context, '),this._compileAggregate(e.args,t,"[","])"),this._emit(")")},i.compileFilter=function(e,t){var n=e.name;this.assertType(n,hr.Symbol),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emit(")")},i.compileFilterAsync=function(e,t){var n=e.name,r=e.symbol.value;this.assertType(n,hr.Symbol),t.set(r,r),this._emit('env.getFilter("'+n.value+'").call(context, '),this._compileAggregate(e.args,t),this._emitLine(", "+this._makeCallback(r)),this._addScopeLevel()},i.compileKeywordArgs=function(e,t){this._emit("runtime.makeKeywordArgs("),this.compileDict(e,t),this._emit(")")},i.compileSet=function(e,t){var n=this,r=[];e.targets.forEach((function(e){var i=e.value,s=t.lookup(i);null==s&&(s=n._tmpid(),n._emitLine("var "+s+";")),r.push(s)})),e.value?(this._emit(r.join(" = ")+" = "),this._compileExpression(e.value,t),this._emitLine(";")):(this._emit(r.join(" = ")+" = "),this.compile(e.body,t),this._emitLine(";")),e.targets.forEach((function(e,t){var i=r[t],s=e.value;n._emitLine('frame.set("'+s+'", '+i+", true);"),n._emitLine("if(frame.topLevel) {"),n._emitLine('context.setVariable("'+s+'", '+i+");"),n._emitLine("}"),"_"!==s.charAt(0)&&(n._emitLine("if(frame.topLevel) {"),n._emitLine('context.addExport("'+s+'", '+i+");"),n._emitLine("}"))}))},i.compileSwitch=function(e,t){var n=this;this._emit("switch ("),this.compile(e.expr,t),this._emit(") {"),e.cases.forEach((function(e,r){n._emit("case "),n.compile(e.cond,t),n._emit(": "),n.compile(e.body,t),e.body.children.length&&n._emitLine("break;")})),e.default&&(this._emit("default:"),this.compile(e.default,t)),this._emit("}")},i.compileIf=function(e,t,n){var r=this;this._emit("if("),this._compileExpression(e.cond,t),this._emitLine(") {"),this._withScopedSyntax((function(){r.compile(e.body,t),n&&r._emit("cb()")})),e.else_?(this._emitLine("}\nelse {"),this._withScopedSyntax((function(){r.compile(e.else_,t),n&&r._emit("cb()")}))):n&&(this._emitLine("}\nelse {"),this._emit("cb()")),this._emitLine("}")},i.compileIfAsync=function(e,t){this._emit("(function(cb) {"),this.compileIf(e,t,!0),this._emit("})("+this._makeCallback()),this._addScopeLevel()},i._emitLoopBindings=function(e,t,n,r){var i=this;[{name:"index",val:n+" + 1"},{name:"index0",val:n},{name:"revindex",val:r+" - "+n},{name:"revindex0",val:r+" - "+n+" - 1"},{name:"first",val:n+" === 0"},{name:"last",val:n+" === "+r+" - 1"},{name:"length",val:r}].forEach((function(e){i._emitLine('frame.set("loop.'+e.name+'", '+e.val+");")}))},i.compileFor=function(e,t){var n=this,r=this._tmpid(),i=this._tmpid(),s=this._tmpid();if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+s+" = "),this._compileExpression(e.arr,t),this._emitLine(";"),this._emit("if("+s+") {"),this._emitLine(s+" = runtime.fromIterator("+s+");"),e.name instanceof hr.Array){this._emitLine("var "+r+";"),this._emitLine("if(runtime.isArray("+s+")) {"),this._emitLine("var "+i+" = "+s+".length;"),this._emitLine("for("+r+"=0; "+r+" < "+s+".length; "+r+"++) {"),e.name.children.forEach((function(i,a){var o=n._tmpid();n._emitLine("var "+o+" = "+s+"["+r+"]["+a+"];"),n._emitLine('frame.set("'+i+'", '+s+"["+r+"]["+a+"]);"),t.set(e.name.children[a].value,o)})),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("} else {");var a=e.name.children,o=a[0],c=a[1],l=this._tmpid(),h=this._tmpid();t.set(o.value,l),t.set(c.value,h),this._emitLine(r+" = -1;"),this._emitLine("var "+i+" = runtime.keys("+s+").length;"),this._emitLine("for(var "+l+" in "+s+") {"),this._emitLine(r+"++;"),this._emitLine("var "+h+" = "+s+"["+l+"];"),this._emitLine('frame.set("'+o.value+'", '+l+");"),this._emitLine('frame.set("'+c.value+'", '+h+");"),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}"),this._emitLine("}")}else{var u=this._tmpid();t.set(e.name.value,u),this._emitLine("var "+i+" = "+s+".length;"),this._emitLine("for(var "+r+"=0; "+r+" < "+s+".length; "+r+"++) {"),this._emitLine("var "+u+" = "+s+"["+r+"];"),this._emitLine('frame.set("'+e.name.value+'", '+u+");"),this._emitLoopBindings(e,s,r,i),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("}")}this._emitLine("}"),e.else_&&(this._emitLine("if (!"+i+") {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},i._compileAsyncLoop=function(e,t,n){var r=this,i=this._tmpid(),s=this._tmpid(),a=this._tmpid(),o=n?"asyncAll":"asyncEach";if(t=t.push(),this._emitLine("frame = frame.push();"),this._emit("var "+a+" = runtime.fromIterator("),this._compileExpression(e.arr,t),this._emitLine(");"),e.name instanceof hr.Array){var c=e.name.children.length;this._emit("runtime."+o+"("+a+", "+c+", function("),e.name.children.forEach((function(e){r._emit(e.value+",")})),this._emit(i+","+s+",next) {"),e.name.children.forEach((function(e){var n=e.value;t.set(n,n),r._emitLine('frame.set("'+n+'", '+n+");")}))}else{var l=e.name.value;this._emitLine("runtime."+o+"("+a+", 1, function("+l+", "+i+", "+s+",next) {"),this._emitLine('frame.set("'+l+'", '+l+");"),t.set(l,l)}this._emitLoopBindings(e,a,i,s),this._withScopedSyntax((function(){var s;n&&(s=r._pushBuffer()),r.compile(e.body,t),r._emitLine("next("+i+(s?","+s:"")+");"),n&&r._popBuffer()}));var h=this._tmpid();this._emitLine("}, "+this._makeCallback(h)),this._addScopeLevel(),n&&this._emitLine(this.buffer+" += "+h+";"),e.else_&&(this._emitLine("if (!"+a+".length) {"),this.compile(e.else_,t),this._emitLine("}")),this._emitLine("frame = frame.pop();")},i.compileAsyncEach=function(e,t){this._compileAsyncLoop(e,t)},i.compileAsyncAll=function(e,t){this._compileAsyncLoop(e,t,!0)},i._compileMacro=function(e,t){var n=this,r=[],i=null,s="macro_"+this._tmpid(),a=void 0!==t;e.args.children.forEach((function(t,s){s===e.args.children.length-1&&t instanceof hr.Dict?i=t:(n.assertType(t,hr.Symbol),r.push(t))}));var o,c=[].concat(r.map((function(e){return"l_"+e.value})),["kwargs"]),l=r.map((function(e){return'"'+e.value+'"'})),h=(i&&i.children||[]).map((function(e){return'"'+e.key.value+'"'}));o=a?t.push(!0):new Rr,this._emitLines("var "+s+" = runtime.makeMacro(","["+l.join(", ")+"], ","["+h.join(", ")+"], ","function ("+c.join(", ")+") {","var callerFrame = frame;","frame = "+(a?"frame.push(true);":"new runtime.Frame();"),"kwargs = kwargs || {};",'if (Object.prototype.hasOwnProperty.call(kwargs, "caller")) {','frame.set("caller", kwargs.caller); }'),r.forEach((function(e){n._emitLine('frame.set("'+e.value+'", l_'+e.value+");"),o.set(e.value,"l_"+e.value)})),i&&i.children.forEach((function(e){var t=e.key.value;n._emit('frame.set("'+t+'", '),n._emit('Object.prototype.hasOwnProperty.call(kwargs, "'+t+'")'),n._emit(' ? kwargs["'+t+'"] : '),n._compileExpression(e.value,o),n._emit(");")}));var u=this._pushBuffer();return this._withScopedSyntax((function(){n.compile(e.body,o)})),this._emitLine("frame = "+(a?"frame.pop();":"callerFrame;")),this._emitLine("return new runtime.SafeString("+u+");"),this._emitLine("});"),this._popBuffer(),s},i.compileMacro=function(e,t){var n=this._compileMacro(e),r=e.name.value;t.set(r,n),t.parent?this._emitLine('frame.set("'+r+'", '+n+");"):("_"!==e.name.value.charAt(0)&&this._emitLine('context.addExport("'+r+'");'),this._emitLine('context.setVariable("'+r+'", '+n+");"))},i.compileCaller=function(e,t){this._emit("(function (){");var n=this._compileMacro(e,t);this._emit("return "+n+";})()")},i._compileGetTemplate=function(e,t,n,r){var i=this._tmpid(),s=this._templateName(),a=this._makeCallback(i),o=n?"true":"false",c=r?"true":"false";return this._emit("env.getTemplate("),this._compileExpression(e.template,t),this._emitLine(", "+o+", "+s+", "+c+", "+a),i},i.compileImport=function(e,t){var n=e.target.value,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),t.set(n,r),t.parent?this._emitLine('frame.set("'+n+'", '+r+");"):this._emitLine('context.setVariable("'+n+'", '+r+");")},i.compileFromImport=function(e,t){var n=this,r=this._compileGetTemplate(e,t,!1,!1);this._addScopeLevel(),this._emitLine(r+".getExported("+(e.withContext?"context.getVariables(), frame, ":"")+this._makeCallback(r)),this._addScopeLevel(),e.names.children.forEach((function(e){var i,s,a=n._tmpid();e instanceof hr.Pair?(i=e.key.value,s=e.value.value):s=i=e.value,n._emitLine("if(Object.prototype.hasOwnProperty.call("+r+', "'+i+'")) {'),n._emitLine("var "+a+" = "+r+"."+i+";"),n._emitLine("} else {"),n._emitLine("cb(new Error(\"cannot import '"+i+"'\")); return;"),n._emitLine("}"),t.set(s,a),t.parent?n._emitLine('frame.set("'+s+'", '+a+");"):n._emitLine('context.setVariable("'+s+'", '+a+");")}))},i.compileBlock=function(e){var t=this._tmpid();this.inBlock||this._emit('(parentTemplate ? function(e, c, f, r, cb) { cb(""); } : '),this._emit('context.getBlock("'+e.name.value+'")'),this.inBlock||this._emit(")"),this._emitLine("(env, context, frame, runtime, "+this._makeCallback(t)),this._emitLine(this.buffer+" += "+t+";"),this._addScopeLevel()},i.compileSuper=function(e,t){var n=e.blockName.value,r=e.symbol.value,i=this._makeCallback(r);this._emitLine('context.getSuper(env, "'+n+'", b_'+n+", frame, runtime, "+i),this._emitLine(r+" = runtime.markSafe("+r+");"),this._addScopeLevel(),t.set(r,r)},i.compileExtends=function(e,t){var n=this._tmpid(),r=this._compileGetTemplate(e,t,!0,!1);this._emitLine("parentTemplate = "+r),this._emitLine("for(var "+n+" in parentTemplate.blocks) {"),this._emitLine("context.addBlock("+n+", parentTemplate.blocks["+n+"]);"),this._emitLine("}"),this._addScopeLevel()},i.compileInclude=function(e,t){this._emitLine("var tasks = [];"),this._emitLine("tasks.push("),this._emitLine("function(callback) {");var n=this._compileGetTemplate(e,t,!1,e.ignoreMissing);this._emitLine("callback(null,"+n+");});"),this._emitLine("});");var r=this._tmpid();this._emitLine("tasks.push("),this._emitLine("function(template, callback){"),this._emitLine("template.render(context.getVariables(), frame, "+this._makeCallback(r)),this._emitLine("callback(null,"+r+");});"),this._emitLine("});"),this._emitLine("tasks.push("),this._emitLine("function(result, callback){"),this._emitLine(this.buffer+" += result;"),this._emitLine("callback(null);"),this._emitLine("});"),this._emitLine("env.waterfall(tasks, function(){"),this._addScopeLevel()},i.compileTemplateData=function(e,t){this.compileLiteral(e,t)},i.compileCapture=function(e,t){var n=this,r=this.buffer;this.buffer="output",this._emitLine("(function() {"),this._emitLine('var output = "";'),this._withScopedSyntax((function(){n.compile(e.body,t)})),this._emitLine("return output;"),this._emitLine("})()"),this.buffer=r},i.compileOutput=function(e,t){var n=this;e.children.forEach((function(r){r instanceof hr.TemplateData?r.value&&(n._emit(n.buffer+" += "),n.compileLiteral(r,t),n._emitLine(";")):(n._emit(n.buffer+" += runtime.suppressValue("),n.throwOnUndefined&&n._emit("runtime.ensureDefined("),n.compile(r,t),n.throwOnUndefined&&n._emit(","+e.lineno+","+e.colno+")"),n._emit(", env.opts.autoescape);\n"))}))},i.compileRoot=function(e,t){var n=this;t&&this.fail("compileRoot: root node can't have frame"),t=new Rr,this._emitFuncBegin(e,"root"),this._emitLine("var parentTemplate = null;"),this._compileChildren(e,t),this._emitLine("if(parentTemplate) {"),this._emitLine("parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);"),this._emitLine("} else {"),this._emitLine("cb(null, "+this.buffer+");"),this._emitLine("}"),this._emitFuncEnd(!0),this.inBlock=!0;var r=[],i=e.findAll(hr.Block);i.forEach((function(e,t){var i=e.name.value;if(-1!==r.indexOf(i))throw new Error('Block "'+i+'" defined more than once.');r.push(i),n._emitFuncBegin(e,"b_"+i);var s=new Rr;n._emitLine("var frame = frame.push(true);"),n.compile(e.body,s),n._emitFuncEnd()})),this._emitLine("return {"),i.forEach((function(e,t){var r="b_"+e.name.value;n._emitLine(r+": "+r+",")})),this._emitLine("root: root\n};")},i.compile=function(e,t){var n=this["compile"+e.typename];n?n.call(this,e,t):this.fail("compile: Cannot compile node: "+e.typename,e.lineno,e.colno)},i.getCode=function(){return this.codebuf.join("")},r}(en.Obj),xr={compile:function(e,t,n,r,i){void 0===i&&(i={});var s=new Pr(r,i.throwOnUndefined),a=(n||[]).map((function(e){return e.preprocess})).filter((function(e){return!!e})).reduce((function(e,t){return t(e)}),e);return s.compile(Nr.transform(fr.parse(a,n,i),t,r)),s.getCode()},Compiler:Pr},wr=Ke((function(e){var t=e.exports={};function n(e,t){return null==e||!1===e?t:e}function r(e){return e!=e}function i(e){var t=(e=n(e,"")).toLowerCase();return kr.copySafeness(e,t.charAt(0).toUpperCase()+t.slice(1))}function s(e){if(je.isString(e))return e.split("");if(je.isObject(e))return je._entries(e||{}).map((function(e){return{key:e[0],value:e[1]}}));if(je.isArray(e))return e;throw new je.TemplateError("list filter: type not iterable")}function a(e){return function(t,n,r){void 0===n&&(n="truthy");var i=this,s=i.env.getTest(n);return je.toArray(t).filter((function(t){return s.call(i,t,r)===e}))}}function o(e){return kr.copySafeness(e,e.replace(/^\s*|\s*$/g,""))}t.abs=Math.abs,t.batch=function(e,t,n){var r,i=[],s=[];for(r=0;r=t)return e;var r=t-e.length,i=je.repeat(" ",r/2-r%2),s=je.repeat(" ",r/2);return kr.copySafeness(e,i+e+s)},t.default=function(e,t,n){return n?e||t:void 0!==e?e:t},t.dictsort=function(e,t,n){if(!je.isObject(e))throw new je.TemplateError("dictsort filter: val must be an object");var r,i=[];for(var s in e)i.push([s,e[s]]);if(void 0===n||"key"===n)r=0;else{if("value"!==n)throw new je.TemplateError("dictsort filter: You can only sort by either key or value");r=1}return i.sort((function(e,n){var i=e[r],s=n[r];return t||(je.isString(i)&&(i=i.toUpperCase()),je.isString(s)&&(s=s.toUpperCase())),i>s?1:i===s?0:-1})),i},t.dump=function(e,t){return JSON.stringify(e,null,t)},t.escape=function(e){return e instanceof kr.SafeString?e:(e=null==e?"":e,kr.markSafe(je.escape(e.toString())))},t.safe=function(e){return e instanceof kr.SafeString?e:(e=null==e?"":e,kr.markSafe(e.toString()))},t.first=function(e){return e[0]},t.forceescape=function(e){return e=null==e?"":e,kr.markSafe(je.escape(e.toString()))},t.groupby=function(e,t){return je.groupBy(e,t,this.env.opts.throwOnUndefined)},t.indent=function(e,t,r){if(""===(e=n(e,"")))return"";t=t||4;var i=e.split("\n"),s=je.repeat(" ",t),a=i.map((function(e,t){return 0!==t||r?""+s+e:e})).join("\n");return kr.copySafeness(e,a)},t.join=function(e,t,n){return t=t||"",n&&(e=je.map(e,(function(e){return e[n]}))),e.join(t)},t.last=function(e){return e[e.length-1]},t.length=function(e){var t=n(e,"");return void 0!==t?"function"==typeof Map&&t instanceof Map||"function"==typeof Set&&t instanceof Set?t.size:!je.isObject(t)||t instanceof kr.SafeString?t.length:je.keys(t).length:0},t.list=s,t.lower=function(e){return(e=n(e,"")).toLowerCase()},t.nl2br=function(e){return null==e?"":kr.copySafeness(e,e.replace(/\r\n|\n/g,"
\n"))},t.random=function(e){return e[Math.floor(Math.random()*e.length)]},t.reject=a(!1),t.rejectattr=function(e,t){return e.filter((function(e){return!e[t]}))},t.select=a(!0),t.selectattr=function(e,t){return e.filter((function(e){return!!e[t]}))},t.replace=function(e,t,n,r){var i=e;if(t instanceof RegExp)return e.replace(t,n);void 0===r&&(r=-1);var s="";if("number"==typeof t)t=""+t;else if("string"!=typeof t)return e;if("number"==typeof e&&(e=""+e),"string"!=typeof e&&!(e instanceof kr.SafeString))return e;if(""===t)return s=n+e.split("").join(n)+n,kr.copySafeness(e,s);var a=e.indexOf(t);if(0===r||-1===a)return e;for(var o=0,c=0;a>-1&&(-1===r||c=i&&h.push(n),s.push(h)}return s},t.sum=function(e,t,n){return void 0===n&&(n=0),t&&(e=je.map(e,(function(e){return e[t]}))),n+e.reduce((function(e,t){return e+t}),0)},t.sort=kr.makeMacro(["value","reverse","case_sensitive","attribute"],[],(function(e,t,n,r){var i=this,s=je.map(e,(function(e){return e})),a=je.getAttrGetter(r);return s.sort((function(e,s){var o=r?a(e):e,c=r?a(s):s;if(i.env.opts.throwOnUndefined&&r&&(void 0===o||void 0===c))throw new TypeError('sort: attribute "'+r+'" resolved to undefined');return!n&&je.isString(o)&&je.isString(c)&&(o=o.toLowerCase(),c=c.toLowerCase()),oc?t?-1:1:0})),s})),t.string=function(e){return kr.copySafeness(e,e)},t.striptags=function(e,t){var r=o((e=n(e,"")).replace(/<\/?([a-z][a-z0-9]*)\b[^>]*>|/gi,"")),i="";return i=t?r.replace(/^ +| +$/gm,"").replace(/ +/g," ").replace(/(\r\n)/g,"\n").replace(/\n\n\n+/g,"\n\n"):r.replace(/\s+/gi," "),kr.copySafeness(e,i)},t.title=function(e){var t=(e=n(e,"")).split(" ").map((function(e){return i(e)}));return kr.copySafeness(e,t.join(" "))},t.trim=o,t.truncate=function(e,t,r,i){var s=e;if(t=t||255,(e=n(e,"")).length<=t)return e;if(r)e=e.substring(0,t);else{var a=e.lastIndexOf(" ",t);-1===a&&(a=t),e=e.substring(0,a)}return e+=null!=i?i:"...",kr.copySafeness(s,e)},t.upper=function(e){return(e=n(e,"")).toUpperCase()},t.urlencode=function(e){var t=encodeURIComponent;return je.isString(e)?t(e):(je.isArray(e)?e:je._entries(e)).map((function(e){var n=e[0],r=e[1];return t(n)+"="+t(r)})).join("&")};var c=/^(?:\(|<|<)?(.*?)(?:\.|,|\)|\n|>)?$/,l=/^[\w.!#$%&'*+\-\/=?\^`{|}~]+@[a-z\d\-]+(\.[a-z\d\-]+)+$/i,h=/^https?:\/\/.*$/,u=/^www\./,p=/\.(?:org|net|com)(?:\:|\/|$)/;t.urlize=function(e,t,n){r(t)&&(t=1/0);var i=!0===n?' rel="nofollow"':"";return e.split(/(\s+)/).filter((function(e){return e&&e.length})).map((function(e){var n=e.match(c),r=n?n[1]:e,s=r.substr(0,t);return h.test(r)?'
"+s+"":u.test(r)?'"+s+"":l.test(r)?''+r+"":p.test(r)?'"+s+"":e})).join("")},t.wordcount=function(e){var t=(e=n(e,""))?e.match(/\w+/g):null;return t?t.length:null},t.float=function(e,t){var n=parseFloat(e);return r(n)?t:n};var f=kr.makeMacro(["value","default","base"],[],(function(e,t,n){void 0===n&&(n=10);var i=parseInt(e,n);return r(i)?t:i}));t.int=f,t.d=t.default,t.e=t.escape})),Br={};function Fr(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var Ur=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,Hr=function(e){return Ur.exec(e).slice(1)};function Gr(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=Fr(jr(e.split("/"),(function(e){return!!e})),!t).join("/"))||"."}function Yr(e){var t=qr(e),n="/"===Vr(e,-1);return(e=Fr(jr(e.split("/"),(function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function qr(e){return"/"===e.charAt(0)}var Kr={extname:function(e){return Hr(e)[3]},basename:function(e,t){var n=Hr(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},dirname:function(e){var t=Hr(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},sep:"/",delimiter:":",relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=Gr(e).substr(1),t=Gr(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o=t},t.greaterthan=function(e,t){return e>t},t.gt=t.greaterthan,t.le=function(e,t){return e<=t},t.lessthan=function(e,t){return e=e.length&&(t=0),this.current=e[t],this.current}}}ni.callable,ni.defined,ni.divisibleby,ni.escaped,ni.equalto,ni.eq,ni.sameas,ni.even,ni.falsy,ni.ge,ni.greaterthan,ni.gt,ni.le,ni.lessthan,ni.lt,ni.lower,ni.ne,ni.number,ni.odd,ni.string,ni.truthy,ni.undefined,ni.upper,ni.iterable,ni.mapping;var ii=function(){return{range:function(e,t,n){void 0===t?(t=e,e=0,n=1):n||(n=1);var r=[];if(n>0)for(var i=e;it;s+=n)r.push(s);return r},cycler:function(){return ri(Array.prototype.slice.call(arguments))},joiner:function(e){return function(e){e=e||",";var t=!0;return function(){var n=t?"":e;return t=!1,n}}(e)}}};function si(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ai(e,t)}function ai(e,t){return ai=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},ai(e,t)}var oi=ti.FileSystemLoader,ci=ti.WebLoader,li=ti.PrecompiledLoader,hi=en.Obj,ui=en.EmitterObj,pi=kr.handleError,fi=kr.Frame;function di(e,t,n){Gt((function(){e(t,n)}))}var Ei={type:"code",obj:{root:function(e,t,n,r,i){try{i(null,"")}catch(e){i(pi(e,null,null))}}}},mi=function(e){function t(){return e.apply(this,arguments)||this}si(t,e);var n=t.prototype;return n.init=function(e,t){var n=this;t=this.opts=t||{},this.opts.dev=!!t.dev,this.opts.autoescape=null==t.autoescape||t.autoescape,this.opts.throwOnUndefined=!!t.throwOnUndefined,this.opts.trimBlocks=!!t.trimBlocks,this.opts.lstripBlocks=!!t.lstripBlocks,this.loaders=[],e?this.loaders=je.isArray(e)?e:[e]:oi?this.loaders=[new oi("views")]:ci&&(this.loaders=[new ci("/views")]),"undefined"!=typeof window&&window.jinja2Precompiled&&this.loaders.unshift(new li(window.jinja2Precompiled)),this._initLoaders(),this.globals=ii(),this.filters={},this.tests={},this.asyncFilters=[],this.extensions={},this.extensionsList=[],je._entries(wr).forEach((function(e){var t=e[0],r=e[1];return n.addFilter(t,r)})),je._entries(ni).forEach((function(e){var t=e[0],r=e[1];return n.addTest(t,r)}))},n._initLoaders=function(){var e=this;this.loaders.forEach((function(t){t.cache={},"function"==typeof t.on&&(t.on("update",(function(n,r){t.cache[n]=null,e.emit("update",n,r,t)})),t.on("load",(function(n,r){e.emit("load",n,r,t)})))}))},n.invalidateCache=function(){this.loaders.forEach((function(e){e.cache={}}))},n.addExtension=function(e,t){return t.__name=e,this.extensions[e]=t,this.extensionsList.push(t),this},n.removeExtension=function(e){var t=this.getExtension(e);t&&(this.extensionsList=je.without(this.extensionsList,t),delete this.extensions[e])},n.getExtension=function(e){return this.extensions[e]},n.hasExtension=function(e){return!!this.extensions[e]},n.addGlobal=function(e,t){return this.globals[e]=t,this},n.getGlobal=function(e){if(void 0===this.globals[e])throw new Error("global not found: "+e);return this.globals[e]},n.addFilter=function(e,t,n){var r=t;return n&&this.asyncFilters.push(e),this.filters[e]=r,this},n.getFilter=function(e){if(!this.filters[e])throw new Error("filter not found: "+e);return this.filters[e]},n.addTest=function(e,t){return this.tests[e]=t,this},n.getTest=function(e){if(!this.tests[e])throw new Error("test not found: "+e);return this.tests[e]},n.resolveTemplate=function(e,t,n){return!(!e.isRelative||!t)&&e.isRelative(n)&&e.resolve?e.resolve(t,n):n},n.getTemplate=function(e,t,n,r,i){var s,a=this,o=this,c=null;if(e&&e.raw&&(e=e.raw),je.isFunction(n)&&(i=n,n=null,t=t||!1),je.isFunction(t)&&(i=t,t=!1),e instanceof _i)c=e;else{if("string"!=typeof e)throw new Error("template names must be a string: "+e);for(var l=0;le.length-3)return!1;var n=e.charCodeAt(t+1);return(n>=Pi.LowerA&&n<=Pi.LowerZ||n>=Pi.UpperA&&n<=Pi.UpperZ||n===Pi.Exclamation)&&e.includes(">",t+2)}!function(e){e[e.LowerA=97]="LowerA",e[e.LowerZ=122]="LowerZ",e[e.UpperA=65]="UpperA",e[e.UpperZ=90]="UpperZ",e[e.Exclamation=33]="Exclamation"}(Pi||(Pi={}));var Hi=Object.prototype.hasOwnProperty,Gi=/\s+/,Yi={null:null,true:!0,false:!1},qi=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,Ki=/^{[^]*}$|^\[[^]*]$/;function ji(e,t,n){var r;if(e&&I(e))return null!==(r=e.attribs)&&void 0!==r||(e.attribs={}),t?Hi.call(e.attribs,t)?!n&&qi.test(t)?t:e.attribs[t]:"option"===e.name&&"value"===t?Li(e.children):"input"!==e.name||"radio"!==e.attribs.type&&"checkbox"!==e.attribs.type||"value"!==t?void 0:"on":e.attribs}function Vi(e,t,n){null===n?zi(e,t):e.attribs[t]="".concat(n)}function Wi(e,t,n){return t in e?e[t]:!n&&qi.test(t)?void 0!==ji(e,t,!1):ji(e,t,n)}function Qi(e,t,n,r){t in e?e[t]=n:Vi(e,t,!r&&qi.test(t)?n?"":null:"".concat(n))}function Xi(e,t,n){var r,i=e;null!==(r=i.data)&&void 0!==r||(i.data={}),"object"==typeof t?Object.assign(i.data,t):"string"==typeof t&&void 0!==n&&(i.data[t]=n)}function $i(e,t){var n,r,i,s;null==t?r=(n=Object.keys(e.attribs).filter((function(e){return e.startsWith("data-")}))).map((function(e){return e.slice("data-".length).replace(/[_.-](\w|$)/g,(function(e,t){return t.toUpperCase()}))})):(n=["data-"+(s=t,s.replace(/[A-Z]/g,"-$&").toLowerCase())],r=[t]);for(var a=0;a1?this:ji(this[0],e,this.options.xmlMode)},prop:function(e,t){var n,r=this;if("string"==typeof e&&void 0===t){var i=this[0];if(!i||!I(i))return;switch(e){case"style":var s=this.css(),a=Object.keys(s);return a.forEach((function(e,t){s[t]=e})),s.length=a.length,s;case"tagName":case"nodeName":return i.name.toUpperCase();case"href":case"src":var o=null===(n=i.attribs)||void 0===n?void 0:n[e];return"undefined"==typeof URL||("href"!==e||"a"!==i.tagName&&"link"!==i.name)&&("src"!==e||"img"!==i.tagName&&"iframe"!==i.tagName&&"audio"!==i.tagName&&"video"!==i.tagName&&"source"!==i.tagName)||void 0===o||!this.options.baseURI?o:new URL(o,this.options.baseURI).href;case"innerText":return J(i);case"textContent":return z(i);case"outerHTML":return this.clone().wrap("").parent().html();case"innerHTML":return this.html();default:return Wi(i,e,this.options.xmlMode)}}if("object"==typeof e||void 0!==t){if("function"==typeof t){if("object"==typeof e)throw new Error("Bad combination of arguments.");return Bi(this,(function(n,i){I(n)&&Qi(n,e,t.call(n,i,Wi(n,e,r.options.xmlMode)),r.options.xmlMode)}))}return Bi(this,(function(n){I(n)&&("object"==typeof e?Object.keys(e).forEach((function(t){var i=e[t];Qi(n,t,i,r.options.xmlMode)})):Qi(n,e,t,r.options.xmlMode))}))}},data:function(e,t){var n,r=this[0];if(r&&I(r)){var i=r;return null!==(n=i.data)&&void 0!==n||(i.data={}),e?"object"==typeof e||void 0!==t?(Bi(this,(function(n){I(n)&&("object"==typeof e?Xi(n,e):Xi(n,e,t))})),this):Hi.call(i.data,e)?i.data[e]:$i(i,e):$i(i)}},val:function(e){var t=0===arguments.length,n=this[0];if(!n||!I(n))return t?void 0:this;switch(n.name){case"textarea":return this.text(e);case"select":var r=this.find("option:selected");if(!t){if(null==this.attr("multiple")&&"object"==typeof e)return this;this.find("option").removeAttr("selected");for(var i="object"!=typeof e?[e]:e,s=0;s-1;){var i=r+e.length;if((0===r||Gi.test(n[r-1]))&&(i===n.length||Gi.test(n[i])))return!0}return!1}))},addClass:function e(t){if("function"==typeof t)return Bi(this,(function(n,r){if(I(n)){var i=n.attribs.class||"";e.call([n],t.call(n,r,i))}}));if(!t||"string"!=typeof t)return this;for(var n=t.split(Gi),r=this.length,i=0;i=0&&(t.splice(o,1),s=!0,a--)}s&&(e.attribs.class=t.join(" "))}}))},toggleClass:function e(t,n){if("function"==typeof t)return Bi(this,(function(r,i){I(r)&&e.call([r],t.call(r,i,r.attribs.class||"",n),n)}));if(!t||"string"!=typeof t)return this;for(var r=t.split(Gi),i=r.length,s="boolean"==typeof n?n?1:-1:0,a=this.length,o=0;o=0&&u<0?l.push(r[h]):s<=0&&u>=0&&l.splice(u,1)}c.attribs.class=l.join(" ")}}return this}});!function(e){e.Attribute="attribute",e.Pseudo="pseudo",e.PseudoElement="pseudo-element",e.Tag="tag",e.Universal="universal",e.Adjacent="adjacent",e.Child="child",e.Descendant="descendant",e.Parent="parent",e.Sibling="sibling",e.ColumnCombinator="column-combinator"}(Zi||(Zi={})),function(e){e.Any="any",e.Element="element",e.End="end",e.Equals="equals",e.Exists="exists",e.Hyphen="hyphen",e.Not="not",e.Start="start"}(es||(es={}));const ns=/^[^\\#]?(?:\\(?:[\da-f]{1,6}\s?|.)|[\w\-\u00b0-\uFFFF])+/,rs=/\\([\da-f]{1,6}\s?|(\s)|.)/gi,is=new Map([[126,es.Element],[94,es.Start],[36,es.End],[42,es.Any],[33,es.Not],[124,es.Hyphen]]),ss=new Set(["has","not","matches","is","where","host","host-context"]);function as(e){switch(e.type){case Zi.Adjacent:case Zi.Child:case Zi.Descendant:case Zi.Parent:case Zi.Sibling:case Zi.ColumnCombinator:return!0;default:return!1}}const os=new Set(["contains","icontains"]);function cs(e,t,n){const r=parseInt(t,16)-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)}function ls(e){return e.replace(rs,cs)}function hs(e){return 39===e||34===e}function us(e){return 32===e||9===e||10===e||12===e||13===e}function ps(e){const t=[],n=fs(t,`${e}`,0);if(n0&&n0&&as(r[r.length-1]))throw new Error("Did not expect successive traversals.")}function l(e){r.length>0&&r[r.length-1].type===Zi.Descendant?r[r.length-1].type=e:(c(),r.push({type:e}))}function h(e,t){r.push({type:Zi.Attribute,name:e,action:t,value:i(1),namespace:null,ignoreCase:"quirks"})}function u(){if(r.length&&r[r.length-1].type===Zi.Descendant&&r.pop(),0===r.length)throw new Error("Empty sub-selector");e.push(r)}if(s(0),t.length===n)return n;e:for(;n=0&&r>=1)):e.type===Zi.Pseudo&&(e.data?"has"===e.name||"contains"===e.name?r=0:Array.isArray(e.data)?(r=Math.min(...e.data.map((e=>Math.min(...e.map(gs))))),r<0&&(r=0)):r=2:r=3),r}const Ns=/[-[\]{}()*+?.,\\^$|#\s]/g;function Cs(e){return e.replace(Ns,"\\$&")}const Is=new Set(["accept","accept-charset","align","alink","axis","bgcolor","charset","checked","clear","codetype","color","compact","declare","defer","dir","direction","disabled","enctype","face","frame","hreflang","http-equiv","lang","language","link","media","method","multiple","nohref","noresize","noshade","nowrap","readonly","rel","rev","rules","scope","scrolling","selected","shape","target","text","type","valign","valuetype","vlink"]);function Ss(e,t){return"boolean"==typeof e.ignoreCase?e.ignoreCase:"quirks"===e.ignoreCase?!!t.quirksMode:!t.xmlMode&&Is.has(e.name)}const bs={equals(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;return Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return null!=n&&n.length===s.length&&n.toLowerCase()===s&&e(t)}):t=>r.getAttributeValue(t,i)===s&&e(t)},hyphen(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=s.length;return Ss(t,n)?(s=s.toLowerCase(),function(t){const n=r.getAttributeValue(t,i);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a).toLowerCase()===s&&e(t)}):function(t){const n=r.getAttributeValue(t,i);return null!=n&&(n.length===a||"-"===n.charAt(a))&&n.substr(0,a)===s&&e(t)}},element(e,t,n){const{adapter:r}=n,{name:i,value:s}=t;if(/\s/.test(s))return ds.falseFunc;const a=new RegExp(`(?:^|\\s)${Cs(s)}(?:$|\\s)`,Ss(t,n)?"i":"");return function(t){const n=r.getAttributeValue(t,i);return null!=n&&n.length>=s.length&&a.test(n)&&e(t)}},exists:(e,{name:t},{adapter:n})=>r=>n.hasAttrib(r,t)&&e(r),start(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=s.length;return 0===a?ds.falseFunc:Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return null!=n&&n.length>=a&&n.substr(0,a).toLowerCase()===s&&e(t)}):t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.startsWith(s))&&e(t)}},end(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;const a=-s.length;return 0===a?ds.falseFunc:Ss(t,n)?(s=s.toLowerCase(),t=>{var n;return(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.substr(a).toLowerCase())===s&&e(t)}):t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.endsWith(s))&&e(t)}},any(e,t,n){const{adapter:r}=n,{name:i,value:s}=t;if(""===s)return ds.falseFunc;if(Ss(t,n)){const t=new RegExp(Cs(s),"i");return function(n){const a=r.getAttributeValue(n,i);return null!=a&&a.length>=s.length&&t.test(a)&&e(n)}}return t=>{var n;return!!(null===(n=r.getAttributeValue(t,i))||void 0===n?void 0:n.includes(s))&&e(t)}},not(e,t,n){const{adapter:r}=n,{name:i}=t;let{value:s}=t;return""===s?t=>!!r.getAttributeValue(t,i)&&e(t):Ss(t,n)?(s=s.toLowerCase(),t=>{const n=r.getAttributeValue(t,i);return(null==n||n.length!==s.length||n.toLowerCase()!==s)&&e(t)}):t=>r.getAttributeValue(t,i)!==s&&e(t)}};var Os=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.parse=void 0;var n=new Set([9,10,12,13,32]),r="0".charCodeAt(0),i="9".charCodeAt(0);t.parse=function(e){if("even"===(e=e.trim().toLowerCase()))return[2,0];if("odd"===e)return[2,1];var t=0,s=0,a=c(),o=l();if(t=r&&e.charCodeAt(t)<=i;)s=10*s+(e.charCodeAt(t)-r),t++;return t===n?null:s}function h(){for(;t=n};var r=Math.abs(t),i=(n%r+r)%r;return t>1?function(e){return e>=n&&e%r===i}:function(e){return e<=n&&e%r===i}}}));qe(ys),ys.compile;var Ls=Os,ks=ys,vs=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.compile=t.parse=void 0,Object.defineProperty(t,"parse",{enumerable:!0,get:function(){return Ls.parse}}),Object.defineProperty(t,"compile",{enumerable:!0,get:function(){return ks.compile}}),t.default=function(e){return(0,ks.compile)((0,Ls.parse)(e))}})),Ds=qe(vs);function Rs(e,t){return n=>{const r=t.getParent(n);return null!=r&&t.isTag(r)&&e(n)}}vs.compile,vs.parse;const Ms={contains:(e,t,{adapter:n})=>function(r){return e(r)&&n.getText(r).includes(t)},icontains(e,t,{adapter:n}){const r=t.toLowerCase();return function(t){return e(t)&&n.getText(t).toLowerCase().includes(r)}},"nth-child"(e,t,{adapter:n,equals:r}){const i=Ds(t);return i===ds.falseFunc?ds.falseFunc:i===ds.trueFunc?Rs(e,n):function(t){const s=n.getSiblings(t);let a=0;for(let e=0;e=0&&!r(t,s[e]);e--)n.isTag(s[e])&&a++;return i(a)&&e(t)}},"nth-of-type"(e,t,{adapter:n,equals:r}){const i=Ds(t);return i===ds.falseFunc?ds.falseFunc:i===ds.trueFunc?Rs(e,n):function(t){const s=n.getSiblings(t);let a=0;for(let e=0;e=0;e--){const i=s[e];if(r(t,i))break;n.isTag(i)&&n.getName(i)===n.getName(t)&&a++}return i(a)&&e(t)}},root:(e,t,{adapter:n})=>t=>{const r=n.getParent(t);return(null==r||!n.isTag(r))&&e(t)},scope(e,t,n,r){const{equals:i}=n;return r&&0!==r.length?1===r.length?t=>i(r[0],t)&&e(t):t=>r.includes(t)&&e(t):Ms.root(e,t,n)},hover:Ps("isHovered"),visited:Ps("isVisited"),active:Ps("isActive")};function Ps(e){return function(t,n,{adapter:r}){const i=r[e];return"function"!=typeof i?ds.falseFunc:function(e){return i(e)&&t(e)}}}const xs={empty:(e,{adapter:t})=>!t.getChildren(e).some((e=>t.isTag(e)||""!==t.getText(e))),"first-child"(e,{adapter:t,equals:n}){if(t.prevElementSibling)return null==t.prevElementSibling(e);const r=t.getSiblings(e).find((e=>t.isTag(e)));return null!=r&&n(e,r)},"last-child"(e,{adapter:t,equals:n}){const r=t.getSiblings(e);for(let i=r.length-1;i>=0;i--){if(n(e,r[i]))return!0;if(t.isTag(r[i]))break}return!1},"first-of-type"(e,{adapter:t,equals:n}){const r=t.getSiblings(e),i=t.getName(e);for(let s=0;s=0;s--){const a=r[s];if(n(e,a))return!0;if(t.isTag(a)&&t.getName(a)===i)break}return!1},"only-of-type"(e,{adapter:t,equals:n}){const r=t.getName(e);return t.getSiblings(e).every((i=>n(e,i)||!t.isTag(i)||t.getName(i)!==r))},"only-child":(e,{adapter:t,equals:n})=>t.getSiblings(e).every((r=>n(e,r)||!t.isTag(r)))};function ws(e,t,n,r){if(null===n){if(e.length>r)throw new Error(`Pseudo-class :${t} requires an argument`)}else if(e.length===r)throw new Error(`Pseudo-class :${t} doesn't have any arguments`)}const Bs={"any-link":":is(a, area, link)[href]",link:":any-link:not(:visited)",disabled:":is(\n :is(button, input, select, textarea, optgroup, option)[disabled],\n optgroup[disabled] > option,\n fieldset[disabled]:not(fieldset[disabled] legend:first-of-type *)\n )",enabled:":not(:disabled)",checked:":is(:is(input[type=radio], input[type=checkbox])[checked], option:selected)",required:":is(input, select, textarea)[required]",optional:":is(input, select, textarea):not([required])",selected:"option:is([selected], select:not([multiple]):not(:has(> option[selected])) > :first-of-type)",checkbox:"[type=checkbox]",file:"[type=file]",password:"[type=password]",radio:"[type=radio]",reset:"[type=reset]",image:"[type=image]",submit:"[type=submit]",parent:":not(:empty)",header:":is(h1, h2, h3, h4, h5, h6)",button:":is(button, input[type=button])",input:":is(input, textarea, select, button)",text:"input:is(:not([type!='']), [type=text])"},Fs={};function Us(e,t){const n=t.getSiblings(e);if(n.length<=1)return[];const r=n.indexOf(e);return r<0||r===n.length-1?[]:n.slice(r+1).filter(t.isTag)}function Hs(e){return{xmlMode:!!e.xmlMode,lowerCaseAttributeNames:!!e.lowerCaseAttributeNames,lowerCaseTags:!!e.lowerCaseTags,quirksMode:!!e.quirksMode,cacheResults:!!e.cacheResults,pseudos:e.pseudos,adapter:e.adapter,equals:e.equals}}const Gs=(e,t,n,r,i)=>{const s=i(t,Hs(n),r);return s===ds.trueFunc?e:s===ds.falseFunc?ds.falseFunc:t=>s(t)&&e(t)},Ys={is:Gs,matches:Gs,where:Gs,not(e,t,n,r,i){const s=i(t,Hs(n),r);return s===ds.falseFunc?e:s===ds.trueFunc?ds.falseFunc:t=>!s(t)&&e(t)},has(e,t,n,r,i){const{adapter:s}=n,a=Hs(n);a.relativeSelector=!0;const o=t.some((e=>e.some(Ts)))?[Fs]:void 0,c=i(t,a,o);if(c===ds.falseFunc)return ds.falseFunc;const l=function(e,t){return e===ds.falseFunc?ds.falseFunc:n=>t.isTag(n)&&e(n)}(c,s);if(o&&c!==ds.trueFunc){const{shouldTestNextSiblings:t=!1}=c;return n=>{if(!e(n))return!1;o[0]=n;const r=s.getChildren(n),i=t?[...r,...Us(n,s)]:r;return s.existsOne(l,i)}}return t=>e(t)&&s.existsOne(l,s.getChildren(t))}};function qs(e,t){const n=t.getParent(e);return n&&t.isTag(n)?n:null}function Ks(e,t,n,r,i){const{adapter:s,equals:a}=n;switch(t.type){case Zi.PseudoElement:throw new Error("Pseudo-elements are not supported by css-select");case Zi.ColumnCombinator:throw new Error("Column combinators are not yet supported by css-select");case Zi.Attribute:if(null!=t.namespace)throw new Error("Namespaced attributes are not yet supported by css-select");return n.xmlMode&&!n.lowerCaseAttributeNames||(t.name=t.name.toLowerCase()),bs[t.action](e,t,n);case Zi.Pseudo:return function(e,t,n,r,i){var s;const{name:a,data:o}=t;if(Array.isArray(o)){if(!(a in Ys))throw new Error(`Unknown pseudo-class :${a}(${o})`);return Ys[a](e,o,n,r,i)}const c=null===(s=n.pseudos)||void 0===s?void 0:s[a],l="string"==typeof c?c:Bs[a];if("string"==typeof l){if(null!=o)throw new Error(`Pseudo ${a} doesn't have any arguments`);const t=ps(l);return Ys.is(e,t,n,r,i)}if("function"==typeof c)return ws(c,a,o,1),t=>c(t,o)&&e(t);if(a in Ms)return Ms[a](e,o,n,r);if(a in xs){const t=xs[a];return ws(t,a,o,2),r=>t(r,n,o)&&e(r)}throw new Error(`Unknown pseudo-class :${a}`)}(e,t,n,r,i);case Zi.Tag:{if(null!=t.namespace)throw new Error("Namespaced tag names are not yet supported by css-select");let{name:r}=t;return n.xmlMode&&!n.lowerCaseTags||(r=r.toLowerCase()),function(t){return s.getName(t)===r&&e(t)}}case Zi.Descendant:{if(!1===n.cacheResults||"undefined"==typeof WeakSet)return function(t){let n=t;for(;n=qs(n,s);)if(e(n))return!0;return!1};const t=new WeakSet;return function(n){let r=n;for(;r=qs(r,s);)if(!t.has(r)){if(s.isTag(r)&&e(r))return!0;t.add(r)}return!1}}case"_flexibleDescendant":return function(t){let n=t;do{if(e(n))return!0}while(n=qs(n,s));return!1};case Zi.Parent:return function(t){return s.getChildren(t).some((t=>s.isTag(t)&&e(t)))};case Zi.Child:return function(t){const n=s.getParent(t);return null!=n&&s.isTag(n)&&e(n)};case Zi.Sibling:return function(t){const n=s.getSiblings(t);for(let r=0;re.some(js))))}const Vs={type:Zi.Descendant},Ws={type:"_flexibleDescendant"},Qs={type:Zi.Pseudo,name:"scope",data:null};function Xs(e,t,n){var r;e.forEach(As),n=null!==(r=t.context)&&void 0!==r?r:n;const i=Array.isArray(n),s=n&&(Array.isArray(n)?n:[n]);if(!1!==t.relativeSelector)!function(e,{adapter:t},n){const r=!!(null==n?void 0:n.every((e=>{const n=t.isTag(e)&&t.getParent(e);return e===Fs||n&&t.isTag(n)})));for(const t of e){if(t.length>0&&Ts(t[0])&&t[0].type!==Zi.Descendant);else{if(!r||t.some(js))continue;t.unshift(Vs)}t.unshift(Qs)}}(e,t,s);else if(e.some((e=>e.length>0&&Ts(e[0]))))throw new Error("Relative selectors are not allowed when the `relativeSelector` option is disabled");let a=!1;const o=e.map((e=>{if(e.length>=2){const[t,n]=e;t.type!==Zi.Pseudo||"scope"!==t.name||(i&&n.type===Zi.Descendant?e[1]=Ws:n.type!==Zi.Adjacent&&n.type!==Zi.Sibling||(a=!0))}return function(e,t,n){var r;return e.reduce(((e,r)=>e===ds.falseFunc?ds.falseFunc:Ks(e,r,t,n,Xs)),null!==(r=t.rootFunc)&&void 0!==r?r:ds.trueFunc)}(e,t,s)})).reduce($s,ds.falseFunc);return o.shouldTestNextSiblings=a,o}function $s(e,t){return t===ds.falseFunc||e===ds.trueFunc?e:e===ds.falseFunc||t===ds.trueFunc?t:function(n){return e(n)||t(n)}}const zs=(e,t)=>e===t,Js={adapter:Se,equals:zs};const Zs=(ea=Xs,function(e,t,n){const r=function(e){var t,n,r,i;const s=null!=e?e:Js;return null!==(t=s.adapter)&&void 0!==t||(s.adapter=Se),null!==(n=s.equals)&&void 0!==n||(s.equals=null!==(i=null===(r=s.adapter)||void 0===r?void 0:r.equals)&&void 0!==i?i:zs),s}(t);return ea(e,r,n)});var ea;function ta(e,t,n=!1){return n&&(e=function(e,t){const n=Array.isArray(e)?e.slice(0):[e],r=n.length;for(let e=0;ee.some(ra))))}function ia(e){const t=[],n=[];for(const r of e)r.some(ra)?t.push(r):n.push(r);return[n,t]}const sa={type:Zi.Universal,namespace:null},aa={type:Zi.Pseudo,name:"scope",data:null};function oa(e,t,n={}){return ca([e],t,n)}function ca(e,t,n={}){if("function"==typeof t)return e.some(t);const[r,i]=ia(ps(t));return r.length>0&&e.some(Zs(r,n))||i.some((t=>ua(t,e,n).length>0))}function la(e,t,n={}){return ha(ps(e),t,n)}function ha(e,t,n){if(0===t.length)return[];const[r,i]=ia(e);let s;if(r.length){const e=Ea(t,r,n);if(0===i.length)return e;e.length&&(s=new Set(e))}for(let e=0;eI(e)&&!s.has(e))):t;if(0===a.length)break;const o=ua(r,t,n);if(o.length)if(s)o.forEach((e=>s.add(e)));else{if(e===i.length-1)return o;s=new Set(o)}}return void 0!==s?s.size===t.length?t:t.filter((e=>s.has(e))):[]}function ua(e,t,n){var r;if(e.some(as)){const i=null!==(r=n.root)&&void 0!==r?r:function(e){for(;e.parent;)e=e.parent;return e}(t[0]),s={...n,context:t,relativeSelector:!1};return e.push(aa),pa(i,e,s,!0,t.length)}return pa(t,e,n,!1,t.length)}function pa(e,t,n,r,i){const s=t.findIndex(ra),a=t.slice(0,s),o=t[s],c=t.length-1===s?i:1/0,l=function(e,t,n){const r=null!=t?parseInt(t,10):NaN;switch(e){case"first":return 1;case"nth":case"eq":return isFinite(r)?r>=0?r+1:1/0:0;case"lt":return isFinite(r)?r>=0?Math.min(r,n):1/0:0;case"gt":return isFinite(r)?1/0:0;case"odd":return 2*n;case"even":return 2*n-1;case"last":case"not":return 1/0}}(o.name,o.data,c);if(0===l)return[];const h=(0!==a.length||Array.isArray(e)?0===a.length?(Array.isArray(e)?e:[e]).filter(I):r||a.some(as)?fa(e,[a],n,l):Ea(e,[a],n):Z(e).filter(I)).slice(0,l);let u=function(e,t,n,r){const i="string"==typeof n?parseInt(n,10):NaN;switch(e){case"first":case"lt":return t;case"last":return t.length>0?[t[t.length-1]]:t;case"nth":case"eq":return isFinite(i)&&Math.abs(i)t%2==0));case"odd":return t.filter(((e,t)=>t%2==1));case"not":{const e=new Set(ha(n,t,r));return t.filter((t=>!e.has(t)))}}}(o.name,h,o.data,n);if(0===u.length||t.length===s+1)return u;const p=t.slice(s+1),f=p.some(as);if(f){if(as(p[0])){const{type:e}=p[0];e!==Zi.Sibling&&e!==Zi.Adjacent||(u=ta(u,Se,!0)),p.unshift(sa)}n={...n,relativeSelector:!1,rootFunc:e=>u.includes(e)}}else n.rootFunc&&n.rootFunc!==Es&&(n={...n,rootFunc:Es});return p.some(ra)?pa(u,p,n,!1,i):f?fa(u,[p],n,i):Ea(u,[p],n)}function fa(e,t,n,r){return da(e,Zs(t,n,e),r)}function da(e,t,n=1/0){return ae((e=>I(e)&&t(e)),ta(e,Se,t.shouldTestNextSiblings),!0,n)}function Ea(e,t,n){const r=(Array.isArray(e)?e:[e]).filter(I);if(0===r.length)return r;const i=Zs(t,n);return i===Es?r:r.filter(i)}var ma=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i1&&s.length>1?n.reduce((function(e,t){return t(e)}),s):s)}}}var Aa=_a((function(e,t){for(var n,r=[],i=0;ipa(t,e,n,!0,r)));return i.length&&a.push(fa(t,i,n,r)),0===a.length?[]:1===a.length?a[0]:Ee(a.reduce(((e,t)=>[...e,...t])))}(e,i,s))},parent:Ia,parents:Sa,parentsUntil:ba,closest:function(e){var t,n=[];if(!e)return this._make(n);var r={xmlMode:this.options.xmlMode,root:null===(t=this._root)||void 0===t?void 0:t[0]},i="string"==typeof e?function(t){return oa(t,e,r)}:Pa(e);return Bi(this,(function(e){for(;e&&I(e);){if(i(e,0)){n.includes(e)||n.push(e);break}e=e.parent}})),this._make(n)},next:Oa,nextAll:ya,nextUntil:La,prev:ka,prevAll:va,prevUntil:Da,siblings:Ra,children:Ma,contents:function(){var e=this.toArray().reduce((function(e,t){return k(t)?e.concat(t.children):e}),[]);return this._make(e)},each:function(e){for(var t=0,n=this.length;t0})},first:function(){return this.length>1?this._make(this[0]):this},last:function(){return this.length>0?this._make(this[this.length-1]):this},eq:function(e){var t;return 0===(e=+e)&&this.length<=1?this:(e<0&&(e=this.length+e),this._make(null!==(t=this[e])&&void 0!==t?t:[]))},get:function(e){return null==e?this.toArray():this[e<0?this.length+e:e]},toArray:function(){return Array.prototype.slice.call(this)},index:function(e){var t,n;return null==e?(t=this.parent().children(),n=this[0]):"string"==typeof e?(t=this._make(e),n=this[0]):(t=this,n=wi(e)?e[0]:e),Array.prototype.indexOf.call(t,n)},slice:function(e,t){return this._make(Array.prototype.slice.call(this,e,t))},end:function(){var e;return null!==(e=this.prevObject)&&void 0!==e?e:this._make([])},add:function(e,t){var n=this._make(e,t),r=Ee(ma(ma([],this.get(),!0),n.get(),!0));return this._make(r)},addBack:function(e){return this.prevObject?this.add(e?this.prevObject.filter(e):this.prevObject):this}});function Ba(e,t){var n=Array.isArray(e)?e:[e];t?t.children=n:t=null;for(var r=0;r=e.length?null:e[t+n],h=0;h-1&&(p.children.splice(f,1),i===p&&t>f&&o[0]--)}u.parent=i,u.prev&&(u.prev.next=null!==(s=u.next)&&void 0!==s?s:null),u.next&&(u.next.prev=null!==(a=u.prev)&&void 0!==a?a:null),u.prev=0===h?c:r[h-1],u.next=h===r.length-1?l:r[h+1]}return c&&(c.next=r[0]),l&&(l.prev=r[r.length-1]),e.splice.apply(e,o)}var Ga=Ua((function(e,t,n){Ha(t,t.length,0,e,n)})),Ya=Ua((function(e,t,n){Ha(t,0,0,e,n)}));function qa(e){return function(t){for(var n=this.length-1,r=this.parents().last(),i=0;i0&&void 0!==t&&(n[t]+=";".concat(o))}else n[t=s.slice(0,a).trim()]=s.slice(a+1).trim()}return n}(e.attribs.style);if("string"==typeof t)return n[t];if(Array.isArray(t)){var r={};return t.forEach((function(e){null!=n[e]&&(r[e]=n[e])})),r}return n}}var Xa=Object.freeze({__proto__:null,css:function(e,t){return null!=e&&null!=t||"object"==typeof e&&!Array.isArray(e)?Bi(this,(function(n,r){I(n)&&Wa(n,e,t,r)})):0!==this.length?Qa(this[0],e):void 0}}),$a=/%20/g,za=/\r?\n/g;var Ja=Object.freeze({__proto__:null,serialize:function(){var e=this.serializeArray().map((function(e){return"".concat(encodeURIComponent(e.name),"=").concat(encodeURIComponent(e.value))}));return e.join("&").replace($a,"+")},serializeArray:function(){var e=this;return this.map((function(t,n){var r=e._make(n);return I(n)&&"form"===n.name?r.find("input,select,textarea,keygen").toArray():r.filter("input,select,textarea,keygen").toArray()})).filter('[name!=""]:enabled:not(:submit, :button, :image, :reset, :file):matches([checked], :not(:checkbox, :radio))').map((function(t,n){var r,i=e._make(n),s=i.attr("name"),a=null!==(r=i.val())&&void 0!==r?r:"";return Array.isArray(a)?a.map((function(e){return{name:s,value:e.replace(za,"\r\n")}})):{name:s,value:a.replace(za,"\r\n")}})).toArray()}}),Za=function(e,t,n){if(this.length=0,this.options=n,this._root=t,e){for(var r=0;r=55296&&e<=57343}function po(e){return 32!==e&&10!==e&&13!==e&&9!==e&&12!==e&&e>=1&&e<=31||e>=127&&e<=159}function fo(e){return e>=64976&&e<=65007||ro.has(e)}var Eo;!function(e){e.controlCharacterInInputStream="control-character-in-input-stream",e.noncharacterInInputStream="noncharacter-in-input-stream",e.surrogateInInputStream="surrogate-in-input-stream",e.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",e.endTagWithAttributes="end-tag-with-attributes",e.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",e.unexpectedSolidusInTag="unexpected-solidus-in-tag",e.unexpectedNullCharacter="unexpected-null-character",e.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",e.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",e.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",e.missingEndTagName="missing-end-tag-name",e.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",e.unknownNamedCharacterReference="unknown-named-character-reference",e.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",e.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",e.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",e.eofBeforeTagName="eof-before-tag-name",e.eofInTag="eof-in-tag",e.missingAttributeValue="missing-attribute-value",e.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",e.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",e.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",e.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",e.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",e.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",e.missingDoctypePublicIdentifier="missing-doctype-public-identifier",e.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",e.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",e.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",e.cdataInHtmlContent="cdata-in-html-content",e.incorrectlyOpenedComment="incorrectly-opened-comment",e.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",e.eofInDoctype="eof-in-doctype",e.nestedComment="nested-comment",e.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",e.eofInComment="eof-in-comment",e.incorrectlyClosedComment="incorrectly-closed-comment",e.eofInCdata="eof-in-cdata",e.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",e.nullCharacterReference="null-character-reference",e.surrogateCharacterReference="surrogate-character-reference",e.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",e.controlCharacterReference="control-character-reference",e.noncharacterCharacterReference="noncharacter-character-reference",e.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",e.missingDoctypeName="missing-doctype-name",e.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",e.duplicateAttribute="duplicate-attribute",e.nonConformingDoctype="non-conforming-doctype",e.missingDoctype="missing-doctype",e.misplacedDoctype="misplaced-doctype",e.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",e.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",e.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",e.openElementsLeftAfterEof="open-elements-left-after-eof",e.abandonedHeadElementChild="abandoned-head-element-child",e.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",e.nestedNoscriptInHead="nested-noscript-in-head",e.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(Eo=Eo||(Eo={}));class mo{constructor(e){this.handler=e,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(e){const{line:t,col:n,offset:r}=this;return{code:e,startLine:t,endLine:t,startCol:n,endCol:n,startOffset:r,endOffset:r}}_err(e){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(e)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(e){if(this.pos!==this.html.length-1){const t=this.html.charCodeAt(this.pos+1);if(function(e){return e>=56320&&e<=57343}(t))return this.pos++,this._addGap(),1024*(e-55296)+9216+t}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,io.EOF;return this._err(Eo.surrogateInInputStream),e}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(e,t){this.html.length>0?this.html+=e:this.html=e,this.endOfChunkHit=!1,this.lastChunkWritten=t}insertHtmlAtCurrentPos(e){this.html=this.html.substring(0,this.pos+1)+e+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(e,t){if(this.pos+e.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(t)return this.html.startsWith(e,this.pos);for(let t=0;t=this.html.length?(this.endOfChunkHit=!this.lastChunkWritten,io.EOF):this.html.charCodeAt(t)}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,io.EOF;let e=this.html.charCodeAt(this.pos);if(e===io.CARRIAGE_RETURN)return this.isEol=!0,this.skipNextNewLine=!0,io.LINE_FEED;if(e===io.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine))return this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance();this.skipNextNewLine=!1,uo(e)&&(e=this._processSurrogate(e));return null===this.handler.onParseError||e>31&&e<127||e===io.LINE_FEED||e===io.CARRIAGE_RETURN||e>159&&e<64976||this._checkForProblematicCharacters(e),e}_checkForProblematicCharacters(e){po(e)?this._err(Eo.controlCharacterInInputStream):fo(e)&&this._err(Eo.noncharacterInInputStream)}retreat(e){for(this.pos-=e;this.pos=0;n--)if(e.attrs[n].name===t)return e.attrs[n].value;return null}!function(e){e[e.CHARACTER=0]="CHARACTER",e[e.NULL_CHARACTER=1]="NULL_CHARACTER",e[e.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",e[e.START_TAG=3]="START_TAG",e[e.END_TAG=4]="END_TAG",e[e.COMMENT=5]="COMMENT",e[e.DOCTYPE=6]="DOCTYPE",e[e.EOF=7]="EOF",e[e.HIBERNATION=8]="HIBERNATION"}(To=To||(To={}));var Ao=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((function(e){return e.charCodeAt(0)})))}));qe(Ao);var go=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.default=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((function(e){return e.charCodeAt(0)})))}));qe(go);var No=Ke((function(e,t){var n;Object.defineProperty(t,"__esModule",{value:!0}),t.replaceCodePoint=t.fromCodePoint=void 0;var r=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function i(e){var t;return e>=55296&&e<=57343||e>1114111?65533:null!==(t=r.get(e))&&void 0!==t?t:e}t.fromCodePoint=null!==(n=String.fromCodePoint)&&void 0!==n?n:function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|1023&e),t+=String.fromCharCode(e)},t.replaceCodePoint=i,t.default=function(e){return(0,t.fromCodePoint)(i(e))}}));qe(No),No.replaceCodePoint,No.fromCodePoint;var Co=Ao,Io=go,So=No,bo=Ke((function(e,t){var n=Ge&&Ge.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.decodeXML=t.decodeHTMLStrict=t.decodeHTML=t.determineBranch=t.BinTrieFlags=t.fromCodePoint=t.replaceCodePoint=t.decodeCodePoint=t.xmlDecodeTree=t.htmlDecodeTree=void 0;var r=n(Co);t.htmlDecodeTree=r.default;var i=n(Io);t.xmlDecodeTree=i.default;var s=n(So);t.decodeCodePoint=s.default;var a,o,c=So;function l(e){return function(t,n){for(var r="",i=0,c=0;(c=t.indexOf("&",c))>=0;)if(r+=t.slice(i,c),i=c,c+=1,t.charCodeAt(c)!==a.NUM){for(var l=0,u=1,p=0,f=e[p];c>14)-1))break;p+=E}}if(0!==l)r+=1===(E=(e[l]&o.VALUE_LENGTH)>>14)?String.fromCharCode(e[l]&~o.VALUE_LENGTH):2===E?String.fromCharCode(e[l+1]):String.fromCharCode(e[l+1],e[l+2]),i=c-u+1}else{var m=c+1,T=10,_=t.charCodeAt(m);(_|a.To_LOWER_BIT)===a.LOWER_X&&(T=16,c+=1,m+=1);do{_=t.charCodeAt(++c)}while(_>=a.ZERO&&_<=a.NINE||16===T&&(_|a.To_LOWER_BIT)>=a.LOWER_A&&(_|a.To_LOWER_BIT)<=a.LOWER_F);if(m!==c){var A=t.substring(m,c),g=parseInt(A,T);if(t.charCodeAt(c)===a.SEMI)c+=1;else if(n)continue;r+=(0,s.default)(g),i=c}}return r+t.slice(i)}}function h(e,t,n,r){var i=(t&o.BRANCH_LENGTH)>>7,s=t&o.JUMP_TABLE;if(0===i)return 0!==s&&r===s?n:-1;if(s){var a=r-s;return a<0||a>=i?-1:e[n+a]-1}for(var c=n,l=c+i-1;c<=l;){var h=c+l>>>1,u=e[h];if(ur))return e[h+i];l=h-1}}return-1}Object.defineProperty(t,"replaceCodePoint",{enumerable:!0,get:function(){return c.replaceCodePoint}}),Object.defineProperty(t,"fromCodePoint",{enumerable:!0,get:function(){return c.fromCodePoint}}),function(e){e[e.NUM=35]="NUM",e[e.SEMI=59]="SEMI",e[e.ZERO=48]="ZERO",e[e.NINE=57]="NINE",e[e.LOWER_A=97]="LOWER_A",e[e.LOWER_F=102]="LOWER_F",e[e.LOWER_X=120]="LOWER_X",e[e.To_LOWER_BIT=32]="To_LOWER_BIT"}(a||(a={})),function(e){e[e.VALUE_LENGTH=49152]="VALUE_LENGTH",e[e.BRANCH_LENGTH=16256]="BRANCH_LENGTH",e[e.JUMP_TABLE=127]="JUMP_TABLE"}(o=t.BinTrieFlags||(t.BinTrieFlags={})),t.determineBranch=h;var u=l(r.default),p=l(i.default);t.decodeHTML=function(e){return u(e,!1)},t.decodeHTMLStrict=function(e){return u(e,!0)},t.decodeXML=function(e){return p(e,!0)}}));qe(bo),bo.decodeXML,bo.decodeHTMLStrict,bo.decodeHTML;var Oo=bo.determineBranch,yo=bo.BinTrieFlags,Lo=bo.fromCodePoint,ko=bo.replaceCodePoint;bo.decodeCodePoint;var vo,Do,Ro,Mo,Po,xo=bo.xmlDecodeTree,wo=bo.htmlDecodeTree;!function(e){e.HTML="http://www.w3.org/1999/xhtml",e.MATHML="http://www.w3.org/1998/Math/MathML",e.SVG="http://www.w3.org/2000/svg",e.XLINK="http://www.w3.org/1999/xlink",e.XML="http://www.w3.org/XML/1998/namespace",e.XMLNS="http://www.w3.org/2000/xmlns/"}(vo=vo||(vo={})),function(e){e.TYPE="type",e.ACTION="action",e.ENCODING="encoding",e.PROMPT="prompt",e.NAME="name",e.COLOR="color",e.FACE="face",e.SIZE="size"}(Do=Do||(Do={})),function(e){e.NO_QUIRKS="no-quirks",e.QUIRKS="quirks",e.LIMITED_QUIRKS="limited-quirks"}(Ro=Ro||(Ro={})),function(e){e.A="a",e.ADDRESS="address",e.ANNOTATION_XML="annotation-xml",e.APPLET="applet",e.AREA="area",e.ARTICLE="article",e.ASIDE="aside",e.B="b",e.BASE="base",e.BASEFONT="basefont",e.BGSOUND="bgsound",e.BIG="big",e.BLOCKQUOTE="blockquote",e.BODY="body",e.BR="br",e.BUTTON="button",e.CAPTION="caption",e.CENTER="center",e.CODE="code",e.COL="col",e.COLGROUP="colgroup",e.DD="dd",e.DESC="desc",e.DETAILS="details",e.DIALOG="dialog",e.DIR="dir",e.DIV="div",e.DL="dl",e.DT="dt",e.EM="em",e.EMBED="embed",e.FIELDSET="fieldset",e.FIGCAPTION="figcaption",e.FIGURE="figure",e.FONT="font",e.FOOTER="footer",e.FOREIGN_OBJECT="foreignObject",e.FORM="form",e.FRAME="frame",e.FRAMESET="frameset",e.H1="h1",e.H2="h2",e.H3="h3",e.H4="h4",e.H5="h5",e.H6="h6",e.HEAD="head",e.HEADER="header",e.HGROUP="hgroup",e.HR="hr",e.HTML="html",e.I="i",e.IMG="img",e.IMAGE="image",e.INPUT="input",e.IFRAME="iframe",e.KEYGEN="keygen",e.LABEL="label",e.LI="li",e.LINK="link",e.LISTING="listing",e.MAIN="main",e.MALIGNMARK="malignmark",e.MARQUEE="marquee",e.MATH="math",e.MENU="menu",e.META="meta",e.MGLYPH="mglyph",e.MI="mi",e.MO="mo",e.MN="mn",e.MS="ms",e.MTEXT="mtext",e.NAV="nav",e.NOBR="nobr",e.NOFRAMES="noframes",e.NOEMBED="noembed",e.NOSCRIPT="noscript",e.OBJECT="object",e.OL="ol",e.OPTGROUP="optgroup",e.OPTION="option",e.P="p",e.PARAM="param",e.PLAINTEXT="plaintext",e.PRE="pre",e.RB="rb",e.RP="rp",e.RT="rt",e.RTC="rtc",e.RUBY="ruby",e.S="s",e.SCRIPT="script",e.SECTION="section",e.SELECT="select",e.SOURCE="source",e.SMALL="small",e.SPAN="span",e.STRIKE="strike",e.STRONG="strong",e.STYLE="style",e.SUB="sub",e.SUMMARY="summary",e.SUP="sup",e.TABLE="table",e.TBODY="tbody",e.TEMPLATE="template",e.TEXTAREA="textarea",e.TFOOT="tfoot",e.TD="td",e.TH="th",e.THEAD="thead",e.TITLE="title",e.TR="tr",e.TRACK="track",e.TT="tt",e.U="u",e.UL="ul",e.SVG="svg",e.VAR="var",e.WBR="wbr",e.XMP="xmp"}(Mo=Mo||(Mo={})),function(e){e[e.UNKNOWN=0]="UNKNOWN",e[e.A=1]="A",e[e.ADDRESS=2]="ADDRESS",e[e.ANNOTATION_XML=3]="ANNOTATION_XML",e[e.APPLET=4]="APPLET",e[e.AREA=5]="AREA",e[e.ARTICLE=6]="ARTICLE",e[e.ASIDE=7]="ASIDE",e[e.B=8]="B",e[e.BASE=9]="BASE",e[e.BASEFONT=10]="BASEFONT",e[e.BGSOUND=11]="BGSOUND",e[e.BIG=12]="BIG",e[e.BLOCKQUOTE=13]="BLOCKQUOTE",e[e.BODY=14]="BODY",e[e.BR=15]="BR",e[e.BUTTON=16]="BUTTON",e[e.CAPTION=17]="CAPTION",e[e.CENTER=18]="CENTER",e[e.CODE=19]="CODE",e[e.COL=20]="COL",e[e.COLGROUP=21]="COLGROUP",e[e.DD=22]="DD",e[e.DESC=23]="DESC",e[e.DETAILS=24]="DETAILS",e[e.DIALOG=25]="DIALOG",e[e.DIR=26]="DIR",e[e.DIV=27]="DIV",e[e.DL=28]="DL",e[e.DT=29]="DT",e[e.EM=30]="EM",e[e.EMBED=31]="EMBED",e[e.FIELDSET=32]="FIELDSET",e[e.FIGCAPTION=33]="FIGCAPTION",e[e.FIGURE=34]="FIGURE",e[e.FONT=35]="FONT",e[e.FOOTER=36]="FOOTER",e[e.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",e[e.FORM=38]="FORM",e[e.FRAME=39]="FRAME",e[e.FRAMESET=40]="FRAMESET",e[e.H1=41]="H1",e[e.H2=42]="H2",e[e.H3=43]="H3",e[e.H4=44]="H4",e[e.H5=45]="H5",e[e.H6=46]="H6",e[e.HEAD=47]="HEAD",e[e.HEADER=48]="HEADER",e[e.HGROUP=49]="HGROUP",e[e.HR=50]="HR",e[e.HTML=51]="HTML",e[e.I=52]="I",e[e.IMG=53]="IMG",e[e.IMAGE=54]="IMAGE",e[e.INPUT=55]="INPUT",e[e.IFRAME=56]="IFRAME",e[e.KEYGEN=57]="KEYGEN",e[e.LABEL=58]="LABEL",e[e.LI=59]="LI",e[e.LINK=60]="LINK",e[e.LISTING=61]="LISTING",e[e.MAIN=62]="MAIN",e[e.MALIGNMARK=63]="MALIGNMARK",e[e.MARQUEE=64]="MARQUEE",e[e.MATH=65]="MATH",e[e.MENU=66]="MENU",e[e.META=67]="META",e[e.MGLYPH=68]="MGLYPH",e[e.MI=69]="MI",e[e.MO=70]="MO",e[e.MN=71]="MN",e[e.MS=72]="MS",e[e.MTEXT=73]="MTEXT",e[e.NAV=74]="NAV",e[e.NOBR=75]="NOBR",e[e.NOFRAMES=76]="NOFRAMES",e[e.NOEMBED=77]="NOEMBED",e[e.NOSCRIPT=78]="NOSCRIPT",e[e.OBJECT=79]="OBJECT",e[e.OL=80]="OL",e[e.OPTGROUP=81]="OPTGROUP",e[e.OPTION=82]="OPTION",e[e.P=83]="P",e[e.PARAM=84]="PARAM",e[e.PLAINTEXT=85]="PLAINTEXT",e[e.PRE=86]="PRE",e[e.RB=87]="RB",e[e.RP=88]="RP",e[e.RT=89]="RT",e[e.RTC=90]="RTC",e[e.RUBY=91]="RUBY",e[e.S=92]="S",e[e.SCRIPT=93]="SCRIPT",e[e.SECTION=94]="SECTION",e[e.SELECT=95]="SELECT",e[e.SOURCE=96]="SOURCE",e[e.SMALL=97]="SMALL",e[e.SPAN=98]="SPAN",e[e.STRIKE=99]="STRIKE",e[e.STRONG=100]="STRONG",e[e.STYLE=101]="STYLE",e[e.SUB=102]="SUB",e[e.SUMMARY=103]="SUMMARY",e[e.SUP=104]="SUP",e[e.TABLE=105]="TABLE",e[e.TBODY=106]="TBODY",e[e.TEMPLATE=107]="TEMPLATE",e[e.TEXTAREA=108]="TEXTAREA",e[e.TFOOT=109]="TFOOT",e[e.TD=110]="TD",e[e.TH=111]="TH",e[e.THEAD=112]="THEAD",e[e.TITLE=113]="TITLE",e[e.TR=114]="TR",e[e.TRACK=115]="TRACK",e[e.TT=116]="TT",e[e.U=117]="U",e[e.UL=118]="UL",e[e.SVG=119]="SVG",e[e.VAR=120]="VAR",e[e.WBR=121]="WBR",e[e.XMP=122]="XMP"}(Po=Po||(Po={}));const Bo=new Map([[Mo.A,Po.A],[Mo.ADDRESS,Po.ADDRESS],[Mo.ANNOTATION_XML,Po.ANNOTATION_XML],[Mo.APPLET,Po.APPLET],[Mo.AREA,Po.AREA],[Mo.ARTICLE,Po.ARTICLE],[Mo.ASIDE,Po.ASIDE],[Mo.B,Po.B],[Mo.BASE,Po.BASE],[Mo.BASEFONT,Po.BASEFONT],[Mo.BGSOUND,Po.BGSOUND],[Mo.BIG,Po.BIG],[Mo.BLOCKQUOTE,Po.BLOCKQUOTE],[Mo.BODY,Po.BODY],[Mo.BR,Po.BR],[Mo.BUTTON,Po.BUTTON],[Mo.CAPTION,Po.CAPTION],[Mo.CENTER,Po.CENTER],[Mo.CODE,Po.CODE],[Mo.COL,Po.COL],[Mo.COLGROUP,Po.COLGROUP],[Mo.DD,Po.DD],[Mo.DESC,Po.DESC],[Mo.DETAILS,Po.DETAILS],[Mo.DIALOG,Po.DIALOG],[Mo.DIR,Po.DIR],[Mo.DIV,Po.DIV],[Mo.DL,Po.DL],[Mo.DT,Po.DT],[Mo.EM,Po.EM],[Mo.EMBED,Po.EMBED],[Mo.FIELDSET,Po.FIELDSET],[Mo.FIGCAPTION,Po.FIGCAPTION],[Mo.FIGURE,Po.FIGURE],[Mo.FONT,Po.FONT],[Mo.FOOTER,Po.FOOTER],[Mo.FOREIGN_OBJECT,Po.FOREIGN_OBJECT],[Mo.FORM,Po.FORM],[Mo.FRAME,Po.FRAME],[Mo.FRAMESET,Po.FRAMESET],[Mo.H1,Po.H1],[Mo.H2,Po.H2],[Mo.H3,Po.H3],[Mo.H4,Po.H4],[Mo.H5,Po.H5],[Mo.H6,Po.H6],[Mo.HEAD,Po.HEAD],[Mo.HEADER,Po.HEADER],[Mo.HGROUP,Po.HGROUP],[Mo.HR,Po.HR],[Mo.HTML,Po.HTML],[Mo.I,Po.I],[Mo.IMG,Po.IMG],[Mo.IMAGE,Po.IMAGE],[Mo.INPUT,Po.INPUT],[Mo.IFRAME,Po.IFRAME],[Mo.KEYGEN,Po.KEYGEN],[Mo.LABEL,Po.LABEL],[Mo.LI,Po.LI],[Mo.LINK,Po.LINK],[Mo.LISTING,Po.LISTING],[Mo.MAIN,Po.MAIN],[Mo.MALIGNMARK,Po.MALIGNMARK],[Mo.MARQUEE,Po.MARQUEE],[Mo.MATH,Po.MATH],[Mo.MENU,Po.MENU],[Mo.META,Po.META],[Mo.MGLYPH,Po.MGLYPH],[Mo.MI,Po.MI],[Mo.MO,Po.MO],[Mo.MN,Po.MN],[Mo.MS,Po.MS],[Mo.MTEXT,Po.MTEXT],[Mo.NAV,Po.NAV],[Mo.NOBR,Po.NOBR],[Mo.NOFRAMES,Po.NOFRAMES],[Mo.NOEMBED,Po.NOEMBED],[Mo.NOSCRIPT,Po.NOSCRIPT],[Mo.OBJECT,Po.OBJECT],[Mo.OL,Po.OL],[Mo.OPTGROUP,Po.OPTGROUP],[Mo.OPTION,Po.OPTION],[Mo.P,Po.P],[Mo.PARAM,Po.PARAM],[Mo.PLAINTEXT,Po.PLAINTEXT],[Mo.PRE,Po.PRE],[Mo.RB,Po.RB],[Mo.RP,Po.RP],[Mo.RT,Po.RT],[Mo.RTC,Po.RTC],[Mo.RUBY,Po.RUBY],[Mo.S,Po.S],[Mo.SCRIPT,Po.SCRIPT],[Mo.SECTION,Po.SECTION],[Mo.SELECT,Po.SELECT],[Mo.SOURCE,Po.SOURCE],[Mo.SMALL,Po.SMALL],[Mo.SPAN,Po.SPAN],[Mo.STRIKE,Po.STRIKE],[Mo.STRONG,Po.STRONG],[Mo.STYLE,Po.STYLE],[Mo.SUB,Po.SUB],[Mo.SUMMARY,Po.SUMMARY],[Mo.SUP,Po.SUP],[Mo.TABLE,Po.TABLE],[Mo.TBODY,Po.TBODY],[Mo.TEMPLATE,Po.TEMPLATE],[Mo.TEXTAREA,Po.TEXTAREA],[Mo.TFOOT,Po.TFOOT],[Mo.TD,Po.TD],[Mo.TH,Po.TH],[Mo.THEAD,Po.THEAD],[Mo.TITLE,Po.TITLE],[Mo.TR,Po.TR],[Mo.TRACK,Po.TRACK],[Mo.TT,Po.TT],[Mo.U,Po.U],[Mo.UL,Po.UL],[Mo.SVG,Po.SVG],[Mo.VAR,Po.VAR],[Mo.WBR,Po.WBR],[Mo.XMP,Po.XMP]]);function Fo(e){var t;return null!==(t=Bo.get(e))&&void 0!==t?t:Po.UNKNOWN}const Uo=Po,Ho={[vo.HTML]:new Set([Uo.ADDRESS,Uo.APPLET,Uo.AREA,Uo.ARTICLE,Uo.ASIDE,Uo.BASE,Uo.BASEFONT,Uo.BGSOUND,Uo.BLOCKQUOTE,Uo.BODY,Uo.BR,Uo.BUTTON,Uo.CAPTION,Uo.CENTER,Uo.COL,Uo.COLGROUP,Uo.DD,Uo.DETAILS,Uo.DIR,Uo.DIV,Uo.DL,Uo.DT,Uo.EMBED,Uo.FIELDSET,Uo.FIGCAPTION,Uo.FIGURE,Uo.FOOTER,Uo.FORM,Uo.FRAME,Uo.FRAMESET,Uo.H1,Uo.H2,Uo.H3,Uo.H4,Uo.H5,Uo.H6,Uo.HEAD,Uo.HEADER,Uo.HGROUP,Uo.HR,Uo.HTML,Uo.IFRAME,Uo.IMG,Uo.INPUT,Uo.LI,Uo.LINK,Uo.LISTING,Uo.MAIN,Uo.MARQUEE,Uo.MENU,Uo.META,Uo.NAV,Uo.NOEMBED,Uo.NOFRAMES,Uo.NOSCRIPT,Uo.OBJECT,Uo.OL,Uo.P,Uo.PARAM,Uo.PLAINTEXT,Uo.PRE,Uo.SCRIPT,Uo.SECTION,Uo.SELECT,Uo.SOURCE,Uo.STYLE,Uo.SUMMARY,Uo.TABLE,Uo.TBODY,Uo.TD,Uo.TEMPLATE,Uo.TEXTAREA,Uo.TFOOT,Uo.TH,Uo.THEAD,Uo.TITLE,Uo.TR,Uo.TRACK,Uo.UL,Uo.WBR,Uo.XMP]),[vo.MATHML]:new Set([Uo.MI,Uo.MO,Uo.MN,Uo.MS,Uo.MTEXT,Uo.ANNOTATION_XML]),[vo.SVG]:new Set([Uo.TITLE,Uo.FOREIGN_OBJECT,Uo.DESC]),[vo.XLINK]:new Set,[vo.XML]:new Set,[vo.XMLNS]:new Set};function Go(e){return e===Uo.H1||e===Uo.H2||e===Uo.H3||e===Uo.H4||e===Uo.H5||e===Uo.H6}const Yo=new Set([Mo.STYLE,Mo.SCRIPT,Mo.XMP,Mo.IFRAME,Mo.NOEMBED,Mo.NOFRAMES,Mo.PLAINTEXT]);const qo=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Ko;!function(e){e[e.DATA=0]="DATA",e[e.RCDATA=1]="RCDATA",e[e.RAWTEXT=2]="RAWTEXT",e[e.SCRIPT_DATA=3]="SCRIPT_DATA",e[e.PLAINTEXT=4]="PLAINTEXT",e[e.TAG_OPEN=5]="TAG_OPEN",e[e.END_TAG_OPEN=6]="END_TAG_OPEN",e[e.TAG_NAME=7]="TAG_NAME",e[e.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",e[e.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",e[e.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",e[e.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",e[e.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",e[e.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",e[e.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",e[e.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",e[e.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",e[e.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",e[e.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",e[e.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",e[e.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",e[e.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",e[e.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",e[e.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",e[e.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",e[e.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",e[e.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",e[e.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",e[e.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",e[e.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",e[e.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",e[e.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",e[e.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",e[e.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",e[e.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",e[e.BOGUS_COMMENT=40]="BOGUS_COMMENT",e[e.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",e[e.COMMENT_START=42]="COMMENT_START",e[e.COMMENT_START_DASH=43]="COMMENT_START_DASH",e[e.COMMENT=44]="COMMENT",e[e.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",e[e.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",e[e.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",e[e.COMMENT_END_DASH=49]="COMMENT_END_DASH",e[e.COMMENT_END=50]="COMMENT_END",e[e.COMMENT_END_BANG=51]="COMMENT_END_BANG",e[e.DOCTYPE=52]="DOCTYPE",e[e.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",e[e.DOCTYPE_NAME=54]="DOCTYPE_NAME",e[e.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",e[e.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",e[e.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",e[e.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",e[e.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",e[e.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",e[e.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",e[e.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",e[e.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",e[e.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",e[e.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",e[e.CDATA_SECTION=68]="CDATA_SECTION",e[e.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",e[e.CDATA_SECTION_END=70]="CDATA_SECTION_END",e[e.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",e[e.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",e[e.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",e[e.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",e[e.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",e[e.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",e[e.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",e[e.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(Ko||(Ko={}));const jo={DATA:Ko.DATA,RCDATA:Ko.RCDATA,RAWTEXT:Ko.RAWTEXT,SCRIPT_DATA:Ko.SCRIPT_DATA,PLAINTEXT:Ko.PLAINTEXT,CDATA_SECTION:Ko.CDATA_SECTION};function Vo(e){return e>=io.DIGIT_0&&e<=io.DIGIT_9}function Wo(e){return e>=io.LATIN_CAPITAL_A&&e<=io.LATIN_CAPITAL_Z}function Qo(e){return function(e){return e>=io.LATIN_SMALL_A&&e<=io.LATIN_SMALL_Z}(e)||Wo(e)}function Xo(e){return Qo(e)||Vo(e)}function $o(e){return e>=io.LATIN_CAPITAL_A&&e<=io.LATIN_CAPITAL_F}function zo(e){return e>=io.LATIN_SMALL_A&&e<=io.LATIN_SMALL_F}function Jo(e){return e+32}function Zo(e){return e===io.SPACE||e===io.LINE_FEED||e===io.TABULATION||e===io.FORM_FEED}function ec(e){return Zo(e)||e===io.SOLIDUS||e===io.GREATER_THAN_SIGN}class tc{constructor(e,t){this.options=e,this.handler=t,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Ko.DATA,this.returnState=Ko.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new mo(t),this.currentLocation=this.getCurrentLocation(-1)}_err(e){var t,n;null===(n=(t=this.handler).onParseError)||void 0===n||n.call(t,this.preprocessor.getError(e))}getCurrentLocation(e){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-e,startOffset:this.preprocessor.offset-e,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const e=this._consume();this._ensureHibernation()||this._callState(e)}this.inLoop=!1}}pause(){this.paused=!0}resume(e){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==e||e())}write(e,t,n){this.active=!0,this.preprocessor.write(e,t),this._runParsingLoop(),this.paused||null==n||n()}insertHtmlAtCurrentPos(e){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(e),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(e){this.consumedAfterSnapshot-=e,this.preprocessor.retreat(e)}_reconsumeInState(e,t){this.state=e,this._callState(t)}_advanceBy(e){this.consumedAfterSnapshot+=e;for(let t=0;t0&&this._err(Eo.endTagWithAttributes),e.selfClosing&&this._err(Eo.endTagWithTrailingSolidus),this.handler.onEndTag(e)),this.preprocessor.dropParsedChunk()}emitCurrentComment(e){this.prepareToken(e),this.handler.onComment(e),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(e){this.prepareToken(e),this.handler.onDoctype(e),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(e){if(this.currentCharacterToken){switch(e&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=e.startLine,this.currentCharacterToken.location.endCol=e.startCol,this.currentCharacterToken.location.endOffset=e.startOffset),this.currentCharacterToken.type){case To.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case To.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case To.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const e=this.getCurrentLocation(0);e&&(e.endLine=e.startLine,e.endCol=e.startCol,e.endOffset=e.startOffset),this._emitCurrentCharacterToken(e),this.handler.onEof({type:To.EOF,location:e}),this.active=!1}_appendCharToCurrentCharacterToken(e,t){if(this.currentCharacterToken){if(this.currentCharacterToken.type===e)return void(this.currentCharacterToken.chars+=t);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(e,t)}_emitCodePoint(e){const t=Zo(e)?To.WHITESPACE_CHARACTER:e===io.NULL?To.NULL_CHARACTER:To.CHARACTER;this._appendCharToCurrentCharacterToken(t,String.fromCodePoint(e))}_emitChars(e){this._appendCharToCurrentCharacterToken(To.CHARACTER,e)}_matchNamedCharacterReference(e){let t=null,n=0,r=!1;for(let s=0,a=wo[0];s>=0&&(s=Oo(wo,a,s+1,e),!(s<0));e=this._consume()){n+=1,a=wo[s];const o=a&yo.VALUE_LENGTH;if(o){const a=(o>>14)-1;if(e!==io.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((i=this.preprocessor.peek(1))===io.EQUALS_SIGN||Xo(i))?(t=[io.AMPERSAND],s+=a):(t=0===a?[wo[s]&~yo.VALUE_LENGTH]:1===a?[wo[++s]]:[wo[++s],wo[++s]],n=0,r=e!==io.SEMICOLON),0===a){this._consume();break}}}var i;return this._unconsume(n),r&&!this.preprocessor.endOfChunkHit&&this._err(Eo.missingSemicolonAfterCharacterReference),this._unconsume(1),t}_isCharacterReferenceInAttribute(){return this.returnState===Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Ko.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(e){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(e):this._emitCodePoint(e)}_callState(e){switch(this.state){case Ko.DATA:this._stateData(e);break;case Ko.RCDATA:this._stateRcdata(e);break;case Ko.RAWTEXT:this._stateRawtext(e);break;case Ko.SCRIPT_DATA:this._stateScriptData(e);break;case Ko.PLAINTEXT:this._statePlaintext(e);break;case Ko.TAG_OPEN:this._stateTagOpen(e);break;case Ko.END_TAG_OPEN:this._stateEndTagOpen(e);break;case Ko.TAG_NAME:this._stateTagName(e);break;case Ko.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(e);break;case Ko.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(e);break;case Ko.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(e);break;case Ko.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(e);break;case Ko.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(e);break;case Ko.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(e);break;case Ko.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(e);break;case Ko.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(e);break;case Ko.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(e);break;case Ko.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(e);break;case Ko.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(e);break;case Ko.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(e);break;case Ko.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(e);break;case Ko.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(e);break;case Ko.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(e);break;case Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(e);break;case Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(e);break;case Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(e);break;case Ko.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(e);break;case Ko.ATTRIBUTE_NAME:this._stateAttributeName(e);break;case Ko.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(e);break;case Ko.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(e);break;case Ko.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(e);break;case Ko.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(e);break;case Ko.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(e);break;case Ko.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(e);break;case Ko.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(e);break;case Ko.BOGUS_COMMENT:this._stateBogusComment(e);break;case Ko.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(e);break;case Ko.COMMENT_START:this._stateCommentStart(e);break;case Ko.COMMENT_START_DASH:this._stateCommentStartDash(e);break;case Ko.COMMENT:this._stateComment(e);break;case Ko.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(e);break;case Ko.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(e);break;case Ko.COMMENT_END_DASH:this._stateCommentEndDash(e);break;case Ko.COMMENT_END:this._stateCommentEnd(e);break;case Ko.COMMENT_END_BANG:this._stateCommentEndBang(e);break;case Ko.DOCTYPE:this._stateDoctype(e);break;case Ko.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(e);break;case Ko.DOCTYPE_NAME:this._stateDoctypeName(e);break;case Ko.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(e);break;case Ko.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(e);break;case Ko.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(e);break;case Ko.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(e);break;case Ko.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(e);break;case Ko.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(e);break;case Ko.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(e);break;case Ko.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(e);break;case Ko.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(e);break;case Ko.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(e);break;case Ko.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(e);break;case Ko.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(e);break;case Ko.BOGUS_DOCTYPE:this._stateBogusDoctype(e);break;case Ko.CDATA_SECTION:this._stateCdataSection(e);break;case Ko.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(e);break;case Ko.CDATA_SECTION_END:this._stateCdataSectionEnd(e);break;case Ko.CHARACTER_REFERENCE:this._stateCharacterReference(e);break;case Ko.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(e);break;case Ko.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(e);break;case Ko.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(e);break;case Ko.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(e);break;case Ko.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(e);break;case Ko.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(e);break;case Ko.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(e);break;default:throw new Error("Unknown state")}}_stateData(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.TAG_OPEN;break;case io.AMPERSAND:this.returnState=Ko.DATA,this.state=Ko.CHARACTER_REFERENCE;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitCodePoint(e);break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRcdata(e){switch(e){case io.AMPERSAND:this.returnState=Ko.RCDATA,this.state=Ko.CHARACTER_REFERENCE;break;case io.LESS_THAN_SIGN:this.state=Ko.RCDATA_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateRawtext(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.RAWTEXT_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateScriptData(e){switch(e){case io.LESS_THAN_SIGN:this.state=Ko.SCRIPT_DATA_LESS_THAN_SIGN;break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_statePlaintext(e){switch(e){case io.NULL:this._err(Eo.unexpectedNullCharacter),this._emitChars("�");break;case io.EOF:this._emitEOFToken();break;default:this._emitCodePoint(e)}}_stateTagOpen(e){if(Qo(e))this._createStartTagToken(),this.state=Ko.TAG_NAME,this._stateTagName(e);else switch(e){case io.EXCLAMATION_MARK:this.state=Ko.MARKUP_DECLARATION_OPEN;break;case io.SOLIDUS:this.state=Ko.END_TAG_OPEN;break;case io.QUESTION_MARK:this._err(Eo.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Ko.BOGUS_COMMENT,this._stateBogusComment(e);break;case io.EOF:this._err(Eo.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(Eo.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Ko.DATA,this._stateData(e)}}_stateEndTagOpen(e){if(Qo(e))this._createEndTagToken(),this.state=Ko.TAG_NAME,this._stateTagName(e);else switch(e){case io.GREATER_THAN_SIGN:this._err(Eo.missingEndTagName),this.state=Ko.DATA;break;case io.EOF:this._err(Eo.eofBeforeTagName),this._emitChars("");break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this.state=Ko.SCRIPT_DATA_ESCAPED,this._emitChars("�");break;case io.EOF:this._err(Eo.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ko.SCRIPT_DATA_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataEscapedLessThanSign(e){e===io.SOLIDUS?this.state=Ko.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:Qo(e)?(this._emitChars("<"),this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(e)):(this._emitChars("<"),this.state=Ko.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(e))}_stateScriptDataEscapedEndTagOpen(e){Qo(e)?(this.state=Ko.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(e)):(this._emitChars("");break;case io.NULL:this._err(Eo.unexpectedNullCharacter),this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars("�");break;case io.EOF:this._err(Eo.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(e)}}_stateScriptDataDoubleEscapedLessThanSign(e){e===io.SOLIDUS?(this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Ko.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(e))}_stateScriptDataDoubleEscapeEnd(e){if(this.preprocessor.startsWith(co,!1)&&ec(this.preprocessor.peek(co.length))){this._emitCodePoint(e);for(let e=0;e1114111)this._err(Eo.characterReferenceOutsideUnicodeRange),this.charRefCode=io.REPLACEMENT_CHARACTER;else if(uo(this.charRefCode))this._err(Eo.surrogateCharacterReference),this.charRefCode=io.REPLACEMENT_CHARACTER;else if(fo(this.charRefCode))this._err(Eo.noncharacterCharacterReference);else if(po(this.charRefCode)||this.charRefCode===io.CARRIAGE_RETURN){this._err(Eo.controlCharacterReference);const e=qo.get(this.charRefCode);void 0!==e&&(this.charRefCode=e)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,e)}}const nc=new Set([Po.DD,Po.DT,Po.LI,Po.OPTGROUP,Po.OPTION,Po.P,Po.RB,Po.RP,Po.RT,Po.RTC]),rc=new Set([...nc,Po.CAPTION,Po.COLGROUP,Po.TBODY,Po.TD,Po.TFOOT,Po.TH,Po.THEAD,Po.TR]),ic=new Map([[Po.APPLET,vo.HTML],[Po.CAPTION,vo.HTML],[Po.HTML,vo.HTML],[Po.MARQUEE,vo.HTML],[Po.OBJECT,vo.HTML],[Po.TABLE,vo.HTML],[Po.TD,vo.HTML],[Po.TEMPLATE,vo.HTML],[Po.TH,vo.HTML],[Po.ANNOTATION_XML,vo.MATHML],[Po.MI,vo.MATHML],[Po.MN,vo.MATHML],[Po.MO,vo.MATHML],[Po.MS,vo.MATHML],[Po.MTEXT,vo.MATHML],[Po.DESC,vo.SVG],[Po.FOREIGN_OBJECT,vo.SVG],[Po.TITLE,vo.SVG]]),sc=[Po.H1,Po.H2,Po.H3,Po.H4,Po.H5,Po.H6],ac=[Po.TR,Po.TEMPLATE,Po.HTML],oc=[Po.TBODY,Po.TFOOT,Po.THEAD,Po.TEMPLATE,Po.HTML],cc=[Po.TABLE,Po.TEMPLATE,Po.HTML],lc=[Po.TD,Po.TH];class hc{constructor(e,t,n){this.treeAdapter=t,this.handler=n,this.items=[],this.tagIDs=[],this.stackTop=-1,this.tmplCount=0,this.currentTagId=Po.UNKNOWN,this.current=e}get currentTmplContentOrNode(){return this._isInTemplate()?this.treeAdapter.getTemplateContent(this.current):this.current}_indexOf(e){return this.items.lastIndexOf(e,this.stackTop)}_isInTemplate(){return this.currentTagId===Po.TEMPLATE&&this.treeAdapter.getNamespaceURI(this.current)===vo.HTML}_updateCurrentElement(){this.current=this.items[this.stackTop],this.currentTagId=this.tagIDs[this.stackTop]}push(e,t){this.stackTop++,this.items[this.stackTop]=e,this.current=e,this.tagIDs[this.stackTop]=t,this.currentTagId=t,this._isInTemplate()&&this.tmplCount++,this.handler.onItemPush(e,t,!0)}pop(){const e=this.current;this.tmplCount>0&&this._isInTemplate()&&this.tmplCount--,this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!0)}replace(e,t){const n=this._indexOf(e);this.items[n]=t,n===this.stackTop&&(this.current=t)}insertAfter(e,t,n){const r=this._indexOf(e)+1;this.items.splice(r,0,t),this.tagIDs.splice(r,0,n),this.stackTop++,r===this.stackTop&&this._updateCurrentElement(),this.handler.onItemPush(this.current,this.currentTagId,r===this.stackTop)}popUntilTagNamePopped(e){let t=this.stackTop+1;do{t=this.tagIDs.lastIndexOf(e,t-1)}while(t>0&&this.treeAdapter.getNamespaceURI(this.items[t])!==vo.HTML);this.shortenToLength(t<0?0:t)}shortenToLength(e){for(;this.stackTop>=e;){const t=this.current;this.tmplCount>0&&this._isInTemplate()&&(this.tmplCount-=1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(t,this.stackTop=0;n--)if(e.includes(this.tagIDs[n])&&this.treeAdapter.getNamespaceURI(this.items[n])===t)return n;return-1}clearBackTo(e,t){const n=this._indexOfTagNames(e,t);this.shortenToLength(n+1)}clearBackToTableContext(){this.clearBackTo(cc,vo.HTML)}clearBackToTableBodyContext(){this.clearBackTo(oc,vo.HTML)}clearBackToTableRowContext(){this.clearBackTo(ac,vo.HTML)}remove(e){const t=this._indexOf(e);t>=0&&(t===this.stackTop?this.pop():(this.items.splice(t,1),this.tagIDs.splice(t,1),this.stackTop--,this._updateCurrentElement(),this.handler.onItemPop(e,!1)))}tryPeekProperlyNestedBodyElement(){return this.stackTop>=1&&this.tagIDs[1]===Po.BODY?this.items[1]:null}contains(e){return this._indexOf(e)>-1}getCommonAncestor(e){const t=this._indexOf(e)-1;return t>=0?this.items[t]:null}isRootHtmlElementCurrent(){return 0===this.stackTop&&this.tagIDs[0]===Po.HTML}hasInScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if(ic.get(n)===r)return!1}return!0}hasNumberedHeaderInScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e],n=this.treeAdapter.getNamespaceURI(this.items[e]);if(Go(t)&&n===vo.HTML)return!0;if(ic.get(t)===n)return!1}return!0}hasInListItemScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if((n===Po.UL||n===Po.OL)&&r===vo.HTML||ic.get(n)===r)return!1}return!0}hasInButtonScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t],r=this.treeAdapter.getNamespaceURI(this.items[t]);if(n===e&&r===vo.HTML)return!0;if(n===Po.BUTTON&&r===vo.HTML||ic.get(n)===r)return!1}return!0}hasInTableScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===vo.HTML){if(n===e)return!0;if(n===Po.TABLE||n===Po.TEMPLATE||n===Po.HTML)return!1}}return!0}hasTableBodyContextInTableScope(){for(let e=this.stackTop;e>=0;e--){const t=this.tagIDs[e];if(this.treeAdapter.getNamespaceURI(this.items[e])===vo.HTML){if(t===Po.TBODY||t===Po.THEAD||t===Po.TFOOT)return!0;if(t===Po.TABLE||t===Po.HTML)return!1}}return!0}hasInSelectScope(e){for(let t=this.stackTop;t>=0;t--){const n=this.tagIDs[t];if(this.treeAdapter.getNamespaceURI(this.items[t])===vo.HTML){if(n===e)return!0;if(n!==Po.OPTION&&n!==Po.OPTGROUP)return!1}}return!0}generateImpliedEndTags(){for(;nc.has(this.currentTagId);)this.pop()}generateImpliedEndTagsThoroughly(){for(;rc.has(this.currentTagId);)this.pop()}generateImpliedEndTagsWithExclusion(e){for(;this.currentTagId!==e&&rc.has(this.currentTagId);)this.pop()}}var uc;!function(e){e[e.Marker=0]="Marker",e[e.Element=1]="Element"}(uc=uc||(uc={}));const pc={type:uc.Marker};class fc{constructor(e){this.treeAdapter=e,this.entries=[],this.bookmark=null}_getNoahArkConditionCandidates(e,t){const n=[],r=t.length,i=this.treeAdapter.getTagName(e),s=this.treeAdapter.getNamespaceURI(e);for(let e=0;e[e.name,e.value])));let i=0;for(let e=0;er.get(e.name)===e.value))&&(i+=1,i>=3&&this.entries.splice(t.idx,1))}}insertMarker(){this.entries.unshift(pc)}pushElement(e,t){this._ensureNoahArkCondition(e),this.entries.unshift({type:uc.Element,element:e,token:t})}insertElementAfterBookmark(e,t){const n=this.entries.indexOf(this.bookmark);this.entries.splice(n,0,{type:uc.Element,element:e,token:t})}removeEntry(e){const t=this.entries.indexOf(e);t>=0&&this.entries.splice(t,1)}clearToLastMarker(){const e=this.entries.indexOf(pc);e>=0?this.entries.splice(0,e+1):this.entries.length=0}getElementEntryInScopeWithTagName(e){const t=this.entries.find((t=>t.type===uc.Marker||this.treeAdapter.getTagName(t.element)===e));return t&&t.type===uc.Element?t:null}getElementEntry(e){return this.entries.find((t=>t.type===uc.Element&&t.element===e))}}function dc(e){return{nodeName:"#text",value:e,parentNode:null}}const Ec={createDocument:()=>({nodeName:"#document",mode:Ro.NO_QUIRKS,childNodes:[]}),createDocumentFragment:()=>({nodeName:"#document-fragment",childNodes:[]}),createElement:(e,t,n)=>({nodeName:e,tagName:e,attrs:n,namespaceURI:t,childNodes:[],parentNode:null}),createCommentNode:e=>({nodeName:"#comment",data:e,parentNode:null}),appendChild(e,t){e.childNodes.push(t),t.parentNode=e},insertBefore(e,t,n){const r=e.childNodes.indexOf(n);e.childNodes.splice(r,0,t),t.parentNode=e},setTemplateContent(e,t){e.content=t},getTemplateContent:e=>e.content,setDocumentType(e,t,n,r){const i=e.childNodes.find((e=>"#documentType"===e.nodeName));if(i)i.name=t,i.publicId=n,i.systemId=r;else{const i={nodeName:"#documentType",name:t,publicId:n,systemId:r,parentNode:null};Ec.appendChild(e,i)}},setDocumentMode(e,t){e.mode=t},getDocumentMode:e=>e.mode,detachNode(e){if(e.parentNode){const t=e.parentNode.childNodes.indexOf(e);e.parentNode.childNodes.splice(t,1),e.parentNode=null}},insertText(e,t){if(e.childNodes.length>0){const n=e.childNodes[e.childNodes.length-1];if(Ec.isTextNode(n))return void(n.value+=t)}Ec.appendChild(e,dc(t))},insertTextBefore(e,t,n){const r=e.childNodes[e.childNodes.indexOf(n)-1];r&&Ec.isTextNode(r)?r.value+=t:Ec.insertBefore(e,dc(t),n)},adoptAttributes(e,t){const n=new Set(e.attrs.map((e=>e.name)));for(let r=0;re.childNodes[0],getChildNodes:e=>e.childNodes,getParentNode:e=>e.parentNode,getAttrList:e=>e.attrs,getTagName:e=>e.tagName,getNamespaceURI:e=>e.namespaceURI,getTextNodeContent:e=>e.value,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName:e=>e.name,getDocumentTypeNodePublicId:e=>e.publicId,getDocumentTypeNodeSystemId:e=>e.systemId,isTextNode:e=>"#text"===e.nodeName,isCommentNode:e=>"#comment"===e.nodeName,isDocumentTypeNode:e=>"#documentType"===e.nodeName,isElementNode:e=>Object.prototype.hasOwnProperty.call(e,"tagName"),setNodeSourceCodeLocation(e,t){e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){e.sourceCodeLocation={...e.sourceCodeLocation,...t}}},mc=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],Tc=[...mc,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"],_c=new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),Ac=["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"],gc=[...Ac,"-//w3c//dtd html 4.01 frameset//","-//w3c//dtd html 4.01 transitional//"];function Nc(e,t){return t.some((t=>e.startsWith(t)))}const Cc="text/html",Ic="application/xhtml+xml",Sc=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((e=>[e.toLowerCase(),e]))),bc=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:vo.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:vo.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:vo.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:vo.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:vo.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:vo.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:vo.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:vo.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:vo.XML}],["xml:space",{prefix:"xml",name:"space",namespace:vo.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:vo.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:vo.XMLNS}]]),Oc=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((e=>[e.toLowerCase(),e]))),yc=new Set([Po.B,Po.BIG,Po.BLOCKQUOTE,Po.BODY,Po.BR,Po.CENTER,Po.CODE,Po.DD,Po.DIV,Po.DL,Po.DT,Po.EM,Po.EMBED,Po.H1,Po.H2,Po.H3,Po.H4,Po.H5,Po.H6,Po.HEAD,Po.HR,Po.I,Po.IMG,Po.LI,Po.LISTING,Po.MENU,Po.META,Po.NOBR,Po.OL,Po.P,Po.PRE,Po.RUBY,Po.S,Po.SMALL,Po.SPAN,Po.STRONG,Po.STRIKE,Po.SUB,Po.SUP,Po.TABLE,Po.TT,Po.U,Po.UL,Po.VAR]);function Lc(e){for(let t=0;t0&&this._setContextModes(e,t)}onItemPop(e,t){var n,r;if(this.options.sourceCodeLocationInfo&&this._setEndLocation(e,this.currentToken),null===(r=(n=this.treeAdapter).onItemPop)||void 0===r||r.call(n,e,this.openElements.current),t){let e,t;0===this.openElements.stackTop&&this.fragmentContext?(e=this.fragmentContext,t=this.fragmentContextID):({current:e,currentTagId:t}=this.openElements),this._setContextModes(e,t)}}_setContextModes(e,t){const n=e===this.document||this.treeAdapter.getNamespaceURI(e)===vo.HTML;this.currentNotInHTML=!n,this.tokenizer.inForeignNode=!n&&!this._isIntegrationPoint(t,e)}_switchToTextParsing(e,t){this._insertElement(e,vo.HTML),this.tokenizer.state=t,this.originalInsertionMode=this.insertionMode,this.insertionMode=Rc.TEXT}switchToPlaintextParsing(){this.insertionMode=Rc.TEXT,this.originalInsertionMode=Rc.IN_BODY,this.tokenizer.state=jo.PLAINTEXT}_getAdjustedCurrentElement(){return 0===this.openElements.stackTop&&this.fragmentContext?this.fragmentContext:this.openElements.current}_findFormInFragmentContext(){let e=this.fragmentContext;for(;e;){if(this.treeAdapter.getTagName(e)===Mo.FORM){this.formElement=e;break}e=this.treeAdapter.getParentNode(e)}}_initTokenizerForFragmentParsing(){if(this.fragmentContext&&this.treeAdapter.getNamespaceURI(this.fragmentContext)===vo.HTML)switch(this.fragmentContextID){case Po.TITLE:case Po.TEXTAREA:this.tokenizer.state=jo.RCDATA;break;case Po.STYLE:case Po.XMP:case Po.IFRAME:case Po.NOEMBED:case Po.NOFRAMES:case Po.NOSCRIPT:this.tokenizer.state=jo.RAWTEXT;break;case Po.SCRIPT:this.tokenizer.state=jo.SCRIPT_DATA;break;case Po.PLAINTEXT:this.tokenizer.state=jo.PLAINTEXT}}_setDocumentType(e){const t=e.name||"",n=e.publicId||"",r=e.systemId||"";if(this.treeAdapter.setDocumentType(this.document,t,n,r),e.location){const t=this.treeAdapter.getChildNodes(this.document).find((e=>this.treeAdapter.isDocumentTypeNode(e)));t&&this.treeAdapter.setNodeSourceCodeLocation(t,e.location)}}_attachElementToTree(e,t){if(this.options.sourceCodeLocationInfo){const n=t&&{...t,startTag:t};this.treeAdapter.setNodeSourceCodeLocation(e,n)}if(this._shouldFosterParentOnInsertion())this._fosterParentElement(e);else{const t=this.openElements.currentTmplContentOrNode;this.treeAdapter.appendChild(t,e)}}_appendElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location)}_insertElement(e,t){const n=this.treeAdapter.createElement(e.tagName,t,e.attrs);this._attachElementToTree(n,e.location),this.openElements.push(n,e.tagID)}_insertFakeElement(e,t){const n=this.treeAdapter.createElement(e,vo.HTML,[]);this._attachElementToTree(n,null),this.openElements.push(n,t)}_insertTemplate(e){const t=this.treeAdapter.createElement(e.tagName,vo.HTML,e.attrs),n=this.treeAdapter.createDocumentFragment();this.treeAdapter.setTemplateContent(t,n),this._attachElementToTree(t,e.location),this.openElements.push(t,e.tagID),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,null)}_insertFakeRootElement(){const e=this.treeAdapter.createElement(Mo.HTML,vo.HTML,[]);this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(e,null),this.treeAdapter.appendChild(this.openElements.current,e),this.openElements.push(e,Po.HTML)}_appendCommentNode(e,t){const n=this.treeAdapter.createCommentNode(e.data);this.treeAdapter.appendChild(t,n),this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(n,e.location)}_insertCharacters(e){let t,n;if(this._shouldFosterParentOnInsertion()?(({parent:t,beforeElement:n}=this._findFosterParentingLocation()),n?this.treeAdapter.insertTextBefore(t,e.chars,n):this.treeAdapter.insertText(t,e.chars)):(t=this.openElements.currentTmplContentOrNode,this.treeAdapter.insertText(t,e.chars)),!e.location)return;const r=this.treeAdapter.getChildNodes(t),i=n?r.lastIndexOf(n):r.length,s=r[i-1];if(this.treeAdapter.getNodeSourceCodeLocation(s)){const{endLine:t,endCol:n,endOffset:r}=e.location;this.treeAdapter.updateNodeSourceCodeLocation(s,{endLine:t,endCol:n,endOffset:r})}else this.options.sourceCodeLocationInfo&&this.treeAdapter.setNodeSourceCodeLocation(s,e.location)}_adoptNodes(e,t){for(let n=this.treeAdapter.getFirstChild(e);n;n=this.treeAdapter.getFirstChild(e))this.treeAdapter.detachNode(n),this.treeAdapter.appendChild(t,n)}_setEndLocation(e,t){if(this.treeAdapter.getNodeSourceCodeLocation(e)&&t.location){const n=t.location,r=this.treeAdapter.getTagName(e),i=t.type===To.END_TAG&&r===t.tagName?{endTag:{...n},endLine:n.endLine,endCol:n.endCol,endOffset:n.endOffset}:{endLine:n.startLine,endCol:n.startCol,endOffset:n.startOffset};this.treeAdapter.updateNodeSourceCodeLocation(e,i)}}shouldProcessStartTagTokenInForeignContent(e){if(!this.currentNotInHTML)return!1;let t,n;return 0===this.openElements.stackTop&&this.fragmentContext?(t=this.fragmentContext,n=this.fragmentContextID):({current:t,currentTagId:n}=this.openElements),(e.tagID!==Po.SVG||this.treeAdapter.getTagName(t)!==Mo.ANNOTATION_XML||this.treeAdapter.getNamespaceURI(t)!==vo.MATHML)&&(this.tokenizer.inForeignNode||(e.tagID===Po.MGLYPH||e.tagID===Po.MALIGNMARK)&&!this._isIntegrationPoint(n,t,vo.HTML))}_processToken(e){switch(e.type){case To.CHARACTER:this.onCharacter(e);break;case To.NULL_CHARACTER:this.onNullCharacter(e);break;case To.COMMENT:this.onComment(e);break;case To.DOCTYPE:this.onDoctype(e);break;case To.START_TAG:this._processStartTag(e);break;case To.END_TAG:this.onEndTag(e);break;case To.EOF:this.onEof(e);break;case To.WHITESPACE_CHARACTER:this.onWhitespaceCharacter(e)}}_isIntegrationPoint(e,t,n){return Dc(e,this.treeAdapter.getNamespaceURI(t),this.treeAdapter.getAttrList(t),n)}_reconstructActiveFormattingElements(){const e=this.activeFormattingElements.entries.length;if(e){const t=this.activeFormattingElements.entries.findIndex((e=>e.type===uc.Marker||this.openElements.contains(e.element)));for(let n=t<0?e-1:t-1;n>=0;n--){const e=this.activeFormattingElements.entries[n];this._insertElement(e.token,this.treeAdapter.getNamespaceURI(e.element)),e.element=this.openElements.current}}}_closeTableCell(){this.openElements.generateImpliedEndTags(),this.openElements.popUntilTableCellPopped(),this.activeFormattingElements.clearToLastMarker(),this.insertionMode=Rc.IN_ROW}_closePElement(){this.openElements.generateImpliedEndTagsWithExclusion(Po.P),this.openElements.popUntilTagNamePopped(Po.P)}_resetInsertionMode(){for(let e=this.openElements.stackTop;e>=0;e--)switch(0===e&&this.fragmentContext?this.fragmentContextID:this.openElements.tagIDs[e]){case Po.TR:return void(this.insertionMode=Rc.IN_ROW);case Po.TBODY:case Po.THEAD:case Po.TFOOT:return void(this.insertionMode=Rc.IN_TABLE_BODY);case Po.CAPTION:return void(this.insertionMode=Rc.IN_CAPTION);case Po.COLGROUP:return void(this.insertionMode=Rc.IN_COLUMN_GROUP);case Po.TABLE:return void(this.insertionMode=Rc.IN_TABLE);case Po.BODY:return void(this.insertionMode=Rc.IN_BODY);case Po.FRAMESET:return void(this.insertionMode=Rc.IN_FRAMESET);case Po.SELECT:return void this._resetInsertionModeForSelect(e);case Po.TEMPLATE:return void(this.insertionMode=this.tmplInsertionModeStack[0]);case Po.HTML:return void(this.insertionMode=this.headElement?Rc.AFTER_HEAD:Rc.BEFORE_HEAD);case Po.TD:case Po.TH:if(e>0)return void(this.insertionMode=Rc.IN_CELL);break;case Po.HEAD:if(e>0)return void(this.insertionMode=Rc.IN_HEAD)}this.insertionMode=Rc.IN_BODY}_resetInsertionModeForSelect(e){if(e>0)for(let t=e-1;t>0;t--){const e=this.openElements.tagIDs[t];if(e===Po.TEMPLATE)break;if(e===Po.TABLE)return void(this.insertionMode=Rc.IN_SELECT_IN_TABLE)}this.insertionMode=Rc.IN_SELECT}_isElementCausesFosterParenting(e){return Pc.has(e)}_shouldFosterParentOnInsertion(){return this.fosterParentingEnabled&&this._isElementCausesFosterParenting(this.openElements.currentTagId)}_findFosterParentingLocation(){for(let e=this.openElements.stackTop;e>=0;e--){const t=this.openElements.items[e];switch(this.openElements.tagIDs[e]){case Po.TEMPLATE:if(this.treeAdapter.getNamespaceURI(t)===vo.HTML)return{parent:this.treeAdapter.getTemplateContent(t),beforeElement:null};break;case Po.TABLE:{const n=this.treeAdapter.getParentNode(t);return n?{parent:n,beforeElement:t}:{parent:this.openElements.items[e-1],beforeElement:null}}}}return{parent:this.openElements.items[0],beforeElement:null}}_fosterParentElement(e){const t=this._findFosterParentingLocation();t.beforeElement?this.treeAdapter.insertBefore(t.parent,e,t.beforeElement):this.treeAdapter.appendChild(t.parent,e)}_isSpecialElement(e,t){const n=this.treeAdapter.getNamespaceURI(e);return Ho[n].has(t)}onCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){e._insertCharacters(t),e.framesetOk=!1}(this,e);else switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.IN_BODY:case Rc.IN_CAPTION:case Rc.IN_CELL:case Rc.IN_TEMPLATE:nl(this,e);break;case Rc.TEXT:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:this._insertCharacters(e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_TABLE_TEXT:ml(this,e);break;case Rc.IN_COLUMN_GROUP:gl(this,e);break;case Rc.AFTER_BODY:kl(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onNullCharacter(e){if(this.skipNextNewLine=!1,this.tokenizer.inForeignNode)!function(e,t){t.chars="�",e._insertCharacters(t)}(this,e);else switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.TEXT:this._insertCharacters(e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_COLUMN_GROUP:gl(this,e);break;case Rc.AFTER_BODY:kl(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onComment(e){if(this.skipNextNewLine=!1,this.currentNotInHTML)Kc(this,e);else switch(this.insertionMode){case Rc.INITIAL:case Rc.BEFORE_HTML:case Rc.BEFORE_HEAD:case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:case Rc.IN_BODY:case Rc.IN_TABLE:case Rc.IN_CAPTION:case Rc.IN_COLUMN_GROUP:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:case Rc.IN_CELL:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:case Rc.IN_TEMPLATE:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:Kc(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.AFTER_BODY:!function(e,t){e._appendCommentNode(t,e.openElements.items[0])}(this,e);break;case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:!function(e,t){e._appendCommentNode(t,e.document)}(this,e)}}onDoctype(e){switch(this.skipNextNewLine=!1,this.insertionMode){case Rc.INITIAL:!function(e,t){e._setDocumentType(t);const n=t.forceQuirks?Ro.QUIRKS:function(e){if("html"!==e.name)return Ro.QUIRKS;const{systemId:t}=e;if(t&&"http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd"===t.toLowerCase())return Ro.QUIRKS;let{publicId:n}=e;if(null!==n){if(n=n.toLowerCase(),_c.has(n))return Ro.QUIRKS;let e=null===t?Tc:mc;if(Nc(n,e))return Ro.QUIRKS;if(e=null===t?Ac:gc,Nc(n,e))return Ro.LIMITED_QUIRKS}return Ro.NO_QUIRKS}(t);(function(e){return"html"===e.name&&null===e.publicId&&(null===e.systemId||"about:legacy-compat"===e.systemId)})(t)||e._err(t,Eo.nonConformingDoctype);e.treeAdapter.setDocumentMode(e.document,n),e.insertionMode=Rc.BEFORE_HTML}(this,e);break;case Rc.BEFORE_HEAD:case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:this._err(e,Eo.misplacedDoctype);break;case Rc.IN_TABLE_TEXT:Tl(this,e)}}onStartTag(e){this.skipNextNewLine=!1,this.currentToken=e,this._processStartTag(e),e.selfClosing&&!e.ackSelfClosing&&this._err(e,Eo.nonVoidHtmlElementStartTagWithTrailingSolidus)}_processStartTag(e){this.shouldProcessStartTagTokenInForeignContent(e)?function(e,t){if(function(e){const t=e.tagID;return t===Po.FONT&&e.attrs.some((({name:e})=>e===Do.COLOR||e===Do.SIZE||e===Do.FACE))||yc.has(t)}(t))Dl(e),e._startTagOutsideForeignContent(t);else{const n=e._getAdjustedCurrentElement(),r=e.treeAdapter.getNamespaceURI(n);r===vo.MATHML?Lc(t):r===vo.SVG&&(!function(e){const t=Oc.get(e.tagName);null!=t&&(e.tagName=t,e.tagID=Fo(e.tagName))}(t),kc(t)),vc(t),t.selfClosing?e._appendElement(t,r):e._insertElement(t,r),t.ackSelfClosing=!0}}(this,e):this._startTagOutsideForeignContent(e)}_startTagOutsideForeignContent(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:!function(e,t){t.tagID===Po.HTML?(e._insertElement(t,vo.HTML),e.insertionMode=Rc.BEFORE_HEAD):Wc(e,t)}(this,e);break;case Rc.BEFORE_HEAD:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.HEAD:e._insertElement(t,vo.HTML),e.headElement=e.openElements.current,e.insertionMode=Rc.IN_HEAD;break;default:Qc(e,t)}}(this,e);break;case Rc.IN_HEAD:Xc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BASEFONT:case Po.BGSOUND:case Po.HEAD:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.STYLE:Xc(e,t);break;case Po.NOSCRIPT:e._err(t,Eo.nestedNoscriptInHead);break;default:Jc(e,t)}}(this,e);break;case Rc.AFTER_HEAD:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BODY:e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=Rc.IN_BODY;break;case Po.FRAMESET:e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_FRAMESET;break;case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.SCRIPT:case Po.STYLE:case Po.TEMPLATE:case Po.TITLE:e._err(t,Eo.abandonedHeadElementChild),e.openElements.push(e.headElement,Po.HEAD),Xc(e,t),e.openElements.remove(e.headElement);break;case Po.HEAD:e._err(t,Eo.misplacedStartTagForHeadElement);break;default:Zc(e,t)}}(this,e);break;case Rc.IN_BODY:ol(this,e);break;case Rc.IN_TABLE:pl(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_CAPTION:!function(e,t){const n=t.tagID;_l.has(n)?e.openElements.hasInTableScope(Po.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_TABLE,pl(e,t)):ol(e,t)}(this,e);break;case Rc.IN_COLUMN_GROUP:Al(this,e);break;case Rc.IN_TABLE_BODY:Nl(this,e);break;case Rc.IN_ROW:Il(this,e);break;case Rc.IN_CELL:!function(e,t){const n=t.tagID;_l.has(n)?(e.openElements.hasInTableScope(Po.TD)||e.openElements.hasInTableScope(Po.TH))&&(e._closeTableCell(),Il(e,t)):ol(e,t)}(this,e);break;case Rc.IN_SELECT:bl(this,e);break;case Rc.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===Po.CAPTION||n===Po.TABLE||n===Po.TBODY||n===Po.TFOOT||n===Po.THEAD||n===Po.TR||n===Po.TD||n===Po.TH?(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode(),e._processStartTag(t)):bl(e,t)}(this,e);break;case Rc.IN_TEMPLATE:!function(e,t){switch(t.tagID){case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:case Po.NOFRAMES:case Po.SCRIPT:case Po.STYLE:case Po.TEMPLATE:case Po.TITLE:Xc(e,t);break;case Po.CAPTION:case Po.COLGROUP:case Po.TBODY:case Po.TFOOT:case Po.THEAD:e.tmplInsertionModeStack[0]=Rc.IN_TABLE,e.insertionMode=Rc.IN_TABLE,pl(e,t);break;case Po.COL:e.tmplInsertionModeStack[0]=Rc.IN_COLUMN_GROUP,e.insertionMode=Rc.IN_COLUMN_GROUP,Al(e,t);break;case Po.TR:e.tmplInsertionModeStack[0]=Rc.IN_TABLE_BODY,e.insertionMode=Rc.IN_TABLE_BODY,Nl(e,t);break;case Po.TD:case Po.TH:e.tmplInsertionModeStack[0]=Rc.IN_ROW,e.insertionMode=Rc.IN_ROW,Il(e,t);break;default:e.tmplInsertionModeStack[0]=Rc.IN_BODY,e.insertionMode=Rc.IN_BODY,ol(e,t)}}(this,e);break;case Rc.AFTER_BODY:!function(e,t){t.tagID===Po.HTML?ol(e,t):kl(e,t)}(this,e);break;case Rc.IN_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.FRAMESET:e._insertElement(t,vo.HTML);break;case Po.FRAME:e._appendElement(t,vo.HTML),t.ackSelfClosing=!0;break;case Po.NOFRAMES:Xc(e,t)}}(this,e);break;case Rc.AFTER_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.NOFRAMES:Xc(e,t)}}(this,e);break;case Rc.AFTER_AFTER_BODY:!function(e,t){t.tagID===Po.HTML?ol(e,t):vl(e,t)}(this,e);break;case Rc.AFTER_AFTER_FRAMESET:!function(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.NOFRAMES:Xc(e,t)}}(this,e)}}onEndTag(e){this.skipNextNewLine=!1,this.currentToken=e,this.currentNotInHTML?function(e,t){if(t.tagID===Po.P||t.tagID===Po.BR)return Dl(e),void e._endTagOutsideForeignContent(t);for(let n=e.openElements.stackTop;n>0;n--){const r=e.openElements.items[n];if(e.treeAdapter.getNamespaceURI(r)===vo.HTML){e._endTagOutsideForeignContent(t);break}const i=e.treeAdapter.getTagName(r);if(i.toLowerCase()===t.tagName){t.tagName=i,e.openElements.shortenToLength(n);break}}}(this,e):this._endTagOutsideForeignContent(e)}_endTagOutsideForeignContent(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:!function(e,t){const n=t.tagID;n!==Po.HTML&&n!==Po.HEAD&&n!==Po.BODY&&n!==Po.BR||Wc(e,t)}(this,e);break;case Rc.BEFORE_HEAD:!function(e,t){const n=t.tagID;n===Po.HEAD||n===Po.BODY||n===Po.HTML||n===Po.BR?Qc(e,t):e._err(t,Eo.endTagWithoutMatchingOpenElement)}(this,e);break;case Rc.IN_HEAD:!function(e,t){switch(t.tagID){case Po.HEAD:e.openElements.pop(),e.insertionMode=Rc.AFTER_HEAD;break;case Po.BODY:case Po.BR:case Po.HTML:zc(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:!function(e,t){switch(t.tagID){case Po.NOSCRIPT:e.openElements.pop(),e.insertionMode=Rc.IN_HEAD;break;case Po.BR:Jc(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.AFTER_HEAD:!function(e,t){switch(t.tagID){case Po.BODY:case Po.HTML:case Po.BR:Zc(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:e._err(t,Eo.endTagWithoutMatchingOpenElement)}}(this,e);break;case Rc.IN_BODY:ll(this,e);break;case Rc.TEXT:!function(e,t){var n;t.tagID===Po.SCRIPT&&(null===(n=e.scriptHandler)||void 0===n||n.call(e,e.openElements.current));e.openElements.pop(),e.insertionMode=e.originalInsertionMode}(this,e);break;case Rc.IN_TABLE:fl(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_CAPTION:!function(e,t){const n=t.tagID;switch(n){case Po.CAPTION:case Po.TABLE:e.openElements.hasInTableScope(Po.CAPTION)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.CAPTION),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_TABLE,n===Po.TABLE&&fl(e,t));break;case Po.BODY:case Po.COL:case Po.COLGROUP:case Po.HTML:case Po.TBODY:case Po.TD:case Po.TFOOT:case Po.TH:case Po.THEAD:case Po.TR:break;default:ll(e,t)}}(this,e);break;case Rc.IN_COLUMN_GROUP:!function(e,t){switch(t.tagID){case Po.COLGROUP:e.openElements.currentTagId===Po.COLGROUP&&(e.openElements.pop(),e.insertionMode=Rc.IN_TABLE);break;case Po.TEMPLATE:$c(e,t);break;case Po.COL:break;default:gl(e,t)}}(this,e);break;case Rc.IN_TABLE_BODY:Cl(this,e);break;case Rc.IN_ROW:Sl(this,e);break;case Rc.IN_CELL:!function(e,t){const n=t.tagID;switch(n){case Po.TD:case Po.TH:e.openElements.hasInTableScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker(),e.insertionMode=Rc.IN_ROW);break;case Po.TABLE:case Po.TBODY:case Po.TFOOT:case Po.THEAD:case Po.TR:e.openElements.hasInTableScope(n)&&(e._closeTableCell(),Sl(e,t));break;case Po.BODY:case Po.CAPTION:case Po.COL:case Po.COLGROUP:case Po.HTML:break;default:ll(e,t)}}(this,e);break;case Rc.IN_SELECT:Ol(this,e);break;case Rc.IN_SELECT_IN_TABLE:!function(e,t){const n=t.tagID;n===Po.CAPTION||n===Po.TABLE||n===Po.TBODY||n===Po.TFOOT||n===Po.THEAD||n===Po.TR||n===Po.TD||n===Po.TH?e.openElements.hasInTableScope(n)&&(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode(),e.onEndTag(t)):Ol(e,t)}(this,e);break;case Rc.IN_TEMPLATE:!function(e,t){t.tagID===Po.TEMPLATE&&$c(e,t)}(this,e);break;case Rc.AFTER_BODY:Ll(this,e);break;case Rc.IN_FRAMESET:!function(e,t){t.tagID!==Po.FRAMESET||e.openElements.isRootHtmlElementCurrent()||(e.openElements.pop(),e.fragmentContext||e.openElements.currentTagId===Po.FRAMESET||(e.insertionMode=Rc.AFTER_FRAMESET))}(this,e);break;case Rc.AFTER_FRAMESET:!function(e,t){t.tagID===Po.HTML&&(e.insertionMode=Rc.AFTER_AFTER_FRAMESET)}(this,e);break;case Rc.AFTER_AFTER_BODY:vl(this,e)}}onEof(e){switch(this.insertionMode){case Rc.INITIAL:Vc(this,e);break;case Rc.BEFORE_HTML:Wc(this,e);break;case Rc.BEFORE_HEAD:Qc(this,e);break;case Rc.IN_HEAD:zc(this,e);break;case Rc.IN_HEAD_NO_SCRIPT:Jc(this,e);break;case Rc.AFTER_HEAD:Zc(this,e);break;case Rc.IN_BODY:case Rc.IN_TABLE:case Rc.IN_CAPTION:case Rc.IN_COLUMN_GROUP:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:case Rc.IN_CELL:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:hl(this,e);break;case Rc.TEXT:!function(e,t){e._err(t,Eo.eofInElementThatCanContainOnlyText),e.openElements.pop(),e.insertionMode=e.originalInsertionMode,e.onEof(t)}(this,e);break;case Rc.IN_TABLE_TEXT:Tl(this,e);break;case Rc.IN_TEMPLATE:yl(this,e);break;case Rc.AFTER_BODY:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:jc(this,e)}}onWhitespaceCharacter(e){if(this.skipNextNewLine&&(this.skipNextNewLine=!1,e.chars.charCodeAt(0)===io.LINE_FEED)){if(1===e.chars.length)return;e.chars=e.chars.substr(1)}if(this.tokenizer.inForeignNode)this._insertCharacters(e);else switch(this.insertionMode){case Rc.IN_HEAD:case Rc.IN_HEAD_NO_SCRIPT:case Rc.AFTER_HEAD:case Rc.TEXT:case Rc.IN_COLUMN_GROUP:case Rc.IN_SELECT:case Rc.IN_SELECT_IN_TABLE:case Rc.IN_FRAMESET:case Rc.AFTER_FRAMESET:this._insertCharacters(e);break;case Rc.IN_BODY:case Rc.IN_CAPTION:case Rc.IN_CELL:case Rc.IN_TEMPLATE:case Rc.AFTER_BODY:case Rc.AFTER_AFTER_BODY:case Rc.AFTER_AFTER_FRAMESET:tl(this,e);break;case Rc.IN_TABLE:case Rc.IN_TABLE_BODY:case Rc.IN_ROW:ul(this,e);break;case Rc.IN_TABLE_TEXT:El(this,e)}}}function Bc(e,t){let n=e.activeFormattingElements.getElementEntryInScopeWithTagName(t.tagName);return n?e.openElements.contains(n.element)?e.openElements.hasInScope(t.tagID)||(n=null):(e.activeFormattingElements.removeEntry(n),n=null):cl(e,t),n}function Fc(e,t){let n=null,r=e.openElements.stackTop;for(;r>=0;r--){const i=e.openElements.items[r];if(i===t.element)break;e._isSpecialElement(i,e.openElements.tagIDs[r])&&(n=i)}return n||(e.openElements.shortenToLength(r<0?0:r),e.activeFormattingElements.removeEntry(t)),n}function Uc(e,t,n){let r=t,i=e.openElements.getCommonAncestor(t);for(let s=0,a=i;a!==n;s++,a=i){i=e.openElements.getCommonAncestor(a);const n=e.activeFormattingElements.getElementEntry(a),o=n&&s>=3;!n||o?(o&&e.activeFormattingElements.removeEntry(n),e.openElements.remove(a)):(a=Hc(e,n),r===t&&(e.activeFormattingElements.bookmark=n),e.treeAdapter.detachNode(r),e.treeAdapter.appendChild(a,r),r=a)}return r}function Hc(e,t){const n=e.treeAdapter.getNamespaceURI(t.element),r=e.treeAdapter.createElement(t.token.tagName,n,t.token.attrs);return e.openElements.replace(t.element,r),t.element=r,r}function Gc(e,t,n){const r=Fo(e.treeAdapter.getTagName(t));if(e._isElementCausesFosterParenting(r))e._fosterParentElement(n);else{const i=e.treeAdapter.getNamespaceURI(t);r===Po.TEMPLATE&&i===vo.HTML&&(t=e.treeAdapter.getTemplateContent(t)),e.treeAdapter.appendChild(t,n)}}function Yc(e,t,n){const r=e.treeAdapter.getNamespaceURI(n.element),{token:i}=n,s=e.treeAdapter.createElement(i.tagName,r,i.attrs);e._adoptNodes(t,s),e.treeAdapter.appendChild(t,s),e.activeFormattingElements.insertElementAfterBookmark(s,i),e.activeFormattingElements.removeEntry(n),e.openElements.remove(n.element),e.openElements.insertAfter(t,s,i.tagID)}function qc(e,t){for(let n=0;n<8;n++){const n=Bc(e,t);if(!n)break;const r=Fc(e,n);if(!r)break;e.activeFormattingElements.bookmark=n;const i=Uc(e,r,n.element),s=e.openElements.getCommonAncestor(n.element);e.treeAdapter.detachNode(i),s&&Gc(e,s,i),Yc(e,r,n)}}function Kc(e,t){e._appendCommentNode(t,e.openElements.currentTmplContentOrNode)}function jc(e,t){if(e.stopped=!0,t.location){const n=e.fragmentContext?0:2;for(let r=e.openElements.stackTop;r>=n;r--)e._setEndLocation(e.openElements.items[r],t);if(!e.fragmentContext&&e.openElements.stackTop>=0){const n=e.openElements.items[0],r=e.treeAdapter.getNodeSourceCodeLocation(n);if(r&&!r.endTag&&(e._setEndLocation(n,t),e.openElements.stackTop>=1)){const n=e.openElements.items[1],r=e.treeAdapter.getNodeSourceCodeLocation(n);r&&!r.endTag&&e._setEndLocation(n,t)}}}}function Vc(e,t){e._err(t,Eo.missingDoctype,!0),e.treeAdapter.setDocumentMode(e.document,Ro.QUIRKS),e.insertionMode=Rc.BEFORE_HTML,e._processToken(t)}function Wc(e,t){e._insertFakeRootElement(),e.insertionMode=Rc.BEFORE_HEAD,e._processToken(t)}function Qc(e,t){e._insertFakeElement(Mo.HEAD,Po.HEAD),e.headElement=e.openElements.current,e.insertionMode=Rc.IN_HEAD,e._processToken(t)}function Xc(e,t){switch(t.tagID){case Po.HTML:ol(e,t);break;case Po.BASE:case Po.BASEFONT:case Po.BGSOUND:case Po.LINK:case Po.META:e._appendElement(t,vo.HTML),t.ackSelfClosing=!0;break;case Po.TITLE:e._switchToTextParsing(t,jo.RCDATA);break;case Po.NOSCRIPT:e.options.scriptingEnabled?e._switchToTextParsing(t,jo.RAWTEXT):(e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_HEAD_NO_SCRIPT);break;case Po.NOFRAMES:case Po.STYLE:e._switchToTextParsing(t,jo.RAWTEXT);break;case Po.SCRIPT:e._switchToTextParsing(t,jo.SCRIPT_DATA);break;case Po.TEMPLATE:e._insertTemplate(t),e.activeFormattingElements.insertMarker(),e.framesetOk=!1,e.insertionMode=Rc.IN_TEMPLATE,e.tmplInsertionModeStack.unshift(Rc.IN_TEMPLATE);break;case Po.HEAD:e._err(t,Eo.misplacedStartTagForHeadElement);break;default:zc(e,t)}}function $c(e,t){e.openElements.tmplCount>0?(e.openElements.generateImpliedEndTagsThoroughly(),e.openElements.currentTagId!==Po.TEMPLATE&&e._err(t,Eo.closingOfElementWithOpenChildElements),e.openElements.popUntilTagNamePopped(Po.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode()):e._err(t,Eo.endTagWithoutMatchingOpenElement)}function zc(e,t){e.openElements.pop(),e.insertionMode=Rc.AFTER_HEAD,e._processToken(t)}function Jc(e,t){const n=t.type===To.EOF?Eo.openElementsLeftAfterEof:Eo.disallowedContentInNoscriptInHead;e._err(t,n),e.openElements.pop(),e.insertionMode=Rc.IN_HEAD,e._processToken(t)}function Zc(e,t){e._insertFakeElement(Mo.BODY,Po.BODY),e.insertionMode=Rc.IN_BODY,el(e,t)}function el(e,t){switch(t.type){case To.CHARACTER:nl(e,t);break;case To.WHITESPACE_CHARACTER:tl(e,t);break;case To.COMMENT:Kc(e,t);break;case To.START_TAG:ol(e,t);break;case To.END_TAG:ll(e,t);break;case To.EOF:hl(e,t)}}function tl(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t)}function nl(e,t){e._reconstructActiveFormattingElements(),e._insertCharacters(t),e.framesetOk=!1}function rl(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,vo.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}function il(e){const t=_o(e,Do.TYPE);return null!=t&&"hidden"===t.toLowerCase()}function sl(e,t){e._switchToTextParsing(t,jo.RAWTEXT)}function al(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML)}function ol(e,t){switch(t.tagID){case Po.I:case Po.S:case Po.B:case Po.U:case Po.EM:case Po.TT:case Po.BIG:case Po.CODE:case Po.FONT:case Po.SMALL:case Po.STRIKE:case Po.STRONG:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.A:!function(e,t){const n=e.activeFormattingElements.getElementEntryInScopeWithTagName(Mo.A);n&&(qc(e,t),e.openElements.remove(n.element),e.activeFormattingElements.removeEntry(n)),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.H1:case Po.H2:case Po.H3:case Po.H4:case Po.H5:case Po.H6:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),Go(e.openElements.currentTagId)&&e.openElements.pop(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.P:case Po.DL:case Po.OL:case Po.UL:case Po.DIV:case Po.DIR:case Po.NAV:case Po.MAIN:case Po.MENU:case Po.ASIDE:case Po.CENTER:case Po.FIGURE:case Po.FOOTER:case Po.HEADER:case Po.HGROUP:case Po.DIALOG:case Po.DETAILS:case Po.ADDRESS:case Po.ARTICLE:case Po.SECTION:case Po.SUMMARY:case Po.FIELDSET:case Po.BLOCKQUOTE:case Po.FIGCAPTION:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.LI:case Po.DD:case Po.DT:!function(e,t){e.framesetOk=!1;const n=t.tagID;for(let t=e.openElements.stackTop;t>=0;t--){const r=e.openElements.tagIDs[t];if(n===Po.LI&&r===Po.LI||(n===Po.DD||n===Po.DT)&&(r===Po.DD||r===Po.DT)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.popUntilTagNamePopped(r);break}if(r!==Po.ADDRESS&&r!==Po.DIV&&r!==Po.P&&e._isSpecialElement(e.openElements.items[t],r))break}e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.BR:case Po.IMG:case Po.WBR:case Po.AREA:case Po.EMBED:case Po.KEYGEN:rl(e,t);break;case Po.HR:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._appendElement(t,vo.HTML),e.framesetOk=!1,t.ackSelfClosing=!0}(e,t);break;case Po.RB:case Po.RTC:!function(e,t){e.openElements.hasInScope(Po.RUBY)&&e.openElements.generateImpliedEndTags(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.RT:case Po.RP:!function(e,t){e.openElements.hasInScope(Po.RUBY)&&e.openElements.generateImpliedEndTagsWithExclusion(Po.RTC),e._insertElement(t,vo.HTML)}(e,t);break;case Po.PRE:case Po.LISTING:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.skipNextNewLine=!0,e.framesetOk=!1}(e,t);break;case Po.XMP:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._reconstructActiveFormattingElements(),e.framesetOk=!1,e._switchToTextParsing(t,jo.RAWTEXT)}(e,t);break;case Po.SVG:!function(e,t){e._reconstructActiveFormattingElements(),kc(t),vc(t),t.selfClosing?e._appendElement(t,vo.SVG):e._insertElement(t,vo.SVG),t.ackSelfClosing=!0}(e,t);break;case Po.HTML:!function(e,t){0===e.openElements.tmplCount&&e.treeAdapter.adoptAttributes(e.openElements.items[0],t.attrs)}(e,t);break;case Po.BASE:case Po.LINK:case Po.META:case Po.STYLE:case Po.TITLE:case Po.SCRIPT:case Po.BGSOUND:case Po.BASEFONT:case Po.TEMPLATE:Xc(e,t);break;case Po.BODY:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&0===e.openElements.tmplCount&&(e.framesetOk=!1,e.treeAdapter.adoptAttributes(n,t.attrs))}(e,t);break;case Po.FORM:!function(e,t){const n=e.openElements.tmplCount>0;e.formElement&&!n||(e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),n||(e.formElement=e.openElements.current))}(e,t);break;case Po.NOBR:!function(e,t){e._reconstructActiveFormattingElements(),e.openElements.hasInScope(Po.NOBR)&&(qc(e,t),e._reconstructActiveFormattingElements()),e._insertElement(t,vo.HTML),e.activeFormattingElements.pushElement(e.openElements.current,t)}(e,t);break;case Po.MATH:!function(e,t){e._reconstructActiveFormattingElements(),Lc(t),vc(t),t.selfClosing?e._appendElement(t,vo.MATHML):e._insertElement(t,vo.MATHML),t.ackSelfClosing=!0}(e,t);break;case Po.TABLE:!function(e,t){e.treeAdapter.getDocumentMode(e.document)!==Ro.QUIRKS&&e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=Rc.IN_TABLE}(e,t);break;case Po.INPUT:!function(e,t){e._reconstructActiveFormattingElements(),e._appendElement(t,vo.HTML),il(t)||(e.framesetOk=!1),t.ackSelfClosing=!0}(e,t);break;case Po.PARAM:case Po.TRACK:case Po.SOURCE:!function(e,t){e._appendElement(t,vo.HTML),t.ackSelfClosing=!0}(e,t);break;case Po.IMAGE:!function(e,t){t.tagName=Mo.IMG,t.tagID=Po.IMG,rl(e,t)}(e,t);break;case Po.BUTTON:!function(e,t){e.openElements.hasInScope(Po.BUTTON)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(Po.BUTTON)),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.framesetOk=!1}(e,t);break;case Po.APPLET:case Po.OBJECT:case Po.MARQUEE:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.activeFormattingElements.insertMarker(),e.framesetOk=!1}(e,t);break;case Po.IFRAME:!function(e,t){e.framesetOk=!1,e._switchToTextParsing(t,jo.RAWTEXT)}(e,t);break;case Po.SELECT:!function(e,t){e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML),e.framesetOk=!1,e.insertionMode=e.insertionMode===Rc.IN_TABLE||e.insertionMode===Rc.IN_CAPTION||e.insertionMode===Rc.IN_TABLE_BODY||e.insertionMode===Rc.IN_ROW||e.insertionMode===Rc.IN_CELL?Rc.IN_SELECT_IN_TABLE:Rc.IN_SELECT}(e,t);break;case Po.OPTION:case Po.OPTGROUP:!function(e,t){e.openElements.currentTagId===Po.OPTION&&e.openElements.pop(),e._reconstructActiveFormattingElements(),e._insertElement(t,vo.HTML)}(e,t);break;case Po.NOEMBED:sl(e,t);break;case Po.FRAMESET:!function(e,t){const n=e.openElements.tryPeekProperlyNestedBodyElement();e.framesetOk&&n&&(e.treeAdapter.detachNode(n),e.openElements.popAllUpToHtmlElement(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_FRAMESET)}(e,t);break;case Po.TEXTAREA:!function(e,t){e._insertElement(t,vo.HTML),e.skipNextNewLine=!0,e.tokenizer.state=jo.RCDATA,e.originalInsertionMode=e.insertionMode,e.framesetOk=!1,e.insertionMode=Rc.TEXT}(e,t);break;case Po.NOSCRIPT:e.options.scriptingEnabled?sl(e,t):al(e,t);break;case Po.PLAINTEXT:!function(e,t){e.openElements.hasInButtonScope(Po.P)&&e._closePElement(),e._insertElement(t,vo.HTML),e.tokenizer.state=jo.PLAINTEXT}(e,t);break;case Po.COL:case Po.TH:case Po.TD:case Po.TR:case Po.HEAD:case Po.FRAME:case Po.TBODY:case Po.TFOOT:case Po.THEAD:case Po.CAPTION:case Po.COLGROUP:break;default:al(e,t)}}function cl(e,t){const n=t.tagName,r=t.tagID;for(let t=e.openElements.stackTop;t>0;t--){const i=e.openElements.items[t],s=e.openElements.tagIDs[t];if(r===s&&(r!==Po.UNKNOWN||e.treeAdapter.getTagName(i)===n)){e.openElements.generateImpliedEndTagsWithExclusion(r),e.openElements.stackTop>=t&&e.openElements.shortenToLength(t);break}if(e._isSpecialElement(i,s))break}}function ll(e,t){switch(t.tagID){case Po.A:case Po.B:case Po.I:case Po.S:case Po.U:case Po.EM:case Po.TT:case Po.BIG:case Po.CODE:case Po.FONT:case Po.NOBR:case Po.SMALL:case Po.STRIKE:case Po.STRONG:qc(e,t);break;case Po.P:!function(e){e.openElements.hasInButtonScope(Po.P)||e._insertFakeElement(Mo.P,Po.P),e._closePElement()}(e);break;case Po.DL:case Po.UL:case Po.OL:case Po.DIR:case Po.DIV:case Po.NAV:case Po.PRE:case Po.MAIN:case Po.MENU:case Po.ASIDE:case Po.BUTTON:case Po.CENTER:case Po.FIGURE:case Po.FOOTER:case Po.HEADER:case Po.HGROUP:case Po.DIALOG:case Po.ADDRESS:case Po.ARTICLE:case Po.DETAILS:case Po.SECTION:case Po.SUMMARY:case Po.LISTING:case Po.FIELDSET:case Po.BLOCKQUOTE:case Po.FIGCAPTION:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case Po.LI:!function(e){e.openElements.hasInListItemScope(Po.LI)&&(e.openElements.generateImpliedEndTagsWithExclusion(Po.LI),e.openElements.popUntilTagNamePopped(Po.LI))}(e);break;case Po.DD:case Po.DT:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTagsWithExclusion(n),e.openElements.popUntilTagNamePopped(n))}(e,t);break;case Po.H1:case Po.H2:case Po.H3:case Po.H4:case Po.H5:case Po.H6:!function(e){e.openElements.hasNumberedHeaderInScope()&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilNumberedHeaderPopped())}(e);break;case Po.BR:!function(e){e._reconstructActiveFormattingElements(),e._insertFakeElement(Mo.BR,Po.BR),e.openElements.pop(),e.framesetOk=!1}(e);break;case Po.BODY:!function(e,t){if(e.openElements.hasInScope(Po.BODY)&&(e.insertionMode=Rc.AFTER_BODY,e.options.sourceCodeLocationInfo)){const n=e.openElements.tryPeekProperlyNestedBodyElement();n&&e._setEndLocation(n,t)}}(e,t);break;case Po.HTML:!function(e,t){e.openElements.hasInScope(Po.BODY)&&(e.insertionMode=Rc.AFTER_BODY,Ll(e,t))}(e,t);break;case Po.FORM:!function(e){const t=e.openElements.tmplCount>0,{formElement:n}=e;t||(e.formElement=null),(n||t)&&e.openElements.hasInScope(Po.FORM)&&(e.openElements.generateImpliedEndTags(),t?e.openElements.popUntilTagNamePopped(Po.FORM):n&&e.openElements.remove(n))}(e);break;case Po.APPLET:case Po.OBJECT:case Po.MARQUEE:!function(e,t){const n=t.tagID;e.openElements.hasInScope(n)&&(e.openElements.generateImpliedEndTags(),e.openElements.popUntilTagNamePopped(n),e.activeFormattingElements.clearToLastMarker())}(e,t);break;case Po.TEMPLATE:$c(e,t);break;default:cl(e,t)}}function hl(e,t){e.tmplInsertionModeStack.length>0?yl(e,t):jc(e,t)}function ul(e,t){if(Pc.has(e.openElements.currentTagId))switch(e.pendingCharacterTokens.length=0,e.hasNonWhitespacePendingCharacterToken=!1,e.originalInsertionMode=e.insertionMode,e.insertionMode=Rc.IN_TABLE_TEXT,t.type){case To.CHARACTER:ml(e,t);break;case To.WHITESPACE_CHARACTER:El(e,t)}else dl(e,t)}function pl(e,t){switch(t.tagID){case Po.TD:case Po.TH:case Po.TR:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Mo.TBODY,Po.TBODY),e.insertionMode=Rc.IN_TABLE_BODY,Nl(e,t)}(e,t);break;case Po.STYLE:case Po.SCRIPT:case Po.TEMPLATE:Xc(e,t);break;case Po.COL:!function(e,t){e.openElements.clearBackToTableContext(),e._insertFakeElement(Mo.COLGROUP,Po.COLGROUP),e.insertionMode=Rc.IN_COLUMN_GROUP,Al(e,t)}(e,t);break;case Po.FORM:!function(e,t){e.formElement||0!==e.openElements.tmplCount||(e._insertElement(t,vo.HTML),e.formElement=e.openElements.current,e.openElements.pop())}(e,t);break;case Po.TABLE:!function(e,t){e.openElements.hasInTableScope(Po.TABLE)&&(e.openElements.popUntilTagNamePopped(Po.TABLE),e._resetInsertionMode(),e._processStartTag(t))}(e,t);break;case Po.TBODY:case Po.TFOOT:case Po.THEAD:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_TABLE_BODY}(e,t);break;case Po.INPUT:!function(e,t){il(t)?e._appendElement(t,vo.HTML):dl(e,t),t.ackSelfClosing=!0}(e,t);break;case Po.CAPTION:!function(e,t){e.openElements.clearBackToTableContext(),e.activeFormattingElements.insertMarker(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_CAPTION}(e,t);break;case Po.COLGROUP:!function(e,t){e.openElements.clearBackToTableContext(),e._insertElement(t,vo.HTML),e.insertionMode=Rc.IN_COLUMN_GROUP}(e,t);break;default:dl(e,t)}}function fl(e,t){switch(t.tagID){case Po.TABLE:e.openElements.hasInTableScope(Po.TABLE)&&(e.openElements.popUntilTagNamePopped(Po.TABLE),e._resetInsertionMode());break;case Po.TEMPLATE:$c(e,t);break;case Po.BODY:case Po.CAPTION:case Po.COL:case Po.COLGROUP:case Po.HTML:case Po.TBODY:case Po.TD:case Po.TFOOT:case Po.TH:case Po.THEAD:case Po.TR:break;default:dl(e,t)}}function dl(e,t){const n=e.fosterParentingEnabled;e.fosterParentingEnabled=!0,el(e,t),e.fosterParentingEnabled=n}function El(e,t){e.pendingCharacterTokens.push(t)}function ml(e,t){e.pendingCharacterTokens.push(t),e.hasNonWhitespacePendingCharacterToken=!0}function Tl(e,t){let n=0;if(e.hasNonWhitespacePendingCharacterToken)for(;n0&&e.openElements.currentTagId===Po.OPTION&&e.openElements.tagIDs[e.openElements.stackTop-1]===Po.OPTGROUP&&e.openElements.pop(),e.openElements.currentTagId===Po.OPTGROUP&&e.openElements.pop();break;case Po.OPTION:e.openElements.currentTagId===Po.OPTION&&e.openElements.pop();break;case Po.SELECT:e.openElements.hasInSelectScope(Po.SELECT)&&(e.openElements.popUntilTagNamePopped(Po.SELECT),e._resetInsertionMode());break;case Po.TEMPLATE:$c(e,t)}}function yl(e,t){e.openElements.tmplCount>0?(e.openElements.popUntilTagNamePopped(Po.TEMPLATE),e.activeFormattingElements.clearToLastMarker(),e.tmplInsertionModeStack.shift(),e._resetInsertionMode(),e.onEof(t)):jc(e,t)}function Ll(e,t){var n;if(t.tagID===Po.HTML){if(e.fragmentContext||(e.insertionMode=Rc.AFTER_AFTER_BODY),e.options.sourceCodeLocationInfo&&e.openElements.tagIDs[0]===Po.HTML){e._setEndLocation(e.openElements.items[0],t);const r=e.openElements.items[1];r&&!(null===(n=e.treeAdapter.getNodeSourceCodeLocation(r))||void 0===n?void 0:n.endTag)&&e._setEndLocation(r,t)}}else kl(e,t)}function kl(e,t){e.insertionMode=Rc.IN_BODY,el(e,t)}function vl(e,t){e.insertionMode=Rc.IN_BODY,el(e,t)}function Dl(e){for(;e.treeAdapter.getNamespaceURI(e.openElements.current)!==vo.HTML&&!e._isIntegrationPoint(e.openElements.currentTagId,e.openElements.current);)e.openElements.pop()}var Rl=Ke((function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.escapeText=t.escapeAttribute=t.escapeUTF8=t.escape=t.encodeXML=t.getCodePoint=t.xmlReplacer=void 0,t.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var n=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function r(e){for(var r,i="",s=0;null!==(r=t.xmlReplacer.exec(e));){var a=r.index,o=e.charCodeAt(a),c=n.get(o);void 0!==c?(i+=e.substring(s,a)+c,s=a+1):(i+="".concat(e.substring(s,a),"&#x").concat((0,t.getCodePoint)(e,a).toString(16),";"),s=t.xmlReplacer.lastIndex+=Number(55296==(64512&o)))}return i+e.substr(s)}function i(e,t){return function(n){for(var r,i=0,s="";r=e.exec(n);)i!==r.index&&(s+=n.substring(i,r.index)),s+=t.get(r[0].charCodeAt(0)),i=r.index+1;return s+n.substring(i)}}t.getCodePoint=null!=String.prototype.codePointAt?function(e,t){return e.codePointAt(t)}:function(e,t){return 55296==(64512&e.charCodeAt(t))?1024*(e.charCodeAt(t)-55296)+e.charCodeAt(t+1)-56320+65536:e.charCodeAt(t)},t.encodeXML=r,t.escape=r,t.escapeUTF8=i(/[&<>'"]/g,n),t.escapeAttribute=i(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),t.escapeText=i(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]))}));qe(Rl);var Ml=Rl.escapeText,Pl=Rl.escapeAttribute;Rl.escapeUTF8,Rl.escape,Rl.encodeXML,Rl.getCodePoint,Rl.xmlReplacer;const xl=new Set([Mo.AREA,Mo.BASE,Mo.BASEFONT,Mo.BGSOUND,Mo.BR,Mo.COL,Mo.EMBED,Mo.FRAME,Mo.HR,Mo.IMG,Mo.INPUT,Mo.KEYGEN,Mo.LINK,Mo.META,Mo.PARAM,Mo.SOURCE,Mo.TRACK,Mo.WBR]);const wl={treeAdapter:Ec,scriptingEnabled:!0};function Bl(e,t){return Fl(e,{...wl,...t})}function Fl(e,t){return t.treeAdapter.isElementNode(e)?function(e,t){const n=t.treeAdapter.getTagName(e);return`<${n}${function(e,{treeAdapter:t}){let n="";for(const r of t.getAttrList(e)){if(n+=" ",r.namespace)switch(r.namespace){case vo.XML:n+=`xml:${r.name}`;break;case vo.XMLNS:"xmlns"!==r.name&&(n+="xmlns:"),n+=r.name;break;case vo.XLINK:n+=`xlink:${r.name}`;break;default:n+=`${r.prefix}:${r.name}`}else n+=r.name;n+=`="${Pl(r.value)}"`}return n}(e,t)}>${function(e,t){return t.treeAdapter.isElementNode(e)&&t.treeAdapter.getNamespaceURI(e)===vo.HTML&&xl.has(t.treeAdapter.getTagName(e))}(e,t)?"":`${function(e,t){let n="";const r=t.treeAdapter.isElementNode(e)&&t.treeAdapter.getTagName(e)===Mo.TEMPLATE&&t.treeAdapter.getNamespaceURI(e)===vo.HTML?t.treeAdapter.getTemplateContent(e):e,i=t.treeAdapter.getChildNodes(r);if(i)for(const e of i)n+=Fl(e,t);return n}(e,t)}`}`}(e,t):t.treeAdapter.isTextNode(e)?function(e,t){const{treeAdapter:n}=t,r=n.getTextNodeContent(e),i=n.getParentNode(e),s=i&&n.isElementNode(i)&&n.getTagName(i);return s&&n.getNamespaceURI(i)===vo.HTML&&(a=s,o=t.scriptingEnabled,Yo.has(a)||o&&a===Mo.NOSCRIPT)?r:Ml(r);var a,o}(e,t):t.treeAdapter.isCommentNode(e)?function(e,{treeAdapter:t}){return`\x3c!--${t.getCommentNodeContent(e)}--\x3e`}(e,t):t.treeAdapter.isDocumentTypeNode(e)?function(e,{treeAdapter:t}){return``}(e,t):""}function Ul(e){return new m(e)}function Hl(e){const t=e.includes('"')?"'":'"';return t+e+t}const Gl={isCommentNode:O,isElementNode:I,isTextNode:b,createDocument(){const e=new N([]);return e["x-mode"]=Ro.NO_QUIRKS,e},createDocumentFragment:()=>new N([]),createElement(e,t,n){const r=Object.create(null),i=Object.create(null),s=Object.create(null);for(let e=0;enew T(e),appendChild(e,t){const n=e.children[e.children.length-1];n&&(n.next=t,t.prev=n),e.children.push(t),t.parent=e},insertBefore(e,t,n){const r=e.children.indexOf(n),{prev:i}=n;i&&(i.next=t,t.prev=i),n.prev=t,t.next=n,e.children.splice(r,0,t),t.parent=e},setTemplateContent(e,t){Gl.appendChild(e,t)},getTemplateContent:e=>e.children[0],setDocumentType(e,t,n,r){const i=function(e,t,n){let r="!DOCTYPE ";return e&&(r+=e),t?r+=` PUBLIC ${Hl(t)}`:n&&(r+=" SYSTEM"),n&&(r+=` ${Hl(n)}`),r}(t,n,r);let s=e.children.find((e=>y(e)&&"!doctype"===e.name));s?s.data=null!=i?i:null:(s=new _("!doctype",i),Gl.appendChild(e,s)),s["x-name"]=null!=t?t:void 0,s["x-publicId"]=null!=n?n:void 0,s["x-systemId"]=null!=r?r:void 0},setDocumentMode(e,t){e["x-mode"]=t},getDocumentMode:e=>e["x-mode"],detachNode(e){if(e.parent){const t=e.parent.children.indexOf(e),{prev:n,next:r}=e;e.prev=null,e.next=null,n&&(n.next=r),r&&(r.prev=n),e.parent.children.splice(t,1),e.parent=null}},insertText(e,t){const n=e.children[e.children.length-1];n&&b(n)?n.data+=t:Gl.appendChild(e,Ul(t))},insertTextBefore(e,t,n){const r=e.children[e.children.indexOf(n)-1];r&&b(r)?r.data+=t:Gl.insertBefore(e,Ul(t),n)},adoptAttributes(e,t){for(let n=0;ne.children[0],getChildNodes:e=>e.children,getParentNode:e=>e.parent,getAttrList:e=>e.attributes,getTagName:e=>e.name,getNamespaceURI:e=>e.namespace,getTextNodeContent:e=>e.data,getCommentNodeContent:e=>e.data,getDocumentTypeNodeName(e){var t;return null!==(t=e["x-name"])&&void 0!==t?t:""},getDocumentTypeNodePublicId(e){var t;return null!==(t=e["x-publicId"])&&void 0!==t?t:""},getDocumentTypeNodeSystemId(e){var t;return null!==(t=e["x-systemId"])&&void 0!==t?t:""},isDocumentTypeNode:e=>y(e)&&"!doctype"===e.name,setNodeSourceCodeLocation(e,t){t&&(e.startIndex=t.startOffset,e.endIndex=t.endOffset),e.sourceCodeLocation=t},getNodeSourceCodeLocation:e=>e.sourceCodeLocation,updateNodeSourceCodeLocation(e,t){null!=t.endOffset&&(e.endIndex=t.endOffset),e.sourceCodeLocation={...e.sourceCodeLocation,...t}}};var Yl=function(e,t,n){if(n||2===arguments.length)for(var r,i=0,s=t.length;i=Kl.Zero&&e<=Kl.Nine}!function(e){e[e.Tab=9]="Tab",e[e.NewLine=10]="NewLine",e[e.FormFeed=12]="FormFeed",e[e.CarriageReturn=13]="CarriageReturn",e[e.Space=32]="Space",e[e.ExclamationMark=33]="ExclamationMark",e[e.Num=35]="Num",e[e.Amp=38]="Amp",e[e.SingleQuote=39]="SingleQuote",e[e.DoubleQuote=34]="DoubleQuote",e[e.Dash=45]="Dash",e[e.Slash=47]="Slash",e[e.Zero=48]="Zero",e[e.Nine=57]="Nine",e[e.Semi=59]="Semi",e[e.Lt=60]="Lt",e[e.Eq=61]="Eq",e[e.Gt=62]="Gt",e[e.Questionmark=63]="Questionmark",e[e.UpperA=65]="UpperA",e[e.LowerA=97]="LowerA",e[e.UpperF=70]="UpperF",e[e.LowerF=102]="LowerF",e[e.UpperZ=90]="UpperZ",e[e.LowerZ=122]="LowerZ",e[e.LowerX=120]="LowerX",e[e.OpeningSquareBracket=91]="OpeningSquareBracket"}(Kl||(Kl={})),function(e){e[e.Text=1]="Text",e[e.BeforeTagName=2]="BeforeTagName",e[e.InTagName=3]="InTagName",e[e.InSelfClosingTag=4]="InSelfClosingTag",e[e.BeforeClosingTagName=5]="BeforeClosingTagName",e[e.InClosingTagName=6]="InClosingTagName",e[e.AfterClosingTagName=7]="AfterClosingTagName",e[e.BeforeAttributeName=8]="BeforeAttributeName",e[e.InAttributeName=9]="InAttributeName",e[e.AfterAttributeName=10]="AfterAttributeName",e[e.BeforeAttributeValue=11]="BeforeAttributeValue",e[e.InAttributeValueDq=12]="InAttributeValueDq",e[e.InAttributeValueSq=13]="InAttributeValueSq",e[e.InAttributeValueNq=14]="InAttributeValueNq",e[e.BeforeDeclaration=15]="BeforeDeclaration",e[e.InDeclaration=16]="InDeclaration",e[e.InProcessingInstruction=17]="InProcessingInstruction",e[e.BeforeComment=18]="BeforeComment",e[e.CDATASequence=19]="CDATASequence",e[e.InSpecialComment=20]="InSpecialComment",e[e.InCommentLike=21]="InCommentLike",e[e.BeforeSpecialS=22]="BeforeSpecialS",e[e.SpecialStartSequence=23]="SpecialStartSequence",e[e.InSpecialTag=24]="InSpecialTag",e[e.BeforeEntity=25]="BeforeEntity",e[e.BeforeNumericEntity=26]="BeforeNumericEntity",e[e.InNamedEntity=27]="InNamedEntity",e[e.InNumericEntity=28]="InNumericEntity",e[e.InHexEntity=29]="InHexEntity"}(jl||(jl={})),function(e){e[e.NoValue=0]="NoValue",e[e.Unquoted=1]="Unquoted",e[e.Single=2]="Single",e[e.Double=3]="Double"}(Vl||(Vl={}));const zl={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101])};class Jl{constructor({xmlMode:e=!1,decodeEntities:t=!0},n){this.cbs=n,this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.sequenceIndex=0,this.trieIndex=0,this.trieCurrent=0,this.entityResult=0,this.entityExcess=0,this.xmlMode=e,this.decodeEntities=t,this.entityTrie=e?xo:wo}reset(){this.state=jl.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=jl.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(e){this.offset+=this.buffer.length,this.buffer=e,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.indexthis.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=jl.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&e===Kl.Amp&&(this.state=jl.BeforeEntity)}stateSpecialStartSequence(e){const t=this.sequenceIndex===this.currentSequence.length;if(t?Xl(e):(32|e)===this.currentSequence[this.sequenceIndex]){if(!t)return void this.sequenceIndex++}else this.isSpecial=!1;this.sequenceIndex=0,this.state=jl.InTagName,this.stateInTagName(e)}stateInSpecialTag(e){if(this.sequenceIndex===this.currentSequence.length){if(e===Kl.Gt||Ql(e)){const t=this.index-this.currentSequence.length;if(this.sectionStart=Kl.LowerA&&e<=Kl.LowerZ||e>=Kl.UpperA&&e<=Kl.UpperZ}(e)}startSpecial(e,t){this.isSpecial=!0,this.currentSequence=e,this.sequenceIndex=t,this.state=jl.SpecialStartSequence}stateBeforeTagName(e){if(e===Kl.ExclamationMark)this.state=jl.BeforeDeclaration,this.sectionStart=this.index+1;else if(e===Kl.Questionmark)this.state=jl.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(e)){const t=32|e;this.sectionStart=this.index,this.xmlMode||t!==zl.TitleEnd[2]?this.state=this.xmlMode||t!==zl.ScriptEnd[2]?jl.InTagName:jl.BeforeSpecialS:this.startSpecial(zl.TitleEnd,3)}else e===Kl.Slash?this.state=jl.BeforeClosingTagName:(this.state=jl.Text,this.stateText(e))}stateInTagName(e){Xl(e)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateBeforeClosingTagName(e){Ql(e)||(e===Kl.Gt?this.state=jl.Text:(this.state=this.isTagStartChar(e)?jl.InClosingTagName:jl.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(e){(e===Kl.Gt||Ql(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterClosingTagName,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(e){e===Kl.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=jl.InSpecialTag,this.sequenceIndex=0):this.state=jl.Text,this.baseState=this.state,this.sectionStart=this.index+1):e===Kl.Slash?this.state=jl.InSelfClosingTag:Ql(e)||(this.state=jl.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===Kl.Gt?(this.cbs.onselfclosingtag(this.index),this.state=jl.Text,this.baseState=jl.Text,this.sectionStart=this.index+1,this.isSpecial=!1):Ql(e)||(this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e))}stateInAttributeName(e){(e===Kl.Eq||Xl(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=-1,this.state=jl.AfterAttributeName,this.stateAfterAttributeName(e))}stateAfterAttributeName(e){e===Kl.Eq?this.state=jl.BeforeAttributeValue:e===Kl.Slash||e===Kl.Gt?(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):Ql(e)||(this.cbs.onattribend(Vl.NoValue,this.index),this.state=jl.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(e){e===Kl.DoubleQuote?(this.state=jl.InAttributeValueDq,this.sectionStart=this.index+1):e===Kl.SingleQuote?(this.state=jl.InAttributeValueSq,this.sectionStart=this.index+1):Ql(e)||(this.sectionStart=this.index,this.state=jl.InAttributeValueNq,this.stateInAttributeValueNoQuotes(e))}handleInAttributeValue(e,t){e===t||!this.decodeEntities&&this.fastForwardTo(t)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(t===Kl.DoubleQuote?Vl.Double:Vl.Single,this.index),this.state=jl.BeforeAttributeName):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateInAttributeValueDoubleQuotes(e){this.handleInAttributeValue(e,Kl.DoubleQuote)}stateInAttributeValueSingleQuotes(e){this.handleInAttributeValue(e,Kl.SingleQuote)}stateInAttributeValueNoQuotes(e){Ql(e)||e===Kl.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(Vl.Unquoted,this.index),this.state=jl.BeforeAttributeName,this.stateBeforeAttributeName(e)):this.decodeEntities&&e===Kl.Amp&&(this.baseState=this.state,this.state=jl.BeforeEntity)}stateBeforeDeclaration(e){e===Kl.OpeningSquareBracket?(this.state=jl.CDATASequence,this.sequenceIndex=0):this.state=e===Kl.Dash?jl.BeforeComment:jl.InDeclaration}stateInDeclaration(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeComment(e){e===Kl.Dash?(this.state=jl.InCommentLike,this.currentSequence=zl.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=jl.InDeclaration}stateInSpecialComment(e){(e===Kl.Gt||this.fastForwardTo(Kl.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=jl.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){const t=32|e;t===zl.ScriptEnd[3]?this.startSpecial(zl.ScriptEnd,4):t===zl.StyleEnd[3]?this.startSpecial(zl.StyleEnd,4):(this.state=jl.InTagName,this.stateInTagName(e))}stateBeforeEntity(e){this.entityExcess=1,this.entityResult=0,e===Kl.Num?this.state=jl.BeforeNumericEntity:e===Kl.Amp||(this.trieIndex=0,this.trieCurrent=this.entityTrie[0],this.state=jl.InNamedEntity,this.stateInNamedEntity(e))}stateInNamedEntity(e){if(this.entityExcess+=1,this.trieIndex=Oo(this.entityTrie,this.trieCurrent,this.trieIndex+1,e),this.trieIndex<0)return this.emitNamedEntity(),void this.index--;this.trieCurrent=this.entityTrie[this.trieIndex];const t=this.trieCurrent&yo.VALUE_LENGTH;if(t){const n=(t>>14)-1;if(this.allowLegacyEntity()||e===Kl.Semi){const e=this.index-this.entityExcess+1;e>this.sectionStart&&this.emitPartial(this.sectionStart,e),this.entityResult=this.trieIndex,this.trieIndex+=n,this.entityExcess=0,this.sectionStart=this.index+1,0===n&&this.emitNamedEntity()}else this.trieIndex+=n}}emitNamedEntity(){if(this.state=this.baseState,0===this.entityResult)return;switch((this.entityTrie[this.entityResult]&yo.VALUE_LENGTH)>>14){case 1:this.emitCodePoint(this.entityTrie[this.entityResult]&~yo.VALUE_LENGTH);break;case 2:this.emitCodePoint(this.entityTrie[this.entityResult+1]);break;case 3:this.emitCodePoint(this.entityTrie[this.entityResult+1]),this.emitCodePoint(this.entityTrie[this.entityResult+2])}}stateBeforeNumericEntity(e){(32|e)===Kl.LowerX?(this.entityExcess++,this.state=jl.InHexEntity):(this.state=jl.InNumericEntity,this.stateInNumericEntity(e))}emitNumericEntity(e){const t=this.index-this.entityExcess-1;t+2+Number(this.state===jl.InHexEntity)!==this.index&&(t>this.sectionStart&&this.emitPartial(this.sectionStart,t),this.sectionStart=this.index+Number(e),this.emitCodePoint(ko(this.entityResult))),this.state=this.baseState}stateInNumericEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=10*this.entityResult+(e-Kl.Zero),this.entityExcess++):(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--)}stateInHexEntity(e){e===Kl.Semi?this.emitNumericEntity(!0):$l(e)?(this.entityResult=16*this.entityResult+(e-Kl.Zero),this.entityExcess++):!function(e){return e>=Kl.UpperA&&e<=Kl.UpperF||e>=Kl.LowerA&&e<=Kl.LowerF}(e)?(this.allowLegacyEntity()?this.emitNumericEntity(!1):this.state=this.baseState,this.index--):(this.entityResult=16*this.entityResult+((32|e)-Kl.LowerA+10),this.entityExcess++)}allowLegacyEntity(){return!this.xmlMode&&(this.baseState===jl.Text||this.baseState===jl.InSpecialTag)}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===jl.Text||this.state===jl.InSpecialTag&&0===this.sequenceIndex?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):this.state!==jl.InAttributeValueDq&&this.state!==jl.InAttributeValueSq&&this.state!==jl.InAttributeValueNq||(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index0&&s.has(this.stack[this.stack.length-1]);){const e=this.stack.pop();null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,e,!0)}this.isVoidElement(e)||(this.stack.push(e),ah.has(e)?this.foreignContext.push(!0):oh.has(e)&&this.foreignContext.push(!1)),null===(i=(r=this.cbs).onopentagname)||void 0===i||i.call(r,e),this.cbs.onopentag&&(this.attribs={})}endOpenTag(e){var t,n;this.startIndex=this.openTagStart,this.attribs&&(null===(n=(t=this.cbs).onopentag)||void 0===n||n.call(t,this.tagname,this.attribs,e),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(e){this.endIndex=e,this.endOpenTag(!1),this.startIndex=e+1}onclosetag(e,t){var n,r,i,s,a,o;this.endIndex=t;let c=this.getSlice(e,t);if(this.lowerCaseTagNames&&(c=c.toLowerCase()),(ah.has(c)||oh.has(c))&&this.foreignContext.pop(),this.isVoidElement(c))this.options.xmlMode||"br"!==c||(null===(r=(n=this.cbs).onopentagname)||void 0===r||r.call(n,"br"),null===(s=(i=this.cbs).onopentag)||void 0===s||s.call(i,"br",{},!0),null===(o=(a=this.cbs).onclosetag)||void 0===o||o.call(a,"br",!1));else{const e=this.stack.lastIndexOf(c);if(-1!==e)if(this.cbs.onclosetag){let t=this.stack.length-e;for(;t--;)this.cbs.onclosetag(this.stack.pop(),0!==t)}else this.stack.length=e;else this.options.xmlMode||"p"!==c||(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=t+1}onselfclosingtag(e){this.endIndex=e,this.options.xmlMode||this.options.recognizeSelfClosing||this.foreignContext[this.foreignContext.length-1]?(this.closeCurrentTag(!1),this.startIndex=e+1):this.onopentagend(e)}closeCurrentTag(e){var t,n;const r=this.tagname;this.endOpenTag(e),this.stack[this.stack.length-1]===r&&(null===(n=(t=this.cbs).onclosetag)||void 0===n||n.call(t,r,!e),this.stack.pop())}onattribname(e,t){this.startIndex=e;const n=this.getSlice(e,t);this.attribname=this.lowerCaseAttributeNames?n.toLowerCase():n}onattribdata(e,t){this.attribvalue+=this.getSlice(e,t)}onattribentity(e){this.attribvalue+=Lo(e)}onattribend(e,t){var n,r;this.endIndex=t,null===(r=(n=this.cbs).onattribute)||void 0===r||r.call(n,this.attribname,this.attribvalue,e===Vl.Double?'"':e===Vl.Single?"'":e===Vl.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(e){const t=e.search(ch);let n=t<0?e:e.substr(0,t);return this.lowerCaseTagNames&&(n=n.toLowerCase()),n}ondeclaration(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`!${e}`,`!${n}`)}this.startIndex=t+1}onprocessinginstruction(e,t){this.endIndex=t;const n=this.getSlice(e,t);if(this.cbs.onprocessinginstruction){const e=this.getInstructionName(n);this.cbs.onprocessinginstruction(`?${e}`,`?${n}`)}this.startIndex=t+1}oncomment(e,t,n){var r,i,s,a;this.endIndex=t,null===(i=(r=this.cbs).oncomment)||void 0===i||i.call(r,this.getSlice(e,t-n)),null===(a=(s=this.cbs).oncommentend)||void 0===a||a.call(s),this.startIndex=t+1}oncdata(e,t,n){var r,i,s,a,o,c,l,h,u,p;this.endIndex=t;const f=this.getSlice(e,t-n);this.options.xmlMode||this.options.recognizeCDATA?(null===(i=(r=this.cbs).oncdatastart)||void 0===i||i.call(r),null===(a=(s=this.cbs).ontext)||void 0===a||a.call(s,f),null===(c=(o=this.cbs).oncdataend)||void 0===c||c.call(o)):(null===(h=(l=this.cbs).oncomment)||void 0===h||h.call(l,`[CDATA[${f}]]`),null===(p=(u=this.cbs).oncommentend)||void 0===p||p.call(u)),this.startIndex=t+1}onend(){var e,t;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let e=this.stack.length;e>0;this.cbs.onclosetag(this.stack[--e],!0));}null===(t=(e=this.cbs).onend)||void 0===t||t.call(e)}reset(){var e,t,n,r;null===(t=(e=this.cbs).onreset)||void 0===t||t.call(e),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,null===(r=(n=this.cbs).onparserinit)||void 0===r||r.call(n,this),this.buffers.length=0,this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(e){this.reset(),this.end(e)}getSlice(e,t){for(;e-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let n=this.buffers[0].slice(e-this.bufferOffset,t-this.bufferOffset);for(;t-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),n+=this.buffers[0].slice(0,t-this.bufferOffset);return n}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,new Error(".write() after done!")):(this.buffers.push(e),this.tokenizer.running&&(this.tokenizer.write(e),this.writeIndex++))}end(e){var t,n;this.ended?null===(n=(t=this.cbs).onerror)||void 0===n||n.call(t,Error(".end() after done!")):(e&&this.write(e),this.ended=!0,this.tokenizer.end())}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var j = 0; j < thatSigBytes; j += 4) { + thisWords[(thisSigBytes + j) >>> 2] = thatWords[j >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + for (var i = 0; i < nBytes; i += 4) { + words.push(cryptoSecureRandomInt()); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + var processedWords; + + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; + }(Math)); + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var X32WordArray = C_lib.WordArray; + + /** + * x64 namespace. + */ + var C_x64 = C.x64 = {}; + + /** + * A 64-bit word. + */ + var X64Word = C_x64.Word = Base.extend({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function (high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, low); + // } + }); + + /** + * An array of 64-bit words. + * + * @property {Array} words The array of CryptoJS.x64.Word objects. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var X64WordArray = C_x64.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function () { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + var x32Words = []; + for (var i = 0; i < x64WordsLength; i++) { + var x64Word = x64Words[i]; + x32Words.push(x64Word.high); + x32Words.push(x64Word.low); + } + + return X32WordArray.create(x32Words, this.sigBytes); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); + }()); + + + (function () { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function (typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + if ( + typedArray instanceof Int8Array || + (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || + typedArray instanceof Int16Array || + typedArray instanceof Uint16Array || + typedArray instanceof Int32Array || + typedArray instanceof Uint32Array || + typedArray instanceof Float32Array || + typedArray instanceof Float64Array + ) { + typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * UTF-16 BE encoding strategy. + */ + var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + /** + * UTF-16 LE encoding strategy. + */ + C_enc.Utf16LE = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16)); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + function swapEndian(word) { + return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64 encoding strategy. + */ + var Base64 = C_enc.Base64 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function (base64Str) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + var bitsCombined = bits1 | bits2; + words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64url encoding strategy. + */ + var Base64url = C_enc.Base64url = { + /** + * Converts a word array to a Base64url string. + * + * @param {WordArray} wordArray The word array. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {string} The Base64url string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64url.stringify(wordArray); + */ + stringify: function (wordArray, urlSafe=true) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = urlSafe ? this._safe_map : this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64url string to a word array. + * + * @param {string} base64Str The Base64url string. + * + * @param {boolean} urlSafe Whether to use url safe + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64url.parse(base64String); + */ + parse: function (base64Str, urlSafe=true) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = urlSafe ? this._safe_map : this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', + _safe_map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_', + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + var bitsCombined = bits1 | bits2; + words[nBytes >>> 2] |= bitsCombined << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } + }()); + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function () { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + var H = this._hash.words; + + var M_offset_0 = M[offset + 0]; + var M_offset_1 = M[offset + 1]; + var M_offset_2 = M[offset + 2]; + var M_offset_3 = M[offset + 3]; + var M_offset_4 = M[offset + 4]; + var M_offset_5 = M[offset + 5]; + var M_offset_6 = M[offset + 6]; + var M_offset_7 = M[offset + 7]; + var M_offset_8 = M[offset + 8]; + var M_offset_9 = M[offset + 9]; + var M_offset_10 = M[offset + 10]; + var M_offset_11 = M[offset + 11]; + var M_offset_12 = M[offset + 12]; + var M_offset_13 = M[offset + 13]; + var M_offset_14 = M[offset + 14]; + var M_offset_15 = M[offset + 15]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + a = FF(a, b, c, d, M_offset_0, 7, T[0]); + d = FF(d, a, b, c, M_offset_1, 12, T[1]); + c = FF(c, d, a, b, M_offset_2, 17, T[2]); + b = FF(b, c, d, a, M_offset_3, 22, T[3]); + a = FF(a, b, c, d, M_offset_4, 7, T[4]); + d = FF(d, a, b, c, M_offset_5, 12, T[5]); + c = FF(c, d, a, b, M_offset_6, 17, T[6]); + b = FF(b, c, d, a, M_offset_7, 22, T[7]); + a = FF(a, b, c, d, M_offset_8, 7, T[8]); + d = FF(d, a, b, c, M_offset_9, 12, T[9]); + c = FF(c, d, a, b, M_offset_10, 17, T[10]); + b = FF(b, c, d, a, M_offset_11, 22, T[11]); + a = FF(a, b, c, d, M_offset_12, 7, T[12]); + d = FF(d, a, b, c, M_offset_13, 12, T[13]); + c = FF(c, d, a, b, M_offset_14, 17, T[14]); + b = FF(b, c, d, a, M_offset_15, 22, T[15]); + + a = GG(a, b, c, d, M_offset_1, 5, T[16]); + d = GG(d, a, b, c, M_offset_6, 9, T[17]); + c = GG(c, d, a, b, M_offset_11, 14, T[18]); + b = GG(b, c, d, a, M_offset_0, 20, T[19]); + a = GG(a, b, c, d, M_offset_5, 5, T[20]); + d = GG(d, a, b, c, M_offset_10, 9, T[21]); + c = GG(c, d, a, b, M_offset_15, 14, T[22]); + b = GG(b, c, d, a, M_offset_4, 20, T[23]); + a = GG(a, b, c, d, M_offset_9, 5, T[24]); + d = GG(d, a, b, c, M_offset_14, 9, T[25]); + c = GG(c, d, a, b, M_offset_3, 14, T[26]); + b = GG(b, c, d, a, M_offset_8, 20, T[27]); + a = GG(a, b, c, d, M_offset_13, 5, T[28]); + d = GG(d, a, b, c, M_offset_2, 9, T[29]); + c = GG(c, d, a, b, M_offset_7, 14, T[30]); + b = GG(b, c, d, a, M_offset_12, 20, T[31]); + + a = HH(a, b, c, d, M_offset_5, 4, T[32]); + d = HH(d, a, b, c, M_offset_8, 11, T[33]); + c = HH(c, d, a, b, M_offset_11, 16, T[34]); + b = HH(b, c, d, a, M_offset_14, 23, T[35]); + a = HH(a, b, c, d, M_offset_1, 4, T[36]); + d = HH(d, a, b, c, M_offset_4, 11, T[37]); + c = HH(c, d, a, b, M_offset_7, 16, T[38]); + b = HH(b, c, d, a, M_offset_10, 23, T[39]); + a = HH(a, b, c, d, M_offset_13, 4, T[40]); + d = HH(d, a, b, c, M_offset_0, 11, T[41]); + c = HH(c, d, a, b, M_offset_3, 16, T[42]); + b = HH(b, c, d, a, M_offset_6, 23, T[43]); + a = HH(a, b, c, d, M_offset_9, 4, T[44]); + d = HH(d, a, b, c, M_offset_12, 11, T[45]); + c = HH(c, d, a, b, M_offset_15, 16, T[46]); + b = HH(b, c, d, a, M_offset_2, 23, T[47]); + + a = II(a, b, c, d, M_offset_0, 6, T[48]); + d = II(d, a, b, c, M_offset_7, 10, T[49]); + c = II(c, d, a, b, M_offset_14, 15, T[50]); + b = II(b, c, d, a, M_offset_5, 21, T[51]); + a = II(a, b, c, d, M_offset_12, 6, T[52]); + d = II(d, a, b, c, M_offset_3, 10, T[53]); + c = II(c, d, a, b, M_offset_10, 15, T[54]); + b = II(b, c, d, a, M_offset_1, 21, T[55]); + a = II(a, b, c, d, M_offset_8, 6, T[56]); + d = II(d, a, b, c, M_offset_15, 10, T[57]); + c = II(c, d, a, b, M_offset_6, 15, T[58]); + b = II(b, c, d, a, M_offset_13, 21, T[59]); + a = II(a, b, c, d, M_offset_4, 6, T[60]); + d = II(d, a, b, c, M_offset_11, 10, T[61]); + c = II(c, d, a, b, M_offset_2, 15, T[62]); + b = II(b, c, d, a, M_offset_9, 21, T[63]); + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + function FF(a, b, c, d, x, s, t) { + var n = a + ((b & c) | (~b & d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function GG(a, b, c, d, x, s, t) { + var n = a + ((b & d) | (c & ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.MD5('message'); + * var hash = CryptoJS.MD5(wordArray); + */ + C.MD5 = Hasher._createHelper(MD5); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacMD5(message, key); + */ + C.HmacMD5 = Hasher._createHmacHelper(MD5); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + for (var i = 0; i < 80; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + W[i] = (n << 1) | (n >>> 31); + } + + var t = ((a << 5) | (a >>> 27)) + e + W[i]; + if (i < 20) { + t += ((b & c) | (~b & d)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA1('message'); + * var hash = CryptoJS.SHA1(wordArray); + */ + C.SHA1 = Hasher._createHelper(SHA1); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA1(message, key); + */ + C.HmacSHA1 = Hasher._createHmacHelper(SHA1); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (function () { + function isPrime(n) { + var sqrtN = Math.sqrt(n); + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false; + } + } + + return true; + } + + function getFractionalBits(n) { + return ((n - (n | 0)) * 0x100000000) | 0; + } + + var n = 2; + var nPrime = 0; + while (nPrime < 64) { + if (isPrime(n)) { + if (nPrime < 8) { + H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); + + nPrime++; + } + + n++; + } + }()); + + // Reusable object + var W = []; + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + var f = H[5]; + var g = H[6]; + var h = H[7]; + + // Computation + for (var i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var gamma0x = W[i - 15]; + var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ + ((gamma0x << 14) | (gamma0x >>> 18)) ^ + (gamma0x >>> 3); + + var gamma1x = W[i - 2]; + var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ + ((gamma1x << 13) | (gamma1x >>> 19)) ^ + (gamma1x >>> 10); + + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + + var ch = (e & f) ^ (~e & g); + var maj = (a & b) ^ (a & c) ^ (b & c); + + var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); + var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); + + var t1 = h + sigma1 + ch + K[i] + W[i]; + var t2 = sigma0 + maj; + + h = g; + g = f; + f = e; + e = (d + t1) | 0; + d = c; + c = b; + b = a; + a = (t1 + t2) | 0; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + H[5] = (H[5] + f) | 0; + H[6] = (H[6] + g) | 0; + H[7] = (H[7] + h) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA256('message'); + * var hash = CryptoJS.SHA256(wordArray); + */ + C.SHA256 = Hasher._createHelper(SHA256); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA256(message, key); + */ + C.HmacSHA256 = Hasher._createHmacHelper(SHA256); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA256 = C_algo.SHA256; + + /** + * SHA-224 hash algorithm. + */ + var SHA224 = C_algo.SHA224 = SHA256.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _doFinalize: function () { + var hash = SHA256._doFinalize.call(this); + + hash.sigBytes -= 4; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA224('message'); + * var hash = CryptoJS.SHA224(wordArray); + */ + C.SHA224 = SHA256._createHelper(SHA224); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA224(message, key); + */ + C.HmacSHA224 = SHA256._createHmacHelper(SHA224); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + + function X64Word_create() { + return X64Word.create.apply(X64Word, arguments); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + var W = []; + (function () { + for (var i = 0; i < 80; i++) { + W[i] = X64Word_create(); + } + }()); + + /** + * SHA-512 hash algorithm. + */ + var SHA512 = C_algo.SHA512 = Hasher.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var H = this._hash.words; + + var H0 = H[0]; + var H1 = H[1]; + var H2 = H[2]; + var H3 = H[3]; + var H4 = H[4]; + var H5 = H[5]; + var H6 = H[6]; + var H7 = H[7]; + + var H0h = H0.high; + var H0l = H0.low; + var H1h = H1.high; + var H1l = H1.low; + var H2h = H2.high; + var H2l = H2.low; + var H3h = H3.high; + var H3l = H3.low; + var H4h = H4.high; + var H4l = H4.low; + var H5h = H5.high; + var H5l = H5.low; + var H6h = H6.high; + var H6l = H6.low; + var H7h = H7.high; + var H7l = H7.low; + + // Working variables + var ah = H0h; + var al = H0l; + var bh = H1h; + var bl = H1l; + var ch = H2h; + var cl = H2l; + var dh = H3h; + var dl = H3l; + var eh = H4h; + var el = H4l; + var fh = H5h; + var fl = H5l; + var gh = H6h; + var gl = H6l; + var hh = H7h; + var hl = H7l; + + // Rounds + for (var i = 0; i < 80; i++) { + var Wil; + var Wih; + + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + Wih = Wi.high = M[offset + i * 2] | 0; + Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + var gamma0x = W[i - 15]; + var gamma0xh = gamma0x.high; + var gamma0xl = gamma0x.low; + var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7); + var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25)); + + // Gamma1 + var gamma1x = W[i - 2]; + var gamma1xh = gamma1x.high; + var gamma1xl = gamma1x.low; + var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6); + var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7 = W[i - 7]; + var Wi7h = Wi7.high; + var Wi7l = Wi7.low; + + var Wi16 = W[i - 16]; + var Wi16h = Wi16.high; + var Wi16l = Wi16.low; + + Wil = gamma0l + Wi7l; + Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0); + Wil = Wil + gamma1l; + Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0); + Wil = Wil + Wi16l; + Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0); + + Wi.high = Wih; + Wi.low = Wil; + } + + var chh = (eh & fh) ^ (~eh & gh); + var chl = (el & fl) ^ (~el & gl); + var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); + var majl = (al & bl) ^ (al & cl) ^ (bl & cl); + + var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7)); + var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7)); + var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9)); + var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + var Ki = K[i]; + var Kih = Ki.high; + var Kil = Ki.low; + + var t1l = hl + sigma1l; + var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0); + var t1l = t1l + chl; + var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0); + var t1l = t1l + Kil; + var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0); + var t1l = t1l + Wil; + var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = (dl + t1l) | 0; + eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = (t1l + t2l) | 0; + ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0; + } + + // Intermediate hash value + H0l = H0.low = (H0l + al); + H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0)); + H1l = H1.low = (H1l + bl); + H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0)); + H2l = H2.low = (H2l + cl); + H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0)); + H3l = H3.low = (H3l + dl); + H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0)); + H4l = H4.low = (H4l + el); + H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0)); + H5l = H5.low = (H5l + fl); + H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0)); + H6l = H6.low = (H6l + gl); + H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0)); + H7l = H7.low = (H7l + hl); + H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0)); + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + }, + + blockSize: 1024/32 + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA512('message'); + * var hash = CryptoJS.SHA512(wordArray); + */ + C.SHA512 = Hasher._createHelper(SHA512); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA512(message, key); + */ + C.HmacSHA512 = Hasher._createHmacHelper(SHA512); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + var SHA512 = C_algo.SHA512; + + /** + * SHA-384 hash algorithm. + */ + var SHA384 = C_algo.SHA384 = SHA512.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _doFinalize: function () { + var hash = SHA512._doFinalize.call(this); + + hash.sigBytes -= 16; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA384('message'); + * var hash = CryptoJS.SHA384(wordArray); + */ + C.SHA384 = SHA512._createHelper(SHA384); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA384(message, key); + */ + C.HmacSHA384 = SHA512._createHmacHelper(SHA384); + }()); + + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var C_algo = C.algo; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function () { + // Compute rho offset constants + var x = 1, y = 0; + for (var t = 0; t < 24; t++) { + RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; + + var newX = y % 5; + var newY = (2 * x + 3 * y) % 5; + x = newX; + y = newY; + } + + // Compute pi index constants + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + var T = []; + (function () { + for (var i = 0; i < 25; i++) { + T[i] = X64Word.create(); + } + }()); + + /** + * SHA-3 hash algorithm. + */ + var SHA3 = C_algo.SHA3 = Hasher.extend({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + cfg: Hasher.cfg.extend({ + outputLength: 512 + }), + + _doReset: function () { + var state = this._state = [] + for (var i = 0; i < 25; i++) { + state[i] = new X64Word.init(); + } + + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31)); + var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31)); + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + lane.high ^= tMsw; + lane.low ^= tLsw; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + var tMsw; + var tLsw; + + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + var laneIndex = x + 5 * y; + var lane = state[laneIndex]; + var TLane = T[laneIndex]; + var Tx1Lane = T[((x + 1) % 5) + 5 * y]; + var Tx2Lane = T[((x + 2) % 5) + 5 * y]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low; + } + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + return new WordArray.init(hashWords, outputLengthBytes); + }, + + clone: function () { + var clone = Hasher.clone.call(this); + + var state = clone._state = this._state.slice(0); + for (var i = 0; i < 25; i++) { + state[i] = state[i].clone(); + } + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA3('message'); + * var hash = CryptoJS.SHA3(wordArray); + */ + C.SHA3 = Hasher._createHelper(SHA3); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA3(message, key); + */ + C.HmacSHA3 = Hasher._createHmacHelper(SHA3); + }(Math)); + + + /** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + (function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var _zl = WordArray.create([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); + var _zr = WordArray.create([ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); + var _sl = WordArray.create([ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]); + var _sr = WordArray.create([ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]); + + var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function () { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function (M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + var H = this._hash.words; + var hl = _hl.words; + var hr = _hr.words; + var zl = _zl.words; + var zr = _zr.words; + var sl = _sl.words; + var sr = _sr.words; + + // Working variables + var al, bl, cl, dl, el; + var ar, br, cr, dr, er; + + ar = al = H[0]; + br = bl = H[1]; + cr = cl = H[2]; + dr = dl = H[3]; + er = el = H[4]; + // Computation + var t; + for (var i = 0; i < 80; i += 1) { + t = (al + M[offset+zl[i]])|0; + if (i<16){ + t += f1(bl,cl,dl) + hl[0]; + } else if (i<32) { + t += f2(bl,cl,dl) + hl[1]; + } else if (i<48) { + t += f3(bl,cl,dl) + hl[2]; + } else if (i<64) { + t += f4(bl,cl,dl) + hl[3]; + } else {// if (i<80) { + t += f5(bl,cl,dl) + hl[4]; + } + t = t|0; + t = rotl(t,sl[i]); + t = (t+el)|0; + al = el; + el = dl; + dl = rotl(cl, 10); + cl = bl; + bl = t; + + t = (ar + M[offset+zr[i]])|0; + if (i<16){ + t += f5(br,cr,dr) + hr[0]; + } else if (i<32) { + t += f4(br,cr,dr) + hr[1]; + } else if (i<48) { + t += f3(br,cr,dr) + hr[2]; + } else if (i<64) { + t += f2(br,cr,dr) + hr[3]; + } else {// if (i<80) { + t += f1(br,cr,dr) + hr[4]; + } + t = t|0; + t = rotl(t,sr[i]) ; + t = (t+er)|0; + ar = er; + er = dr; + dr = rotl(cr, 10); + cr = br; + br = t; + } + // Intermediate hash value + t = (H[1] + cl + dr)|0; + H[1] = (H[2] + dl + er)|0; + H[2] = (H[3] + el + ar)|0; + H[3] = (H[4] + al + br)|0; + H[4] = (H[0] + bl + cr)|0; + H[0] = t; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + + function f1(x, y, z) { + return ((x) ^ (y) ^ (z)); + + } + + function f2(x, y, z) { + return (((x)&(y)) | ((~x)&(z))); + } + + function f3(x, y, z) { + return (((x) | (~(y))) ^ (z)); + } + + function f4(x, y, z) { + return (((x) & (z)) | ((y)&(~(z)))); + } + + function f5(x, y, z) { + return ((x) ^ ((y) |(~(z)))); + + } + + function rotl(x,n) { + return (x<>>(32-n)); + } + + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.RIPEMD160('message'); + * var hash = CryptoJS.RIPEMD160(wordArray); + */ + C.RIPEMD160 = Hasher._createHelper(RIPEMD160); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacRIPEMD160(message, key); + */ + C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); + }(Math)); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var C_algo = C.algo; + + /** + * HMAC algorithm. + */ + var HMAC = C_algo.HMAC = Base.extend({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function (hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function () { + // Shortcut + var hasher = this._hasher; + + // Reset + hasher.reset(); + hasher.update(this._iKey); + }, + + /** + * Updates this HMAC with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {HMAC} This HMAC instance. + * + * @example + * + * hmacHasher.update('message'); + * hmacHasher.update(wordArray); + */ + update: function (messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + return this; + }, + + /** + * Finalizes the HMAC computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The HMAC. + * + * @example + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA1 = C_algo.SHA1; + var HMAC = C_algo.HMAC; + + /** + * Password-Based Key Derivation Function 2 algorithm. + */ + var PBKDF2 = C_algo.PBKDF2 = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + for (var j = 0; j < blockWordsLength; j++) { + blockWords[j] ^= intermediateWords[j]; + } + } + + derivedKey.concat(block); + blockIndexWords[0]++; + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.PBKDF2(password, salt); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 }); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.PBKDF2 = function (password, salt, cfg) { + return PBKDF2.create(cfg).compute(password, salt); + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var MD5 = C_algo.MD5; + + /** + * This key derivation function is meant to conform with EVP_BytesToKey. + * www.openssl.org/docs/crypto/EVP_BytesToKey.html + */ + var EvpKDF = C_algo.EvpKDF = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hash algorithm to use. Default: MD5 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: MD5, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.EvpKDF.create(); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + var block; + + // Shortcut + var cfg = this.cfg; + + // Init hasher + var hasher = cfg.hasher.create(); + + // Initial values + var derivedKey = WordArray.create(); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + if (block) { + hasher.update(block); + } + block = hasher.update(password).finalize(salt); + hasher.reset(); + + // Iterations + for (var i = 1; i < iterations; i++) { + block = hasher.finalize(block); + hasher.reset(); + } + + derivedKey.concat(block); + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.EvpKDF(password, salt); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 }); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.EvpKDF = function (password, salt, cfg) { + return EvpKDF.create(cfg).compute(password, salt); + }; + }()); + + + /** + * Cipher core components. + */ + CryptoJS.lib.Cipher || (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var Base64 = C_enc.Base64; + var C_algo = C.algo; + var EvpKDF = C_algo.EvpKDF; + + /** + * Abstract base cipher template. + * + * @property {number} keySize This cipher's key size. Default: 4 (128 bits) + * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) + * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. + * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. + */ + var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * Creates this cipher in encryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function (key, cfg) { + return this.create(this._ENC_XFORM_MODE, key, cfg); + }, + + /** + * Creates this cipher in decryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function (key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * Initializes a newly created cipher. + * + * @param {number} xformMode Either the encryption or decryption transormation mode constant. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @example + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function (xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + this._doReset(); + }, + + /** + * Adds data to be encrypted or decrypted. + * + * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. + * + * @return {WordArray} The data after processing. + * + * @example + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function (dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + return this._process(); + }, + + /** + * Finalizes the encryption or decryption process. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. + * + * @return {WordArray} The data after final processing. + * + * @example + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function (dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128/32, + + ivSize: 128/32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * Creates shortcut functions to a cipher's object interface. + * + * @param {Cipher} cipher The cipher to create a helper for. + * + * @return {Object} An object with encrypt and decrypt shortcut functions. + * + * @static + * + * @example + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _createHelper: (function () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher; + } else { + return SerializableCipher; + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); + }, + + decrypt: function (ciphertext, key, cfg) { + return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); + } + }; + }; + }()) + }); + + /** + * Abstract base stream cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // Process partial blocks + var finalProcessedBlocks = this._process(!!'flush'); + + return finalProcessedBlocks; + }, + + blockSize: 1 + }); + + /** + * Mode namespace. + */ + var C_mode = C.mode = {}; + + /** + * Abstract base block cipher mode template. + */ + var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function (cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function (cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + init: function (cipher, iv) { + this._cipher = cipher; + this._iv = iv; + } + }); + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * Abstract base CBC mode. + */ + var CBC = BlockCipherMode.extend(); + + /** + * CBC encryptor. + */ + CBC.Encryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + var block; + + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + block = this._prevBlock; + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i]; + } + } + + return CBC; + }()); + + /** + * Padding namespace. + */ + var C_pad = C.pad = {}; + + /** + * PKCS #5/7 padding strategy. + */ + var Pkcs7 = C_pad.Pkcs7 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + /** + * Abstract base block cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) + */ + var BlockCipher = C_lib.BlockCipher = Cipher.extend({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function () { + var modeCreator; + + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + this._minBufferSize = 1; + } + + if (this._mode && this._mode.__creator == modeCreator) { + this._mode.init(this, iv && iv.words); + } else { + this._mode = modeCreator.call(mode, this, iv && iv.words); + this._mode.__creator = modeCreator; + } + }, + + _doProcessBlock: function (words, offset) { + this._mode.processBlock(words, offset); + }, + + _doFinalize: function () { + var finalProcessedBlocks; + + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + padding.unpad(finalProcessedBlocks); + } + + return finalProcessedBlocks; + }, + + blockSize: 128/32 + }); + + /** + * A collection of cipher parameters. + * + * @property {WordArray} ciphertext The raw ciphertext. + * @property {WordArray} key The key to this ciphertext. + * @property {WordArray} iv The IV used in the ciphering operation. + * @property {WordArray} salt The salt used with a key derivation function. + * @property {Cipher} algorithm The cipher algorithm. + * @property {Mode} mode The block mode used in the ciphering operation. + * @property {Padding} padding The padding scheme used in the ciphering operation. + * @property {number} blockSize The block size of the cipher. + * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. + */ + var CipherParams = C_lib.CipherParams = Base.extend({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function (cipherParams) { + this.mixIn(cipherParams); + }, + + /** + * Converts this cipher params object to a string. + * + * @param {Format} formatter (Optional) The formatting strategy to use. + * + * @return {string} The stringified cipher params. + * + * @throws Error If neither the formatter nor the default formatter is set. + * + * @example + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function (formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function (cipherParams) { + var wordArray; + + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function (openSSLStr) { + var salt; + + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ ciphertext: ciphertext, salt: salt }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * Encrypts a message. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.blockSize, + formatter: cfg.format + }); + }, + + /** + * Decrypts serialized ciphertext. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); + + return plaintext; + }, + + /** + * Converts serialized ciphertext to CipherParams, + * else assumed CipherParams already and returns ciphertext unchanged. + * + * @param {CipherParams|string} ciphertext The ciphertext. + * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. + * + * @return {CipherParams} The unserialized ciphertext. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _parse: function (ciphertext, format) { + if (typeof ciphertext == 'string') { + return format.parse(ciphertext, this); + } else { + return ciphertext; + } + } + }); + + /** + * Key derivation function namespace. + */ + var C_kdf = C.kdf = {}; + + /** + * OpenSSL key derivation function. + */ + var OpenSSLKdf = C_kdf.OpenSSL = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function (password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64/8); + } + + // Derive key and IV + var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ key: key, iv: iv, salt: salt }); + } + }; + + /** + * A serializable cipher wrapper that derives the key from a password, + * and returns ciphertext as a serializable cipher params object. + */ + var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * Encrypts a message using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + ciphertext.mixIn(derivedParams); + + return ciphertext; + }, + + /** + * Decrypts serialized ciphertext using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); + + return plaintext; + } + }); + }()); + + + /** + * Cipher Feedback block mode. + */ + CryptoJS.mode.CFB = (function () { + var CFB = CryptoJS.lib.BlockCipherMode.extend(); + + CFB.Encryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + var keystream; + + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + + return CFB; + }()); + + + /** + * Counter block mode. + */ + CryptoJS.mode.CTR = (function () { + var CTR = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = CTR.Encryptor = CTR.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTR.Decryptor = Encryptor; + + return CTR; + }()); + + + /** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + */ + CryptoJS.mode.CTRGladman = (function () { + var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); + + function incWord(word) + { + if (((word >> 24) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16)&0xff; + var b2 = (word >> 8)&0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) + { + b2 = 0; + if (b3 === 0xff) + { + b3 = 0; + } + else + { + ++b3; + } + } + else + { + ++b2; + } + } + else + { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } + else + { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) + { + if ((counter[0] = incWord(counter[0])) === 0) + { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTRGladman.Decryptor = Encryptor; + + return CTRGladman; + }()); + + + + + /** + * Output Feedback block mode. + */ + CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + OFB.Decryptor = Encryptor; + + return OFB; + }()); + + + /** + * Electronic Codebook block mode. + */ + CryptoJS.mode.ECB = (function () { + var ECB = CryptoJS.lib.BlockCipherMode.extend(); + + ECB.Encryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.encryptBlock(words, offset); + } + }); + + ECB.Decryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.decryptBlock(words, offset); + } + }); + + return ECB; + }()); + + + /** + * ANSI X.923 padding strategy. + */ + CryptoJS.pad.AnsiX923 = { + pad: function (data, blockSize) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO 10126 padding strategy. + */ + CryptoJS.pad.Iso10126 = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + + /** + * ISO/IEC 9797-1 Padding Method 2. + */ + CryptoJS.pad.Iso97971 = { + pad: function (data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function (data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } + }; + + + /** + * Zero padding strategy. + */ + CryptoJS.pad.ZeroPadding = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function (data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + for (var i = data.sigBytes - 1; i >= 0; i--) { + if (((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + data.sigBytes = i + 1; + break; + } + } + } + }; + + + /** + * A noop padding strategy. + */ + CryptoJS.pad.NoPadding = { + pad: function () { + }, + + unpad: function () { + } + }; + + + (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var CipherParams = C_lib.CipherParams; + var C_enc = C.enc; + var Hex = C_enc.Hex; + var C_format = C.format; + + var HexFormatter = C_format.Hex = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function (cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function (input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ ciphertext: ciphertext }); + } + }; + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + var SBOX = []; + var INV_SBOX = []; + var SUB_MIX_0 = []; + var SUB_MIX_1 = []; + var SUB_MIX_2 = []; + var SUB_MIX_3 = []; + var INV_SUB_MIX_0 = []; + var INV_SUB_MIX_1 = []; + var INV_SUB_MIX_2 = []; + var INV_SUB_MIX_3 = []; + + // Compute lookup tables + (function () { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + SUB_MIX_0[x] = (t << 24) | (t >>> 8); + SUB_MIX_1[x] = (t << 16) | (t >>> 16); + SUB_MIX_2[x] = (t << 8) | (t >>> 24); + SUB_MIX_3[x] = t; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); + INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); + INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); + INV_SUB_MIX_3[sx] = t; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function () { + var t; + + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + var keySchedule = this._keySchedule = []; + for (var ksRow = 0; ksRow < ksRows; ksRow++) { + if (ksRow < keySize) { + keySchedule[ksRow] = keyWords[ksRow]; + } else { + t = keySchedule[ksRow - 1]; + + if (!(ksRow % keySize)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + var invKeySchedule = this._invKeySchedule = []; + for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { + var ksRow = ksRows - invKsRow; + + if (invKsRow % 4) { + var t = keySchedule[ksRow]; + } else { + var t = keySchedule[ksRow - 4]; + } + + if (invKsRow < 4 || ksRow <= 4) { + invKeySchedule[invKsRow] = t; + } else { + invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); + }, + + decryptBlock: function (M, offset) { + // Swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + + this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); + + // Inv swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + }, + + _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + var s0 = M[offset] ^ keySchedule[0]; + var s1 = M[offset + 1] ^ keySchedule[1]; + var s2 = M[offset + 2] ^ keySchedule[2]; + var s3 = M[offset + 3] ^ keySchedule[3]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + M[offset] = t0; + M[offset + 1] = t1; + M[offset + 2] = t2; + M[offset + 3] = t3; + }, + + keySize: 256/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); + */ + C.AES = BlockCipher._createHelper(AES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + var PC1 = [ + 57, 49, 41, 33, 25, 17, 9, 1, + 58, 50, 42, 34, 26, 18, 10, 2, + 59, 51, 43, 35, 27, 19, 11, 3, + 60, 52, 44, 36, 63, 55, 47, 39, + 31, 23, 15, 7, 62, 54, 46, 38, + 30, 22, 14, 6, 61, 53, 45, 37, + 29, 21, 13, 5, 28, 20, 12, 4 + ]; + + // Permuted Choice 2 constants + var PC2 = [ + 14, 17, 11, 24, 1, 5, + 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, + 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, + 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [ + { + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31); + for (var i = 1; i < 7; i++) { + subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3); + } + subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27); + } + + // Compute inverse subkeys + var invSubKeys = this._invSubKeys = []; + for (var i = 0; i < 16; i++) { + invSubKeys[i] = subKeys[15 - i]; + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._subKeys); + }, + + decryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._invSubKeys); + }, + + _doCryptBlock: function (M, offset, subKeys) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + var f = 0; + for (var i = 0; i < 8; i++) { + f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0]; + } + this._lBlock = rBlock; + this._rBlock = lBlock ^ f; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + // Swap bits across the left and right words + function exchangeLR(offset, mask) { + var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask; + this._rBlock ^= t; + this._lBlock ^= t << offset; + } + + function exchangeRL(offset, mask) { + var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask; + this._lBlock ^= t; + this._rBlock ^= t << offset; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg); + */ + C.DES = BlockCipher._createHelper(DES); + + /** + * Triple-DES block cipher algorithm. + */ + var TripleDES = C_algo.TripleDES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + // Make sure the key length is valid (64, 128 or >= 192 bit) + if (keyWords.length !== 2 && keyWords.length !== 4 && keyWords.length < 6) { + throw new Error('Invalid key length - 3DES requires the key length to be 64, 128, 192 or >192.'); + } + + // Extend the key according to the keying options defined in 3DES standard + var key1 = keyWords.slice(0, 2); + var key2 = keyWords.length < 4 ? keyWords.slice(0, 2) : keyWords.slice(2, 4); + var key3 = keyWords.length < 6 ? keyWords.slice(0, 2) : keyWords.slice(4, 6); + + // Create DES instances + this._des1 = DES.createEncryptor(WordArray.create(key1)); + this._des2 = DES.createEncryptor(WordArray.create(key2)); + this._des3 = DES.createEncryptor(WordArray.create(key3)); + }, + + encryptBlock: function (M, offset) { + this._des1.encryptBlock(M, offset); + this._des2.decryptBlock(M, offset); + this._des3.encryptBlock(M, offset); + }, + + decryptBlock: function (M, offset) { + this._des3.decryptBlock(M, offset); + this._des2.encryptBlock(M, offset); + this._des1.decryptBlock(M, offset); + }, + + keySize: 192/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg); + */ + C.TripleDES = BlockCipher._createHelper(TripleDES); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + /** + * RC4 stream cipher algorithm. + */ + var RC4 = C_algo.RC4 = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function (M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256/32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + this._i = i; + this._j = j; + + return keystreamWord; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg); + */ + C.RC4 = StreamCipher._createHelper(RC4); + + /** + * Modified RC4 stream cipher algorithm. + */ + var RC4Drop = C_algo.RC4Drop = RC4.extend({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function () { + RC4._doReset.call(this); + + // Drop + for (var i = this.cfg.drop; i > 0; i--) { + generateKeystreamWord.call(this); + } + } + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); + */ + C.RC4Drop = StreamCipher._createHelper(RC4Drop); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); + * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); + */ + C.Rabbit = StreamCipher._createHelper(Rabbit); + }()); + + + (function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm. + * + * This is a legacy version that neglected to convert the key to little-endian. + * This error doesn't affect the cipher's security, + * but it does affect its compatibility with other implementations. + */ + var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); + */ + C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); + }()); + + + return CryptoJS; + +})); \ No newline at end of file diff --git a/lib/douban.js b/lib/douban.js new file mode 100644 index 0000000..5e6b8e3 --- /dev/null +++ b/lib/douban.js @@ -0,0 +1,37 @@ +var rule = { + title:'drpy', + host:'https://frodo.douban.com', + apidoc:'https://www.doubanapi.com', + homeUrl:'', + searchUrl:'', + searchable:1, + quickSearch:1, + filterable:1, + // 分类链接fypage参数支持1个()表达式 + url:'/?pg=fypage&class=fyclass&douban=$douban', + filter_url:'fl={{fl}}', + 图片来源:'@Referer=https://api.douban.com/@User-Agent=Mozilla/5.0%20(Windows%20NT%2010.0;%20Win64;%20x64)%20AppleWebKit/537.36%20(KHTML,%20like%20Gecko)%20Chrome/113.0.0.0%20Safari/537.36', + headers:{ + "Host": "frodo.douban.com", + // "Host": "api.douban.com", + "Connection": "Keep-Alive", + "Referer": "https://servicewechat.com/wx2f9b06c1de1ccfca/84/page-frame.html", + // "content-type": "application/json", + "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat" + }, + timeout:5000, + class_name:'热门电影&热播剧集&热播综艺&电影筛选&电视筛选&电影榜单&电视榜单', + class_url:'hot_gaia&tv_hot&show_hot&movie&tv&rank_list_movie&rank_list_tv', + filter:{'interests': [{'key': 'status', 'name': '状态', 'value': [{'n': '想看', 'v': 'mark'}, {'n': '在看', 'v': 'doing'}, {'n': '看过', 'v': 'done'}]}, {'key': 'subtype_tag', 'name': '形式', 'value': [{'n': '全部', 'v': ''}, {'n': '电影', 'v': 'movie'}, {'n': '电视', 'v': 'tv'}]}, {'key': 'year_tag', 'name': '年代', 'value': [{'n': '全部', 'v': '全部'}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'hot_gaia': [{'key': 'sort', 'name': '排序', 'value': [{'n': '热度', 'v': 'recommend'}, {'n': '最新', 'v': 'time'}, {'n': '评分', 'v': 'rank'}]}, {'key': 'area', 'name': '地区', 'value': [{'n': '全部', 'v': '全部'}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}]}], 'tv_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'tv_hot'}, {'n': '国产剧', 'v': 'tv_domestic'}, {'n': '欧美剧', 'v': 'tv_american'}, {'n': '日剧', 'v': 'tv_japanese'}, {'n': '韩剧', 'v': 'tv_korean'}, {'n': '动画', 'v': 'tv_animation'}]}], 'show_hot': [{'key': 'type', 'name': '分类', 'value': [{'n': '综合', 'v': 'show_hot'}, {'n': '国内', 'v': 'show_domestic'}, {'n': '国外', 'v': 'show_foreign'}]}], 'movie': [{'key': '类型', 'name': '类型', 'value': [{'n': '全部类型', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '动作', 'v': '动作'}, {'n': '科幻', 'v': '科幻'}, {'n': '动画', 'v': '动画'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '冒险', 'v': '冒险'}, {'n': '音乐', 'v': '音乐'}, {'n': '历史', 'v': '历史'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '战争', 'v': '战争'}, {'n': '传记', 'v': '传记'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '武侠', 'v': '武侠'}, {'n': '情色', 'v': '情色'}, {'n': '灾难', 'v': '灾难'}, {'n': '西部', 'v': '西部'}, {'n': '纪录片', 'v': '纪录片'}, {'n': '短片', 'v': '短片'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '美国', 'v': '美国'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '英国', 'v': '英国'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '意大利', 'v': '意大利'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '印度', 'v': '印度'}, {'n': '泰国', 'v': '泰国'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '澳大利亚', 'v': '澳大利亚'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首映时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部年代', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}], 'tv': [{'key': '类型', 'name': '类型', 'value': [{'n': '不限', 'v': ''}, {'n': '电视剧', 'v': '电视剧'}, {'n': '综艺', 'v': '综艺'}]}, {'key': '电视剧形式', 'name': '电视剧形式', 'value': [{'n': '不限', 'v': ''}, {'n': '喜剧', 'v': '喜剧'}, {'n': '爱情', 'v': '爱情'}, {'n': '悬疑', 'v': '悬疑'}, {'n': '动画', 'v': '动画'}, {'n': '武侠', 'v': '武侠'}, {'n': '古装', 'v': '古装'}, {'n': '家庭', 'v': '家庭'}, {'n': '犯罪', 'v': '犯罪'}, {'n': '科幻', 'v': '科幻'}, {'n': '恐怖', 'v': '恐怖'}, {'n': '历史', 'v': '历史'}, {'n': '战争', 'v': '战争'}, {'n': '动作', 'v': '动作'}, {'n': '冒险', 'v': '冒险'}, {'n': '传记', 'v': '传记'}, {'n': '剧情', 'v': '剧情'}, {'n': '奇幻', 'v': '奇幻'}, {'n': '惊悚', 'v': '惊悚'}, {'n': '灾难', 'v': '灾难'}, {'n': '歌舞', 'v': '歌舞'}, {'n': '音乐', 'v': '音乐'}]}, {'key': '综艺形式', 'name': '综艺形式', 'value': [{'n': '不限', 'v': ''}, {'n': '真人秀', 'v': '真人秀'}, {'n': '脱口秀', 'v': '脱口秀'}, {'n': '音乐', 'v': '音乐'}, {'n': '歌舞', 'v': '歌舞'}]}, {'key': '地区', 'name': '地区', 'value': [{'n': '全部地区', 'v': ''}, {'n': '华语', 'v': '华语'}, {'n': '欧美', 'v': '欧美'}, {'n': '国外', 'v': '国外'}, {'n': '韩国', 'v': '韩国'}, {'n': '日本', 'v': '日本'}, {'n': '中国大陆', 'v': '中国大陆'}, {'n': '中国香港', 'v': '中国香港'}, {'n': '美国', 'v': '美国'}, {'n': '英国', 'v': '英国'}, {'n': '泰国', 'v': '泰国'}, {'n': '中国台湾', 'v': '中国台湾'}, {'n': '意大利', 'v': '意大利'}, {'n': '法国', 'v': '法国'}, {'n': '德国', 'v': '德国'}, {'n': '西班牙', 'v': '西班牙'}, {'n': '俄罗斯', 'v': '俄罗斯'}, {'n': '瑞典', 'v': '瑞典'}, {'n': '巴西', 'v': '巴西'}, {'n': '丹麦', 'v': '丹麦'}, {'n': '印度', 'v': '印度'}, {'n': '加拿大', 'v': '加拿大'}, {'n': '爱尔兰', 'v': '爱尔兰'}, {'n': '澳大利亚', 'v': '澳大利亚'}]}, {'key': 'sort', 'name': '排序', 'value': [{'n': '近期热度', 'v': 'T'}, {'n': '首播时间', 'v': 'R'}, {'n': '高分优先', 'v': 'S'}]}, {'key': '年代', 'name': '年代', 'value': [{'n': '全部', 'v': ''}, {'n': '2023', 'v': '2023'}, {'n': '2022', 'v': '2022'}, {'n': '2021', 'v': '2021'}, {'n': '2020', 'v': '2020'}, {'n': '2019', 'v': '2019'}, {'n': '2010年代', 'v': '2010年代'}, {'n': '2000年代', 'v': '2000年代'}, {'n': '90年代', 'v': '90年代'}, {'n': '80年代', 'v': '80年代'}, {'n': '70年代', 'v': '70年代'}, {'n': '60年代', 'v': '60年代'}, {'n': '更早', 'v': '更早'}]}, {'key': '平台', 'name': '平台', 'value': [{'n': '全部', 'v': ''}, {'n': '腾讯视频', 'v': '腾讯视频'}, {'n': '爱奇艺', 'v': '爱奇艺'}, {'n': '优酷', 'v': '优酷'}, {'n': '湖南卫视', 'v': '湖南卫视'}, {'n': 'Netflix', 'v': 'Netflix'}, {'n': 'HBO', 'v': 'HBO'}, {'n': 'BBC', 'v': 'BBC'}, {'n': 'NHK', 'v': 'NHK'}, {'n': 'CBS', 'v': 'CBS'}, {'n': 'NBC', 'v': 'NBC'}, {'n': 'tvN', 'v': 'tvN'}]}], 'rank_list_movie': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电影', 'v': 'movie_real_time_hotest'}, {'n': '一周口碑电影榜', 'v': 'movie_weekly_best'}, {'n': '豆瓣电影Top250', 'v': 'movie_top250'}]}], 'rank_list_tv': [{'key': '榜单', 'name': '榜单', 'value': [{'n': '实时热门电视', 'v': 'tv_real_time_hotest'}, {'n': '华语口碑剧集榜', 'v': 'tv_chinese_best_weekly'}, {'n': '全球口碑剧集榜', 'v': 'tv_global_best_weekly'}, {'n': '国内口碑综艺榜', 'v': 'show_chinese_best_weekly'}, {'n': '国外口碑综艺榜', 'v': 'show_global_best_weekly'}]}]}, + limit:20, + play_parse:false, + 推荐:'', + 推荐:'js:let d=[];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function subject_real_time_hotest(){try{let res=miniapp_request("/subject_collection/subject_real_time_hotest/items",{});let lists=[];let arr=res.subject_collection_items||[];arr.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"暂无评分";let honnor=(item.honor_infos||[]).map(function(it){return it.title}).join("|");lists.append({vod_id:"msearch:"+TYPE,vod_name:item.title||"",vod_pic:item.pic.normal,vod_remarks:rating+" "+honnor})}});return lists}catch(e){print("发生了错误:"+e.message);return[]}}VODS=subject_real_time_hotest();print(VODS);', + // 手动调用解析请求json的url,此lazy不方便 + lazy:'', + // 推荐:'.list_item;img&&alt;img&&src;a&&Text;a&&data-float', + 一级:'', + 一级:'js:let d=[];let douban=input.split("douban=")[1].split("&")[0];let douban_api_host="http://api.douban.com/api/v2";let miniapp_apikey="0ac44ae016490db2204ce0a042db2916";const count=30;function miniapp_request(path,query){try{let url=douban_api_host+path;query.apikey=miniapp_apikey;fetch_params.headers=oheaders;url=buildUrl(url,query);let html=fetch(url,fetch_params);if(/request_error/.test(html)){print(html)}return JSON.parse(html)}catch(e){print("发生了错误:"+e.message);return{}}}function cate_filter(d,douban){douban=douban||"";try{let res={};if(MY_CATE==="interests"){if(douban){let status=MY_FL.status||"mark";let subtype_tag=MY_FL.subtype_tag||"";let year_tag=MY_FL.year_tag||"全部";let path="/user/"+douban+"/interests";res=miniapp_request(path,{type:"movie",status:status,subtype_tag:subtype_tag,year_tag:year_tag,start:(MY_PAGE-1)*count,count:count})}else{return{}}}else if(MY_CATE==="hot_gaia"){let sort=MY_FL.sort||"recommend";let area=MY_FL.area||"全部";let path="/movie/"+MY_CATE;res=miniapp_request(path,{area:area,sort:sort,start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE==="tv_hot"||MY_CATE==="show_hot"){let stype=MY_FL.type||MY_CATE;let path="/subject_collection/"+stype+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else if(MY_CATE.startsWith("rank_list")){let id=MY_CATE==="rank_list_movie"?"movie_real_time_hotest":"tv_real_time_hotest";id=MY_FL.榜单||id;let path="/subject_collection/"+id+"/items";res=miniapp_request(path,{start:(MY_PAGE-1)*count,count:count})}else{let path="/"+MY_CATE+"/recommend";let selected_categories;let tags;let sort;if(Object.keys(MY_FL).length>0){sort=MY_FL.sort||"T";tags=Object.values(MY_FL).join(",");if(MY_CATE==="movie"){selected_categories={"类型":MY_FL.类型||"","地区":MY_FL.地区||""}}else{selected_categories={"类型":MY_FL.类型||"","形式":MY_FL.类型?MY_FL.类型+"地区":"","地区":MY_FL.地区||""}}}else{sort="T";tags="";if(MY_CATE==="movie"){selected_categories={"类型":"","地区":""}}else{selected_categories={"类型":"","形式":"","地区":""}}}let params={tags:tags,sort:sort,refresh:0,selected_categories:stringify(selected_categories),start:(MY_PAGE-1)*count,count:count};res=miniapp_request(path,params)}let result={page:MY_PAGE,pagecount:Math.ceil(res.total/count),limit:count,total:res.total};let items=[];if(/^rank_list|tv_hot|show_hot/.test(MY_CATE)){items=res["subject_collection_items"]}else if(MY_CATE==="interests"){res["interests"].forEach(function(it){items.push(it.subject)})}else{items=res.items}let lists=[];items.forEach(function(item){if(item.type==="movie"||item.type==="tv"){let rating=item.rating?item.rating.value:"";let rat_str=rating||"暂无评分";let title=item.title;let honor=item.honor_infos||[];let honor_str=honor.map(function(it){return it.title}).join("|");let vod_obj={vod_name:title!=="未知电影"?title:"暂不支持展示",vod_pic:item.pic.normal,vod_remarks:rat_str+" "+honor_str};let vod_obj_d={url:item.type+"$"+item.id,title:title!=="未知电影"?title:"暂不支持展示",pic_url:item.pic.normal,desc:rat_str+" "+honor_str};lists.push(vod_obj);d.push(vod_obj_d)}});result.list=lists;return result}catch(e){print(e.message)}return{}}let res=cate_filter(d,douban);setResult2(res);', + 二级:'', + 搜索:'', +} \ No newline at end of file diff --git a/lib/drpy2.min.js b/lib/drpy2.min.js new file mode 100644 index 0000000..5d3ba29 --- /dev/null +++ b/lib/drpy2.min.js @@ -0,0 +1 @@ +import cheerio from"cheerio.min.js";import"crypto-js.js";import 模板 from"模板.js";import{gbkTool}from"gbk.js";function init_test(){console.log("init_test_start");console.log("当前版本号:"+VERSION);console.log(RKEY);console.log(JSON.stringify(rule));console.log("init_test_end")}function pre(){if(typeof rule.预处理==="string"&&rule.预处理&&rule.预处理.trim()){let code=rule.预处理.trim();console.log("执行预处理代码:"+code);if(code.startsWith("js:")){code=code.replace("js:","")}try{eval(code)}catch(e){console.log("预处理执行失败:"+e.message)}}}let rule={};let vercode=typeof pdfl==="function"?"drpy2.1":"drpy2";const VERSION=vercode+" 3.9.48beta16 20231011";const MOBILE_UA="Mozilla/5.0 (Linux; Android 11; M2007J3SC Build/RKQ1.200826.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/77.0.3865.120 MQQBrowser/6.2 TBS/045714 Mobile Safari/537.36";const PC_UA="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36";const UA="Mozilla/5.0";const UC_UA="Mozilla/5.0 (Linux; U; Android 9; zh-CN; MI 9 Build/PKQ1.181121.001) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.108 UCBrowser/12.5.5.1035 Mobile Safari/537.36";const IOS_UA="Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1";const RULE_CK="cookie";const CATE_EXCLUDE="首页|留言|APP|下载|资讯|新闻|动态";const TAB_EXCLUDE="猜你|喜欢|下载|剧情|热播";const OCR_RETRY=3;const OCR_API="http://drpy.nokia.press:8028/ocr/drpy/text";if(typeof MY_URL==="undefined"){var MY_URL}var HOST;var RKEY;var fetch;var print;var log;var rule_fetch_params;var fetch_params;var oheaders;var _pdfh;var _pdfa;var _pd;const DOM_CHECK_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SPECIAL_URL=/^(ftp|magnet|thunder|ws):/;const NOADD_INDEX=/:eq|:lt|:gt|:first|:last|^body$|^#/;const URLJOIN_ATTR=/(url|src|href|-original|-src|-play|-url|style)$/;const SELECT_REGEX=/:eq|:lt|:gt|#/g;const SELECT_REGEX_A=/:eq|:lt|:gt/g;if(typeof Object.assign!="function"){Object.assign=function(){var target=arguments[0];for(var i=1;ithis.length){return false}else{return this.indexOf(search,start)!==-1}}}if(!Array.prototype.includes){Object.defineProperty(Array.prototype,"includes",{value:function(searchElement,fromIndex){if(this==null){throw new TypeError('"this" is null or not defined')}var o=Object(this);var len=o.length>>>0;if(len===0){return false}var n=fromIndex|0;var k=Math.max(n>=0?n:len-Math.abs(n),0);while(k=end){return lists}let first=lists[start];let second=lists[end];if(key){try{first=first[key];second=second[key]}catch(e){}}if(option&&typeof option==="function"){try{first=option(first);second=option(second)}catch(e){}}first+="";second+="";if(first.match(/(\d+)/)&&second.match(/(\d+)/)){let num1=Number(first.match(/(\d+)/)[1]);let num2=Number(second.match(/(\d+)/)[1]);if(num1>num2){lists.reverse()}}return lists}let VODS=[];let VOD={};let TABS=[];let LISTS=[];globalThis.encodeUrl=urlencode;globalThis.urlencode=urlencode;function urljoin(fromPath,nowPath){fromPath=fromPath||"";nowPath=nowPath||"";return joinUrl(fromPath,nowPath)}var urljoin2=urljoin;const defaultParser={pdfh:pdfh,pdfa:pdfa,pd:pd};function pdfh2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}let result=defaultParser.pdfh(html2,parse);let option=parse.includes("&&")?parse.split("&&").slice(-1)[0]:parse.split(" ").slice(-1)[0];if(/style/.test(option.toLowerCase())&&/url\(/.test(result)){try{result=result.match(/url\((.*?)\)/)[1];result=result.replace(/^['|"](.*)['|"]$/,"$1")}catch(e){}}return result}function pdfa2(html,parse){let html2=html;try{if(typeof html!=="string"){html2=html.rr(html.ele).toString()}}catch(e){print("html对象转文本发生了错误:"+e.message)}return defaultParser.pdfa(html2,parse)}function pd2(html,parse,uri){let ret=pdfh2(html,parse);if(typeof uri==="undefined"||!uri){uri=""}if(DOM_CHECK_ATTR.test(parse)&&!SPECIAL_URL.test(ret)){if(/http/.test(ret)){ret=ret.substr(ret.indexOf("http"))}else{ret=urljoin(MY_URL,ret)}}return ret}const parseTags={jsp:{pdfh:pdfh2,pdfa:pdfa2,pd:pd2},json:{pdfh(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}parse=parse.split("||");for(let ps of parse){let ret=cheerio.jp(ps,html);if(Array.isArray(ret)){ret=ret[0]||""}else{ret=ret||""}if(ret&&typeof ret!=="string"){ret=ret.toString()}if(ret){return ret}}return""},pdfa(html,parse){if(!parse||!parse.trim()){return""}if(typeof html==="string"){html=JSON.parse(html)}parse=parse.trim();if(!parse.startsWith("$.")){parse="$."+parse}let ret=cheerio.jp(parse,html);if(Array.isArray(ret)&&Array.isArray(ret[0])&&ret.length===1){return ret[0]||[]}return ret||[]},pd(html,parse){let ret=parseTags.json.pdfh(html,parse);if(ret){return urljoin(MY_URL,ret)}return ret}},jq:{pdfh(html,parse){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();let result=defaultParser.pdfh(html,parse);return result},pdfa(html,parse){if(!html||!parse||!parse.trim()){return[]}parse=parse.trim();let result=defaultParser.pdfa(html,parse);print(`pdfa解析${parse}=>${result.length}`);return result},pd(html,parse,base_url){if(!html||!parse||!parse.trim()){return""}parse=parse.trim();base_url=base_url||MY_URL;return defaultParser.pd(html,parse,base_url)}},getParse(p0){if(p0.startsWith("jsp:")){return this.jsp}else if(p0.startsWith("json:")){return this.json}else if(p0.startsWith("jq:")){return this.jq}else{return this.jq}}};const stringify=JSON.stringify;const jsp=parseTags.jsp;const jq=parseTags.jq;function readFile(filePath){filePath=filePath||"./uri.min.js";var fd=os.open(filePath);var buffer=new ArrayBuffer(1024);var len=os.read(fd,buffer,0,1024);console.log(len);let text=String.fromCharCode.apply(null,new Uint8Array(buffer));console.log(text);return text}function dealJson(html){try{html=html.trim();if(!(html.startsWith("{")&&html.endsWith("}")||html.startsWith("[")&&html.endsWith("]"))){html="{"+html.match(/.*?\{(.*)\}/m)[1]+"}"}}catch(e){}try{html=JSON.parse(html)}catch(e){}return html}var OcrApi={api:OCR_API,classification:function(img){let code="";try{log("通过drpy_ocr验证码接口过验证...");let html=request(OCR_API,{data:{img:img},headers:{"User-Agent":PC_UA},method:"POST"},true);code=html||""}catch(e){log(`OCR识别验证码发生错误:${e.message}`)}return code}};function verifyCode(url){let cnt=0;let host=getHome(url);let cookie="";while(cntit.toLowerCase()==="set-cookie");cookie=setCk?json[setCk].split(";")[0]:""}console.log("cookie:"+cookie);let img=json.body;let code=OcrApi.classification(img);console.log(`第${cnt+1}次验证码识别结果:${code}`);let submit_url=`${host}/index.php/ajax/verify_check?type=search&verify=${code}`;console.log(submit_url);let html=request(submit_url,{headers:{Cookie:cookie,"User-Agent":MOBILE_UA},method:"POST"});html=JSON.parse(html);if(html.msg==="ok"){console.log(`第${cnt+1}次验证码提交成功`);return cookie}else if(html.msg!=="ok"&&cnt+1>=OCR_RETRY){cookie=""}}catch(e){console.log(`第${cnt+1}次验证码提交失败:${e.message}`);if(cnt+1>=OCR_RETRY){cookie=""}}cnt+=1}return cookie}function setItem(k,v){local.set(RKEY,k,v);console.log(`规则${RKEY}设置${k} => ${v}`)}function getItem(k,v){return local.get(RKEY,k)||v}function clearItem(k){local.delete(RKEY,k)}function getHome(url){if(!url){return""}let tmp=url.split("//");url=tmp[0]+"//"+tmp[1].split("/")[0];try{url=decodeURIComponent(url)}catch(e){}return url}function buildUrl(url,obj){obj=obj||{};if(url.indexOf("?")<0){url+="?"}let param_list=[];let keys=Object.keys(obj);keys.forEach(it=>{param_list.push(it+"="+obj[it])});let prs=param_list.join("&");if(keys.length>0&&!url.endsWith("?")){url+="&"}url+=prs;return url}function require(url){eval(request(url))}function request(url,obj,ocr_flag){ocr_flag=ocr_flag||false;if(typeof obj==="undefined"||!obj||obj==={}){if(!fetch_params||!fetch_params.headers){let headers={"User-Agent":MOBILE_UA};if(rule.headers){Object.assign(headers,rule.headers)}if(!fetch_params){fetch_params={}}fetch_params.headers=headers}if(!fetch_params.headers.Referer){fetch_params.headers.Referer=getHome(url)}obj=fetch_params}else{let headers=obj.headers||{};let keys=Object.keys(headers).map(it=>it.toLowerCase());if(!keys.includes("user-agent")){headers["User-Agent"]=MOBILE_UA}if(!keys.includes("referer")){headers["Referer"]=getHome(url)}obj.headers=headers}if(rule.encoding&&rule.encoding!=="utf-8"&&!ocr_flag){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="text/html; charset="+rule.encoding}}if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="string"){if(!obj.headers.hasOwnProperty("Content-Type")&&!obj.headers.hasOwnProperty("content-type")){obj.headers["Content-Type"]="application/x-www-form-urlencoded; charset="+rule.encoding}}else if(typeof obj.body!="undefined"&&obj.body&&typeof obj.body==="object"){obj.data=obj.body;delete obj.body}if(!url){return obj.withHeaders?"{}":""}if(obj.toBase64){obj.buffer=2;delete obj.toBase64}console.log(JSON.stringify(obj.headers));console.log("request:"+url+`|method:${obj.method||"GET"}|body:${obj.body||""}`);let res=req(url,obj);let html=res.content||"";if(obj.withHeaders){let htmlWithHeaders=res.headers;htmlWithHeaders.body=html;return JSON.stringify(htmlWithHeaders)}else{return html}}function post(url,obj){obj.method="POST";return request(url,obj)}fetch=request;print=function(data){data=data||"";if(typeof data=="object"&&Object.keys(data).length>0){try{data=JSON.stringify(data);console.log(data)}catch(e){console.log(typeof data+":"+data.length);return}}else if(typeof data=="object"&&Object.keys(data).length<1){console.log("null object")}else{console.log(data)}};log=print;function checkHtml(html,url,obj){if(/\?btwaf=/.test(html)){let btwaf=html.match(/btwaf(.*?)"/)[1];url=url.split("#")[0]+"?btwaf"+btwaf;print("宝塔验证访问链接:"+url);html=request(url,obj)}return html}function getCode(url,obj){let html=request(url,obj);html=checkHtml(html,url,obj);return html}function getHtml(url){let obj={};if(rule.headers){obj.headers=rule.headers}let cookie=getItem(RULE_CK,"");if(cookie){if(obj.headers&&!Object.keys(obj.headers).map(it=>it.toLowerCase()).includes("cookie")){log("历史无cookie,新增过验证后的cookie");obj.headers["Cookie"]=cookie}else if(obj.headers&&obj.headers.cookie&&obj.headers.cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有小写过期的cookie,更新过验证后的cookie")}else if(obj.headers&&obj.headers.Cookie&&obj.headers.Cookie!==cookie){obj.headers["Cookie"]=cookie;log("历史有大写过期的cookie,更新过验证后的cookie")}else if(!obj.headers){obj.headers={Cookie:cookie};log("历史无headers,更新过验证后的含cookie的headers")}}let html=getCode(url,obj);return html}function homeParse(homeObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let classes=[];if(homeObj.class_name&&homeObj.class_url){let names=homeObj.class_name.split("&");let urls=homeObj.class_url.split("&");let cnt=Math.min(names.length,urls.length);for(let i=0;i=3){try{let html=getHtml(homeObj.MY_URL);if(html){homeHtmlCache=html;let list=_pdfa(html,p[0]);if(list&&list.length>0){list.forEach((it,idex)=>{try{let name=_pdfh(it,p[1]);if(homeObj.cate_exclude&&new RegExp(homeObj.cate_exclude).test(name)){return}let url=_pd(it,p[2]);if(p.length>3&&p[3]){let exp=new RegExp(p[3]);url=url.match(exp)[1]}classes.push({type_id:url.trim(),type_name:name.trim()})}catch(e){console.log(`分类列表定位第${idex}个元素正常报错:${e.message}`)}})}}}catch(e){console.log(e.message)}}}classes=classes.filter(it=>!homeObj.cate_exclude||!new RegExp(homeObj.cate_exclude).test(it.type_name));let resp={class:classes};if(homeObj.filter){resp.filters=homeObj.filter}console.log(JSON.stringify(resp));return JSON.stringify(resp)}function getPP(p,pn,pp,ppn){try{let ps=p[pn]==="*"&&pp.length>ppn?pp[ppn]:p[pn];return ps}catch(e){return""}}function homeVodParse(homeVodObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];MY_URL=homeVodObj.homeUrl;console.log(MY_URL);let t1=(new Date).getTime();let p=homeVodObj.推荐;print("p:"+p);if(p==="*"&&rule.一级){p=rule.一级;homeVodObj.double=false}if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");if(p.startsWith("js:")){const TYPE="home";var input=MY_URL;HOST=rule.host;eval(p.replace("js:",""));d=VODS}else{p=p.split(";");if(!homeVodObj.double&&p.length<5){return"{}"}else if(homeVodObj.double&&p.length<6){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");let html=homeHtmlCache||getHtml(MY_URL);homeHtmlCache=undefined;if(is_json){html=dealJson(html)}try{console.log("double:"+homeVodObj.double);if(homeVodObj.double){let items=_pdfa(html,p0);let p1=getPP(p,1,pp,0);let p2=getPP(p,2,pp,1);let p3=getPP(p,3,pp,2);let p4=getPP(p,4,pp,3);let p5=getPP(p,5,pp,4);let p6=getPP(p,6,pp,5);for(let item of items){let items2=_pdfa(item,p1);for(let item2 of items2){try{let title=_pdfh(item2,p2);let img="";try{img=_pd(item2,p3)}catch(e){}let desc="";try{desc=_pdfh(item2,p4)}catch(e){}let links=[];for(let _p5 of p5.split("+")){let link=!homeVodObj.detailUrl?_pd(item2,_p5,MY_URL):_pdfh(item2,_p5);links.push(link)}let content;if(p.length>6&&p[6]){content=_pdfh(item2,p6)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表双层定位处理发生错误:"+e.message)}}}}else{let items=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);for(let item of items){try{let title=_pdfh(item,p1);let img="";try{img=_pd(item,p2,MY_URL)}catch(e){}let desc="";try{desc=_pdfh(item,p3)}catch(e){}let links=[];for(let _p5 of p4.split("+")){let link=!homeVodObj.detailUrl?_pd(item,_p5,MY_URL):_pdfh(item,_p5);links.push(link)}let content;if(p.length>5&&p[5]){content=_pdfh(item,p5)}else{content=""}let vid=links.join("$");if(rule.二级==="*"){vid=vid+"@@"+title+"@@"+img}let vod={vod_name:title,vod_pic:img,vod_remarks:desc,vod_content:content,vod_id:vid};d.push(vod)}catch(e){console.log("首页列表单层定位处理发生错误:"+e.message)}}}}catch(e){}}let t2=(new Date).getTime();console.log("加载首页推荐耗时:"+(t2-t1)+"毫秒");if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}return JSON.stringify({list:d})}function categoryParse(cateObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let p=cateObj.一级;if(!p||typeof p!=="string"){return"{}"}let d=[];let url=cateObj.url.replaceAll("fyclass",cateObj.tid);if(cateObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(cateObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(rule.filter_url){if(!/fyfilter/.test(url)){if(!url.endsWith("&")&&!rule.filter_url.startsWith("&")){url+="&"}url+=rule.filter_url}else{url=url.replace("fyfilter",rule.filter_url)}let fl=cateObj.filter?cateObj.extend:{};if(rule.filter_def&&typeof rule.filter_def==="object"){try{if(Object.keys(rule.filter_def).length>0&&rule.filter_def.hasOwnProperty(cateObj.tid)){let self_fl_def=rule.filter_def[cateObj.tid];if(self_fl_def&&typeof self_fl_def==="object"){let fl_def=JSON.parse(JSON.stringify(self_fl_def));fl=Object.assign(fl_def,fl)}}}catch(e){print("合并不同分类对应的默认筛选出错:"+e.message)}}let new_url;new_url=cheerio.jinja2(url,{fl:fl});url=new_url}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",cateObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",cateObj.pg)}}MY_URL=url;console.log(MY_URL);p=p.trim();const MY_CATE=cateObj.tid;if(p.startsWith("js:")){var MY_FL=cateObj.extend;const TYPE="cate";var input=MY_URL;const MY_PAGE=cateObj.pg;var desc="";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let _ps=parseTags.getParse(p[0]);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p[0].startsWith("json:");p[0]=p[0].replace(/^(jsp:|json:|jq:)/,"");try{let html=getHtml(MY_URL);if(html){if(is_json){html=dealJson(html)}let list=_pdfa(html,p[0]);list.forEach(it=>{let links=p[4].split("+").map(p4=>{return!rule.detailUrl?_pd(it,p4,MY_URL):_pdfh(it,p4)});let link=links.join("$");let vod_id=rule.detailUrl?MY_CATE+"$"+link:link;let vod_name=_pdfh(it,p[1]).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p[2],MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}d.push({vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p[3]).replace(/\n|\t/g,"").trim()})})}}catch(e){console.log(e.message)}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}if(d.length>0){print(d.slice(0,2))}let pagecount=0;if(rule.pagecount&&typeof rule.pagecount==="object"&&rule.pagecount.hasOwnProperty(MY_CATE)){print(`MY_CATE:${MY_CATE},pagecount:${JSON.stringify(rule.pagecount)}`);pagecount=parseInt(rule.pagecount[MY_CATE])}let nodata={list:[{vod_name:"无数据,防无限请求",vod_id:"no_data",vod_remarks:"不要点,会崩的",vod_pic:"https://ghproxy.net/https://raw.githubusercontent.com/hjdhnx/dr_py/main/404.jpg"}],total:1,pagecount:1,page:1,limit:1};let vod=d.length<1?JSON.stringify(nodata):JSON.stringify({page:parseInt(cateObj.pg),pagecount:pagecount||999,limit:20,total:999,list:d});return vod}function searchParse(searchObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let d=[];if(!searchObj.searchUrl){return"{}"}let p=searchObj.搜索==="*"&&rule.一级?rule.一级:searchObj.搜索;if(!p||typeof p!=="string"){return"{}"}p=p.trim();let pp=rule.一级.split(";");let url=searchObj.searchUrl.replaceAll("**",searchObj.wd);if(searchObj.pg===1&&url.includes("[")&&url.includes("]")){url=url.split("[")[1].split("]")[0]}else if(searchObj.pg>1&&url.includes("[")&&url.includes("]")){url=url.split("[")[0]}if(/fypage/.test(url)){if(url.includes("(")&&url.includes(")")){let url_rep=url.match(/.*?\((.*)\)/)[1];let cnt_page=url_rep.replaceAll("fypage",searchObj.pg);let cnt_pg=eval(cnt_page);url=url.replaceAll(url_rep,cnt_pg).replaceAll("(","").replaceAll(")","")}else{url=url.replaceAll("fypage",searchObj.pg)}}MY_URL=url;console.log(MY_URL);if(p.startsWith("js:")){const TYPE="search";const MY_PAGE=searchObj.pg;const KEY=searchObj.wd;var input=MY_URL;var detailUrl=rule.detailUrl||"";eval(p.trim().replace("js:",""));d=VODS}else{p=p.split(";");if(p.length<5){return"{}"}let p0=getPP(p,0,pp,0);let _ps=parseTags.getParse(p0);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;let is_json=p0.startsWith("json:");p0=p0.replace(/^(jsp:|json:|jq:)/,"");try{let req_method=MY_URL.split(";").length>1?MY_URL.split(";")[1].toLowerCase():"get";let html;if(req_method==="post"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`post=》rurl:${rurl},params:${params}`);let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else if(req_method==="postjson"){let rurls=MY_URL.split(";")[0].split("#");let rurl=rurls[0];let params=rurls.length>1?rurls[1]:"";print(`postjson-》rurl:${rurl},params:${params}`);try{params=JSON.parse(params)}catch(e){params="{}"}let _fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let postData={body:params};Object.assign(_fetch_params,postData);html=post(rurl,_fetch_params)}else{html=getHtml(MY_URL)}if(html){if(/系统安全验证|输入验证码/.test(html)){let cookie=verifyCode(MY_URL);if(cookie){console.log(`本次成功过验证,cookie:${cookie}`);setItem(RULE_CK,cookie)}else{console.log(`本次自动过搜索验证失败,cookie:${cookie}`)}html=getHtml(MY_URL)}if(!html.includes(searchObj.wd)){console.log("搜索结果源码未包含关键字,疑似搜索失败,正为您打印结果源码");console.log(html)}if(is_json){html=dealJson(html)}let list=_pdfa(html,p0);let p1=getPP(p,1,pp,1);let p2=getPP(p,2,pp,2);let p3=getPP(p,3,pp,3);let p4=getPP(p,4,pp,4);let p5=getPP(p,5,pp,5);list.forEach(it=>{let links=p4.split("+").map(_p4=>{return!rule.detailUrl?_pd(it,_p4,MY_URL):_pdfh(it,_p4)});let link=links.join("$");let content;if(p.length>5&&p[5]){content=_pdfh(it,p5)}else{content=""}let vod_id=link;let vod_name=_pdfh(it,p1).replace(/\n|\t/g,"").trim();let vod_pic=_pd(it,p2,MY_URL);if(rule.二级==="*"){vod_id=vod_id+"@@"+vod_name+"@@"+vod_pic}let ob={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,vod_remarks:_pdfh(it,p3).replace(/\n|\t/g,"").trim(),vod_content:content.replace(/\n|\t/g,"").trim()};d.push(ob)})}}catch(e){print("搜索发生错误:"+e.message);return"{}"}}if(rule.图片来源){d.forEach(it=>{if(it.vod_pic&&it.vod_pic.startsWith("http")){it.vod_pic=it.vod_pic+rule.图片来源}})}return JSON.stringify({page:parseInt(searchObj.pg),pagecount:10,limit:20,total:100,list:d})}function detailParse(detailObj){let t1=(new Date).getTime();fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));let orId=detailObj.orId;let vod_name="片名";let vod_pic="";let vod_id=orId;if(rule.二级==="*"){let extra=orId.split("@@");vod_name=extra.length>1?extra[1]:vod_name;vod_pic=extra.length>2?extra[2]:vod_pic}let vod={vod_id:vod_id,vod_name:vod_name,vod_pic:vod_pic,type_name:"类型",vod_year:"年份",vod_area:"地区",vod_remarks:"更新信息",vod_actor:"主演",vod_director:"导演",vod_content:"简介"};let p=detailObj.二级;let url=detailObj.url;let detailUrl=detailObj.detailUrl;let fyclass=detailObj.fyclass;let tab_exclude=detailObj.tab_exclude;let html=detailObj.html||"";MY_URL=url;if(detailObj.二级访问前){try{print(`尝试在二级访问前执行代码:${detailObj.二级访问前}`);eval(detailObj.二级访问前.trim().replace("js:",""))}catch(e){print(`二级访问前执行代码出现错误:${e.message}`)}}if(p==="*"){vod.vod_play_from="道长在线";vod.vod_remarks=detailUrl;vod.vod_actor="没有二级,只有一级链接直接嗅探播放";vod.vod_content=MY_URL;vod.vod_play_url="嗅探播放$"+MY_URL.split("@@")[0]}else if(typeof p==="string"&&p.trim().startsWith("js:")){const TYPE="detail";var input=MY_URL;var play_url="";eval(p.trim().replace("js:",""));vod=VOD;console.log(JSON.stringify(vod))}else if(p&&typeof p==="object"){let tt1=(new Date).getTime();if(!html){html=getHtml(MY_URL)}print(`二级${MY_URL}仅获取源码耗时:${(new Date).getTime()-tt1}毫秒`);let _ps;if(p.is_json){print("二级是json");_ps=parseTags.json;html=dealJson(html)}else if(p.is_jsp){print("二级是jsp");_ps=parseTags.jsp}else if(p.is_jq){print("二级是jq");_ps=parseTags.jq}else{print("二级默认jq");_ps=parseTags.jq}let tt2=(new Date).getTime();print(`二级${MY_URL}获取并装载源码耗时:${tt2-tt1}毫秒`);_pdfa=_ps.pdfa;_pdfh=_ps.pdfh;_pd=_ps.pd;if(p.title){let p1=p.title.split(";");vod.vod_name=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();let type_name=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").replace(/ /g,"").trim():"";vod.type_name=type_name||vod.type_name}if(p.desc){try{let p1=p.desc.split(";");vod.vod_remarks=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim();vod.vod_year=p1.length>1?_pdfh(html,p1[1]).replace(/\n|\t/g,"").trim():"";vod.vod_area=p1.length>2?_pdfh(html,p1[2]).replace(/\n|\t/g,"").trim():"";vod.vod_actor=p1.length>3?_pdfh(html,p1[3]).replace(/\n|\t/g,"").trim():"";vod.vod_director=p1.length>4?_pdfh(html,p1[4]).replace(/\n|\t/g,"").trim():""}catch(e){}}if(p.content){try{let p1=p.content.split(";");vod.vod_content=_pdfh(html,p1[0]).replace(/\n|\t/g,"").trim()}catch(e){}}if(p.img){try{let p1=p.img.split(";");vod.vod_pic=_pd(html,p1[0],MY_URL)}catch(e){}}let vod_play_from="$$$";let playFrom=[];if(p.重定向&&p.重定向.startsWith("js:")){print("开始执行重定向代码:"+p.重定向);html=eval(p.重定向.replace("js:",""))}if(p.tabs){if(p.tabs.startsWith("js:")){print("开始执行tabs代码:"+p.tabs);var input=MY_URL;eval(p.tabs.replace("js:",""));playFrom=TABS}else{let p_tab=p.tabs.split(";")[0];let vHeader=_pdfa(html,p_tab);console.log(vHeader.length);let tab_text=p.tab_text||"body&&Text";let new_map={};for(let v of vHeader){let v_title=_pdfh(v,tab_text).trim();console.log(v_title);if(tab_exclude&&new RegExp(tab_exclude).test(v_title)){continue}if(!new_map.hasOwnProperty(v_title)){new_map[v_title]=1}else{new_map[v_title]+=1}if(new_map[v_title]>1){v_title+=Number(new_map[v_title]-1)}playFrom.push(v_title)}}console.log(JSON.stringify(playFrom))}else{playFrom=["道长在线"]}vod.vod_play_from=playFrom.join(vod_play_from);let vod_play_url="$$$";let vod_tab_list=[];if(p.lists){if(p.lists.startsWith("js:")){print("开始执行lists代码:"+p.lists);try{var input=MY_URL;var play_url="";eval(p.lists.replace("js:",""));for(let i in LISTS){if(LISTS.hasOwnProperty(i)){try{LISTS[i]=LISTS[i].map(it=>it.split("$").slice(0,2).join("$"))}catch(e){print("格式化LISTS发生错误:"+e.message)}}}vod_play_url=LISTS.map(it=>it.join("#")).join(vod_play_url)}catch(e){print("js执行lists: 发生错误:"+e.message)}}else{let list_text=p.list_text||"body&&Text";let list_url=p.list_url||"a&&href";let is_tab_js=p.tabs.trim().startsWith("js:");for(let i=0;i1&&!is_tab_js?p.tabs.split(";")[1]:"";let p1=p.lists.replaceAll("#idv",tab_name).replaceAll("#id",i);tab_ext=tab_ext.replaceAll("#idv",tab_name).replaceAll("#id",i);let tabName=tab_ext?_pdfh(html,tab_ext):tab_name;console.log(tabName);let new_vod_list=[];let tt1=(new Date).getTime();if(typeof pdfl==="function"){new_vod_list=pdfl(html,p1,list_text,list_url,MY_URL)}else{let vodList=[];try{vodList=_pdfa(html,p1);console.log("len(vodList):"+vodList.length)}catch(e){}for(let i=0;i0){new_vod_list=forceOrder(new_vod_list,"",x=>x.split("$")[0]);console.log(`drpy影响性能代码共计列表数循环次数:${new_vod_list.length},耗时:${(new Date).getTime()-tt1}毫秒`)}let vlist=new_vod_list.join("#");vod_tab_list.push(vlist)}vod_play_url=vod_tab_list.join(vod_play_url)}}vod.vod_play_url=vod_play_url}if(rule.图片来源&&vod.vod_pic&&vod.vod_pic.startsWith("http")){vod.vod_pic=vod.vod_pic+rule.图片来源}if(!vod.vod_id||vod_id.includes("$")&&vod.vod_id!==vod_id){vod.vod_id=vod_id}let t2=(new Date).getTime();console.log(`加载二级界面${MY_URL}耗时:${t2-t1}毫秒`);vod=vodDeal(vod);return JSON.stringify({list:[vod]})}function get_tab_index(vod){let obj={};vod.vod_play_from.split("$$$").forEach((it,index)=>{obj[it]=index});return obj}function vodDeal(vod){let vod_play_from=vod.vod_play_from.split("$$$");let vod_play_url=vod.vod_play_url.split("$$$");let tab_removed_list=vod_play_from;let tab_ordered_list=vod_play_from;let tab_renamed_list=vod_play_from;let tab_list=vod_play_from;let play_ordered_list=vod_play_url;if(rule.tab_remove&&rule.tab_remove.length>0||rule.tab_order&&rule.tab_order.length>0){let tab_index_dict=get_tab_index(vod);if(rule.tab_remove&&rule.tab_remove.length>0){tab_removed_list=vod_play_from.filter(it=>!rule.tab_remove.includes(it));tab_list=tab_removed_list}if(rule.tab_order&&rule.tab_order.length>0){let tab_order=rule.tab_order;tab_ordered_list=tab_removed_list.sort((a,b)=>{return(tab_order.indexOf(a)===-1?9999:tab_order.indexOf(a))-(tab_order.indexOf(b)===-1?9999:tab_order.indexOf(b))});tab_list=tab_ordered_list}play_ordered_list=tab_list.map(it=>vod_play_url[tab_index_dict[it]])}if(rule.tab_rename&&typeof rule.tab_rename==="object"&Object.keys(rule.tab_rename).length>0){tab_renamed_list=tab_list.map(it=>rule.tab_rename[it]||it);tab_list=tab_renamed_list}vod.vod_play_from=tab_list.join("$$$");vod.vod_play_url=play_ordered_list.join("$$$");return vod}function tellIsJx(url){try{let is_vip=!/\.(m3u8|mp4|m4a)$/.test(url.split("?")[0])&&是否正版(url);return is_vip?1:0}catch(e){return 1}}function playParse(playObj){fetch_params=JSON.parse(JSON.stringify(rule_fetch_params));MY_URL=playObj.url;if(!/http/.test(MY_URL)){try{MY_URL=base64Decode(MY_URL)}catch(e){}}MY_URL=decodeURIComponent(MY_URL);var input=MY_URL;let common_play={parse:1,url:input,jx:tellIsJx(input)};let lazy_play;if(!rule.play_parse||!rule.lazy){lazy_play=common_play}else if(rule.play_parse&&rule.lazy&&typeof rule.lazy==="string"){try{let lazy_code=rule.lazy.replace("js:","").trim();print("开始执行js免嗅=>"+lazy_code);eval(lazy_code);lazy_play=typeof input==="object"?input:{parse:1,jx:tellIsJx(input),url:input}}catch(e){print("js免嗅错误:"+e.message);lazy_play=common_play}}else{lazy_play=common_play}if(Array.isArray(rule.play_json)&&rule.play_json.length>0){let web_url=lazy_play.url;for(let pjson of rule.play_json){if(pjson.re&&(pjson.re==="*"||web_url.match(new RegExp(pjson.re)))){if(pjson.json&&typeof pjson.json==="object"){let base_json=pjson.json;lazy_play=Object.assign(lazy_play,base_json);break}}}}else if(rule.play_json&&!Array.isArray(rule.play_json)){let base_json={jx:1,parse:1};lazy_play=Object.assign(lazy_play,base_json)}else if(!rule.play_json){let base_json={jx:0,parse:1};lazy_play=Object.assign(lazy_play,base_json)}console.log(JSON.stringify(lazy_play));return JSON.stringify(lazy_play)}function proxyParse(proxyObj){var input=proxyObj.params;if(proxyObj.proxy_rule){log("准备执行本地代理规则:\n"+proxyObj.proxy_rule);try{eval(proxyObj.proxy_rule);if(input&&input!==proxyObj.params&&Array.isArray(input)&&input.length===3){return input}else{return[404,"text/plain","Not Found"]}}catch(e){return[500,"text/plain","代理规则错误:"+e.message]}}else{return[404,"text/plain","Not Found"]}}function isVideoParse(isVideoObj){var input=isVideoObj.url;if(!isVideoObj.t){let re_matcher=new RegExp(isVideoObj.isVideo,"i");return re_matcher.test(input)}else{try{eval(isVideoObj.isVideo);if(typeof input==="boolean"){return input}else{return false}}catch(e){log("执行嗅探规则发生错误:"+e.message);return false}}}function init(ext){console.log("init");try{let muban=模板.getMubans();if(typeof ext=="object"){rule=ext}else if(typeof ext=="string"){if(ext.startsWith("http")){let js=request(ext,{method:"GET"});if(js){eval(js.replace("var rule","rule"))}}else{eval(ext.replace("var rule","rule"))}}if(rule.模板&&muban.hasOwnProperty(rule.模板)){print("继承模板:"+rule.模板);rule=Object.assign(muban[rule.模板],rule)}let rule_cate_excludes=(rule.cate_exclude||"").split("|").filter(it=>it.trim());let rule_tab_excludes=(rule.tab_exclude||"").split("|").filter(it=>it.trim());rule_cate_excludes=rule_cate_excludes.concat(CATE_EXCLUDE.split("|").filter(it=>it.trim()));rule_tab_excludes=rule_tab_excludes.concat(TAB_EXCLUDE.split("|").filter(it=>it.trim()));rule.cate_exclude=rule_cate_excludes.join("|");rule.tab_exclude=rule_tab_excludes.join("|");rule.host=(rule.host||"").rstrip("/");HOST=rule.host;if(rule.hostJs){console.log(`检测到hostJs,准备执行...`);try{eval(rule.hostJs);rule.host=HOST.rstrip("/")}catch(e){console.log(`执行${rule.hostJs}获取host发生错误:`+e.message)}}rule.url=rule.url||"";rule.double=rule.double||false;rule.homeUrl=rule.homeUrl||"";rule.detailUrl=rule.detailUrl||"";rule.searchUrl=rule.searchUrl||"";rule.homeUrl=rule.host&&rule.homeUrl?urljoin(rule.host,rule.homeUrl):rule.homeUrl||rule.host;rule.detailUrl=rule.host&&rule.detailUrl?urljoin(rule.host,rule.detailUrl):rule.detailUrl;rule.二级访问前=rule.二级访问前||"";if(rule.url.includes("[")&&rule.url.includes("]")){let u1=rule.url.split("[")[0];let u2=rule.url.split("[")[1].split("]")[0];rule.url=rule.host&&rule.url?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.url}else{rule.url=rule.host&&rule.url?urljoin(rule.host,rule.url):rule.url}if(rule.searchUrl.includes("[")&&rule.searchUrl.includes("]")){let u1=rule.searchUrl.split("[")[0];let u2=rule.searchUrl.split("[")[1].split("]")[0];rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,u1)+"["+urljoin(rule.host,u2)+"]":rule.searchUrl}else{rule.searchUrl=rule.host&&rule.searchUrl?urljoin(rule.host,rule.searchUrl):rule.searchUrl}rule.timeout=rule.timeout||5e3;rule.encoding=rule.编码||rule.encoding||"utf-8";rule.search_encoding=rule.搜索编码||rule.search_encoding||"";rule.图片来源=rule.图片来源||"";rule.play_json=rule.hasOwnProperty("play_json")?rule.play_json:[];rule.pagecount=rule.hasOwnProperty("pagecount")?rule.pagecount:{};rule.proxy_rule=rule.hasOwnProperty("proxy_rule")?rule.proxy_rule:"";rule.sniffer=rule.hasOwnProperty("sniffer")?rule.sniffer:"";rule.sniffer=!!(rule.sniffer&&rule.sniffer!=="0"&&rule.sniffer!=="false");rule.isVideo=rule.hasOwnProperty("isVideo")?rule.isVideo:"";rule.tab_remove=rule.hasOwnProperty("tab_remove")?rule.tab_remove:[];rule.tab_order=rule.hasOwnProperty("tab_order")?rule.tab_order:[];rule.tab_rename=rule.hasOwnProperty("tab_rename")?rule.tab_rename:{};if(rule.headers&&typeof rule.headers==="object"){try{let header_keys=Object.keys(rule.headers);for(let k of header_keys){if(k.toLowerCase()==="user-agent"){let v=rule.headers[k];console.log(v);if(["MOBILE_UA","PC_UA","UC_UA","IOS_UA","UA"].includes(v)){rule.headers[k]=eval(v)}}else if(k.toLowerCase()==="cookie"){let v=rule.headers[k];if(v&&v.startsWith("http")){console.log(v);try{v=fetch(v);console.log(v);rule.headers[k]=v}catch(e){console.log(`从${v}获取cookie发生错误:`+e.message)}}}}}catch(e){console.log("处理headers发生错误:"+e.message)}}rule_fetch_params={headers:rule.headers||false,timeout:rule.timeout,encoding:rule.encoding};oheaders=rule.headers||{};RKEY=typeof key!=="undefined"&&key?key:"drpy_"+(rule.title||rule.host);pre();init_test()}catch(e){console.log("init_test发生错误:"+e.message)}}let homeHtmlCache=undefined;function home(filter){console.log("home");let homeObj={filter:rule.filter||false,MY_URL:rule.homeUrl,class_name:rule.class_name||"",class_url:rule.class_url||"",class_parse:rule.class_parse||"",cate_exclude:rule.cate_exclude};return homeParse(homeObj)}function homeVod(params){console.log("homeVod");let homeVodObj={"推荐":rule.推荐,double:rule.double,homeUrl:rule.homeUrl,detailUrl:rule.detailUrl};return homeVodParse(homeVodObj)}function category(tid,pg,filter,extend){let cateObj={url:rule.url,"一级":rule.一级,tid:tid,pg:parseInt(pg),filter:filter,extend:extend};return categoryParse(cateObj)}function detail(vod_url){let orId=vod_url;let fyclass="";log("orId:"+orId);if(vod_url.indexOf("$")>-1){let tmp=vod_url.split("$");fyclass=tmp[0];vod_url=tmp[1]}let detailUrl=vod_url.split("@@")[0];let url;if(!detailUrl.startsWith("http")&&!detailUrl.includes("/")){url=rule.detailUrl.replaceAll("fyid",detailUrl).replaceAll("fyclass",fyclass)}else if(detailUrl.includes("/")){url=urljoin(rule.homeUrl,detailUrl)}else{url=detailUrl}let detailObj={orId:orId,url:url,"二级":rule.二级,"二级访问前":rule.二级访问前,detailUrl:detailUrl,fyclass:fyclass,tab_exclude:rule.tab_exclude};return detailParse(detailObj)}function play(flag,id,flags){let playObj={url:id,flag:flag,flags:flags};return playParse(playObj)}function search(wd,quick,pg){if(rule.search_encoding){if(rule.search_encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.search_encoding)}}else if(rule.encoding&&rule.encoding.toLowerCase()!=="utf-8"){wd=encodeStr(wd,rule.encoding)}let searchObj={searchUrl:rule.searchUrl,"搜索":rule.搜索,wd:wd,pg:pg||1,quick:quick};return searchParse(searchObj)}function proxy(params){if(rule.proxy_rule&&rule.proxy_rule.trim()){rule.proxy_rule=rule.proxy_rule.trim()}if(rule.proxy_rule.startsWith("js:")){rule.proxy_rule=rule.proxy_rule.replace("js:","")}let proxyObj={params:params,proxy_rule:rule.proxy_rule};return proxyParse(proxyObj)}function sniffer(){let enable_sniffer=rule.sniffer||false;if(enable_sniffer){log("开始执行辅助嗅探代理规则...")}return enable_sniffer}function isVideo(url){let t=0;let is_video;if(rule.isVideo&&rule.isVideo.trim()){is_video=rule.isVideo.trim()}if(is_video.startsWith("js:")){is_video=is_video.replace("js:","");t=1}let isVideoObj={url:url,isVideo:is_video,t:t};let result=isVideoParse(isVideoObj);if(result){log("成功执行辅助嗅探规则并检测到视频地址:\n"+rule.isVideo)}return result}function DRPY(){return{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo}}export default{init:init,home:home,homeVod:homeVod,category:category,detail:detail,play:play,search:search,proxy:proxy,sniffer:sniffer,isVideo:isVideo,DRPY:DRPY}; \ No newline at end of file diff --git a/lib/gbk.js b/lib/gbk.js new file mode 100644 index 0000000..796d53a --- /dev/null +++ b/lib/gbk.js @@ -0,0 +1,68 @@ +/*** + * gbk编码解码函数 + * strTool = gbkTool() strTool.encode(key) + * @returns {{encode: (function(*): *), decode: (function(*): *)}} + */ +export function gbkTool(){ + var data=function(zipData){ + var re=zipData + .replace(/#(\d+)\$/g,function(a,b){ + return Array(+b+3).join('#'); + }) + .replace(/#/g,'####') + .replace(/(\w\w):([\w#]+)(?:,|$)/g,function(a,hd,dt){ + return dt.replace(/../g,function(a){ + if(a!='##'){ + return hd+a; + }else{ + return a; + } + }); + }); + return re; + }('4e:020405060f12171f20212326292e2f313335373c40414244464a5155575a5b6263646567686a6b6c6d6e6f727475767778797a7b7c7d7f808182838485878a#909697999c9d9ea3aaafb0b1b4b6b7b8b9bcbdbec8cccfd0d2dadbdce0e2e6e7e9edeeeff1f4f8f9fafcfe,4f:00020304050607080b0c12131415161c1d212328292c2d2e31333537393b3e3f40414244454748494a4b4c525456616266686a6b6d6e7172757778797a7d8081828586878a8c8e909293959698999a9c9e9fa1a2a4abadb0b1b2b3b4b6b7b8b9babbbcbdbec0c1c2c6c7c8c9cbcccdd2d3d4d5d6d9dbe0e2e4e5e7ebecf0f2f4f5f6f7f9fbfcfdff,50:000102030405060708090a#0b0e1011131516171b1d1e20222324272b2f303132333435363738393b3d3f404142444546494a4b4d5051525354565758595b5d5e5f6061626364666768696a6b6d6e6f70717273747578797a7c7d818283848687898a8b8c8e8f909192939495969798999a9b9c9d9e9fa0a1a2a4a6aaabadaeafb0b1b3b4b5b6b7b8b9bcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdced0d1d2d3d4d5d7d8d9dbdcdddedfe0e1e2e3e4e5e8e9eaebeff0f1f2f4f6f7f8f9fafcfdfeff,51:00010203040508#090a0c0d0e0f1011131415161718191a1b1c1d1e1f2022232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e42474a4c4e4f5052535758595b5d5e5f606163646667696a6f727a7e7f838486878a8b8e8f90919394989a9d9e9fa1a3a6a7a8a9aaadaeb4b8b9babebfc1c2c3c5c8cacdced0d2d3d4d5d6d7d8d9dadcdedfe2e3e5e6e7e8e9eaeceef1f2f4f7fe,52:0405090b0c0f101314151c1e1f2122232526272a2c2f313234353c3e4445464748494b4e4f5253555758#595a5b5d5f6062636466686b6c6d6e7071737475767778797a7b7c7e808384858687898a8b8c8d8e8f91929495969798999a9ca4a5a6a7aeafb0b4b5b6b7b8b9babbbcbdc0c1c2c4c5c6c8cacccdcecfd1d3d4d5d7d9dadbdcdddee0e1e2e3e5e6e7e8e9eaebecedeeeff1f2f3f4f5f6f7f8fbfcfd,53:0102030407090a0b0c0e11121314181b1c1e1f2224252728292b2c2d2f3031323334353637383c3d404244464b4c4d505458595b5d65686a6c6d7276797b7c7d7e80818387888a8e8f#90919293949697999b9c9ea0a1a4a7aaabacadafb0b1b2b3b4b5b7b8b9babcbdbec0c3c4c5c6c7cecfd0d2d3d5dadcdddee1e2e7f4fafeff,54:000205070b1418191a1c2224252a303336373a3d3f4142444547494c4d4e4f515a5d5e5f6061636567696a6b6c6d6e6f7074797a7e7f8183858788898a8d919397989c9e9fa0a1a2a5aeb0b2b5b6b7b9babcbec3c5cacbd6d8dbe0e1e2e3e4ebeceff0f1f4f5f6f7f8f9fbfe,55:0002030405080a0b0c0d0e121315161718191a1c1d1e1f212526#28292b2d3234353638393a3b3d40424547484b4c4d4e4f515253545758595a5b5d5e5f60626368696b6f7071727374797a7d7f85868c8d8e9092939596979a9b9ea0a1a2a3a4a5a6a8a9aaabacadaeafb0b2b4b6b8babcbfc0c1c2c3c6c7c8cacbcecfd0d5d7d8d9dadbdee0e2e7e9edeef0f1f4f6f8f9fafbfcff,56:0203040506070a0b0d1011121314151617191a1c1d202122252628292a2b2e2f30333537383a3c3d3e404142434445464748494a4b4f5051525355565a5b5d5e5f6061#636566676d6e6f70727374757778797a7d7e7f80818283848788898a8b8c8d9091929495969798999a9b9c9d9e9fa0a1a2a4a5a6a7a8a9aaabacadaeb0b1b2b3b4b5b6b8b9babbbdbebfc0c1c2c3c4c5c6c7c8c9cbcccdcecfd0d1d2d3d5d6d8d9dce3e5e6e7e8e9eaeceeeff2f3f6f7f8fbfc,57:00010205070b0c0d0e0f101112131415161718191a1b1d1e202122242526272b313234353637383c3d3f414344454648494b52535455565859626365676c6e707172747578797a7d7e7f80#818788898a8d8e8f90919495969798999a9c9d9e9fa5a8aaacafb0b1b3b5b6b7b9babbbcbdbebfc0c1c4c5c6c7c8c9cacccdd0d1d3d6d7dbdcdee1e2e3e5e6e7e8e9eaebeceef0f1f2f3f5f6f7fbfcfeff,58:0103040508090a0c0e0f101213141617181a1b1c1d1f222325262728292b2c2d2e2f31323334363738393a3b3c3d3e3f4041424345464748494a4b4e4f505253555657595a5b5c5d5f6061626364666768696a6d6e6f707172737475767778797a7b7c7d7f82848687888a8b8c#8d8e8f909194959697989b9c9da0a1a2a3a4a5a6a7aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbdbebfc0c2c3c4c6c7c8c9cacbcccdcecfd0d2d3d4d6d7d8d9dadbdcdddedfe0e1e2e3e5e6e7e8e9eaedeff1f2f4f5f7f8fafbfcfdfeff,59:000103050608090a0b0c0e1011121317181b1d1e2021222326282c30323335363b3d3e3f404345464a4c4d505253595b5c5d5e5f616364666768696a6b6c6d6e6f70717275777a7b7c7e7f8085898b8c8e8f90919495989a9b9c9d9fa0a1a2a6#a7acadb0b1b3b4b5b6b7b8babcbdbfc0c1c2c3c4c5c7c8c9cccdcecfd5d6d9dbdedfe0e1e2e4e6e7e9eaebedeeeff0f1f2f3f4f5f6f7f8fafcfdfe,5a:00020a0b0d0e0f101214151617191a1b1d1e2122242627282a2b2c2d2e2f3033353738393a3b3d3e3f414243444547484b4c4d4e4f5051525354565758595b5c5d5e5f60616364656668696b6c6d6e6f7071727378797b7c7d7e808182838485868788898a8b8c8d8e8f9091939495969798999c9d9e9fa0a1a2a3a4a5a6a7a8a9abac#adaeafb0b1b4b6b7b9babbbcbdbfc0c3c4c5c6c7c8cacbcdcecfd0d1d3d5d7d9dadbdddedfe2e4e5e7e8eaecedeeeff0f2f3f4f5f6f7f8f9fafbfcfdfeff,5b:0001020304050607080a0b0c0d0e0f10111213141518191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303133353638393a3b3c3d3e3f4142434445464748494a4b4c4d4e4f52565e606167686b6d6e6f7274767778797b7c7e7f82868a8d8e90919294969fa7a8a9acadaeafb1b2b7babbbcc0c1c3c8c9cacbcdcecf#d1d4d5d6d7d8d9dadbdce0e2e3e6e7e9eaebecedeff1f2f3f4f5f6f7fdfe,5c:0002030507080b0c0d0e10121317191b1e1f2021232628292a2b2d2e2f303233353637434446474c4d5253545657585a5b5c5d5f62646768696a6b6c6d70727374757677787b7c7d7e808384858687898a8b8e8f9293959d9e9fa0a1a4a5a6a7a8aaaeafb0b2b4b6b9babbbcbec0c2c3c5c6c7c8c9cacccdcecfd0d1d3d4d5d6d7d8dadbdcdddedfe0e2e3e7e9ebeceeeff1f2f3f4f5f6f7f8f9fafcfdfeff,5d:00#01040508090a0b0c0d0f10111213151718191a1c1d1f2021222325282a2b2c2f3031323335363738393a3b3c3f4041424344454648494d4e4f5051525354555657595a5c5e5f6061626364656667686a6d6e7071727375767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f9091929394959697989a9b9c9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b8b9babbbcbdbebfc0c1c2c3c4c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d7d8d9dadcdfe0e3e4eaeced#f0f5f6f8f9fafbfcff,5e:000407090a0b0d0e1213171e1f20212223242528292a2b2c2f303233343536393a3e3f404143464748494a4b4d4e4f50515253565758595a5c5d5f60636465666768696a6b6c6d6e6f70717577797e8182838588898c8d8e92989b9da1a2a3a4a8a9aaabacaeafb0b1b2b4babbbcbdbfc0c1c2c3c4c5c6c7c8cbcccdcecfd0d4d5d7d8d9dadcdddedfe0e1e2e3e4e5e6e7e9ebecedeeeff0f1f2f3f5f8f9fbfcfd,5f:050607090c0d0e10121416191a1c1d1e21222324#282b2c2e30323334353637383b3d3e3f4142434445464748494a4b4c4d4e4f5154595a5b5c5e5f60636567686b6e6f72747576787a7d7e7f83868d8e8f919394969a9b9d9e9fa0a2a3a4a5a6a7a9abacafb0b1b2b3b4b6b8b9babbbebfc0c1c2c7c8cacbced3d4d5dadbdcdedfe2e3e5e6e8e9eceff0f2f3f4f6f7f9fafc,60:0708090b0c10111317181a1e1f2223242c2d2e3031323334363738393a3d3e404445464748494a4c4e4f5153545657585b5c5e5f606165666e71727475777e80#8182858687888a8b8e8f909193959798999c9ea1a2a4a5a7a9aaaeb0b3b5b6b7b9babdbebfc0c1c2c3c4c7c8c9cccdcecfd0d2d3d4d6d7d9dbdee1e2e3e4e5eaf1f2f5f7f8fbfcfdfeff,61:02030405070a0b0c1011121314161718191b1c1d1e21222528292a2c2d2e2f303132333435363738393a3b3c3d3e4041424344454647494b4d4f50525354565758595a5b5c5e5f606163646566696a6b6c6d6e6f717273747678797a7b7c7d7e7f808182838485868788898a8c8d8f9091929395#969798999a9b9c9e9fa0a1a2a3a4a5a6aaabadaeafb0b1b2b3b4b5b6b8b9babbbcbdbfc0c1c3c4c5c6c7c9cccdcecfd0d3d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e7e8e9eaebecedeeeff0f1f2f3f4f6f7f8f9fafbfcfdfe,62:00010203040507091314191c1d1e2023262728292b2d2f303132353638393a3b3c424445464a4f50555657595a5c5d5e5f6061626465687172747577787a7b7d818283858687888b8c8d8e8f9094999c9d9ea3a6a7a9aaadaeafb0b2b3b4b6b7b8babec0c1#c3cbcfd1d5dddee0e1e4eaebf0f2f5f8f9fafb,63:00030405060a0b0c0d0f10121314151718191c2627292c2d2e30313334353637383b3c3e3f40414447484a51525354565758595a5b5c5d60646566686a6b6c6f707273747578797c7d7e7f81838485868b8d9193949597999a9b9c9d9e9fa1a4a6abafb1b2b5b6b9bbbdbfc0c1c2c3c5c7c8cacbccd1d3d4d5d7d8d9dadbdcdddfe2e4e5e6e7e8ebeceeeff0f1f3f5f7f9fafbfcfe,64:0304060708090a0d0e111215161718191a1d1f222324#252728292b2e2f3031323335363738393b3c3e404243494b4c4d4e4f505153555657595a5b5c5d5f60616263646566686a6b6c6e6f70717273747576777b7c7d7e7f8081838688898a8b8c8d8e8f90939497989a9b9c9d9fa0a1a2a3a5a6a7a8aaabafb1b2b3b4b6b9bbbdbebfc1c3c4c6c7c8c9cacbcccfd1d3d4d5d6d9dadbdcdddfe0e1e3e5e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,65:01020304050607080a0b0c0d0e0f10111314151617191a1b1c1d1e1f2021#222324262728292a2c2d30313233373a3c3d404142434446474a4b4d4e5052535457585a5c5f606164656768696a6d6e6f7173757678797a7b7c7d7e7f8081828384858688898a8d8e8f92949596989a9d9ea0a2a3a6a8aaacaeb1b2b3b4b5b6b7b8babbbebfc0c2c7c8c9cacdd0d1d3d4d5d8d9dadbdcdddedfe1e3e4eaebf2f3f4f5f8f9fbfcfdfeff,66:0104050708090b0d1011121617181a1b1c1e2122232426292a2b2c2e3032333738393a3b3d3f40424445464748494a4d4e505158#595b5c5d5e6062636567696a6b6c6d7172737578797b7c7d7f808183858688898a8b8d8e8f909293949598999a9b9c9e9fa0a1a2a3a4a5a6a9aaabacadafb0b1b2b3b5b6b7b8babbbcbdbfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8dadedfe0e1e2e3e4e5e7e8eaebecedeeeff1f5f6f8fafbfd,67:010203040506070c0e0f1112131618191a1c1e20212223242527292e303233363738393b3c3e3f414445474a4b4d5254555758595a5b5d62636466676b6c6e717476#78797a7b7d8082838586888a8c8d8e8f9192939496999b9fa0a1a4a6a9acaeb1b2b4b9babbbcbdbebfc0c2c5c6c7c8c9cacbcccdced5d6d7dbdfe1e3e4e6e7e8eaebedeef2f5f6f7f8f9fafbfcfe,68:01020304060d1012141518191a1b1c1e1f20222324252627282b2c2d2e2f30313435363a3b3f474b4d4f52565758595a5b5c5d5e5f6a6c6d6e6f707172737578797a7b7c7d7e7f8082848788898a8b8c8d8e90919294959698999a9b9c9d9e9fa0a1a3a4a5a9aaabacaeb1b2b4b6b7b8#b9babbbcbdbebfc1c3c4c5c6c7c8cacccecfd0d1d3d4d6d7d9dbdcdddedfe1e2e4e5e6e7e8e9eaebecedeff2f3f4f6f7f8fbfdfeff,69:00020304060708090a0c0f11131415161718191a1b1c1d1e21222325262728292a2b2c2e2f313233353637383a3b3c3e4041434445464748494a4b4c4d4e4f50515253555658595b5c5f616264656768696a6c6d6f7072737475767a7b7d7e7f8183858a8b8c8e8f909192939697999a9d9e9fa0a1a2a3a4a5a6a9aaacaeafb0b2b3b5b6b8b9babcbd#bebfc0c2c3c4c5c6c7c8c9cbcdcfd1d2d3d5d6d7d8d9dadcdddee1e2e3e4e5e6e7e8e9eaebeceeeff0f1f3f4f5f6f7f8f9fafbfcfe,6a:000102030405060708090b0c0d0e0f10111213141516191a1b1c1d1e20222324252627292b2c2d2e30323334363738393a3b3c3f40414243454648494a4b4c4d4e4f515253545556575a5c5d5e5f60626364666768696a6b6c6d6e6f70727374757677787a7b7d7e7f81828385868788898a8b8c8d8f929394959698999a9b9c9d9e9fa1a2a3a4a5a6#a7a8aaadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,6b:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f252628292a2b2c2d2e2f303133343536383b3c3d3f4041424445484a4b4d4e4f5051525354555657585a5b5c5d5e5f606168696b6c6d6e6f7071727374757677787a7d7e7f808588#8c8e8f909194959798999c9d9e9fa0a2a3a4a5a6a7a8a9abacadaeafb0b1b2b6b8b9babbbcbdbec0c3c4c6c7c8c9caccced0d1d8dadcdddedfe0e2e3e4e5e6e7e8e9ecedeef0f1f2f4f6f7f8fafbfcfeff,6c:000102030408090a0b0c0e12171c1d1e2023252b2c2d31333637393a3b3c3e3f434445484b4c4d4e4f5152535658595a62636566676b6c6d6e6f71737577787a7b7c7f8084878a8b8d8e9192959697989a9c9d9ea0a2a8acafb0b4b5b6b7bac0c1c2c3c6c7c8cbcdcecfd1d2d8#d9dadcdddfe4e6e7e9ecedf2f4f9ff,6d:000203050608090a0d0f101113141516181c1d1f20212223242628292c2d2f30343637383a3f404244494c50555657585b5d5f6162646567686b6c6d707172737576797a7b7d7e7f8081838486878a8b8d8f9092969798999a9ca2a5acadb0b1b3b4b6b7b9babbbcbdbec1c2c3c8c9cacdcecfd0d2d3d4d5d7dadbdcdfe2e3e5e7e8e9eaedeff0f2f4f5f6f8fafdfeff,6e:0001020304060708090b0f12131518191b1c1e1f222627282a2c2e30313335#3637393b3c3d3e3f40414245464748494a4b4c4f5051525557595a5c5d5e606162636465666768696a6c6d6f707172737475767778797a7b7c7d8081828487888a8b8c8d8e91929394959697999a9b9d9ea0a1a3a4a6a8a9abacadaeb0b3b5b8b9bcbebfc0c3c4c5c6c8c9cacccdced0d2d6d8d9dbdcdde3e7eaebecedeeeff0f1f2f3f5f6f7f8fafbfcfdfeff,6f:000103040507080a0b0c0d0e101112161718191a1b1c1d1e1f212223252627282c2e303234353738393a3b3c3d3f404142#43444548494a4c4e4f5051525354555657595a5b5d5f60616364656768696a6b6c6f707173757677797b7d7e7f808182838586878a8b8f909192939495969798999a9b9d9e9fa0a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b7b8babbbcbdbebfc1c3c4c5c6c7c8cacbcccdcecfd0d3d4d5d6d7d8d9dadbdcdddfe2e3e4e5e6e7e8e9eaebecedf0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,70:000102030405060708090a0b0c0d0e0f1012131415161718191c1d1e1f2021222425262728292a#2b2c2d2e2f30313233343637383a3b3c3d3e3f404142434445464748494a4b4d4e505152535455565758595a5b5c5d5f606162636465666768696a6e7172737477797a7b7d818283848687888b8c8d8f90919397989a9b9e9fa0a1a2a3a4a5a6a7a8a9aab0b2b4b5b6babebfc4c5c6c7c9cbcccdcecfd0d1d2d3d4d5d6d7dadcdddee0e1e2e3e5eaeef0f1f2f3f4f5f6f8fafbfcfeff,71:0001020304050607080b0c0d0e0f111214171b1c1d1e1f2021222324252728292a2b2c2d2e323334#353738393a3b3c3d3e3f4041424344464748494b4d4f505152535455565758595a5b5d5f6061626365696a6b6c6d6f707174757677797b7c7e7f8081828385868788898b8c8d8e909192939596979a9b9c9d9ea1a2a3a4a5a6a7a9aaabadaeafb0b1b2b4b6b7b8babbbcbdbebfc0c1c2c4c5c6c7c8c9cacbcccdcfd0d1d2d3d6d7d8d9dadbdcdddedfe1e2e3e4e6e8e9eaebecedeff0f1f2f3f4f5f6f7f8fafbfcfdfeff,72:0001020304050708090a0b0c0d0e0f101112131415161718191a#1b1c1e1f2021222324252627292b2d2e2f3233343a3c3e40414243444546494a4b4e4f505153545557585a5c5e60636465686a6b6c6d707173747677787b7c7d828385868788898c8e9091939495969798999a9b9c9d9ea0a1a2a3a4a5a6a7a8a9aaabaeb1b2b3b5babbbcbdbebfc0c5c6c7c9cacbcccfd1d3d4d5d6d8dadb#95$,30:000102,00b702:c9c7,00a830:0305,2014ff5e20:162618191c1d,30:141508090a0b0c0d0e0f16171011,00:b1d7f7,22:362728110f2a2908371aa52520,231222:992b2e614c483d1d606e6f64651e3534,26:4240,00b020:3233,2103ff0400a4ff:e0e1,203000a7211626:0605,25:cbcfcec7c6a1a0b3b2,203b21:92909193,30:13#95$,21:70717273747576777879#4$,24:88898a8b8c8d8e8f909192939495969798999a9b7475767778797a7b7c7d7e7f808182838485868760616263646566676869##,32:20212223242526272829##,21:606162636465666768696a6b#97$,ff:010203e505060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5de3#95$,30:4142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f90919293#106$a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6#103$,03:9192939495969798999a9b9c9d9e9fa0a1a3a4a5a6a7a8a9#6$b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c3c4c5c6c7c8c9#5$,fe:3536393a3f403d3e41424344##3b3c373831#3334#104$,04:10111213141501161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f#13$30313233343551363738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f#11$,02:cacbd9,20:13152535,21:050996979899,22:151f23526667bf,25:505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727381828384858687#88898a8b8c8d8e8f939495bcbde2e3e4e5,2609229530:121d1e#9$,010100e101ce00e0011300e9011b00e8012b00ed01d000ec014d00f301d200f2016b00fa01d400f901:d6d8dadc,00:fcea,0251e7c701:4448,e7c802:61#2$,31:05060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223242526272829#19$,30:212223242526272829,32a333:8e8f9c9d9ea1c4ced1d2d5,fe30ff:e2e4#,212132:31#,20:10#1$,30:fc9b9cfdfe069d9e,fe:494a4b4c4d4e4f50515254555657595a5b5c5d5e5f6061#626364656668696a6b,e7:e7e8e9eaebecedeeeff0f1f2f3,30:07#11$,25:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b#13$,72:dcdddfe2e3e4e5e6e7eaebf5f6f9fdfeff,73:00020405060708090b0c0d0f1011121418191a1f2023242627282d2f30323335363a3b3c3d404142434445464748#494a4b4c4e4f515354555658595a5b5c5d5e5f6162636465666768696a6b6e7071#92$72737475767778797a7b7c7d7f808182838586888a8c8d8f90929394959798999a9c9d9ea0a1a3a4a5a6a7a8aaacadb1b4b5b6b8b9bcbdbebfc1c3c4c5c6c7#cbccced2d3d4d5d6d7d8dadbdcdddfe1e2e3e4e6e8eaebeceeeff0f1f3f4f5f6f7#92$f8f9fafbfcfdfeff,74:0001020407080b0c0d0e1112131415161718191c1d1e1f2021232427292b2d2f31323738393a3b3d3e3f4042434445464748494a4b4c4d#4e4f505152535456585d606162636465666768696a6b6c6e6f717273747578797a#92$7b7c7d7f8284858688898a8c8d8f9192939495969798999a9b9d9fa0a1a2a3a4a5a6aaabacadaeafb0b1b2b3b4b5b6b7b8b9bbbcbdbebfc0c1c2c3c4c5c6c7#c8c9cacbcccdcecfd0d1d3d4d5d6d7d8d9dadbdddfe1e5e7e8e9eaebecedf0f1f2#92$f3f5f8f9fafbfcfdfe,75:0001020305060708090a0b0c0e1012141516171b1d1e202122232426272a2e3436393c3d3f414243444647494a4d5051525355565758#5d5e5f60616263646768696b6c6d6e6f7071737576777a7b7c7d7e808182848587#92$88898a8c8d8e909395989b9c9ea2a6a7a8a9aaadb6b7babbbfc0c1c6cbcccecfd0d1d3d7d9dadcdddfe0e1e5e9ecedeeeff2f3f5f6f7f8fafbfdfe,76:02040607#08090b0d0e0f11121314161a1c1d1e212327282c2e2f31323637393a3b3d414244#92$45464748494a4b4e4f50515253555758595a5b5d5f6061626465666768696a6c6d6e7071727374757677797a7c7f80818385898a8c8d8f9092949597989a9b#9c9d9e9fa0a1a2a3a5a6a7a8a9aaabacadafb0b3b5b6b7b8b9babbbcbdbec0c1c3,554a963f57c3632854ce550954c076:914c,853c77ee827e788d72319698978d6c285b894ffa630966975cb880fa684880ae660276ce51f9655671ac7ff1888450b2596561ca6fb382ad634c625253ed54277b06516b75a45df462d48dcb9776628a8019575d97387f627238767d67cf767e64464f708d2562dc7a17659173ed642c6273822c9881677f724862:6ecc,4f3474e3534a529e7eca90a65e2e6886699c81807ed168d278c5868c9551508d8c2482de80de53058912526576:c4c7c9cbccd3d5d9dadcdddee0e1e2e3e4e6e7e8e9eaebecedf0f3f5f6f7fafbfdff,77:00020305060a0c0e0f1011121314151617181b1c1d1e21232425272a2b#2c2e3031323334393b3d3e3f4244454648494a4b4c4d4e4f52535455565758595c,858496f94fdd582199715b9d62:b1a5,66b48c799c8d7206676f789160b253:5117,8f8880cc8d1d94a1500d72c8590760eb711988ab595482ef672c7b285d297ef7752d6cf58e668ff8903c9f3b6bd491197b145f7c78a784d6853d6b:d5d9d6,5e:0187,75f995ed655d5f:0ac5,8f9f58c181c2907f965b97ad8fb97f168d2c62414fbf53:d85e,8f:a8a9ab,904d68075f6a819888689cd6618b522b762a5f6c658c6fd26ee85bbe644851:75b0,67c44e1979c9997c70b377:5d5e5f606467696a6d6e6f7071727374757677787a7b7c818283868788898a8b8f90939495969798999a9b9c9d9ea1a3a4a6a8abadaeafb1b2b4b6b7b8b9ba#bcbec0c1c2c3c4c5c6c7c8c9cacbcccecfd0d1d2d3d4d5d6d8d9dadddedfe0e1e4,75c55e7673bb83e064ad62e894b56ce2535a52c3640f94c27b944f2f5e1b823681:168a,6e246cca9a736355535c54fa886557e04e0d5e036b657c3f90e8601664e6731c88c16750624d8d22776c8e2991c75f6983dc8521991053c286956b8b60:ede8,707f82:cd31,4ed36ca785cf64cd7cd969fd66f9834953957b564fa7518c6d4b5c428e6d63d253c983:2c36,67e578b4643d5bdf5c945dee8be762c667f48c7a640063ba8749998b8c177f2094f24ea7961098a4660c731677:e6e8eaeff0f1f2f4f5f7f9fafbfc,78:0304050607080a0b0e0f101315191b1e20212224282a2b2e2f31323335363d3f414243444648494a4b4d4f51535458595a#5b5c5e5f606162636465666768696f7071727374757678797a7b7d7e7f80818283,573a5c1d5e38957f507f80a05382655e7545553150218d856284949e671d56326f6e5de2543570928f66626f64a463a35f7b6f8890f481e38fb05c1866685ff16c8996488d81886c649179f057ce6a59621054484e587a0b60e96f848bda627f901e9a8b79e4540375f4630153196c608fdf5f1b9a70803b9f7f4f885c3a8d647fc565a570bd51:45b2,866b5d075ba062bd916c75748e0c7a2061017b794ec77ef877854e1181ed521d51fa6a7153a88e87950496cf6ec19664695a78:848586888a8b8f9092949596999d9ea0a2a4a6a8a9aaabacadaeafb5b6b7b8babbbcbdbfc0c2c3c4c6c7c8cccdcecfd1d2d3d6d7d8dadbdcdddedfe0e1e2e3#e4e5e6e7e9eaebedeeeff0f1f3f5f6f8f9fbfcfdfeff,79:00020304060708090a0b0c,784050a877d7641089e6590463e35ddd7a7f693d4f20823955984e3275ae7a975e:628a,95ef521b5439708a6376952457826625693f918755076df37eaf882262337ef075b5832878c196cc8f9e614874f78bcd6b64523a8d506b21806a847156f153064e:ce1b,51d17c97918b7c074fc38e7f7be17a9c64675d1450ac810676017cb96dec7fe067515b:58f8,78cb64:ae13,63:aa2b,9519642d8fbe7b5476296253592754466b7950a362345e266b864ee38d37888b5f85902e79:0d0e0f1011121415161718191a1b1c1d1f2021222325262728292a2b2c2d2e2f3031323335363738393d3f42434445474a4b4c4d4e4f505152545558596163#6466696a6b6c6e70717273747576797b7c7d7e7f8283868788898b8c8d8e909192,6020803d62c54e39535590f863b880c665e66c2e4f4660ee6de18bde5f3986cb5f536321515a83616863520063638e4850125c9b79775bfc52307a3b60bc905376d75f:b797,76848e6c706f767b7b4977aa51f3909358244f4e6ef48fea654c7b1b72c46da47fdf5ae162b55e95573084827b2c5e1d5f1f90127f1498a063826ec7789870b95178975b57ab75354f4375385e9760e659606dc06bbf788953fc96d551cb52016389540a94938c038dcc7239789f87768fed8c0d53e079:939495969798999b9c9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb0b1b2b4b5b6b7b8bcbfc2c4c5c7c8cacccecfd0d3d4d6d7d9dadbdcdddee0e1e2e5e8ea#eceef1f2f3f4f5f6f7f9fafcfeff,7a:0104050708090a0c0f10111213151618191b1c,4e0176ef53ee948998769f0e952d5b9a8ba24e:221c,51ac846361c252a8680b4f97606b51bb6d1e515c6296659796618c46901775d890fd77636bd272:8aec,8bfb583577798d4c675c9540809a5ea66e2159927aef77ed953b6bb565ad7f0e58065151961f5bf958a954288e726566987f56e4949d76fe9041638754c659:1a3a,579b8eb267358dfa8235524160f0581586fe5ce89e454fc4989d8bb95a2560765384627c904f9102997f6069800c513f80335c1499756d314e8c7a:1d1f21222425262728292a2b2c2d2e2f303132343536383a3e4041424344454748494a4b4c4d4e4f50525354555658595a5b5c5d5e5f606162636465666768#696a6b6c6d6e6f717273757b7c7d7e828587898a8b8c8e8f909394999a9b9ea1a2,8d3053d17f5a7b4f4f104e4f96006cd573d085e95e06756a7ffb6a0a77fe94927e4151e170e653cd8fd483038d2972af996d6cdb574a82b365b980aa623f963259a84eff8bbf7eba653e83f2975e556198de80a5532a8bfd542080ba5e9f6cb88d3982ac915a54296c1b52067eb7575f711a6c7e7c89594b4efd5fff61247caa4e305c0167ab87025cf0950b98ce75af70fd902251af7f1d8bbd594951e44f5b5426592b657780a45b7562:76c2,8f905e456c1f7b264f:0fd8,670d7a:a3a4a7a9aaabaeafb0b1b2b4b5b6b7b8b9babbbcbdbec0c1c2c3c4c5c6c7c8c9cacccdcecfd0d1d2d3d4d5d7d8dadbdcdde1e2e4e7e8e9eaebeceef0f1f2f3#f4f5f6f7f8fbfcfe,7b:0001020507090c0d0e1012131617181a1c1d1f21222327292d,6d:6eaa,798f88b15f17752b629a8f854fef91dc65a781:2f51,5e9c81508d74526f89868d4b590d50854ed8961c723681798d1f5bcc8ba3964459877f1a549056:760e,8be565396982949976d66e895e72751867:46d1,7aff809d8d76611f79c665628d635188521a94a27f38809b7eb25c976e2f67607bd9768b9ad8818f7f947cd5641e95507a3f54:4ae5,6b4c640162089e3d80f3759952729769845b683c86e496:0194,94ec4e2a54047ed968398ddf801566f45e9a7fb97b:2f303234353637393b3d3f404142434446484a4d4e535557595c5e5f61636465666768696a6b6c6d6f70737476787a7c7d7f81828384868788898a8b8c8e8f#9192939698999a9b9e9fa0a3a4a5aeafb0b2b3b5b6b7b9babbbcbdbebfc0c2c3c4,57c2803f68975de5653b529f606d9f9a4f9b8eac516c5bab5f135de96c5e62f18d21517194a952fe6c9f82df72d757a267848d2d591f8f9c83c754957b8d4f306cbd5b6459d19f1353e486ca9aa88c3780a16545987e56fa96c7522e74dc52505be1630289024e5662d0602a68fa51735b9851a089c27ba199867f5060ef704c8d2f51495e7f901b747089c4572d78455f529f9f95fa8f689b3c8be17678684267dc8d:ea35,523d8f8a6eda68cd950590ed56fd679c88f98fc754c87b:c5c8c9cacbcdcecfd0d2d4d5d6d7d8dbdcdedfe0e2e3e4e7e8e9ebecedeff0f2f3f4f5f6f8f9fafbfdff,7c:0001020304050608090a0d0e101112131415171819#1a1b1c1d1e20212223242528292b2c2d2e2f3031323334353637393a3b3c3d3e42,9ab85b696d776c264ea55bb39a87916361a890af97e9542b6db55bd251fd558a7f:55f0,64bc634d65f161be608d710a6c:5749,592f676d822a58d5568e8c6a6beb90dd597d801753f76d695475559d83:77cf,683879be548c4f55540876d28c8996026cb36db88d6b89109e648d3a563f9ed175d55f8872e0606854fc4ea86a2a886160528f7054c470d886799e3f6d2a5b8f5f187ea255894faf7334543c539a501954:0e7c,4e4e5ffd745a58f6846b80e1877472d07cca6e567c:434445464748494a4b4c4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f70717275767778797a7e7f8081828384858687#888a8b8c8d8e8f90939496999a9ba0a1a3a6a7a8a9abacadafb0b4b5b6b7b8babb,5f27864e552c62a44e926caa623782b154d7534e733e6ed1753b521253168bdd69d05f8a60006dee574f6b2273af68538fd87f13636260a3552475ea8c6271156da35ba65e7b8352614c9ec478fa87577c27768751f060f6714c66435e4c604d8c0e707063258f895fbd606286d456de6bc160946167534960e066668d3f79fd4f1a70e96c478b:b3f2,7ed88364660f5a5a9b426d:51f7,8c416d3b4f19706b83b7621660d1970d8d27797851fb57:3efa,673a75787a3d79ef7b957c:bfc0c2c3c4c6c9cbcecfd0d1d2d3d4d8dadbdddee1e2e3e4e5e6e7e9eaebecedeef0f1f2f3f4f5f6f7f9fafcfdfeff,7d:000102030405060708090b0c0d0e0f10#1112131415161718191a1b1c1d1e1f212324252628292a2c2d2e30313233343536,808c99658ff96fc08ba59e2159ec7ee97f095409678168d88f917c4d96c653ca602575be6c7253735ac97ea7632451e0810a5df184df628051805b634f0e796d524260b86d4e5b:c4c2,8b:a1b0,65e25fcc964559937e:e7aa,560967b759394f735bb652a0835a988a8d3e753294be50477a3c4ef767b69a7e5ac16b7c76d1575a5c167b3a95f4714e517c80a9827059787f04832768c067ec78:b177,62e363617b804fed526a51cf835069db92748d:f531,89c1952e7bad4ef67d:3738393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6f70717273747576#78797a7b7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798,506582305251996f6e:1085,6da75efa50f559dc5c066d466c5f7586848b686859568bb253209171964d854969127901712680f64ea490ca6d479a845a0756bc640594f077eb4fa5811a72e189d2997a7f347ede527f655991758f:7f83,53eb7a9663:eda5,768679f888579636622a52ab8282685467706377776b7aed6d017ed389e359d0621285c982a5754c501f4ecb75a58beb5c4a5dfe7b4b65a491d14eca6d25895f7d2795264ec58c288fdb9773664b79818fd170ec6d787d:999a9b9c9d9e9fa0a1a2a3a4a5a7a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9#dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fa,5c3d52b283465162830e775b66769cb84eac60ca7c:beb3,7ecf4e958b66666f988897595883656c955c5f8475c997567a:dfde,51c070af7a9863ea7a767ea0739697ed4e4570784e5d915253a965:51e7,81fc8205548e5c31759a97a062d872d975bd5c459a7983ca5c40548077e94e3e6cae805a62d2636e5de851778ddd8e1e952f4ff153e560e770ac526763509e435a1f5026773753777ee26485652b628963985014723589c951b38bc07edd574783cc94a7519b541b5cfb7d:fbfcfdfeff,7e:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f30313233343536373839#3a3c3d3e3f40424344454648494a4b4c4d4e4f505152535455565758595a5b5c5d,4fca7ae36d5a90e19a8f55805496536154af5f0063e9697751ef6168520a582a52d8574e780d770b5eb761777ce062:5b97,4ea27095800362f770e49760577782db67ef68f578d5989779d158f354b353ef6e34514b523b5ba28bfe80af554357a660735751542d7a7a60505b5463a762a053e362635bc767af54ed7a9f82e691775e9388e4593857ae630e8de880ef57577b774fa95feb5bbd6b3e53217b5072c2684677:ff36,65f751b54e8f76d45cbf7aa58475594e9b4150807e:5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081838485868788898a8b8c8d8e8f909192939495969798999a9c9d9e#aeb4bbbcd6e4ecf9,7f:0a101e37393b3c3d3e3f404143464748494a4b4c4d4e4f5253,998861276e8357646606634656f062:ec69,5ed39614578362c955878721814a8fa3556683b167658d5684dd5a6a680f62e67bee961151706f9c8c3063fd89c861d27f0670c26ee57405699472fc5eca90ce67176d6a635e52b3726280014f6c59e5916a70d96d9d52d24e5096f7956d857e78ca7d2f5121579264c2808b7c7b6cea68f1695e51b7539868a872819ece7bf172f879bb6f137406674e91cc9ca4793c83:8954,540f68174e3d538952b1783e5386522950884f:8bd0,7f:56595b5c5d5e6063646566676b6c6d6f7073757677787a7b7c7d7f8082838485868788898b8d8f9091929395969798999b9ca0a2a3a5a6a8a9aaabacadaeb1#b3b4b5b6b7babbbec0c2c3c4c6c7c8c9cbcdcfd0d1d2d3d6d7d9dadbdcdddee2e3,75e27acb7c926ca596b6529b748354e94fe9805483b28fde95705ec9601c6d9f5e18655b813894fe604b70bc7ec37cae51c968817cb1826f4e248f8691cf667e4eae8c0564a9804a50da759771ce5be58fbd6f664e86648295635ed66599521788c270c852a3730e7433679778f797164e3490bb9cde6dcb51db8d41541d62ce73b283f196f69f8494c34f367f9a51cc707596755cad988653e64ee46e9c740969b4786b998f7559521876246d4167f3516d9f99804b54997b3c7abf7f:e4e7e8eaebecedeff2f4f5f6f7f8f9fafdfeff,80:020708090a0e0f11131a1b1d1e1f2123242b2c2d2e2f303234393a3c3e404144454748494e4f505153555657#595b5c5d5e5f6061626364656667686b6c6d6e6f7072737475767778797a7b7c7d,9686578462e29647697c5a0464027bd36f0f964b82a6536298855e90708963b35364864f9c819e93788c97328d:ef42,9e7f6f5e79845f559646622e9a74541594dd4fa365c55c:6561,7f1586516c2f5f8b73876ee47eff5ce6631b5b6a6ee653754e7163a0756562a18f6e4f264ed16ca67eb68bba841d87ba7f57903b95237ba99aa188f8843d6d1b9a867edc59889ebb739b780186829a:6c82,561b541757cb4e709ea653568fc881097792999286ee6ee1851366fc61626f2b80:7e818285888a8d8e8f909192949597999ea3a6a7a8acb0b3b5b6b8b9bbc5c7c8c9cacbcfd0d1d2d3d4d5d8dfe0e2e3e6eef5f7f9fbfeff,81:000103040507080b#0c1517191b1c1d1f202122232425262728292a2b2d2e3033343537393a3b3c3d3f,8c298292832b76f26c135fd983bd732b8305951a6bdb77db94c6536f830251925e3d8c8c8d384e4873ab679a68859176970971646ca177095a9295416bcf7f8e66275bd059b95a9a95:e8f7,4eec84:0c99,6aac76df9530731b68a65b5f772f919a97617cdc8ff78c1c5f257c7379d889c56ccc871c5bc65e4268c977207ef551:954d,52c95a297f05976282d763cf778485d079d26e3a5e9959998511706d6c1162bf76bf654f60af95fd660e879f9e2394ed54:0d7d,8c2c647881:40414243444547494d4e4f525657585b5c5d5e5f6162636466686a6b6c6f727375767778818384858687898b8c8d8e90929394959697999a9e9fa0a1a2a4a5#a7a9abacadaeafb0b1b2b4b5b6b7b8b9bcbdbebfc4c5c7c8c9cbcdcecfd0d1d2d3,647986116a21819c78e864699b5462b9672b83ab58a89ed86cab6f205bde964c8c0b725f67d062c772614ea959c66bcd589366ae5e5552df6155672876ee776672677a4662ff54:ea50,94a090a35a1c7eb36c164e435976801059485357753796be56ca63208111607c95f96dd65462998151855ae980fd59ae9713502a6ce55c3c62df4f60533f817b90066eba852b62c85e7478be64b5637b5ff55a18917f9e1f5c3f634f80425b7d556e95:4a4d,6d8560a867e072de51dd5b8181:d4d5d6d7d8d9dadbdcdddedfe0e1e2e4e5e6e8e9ebeeeff0f1f2f5f6f7f8f9fafdff,82:030708090a0b0e0f111315161718191a1d2024252627292e323a3c3d3f#404142434546484a4c4d4e5051525354555657595b5c5d5e606162636465666769,62e76cde725b626d94ae7ebd81136d53519c5f04597452aa6012597366968650759f632a61e67cef8bfa54e66b279e256bb485d5545550766ca4556a8db4722c5e156015743662cd6392724c5f986e436d3e65006f5876d878d076fc7554522453db4e535e9e65c180:2ad6,629b5486522870ae888d8dd16ce1547880da57f988f48d54966a914d4f696c9b55b776c6783062a870f96f8e5f6d84ec68da787c7bf781a8670b9e4f636778b0576f7812973962:79ab,528874356bd782:6a6b6c6d71757677787b7c808183858687898c90939495969a9b9ea0a2a3a7b2b5b6babbbcbfc0c2c3c5c6c9d0d6d9dadde2e7e8e9eaecedeef0f2f3f5f6f8#fafcfdfeff,83:000a0b0d1012131618191d1e1f20212223242526292a2e3032373b3d,5564813e75b276ae533975de50fb5c418b6c7bc7504f72479a9798d86f0274e27968648777a562fc98918d2b54c180584e52576a82f9840d5e7351ed74f68bc45c4f57616cfc98875a4678349b448feb7c955256625194fa4ec68386846183e984b257d467345703666e6d668c3166dd7011671f6b3a6816621a59bb4e0351c46f0667d26c8f517668cb59476b6775665d0e81109f5065d779:4841,9a918d775c824e5e4f01542f5951780c56686c148fc45f036c:7de3,8bab639083:3e3f41424445484a4b4c4d4e5355565758595d6270717273747576797a7e7f808182838487888a8b8c8d8f909194959697999a9d9fa1a2a3a4a5a6a7acadae#afb5bbbebfc2c3c4c6c8c9cbcdced0d1d2d3d5d7d9dadbdee2e3e4e6e7e8ebeced,60706d3d7275626694:8ec5,53438fc17b7e4edf8c264e7e9ed494:b1b3,524d6f5c90636d458c3458115d4c6b:2049,67aa545b81547f8c589985375f3a62a26a47953965726084686577a74e544fa85de7979864ac7fd85ced4fcf7a8d520783044e14602f7a8394a64fb54eb279e6743452e482b964d279bd5bdd6c8197528f7b6c22503e537f6e0564ce66746c3060c598778bf75e86743c7a7779cb4e1890b174036c4256da914b6cc58d8b533a86c666f28eaf5c489a716e2083:eeeff3f4f5f6f7fafbfcfeff,84:0002050708090a10121314151617191a1b1e1f20212223292a2b2c2d2e2f30323334353637393a3b3e3f404142434445474849#4a4b4c4d4e4f505253545556585d5e5f606264656667686a6e6f70727477797b7c,53d65a369f8b8da353bb570898a76743919b6cc9516875ca62f372ac52:389d,7f3a7094763853749e4a69b7786e96c088d97fa471:36c3,518967d374e458e4651856b78ba9997662707ed560f970ed58ec4e:c1ba,5fcd97e74efb8ba45203598a7eab62544ecd65e5620e833884c98363878d71946eb65bb97ed2519763c967d480898339881551125b7a59828fb14e736c5d516589258f6f962e854a745e95:10f0,6da682e55f3164926d128428816e9cc3585e8d5b4e0953c184:7d7e7f8081838485868a8d8f90919293949596989a9b9d9e9fa0a2a3a4a5a6a7a8a9aaabacadaeb0b1b3b5b6b7bbbcbec0c2c3c5c6c7c8cbcccecfd2d4d5d7#d8d9dadbdcdee1e2e4e7e8e9eaebedeeeff1f2f3f4f5f6f7f8f9fafbfdfe,85:000102,4f1e6563685155d34e2764149a9a626b5ac2745f82726da968ee50e7838e7802674052396c997eb150bb5565715e7b5b665273ca82eb67495c715220717d886b95ea965564c58d6181b355846c5562477f2e58924f2455468d4f664c4e0a5c1a88f368a2634e7a0d70e7828d52fa97f65c1154e890b57ecd59628d4a86c782:0c0d,8d6664445c0461516d89793e8bbe78377533547b4f388eab6df15a207ec5795e6c885ba15a76751a80be614e6e1758f075:1f25,727253477ef385:030405060708090a0b0d0e0f101214151618191b1c1d1e2022232425262728292a2d2e2f303132333435363e3f404142444546474b4c4d4e4f505152535455#57585a5b5c5d5f60616263656667696a6b6c6d6e6f707173757677787c7d7f8081,770176db526980dc57235e08593172ee65bd6e7f8bd75c388671534177f362fe65f64ec098df86805b9e8bc653f277e24f7f5c4e9a7659cb5f0f793a58eb4e1667ff4e8b62ed8a93901d52bf662f55dc566c90024ed54f8d91ca99706c0f5e0260435ba489c68bd56536624b99965b:88ff,6388552e53d77626517d852c67a268b36b8a62928f9353d482126dd1758f4e668d4e5b70719f85af66:91d9,7f7287009ecd9f205c5e672f8ff06811675f620d7ad658855eb665706f3185:82838688898a8b8c8d8e909192939495969798999a9d9e9fa0a1a2a3a5a6a7a9abacadb1b2b3b4b5b6b8babbbcbdbebfc0c2c3c4c5c6c7c8cacbcccdced1d2#d4d6d7d8d9dadbdddedfe0e1e2e3e5e6e7e8eaebecedeeeff0f1f2f3f4f5f6f7f8,60555237800d6454887075295e05681362f4971c53cc723d8c016c3477617a0e542e77ac987a821c8bf47855671470c165af64955636601d79c153f84e1d6b7b80865bfa55e356db4f:3a3c,99725df3677e80386002988290015b8b8b:bcf5,641c825864de55fd82cf91654fd77d20901f7c9f50f358516eaf5bbf8bc980839178849c7b97867d96:8b8f,7ee59ad3788e5c817a57904296a7795f5b59635f7b0b84d168ad55067f2974107d2295016240584c4ed65b835979585485:f9fafcfdfe,86:0001020304060708090a0b0c0d0e0f10121314151718191a1b1c1d1e1f20212223242526282a2b2c2d2e2f3031323334353637393a3b3d3e3f40#4142434445464748494a4b4c525355565758595b5c5d5f6061636465666768696a,736d631e8e:4b0f,80ce82d462ac53f06cf0915e592a60016c70574d644a8d2a762b6ee9575b6a8075f06f6d8c:2d08,57666bef889278b363a253f970ad6c645858642a580268e0819b55107cd650188eba6dcc8d9f70eb638f6d9b6ed47ee68404684390036dd896768ba85957727985e4817e75bc8a8a68af52548e22951163d098988e44557c4f5366ff568f60d56d9552435c4959296dfb586b75:301c,606c82148146631167618fe2773a8d:f334,94c15e165385542c70c386:6d6f7072737475767778838485868788898e8f90919294969798999a9b9e9fa0a1a2a5a6abadaeb2b3b7b8b9bbbcbdbebfc1c2c3c5c8cccdd2d3d5d6d7dadc#dde0e1e2e3e5e6e7e8eaebeceff5f6f7fafbfcfdff,87:010405060b0c0e0f10111416,6c405ef7505c4ead5ead633a8247901a6850916e77b3540c94dc5f647ae5687663457b527edf75db507762955934900f51f879c37a8156fe5f9290146d825c60571f541051546e4d56e263a89893817f8715892a9000541e5c6f81c062:d658,81319e3596409a:6e7c,692d59a562d3553e631654c786d96d3c5a0374e6889c6b6a59168c4c5f2f6e7e73a9987d4e3870f75b8c7897633d665a769660cb5b9b5a494e0781556c6a738b4ea167897f515f8065fa671b5fd859845a0187:191b1d1f20242627282a2b2c2d2f303233353638393a3c3d404142434445464a4b4d4f505152545556585a5b5c5d5e5f6162666768696a6b6c6d6f71727375#7778797a7f8081848687898a8c8e8f90919294959698999a9b9c9d9ea0a1a2a3a4,5dcd5fae537197e68fdd684556f4552f60df4e3a6f4d7ef482c7840e59d44f:1f2a,5c3e7eac672a851a5473754f80c355829b4f4f4d6e2d8c135c096170536b761f6e29868a658795fb7eb9543b7a337d0a95ee55e17fc174ee631d87176da17a9d621165a1536763e16c835deb545c94a84e4c6c618bec5c4b65e0829c68a754:3e34,6b:cb66,4e9463425348821e4f:0dae,575e620a96fe6664726952:ffa1,609f8bef661471996790897f785277fd6670563b54389521727a87:a5a6a7a9aaaeb0b1b2b4b6b7b8b9bbbcbebfc1c2c3c4c5c7c8c9cccdcecfd0d4d5d6d7d8d9dadcdddedfe1e2e3e4e6e7e8e9ebecedeff0f1f2f3f4f5f6f7f8#fafbfcfdff,88:0001020405060708090b0c0d0e0f101112141718191a1c1d1e1f2023,7a00606f5e0c6089819d591560dc718470ef6eaa6c5072806a8488ad5e2d4e605ab3559c94e36d177cfb9699620f7ec6778e867e5323971e8f9666875ce14fa072ed4e0b53a6590f54136380952851484ed99c9c7ea454b88d248854823795f26d8e5f265acc663e966973:b02e,53bf817a99857fa15baa96:7750,7ebf76f853a2957699997bb189446e584e617fd479658be660f354cd4eab98795df76a6150cf54118c618427785d9704524a54ee56a395006d885bb56dc6665388:2425262728292a2b2c2d2e2f30313334353637383a3b3d3e3f414243464748494a4b4e4f505152535556585a5b5c5d5e5f6066676a6d6f717374757678797a#7b7c80838687898a8c8e8f90919394959798999a9b9d9e9fa0a1a3a5a6a7a8a9aa,5c0f5b5d6821809655787b11654869544e9b6b47874e978b534f631f643a90aa659c80c18c10519968b0537887f961c86c:c4fb,8c225c5185aa82af950c6b238f9b65b05f:fbc3,4fe18845661f8165732960fa51745211578b5f6290a2884c91925e78674f602759d351:44f6,80f853086c7996c4718a4f:11ee,7f9e673d55c5950879c088967ee3589f620c9700865a5618987b5f908bb884c4915753d965ed5e8f755c60647d6e5a7f7e:eaed,8f6955a75ba360ac65cb738488:acaeafb0b2b3b4b5b6b8b9babbbdbebfc0c3c4c7c8cacbcccdcfd0d1d3d6d7dadbdcdddee0e1e6e7e9eaebecedeeeff2f5f6f7fafbfdff,89:0001030405060708#090b0c0d0e0f1114151617181c1d1e1f20222324262728292c2d2e2f3132333537,9009766377297eda9774859b5b667a7496ea884052cb718f5faa65ec8be25bfb9a6f5de16b896c5b8b:adaf,900a8fc5538b62bc9e:262d,54404e2b82bd7259869c5d1688596daf96c554d14e9a8bb6710954bd960970df6df976d04e25781487125ca95ef68a00989c960e708e6cbf594463a9773c884d6f148273583071d5538c781a96c155015f6671305bb48c1a9a8c6b83592e9e2f79e76768626c4f6f75a17f8a6d0b96336c274ef075d2517b68376f3e908081705996747689:38393a3b3c3d3e3f40424345464748494a4b4c4d4e4f505152535455565758595a5b5c5d6061626364656768696a6b6c6d6e6f707172737475767778797a7c#7d7e808284858788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1,64475c2790657a918c2359da54ac8200836f898180006930564e8036723791ce51b64e5f987563964e1a53f666f3814b591c6db24e0058f9533b63d694f14f:9d0a,886398905937905779fb4eea80f075916c825b9c59e85f5d69058681501a5df24e5977e34ee5827a6291661390915c794ebf5f7981c69038808475ab4ea688d4610f6bc55fc64e4976ca6ea28b:e3ae,8c0a8bd15f027f:fccc,7ece83:356b,56e06bb797f3963459fb541f94f66deb5bc5996e5c395f15969089:a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c3cdd3d4d5d7d8d9dbdddfe0e1e2e4e7e8e9eaecedeef0f1f2f4f5f6f7f8f9fa#fbfcfdfeff,8a:01020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d,537082f16a315a749e705e947f2883b984:2425,836787478fce8d6276c85f719896786c662054df62e54f6381c375c85eb896cd8e0a86f9548f6cf36d8c6c38607f52c775285e7d4f1860a05fe75c24753190ae94c072b96cb96e389149670953:cbf3,4f5191c98bf153c85e7c8fc26de44e8e76c26986865e611a82064f:59de,903e9c7c61096e:1d14,96854e885a3196e84e0e5c7f79b95b878bed7fbd738957df828b90c15401904755bb5cea5fa161086b3272f180b28a:891e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f4041424344454647494a4b4c4d4e4f505152535455565758595a5b5c5d5e#5f606162636465666768696a6b6c6d6e6f7071727374757677787a7b7c7d7e7f80,6d745bd388d598848c6b9a6d9e336e0a51:a443,57a38881539f63f48f9556ed54585706733f6e907f188fdc82d1613f6028966266f07ea68d:8ac3,94a55cb37ca4670860a6960580184e9190e75300966851418fd08574915d665597f55b55531d78386742683d54c9707e5bb08f7d518d572854b1651266828d:5e43,810f846c906d7cdf51ff85fb67a365e96fa186a48e81566a90207682707671e58d2362e952196cfd8d3c600e589e618e66fe8d60624e55b36e23672d8f678a:81828384858687888b8c8d8e8f9091929495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3,94e195f87728680569a8548b4e4d70b88bc86458658b5b857a84503a5be877bb6be18a797c986cbe76cf65a98f975d2d5c5586386808536062187ad96e5b7efd6a1f7ae05f706f335f20638c6da867564e085e108d264ed780c07634969c62db662d627e6cbc8d7571677f695146808753ec906e629854f286f08f998005951785178fd96d5973cd659f771f7504782781fb8d1e94884fa6679575b98bca9707632f9547963584b8632377415f8172f04e896014657462ef6b63653f8a:e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8b:0001020304050608090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#24252728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,5e2775c790d18bc1829d679d652f5431871877e580a281026c414e4b7ec7804c76f4690d6b966267503c4f84574063076b628dbe53ea65e87eb85fd763:1ab7,81:f3f4,7f6e5e1c5cd95236667a79e97a1a8d28709975d46ede6cbb7a924e2d76c55fe0949f88777ec879cd80bf91cd4ef24f17821f54685dde6d328bcc7ca58f7480985e1a549276b15b99663c9aa473e0682a86db6731732a8b:f8db,90107af970db716e62c477a956314e3b845767f152a986c08d2e94f87b518b:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656768696a6b6d6e6f707172737475767778797a7b7c7d7e7f80818283848586#8788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9facb1bbc7d0ea,8c:091e,4f4f6ce8795d9a7b6293722a62fd4e1378168f6c64b08d5a7bc668695e8488c55986649e58ee72b6690e95258ffd8d5857607f008c0651c6634962d95353684c74228301914c55447740707c6d4a517954a88d4459ff6ecb6dc45b5c7d2b4ed47c7d6ed35b5081ea6e0d5b579b0368d58e2a5b977efc603b7eb590b98d70594f63cd79df8db3535265cf79568bc5963b7ec494bb7e825634918967007f6a5c0a907566285de64f5067de505a4f5c57505e:a7#3$,8c:38393a3b3c3d3e3f4042434445484a4b4d4e4f5051525354565758595b5c5d5e5f60636465666768696c6d6e6f707172747576777b7c7d7e7f808183848687#888b8d8e8f90919293959697999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacad,4e:8d0c,51404e105eff53454e:15981e,9b325b6c56694e2879ba4e3f53154e47592d723b536e6c1056df80e499976bd3777e9f174e:369f,9f104e:5c6993,82885b5b556c560f4ec453:8d9da3a5ae,97658d5d53:1af5262e3e,8d5c53:6663,52:02080e2d333f404c5e615c,84af52:7d82819093,51827f544e:bbc3c9c2e8e1ebde,4f1b4ef34f:2264,4ef54f:2527092b5e67,65384f:5a5d,8c:aeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebec#edeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8d:000102030405060708090a0b0c0d,4f:5f57323d76749189838f7e7baa7cac94e6e8eac5dae3dcd1dff8,50:294c,4ff350:2c0f2e2d,4ffe50:1c0c25287e4355484e6c7ba5a7a9bad6,510650:edece6ee,51:070b,4edd6c3d4f:5865ce,9fa06c467c74516e5dfd9ec999985181591452f9530d8a07531051eb591951554ea051564eb388:6ea4,4eb5811488d279805b3488037fb851:abb1bdbc,8d:0e0f101112131415161718191a1b1c205152575f6568696a6c6e6f717278797a7b7c7d7e7f808283868788898c8d8e8f90929395969798999a9b9c9d9ea0a1#a2a4a5a6a7a8a9aaabacadaeafb0b2b6b7b9bbbdc0c1c2c5c7c8c9cacdd0d2d3d4,51:c796a2a5,8b:a0a6a7aab4b5b7c2c3cbcfced2d3d4d6d8d9dcdfe0e4e8e9eef0f3f6f9fcff,8c:000204070c0f1112141516191b181d1f202125272a2b2e2f32333536,53:697a,96:1d2221312a3d3c4249545f676c7274888d97b0,90:979b9d99aca1b4b3b6ba,8d:d5d8d9dce0e1e2e5e6e7e9edeef0f1f2f4f6fcfeff,8e:00010203040607080b0d0e1011121315161718191a1b1c202124252627282b2d303233343637383b3c3e#3f4345464c4d4e4f505354555657585a5b5c5d5e5f60616263646567686a6b6e71,90:b8b0cfc5bed0c4c7d3e6e2dcd7dbebeffe,91:04221e23312f394346,520d594252:a2acadbe,54ff52:d0d6f0,53df71ee77cd5ef451:f5fc,9b2f53b65f01755a5def57:4ca9a1,58:7ebcc5d1,57:292c2a33392e2f5c3b4269856b867c7b686d7673ada48cb2cfa7b493a0d5d8dad9d2b8f4eff8e4dd,8e:73757778797a7b7d7e808283848688898a8b8c8d8e91929395969798999a9b9d9fa0a1a2a3a4a5a6a7a8a9aaadaeb0b1b3b4b5b6b7b8b9bbbcbdbebfc0c1c2#c3c4c5c6c7c8c9cacbcccdcfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4,58:0b0d,57:fded,58:001e194420656c81899a80,99a89f1961ff82:797d7f8f8aa8848e919799abb8beb0c8cae398b7aecbccc1a9b4a1aa9fc4cea4e1,830982:f7e4,83:0f07,82:dcf4d2d8,830c82:fbd3,83:111a061415,82:e0d5,83:1c515b5c08923c34319b5e2f4f47435f4017602d3a336665,8e:e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,8f:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20212223#2425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f4041424344,83:681b696c6a6d6eb078b3b4a0aa939c857cb6a97db87b989ea8babcc1,840183:e5d8,580784:180b,83:ddfdd6,84:1c381106,83:d4df,84:0f03,83:f8f9eac5c0,842683:f0e1,84:5c515a597387887a89783c4669768c8e316dc1cdd0e6bdd3cabfbae0a1b9b497e5e3,850c750d853884f085:391f3a,8f:45464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364656a808c929da0a1a2a4a5a6a7aaacadaeafb2b3b4b5b7b8babbbcbfc0c3c6#c9cacbcccdcfd2d6d7dae0e1e3e7eceff1f2f4f5f6fafbfcfeff,90:07080c0e131518,85:563b,84:fffc,85:594868645e7a,77a285:43727ba4a8878f79ae9c85b9b7b0d3c1dcff,86:270529163c,5efe5f0859:3c41,803759:555a58,530f5c:22252c34,62:4c6a9fbbcadad7ee,632262f663:394b43adf6717a8eb46dac8a69aebcf2f8e0ffc4dece,645263:c6be,64:45410b1b200c26215e846d96,90:191c2324252728292a2b2c303132333437393a3d3f4043454648494a4b4c4e545556595a5c5d5e5f6061646667696a6b6c6f70717273767778797a7b7c7e81#84858687898a8c8d8e8f90929496989a9c9e9fa0a4a5a7a8a9abadb2b7bcbdbfc0,64:7ab7b899bac0d0d7e4e2,65:09252e,5f:0bd2,75195f1153:5ff1fde9e8fb,54:1216064b5253545643215759233282947771649a9b8476669dd0adc2b4d2a7a6d3d472a3d5bbbfccd9dadca9aaa4ddcfde,551b54e7552054fd551454f355:22230f11272a678fb5496d41553f503c,90:c2c3c6c8c9cbcccdd2d4d5d6d8d9dadedfe0e3e4e5e9eaeceef0f1f2f3f5f6f7f9fafbfcff,91:00010305060708090a0b0c0d0e0f1011121314151617181a1b1c#1d1f20212425262728292a2b2c2d2e30323334353637383a3b3c3d3e3f40414244,55:375675767733305c8bd283b1b988819f7ed6917bdfbdbe9499eaf7c9,561f55:d1ebecd4e6ddc4efe5f2f3cccde8f5e4,8f9456:1e080c012423,55fe56:00272d5839572c4d62595c4c548664716b7b7c8593afd4d7dde1f5ebf9ff,57:040a091c,5e:0f191411313b3c,91:454748515354555658595b5c5f606667686b6d737a7b7c808182838486888a8e8f939495969798999c9d9e9fa0a1a4a5a6a7a8a9abacb0b1b2b3b6b7b8b9bb#bcbdbebfc0c1c2c3c4c5c6c8cbd0d2d3d4d5d6d7d8d9dadbdddedfe0e1e2e3e4e5,5e:3744545b5e61,5c:8c7a8d9096889899919a9cb5a2bdacabb1a3c1b7c4d2e4cbe5,5d:020327262e241e061b583e343d6c5b6f5d6b4b4a697482999d,8c735d:b7c5,5f:73778287898c95999ca8adb5bc,88625f6172:adb0b4b7b8c3c1cecdd2e8efe9f2f4f7,730172f3730372fa91:e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,92:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021222324#25262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445,72fb73:1713210a1e1d152239252c3831504d57606c6f7e,821b592598e759:2402,99:636768696a6b6c74777d8084878a8d9091939495,5e:80918b96a5a0b9b5beb3,8d535e:d2d1dbe8ea,81ba5f:c4c9d6cf,60035fee60045f:e1e4fe,60:0506,5f:eaedf8,60:1935261b0f0d292b0a3f2178797b7a42,92:464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f7071727375767778797a7b7c7d7e7f808182838485#868788898a8b8c8d8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7,60:6a7d969aad9d83928c9becbbb1ddd8c6dab4,61:20261523,60f461:000e2b4a75ac94a7b7d4f5,5fdd96b395:e9ebf1f3f5f6fcfe,96:030406080a0b0c0d0f12151617191a,4e2c723f62156c:35545c4aa38590948c6869747686a9d0d4adf7f8f1d7b2e0d6faebeeb1d3effe,92:a8a9aaabacadafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8#e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,93:00010203040506070809,6d:39270c43480704190e2b4d2e351a4f525433916f9ea05e93945c607c63,6e1a6d:c7c5de,6e0e6d:bfe0,6e116d:e6ddd9,6e166dab6e0c6dae6e:2b6e4e6bb25f865354322544dfb198e0,6f2d6e:e2a5a7bdbbb7d7b4cf8fc29f,6f:6246472415,6ef96f:2f364b742a0929898d8c78727c7ad1,93:0a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3f40414243444546474849#4a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696b,6f:c9a7b9b6c2e1eedee0ef,70:1a231b39354f5e,5b:80849593a5b8,752f9a9e64345b:e4ee,89305bf08e478b078f:b6d3d5e5eee4e9e6f3e8,90:05040b26110d162135362d2f445152506858625b,66b990:747d8288838b,5f:50575658,5c3b54ab5c:5059,5b715c:6366,7fbc5f:2a292d,82745f3c9b3b5c6e59:81838da9aaa3,93:6c6d6e6f707172737475767778797a7b7c7d7e7f808182838485868788898a8b8c8d8e909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaab#acadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cbcccd,59:97caab9ea4d2b2afd7be,5a:0506,59dd5a0859:e3d8f9,5a:0c09323411231340674a553c6275,80ec5a:aa9b777abeebb2d2d4b8e0e3f1d6e6d8dc,5b:091716323740,5c:151c,5b:5a6573515362,9a:7577787a7f7d808185888a90929396989b9c9d9fa0a2a3a5a7,7e:9fa1a3a5a8a9,93:cecfd0d1d2d3d4d5d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,94:000102030405060708090a0b0c0d#0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e,7e:adb0bec0c1c2c9cbccd0d4d7dbe0e1e8ebeeeff1f2,7f0d7e:f6fafbfe,7f:01020307080b0c0f111217191c1b1f212223242526272a2b2c2d2f3031323335,5e7a757f5ddb753e909573:8e91aea29fcfc2d1b7b3c0c9c8e5d9,987c740a73:e9e7debaf2,74:0f2a5b262528302e2c,94:2f303132333435363738393a3b3c3d3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6c6d6e6f#707172737475767778797a7b7c7d7e7f8081828384919698c7cfd3d4dae6fb,95:1c20,74:1b1a415c575559776d7e9c8e8081878b9ea8a990a7d2ba,97:eaebec,67:4c535e4869a5876a7398a775a89ead8b777cf0,680967d8680a67:e9b0,680c67:d9b5dab3dd,680067:c3b8e2,680e67:c1fd,68:323360614e624464831d55664167403e4a4929b58f7477936bc2,696e68fc69:1f20,68f995:27333d43484b555a606e74757778797a7b7c7d7e808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aa#abacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacb,692468f069:0b0157,68e369:10713960425d846b80987834cc8788ce896663799ba7bbabadd4b1c1cadf95e08dff,6a2f69ed6a:171865,69f26a:443ea0505b358e793d28587c9190a997ab,73:3752,6b:8182878492938d9a9ba1aa,8f:6b6d71727375767877797a7c7e818284878b,95:cccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3e4e5e6e7ecff,96:0713181b1e20232425262728292b2c2d2f303738393a3e41434a4e4f5152535657#58595a5c5d5e606365666b6d6e6f70717378797a7b7c7d7e7f808182838487898a,8f:8d8e8f989a,8ece62:0b171b1f222125242c,81e774:eff4ff,75:0f1113,65:34eeeff0,66:0a19,677266:031500,708566:f71d34313635,800666:5f54414f56615777848ca79dbedbdce6e9,8d:3233363b3d4045464849474d5559,89:c7cacbcccecfd0d1,72:6e9f5d666f7e7f848b8d8f92,63:0832b0,96:8c8e91929395969a9b9d9e9fa0a1a2a3a4a5a6a8a9aaabacadaeafb1b2b4b5b7b8babbbfc2c3c8cacbd0d1d3d4d6d7d8d9dadbdcdddedfe1e2e3e4e5e6e7eb#ecedeef0f1f2f4f5f8fafbfcfdff,97:0203050a0b0c10111214151718191a1b1d1f20,64:3fd8,80046b:eaf3fdf5f9,6c:0507060d1518191a2129242a32,65:35556b,72:4d525630,8662521680:9f9c93bc,670a80:bdb1abadb4b7e7e8e9eadbc2c4d9cdd7,671080:ddebf1f4ed,81:0d0e,80:f2fc,671581128c5a81:361e2c1832484c5374595a7160697c7d6d67,584d5ab581:888291,6ed581:a3aacc,672681:cabb,97:2122232425262728292b2c2e2f3133343536373a3b3c3d3f404142434445464748494a4b4c4d4e4f5051545557585a5c5d5f63646667686a6b6c6d6e6f7071#72757778797a7b7d7e7f8081828384868788898a8c8e8f9093959697999a9b9c9d,81:c1a6,6b:243739434659,98:d1d2d3d5d9da,6bb35f406bc289f365909f5165:93bcc6c4c3ccced2d6,70:809c969dbbc0b7abb1e8ca,71:1013162f31735c6845724a787a98b3b5a8a0e0d4e7f9,72:1d28,706c71:1866b9,62:3e3d434849,79:3b4046495b5c535a6257606f677a858a9aa7b3,5f:d1d0,97:9e9fa1a2a4a5a6a7a8a9aaacaeb0b1b3b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1e2e3#e4e5e8eeeff0f1f2f4f7f8f9fafbfcfdfeff,98:000102030405060708090a0b0c0d0e,60:3c5d5a67415963ab,61:060d5da99dcbd1,620680:807f,6c:93f6,6dfc77:f6f8,78:0009171811,65ab78:2d1c1d393a3b1f3c252c23294e6d56572650474c6a9b939a879ca1a3b2b9a5d4d9c9ecf2,790578f479:13241e34,9f9b9e:f9fbfc,76f177:040d,76f977:07081a22192d263538505147435a68,98:0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142434445464748494a4b4c4d#4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e,77:62657f8d7d808c919fa0b0b5bd,75:3a404e4b485b727983,7f:58615f,8a487f:68747179817e,76:cde5,883294:8586878b8a8c8d8f909497959a9b9ca3a4abaaadacafb0b2b4b6b7b8b9babcbdbfc4c8c9cacbcccdced0d1d2d5d6d7d9d8dbdedfe0e2e4e5e7e8ea,98:6f70717273748b8e929599a3a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcfd0d4d6d7dbdcdde0e1e2e3e4#e5e6e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,99:0001020304050607,94:e9ebeeeff3f4f5f7f9fcfdff,95:03020607090a0d0e0f1213141516181b1d1e1f222a2b292c3132343637383c3e3f4235444546494c4e4f525354565758595b5e5f5d61626465666768696a6b6c6f7172733a,77:e7ec,96c979:d5ede3eb,7a065d477a:03021e14,99:08090a0b0c0e0f1112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2f303132333435363738393a3b3c3d3e3f40414243444546474849#4a4b4c4d4e4f50515253565758595a5b5c5d5e5f60616264667378797b7e828389,7a:393751,9ecf99a57a7076:888e9399a4,74:dee0,752c9e:202228292a2b2c3231363837393a3e414244464748494b4c4e5155575a5b5c5e63666768696a6b6c716d73,75:929496a09daca3b3b4b8c4b1b0c3c2d6cde3e8e6e4ebe7,760375:f1fcff,76:1000050c170a25181519,99:8c8e9a9b9c9d9e9fa0a1a2a3a4a6a7a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8#d9dadbdcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9,76:1b3c2220402d303f35433e334d5e545c566b6f,7fca7a:e6787980868895a6a0aca8adb3,88:6469727d7f82a2c6b7bcc9e2cee3e5f1,891a88:fce8fef0,89:2119131b0a342b3641667b,758b80e576:b2b4,77dc80:1214161c20222526272928310b3543464d526971,898398:788083,99:fafbfcfdfeff,9a:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738#393a3b3c3d3e3f404142434445464748494a4b4c4d4e4f50515253545556575859,98:898c8d8f949a9b9e9fa1a2a5a6,86:4d546c6e7f7a7c7ba88d8bac9da7a3aa93a9b6c4b5ceb0bab1afc9cfb4e9f1f2edf3d0,871386:def4dfd8d1,87:0307,86f887:080a0d09233b1e252e1a3e48343129373f82227d7e7b60704c6e8b53637c64596593afa8d2,9a:5a5b5c5d5e5f606162636465666768696a6b7283898d8e949599a6a9aaabacadaeafb2b3b4b5b9bbbdbebfc3c4c6c7c8c9cacdcecfd0d2d4d5d6d7d9dadbdc#dddee0e2e3e4e5e7e8e9eaeceef0f1f2f3f4f5f6f7f8fafcfdfeff,9b:000102040506,87:c68885ad9783abe5acb5b3cbd3bdd1c0cadbeae0ee,88:1613,87fe88:0a1b21393c,7f:36424445,82107a:fafd,7b:080304150a2b0f47382a192e31202524333e1e585a45754c5d606e7b62727190a6a7b8ac9da885aa9ca2abb4d1c1ccdddae5e6ea,7c0c7b:fefc,7c:0f160b,9b:07090a0b0c0d0e1011121415161718191a1b1c1d1e2021222425262728292a2b2c2d2e3031333435363738393a3d3e3f40464a4b4c4e50525355565758595a#5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b,7c:1f2a26384140,81fe82:010204,81ec884482:2122232d2f282b383b33343e44494b4f5a5f68,88:7e8588d8df,895e7f:9d9fa7afb0b2,7c7c65497c:919d9c9ea2b2bcbdc1c7cccdc8c5d7e8,826e66a87f:bfced5e5e1e6e9eef3,7cf87d:77a6ae,7e:479b,9e:b8b4,8d:73849491b1676d,8c:4749,91:4a504e4f64,9b:7c7d7e7f808182838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9ba#bbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadb,91:626170696f7d7e7274798c85908d91a2a3aaadaeafb5b4ba,8c559e7e8d:b8eb,8e:055969,8d:b5bfbcbac4d6d7dadececfdbc6ecf7f8e3f9fbe4,8e098dfd8e:141d1f2c2e232f3a4039353d3149414251524a70767c6f74858f94909c9e,8c:78828a859894,659b89:d6dedadc,9b:dcdddedfe0e1e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9c:000102030405060708090a0b0c0d0e0f101112131415161718191a#1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b,89:e5ebef,8a3e8b26975396:e9f3ef,97:0601080f0e2a2d303e,9f:808385868788898a8c,9efe9f:0b0d,96:b9bcbdced2,77bf96e092:8eaec8,93:3e6aca8f,94:3e6b,9c:7f8285868788,7a239c:8b8e90919294959a9b9e9fa0a1a2a3a5a6a7a8a9abadaeb0b1b2b3b4b5b6b7babbbcbdc4c5c6c7cacb3c3d3e3f404142434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a#7b7d7e808384898a8c8f93969798999daaacafb9bebfc0c1c2c8c9d1d2dadbe0e1cccdcecfd0d3d4d5d7d8d9dcdddfe2,97:7c85919294afaba3b2b4,9a:b1b0b7,9e589a:b6babcc1c0c5c2cbccd1,9b:45434749484d51,98e899:0d2e5554,9a:dfe1e6efebfbedf9,9b:080f131f23,9e:bdbe,7e3b9e:8287888b92,93d69e:9d9fdbdcdde0dfe2e9e7e5eaef,9f:222c2f39373d3e44,9c:e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9d:000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f2021#22232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f404142#92$434445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f8081#82838485868788898a8b8c8d8e8f909192939495969798999a9b9c9d9e9fa0a1a2#92$a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedfe0e1#e2e3e4e5e6e7e8e9eaebecedeeeff0f1f2f3f4f5f6f7f8f9fafbfcfdfeff,9e:000102#92$030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e24272e30343b3c404d5052535456595d5f606162656e6f727475767778797a7b7c7d80#8183848586898a8c8d8e8f90919495969798999a9b9c9ea0a1a2a3a4a5a7a8a9aa#92$abacadaeafb0b1b2b3b5b6b7b9babcbfc0c1c2c3c5c6c7c8cacbccd0d2d3d5d6d7d9dadee1e3e4e6e8ebecedeef0f1f2f3f4f5f6f7f8fafdff,9f:000102030405#060708090a0c0f1112141516181a1b1c1d1e1f21232425262728292a2b2d2e3031#92$3233343536383a3c3f4041424345464748494a4b4c4d4e4f52535455565758595a5b5c5d5e5f606162636465666768696a6b6c6d6e6f707172737475767778#797a7b7c7d7e81828d8e8f9091929394959697989c9d9ea1a2a3a4a5,f9:2c7995e7f1#92$,fa:0c0d0e0f111314181f20212324272829,e8:15161718191a1b1c1d1e1f202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f40414243#4445464748494a4b4c4d4e4f505152535455565758595a5b5c5d5e5f6061626364'), + U2Ghash={}, + G2Uhash={}; + !function(data){ + var k=0; + data=data.match(/..../g); + for(var i=0x81;i<=0xfe;i++){ + for(var j=0x40;j<=0xFE;j++){ + U2Ghash[data[k++]]=('%'+i.toString(16)+'%'+j.toString(16)) + .toUpperCase(); + } + } + for(var key in U2Ghash){ + G2Uhash[U2Ghash[key]]=key; + } + }(data); + function isAscii(unicode) { + return ((unicode == 0x20AC) || (unicode <= 0x007F && unicode >= 0x0000)); + } + return{ + encode:function(str){ + return str.replace(/./g,function(a){ + var code=a.charCodeAt(0); + if(isAscii(code)){ + return encodeURIComponent(a); + }else{ + var key=code.toString(16); + if(key.length!=4)key=('000'+key).match(/....$/)[0]; + return U2Ghash[key]||a; + } + }); + }, + decode:function(str){ + return str.replace(/%[0-9A-F]{2}%[0-9A-F]{2}/g,function(a){ + if(a in G2Uhash){ + return String.fromCharCode('0x'+G2Uhash[a]); + }else{ + return a; + } + }).replace(/%[\w]{2}/g,function(a){ + return decodeURIComponent(a); + + }); + } + }; +} \ No newline at end of file diff --git a/lib/ikanbot3.js b/lib/ikanbot3.js new file mode 100644 index 0000000..63414a4 --- /dev/null +++ b/lib/ikanbot3.js @@ -0,0 +1,46 @@ +var rule = { + title:'爱看机器人3', + host:'https://v.ikanbot.com', + url:'/hot/index-fyclass-fyfilter-p-fypage.html[/hot/index-fyclass-fyfilter.html]', + searchUrl:'/search?q=**&p=fypage[/search?q=**]', + searchable:2, + quickSearch:0, + filterable:1, + filter_url:'{{fl.tag}}', + 图片来源:'@Referer=https://v.ikanbot.com/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', + filter:{ + "movie":[{"key":"tag","name":"标签","value":[{"n":"热门","v":"热门"},{"n":"最新","v":"最新"},{"n":"经典","v":"经典"},{"n":"豆瓣高分","v":"豆瓣高分"},{"n":"冷门佳片","v":"冷门佳片"},{"n":"华语","v":"华语"},{"n":"欧美","v":"欧美"},{"n":"韩国","v":"韩国"},{"n":"日本","v":"日本"},{"n":"动作","v":"动作"},{"n":"喜剧","v":"喜剧"},{"n":"爱情","v":"爱情"},{"n":"科幻","v":"科幻"},{"n":"悬疑","v":"悬疑"},{"n":"恐怖","v":"恐怖"},{"n":"治愈","v":"治愈"},{"n":"豆瓣top250","v":"豆瓣top250"}]}], + "tv":[{"key":"tag","name":"标签","value":[{"n":"热门","v":"热门"},{"n":"美剧","v":"美剧"},{"n":"英剧","v":"英剧"},{"n":"韩剧","v":"韩剧"},{"n":"日剧","v":"日剧"},{"n":"国产剧","v":"国产剧"},{"n":"港剧","v":"港剧"},{"n":"日本动画","v":"日本动画"},{"n":"综艺","v":"综艺"},{"n":"纪录片","v":"纪录片"}]}] + }, + filter_def:{ + movie:{tag:'热门'}, + tv:{tag:'热门'}, + }, + filter获取方法:` + let value = []; + $('ul').eq(2).find('li').each(function() { + // console.log($(this).text()); + let n = $(this).text().trim(); + value.push({ + 'n': n, 'v': n + }); + }); + // 电影执行: + let data = {'movie': [{'key': 'tag', 'name': '标签', 'value': value}]}; + console.log(JSON.stringify(data)); + + //剧集执行: + let data = {'tv': [{'key': 'tag', 'name': '标签', 'value': value}]}; + console.log(JSON.stringify(data)); + `, + headers:{'User-Agent':'PC_UA',}, + class_name:'电影&剧集', + class_url:'movie&tv', + play_parse:true, + double:true, + 推荐:'.v-list;div.item;*;*;*;*', //这里可以为空,这样点播不会有内容 + 一级:'.v-list&&div.item;p&&Text;img&&data-src;;a&&href', //一级的内容是推荐或者点播时候的一级匹配 + // 二级:二级, + 二级:'js:eval(unescape(base64Decode("anM6CiAgICAgICAgcGRmaCA9IGpzcC5wZGZoOwogICAgICAgIGZ1bmN0aW9uIGdldFRva2VuKGh0bWwxKSB7CiAgICAgICAgICAgIGxldCBjdXJyZW50SWQgPSBwZGZoKGh0bWwxLCAnI2N1cnJlbnRfaWQmJnZhbHVlJyk7CiAgICAgICAgICAgIGxldCBlVG9rZW4gPSBwZGZoKGh0bWwxLCAnI2VfdG9rZW4mJnZhbHVlJyk7CiAgICAgICAgICAgIGlmICghY3VycmVudElkIHx8ICFlVG9rZW4pIHJldHVybiAnJzsKICAgICAgICAgICAgbGV0IGlkTGVuZ3RoID0gY3VycmVudElkLmxlbmd0aDsKICAgICAgICAgICAgbGV0IHN1YklkID0gY3VycmVudElkLnN1YnN0cmluZyhpZExlbmd0aCAtIDQsIGlkTGVuZ3RoKTsKICAgICAgICAgICAgbGV0IGtleXMgPSBbXTsKICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdWJJZC5sZW5ndGg7IGkrKykgewogICAgICAgICAgICAgICAgbGV0IGN1ckludCA9IHBhcnNlSW50KHN1YklkW2ldKTsKICAgICAgICAgICAgICAgIGxldCBzcGxpdFBvcyA9IGN1ckludCAlIDMgKyAxOwogICAgICAgICAgICAgICAga2V5c1tpXSA9IGVUb2tlbi5zdWJzdHJpbmcoc3BsaXRQb3MsIHNwbGl0UG9zICsgOCk7CiAgICAgICAgICAgICAgICBlVG9rZW4gPSBlVG9rZW4uc3Vic3RyaW5nKHNwbGl0UG9zICsgOCwgZVRva2VuLmxlbmd0aCk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIGtleXMuam9pbignJyk7CiAgICAgICAgfQogICAgICAgIHRyeSB7CiAgICAgICAgICAgIFZPRD17fTsKICAgICAgICAgICAgbGV0IGh0bWwxID0gcmVxdWVzdChpbnB1dCk7CiAgICAgICAgICAgIFZPRC52b2RfaWQgPSBwZGZoKGh0bWwxLCAnI2N1cnJlbnRfaWQmJnZhbHVlJyk7CiAgICAgICAgICAgIFZPRC52b2RfbmFtZSA9IHBkZmgoaHRtbDEsICdoMiYmVGV4dCcpOwogICAgICAgICAgICBWT0Qudm9kX3BpYyA9IHBkZmgoaHRtbDEsICcuaXRlbS1yb290JiZpbWcmJmRhdGEtc3JjJyk7CiAgICAgICAgICAgIFZPRC52b2RfYWN0b3IgPSBwZGZoKGh0bWwxLCAnLm1ldGE6ZXEoNCkmJlRleHQnKTsKICAgICAgICAgICAgVk9ELnZvZF9hcmVhID0gcGRmaChodG1sMSwgJy5tZXRhOmVxKDMpJiZUZXh0Jyk7CiAgICAgICAgICAgIFZPRC52b2RfeWVhciA9IHBkZmgoaHRtbDEsICcubWV0YTplcSgyKSYmVGV4dCcpOwogICAgICAgICAgICBWT0Qudm9kX3JlbWFya3MgPSAnJzsKICAgICAgICAgICAgVk9ELnZvZF9kaXJlY3RvciA9ICcnOwogICAgICAgICAgICBWT0Qudm9kX2NvbnRlbnQgPSBwZGZoKGh0bWwxLCAnI2xpbmUtdGlwcyYmVGV4dCcpOwogICAgICAgICAgICAvLyBsb2coVk9EKTsKICAgICAgICAgICAgdmFyIHZfdGtzID0gZ2V0VG9rZW4oaHRtbDEpOwogICAgICAgICAgICBsb2coJ3ZfdGtzID09PT4gJyArIHZfdGtzKTsKICAgICAgICAgICAgaW5wdXQgPSBIT1NUICsgJy9hcGkvZ2V0UmVzTj92aWRlb0lkPScgKyBpbnB1dC5zcGxpdCgnLycpLnBvcCgpICsgJyZtdHlwZT0yJnRva2VuPScrdl90a3M7CiAgICAgICAgICAgIGxldCBodG1sID0gcmVxdWVzdChpbnB1dCwgewogICAgICAgICAgICAgICAgaGVhZGVyczogewogICAgICAgICAgICAgICAgICAgICdVc2VyLUFnZW50JzonTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAxM18yXzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLzEzLjAuMyBNb2JpbGUvMTVFMTQ4IFNhZmFyaS82MDQuMScsCiAgICAgICAgICAgICAgICAgICAgJ1JlZmVyZXInOiBNWV9VUkwsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBwcmludChodG1sKTsKICAgICAgICAgICAgaHRtbCA9IEpTT04ucGFyc2UoaHRtbCk7CiAgICAgICAgICAgIGxldCBlcGlzb2RlcyA9IGh0bWwuZGF0YS5saXN0OwogICAgICAgICAgICBsZXQgcGxheU1hcCA9IHt9OwogICAgICAgICAgICBpZiAodHlwZW9mIHBsYXlfdXJsID09PSAndW5kZWZpbmVkJykgewogICAgICAgICAgICAgICAgdmFyIHBsYXlfdXJsID0gJycKICAgICAgICAgICAgfQogICAgICAgICAgICBsZXQgbWFwID0ge30KICAgICAgICAgICAgbGV0IGFyciA9IFtdCiAgICAgICAgICAgIGxldCBuYW1lID0gewogICAgICAgICAgICAgICAgJ2JmenltM3U4JzogJ+aatOmjjicsCiAgICAgICAgICAgICAgICAnMTA4MHp5ayc6ICfkvJjotKgnLAogICAgICAgICAgICAgICAgJ2t1YWlrYW4nOiAn5b+r55yLJywKICAgICAgICAgICAgICAgICdsem0zdTgnOiAn6YeP5a2QJywKICAgICAgICAgICAgICAgICdmZm0zdTgnOiAn6Z2e5YehJywKICAgICAgICAgICAgICAgICdoYWl3YWlrYW4nOiAn5rW35aSW55yLJywKICAgICAgICAgICAgICAgICdnc20zdTgnOiAn5YWJ6YCfJywKICAgICAgICAgICAgICAgICd6dWlkYW0zdTgnOiAn5pyA5aSnJywKICAgICAgICAgICAgICAgICdiam0zdTgnOiAn5YWr5oiSJywKICAgICAgICAgICAgICAgICdzbm0zdTgnOiAn57Si5bC8JywKICAgICAgICAgICAgICAgICd3b2xvbmcnOiAn5Y2n6b6ZJywKICAgICAgICAgICAgICAgICd4bG0zdTgnOiAn5paw5rWqJywKICAgICAgICAgICAgICAgICd5aG0zdTgnOiAn5qix6IqxJywKICAgICAgICAgICAgICAgICd0a20zdTgnOiAn5aSp56m6JywKICAgICAgICAgICAgICAgICdqc20zdTgnOiAn5p6B6YCfJywKICAgICAgICAgICAgICAgICd3am0zdTgnOiAn5peg5bC9JywKICAgICAgICAgICAgICAgICdzZG0zdTgnOiAn6Zeq55S1JywKICAgICAgICAgICAgICAgICdrY20zdTgnOiAn5b+r6L2mJywKICAgICAgICAgICAgICAgICdqaW55aW5nbTN1OCc6ICfph5HpubAnLAogICAgICAgICAgICAgICAgJ2ZzbTN1OCc6ICfpo57pgJ8nLAogICAgICAgICAgICAgICAgJ3RwbTN1OCc6ICfmt5jniYcnLAogICAgICAgICAgICAgICAgJ2xlbTN1OCc6ICfpsbzkuZAnLAogICAgICAgICAgICAgICAgJ2RibTN1OCc6ICfnmb7luqYnLAogICAgICAgICAgICAgICAgJ3RvbW0zdTgnOiAn55Wq6IyEJywKICAgICAgICAgICAgICAgICd1a20zdTgnOiAnVemFtycsCiAgICAgICAgICAgICAgICAnaWttM3U4JzogJ+eIseWdpCcsCiAgICAgICAgICAgICAgICAnaG56eW0zdTgnOiAn57qi54mb6LWE5rqQJywKICAgICAgICAgICAgICAgICdobm0zdTgnOiAn57qi54mbJywKICAgICAgICAgICAgICAgICc2OHp5X20zdTgnOiAnNjgnLAogICAgICAgICAgICAgICAgJ2tkbTN1OCc6ICfphbfngrknLAogICAgICAgICAgICAgICAgJ2JkeG0zdTgnOiAn5YyX5paX5pifJywKICAgICAgICAgICAgICAgICdxaG0zdTgnOiAn5aWH6JmOJywKICAgICAgICAgICAgICAgICdoaG0zdTgnOiAn6LGq5Y2OJwogICAgICAgICAgICB9OwogICAgICAgICAgICBlcGlzb2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKGVwKSB7CiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoZXBbJ3Jlc0RhdGEnXSk7CiAgICAgICAgICAgICAgICBkYXRhLm1hcCh2YWwgPT4gewogICAgICAgICAgICAgICAgICAgIGlmKCFtYXBbdmFsLmZsYWddKXsKICAgICAgICAgICAgICAgICAgICAgICAgbWFwW3ZhbC5mbGFnXSA9IFt2YWwudXJsLnJlcGxhY2VBbGwoJyMjJywnIycpXQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG1hcFt2YWwuZmxhZ10ucHVzaCh2YWwudXJsLnJlcGxhY2VBbGwoJyMjJywnIycpKQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICBmb3IgKHZhciBrZXkgaW4gbWFwKSB7CiAgICAgICAgICAgICAgICBpZiAoJ2JmenltM3U4JyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCcxMDgwenlrJyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdrdWFpa2FuJyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogMwogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdsem0zdTgnID09IGtleSkgewogICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgZmxhZzogbmFtZVtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IG1hcFtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICBzb3J0OiA0CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoJ2ZmbTN1OCcgPT0ga2V5KSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICBmbGFnOiBuYW1lW2tleV0sCiAgICAgICAgICAgICAgICAgICAgICAgIHVybDogbWFwW2tleV0sCiAgICAgICAgICAgICAgICAgICAgICAgIHNvcnQ6IDUKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfSBlbHNlIGlmICgnc25tM3U4JyA9PSBrZXkpIHsKICAgICAgICAgICAgICAgICAgICBhcnIucHVzaCh7CiAgICAgICAgICAgICAgICAgICAgICAgIGZsYWc6IG5hbWVba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogNgogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCdxaG0zdTgnID09IGtleSkgewogICAgICAgICAgICAgICAgICAgIGFyci5wdXNoKHsKICAgICAgICAgICAgICAgICAgICAgICAgZmxhZzogbmFtZVtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICB1cmw6IG1hcFtrZXldLAogICAgICAgICAgICAgICAgICAgICAgICBzb3J0OiA3CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgYXJyLnB1c2goewogICAgICAgICAgICAgICAgICAgICAgICBmbGFnOiAobmFtZVtrZXldKSA/IG5hbWVba2V5XSA6IGtleSwKICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBtYXBba2V5XSwKICAgICAgICAgICAgICAgICAgICAgICAgc29ydDogOAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgYXJyLnNvcnQoKGEsIGIpID0+IGEuc29ydCAtIGIuc29ydCk7CiAgICAgICAgICAgIGxldCBwbGF5RnJvbSA9IFtdOwogICAgICAgICAgICBsZXQgcGxheUxpc3QgPSBbXTsKICAgICAgICAgICAgYXJyLm1hcCh2YWwgPT4gewogICAgICAgICAgICAgICAgaWYgKCEvdW5kZWZpbmVkLy50ZXN0KHZhbC5mbGFnKSkgewogICAgICAgICAgICAgICAgICAgIHBsYXlGcm9tLnB1c2godmFsLmZsYWcpOwogICAgICAgICAgICAgICAgICAgIHBsYXlMaXN0LnB1c2godmFsLnVybCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIGxldCB2b2RfcGxheV9mcm9tID0gcGxheUZyb20uam9pbignJCQkJyk7CiAgICAgICAgICAgIGxldCB2b2RfcGxheV91cmwgPSBwbGF5TGlzdC5qb2luKCckJCQnKTsKICAgICAgICAgICAgVk9EWyd2b2RfcGxheV9mcm9tJ10gPSB2b2RfcGxheV9mcm9tOwogICAgICAgICAgICBWT0RbJ3ZvZF9wbGF5X3VybCddID0gdm9kX3BsYXlfdXJsOwogICAgICAgICAgICAvLyBsb2coVk9EKTsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgIGxvZygn6I635Y+W5LqM57qn6K+m5oOF6aG15Y+R55Sf6ZSZ6K+vOicgKyBlLm1lc3NhZ2UpCiAgICAgICAgfQ==")))', + 搜索:'.col-md-8&&.media;h5&&a&&Text;a&&img&&data-src;.label&&Text;a&&href',//第三个是描述,一般显示更新或者完结 +} \ No newline at end of file diff --git a/lib/nm.json b/lib/nm.json new file mode 100644 index 0000000..5f7b339 --- /dev/null +++ b/lib/nm.json @@ -0,0 +1 @@ +{"数组":"
  • &&
  • ","图片":"src=\"&&\"","线路标题":"🌸荷城茶秀接口🌸+>&&<","分类url":"https://www.wwgz.cn/vod-list-id-{cateId}-pg-{catePg}-order--by--class-0-year-{year}-letter--area-{area}-lang-.html","分类":"短剧$26#电视剧$2#电影$1#动漫$4#综艺$3"} \ No newline at end of file diff --git a/lib/py_企鹅体育.py b/lib/py_企鹅体育.py new file mode 100644 index 0000000..352c24c --- /dev/null +++ b/lib/py_企鹅体育.py @@ -0,0 +1,142 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import math +import re + +class Spider(Spider): + def getName(self): + return "企鹅体育" + def init(self,extend=""): + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + "全部": "", + "足球": "Football", + "篮球": "Basketball", + "NBA": "NBA", + "台球": "Billiards", + "搏击": "Fight", + "网排": "Tennis", + "游戏": "Game", + "其他": "Others", + "橄棒冰": "MLB" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name': k, + 'type_id': cateManual[k] + }) + + result['class'] = classes + if (filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = {} + return result + + def categoryContent(self,tid,pg,filter,extend): + result = {} + url = 'https://live.qq.com/api/live/vlist?page_size=60&shortName={0}&page={1}'.format(tid, pg) + rsp = self.fetch(url) + content = rsp.text + jo = json.loads(content) + videos = [] + vodList = jo['data']['result'] + numvL = len(vodList) + pgc = math.ceil(numvL/15) + for vod in vodList: + aid = (vod['room_id']) + title = vod['room_name'].strip() + img = vod['room_src'] + remark = (vod['game_name']).strip() + videos.append({ + "vod_id": aid, + "vod_name": title, + "vod_pic": img, + "vod_remarks": remark + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = pgc + result['limit'] = numvL + result['total'] = numvL + return result + + def detailContent(self,array): + aid = array[0] + url = "https://m.live.qq.com/{0}".format(aid) + rsp = self.fetch(url) + html = self.cleanText(rsp.text) + if self.regStr(reg=r'\"show_status\":\"(\d)\"', src=html) == '1': + title = self.regStr(reg=r'\"room_name\":\"(.*?)\"', src=html) + pic = self.regStr(reg=r'\"room_src\":\"(.*?)\"', src=html) + typeName = self.regStr(reg=r'\"game_name\":\"(.*?)\"', src=html) + remark = self.regStr(reg=r'\"nickname\":\"(.*?)\"', src=html) + purl = self.regStr(reg=r'\"hls_url\":\"(.*?)\"', src=html) + else: + return {} + vod = { + "vod_id": aid, + "vod_name": title, + "vod_pic": pic, + "type_name": typeName, + "vod_year": "", + "vod_area": "", + "vod_remarks": remark, + "vod_actor": '', + "vod_director":'', + "vod_content": '' + } + playUrl = '{0}${1}#'.format(typeName, purl) + vod['vod_play_from'] = '🌸荷城茶秀接口🌸企鹅线路' + vod['vod_play_url'] = playUrl + + result = { + 'list': [ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = {} + return result + def playerContent(self,flag,id,vipFlags): + result = {} + url = id + header = { + 'Referer': 'https://m.live.qq.com/', + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36" + } + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = header + return result + + config = { + "player": {}, + "filter": {} + } + header = {} + + def localProxy(self,param): + action = { + 'url':'', + 'header':'', + 'param':'', + 'type':'string', + 'after':'' + } + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/lib/py_央视少儿.py b/lib/py_央视少儿.py new file mode 100644 index 0000000..fd767b4 --- /dev/null +++ b/lib/py_央视少儿.py @@ -0,0 +1,192 @@ +#coding=utf-8 +#!/usr/bin/python +import sys +sys.path.append('..') +from base.spider import Spider +import json +import time +import base64 +import re + +class Spider(Spider): # 元类 默认的元类 type + def getName(self): + return "央视片库" + def init(self,extend=""): + print("============{0}============".format(extend)) + pass + def isVideoFormat(self,url): + pass + def manualVideoCheck(self): + pass + def homeContent(self,filter): + result = {} + cateManual = { + + "动画片": "动画片", + + #"特别节目": "特别节目" + } + classes = [] + for k in cateManual: + classes.append({ + 'type_name':k, + 'type_id':cateManual[k] + }) + result['class'] = classes + if(filter): + result['filters'] = self.config['filter'] + return result + def homeVideoContent(self): + result = { + 'list':[] + } + return result + def categoryContent(self,tid,pg,filter,extend): + result = {} + month = "" + year = "" + if 'month' in extend.keys(): + month = extend['month'] + if 'year' in extend.keys(): + year = extend['year'] + if year == '': + month = '' + prefix = year + month + + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955899450127&area=&sc=&fc=%E5%8A%A8%E7%94%BB%E7%89%87&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + if tid=="电视剧": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955853485115&area=&sc=&fc=%E7%94%B5%E8%A7%86%E5%89%A7&year=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + elif tid=="纪录片": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955924871139&fc=%E7%BA%AA%E5%BD%95%E7%89%87&channel=&sc=&year=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + elif tid=="4": + url="https://api.cntv.cn/list/getVideoAlbumList?channelid=CHAL1460955953877151&channel=&sc=&fc=%E7%89%B9%E5%88%AB%E8%8A%82%E7%9B%AE&bigday=&letter=&p={0}&n=24&serviceId=tvcctv&topv=1&t=json" + suffix = "" + jo = self.fetch(url.format(pg),headers=self.header).json() + vodList=jo["data"]["list"] + videos = [] + for vod in vodList: + lastVideo =vod['url'] + brief=vod['brief'] + if len(brief) == 0: + brief = ' ' + if len(lastVideo) == 0: + lastVideo = '_' + guid = tid+'###'+vod["title"]+'###'+lastVideo+'###'+vod['image']+'###'+brief + title = vod["title"] + img = vod['image'] + videos.append({ + "vod_id":guid, + "vod_name":title, + "vod_pic":img, + "vod_remarks":'' + }) + result['list'] = videos + result['page'] = pg + result['pagecount'] = 9999 + result['limit'] = 90 + result['total'] = 999999 + return result + def detailContent(self,array): + aid = array[0].split('###') + if aid[2].find("http")<0: + return {} + tid = aid[0] + logo = aid[3] + lastVideo = aid[2] + title = aid[1] + date = aid[0] + if lastVideo == '_': + return {} + rsp = self.fetch(lastVideo) + htmlTxt=rsp.text + column_id = "" + videoList = [] + patternTxt=r"'title':\s*'(.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'url':\s*'(.+?)'" + titleIndex=0 + UrlIndex=3 + if tid=="电视剧" or tid=="纪录片": + patternTxt=r"'title':\s*'(.+?)',\n{0,1}\s*'brief':\s*'(.+?)',\n{0,1}\s*'img':\s*'(.+?)',\n{0,1}\s*'url':\s*'(.+?)'" + titleIndex=0 + UrlIndex=3 + elif tid=="特别节目": + patternTxt=r'class="tp1">' + titleIndex=1 + UrlIndex=0 + #https://api.cntv.cn/NewVideo/getVideoListByAlbumIdNew?id=VIDA3YcIusJ9mh4c9mw5XHyx230113&serviceId=tvcctv//由于方式不同暂时不做 + pattern = re.compile(patternTxt) + ListRe=pattern.findall(htmlTxt) + for value in ListRe: + videoList.append(value[titleIndex]+"$"+value[UrlIndex]) + if len(videoList) == 0: + return {} + vod = { + "vod_id":array[0], + "vod_name":title, + "vod_pic":logo, + "type_name":tid, + "vod_year":date, + "vod_area":"", + "vod_remarks":date, + "vod_actor":"", + "vod_director":column_id, + "vod_content":aid[4] + } + vod['vod_play_from'] = '🌸荷城茶秀接口🌸CCTV频道' + vod['vod_play_url'] = "#".join(videoList) + result = { + 'list':[ + vod + ] + } + return result + + def searchContent(self,key,quick): + result = { + 'list':[] + } + return result + def playerContent(self,flag,id,vipFlags): + result = {} + rsp = self.fetch(id) + htmlTxt=rsp.text + pattern = re.compile(r'var\sguid\s*=\s*"(.+?)";') + ListRe=pattern.findall(htmlTxt) + if ListRe==[]: + return result + url = "https://vdn.apps.cntv.cn/api/getHttpVideoInfo.do?pid={0}".format(ListRe[0]) + jo = self.fetch(url,headers=self.header).json() + link = jo['hls_url'].strip() + rsp = self.fetch(link,headers=self.header) + content = rsp.text.strip() + arr = content.split('\n') + urlPrefix = self.regStr(link,'(http[s]?://[a-zA-z0-9.]+)/') + + subUrl = arr[-1].split('/') + subUrl[3] = '1200' + subUrl[-1] = '1200.m3u8' + hdUrl = urlPrefix + '/'.join(subUrl) + + url = urlPrefix + arr[-1] + + hdRsp = self.fetch(hdUrl,headers=self.header) + if hdRsp.status_code == 200: + url = hdUrl + + result["parse"] = 0 + result["playUrl"] = '' + result["url"] = url + result["header"] = '' + return result + + config = { + "player": {}, + "filter": {"CCTV":[{"key":"cid","name":"频道","value":[{"n":"全部","v":""},{"n":"CCTV-1综合","v":"EPGC1386744804340101"},{"n":"CCTV-2财经","v":"EPGC1386744804340102"},{"n":"CCTV-3综艺","v":"EPGC1386744804340103"},{"n":"CCTV-4中文国际","v":"EPGC1386744804340104"},{"n":"CCTV-5体育","v":"EPGC1386744804340107"},{"n":"CCTV-6电影","v":"EPGC1386744804340108"},{"n":"CCTV-7国防军事","v":"EPGC1386744804340109"},{"n":"CCTV-8电视剧","v":"EPGC1386744804340110"},{"n":"CCTV-9纪录","v":"EPGC1386744804340112"},{"n":"CCTV-10科教","v":"EPGC1386744804340113"},{"n":"CCTV-11戏曲","v":"EPGC1386744804340114"},{"n":"CCTV-12社会与法","v":"EPGC1386744804340115"},{"n":"CCTV-13新闻","v":"EPGC1386744804340116"},{"n":"CCTV-14少儿","v":"EPGC1386744804340117"},{"n":"CCTV-15音乐","v":"EPGC1386744804340118"},{"n":"CCTV-16奥林匹克","v":"EPGC1634630207058998"},{"n":"CCTV-17农业农村","v":"EPGC1563932742616872"},{"n":"CCTV-5+体育赛事","v":"EPGC1468294755566101"}]},{"key":"fc","name":"分类","value":[{"n":"全部","v":""},{"n":"新闻","v":"新闻"},{"n":"体育","v":"体育"},{"n":"综艺","v":"综艺"},{"n":"健康","v":"健康"},{"n":"生活","v":"生活"},{"n":"科教","v":"科教"},{"n":"经济","v":"经济"},{"n":"农业","v":"农业"},{"n":"法治","v":"法治"},{"n":"军事","v":"军事"},{"n":"少儿","v":"少儿"},{"n":"动画","v":"动画"},{"n":"纪实","v":"纪实"},{"n":"戏曲","v":"戏曲"},{"n":"音乐","v":"音乐"},{"n":"影视","v":"影视"}]},{"key":"fl","name":"字母","value":[{"n":"全部","v":""},{"n":"A","v":"A"},{"n":"B","v":"B"},{"n":"C","v":"C"},{"n":"D","v":"D"},{"n":"E","v":"E"},{"n":"F","v":"F"},{"n":"G","v":"G"},{"n":"H","v":"H"},{"n":"I","v":"I"},{"n":"J","v":"J"},{"n":"K","v":"K"},{"n":"L","v":"L"},{"n":"M","v":"M"},{"n":"N","v":"N"},{"n":"O","v":"O"},{"n":"P","v":"P"},{"n":"Q","v":"Q"},{"n":"R","v":"R"},{"n":"S","v":"S"},{"n":"T","v":"T"},{"n":"U","v":"U"},{"n":"V","v":"V"},{"n":"W","v":"W"},{"n":"X","v":"X"},{"n":"Y","v":"Y"},{"n":"Z","v":"Z"}]},{"key":"year","name":"年份","value":[{"n":"全部","v":""},{"n":"2022","v":"2022"},{"n":"2021","v":"2021"},{"n":"2020","v":"2020"},{"n":"2019","v":"2019"},{"n":"2018","v":"2018"},{"n":"2017","v":"2017"},{"n":"2016","v":"2016"},{"n":"2015","v":"2015"},{"n":"2014","v":"2014"},{"n":"2013","v":"2013"},{"n":"2012","v":"2012"},{"n":"2011","v":"2011"},{"n":"2010","v":"2010"},{"n":"2009","v":"2009"},{"n":"2008","v":"2008"},{"n":"2007","v":"2007"},{"n":"2006","v":"2006"},{"n":"2005","v":"2005"},{"n":"2004","v":"2004"},{"n":"2003","v":"2003"},{"n":"2002","v":"2002"},{"n":"2001","v":"2001"},{"n":"2000","v":"2000"}]},{"key":"month","name":"月份","value":[{"n":"全部","v":""},{"n":"12","v":"12"},{"n":"11","v":"11"},{"n":"10","v":"10"},{"n":"09","v":"09"},{"n":"08","v":"08"},{"n":"07","v":"07"},{"n":"06","v":"06"},{"n":"05","v":"05"},{"n":"04","v":"04"},{"n":"03","v":"03"},{"n":"02","v":"02"},{"n":"01","v":"01"}]}]} + } + header = { + "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36", + "Origin": "https://tv.cctv.com", + "Referer": "https://tv.cctv.com/" + } + + def localProxy(self,param): + return [200, "video/MP2T", action, ""] \ No newline at end of file diff --git a/lib/yqk.json b/lib/yqk.json new file mode 100644 index 0000000..caa1f32 --- /dev/null +++ b/lib/yqk.json @@ -0,0 +1 @@ +{"数组":"
  • &&
  • ","图片":"src=\"&&\"","线路标题":"🌸荷城茶秀接口🌸+>&&<","分类url":"https://www.ruguojiaoyu.com/vod-list-id-{cateId}-pg-{catePg}-order--by--class-0-year-{year}-letter--area-{area}-lang-.html","分类":"电视剧$2#电影$1#动漫$4#综艺$3#短剧$26"} \ No newline at end of file diff --git a/lib/zb.txt b/lib/zb.txt new file mode 100644 index 0000000..2c490cd --- /dev/null +++ b/lib/zb.txt @@ -0,0 +1,1382 @@ +📡春晚专线👉龙年,#genre# + +春晚线路👉全网,https://ldncctvwbndhwy.cntv.myhwcdn.cn/ldncctvwbnd/ldcctv1_2/index.m3u8#http://120.7.30.152:2024/live/CCTV1高清/index.m3u8 +春晚线路👉移动,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226016/index.m3u8 +春晚线路👉电信,http://219.147.200.9:18080/newlive/live/hls/1/live.m3u8 +春晚线路👉ipv6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001331/index.m3u8?virtualDomain=yinhe.live_hls.zte.com#http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226231/1.m3u8 +春晚4K台👉ipv6,http://[2409:8087:2001:20:2800:0:df6e:eb13]/ott.mobaibox.com/PLTV/3/224/3221228228/index.m3u8 +春晚8K台👉ipv6,http://[2409:8087:2001:20:2800:0:df6e:eb03]/ott.mobaibox.com/PLTV/4/224/3221228165/index.m3u8 +路由器要支持ipv6,http://159.75.85.63:35455/douyu/508118 + +📡永久免费👉公告,#genre# +🌸荷🌸永久免费,https://live-play.cctvnews.cctv.com/cctv/merge_cctv13.m3u8?auth_key=357606504#https://pi.0472.org/tv/asam.php?auth=231110#https://pi.0472.org/tv/asam.php?auth=231110#http://hls.hsrtv.cn/live/hsyouxian.m3u8 +🌸城🌸请勿购买,https://ldncctvwbndhwy.cntv.myhwcdn.cn/ldncctvwbnd/ldcctv1_2/index.m3u8 +🌸茶🌸谨防受骗,http://liveop.cctv.cn:80/hls/CCTV28bee868714f04ea2af79947bb9b46fc3H/playlist.m3u8#http://180.174.54.152:8801/tsfile/live/0002_1.m3u8?key=txiptv +🌸秀🌸如果付款,https://cloud.yumixiu768.com/tmp/123.m3u8 +🌸公🌸说明上当,http://159.75.85.63:35455/douyu/4246519 +🌸告🌸申请退款,http://openhls-tct.douyucdn2.cn:80/dyliveflv3/2935323rzxdaZbek.m3u8? +👉👉把家里路由器,http://43.138.170.29:35455/douyu/276200 +👉👉换成支持ipv6,http://43.138.170.29:35455/douyu/8770422 +👉👉支持所有线路,http://159.75.85.63:35455/douyu/747764 +👉👉直播高清流畅,http://159.75.85.63:35455/douyu/96577 +👉👉更换享受超清,http://159.75.85.63:35455/douyu/3928 + +📡中国香港👉荷城,#genre# + +凤凰中文移动,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226547/index.m3u8 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/PLTV/1/224/3221231022/1.m3u8 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/wh7f454c46tw3553140416_-2021535160/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/wh7f454c46tw2443888236_158039228/ott.mobaibox.com/TVOD/3/224/3221228527/index.m3u8? +凤凰中文IPV6,http://2409:8087:7000:20:1000::22:6060/yinhe/2/ch00000090990000002275/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/wh7f454c46tw1035822826_525877085/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8?icpid=3&RTS=1705111642&from=40&popid=40&hms_devid=2291&prioritypopid=40&vqe=3 +凤凰中文IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/wh7f454c46tw804486979_1284379573/ott.mobaibox.com/PLTV/3/224/3221228527/index.m3u8?icpid=3&RTS=1705111410&from=40&popid=40&hms_devid=2291&prioritypopid=40&vqe=3 + +凤凰资讯移动,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226546/index.m3u8 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/ott.mobaibox.com/PLTV/4/224/3221228524/index.m3u8 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/PLTV/1/224/3221231003/1.m3u8 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw3352677969_1732462333/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw1890984412_1778241929/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8 +凤凰资讯IPV6,http://2409:8087:7000:20:1000::22:6060/yinhe/2/ch00000090990000002187/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw937688625_100241901/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8?icpid=3&RTS=1705111544&from=40&popid=40&hms_devid=2113&prioritypopid=40&vqe=3 +凤凰资讯IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw977931995_508449502/ott.mobaibox.com/PLTV/3/224/3221228524/index.m3u8?icpid=3&RTS=1705111584&from=40&popid=40&hms_devid=2113&prioritypopid=40&vqe=3 + +凤凰香港IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/1/224/3221228530/1.m3u8 +凤凰香港IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/wh7f454c46tw719207932_-767615852/ott.mobaibox.com/PLTV/3/224/3221228530/index.m3u8?icpid=3&RTS=1704621699&from=40&popid=40&hms_devid=2291&prioritypopid=40&vqe=3 +凤凰香港IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/wh7f454c46tw465428200_-837848489/ott.mobaibox.com/PLTV/3/224/3221228530/index.m3u8?icpid=3&RTS=1704621445&from=40&popid=40&hms_devid=2291&prioritypopid=40&vqe=3 +TVB翡翠全网,http://202.168.187.208:2024/tsfile/live/1006_1.m3u8 +TVB明珠全网,http://202.168.187.208:2024/tsfile/live/1007_1.m3u8 +香港8K7680,http://[2409:8087:2001:20:2800:0:df6e:eb04]/wh7f454c46tW1782571424_-1576923679/ott.mobaibox.com/PLTV/3/224/3221228132/index.m3u8 +香港34台全网,https://rthktv34-live.akamaized.net/hls/live/2101642/RTHKTV34/stream02/streamPlaylist.m3u8 +耀才财经全网,https://v3.mediacast.hk/webcast/bshdlive-pc/chunklist_w99771165.m3u8 +耀才财经全网,http://202.69.67.66:443/webcast/bshdlive-pc/playlist.m3u8 +EZTV1台全网,http://vvlive.eztv.vip:80/huawen1/huawen1.m3u8?auth_key=1661769627-0-0-3a16475ac0fa2a152a25661e8634fe39 +EZTV2台全网,http://vvlive.eztv.vip:80/huawen2/huawen2.m3u8?auth_key=1661418936-0-0-bc9f000c6daa2def0b71d5389778b0d3 +EZTV6台全网,http://vvlive.eztv.vip:80/huawen6/huawen6.m3u8?auth_key=1660814676-0-0-4d45d97f017e545dd368719f8dd48ffe +澳视澳门全网,http://61.244.22.5/ch1/ch1.live/playelist.m3u8#http://61.244.22.5/ch1/ch1.live/playlist.m3u8 +澳亚卫视全网,https://live.mastvnet.com/lsdream/lY44pmm/2000/live.m3u8 +4k👉修复全网,http://liveshowbak2.kan0512.com/ksz-norecord/csztv4k_4k.m3u8 +动物星球全网,https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8 + + +📡央视频道👉茶秀,#genre# + +CCTV-01 综合,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226016/index.m3u8 +CCTV-02 财经,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225588/index.m3u8 +CCTV-03 综艺,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226021/index.m3u8 +CCTV-04 中文,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8 +CCTV-05 体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8 +CCTV+5+ 体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8 +CCTV-06 电影,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8 +CCTV-07 国防,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8 +CCTV-08 电视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8 +CCTV-09 纪录,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8 +CCTV-10 科教,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225730/index.m3u8 +CCTV-11 戏曲,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225597/index.m3u8 +CCTV-12 社会,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8 +CCTV-13 新闻,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226011/index.m3u8 +CCTV-14 少儿,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8 +CCTV-15 音乐,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225601/index.m3u8 +CCTV-16 奥林,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226100/index.m3u8 +CCTV-17 农业,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8 + +CCTV-01*综合,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226419/index.m3u8 +CCTV-02*财经,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226540/index.m3u8 +CCTV-03*综艺,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226021/index.m3u8 +CCTV-04*国际,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226428/index.m3u8 +CCTV-05*体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8 +CCTV-05+体育,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8 +CCTV-06*电影,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226010/index.m3u8 +CCTV-07*军事,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225733/index.m3u8 +CCTV-08*电视,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226008/index.m3u8 +CCTV-09*纪录,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225734/index.m3u8 +CCTV-10*科教,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225730/index.m3u8 +CCTV-11*戏曲,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226240/index.m3u8 +CCTV-12*社会,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225731/index.m3u8 +CCTV-13*新闻,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226537/index.m3u8 +CCTV-14*少儿,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225732/index.m3u8 +CCTV-16*奥林,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226100/index.m3u8 +CCTV-17*农业,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225765/index.m3u8 + +📡央视频道👉电信,#genre# + +cctv01hd,http://180.142.178.98:8181/live/cctv1hd/index.m3u8 +cctv02hd,http://180.142.178.98:8181/live/cctv2hd/index.m3u8 +cctv03hd,http://180.142.178.98:8181/live/cctv3hd/index.m3u8 +cctv04hd,http://180.142.178.98:8181/live/cctv4hd/index.m3u8 +cctv05hd,http://180.142.178.98:8181/live/cctv5hd/index.m3u8 +cctv5+hd,http://180.142.178.98:8181/live/cctv55hd/index.m3u8 +cctv06hd,http://180.142.178.98:8181/live/cctv6hd/index.m3u8 +cctv07hd,http://180.142.178.98:8181/live/cctv7hd/index.m3u8 +cctv08hd,http://180.142.178.98:8181/live/cctv8hd/index.m3u8 +cctv09hd,http://180.142.178.98:8181/live/cctv9hd/index.m3u8 +cctv10hd,http://180.142.178.98:8181/live/cctv10hd/index.m3u8 +cctv11hd,http://180.142.178.98:8181/live/cctv11hd/index.m3u8 +cctv12hd,http://180.142.178.98:8181/live/cctv12hd/index.m3u8 +cctv13hd,http://180.142.178.98:8181/live/cctv13hd/index.m3u8 +cctv14hd,http://180.142.178.98:8181/live/cctv14hd/index.m3u8 +cctv15hd,http://180.142.178.98:8181/live/cctv15hd/index.m3u8 +cctv17hd,http://180.142.178.98:8181/live/cctv17hd/index.m3u8 + +📡央视频道👉移动,#genre# +CCTV01移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000029752/1.m3u8?channel-id=wasusyt&Contentid=6000000001000029752&livemode=1&stbId=3 +CCTV02移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000023315/1.m3u8?channel-id=ystenlive&Contentid=1000000001000023315&livemode=1&stbId=3 +CCTV03移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000022313/1.m3u8?channel-id=wasusyt&Contentid=6000000001000022313&livemode=1&stbId=3 +CCTV04移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031102/1.m3u8?channel-id=bestzb&Contentid=5000000011000031102&livemode=1&stbId=3 +CCTV05移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000003000030177/1.m3u8?channel-id=ystenlive&Contentid=1000000003000030177&livemode=1&stbId=3 +CCTV5+移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000018504/1.m3u8?channel-id=ystenlive&Contentid=1000000001000018504&livemode=1&stbId=3 +CCTV06移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000016466/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016466&livemode=1&stbId=3 +CCTV07移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000009055/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009055&livemode=1&stbId=3 +CCTV08移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000031433/1.m3u8?channel-id=ystenlive&Contentid=1000000001000031433&livemode=1&stbId=3 +CCTV09移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000014583/1.m3u8?channel-id=ystenlive&Contentid=1000000001000014583&livemode=1&stbId=3 +CCTV10移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/5000000010000016738/1.m3u8?channel-id=bestzb&Contentid=5000000010000016738&livemode=1&stbId=3 +CCTV11移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031106/1.m3u8?channel-id=bestzb&Contentid=5000000011000031106&livemode=1&stbId=3 +CCTV12移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000022586/1.m3u8?channel-id=wasusyt&Contentid=6000000001000022586&livemode=1&stbId=3 +CCTV13移动超高清,https://live-play.cctvnews.cctv.com/cctv/merge_cctv13.m3u8 +CCTV13移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/5000000005000001827/1.m3u8?channel-id=bestzb&Contentid=5000000005000001827&livemode=1&stbId=3 +CCTV14移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000013647/1.m3u8?channel-id=wasusyt&Contentid=6000000001000013647&livemode=1&stbId=3 +CCTV15移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000265014/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265014&livemode=1&stbId=3 +CCTV16移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/5000000008000023254/1.m3u8?channel-id=bestzb&Contentid=5000000008000023254&livemode=1&stbId=3 +CCTV17移动超高清,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000265015/1.m3u8?channel-id=ystenlive&Contentid=1000000005000265015&livemode=1&stbId=3 + +CCTV01移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226231/index.m3u8 +CCTV02移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226195/index.m3u8 +CCTV03移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226397/index.m3u8 +CCTV04移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226191/index.m3u8 +CCTV05移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226395/index.m3u8 +CCTV5+移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226221/index.m3u8 +CCTV06移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226393/index.m3u8 +CCTV07移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226192/index.m3u8 +CCTV08移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226391/index.m3u8 +CCTV09移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226197/index.m3u8 +CCTV10移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226189/index.m3u8 +CCTV11移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226240/index.m3u8 +CCTV12移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226190/index.m3u8 +CCTV13移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226233/index.m3u8 +CCTV14移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226193/index.m3u8 +CCTV15移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225785/index.m3u8 +CCTV16移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226921/index.m3u8 +CCTV17移动超高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226198/index.m3u8 + +📡央视频道👉IPV6,#genre# + +CCTV-01 综合,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001331/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CCTV-02 财经,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001332/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CCTV-03 综艺,http://[2409:8087:2001:20:2800:0:df6e:eb22]/ott.mobaibox.com/PLTV/4/224/3221228392/index.m3u8 +CCTV-04 中文,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001333/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CCTV-05 体育,http://[2409:8087:2001:20:2800:0:df6e:eb22]/ott.mobaibox.com/PLTV/4/224/3221228502/index.m3u8 +CCTV05+赛事,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001334/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CCTV-06 电影,http://[2409:8087:2001:20:2800:0:df6e:eb14]:80/ott.mobaibox.com/PLTV/4/224/3221228123/index.m3u8 +CCTV-07 国防,http://[2409:8087:2001:20:2800:0:df6e:eb12]:80/ott.mobaibox.com/PLTV/4/224/3221227690/index.m3u8 +CCTV-08 电视,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/ott.mobaibox.com/PLTV/4/224/3221227473/index.m3u8 +CCTV-09 纪录,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/ott.mobaibox.com/PLTV/4/224/3221227614/index.m3u8 +CCTV-10 科教,http://[2409:8087:2001:20:2800:0:df6e:eb20]:80/ott.mobaibox.com/PLTV/4/224/3221228286/index.m3u8 +CCTV-11 戏曲,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/ott.mobaibox.com/PLTV/4/224/3221228289/index.m3u8 +CCTV-12 社会,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/4/224/3221228401/index.m3u8 +CCTV-13 新闻,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221227387/index.m3u8 +CCTV-14 少儿,http://[2409:8087:2001:20:2800:0:df6e:eb23]:80/ott.mobaibox.com/PLTV/4/224/3221228292/index.m3u8 +CCTV-15 音乐,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/ott.mobaibox.com/PLTV/4/224/3221228404/index.m3u8 +CCTV-16 奥林,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221228112/index.m3u8 +CCTV-17 农业,http://[2409:8087:2001:20:2800:0:df6e:eb17]:80/ott.mobaibox.com/PLTV/4/224/3221227592/index.m3u8 + +CCTV-01 综合,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226231/1.m3u8 +CCTV-02 财经,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226195/1.m3u8 +CCTV-03 综艺,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226397/1.m3u8 +CCTV-04 中文,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226191/1.m3u8 +CCTV-05 体育,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226395/1.m3u8 +CCTV05+赛事,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225761/1.m3u8 +CCTV-06 电影,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226011/1.m3u8 +CCTV-07 国防,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226192/1.m3u8 +CCTV-08 电视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226391/1.m3u8 +CCTV-09 纪录,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226197/1.m3u8 +CCTV-10 科教,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226189/1.m3u8 +CCTV-11 戏曲,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226240/1.m3u8 +CCTV-12 社会,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226190/1.m3u8 +CCTV-13 新闻,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226233/1.m3u8 +CCTV-14 少儿,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226193/1.m3u8 +CCTV-15 音乐,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225785/1.m3u8 +CCTV-16 奥林,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226921/1.m3u8 +CCTV-17 农业,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226198/1.m3u8 + +CCTV-4K超清,http://[2409:8087:2001:20:2800:0:df6e:eb13]/ott.mobaibox.com/PLTV/3/224/3221228228/index.m3u8 +CCTV-8K超清,http://[2409:8087:2001:20:2800:0:df6e:eb03]/ott.mobaibox.com/PLTV/4/224/3221228165/index.m3u8 + +🌏全球频道👉全网,#genre# +环球电视,http://zb.xzxwhcb.com:9999/hls/world.m3u8 +环球IPV6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001024/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +亚洲新闻,http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_4.m3u8 +中國環球,http://live.cgtn.com/500/prog_index.m3u8 +华文一台,http://vvlive.eztv.vip/huawen1/huawen1.m3u8?auth_key=1661769627-0-0-3a16475ac0fa2a152a25661e8634fe39 +华文六台,http://vvlive.eztv.vip/huawen6/huawen6.m3u8?auth_key=1662611110-0-0-cf20c4fcf669736034b6ceac0d01d403 +NHK世界,https://nhkwlive-ojp.akamaized.net/hls/live/2003459/nhkwlive-ojp-en/index_4M.m3u8 +CNA新闻,https://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8 +半岛新闻,http://live-hls-web-aja.getaj.net/AJA/02.m3u8 +半岛新闻,http://live-hls-web-aje.getaj.net/AJE/01.m3u8 +金砖中文,http://brics.bonus-tv.ru/cdn/brics/chinese/tracks-v1a1/index.m3u8 +金砖英文,http://brics.bonus-tv.ru/cdn/brics/english/tracks-v1a1/index.m3u8 +BRICS台,https://brics.bonus-tv.ru/cdn/brics/chinese/playlist.m3u8 +俄罗斯频,https://rt-glb.rttv.com/dvr/rtnews/playlist_4500Kb.m3u8 +StarHD台,http://livestar.siliconweb.com/media/star1/star1.m3u8 +乌克兰台,https://cdn.1tvcrimea.ru/1tvcrimea.m3u8 +泰国ASTV,http://news1.live14.com/stream/news1_hi.m3u8 +韩国国防,http://mediaworks.dema.mil.kr:1935/live_edge/cudo.sdp/playlist.m3u8 +朝鲜新闻,http://119.77.96.184:1935/chn05/chn05/chunklist_w644291506.m3u8 +韩国新闻,http://amdlive.ctnd.com.edgesuite.net:80/arirang_1ch/smil:arirang_1ch.smil/chunklist_b2256000_sleng.m3u8 +俄罗斯台,http://brics.bonus-tv.ru/cdn/brics/chinese/tracks-v1a1/index.m3u8 +日语新闻,https://n24-cdn-live.ntv.co.jp/ch01/index_high.m3u8 +日本华语,https://nhkwlive-ojp.akamaized.net/hls/live/2003459/nhkwlive-ojp-en/index_4M.m3u8 +澳门莲花,http://107.151.203.111:2209/135/hk.php?id=amlh +环球频道,http://live.cgtn.com/500/prog_index.m3u8 +ABC新闻,http://cms-wowza.lunabyte.io/wbrz-live-1/_definst_/smil:wbrz-live.smil/chunklist_b1300000.m3u8 +红牛运动,http://rbmn-live.akamaized.net/hls/live/590964/BoRB-AT/master_928.m3u8 +CNA频道,http://d2e1asnsl7br7b.cloudfront.net/7782e205e72f43aeb4a48ec97f66ebbe/index_5.m3u8 +法国时尚,http://lb.streaming.sk/fashiontv/stream/chunklist.m3u8 +欧洲体育,http://europa-crtvg.flumotion.com/playlist.m3u8 +欧洲华01,http://vvlive.eztv.vip/huawen1/huawen1.m3u8?auth_key=1661769627-0-0-3a16475ac0fa2a152a25661e8634fe39 +欧洲华02,http://vvlive.eztv.vip/huawen2/huawen2.m3u8?auth_key=1661418936-0-0-bc9f000c6daa2def0b71d5389778b0d3 +欧洲华06,http://vvlive.eztv.vip/huawen6/huawen6.m3u8?auth_key=1660814676-0-0-4d45d97f017e545dd368719f8dd48ffe +动物频道,https://d18dyiwu97wm6q.cloudfront.net/playlist2160p.m3u8 +地理野生,http://admdn2.cdn.mangomolo.com/nagtv/smil:nagtv.stream.smil/chunklist_b800000_t64NDgwcA==.m3u8 + +📡湾湾频道👉全网,#genre# +龙华戏剧,https://securelive.e-chinalife.com/huanqiuiptv/twlivezezcxlvofbzbvnzzsfzvbhslcfvxcvzszbcvzfdvzsfcbzbnztyzd.flv +中视新闻,http://livetv.skycf.eu.org/live.m3u8?c=6 +公视频道,http://50.7.238.114:8278/ctv_taiwan/playlist.m3u8?tid=13765524&ct=17990&tsum=03eb77c1c186944b97737f14e95076c0 +中视新闻,http://50.7.238.114:8278/zhongshinews_twn/playlist.m3u8?tid=MAAA4459856044598560&ct=19193&tsum=1b7bdea69c00cd48e31f13442c75c376 +民视台湾,http://198.16.100.90:8278/ftvnew_taiwan/playlist.m3u8?tid=ME4E4172771041727710&ct=19226&tsum=7b91c7af6212419479b392ff575e0689 +非凡新闻,http://198.16.100.90:8278/feifannews_twn/playlist.m3u8?tid=MFDF6578546865785468&ct=19249&tsum=bbb5f2ee12e8ae89846875a83db08997 +中视经典,http://198.16.100.90:8278/zhongshi_twn/playlist.m3u8?tid=14379667&ct=17988&tsum=de63d02f44741580b5070077d1949841 +中天娱乐,http://50.7.238.114:8278/ctient/playlist.m3u8?tid=MC9C7081133170811331&ct=19249&tsum=8b08b54208f3ee30e12f419d587f46ac +中天综合,http://198.16.100.90:8278/ctizhonghe/playlist.m3u8?tid=MB6B3888954738889547&ct=19254&tsum=d0cb922e44e8a16bea598530697c581e +东森综合,http://50.7.238.114:8278/ettvzhonghe/playlist.m3u8?tid=MC4C1214674912146749&ct=19254&tsum=9b96a50ba99dca1a02a27b05a6fb4b0d +八大综合,http://50.7.238.114:8278/badazhonghe/playlist.m3u8?tid=MC5C5422299054222990&ct=19193&tsum=8189d5b21bdeabdffa3d2b2cbeaae0ae +三立戏剧,http://50.7.238.114:8278/sanlixiju_twn/playlist.m3u8?tid=MA8A4626080046260800&ct=19053&tsum=205a453781925ebfb8996c1db8d4ed59 +龙祥时代,http://50.7.238.114:8278/lungxiangtime_twn/playlist.m3u8?tid=MADA6805114368051143&ct=18392&tsum=d6a1f02ca9abd5368d2a365e40247ae8 +好莱坞影,http://50.7.238.114:8278/hollywoodmovies_twn/playlist.m3u8?tid=MF6F7143280071432800&ct=19211&tsum=c0bc00f05a03eb1bef16741e9fd9737e +龙华偶像,http://198.16.100.90:8278/lunghuaidol_twn/playlist.m3u8?tid=MD6D6087277960872779&ct=19249&tsum=83e30fd8200429793355d21bf37719ff +八大戏剧,http://50.7.238.114:8278/badadrama/playlist.m3u8?tid=ME4E4734124647341246&ct=19225&tsum=c4e596572a79ad99675ee2137d1cc43d +AXN台湾,http://50.7.238.114:8278/axn_twn/playlist.m3u8?tid=MC6C9875939098759390&ct=19254&tsum=5a6772e6e852b06c1b5741eeb4002a1a +HBO频道,http://198.16.100.90:8278/hbohd_twn/playlist.m3u8?tid=ME7E8473082984730829&ct=18392&tsum=acad12b7c208bda39b68dec98349e138 +博斯运动,http://50.7.238.114:8278/bosisport1_twn/playlist.m3u8?tid=MDAD4087844840878448&ct=19249&tsum=0a23fd28e83ff8205a515273a4c1b421 +GO好医生,https://dqhxk7sbp7xog.cloudfront.net/hls-live/goodtv/_definst_/liveevent/live-ch9-2.m3u8 +番薯音乐,http://61.216.67.119:1935/TWHG/E1/chunklist_w705811302.m3u8 +番薯音乐,http://61.216.67.119:1935/TWHG/E1/chunklist_w7058102.m3u8#http://61.216.67.119:1935/TWHG/E1/chunklist_w70581102.m3u8 + +📡湖北频道👉全网,#genre# +十堰新闻,http://p8.vzan.com/slowlive/034028687228317362/live.m3u8 +十堰经济,https://p8.vzan.com/slowlive/701367497774448672/live.m3u8 +宜昌综合,https://yichang-live21.cjyun.org/10091/10091-yczh.m3u8?auth_key=1735660799-0-0-152a9f6a201d7d56428feae52d4b18b8 +三峡旅游,https://yichang-live21.cjyun.org/10091/s10091-ycly.m3u8?auth_key=1735660799-0-0-3232283b7b347bb21b712ea8398761d1 +荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8?zhubd +荆门教育,http://stream.jmtv.com.cn/ggsh/sd/live.m3u8 +江夏新闻,http://59.175.226.142:280/gb28181/xwzh.m3u8?zhubd +麻城综合,http://119.36.30.199:8888/mctv1.m3u8 +武汉新闻,http://stream.appwuhan.com/1tzb/sd/live.m3u8 +武汉生活,http://stream.appwuhan.com/3tzb/sd/live.m3u8 +武汉电视,http://stream.appwuhan.com/2tzb/sd/live.m3u8 +武汉经济,http://stream.appwuhan.com/4tzb/sd/live.m3u8 +武汉外语,http://stream.appwuhan.com/6tzb/sd/live.m3u8 +武汉少儿,http://stream.appwuhan.com/7tzb/sd/live.m3u8 +武汉教育,http://stream.appwuhan.com/jyzb/sd/live.m3u8 +武汉文体,http://stream.appwuhan.com/5tzb/sd/live.m3u8 +荆门新闻,http://stream.jmtv.com.cn/xwzh/sd/live.m3u8 +荆门公共,http://stream.jmtv.com.cn/ngpd/sd/live.m3u8 +荆门教育,http://stream.jmtv.com.cn/ggsh/sd/live.m3u8 +十堰新闻,http://p8.vzan.com/slowlive/034028687228317362/live.m3u8 +郧阳新闻,http://58.19.198.159:2021/hls1.m3u8 +十堰新闻,https://p8.vzan.com/slowlive/034028687228317362/live.m3u8?zbid=351104&tpid=868100086 +十堰经济,https://p8.vzan.com/slowlive/701367497774448672/live.m3u8?zbid=351104&tpid=1550600621 +江夏新闻,http://59.175.226.142:280/gb28181/xwzh.m3u8 +池州综合,http://wjsp.chiznews.com:8037/live/xwzh.m3u8 +池州生活,http://wjsp.chiznews.com:8037/live/wjsh.m3u8 +扬州综合,https://cm-wshls.homecdn.com/live/8bb.m3u8 +扬州城市,https://cm-wshls.homecdn.com/live/8bd.m3u8 +扬州生活,https://cm-wshls.homecdn.com/live/8bf.m3u8 +扬州邗江,https://cm-wshls.homecdn.com/live/8c3.m3u8 + +📡卫视频道👉全网,#genre# + +浙江新闻,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +浙江钱江,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +浙江综合,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +广州综合,https://tencentplaygzrb.gztv.com/live/zonghes.m3u8 +yMG新闻,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8 +余姚新闻,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed +嵊州新闻,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed +上虞新闻,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed +新余新闻,http://43.138.192.238:9000/hls/tvb/playlist.m3u8 +新余公共,http://43.138.192.238:9000/hls/tvc/playlist.m3u8 +新余教育,http://43.138.192.238:9000/hls/tva/playlist.m3u8 +上虞新商,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed +兰溪综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed +高平综合,http://live.gprmt.cn/gpnews/hd/live.m3u8 +吉县综合,http://jxlive.jxrmtzx.com:8091/live/xwzh.m3u8 +宜春综合,https://live.newsyc.com/ycyt/sd/live.m3u8 +清河经济,https://jwcdnqx.hebyun.com.cn/live/qinghe1/1500k/tzwj_video.m3u8 +清河新闻,https://jwcdnqx.hebyun.com.cn/live/qinghe/1500k/tzwj_video.m3u8 +平泉影院,https://jwliveqxzb.hebyun.com.cn/pqys/pqys.m3u8 +平泉综合,https://jwliveqxzb.hebyun.com.cn/pqzh/pqzh.m3u8 +承德公共,https://jwliveqxzb.hebyun.com.cn/cdsggshtv/cdsggshtv.m3u8 +承德新闻,https://jwliveqxzb.hebyun.com.cn/cdsxwzhtv/cdsxwzhtv.m3u8 +邯郸新闻,https://jwliveqxzb.hebyun.com.cn/hdxwzh/hdxwzh.m3u8 +邯郸公共,https://jwliveqxzb.hebyun.com.cn/hdgg/hdgg.m3u8 +邯郸科教,https://jwliveqxzb.hebyun.com.cn/hdkj/hdkj.m3u8 +石家庄闻,http://pluslive1.sjzntv.cn/xmzh/playlist.m3u8 +石家庄乐,http://pluslive1.sjzntv.cn/yule/playlist.m3u8 +石家庄活,http://pluslive1.sjzntv.cn/shenghuo/playlist.m3u8 +石家庄市,http://pluslive1.sjzntv.cn/dushi/playlist.m3u8 +望都综合,https://jwliveqxzb.hebyun.com.cn/wddst/wddst.m3u8 +兴隆影院,https://jwcdnqx.hebyun.com.cn/live/xlys/1500k/tzwj_video.m3u8 +兴隆综合,https://jwcdnqx.hebyun.com.cn/live/xlzh/1500k/tzwj_video.m3u8 +青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8 +安多卫视,http://stream.qhbtv.com/adws/sd/live.m3u8 +青海经视,http://stream.qhbtv.com/qhsh/sd/live.m3u8 +青海都市,http://stream.qhbtv.com/qhds/sd/live.m3u8 +石嘴山台,https://1972762460.cloudvdn.com/a.m3u8?domain=pili-live-hls-jrszs.szsnews.com&player=3QgAAE_-GGPN1qYX&secondToken=secondToken%3Ad3Hr2WvLUboLu5N3J4fOPjSY3XQ&streamid=jrszs%3Ajrszs%2Fggpd&v3=1 +河北都市,http://tv.pull.hebtv.com/jishi/dushipindao.m3u8?t=2510710360&k=0a371e84fa6980927f5b617687e1ad11 +乌鲁木齐1,http://mmitv.top/test/tianma.php?id=utvhyzh +乌鲁木齐2,http://mmitv.top/test/tianma.php?id=utvwyzh + +十堰新闻,http://p8.vzan.com/slowlive/034028687228317362/live.m3u8 +武汉生活,http://stream.appwuhan.com/3tzb/sd/live.m3u8 +深圳都市,http://livepull-tcyzb.sztv.com.cn/live/dushi01.m3u8#http://livepull-tcyzb.sztv.com.cn/showto_live/dushi01.m3u8 +深圳都市,http://livepull-tcyzb.sztv.com.cn/showto_live/dushi01.m3u8 +广东文化,https://glive.grtn.cn/live/wenhua_test0203.m3u8 +青海综合,http://lmt.scqstv.com/live1/live1.m3u8 +青海都市,http://stream.qhbtv.com/qhds/playlist.m3u8 +绍兴公共,http://live.shaoxing.com.cn/video/s10001-sxtv2/index.m3u8?zzhed +东海新闻,http://donghai-tv-hls.cm.jstv.com/donghai-tv/donghaixinwensp.m3u8?zjiangsd +余姚频道,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8 +延边频道,http://live.ybtvyun.com/video/s10006-44f040627ca1/index.m3u8 +青海频道,http://stream.qhbtv.com/qhws/sd/live.m3u8 +都市频道,http://livepull-tcyzb.sztv.com.cn:80/live/dushi01.m3u8 +桂林新闻,https://pull.gltvs.com:443/live/glxw/playlist.m3u8?v=b0528684bf934e120e1c30fc808e6576&t=1796868188 +河北卫视,http://tv.pull.hebtv.com/jishi/weishipindao.m3u8?t=2510710360&k=3944fff7fdd8f8caf6adce2c9a0ef126 +石家庄市,http://pluslive1.sjzntv.cn/dushi/playlist.m3u8?zhebd +邯郸新闻,https://jwliveqxzb.hebyun.com.cn/hdxwzh/hdxwzh.m3u8 +唐河一套,http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8?zhend#http://tvpull.dxhmt.cn:9081/tv/11328-1.m3u8 +苏州新闻,http://tylive.kan0512.com/norecord/norecord_csztv1.m3u8 +枣庄新闻,http://stream.zztvzd.com/1/sd/live.m3u8?shandd +淮南新闻,http://stream.0554news.com/hnds1/sd/live.m3u8?zanhd +三明公共,http://stream.smntv.cn/smtv2/sd/live.m3u8 +漳州新闻,http://31182.hlsplay.aodianyun.com/lms_31182/tv_channel_175.m3u8 +广西贺州,http://zhz.gxhzxw.com:2935/live/HZXW-HD/chunklist.m3u8 +西双综合,http://file.xsbnrtv.cn/vms/videos/nmip-media/channellive/channel1/playlist.m3u8?zyund +西双公共,http://file.xsbnrtv.cn/vms/videos/nmip-media/channellive/channel3/playlist.m3u8?zyund +云南丽江,http://play.live.lijiangtv.com/live/tvgg.m3u8#http://play.live.lijiangtv.com/live/tvzh.m3u8 +山西经济,http://liveflash.sxrtv.com/live/sxfinance.m3u8?sub_m3u8=true&edge_slice=true +延边卫视,http://live.ybtvyun.com/video/s10016-6f0dfd97912f/index.m3u8?zjild +万州综合,http://123.146.162.24:8017/iTXwrGs/800/live.m3u8?zzhongqd +卡拉玛依,http://klmysjtzb.rcsxzx.com/hls/klmy1.m3u8 +卡拉玛维,http://klmysjtzb.rcsxzx.com/hls/klmy2.m3u8 +伊犁汉语,http://110.153.180.106:55555/out_1/index.m3u8 +伊犁维语,http://110.153.180.106:55555/out_2/index.m3u8 +伊犁哈语,http://110.153.180.106:55555/out_3/index.m3u8 +伊犁经济,http://110.153.180.106:55555/out_4/index.m3u8 +西藏卫视,http://xuxingwen.hk3.345888.xyz.cdn.cloudflare.net/西藏代理.php?id=ws +西藏藏语,http://xuxingwen.hk3.345888.xyz.cdn.cloudflare.net/西藏代理.php?id=zy +西藏影院,http://xuxingwen.hk3.345888.xyz.cdn.cloudflare.net/西藏代理.php?id=ys + +义乌新闻综合,https://44911.hlsplay.aodianyun.com/tv_radio_44911/tv_channel_1796.m3u8?auth_key=4830573978-0-0-92824c2c03f95906a3c49a4aa28f1709&extra_key=Yc1XsmxOKy2UBoPM4Wy5vCPsEYqnj06taCR2SRB2Xrg2w28NPilH03KdIbbM5wgSql-VBohSnoO9AOKl94q2t2DWMftz-XB-2qUX-UjXcS80StcSZahBFjrKLivXaRjiY5r2NOMKWMKFbv-S0Bz2G6iEXgCK8yGjtrFHDcPfAQEE0pvXq0Bwy34b7We8zARN&ali_ffmpeg_version=mpengine +浙江钱江都市,http://ali-m-l.cztv.com/channels/lantian/channel002/1080p.m3u8 +浙江经济生活,http://ali-m-l.cztv.com/channels/lantian/channel003/1080p.m3u8 +浙江教科影院,http://ali-m-l.cztv.com/channels/lantian/channel004/1080p.m3u8 +浙江民生休闲,http://ali-m-l.cztv.com/channels/lantian/channel006/1080p.m3u8 +浙江新闻频道,http://ali-m-l.cztv.com/channels/lantian/channel007/1080p.m3u8 +浙江少儿频道,http://ali-m-l.cztv.com/channels/lantian/channel008/1080p.m3u8 +中国蓝新闻台,http://ali-m-l.cztv.com/channels/lantian/channel009/1080p.m3u8 +浙江国际频道,http://ali-m-l.cztv.com/channels/lantian/channel010/1080p.m3u8 +数码时代频道,http://ali-m-l.cztv.com/channels/lantian/channel012/1080p.m3u8 +武义新闻综合,http://l.cztvcloud.com/channels/lantian/SXwuyi1/720p.m3u8?zzhed +平湖新闻综合,http://l.cztvcloud.com/channels/lantian/SXpinghu1/720p.m3u8?zzhed +平湖民生休闲,http://l.cztvcloud.com/channels/lantian/SXpinghu2/720p.m3u8?zzhed +萧山新闻综合,http://l.cztvcloud.com/channels/lantian/SXxiaoshan1/720p.m3u8?zzhed +萧山生活频道,http://l.cztvcloud.com/channels/lantian/SXxiaoshan2/720p.m3u8?zzhed +淳安电视频道,https://wtmtyoutlive.watonemt.com/f2p7vq/lf76v9.m3u8?zzhed +淳安电视频道,https://wtmtylive.yunshicloud.com/tbziu1/ad592j.m3u8?zzhed +余杭综合频道,http://l.cztvcloud.com/channels/lantian/SXyuhang1/720p.m3u8?zzhed +余杭未来频道,http://l.cztvcloud.com/channels/lantian/SXyuhang3/720p.m3u8?zzhed +余姚新闻综合,http://l.cztvcloud.com/channels/lantian/SXyuyao1/720p.m3u8?zzhed +余姚姚江文化,http://l.cztvcloud.com/channels/lantian/SXyuyao3/720p.m3u8?zzhed +嵊州新闻综合,http://l.cztvcloud.com/channels/lantian/SXshengzhou1/720p.m3u8?zzhed +嵊州新闻综合,https://hlsv2.quklive.com/live/1626935015913208/index.m3u8?zzhed +诸暨新闻综合,http://l.cztvcloud.com/channels/lantian/SXzhuji3/720p.m3u8?zzhed +上虞新闻综合,http://l.cztvcloud.com/channels/lantian/SXshangyu1/720p.m3u8?zzhed +上虞文化影院,http://l.cztvcloud.com/channels/lantian/SXshangyu2/720p.m3u8?zzhed +上虞新商都台,http://l.cztvcloud.com/channels/lantian/SXshangyu3/720p.m3u8?zzhed +海宁新闻综合,http://live.hndachao.cn/xwzh/sd/live.m3u8?zzhed +海宁生活服务,http://live.hndachao.cn/shfw/sd/live.m3u8?zzhed +兰溪新闻综合,http://l.cztvcloud.com/channels/lantian/SXlanxi1/720p.m3u8?zzhed + +📡卫视频道👉电信,#genre# + +黑龙江台,http://219.147.200.9:18080/newlive/live/hls/19/live.m3u8 +黑龙江影,http://219.147.200.9:18080/newlive/live/hls/20/live.m3u8 +黑龙江文,http://219.147.200.9:18080/newlive/live/hls/21/live.m3u8 +黑龙江都,http://219.147.200.9:18080/newlive/live/hls/23/live.m3u8 +黑龙江法,http://219.147.200.9:18080/newlive/live/hls/24/live.m3u8 +黑龙江少,http://219.147.200.9:18080/newlive/live/hls/25/live.m3u8 +北京卫视,http://219.147.200.9:18080/newlive/live/hls/26/live.m3u8 +东方卫视,http://219.147.200.9:18080/newlive/live/hls/28/live.m3u8 +浙江卫视,http://219.147.200.9:18080/newlive/live/hls/29/live.m3u8 +湖南卫视,http://219.147.200.9:18080/newlive/live/hls/30/live.m3u8 +江苏卫视,http://219.147.200.9:18080/newlive/live/hls/31/live.m3u8 +广东卫视,http://219.147.200.9:18080/newlive/live/hls/32/live.m3u8 +深圳卫视,http://219.147.200.9:18080/newlive/live/hls/33/live.m3u8 +天津卫视,http://219.147.200.9:18080/newlive/live/hls/34/live.m3u8 +重庆卫视,http://219.147.200.9:18080/newlive/live/hls/35/live.m3u8 +吉林卫视,http://219.147.200.9:18080/newlive/live/hls/36/live.m3u8 +辽宁卫视,http://219.147.200.9:18080/newlive/live/hls/37/live.m3u8 +河北卫视,http://219.147.200.9:18080/newlive/live/hls/38/live.m3u8 +山东卫视,http://219.147.200.9:18080/newlive/live/hls/39/live.m3u8 +山西卫视,http://219.147.200.9:18080/newlive/live/hls/40/live.m3u8 +河南卫视,http://219.147.200.9:18080/newlive/live/hls/41/live.m3u8 +湖北卫视,http://219.147.200.9:18080/newlive/live/hls/42/live.m3u8 +安徽卫视,http://219.147.200.9:18080/newlive/live/hls/43/live.m3u8 +东南卫视,http://219.147.200.9:18080/newlive/live/hls/44/live.m3u8 +江西卫视,http://219.147.200.9:18080/newlive/live/hls/45/live.m3u8 +广西卫视,http://219.147.200.9:18080/newlive/live/hls/46/live.m3u8 +海南卫视,http://219.147.200.9:18080/newlive/live/hls/47/live.m3u8 +四川卫视,http://219.147.200.9:18080/newlive/live/hls/48/live.m3u8 +贵州卫视,http://219.147.200.9:18080/newlive/live/hls/49/live.m3u8 +云南卫视,http://219.147.200.9:18080/newlive/live/hls/50/live.m3u8 +内蒙古视,http://219.147.200.9:18080/newlive/live/hls/51/live.m3u8 +陕西卫视,http://219.147.200.9:18080/newlive/live/hls/52/live.m3u8 +宁夏卫视,http://219.147.200.9:18080/newlive/live/hls/53/live.m3u8 +甘肃卫视,http://219.147.200.9:18080/newlive/live/hls/54/live.m3u8 +青海卫视,http://219.147.200.9:18080/newlive/live/hls/55/live.m3u8 +新疆卫视,http://219.147.200.9:18080/newlive/live/hls/56/live.m3u8 +西藏卫视,http://219.147.200.9:18080/newlive/live/hls/57/live.m3u8 + +行唐综合,http://27.128.190.231:18080/sdi + +📡卫视频道👉移动,#genre# +浙江卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226199/index.m3u8 +四川卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225768/index.m3u8 +重庆卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226202/index.m3u8 +安徽卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226203/index.m3u8 +天津卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226204/index.m3u8 +山西卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225763/index.m3u8 +山东卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226209/index.m3u8 +山东教育,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226238/index.m3u8 +东南卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225766/index.m3u8 +海南卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225769/index.m3u8 +厦门卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226219/index.m3u8 +河南卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225767/index.m3u8 +湖北卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226194/index.m3u8 +河北卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225750/index.m3u8 +湖南卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226211/index.m3u8 +金鹰卡通,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225744/index.m3u8 +东方卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226217/index.m3u8 +哈哈炫动,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226213/index.m3u8 +辽宁卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226201/index.m3u8 +黑龙江视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226215/index.m3u8 +吉林卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225792/index.m3u8 +广西卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225770/index.m3u8 +江西卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225764/index.m3u8 +江苏卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226200/index.m3u8 +优漫卡通,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225795/index.m3u8 +深圳卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226205/index.m3u8 +广东卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226216/index.m3u8 +大湾区视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226218/index.m3u8 +北京卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226222/index.m3u8 +北京卡酷,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225743/index.m3u8 +冬奥纪实,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226232/index.m3u8 +嘉佳卡通,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226227/index.m3u8 +云南卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225751/index.m3u8 +贵州卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225793/index.m3u8 +宁夏卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225748/index.m3u8 +甘肃卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225754/index.m3u8 +西藏卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226212/index.m3u8 +安多卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226228/index.m3u8 +康巴卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226234/index.m3u8 +新疆卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225747/index.m3u8 +兵团卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226214/index.m3u8 +延边卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226220/index.m3u8 +内蒙古视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225786/index.m3u8 +康巴卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226234/index.m3u8 +电视指南,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8 +风云足球,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8 +风云剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226950/index.m3u8 +风云音乐,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8 +央视台球,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8 +第一剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8 +女性时尚,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226969/index.m3u8 +怀旧剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8 +兵器科技,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226975/index.m3u8 +高尔夫网,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8 +央视文化,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8 +哒啵电竞,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226951/index.m3u8 +哒啵赛事,http://dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226954/index.m3u8 +CHC高清,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226463/index.m3u8 +CHC家庭,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226462/index.m3u8 +CHC动作,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226465/index.m3u8 +陕西卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225821/index.m3u8 +农林卫视,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226229/index.m3u8 +陕西一套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226357/1.m3u8 +陕西二套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226358/1.m3u8 +陕西三套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226359/1.m3u8 +陕西四套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226360/1.m3u8 +陕西五套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226361/1.m3u8 +陕西六套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226362/1.m3u8 +陕西七套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226363/1.m3u8 +陕西八套,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226364/1.m3u8 +西安新闻,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226366/1.m3u8 +西安都市,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226367/1.m3u8 +西安商务,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226368/1.m3u8 +西安影院,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226369/1.m3u8 +西安丝路,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226370/1.m3u8 +西安教育,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226371/index.m3u8 +咸阳-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226372/index.m3u8 +杨凌-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226373/index.m3u8 +延安-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226374/1.m3u8 +延安-2台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226375/1.m3u8 +铜川-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226379/1.m3u8 +铜川-2台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226380/1.m3u8 +宝鸡-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226383/1.m3u8 +宝鸡-2台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226384/1.m3u8 +宁强-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226390/1.m3u8 +宁强-2台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226389/1.m3u8 +汉中-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226331/1.m3u8 +汉中-3台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225991/index.m3u8 +佛坪-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226454/1.m3u8 +镇巴-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226457/1.m3u8 +略阳-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226322/1.m3u8 +西乡-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226556/index.m3u8 +榆林-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226377/1.m3u8 +商洛-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226378/1.m3u8 +渭南-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226376/1.m3u8 +安康-1台,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226385/1.m3u8 +纪实人文,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226230/index.m3u8 +山东教育,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226238/index.m3u8 +置业频道,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226241/index.m3u8 +京视剧场,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226242/index.m3u8 +家庭理财,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226244/index.m3u8 +奕坦春秋,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226245/index.m3u8 +发现之旅,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226235/index.m3u8 +老故事台,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226236/index.m3u8 + + +北京卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000020451/1.m3u8?channel-id=wasusyt&Contentid=6000000001000020451&livemode=1&stbId=3 +东方卫视,http://zteres.sn.chinamobile.com:6060/000000001000/2000000002000000056/1.m3u8?channel-id=hnbblive&Contentid=2000000002000000056&livemode=1&stbId=3 +天津卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000009186/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009186&livemode=1&stbId=3 +重庆卫视,https://sjlivecdn9.cbg.cn/204912315959/app_2/_definst_/ls_2.stream/chunklist.m3u8 +重庆卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000001096/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001096&livemode=1&stbId=3 +黑龙江卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000001925/1.m3u8?channel-id=ystenlive&Contentid=1000000001000001925&livemode=1&stbId=3 +辽宁卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000004000011671/1.m3u8?channel-id=bestzb&Contentid=5000000004000011671&livemode=1&stbId=3 +吉林卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031117/1.m3u8?channel-id=bestzb&Contentid=5000000011000031117&livemode=1&stbId=3 +内蒙古卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000014080/1.m3u8?channel-id=ystenlive&Contentid=1000000002000014080&livemode=1&stbId=3 +河北卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000006000040016/1.m3u8?channel-id=bestzb&Contentid=5000000006000040016&livemode=1&stbId=3 +河南卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031119/1.m3u8?channel-id=bestzb&Contentid=5000000011000031119&livemode=1&stbId=3 +山东卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000016568/1.m3u8?channel-id=ystenlive&Contentid=1000000001000016568&livemode=1&stbId=3 +山西卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000021220/1.m3u8?channel-id=ystenlive&Contentid=1000000002000021220&livemode=1&stbId=3 +山东教育卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000004097/1.m3u8?channel-id=ystenlive&Contentid=1000000002000004097&livemode=1&stbId=3 +湖北卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000015436/1.m3u8?channel-id=wasusyt&Contentid=6000000001000015436&livemode=1&stbId=3 +湖南卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000004000006692/1.m3u8?channel-id=bestzb&Contentid=5000000004000006692&livemode=1&stbId=3 +广东卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000031076/1.m3u8?channel-id=wasusyt&Contentid=6000000001000031076&livemode=1&stbId=3 +大湾区卫视,http://zteres.sn.chinamobile.com:6060/000000001000/2000000003000000045/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000045&livemode=1&stbId=3 +广东珠江,http://zteres.sn.chinamobile.com:6060/000000001000/2000000003000000033/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000033&livemode=1&stbId=3 +深圳卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000002116/1.m3u8?channel-id=wasusyt&Contentid=6000000001000002116&livemode=1&stbId=3 +海南卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000004000006211/1.m3u8?channel-id=bestzb&Contentid=5000000004000006211&livemode=1&stbId=3 +广西卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031118/1.m3u8?channel-id=bestzb&Contentid=5000000011000031118&livemode=1&stbId=3 +安徽卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000009954/1.m3u8?channel-id=wasusyt&Contentid=6000000001000009954&livemode=1&stbId=3 +浙江卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000001000009806/1.m3u8?channel-id=ystenlive&Contentid=1000000001000009806&livemode=1&stbId=3 +江苏卫视,http://zteres.sn.chinamobile.com:6060/000000001000/6000000001000014861/1.m3u8?channel-id=wasusyt&Contentid=6000000001000014861&livemode=1&stbId=3 +江西卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000006000268001/1.m3u8?channel-id=ystenlive&Contentid=1000000006000268001&livemode=1&stbId=3 +财富天下,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031208/1.m3u8?channel-id=bestzb&Contentid=5000000011000031208&livemode=1&stbId=3 +福建东南卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000004000010584/1.m3u8?channel-id=bestzb&Contentid=5000000004000010584&livemode=1&stbId=3 +厦门卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000266006/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266006&livemode=1&stbId=3 +云南卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000024694/1.m3u8?channel-id=ystenlive&Contentid=1000000002000024694&livemode=1&stbId=3 +贵州卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000004000025843/1.m3u8?channel-id=bestzb&Contentid=5000000004000025843&livemode=1&stbId=3 +四川卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000016825/1.m3u8?channel-id=ystenlive&Contentid=1000000002000016825&livemode=1&stbId=3 +康巴卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000266002/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266002&livemode=1&stbId=3 +陕西卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000006000040017/1.m3u8?channel-id=bestzb&Contentid=5000000006000040017&livemode=1&stbId=3 +农林卫视,http://zteres.sn.chinamobile.com:6060/000000001000/2000000003000000046/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000046&livemode=1&stbId=3 +甘肃卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000011000031121/1.m3u8?channel-id=bestzb&Contentid=5000000011000031121&livemode=1&stbId=3 +宁夏卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000031451/1.m3u8?channel-id=ystenlive&Contentid=1000000002000031451&livemode=1&stbId=3 +青海卫视,http://stream.qhbtv.com/qhws/sd/live.m3u8 +青海卫视,http://zteres.sn.chinamobile.com:6060/000000001000/5000000006000040015/1.m3u8?channel-id=bestzb&Contentid=5000000006000040015&livemode=1&stbId=3 +安多卫视,http://stream.qhbtv.com/adws/sd/live.m3u8 +安多卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000266001/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266001&livemode=1&stbId=3 +新疆卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000029441/1.m3u8?channel-id=ystenlive&Contentid=1000000002000029441&livemode=1&stbId=3 +西藏卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000015894/1.m3u8?channel-id=ystenlive&Contentid=1000000002000015894&livemode=1&stbId=3 +延边卫视,http://live.ybtvyun.com/video/s10006-44f040627ca1/index.m3u8 +延边卫视,http://zteres.sn.chinamobile.com:6060/000000001000/2000000003000000049/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000049&livemode=1&stbId=3 +兵团卫视,http://zteres.sn.chinamobile.com:6060/000000001000/1000000005000266005/1.m3u8?channel-id=ystenlive&Contentid=1000000005000266005&livemode=1&stbId=3 +第一财经,http://zteres.sn.chinamobile.com:6060/000000001000/5000000010000027146/1.m3u8?channel-id=bestzb&Contentid=5000000010000027146&livemode=1&stbId=3 +东方财经,http://zteres.sn.chinamobile.com:6060/000000001000/5000000007000010003/1.m3u8?channel-id=bestzb&Contentid=5000000007000010003&livemode=1&stbId=3 +五星体育,http://zteres.sn.chinamobile.com:6060/000000001000/2000000002000000007/1.m3u8?channel-id=hnbblive&Contentid=2000000002000000007&livemode=1&stbId=3 +哈哈炫动,http://zteres.sn.chinamobile.com:6060/000000001000/5000000005000031641/1.m3u8?channel-id=bestzb&Contentid=5000000005000031641&livemode=1&stbId=3 +嘉佳卡通,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000025964/1.m3u8?channel-id=ystenlive&Contentid=1000000002000025964&livemode=1&stbId=3 +卡酷少儿,http://zteres.sn.chinamobile.com:6060/000000001000/7851974109718180595/1.m3u8?channel-id=bestzb&Contentid=7851974109718180595&livemode=1&stbId=3 +金鹰卡通,http://zteres.sn.chinamobile.com:6060/000000001000/5000000006000040024/1.m3u8?channel-id=bestzb&Contentid=5000000006000040024&livemode=1&stbId=3 +优漫卡通,http://zteres.sn.chinamobile.com:6060/000000001000/1000000002000010063/1.m3u8?channel-id=ystenlive&Contentid=1000000002000010063&livemode=1&stbId=3 + +📡卫视频道👉IPV6,#genre# +北京卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw956907851_-1872531373/ott.mobaibox.com/PLTV/3/224/3221227390/index.m3u8? +东南卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw1460673280_696172443/ott.mobaibox.com/PLTV/3/224/3221227553/index.m3u8? +广东珠江「IPV6」,http://[2409:8087:7001:20:1000::86]:6610/000000001000/1000000004000011655/1.m3u8?channel-id=ystenlive&Contentid=1000000004000011655&livemode=1&stbId=3&IASHttpSessionId=RR503220240113215226046282 +广东珠江「IPV6」,http://[2409:8087:7001:20:1000::84]:6610/000000001000/2000000003000000033/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000033&livemode=1&stbId=3&IASHttpSessionId=RR503720240113214942640175 +广东珠江「IPV6」,http://[2409:8087:7001:20:1000::84]:6610/000000001000/2000000003000000033/1.m3u8?channel-id=hnbblive&Contentid=2000000003000000033&livemode=1&stbId=3&IASHttpSessionId=RR503820240109152105406385 +陕西新闻「IPV6」,http://[2409:8087:7001:20:3::2]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226357/1.m3u8 +东方卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1540277667_303782204/ott.mobaibox.com/PLTV/3/224/3221227396/index.m3u8? +云南卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw935748466_239885853/ott.mobaibox.com/PLTV/3/224/3221227571/index.m3u8? +吉林卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw342769965_-1981608007/ott.mobaibox.com/PLTV/3/224/3221228028/index.m3u8? +四川卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb09]/wh7f454c46tw2502717081_11504314/ott.mobaibox.com/PLTV/3/224/3221227556/index.m3u8? +天津卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1929610199_-360041174/ott.mobaibox.com/PLTV/3/224/3221227382/index.m3u8? +安徽卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw197120493_402056634/ott.mobaibox.com/PLTV/3/224/3221225634/index.m3u8? +山东卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1748964273_488226892/ott.mobaibox.com/PLTV/3/224/3221227310/index.m3u8? +广东卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1749616194_1855037741/ott.mobaibox.com/PLTV/3/224/3221227249/index.m3u8? +广西卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw1546067216_-1703904154/ott.mobaibox.com/PLTV/3/224/3221228183/index.m3u8? +江苏卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb03]:80/wh7f454c46tw1750089310_187485273/ott.mobaibox.com/PLTV/3/224/3221227402/index.m3u8? +江西卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb04]:80/wh7f454c46tw2054416167_-1997643209/ott.mobaibox.com/PLTV/3/224/3221225536/index.m3u8? +河北卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb07]:80/wh7f454c46tw1567506605_718632069/ott.mobaibox.com/PLTV/3/224/3221227545/index.m3u8? +河南卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb07]:80/wh7f454c46tw1760610571_1986142982/ott.mobaibox.com/PLTV/3/224/3221227521/index.m3u8? +浙江卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb02]:80/wh7f454c46tw205505165_733643305/ott.mobaibox.com/PLTV/3/224/3221227393/index.m3u8? +海南卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb08]:80/wh7f454c46tw1550082591_-594632294/ott.mobaibox.com/PLTV/3/224/3221228139/index.m3u8? +深圳卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw2172834728_-2116765000/ott.mobaibox.com/PLTV/3/224/3221227307/index.m3u8? +湖北卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1550585934_-401703996/ott.mobaibox.com/PLTV/3/224/3221227377/index.m3u8? +湖南卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw210731412_242842946/ott.mobaibox.com/PLTV/3/224/3221227320/index.m3u8? +甘肃卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw1625690606_1267463833/ott.mobaibox.com/PLTV/3/224/3221227568/index.m3u8? +贵州卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw1568871343_-998620180/ott.mobaibox.com/PLTV/3/224/3221227551/index.m3u8? +辽宁卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw513997223_-264209037/ott.mobaibox.com/PLTV/3/224/3221227380/index.m3u8? +重庆卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb16]:80/wh7f454c46tw1552893761_-1608513550/ott.mobaibox.com/PLTV/3/224/3221227632/index.m3u8? +青海卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw348498084_-2063977587/ott.mobaibox.com/PLTV/3/224/3221227554/index.m3u8? +黑龙江视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw1932810369_1138674704/ott.mobaibox.com/PLTV/3/224/3221227323/index.m3u8? +中国教育「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1564697200_-1706241738/ott.mobaibox.com/PLTV/3/224/3221227560/index.m3u8? +内蒙古视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw341951814_-1700109677/ott.mobaibox.com/PLTV/3/224/3221227557/index.m3u8? +宁夏卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1759945769_-1910294482/ott.mobaibox.com/PLTV/3/224/3221227563/index.m3u8? +山西卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1760115200_1739590161/ott.mobaibox.com/PLTV/3/224/3221227559/index.m3u8? +新疆卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1749925354_1381421642/ott.mobaibox.com/PLTV/3/224/3221228290/index.m3u8? +西藏卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw346749376_1733310609/ott.mobaibox.com/PLTV/3/224/3221227562/index.m3u8? +陕西卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw348080269_-1398528922/ott.mobaibox.com/PLTV/3/224/3221227583/index.m3u8? +厦门卫视「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0e]:80/wh7f454c46tw342359825_-1375850333/ott.mobaibox.com/PLTV/3/224/3221227604/index.m3u8? +吉林延边「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0f]:80/wh7f454c46tw350174228_-611969642/ott.mobaibox.com/PLTV/3/224/3221227590/index.m3u8? +四川康巴「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb10]:80/wh7f454c46tw348782891_-449946125/ott.mobaibox.com/PLTV/3/224/3221227645/index.m3u8? +山东教育「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb07]:80/wh7f454c46tw349336808_1659672329/ott.mobaibox.com/PLTV/3/224/3221227580/index.m3u8? +广东大湾「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1935909172_1423147160/ott.mobaibox.com/PLTV/3/224/3221228326/index.m3u8? +新疆兵团「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb10]:80/wh7f454c46tw350488878_-968903213/ott.mobaibox.com/PLTV/3/224/3221227654/index.m3u8? +陕西农林「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb10]:80/wh7f454c46tw1570278405_-765533783/ott.mobaibox.com/PLTV/3/224/3221227648/index.m3u8? +青海安多「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb08]:80/wh7f454c46tw351263666_-2080587114/ott.mobaibox.com/PLTV/3/224/3221226999/index.m3u8? +上海哈哈「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw351571978_-649119985/ott.mobaibox.com/PLTV/3/224/3221227586/index.m3u8? +北京卡酷「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb07]:80/wh7f454c46tw2374926371_-680323045/ott.mobaibox.com/PLTV/3/224/3221227566/index.m3u8? +广东嘉佳「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb10]:80/wh7f454c46tw353451346_906234470/ott.mobaibox.com/PLTV/3/224/3221227598/index.m3u8? +湖南金鹰「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb1a]:80/wh7f454c46tw1572103934_620833436/ott.mobaibox.com/PLTV/3/224/3221227630/index.m3u8? +湖南金鹰「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb12]:80/wh7f454c46tw354382270_-2073622480/ott.mobaibox.com/PLTV/3/224/3221228110/index.m3u8? +青岛中华「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/wh7f454c46tw354515963_-1727393576/ott.mobaibox.com/PLTV/3/224/3221227647/index.m3u8? +江苏优漫「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb18]:80/wh7f454c46tw352896103_1361086132/ott.mobaibox.com/PLTV/3/224/3221227577/index.m3u8? +江苏体育「IPV6」 ,http://[2409:8087:2001:20:2800:0:df6e:eb14]:80/wh7f454c46tw1936200520_-1076627390/ott.mobaibox.com/PLTV/3/224/3221225935/index.m3u8? +江苏公共「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0f]:80/wh7f454c46tw352016925_-1280546318/ott.mobaibox.com/PLTV/3/224/3221225925/index.m3u8? +江苏城市「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb15]:80/wh7f454c46tw1570826537_-1187714480/ott.mobaibox.com/PLTV/3/224/3221225929/index.m3u8? +江苏影院「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb15]:80/wh7f454c46tw1571003773_1055968907/ott.mobaibox.com/PLTV/3/224/3221225937/index.m3u8? +南京新闻「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb15]:80/wh7f454c46tw1757093737_-1595882577/ott.mobaibox.com/PLTV/3/224/3221227213/index.m3u8? +东海综合「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb10]:80/wh7f454c46tw1547150751_-2143084998/ott.mobaibox.com/PLTV/3/224/3221227792/index.m3u8? +宝应新闻「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0b]:80/wh7f454c46tw1559024780_984527406/ott.mobaibox.com/PLTV/3/224/3221228007/index.m3u8? +常州新闻「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw1559612784_138862185/ott.mobaibox.com/PLTV/3/224/3221227752/index.m3u8? +沛县新闻「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0e]:80/wh7f454c46tw1560895495_591076655/ott.mobaibox.com/PLTV/3/224/3221227678/index.m3u8? +连云港新「IPV6」,http://[2409:8087:2001:20:2800:0:df6e:eb0e]:80/wh7f454c46tw335074246_939160751/ott.mobaibox.com/PLTV/3/224/3221227758/index.m3u8? + +北京卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225796/1.m3u8 +湖南卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225799/1.m3u8 +东方卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225797/1.m3u8 +四川卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226338/index.m3u8 +天津卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226204/1.m3u8 +安徽卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226196/1.m3u8 +山东卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226209/1.m3u8 +广东卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225803/1.m3u8 +广西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226380/index.m3u8 +江苏卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225800/1.m3u8 +江西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226344/index.m3u8 +河北卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226406/index.m3u8 +河南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226480/index.m3u8 +浙江卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225798/1.m3u8 +海南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226465/index.m3u8 +深圳卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221225801/1.m3u8 +湖北卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226206/1.m3u8 +山西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225624/index.m3u8 +东南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226341/index.m3u8 +贵州卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226474/index.m3u8 +辽宁卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226201/1.m3u8 +重庆卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226202/1.m3u8 +黑龙江卫,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226010/1.m3u8 +内蒙古卫,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225634/index.m3u8 +宁夏卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225632/index.m3u8 +陕西卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225625/index.m3u8 +甘肃卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225633/index.m3u8 +吉林卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226397/index.m3u8 +云南卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226444/index.m3u8 +三沙卫视,http://[2409:8087:5e01:34::21]:6610/ZTE_CMS/08984400000000060000000000000319/index.m3u8? +青海卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225628/index.m3u8 +新疆卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225635/index.m3u8 +西藏卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226212/1.m3u8 +兵团卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226439/index.m3u8 +延边卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226516/index.m3u8 +大湾区卫,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226442/index.m3u8 +安多卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225659/index.m3u8 +厦门卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226219/index.m3u8 +农林卫视,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226229/index.m3u8 +康巴卫视,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225660/index.m3u8 +CETV-1,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225652/index.m3u8 +CETV-2,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226425/index.m3u8 +CETV-3,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001309/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CETV-4,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225783/index.m3u8 +山东教育,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226238/index.m3u8 +金色学堂,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226994/1.m3u8 +纪实人文,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226230/1.m3u8 +第一财经,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226966/1.m3u8 +乐游频道,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226580/1.m3u8 +都市剧场,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226581/1.m3u8 +欢笑剧场,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226582/1.m3u8 +纪实科教,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226232/1.m3u8 +卡酷少儿,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225654/index.m3u8 +金鹰纪实,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226351/1.m3u8 +金鹰卡通,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225653/index.m3u8 +茶友频道,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226808/1.m3u8 +快乐垂钓,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226805/1.m3u8 +游戏风云,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226579/1.m3u8 +优漫卡通,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225656/index.m3u8 +哈哈炫动,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225657/index.m3u8 +嘉佳卡通,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226227/index.m3u8 +哒啵电竞,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226951/1.m3u8 +哒啵赛事,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226954/1.m3u8 +黑莓电影,http://[2409:8087:2001:20:2800:0:df6e:eb04]/ott.mobaibox.com/PLTV/3/224/3221225567/index.m3u8 +黑莓动画,http://[2409:8087:1a01:df::7005]/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225662/index.m3u8 +梨园频道,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380788ba7bed/index.m3u8?AuthInfo=toEYVdLfxymUP2l9NZpQI5%2BK6T7j%2FlRm%2BvbM9VO7bA0q1S1k1f36SqqriM0FZoFSAJRfCt8SS7X6sTRmXb81a8O4H%2FdroDKjLoDeaMQdyJQ +弈坛春秋,http://[2409:8087:7004:20:1000::22]:6610/yinhe/2/ch00000090990000001322/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +老故事台,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226236/index.m3u8 +财富天下,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226350/index.m3u8 +置业频道,http://[2409:8087:7000:20::4]:80/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226241/index.m3u8 + + +📡综合频道👉IPV6,#genre# +信号测试1 6M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226337/index.m3u8 +信号测试2 6M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226338/index.m3u8 +SiTV游戏风云 8M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226579/index.m3u8 +SiTV都市剧场 8M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226581/index.m3u8 +NewTV怡伴健康 4M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226957/index.m3u8 +哒啵电竞 4M1080,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226951/index.m3u8 +哒啵赛事 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb04]:80/wh7f454c46tw561250760_-677742974/ott.mobaibox.com/PLTV/3/224/3221225539/index.m3u8?icpid=3&RTS=1674380676&from=40&popid=40&hms_devid=2041&prioritypopid=40&vqe=3 +百姓生活 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb20]:80/wh7f454c46tw2443646736_1371286730/ott.mobaibox.com/PLTV/3/224/3221228466/index.m3u8?icpid=3&RTS=1674369674&from=40&popid=40&hms_devid=2290&prioritypopid=40&vqe=3 +知否知否 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb20]:80/wh7f454c46tw4153357107_-1457036326/ott.mobaibox.com/PLTV/3/224/3221228465/index.m3u8?icpid=3&RTS=1674371383&from=40&popid=40&hms_devid=2290&prioritypopid=40&vqe=3 +咪咕全民热练,http://[2409:8087:2001:20:2800:0:df6e:eb26]:80/wh7f454c46tw2441972983_964717723/ott.mobaibox.com/PLTV/3/224/3221228427/index.m3u8?icpid=3&RTS=1674369672&from=40&popid=40&hms_devid=2293&prioritypopid=40&vqe=3 +咪咕视频1,http://[2409:8087:2001:20:2800:0:df6e:eb0a]:80/wh7f454c46tw1562554036_-2064141468/ott.mobaibox.com/PLTV/3/224/3221228231/index.m3u8?icpid=3&RTS=1674385972&from=40&popid=40&hms_devid=2038&prioritypopid=40&vqe=3 +咪咕视频2,http://[2409:8087:2001:20:2800:0:df6e:eb0e]:80/wh7f454c46tw336955688_-567193112/ott.mobaibox.com/PLTV/3/224/3221228129/index.m3u8?icpid=3&RTS=1674380452&from=40&popid=40&hms_devid=2111&prioritypopid=40&vqe=3 +咪咕视频3,http://[2409:8087:2001:20:2800:0:df6e:eb0f]:80/wh7f454c46tw1758408081_1139282982/ott.mobaibox.com/PLTV/3/224/3221228206/index.m3u8?icpid=3&RTS=1674386168&from=40&popid=40&hms_devid=2111&prioritypopid=40&vqe=3 +咪咕视频4,http://[2409:8087:2001:20:2800:0:df6e:eb11]:80/wh7f454c46tw335987399_819129170/ott.mobaibox.com/PLTV/3/224/3221228193/index.m3u8?icpid=3&RTS=1674380451&from=40&popid=40&hms_devid=2110&prioritypopid=40&vqe=3 +咪咕视频5,http://[2409:8087:2001:20:2800:0:df6e:eb13]:80/wh7f454c46tw336300127_-934579930/ott.mobaibox.com/PLTV/3/224/3221228234/index.m3u8?icpid=3&RTS=1674380451&from=40&popid=40&hms_devid=2112&prioritypopid=40&vqe=3 +凤凰中文 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226547/index.m3u8 +中国教育1 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225753/index.m3u8 +中国教育2 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225756/index.m3u8 +中国教育3 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226226/index.m3u8 +中国教育4 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226225/index.m3u8 +NNM家庭理财 576,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226247/index.m3u8 +百视通体育 720,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225837/index.m3u8#http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221225846/index.m3u8 +未知1 2M1080,http://[2409:8087:2001:20:2800:0:df6e:eb05]:80/wh7f454c46tw677754739_-1516035370/ott.mobaibox.com/PLTV/3/224/3221227512/index.m3u8?icpid=3&RTS=1674380793&from=40&popid=40&hms_devid=2041&prioritypopid=40&vqe=3 +未知2 2M1080,http://[2409:8087:2001:20:2800:0:df6e:eb21]:80/wh7f454c46tw4207711491_582058613/ott.mobaibox.com/PLTV/3/224/3221228463/index.m3u8?icpid=3&RTS=1674371438&from=40&popid=40&hms_devid=2290&prioritypopid=40&vqe=3 +未知3 2M1080,http://[2409:8087:2001:20:2800:0:df6e:eb22]:80/wh7f454c46tw2443156656_-1125659309/ott.mobaibox.com/PLTV/3/224/3221228460/index.m3u8?icpid=3&RTS=1674369673&from=40&popid=40&hms_devid=2291&prioritypopid=40&vqe=3 +未知5 2M1080,http://[2409:8087:2001:20:2800:0:df6e:eb26]:80/wh7f454c46tw2443039727_1258033443/ott.mobaibox.com/PLTV/3/224/3221228456/index.m3u8?icpid=3&RTS=1674369673&from=40&ocs=2_2409:8087:2001:20:2800:0:df6e:eb23_80&popid=40&hms_devid=2293&prioritypopid=40&vqe=3 +未知4 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb04]:80/wh7f454c46tw698941571_-1832672106/ott.mobaibox.com/PLTV/3/224/3221227579/index.m3u8?icpid=3&RTS=1674380814&from=40&popid=40&hms_devid=2041&prioritypopid=40&vqe=3 +未知5 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb20]:80/wh7f454c46tw2444245842_-988657747/ott.mobaibox.com/PLTV/3/224/3221228539/index.m3u8?icpid=3&RTS=1674369674&from=40&popid=40&hms_devid=2290&prioritypopid=40&vqe=3 +未知6 4M1080,http://[2409:8087:2001:20:2800:0:df6e:eb26]:80/wh7f454c46tw2444135891_2133795787/ott.mobaibox.com/PLTV/3/224/3221228536/index.m3u8?icpid=3&RTS=1674369674&from=40&popid=40&hms_devid=2293&prioritypopid=40&vqe=3 +纪实科教,http://[2409:8087:2001:20:2800:0:df6e:eb0e]/wh7f454c46tw1542052607_1430934483/ott.mobaibox.com/PLTV/3/224/3221227699/index.m3u8?icpid=3&RTS=1669704438&from=40&popid=40&hms_devid=2111&prioritypopid=40&vqe=3 卡酷少儿#http://[2409:8087:2001:20:2800:0:df6e:eb0e]/wh7f454c46tw1542052607_1430934483/ott.mobaibox.com/PLTV/3/224/3221227699/index.m3u8?icpid=3&RTS=1669704438&from=40&popid=40&hms_devid=2111&prioritypopid=40&vqe=3 +第一剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226959/index.m3u8 +茶友频道,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002305/index.m3u8/?virtualDomain=yinhe.live_hls.zte.com +快乐垂钓,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002264/index.m3u8/?virtualDomain=yinhe.live_hls.zte.com +求索生活,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000003382/index.m3u8?channel-id=wasusyt&Contentid=6000000002000003382&livemode=1&stbId=3 +求索科学,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032344/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032344&livemode=1&stbId=3 +求索纪录,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000002000032052/index.m3u8?channel-id=wasusyt&Contentid=6000000002000032052&livemode=1&stbId=3 +风云音乐,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226953/index.m3u8 +风云足球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8 +怀旧剧场,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226972/index.m3u8 +世界地理,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226947/index.m3u8 +文化精品,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226981/index.m3u8 +央视台球,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226956/index.m3u8 +央视高网,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226978/index.m3u8 +电视指南,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226987/index.m3u8 +体育休闲,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000001329/index.m3u8?virtualDomain=yinhe.live_hls.zte.com + +🏆体育频道👉全网,#genre# +纬来篮球,http://hls.szsummer.cn/live/446035/playlist.m3u8?k=32f9ec7c13e4b390289143a8e1b2a898&t=1840341130 +纬来篮球,https://cloud.yumixiu768.com/tmp/123.m3u8 +纬来篮球,https://epg.pw/stream/65161be2ecd7c7b2e054dbac30922b2673b4eff6497b77c71bb81215aa826cc4.m3u8 +广东体育,http://www.kitcc.cn:9981/stream/channelid/90729149?profile=pass +广东体育,http://www.kitcc.cn:9981/stream/channelid/1052188347?profile=pass +CCTV-05,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221226019/index.m3u8 +CCTV+5+,http://ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225603/index.m3u8 +ELEv体育,http://50.7.238.114:8278/golfchannel_twn/playlist.m3u8?tid=MFBF2798068027980680&ct=18393&tsum=d8204023f67120512c75a8882f121120 +TVS-体育,http://rpn1.bozztv.com/36bay2/gusa-tvs/index.m3u8 +劲爆体育,http://wuyuanlongguo186.asuscomm.com:20000/stream/channelid/219803349?profile=pass +先锋乒羽,http://117.190.144.101:9901/tsfile/live/0112_1.m3u8 +先锋乒羽,http://wuyuanlongguo186.asuscomm.com:20000/stream/channelid/679528097?profile=pass +新视觉台,http://lnsec.6655.la:9001/stream/channel/8ac6b15fabd7be36958c6871e48ba1be?profile=webtv-h264-aac-matroska +风云足球,http://120.7.30.152:2024/live/风云足球/index.m3u8 +精品体育,http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225674/1.m3u8 +精品IPV6,http://[2409:8087:2001:20:2800:0:df6e:eb1b]:80/wh7f454c46tw2797725038_-2054878207/ott.mobaibox.com/PLTV/3/224/3221227615/index.m3u8 +超级IPV6,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225715/index.m3u8 +风云IPV6,http://[2409:8087:7001:20:2::3]:80/dbiptv.sn.chinamobile.com/PLTV/88888893/224/3221226984/index.m3u8 +风云IPV6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002499/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +咪足IPV6,http://[2409:8087:1a01:df::4077]/PLTV/88888888/224/3221225895/index.m3u8 +天元围棋,http://120.7.30.152:2024/live/天元围棋/index.m3u8 +美国摔角,https://glxlmn026c.singularcdn.net.br/playout_05/playlist-720p.m3u8 +老李直播不定时,https://pull.lianggexinxi.xyz/live/stream-8012947_lhd.flv?auth_key=1703303485-0-0-a6e6aa38ff203e63847209cba5d6b818 +酷迪直播不定时,https://pull.lianggexinxi.xyz/live/stream-705956_lhd.flv?auth_key=1697008884-0-0-6da68819d1e2ebac3b52ad78589ea297 +NBa直播不定时,https://ff.chgdst.com/live/maidi99.m3u8 +NBA直播不定时,https://ff.chgdst.com/live/xiaoling99.m3u8 +阿伦直播不定时,https://pull.lianggexinxi.xyz/live/stream-676201_lhd.flv?auth_key=1697009064-0-0-0f43b82816ab23e1a7d9c05c444bda79 +王中直播不定时,https://pull.lianggexinxi.xyz/live/stream-505246_lhd.flv?auth_key=1697008824-0-0-c004071c191a3bd0928215ed175f1647 +小七直播不定时,https://pull.lianggexinxi.xyz/live/stream-418311_lsd.m3u8?_=1698249099856 +叨叨直播不定时,https://pull.lianggexinxi.xyz/live/stream-507928_lhd.flv?auth_key=1697008644-0-0-109717475c07bf7a012644ef823765af +大邱直播不定时,https://pull.lianggexinxi.xyz/live/stream-600428_lsd.m3u8?_=1697006121706 +大神直播不定时,https://pull.lianggexinxi.xyz/live/stream-600428_lsd.m3u8?_=1697004264631 +老师直播不定时,https://pull.lianggexinxi.xyz/live/stream-600428_lhd.flv?auth_key=1697008944-0-0-c25e48e127303de01e525604574b3511 +米哥直播不定时,https://pull.lianggexinxi.xyz/live/stream-431228_lsd.m3u8?_=1698248787521 + +🎬电影频道👉全网,#genre# + +邵氏影院@代,http://159.75.85.63:35455/douyu/4246519 +邵氏影院@代,http://43.138.170.29:35455/douyu/4246519 +邵氏影院@代,http://mmitv.top:80/test/douyu.php?id=4246519 +峨眉电影电信,http://182.150.48.83:8888/newlive/live/hls/54/live.m3u8 +重温经典@代,http://lnsec.6655.la:9001/stream/channel/0ce532efd6456670311e6a64666637d0?profile=webtv-h264-aac-matroska +怀旧经典@代,http://43.138.170.29:35455/douyu/7822994 +梨园频道联通,http://120.7.30.152:2024/live/梨园频道/index.m3u8 +梨园频道ipv6,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380788ba7bed/index.m3u8?AuthInfo=toEYVdLfxymUP2l9NZpQI5%2BK6T7j%2FlRm%2BvbM9VO7bA0q1S1k1f36SqqriM0FZoFSAJRfCt8SS7X6sTRmXb81a8O4H%2FdroDKjLoDeaMQdyJQ +黑莓电影@代,http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225743/1.m3u8 +黑莓动画@代,http://ottrrs.hl.chinamobile.com/TVOD/88888888/224/3221225662/1.m3u8 +星爷影院@代,http://mmitv.top:80/test/douyu.php?id=122402&u=4654622&cate +豆瓣高分@代,http://43.138.170.29:35455/douyu/8770422 +下饭神剧@代,http://43.138.170.29:35455/douyu/276200 +蓉蓉影院@代,http://openhls-tct.douyucdn2.cn:80/dyliveflv3/2935323rzxdaZbek.m3u8? +超级电影ipv6,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225717/index.m3u8 +超级影院ipv6,http://[2409:8087:7000:20:1000::22]:6060/000000001000/1000000004000002120/index.m3u8?channel-id=ystenlive&Contentid=1000000004000002120&livemode=1&stbId=3 +超级电视ipv6,http://[2409:8087:1a01:df::7005]:80/ottrrs.hl.chinamobile.com/PLTV/88888888/224/3221225716/index.m3u8 +中国功夫ipv6,http://[2409:8087:2001:20:2800:0:df6e:eb19]:80/wh7f454c46tw1934355864_2070028581/ott.mobaibox.com/PLTV/3/224/3221227530/index.m3u8 +军旅剧场ipv6,http://[2409:8087:2001:20:2800:0:df6e:eb06]:80/wh7f454c46tw1807611386_-262631246/ott.mobaibox.com/PLTV/3/224/3221227603/index.m3u8 +IHOT谍战ipv6,http://zteres.sn.chinamobile.com:6060/000000001000/6000000006000070630/index.m3u8?channel-id=wasusyt&Contentid=6000000006000070630&livemode=1&stbId=3 +iHOT爱院ipv6,http://[2409:8087:7001:20:1000::95]:6610/000000001000/6000000006000030630/index.m3u8?channel-id=wasusyt&Contentid=6000000006000030630&livemode=1&stbId=3 +大吉大利影院,https://pull.kktv8.com/livekktv/128600025.flv +CHC动作移动,http://zteres.sn.chinamobile.com:6060/yinhe/2/ch00000090990000002055/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC高清移动,http://zteres.sn.chinamobile.com:6060/yinhe/2/ch00000090990000002065/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC家庭移动,http://zteres.sn.chinamobile.com:6060/yinhe/2/ch00000090990000002085/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC动作移动,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226465/1.m3u8 +CHC高清移动,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226463/1.m3u8 +CHC家庭移动,http://dbiptv.sn.chinamobile.com/PLTV/88888888/224/3221226462/1.m3u8 +CHC动作ipv6,http://dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226465/index.m3u8 +CHC动作ipv6,http://[2409:8087:7000:20::4]/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226465/index.m3u8 +CHC家庭ipv6,http://[2409:8087:7000:20::4]/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226462/index.m3u8 +CHC高清ipv6,http://[2409:8087:7000:20::4]/dbiptv.sn.chinamobile.com/PLTV/88888890/224/3221226463/index.m3u8 +CHC动作ipv6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002055/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC家庭ipv6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002085/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC高清ipv6,http://[2409:8087:7000:20:1000::22]:6060/yinhe/2/ch00000090990000002065/index.m3u8?virtualDomain=yinhe.live_hls.zte.com +CHC动作ipv6,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380763222d00/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUTrwI%2B%2BngB0lPRofcD8hTNSXQZMUEnZPBI3Y%2BI8ABE4PJC%2B6OvlZZw5ubC%2FbrIdxFJJY1CcAGU%2BYDDQV9oJ%2FVqQ +CHC高清ipv6,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN6380764b172c9/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUTrwI%2B%2BngB0lPRofcD8hTNS8qWmEGeaUedzcFVVumqf9cm8lJoOcrIZueLbqOJTuoPV%2FwBk6CoHYGFV14SkLW04 +CHC家庭ipv6,http://[2409:8087:4c0a:22:1::11]:6410/170000001115/UmaiCHAN63807601b19dd/index.m3u8?AuthInfo=9kOOdBn7MFF%2F2bWjKgahUTrwI%2B%2BngB0lPRofcD8hTNRxu2SqX2RKsLT0S7AyQ8XopIVrD6IJGxdajeuKy4iZqZ4tkZuiEpwSRPszF6PIvg4 +神乐影院-1台,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1/85894rmovieChow_900p.m3u8 +神乐影院-2台,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1a/122402rK7MO9bXSq_900.m3u8 +吃米滴虫✔原,http://159.75.85.63:35455/douyu/315457 +冰冰经典✔原,http://159.75.85.63:35455/douyu/74374 +星爷影院✔原,http://159.75.85.63:35455/douyu/508118 +凌儿影院✔原,http://159.75.85.63:35455/douyu/1377142 +麓山迷踪✔原,http://159.75.85.63:35455/douyu/4505431 +瑶瑶恐怖✔原,http://159.75.85.63:35455/douyu/2935323 +怡寶影院✔原,http://159.75.85.63:35455/douyu/434971 +小黛兮影✔原,http://159.75.85.63:35455/douyu/11553944 +萌小鬼片✔原,http://159.75.85.63:35455/douyu/3928 +神乐剧场✔原,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1/85894rmovieChow_900p.m3u8 +神乐剧院✔原,https://tc-tc2-interact.douyucdn2.cn/dyliveflv1a/122402rK7MO9bXSq_900.m3u8 +神乐影剧✔原,http://159.75.85.63:35455/douyu/122402 +可乐影院✔原,http://159.75.85.63:35455/douyu/20415 +小宇60帧✔原,http://159.75.85.63:35455/douyu/323876 +恐怖惊悚✔原,http://159.75.85.63:35455/douyu/96577 +電影劇場✔原,http://159.75.85.63:35455/douyu/7575350 +豆瓣高分✔原,http://159.75.85.63:35455/douyu/8770422 +花卷陪看✔原,http://159.75.85.63:35455/douyu/52787 +漫威剧情✔原,http://159.75.85.63:35455/douyu/6140589 +霍格沃茨✔原,http://159.75.85.63:35455/douyu/8814650 +鱼宝恐怖✔原,http://159.75.85.63:35455/douyu/1165374 +鬼片恐怖✔原,http://159.75.85.63:35455/douyu/2935323 +小u*鬼片✔原,http://159.75.85.63:35455/douyu/96577 +小u*鬼片✔原,http://mmitv.top/test/douyu.php?id=96577&u=4150734&cate +吃奶滴虫✔原,http://159.75.85.63:35455/douyu/263824 +变种人片✔原,http://159.75.85.63:35455/douyu/9651304 +喜剧电影✔原,http://159.75.85.63:35455/douyu/9292492 +女神电影✔原,http://159.75.85.63:35455/douyu/747764 +华语经典✔原,http://159.75.85.63:35455/douyu/434971 +避风影院✔原,http://159.75.85.63:35455/douyu/9826611 +欧美大片✔原,http://159.75.85.63:35455/douyu/2793084 +贝爷max✔原,http://159.75.85.63:35455/douyu/4332 +贝爷影厅✔原,http://159.75.85.63:35455/douyu/252802 + +🎬YYY频道👉全网,#genre# +YY电影台01,http://mmitv.top/pltv/yy.php?id=1382749892 +YY电影台02,http://mmitv.top/pltv/yy.php?id=1382735573 +YY电影台03,http://mmitv.top/pltv/yy.php?id=24921161 +YY电影台04,http://mmitv.top/pltv/yy.php?id=1382736803 +YY电影台05,http://mmitv.top/pltv/yy.php?id=1354930924 +YY电影台06,http://mmitv.top/pltv/yy.php?id=1382745095 +YY电影台07,http://mmitv.top/pltv/yy.php?id=1355171357 +YY电影台08,http://mmitv.top/pltv/yy.php?id=24066336 +YY电影台09,http://mmitv.top/pltv/yy.php?id=1354143966 +YY李连杰台,http://mmitv.top/pltv/yy.php?id=1459869766 +YY成龍影院,http://mmitv.top/pltv/yy.php?id=1354888751 +YY林正英频,http://mmitv.top/pltv/yy.php?id=1351505899 +YY林正英道,http://mmitv.top/pltv/yy.php?id=1353685311 +YY電影輪播,http://mmitv.top/pltv/yy.php?id=1353059120 +YY歐美電影,http://mmitv.top/pltv/yy.php?id=24923327 +YY歐美科幻,http://mmitv.top/pltv/yy.php?id=37988782 +YY歐美動作,http://mmitv.top/pltv/yy.php?id=1382745089 +YY連續劇台,http://mmitv.top/pltv/yy.php?id=1352227227 +YY剧场频道,http://mmitv.top/pltv/yy.php?id=1382702247 +YY剧场怀旧,http://mmitv.top/pltv/yy.php?id=1382627144 + +菲菲影院,http://mmitv.top/pltv/yy.php?id=1456668939&uid=2718850416 +幸福影院,http://mmitv.top/pltv/yy.php?id=1382737886&uid=2786225520 +经典港片,http://mmitv.top/pltv/yy.php?id=1382800018&uid=2874641994 +经典鬼片,http://mmitv.top/pltv/yy.php?id=29460894&uid=1647770566 +米娜影院,http://mmitv.top/pltv/yy.php?id=1382690078&uid=2358387041 +豪哥影院,http://mmitv.top/pltv/yy.php?id=23402146&uid=2456925852 +绝版电影,http://mmitv.top/pltv/yy.php?id=1454587259&uid=67381238 +港片电影,http://mmitv.top/pltv/yy.php?id=1355479289&uid=60563267 +泡芙影院,http://mmitv.top/pltv/yy.php?id=24407222&uid=2241532024 + +🎬国内影院👉全网,#genre# +绍兴影院频道,http://live.shaoxing.com.cn/video/s10001-sxtv3/index.m3u8 +南京影院频道,http://live.nbs.cn/channels/njtv/xxpd/m3u8:500k/live.m3u8 +平泉影院频道,https://jwliveqxzb.hebyun.com.cn/pqys/pqys.m3u8 +南宁影院频道,http://hls.nntv.cn/nnlive/NNTV_VOD_A.m3u8 +万州影院文艺,http://123.146.162.24:8017/d4ceB1a/1000/live.m3u8 +万州影院文艺,http://wanzhoulive.cbg.cn:8017/d4ceB1a/1000/live.m3u8 +新泰影院频道,http://111.17.214.4:1935/live/xtys/playlist.m3u8 +新泰影院频道,http://live.xtgdw.cn:1935/live/xtys/playlist.m3u8 +新昌休闲影院,http://l.cztvcloud.com/channels/lantian/SXxinchang2/720p.m3u8 +河北频道影院,http://121.29.111.35:8888/udp/239.253.2.20:8100 + +💞少儿影院👉全网,#genre# +卡酷IPV6,http://[2409:8087:74F1:0021::0008]:80/PLTV/88888888/224/3221225643/1.m3u8 +嘉佳IPV6,http://[2409:8087:74F1:0021::0008]:80/PLTV/88888888/224/3221225681/1.m3u8 +倒霉特熊,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/87f87ba569c147e3805f80e4844d2de9/1200.m3u8 +雲朵妈妈,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/d8ad434c6b08421a927557a4d98da65c/1200.m3u8 +反转星球,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/3ccdecc7d6e341c1920ad4eac5d82f38/1200.m3u8 +熊大熊二,https://newcntv.qcloudcdn.com/asp/hls/1200/0303000a/3/default/1733da751de64e6e910abda889d87a26/1200.m3u8 +狮子王國,https://newcntv.qcloudcdn.com/asp/hls/850/0303000a/3/default/c2e7e767f3144bed959ef20b8b961fe5/850.m3u8 + +🍁收音广播👉全网,#genre# +500首华语经典,http://ls.qingting.fm/live/3412131.m3u8?bitrate=64 +楚天音乐广播 FM105.8 (Opt-1)[0*0],http://ls.qingting.fm/live/1289.m3u8 +楚天交通广播 FM92.7[0*0],http://ls.qingting.fm/live/1291.m3u8 +荆门交通音乐频率 FM99.3 (Opt-2)[0*0],http://ls.qingting.fm/live/60808.m3u8 +襄阳交通广播 FM89.0 (Opt-1)[0*0],http://ls.qingting.fm/live/1307.m3u8 +襄阳交通广播 FM89.0 (Opt-2)[0*0],http://ls.qingting.fm/live/1308.m3u8 +襄阳音乐广播[0*0],http://ls.qingting.fm/live/5057.m3u8 +北京房山经典音乐 FM96.90*0][0*0],http://live.xmcdn.com/live/963/64.m3u8 +北京房山经典音乐 FM96.90*0][0*0],http://ls.qingting.fm/live/68746.m3u8 +北京房山经典音乐 FM96.90*0][0*0],http://ls.qingting.fm/live/68746.m3u8 +重庆新闻广播 FM96.80*0][0*0],http://live.xmcdn.com/live/128/64.m3u8 +重庆新闻广播 FM96.80*0][0*0],http://ls.qingting.fm/live/1498.m3u8 +重庆经济广播 FM101.50*0][0*0],http://ls.qingting.fm/live/1499.m3u8 +重庆经济广播 FM101.50*0][0*0],http://ls.qingting.fm/live/1499.m3u8 +重庆交通广播 FM95.50*0][0*0],http://live.xmcdn.com/live/130/64.m3u8 +重庆交通广播 FM95.50*0][0*0],http://ls.qingting.fm/live/1500.m3u8 +重庆交通广播 FM95.50*0][0*0],http://ls.qingting.fm/live/1500.m3u8 +重庆音乐广播 FM88.10*0][0*0],http://live.xmcdn.com/live/131/64.m3u8 +重庆音乐广播 FM88.10*0][0*0],http://ls.qingting.fm/live/647.m3u8 +重庆音乐广播 FM88.10*0][0*0],http://ls.qingting.fm/live/647.m3u8 +重庆都市广播 FM93.80*0][0*0],http://live.xmcdn.com/live/132/64.m3u8 +重庆都市广播 FM93.80*0][0*0],http://ls.qingting.fm/live/1502.m3u8 +重庆都市广播 FM93.80*0][0*0],http://ls.qingting.fm/live/1502.m3u8 +巴渝之声 FM104.50*0][0*0],http://ls.qingting.fm/live/3545693.m3u8 +万州交通广播0*0][0*0],http://live.xmcdn.com/live/1679/64.m3u8 +厦门音乐广播0*0][0*0],http://ls.qingting.fm/live/1739.m3u8 +厦门音乐广播0*0][0*0],http://ls.qingting.fm/live/1739.m3u8 +厦门新闻广播0*0][0*0],http://ls.qingting.fm/live/1737.m3u8 +厦门新闻广播0*0][0*0],http://ls.qingting.fm/live/1737.m3u8 +兰州新闻综合广播 FM97.30*0][0*0],http://ls.qingting.fm/live/1712.m3u8 +兰州新闻综合广播 FM97.30*0][0*0],http://ls.qingting.fm/live/1712.m3u8 +兰州交通音乐广播 FM99.50*0][0*0],http://ls.qingting.fm/live/1711.m3u8 +兰州生活文艺广播 FM100.80*0][0*0],http://ls.qingting.fm/live/1713.m3u8 +广州新闻电台 FM96.20*0][0*0],http://live.xmcdn.com/live/256/64.m3u8 +广州新闻电台 FM96.20*0][0*0],http://ls.qingting.fm/live/4848.m3u8 +广州新闻电台 FM96.20*0][0*0],http://ls.qingting.fm/live/4848.m3u8 +广州汽车音乐电台 FM102.70*0][0*0],http://live.xmcdn.com/live/257/64.m3u8 +广州汽车音乐电台 FM102.70*0][0*0],http://ls.qingting.fm/live/52710.m3u8 +广州汽车音乐电台 FM102.70*0][0*0],http://ls.qingting.fm/live/52710.m3u8 +广州交通电台 FM106.10*0][0*0],http://ls.qingting.fm/live/4955.m3u8 +广州 MYFM 88.0 (都市生活)0*0][0*0],http://ls.qingting.fm/live/52712.m3u8 +东广新闻台 FM90.9[0*0],http://ls.qingting.fm/live/275.m3u8 +东莞FM104音乐广播[0*0],http://ls.qingting.fm/live/93619.m3u8 +东莞畅享1075交通广播[0*0],http://ls.qingting.fm/live/1288.m3u8 +九江交通广播 FM88.4 FM88.9[0*0],http://ls.qingting.fm/live/2785094.m3u8 +云南交通广播 FM91.8[0*0],http://ls.qingting.fm/live/1928.m3u8 +云南教育广播 FM100[0*0],http://ls.qingting.fm/live/1930.m3u8 +云南新闻广播 FM105.8[0*0],http://ls.qingting.fm/live/1926.m3u8 +云南民族广播 SW7210[0*0],http://ls.qingting.fm/live/1933.m3u8 +云南经济广播 私家车 FM88.7[0*0],http://ls.qingting.fm/live/1927.m3u8 +云南音乐广播 FM97[0*0],http://ls.qingting.fm/live/1929.m3u8 +保定交通广播 FM104.8[0*0],http://ls.qingting.fm/live/28140.m3u8 +保定城市服务广播 乐动1016[0*0],http://ls.qingting.fm/live/62628.m3u8 +保定新闻广播 FM93.7[0*0],http://ls.qingting.fm/live/3701149.m3u8 +保定经典964汽车音乐广播[0*0],http://ls.qingting.fm/live/2227017.m3u8 +南宁交通音乐广播 FM107.4[0*0],http://ls.qingting.fm/live/80793.m3u8?aac +南通交通广播 FM92.9[0*0],http://ls.qingting.fm/live/2216385.m3u8 +呼和浩特城市生活广播 FM90.1[0*0],http://ls.qingting.fm/live/2218717.m3u8 +呼和浩特文艺广播 FM99.8[0*0],http://ls.qingting.fm/live/3099076.m3u8 +呼和浩特新闻综合广播 FM92.9[0*0],http://ls.qingting.fm/live/2218711.m3u8 +咸阳城市之声 FM100.7[0*0],http://ls.qingting.fm/live/3559664.m3u8 +四川文艺广播 快乐900 FM90.0[0*0],http://ls.qingting.fm/live/4887.m3u8 +四川新闻综合广播 FM98.1[0*0],http://ls.qingting.fm/live/4906.m3u8 +四川民族广播 AM954[0*0],http://ls.qingting.fm/live/1115.m3u8 +四川私家车广播 FM92.5[0*0],http://ls.qingting.fm/live/4939.m3u8 +四川财富广播 FM94.0[0*0],http://ls.qingting.fm/live/4927.m3u8 +太原交通广播 FM107[0*0],http://ls.qingting.fm/live/4900.m3u8 +太原新闻广播 FM91.2[0*0],http://ls.qingting.fm/live/23873.m3u8 +太原私家车Radio FM104.4[0*0],http://ls.qingting.fm/live/4018.m3u8 +太原音乐广播 FM102.6[0*0],http://ls.qingting.fm/live/1185.m3u8 +宁夏交通广播 FM98.4[0*0],http://ls.qingting.fm/live/1840.m3u8 +宁夏都市广播 FM103.7[0*0],http://ls.qingting.fm/live/1842.m3u8 +山东体育广播 FM102.1[0*0],http://ls.qingting.fm/live/60266.m3u8 +山东女主播电台 FM97.5[0*0],http://ls.qingting.fm/live/60258.m3u8 +山东新闻广播 FM95[0*0],http://ls.qingting.fm/live/60180.m3u8 +山东生活广播 MyFM FM105[0*0],http://ls.qingting.fm/live/60260.m3u8 +山东音乐广播 FM99.1[0*0],http://ls.qingting.fm/live/1665.m3u8 +岳阳交通广播 FM106.1[0*0],http://ls.qingting.fm/live/88931.m3u8 +岳阳新闻综合广播[0*0],http://ls.qingting.fm/live/88933.m3u8 +常州交通广播 FM90[0*0],http://ls.qingting.fm/live/2796.m3u8 +广西女主播电台 FM97.0[0*0],http://ls.qingting.fm/live/1754.m3u8 +广西新闻910 FM91.0[0*0],http://ls.qingting.fm/live/1753.m3u8 +广西私家车930 FM93.0[0*0],http://ls.qingting.fm/live/1756.m3u8 +广西音乐台 FM95.0[0*0],http://ls.qingting.fm/live/4875.m3u8 +惠州新闻综合广播 FM100[0*0],http://ls.qingting.fm/live/5016.m3u8 +惠州环保交通广播 FM98.8[0*0],http://ls.qingting.fm/live/5017.m3u8 +惠州音乐广播 FM90.7[0*0],http://ls.qingting.fm/live/2212959.m3u8 +新疆交通广播 FM94.9 (Opt-2)[0*0],http://ls.qingting.fm/live/1910.m3u8 +新疆新闻广播 FM96.1 (Opt-1)[0*0],http://ls.qingting.fm/live/1902.m3u8 +新疆民生广播 FM92.4 (Opt-2)[0*0],http://ls.qingting.fm/live/76186.m3u8 +新疆维吾尔语交通文艺广播 (Opt-2)[0*0],http://ls.qingting.fm/live/78923.m3u8 +新疆蒙古语广播 (Opt-1)[0*0],http://ls.qingting.fm/live/1903.m3u8 +无锡新闻广播 FM93.7[0*0],http://ls.qingting.fm/live/2777.m3u8 +昆明汽车广播 FM95.4[0*0],http://ls.qingting.fm/live/1936.m3u8 +昆明资讯频率[0*0],http://ls.qingting.fm/live/1937.m3u8 +昆明都市调频 FM102.8[0*0],http://ls.qingting.fm/live/1935.m3u8 +昆明阳光广播[0*0],http://ls.qingting.fm/live/1934.m3u8 +梅州交通广播 FM105.8[0*0],http://ls.qingting.fm/live/24195.m3u8 +梅州新闻广播 FM94.8[0*0],http://ls.qingting.fm/live/24173.m3u8 +江苏新闻广播 FM93.7[0*0],http://ls.qingting.fm/live/4944.m3u8 +沈阳新闻广播 FM104.5[0*0],http://ls.qingting.fm/live/23891.m3u8 +河北 My FM 102.9[0*0],http://ls.qingting.fm/live/2508757.m3u8 +河北交通广播 FM99.2[0*0],http://ls.qingting.fm/live/1646.m3u8 +河北农民广播 AM558[0*0],http://ls.qingting.fm/live/1650.m3u8 +河北故事广播 FM107.9[0*0],http://ls.qingting.fm/live/1645.m3u8 +河北新闻广播 FM104.3[0*0],http://ls.qingting.fm/live/1644.m3u8 +河北旅游广播 AM603[0*0],http://ls.qingting.fm/live/1651.m3u8 +河北生活广播 FM88.8[0*0],http://ls.qingting.fm/live/4867.m3u8 +河北私家车广播 FM90.7[0*0],http://ls.qingting.fm/live/4868.m3u8 +河北音乐广播 FM102.4[0*0],http://ls.qingting.fm/live/1649.m3u8 +河南乐龄(信息广播) FM105.6[0*0],http://ls.qingting.fm/live/59896.m3u8 +河南交通广播 FM104.1[0*0],http://ls.qingting.fm/live/1209.m3u8 +河南娱乐广播 FM97.6[0*0],http://ls.qingting.fm/live/1719795.m3u8 +河南影院广播 MyRadio FM90.0[0*0],http://ls.qingting.fm/live/1206.m3u8 +河南音乐广播 魅力881 FM88.1[0*0],http://ls.qingting.fm/live/1208.m3u8 +河南驾车1066 FM106.6[0*0],http://ls.qingting.fm/live/1207.m3u8 +济南故事广播 FM104.3[0*0],http://ls.qingting.fm/live/1672.m3u8 +济南私家车广播 FM93.6[0*0],http://ls.qingting.fm/live/1670.m3u8 +济南经济广播 FM90.9[0*0],http://ls.qingting.fm/live/1668.m3u8 +济南音乐广播(MUSIC887)[0*0],http://ls.qingting.fm/live/1671.m3u8 +浙江之声 FM88 (Opt-1)[0*0],http://ls.qingting.fm/live/4518.m3u8 +浙江交通之声 FM93 (Opt-1)[0*0],http://ls.qingting.fm/live/4522.m3u8 +浙江动听(音乐调频) FM96.8 (Opt-2)[0*0],http://ls.qingting.fm/live/4866.m3u8 +浙江女主播电台 FM104.5 (Opt-2)[0*0],http://ls.qingting.fm/live/4524.m3u8 +浙江财富广播 FM95 (Opt-1)[0*0],http://ls.qingting.fm/live/4519.m3u8 +海南交通广播 FM100[0*0],http://ls.qingting.fm/live/4911.m3u8 +海南国际旅游之声 FM103.8[0*0],http://ls.qingting.fm/live/1862.m3u8 +海南新闻广播 FM88.6[0*0],http://ls.qingting.fm/live/1861.m3u8 +海南民生广播 FM101[0*0],http://ls.qingting.fm/live/1511803.m3u8 +深圳快乐1062(交通广播)[0*0],http://ls.qingting.fm/live/1272.m3u8 +深圳私家车广播 FM94.2[0*0],http://ls.qingting.fm/live/1273.m3u8 +深圳飞扬音乐971[0*0],http://ls.qingting.fm/live/1271.m3u8 +温州交通广播 FM103.9[0*0],http://ls.qingting.fm/live/23863.m3u8 +温州新闻广播 FM94.9[0*0],http://ls.qingting.fm/live/23861.m3u8 +温州私家车音乐广播 FM100.3[0*0],http://ls.qingting.fm/live/23865.m3u8 +温州经济生活广播 FM88.8[0*0],http://ls.qingting.fm/live/23867.m3u8 +温州绿色之声 FM93.8[0*0],http://ls.qingting.fm/live/1158.m3u8 +珠海电台交通音乐875[0*0],http://ls.qingting.fm/live/1275.m3u8 +西宁交通频率[0*0],http://ls.qingting.fm/live/3400408.m3u8 +西宁新闻频率[0*0],http://ls.qingting.fm/live/3400403.m3u8 +西安交通广播 FM104.3 (Opt-1)[0*0],http://ls.qingting.fm/live/1611.m3u8 +西安新闻广播 FM95.0 (Opt-1)[0*0],http://ls.qingting.fm/live/1610.m3u8 +西安音乐广播 FM93.1 (Opt-1)[0*0],http://ls.qingting.fm/live/1612.m3u8 +贵州新闻综合广播 FM94.6[0*0],http://ls.qingting.fm/live/23933.m3u8 +贵州电台交通广播 FM95.2[0*0],http://ls.qingting.fm/live/23927.m3u8 +贵州电台旅游广播 FM97.2[0*0],http://ls.qingting.fm/live/23929.m3u8 +贵州电台经济广播 FM98.9[0*0],http://ls.qingting.fm/live/23935.m3u8 +贵州电台音乐广播 FM91.6[0*0],http://ls.qingting.fm/live/23937.m3u8 +辽宁交通广播 FM97.5[0*0],http://ls.qingting.fm/live/23801.m3u8 +郑州新闻广播 FM98.6[0*0],http://ls.qingting.fm/live/1220.m3u8 +郑州汽车广播 FM91.2[0*0],http://ls.qingting.fm/live/1211.m3u8 +郑州活力944[0*0],http://ls.qingting.fm/live/4921.m3u8 +郑州车道931[0*0],http://ls.qingting.fm/live/1221.m3u8 +郴州综合广播 FM99.2[0*0],http://ls.qingting.fm/live/76765.m3u8 +郴州音乐交通广播 FM102.8[0*0],http://ls.qingting.fm/live/86747.m3u8 +金鹰955电台[0*0],http://ls.qingting.fm/live/4937.m3u8 +长春生活故事广播 FM90.0[0*0],http://ls.qingting.fm/live/5014.m3u8 +长沙城市之声 FM101.7[0*0],http://ls.qingting.fm/live/4237.m3u8 +长沙新闻广播 FM105.0[0*0],http://ls.qingting.fm/live/4877.m3u8 +长治交通文艺广播 FM94.9[0*0],http://ls.qingting.fm/live/2669405.m3u8 +长治新闻综合广播(幸福广播) FM94.3[0*0],http://ls.qingting.fm/live/2702863.m3u8 +阳信人民广播电台 FM103.4[0*0],http://ls.qingting.fm/live/2915753.m3u8 +阳泉交通广播[0*0],http://ls.qingting.fm/live/4592896.m3u8?aac +阳泉新闻综合广播[0*0],http://ls.qingting.fm/live/5876899.m3u8?aac +陕西交通广播 FM91.6[0*0],http://ls.qingting.fm/live/1601.m3u8 +陕西故事广播 AM603[0*0],http://ls.qingting.fm/live/1608.m3u8 +陕西秦腔广播 FM101.1[0*0],http://ls.qingting.fm/live/1604.m3u8 +陕西都市广播-陕广新闻 FM101.8[0*0],http://ls.qingting.fm/live/1609.m3u8 +陕西音乐广播 FM98.8[0*0],http://ls.qingting.fm/live/4873.m3u8 +青岛交通广播 FM89.7[0*0],http://ls.qingting.fm/live/1676.m3u8 +青岛故事广播 FM95.2[0*0],http://ls.qingting.fm/live/4956.m3u8 +青岛新闻广播 FM107.6[0*0],http://ls.qingting.fm/live/1673.m3u8 +青岛西海岸城市生活广播 FM92.6[0*0],http://ls.qingting.fm/live/33446.m3u8 +青海交通音乐广播 FM97.2[0*0],http://ls.qingting.fm/live/5009.m3u8 +青海生活广播 花儿调频 FM90.3[0*0],http://ls.qingting.fm/live/2163891.m3u8 +青海经济广播 FM07.5[0*0],http://ls.qingting.fm/live/5008.m3u8 +鹤壁交通音乐广播 FM93.5[0*0],http://ls.qingting.fm/live/3032681.m3u8 +龙广交通广播 FM99.8[0*0],http://ls.qingting.fm/live/4973.m3u8 +龙广新闻广播 FM94.6[0*0],http://ls.qingting.fm/live/4974.m3u8 +龙广新闻广播 FM94.6[0*0],http://ls.qingting.fm/live/4974.m3u8 +龙广音乐广播 FM95.8[0*0],http://ls.qingting.fm/live/4969.m3u8 +龙广音乐广播 FM95.8[0*0],http://ls.qingting.fm/live/4969.m3u8 + +🌃春晚现场👉全网,#genre# +春晚1984,http://txmov2.a.kwimgs.com/upic/2022/01/31/15/BMjAyMjAxMzExNTU5NTRfNDAzMDAxOTlfNjYyNzMyMzg3MTRfMF8z_b_B192356dadbc90d207ba16964d4c2914c.mp4 +春晚1985,http://txmov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMDFfNDAzMDAxOTlfNjYyNzMyNTAwMzJfMF8z_b_Be73c5abcbc0eeb2ec9fce6842e1362a4.mp4 +春晚1986,https://txmov2.a.kwimgs.com/bs3/video-hls/5231493982164619599_hlshd15.m3u8 +春晚1987,https://txmov2.a.kwimgs.com/bs3/video-hls/5195746663405928031_hlsb.m3u8 +西游齐天乐1987,http://50069.njc.svp.tencent-cloud.com/0bc3fuaaiaaavuaibgr5f5rfalodaqwqabaa.f10003.mp4 +春晚1988,https://txmov2.a.kwimgs.com/bs3/video-hls/5216575810935394655_hlsb.m3u8 +春晚1989,http://txmov2.a.kwimgs.com/upic/2022/01/31/16/BMjAyMjAxMzExNjAwMTVfNDAzMDAxOTlfNjYyNzMyNzQ2OTlfMF8z_b_Be477b27b9ce655d2372df56a5a3d96ef.mp4 +春晚1991,https://txmov2.a.kwimgs.com/bs3/video-hls/5210664837540712798_hlshd15.m3u8 +春晚1992,https://txmov2.a.kwimgs.com/bs3/video-hls/5256826755663896297_hlshd15.m3u8 +春晚1993,https://txmov2.a.kwimgs.com/bs3/video-hls/5217420261875933947_hlshd15.m3u8 +春晚1994,https://txmov2.a.kwimgs.com/bs3/video-hls/5197154061406974711_hlshd15.m3u8 +春晚1995,https://txmov2.a.kwimgs.com/bs3/video-hls/5255137907893179578_hlshd15.m3u8 +春晚1997,https://txmov2.a.kwimgs.com/bs3/video-hls/5230649583590411879_hlshd15.m3u8 +春晚1998,https://txmov2.a.kwimgs.com/bs3/video-hls/5225864507896315430_hlshd15.m3u8 +春晚1999,https://txmov2.a.kwimgs.com/bs3/video-hls/5258234133675308186_hlshd15.m3u8 +春晚2000,https://txmov2.a.kwimgs.com/bs3/video-hls/5216294359327079321_hlshd15.m3u8 +春晚2001,https://txmov2.a.kwimgs.com/bs3/video-hls/5228960735897942616_hlshd15.m3u8 +春晚2002,https://txmov2.a.kwimgs.com/bs3/video-hls/5255700858599864364_hlshd15.m3u8 +春晚2004,https://txmov2.a.kwimgs.com/bs3/video-hls/5223894184413450769_hlshd15.m3u8 +春晚2005,https://txmov2.a.kwimgs.com/bs3/video-hls/5254012008863954469_hlshd15.m3u8 +春晚2006,https://txmov2.a.kwimgs.com/bs3/video-hls/5194339310474320155_hlshd15.m3u8 +春晚2007,https://txmov2.a.kwimgs.com/bs3/video-hls/5219953534755647343_hlshd15.m3u8 +春晚2008,https://txmov2.a.kwimgs.com/bs3/video-hls/5194902262344826321_hlshd15.m3u8 +春晚2009,https://txmov2.a.kwimgs.com/bs3/video-hls/5210946337266019890_hlshd15.m3u8 +春晚2014,https://txmov2.a.kwimgs.com/bs3/video-hls/5245286283437869627_hlshd15.m3u8 +春晚2019,https://txmov2.a.kwimgs.com/bs3/video-hls/5222205336887088723_hlshd15.m3u8 +春晚2020,https://txmov2.a.kwimgs.com/bs3/video-hls/5248101009010430183_hlshd15.m3u8 +春晚2021,http://txmov2.a.kwimgs.com/upic/2022/01/30/17/BMjAyMjAxMzAxNzE4NTJfNDAzMDAxOTlfNjYxNzUzOTg3NjlfMF8z_b_Be41d9503181d7b0608a839ed401e02c2.mp4 +春晚2022,http://txmov2.a.kwimgs.com/upic/2022/02/01/11/BMjAyMjAyMDExMTEwMjNfNDAzMDAxOTlfNjYzNzA4MTk4NzNfMF8z_b_B898cc7ddd0025bf54ddb18ec1f723c84.mp4 +春晚2023,https://txmov2.a.kwimgs.com/bs3/video-hls/5251197255879398624_hlshd15.m3u8 +春晚1992,https://txmov2.a.kwimgs.com/bs3/video-hls/5256826755663896297_hlshd15.m3u8 +春晚1993,https://txmov2.a.kwimgs.com/bs3/video-hls/5217420261875933947_hlshd15.m3u8 +春晚1994,https://txmov2.a.kwimgs.com/bs3/video-hls/5197154061406974711_hlshd15.m3u8 +春晚1995,https://txmov2.a.kwimgs.com/bs3/video-hls/5255137907893179578_hlshd15.m3u8 +春晚1997,https://txmov2.a.kwimgs.com/bs3/video-hls/5230649583590411879_hlshd15.m3u8 +春晚1999,https://txmov2.a.kwimgs.com/bs3/video-hls/5258234133675308186_hlshd15.m3u8 +春晚2001,https://txmov2.a.kwimgs.com/bs3/video-hls/5228960735897942616_hlshd15.m3u8 +春晚2014,https://txmov2.a.kwimgs.com/bs3/video-hls/5245286283437869627_hlshd15.m3u8 +春晚2019,https://txmov2.a.kwimgs.com/bs3/video-hls/5222205336887088723_hlshd15.m3u8 +春晚2020,http://txmov2.a.kwimgs.com/upic/2022/01/30/17/BMjAyMjAxMzAxNzA5NDdfNDAzMDAxOTlfNjYxNzQ2MDAyMTFfMF8z_b_B5d51d9564c5670dc66faeba20aa7af3f.mp4 + +🚛景区直播👉全网,#genre# +直播中国,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001 +新疆天山(定海神针),http://gctxyc.liveplay.myqcloud.com/gc/xjtcdhsz_1/index.m3u8 +黄花城水长城02,http://gctxyc.liveplay.myqcloud.com/gc/wgw02_1/index.m3u8 +直播中国,https://gcalic.v.myalicdn.com/gc/wgw05_1/index.m3u8?contentid=2820180516001 +湖南张家界水绕四门,https://gcalic.v.myalicdn.com/gc/zjjsrsm_1/index.m3u8 +湖南张家界将军列队,https://gcalic.v.myalicdn.com/gc/zjjjjdl_1/index.m3u8 +湖南张家界阿凡达悬浮山,https://gcalic.v.myalicdn.com/gc/zjjafdxfs_1/index.m3u8 +湖南张家界迷魂台,https://gcalic.v.myalicdn.com/gc/zjjmht_1/index.m3u8 +湖南张家界宝峰湖,https://gcalic.v.myalicdn.com/gc/zjjbfh_1/index.m3u8 +湖南张家界御笔峰,https://gcalic.v.myalicdn.com/gc/zjjybf_1/index.m3u8 +四川峨眉山云海日出,https://gcalic.v.myalicdn.com/gc/emsarm_1/index.m3u8 +四川峨眉山远眺贡嘎山,https://gcalic.v.myalicdn.com/gc/emsyh_1/index.m3u8 +四川峨眉山贤菩萨铜像,https://gcalic.v.myalicdn.com/gc/emspxps_1/index.m3u8 +四川峨眉山远眺万佛顶,https://gcalic.v.myalicdn.com/gc/emswfs_1/index.m3u8 +浙江杭州云栖小镇,https://gcalic.v.myalicdn.com/gc/wygjt2_1/index.m3u8 +浙江杭州云栖小镇,https://gcalic.v.myalicdn.com/gc/wygjt2_1/index.m3u8 +重庆石柱华溪村,https://gcalic.v.myalicdn.com/gc/jsh02_1/index.m3u8 +安徽金寨大湾村,https://gcalic.v.myalicdn.com/gc/szgk01_1/index.m3u8 +山西苛岚宋家沟新村,https://gcalic.v.myalicdn.com/gc/wysdhpcy_1/index.m3u8 +河北张北德胜村,https://gcalic.v.myalicdn.com/gc/pygc01_1/index.m3u8 +河北张北德胜村,https://gcalic.v.myalicdn.com/gc/pygc01_1/index.m3u8 +新疆天山(海西平台),https://gcalic.v.myalicdn.com/gc/xjtchxpt_1/index.m3u8 +新疆天山(定海神针),https://gcalic.v.myalicdn.com/gc/xjtcdhsz_1/index.m3u8 +新疆天山(定海神针),https://gcalic.v.myalicdn.com/gc/xjtcdhsz_1/index.m3u8 +新疆天山(马牙山),https://gcalic.v.myalicdn.com/gc/xjtcmys_1/index.m3u8 +新疆天山(灯杆山),https://gcalic.v.myalicdn.com/gc/xjtcdgs_1/index.m3u8 +湖南张家界天门山西线玻璃栈道,https://gcalic.v.myalicdn.com/gc/tms05_1/index.m3u8 +湖南张家界天门山天门洞,https://gcalic.v.myalicdn.com/gc/tmstmd01_1/index.m3u8 +湖南张家界天门山天空步道,https://gcalic.v.myalicdn.com/gc/tms02_1/index.m3u8 +湖南张家界天门山天空步道,https://gcalic.v.myalicdn.com/gc/tms02_1/index.m3u8 +湖南张家界天门山云梦仙顶,https://gcalic.v.myalicdn.com/gc/tms04_1/index.m3u8 +厦门鼓浪屿,https://gcalic.v.myalicdn.com/gc/gly01_1/index.m3u8 +厦门鼓浪屿,https://gcalic.v.myalicdn.com/gc/gly01_1/index.m3u8 +广西玉林大容山莲花山顶,https://gcalic.v.myalicdn.com/gc/drs01_1/index.m3u8 +八里沟风景区桃花湾瀑布,https://gcalic.v.myalicdn.com/gc/blg05_1/index.m3u8 +八里沟风景区天界山玻璃栈道,https://gcalic.v.myalicdn.com/gc/blg03_1/index.m3u8 +汶川映秀新城,https://gcalic.v.myalicdn.com/gc/wcyxxc01_1/index.m3u8 +十八洞村,https://gcalic.v.myalicdn.com/gc/sbd01_1/index.m3u8 +趵突泉,https://gcalic.v.myalicdn.com/gc/btq01_1/index.m3u8 +安徽池州九华山风景区拜经台,https://gcalic.v.myalicdn.com/gc/jhs02_1/index.m3u8 +安徽池州九华山风景区九华山,https://gcalic.v.myalicdn.com/gc/jhs05_1/index.m3u8 +安徽池州九华山风景区九华山,https://gcalic.v.myalicdn.com/gc/jhs05_1/index.m3u8 +安徽池州九华山风景区花台,https://gcalic.v.myalicdn.com/gc/jhs01_1/index.m3u8 +江苏徐州云龙湖风景区云龙山观景台西,https://gcalic.v.myalicdn.com/gc/ylh04_1/index.m3u8 +江苏徐州云龙湖风景区云龙山观景台南,https://gcalic.v.myalicdn.com/gc/ylh03_1/index.m3u8 +浙江杭州千岛湖,https://gcalic.v.myalicdn.com/gc/caqdh_1/index.m3u8 +浙江杭州千岛湖,https://gcalic.v.myalicdn.com/gc/caqdh_1/index.m3u8 +南京玄武湖公园,https://gcalic.v.myalicdn.com/gc/xwh01_1/index.m3u8 +云南丽江玉湖,https://gcalic.v.myalicdn.com/gc/hkylxs02_1/index.m3u8 +云南丽江蓝月谷,https://gcalic.v.myalicdn.com/gc/ylxs12_1/index.m3u8 +云南丽江一滴水过丽江,https://gcalic.v.myalicdn.com/gc/hkylxs04_1/index.m3u8 +云南丽江玉龙山草甸,https://gcalic.v.myalicdn.com/gc/hkylxs06_1/index.m3u8 +云南丽江白水台,https://gcalic.v.myalicdn.com/gc/hkylxs07_1/index.m3u8 +云南丽江蓝月谷中游湖面,https://gcalic.v.myalicdn.com/gc/hkylxs08_1/index.m3u8 +云南丽江高尔夫,https://gcalic.v.myalicdn.com/gc/hkylxs09_1/index.m3u8 +云南丽江冰川,https://gcalic.v.myalicdn.com/gc/hkylxs05_1/index.m3u8 +云南丽江印象实景,https://gcalic.v.myalicdn.com/gc/hkylxs01_1/index.m3u8 +江苏南京牛首山,https://gcalic.v.myalicdn.com/gc/nss01_1/index.m3u8 +福建漳州六鳌翡翠湾,https://gcalic.v.myalicdn.com/gc/fcw01_1/index.m3u8 +福建漳州醉美沙滩翡翠湾,https://gcalic.v.myalicdn.com/gc/fcw03_1/index.m3u8 +天津之眼,https://gcalic.v.myalicdn.com/gc/tjhh01_1/index.m3u8 +天津之眼,https://gcalic.v.myalicdn.com/gc/tjhh01_1/index.m3u8 +四川西昌邛海景区,https://gcalic.v.myalicdn.com/gc/xcqh01_1/index.m3u8 +普陀山,https://gcalic.v.myalicdn.com/gc/pts01_1/index.m3u8 +浙江舟山东极岛,https://gcalic.v.myalicdn.com/gc/djd01_1/index.m3u8 +河南郑东新区千玺广场,https://gcalic.v.myalicdn.com/gc/zdxq01_1/index.m3u8 +四川四姑娘山幺妹峰,https://gcalic.v.myalicdn.com/gc/sgns01_1/index.m3u8 +四川四姑娘山隆珠措,https://gcalic.v.myalicdn.com/gc/sgns02_1/index.m3u8 +宁夏沙坡头长河落日,https://gcalic.v.myalicdn.com/gc/nxsptdmgychlr_1/index.m3u8 +宁夏沙坡头大漠孤烟,https://gcalic.v.myalicdn.com/gc/nxsptdmgy_1/index.m3u8 +丽江古城大研花巷观景,https://gcalic.v.myalicdn.com/gc/ljgcdyhxgjt_1/index.m3u8 +丽江古城大研花巷观景,https://gcalic.v.myalicdn.com/gc/ljgcdyhxgjt_1/index.m3u8 +丽江古城大水车,https://gcalic.v.myalicdn.com/gc/ljgcdsc_1/index.m3u8 +丽江古城万古楼遥望玉龙山,https://gcalic.v.myalicdn.com/gc/ljgcwglytylxs_1/index.m3u8 +狮子山鸟瞰丽江古城,https://gcalic.v.myalicdn.com/gc/ljgcszsnkgc_1/index.m3u8 +云台山小寨沟,https://gcalic.v.myalicdn.com/gc/ytsxzg_1/index.m3u8 +云台山百家岩,https://gcalic.v.myalicdn.com/gc/ytsbjy_1/index.m3u8 +云台山红石峡,https://gcalic.v.myalicdn.com/gc/ytshsx_1/index.m3u8 +云台山茱萸峰,https://gcalic.v.myalicdn.com/gc/ytszyf_1/index.m3u8 +云台山茱萸峰,https://gcalic.v.myalicdn.com/gc/ytszyf_1/index.m3u8 +雪乡梦幻家园,https://gcalic.v.myalicdn.com/gc/mdjxxmhjyxj_1/index.m3u8 +雪乡梦幻家园观景台,https://gcalic.v.myalicdn.com/gc/mdjxxmhjygjt_1/index.m3u8 +雪乡梦幻家园观景台,https://gcalic.v.myalicdn.com/gc/mdjxxmhjygjt_1/index.m3u8 +雪乡大石碑,https://gcalic.v.myalicdn.com/gc/mdjxxdsb_1/index.m3u8 +乌镇蓝印花布,https://gcalic.v.myalicdn.com/gc/zjwzlyhb_1/index.m3u8 +乌镇西市河,https://gcalic.v.myalicdn.com/gc/zjwzbblh_1/index.m3u8 +乌镇西市河,https://gcalic.v.myalicdn.com/gc/zjwzbblh_1/index.m3u8 +乌镇龙形田,https://gcalic.v.myalicdn.com/gc/zjwzlxt_1/index.m3u8 +乌镇全景,https://gcalic.v.myalicdn.com/gc/zjwzblt_1/index.m3u8 +凤凰古城南华山,https://gcalic.v.myalicdn.com/gc/fhgcdnhs_1/index.m3u8 +凤凰古城东关门,https://gcalic.v.myalicdn.com/gc/fhgcdgm_1/index.m3u8 +黄花城水长城01,https://gcalic.v.myalicdn.com/gc/wgw01_1/index.m3u8 +黄花城水长城02,https://gcalic.v.myalicdn.com/gc/wgw02_1/index.m3u8 +黄花城水长城02,https://gcalic.v.myalicdn.com/gc/wgw02_1/index.m3u8 +黄花城水长城03,https://gcalic.v.myalicdn.com/gc/wgw03_1/index.m3u8 +黄花城水长城04,https://gcalic.v.myalicdn.com/gc/wgw04_1/index.m3u8 +鸣沙山,https://gcalic.v.myalicdn.com/gc/dhyyqst_1/index.m3u8 +鸣沙山山门,https://gcalic.v.myalicdn.com/gc/dhyyqyyq_1/index.m3u8 +月牙泉,https://gcalic.v.myalicdn.com/gc/dhyyqsm_1/index.m3u8 +五彩池,https://gcalic.v.myalicdn.com/gc/hlwcc_1/index.m3u8 +黄龙,https://gcalic.v.myalicdn.com/gc/hlzycc_1/index.m3u8 +望乡台,https://gcalic.v.myalicdn.com/gc/hlwxt_1/index.m3u8 +洗身洞,https://gcalic.v.myalicdn.com/gc/hlxsd_1/index.m3u8 +洗身洞,https://gcalic.v.myalicdn.com/gc/hlxsd_1/index.m3u8 +泰山主峰,https://gcalic.v.myalicdn.com/gc/taishan01_1/index.m3u8 +泰山大观峰,https://gcalic.v.myalicdn.com/gc/taishan03_1/index.m3u8 +泰山拱北石,https://gcalic.v.myalicdn.com/gc/taishan04_1/index.m3u8 +泰山玉皇顶,https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8 +泰山玉皇顶,https://gcalic.v.myalicdn.com/gc/taishan06_1/index.m3u8 +泰山十八盘,https://gcalic.v.myalicdn.com/gc/taishan05_1/index.m3u8 +泰山天街,https://gcalic.v.myalicdn.com/gc/taishan07_1/index.m3u8 +泰山经石峪,https://gcalic.v.myalicdn.com/gc/hkts04_1/index.m3u8 +泰山望人松,https://gcalic.v.myalicdn.com/gc/taishan02_1/index.m3u8 +泰山龙潭水库,https://gcalic.v.myalicdn.com/gc/hkts06_1/index.m3u8 +泰山南天门,https://gcalic.v.myalicdn.com/gc/hkts07_1/index.m3u8 +泰山白云亭悬崖,https://gcalic.v.myalicdn.com/gc/hkts02_1/index.m3u8 +泰山扇子崖,https://gcalic.v.myalicdn.com/gc/hkts08_1/index.m3u8 +泰山太平岭,https://gcalic.v.myalicdn.com/gc/hkts09_1/index.m3u8 +泰山太平岭,https://gcalic.v.myalicdn.com/gc/hkts09_1/index.m3u8 +泰山碧霞祠,https://gcalic.v.myalicdn.com/gc/hkts03_1/index.m3u8 +泰山玉皇顶东,https://gcalic.v.myalicdn.com/gc/hkts10_1/index.m3u8 +泰山玉皇顶东,https://gcalic.v.myalicdn.com/gc/hkts10_1/index.m3u8 +泰山玉皇顶西,https://gcalic.v.myalicdn.com/gc/hkts11_1/index.m3u8 +黄山始信新道,https://gcalic.v.myalicdn.com/gc/hsyg_1/index.m3u8 +黄山梦笔生花,https://gcalic.v.myalicdn.com/gc/hsmbsh_1/index.m3u8 +黄山排云亭,https://gcalic.v.myalicdn.com/gc/hspyt_1/index.m3u8 +黄山平天矼,https://gcalic.v.myalicdn.com/gc/hsptgz_1/index.m3u8 +黄山飞来石,https://gcalic.v.myalicdn.com/gc/hsptgy_1/index.m3u8 +黄山光明顶,https://gcalic.v.myalicdn.com/gc/hsgmd_1/index.m3u8 +黄山,https://gcalic.v.myalicdn.com/gc/ahhs01_1/index.m3u8 +福建宁德太姥山景区,https://gcalic.v.myalicdn.com/gc/tms01_1/index.m3u8 +陕西洋县国宝朱鹮03,https://gcalic.v.myalicdn.com/gc/zh03_1/index.m3u8 +陕西洋县国宝朱鹮04,https://gcalic.v.myalicdn.com/gc/zh04_1/index.m3u8 +安徽黟县西递半山亭,https://gcalic.v.myalicdn.com/gc/yxxdbst_1/index.m3u8 +安徽黟县西递牌坊,https://gcalic.v.myalicdn.com/gc/yxxdpf_1/index.m3u8 +安徽黟县宏村月沼,https://gcalic.v.myalicdn.com/gc/yxhcyz_1/index.m3u8 +安徽黟县宏村月沼,https://gcalic.v.myalicdn.com/gc/yxhcyz_1/index.m3u8 +安徽黟县芦村远眺,https://gcalic.v.myalicdn.com/gc/yxlcyt_1/index.m3u8 +深圳世界之窗文化主题公园,https://gcalic.v.myalicdn.com/gc/sjzc01_1/index.m3u8 +深圳世界之窗文化主题公园,https://gcalic.v.myalicdn.com/gc/sjzc01_1/index.m3u8 +八达岭长城南七楼,https://gcalic.v.myalicdn.com/gc/bgws7_1/index.m3u8 +八达岭长城北十楼,https://gcalic.v.myalicdn.com/gc/bgwn10_1/index.m3u8 +中央电视塔东,https://gcalic.v.myalicdn.com/gc/ztd_1/index.m3u8 +中央电视塔南,https://gcalic.v.myalicdn.com/gc/ztn_1/index.m3u8 +中央电视塔北,https://gcalic.v.myalicdn.com/gc/ztb_1/index.m3u8 +恒山悬空寺全景,https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8 +恒山悬空寺全景,https://gcalic.v.myalicdn.com/gc/hsxksqj_1/index.m3u8 +恒宗,https://gcalic.v.myalicdn.com/gc/hsxkssqdzrqj_1/index.m3u8 +黄果树银链坠潭瀑布,https://gcalic.v.myalicdn.com/gc/hgsylztpb_1/index.m3u8 +黄果树银链坠潭瀑布,https://gcalic.v.myalicdn.com/gc/hgsylztpb_1/index.m3u8 +黄果树六角亭瀑布,https://gcalic.v.myalicdn.com/gc/hgsspzxdpb_1/index.m3u8 +天涯鸟瞰,https://gcalic.v.myalicdn.com/gc/tyhjtynl_1/index.m3u8 +天涯石,https://gcalic.v.myalicdn.com/gc/tyhjtys_1/index.m3u8 +天涯石,https://gcalic.v.myalicdn.com/gc/tyhjtys_1/index.m3u8 +南天一柱,https://gcalic.v.myalicdn.com/gc/tyhjntyz_1/index.m3u8 +日月石,https://gcalic.v.myalicdn.com/gc/tyhjrys_1/index.m3u8 +日月石,https://gcalic.v.myalicdn.com/gc/tyhjrys_1/index.m3u8 +桂林象山公园,https://gcalic.v.myalicdn.com/gc/glxs01_1/index.m3u8 +六盘山红军长征景区,https://gcalic.v.myalicdn.com/gc/lpsgmjng01_1/index.m3u8 +华山,https://gcalic.v.myalicdn.com/gc/hkhs01_1/index.m3u8 +贵州省兴义市万峰林,https://gcalic.v.myalicdn.com/gc/xywfl_1/index.m3u8 +贵州省兴义市马岭河峡谷,https://gcalic.v.myalicdn.com/gc/xymlh_1/index.m3u8 +贵州省贞丰市双峰景区,https://gcalic.v.myalicdn.com/gc/xysrf_1/index.m3u8 +云南大理崇圣寺三塔中景,https://gcalic.v.myalicdn.com/gc/dlst03_1/index.m3u8 +云南大理崇圣寺三塔湖面,https://gcalic.v.myalicdn.com/gc/dlst02_1/index.m3u8 +云南大理崇圣寺三塔远景,https://gcalic.v.myalicdn.com/gc/dlst01_1/index.m3u8 +广西桂林漓江景区,https://gcalic.v.myalicdn.com/gc/gllj01_1/index.m3u8 +青岛崂山双福,https://gcalic.v.myalicdn.com/gc/qdls03_1/index.m3u8 +青岛崂山太清,https://gcalic.v.myalicdn.com/gc/qdls04_1/index.m3u8 +青岛崂山灵旗峰,https://gcalic.v.myalicdn.com/gc/qdls01_1/index.m3u8 +青岛崂山八水河,https://gcalic.v.myalicdn.com/gc/qdls02_1/index.m3u8 +三亚南山文化旅游区海上观音,https://gcalic.v.myalicdn.com/gc/syns01_1/index.m3u8 +仙都风景区,https://gcalic.v.myalicdn.com/gc/xdfjq01_1/index.m3u8 +仙都风景区,https://gcalic.v.myalicdn.com/gc/xdfjq01_1/index.m3u8 +宁夏黄河大峡谷,https://gcalic.v.myalicdn.com/gc/hhdxg01_1/index.m3u8 +宁夏黄河大峡谷,https://gcalic.v.myalicdn.com/gc/hhdxg01_1/index.m3u8 +张掖七彩丹霞,https://gcalic.v.myalicdn.com/gc/zyqcdx01_1/index.m3u8 +嵩山少林寺广场,https://gcalic.v.myalicdn.com/gc/zsslsgc_1/index.m3u8 +婺源01,https://gcalic.v.myalicdn.com/gc/wygjt1_1/index.m3u8 +神农架金丝猴01,https://gcalic.v.myalicdn.com/gc/jshhd01_1/index.m3u8 +都江堰鱼嘴,https://gcalic.v.myalicdn.com/gc/djyqyl1_1/index.m3u8 +丹霞山丹梯铁锁,https://gcalic.v.myalicdn.com/gc/dxsdtts_1/index.m3u8 +丹霞山韶音亭,https://gcalic.v.myalicdn.com/gc/dxssyt_1/index.m3u8 +云南红河哈尼梯田多依树景点,https://gcalic.v.myalicdn.com/gc/hnttdysjd_1/index.m3u8 +云南红河哈尼梯田普高老寨,https://gcalic.v.myalicdn.com/gc/hnttpgsz_1/index.m3u8 +云南红河哈尼梯田老虎嘴,https://gcalic.v.myalicdn.com/gc/hnttlhzjd_1/index.m3u8 +江西龙虎山中间水泡,https://gcalic.v.myalicdn.com/gc/lhszjsp_1/index.m3u8 +江西龙虎山山涧栈道,https://gcalic.v.myalicdn.com/gc/lhssjzd_1/index.m3u8 +江西龙虎山山涧栈道,https://gcalic.v.myalicdn.com/gc/lhssjzd_1/index.m3u8 +乐山大佛全景,https://gcalic.v.myalicdn.com/gc/lsdfgfl_1/index.m3u8 +乐山大佛全景,https://gcalic.v.myalicdn.com/gc/lsdfgfl_1/index.m3u8 diff --git a/lib/七新影视.json b/lib/七新影视.json new file mode 100644 index 0000000..539d997 --- /dev/null +++ b/lib/七新影视.json @@ -0,0 +1,21 @@ + { + + "作者":"荷城茶秀", + + "站名":"七新影视", + + "主页url":"http://www.7xdy.com/", + + "简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+&&", + + "影片状态":"状态:&&

    ", + + "搜索url":"/search.php;post;searchword={wd}", + + "线路数组":"", + + "线路标题":"🌸荷城茶秀接口🌸+src=*>&&<", + + "分类url":"http://www.7xdy.com/{cateId}/index{catePg}.html[http://www.7xdy.com/{cateId}/index.html];;k", + + "分类":"电影$dianyingpian#电视剧$dianshiju#综艺$zongyi#动漫$dongman"} \ No newline at end of file diff --git a/lib/剧圈圈.json b/lib/剧圈圈.json new file mode 100644 index 0000000..e6939f2 --- /dev/null +++ b/lib/剧圈圈.json @@ -0,0 +1 @@ +{"站名":"剧圈圈","作者":"天天开心","线路标题":"🌸荷城茶秀接口🌸+src=*>&&<[替换:线路1>>🌸荷城茶秀接口🌸1#线路2>>🌸荷城茶秀接口🌸2#线路3>>🌸荷城茶秀接口🌸3#线路4>>🌸荷城茶秀接口🌸4#线路5>>🌸荷城茶秀接口🌸5#线路6>>🌸荷城茶秀接口🌸6]","分类url":"https://www.jqqzx.cc/vodshow/{area}/by/{by}/id/{cateId}/lang/{lang}/page/{catePg}.html[https://www.jqqzx.cc/vodshow/id/{cateId}.html]","分类":"电影&剧集&动漫&综艺&纪录片","分类值":"1&juji&dongman&zongyi&jilupian","简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+

    &&

    ","排序":"时间$time#人气$hits#评分$score","主页url":"https://www.jqqzx.cc/"} \ No newline at end of file diff --git a/lib/动漫巴士.json b/lib/动漫巴士.json new file mode 100644 index 0000000..73acd29 --- /dev/null +++ b/lib/动漫巴士.json @@ -0,0 +1,182 @@ + { + + "作者":"荷城茶秀", + + "站名":"动漫巴士", + + "主页url":"https://dm84.tv/", + + "请求头":"电脑", + + "简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+剧情:&&

    ", + + "导演":"导演:&&

    ", + + "主演":"主演:&&

    ", + + "影片类型":"&&

    [替换:|>>空]", + + "影片状态":"desc\">&&", + + "数组":"
    &&
    ", + + "图片":"data-bg=\"&&\"", + + "标题":"\"title\"*>&&", + + "副标题":"&&", + + "线路二次截取":"tab_control play_from\">&&", + + "线路数组":"[替换:线路1>>专线①#线路2>>专线②]", + + "线路标题":"🌸荷城茶秀接口🌸+>&&<", + + "分类url":"https://dm84.tv/show-{cateId}--{by}-{class}--{year}-{catePg}.html;;km0", + + "分类":"国产动漫$1#日本动漫$2#欧美动漫$3#电影$4", + + "筛选":{ + "1":[ + {"key":"class","name":"类型","value":[ + {"n":"全部","v":"全部"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"战斗","v":"战斗"}, + {"n":"玄幻","v":"玄幻"}, + {"n":"穿越","v":"穿越"}, + {"n":"科幻","v":"科幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"热血","v":"热血"}, + {"n":"耽美","v":"耽美"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"动态漫画","v":"动态漫画"} + ] + }, + {"key":"year","name":"时间","value":[ + {"n":"全部","v":"全部"}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"} + ] + }, + {"key":"by","name":"排序","value":[ + {"n":"按时间","v":"time"}, + {"n":"按人气","v":"hits"}, + {"n":"按评分","v":"score"} + ] + } + ], + "2":[ + {"key":"class","name":"类型","value":[ + {"n":"全部","v":"全部"}, + {"n":"冒险","v":"冒险"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"战斗","v":"战斗"}, + {"n":"后宫","v":"后宫"}, + {"n":"热血","v":"热血"}, + {"n":"励志","v":"励志"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"校园","v":"校园"}, + {"n":"机战","v":"机战"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"治愈","v":"治愈"}, + {"n":"百合","v":"百合"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"泡面番","v":"泡面番"}, + {"n":"恋爱","v":"恋爱"}, + {"n":"推理","v":"推理"} + ] + }, + {"key":"year","name":"时间","value":[ + {"n":"全部","v":"全部"}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"} + ] + }, + {"key":"by","name":"排序","value":[ + {"n":"按时间","v":"time"}, + {"n":"按人气","v":"hits"}, + {"n":"按评分","v":"score"} + ] + } + ], + "3":[ + {"key":"class","name":"类型","value":[ + {"n":"全部","v":"全部"}, + {"n":"科幻","v":"科幻"}, + {"n":"冒险","v":"冒险"}, + {"n":"战斗","v":"战斗"}, + {"n":"百合","v":"百合"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"热血","v":"热血"}, + {"n":"搞笑","v":"搞笑"} + ] + }, + {"key":"year","name":"时间","value":[ + {"n":"全部","v":"全部"}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"} + ] + }, + {"key":"by","name":"排序","value":[ + {"n":"按时间","v":"time"}, + {"n":"按人气","v":"hits"}, + {"n":"按评分","v":"score"} + ] + } + ], + "4":[ + {"key":"class","name":"类型","value":[ + {"n":"全部","v":"全部"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"治愈","v":"治愈"}, + {"n":"科幻","v":"科幻"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"冒险","v":"冒险"}, + {"n":"动作","v":"动作"}, + {"n":"爱情","v":"爱情"} + ] + }, + {"key":"year","name":"时间","value":[ + {"n":"全部","v":"全部"}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"} + ] + }, + {"key":"by","name":"排序","value":[ + {"n":"按时间","v":"time"}, + {"n":"按人气","v":"hits"}, + {"n":"按评分","v":"score"} + ] + } + ] + } + } \ No newline at end of file diff --git a/lib/厂长资源.js b/lib/厂长资源.js new file mode 100644 index 0000000..d26b40f --- /dev/null +++ b/lib/厂长资源.js @@ -0,0 +1,75 @@ +// 地址发布页 https://www.czzy.site +// 地址发布页 https://cz01.vip +var rule = { + title: '厂长资源', + host: 'https://czzy.top', + // host:'https://www.czzy.site', + // host:'https://cz01.vip', + // hostJs:'print(HOST);let html=request(HOST,{headers:{"User-Agent":PC_UA}});HOST = html.match(/推荐访问 " + HOST)', + url: '/fyclassfyfilter', + filterable: 1,//是否启用分类筛选, + filter_url: '{{fl.cateId}}{{fl.class}}{{fl.area}}/page/fypage', + filter: { + "movie_bt":[ + {"key":"area","name":"分类","value":[{"v":"","n":"全部"},{"v":"/movie_bt_series/zhanchangtuijian","n":"站长推荐"},{"v":"/movie_bt_series/dyy","n":"电影"},{"v":"/movie_bt_series/dianshiju","n":"电视剧"},{"v":"/movie_bt_series/dohua","n":"动画"},{"v":"/movie_bt_series/guochanju","n":"国产剧"},{"v":"/movie_bt_series/mj","n":"美剧"},{"v":"/movie_bt_series/rj","n":"日剧"},{"v":"/movie_bt_series/hj","n":"韩剧"},{"v":"/movie_bt_series/hwj","n":"海外剧(其他)"},{"v":"/movie_bt_series/huayudianying","n":"华语电影"},{"v":"/movie_bt_series/meiguodianying","n":"欧美电影"},{"v":"/movie_bt_series/ribendianying","n":"日本电影"},{"v":"/movie_bt_series/hanguodianying","n":"韩国电影"},{"v":"/movie_bt_series/yingguodianying","n":"英国电影"},{"v":"/movie_bt_series/faguodianying","n":"法国电影"},{"v":"/movie_bt_series/yindudianying","n":"印度电影"},{"v":"/movie_bt_series/eluosidianying","n":"俄罗斯电影"},{"v":"/movie_bt_series/jianadadianying","n":"加拿大电影"},{"v":"/movie_bt_series/huiyuanzhuanqu","n":"会员专区"}]}, + {"key":"class","name":"类型","value":[{"n":"全部","v":""},{"n":"传记","v":"/movie_bt_tags/chuanji"},{"n":"儿童","v":"/movie_bt_tags/etet"},{"n":"冒险","v":"/movie_bt_tags/maoxian"},{"n":"剧情","v":"/movie_bt_tags/juqing"},{"n":"动作","v":"/movie_bt_tags/dozuo"},{"n":"动漫","v":"/movie_bt_tags/doman"},{"n":"动画","v":"/movie_bt_tags/dhh"},{"n":"历史","v":"/movie_bt_tags/lishi"},{"n":"古装","v":"/movie_bt_tags/guzhuang"},{"n":"同性","v":"/movie_bt_tags/tongxing"},{"n":"喜剧","v":"/movie_bt_tags/xiju"},{"n":"奇幻","v":"/movie_bt_tags/qihuan"},{"n":"家庭","v":"/movie_bt_tags/jiating"},{"n":"恐怖","v":"/movie_bt_tags/kubu"},{"n":"悬疑","v":"/movie_bt_tags/xuanyi"},{"n":"情色","v":"/movie_bt_tags/qingse"},{"n":"惊悚","v":"/movie_bt_tags/kingsong"},{"n":"战争","v":"/movie_bt_tags/zhanzhen"},{"n":"歌舞","v":"/movie_bt_tags/gw"},{"n":"武侠","v":"/movie_bt_tags/wuxia"},{"n":"灾难","v":"/movie_bt_tags/zainan"},{"n":"爱情","v":"/movie_bt_tags/aiqing"},{"n":"犯罪","v":"/movie_bt_tags/fanzui"},{"n":"短片","v":"/movie_bt_tags/dp"},{"n":"科幻","v":"/movie_bt_tags/kh"},{"n":"纪录片","v":"/movie_bt_tags/jlpp"},{"n":"西部","v":"/movie_bt_tags/xb"},{"n":"运动","v":"/movie_bt_tags/yd"},{"n":"音乐","v":"/movie_bt_tags/yy"}]} + ] + }, + searchUrl: '/page/fypage?s=**', + searchable: 2, + filterable: 0, + headers: { + 'User-Agent': 'MOBILE_UA', + 'Cookie': 'esc_search_captcha=1' + }, + class_name: '全部&豆瓣电影Top250&高分影视&最新电影&热映中&站长推荐&电影&电视剧&动画&国产剧&日剧&韩剧&美剧&海外剧&俄罗斯电影&加拿大电影&华语电影&印度电影&日本电影&欧美电影&法国电影&英国电影&韩国电影&纪录片', + class_url: 'movie_bt&dbtop250&gaofenyingshi&zuixindianying&reyingzhong&/movie_bt_series/zhanchangtuijian&/movie_bt_series/dyy&/movie_bt_series/dianshiju&/movie_bt_series/dohua&/movie_bt_series/guochanju&/movie_bt_series/rj&/movie_bt_series/hj&/movie_bt_series/mj&/movie_bt_series/hwj&/movie_bt_series/eluosidianying&/movie_bt_series/jianadadianying&/movie_bt_series/huayudianying&/movie_bt_series/yindudianying&/movie_bt_series/ribendianying&/movie_bt_series/meiguodianying&/movie_bt_series/faguodianying&/movie_bt_series/yingguodianying&/movie_bt_series/hanguodianying&movie_bt//movie_bt_tags/jlpp', + play_parse: true, + + // lazy代码:源于海阔香雅情大佬 / 小程序:香情影视 https://pastebin.com/L4tHdvFn + lazy: `js: + pdfh = jsp.pdfh; + var html = request(input); + var ohtml = pdfh(html, '.videoplay&&Html'); + var url = pdfh(ohtml, "body&&iframe&&src"); + if (/Cloud/.test(url)) { + var ifrwy = request(url); + let code = ifrwy.match(/var url = '(.*?)'/)[1].split('').reverse().join(''); + let temp = ''; + for (let i = 0x0; i < code.length; i = i + 0x2) { + temp += String.fromCharCode(parseInt(code[i] + code[i + 0x1], 0x10)) + } + input = { + jx: 0, + url: temp.substring(0x0, (temp.length - 0x7) / 0x2) + temp.substring((temp.length - 0x7) / 0x2 + 0x7), + parse: 0 + } + } else if (/decrypted/.test(ohtml)) { + var phtml = pdfh(ohtml, "body&&script:not([src])&&Html"); + eval(getCryptoJS()); + var scrpt = phtml.match(/var.*?\\)\\);/g)[0]; + var data = []; + eval(scrpt.replace(/md5/g, 'CryptoJS').replace('eval', 'data = ')); + input = { + jx: 0, + url: data.match(/url:.*?[\\'\\"](.*?)[\\'\\"]/)[1], + parse: 0 + } + } else { + input + } + `, + 推荐: '.bt_img;ul&&li;*;*;*;*', + double: true, + 一级: '.bt_img&&ul&&li;h3.dytit&&Text;img.lazy&&data-original;.jidi&&Text;a&&href', + 二级: { + "title": "h1&&Text;.moviedteail_list li&&a&&Text", + "img": "div.dyimg img&&src", + "desc": ".moviedteail_list li:eq(3) a&&Text;.moviedteail_list li:eq(2) a&&Text;.moviedteail_list li:eq(1) a&&Text;.moviedteail_list li:eq(7)&&Text;.moviedteail_list li:eq(5)&&Text", + "content": ".yp_context&&Text", + "tabs": ".mi_paly_box span", + "lists": ".paly_list_btn:eq(#id) a" + }, + 搜索: '.search_list&&ul&&li;*;*;*;*', + // 预处理:'rule_fetch_params.headers.Cookie="68148872828e9f4d64e7a296f6c6b6d7=5429da9a54375db451f7f9e4f16ce0ea;esc_search_captcha=1";let new_host="https://czspp.com";let new_html=request(new_host);if(/正在进行人机识别/.test(new_html)){let new_src=pd(new_html,"script&&src",new_host);log(new_src);let hhtml=request(new_src,{withHeaders:true});let json=JSON.parse(hhtml);let html=json.body;let key=html.match(new RegExp(\'var key="(.*?)"\'))[1];let avalue=html.match(new RegExp(\'value="(.*?)"\'))[1];let c="";for(let i=0;i", + + "主演":"主演:&&", + + "影片类型":"video-tag-icon\">&&立即播放", + + "影片状态":"集数:&&", + + "数组":"module-item-pic\">&&module-item\">", + + "图片":"data-src=\"&&\"", + + "标题":"title=\"&&\"", + + "副标题":"module-item-text\">&&", + + "链接":"href=\"&&\"", + + "线路数组":"data-dropdown-value=&&[不包含:夸克]", + + "线路标题":"🌸荷城茶秀接口🌸+&&[替换:>>>线路共]+集", + + "播放数组":"sort-item\"&&", + + "播放标题":"&&", + + "播放列表":"", + + "分类url":"https://www.6080yy3.com/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html;;akx", + + "分类":"电影$1#电视剧$2#综艺$3#动漫$4", + + "筛选":{ + "1":[ + { + "key":"cateld", + "name":"类型", + "value":[ + {"n":"全部类型","v":""}, + {"n":"动作片","v":"25"}, + {"n":"喜剧片","v":"26"}, + {"n":"爱情片","v":"27"}, + {"n":"科幻记","v":"28"}, + {"n":"恐怖片","v":"30"}, + {"n":"剧情片","v":"31"}, + {"n":"战争片","v":"33"}, + {"n":"记录片","v":"35"}, + {"n":"悬疑片","v":"36"}, + {"n":"犯罪片","v":"38"}, + {"n":"冒险片","v":"40"}, + {"n":"动画片","v":"41"}, + {"n":"惊悚片","v":"43"}, + {"n":"奇幻片","v":"44"}, + {"n":"理论片","v":"46"} + ] + }, + { + "key":"class", + "name":"剧情", + "value":[ + {"n":"全部剧情","v":""}, + {"n":"喜剧","v":"喜剧"}, + {"n":"爱情","v":"爱情"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"动作","v":"动作"}, + {"n":"科幻","v":"科幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"战争","v":"战争"}, + {"n":"警匪","v":"警匪"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动画","v":"动画"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"武侠","v":"武侠"}, + {"n":"冒险","v":"冒险"}, + {"n":"枪战","v":"枪战"}, + {"n":"恐怖","v":"恐怖"}, + {"n":"悬疑","v":"悬疑"}, + {"n":"惊悚","v":"惊悚"}, + {"n":"经典","v":"经常"}, + {"n":"青春","v":"青春"}, + {"n":"文艺","v":"文艺"}, + {"n":"微电影","v":"微电影"}, + {"n":"古装","v":"古装"}, + {"n":"儿童","v":"儿童"}, + {"n":"网络电影","v":"网络电影"} + ] + }, + { + "key":"area", + "name":"地区", + "value":[ + {"n":"全部地区","v":""}, + {"n":"大陆","v":"大陆"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"美国","v":"美国"}, + {"n":"法国","v":"法国"}, + {"n":"英国","v":"英国"}, + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"德国","v":"德国"}, + {"n":"泰国","v":"泰国"}, + {"n":"印度","v":"印度"}, + {"n":"意大利","v":"意大利"}, + {"n":"西班牙","v":"西班牙"}, + {"n":"加拿大","v":"加拿大"}, + {"n":"其它","v":"其它"} + ] + }, + { + "key":"lang", + "name":"语言", + "value":[ + {"n":"全部语言","v":""}, + {"n":"国语","v":"国语"}, + {"n":"英语","v":"英语"}, + {"n":"粤语","v":"粤语"}, + {"n":"闽南语","v":"闽南语"}, + {"n":"韩语","v":"韩语"}, + {"n":"日语","v":"日语"}, + {"n":"其它","v":"其它"} + ] + }, + { + "key":"year", + "name":"时间", + "value":[ + {"n":"全部时间","v":""}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ] + }, + { + "key":"by", + "name":"排序", + "value":[ + {"n":"全部排序","v":""}, + {"n":"时间排序","v":"time"}, + {"n":"人气排序","v":"hits"}, + {"n":"评分排序","v":"score"} + ] + } + ], + "2":[ + { + "key":"cateId", + "name":"类型", + "value":[ + {"n":"全部类型","v":""}, + {"n":"国产剧","v":"42"}, + {"n":"欧美剧","v":"45"}, + {"n":"日韩剧","v":"47"}, + {"n":"港台剧","v":"49"}, + {"n":"泰剧","v":"51"}, + {"n":"海外剧","v":"52"} + ] + }, + + { + "key":"class", + "name":"剧情", + "value":[ + {"n":"全部剧情","v":""}, + {"n":"古装","v":"古装"}, + {"n":"战争","v":"战争"}, + {"n":"青春偶像","v":"青春偶像"}, + {"n":"喜剧","v":"喜剧"}, + {"n":"家庭","v":"家庭"}, + {"n":"犯罪","v":"犯罪"}, + {"n":"动作","v":"动作"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"剧情","v":"剧情"}, + {"n":"历史","v":"历史"}, + {"n":"经典","v":"经典"}, + {"n":"乡村","v":"乡村"}, + {"n":"情景","v":"情景"}, + {"n":"商战","v":"商战"}, + {"n":"网剧","v":"网战"}, + {"n":"其他","v":"其他"} + ] + }, + + { + "key":"area", + "name":"地区", + "value":[ + {"n":"全部地区","v":""}, + {"n":"内地","v":"内地"}, + {"n":"韩国","v":"韩国"}, + {"n":"香港","v":"香港"}, + {"n":"台湾","v":"台湾"}, + {"n":"日本","v":"日本"}, + {"n":"美国","v":"美国"}, + {"n":"泰国","v":"泰国"}, + {"n":"英国","v":"英国"}, + {"n":"新加坡","v":"新加坡"}, + {"n":"其他","v":"其他"} + ] + }, + + { + "key":"lang", + "name":"语言", + "value":[ + {"n":"全部语言","v":""}, + {"n":"国语","v":"国语"}, + {"n":"英语","v":"英语"}, + {"n":"粤语","v":"粤语"}, + {"n":"闽南语","v":"闽南语"}, + {"n":"韩语","v":"韩语"}, + {"n":"日语","v":"日语"}, + {"n":"其它","v":"其它"} + ] + }, + + { + "key":"year", + "name":"年份", + "value":[ + {"n":"全部时间","v":""}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"} + ] + }, + { + "key":"by", + "name":"排序", + "value":[ + {"n":"全部排序","v":""}, + {"n":"时间排序","v":"time"}, + {"n":"人气排序","v":"hits"}, + {"n":"评分排序","v":"score"} + ] + } + ], + "3":[ + { + "key":"cateId", + "name":"类型", + "value":[ + {"n":"全部类型","v":""}, + {"n":"大陆综艺","v":"20"}, + {"n":"日韩综艺","v":"21"}, + {"n":"港台综艺","v":"22"}, + {"n":"欧美综艺","v":"23"}, + {"n":"演唱会","v":"24"} + ] + }, + { + "key":"class", + "name":"剧情", + "value":[ + {"n":"全部剧情","v":""}, + {"n":"选秀","v":"选秀"}, + {"n":"情感","v":"情感"}, + {"n":"访谈","v":"访谈"}, + {"n":"播报","v":"播报"}, + {"n":"旅游","v":"旅游"}, + {"n":"音乐","v":"音乐"}, + {"n":"美食","v":"美食"}, + {"n":"纪实","v":"纪实"}, + {"n":"曲艺","v":"曲艺"}, + {"n":"生活","v":"生活"}, + {"n":"游戏互动","v":"游戏互动"}, + {"n":"财经","v":"财经"}, + {"n":"求职","v":"求职"} + ]}, + { + "key":"area", + "name":"地区", + "value":[ + {"n":"全部地区","v":""}, + {"n":"内地","v":"内地"}, + {"n":"港台","v":"港台"}, + {"n":"日韩","v":"日韩"}, + {"n":"欧美","v":"欧美"} + ]}, + { + "key":"lang", + "name":"语言", + "value":[ + {"n":"全部语言","v":""}, + {"n":"国语","v":"国语"}, + {"n":"英语","v":"英语"}, + {"n":"粤语","v":"粤语"}, + {"n":"闽南语","v":"闽南语"}, + {"n":"韩语","v":"韩语"}, + {"n":"日语","v":"日语"}, + {"n":"其它","v":"其他"} + ]}, + + { + "key":"year", + "name":"年份", + "value":[ + {"n":"全部时间","v":""}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}]}, + { + "key":"by", + "name":"排序", + "value":[ + {"n":"全部排序","v":""}, + {"n":"时间排序","v":"time"}, + {"n":"人气排序","v":"hist"}, + {"n":"评分排序","v":"score"}]}], + + "4":[ + { + "key":"cateId", + "name":"类型", + "value":[ + {"n":"全部类型","v":""}, + {"n":"国产动漫","v":"29"}, + {"n":"日韩动漫","v":"32"}, + {"n":"欧美动漫","v":"34"}, + {"n":"港台动漫","v":"37"} + ]}, + { + "key":"class", + "name":"剧情", + "value":[ + {"n":"全部剧情","v":""}, + {"n":"情感","v":"情感"}, + {"n":"科幻","v":"科幻"}, + {"n":"热血","v":"热血"}, + {"n":"推理","v":"推理"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"冒险","v":"冒险"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"校园","v":"校园"}, + {"n":"动作","v":"动作"}, + {"n":"机战","v":"机战"}, + {"n":"运动","v":"运动"}, + {"n":"战争","v":"战争"}, + {"n":"少年","v":"少年"}, + {"n":"少女","v":"少女"}, + {"n":"社会","v":"社会"}, + {"n":"原创","v":"原创"}, + {"n":"亲子","v":"亲子"}, + {"n":"益智","v":"益智"}, + {"n":"励志","v":"励志"}, + {"n":"其他","v":"其他"}]}, + + { + "key":"area", + "name":"地区", + "value":[ + {"n":"全部地区","v":""}, + {"n":"国产","v":"国产"}, + {"n":"日本","v":"日本"}, + {"n":"欧美","v":"欧美"}, + {"n":"其他","v":"其他"}]}, + { + "key":"lang", + "name":"语言", + "value":[ + {"n":"全部语言","v":""}, + {"n":"国语","v":"国语"}, + {"n":"英语","v":"英语"}, + {"n":"粤语","v":"粤语"}, + {"n":"闽南语","v":"闽南语"}, + {"n":"韩语","v":"韩语"}, + {"n":"日语","v":"日语"}, + {"n":"其它","v":"其它"} + ] + }, + + { + "key":"year", + "name":"年份", + "value":[ + {"n":"全部时间","v":""}, + {"n":"2023","v":"2023"}, + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}]}, + { + "key":"by", + "name":"排序", + "value":[ + {"n":"全部排序","v":""}, + {"n":"时间排序","v":"time"}, + {"n":"人气排序","v":"hist"}, + {"n":"评分排序","v":"score"} + ] + } + ] + } + } + + \ No newline at end of file diff --git a/lib/星辰影视.json b/lib/星辰影视.json new file mode 100644 index 0000000..a101090 --- /dev/null +++ b/lib/星辰影视.json @@ -0,0 +1 @@ +{"作者":"荷城茶秀","站名":"星辰影视","主页url":"http://www.xingchenwu.com/","简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+&&","导演":"导演:&&

    ","主演":"主演:&&

    ","影片状态":"状态:&&

    ","影片类型":"类型:&&

    ","数组":"stui-vodlist__thumb lazyload\"&&
    ","标题":"title=\"&&\"","副标题":"text-right\">&&","图片":"data-original=\"&&\"","链接":"href=\"&&\"","搜索url":"http://www.xingchenwu.com/search.php;post;searchword={wd}","搜索数组":"stui-vodlist__thumb lazyload\"&&","搜索标题":"title=\"&&\"","搜索副标题":"text-right\">&&","搜索图片":"data-original=\"&&\"","搜索链接":"href=\"&&\"","线路数组":"","线路标题":"🌸荷城茶秀接口🌸+>&&<","播放链接":"href='&&'","分类url":"http://www.xingchenwu.com/{cateId}/index{catePg}.html[http://www.xingchenwu.com/{cateId}/index.html];;ak","分类":"电影$dianying#电视剧$dianshiju#综艺$zongyi#动漫$dongman"} \ No newline at end of file diff --git a/lib/模板.js b/lib/模板.js new file mode 100644 index 0000000..82b037b --- /dev/null +++ b/lib/模板.js @@ -0,0 +1,304 @@ +if (typeof Object.assign != 'function') { + Object.assign = function () { + var target = arguments[0]; + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i]; + for (var key in source) { + if (Object.prototype.hasOwnProperty.call(source, key)) { + target[key] = source[key]; + } + } + } + return target; +}; +} +function getMubans() { + var mubanDict = { // 模板字典 + mxpro: { + title: '', + host: '', + // homeUrl:'/', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.navbar-items li:gt(2):lt(8);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.tab-list.active;a.module-poster-item.module-item;.module-poster-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: 'body a.module-poster-item.module-item;a&&title;.lazyload&&data-original;.module-item-note&&Text;a&&href', + 二级: { + "title": "h1&&Text;.module-info-tag&&Text", + "img": ".lazyload&&data-original", + "desc": ".module-info-item:eq(1)&&Text;.module-info-item:eq(2)&&Text;.module-info-item:eq(3)&&Text", + "content": ".module-info-introduction&&Text", + "tabs": ".module-tab-item", + "lists": ".module-play-list:eq(#id) a" + }, + 搜索: 'body .module-item;.module-card-item-title&&Text;.lazyload&&data-original;.module-item-note&&Text;a&&href;.module-info-item-content&&Text', + }, + mxone5: { + title: '', + host: '', + url: '/show/fyclass--------fypage---.html', + searchUrl: '/search/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + class_parse: '.nav-menu-items&&li;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.module-list;.module-items&&.module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.module-items .module-item;a&&title;img&&data-src;.module-item-text&&Text;a&&href', + 二级: { + "title": "h1&&Text;.tag-link&&Text", + "img": ".module-item-pic&&img&&data-src", + "desc": ".video-info-items:eq(0)&&Text;.video-info-items:eq(1)&&Text;.video-info-items:eq(2)&&Text;.video-info-items:eq(3)&&Text", + "content": ".vod_content&&Text", + "tabs": ".module-tab-item", + "lists": ".module-player-list:eq(#id)&&.scroll-content&&a" + }, + 搜索: '.module-items .module-search-item;a&&title;img&&data-src;.video-serial&&Text;a&&href', + }, + 首图: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---/', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.myui-header__menu li.hidden-sm:gt(0):lt(5);a&&Text;a&&href;/(\\d+).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.myui-vodlist.clearfix;li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.myui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".myui-content__detail .title&&Text;.myui-content__detail p:eq(-2)&&Text", + "img": ".myui-content__thumb .lazyload&&data-original", + "desc": ".myui-content__detail p:eq(0)&&Text;.myui-content__detail p:eq(1)&&Text;.myui-content__detail p:eq(2)&&Text", + "content": ".content&&Text", + "tabs": ".nav-tabs:eq(0) li", + "lists": ".myui-content__list:eq(#id) li" + }, + 搜索: '#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 首图2: { + title: '', + host: '', + url: '/list/fyclass-fypage.html', + searchUrl: '/vodsearch/**----------fypage---.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + // "Cookie": "" + }, + // class_parse:'.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;/(\\d+).html', + class_parse: '.stui-header__menu li:gt(0):lt(7);a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.stui-vodlist.clearfix;li;a&&title;.lazyload&&data-original;.pic-text&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.stui-vodlist li;a&&title;a&&data-original;.pic-text&&Text;a&&href', + 二级: { + "title": ".stui-content__detail .title&&Text;.stui-content__detail p:eq(-2)&&Text", + "img": ".stui-content__thumb .lazyload&&data-original", + "desc": ".stui-content__detail p:eq(0)&&Text;.stui-content__detail p:eq(1)&&Text;.stui-content__detail p:eq(2)&&Text", + "content": ".detail&&Text", + "tabs": ".stui-vodlist__head h3", + "lists": ".stui-content__playlist:eq(#id) li" + }, + 搜索: 'ul.stui-vodlist__media:eq(0) li,ul.stui-vodlist:eq(0) li,#searchList li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索1: 'ul.stui-vodlist&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + 搜索2: 'ul.stui-vodlist__media&&li;a&&title;.lazyload&&data-original;.text-muted&&Text;a&&href;.text-muted:eq(-1)&&Text', + }, + 默认: { + title: '', + host: '', + url: '/vodshow/fyclass--------fypage---.html', + searchUrl: '/vodsearch/-------------.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'MOBILE_UA', + }, + play_parse: true, + lazy: '', + limit: 6, + double: true, // 推荐内容是否双层定位 + }, + vfed: { + title: '', + host: '', + url: '/index.php/vod/show/id/fyclass/page/fypage.html', + searchUrl: '/index.php/vod/search/page/fypage/wd/**.html', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: { + 'User-Agent': 'UC_UA', + }, + // class_parse:'.fed-pops-navbar&&ul.fed-part-rows&&a.fed-part-eone:gt(0):lt(5);a&&Text;a&&href;.*/(.*?).html', + class_parse: '.fed-pops-navbar&&ul.fed-part-rows&&a;a&&Text;a&&href;.*/(.*?).html', + play_parse: true, + lazy: '', + limit: 6, + 推荐: 'ul.fed-list-info.fed-part-rows;li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', + 二级: { + "title": "h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text", + "img": ".fed-list-info&&a&&data-original", + "desc": ".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text", + "content": ".fed-part-esan&&Text", + "tabs": ".fed-drop-boxs&&.fed-part-rows&&li", + "lists": ".fed-play-item:eq(#id)&&ul:eq(1)&&li" + }, + 搜索: '.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', + }, + 海螺3: { + title: '', + host: '', + searchUrl: '/v_search/**----------fypage---.html', + url: '/vod_____show/fyclass--------fypage---.html', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: 'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '明星|专题|最新|排行', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double: true, + 一级: '.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级: { + "title": ".hl-infos-title&&Text;.hl-text-conch&&Text", + "img": ".hl-lazy&&data-original", + "desc": ".hl-infos-content&&.hl-text-conch&&Text", + "content": ".hl-content-text&&Text", + "tabs": ".hl-tabs&&a", + "lists": ".hl-plays-list:eq(#id)&&li" + }, + 搜索: '.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 海螺2: { + title: '', + host: '', + searchUrl: '/index.php/vod/search/page/fypage/wd/**/', + url: '/index.php/vod/show/id/fyclass/page/fypage/', + headers: { + 'User-Agent': 'MOBILE_UA' + }, + timeout: 5000, + class_parse: '#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit: 40, + play_parse: true, + lazy: '', + 推荐: '.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double: true, + 一级: '.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级: { + "title": "h2&&Text;.deployment&&Text", + "img": ".lazy&&data-original", + "desc": ".deployment&&Text", + "content": ".ec-show&&Text", + "tabs": "#tag&&a", + "lists": ".play_list_box:eq(#id)&&li" + }, + 搜索: '.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + }, + 短视: { + title: '', + host: '', + // homeUrl:'/', + url: '/channel/fyclass-fypage.html', + searchUrl: '/search.html?wd=**', + searchable: 2,//是否启用全局搜索, + quickSearch: 0,//是否启用快速搜索, + filterable: 0,//是否启用分类筛选, + headers: {//网站的请求头,完整支持所有的,常带ua和cookies + 'User-Agent': 'MOBILE_UA', + // "Cookie": "searchneed=ok" + }, + class_parse: '.menu_bottom ul li;a&&Text;a&&href;.*/(.*?).html', + cate_exclude: '解析|动态', + play_parse: true, + lazy: '', + limit: 6, + 推荐: '.indexShowBox;ul&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + double: true, // 推荐内容是否双层定位 + 一级: '.pic-list&&li;a&&title;img&&data-src;.s1&&Text;a&&href', + 二级: { + "title": "h1&&Text;.content-rt&&p:eq(0)&&Text", + "img": ".img&&img&&data-src", + "desc": ".content-rt&&p:eq(1)&&Text;.content-rt&&p:eq(2)&&Text;.content-rt&&p:eq(3)&&Text;.content-rt&&p:eq(4)&&Text;.content-rt&&p:eq(5)&&Text", + "content": ".zkjj_a&&Text", + "tabs": ".py-tabs&&option", + "lists": ".player:eq(#id) li" + }, + 搜索: '.sr_lists&&ul&&li;h3&&Text;img&&data-src;.int&&p:eq(0)&&Text;a&&href', + }, + 短视2:{ + title: '', + host: '', + class_name:'电影&电视剧&综艺&动漫', + class_url:'1&2&3&4', + searchUrl: '/index.php/ajax/suggest?mid=1&wd=**&limit=50', + searchable: 2, + quickSearch: 0, + headers:{'User-Agent':'MOBILE_UA'}, + url: '/index.php/api/vod#type=fyclass&page=fypage', + filterable:0,//是否启用分类筛选, + filter_url:'', + filter: {}, + filter_def:{}, + detailUrl:'/index.php/vod/detail/id/fyid.html', + play_parse: true, + lazy: '', + limit: 6, + 推荐:'.list-vod.flex .public-list-box;a&&title;.lazy&&data-original;.public-list-prb&&Text;a&&href', + 一级:'js:let body=input.split("#")[1];let t=Math.round(new Date/1e3).toString();let key=md5("DS"+t+"DCC147D11943AF75");let url=input.split("#")[0];body=body+"&time="+t+"&key="+key;print(body);fetch_params.body=body;let html=post(url,fetch_params);let data=JSON.parse(html);VODS=data.list.map(function(it){it.vod_pic=urljoin2(input.split("/i")[0],it.vod_pic);return it});', + 二级:{ + "title":".slide-info-title&&Text;.slide-info:eq(3)--strong&&Text", + "img":".detail-pic&&data-original", + "desc":".fraction&&Text;.slide-info-remarks:eq(1)&&Text;.slide-info-remarks:eq(2)&&Text;.slide-info:eq(2)--strong&&Text;.slide-info:eq(1)--strong&&Text", + "content":"#height_limit&&Text", + "tabs":".anthology.wow.fadeInUp.animated&&.swiper-wrapper&&a", + "tab_text":".swiper-slide&&Text", + "lists":".anthology-list-box:eq(#id) li" + }, + 搜索:'json:list;name;pic;;id', + } + }; + return JSON.parse(JSON.stringify(mubanDict)); +} +var mubanDict = getMubans(); +var muban = getMubans(); +export default {muban,getMubans}; \ No newline at end of file diff --git a/lib/玩偶哥哥.json b/lib/玩偶哥哥.json new file mode 100644 index 0000000..b8edd05 --- /dev/null +++ b/lib/玩偶哥哥.json @@ -0,0 +1 @@ +{"规则名":"玩偶哥哥","请求头参数":"MOBILE_UA","网页编码格式":"UTF-8","图片是否需要代理":"否","是否开启获取首页数据":"是","首页推荐链接":"https://www.wogg.link/","首页列表数组规则":"body&&.module-items","首页片单列表数组规则":".module-item:not(:contains(饭太硬))","首页片单是否Jsoup写法":"1","分类起始页码":"1","分类链接":"https://www.wogg.link/index.php/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html","分类名称":"玩偶电影&玩偶剧集&综艺&动漫&短剧&音乐","分类名称替换词":"1&2&4&3&6&5","筛选数据":"ext","筛选子分类名称":"","筛选子分类替换词":"*","筛选类型名称":"喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||空||空||空","筛选类型替换词":"喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||空||空||空","筛选地区名称":"大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国||空||空","筛选地区替换词":"大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国||空||空","筛选年份名称":"","筛选年份替换词":"*","筛选语言名称":"国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||空||空||空","筛选语言替换词":"国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||空||空||空","筛选排序名称":"时间&人气&评分","筛选排序替换词":"time&hits&score","分类截取模式":"1","分类列表数组规则":".module-items&&.module-item","分类片单是否Jsoup写法":"是","分类片单标题":"a&&title","分类片单链接":"a&&href","分类片单图片":".module-item-pic&&img&&data-src","分类片单副标题":".module-item-text&&Text","分类片单链接加前缀":"https://www.wogg.link/","分类片单链接加后缀":"","搜索请求头参数":"User-Agent$MOBILE_UA","搜索链接":"https://www.wogg.link/index.php/vodsearch/{wd}----------{SearchPg}---.html","POST请求数据":"","搜索截取模式":"1","搜索列表数组规则":".module-items&&.module-search-item","搜索片单是否Jsoup写法":"是","搜索片单图片":".lazyload&&data-src","搜索片单标题":"h3&&Text","搜索片单链接":"h3&&a&&href","搜索片单副标题":".video-info&&a&&Text","搜索片单链接加前缀":"https://www.wogg.link/","搜索片单链接加后缀":"","链接是否直接播放":"否","直接播放链接加前缀":"","直接播放链接加后缀":"","直接播放直链视频请求头":"","详情是否Jsoup写法":"是","类型详情":"","年代详情":"","地区详情":"","演员详情":".video-info-main&&.video-info-actor,1&&Text","简介详情":".sqjj_a&&Text","线路列表数组规则":".module-tab-content&&.selected","线路标题":"span&&Texe","播放列表数组规则":".module-row-one","选集列表数组规则":".module-row-one","选集标题链接是否Jsoup写法":"是","选集标题":"h4&&Text","选集链接":".btn-down&&a&&href","是否反转选集序列":"否","选集链接加前缀":"","选集链接加后缀":"","分析MacPlayer":"","是否开启手动嗅探":"否","手动嗅探视频链接关键词":".mp4#.m3u8#.flv#video/tos","手动嗅探视频链接过滤词":".html#=http"} \ No newline at end of file diff --git a/lib/玩我哥哥.json b/lib/玩我哥哥.json new file mode 100644 index 0000000..9e2bd82 --- /dev/null +++ b/lib/玩我哥哥.json @@ -0,0 +1 @@ +{"规则名":"玩偶哥哥","规则作者":" 天天开心","请求头参数":"MOBILE_UA","网页编码格式":"UTF-8","图片是否需要代理":"否","是否开启获取首页数据":"是","首页推荐链接":"http://kxys.site:7728/","首页列表数组规则":"body&&.module-items","首页片单列表数组规则":".module-item","首页片单是否Jsoup写法":"1","分类起始页码":"1","分类链接":"http://kxys.site:7728/index.php/vodshow/{cateId}-{area}-{by}-{class}-{lang}----{catePg}---{year}.html","分类名称":"玩我电影&玩我剧集&动漫&综艺&短剧&音乐","分类名称替换词":"1&2&3&4&5&6","筛选数据":"ext","筛选子分类名称":"","筛选子分类替换词":"*","筛选类型名称":"喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||空||空||空","筛选类型替换词":"喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||喜剧&爱情&恐怖&动作&科幻&剧情&战争&警匪&犯罪&古装&奇幻&武侠&冒险&枪战&恐怖&悬疑&惊悚&经典&青春&文艺&微电影&历史||情感&科幻&热血&推理&搞笑&冒险&萝莉&校园&动作&机战&运动&战争&少年&少女&社会&原创&亲子&益智&励志&其他||空||空||空","筛选地区名称":"大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国||空||空","筛选地区替换词":"大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国&德国&泰国&印度&意大利&西班牙&加拿大&其他||大陆&香港&台湾&美国&法国&英国&日本&韩国||空||空","筛选年份名称":"","筛选年份替换词":"*","筛选语言名称":"国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||空||空||空","筛选语言替换词":"国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||国语&英语&粤语&闽南语&韩语&日语&法语&德语&其它||空||空||空","筛选排序名称":"时间&人气&评分","筛选排序替换词":"time&hits&score","分类截取模式":"1","分类列表数组规则":".module-items&&.module-item","分类片单是否Jsoup写法":"是","分类片单标题":"a&&title","分类片单链接":"a&&href","分类片单图片":".module-item-pic&&img&&data-src","分类片单副标题":".module-item-text&&Text","分类片单链接加前缀":"http://kxys.site:7728","分类片单链接加后缀":"","搜索请求头参数":"User-Agent$MOBILE_UA","搜索链接":"http://kxys.site:7728/index.php/vodsearch/{wd}----------{SearchPg}---.html","POST请求数据":"","搜索截取模式":"1","搜索列表数组规则":".module-items&&.module-search-item","搜索片单是否Jsoup写法":"是","搜索片单图片":".lazyload&&data-src","搜索片单标题":"h3&&Text","搜索片单链接":"h3&&a&&href","搜索片单副标题":".video-info&&a&&Text","搜索片单链接加前缀":"http://kxys.site:7728/","搜索片单链接加后缀":"","链接是否直接播放":"否","直接播放链接加前缀":"","直接播放链接加后缀":"","直接播放直链视频请求头":"","详情是否Jsoup写法":"是","类型详情":"","年代详情":"","地区详情":"","演员详情":".video-info-main&&.video-info-actor,1&&Text","简介详情":".sqjj_a&&Text","线路列表数组规则":".module-tab-content&&.selected","线路标题":"span&&Texe","播放列表数组规则":".module-row-one","选集列表数组规则":".module-row-one","选集标题链接是否Jsoup写法":"是","选集标题":"h4&&Text","选集链接":".btn-down&&a&&href","是否反转选集序列":"否","选集链接加前缀":"","选集链接加后缀":"","分析MacPlayer":"","是否开启手动嗅探":"否","手动嗅探视频链接关键词":".mp4#.m3u8#.flv#video/tos","手动嗅探视频链接过滤词":".html#=http"} \ No newline at end of file diff --git a/lib/短剧网.json b/lib/短剧网.json new file mode 100644 index 0000000..14943c9 --- /dev/null +++ b/lib/短剧网.json @@ -0,0 +1 @@ +{"作者":"荷城茶秀","站名":"短剧网","主页url":"https://qiniu.jxkfxz.com/","简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+内详","导演":"运输车/盒子/影视车/天下第一","主演":"日后大佬/心动群管/二少群管/狐狸群管/佳能群管","影片类型":"短剧","影片地区":"未知","影片年代":"未知","线路数组":"data-dropdown-value=&&","线路标题":"🌸荷城茶秀接口🌸+&&[替换:>>共]+集","数组":"module-item-pic\">&&module-item\">","副标题":"module-item-text\"&&","分类url":"https://https://qiniu.jxkfxz.com/vodshow/{cateId}--{by}------{catePg}---.html;;akx","分类":"剧场$juchang#热播剧$reboju#星选好剧$xingxuanhaoju#新剧$xinju#阳光剧场$yangguangjuchang# \ No newline at end of file diff --git a/lib/维奇动漫.json b/lib/维奇动漫.json new file mode 100644 index 0000000..cecf153 --- /dev/null +++ b/lib/维奇动漫.json @@ -0,0 +1,295 @@ + { + + "作者":"荷城茶秀", + + "站名":"维奇动漫", + + "主页url":"https://www.uiviki.com/", + + "简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+剧情简介&&", + + "影片状态":"状态:&&", + + "影片地区":"地区:&&", + + "影片年代":"年代:&&", + + "导演":"总导演:&&", + + "主演":"声优:&&", + + "数组":"
  • &&", + + "图片":"data-echo=\"&&\"", + + "线路数组":"id=\"two1\"&&/li>", + + "线路标题":"🌸荷城茶秀接口🌸+>&&<[替换:播放列表>>维奇专线]", + + "分类url":"https://www.uiviki.com/anime-select-{cateId}-{area}--{class}-{lang}----{catePg}---{year}.html;;akm0", + + "分类":"连载动漫$lianzai#日本动漫$riman#国产动漫$guoman", + + "筛选":{ + "lianzai":[ + {"key":"class","name":"类型","value":[ + {"n":"轻改","v":"轻改"}, + {"n":"游改","v":"游改"}, + {"n":"漫改","v":"漫改"}, + {"n":"原创","v":"原创"}, + {"n":"后宫","v":"后宫"}, + {"n":"乙女","v":"乙女"}, + {"n":"耽美","v":"耽美"}, + {"n":"百合","v":"百合"}, + {"n":"萌系","v":"萌系"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"热血","v":"热血"}, + {"n":"催泪","v":"催泪"}, + {"n":"机战","v":"机战"}, + {"n":"恋爱","v":"恋爱"}, + {"n":"伪娘","v":"伪娘"}, + {"n":"科幻","v":"科幻"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"推理","v":"推理"}, + {"n":"音乐","v":"音乐"}, + {"n":"校园","v":"校园"}, + {"n":"偶像","v":"偶像"}, + {"n":"异界","v":"异界"}, + {"n":"运动","v":"运动"}, + {"n":"少女","v":"少女"}, + {"n":"斗智","v":"斗智"}, + {"n":"战斗","v":"战斗"}, + {"n":"日常","v":"日常"}, + {"n":"魔法","v":"魔法"}, + {"n":"装逼","v":"装逼"}, + {"n":"治愈","v":"治愈"}, + {"n":"战争","v":"战争"}, + {"n":"历史","v":"历史"}, + {"n":"猎奇","v":"猎奇"}, + {"n":"致郁","v":"致郁"}, + {"n":"修仙","v":"修仙"}, + {"n":"美食","v":"美食"}, + {"n":"卖肉","v":"卖肉"}, + {"n":"励志","v":"励志"}, + {"n":"职场","v":"职场"}, + {"n":"神魔","v":"神魔"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"御姐","v":"御姐"}, + {"n":"武侠","v":"武侠"}, + {"n":"穿越","v":"穿越"}, + {"n":"冒险","v":"冒险"} + ] + }, + {"key":"area","name":"地区","value":[ + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"大陆","v":"大陆"}, + {"n":"台湾","v":"台湾"}, + {"n":"香港","v":"香港"}, + {"n":"美国","v":"美国"} + ] + }, + {"key":"lang","name":"语言","value":[ + {"n":"日语","v":"日语"}, + {"n":"英语","v":"英语"}, + {"n":"国语","v":"国语"}, + {"n":"台语","v":"台语"}, + {"n":"粤语","v":"粤语"}, + {"n":"韩语","v":"韩语"} + ] + }, + {"key":"yera","name":"时间","value":[ + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"} + ] + } + ], + "riman":[ + {"key":"class","name":"类型","value":[ + {"n":"轻改","v":"轻改"}, + {"n":"游改","v":"游改"}, + {"n":"漫改","v":"漫改"}, + {"n":"原创","v":"原创"}, + {"n":"后宫","v":"后宫"}, + {"n":"乙女","v":"乙女"}, + {"n":"耽美","v":"耽美"}, + {"n":"百合","v":"百合"}, + {"n":"萌系","v":"萌系"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"热血","v":"热血"}, + {"n":"催泪","v":"催泪"}, + {"n":"机战","v":"机战"}, + {"n":"恋爱","v":"恋爱"}, + {"n":"伪娘","v":"伪娘"}, + {"n":"科幻","v":"科幻"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"推理","v":"推理"}, + {"n":"音乐","v":"音乐"}, + {"n":"校园","v":"校园"}, + {"n":"偶像","v":"偶像"}, + {"n":"异界","v":"异界"}, + {"n":"运动","v":"运动"}, + {"n":"少女","v":"少女"}, + {"n":"斗智","v":"斗智"}, + {"n":"战斗","v":"战斗"}, + {"n":"日常","v":"日常"}, + {"n":"魔法","v":"魔法"}, + {"n":"装逼","v":"装逼"}, + {"n":"治愈","v":"治愈"}, + {"n":"战争","v":"战争"}, + {"n":"历史","v":"历史"}, + {"n":"猎奇","v":"猎奇"}, + {"n":"致郁","v":"致郁"}, + {"n":"修仙","v":"修仙"}, + {"n":"美食","v":"美食"}, + {"n":"卖肉","v":"卖肉"}, + {"n":"励志","v":"励志"}, + {"n":"职场","v":"职场"}, + {"n":"神魔","v":"神魔"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"御姐","v":"御姐"}, + {"n":"武侠","v":"武侠"}, + {"n":"穿越","v":"穿越"}, + {"n":"冒险","v":"冒险"} + ] + }, + {"key":"area","name":"地区","value":[ + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"大陆","v":"大陆"}, + {"n":"台湾","v":"台湾"}, + {"n":"香港","v":"香港"}, + {"n":"美国","v":"美国"} + ] + }, + {"key":"lang","name":"语言","value":[ + {"n":"日语","v":"日语"}, + {"n":"英语","v":"英语"}, + {"n":"国语","v":"国语"}, + {"n":"台语","v":"台语"}, + {"n":"粤语","v":"粤语"}, + {"n":"韩语","v":"韩语"} + ] + }, + {"key":"yera","name":"时间","value":[ + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"} + ] + } + ], + "guoman":[ + {"key":"class","name":"类型","value":[ + {"n":"轻改","v":"轻改"}, + {"n":"游改","v":"游改"}, + {"n":"漫改","v":"漫改"}, + {"n":"原创","v":"原创"}, + {"n":"后宫","v":"后宫"}, + {"n":"乙女","v":"乙女"}, + {"n":"耽美","v":"耽美"}, + {"n":"百合","v":"百合"}, + {"n":"萌系","v":"萌系"}, + {"n":"搞笑","v":"搞笑"}, + {"n":"热血","v":"热血"}, + {"n":"催泪","v":"催泪"}, + {"n":"机战","v":"机战"}, + {"n":"恋爱","v":"恋爱"}, + {"n":"伪娘","v":"伪娘"}, + {"n":"科幻","v":"科幻"}, + {"n":"奇幻","v":"奇幻"}, + {"n":"推理","v":"推理"}, + {"n":"音乐","v":"音乐"}, + {"n":"校园","v":"校园"}, + {"n":"偶像","v":"偶像"}, + {"n":"异界","v":"异界"}, + {"n":"运动","v":"运动"}, + {"n":"少女","v":"少女"}, + {"n":"斗智","v":"斗智"}, + {"n":"战斗","v":"战斗"}, + {"n":"日常","v":"日常"}, + {"n":"魔法","v":"魔法"}, + {"n":"装逼","v":"装逼"}, + {"n":"治愈","v":"治愈"}, + {"n":"战争","v":"战争"}, + {"n":"历史","v":"历史"}, + {"n":"猎奇","v":"猎奇"}, + {"n":"致郁","v":"致郁"}, + {"n":"修仙","v":"修仙"}, + {"n":"美食","v":"美食"}, + {"n":"卖肉","v":"卖肉"}, + {"n":"励志","v":"励志"}, + {"n":"职场","v":"职场"}, + {"n":"神魔","v":"神魔"}, + {"n":"萝莉","v":"萝莉"}, + {"n":"御姐","v":"御姐"}, + {"n":"武侠","v":"武侠"}, + {"n":"穿越","v":"穿越"}, + {"n":"冒险","v":"冒险"} + ] + }, + {"key":"area","name":"地区","value":[ + {"n":"日本","v":"日本"}, + {"n":"韩国","v":"韩国"}, + {"n":"大陆","v":"大陆"}, + {"n":"台湾","v":"台湾"}, + {"n":"香港","v":"香港"}, + {"n":"美国","v":"美国"} + ] + }, + {"key":"lang","name":"语言","value":[ + {"n":"日语","v":"日语"}, + {"n":"英语","v":"英语"}, + {"n":"国语","v":"国语"}, + {"n":"台语","v":"台语"}, + {"n":"粤语","v":"粤语"}, + {"n":"韩语","v":"韩语"} + ] + }, + {"key":"yera","name":"时间","value":[ + {"n":"2022","v":"2022"}, + {"n":"2021","v":"2021"}, + {"n":"2020","v":"2020"}, + {"n":"2019","v":"2019"}, + {"n":"2018","v":"2018"}, + {"n":"2017","v":"2017"}, + {"n":"2016","v":"2016"}, + {"n":"2015","v":"2015"}, + {"n":"2014","v":"2014"}, + {"n":"2013","v":"2013"}, + {"n":"2012","v":"2012"}, + {"n":"2011","v":"2011"}, + {"n":"2010","v":"2010"}, + {"n":"2009","v":"2009"}, + {"n":"2008","v":"2008"} + ] + } + ] + } + } \ No newline at end of file diff --git a/lib/蛋蛋影视.json b/lib/蛋蛋影视.json new file mode 100644 index 0000000..a3edf98 --- /dev/null +++ b/lib/蛋蛋影视.json @@ -0,0 +1 @@ +{"作者":"荷城茶秀","站名":"蛋蛋影视","主页url":"https://https://www.dandanju.tv/","简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!欢迎加入QQ交流群:869277279,公众号:日后魔改,获取更多影视资源。+

    &&蛋蛋剧不参与","导演":"导演:&&

    ","主演":"主演:&&

    ","影片状态":"更新:&&

    ","影片类型":"类型:&&","影片地区":"地区:&&","影片年代":"年份:&&

    ","数组":"ewave-vodlist__thumb lazyload\"&&","标题":"title=\"&&\"","图片":"data-original=\"&&\"","链接":"href=\"&&\"","搜索模式":"1","搜索url":"https://https://www.dandanju.tv/search/{wd}-------------.html","搜索数组":"ewave-vodlist__thumb lazyload&&","搜索标题":"title=\"&&\"","搜索图片":"data-original=\"&&\"","搜索链接":"href=\"&&\"","线路数组":"#playlist&&
  • ","线路标题":"🌸荷城茶秀接口🌸+>&&[替换:(>>共#)>>集]","分类url":"https://https://www.dandanju.tv/show/{cateId}-{area}--{class}-----{catePg}---{year}.html;;ak","分类":"电影$1#电视剧$2#综艺$3#动漫$4"} \ No newline at end of file diff --git a/lib/骚火影视.json b/lib/骚火影视.json new file mode 100644 index 0000000..c398217 --- /dev/null +++ b/lib/骚火影视.json @@ -0,0 +1,41 @@ + { + + "作者":"荷城茶秀", + + "站名":"骚火影视", + + "主页url":"https://shdy2.com/", + + "简介":"【荷城茶秀】提醒您请勿相信影片中的广告,以免上当受骗!+

    ", + + "导演":"

    * / 导演:&& /", + + "主演":"主演:&&

    ", + + "影片地区":"

    && / ", + + "影片年代":"

    * / && /", + + "影片状态":"v_note\">&&", + + "搜索url":"/search.php?searchword={wd}", + + "线路二次截取":"

      &&
    ", + + "线路数组":"", + + "线路标题":"🌸荷城茶秀接口🌸+>&&<[替换:1号线路>>骚火专线#2号线路>>骚火备用]", + + "跳转播放链接":"&&", + + "导演":"导演:&&

    ", + + "主演":"主演:
    &&

    ", + + "影片状态":"更新:&&

    ", + + "影片类型":"类型:&&
    ", + + "影片地区":"地区:&&", + + "影片年代":"年份:&&", + + "数组":"stui-vodlist__thumb lazyload\"&&[不包含:推荐]", + + "标题":"&&", + + "副标题":"text-right\">&&", + + "图片":"data-original=\"&&\"", + + "链接":"href=\"&&\"", + + "搜索url":"http://fagmn.com/search.php;post;searchword={wd}", + + "搜索数组":"stui-vodlist__thumb lazyload\"&&", + + "搜索标题":"&&", + + "搜索副标题":"text-right\">&&", + + "搜索图片":"data-original=\"&&\"", + + "搜索链接":"href=\"&&\"", + + "线路数组":"#down&&[排序:奇>搜>咪]", + + "线路标题":"🌸荷城茶秀接口🌸+>&&", + + "分类url":"http://fagmn.com/list/{cateId}_{catePg}.html;;akm0", + + "分类":"电影$1#电视剧$2#综艺$4#动漫$3"} \ No newline at end of file diff --git a/荷城茶秀.json b/荷城茶秀.json new file mode 100644 index 0000000..8319feb --- /dev/null +++ b/荷城茶秀.json @@ -0,0 +1,968 @@ +{ + "spider": "./HeChengChaXiu.jar", + "wallpaper": "http://rihou.cc:88/壁纸", + "lives": [ + { + "name": "live", + "type": 0, + "url": "./lib/zb.txt", + "epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}" + } + ], + "warningText": "荷城茶秀接口完全免费,切勿付费购买!", + "sites": [ + { + "key": "js_豆瓣热播", + "name": "荷城茶秀", + "type": 3, + "api": "./lib/drpy2.min.js", + "searchable": 0, + "quickSearch": 0, + "filterable": 0, + "ext": "./lib/douban.js" + }, + { + "key": "ikanbot3", + "name": "🅱️爱看波特|T追", + "type": 3, + "api": "./lib/drpy2.min.js", + "ext": "./lib/ikanbot3.js" + }, + { + "key": "AliYunPan", + "name": "🅱️阿里云盘|T设置", + "type": 3, + "api": "csp_AliYunPan", + "searchable": 0, + "filterable": 0, + "ext": "b4242bebe6f144d3aa6a2cd842ac65aa" + }, + { + "key": "wogg", + "name": "🅱️玩偶阿里|T追剧", + "type": 3, + "api": "csp_XYQHikerAL", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./lib/玩偶哥哥.json" + }, + { + "key": "wwgg", + "name": "🅱️玩我阿里|T追剧", + "type": 3, + "api": "csp_XYQHikerAL", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./lib/玩我哥哥.json" + }, + { + "key": "tdal", + "name": "🅱️土豆阿里|T追剧", + "type": 3, + "api": "csp_XYQHikerAL", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./lib/土豆阿里.json" + }, + { + "key": "农民", + "name": "🅱️农民影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/nm.json" + }, + { + "key": "孖", + "name": "🅱️白嫖影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/bp.json" + }, + { + "key": "厂长", + "name": "🅱️厂长影视|T追剧", + "type": 3, + "api": "./lib/drpy2.min.js", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/厂长资源.js" + }, + { + "key": "csp_南瓜", + "name": "🅱️南瓜影视|T追剧", + "type": 3, + "api": "csp_AppHccxNg", + "searchable": 1, + "quickSearch": 1, + "playerType": 2, + "filterable": 1, + "ext": "http://ys.changmengyun.com/api.php/provide/@@荷城茶秀" + }, + { + "key": "剧圈圈", + "name": "🅱️┃剧圈影视┃T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/剧圈圈.json" + }, + { + "key": "csp_xBPQ_玖八", + "name": "🅱️玖八影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/98影视.json" + }, + { + "key": "csp_七新", + "name": "🅱️七新影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/七新影视.json" + }, + { + "key": "csp_yiq", + "name": "🅱️一起影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/yqk.json" + }, + { + "key": "csp_星辰", + "name": "🅱️星辰影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/星辰影视.json" + }, + { + "key": "csp_骚火", + "name": "🅱️骚火影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/骚火影视.json" + }, + { + "key": "csp_蛋蛋", + "name": "🅱️蛋蛋影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/蛋蛋影视.json" + }, + { + "key": "csp_xBPQ_视觉", + "name": "🅱️视觉影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/新视觉影视.json" + }, + { + "key": "csp_黑狐", + "name": "🅱️黑狐影视|T追剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/黑狐影视.json" + }, + { + "key": "csp_JianPian", + "name": "🅱️荐片秒播|T追剧", + "type": 3, + "api": "csp_JianPian", + "playerType": 1, + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "https://ownjpykxttjzuhy.jiesiwa.com" + }, + { + "key": "push_agent", + "name": "🅱️辅助推送|T功能", + "type": 3, + "api": "csp_PushAgent", + "searchable": 0, + "quickSearch": 0, + "filterable": 0 + }, + { + "key": "Gitcafe", + "name": "🔍阿里|小纸条", + "type": 3, + "api": "csp_Gitcafe", + "searchable": 1, + "quickSearch": 1, + "filterable": 1, + "ext": "./tvboxt/tok.txt" + }, + { + "key": "csp_AliPS", + "name": "🔍阿里|盘搜索", + "type": 3, + "api": "csp_AliPS", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./tvbox/tok.txt" + }, + { + "key": "csp_Yisou", + "name": "🔍阿里|易搜索", + "type": 3, + "api": "csp_Yisou", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./tvbox/tok.txt" + }, + { + "key": "csp_Upyunso", + "name": "🔍阿里|优盘搜", + "type": 3, + "api": "csp_Upyunso", + "searchable": 1, + "quickSearch": 1, + "filterable": 0, + "ext": "./tvbox/tok.txt" + }, + { + "key": "cctv", + "name": "📺央视|大全", + "type": 3, + "api": "csp_CCTV", + "searchable": 0, + "filterable": 0, + "ext": "./lib/央视大全.json" + }, + { + "key": "py_cctv_少儿", + "name": "📺央视|少儿", + "type": 3, + "api": "py_cctv_full", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./lib/py_央视少儿.py" + }, + { + "key": "央视经典", + "name": "📺央视|经典", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩经典.json" + }, + { + "key": "py_cctv_企鹅", + "name": "📺体育|直播", + "type": 3, + "api": "py_cctv_full", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./lib/py_企鹅体育.py" + }, + { + "key": "mtv_xp_动漫巴士", + "name": "🐼动漫丨巴士", + "type": 3, + "api": "csp_XBPQ", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./lib/动漫巴士.json" + }, + { + "key": "mtv_xp_维奇动漫", + "name": "🐼维奇丨动漫", + "type": 3, + "api": "csp_XBPQ", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./lib/维奇动漫.json" + }, + { + "key": "csp_短剧", + "name": "🎧刷刷|短剧", + "type": 3, + "api": "csp_XBPQ", + "searchable": 0, + "quickSearch": 0, + "filterable": 1, + "ext": "./lib/短剧网.json" + }, + { + "key": "哔哩音乐", + "name": "🎧哔哩|音乐", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩音乐.json" + }, + { + "key": "幼儿教育", + "name": "🅱幼小|衔接", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩幼小.json" + }, + { + "key": "哔哩小学", + "name": "🅱小学|教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩小学.json" + }, + { + "key": "哔哩初中", + "name": "🅱初中|教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩初中.json" + }, + { + "key": "哔哩高中", + "name": "🅱高中|教育", + "type": 3, + "api": "csp_Bili", + "searchable": 0, + "quickSearch": 1, + "filterable": 1, + "ext": "./lib/哔哩高中.json" + } + ], + "parses": [ + { + "name": "超级并发", + "type": 3, + "url": "Demo" + }, + { + "name": "超级嗅探", + "type": 3, + "url": "Web" + }, + { + "name": "观音解析", + "type": 1, + "url": "http://61.147.93.21:8090/index.php?url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SLYS4k", + "BYGA", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ] + } + }, + { + "name": "茶杯解析", + "type": 1, + "url": "http://110.42.2.247:880/analysis/json/?uid=2449&my=acfgikquvzFGJRW459&url=", + "ext": { + "flag": [ + "qq", + "腾讯", + "企鹅", + "IQiYi", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "YouKu", + "优酷", + "sohu", + "SoHu", + "搜狐", + "letv", + "LeShi", + "乐视", + "imgo", + "mgtv", + "MangGuo", + "芒果", + "SLYS4k", + "BYGA", + "luanzi", + "AliS", + "dxzy", + "bilibili", + "QEYSS", + "xigua", + "西瓜视频", + "腾讯视频", + "奇艺视频", + "优酷视频", + "芒果视频", + "乐视视频" + ] + } + }, + { + "name": "盖碗解析", + "type": 1, + "url": "http://119.91.123.253:1234/Api/cs.php?url=2449&my=acfgikquvzFGJRW459&url=", + "ext": { + "flag": [ + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "乐视", + "pptv", + "PPTV", + "sohu", + "xigua", + "bilibili", + "哔哩哔哩", + "哔哩" + ], + "header": { + "User-Agent": "okhttp/4.1.0" + } + } + }, + { + "name": "白茶嗅探", + "url": "https://jx.bozrc.com:4433/player/?url=", + "showType": 1 + }, + { + "name": "滇红嗅探", + "type": 0, + "url": "https://jx.777jiexi.com/player/?url=" + }, + { + "name": "毛尖嗅探", + "type": 0, + "url": "https://jx.bozrc.com:4433/player/?url=", + "ext": { + "header": { + "User-Agent": "okhttp/4.1.0" + }, + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "leshi", + "LS", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + }, + { + "name": "青柑嗅探", + "type": 0, + "url": "http://www.miaoys.cc/vip/?url=" + }, + { + "name": "岩茶嗅探", + "type": 0, + "url": "https://jx.ppjbk.cn/?url=", + "ext": { + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "小种嗅探", + "type": 0, + "url": "https://jx.jsonplayer.com/player/?url=" + }, + { + "name": "普洱嗅探", + "url": "https://jx.bozrc.com:4433/player/?url=", + "type": 0, + "ext": { + "flag": [ + "qiyi", + "imgo", + "爱奇艺", + "奇艺", + "qq", + "腾讯", + "youku", + "优酷", + "pptv", + "PPTV", + "letv", + "乐视", + "leshi", + "bilibili", + "哔哩哔哩", + "哔哩", + "mgtv", + "芒果", + "sohu", + "xigua", + "fun", + "风行" + ], + "header": { + "User-Agent": "Mozilla/5.0" + } + } + }, + { + "name": "红茶嗅探", + "type": 0, + "url": "https://jx.4kdv.com/?url=", + "ext": { + "header": { + "User-Agent": "okhttp/4.1.0" + }, + "flag": [ + "qq", + "腾讯", + "qiyi", + "爱奇艺", + "奇艺", + "youku", + "优酷", + "mgtv", + "芒果", + "letv", + "leshi", + "LS", + "乐视", + "pptv", + "PPTV", + "sohu", + "bilibili", + "哔哩哔哩", + "哔哩" + ] + } + } + ], + "flags": [ + "youku", + "qq", + "QQ", + "iqiyi", + "qiyi", + "letv", + "sohu", + "tudou", + "pptv", + "PPTV", + "mgtv", + "ltnb", + "rx", + "CL4K", + "xfyun", + "wuduzy", + "wasu", + "bilibili", + "renrenmi", + "xmm", + "xigua", + "m1905 ", + "funshion ", + "duoduozy", + "xinluan", + "ddzy", + "tgqp", + "tkqp", + "XRJX", + "优酷", + "芒果", + "腾讯", + "爱奇艺", + "奇艺", + "哔哩哔哩", + "哔哩" + ], + "ijk": [ + { + "group": "软解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "0" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "mediacodec", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "0" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "0" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + }, + { + "group": "硬解码", + "options": [ + { + "category": 4, + "name": "opensles", + "value": "0" + }, + { + "category": 1, + "name": "fflags", + "value": "fastseek" + }, + { + "category": 4, + "name": "framedrop", + "value": "1" + }, + { + "category": 4, + "name": "enable-accurate-seek", + "value": "0" + }, + { + "category": 4, + "name": "start-on-prepared", + "value": "1" + }, + { + "category": 1, + "name": "http-detect-range-support", + "value": "0" + }, + { + "category": 4, + "name": "mediacodec-handle-resolution-change", + "value": "1" + }, + { + "category": 2, + "name": "skip_loop_filter", + "value": "48" + }, + { + "category": 4, + "name": "reconnect", + "value": "1" + }, + { + "category": 4, + "name": "overlay-format", + "value": "842225234" + }, + { + "category": 4, + "name": "mediacodec", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-auto-rotate", + "value": "1" + }, + { + "category": 4, + "name": "soundtouch", + "value": "1" + }, + { + "category": 4, + "name": "mediacodec-hevc", + "value": "1" + }, + { + "category": 1, + "name": "dns_cache_timeout", + "value": "600000000" + } + ] + } + ], + "rules": [ + { + "name": "lz", + "hosts": [ + "vip.lz", + "hd.lz", + "v.cdnlz" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6.433333,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?1o.*?\\.ts\\s+" + ] + }, + { + "name": "蜗牛直连去广", + "hosts": [ + "vip.123pan.cn", + "rescdn.wuxivlog.cn" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:20.840000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:10.120000,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?1o.*?\\.ts\\s+" + ] + }, + { + "name": "ff", + "hosts": [ + "vip.ffzy", + "hd.ffzy" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:6.666667,[\\s\\S]*?#EXT-X-DISCONTINUITY", + "#EXTINF.*?\\s+.*?1o.*?\\.ts\\s+" + ] + }, + { + "name": "bf", + "hosts": [ + "bfzy", + "s5.bfzycdn" + ], + "regex": [ + "#EXT-X-DISCONTINUITY\\r*\\n*#EXTINF:3,[\\s\\S]*?#EXT-X-DISCONTINUITY" + ] + }, + { + "name": "hs", + "hosts": [ + "huoshan.com" + ], + "regex": [ + "item_id=" + ] + }, + { + "name": "dy", + "hosts": [ + "douyin.com" + ], + "regex": [ + "is_play_url=" + ] + }, + { + "name": "cl", + "hosts": [ + "magnet" + ], + "regex": [ + "最 新", + "直 播", + "更 新" + ] + } + ], + "ads": [ + "mimg.0c1q0l.cn", + "www.googletagmanager.com", + "www.google-analytics.com", + "mc.usihnbcq.cn", + "mg.g1mm3d.cn", + "mscs.svaeuzh.cn", + "cnzz.hhttm.top", + "tp.vinuxhome.com", + "cnzz.mmstat.com", + "www.baihuillq.com", + "s23.cnzz.com", + "z3.cnzz.com", + "c.cnzz.com", + "stj.v1vo.top", + "z12.cnzz.com", + "img.mosflower.cn", + "tips.gamevvip.com", + "ehwe.yhdtns.com", + "xdn.cqqc3.com", + "www.jixunkyy.cn", + "sp.chemacid.cn", + "hm.baidu.com", + "s9.cnzz.com", + "z6.cnzz.com", + "um.cavuc.com", + "mav.mavuz.com", + "wofwk.aoidf3.com", + "z5.cnzz.com", + "xc.hubeijieshikj.cn", + "tj.tianwenhu.com", + "xg.gars57.cn", + "k.jinxiuzhilv.com", + "cdn.bootcss.com", + "ppl.xunzhuo123.com", + "xomk.jiangjunmh.top", + "img.xunzhuo123.com", + "z1.cnzz.com", + "s13.cnzz.com", + "xg.huataisangao.cn", + "z7.cnzz.com", + "xg.huataisangao.cn", + "z2.cnzz.com", + "s96.cnzz.com", + "q11.cnzz.com", + "thy.dacedsfa.cn", + "xg.whsbpw.cn", + "s19.cnzz.com", + "z8.cnzz.com", + "s4.cnzz.com", + "f5w.as12df.top", + "ae01.alicdn.com", + "www.92424.cn", + "k.wudejia.com", + "vivovip.mmszxc.top", + "qiu.xixiqiu.com", + "cdnjs.hnfenxun.com", + "cms.qdwght.com" + ] +} \ No newline at end of file