@rhinostone/swig 2.0.0-alpha.1 → 2.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.changes/unreleased/carve-dateformatter.yaml +4 -0
- package/.changes/unreleased/swig-twig-date-filter.yaml +4 -0
- package/.changes/v2.0.0-alpha.2.md +4 -0
- package/HISTORY.md +5 -0
- package/ROADMAP.md +6 -2
- package/dist/swig.js +4133 -5133
- package/dist/swig.min.js +80 -7
- package/dist/swig.min.js.map +1 -1
- package/lib/dateformatter.js +11 -198
- package/lib/filters.js +3 -4
- package/lib/lexer.js +1 -1
- package/lib/loaders/filesystem.js +3 -5
- package/lib/loaders/index.js +3 -5
- package/lib/loaders/memory.js +4 -6
- package/lib/parser.js +16 -15
- package/lib/swig.js +3 -3
- package/lib/tags/autoescape.js +24 -1
- package/lib/tags/block.js +4 -1
- package/lib/tags/elseif.js +12 -1
- package/lib/tags/extends.js +8 -0
- package/lib/tags/filter.js +68 -9
- package/lib/tags/for.js +34 -28
- package/lib/tags/if.js +43 -4
- package/lib/tags/import.js +23 -3
- package/lib/tags/include.js +69 -9
- package/lib/tags/macro.js +23 -15
- package/lib/tags/parent.js +9 -2
- package/lib/tags/raw.js +12 -1
- package/lib/tags/set.js +58 -3
- package/lib/utils.js +6 -8
- package/package.json +4 -2
package/dist/swig.min.js
CHANGED
|
@@ -1,19 +1,92 @@
|
|
|
1
|
-
/*! Swig
|
|
1
|
+
/*! Swig v2.0.0-alpha.3 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
|
|
2
2
|
/*! DateZ (c) 2011 Tomo Universalis | @license https://github.com/TomoUniversalis/DateZ/blob/master/LISENCE */
|
|
3
|
-
!function e(t,n,r){function o(a,s){if(!n[a]){if(!t[a]){var c="function"==typeof require&&require;if(!s&&c)return c(a,!0);if(i)return i(a,!0);throw new Error("Cannot find module '"+a+"'")}var u=n[a]={exports:{}};t[a][0].call(u.exports,function(e){var n=t[a][1][e];return o(n||e)},u,u.exports,e,t,n,r)}return n[a].exports}for(var i="function"==typeof require&&require,a=0;a<r.length;a++)o(r[a]);return o}({1:[function(e,t,n){var r=e("../lib/swig");"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return r}):window.swig=r},{"../lib/swig":7}],2:[function(e,t,n){var r=e("./utils"),o={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},i={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};n.tzOffset=0,n.DateZ=function(){var e=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],t=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),r.each(t,function(e){o[e]=function(){return o.dateZ[e]()}}),r.each(e,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(n.tzOffset)},n.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},n.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},n.D=function(e){return i.abbr[e.getDay()]},n.j=function(e){return e.getDate()},n.l=function(e){return i.full[e.getDay()]},n.N=function(e){var t=e.getDay();return t>=1?t:7},n.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},n.w=function(e){return e.getDay()},n.z=function(e,t,r){var o=e.getFullYear(),i=new n.DateZ(o,e.getMonth(),e.getDate(),12,0,0),a=new n.DateZ(o,0,1,12,0,0);return i.setTimezoneOffset(t,r),a.setTimezoneOffset(t,r),Math.round((i-a)/864e5)},n.W=function(e){var t,n=new Date(e.valueOf()),r=(e.getDay()+6)%7;return n.setDate(n.getDate()-r+3),t=n.valueOf(),n.setMonth(0,1),4!==n.getDay()&&n.setMonth(0,1+(4-n.getDay()+7)%7),1+Math.ceil((t-n)/6048e5)},n.F=function(e){return o.full[e.getMonth()]},n.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},n.M=function(e){return o.abbr[e.getMonth()]},n.n=function(e){return e.getMonth()+1},n.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},n.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},n.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},n.Y=function(e){return e.getFullYear()},n.y=function(e){return e.getFullYear().toString().substr(2)},n.a=function(e){return e.getHours()<12?"am":"pm"},n.A=function(e){return e.getHours()<12?"AM":"PM"},n.B=function(e){var t,n=e.getUTCHours();return n=23===n?0:n+1,t=Math.abs((60*(60*n+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},n.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},n.G=function(e){return e.getHours()},n.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},n.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},n.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},n.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},n.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},n.Z=function(e){return 60*e.getTimezoneOffset()},n.c=function(e){return e.toISOString()},n.r=function(e){return e.toUTCString()},n.U=function(e){return e.getTime()/1e3}},{"./utils":24}],3:[function(e,t,n){var r=e("./utils"),o=e("./dateformatter"),i=e("../packages/swig-core/lib/filters").iterateFilter;n.addslashes=function(e){var t=i.apply(n.addslashes,arguments);return void 0!==t?t:e.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},n.capitalize=function(e){var t=i.apply(n.capitalize,arguments);return void 0!==t?t:e.toString().charAt(0).toUpperCase()+e.toString().substr(1).toLowerCase()},n.date=function(e,t,n,r){var i,a=t.length,s=new o.DateZ(e),c=0,u="";for(n&&s.setTimezoneOffset(n,r);c<a;c+=1)"\\"===(i=t.charAt(c))?u+=(c+=1)<a?t.charAt(c):i:o.hasOwnProperty(i)?u+=o[i](s,n,r):u+=i;return u},n.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},n.escape=function(e,t){var r,o=i.apply(n.escape,arguments),a=e,s=0;if(void 0!==o)return o;if("string"!=typeof e)return e;if(o="","js"===t){for(a=a.replace(/\\/g,"\\u005C");s<a.length;s+=1)o+=(r=a.charCodeAt(s))<32?"\\u00"+(r=(r=r.toString(16).toUpperCase()).length<2?"0"+r:r):a[s];return o.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return a.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},n.e=n.escape,n.first=function(e){return"object"!=typeof e||r.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[r.keys(e)[0]]},n.groupBy=function(e,t){if(!r.isArray(e))return e;var n={};return r.each(e,function(e){if(e.hasOwnProperty(t)){var o=e[t],i=r.extend({},e);delete i[t],n[o]||(n[o]=[]),n[o].push(i)}}),n},n.join=function(e,t){if(r.isArray(e))return e.join(t);if("object"==typeof e){var n=[];return r.each(e,function(e){n.push(e)}),n.join(t)}return e},n.json=function(e,t){return JSON.stringify(e,null,t||0)},n.json_encode=n.json,n.last=function(e){if("object"==typeof e&&!r.isArray(e)){var t=r.keys(e);return e[t[t.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},n.length=function(e){return"object"!=typeof e||r.isArray(e)?e.hasOwnProperty("length")?e.length:"":r.keys(e).length},n.lower=function(e){var t=i.apply(n.lower,arguments);return void 0!==t?t:e.toString().toLowerCase()},n.raw=function(e){return n.safe(e)},n.raw.safe=!0,n.replace=function(e,t,n,r){var o=new RegExp(t,r);return e.replace(o,n)},n.reverse=function(e){return n.sort(e,!0)},n.safe=function(e){return e},n.safe.safe=!0,n.sort=function(e,t){var n;if(r.isArray(e))n=r.extend([],e).sort();else switch(typeof e){case"object":n=r.keys(e).sort();break;case"string":return n=e.split(""),t?n.reverse().join(""):n.sort().join("")}return n&&t?n.reverse():n||e},n.striptags=function(e){var t=i.apply(n.striptags,arguments);return void 0!==t?t:e.toString().replace(/(<([^>]+)>)/gi,"")},n.title=function(e){var t=i.apply(n.title,arguments);return void 0!==t?t:e.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},n.uniq=function(e){var t;return e&&r.isArray(e)?(t=[],r.each(e,function(e){-1===t.indexOf(e)&&t.push(e)}),t):""},n.upper=function(e){var t=i.apply(n.upper,arguments);return void 0!==t?t:e.toString().toUpperCase()},n.url_encode=function(e){var t=i.apply(n.url_encode,arguments);return void 0!==t?t:encodeURIComponent(e)},n.url_decode=function(e){var t=i.apply(n.url_decode,arguments);return void 0!==t?t:decodeURIComponent(e)}},{"../packages/swig-core/lib/filters":33,"./dateformatter":2,"./utils":24}],4:[function(e,t,n){var r=e("./utils"),o=e("../packages/swig-core/lib/tokentypes"),i=[{type:o.WHITESPACE,regex:[/^\s+/]},{type:o.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:o.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:o.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:o.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:o.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:o.PARENOPEN,regex:[/^\(/]},{type:o.PARENCLOSE,regex:[/^\)/]},{type:o.COMMA,regex:[/^,/]},{type:o.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:o.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:o.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:o.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:o.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:o.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:o.BRACKETOPEN,regex:[/^\[/]},{type:o.BRACKETCLOSE,regex:[/^\]/]},{type:o.CURLYOPEN,regex:[/^\{/]},{type:o.COLON,regex:[/^\:/]},{type:o.CURLYCLOSE,regex:[/^\}/]},{type:o.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:o.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:o.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var t;return r.some(i,function(n){return r.some(n.regex,function(r){var o,i=e.match(r);if(i)return o=i[n.idx||0].replace(/\s*$/,""),o=n.hasOwnProperty("replace")&&n.replace.hasOwnProperty(o)?n.replace[o]:o,t={match:o,type:n.type,length:i[0].length},!0})}),t||(t={match:e,type:o.UNKNOWN,length:e.length}),t}n.types=o,n.read=function(e){for(var t,n=0,r=[];n<e.length;)n+=(t=a(e.substring(n))).length,r.push(t);return r}},{"../packages/swig-core/lib/tokentypes":39,"./utils":24}],5:[function(e,t,n){t.exports=e("../../packages/swig-core/lib/loaders")},{"../../packages/swig-core/lib/loaders":35}],6:[function(e,t,n){var r=e("./utils"),o=e("./lexer"),i=o.types,a=e("../packages/swig-core/lib/tokenparser").TokenParser;
|
|
3
|
+
(()=>{var e=Object.getOwnPropertyNames,t=(t,r)=>function(){return r||(0,t[e(t)[0]])((r={exports:{}}).exports,r),r.exports},r=t({"packages/swig-core/lib/utils.js"(e){var t;e.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},e.startsWith=function(e,t){return 0===e.indexOf(t)},e.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},e.each=function(e,r){var n,o;if(t(e))for(n=0,o=e.length;n<o&&!1!==r(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===r(e[n],n,e))break;return e},e.isArray=t=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},e.some=function(r,n){var o,a,i=0;if(t(r))for(a=r.length;i<a&&!(o=n(r[i],i,r));i+=1);else e.each(r,function(e,t){return!(o=n(e,t,r))});return!!o},e.map=function(e,r){var n,o=0,a=[];if(t(e))for(n=e.length;o<n;o+=1)a[o]=r(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(a[o]=r(e[o],o));return a},e.extend=function(){for(var e,t,r=arguments,n=r[0],o=r.length>1?Array.prototype.slice.call(r,1):[],a=0,i=o.length;a<i;a+=1)for(e in t=o[a]||{})t.hasOwnProperty(e)&&(n[e]=t[e]);return n},e.keys=function(t){return t?Object.keys?Object.keys(t):e.map(t,function(e,t){return t}):[]},e.throwError=function(e,t,r){throw t&&(e+=" on line "+t),r&&(e+=" in file "+r),new Error(e+".")}}}),n=t({"lib/utils.js"(e,t){t.exports=r()}}),o=t({"packages/swig-core/lib/ir.js"(e){function t(e,t){return void 0!==t&&(e.loc=t),e}e.template=function(e,r,n,o){var a={type:"Template",body:e};return void 0!==r&&(a.parent=r),void 0!==n&&(a.blocks=n),t(a,o)},e.text=function(e,r){return t({type:"Text",value:e},r)},e.output=function(e,r,n,o){var a={type:"Output",expr:e};return void 0!==r&&(a.filters=r),void 0!==n&&(a.safe=n),t(a,o)},e.filterCall=function(e,t){var r={name:e};return void 0!==t&&(r.args=t),r},e.ifStmt=function(e,r){return t({type:"If",branches:e},r)},e.ifBranch=function(e,t){return{test:e,body:t}},e.forStmt=function(e,r,n,o,a,i){var s={type:"For",value:e,iterable:r,body:n};return void 0!==o&&(s.key=o),void 0!==a&&(s.emptyBody=a),t(s,i)},e.block=function(e,r,n){return t({type:"Block",name:e,body:r},n)},e.include=function(e,r,n,o,a,i){var s={type:"Include",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importStmt=function(e,r,n){return t({type:"Import",path:e,alias:r},n)},e.macro=function(e,r,n,o){return t({type:"Macro",name:e,params:r,body:n},o)},e.macroParam=function(e,t){var r={name:e};return void 0!==t&&(r.default=t),r},e.call=function(e,r,n){return t({type:"Call",callee:e,args:r},n)},e.set=function(e,r,n,o){return t({type:"Set",target:e,op:r,value:n},o)},e.raw=function(e,r){return t({type:"Raw",value:e},r)},e.parent=function(e,r){var n={type:"Parent"};return void 0!==e&&(n.body=e),t(n,r)},e.autoescape=function(e,r,n){return t({type:"Autoescape",strategy:e,body:r},n)},e.filter=function(e,r,n,o){var a={type:"Filter",name:e,body:r};return void 0!==n&&(a.args=n),t(a,o)},e.withStmt=function(e,r,n,o){var a={type:"With",body:n};return void 0!==e&&(a.context=e),void 0!==r&&(a.isolated=r),t(a,o)},e.legacyJS=function(e,r){return t({type:"LegacyJS",js:e},r)},e.literal=function(e,r,n){return t({type:"Literal",kind:e,value:r},n)},e.varRef=function(e,r){return t({type:"VarRef",path:e},r)},e.access=function(e,r,n){return t({type:"Access",object:e,key:r},n)},e.binaryOp=function(e,r,n,o){return t({type:"BinaryOp",op:e,left:r,right:n},o)},e.unaryOp=function(e,r,n){return t({type:"UnaryOp",op:e,operand:r},n)},e.conditional=function(e,r,n,o){var a={type:"Conditional",test:e,then:r};return a.else=n,t(a,o)},e.arrayLiteral=function(e,r){return t({type:"ArrayLiteral",elements:e},r)},e.objectLiteral=function(e,r){return t({type:"ObjectLiteral",properties:e},r)},e.objectProperty=function(e,t){return{key:e,value:t}},e.fnCall=function(e,r,n){return t({type:"FnCall",callee:e,args:r},n)},e.filterCallExpr=function(e,r,n,o){var a={type:"FilterCall",name:e,input:r};return void 0!==n&&(a.args=n),t(a,o)}}}),a=t({"lib/tags/autoescape.js"(e){var t=n(),r=o(),a=["html","js"];e.compile=function(e,t,n,o,a,i){var s=e(n,o,a,i);return r.autoescape(function(e){if("true"===e)return!0;if("false"===e)return!1;if("string"==typeof e&&e.length>=2){var t=e.charAt(0),r=e.charAt(e.length-1);if('"'===t&&'"'===r||"'"===t&&"'"===r)return e.slice(1,-1)}return e}(t[0]),[r.legacyJS(s)])},e.parse=function(e,r,n,o,i,s){var c;return n.on("*",function(e){if(!c&&(e.type===o.BOOL||e.type===o.STRING&&-1===a.indexOf(e.match)))return this.out.push(e.match),void(c=!0);t.throwError('Unexpected token "'+e.match+'" in autoescape tag',r,s.filename)}),!0},e.ends=!0}}),i=t({"lib/tags/block.js"(e){var t=o();e.compile=function(e,r,n,o,a){var i=r.join("");return t.block(i,[t.legacyJS(e(n,o,a,i))])},e.parse=function(e,t,r){return r.on("*",function(e){this.out.push(e.match)}),!0},e.ends=!0,e.block=!0}}),s=t({"lib/tags/else.js"(e){e.compile=function(){return"} else {\n"},e.parse=function(e,t,r,n,o){return r.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}}}),c=t({"packages/swig-core/lib/tokentypes.js"(e,t){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,UNKNOWN:100}}}),l=t({"lib/tags/if.js"(e){var t=o(),r=c();e.compile=function(e,r,n,o,a,i,s){var c,l,u=[],p=s&&s.irExpr?s.irExpr:t.legacyJS(r.join(" ")),f=[];for(c=0;c<n.length;c++)!(l=n[c])||"elseif"!==l.name&&"else"!==l.name?f.push(l):(u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),p="else"===l.name?null:l.irExpr?l.irExpr:t.legacyJS(l.args.join(" ")),f=[]);return u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),t.ifStmt(u)},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,t,r,n){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return r.on(n.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===n.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),r.on(n.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),r.on(n.BOOL,function(e){this.out.push(e.match)}),r.on(n.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},e.ends=!0}}),u=t({"lib/tags/elseif.js"(e){var t=l().parse,r=c();e.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,r,n,o,a){return t(e,r,n,o,a)&&a.length&&"if"===a[a.length-1].name}}}),p=t({"lib/tags/extends.js"(e){e.compile=function(){},e.parse=function(){return!0},e.ends=!1}}),f=t({"packages/swig-core/lib/dateformatter.js"(e){var t=r(),n={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},o={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};e.tzOffset=0,e.DateZ=function(){var r=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],n=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),t.each(n,function(e){o[e]=function(){return o.dateZ[e]()}}),t.each(r,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(e.tzOffset)},e.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},e.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},e.D=function(e){return o.abbr[e.getDay()]},e.j=function(e){return e.getDate()},e.l=function(e){return o.full[e.getDay()]},e.N=function(e){var t=e.getDay();return t>=1?t:7},e.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},e.w=function(e){return e.getDay()},e.z=function(t,r,n){var o=t.getFullYear(),a=new e.DateZ(o,t.getMonth(),t.getDate(),12,0,0),i=new e.DateZ(o,0,1,12,0,0);return a.setTimezoneOffset(r,n),i.setTimezoneOffset(r,n),Math.round((a-i)/864e5)},e.W=function(e){var t,r=new Date(e.valueOf()),n=(e.getDay()+6)%7;return r.setDate(r.getDate()-n+3),t=r.valueOf(),r.setMonth(0,1),4!==r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)},e.F=function(e){return n.full[e.getMonth()]},e.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},e.M=function(e){return n.abbr[e.getMonth()]},e.n=function(e){return e.getMonth()+1},e.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},e.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},e.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},e.Y=function(e){return e.getFullYear()},e.y=function(e){return e.getFullYear().toString().substr(2)},e.a=function(e){return e.getHours()<12?"am":"pm"},e.A=function(e){return e.getHours()<12?"AM":"PM"},e.B=function(e){var t,r=e.getUTCHours();return r=23===r?0:r+1,t=Math.abs((60*(60*r+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},e.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},e.G=function(e){return e.getHours()},e.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},e.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},e.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},e.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},e.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},e.Z=function(e){return 60*e.getTimezoneOffset()},e.c=function(e){return e.toISOString()},e.r=function(e){return e.toUTCString()},e.U=function(e){return e.getTime()/1e3}}}),h=t({"lib/dateformatter.js"(e,t){t.exports=f()}}),g=t({"packages/swig-core/lib/filters.js"(e){var t=r();e.iterateFilter=function(e){var r=this,n={};return t.isArray(e)?t.map(e,function(e){return r.apply(null,arguments)}):"object"==typeof e?(t.each(e,function(e,t){n[t]=r.apply(null,arguments)}),n):void 0}}}),y=t({"lib/filters.js"(e){var t=n(),r=h(),o=g().iterateFilter;e.addslashes=function(t){var r=o.apply(e.addslashes,arguments);return void 0!==r?r:t.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},e.capitalize=function(t){var r=o.apply(e.capitalize,arguments);return void 0!==r?r:t.toString().charAt(0).toUpperCase()+t.toString().substr(1).toLowerCase()},e.date=function(e,t,n,o){var a,i=t.length,s=new r.DateZ(e),c=0,l="";for(n&&s.setTimezoneOffset(n,o);c<i;c+=1)"\\"===(a=t.charAt(c))?l+=(c+=1)<i?t.charAt(c):a:r.hasOwnProperty(a)?l+=r[a](s,n,o):l+=a;return l},e.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},e.escape=function(t,r){var n,a=o.apply(e.escape,arguments),i=t,s=0;if(void 0!==a)return a;if("string"!=typeof t)return t;if(a="","js"===r){for(i=i.replace(/\\/g,"\\u005C");s<i.length;s+=1)a+=(n=i.charCodeAt(s))<32?"\\u00"+(n=(n=n.toString(16).toUpperCase()).length<2?"0"+n:n):i[s];return a.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return i.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")},e.e=e.escape,e.first=function(e){return"object"!=typeof e||t.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[t.keys(e)[0]]},e.groupBy=function(e,r){if(!t.isArray(e))return e;var n={};return t.each(e,function(e){if(e.hasOwnProperty(r)){var o=e[r],a=t.extend({},e);delete a[r],n[o]||(n[o]=[]),n[o].push(a)}}),n},e.join=function(e,r){if(t.isArray(e))return e.join(r);if("object"==typeof e){var n=[];return t.each(e,function(e){n.push(e)}),n.join(r)}return e},e.json=function(e,t){return JSON.stringify(e,null,t||0)},e.json_encode=e.json,e.last=function(e){if("object"==typeof e&&!t.isArray(e)){var r=t.keys(e);return e[r[r.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},e.length=function(e){return"object"!=typeof e||t.isArray(e)?e.hasOwnProperty("length")?e.length:"":t.keys(e).length},e.lower=function(t){var r=o.apply(e.lower,arguments);return void 0!==r?r:t.toString().toLowerCase()},e.raw=function(t){return e.safe(t)},e.raw.safe=!0,e.replace=function(e,t,r,n){var o=new RegExp(t,n);return e.replace(o,r)},e.reverse=function(t){return e.sort(t,!0)},e.safe=function(e){return e},e.safe.safe=!0,e.sort=function(e,r){var n;if(t.isArray(e))n=t.extend([],e).sort();else switch(typeof e){case"object":n=t.keys(e).sort();break;case"string":return n=e.split(""),r?n.reverse().join(""):n.sort().join("")}return n&&r?n.reverse():n||e},e.striptags=function(t){var r=o.apply(e.striptags,arguments);return void 0!==r?r:t.toString().replace(/(<([^>]+)>)/gi,"")},e.title=function(t){var r=o.apply(e.title,arguments);return void 0!==r?r:t.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},e.uniq=function(e){var r;return e&&t.isArray(e)?(r=[],t.each(e,function(e){-1===r.indexOf(e)&&r.push(e)}),r):""},e.upper=function(t){var r=o.apply(e.upper,arguments);return void 0!==r?r:t.toString().toUpperCase()},e.url_encode=function(t){var r=o.apply(e.url_encode,arguments);return void 0!==r?r:encodeURIComponent(t)},e.url_decode=function(t){var r=o.apply(e.url_decode,arguments);return void 0!==r?r:decodeURIComponent(t)}}}),d=t({"lib/tags/filter.js"(e){var t=y(),r=o(),n=c();e.compile=function(e,t,n,o,a,i,s){var c=t.shift().replace(/\($/,""),l=e(n,o,a,i);")"===t[t.length-1]&&t.pop();var u=s&&s.irExpr?s.irExpr:t.length?t:void 0;return r.filter(c,[r.legacyJS(l)],u)},e.lowerExpr=function(e,t){for(var r=0;r<t.length&&t[r].type===n.WHITESPACE;)r+=1;if(!(r>=t.length)){var o=t[r];if(o.type!==n.VAR){if(o.type===n.FUNCTIONEMPTY)return[];if(o.type===n.FUNCTION){var a,i=1,s=r+1,c=[];for(a=r+1;a<t.length;a+=1){var l=t[a];if(l.type===n.FILTER||l.type===n.FILTEREMPTY)return;if(l.type!==n.PARENOPEN&&l.type!==n.FUNCTION&&l.type!==n.BRACKETOPEN&&l.type!==n.CURLYOPEN){if(l.type!==n.PARENCLOSE&&l.type!==n.BRACKETCLOSE&&l.type!==n.CURLYCLOSE)l.type===n.COMMA&&1===i&&(c.push(t.slice(s,a)),s=a+1);else if(0===(i-=1)){a>s&&c.push(t.slice(s,a));break}}else i+=1}if(0===i){var u=[];for(a=0;a<c.length;a+=1)u.push(e.parseExpr(c[a]));return u}}}}},e.parse=function(e,r,n,o){var a;function i(e){if(!t.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+r+".")}return n.on(o.FUNCTION,function(e){return!!a||(i(a=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!a||(i(a=e.match),void this.out.push(a))}),!0},e.ends=!0}}),m=t({"packages/swig-core/lib/security.js"(e){e.dangerousProps=["__proto__","constructor","prototype"]}}),v=t({"lib/tags/for.js"(e){var t=o(),r=c(),n=m().dangerousProps;e.compile=function(e,r,n,o,a,i,s){var c,l=r.shift(),u="__k";r[0]&&","===r[0]&&(r.shift(),u=l,l=r.shift()),c=s&&s.irExpr?s.irExpr:r.join("");var p=e(n,o,a,i);return t.forStmt(l,c,[t.legacyJS(p)],u)},e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.COMPARATOR&&"in"===t[n].match){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY)return;return e.parseExpr(a)}},e.parse=function(e,t,r,o){var a,i;return r.on(o.NUMBER,function(e){var r=this.state.length?this.state[this.state.length-1]:null;if(!i||r!==o.ARRAYOPEN&&r!==o.CURLYOPEN&&r!==o.CURLYCLOSE&&r!==o.FUNCTION&&r!==o.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),r.on(o.VAR,function(e){if(i&&a)return!0;if(-1!==e.match.indexOf("."))throw new Error('Loop variable "'+e.match+'" must be a bare identifier in "for" tag on line '+t+".");if(-1!==n.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.length||(a=!0),this.out.push(e.match)}),r.on(o.COMMA,function(e){if(!a||this.prevToken.type!==o.VAR)return!0;this.out.push(e.match)}),r.on(o.COMPARATOR,function(e){if("in"!==e.match||!a)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},e.ends=!0}}),E=t({"packages/swig-core/lib/backend.js"(e){var t=r(),n=m(),a=o();function i(e){return e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')}function s(e){return{dangerousProps:(e=e||{}).dangerousProps||n.dangerousProps,throwError:e.throwError||t.throwError}}function c(e,r){switch(e&&"string"==typeof e.type||r.throwError("emitExpr: expected an IR expression node"),e.type){case"Literal":return function(e,t){switch(e.kind){case"string":return JSON.stringify(e.value);case"number":return String(e.value);case"bool":return e.value?"true":"false";case"null":return"null";case"undefined":return"undefined"}t.throwError('emitLiteral: unknown literal kind "'+e.kind+'"')}(e,r);case"VarRef":return function(e,r){t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRef: path must be a non-empty array");return t.each(e.path,function(t){l(t,r,e)}),u(e.path)}(e,r);case"Access":return function(e,t){e.key&&"Literal"===e.key.type&&"string"===e.key.kind&&l(e.key.value,t,e);return c(e.object,t)+"["+c(e.key,t)+"]"}(e,r);case"BinaryOp":return function(e,t){var r=c(e.left,t),n=c(e.right,t);if(o=e.op,"+"===o||"-"===o||"*"===o||"/"===o||"%"===o)return r+" "+e.op+" "+n;var o;if("in"===e.op)return r+" in "+n;return r+e.op+n}(e,r);case"UnaryOp":return function(e,t){var r=c(e.operand,t);e.operand&&"BinaryOp"===e.operand.type&&(r="("+r+")");return e.op+r}(e,r);case"Conditional":return function(e,t){return"("+c(e.test,t)+" ? "+c(e.then,t)+" : "+c(e.else,t)+")"}(e,r);case"ArrayLiteral":return function(e,r){var n=[];return t.each(e.elements,function(e){n.push(c(e,r))}),"["+n.join(", ")+"]"}(e,r);case"ObjectLiteral":return function(e,r){var n=[];return t.each(e.properties,function(e){n.push(c(e.key,r)+":"+c(e.value,r))}),"{"+n.join(", ")+"}"}(e,r);case"FnCall":return function(e,r){var n,o,a,i=[],s=e.callee;if(t.each(e.args,function(e){i.push(c(e,r))}),a=i.join(", "),s&&"VarRef"===s.type&&t.isArray(s.path))return t.each(s.path,function(e){l(e,r,s)}),1===s.path.length?"((typeof _ctx."+(n=s.path[0])+' !== "undefined") ? _ctx.'+n+" : ((typeof "+n+' !== "undefined") ? '+n+" : _fn))("+a+")":(o=s.path.slice(0,-1),"("+u(s.path)+" || _fn).call("+u(o)+(a?", "+a:"")+")");return"("+c(s,r)+")("+a+")"}(e,r);case"FilterCall":return function(e,r){var n=c(e.input,r),o="";if(e.args&&e.args.length){var a=[];t.each(e.args,function(e){a.push(c(e,r))}),o=", "+a.join(", ")}return'_filters["'+e.name+'"]('+n+o+")"}(e,r)}r.throwError('emitExpr: unknown IR expression type "'+e.type+'"')}function l(e,t,r){if(-1!==t.dangerousProps.indexOf(e)){var n=r&&r.loc&&r.loc.line||void 0,o=r&&r.loc&&r.loc.filename||void 0;t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',n,o)}}function u(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}e.compile=function(r,n,o,c){var u="",p=t.isArray(r)?r:r.tokens,f=[];return t.each(p,function(r){if("string"!=typeof r)if(r&&"object"==typeof r&&"string"==typeof r.type&&"function"!=typeof r.compile)f.push(r);else{var i=r.compile(e.compile,r.args?r.args.slice(0):[],r.content?r.content.slice(0):[],n,o,c,r);null!=i&&""!==i&&("string"!=typeof i?t.isArray(i)?t.each(i,function(e){f.push(e)}):"object"!=typeof i||"string"!=typeof i.type?f.push(a.legacyJS(String(i))):f.push(i):f.push(a.legacyJS(i)))}else f.push(a.text(r))}),t.each(f,function(r){if("Text"!==r.type&&"Raw"!==r.type)if("LegacyJS"!==r.type)if("Autoescape"!==r.type){if("If"===r.type){var n="";return t.each(r.branches,function(r,o){var a,s="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(s+='_output += "'+i(e.value)+'";\n'):s+=e.js}),null!==r.test?(a=r.test&&"object"==typeof r.test&&"LegacyJS"===r.test.type?r.test.js:"object"==typeof r.test&&"string"==typeof r.test.type?e.emitExpr(r.test):r.test,n+=0===o?"if ("+a+") { \n"+s:"} else if ("+a+") {\n"+s):n+="} else {\n"+s}),void(u+=n+"\n}")}if("Set"===r.type){var o,a;if(r.target&&"object"==typeof r.target&&"VarRef"===r.target.type){var c=s();t.isArray(r.target.path)&&0!==r.target.path.length||c.throwError("Set: target VarRef must have a non-empty path"),t.each(r.target.path,function(e){l(e,c,r.target)}),o="_ctx."+r.target.path.join(".")}else o=r.target;return a=r.value&&"object"==typeof r.value&&"string"==typeof r.value.type?e.emitExpr(r.value):r.value,void(u+=o+" "+r.op+" "+a+";\n")}if("For"===r.type){var p,f=r.value,h=r.key,g="",y=("_ctx.__loopcache"+Math.random()).replace(/\./g,""),d="_ctx.",m="_ctx.loop";return p=r.iterable&&"object"==typeof r.iterable&&"string"==typeof r.iterable.type?e.emitExpr(r.iterable):r.iterable,t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(g+='_output += "'+i(e.value)+'";\n'):g+=e.js}),void(u+="(function () {\n var __l = "+p+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n if (!__l) { return; }\n var '+y+" = { loop: "+m+", "+f+": "+d+f+", "+h+": "+d+h+" };\n "+m+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n _utils.each(__l, function ("+f+", "+h+") {\n "+d+f+" = "+f+";\n "+d+h+" = "+h+";\n "+m+".key = "+h+";\n "+m+".first = ("+m+".index0 === 0);\n "+m+".last = ("+m+".revindex0 === 0);\n "+g+" "+m+".index += 1; "+m+".index0 += 1; "+m+".revindex -= 1; "+m+".revindex0 -= 1;\n });\n "+m+" = "+y+".loop;\n "+d+f+" = "+y+"."+f+";\n "+d+h+" = "+y+"."+h+";\n "+y+" = undefined;\n})();\n")}if("Macro"!==r.type)if("Parent"!==r.type)if("Block"!==r.type){var v,E,O;if("Include"===r.type)return v=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(E="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),O=r.isolated&&E?E:E?"_utils.extend({}, _ctx, "+E+")":"_ctx",void(u+=(r.ignoreMissing?" try {\n":"")+"_output += _swig.compileFile("+v+', {resolveFrom: "'+r.resolveFrom+'"})('+O+");\n"+(r.ignoreMissing?"} catch (e) {}\n":""));if("With"===r.type){var x;void 0!==r.context&&(x=r.context&&"object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context);var w,C="";return t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(C+='_output += "'+i(e.value)+'";\n'):C+=e.js}),w=r.isolated?void 0!==x?x:"{}":void 0!==x?"_utils.extend({}, _ctx, "+x+")":"_utils.extend({}, _ctx)",void(u+="(function (_ctx) {\n"+C+"})("+w+");\n")}if("Output"===r.type){if(r.expr&&"LegacyJS"===r.expr.type)return void(u+=r.expr.js);var T=e.emitExpr(r.expr);return r.filters&&r.filters.length&&t.each(r.filters,function(r){var n="";if(r.args&&r.args.length){var o=[];t.each(r.args,function(t){o.push(e.emitExpr(t))}),n=", "+o.join(", ")}T='_filters["'+r.name+'"]('+T+n+")"}),void(u+="_output += "+T+";\n")}if("Filter"!==r.type);else{var b="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(b+='_output += "'+i(e.value)+'";\n'):b+=e.js});var R='(function () {\n var _output = "";\n'+b+" return _output;\n})()",A="";if(r.args&&r.args.length){var N=[];t.each(r.args,function(t){t&&"object"==typeof t&&"string"==typeof t.type?N.push(e.emitExpr(t)):N.push(t)}),A=", "+N.join(", ")}u+='_output += _filters["'+r.name+'"]('+R+A+");\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else t.each(r.body||[],function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else{var P="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(P+='_output += "'+i(e.value)+'";\n'):P+=e.js});var k,L,S=r.params||[];if(S.length&&"object"==typeof S[0]&&null!==S[0]&&"string"==typeof S[0].name){var I=[];t.each(S,function(e){I.push(e.name)}),k=I.join(", ");var U=[];t.each(I,function(e){U.push(JSON.stringify(e))}),L=U.join(",")}else k=S.join(""),L='"'+S.join('","')+'"';u+="_ctx."+r.name+" = function ("+k+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (['+L+"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n"+P+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+r.name+".safe = true;\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else u+=r.js;else u+='_output += "'+i(r.value)+'";\n'}),u},e.emitExpr=function(e,t){return c(e,s(t))}}}),O=t({"lib/lexer.js"(e){var t=n(),r=c(),o=[{type:r.WHITESPACE,regex:[/^\s+/]},{type:r.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:r.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:r.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:r.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:r.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:r.PARENOPEN,regex:[/^\(/]},{type:r.PARENCLOSE,regex:[/^\)/]},{type:r.COMMA,regex:[/^,/]},{type:r.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:r.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:r.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:r.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:r.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:r.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:r.BRACKETOPEN,regex:[/^\[/]},{type:r.BRACKETCLOSE,regex:[/^\]/]},{type:r.CURLYOPEN,regex:[/^\{/]},{type:r.COLON,regex:[/^\:/]},{type:r.CURLYCLOSE,regex:[/^\}/]},{type:r.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:r.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:r.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var n;return t.some(o,function(r){return t.some(r.regex,function(t){var o,a=e.match(t);if(a)return o=a[r.idx||0].replace(/\s*$/,""),o=r.hasOwnProperty("replace")&&r.replace.hasOwnProperty(o)?r.replace[o]:o,n={match:o,type:r.type,length:a[0].length},!0})}),n||(n={match:e,type:r.UNKNOWN,length:e.length}),n}e.types=r,e.read=function(e){for(var t,r=0,n=[];r<e.length;)r+=(t=a(e.substring(r))).length,n.push(t);return n}}}),x=t({"packages/swig-core/lib/tokenparser.js"(e){var t=r(),n=c(),a=o(),i=m().dangerousProps,s=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function l(e,r,o,a,i){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=a,this.filename=i,this.filters=r,this.escape=o,this.parse=function(){var r=this;return r._parsers.start&&r._parsers.start.call(r),t.each(e,function(t,o){var a=e[o-1];if(r.isLast=o===e.length-1,a)for(;a.type===n.WHITESPACE;)a=e[(o-=1)-1];r.prevToken=a,r.parseToken(t)}),r._parsers.end&&r._parsers.end.call(r),r.escape&&(r.filterApplyIdx=[0],"string"==typeof r.escape?(r.parseToken({type:n.FILTER,match:"e"}),r.parseToken({type:n.COMMA,match:","}),r.parseToken({type:n.STRING,match:String(o)}),r.parseToken({type:n.PARENCLOSE,match:")"})):r.parseToken({type:n.FILTEREMPTY,match:"e"})),r.out}}l.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var r,o=this,a=o._parsers[e.type]||o._parsers["*"],s=e.match,c=o.prevToken,l=c?c.type:null,u=o.state.length?o.state[o.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(u&&c&&u===n.FILTER&&l===n.FILTER&&e.type!==n.PARENCLOSE&&e.type!==n.COMMA&&e.type!==n.OPERATOR&&e.type!==n.FILTER&&e.type!==n.FILTEREMPTY&&o.out.push(", "),u&&u===n.METHODOPEN&&(o.state.pop(),e.type!==n.PARENCLOSE&&o.out.push(", ")),e.type){case n.WHITESPACE:break;case n.STRING:if(u===n.BRACKETOPEN){var p=s.replace(/^['"]|['"]$/g,"");-1!==i.indexOf(p)&&t.throwError('Unsafe access to "'+p+'" via bracket notation is not allowed in templates (CVE-2023-25345)',o.line,o.filename)}o.filterApplyIdx.push(o.out.length),o.out.push(s.replace(/\\/g,"\\\\"));break;case n.NUMBER:case n.BOOL:o.filterApplyIdx.push(o.out.length),o.out.push(s);break;case n.FILTER:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.state.push(e.type);break;case n.FILTEREMPTY:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.out.push(")");break;case n.FUNCTION:case n.FUNCTIONEMPTY:o.out.push("((typeof _ctx."+s+' !== "undefined") ? _ctx.'+s+" : ((typeof "+s+' !== "undefined") ? '+s+" : _fn))("),o.escape=!1,e.type===n.FUNCTIONEMPTY?o.out[o.out.length-1]=o.out[o.out.length-1]+")":o.state.push(e.type),o.filterApplyIdx.push(o.out.length-1);break;case n.PARENOPEN:o.state.push(e.type),o.filterApplyIdx.length?(o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,"("),c&&l===n.VAR?(r=c.match.split(".").slice(0,-1),o.out.push(" || _fn).call("+o.checkMatch(r)),o.state.push(n.METHODOPEN),o.escape=!1):o.out.push(" || _fn)("),o.filterApplyIdx.push(o.out.length-3)):(o.out.push("("),o.filterApplyIdx.push(o.out.length-1));break;case n.PARENCLOSE:(r=o.state.pop())!==n.PARENOPEN&&r!==n.FUNCTION&&r!==n.FILTER&&t.throwError("Mismatched nesting state",o.line,o.filename),o.out.push(")"),o.filterApplyIdx.pop(),r!==n.FILTER&&o.filterApplyIdx.pop();break;case n.COMMA:u!==n.FUNCTION&&u!==n.FILTER&&u!==n.ARRAYOPEN&&u!==n.CURLYOPEN&&u!==n.PARENOPEN&&u!==n.COLON&&t.throwError("Unexpected comma",o.line,o.filename),u===n.COLON&&o.state.pop(),o.out.push(", "),o.filterApplyIdx.pop();break;case n.LOGIC:case n.COMPARATOR:c&&l!==n.COMMA&&l!==e.type&&l!==n.BRACKETOPEN&&l!==n.CURLYOPEN&&l!==n.PARENOPEN&&l!==n.FUNCTION||t.throwError("Unexpected logic",o.line,o.filename),o.out.push(e.match);break;case n.NOT:o.out.push(e.match);break;case n.VAR:o.parseVar(e,s,u);break;case n.BRACKETOPEN:!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.PARENCLOSE?(o.state.push(n.ARRAYOPEN),o.filterApplyIdx.push(o.out.length)):o.state.push(e.type),o.out.push("[");break;case n.BRACKETCLOSE:(r=o.state.pop())!==n.BRACKETOPEN&&r!==n.ARRAYOPEN&&t.throwError("Unexpected closing square bracket",o.line,o.filename),o.out.push("]"),o.filterApplyIdx.pop();break;case n.CURLYOPEN:o.state.push(e.type),o.out.push("{"),o.filterApplyIdx.push(o.out.length-1);break;case n.COLON:u!==n.CURLYOPEN&&t.throwError("Unexpected colon",o.line,o.filename),o.state.push(e.type),o.out.push(":"),o.filterApplyIdx.pop();break;case n.CURLYCLOSE:u===n.COLON&&o.state.pop(),o.state.pop()!==n.CURLYOPEN&&t.throwError("Unexpected closing curly brace",o.line,o.filename),o.out.push("}"),o.filterApplyIdx.pop();break;case n.DOTKEY:(!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.DOTKEY&&l!==n.PARENCLOSE&&l!==n.FUNCTIONEMPTY&&l!==n.FILTEREMPTY&&l!==n.CURLYCLOSE)&&t.throwError('Unexpected key "'+s+'"',o.line,o.filename),-1!==i.indexOf(s)&&t.throwError('Unsafe access to "'+s+'" is not allowed in templates (CVE-2023-25345)',o.line,o.filename),o.out.push("."+s);break;case n.OPERATOR:o.out.push(" "+s+" "),o.filterApplyIdx.pop()}},parseVar:function(e,r,o){var a=this;if(r=r.split("."),-1!==s.indexOf(r[0])&&t.throwError('Reserved keyword "'+r[0]+'" attempted to be used as a variable',a.line,a.filename),t.each(r,function(e){-1!==i.indexOf(e)&&t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',a.line,a.filename)}),a.filterApplyIdx.push(a.out.length),o===n.CURLYOPEN)return r.length>1&&t.throwError("Unexpected dot",a.line,a.filename),void a.out.push(r[0]);a.out.push(a.checkMatch(r))},parseExpr:function(e,r){var o=this,c=0;function l(){return function(){for(;c<e.length&&e[c].type===n.WHITESPACE;)c+=1}(),c<e.length?e[c]:null}function u(){var e=l();return e&&(c+=1),e}function p(e){t.throwError(e,o.line,o.filename)}function f(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)')}function h(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" via bracket notation is not allowed in templates (CVE-2023-25345)')}function g(e){var t;if(e.type===n.LOGIC){if("||"===e.match)return{op:"||",prec:1};if("&&"===e.match)return{op:"&&",prec:2}}if(e.type===n.COMPARATOR)return"==="===(t=e.match)||"!=="===t||"=="===t||"!="===t?{op:t,prec:3}:{op:t,prec:4};if(e.type===n.OPERATOR){if("+"===(t=e.match)||"-"===t)return{op:t,prec:5};if("*"===t||"/"===t||"%"===t)return{op:t,prec:6}}return null}function y(e){return e.replace(/^['"]|['"]$/g,"")}function d(e){var t=[],r=l();if(r&&r.type===e)return u(),t;for(;;){t.push(O(0));var o=u();if(o||p("Unexpected end of expression"),o.type===e)break;o.type!==n.COMMA&&p("Expected comma or closing delimiter")}return t}function m(e){for(;;){var t=l();if(!t)break;if(t.type===n.DOTKEY)u(),f(t.match),e="VarRef"===e.type?a.varRef(e.path.concat([t.match])):a.access(e,a.literal("string",t.match));else if(t.type===n.BRACKETOPEN){u();var r=O(0);"Literal"===r.type&&"string"===r.kind&&h(r.value);var i=u();i&&i.type===n.BRACKETCLOSE||p("Unexpected closing square bracket"),e=a.access(e,r)}else if(t.type===n.PARENOPEN)u(),e=a.fnCall(e,d(n.PARENCLOSE));else{if(t.type!==n.FILTER&&t.type!==n.FILTEREMPTY)break;u();var s,c=t.match;o.filters.hasOwnProperty(c)&&"function"==typeof o.filters[c]||p('Invalid filter "'+c+'"'),t.type===n.FILTER&&(s=d(n.PARENCLOSE)),e=a.filterCallExpr(c,e,s)}}return e}function v(){var e,r=u();switch(r||p("Unexpected end of expression"),r.type){case n.STRING:return a.literal("string",y(r.match));case n.NUMBER:return a.literal("number",parseFloat(r.match));case n.BOOL:return a.literal("bool","true"===r.match);case n.NOT:return a.unaryOp("!",E());case n.OPERATOR:if("+"===(e=r.match)||"-"===e)return a.unaryOp(e,E());p('Unexpected operator "'+e+'"');break;case n.PARENOPEN:var o=O(0),i=u();return i&&i.type===n.PARENCLOSE||p("Mismatched nesting state"),m(o);case n.BRACKETOPEN:return m(a.arrayLiteral(d(n.BRACKETCLOSE)));case n.CURLYOPEN:return m(function(){var e=[],t=l();if(t&&t.type===n.CURLYCLOSE)return u(),a.objectLiteral([]);for(;;){var r,o=u();o||p("Unclosed object literal"),o.type===n.STRING?r=a.literal("string",y(o.match)):o.type===n.VAR?(-1!==o.match.indexOf(".")&&p("Unexpected dot"),r=a.literal("string",o.match)):o.type===n.NUMBER?r=a.literal("number",parseFloat(o.match)):p("Unexpected object key");var i=u();i&&i.type===n.COLON||p("Unexpected colon");var s=O(0);e.push(a.objectProperty(r,s));var c=u();if(c||p("Unclosed object literal"),c.type===n.CURLYCLOSE)break;c.type!==n.COMMA&&p("Expected comma or closing curly brace")}return a.objectLiteral(e)}());case n.VAR:var c=r.match.split(".");return-1!==s.indexOf(c[0])&&p('Reserved keyword "'+c[0]+'" attempted to be used as a variable'),t.each(c,function(e){f(e)}),m(a.varRef(c));case n.FUNCTION:case n.FUNCTIONEMPTY:return e=r.match,-1!==s.indexOf(e)&&p('Reserved keyword "'+e+'" attempted to be used as a variable'),f(e),r.type===n.FUNCTIONEMPTY?m(a.fnCall(a.varRef([e]),[])):m(a.fnCall(a.varRef([e]),d(n.PARENCLOSE)))}return p('Unexpected token "'+r.match+'"'),null}function E(){return v()}function O(e){for(var t=E();;){var r=l();if(!r)break;if(r.type===n.FILTER||r.type===n.FILTEREMPTY)break;var o=g(r);if(!o||o.prec<e)break;u();var i=O(o.prec+1);t=a.binaryOp(o.op,t,i)}return t}var x=O(0);return r&&(r.pos=c),x},parseOutput:function(e){var r=this;function o(){var e=r.parse().join("");return a.output(a.legacyJS("_output += "+e+";\n"))}var i,s,c=!1;for(i=0;i<e.length;i+=1)if(e[i].type!==n.WHITESPACE){c=!0;break}if(!c)return o();if("string"==typeof r.escape)return o();var l=0,u=!1,p=!1,f=-1;for(i=0;i<e.length;i+=1)s=e[i],0===l&&(s.type!==n.OPERATOR&&s.type!==n.LOGIC&&s.type!==n.COMPARATOR&&s.type!==n.NOT||(u=!0),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||(p=!0,f<0&&(f=i))),s.type===n.PARENOPEN||s.type===n.FUNCTION||s.type===n.BRACKETOPEN||s.type===n.CURLYOPEN||s.type===n.FILTER?l+=1:s.type!==n.PARENCLOSE&&s.type!==n.BRACKETCLOSE&&s.type!==n.CURLYCLOSE||(l-=1);if(0===f)return o();try{var h=r.escape;for(i=0;i<e.length;i+=1)if((s=e[i]).type!==n.FUNCTION&&s.type!==n.FUNCTIONEMPTY||(h=!1),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||r.filters.hasOwnProperty(s.match)&&"function"==typeof r.filters[s.match]&&r.filters[s.match].safe&&(h=!1),s.type===n.PARENOPEN){for(var g=i-1;g>=0&&e[g].type===n.WHITESPACE;)g-=1;g>=0&&e[g].type===n.VAR&&(h=!1)}if(u&&p){var y=r.parseExpr(e),d=h?[a.filterCall("e")]:[];return a.output(y,d.length>0?d:void 0)}var m=f>=0?f:e.length,v=e.slice(0,m),E={pos:0},O=r.parseExpr(v,E),x=!1;for(i=E.pos;i<v.length;i+=1)if(v[i].type!==n.WHITESPACE){x=!0;break}if(x)return o();var w=[];if(f>=0)for(var C=f;C<e.length;){var T=e[C];if(T.type!==n.WHITESPACE)if(T.type!==n.FILTEREMPTY)if(T.type!==n.FILTER)t.throwError('Unexpected token "'+T.match+'"',r.line,r.filename);else{r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1);for(var b=1,R=C+1,A=C+1;A<e.length&&b>0;){var N=e[A];if(N.type===n.PARENOPEN||N.type===n.FUNCTION||N.type===n.BRACKETOPEN||N.type===n.CURLYOPEN||N.type===n.FILTER)b+=1;else if((N.type===n.PARENCLOSE||N.type===n.BRACKETCLOSE||N.type===n.CURLYCLOSE)&&0===(b-=1))break;A+=1}0!==b&&t.throwError('Unable to parse filter "'+T.match+'"',r.line,r.filename);var P,k=[],L=R,S=1;for(P=R;P<A;P+=1){var I=e[P];I.type===n.PARENOPEN||I.type===n.FUNCTION||I.type===n.BRACKETOPEN||I.type===n.CURLYOPEN||I.type===n.FILTER?S+=1:I.type===n.PARENCLOSE||I.type===n.BRACKETCLOSE||I.type===n.CURLYCLOSE?S-=1:I.type===n.COMMA&&1===S&&(k.push(e.slice(L,P)),L=P+1)}L<A&&k.push(e.slice(L,A));var U,F=[];for(U=0;U<k.length;U+=1){var _,j=k[U],M=!1;for(_=0;_<j.length;_+=1)if(j[_].type!==n.WHITESPACE){M=!0;break}M&&F.push(r.parseExpr(j))}w.push(a.filterCall(T.match,F)),C=A+1}else r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1),w.push(a.filterCall(T.match)),C+=1;else C+=1}return h&&w.push(a.filterCall("e")),a.output(O,w.length>0?w:void 0)}catch(e){return o()}},checkMatch:function(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}},e.TokenParser=l}}),w=t({"lib/parser.js"(e){var t=n(),r=O(),o=r.types,a=x().TokenParser;function i(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}e.parse=function(n,s,c,l,u){s=s.replace(/\r\n/g,"\n");var p,f=c.autoescape,h=c.tagControls[0],g=c.tagControls[1],y=c.varControls[0],d=c.varControls[1],m=i(h),v=i(g),E=i(y),O=i(d),x=new RegExp("^"+m+"-?\\s*-?|-?\\s*-?"+v+"$","g"),w=new RegExp("^"+m+"-"),C=new RegExp("-"+v+"$"),T=new RegExp("^"+E+"-?\\s*-?|-?\\s*-?"+O+"$","g"),b=new RegExp("^"+E+"-"),R=new RegExp("-"+O+"$"),A=c.cmtControls[0],N=c.cmtControls[1],P="[\\s\\S]*?",k=new RegExp("("+m+P+v+"|"+E+P+O+"|"+i(A)+P+i(N)+")"),L=1,S=[],I=null,U=[],F={},_=!1;function j(e,n){var o,i,s=r.read(t.strip(e));return i=(o=new a(s,u,f,n,c.filename)).parseOutput(s),o.state.length&&t.throwError('Unable to parse "'+e+'"',n,c.filename),i}function M(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}return e.parseVariable=j,t.each(s.split(k),function(e){var i,s,m,v,E;if(e){if(!_&&t.startsWith(e,y)&&t.endsWith(e,d))m=b.test(e),p=R.test(e),i=j(e.replace(T,""),L);else if(t.startsWith(e,h)&&t.endsWith(e,g))m=w.test(e),p=C.test(e),(i=function(e,i){var s,p,h,g,y,d,m;if(t.startsWith(e,"end")){if((m=S[S.length-1])&&m.name===e.split(/\s+/)[0].replace(/^end/,"")&&m.ends){switch(m.name){case"autoescape":f=c.autoescape;break;case"raw":_=!1}return void S.pop()}_||t.throwError('Unexpected end of tag "'+e.replace(/^end/,"")+'"',i,c.filename)}if(!_){switch(g=(h=e.split(/\s+(.+)?/)).shift(),l.hasOwnProperty(g)||t.throwError('Unexpected tag "'+e+'"',i,c.filename),s=r.read(t.strip(h.join(" "))),p=new a(s,u,!1,i,c.filename),(y=l[g]).parse(h[1],i,p,o,S,c,n)||t.throwError('Unexpected tag "'+g+'"',i,c.filename),p.parse(),d=p.out,g){case"autoescape":f="false"!==d[0]&&d[0];break;case"raw":_=!0}var v;return"function"==typeof y.lowerExpr&&(v=y.lowerExpr(p,s,h[1],i)),{block:!!l[g].block,compile:y.compile,args:d,content:[],ends:y.ends,name:g,irExpr:v}}}(e.replace(x,""),L))&&("extends"===i.name?I=i.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""):i.block&&!S.length&&(F[i.args.join("")]=i)),_&&!i&&(i=e);else if(_||!t.startsWith(e,A)&&!t.endsWith(e,N))i=p?e.replace(/^\s*/,""):e,p=!1;else if(t.startsWith(e,A)&&t.endsWith(e,N))return;m&&U.length&&("string"==typeof(v=U.pop())?v=M(v):v.content&&v.content.length&&(E=M(v.content.pop()),v.content.push(E)),U.push(v)),i&&(S.length?S[S.length-1].content.push(i):U.push(i),i.name&&i.ends&&S.push(i),s=e.match(/\n/g),L+=s?s.length:0)}}),{name:c.filename,parent:I,tokens:U,blocks:F}},e.compile=E().compile}}),C=t({"lib/tags/import.js"(e){var t=n(),r=E(),o=m().dangerousProps;e.compile=function(e,r){var n=r.pop(),o=t.map(r,function(e){return e.name}).join("|"),a="_ctx."+n+' = {};\n var _output = "";\n',i=t.map(r,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return t.each(r,function(e){var r=e.compiled;t.each(i,function(e){r=r.replace(e.ex,e.re)}),a+=r}),a},e.parse=function(e,n,a,i,s,c,l){var u,p,f=w().compile,h={resolveFrom:c.filename},g=t.extend({},c,h);return a.on(i.STRING,function(e){var o=this;if(!u)return u=l.parseFile(e.match.replace(/^("|')|("|')$/g,""),h).tokens,void t.each(u,function(e){var t,n="";e&&"macro"===e.name&&e.compile&&(t=e.args[0],n+=r.compile([e.compile(f,e.args,e.content,[],g)],[],g)+"\n",o.out.push({compiled:n,name:t}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),a.on(i.VAR,function(e){if(!u||p)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match){if(-1!==o.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (CVE-2023-25345) on line '+n+".");return p=e.match,this.out.push(p),!1}}),!0},e.block=!0}}),T=t({"lib/tags/include.js"(e){var t=o(),r=c(),n="ignore",a="missing",i="only";e.compile=function(e,r,n,o,s,c,l){var u=r.shift(),p=r.indexOf(i),f=-1!==p&&r.splice(p,1),h=(r.pop()||"").replace(/\\/g,"\\\\"),g=r[r.length-1]===a&&r.pop(),y=r.join("");return l&&l.irExpr&&(u=l.irExpr.file,y=void 0!==l.irExpr.context?l.irExpr.context:void 0),t.include(u,y||void 0,!!f,!!g,h)},e.lowerExpr=function(e,t){var o,a,s=0,c=-1,l=-1,u=-1;for(o=0;o<t.length;o++){if((a=t[o]).type===r.FILTER||a.type===r.FILTEREMPTY)return;a.type!==r.PARENOPEN&&a.type!==r.BRACKETOPEN&&a.type!==r.ARRAYOPEN&&a.type!==r.CURLYOPEN&&a.type!==r.FUNCTION&&a.type!==r.METHODOPEN?a.type!==r.PARENCLOSE&&a.type!==r.BRACKETCLOSE&&a.type!==r.CURLYCLOSE?0===s&&a.type===r.VAR&&(-1===c&&"with"===a.match?c=o:-1!==c&&-1===l&&a.match===i?l=o:-1===u&&a.match===n&&(u=o)):s--:s++}var p=t.length;-1!==c?p=c:-1!==u&&(p=u);var f=t.slice(0,p);if(0!==f.length){var h={file:e.parseExpr(f)};if(-1!==c){var g=t.length;-1!==l?g=l:-1!==u&&(g=u);var y=t.slice(c+1,g);y.length>0&&(h.context=e.parseExpr(y))}return h}},e.parse=function(e,t,r,o,s,c){var l,u;return r.on(o.STRING,function(e){return!!l||(l=e.match,void this.out.push(l))}),r.on(o.VAR,function(e){if(!l)return l=e.match,!0;if(u||"with"!==e.match){if(!u||e.match!==i||"with"===this.prevToken.match){if(e.match===n)return!1;if(e.match===a){if(this.prevToken.match!==n)throw new Error('Unexpected token "'+a+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===n)throw new Error('Expected "'+a+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else u=!0}),r.on("end",function(){this.out.push(c.filename||null)}),!0}}}),b=t({"lib/tags/macro.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s=r.shift();return t.macro(s,r,[t.legacyJS(e(n,o,a,i))])};var r=m().dangerousProps;e.parse=function(e,t,n,o){var a;return n.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");return a=e.match,void this.out.push(a)}if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro argument "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.push({name:e.match})}),n.on(o.FUNCTION,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a),this.state.push(o.FUNCTION)}}),n.on(o.FUNCTIONEMPTY,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a)}}),n.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(o.COMMA,function(){}),n.on("*",function(){}),!0},e.ends=!0,e.block=!0}}),R=t({"lib/tags/parent.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){if(!o||!o.length)return"";for(var s,c,l=r[0],u=o.length,p=0;p<u;p+=1)if((s=o[p]).blocks&&s.blocks.hasOwnProperty(i)&&l!==s.name){var f=(c=s.blocks[i]).compile(e,[i],c.content,o.slice(p+1),a);return t.parent(f&&f.body?f.body.concat([t.legacyJS("\n")]):[t.legacyJS("\n")])}},e.parse=function(e,t,r,n,o,a){return r.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),r.on("end",function(){this.out.push(a.filename)}),!0}}}),A=t({"lib/tags/raw.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s,c=[];for(s=0;s<n.length;s++)"string"==typeof n[s]?c.push(t.raw(n[s])):c.push(t.legacyJS(e([n[s]],o,a,i)));return c},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},e.ends=!0}}),N=t({"lib/tags/set.js"(e){var t=o(),r=c(),n=/^_ctx\.([a-zA-Z_$][\w$]*)((?:\.[a-zA-Z_$][\w$]*)*)$/;e.compile=function(e,r,o,a,i,s,c){var l=r[0],u="string"==typeof l&&n.exec(l);if(u){var p=[u[1]];if(u[2])for(var f=u[2].split("."),h=1;h<f.length;h++)p.push(f[h]);l=t.varRef(p)}var g=c&&c.irExpr?c.irExpr:r.slice(2).join(" ");return t.set(l,r[1],g)};var a=m().dangerousProps;e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.ASSIGNMENT){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY||a[n].type===r.ASSIGNMENT)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var o,i="";return r.on(n.VAR,function(e){if(o)o+="_ctx."+e.match;else{if(r.out.length)return!0;for(var n=e.match.split("."),s=0;s<n.length;s++)if(-1!==a.indexOf(n[s]))throw new Error('Unsafe assignment to "'+n[s]+'" is not allowed (CVE-2023-25345) on line '+t+".");i+=e.match}}),r.on(n.BRACKETOPEN,function(e){if(o||this.out.length)return!0;o=e.match}),r.on(n.STRING,function(e){if(!o||this.out.length)return!0;var r=e.match.replace(/^['"]|['"]$/g,"");if(-1!==a.indexOf(r))throw new Error('Unsafe assignment to "'+r+'" via bracket notation is not allowed (CVE-2023-25345) on line '+t+".");o+=e.match}),r.on(n.BRACKETCLOSE,function(e){return!(o&&!this.out.length)||(i+=o+e.match,void(o=void 0))}),r.on(n.DOTKEY,function(e){if(!o&&!i)return!0;if(-1!==a.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i+="."+e.match}),r.on(n.ASSIGNMENT,function(e){if(this.out.length||!i)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+i),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},e.block=!0}}),P=t({"lib/tags/spaceless.js"(e){n();e.compile=function(e,t,r,n,o,a){var i=e(r,n,o,a);return i+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},e.ends=!0}}),k=t({"lib/tags/index.js"(e){e.autoescape=a(),e.block=i(),e.else=s(),e.elseif=u(),e.elif=e.elseif,e.extends=p(),e.filter=d(),e.for=v(),e.if=l(),e.import=C(),e.include=T(),e.macro=b(),e.parent=R(),e.raw=A(),e.set=N(),e.spaceless=P()}}),L=t({"browser/stubs/fs.js"(e,t){t.exports={}}}),S=t({"node_modules/path-browserify/index.js"(e,t){"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",o=0,a=-1,i=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===i);else if(a!==s-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,a=s,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),o=s-a-1;a=s,i=0}else 46===r&&-1!==i?++i:i=-1}return n}var o={resolve:function(){for(var e,t="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=process.cwd()),i=e),r(i),0!==i.length&&(t=i+"/"+t,o=47===i.charCodeAt(0))}return t=n(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,i=a-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,l=i<c?i:c,u=-1,p=0;p<=l;++p){if(p===l){if(c>l){if(47===t.charCodeAt(s+p))return t.slice(s+p+1);if(0===p)return t.slice(s+p)}else i>l&&(47===e.charCodeAt(n+p)?u=p:0===p&&(u=0));break}var f=e.charCodeAt(n+p);if(f!==t.charCodeAt(s+p))break;47===f&&(u=p)}var h="";for(p=n+u+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(s+u):(s+=u,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,o=-1,a=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!a){o=i;break}}else a=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,o=0,a=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!i){o=n+1;break}}else-1===c&&(i=!1,c=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(a=n):(s=-1,a=c))}return o===a?a=c:-1===a&&(a=e.length),e.slice(o,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){o=n+1;break}}else-1===a&&(i=!1,a=n+1);return-1===a?"":e.slice(o,a)},extname:function(e){r(e);for(var t=-1,n=0,o=-1,a=!0,i=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(a=!1,o=s+1),46===c?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!a){n=s+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===n+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,o=e.charCodeAt(0),a=47===o;a?(t.root="/",n=1):n=0;for(var i=-1,s=0,c=-1,l=!0,u=e.length-1,p=0;u>=n;--u)if(47!==(o=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===o?-1===i?i=u:1!==p&&(p=1):-1!==i&&(p=-1);else if(!l){s=u+1;break}return-1===i||-1===c||0===p||1===p&&i===c-1&&i===s+1?-1!==c&&(t.base=t.name=0===s&&a?e.slice(1,c):e.slice(s,c)):(0===s&&a?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(s,i),t.base=e.slice(s,c)),t.ext=e.slice(i,c)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}}),I=t({"packages/swig-core/lib/loaders/filesystem.js"(e,t){var r=L(),n=S();t.exports=function(e,t){var o={};return t=t||"utf8",e=e?n.normalize(e):null,o.resolve=function(t,r){return r=e||(r?n.dirname(r):process.cwd()),n.resolve(r,t)},o.load=function(e,n){if(!r||n&&!r.readFile||!r.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=o.resolve(e),!n)return r.readFileSync(e,t);r.readFile(e,t,n)},o}}}),U=t({"packages/swig-core/lib/loaders/memory.js"(e,t){var n=S(),o=r();t.exports=function(e,t){var r={};return t=t?n.normalize(t):null,r.resolve=function(e,r){return r=t||(r?n.dirname(r):"/"),n.resolve(r,e)},r.load=function(t,r){var n,a;if(a=[t,t.replace(/^(\/|\\)/,"")],(n=e[a[0]]||e[a[1]])||o.throwError('Unable to find template "'+t+'".'),!r)return n;r(null,n)},r}}}),F=t({"packages/swig-core/lib/loaders/index.js"(e){e.fs=I(),e.memory=U()}}),_=t({"lib/loaders/index.js"(e,t){t.exports=F()}}),j=t({"packages/swig-core/lib/cache.js"(e){e.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},e.cacheGet=function(t,r,n,o){if(!e.shouldCache(r,n))return"memory"===n?o[t]:n.get(t)},e.cacheSet=function(t,r,n,o,a){e.shouldCache(r,o)||("memory"!==o?o.set(t,n):a[t]=n)}}}),M=t({"packages/swig-core/lib/engine.js"(e){var t=r(),n=E(),o=j();function a(){return""}e.remapBlocks=function e(r,n){return t.map(n,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&r[n]&&(t=r[n]),t.content&&t.content.length&&(t.content=e(r,t.content)),t})},e.importNonBlocks=function(e,r){var n=[];t.each(e,function(e){n.push(e)}),t.each(n.reverse(),function(e){"block"!==e.name&&r.unshift(e)})},e.getParents=function(r,n,o){for(var a,i,s,c=r.parent,l=[],u=[];c;){if(!n||!n.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(a=a||n.filename,a=o.resolve(c,a),c=(i=o.cacheGet(a,n)||o.parseFile(a,t.extend({},n,{filename:a}))).parent,-1!==l.indexOf(a))throw new Error('Illegal circular extends of "'+a+'".');l.push(a),u.push(i)}for(s=u.length,s=u.length-2;s>=0;s-=1)u[s].tokens=e.remapBlocks(u[s].blocks,u[s+1].tokens),e.importNonBlocks(u[s].blocks,u[s].tokens);return u},e.buildTemplateFunction=function(e,t,r){return new Function("_swig","_ctx","_filters","_utils","_fn",' var _ext = _swig.extensions,\n _output = "";\n'+n.compile(e,t,r)+"\n return _output;\n")},e.install=function(r,n){var i=n.parser,s=n.tags,c=n.filters,l=n.validateOptions,u=n.onCompileError;function p(e){return e&&e.locals?t.extend({},r.options.locals,e.locals):r.options.locals}function f(e,t){return o.cacheGet(e,t,r.options.cache,r.cache)}function h(e,t,n){o.cacheSet(e,t,n,r.options.cache,r.cache)}r.invalidateCache=function(){"memory"===r.options.cache&&(r.cache={})},r.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');c[e]=t},r.setTag=function(e,t,r,n,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof r)throw new Error('Tag "'+e+'" compile method is not a valid function.');s[e]={parse:t,compile:r,ends:n||!1,block:!!o}},r.setExtension=function(e,t){r.extensions[e]=t},r.parse=function(e,n){l(n);var o,a=p(n),u={};for(o in n)n.hasOwnProperty(o)&&"locals"!==o&&(u[o]=n[o]);return(n=t.extend({},r.options,u)).locals=a,i.parse(r,e,n,s,c)},r.parseFile=function(e,n){var o;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),o=r.options.loader.load(e),n.filename||(n=t.extend({filename:e},n)),r.parse(o,n)},r.precompile=function(t,n){var o,a=r.parse(t,n),i=function(t,n){return e.getParents(t,n,{resolve:function(e,t){return r.options.loader.resolve(e,t)},parseFile:r.parseFile,cacheGet:f})}(a,n);i.length&&(a.tokens=e.remapBlocks(a.blocks,i[0].tokens),e.importNonBlocks(a.blocks,a.tokens));try{o=e.buildTemplateFunction(a,i,n)}catch(e){u(e,n)}return{tpl:o,tokens:a}},r.compile=function(e,n){var o,i,s,l=n?n.filename:null,u=l?f(l,n):null;if(u)return u;function g(e){var n;return n=e&&i?t.extend({},o,e):e&&!i?e:!e&&i?o:{},s.tpl(r,n,c,t,a)}return o=p(n),i=t.keys(o).length,s=r.precompile(e,n),t.extend(g,s.tokens),l&&h(l,n,g),g},r.compileFile=function(e,n,o){var a,i;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),n.filename||(n=t.extend({filename:e},n)),(i=f(e,n))?o?void o(null,i):i:o?void r.options.loader.load(e,function(e,t){if(e)o(e);else{var a;try{a=r.compile(t,n)}catch(e){return void o(e)}o(e,a)}}):(a=r.options.loader.load(e),r.compile(a,n))},r.render=function(e,t){return r.compile(e,t)()},r.renderFile=function(e,t,n){if(!n)return r.compileFile(e)(t);r.compileFile(e,{},function(e,r){var o;if(e)n(e);else{try{o=r(t)}catch(e){return void n(e)}n(null,o)}})},r.run=function(e,n,o){var i=p({locals:n});return o&&h(o,{},e),e(r,i,c,t,a)}}}}),Y=t({"lib/swig.js"(e){var t=n(),r=k(),o=y(),a=w(),i=h(),s=_(),c=M();e.version="2.0.0-alpha.3";var l,u={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:s.fs()};function p(e){if(e){if(t.each(["varControls","tagControls","cmtControls"],function(r){if(e.hasOwnProperty(r)){if(!t.isArray(e[r])||2!==e[r].length)throw new Error('Option "'+r+'" must be an array containing 2 different control strings.');if(e[r][0]===e[r][1])throw new Error('Option "'+r+'" open and close controls must not be the same.');t.each(e[r],function(e,t){if(e.length<2)throw new Error('Option "'+r+'" '+(t?"open ":"close ")+'control must be at least 2 characters. Saw "'+e+'" instead.')})}}),e.hasOwnProperty("cache")&&e.cache&&"memory"!==e.cache&&(!e.cache.get||!e.cache.set))throw new Error("Invalid cache option "+JSON.stringify(e.cache)+' found. Expected "memory" or { get: function (key) { ... }, set: function (key, value) { ... } }.');if(e.hasOwnProperty("loader")&&e.loader&&(!e.loader.load||!e.loader.resolve))throw new Error("Invalid loader option "+JSON.stringify(e.loader)+" found. Expected { load: function (pathname, cb) { ... }, resolve: function (to, from) { ... } }.")}}e.setDefaults=function(e){p(e),l.options=t.extend(l.options,e)},e.setDefaultTZOffset=function(e){i.tzOffset=e},e.Swig=function(e){p(e),this.options=t.extend({},u,e||{}),this.cache={},this.extensions={},c.install(this,{parser:a,tags:r,filters:o,validateOptions:p,onCompileError:function(e,r){t.throwError(e,null,r.filename)}})},l=new e.Swig,e.setFilter=l.setFilter,e.setTag=l.setTag,e.setExtension=l.setExtension,e.parseFile=l.parseFile,e.precompile=l.precompile,e.compile=l.compile,e.compileFile=l.compileFile,e.render=l.render,e.renderFile=l.renderFile,e.run=l.run,e.invalidateCache=l.invalidateCache,e.loaders=s}})();"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return Y}):window.swig=Y})();
|
|
4
|
+
/*!
|
|
5
|
+
* Attach `loc` to the node if provided, skipping the assignment otherwise
|
|
6
|
+
* so consumers can tell "no source location available" from
|
|
7
|
+
* "source location is the default IRLoc".
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
/*!
|
|
11
|
+
* Lower the frontend's raw autoescape-strategy token match into the
|
|
12
|
+
* typed shape IRAutoescape.strategy expects. The parser captures
|
|
13
|
+
* `token.match` verbatim (BOOL: 'true'/'false'; STRING: quoted like
|
|
14
|
+
* "'js'"). The native backend is a no-op on strategy (parser already
|
|
15
|
+
* baked escape behavior into the variable tokens at parse time), but
|
|
16
|
+
* a tight IR keeps the shape honest for future flavor backends.
|
|
17
|
+
* @private
|
|
18
|
+
*/
|
|
19
|
+
/*!
|
|
20
|
+
* JSON-escape a literal text chunk for embedding inside a JS
|
|
21
|
+
* double-quoted string literal in the compiled template body.
|
|
22
|
+
* @private
|
|
23
|
+
*/
|
|
24
|
+
/*!
|
|
25
|
+
* Resolve an optional `deps` bag into a fully populated one. @private
|
|
26
|
+
*/
|
|
27
|
+
/*!
|
|
28
|
+
* Central dispatch — pick the emitter for this IR node's `type`. @private
|
|
29
|
+
*/
|
|
30
|
+
/*!
|
|
31
|
+
* Fire a CVE-2023-25345 guard if `segment` resolves to a prototype-chain
|
|
32
|
+
* property. Attaches loc-derived line/filename when the source node
|
|
33
|
+
* carries them. @private
|
|
34
|
+
*/
|
|
35
|
+
/*!
|
|
36
|
+
* Emit a literal value. Strings go through JSON.stringify so embedded
|
|
37
|
+
* quotes / backslashes / newlines land correctly inside the compiled
|
|
38
|
+
* function body. @private
|
|
39
|
+
*/
|
|
40
|
+
/*!
|
|
41
|
+
* Emit a dot-path variable reference. Byte-identical to
|
|
42
|
+
* TokenParser.prototype.checkMatch — any divergence breaks the
|
|
43
|
+
* Commit 3+ migration gates. @private
|
|
44
|
+
*/
|
|
45
|
+
/*!
|
|
46
|
+
* Replica of `TokenParser.prototype.checkMatch`. Kept as a local private
|
|
47
|
+
* helper rather than imported from tokenparser.js because (a) it is a
|
|
48
|
+
* pure function of its argument and (b) the backend must not acquire a
|
|
49
|
+
* runtime dependency on the TokenParser module (which is a specific
|
|
50
|
+
* frontend concern, not a shared-backend one). @private
|
|
51
|
+
*/
|
|
52
|
+
/*!
|
|
53
|
+
* Emit a dynamic bracket access. When the key is a string literal, guard
|
|
54
|
+
* it against prototype-chain pollution — mirrors the STRING-in-
|
|
55
|
+
* BRACKETOPEN check in TokenParser. @private
|
|
56
|
+
*/
|
|
57
|
+
/*!
|
|
58
|
+
* Arithmetic ops get surrounding spaces (`a + b`); logic / comparator
|
|
59
|
+
* ops are emitted bare (`a&&b`) to match TokenParser's LOGIC /
|
|
60
|
+
* COMPARATOR output shape. `in` needs trailing space so the keyword
|
|
61
|
+
* detokenises — `(a)in(b)` parses but `ain(b)` does not. @private
|
|
62
|
+
*/
|
|
63
|
+
/*!
|
|
64
|
+
* Emit a function / method invocation. Three callee shapes:
|
|
65
|
+
* 1. Single-segment VarRef (`foo(...)`) — FUNCTION-token pattern with
|
|
66
|
+
* the `_ctx.foo || foo || _fn` fallback ladder.
|
|
67
|
+
* 2. Multi-segment VarRef (`foo.bar(...)`) — method-call pattern with
|
|
68
|
+
* `.call(<receiver>, ...)` so `this` binds to the receiver object,
|
|
69
|
+
* matching TokenParser's PARENOPEN-after-VAR METHODOPEN branch.
|
|
70
|
+
* 3. Any other callee expression — plain `(<callee>)(args)`.
|
|
71
|
+
* @private
|
|
72
|
+
*/
|
|
73
|
+
/*!
|
|
74
|
+
* Emit an expression-position filter invocation —
|
|
75
|
+
* `_filters["<name>"](<input>[, <args>])`. Mirrors the top-level drain
|
|
76
|
+
* in the Output emitter, but reads its input from `node.input` (a real
|
|
77
|
+
* {@link IRExpr}) rather than accumulating positionally. @private
|
|
78
|
+
*/
|
|
4
79
|
/*!
|
|
5
80
|
* Makes a string safe for a regular expression.
|
|
6
81
|
* @param {string} str
|
|
7
82
|
* @return {string}
|
|
8
83
|
* @private
|
|
9
84
|
*/
|
|
10
|
-
function s(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}n.parse=function(e,t,c,u,l){t=t.replace(/\r\n/g,"\n");var p,f=c.autoescape,h=c.tagControls[0],g=c.tagControls[1],d=c.varControls[0],y=c.varControls[1],m=s(h),w=s(g),v=s(d),O=s(y),E=new RegExp("^"+m+"-?\\s*-?|-?\\s*-?"+w+"$","g"),b=new RegExp("^"+m+"-"),x=new RegExp("-"+w+"$"),A=new RegExp("^"+v+"-?\\s*-?|-?\\s*-?"+O+"$","g"),T=new RegExp("^"+v+"-"),k=new RegExp("-"+O+"$"),C=c.cmtControls[0],N=c.cmtControls[1],_="[\\s\\S]*?",R=new RegExp("("+m+_+w+"|"+v+_+O+"|"+s(C)+_+s(N)+")"),P=1,S=[],U=null,I=[],j={},F=!1;function M(e,t){var n,i,s=o.read(r.strip(e));return n=new a(s,l,f,t,c.filename),i=n.parse().join(""),n.state.length&&r.throwError('Unable to parse "'+e+'"',t,c.filename),{compile:function(){return"_output += "+i+";\n"}}}function L(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}
|
|
11
85
|
/*!
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
86
|
+
* Loop over the source, split via the tag/var/comment regular expression splitter.
|
|
87
|
+
* Send each chunk to the appropriate parser.
|
|
88
|
+
*/
|
|
15
89
|
/*!
|
|
16
90
|
* Export methods publicly
|
|
17
91
|
*/
|
|
18
|
-
l=new n.Swig,n.setFilter=l.setFilter,n.setTag=l.setTag,n.setExtension=l.setExtension,n.parseFile=l.parseFile,n.precompile=l.precompile,n.compile=l.compile,n.compileFile=l.compileFile,n.render=l.render,n.renderFile=l.renderFile,n.run=l.run,n.invalidateCache=l.invalidateCache,n.loaders=c},{"../packages/swig-core/lib/engine":32,"./dateformatter":2,"./filters":3,"./loaders":5,"./parser":6,"./tags":18,"./utils":24}],8:[function(e,t,n){var r=e("../utils"),o=["html","js"];n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n,i,a,s){var c;return n.on("*",function(e){if(!c&&(e.type===i.BOOL||e.type===i.STRING&&-1===o.indexOf(e.match)))return this.out.push(e.match),void(c=!0);r.throwError('Unexpected token "'+e.match+'" in autoescape tag',t,s.filename)}),!0},n.ends=!0},{"../utils":24}],9:[function(e,t,n){n.compile=function(e,t,n,r,o){return e(n,r,o,t.join(""))},n.parse=function(e,t,n){return n.on("*",function(e){this.out.push(e.match)}),!0},n.ends=!0,n.block=!0},{}],10:[function(e,t,n){n.compile=function(){return"} else {\n"},n.parse=function(e,t,n,r,o){return n.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}},{}],11:[function(e,t,n){var r=e("./if").parse;n.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},n.parse=function(e,t,n,o,i){return r(e,t,n,o,i)&&i.length&&"if"===i[i.length-1].name}},{"./if":15}],12:[function(e,t,n){n.compile=function(){},n.parse=function(){return!0},n.ends=!1},{}],13:[function(e,t,n){var r=e("../filters");n.compile=function(e,t,n,r,o,i){var a=t.shift().replace(/\($/,""),s='(function () {\n var _output = "";\n'+e(n,r,o,i)+" return _output;\n})()";return")"===t[t.length-1]&&t.pop(),'_output += _filters["'+a+'"]('+s+(t=t.length?", "+t.join(""):"")+");\n"},n.parse=function(e,t,n,o){var i;function a(e){if(!r.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+t+".")}return n.on(o.FUNCTION,function(e){return!!i||(a(i=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!i||(a(i=e.match),void this.out.push(i))}),!0},n.ends=!0},{"../filters":3}],14:[function(e,t,n){var r="_ctx.",o=r+"loop",i=e("../../packages/swig-core/lib/security").dangerousProps;n.compile=function(e,t,n,i,a,s){var c=t.shift(),u="__k",l=(r+"__loopcache"+Math.random()).replace(/\./g,"");return t[0]&&","===t[0]&&(t.shift(),u=c,c=t.shift()),["(function () {\n"," var __l = "+t.join("")+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n'," if (!__l) { return; }\n"," var "+l+" = { loop: "+o+", "+c+": "+r+c+", "+u+": "+r+u+" };\n"," "+o+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n"," _utils.each(__l, function ("+c+", "+u+") {\n"," "+r+c+" = "+c+";\n"," "+r+u+" = "+u+";\n"," "+o+".key = "+u+";\n"," "+o+".first = ("+o+".index0 === 0);\n"," "+o+".last = ("+o+".revindex0 === 0);\n"," "+e(n,i,a,s)," "+o+".index += 1; "+o+".index0 += 1; "+o+".revindex -= 1; "+o+".revindex0 -= 1;\n"," });\n"," "+o+" = "+l+".loop;\n"," "+r+c+" = "+l+"."+c+";\n"," "+r+u+" = "+l+"."+u+";\n"," "+l+" = undefined;\n","})();\n"].join("")},n.parse=function(e,t,n,r){var o,a;return n.on(r.NUMBER,function(e){var n=this.state.length?this.state[this.state.length-1]:null;if(!a||n!==r.ARRAYOPEN&&n!==r.CURLYOPEN&&n!==r.CURLYCLOSE&&n!==r.FUNCTION&&n!==r.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),n.on(r.VAR,function(e){if(a&&o)return!0;if(-1!==i.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.length||(o=!0),this.out.push(e.match)}),n.on(r.COMMA,function(e){if(!o||this.prevToken.type!==r.VAR)return!0;this.out.push(e.match)}),n.on(r.COMPARATOR,function(e){if("in"!==e.match||!o)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");a=!0,this.filterApplyIdx.push(this.out.length)}),!0},n.ends=!0},{"../../packages/swig-core/lib/security":37}],15:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return"if ("+t.join(" ")+") { \n"+e(n,r,o,i)+"\n}"},n.parse=function(e,t,n,r){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return n.on(r.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===r.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),n.on(r.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(r.BOOL,function(e){this.out.push(e.match)}),n.on(r.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},n.ends=!0},{}],16:[function(e,t,n){var r=e("../utils"),o=e("../../packages/swig-core/lib/security").dangerousProps;n.compile=function(e,t){var n=t.pop(),o=r.map(t,function(e){return e.name}).join("|"),i="_ctx."+n+' = {};\n var _output = "";\n',a=r.map(t,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return r.each(t,function(e){var t=e.compiled;r.each(a,function(e){t=t.replace(e.ex,e.re)}),i+=t}),i},n.parse=function(t,n,i,a,s,c,u){var l,p,f=e("../parser").compile,h={resolveFrom:c.filename},g=r.extend({},c,h);return i.on(a.STRING,function(e){var t=this;if(!l)return l=u.parseFile(e.match.replace(/^("|')|("|')$/g,""),h).tokens,void r.each(l,function(e){var n,r="";e&&"macro"===e.name&&e.compile&&(n=e.args[0],r+=e.compile(f,e.args,e.content,[],g)+"\n",t.out.push({compiled:r,name:n}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),i.on(a.VAR,function(e){if(!l||p)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match){if(-1!==o.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (CVE-2023-25345) on line '+n+".");return p=e.match,this.out.push(p),!1}}),!0},n.block=!0},{"../../packages/swig-core/lib/security":37,"../parser":6,"../utils":24}],17:[function(e,t,n){var r="ignore",o="missing",i="only";n.compile=function(e,t){var n=t.shift(),r=t.indexOf(i),a=-1!==r&&t.splice(r,1),s=(t.pop()||"").replace(/\\/g,"\\\\"),c=t[t.length-1]===o&&t.pop(),u=t.join("");return(c?" try {\n":"")+"_output += _swig.compileFile("+n+', {resolveFrom: "'+s+'"})('+(a&&u?u:u?"_utils.extend({}, _ctx, "+u+")":"_ctx")+");\n"+(c?"} catch (e) {}\n":"")},n.parse=function(e,t,n,a,s,c){var u,l;return n.on(a.STRING,function(e){return!!u||(u=e.match,void this.out.push(u))}),n.on(a.VAR,function(e){if(!u)return u=e.match,!0;if(l||"with"!==e.match){if(!l||e.match!==i||"with"===this.prevToken.match){if(e.match===r)return!1;if(e.match===o){if(this.prevToken.match!==r)throw new Error('Unexpected token "'+o+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===r)throw new Error('Expected "'+o+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else l=!0}),n.on("end",function(){this.out.push(c.filename||null)}),!0}},{}],18:[function(e,t,n){n.autoescape=e("./autoescape"),n.block=e("./block"),n.else=e("./else"),n.elseif=e("./elseif"),n.elif=n.elseif,n.extends=e("./extends"),n.filter=e("./filter"),n.for=e("./for"),n.if=e("./if"),n.import=e("./import"),n.include=e("./include"),n.macro=e("./macro"),n.parent=e("./parent"),n.raw=e("./raw"),n.set=e("./set"),n.spaceless=e("./spaceless")},{"./autoescape":8,"./block":9,"./else":10,"./elseif":11,"./extends":12,"./filter":13,"./for":14,"./if":15,"./import":16,"./include":17,"./macro":19,"./parent":20,"./raw":21,"./set":22,"./spaceless":23}],19:[function(e,t,n){n.compile=function(e,t,n,r,o,i){var a=t.shift();return"_ctx."+a+" = function ("+t.join("")+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (["'+t.join('","')+'"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n'+e(n,r,o,i)+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+a+".safe = true;\n"};var r=e("../../packages/swig-core/lib/security").dangerousProps;n.parse=function(e,t,n,o){var i;return n.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");this.out.push(e.match)}),n.on(o.FUNCTION,function(e){if(!i){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i=e.match,this.out.push(i),this.state.push(o.FUNCTION)}}),n.on(o.FUNCTIONEMPTY,function(e){if(!i){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i=e.match,this.out.push(i)}}),n.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(o.COMMA,function(){return!0}),n.on("*",function(){}),!0},n.ends=!0,n.block=!0},{"../../packages/swig-core/lib/security":37}],20:[function(e,t,n){n.compile=function(e,t,n,r,o,i){if(!r||!r.length)return"";for(var a,s,c=t[0],u=r.length,l=0;l<u;l+=1)if((a=r[l]).blocks&&a.blocks.hasOwnProperty(i)&&c!==a.name)return(s=a.blocks[i]).compile(e,[i],s.content,r.slice(l+1),o)+"\n"},n.parse=function(e,t,n,r,o,i){return n.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),n.on("end",function(){this.out.push(i.filename)}),!0}},{}],21:[function(e,t,n){n.compile=function(e,t,n,r,o,i){return e(n,r,o,i)},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},n.ends=!0},{}],22:[function(e,t,n){n.compile=function(e,t){return t.join(" ")+";\n"};var r=e("../../packages/swig-core/lib/security").dangerousProps;n.parse=function(e,t,n,o){var i,a="";return n.on(o.VAR,function(e){if(i)i+="_ctx."+e.match;else{if(n.out.length)return!0;for(var o=e.match.split("."),s=0;s<o.length;s++)if(-1!==r.indexOf(o[s]))throw new Error('Unsafe assignment to "'+o[s]+'" is not allowed (CVE-2023-25345) on line '+t+".");a+=e.match}}),n.on(o.BRACKETOPEN,function(e){if(i||this.out.length)return!0;i=e.match}),n.on(o.STRING,function(e){if(!i||this.out.length)return!0;var n=e.match.replace(/^['"]|['"]$/g,"");if(-1!==r.indexOf(n))throw new Error('Unsafe assignment to "'+n+'" via bracket notation is not allowed (CVE-2023-25345) on line '+t+".");i+=e.match}),n.on(o.BRACKETCLOSE,function(e){return!(i&&!this.out.length)||(a+=i+e.match,void(i=void 0))}),n.on(o.DOTKEY,function(e){if(!i&&!a)return!0;if(-1!==r.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a+="."+e.match}),n.on(o.ASSIGNMENT,function(e){if(this.out.length||!a)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+a),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},n.block=!0},{"../../packages/swig-core/lib/security":37}],23:[function(e,t,n){e("../utils");n.compile=function(e,t,n,r,o,i){var a=e(n,r,o,i);return a+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},n.parse=function(e,t,n){return n.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},n.ends=!0},{"../utils":24}],24:[function(e,t,n){t.exports=e("../packages/swig-core/lib/utils")},{"../packages/swig-core/lib/utils":40}],25:[function(e,t,n){var r=Object.prototype.toString,o=Object.prototype.hasOwnProperty;function i(e){return"object"!=typeof e&&"function"!=typeof e||null===e}function a(e){if(i(e))throw new TypeError("Object.keys called on a non-object");var t=[];for(var n in e)o.call(e,n)&&t.push(n);return t}n.isArray="function"==typeof Array.isArray?Array.isArray:function(e){return"[object Array]"===r.call(e)},n.indexOf=function(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0;n<e.length;n++)if(t===e[n])return n;return-1},n.filter=function(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n},n.forEach=function(e,t,n){if(e.forEach)return e.forEach(t,n);for(var r=0;r<e.length;r++)t.call(n,e[r],r,e)},n.map=function(e,t){if(e.map)return e.map(t);for(var n=new Array(e.length),r=0;r<e.length;r++)n[r]=t(e[r],r,e);return n},n.reduce=function(e,t,n){if(e.reduce)return e.reduce(t,n);var r,o=!1;2<arguments.length&&(r=n,o=!0);for(var i=0,a=e.length;a>i;++i)e.hasOwnProperty(i)&&(o?r=t(r,e[i],i,e):(r=e[i],o=!0));return r},"b"!=="ab".substr(-1)?n.substr=function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}:n.substr=function(e,t,n){return e.substr(t,n)},n.trim=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},n.bind=function(){var e=Array.prototype.slice.call(arguments),t=e.shift();if(t.bind)return t.bind.apply(t,e);var n=e.shift();return function(){t.apply(n,e.concat([Array.prototype.slice.call(arguments)]))}},n.create="function"==typeof Object.create?Object.create:function(e,t){var n;if(null===e)n={__proto__:null};else{if("object"!=typeof e)throw new TypeError("typeof prototype["+typeof e+"] != 'object'");var r=function(){};r.prototype=e,(n=new r).__proto__=e}return void 0!==t&&Object.defineProperties&&Object.defineProperties(n,t),n};var s="function"==typeof Object.keys?Object.keys:a,c="function"==typeof Object.getOwnPropertyNames?Object.getOwnPropertyNames:function(e){if(i(e))throw new TypeError("Object.getOwnPropertyNames called on a non-object");var t=a(e);return n.isArray(e)&&-1===n.indexOf(e,"length")&&t.push("length"),t};if((new Error).hasOwnProperty("description")){var u=function(e,t){return"[object Error]"===r.call(e)&&(t=n.filter(t,function(e){return"description"!==e&&"number"!==e&&"message"!==e})),t};n.keys=function(e){return u(e,s(e))},n.getOwnPropertyNames=function(e){return u(e,c(e))}}else n.keys=s,n.getOwnPropertyNames=c;function l(e,t){return{value:e[t]}}if("function"==typeof Object.getOwnPropertyDescriptor)try{Object.getOwnPropertyDescriptor({a:1},"a"),n.getOwnPropertyDescriptor=Object.getOwnPropertyDescriptor}catch(e){n.getOwnPropertyDescriptor=function(e,t){try{return Object.getOwnPropertyDescriptor(e,t)}catch(n){return l(e,t)}}}else n.getOwnPropertyDescriptor=l},{}],26:[function(e,t,n){},{}],27:[function(e,t,n){var r=e("__browserify_process"),o=e("util"),i=e("_shims");function a(e,t){for(var n=0,r=e.length-1;r>=0;r--){var o=e[r];"."===o?e.splice(r,1):".."===o?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var s=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,c=function(e){return s.exec(e).slice(1)};n.resolve=function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var s=n>=0?arguments[n]:r.cwd();if(!o.isString(s))throw new TypeError("Arguments to path.resolve must be strings");s&&(e=s+"/"+e,t="/"===s.charAt(0))}return(t?"/":"")+(e=a(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||"."},n.normalize=function(e){var t=n.isAbsolute(e),r="/"===i.substr(e,-1);return(e=a(i.filter(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(i.filter(e,function(e,t){if(!o.isString(e))throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=r(e.split("/")),i=r(t.split("/")),a=Math.min(o.length,i.length),s=a,c=0;c<a;c++)if(o[c]!==i[c]){s=c;break}var u=[];for(c=s;c<o.length;c++)u.push("..");return(u=u.concat(i.slice(s))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){var t=c(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},n.basename=function(e,t){var n=c(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){return c(e)[3]}},{__browserify_process:29,_shims:25,util:28}],28:[function(e,t,n){var r=e("_shims"),o=/%[sdj%]/g;function i(e,t){var r={seen:[],stylize:s};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),f(t)?r.showHidden=t:t&&n._extend(r,t),y(r.showHidden)&&(r.showHidden=!1),y(r.depth)&&(r.depth=2),y(r.colors)&&(r.colors=!1),y(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=a),c(r,e,r.depth)}function a(e,t){var n=i.styles[t];return n?"["+i.colors[n][0]+"m"+e+"["+i.colors[n][1]+"m":e}function s(e,t){return e}function c(e,t,o){if(e.customInspect&&t&&E(t.inspect)&&t.inspect!==n.inspect&&(!t.constructor||t.constructor.prototype!==t)){var i=t.inspect(o);return d(i)||(i=c(e,i,o)),i}var a=function(e,t){if(y(t))return e.stylize("undefined","undefined");if(d(t)){var n="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(n,"string")}if(g(t))return e.stylize(""+t,"number");if(f(t))return e.stylize(""+t,"boolean");if(h(t))return e.stylize("null","null")}(e,t);if(a)return a;var s=r.keys(t),w=function(e){var t={};return r.forEach(e,function(e,n){t[e]=!0}),t}(s);if(e.showHidden&&(s=r.getOwnPropertyNames(t)),0===s.length){if(E(t)){var b=t.name?": "+t.name:"";return e.stylize("[Function"+b+"]","special")}if(m(t))return e.stylize(RegExp.prototype.toString.call(t),"regexp");if(v(t))return e.stylize(Date.prototype.toString.call(t),"date");if(O(t))return u(t)}var x,A="",k=!1,C=["{","}"];(p(t)&&(k=!0,C=["[","]"]),E(t))&&(A=" [Function"+(t.name?": "+t.name:"")+"]");return m(t)&&(A=" "+RegExp.prototype.toString.call(t)),v(t)&&(A=" "+Date.prototype.toUTCString.call(t)),O(t)&&(A=" "+u(t)),0!==s.length||k&&0!=t.length?o<0?m(t)?e.stylize(RegExp.prototype.toString.call(t),"regexp"):e.stylize("[Object]","special"):(e.seen.push(t),x=k?function(e,t,n,o,i){for(var a=[],s=0,c=t.length;s<c;++s)T(t,String(s))?a.push(l(e,t,n,o,String(s),!0)):a.push("");return r.forEach(i,function(r){r.match(/^\d+$/)||a.push(l(e,t,n,o,r,!0))}),a}(e,t,o,w,s):s.map(function(n){return l(e,t,o,w,n,k)}),e.seen.pop(),function(e,t,n){var o=r.reduce(e,function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0);if(o>60)return n[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+n[1];return n[0]+t+" "+e.join(", ")+" "+n[1]}(x,A,C)):C[0]+A+C[1]}function u(e){return"["+Error.prototype.toString.call(e)+"]"}function l(e,t,n,o,i,a){var s,u,l;if((l=r.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?u=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(u=e.stylize("[Setter]","special")),T(o,i)||(s="["+i+"]"),u||(r.indexOf(e.seen,l.value)<0?(u=h(n)?c(e,l.value,null):c(e,l.value,n-1)).indexOf("\n")>-1&&(u=a?u.split("\n").map(function(e){return" "+e}).join("\n").substr(2):"\n"+u.split("\n").map(function(e){return" "+e}).join("\n")):u=e.stylize("[Circular]","special")),y(s)){if(a&&i.match(/^\d+$/))return u;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.substr(1,s.length-2),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+u}function p(e){return r.isArray(e)}function f(e){return"boolean"==typeof e}function h(e){return null===e}function g(e){return"number"==typeof e}function d(e){return"string"==typeof e}function y(e){return void 0===e}function m(e){return w(e)&&"[object RegExp]"===b(e)}function w(e){return"object"==typeof e&&e}function v(e){return w(e)&&"[object Date]"===b(e)}function O(e){return w(e)&&"[object Error]"===b(e)}function E(e){return"function"==typeof e}function b(e){return Object.prototype.toString.call(e)}function x(e){return e<10?"0"+e.toString(10):e.toString(10)}n.format=function(e){if(!d(e)){for(var t=[],n=0;n<arguments.length;n++)t.push(i(arguments[n]));return t.join(" ")}n=1;for(var r=arguments,a=r.length,s=String(e).replace(o,function(e){if("%%"===e)return"%";if(n>=a)return e;switch(e){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return e}}),c=r[n];n<a;c=r[++n])h(c)||!w(c)?s+=" "+c:s+=" "+i(c);return s},n.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=p,n.isBoolean=f,n.isNull=h,n.isNullOrUndefined=function(e){return null==e},n.isNumber=g,n.isString=d,n.isSymbol=function(e){return"symbol"==typeof e},n.isUndefined=y,n.isRegExp=m,n.isObject=w,n.isDate=v,n.isError=O,n.isFunction=E,n.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},n.isBuffer=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.binarySlice};var A=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}n.log=function(){var e,t;console.log("%s - %s",(e=new Date,t=[x(e.getHours()),x(e.getMinutes()),x(e.getSeconds())].join(":"),[e.getDate(),A[e.getMonth()],t].join(" ")),n.format.apply(n,arguments))},n.inherits=function(e,t){e.super_=t,e.prototype=r.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})},n._extend=function(e,t){if(!t||!w(t))return e;for(var n=r.keys(t),o=n.length;o--;)e[n[o]]=t[n[o]];return e}},{_shims:25}],29:[function(e,t,n){var r=t.exports={};r.nextTick=function(){var e="undefined"!=typeof window&&window.setImmediate,t="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(e)return function(e){return window.setImmediate(e)};if(t){var n=[];return window.addEventListener("message",function(e){var t=e.source;t!==window&&null!==t||"process-tick"!==e.data||(e.stopPropagation(),n.length>0&&n.shift()())},!0),function(e){n.push(e),window.postMessage("process-tick","*")}}return function(e){setTimeout(e,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")}},{}],30:[function(e,t,n){var r=e("./utils");n.compile=function(e,t,o,i){var a="",s=r.isArray(e)?e:e.tokens;return r.each(s,function(e){var r;"string"!=typeof e?(r=e.compile(n.compile,e.args?e.args.slice(0):[],e.content?e.content.slice(0):[],t,o,i),a+=r||""):a+='_output += "'+e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')+'";\n'}),a}},{"./utils":40}],31:[function(e,t,n){n.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},n.cacheGet=function(e,t,r,o){if(!n.shouldCache(t,r))return"memory"===r?o[e]:r.get(e)},n.cacheSet=function(e,t,r,o,i){n.shouldCache(t,o)||("memory"!==o?o.set(e,r):i[e]=r)}},{}],32:[function(e,t,n){var r=e("./utils"),o=e("./backend"),i=e("./cache");function a(){return""}n.remapBlocks=function e(t,n){return r.map(n,function(n){var r=n.args?n.args.join(""):"";return"block"===n.name&&t[r]&&(n=t[r]),n.content&&n.content.length&&(n.content=e(t,n.content)),n})},n.importNonBlocks=function(e,t){var n=[];r.each(e,function(e){n.push(e)}),r.each(n.reverse(),function(e){"block"!==e.name&&t.unshift(e)})},n.getParents=function(e,t,o){for(var i,a,s,c=e.parent,u=[],l=[];c;){if(!t||!t.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(i=i||t.filename,i=o.resolve(c,i),c=(a=o.cacheGet(i,t)||o.parseFile(i,r.extend({},t,{filename:i}))).parent,-1!==u.indexOf(i))throw new Error('Illegal circular extends of "'+i+'".');u.push(i),l.push(a)}for(s=l.length,s=l.length-2;s>=0;s-=1)l[s].tokens=n.remapBlocks(l[s].blocks,l[s+1].tokens),n.importNonBlocks(l[s].blocks,l[s].tokens);return l},n.buildTemplateFunction=function(e,t,n){return new Function("_swig","_ctx","_filters","_utils","_fn",' var _ext = _swig.extensions,\n _output = "";\n'+o.compile(e,t,n)+"\n return _output;\n")},n.install=function(e,t){var o=t.parser,s=t.tags,c=t.filters,u=t.validateOptions,l=t.onCompileError;function p(t){return t&&t.locals?r.extend({},e.options.locals,t.locals):e.options.locals}function f(t,n){return i.cacheGet(t,n,e.options.cache,e.cache)}function h(t,n,r){i.cacheSet(t,n,r,e.options.cache,e.cache)}e.invalidateCache=function(){"memory"===e.options.cache&&(e.cache={})},e.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');c[e]=t},e.setTag=function(e,t,n,r,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof n)throw new Error('Tag "'+e+'" compile method is not a valid function.');s[e]={parse:t,compile:n,ends:r||!1,block:!!o}},e.setExtension=function(t,n){e.extensions[t]=n},e.parse=function(t,n){u(n);var i,a=p(n),l={};for(i in n)n.hasOwnProperty(i)&&"locals"!==i&&(l[i]=n[i]);return(n=r.extend({},e.options,l)).locals=a,o.parse(e,t,n,s,c)},e.parseFile=function(t,n){var o;return n||(n={}),t=e.options.loader.resolve(t,n.resolveFrom),o=e.options.loader.load(t),n.filename||(n=r.extend({filename:t},n)),e.parse(o,n)},e.precompile=function(t,r){var o,i=e.parse(t,r),a=function(t,r){return n.getParents(t,r,{resolve:function(t,n){return e.options.loader.resolve(t,n)},parseFile:e.parseFile,cacheGet:f})}(i,r);a.length&&(i.tokens=n.remapBlocks(i.blocks,a[0].tokens),n.importNonBlocks(i.blocks,i.tokens));try{o=n.buildTemplateFunction(i,a,r)}catch(e){l(e,r)}return{tpl:o,tokens:i}},e.compile=function(t,n){var o,i,s,u=n?n.filename:null,l=u?f(u,n):null;if(l)return l;function g(t){var n;return n=t&&i?r.extend({},o,t):t&&!i?t:!t&&i?o:{},s.tpl(e,n,c,r,a)}return o=p(n),i=r.keys(o).length,s=e.precompile(t,n),r.extend(g,s.tokens),u&&h(u,n,g),g},e.compileFile=function(t,n,o){var i,a;return n||(n={}),t=e.options.loader.resolve(t,n.resolveFrom),n.filename||(n=r.extend({filename:t},n)),(a=f(t,n))?o?void o(null,a):a:o?void e.options.loader.load(t,function(t,r){if(t)o(t);else{var i;try{i=e.compile(r,n)}catch(e){return void o(e)}o(t,i)}}):(i=e.options.loader.load(t),e.compile(i,n))},e.render=function(t,n){return e.compile(t,n)()},e.renderFile=function(t,n,r){if(!r)return e.compileFile(t)(n);e.compileFile(t,{},function(e,t){var o;if(e)r(e);else{try{o=t(n)}catch(e){return void r(e)}r(null,o)}})},e.run=function(t,n,o){var i=p({locals:n});return o&&h(o,{},t),t(e,i,c,r,a)}}},{"./backend":30,"./cache":31,"./utils":40}],33:[function(e,t,n){var r=e("./utils");n.iterateFilter=function(e){var t=this,n={};return r.isArray(e)?r.map(e,function(e){return t.apply(null,arguments)}):"object"==typeof e?(r.each(e,function(e,r){n[r]=t.apply(null,arguments)}),n):void 0}},{"./utils":40}],34:[function(e,t,n){var r=e("__browserify_process"),o=e("fs"),i=e("path");t.exports=function(e,t){var n={};return t=t||"utf8",e=e?i.normalize(e):null,n.resolve=function(t,n){return n=e||(n?i.dirname(n):r.cwd()),i.resolve(n,t)},n.load=function(e,r){if(!o||r&&!o.readFile||!o.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=n.resolve(e),!r)return o.readFileSync(e,t);o.readFile(e,t,r)},n}},{__browserify_process:29,fs:26,path:27}],35:[function(e,t,n){n.fs=e("./filesystem"),n.memory=e("./memory")},{"./filesystem":34,"./memory":36}],36:[function(e,t,n){var r=e("path"),o=e("../utils");t.exports=function(e,t){var n={};return t=t?r.normalize(t):null,n.resolve=function(e,n){return n=t||(n?r.dirname(n):"/"),r.resolve(n,e)},n.load=function(t,n){var r,i;if(i=[t,t.replace(/^(\/|\\)/,"")],(r=e[i[0]]||e[i[1]])||o.throwError('Unable to find template "'+t+'".'),!n)return r;n(null,r)},n}},{"../utils":40,path:27}],37:[function(e,t,n){n.dangerousProps=["__proto__","constructor","prototype"]},{}],38:[function(e,t,n){var r=e("./utils"),o=e("./tokentypes"),i=e("./security").dangerousProps,a=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function s(e,t,n,i,a){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=i,this.filename=a,this.filters=t,this.escape=n,this.parse=function(){var t=this;return t._parsers.start&&t._parsers.start.call(t),r.each(e,function(n,r){var i=e[r-1];if(t.isLast=r===e.length-1,i)for(;i.type===o.WHITESPACE;)i=e[(r-=1)-1];t.prevToken=i,t.parseToken(n)}),t._parsers.end&&t._parsers.end.call(t),t.escape&&(t.filterApplyIdx=[0],"string"==typeof t.escape?(t.parseToken({type:o.FILTER,match:"e"}),t.parseToken({type:o.COMMA,match:","}),t.parseToken({type:o.STRING,match:String(n)}),t.parseToken({type:o.PARENCLOSE,match:")"})):t.parseToken({type:o.FILTEREMPTY,match:"e"})),t.out}}s.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var t,n=this,a=n._parsers[e.type]||n._parsers["*"],s=e.match,c=n.prevToken,u=c?c.type:null,l=n.state.length?n.state[n.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(l&&c&&l===o.FILTER&&u===o.FILTER&&e.type!==o.PARENCLOSE&&e.type!==o.COMMA&&e.type!==o.OPERATOR&&e.type!==o.FILTER&&e.type!==o.FILTEREMPTY&&n.out.push(", "),l&&l===o.METHODOPEN&&(n.state.pop(),e.type!==o.PARENCLOSE&&n.out.push(", ")),e.type){case o.WHITESPACE:break;case o.STRING:if(l===o.BRACKETOPEN){var p=s.replace(/^['"]|['"]$/g,"");-1!==i.indexOf(p)&&r.throwError('Unsafe access to "'+p+'" via bracket notation is not allowed in templates (CVE-2023-25345)',n.line,n.filename)}n.filterApplyIdx.push(n.out.length),n.out.push(s.replace(/\\/g,"\\\\"));break;case o.NUMBER:case o.BOOL:n.filterApplyIdx.push(n.out.length),n.out.push(s);break;case o.FILTER:n.filters.hasOwnProperty(s)&&"function"==typeof n.filters[s]||r.throwError('Invalid filter "'+s+'"',n.line,n.filename),n.escape=!n.filters[s].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),n.state.push(e.type);break;case o.FILTEREMPTY:n.filters.hasOwnProperty(s)&&"function"==typeof n.filters[s]||r.throwError('Invalid filter "'+s+'"',n.line,n.filename),n.escape=!n.filters[s].safe&&n.escape,n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),n.out.push(")");break;case o.FUNCTION:case o.FUNCTIONEMPTY:n.out.push("((typeof _ctx."+s+' !== "undefined") ? _ctx.'+s+" : ((typeof "+s+' !== "undefined") ? '+s+" : _fn))("),n.escape=!1,e.type===o.FUNCTIONEMPTY?n.out[n.out.length-1]=n.out[n.out.length-1]+")":n.state.push(e.type),n.filterApplyIdx.push(n.out.length-1);break;case o.PARENOPEN:n.state.push(e.type),n.filterApplyIdx.length?(n.out.splice(n.filterApplyIdx[n.filterApplyIdx.length-1],0,"("),c&&u===o.VAR?(t=c.match.split(".").slice(0,-1),n.out.push(" || _fn).call("+n.checkMatch(t)),n.state.push(o.METHODOPEN),n.escape=!1):n.out.push(" || _fn)("),n.filterApplyIdx.push(n.out.length-3)):(n.out.push("("),n.filterApplyIdx.push(n.out.length-1));break;case o.PARENCLOSE:(t=n.state.pop())!==o.PARENOPEN&&t!==o.FUNCTION&&t!==o.FILTER&&r.throwError("Mismatched nesting state",n.line,n.filename),n.out.push(")"),n.filterApplyIdx.pop(),t!==o.FILTER&&n.filterApplyIdx.pop();break;case o.COMMA:l!==o.FUNCTION&&l!==o.FILTER&&l!==o.ARRAYOPEN&&l!==o.CURLYOPEN&&l!==o.PARENOPEN&&l!==o.COLON&&r.throwError("Unexpected comma",n.line,n.filename),l===o.COLON&&n.state.pop(),n.out.push(", "),n.filterApplyIdx.pop();break;case o.LOGIC:case o.COMPARATOR:c&&u!==o.COMMA&&u!==e.type&&u!==o.BRACKETOPEN&&u!==o.CURLYOPEN&&u!==o.PARENOPEN&&u!==o.FUNCTION||r.throwError("Unexpected logic",n.line,n.filename),n.out.push(e.match);break;case o.NOT:n.out.push(e.match);break;case o.VAR:n.parseVar(e,s,l);break;case o.BRACKETOPEN:!c||u!==o.VAR&&u!==o.BRACKETCLOSE&&u!==o.PARENCLOSE?(n.state.push(o.ARRAYOPEN),n.filterApplyIdx.push(n.out.length)):n.state.push(e.type),n.out.push("[");break;case o.BRACKETCLOSE:(t=n.state.pop())!==o.BRACKETOPEN&&t!==o.ARRAYOPEN&&r.throwError("Unexpected closing square bracket",n.line,n.filename),n.out.push("]"),n.filterApplyIdx.pop();break;case o.CURLYOPEN:n.state.push(e.type),n.out.push("{"),n.filterApplyIdx.push(n.out.length-1);break;case o.COLON:l!==o.CURLYOPEN&&r.throwError("Unexpected colon",n.line,n.filename),n.state.push(e.type),n.out.push(":"),n.filterApplyIdx.pop();break;case o.CURLYCLOSE:l===o.COLON&&n.state.pop(),n.state.pop()!==o.CURLYOPEN&&r.throwError("Unexpected closing curly brace",n.line,n.filename),n.out.push("}"),n.filterApplyIdx.pop();break;case o.DOTKEY:(!c||u!==o.VAR&&u!==o.BRACKETCLOSE&&u!==o.DOTKEY&&u!==o.PARENCLOSE&&u!==o.FUNCTIONEMPTY&&u!==o.FILTEREMPTY&&u!==o.CURLYCLOSE)&&r.throwError('Unexpected key "'+s+'"',n.line,n.filename),-1!==i.indexOf(s)&&r.throwError('Unsafe access to "'+s+'" is not allowed in templates (CVE-2023-25345)',n.line,n.filename),n.out.push("."+s);break;case o.OPERATOR:n.out.push(" "+s+" "),n.filterApplyIdx.pop()}},parseVar:function(e,t,n){var s=this;if(t=t.split("."),-1!==a.indexOf(t[0])&&r.throwError('Reserved keyword "'+t[0]+'" attempted to be used as a variable',s.line,s.filename),r.each(t,function(e){-1!==i.indexOf(e)&&r.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',s.line,s.filename)}),s.filterApplyIdx.push(s.out.length),n===o.CURLYOPEN)return t.length>1&&r.throwError("Unexpected dot",s.line,s.filename),void s.out.push(t[0]);s.out.push(s.checkMatch(t))},checkMatch:function(e){var t,n=e[0];function o(t){var o=t+n,i=e,a="";return a="(typeof "+o+' !== "undefined" && '+o+" !== null",r.each(i,function(e,t){0!==t&&(a+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),a+=")"}function i(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(t="("+o("_ctx.")+" ? "+i("_ctx.")+" : "+i("")+")")+" !== null ? "+t+' : "" )'}},n.TokenParser=s},{"./security":37,"./tokentypes":39,"./utils":40}],39:[function(e,t,n){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,UNKNOWN:100}},{}],40:[function(e,t,n){var r;n.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},n.startsWith=function(e,t){return 0===e.indexOf(t)},n.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},n.each=function(e,t){var n,o;if(r(e))for(n=0,o=e.length;n<o&&!1!==t(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===t(e[n],n,e))break;return e},n.isArray=r=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},n.some=function(e,t){var o,i,a=0;if(r(e))for(i=e.length;a<i&&!(o=t(e[a],a,e));a+=1);else n.each(e,function(n,r){return!(o=t(n,r,e))});return!!o},n.map=function(e,t){var n,o=0,i=[];if(r(e))for(n=e.length;o<n;o+=1)i[o]=t(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(i[o]=t(e[o],o));return i},n.extend=function(){for(var e,t,n=arguments,r=n[0],o=n.length>1?Array.prototype.slice.call(n,1):[],i=0,a=o.length;i<a;i+=1)for(e in t=o[i]||{})t.hasOwnProperty(e)&&(r[e]=t[e]);return r},n.keys=function(e){return e?Object.keys?Object.keys(e):n.map(e,function(e,t){return t}):[]},n.throwError=function(e,t,n){throw t&&(e+=" on line "+t),n&&(e+=" in file "+n),new Error(e+".")}},{}]},{},[1]);
|
|
19
92
|
//# sourceMappingURL=swig.js.map
|