{"version":3,"sources":["../webpack/universalModuleDefinition","../webpack/bootstrap 302dd0158f313e4b4c32","../nunjucks/src/lib.js","../nunjucks/src/runtime.js","../nunjucks/src/precompiled-loader.js","../nunjucks/src/loader.js","../nunjucks/src/object.js","../nunjucks/index.js","../nunjucks/src/environment.js","../node_modules/asap/browser-asap.js","../node_modules/asap/browser-raw.js","../node_modules/webpack/buildin/global.js","../node_modules/a-sync-waterfall/index.js","../nunjucks/src/filters.js","../node_modules/webpack/node_modules/events/events.js","../nunjucks/src/tests.js","../nunjucks/src/globals.js","../nunjucks/src/express-app.js","../nunjucks/src/jinja-compat.js"],"names":["ArrayProto","Array","prototype","ObjProto","Object","escapeMap","escapeRegex","exports","module","hasOwnProp","obj","k","hasOwnProperty","call","lookupEscape","ch","_prettifyError","path","withInternals","err","Update","TemplateError","old","Error","message","name","lineno","colno","cause","setPrototypeOf","defineProperty","enumerable","writable","value","captureStackTrace","constructor","getStack","stackDescriptor","getOwnPropertyDescriptor","get","stack","firstUpdate","msg","create","escape","val","replace","isFunction","toString","isArray","isString","isObject","_prepareAttributeParts","attr","split","getAttrGetter","attribute","parts","attrGetter","item","_item","i","length","part","undefined","groupBy","throwOnUndefined","result","iterator","key","TypeError","push","toArray","slice","without","array","contains","arguments","index","indexOf","repeat","char_","n","str","each","func","context","forEach","l","map","results","asyncIter","arr","iter","cb","next","asyncFor","keys","keys_","len","searchElement","fromIndex","_entries","_values","extend","obj1","obj2","_assign","inOperator","lib","require","arrayFrom","from","supportsIterators","Symbol","Frame","parent","isolateWrites","variables","topLevel","set","resolveUp","frame","resolve","id","lookup","p","forWrite","pop","makeMacro","argNames","kwargNames","macro","macroArgs","argCount","numArgs","args","kwargs","getKeywordArgs","arg","apply","makeKeywordArgs","__keywords","isKeywordArgs","lastArg","SafeString","String","configurable","valueOf","copySafeness","dest","target","markSafe","type","wrapSafe","ret","suppressValue","autoescape","ensureDefined","memberLookup","callWrap","contextOrFrameLookup","handleError","error","asyncEach","dimen","iterCallback","asyncAll","finished","outputArr","done","output","join","fromIterator","Loader","PrecompiledLoader","compiledTemplates","precompiled","getSource","src","EmitterObj","to","dirname","isRelative","filename","EventEmitter","parentWrap","prop","wrap","tmp","res","extendClass","cls","props","subclass","Obj","init","Environment","Template","loaders","precompile","compiler","parser","lexer","runtime","nodes","installJinjaCompat","e","configure","templatesPath","opts","TemplateLoader","FileSystemLoader","watch","noCache","WebLoader","useCache","web","async","express","NodeResolveLoader","reset","compile","env","eagerCompile","render","ctx","renderString","precompileString","asap","waterfall","filters","tests","globals","globalRuntime","expressApp","callbackAsap","noopTmplSrc","root","dev","trimBlocks","lstripBlocks","window","nunjucksPrecompiled","unshift","_initLoaders","asyncFilters","extensions","extensionsList","filter","addFilter","test","addTest","loader","cache","on","fullname","emit","source","invalidateCache","addExtension","extension","__name","removeExtension","getExtension","hasExtension","addGlobal","getGlobal","wrapped","getFilter","getTest","resolveTemplate","parentName","getTemplate","ignoreMissing","that","tmpl","raw","syncResult","createTemplate","info","newTmpl","handle","app","tasks","callback","forceAsync","Context","blocks","exported","addBlock","setVariable","getVariables","block","getBlock","getSuper","idx","blk","addExport","getExported","tmplProps","tmplStr","_compile","compiled","parentFrame","didError","rootRenderFunc","Function","_getBlocks","r","normalize","defaultValue","abs","Math","isNaN","num","batch","linecount","fillWith","capitalize","toLowerCase","charAt","toUpperCase","center","width","spaces","pre","post","default_","def","bool","dictsort","caseSensitive","by","si","sort","t1","t2","a","b","dump","JSON","stringify","safe","first","forceescape","groupby","indent","indentfirst","lines","sp","del","v","last","lengthFilter","Map","Set","size","list","lower","nl2br","random","floor","getSelectOrReject","expectedTestResult","testName","secondArg","examineTestResult","reject","rejectattr","select","selectattr","new_","maxCount","originalStr","RegExp","nextIndex","pos","count","substring","reverse","round","precision","method","factor","pow","rounder","ceil","slices","sliceLength","extra","offset","start","end","currSlice","sum","reduce","sortFilter","reversed","caseSens","getAttribute","x","y","string","striptags","input","preserveLinebreaks","tags","trimmedInput","trim","title","words","word","truncate","killwords","orig","lastIndexOf","upper","urlencode","enc","encodeURIComponent","keyvals","puncRe","emailRe","httpHttpsRe","wwwRe","tldRe","urlize","nofollow","Infinity","noFollowAttr","matches","match","possibleUrl","shortUrl","substr","wordcount","float","parseFloat","intFilter","doInt","base","parseInt","int","d","default","callable","defined","divisibleby","one","two","escaped","equalto","eq","sameas","even","falsy","ge","greaterthan","gt","le","lessthan","lt","ne","nullTest","null","number","odd","truthy","undefinedTest","iterable","mapping","cycler","items","current","joiner","sep","range","stop","step","NunjucksView","defaultEngine","ext","extname","installCompat","Compiler","Parser","orig_contextOrFrameLookup","orig_memberLookup","orig_Compiler_assertType","orig_Parser_parseAggregate","assertType","parseAggregate","uninstall","getTokensState","tokens","process","Slice","Node","fields","Literal","node","compileSlice","_emit","_compileExpression","origState","errState","rethrow","peeked","tok","peekToken","TOKEN_LEFT_BRACKET","nextToken","isSlice","skip","TOKEN_RIGHT_BRACKET","fail","TOKEN_COLON","field","parseExpression","sliceLookup","ARRAY_MEMBERS","splice","append","element","remove","find","insert","elem","OBJECT_MEMBERS","values","has_key","popitem","setdefault","update","iteritems","itervalues","iterkeys","bind"],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAAgE,kBAAkB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,oBAAoB;AAChD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC9NA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;ACpBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;A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;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,iCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;;AAEA;AACA,QAAQ,yBAAyB;AACjC;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;;;;;;;;AC3da;;AAEb,IAAIqG,UAAU,GAAGnC,mBAAO,CAAC,CAAD,CAAP,CAAqBmC,UAAtC;AAEA;AACA;AACA;AACA;AACA;;;AACA,SAAS6S,QAAT,CAAkB7Z,KAAlB,EAAyB;AACvB,SAAO,OAAOA,KAAP,KAAiB,UAAxB;AACD;;AAED1B,OAAO,CAACub,QAAR,GAAmBA,QAAnB;AAEA;AACA;AACA;AACA;AACA;;AACA,SAAS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","file":"nunjucks-slim.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"nunjucks\"] = factory();\n\telse\n\t\troot[\"nunjucks\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 6);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 302dd0158f313e4b4c32","'use strict';\n\nvar ArrayProto = Array.prototype;\nvar ObjProto = Object.prototype;\n\nvar escapeMap = {\n '&': '&',\n '\"': '"',\n '\\'': ''',\n '<': '<',\n '>': '>'\n};\n\nvar escapeRegex = /[&\"'<>]/g;\n\nvar exports = module.exports = {};\n\nfunction hasOwnProp(obj, k) {\n return ObjProto.hasOwnProperty.call(obj, k);\n}\n\nexports.hasOwnProp = hasOwnProp;\n\nfunction lookupEscape(ch) {\n return escapeMap[ch];\n}\n\nfunction _prettifyError(path, withInternals, err) {\n if (!err.Update) {\n // not one of ours, cast it\n err = new exports.TemplateError(err);\n }\n err.Update(path);\n\n // Unless they marked the dev flag, show them a trace from here\n if (!withInternals) {\n const old = err;\n err = new Error(old.message);\n err.name = old.name;\n }\n\n return err;\n}\n\nexports._prettifyError = _prettifyError;\n\nfunction TemplateError(message, lineno, colno) {\n var err;\n var cause;\n\n if (message instanceof Error) {\n cause = message;\n message = `${cause.name}: ${cause.message}`;\n }\n\n if (Object.setPrototypeOf) {\n err = new Error(message);\n Object.setPrototypeOf(err, TemplateError.prototype);\n } else {\n err = this;\n Object.defineProperty(err, 'message', {\n enumerable: false,\n writable: true,\n value: message,\n });\n }\n\n Object.defineProperty(err, 'name', {\n value: 'Template render error',\n });\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(err, this.constructor);\n }\n\n let getStack;\n\n if (cause) {\n const stackDescriptor = Object.getOwnPropertyDescriptor(cause, 'stack');\n getStack = stackDescriptor && (stackDescriptor.get || (() => stackDescriptor.value));\n if (!getStack) {\n getStack = () => cause.stack;\n }\n } else {\n const stack = (new Error(message)).stack;\n getStack = (() => stack);\n }\n\n Object.defineProperty(err, 'stack', {\n get: () => getStack.call(err),\n });\n\n Object.defineProperty(err, 'cause', {\n value: cause\n });\n\n err.lineno = lineno;\n err.colno = colno;\n err.firstUpdate = true;\n\n err.Update = function Update(path) {\n let msg = '(' + (path || 'unknown path') + ')';\n\n // only show lineno + colno next to path of template\n // where error occurred\n if (this.firstUpdate) {\n if (this.lineno && this.colno) {\n msg += ` [Line ${this.lineno}, Column ${this.colno}]`;\n } else if (this.lineno) {\n msg += ` [Line ${this.lineno}]`;\n }\n }\n\n msg += '\\n ';\n if (this.firstUpdate) {\n msg += ' ';\n }\n\n this.message = msg + (this.message || '');\n this.firstUpdate = false;\n return this;\n };\n\n return err;\n}\n\n\nif (Object.setPrototypeOf) {\n Object.setPrototypeOf(TemplateError.prototype, Error.prototype);\n} else {\n TemplateError.prototype = Object.create(Error.prototype, {\n constructor: {\n value: TemplateError,\n },\n });\n}\n\nexports.TemplateError = TemplateError;\n\nfunction escape(val) {\n return val.replace(escapeRegex, lookupEscape);\n}\n\nexports.escape = escape;\n\nfunction isFunction(obj) {\n return ObjProto.toString.call(obj) === '[object Function]';\n}\n\nexports.isFunction = isFunction;\n\nfunction isArray(obj) {\n return ObjProto.toString.call(obj) === '[object Array]';\n}\n\nexports.isArray = isArray;\n\nfunction isString(obj) {\n return ObjProto.toString.call(obj) === '[object String]';\n}\n\nexports.isString = isString;\n\nfunction isObject(obj) {\n return ObjProto.toString.call(obj) === '[object Object]';\n}\n\nexports.isObject = isObject;\n\n/**\n * @param {string|number} attr\n * @returns {(string|number)[]}\n * @private\n */\nfunction _prepareAttributeParts(attr) {\n if (!attr) {\n return [];\n }\n\n if (typeof attr === 'string') {\n return attr.split('.');\n }\n\n return [attr];\n}\n\n/**\n * @param {string} attribute Attribute value. Dots allowed.\n * @returns {function(Object): *}\n */\nfunction getAttrGetter(attribute) {\n const parts = _prepareAttributeParts(attribute);\n\n return function attrGetter(item) {\n let _item = item;\n\n for (let i = 0; i < parts.length; i++) {\n const part = parts[i];\n\n // If item is not an object, and we still got parts to handle, it means\n // that something goes wrong. Just roll out to undefined in that case.\n if (hasOwnProp(_item, part)) {\n _item = _item[part];\n } else {\n return undefined;\n }\n }\n\n return _item;\n };\n}\n\nexports.getAttrGetter = getAttrGetter;\n\nfunction groupBy(obj, val, throwOnUndefined) {\n const result = {};\n const iterator = isFunction(val) ? val : getAttrGetter(val);\n for (let i = 0; i < obj.length; i++) {\n const value = obj[i];\n const key = iterator(value, i);\n if (key === undefined && throwOnUndefined === true) {\n throw new TypeError(`groupby: attribute \"${val}\" resolved to undefined`);\n }\n (result[key] || (result[key] = [])).push(value);\n }\n return result;\n}\n\nexports.groupBy = groupBy;\n\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj);\n}\n\nexports.toArray = toArray;\n\nfunction without(array) {\n const result = [];\n if (!array) {\n return result;\n }\n const length = array.length;\n const contains = toArray(arguments).slice(1);\n let index = -1;\n\n while (++index < length) {\n if (indexOf(contains, array[index]) === -1) {\n result.push(array[index]);\n }\n }\n return result;\n}\n\nexports.without = without;\n\nfunction repeat(char_, n) {\n var str = '';\n for (let i = 0; i < n; i++) {\n str += char_;\n }\n return str;\n}\n\nexports.repeat = repeat;\n\nfunction each(obj, func, context) {\n if (obj == null) {\n return;\n }\n\n if (ArrayProto.forEach && obj.forEach === ArrayProto.forEach) {\n obj.forEach(func, context);\n } else if (obj.length === +obj.length) {\n for (let i = 0, l = obj.length; i < l; i++) {\n func.call(context, obj[i], i, obj);\n }\n }\n}\n\nexports.each = each;\n\nfunction map(obj, func) {\n var results = [];\n if (obj == null) {\n return results;\n }\n\n if (ArrayProto.map && obj.map === ArrayProto.map) {\n return obj.map(func);\n }\n\n for (let i = 0; i < obj.length; i++) {\n results[results.length] = func(obj[i], i);\n }\n\n if (obj.length === +obj.length) {\n results.length = obj.length;\n }\n\n return results;\n}\n\nexports.map = map;\n\nfunction asyncIter(arr, iter, cb) {\n let i = -1;\n\n function next() {\n i++;\n\n if (i < arr.length) {\n iter(arr[i], i, next, cb);\n } else {\n cb();\n }\n }\n\n next();\n}\n\nexports.asyncIter = asyncIter;\n\nfunction asyncFor(obj, iter, cb) {\n const keys = keys_(obj || {});\n const len = keys.length;\n let i = -1;\n\n function next() {\n i++;\n const k = keys[i];\n\n if (i < len) {\n iter(k, obj[k], i, len, next);\n } else {\n cb();\n }\n }\n\n next();\n}\n\nexports.asyncFor = asyncFor;\n\nfunction indexOf(arr, searchElement, fromIndex) {\n return Array.prototype.indexOf.call(arr || [], searchElement, fromIndex);\n}\n\nexports.indexOf = indexOf;\n\nfunction keys_(obj) {\n /* eslint-disable no-restricted-syntax */\n const arr = [];\n for (let k in obj) {\n if (hasOwnProp(obj, k)) {\n arr.push(k);\n }\n }\n return arr;\n}\n\nexports.keys = keys_;\n\nfunction _entries(obj) {\n return keys_(obj).map((k) => [k, obj[k]]);\n}\n\nexports._entries = _entries;\n\nfunction _values(obj) {\n return keys_(obj).map((k) => obj[k]);\n}\n\nexports._values = _values;\n\nfunction extend(obj1, obj2) {\n obj1 = obj1 || {};\n keys_(obj2).forEach(k => {\n obj1[k] = obj2[k];\n });\n return obj1;\n}\n\nexports._assign = exports.extend = extend;\n\nfunction inOperator(key, val) {\n if (isArray(val) || isString(val)) {\n return val.indexOf(key) !== -1;\n } else if (isObject(val)) {\n return key in val;\n }\n throw new Error('Cannot use \"in\" operator to search for \"'\n + key + '\" in unexpected types.');\n}\n\nexports.inOperator = inOperator;\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/lib.js","'use strict';\n\nvar lib = require('./lib');\nvar arrayFrom = Array.from;\nvar supportsIterators = (\n typeof Symbol === 'function' && Symbol.iterator && typeof arrayFrom === 'function'\n);\n\n\n// Frames keep track of scoping both at compile-time and run-time so\n// we know how to access variables. Block tags can introduce special\n// variables, for example.\nclass Frame {\n constructor(parent, isolateWrites) {\n this.variables = Object.create(null);\n this.parent = parent;\n this.topLevel = false;\n // if this is true, writes (set) should never propagate upwards past\n // this frame to its parent (though reads may).\n this.isolateWrites = isolateWrites;\n }\n\n set(name, val, resolveUp) {\n // Allow variables with dots by automatically creating the\n // nested structure\n var parts = name.split('.');\n var obj = this.variables;\n var frame = this;\n\n if (resolveUp) {\n if ((frame = this.resolve(parts[0], true))) {\n frame.set(name, val);\n return;\n }\n }\n\n for (let i = 0; i < parts.length - 1; i++) {\n const id = parts[i];\n\n if (!obj[id]) {\n obj[id] = {};\n }\n obj = obj[id];\n }\n\n obj[parts[parts.length - 1]] = val;\n }\n\n get(name) {\n var val = this.variables[name];\n if (val !== undefined) {\n return val;\n }\n return null;\n }\n\n lookup(name) {\n var p = this.parent;\n var val = this.variables[name];\n if (val !== undefined) {\n return val;\n }\n return p && p.lookup(name);\n }\n\n resolve(name, forWrite) {\n var p = (forWrite && this.isolateWrites) ? undefined : this.parent;\n var val = this.variables[name];\n if (val !== undefined) {\n return this;\n }\n return p && p.resolve(name);\n }\n\n push(isolateWrites) {\n return new Frame(this, isolateWrites);\n }\n\n pop() {\n return this.parent;\n }\n}\n\nfunction makeMacro(argNames, kwargNames, func) {\n return function macro(...macroArgs) {\n var argCount = numArgs(macroArgs);\n var args;\n var kwargs = getKeywordArgs(macroArgs);\n\n if (argCount > argNames.length) {\n args = macroArgs.slice(0, argNames.length);\n\n // Positional arguments that should be passed in as\n // keyword arguments (essentially default values)\n macroArgs.slice(args.length, argCount).forEach((val, i) => {\n if (i < kwargNames.length) {\n kwargs[kwargNames[i]] = val;\n }\n });\n args.push(kwargs);\n } else if (argCount < argNames.length) {\n args = macroArgs.slice(0, argCount);\n\n for (let i = argCount; i < argNames.length; i++) {\n const arg = argNames[i];\n\n // Keyword arguments that should be passed as\n // positional arguments, i.e. the caller explicitly\n // used the name of a positional arg\n args.push(kwargs[arg]);\n delete kwargs[arg];\n }\n args.push(kwargs);\n } else {\n args = macroArgs;\n }\n\n return func.apply(this, args);\n };\n}\n\nfunction makeKeywordArgs(obj) {\n obj.__keywords = true;\n return obj;\n}\n\nfunction isKeywordArgs(obj) {\n return obj && Object.prototype.hasOwnProperty.call(obj, '__keywords');\n}\n\nfunction getKeywordArgs(args) {\n var len = args.length;\n if (len) {\n const lastArg = args[len - 1];\n if (isKeywordArgs(lastArg)) {\n return lastArg;\n }\n }\n return {};\n}\n\nfunction numArgs(args) {\n var len = args.length;\n if (len === 0) {\n return 0;\n }\n\n const lastArg = args[len - 1];\n if (isKeywordArgs(lastArg)) {\n return len - 1;\n } else {\n return len;\n }\n}\n\n// A SafeString object indicates that the string should not be\n// autoescaped. This happens magically because autoescaping only\n// occurs on primitive string objects.\nfunction SafeString(val) {\n if (typeof val !== 'string') {\n return val;\n }\n\n this.val = val;\n this.length = val.length;\n}\n\nSafeString.prototype = Object.create(String.prototype, {\n length: {\n writable: true,\n configurable: true,\n value: 0\n }\n});\nSafeString.prototype.valueOf = function valueOf() {\n return this.val;\n};\nSafeString.prototype.toString = function toString() {\n return this.val;\n};\n\nfunction copySafeness(dest, target) {\n if (dest instanceof SafeString) {\n return new SafeString(target);\n }\n return target.toString();\n}\n\nfunction markSafe(val) {\n var type = typeof val;\n\n if (type === 'string') {\n return new SafeString(val);\n } else if (type !== 'function') {\n return val;\n } else {\n return function wrapSafe(args) {\n var ret = val.apply(this, arguments);\n\n if (typeof ret === 'string') {\n return new SafeString(ret);\n }\n\n return ret;\n };\n }\n}\n\nfunction suppressValue(val, autoescape) {\n val = (val !== undefined && val !== null) ? val : '';\n\n if (autoescape && !(val instanceof SafeString)) {\n val = lib.escape(val.toString());\n }\n\n return val;\n}\n\nfunction ensureDefined(val, lineno, colno) {\n if (val === null || val === undefined) {\n throw new lib.TemplateError(\n 'attempted to output null or undefined value',\n lineno + 1,\n colno + 1\n );\n }\n return val;\n}\n\nfunction memberLookup(obj, val) {\n if (obj === undefined || obj === null) {\n return undefined;\n }\n\n if (typeof obj[val] === 'function') {\n return (...args) => obj[val].apply(obj, args);\n }\n\n return obj[val];\n}\n\nfunction callWrap(obj, name, context, args) {\n if (!obj) {\n throw new Error('Unable to call `' + name + '`, which is undefined or falsey');\n } else if (typeof obj !== 'function') {\n throw new Error('Unable to call `' + name + '`, which is not a function');\n }\n\n return obj.apply(context, args);\n}\n\nfunction contextOrFrameLookup(context, frame, name) {\n var val = frame.lookup(name);\n return (val !== undefined) ?\n val :\n context.lookup(name);\n}\n\nfunction handleError(error, lineno, colno) {\n if (error.lineno) {\n return error;\n } else {\n return new lib.TemplateError(error, lineno, colno);\n }\n}\n\nfunction asyncEach(arr, dimen, iter, cb) {\n if (lib.isArray(arr)) {\n const len = arr.length;\n\n lib.asyncIter(arr, function iterCallback(item, i, next) {\n switch (dimen) {\n case 1:\n iter(item, i, len, next);\n break;\n case 2:\n iter(item[0], item[1], i, len, next);\n break;\n case 3:\n iter(item[0], item[1], item[2], i, len, next);\n break;\n default:\n item.push(i, len, next);\n iter.apply(this, item);\n }\n }, cb);\n } else {\n lib.asyncFor(arr, function iterCallback(key, val, i, len, next) {\n iter(key, val, i, len, next);\n }, cb);\n }\n}\n\nfunction asyncAll(arr, dimen, func, cb) {\n var finished = 0;\n var len;\n var outputArr;\n\n function done(i, output) {\n finished++;\n outputArr[i] = output;\n\n if (finished === len) {\n cb(null, outputArr.join(''));\n }\n }\n\n if (lib.isArray(arr)) {\n len = arr.length;\n outputArr = new Array(len);\n\n if (len === 0) {\n cb(null, '');\n } else {\n for (let i = 0; i < arr.length; i++) {\n const item = arr[i];\n\n switch (dimen) {\n case 1:\n func(item, i, len, done);\n break;\n case 2:\n func(item[0], item[1], i, len, done);\n break;\n case 3:\n func(item[0], item[1], item[2], i, len, done);\n break;\n default:\n item.push(i, len, done);\n func.apply(this, item);\n }\n }\n }\n } else {\n const keys = lib.keys(arr || {});\n len = keys.length;\n outputArr = new Array(len);\n\n if (len === 0) {\n cb(null, '');\n } else {\n for (let i = 0; i < keys.length; i++) {\n const k = keys[i];\n func(k, arr[k], i, len, done);\n }\n }\n }\n}\n\nfunction fromIterator(arr) {\n if (typeof arr !== 'object' || arr === null || lib.isArray(arr)) {\n return arr;\n } else if (supportsIterators && Symbol.iterator in arr) {\n return arrayFrom(arr);\n } else {\n return arr;\n }\n}\n\nmodule.exports = {\n Frame: Frame,\n makeMacro: makeMacro,\n makeKeywordArgs: makeKeywordArgs,\n numArgs: numArgs,\n suppressValue: suppressValue,\n ensureDefined: ensureDefined,\n memberLookup: memberLookup,\n contextOrFrameLookup: contextOrFrameLookup,\n callWrap: callWrap,\n handleError: handleError,\n isArray: lib.isArray,\n keys: lib.keys,\n SafeString: SafeString,\n copySafeness: copySafeness,\n markSafe: markSafe,\n asyncEach: asyncEach,\n asyncAll: asyncAll,\n inOperator: lib.inOperator,\n fromIterator: fromIterator\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/runtime.js","'use strict';\n\nconst Loader = require('./loader');\n\nclass PrecompiledLoader extends Loader {\n constructor(compiledTemplates) {\n super();\n this.precompiled = compiledTemplates || {};\n }\n\n getSource(name) {\n if (this.precompiled[name]) {\n return {\n src: {\n type: 'code',\n obj: this.precompiled[name]\n },\n path: name\n };\n }\n return null;\n }\n}\n\nmodule.exports = {\n PrecompiledLoader: PrecompiledLoader,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/precompiled-loader.js","'use strict';\n\nconst path = require('path');\nconst {EmitterObj} = require('./object');\n\nmodule.exports = class Loader extends EmitterObj {\n resolve(from, to) {\n return path.resolve(path.dirname(from), to);\n }\n\n isRelative(filename) {\n return (filename.indexOf('./') === 0 || filename.indexOf('../') === 0);\n }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/loader.js","'use strict';\n\n// A simple class system, more documentation to come\nconst EventEmitter = require('events');\nconst lib = require('./lib');\n\nfunction parentWrap(parent, prop) {\n if (typeof parent !== 'function' || typeof prop !== 'function') {\n return prop;\n }\n return function wrap() {\n // Save the current parent method\n const tmp = this.parent;\n\n // Set parent to the previous method, call, and restore\n this.parent = parent;\n const res = prop.apply(this, arguments);\n this.parent = tmp;\n\n return res;\n };\n}\n\nfunction extendClass(cls, name, props) {\n props = props || {};\n\n lib.keys(props).forEach(k => {\n props[k] = parentWrap(cls.prototype[k], props[k]);\n });\n\n class subclass extends cls {\n get typename() {\n return name;\n }\n }\n\n lib._assign(subclass.prototype, props);\n\n return subclass;\n}\n\nclass Obj {\n constructor(...args) {\n // Unfortunately necessary for backwards compatibility\n this.init(...args);\n }\n\n init() {}\n\n get typename() {\n return this.constructor.name;\n }\n\n static extend(name, props) {\n if (typeof name === 'object') {\n props = name;\n name = 'anonymous';\n }\n return extendClass(this, name, props);\n }\n}\n\nclass EmitterObj extends EventEmitter {\n constructor(...args) {\n super();\n // Unfortunately necessary for backwards compatibility\n this.init(...args);\n }\n\n init() {}\n\n get typename() {\n return this.constructor.name;\n }\n\n static extend(name, props) {\n if (typeof name === 'object') {\n props = name;\n name = 'anonymous';\n }\n return extendClass(this, name, props);\n }\n}\n\nmodule.exports = { Obj, EmitterObj };\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/object.js","'use strict';\n\nconst lib = require('./src/lib');\nconst {Environment, Template} = require('./src/environment');\nconst Loader = require('./src/loader');\nconst loaders = require('./src/loaders');\nconst precompile = require('./src/precompile');\nconst compiler = require('./src/compiler');\nconst parser = require('./src/parser');\nconst lexer = require('./src/lexer');\nconst runtime = require('./src/runtime');\nconst nodes = require('./src/nodes');\nconst installJinjaCompat = require('./src/jinja-compat');\n\n// A single instance of an environment, since this is so commonly used\nlet e;\n\nfunction configure(templatesPath, opts) {\n opts = opts || {};\n if (lib.isObject(templatesPath)) {\n opts = templatesPath;\n templatesPath = null;\n }\n\n let TemplateLoader;\n if (loaders.FileSystemLoader) {\n TemplateLoader = new loaders.FileSystemLoader(templatesPath, {\n watch: opts.watch,\n noCache: opts.noCache\n });\n } else if (loaders.WebLoader) {\n TemplateLoader = new loaders.WebLoader(templatesPath, {\n useCache: opts.web && opts.web.useCache,\n async: opts.web && opts.web.async\n });\n }\n\n e = new Environment(TemplateLoader, opts);\n\n if (opts && opts.express) {\n e.express(opts.express);\n }\n\n return e;\n}\n\nmodule.exports = {\n Environment: Environment,\n Template: Template,\n Loader: Loader,\n FileSystemLoader: loaders.FileSystemLoader,\n NodeResolveLoader: loaders.NodeResolveLoader,\n PrecompiledLoader: loaders.PrecompiledLoader,\n WebLoader: loaders.WebLoader,\n compiler: compiler,\n parser: parser,\n lexer: lexer,\n runtime: runtime,\n lib: lib,\n nodes: nodes,\n installJinjaCompat: installJinjaCompat,\n configure: configure,\n reset() {\n e = undefined;\n },\n compile(src, env, path, eagerCompile) {\n if (!e) {\n configure();\n }\n return new Template(src, env, path, eagerCompile);\n },\n render(name, ctx, cb) {\n if (!e) {\n configure();\n }\n\n return e.render(name, ctx, cb);\n },\n renderString(src, ctx, cb) {\n if (!e) {\n configure();\n }\n\n return e.renderString(src, ctx, cb);\n },\n precompile: (precompile) ? precompile.precompile : undefined,\n precompileString: (precompile) ? precompile.precompileString : undefined,\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/index.js","'use strict';\n\nconst asap = require('asap');\nconst waterfall = require('a-sync-waterfall');\nconst lib = require('./lib');\nconst compiler = require('./compiler');\nconst filters = require('./filters');\nconst {FileSystemLoader, WebLoader, PrecompiledLoader} = require('./loaders');\nconst tests = require('./tests');\nconst globals = require('./globals');\nconst {Obj, EmitterObj} = require('./object');\nconst globalRuntime = require('./runtime');\nconst {handleError, Frame} = globalRuntime;\nconst expressApp = require('./express-app');\n\n// If the user is using the async API, *always* call it\n// asynchronously even if the template was synchronous.\nfunction callbackAsap(cb, err, res) {\n asap(() => {\n cb(err, res);\n });\n}\n\n/**\n * A no-op template, for use with {% include ignore missing %}\n */\nconst noopTmplSrc = {\n type: 'code',\n obj: {\n root(env, context, frame, runtime, cb) {\n try {\n cb(null, '');\n } catch (e) {\n cb(handleError(e, null, null));\n }\n }\n }\n};\n\nclass Environment extends EmitterObj {\n init(loaders, opts) {\n // The dev flag determines the trace that'll be shown on errors.\n // If set to true, returns the full trace from the error point,\n // otherwise will return trace starting from Template.render\n // (the full trace from within nunjucks may confuse developers using\n // the library)\n // defaults to false\n opts = this.opts = opts || {};\n this.opts.dev = !!opts.dev;\n\n // The autoescape flag sets global autoescaping. If true,\n // every string variable will be escaped by default.\n // If false, strings can be manually escaped using the `escape` filter.\n // defaults to true\n this.opts.autoescape = opts.autoescape != null ? opts.autoescape : true;\n\n // If true, this will make the system throw errors if trying\n // to output a null or undefined value\n this.opts.throwOnUndefined = !!opts.throwOnUndefined;\n this.opts.trimBlocks = !!opts.trimBlocks;\n this.opts.lstripBlocks = !!opts.lstripBlocks;\n\n this.loaders = [];\n\n if (!loaders) {\n // The filesystem loader is only available server-side\n if (FileSystemLoader) {\n this.loaders = [new FileSystemLoader('views')];\n } else if (WebLoader) {\n this.loaders = [new WebLoader('/views')];\n }\n } else {\n this.loaders = lib.isArray(loaders) ? loaders : [loaders];\n }\n\n // It's easy to use precompiled templates: just include them\n // before you configure nunjucks and this will automatically\n // pick it up and use it\n if (typeof window !== 'undefined' && window.nunjucksPrecompiled) {\n this.loaders.unshift(\n new PrecompiledLoader(window.nunjucksPrecompiled)\n );\n }\n\n this._initLoaders();\n\n this.globals = globals();\n this.filters = {};\n this.tests = {};\n this.asyncFilters = [];\n this.extensions = {};\n this.extensionsList = [];\n\n lib._entries(filters).forEach(([name, filter]) => this.addFilter(name, filter));\n lib._entries(tests).forEach(([name, test]) => this.addTest(name, test));\n }\n\n _initLoaders() {\n this.loaders.forEach((loader) => {\n // Caching and cache busting\n loader.cache = {};\n if (typeof loader.on === 'function') {\n loader.on('update', (name, fullname) => {\n loader.cache[name] = null;\n this.emit('update', name, fullname, loader);\n });\n loader.on('load', (name, source) => {\n this.emit('load', name, source, loader);\n });\n }\n });\n }\n\n invalidateCache() {\n this.loaders.forEach((loader) => {\n loader.cache = {};\n });\n }\n\n addExtension(name, extension) {\n extension.__name = name;\n this.extensions[name] = extension;\n this.extensionsList.push(extension);\n return this;\n }\n\n removeExtension(name) {\n var extension = this.getExtension(name);\n if (!extension) {\n return;\n }\n\n this.extensionsList = lib.without(this.extensionsList, extension);\n delete this.extensions[name];\n }\n\n getExtension(name) {\n return this.extensions[name];\n }\n\n hasExtension(name) {\n return !!this.extensions[name];\n }\n\n addGlobal(name, value) {\n this.globals[name] = value;\n return this;\n }\n\n getGlobal(name) {\n if (typeof this.globals[name] === 'undefined') {\n throw new Error('global not found: ' + name);\n }\n return this.globals[name];\n }\n\n addFilter(name, func, async) {\n var wrapped = func;\n\n if (async) {\n this.asyncFilters.push(name);\n }\n this.filters[name] = wrapped;\n return this;\n }\n\n getFilter(name) {\n if (!this.filters[name]) {\n throw new Error('filter not found: ' + name);\n }\n return this.filters[name];\n }\n\n addTest(name, func) {\n this.tests[name] = func;\n return this;\n }\n\n getTest(name) {\n if (!this.tests[name]) {\n throw new Error('test not found: ' + name);\n }\n return this.tests[name];\n }\n\n resolveTemplate(loader, parentName, filename) {\n var isRelative = (loader.isRelative && parentName) ? loader.isRelative(filename) : false;\n return (isRelative && loader.resolve) ? loader.resolve(parentName, filename) : filename;\n }\n\n getTemplate(name, eagerCompile, parentName, ignoreMissing, cb) {\n var that = this;\n var tmpl = null;\n if (name && name.raw) {\n // this fixes autoescape for templates referenced in symbols\n name = name.raw;\n }\n\n if (lib.isFunction(parentName)) {\n cb = parentName;\n parentName = null;\n eagerCompile = eagerCompile || false;\n }\n\n if (lib.isFunction(eagerCompile)) {\n cb = eagerCompile;\n eagerCompile = false;\n }\n\n if (name instanceof Template) {\n tmpl = name;\n } else if (typeof name !== 'string') {\n throw new Error('template names must be a string: ' + name);\n } else {\n for (let i = 0; i < this.loaders.length; i++) {\n const loader = this.loaders[i];\n tmpl = loader.cache[this.resolveTemplate(loader, parentName, name)];\n if (tmpl) {\n break;\n }\n }\n }\n\n if (tmpl) {\n if (eagerCompile) {\n tmpl.compile();\n }\n\n if (cb) {\n cb(null, tmpl);\n return undefined;\n } else {\n return tmpl;\n }\n }\n let syncResult;\n\n const createTemplate = (err, info) => {\n if (!info && !err && !ignoreMissing) {\n err = new Error('template not found: ' + name);\n }\n\n if (err) {\n if (cb) {\n cb(err);\n return;\n } else {\n throw err;\n }\n }\n let newTmpl;\n if (!info) {\n newTmpl = new Template(noopTmplSrc, this, '', eagerCompile);\n } else {\n newTmpl = new Template(info.src, this, info.path, eagerCompile);\n if (!info.noCache) {\n info.loader.cache[name] = newTmpl;\n }\n }\n if (cb) {\n cb(null, newTmpl);\n } else {\n syncResult = newTmpl;\n }\n };\n\n lib.asyncIter(this.loaders, (loader, i, next, done) => {\n function handle(err, src) {\n if (err) {\n done(err);\n } else if (src) {\n src.loader = loader;\n done(null, src);\n } else {\n next();\n }\n }\n\n // Resolve name relative to parentName\n name = that.resolveTemplate(loader, parentName, name);\n\n if (loader.async) {\n loader.getSource(name, handle);\n } else {\n handle(null, loader.getSource(name));\n }\n }, createTemplate);\n\n return syncResult;\n }\n\n express(app) {\n return expressApp(this, app);\n }\n\n render(name, ctx, cb) {\n if (lib.isFunction(ctx)) {\n cb = ctx;\n ctx = null;\n }\n\n // We support a synchronous API to make it easier to migrate\n // existing code to async. This works because if you don't do\n // anything async work, the whole thing is actually run\n // synchronously.\n let syncResult = null;\n\n this.getTemplate(name, (err, tmpl) => {\n if (err && cb) {\n callbackAsap(cb, err);\n } else if (err) {\n throw err;\n } else {\n syncResult = tmpl.render(ctx, cb);\n }\n });\n\n return syncResult;\n }\n\n renderString(src, ctx, opts, cb) {\n if (lib.isFunction(opts)) {\n cb = opts;\n opts = {};\n }\n opts = opts || {};\n\n const tmpl = new Template(src, this, opts.path);\n return tmpl.render(ctx, cb);\n }\n\n waterfall(tasks, callback, forceAsync) {\n return waterfall(tasks, callback, forceAsync);\n }\n}\n\nclass Context extends Obj {\n init(ctx, blocks, env) {\n // Has to be tied to an environment so we can tap into its globals.\n this.env = env || new Environment();\n\n // Make a duplicate of ctx\n this.ctx = lib.extend({}, ctx);\n\n this.blocks = {};\n this.exported = [];\n\n lib.keys(blocks).forEach(name => {\n this.addBlock(name, blocks[name]);\n });\n }\n\n lookup(name) {\n // This is one of the most called functions, so optimize for\n // the typical case where the name isn't in the globals\n if (name in this.env.globals && !(name in this.ctx)) {\n return this.env.globals[name];\n } else {\n return this.ctx[name];\n }\n }\n\n setVariable(name, val) {\n this.ctx[name] = val;\n }\n\n getVariables() {\n return this.ctx;\n }\n\n addBlock(name, block) {\n this.blocks[name] = this.blocks[name] || [];\n this.blocks[name].push(block);\n return this;\n }\n\n getBlock(name) {\n if (!this.blocks[name]) {\n throw new Error('unknown block \"' + name + '\"');\n }\n\n return this.blocks[name][0];\n }\n\n getSuper(env, name, block, frame, runtime, cb) {\n var idx = lib.indexOf(this.blocks[name] || [], block);\n var blk = this.blocks[name][idx + 1];\n var context = this;\n\n if (idx === -1 || !blk) {\n throw new Error('no super block available for \"' + name + '\"');\n }\n\n blk(env, context, frame, runtime, cb);\n }\n\n addExport(name) {\n this.exported.push(name);\n }\n\n getExported() {\n var exported = {};\n this.exported.forEach((name) => {\n exported[name] = this.ctx[name];\n });\n return exported;\n }\n}\n\nclass Template extends Obj {\n init(src, env, path, eagerCompile) {\n this.env = env || new Environment();\n\n if (lib.isObject(src)) {\n switch (src.type) {\n case 'code':\n this.tmplProps = src.obj;\n break;\n case 'string':\n this.tmplStr = src.obj;\n break;\n default:\n throw new Error(\n `Unexpected template object type ${src.type}; expected 'code', or 'string'`);\n }\n } else if (lib.isString(src)) {\n this.tmplStr = src;\n } else {\n throw new Error('src must be a string or an object describing the source');\n }\n\n this.path = path;\n\n if (eagerCompile) {\n try {\n this._compile();\n } catch (err) {\n throw lib._prettifyError(this.path, this.env.opts.dev, err);\n }\n } else {\n this.compiled = false;\n }\n }\n\n render(ctx, parentFrame, cb) {\n if (typeof ctx === 'function') {\n cb = ctx;\n ctx = {};\n } else if (typeof parentFrame === 'function') {\n cb = parentFrame;\n parentFrame = null;\n }\n\n // If there is a parent frame, we are being called from internal\n // code of another template, and the internal system\n // depends on the sync/async nature of the parent template\n // to be inherited, so force an async callback\n const forceAsync = !parentFrame;\n\n // Catch compile errors for async rendering\n try {\n this.compile();\n } catch (e) {\n const err = lib._prettifyError(this.path, this.env.opts.dev, e);\n if (cb) {\n return callbackAsap(cb, err);\n } else {\n throw err;\n }\n }\n\n const context = new Context(ctx || {}, this.blocks, this.env);\n const frame = parentFrame ? parentFrame.push(true) : new Frame();\n frame.topLevel = true;\n let syncResult = null;\n let didError = false;\n\n this.rootRenderFunc(this.env, context, frame, globalRuntime, (err, res) => {\n // TODO: this is actually a bug in the compiled template (because waterfall\n // tasks are both not passing errors up the chain of callbacks AND are not\n // causing a return from the top-most render function). But fixing that\n // will require a more substantial change to the compiler.\n if (didError && cb && typeof res !== 'undefined') {\n // prevent multiple calls to cb\n return;\n }\n\n if (err) {\n err = lib._prettifyError(this.path, this.env.opts.dev, err);\n didError = true;\n }\n\n if (cb) {\n if (forceAsync) {\n callbackAsap(cb, err, res);\n } else {\n cb(err, res);\n }\n } else {\n if (err) {\n throw err;\n }\n syncResult = res;\n }\n });\n\n return syncResult;\n }\n\n\n getExported(ctx, parentFrame, cb) { // eslint-disable-line consistent-return\n if (typeof ctx === 'function') {\n cb = ctx;\n ctx = {};\n }\n\n if (typeof parentFrame === 'function') {\n cb = parentFrame;\n parentFrame = null;\n }\n\n // Catch compile errors for async rendering\n try {\n this.compile();\n } catch (e) {\n if (cb) {\n return cb(e);\n } else {\n throw e;\n }\n }\n\n const frame = parentFrame ? parentFrame.push() : new Frame();\n frame.topLevel = true;\n\n // Run the rootRenderFunc to populate the context with exported vars\n const context = new Context(ctx || {}, this.blocks, this.env);\n this.rootRenderFunc(this.env, context, frame, globalRuntime, (err) => {\n if (err) {\n cb(err, null);\n } else {\n cb(null, context.getExported());\n }\n });\n }\n\n compile() {\n if (!this.compiled) {\n this._compile();\n }\n }\n\n _compile() {\n var props;\n\n if (this.tmplProps) {\n props = this.tmplProps;\n } else {\n const source = compiler.compile(this.tmplStr,\n this.env.asyncFilters,\n this.env.extensionsList,\n this.path,\n this.env.opts);\n\n const func = new Function(source); // eslint-disable-line no-new-func\n props = func();\n }\n\n this.blocks = this._getBlocks(props);\n this.rootRenderFunc = props.root;\n this.compiled = true;\n }\n\n _getBlocks(props) {\n var blocks = {};\n\n lib.keys(props).forEach((k) => {\n if (k.slice(0, 2) === 'b_') {\n blocks[k.slice(2)] = props[k];\n }\n });\n\n return blocks;\n }\n}\n\nmodule.exports = {\n Environment: Environment,\n Template: Template\n};\n\n\n\n// WEBPACK FOOTER //\n// ./nunjucks/src/environment.js","\"use strict\";\n\n// rawAsap provides everything we need except exception management.\nvar rawAsap = require(\"./raw\");\n// RawTasks are recycled to reduce GC churn.\nvar freeTasks = [];\n// We queue errors to ensure they are thrown in right order (FIFO).\n// Array-as-queue is good enough here, since we are just dealing with exceptions.\nvar pendingErrors = [];\nvar requestErrorThrow = rawAsap.makeRequestCallFromTimer(throwFirstError);\n\nfunction throwFirstError() {\n if (pendingErrors.length) {\n throw pendingErrors.shift();\n }\n}\n\n/**\n * Calls a task as soon as possible after returning, in its own event, with priority\n * over other events like animation, reflow, and repaint. An error thrown from an\n * event will not interrupt, nor even substantially slow down the processing of\n * other events, but will be rather postponed to a lower priority event.\n * @param {{call}} task A callable object, typically a function that takes no\n * arguments.\n */\nmodule.exports = asap;\nfunction asap(task) {\n var rawTask;\n if (freeTasks.length) {\n rawTask = freeTasks.pop();\n } else {\n rawTask = new RawTask();\n }\n rawTask.task = task;\n rawAsap(rawTask);\n}\n\n// We wrap tasks with recyclable task objects. A task object implements\n// `call`, just like a function.\nfunction RawTask() {\n this.task = null;\n}\n\n// The sole purpose of wrapping the task is to catch the exception and recycle\n// the task object after its single use.\nRawTask.prototype.call = function () {\n try {\n this.task.call();\n } catch (error) {\n if (asap.onerror) {\n // This hook exists purely for testing purposes.\n // Its name will be periodically randomized to break any code that\n // depends on its existence.\n asap.onerror(error);\n } else {\n // In a web browser, exceptions are not fatal. However, to avoid\n // slowing down the queue of pending tasks, we rethrow the error in a\n // lower priority turn.\n pendingErrors.push(error);\n requestErrorThrow();\n }\n } finally {\n this.task = null;\n freeTasks[freeTasks.length] = this;\n }\n};\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-asap.js\n// module id = 8\n// module chunks = 0","\"use strict\";\n\n// Use the fastest means possible to execute a task in its own turn, with\n// priority over other events including IO, animation, reflow, and redraw\n// events in browsers.\n//\n// An exception thrown by a task will permanently interrupt the processing of\n// subsequent tasks. The higher level `asap` function ensures that if an\n// exception is thrown by a task, that the task queue will continue flushing as\n// soon as possible, but if you use `rawAsap` directly, you are responsible to\n// either ensure that no exceptions are thrown from your task, or to manually\n// call `rawAsap.requestFlush` if an exception is thrown.\nmodule.exports = rawAsap;\nfunction rawAsap(task) {\n if (!queue.length) {\n requestFlush();\n flushing = true;\n }\n // Equivalent to push, but avoids a function call.\n queue[queue.length] = task;\n}\n\nvar queue = [];\n// Once a flush has been requested, no further calls to `requestFlush` are\n// necessary until the next `flush` completes.\nvar flushing = false;\n// `requestFlush` is an implementation-specific method that attempts to kick\n// off a `flush` event as quickly as possible. `flush` will attempt to exhaust\n// the event queue before yielding to the browser's own event loop.\nvar requestFlush;\n// The position of the next task to execute in the task queue. This is\n// preserved between calls to `flush` so that it can be resumed if\n// a task throws an exception.\nvar index = 0;\n// If a task schedules additional tasks recursively, the task queue can grow\n// unbounded. To prevent memory exhaustion, the task queue will periodically\n// truncate already-completed tasks.\nvar capacity = 1024;\n\n// The flush function processes all tasks that have been scheduled with\n// `rawAsap` unless and until one of those tasks throws an exception.\n// If a task throws an exception, `flush` ensures that its state will remain\n// consistent and will resume where it left off when called again.\n// However, `flush` does not make any arrangements to be called again if an\n// exception is thrown.\nfunction flush() {\n while (index < queue.length) {\n var currentIndex = index;\n // Advance the index before calling the task. This ensures that we will\n // begin flushing on the next task the task throws an error.\n index = index + 1;\n queue[currentIndex].call();\n // Prevent leaking memory for long chains of recursive calls to `asap`.\n // If we call `asap` within tasks scheduled by `asap`, the queue will\n // grow, but to avoid an O(n) walk for every task we execute, we don't\n // shift tasks off the queue after they have been executed.\n // Instead, we periodically shift 1024 tasks off the queue.\n if (index > capacity) {\n // Manually shift all values starting at the index back to the\n // beginning of the queue.\n for (var scan = 0, newLength = queue.length - index; scan < newLength; scan++) {\n queue[scan] = queue[scan + index];\n }\n queue.length -= index;\n index = 0;\n }\n }\n queue.length = 0;\n index = 0;\n flushing = false;\n}\n\n// `requestFlush` is implemented using a strategy based on data collected from\n// every available SauceLabs Selenium web driver worker at time of writing.\n// https://docs.google.com/spreadsheets/d/1mG-5UYGup5qxGdEMWkhP6BWCz053NUb2E1QoUTU16uA/edit#gid=783724593\n\n// Safari 6 and 6.1 for desktop, iPad, and iPhone are the only browsers that\n// have WebKitMutationObserver but not un-prefixed MutationObserver.\n// Must use `global` or `self` instead of `window` to work in both frames and web\n// workers. `global` is a provision of Browserify, Mr, Mrs, or Mop.\n\n/* globals self */\nvar scope = typeof global !== \"undefined\" ? global : self;\nvar BrowserMutationObserver = scope.MutationObserver || scope.WebKitMutationObserver;\n\n// MutationObservers are desirable because they have high priority and work\n// reliably everywhere they are implemented.\n// They are implemented in all modern browsers.\n//\n// - Android 4-4.3\n// - Chrome 26-34\n// - Firefox 14-29\n// - Internet Explorer 11\n// - iPad Safari 6-7.1\n// - iPhone Safari 7-7.1\n// - Safari 6-7\nif (typeof BrowserMutationObserver === \"function\") {\n requestFlush = makeRequestCallFromMutationObserver(flush);\n\n// MessageChannels are desirable because they give direct access to the HTML\n// task queue, are implemented in Internet Explorer 10, Safari 5.0-1, and Opera\n// 11-12, and in web workers in many engines.\n// Although message channels yield to any queued rendering and IO tasks, they\n// would be better than imposing the 4ms delay of timers.\n// However, they do not work reliably in Internet Explorer or Safari.\n\n// Internet Explorer 10 is the only browser that has setImmediate but does\n// not have MutationObservers.\n// Although setImmediate yields to the browser's renderer, it would be\n// preferrable to falling back to setTimeout since it does not have\n// the minimum 4ms penalty.\n// Unfortunately there appears to be a bug in Internet Explorer 10 Mobile (and\n// Desktop to a lesser extent) that renders both setImmediate and\n// MessageChannel useless for the purposes of ASAP.\n// https://github.com/kriskowal/q/issues/396\n\n// Timers are implemented universally.\n// We fall back to timers in workers in most engines, and in foreground\n// contexts in the following browsers.\n// However, note that even this simple case requires nuances to operate in a\n// broad spectrum of browsers.\n//\n// - Firefox 3-13\n// - Internet Explorer 6-9\n// - iPad Safari 4.3\n// - Lynx 2.8.7\n} else {\n requestFlush = makeRequestCallFromTimer(flush);\n}\n\n// `requestFlush` requests that the high priority event queue be flushed as\n// soon as possible.\n// This is useful to prevent an error thrown in a task from stalling the event\n// queue if the exception handled by Node.js’s\n// `process.on(\"uncaughtException\")` or by a domain.\nrawAsap.requestFlush = requestFlush;\n\n// To request a high priority event, we induce a mutation observer by toggling\n// the text of a text node between \"1\" and \"-1\".\nfunction makeRequestCallFromMutationObserver(callback) {\n var toggle = 1;\n var observer = new BrowserMutationObserver(callback);\n var node = document.createTextNode(\"\");\n observer.observe(node, {characterData: true});\n return function requestCall() {\n toggle = -toggle;\n node.data = toggle;\n };\n}\n\n// The message channel technique was discovered by Malte Ubl and was the\n// original foundation for this library.\n// http://www.nonblocking.io/2011/06/windownexttick.html\n\n// Safari 6.0.5 (at least) intermittently fails to create message ports on a\n// page's first load. Thankfully, this version of Safari supports\n// MutationObservers, so we don't need to fall back in that case.\n\n// function makeRequestCallFromMessageChannel(callback) {\n// var channel = new MessageChannel();\n// channel.port1.onmessage = callback;\n// return function requestCall() {\n// channel.port2.postMessage(0);\n// };\n// }\n\n// For reasons explained above, we are also unable to use `setImmediate`\n// under any circumstances.\n// Even if we were, there is another bug in Internet Explorer 10.\n// It is not sufficient to assign `setImmediate` to `requestFlush` because\n// `setImmediate` must be called *by name* and therefore must be wrapped in a\n// closure.\n// Never forget.\n\n// function makeRequestCallFromSetImmediate(callback) {\n// return function requestCall() {\n// setImmediate(callback);\n// };\n// }\n\n// Safari 6.0 has a problem where timers will get lost while the user is\n// scrolling. This problem does not impact ASAP because Safari 6.0 supports\n// mutation observers, so that implementation is used instead.\n// However, if we ever elect to use timers in Safari, the prevalent work-around\n// is to add a scroll event listener that calls for a flush.\n\n// `setTimeout` does not call the passed callback if the delay is less than\n// approximately 7 in web workers in Firefox 8 through 18, and sometimes not\n// even then.\n\nfunction makeRequestCallFromTimer(callback) {\n return function requestCall() {\n // We dispatch a timeout with a specified delay of 0 for engines that\n // can reliably accommodate that request. This will usually be snapped\n // to a 4 milisecond delay, but once we're flushing, there's no delay\n // between events.\n var timeoutHandle = setTimeout(handleTimer, 0);\n // However, since this timer gets frequently dropped in Firefox\n // workers, we enlist an interval handle that will try to fire\n // an event 20 times per second until it succeeds.\n var intervalHandle = setInterval(handleTimer, 50);\n\n function handleTimer() {\n // Whichever timer succeeds will cancel both timers and\n // execute the callback.\n clearTimeout(timeoutHandle);\n clearInterval(intervalHandle);\n callback();\n }\n };\n}\n\n// This is for `asap.js` only.\n// Its name will be periodically randomized to break any code that depends on\n// its existence.\nrawAsap.makeRequestCallFromTimer = makeRequestCallFromTimer;\n\n// ASAP was originally a nextTick shim included in Q. This was factored out\n// into this ASAP package. It was later adapted to RSVP which made further\n// amendments. These decisions, particularly to marginalize MessageChannel and\n// to capture the MutationObserver implementation in a closure, were integrated\n// back into ASAP proper.\n// https://github.com/tildeio/rsvp.js/blob/cddf7232546a9cf858524b75cde6f9edf72620a7/lib/rsvp/asap.js\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/asap/browser-raw.js\n// module id = 9\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 10\n// module chunks = 0","// MIT license (by Elan Shanker).\n(function(globals) {\n 'use strict';\n\n var executeSync = function(){\n var args = Array.prototype.slice.call(arguments);\n if (typeof args[0] === 'function'){\n args[0].apply(null, args.splice(1));\n }\n };\n\n var executeAsync = function(fn){\n if (typeof setImmediate === 'function') {\n setImmediate(fn);\n } else if (typeof process !== 'undefined' && process.nextTick) {\n process.nextTick(fn);\n } else {\n setTimeout(fn, 0);\n }\n };\n\n var makeIterator = function (tasks) {\n var makeCallback = function (index) {\n var fn = function () {\n if (tasks.length) {\n tasks[index].apply(null, arguments);\n }\n return fn.next();\n };\n fn.next = function () {\n return (index < tasks.length - 1) ? makeCallback(index + 1): null;\n };\n return fn;\n };\n return makeCallback(0);\n };\n \n var _isArray = Array.isArray || function(maybeArray){\n return Object.prototype.toString.call(maybeArray) === '[object Array]';\n };\n\n var waterfall = function (tasks, callback, forceAsync) {\n var nextTick = forceAsync ? executeAsync : executeSync;\n callback = callback || function () {};\n if (!_isArray(tasks)) {\n var err = new Error('First argument to waterfall must be an array of functions');\n return callback(err);\n }\n if (!tasks.length) {\n return callback();\n }\n var wrapIterator = function (iterator) {\n return function (err) {\n if (err) {\n callback.apply(null, arguments);\n callback = function () {};\n } else {\n var args = Array.prototype.slice.call(arguments, 1);\n var next = iterator.next();\n if (next) {\n args.push(wrapIterator(next));\n } else {\n args.push(callback);\n }\n nextTick(function () {\n iterator.apply(null, args);\n });\n }\n };\n };\n wrapIterator(makeIterator(tasks))();\n };\n\n if (typeof define !== 'undefined' && define.amd) {\n define([], function () {\n return waterfall;\n }); // RequireJS\n } else if (typeof module !== 'undefined' && module.exports) {\n module.exports = waterfall; // CommonJS\n } else {\n globals.waterfall = waterfall; //