aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-10-21 17:23:05 +0100
committerYann Herklotz <ymherklotz@gmail.com>2018-10-21 17:23:05 +0100
commitc4f8ecb6e9b60e325eccbacfb1f6be038ddb13ba (patch)
tree08efac89265e11532edb24fd364a348d7f8dbada
parentdb1c2d400fcbe844ce0476b239acd64c23ecdfbc (diff)
downloadFMark-c4f8ecb6e9b60e325eccbacfb1f6be038ddb13ba.tar.gz
FMark-c4f8ecb6e9b60e325eccbacfb1f6be038ddb13ba.zip
Update javascript and lock file
-rw-r--r--FMark/js/fmark.js2
-rw-r--r--FMark/js/fmark.js.map2
-rw-r--r--FMark/yarn.lock562
3 files changed, 505 insertions, 61 deletions
diff --git a/FMark/js/fmark.js b/FMark/js/fmark.js
index 9ce5091..3622124 100644
--- a/FMark/js/fmark.js
+++ b/FMark/js/fmark.js
@@ -7841,7 +7841,7 @@ function _MatchTOC___(hdList, toks) {
tupledArg = [new __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_11_fable_core_List__["c" /* default */](new __WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_11_fable_core_List__["c" /* default */](tupledArg[1].head, Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_11_fable_core_List__["e" /* head */])(tupledArg[0])), Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_11_fable_core_List__["m" /* tail */])(tupledArg[0])), tupledArg[1].tail];
continue split;
} else {
- throw new Error("/home/yannherklotz/Github/FMark/FMark/src/Common/Parser/Parser.fs", 180, 18);
+ throw new Error("/home/yannherklotz/Projects/FMark/FMark/src/Common/Parser/Parser.fs", 180, 18);
}
} else {
return Object(__WEBPACK_IMPORTED_MODULE_1__nuget_packages_fable_core_1_3_11_fable_core_List__["j" /* reverse */])(function () {
diff --git a/FMark/js/fmark.js.map b/FMark/js/fmark.js.map
index b93b8d1..951aa1c 100644
--- a/FMark/js/fmark.js.map
+++ b/FMark/js/fmark.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 59a6ead5deadf0df84e8","webpack:///./src/Common/FMark.fs","webpack:///./src/FMarkFable/FMarkFable.fs","webpack:///./src/Common/HTMLGen/HTMLGen.fs","webpack:///src/Common/Types.fs","webpack:///src/Common/Shared.fs","webpack:///src/Common/Logger/Logger.fs","webpack:///./src/Common/HTMLGen/HTMLGenHelpers.fs","webpack:///./src/Common/Lexer/Preprocessor.fs","webpack:///./src/Common/Shared.fs","webpack:///src/Common/Parser/ParserHelperFuncs.fs","webpack:///src/Common/Markalc/MarkalcShared.fs","webpack:///src/Common/Lexer/LexerShared.fs","webpack:///src/FMarkFable/FMarkFable.fs","webpack:///src/Common/FMark.fs","webpack:///src/Common/Parser/Parser.fs","webpack:///src/Common/Markalc/Markalc.fs","webpack:///src/Common/Markalc/Expression.fs","webpack:///./src/Common/Markalc/Expression.fs","webpack:///src/Common/TOCite/TOCite.fs","webpack:///src/Common/TOCite/RefParse.fs","webpack:///src/Common/Lexer/Lexer.fs","webpack:///src/Common/Lexer/Preprocessor.fs","webpack:///src/Common/FableFileIO.fs","webpack:///external \"fs\"","webpack:///src/Common/MarkdownGen/MarkdownGen.fs","webpack:///src/Common/HTMLGen/HTMLGen.fs","webpack:///src/Common/HTMLGen/HTMLGenHelpers.fs"],"names":["append","xs","ys","seqFold","acc","x","reverse","choose","f","r","y","getValue","collect","concat","filter","where","initialize","n","Error","i","map","mapIndexed","indexed","partition","lacc","racc","replicate","singleton","slice","lower","upper","noLower","noUpper","unzip","seqFoldBack","xy","unzip3","xyz","groupBy","seqToList","seqMap","k","mapGroupBy","splitAt","index","last","first","Array","tail","head","ofArray","undefined","Enumerator","iter","cur","next","current","value","done","getEnumerator","o","GetEnumerator","Symbol","iterator","toIterator","en","MoveNext","Current","__failIfNone","res","toList","foldBack","ofList","delay","unfold","length","firstDone","iters","average","count","sum","reduce","averageBy","output","innerIter","hasFinished","compareWith","nonZero","tryFind","map2","empty","enumerateWhile","cond","enumerateThenFinally","finalFn","err","it","enumerateUsing","disp","work","isDisposed","disposeOnce","Dispose","exactlyOne","fst","snd","except","itemsToExclude","source","exclusionItems","from","testIsNotInExclusionItems","element","some","excludedItem","equals","exists","exists2","cur1","cur2","iter1","iter2","fold","isArray","ArrayBuffer","isView","arr","fold2","foldBack2","ar1","ar2","forAll","forAll2","tryHead","makeSome","initializeInfinite","tryItem","j","item","iterate","_","iterate2","iterateIndexed","iterateIndexed2","isEmpty","tryLast","mapIndexed2","map3","zs","iter3","cur3","chunkBySize","size","result","arrayChunkBySize","mapFold","transform","push","mapFoldBack","max","compare","maxBy","min","minBy","pairwise","skip","scan","permute","arrayPermute","rangeStep","step","rangeChar","String","fromCharCode","charCodeAt","range","readOnly","reduceBack","ar","seed","scanBack","skipWhile","hasPassed","sortWith","sort","sumBy","take","truncate","takeWhile","defaultValue","find","tryFindBack","findBack","tryFindIndex","findIndex","tryFindIndexBack","findIndexBack","tryPick","pick","zip","zip3","z","types","Map","setType","fullName","cons","set","getType","get","reflection","NonDeclaredType","kind","definition","generics","other","equalsRecords","Any","Unit","Option","t","FableArray","isTypedArray","def","genArg","Tuple","FableFunction","GenericParam","Interface","makeGeneric","typeDef","genArgs","isGeneric","typ","getDefinition","extendInfo","info","parent","Object","getPrototypeOf","prototype","FSymbol","newInfo","parentInfo","getOwnPropertyNames","forEach","assign","hasInterface","obj","interfaceName","interfaces","indexOf","getPropertyNames","propertyMap","properties","toString","quoteStrings","isObject","Number","Boolean","JSON","stringify","Date","dateToString","ToString","uci","cases","tag","data","join","v","ObjectRef","idMap","has","WeakMap","getHashCode","id","hash","GetHashCode","s","h","len","Equals","byteLength","dv1","DataView","buffer","dv2","getUint8","getTime","comparePrimitives","CompareTo","b1","b2","compareDates","xhash","yhash","lessThan","lessOrEqual","greaterThan","greaterOrEqual","keys","key","compareRecords","equalsUnions","compareUnions","createDisposable","createAtom","atom","arguments","CaseRules","None","LowerFirst","isList","type","createObj","fields","caseRule","casesCache","proto","caseInfo","toLowerCase","substr","toPlainJsObj","constructor","target","props","p","prop","getOwnPropertyDescriptor","apply","jsOptions","mutator","opts","round","digits","m","Math","pow","toFixed","floor","e","sign","randomNext","random","applyOperator","operator","getMethod","meth","unescapeDataString","decodeURIComponent","replace","escapeDataString","encodeURIComponent","escapeUriString","encodeURI","clear","col","splice","Some","acceptNull","defaultArg","arg","defaultArgWith","defThunk","predicate","CurriedLambda","expectedArgsLength","curried","curriedFn","args","args2","actualArgsLength","restArgs","newLambda","args3","fsFormatRegExp","formatRegExp","guidRegex","StringComparison","CurrentCulture","CurrentCultureIgnoreCase","InvariantCulture","InvariantCultureIgnoreCase","Ordinal","OrdinalIgnoreCase","cmp","ic","isIgnoreCase","isOrdinal","toLocaleLowerCase","localeCompare","compareTo","startsWith","str","pattern","indexOfAny","anyOf","startIndex","c","toHex","abs","printf","input","cont","fsFormat","toConsole","console","log","toConsoleError","error","toText","toFail","formatOnce","str2","rep","prefix","flags","pad","precision","format","toPrecision","toExponential","toUpperCase","plusPrefix","parseInt","isNaN","ch","padLeft","once","createPrinter","printer","strCopy","test","match","idx","padSymbol","substring","exec","decs","endsWith","search","lastIndexOf","insert","isNullOrEmpty","isNullOrWhiteSpace","delimiter","xs2","validateGuid","doNotThrow","trimmed","trim","newGuid","b","a","_convertMapsInitialized","_byteToHex","_hexToByte","initConvertMaps","guidToArray","buf","Uint8Array","oct","arrayToGuid","notSupported","name","toBase64String","inArray","btoa","fromBase64String","b64Encoded","binary","atob","bytes","isRight","padRight","remove","RegExp","escape","getCharAtIndex","split","splitters","removeEmpty","splitters2","splits","reg","lastIndex","side","chars","pred","Result","mapError","bind","base","List","tmp","create","vs","add","countBy","kv","MapTree","tree_sizeAux","sizeAux","tree_size","tree_empty","tree_height","_arg1","tree_isEmpty","tree_mk","l","matchValue","hl","hr","tree_rebalance","t1","t2","t1h","t2h","tree_add","comparer","Compare","tree_find","tree_tryFind","c_1","tree_partition1","acc1","acc2","tree_partitionAux","acc_0","acc_1","acc_2","acc_3","tree_partition","tree_filter1","tree_filterAux","tree_filter","tree_spliceOutSuccessor","kvl","tree_remove","tree_mem","mem","tree_iter","tree_tryPick","matchValue_1","tree_exists","tree_forall","tree_mapi","tree_foldBack","tree_fold","tree_mkFromEnumerator","tree_ofSeq","ie","tree_collapseLHS","stack","listOfArray","tree_mkIterator","started","tree_moveNext","FableMap","m2","seqCompareWith","kvp1","kvp2","tree","oldSize","containsValue","tryGetValue","rs","findKey","seqPick","tryFindKey","seqTryPick","Comparer","fromEqualityComparer","OperationCanceledError","setPrototypeOf","Trampoline","callCount","maxTrampolineCallCount","setTimeout","protectedCont","ctx","cancelToken","isCancelled","onCancel","trampoline","incrementAndCheck","hijack","onError","protectedBind","computation","binder","onSuccess","ex","protectedReturn","AsyncBuilder","computation1","computation2","Bind","generator","sequence","body","While","Delay","compensation","catchHandler","ex2","resource","TryFinally","guard","Return","parseRadix","invalidRadix2","invalidRadix8","invalidRadix10","isValid","radix","tryParse","initial","radix_","parse","options","unescape","isMatch","matches","global","ignoreCase","multiline","replacement","limit","offset","replacer","sub1","_matches","sub2","offsetRegex","padWithZeros","offsetToString","isMinus","hours","minutes","toHalfUTCString","date","half","toISOString","d","utc","printOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","toISOStringWithOffset","dateWithOffset","toStringWithCustomFormat","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","toStringWithOffset","toStringWithKind","toUTCString","toLocaleString","toLocaleDateString","toLocaleTimeString","DateTime","minValue","maxValue","parseRaw","detectUTC","_err","date1","year","month","day","ms","dateValue","UTC","setFullYear","now","utcNow","today","isLeapYear","daysInMonth","toUniversalTime","toLocalTime","timeOfDay","hour","minute","second","millisecond","getUTCMilliseconds","dayOfWeek","getUTCDay","getDay","dayOfYear","_year","_month","_day","ts","addDays","addHours","addMinutes","addSeconds","addMilliseconds","addYears","newMonth","newYear","_daysInMonth","newDay","addMonths","newMonth_","yearOffset","subtract","that","toLongDateString","toDateString","toShortDateString","toLongTimeString","toShortTimeString","d1","d2","xtime","ytime","op_Addition","op_Subtraction","isDaylightSavingTime","jan","jul","isDST","janOffset","julOffset","tOffset","Async","emptyContinuation","createCancellationToken","token","cancel","cancelAfter","isCancellationRequested","startChild","promise","startAsPromise","awaitPromise","fromContinuations","conts","then","catch","cancellationToken","defaultCancellationToken","catchAsync","choice1Of2","choice2Of2","ignore","parallel","computations","Promise","all","w","sleep","millisecondsDueTime","start","startWithContinuations","startImmediate","continuation","exceptionContinuation","cancellationContinuation","resolve","reject","Choice","TargetCons","addRangeInPlace","copyTo","sourceIndex","targetIndex","checkFlags","removeInPlace","setSlice","sortInPlaceBy","dir","bs","cs","ds","ceil","end","getSubArray","fill","QueueCell","message","MailboxQueue","itCell","firstAndLast","MailboxProcessor","messages","tryGet","__processEvents","buildMessage","checkCompletion","reply","mbox"],"mappings":"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AAA;AAAA;;AAAA;AAAA;;AAOA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAWA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAQD;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASC;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACD;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEC;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yCAkCsD;AAAA;AAAsB;AAlC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;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","file":"fmark.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[\"fmark\"] = factory();\n\telse\n\t\troot[\"fmark\"] = factory();\n})(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 = 24);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 59a6ead5deadf0df84e8","export function map(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(source[i]);\n }\n return target;\n}\nexport function mapIndexed(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(i, source[i]);\n }\n return target;\n}\nexport function indexed(source) {\n return mapIndexed((i, x) => [i, x], source, Array);\n}\nexport function addRangeInPlace(range, xs) {\n const iter = range[Symbol.iterator]();\n let cur = iter.next();\n while (!cur.done) {\n xs.push(cur.value);\n cur = iter.next();\n }\n}\nexport function copyTo(source, sourceIndex, target, targetIndex, count) {\n while (count--) {\n target[targetIndex++] = source[sourceIndex++];\n }\n}\nexport function partition(f, xs) {\n const ys = [];\n const zs = [];\n let j = 0;\n let k = 0;\n for (let i = 0; i < xs.length; i++) {\n if (f(xs[i])) {\n ys[j++] = xs[i];\n }\n else {\n zs[k++] = xs[i];\n }\n }\n return [ys, zs];\n}\nexport function permute(f, xs) {\n // Keep the type of the array\n const ys = xs.map(() => null);\n const checkFlags = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n const j = f(i);\n if (j < 0 || j >= xs.length) {\n throw new Error(\"Not a valid permutation\");\n }\n ys[j] = xs[i];\n checkFlags[j] = 1;\n }\n for (let i = 0; i < xs.length; i++) {\n if (checkFlags[i] !== 1) {\n throw new Error(\"Not a valid permutation\");\n }\n }\n return ys;\n}\nexport function removeInPlace(item, xs) {\n const i = xs.indexOf(item);\n if (i > -1) {\n xs.splice(i, 1);\n return true;\n }\n return false;\n}\nexport function setSlice(target, lower, upper, source) {\n const length = (upper || target.length - 1) - lower;\n if (ArrayBuffer.isView(target) && source.length <= length) {\n target.set(source, lower);\n }\n else {\n for (let i = lower | 0, j = 0; j <= length; i++, j++) {\n target[i] = source[j];\n }\n }\n}\nexport function sortInPlaceBy(f, xs, dir = 1) {\n return xs.sort((x, y) => {\n x = f(x);\n y = f(y);\n return (x < y ? -1 : x === y ? 0 : 1) * dir;\n });\n}\nexport function unzip(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n }\n return [bs, cs];\n}\nexport function unzip3(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n const ds = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n ds[i] = xs[i][2];\n }\n return [bs, cs, ds];\n}\nexport function chunkBySize(size, xs) {\n if (size < 1) {\n throw new Error(\"The input must be positive. parameter name: chunkSize\");\n }\n if (xs.length === 0) {\n return [[]];\n }\n const result = [];\n // add each chunk to the result\n for (let x = 0; x < Math.ceil(xs.length / size); x++) {\n const start = x * size;\n const end = start + size;\n result.push(xs.slice(start, end));\n }\n return result;\n}\nexport function getSubArray(xs, startIndex, count) {\n return xs.slice(startIndex, startIndex + count);\n}\nexport function fill(target, targetIndex, count, value) {\n target.fill(value, targetIndex, targetIndex + count);\n}\nexport function splitAt(index, xs) {\n if (index < 0) {\n throw new Error(\"The input must be non-negative.\");\n }\n if (index > xs.length) {\n throw new Error(\"The input sequence has an insufficient number of elements.\");\n }\n return [xs.slice(0, index), xs.slice(index)];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/FMark.fs","import { permute as arrayPermute } from \"./Array\";\nimport { chunkBySize as arrayChunkBySize } from \"./Array\";\nimport List from \"./ListClass\";\nimport { getValue, makeSome } from \"./Option\";\nimport { compare, equals } from \"./Util\";\nexport class Enumerator {\n constructor(iter) {\n this.iter = iter;\n }\n MoveNext() {\n const cur = this.iter.next();\n this.current = cur.value;\n return !cur.done;\n }\n get Current() { return this.current; }\n get get_Current() { return this.current; }\n Reset() {\n throw new Error(\"JS iterators cannot be reset\");\n }\n Dispose() { return; }\n}\nexport function getEnumerator(o) {\n return typeof o.GetEnumerator === \"function\"\n ? o.GetEnumerator() : new Enumerator(o[Symbol.iterator]());\n}\nexport function toIterator(en) {\n return {\n next() {\n return en.MoveNext()\n ? { done: false, value: en.Current }\n : { done: true, value: null };\n },\n };\n}\nfunction __failIfNone(res) {\n if (res == null) {\n throw new Error(\"Seq did not contain any matching element\");\n }\n return getValue(res);\n}\nexport function toList(xs) {\n return foldBack((x, acc) => new List(x, acc), xs, new List());\n}\nexport function ofList(xs) {\n return delay(() => unfold((x) => x.tail != null ? [x.head, x.tail] : null, xs));\n}\nexport function ofArray(xs) {\n return delay(() => unfold((i) => i < xs.length ? [xs[i], i + 1] : null, 0));\n}\nexport function append(xs, ys) {\n return delay(() => {\n let firstDone = false;\n const i = xs[Symbol.iterator]();\n let iters = [i, null];\n return unfold(() => {\n let cur;\n if (!firstDone) {\n cur = iters[0].next();\n if (!cur.done) {\n return [cur.value, iters];\n }\n else {\n firstDone = true;\n iters = [null, ys[Symbol.iterator]()];\n }\n }\n cur = iters[1].next();\n return !cur.done ? [cur.value, iters] : null;\n }, iters);\n });\n}\nexport function average(xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return acc + x;\n }, xs);\n return sum / count;\n}\nexport function averageBy(f, xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return (count === 2 ? f(acc) : acc) + f(x);\n }, xs);\n return sum / count;\n}\nexport function concat(xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n let output = { value: null };\n return unfold((innerIter) => {\n let hasFinished = false;\n while (!hasFinished) {\n if (innerIter == null) {\n const cur = iter.next();\n if (!cur.done) {\n innerIter = cur.value[Symbol.iterator]();\n }\n else {\n hasFinished = true;\n }\n }\n else {\n const cur = innerIter.next();\n if (!cur.done) {\n output = { value: cur.value };\n hasFinished = true;\n }\n else {\n innerIter = null;\n }\n }\n }\n return innerIter != null && output != null ? [output.value, innerIter] : null;\n }, null);\n });\n}\nexport function collect(f, xs) {\n return concat(map(f, xs));\n}\nexport function choose(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n const y = f(cur.value);\n if (y != null) {\n return [getValue(y), iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function compareWith(f, xs, ys) {\n const nonZero = tryFind((i) => i !== 0, map2((x, y) => f(x, y), xs, ys));\n return nonZero != null ? getValue(nonZero) : count(xs) - count(ys);\n}\nexport function delay(f) {\n return {\n [Symbol.iterator]: () => f()[Symbol.iterator](),\n };\n}\nexport function empty() {\n return unfold(() => void 0);\n}\nexport function enumerateWhile(cond, xs) {\n return concat(unfold(() => cond() ? [xs, true] : null));\n}\nexport function enumerateThenFinally(xs, finalFn) {\n return delay(() => {\n let iter;\n try {\n iter = xs[Symbol.iterator]();\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n return unfold((it) => {\n try {\n const cur = it.next();\n return !cur.done ? [cur.value, it] : null;\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n }, iter);\n });\n}\nexport function enumerateUsing(disp, work) {\n let isDisposed = false;\n const disposeOnce = () => {\n if (!isDisposed) {\n isDisposed = true;\n disp.Dispose();\n }\n };\n try {\n return enumerateThenFinally(work(disp), disposeOnce);\n }\n catch (err) {\n return void 0;\n }\n finally {\n disposeOnce();\n }\n}\nexport function exactlyOne(xs) {\n const iter = xs[Symbol.iterator]();\n const fst = iter.next();\n if (fst.done) {\n throw new Error(\"Seq was empty\");\n }\n const snd = iter.next();\n if (!snd.done) {\n throw new Error(\"Seq had multiple items\");\n }\n return fst.value;\n}\nexport function except(itemsToExclude, source) {\n const exclusionItems = Array.from(itemsToExclude);\n const testIsNotInExclusionItems = (element) => !exclusionItems.some((excludedItem) => equals(excludedItem, element));\n return filter(testIsNotInExclusionItems, source);\n}\nexport function exists(f, xs) {\n let cur;\n for (const iter = xs[Symbol.iterator]();;) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value)) {\n return true;\n }\n }\n return false;\n}\nexport function exists2(f, xs, ys) {\n let cur1;\n let cur2;\n for (const iter1 = xs[Symbol.iterator](), iter2 = ys[Symbol.iterator]();;) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n if (f(cur1.value, cur2.value)) {\n return true;\n }\n }\n return false;\n}\nexport function filter(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n if (f(cur.value)) {\n return [cur.value, iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function where(f, xs) {\n return filter(f, xs);\n}\nexport function fold(f, acc, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f, acc);\n }\n else {\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value, i);\n }\n return acc;\n }\n}\nexport function foldBack(f, xs, acc) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n acc = f(arr[i], acc, i);\n }\n return acc;\n}\nexport function fold2(f, acc, xs, ys) {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n let cur1;\n let cur2;\n for (let i = 0;; i++) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n acc = f(acc, cur1.value, cur2.value, i);\n }\n return acc;\n}\nexport function foldBack2(f, xs, ys, acc) {\n const ar1 = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const ar2 = Array.isArray(ys) || ArrayBuffer.isView(ys) ? ys : Array.from(ys);\n for (let i = ar1.length - 1; i >= 0; i--) {\n acc = f(ar1[i], ar2[i], acc, i);\n }\n return acc;\n}\nexport function forAll(f, xs) {\n return fold((acc, x) => acc && f(x), true, xs);\n}\nexport function forAll2(f, xs, ys) {\n return fold2((acc, x, y) => acc && f(x, y), true, xs, ys);\n}\nexport function tryHead(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n return cur.done ? null : makeSome(cur.value);\n}\nexport function head(xs) {\n return __failIfNone(tryHead(xs));\n}\nexport function initialize(n, f) {\n return delay(() => unfold((i) => i < n ? [f(i), i + 1] : null, 0));\n}\nexport function initializeInfinite(f) {\n return delay(() => unfold((i) => [f(i), i + 1], 0));\n}\nexport function tryItem(i, xs) {\n if (i < 0) {\n return null;\n }\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return i < xs.length ? makeSome(xs[i]) : null;\n }\n for (let j = 0, iter = xs[Symbol.iterator]();; j++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (j === i) {\n return makeSome(cur.value);\n }\n }\n return null;\n}\nexport function item(i, xs) {\n return __failIfNone(tryItem(i, xs));\n}\nexport function iterate(f, xs) {\n fold((_, x) => f(x), null, xs);\n}\nexport function iterate2(f, xs, ys) {\n fold2((_, x, y) => f(x, y), null, xs, ys);\n}\nexport function iterateIndexed(f, xs) {\n fold((_, x, i) => f(i, x), null, xs);\n}\nexport function iterateIndexed2(f, xs, ys) {\n fold2((_, x, y, i) => f(i, x, y), null, xs, ys);\n}\nexport function isEmpty(xs) {\n const i = xs[Symbol.iterator]();\n return i.next().done;\n}\nexport function tryLast(xs) {\n try {\n return makeSome(reduce((_, x) => x, xs));\n }\n catch (err) {\n return null;\n }\n}\nexport function last(xs) {\n return __failIfNone(tryLast(xs));\n}\n// A export function 'length' method causes problems in JavaScript -- https://github.com/Microsoft/TypeScript/issues/442\nexport function count(xs) {\n return Array.isArray(xs) || ArrayBuffer.isView(xs)\n ? xs.length\n : fold((acc, x) => acc + 1, 0, xs);\n}\nexport function map(f, xs) {\n return delay(() => unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(cur.value), iter] : null;\n }, xs[Symbol.iterator]()));\n}\nexport function mapIndexed(f, xs) {\n return delay(() => {\n let i = 0;\n return unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(i++, cur.value), iter] : null;\n }, xs[Symbol.iterator]());\n });\n}\nexport function indexed(xs) {\n return mapIndexed((i, x) => [i, x], xs);\n}\nexport function map2(f, xs, ys) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function mapIndexed2(f, xs, ys) {\n return delay(() => {\n let i = 0;\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(i++, cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function map3(f, xs, ys, zs) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n const iter3 = zs[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n const cur3 = iter3.next();\n return !cur1.done && !cur2.done && !cur3.done ? [f(cur1.value, cur2.value, cur3.value), null] : null;\n });\n });\n}\nexport function chunkBySize(size, xs) {\n const result = arrayChunkBySize(size, Array.from(xs));\n return ofArray(result);\n}\nexport function mapFold(f, acc, xs, transform) {\n const result = [];\n let r;\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n [r, acc] = f(acc, cur.value);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function mapFoldBack(f, xs, acc, transform) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const result = [];\n let r;\n for (let i = arr.length - 1; i >= 0; i--) {\n [r, acc] = f(arr[i], acc);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function max(xs) {\n return reduce((acc, x) => compare(acc, x) === 1 ? acc : x, xs);\n}\nexport function maxBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === 1 ? acc : x, xs);\n}\nexport function min(xs) {\n return reduce((acc, x) => compare(acc, x) === -1 ? acc : x, xs);\n}\nexport function minBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === -1 ? acc : x, xs);\n}\nexport function pairwise(xs) {\n return skip(2, scan((last, next) => [last[1], next], [0, 0], xs));\n}\nexport function permute(f, xs) {\n return ofArray(arrayPermute(f, Array.from(xs)));\n}\nexport function rangeStep(first, step, last) {\n if (step === 0) {\n throw new Error(\"Step cannot be 0\");\n }\n return delay(() => unfold((x) => step > 0 && x <= last || step < 0 && x >= last ? [x, x + step] : null, first));\n}\nexport function rangeChar(first, last) {\n return delay(() => unfold((x) => x <= last ? [x, String.fromCharCode(x.charCodeAt(0) + 1)] : null, first));\n}\nexport function range(first, last) {\n return rangeStep(first, 1, last);\n}\nexport function readOnly(xs) {\n return map((x) => x, xs);\n}\nexport function reduce(f, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f);\n }\n const iter = xs[Symbol.iterator]();\n let cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n let acc = cur.value;\n while (true) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value);\n }\n return acc;\n}\nexport function reduceBack(f, xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n if (ar.length === 0) {\n throw new Error(\"Seq was empty\");\n }\n let acc = ar[ar.length - 1];\n for (let i = ar.length - 2; i >= 0; i--) {\n acc = f(ar[i], acc, i);\n }\n return acc;\n}\nexport function replicate(n, x) {\n return initialize(n, () => x);\n}\nexport function reverse(xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return ofArray(ar.reverse());\n}\nexport function scan(f, seed, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((acc) => {\n if (acc == null) {\n return [seed, seed];\n }\n const cur = iter.next();\n if (!cur.done) {\n acc = f(acc, cur.value);\n return [acc, acc];\n }\n return void 0;\n }, null);\n });\n}\nexport function scanBack(f, xs, seed) {\n return reverse(scan((acc, x) => f(x, acc), seed, reverse(xs)));\n}\nexport function singleton(y) {\n return unfold((x) => x != null ? [x, null] : null, y);\n}\nexport function skip(n, xs) {\n return {\n [Symbol.iterator]: () => {\n const iter = xs[Symbol.iterator]();\n for (let i = 1; i <= n; i++) {\n if (iter.next().done) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return iter;\n },\n };\n}\nexport function skipWhile(f, xs) {\n return delay(() => {\n let hasPassed = false;\n return filter((x) => hasPassed || (hasPassed = !f(x)), xs);\n });\n}\nexport function sortWith(f, xs) {\n const ys = Array.from(xs);\n return ofArray(ys.sort(f));\n}\nexport function sum(xs) {\n return fold((acc, x) => acc + x, 0, xs);\n}\nexport function sumBy(f, xs) {\n return fold((acc, x) => acc + f(x), 0, xs);\n}\nexport function tail(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n return {\n [Symbol.iterator]: () => iter,\n };\n}\nexport function take(n, xs, truncate = false) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n if (i < n) {\n const cur = iter.next();\n if (!cur.done) {\n return [cur.value, i + 1];\n }\n if (!truncate) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return void 0;\n }, 0);\n });\n}\nexport function truncate(n, xs) {\n return take(n, xs, true);\n}\nexport function takeWhile(f, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n const cur = iter.next();\n if (!cur.done && f(cur.value)) {\n return [cur.value, null];\n }\n return void 0;\n }, 0);\n });\n}\nexport function tryFind(f, xs, defaultValue) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return makeSome(cur.value);\n }\n }\n return defaultValue === void 0 ? null : makeSome(defaultValue);\n}\nexport function find(f, xs) {\n return __failIfNone(tryFind(f, xs));\n}\nexport function tryFindBack(f, xs, defaultValue) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return tryFind(f, arr.reverse(), defaultValue);\n}\nexport function findBack(f, xs) {\n return __failIfNone(tryFindBack(f, xs));\n}\nexport function tryFindIndex(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndex(f, xs) {\n return __failIfNone(tryFindIndex(f, xs));\n}\nexport function tryFindIndexBack(f, xs) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n if (f(arr[i], i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndexBack(f, xs) {\n return __failIfNone(tryFindIndexBack(f, xs));\n}\nexport function tryPick(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n const y = f(cur.value, i);\n if (y != null) {\n return y;\n }\n }\n return null;\n}\nexport function pick(f, xs) {\n return __failIfNone(tryPick(f, xs));\n}\nexport function unfold(f, fst) {\n return {\n [Symbol.iterator]: () => {\n // Capture a copy of the first value in the closure\n // so the sequence is restarted every time, see #1230\n let acc = fst;\n return {\n next: () => {\n const res = f(acc);\n if (res != null) {\n acc = res[1];\n return { done: false, value: res[0] };\n }\n return { done: true };\n },\n };\n },\n };\n}\nexport function zip(xs, ys) {\n return map2((x, y) => [x, y], xs, ys);\n}\nexport function zip3(xs, ys, zs) {\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/FMarkFable/FMarkFable.fs","import { toString as dateToString } from \"./Date\";\nimport { escape } from \"./RegExp\";\nimport { toString } from \"./Util\";\nconst fsFormatRegExp = /(^|[^%])%([0+ ]*)(-?\\d+)?(?:\\.(\\d+))?(\\w)/;\nconst formatRegExp = /\\{(\\d+)(,-?\\d+)?(?:\\:(.+?))?\\}/g;\n// From https://stackoverflow.com/a/13653180/3922220\nconst guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;\nconst StringComparison = {\n CurrentCulture: 0,\n CurrentCultureIgnoreCase: 1,\n InvariantCulture: 2,\n InvariantCultureIgnoreCase: 3,\n Ordinal: 4,\n OrdinalIgnoreCase: 5,\n};\nfunction cmp(x, y, ic) {\n function isIgnoreCase(i) {\n return i === true ||\n i === StringComparison.CurrentCultureIgnoreCase ||\n i === StringComparison.InvariantCultureIgnoreCase ||\n i === StringComparison.OrdinalIgnoreCase;\n }\n function isOrdinal(i) {\n return i === StringComparison.Ordinal ||\n i === StringComparison.OrdinalIgnoreCase;\n }\n if (x == null) {\n return y == null ? 0 : -1;\n }\n if (y == null) {\n return 1;\n } // everything is bigger than null\n if (isOrdinal(ic)) {\n if (isIgnoreCase(ic)) {\n x = x.toLowerCase();\n y = y.toLowerCase();\n }\n return (x === y) ? 0 : (x < y ? -1 : 1);\n }\n else {\n if (isIgnoreCase(ic)) {\n x = x.toLocaleLowerCase();\n y = y.toLocaleLowerCase();\n }\n return x.localeCompare(y);\n }\n}\nexport function compare(...args) {\n switch (args.length) {\n case 2: return cmp(args[0], args[1], false);\n case 3: return cmp(args[0], args[1], args[2]);\n case 4: return cmp(args[0], args[1], args[2] === true);\n case 5: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), false);\n case 6: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5]);\n case 7: return cmp(args[0].substr(args[1], args[4]), args[2].substr(args[3], args[4]), args[5] === true);\n default: throw new Error(\"String.compare: Unsupported number of parameters\");\n }\n}\nexport function compareTo(x, y) {\n return cmp(x, y, false);\n}\nexport function startsWith(str, pattern, ic) {\n if (str.length >= pattern.length) {\n return cmp(str.substr(0, pattern.length), pattern, ic) === 0;\n }\n return false;\n}\nexport function indexOfAny(str, anyOf, ...args) {\n if (str == null || str === \"\") {\n return -1;\n }\n const startIndex = (args.length > 0) ? args[0] : 0;\n if (startIndex < 0) {\n throw new Error(\"String.indexOfAny: Start index cannot be negative\");\n }\n const length = (args.length > 1) ? args[1] : str.length - startIndex;\n if (length < 0) {\n throw new Error(\"String.indexOfAny: Length cannot be negative\");\n }\n if (length > str.length - startIndex) {\n throw new Error(\"String.indexOfAny: Invalid startIndex and length\");\n }\n str = str.substr(startIndex, length);\n for (const c of anyOf) {\n const index = str.indexOf(c);\n if (index > -1) {\n return index + startIndex;\n }\n }\n return -1;\n}\nfunction toHex(value) {\n return value < 0\n ? \"ff\" + (16777215 - (Math.abs(value) - 1)).toString(16)\n : value.toString(16);\n}\nexport function printf(input) {\n return {\n input,\n cont: fsFormat(input),\n };\n}\nexport function toConsole(arg) {\n // Don't remove the lambda here, see #1357\n return arg.cont((x) => { console.log(x); });\n}\nexport function toConsoleError(arg) {\n return arg.cont((x) => { console.error(x); });\n}\nexport function toText(arg) {\n return arg.cont((x) => x);\n}\nexport function toFail(arg) {\n return arg.cont((x) => { throw new Error(x); });\n}\nfunction formatOnce(str2, rep) {\n return str2.replace(fsFormatRegExp, (_, prefix, flags, pad, precision, format) => {\n switch (format) {\n case \"f\":\n case \"F\":\n rep = rep.toFixed(precision || 6);\n break;\n case \"g\":\n case \"G\":\n rep = rep.toPrecision(precision);\n break;\n case \"e\":\n case \"E\":\n rep = rep.toExponential(precision);\n break;\n case \"O\":\n rep = toString(rep);\n break;\n case \"A\":\n rep = toString(rep, true);\n break;\n case \"x\":\n rep = toHex(Number(rep));\n break;\n case \"X\":\n rep = toHex(Number(rep)).toUpperCase();\n break;\n }\n const plusPrefix = flags.indexOf(\"+\") >= 0 && parseInt(rep, 10) >= 0;\n pad = parseInt(pad, 10);\n if (!isNaN(pad)) {\n const ch = pad >= 0 && flags.indexOf(\"0\") >= 0 ? \"0\" : \" \";\n rep = padLeft(rep, Math.abs(pad) - (plusPrefix ? 1 : 0), ch, pad < 0);\n }\n const once = prefix + (plusPrefix ? \"+\" + rep : rep);\n return once.replace(/%/g, \"%%\");\n });\n}\nfunction createPrinter(str, cont) {\n const printer = (...args) => {\n // Make a copy as the function may be used several times\n let strCopy = str;\n for (const arg of args) {\n strCopy = formatOnce(strCopy, arg);\n }\n return fsFormatRegExp.test(strCopy)\n ? createPrinter(strCopy, cont)\n : cont(strCopy.replace(/%%/g, \"%\"));\n };\n // Mark it as curried so it doesn't\n // get wrapped by CurriedLambda\n printer.curried = true;\n return printer;\n}\nexport function fsFormat(str) {\n return (cont) => {\n return fsFormatRegExp.test(str)\n ? createPrinter(str, cont)\n : cont(str);\n };\n}\nexport function format(str, ...args) {\n return str.replace(formatRegExp, (match, idx, pad, pattern) => {\n let rep = args[idx];\n let padSymbol = \" \";\n if (typeof rep === \"number\") {\n switch ((pattern || \"\").substring(0, 1)) {\n case \"f\":\n case \"F\":\n rep = pattern.length > 1 ? rep.toFixed(pattern.substring(1)) : rep.toFixed(2);\n break;\n case \"g\":\n case \"G\":\n rep = pattern.length > 1 ? rep.toPrecision(pattern.substring(1)) : rep.toPrecision();\n break;\n case \"e\":\n case \"E\":\n rep = pattern.length > 1 ? rep.toExponential(pattern.substring(1)) : rep.toExponential();\n break;\n case \"p\":\n case \"P\":\n rep = (pattern.length > 1 ? (rep * 100).toFixed(pattern.substring(1)) : (rep * 100).toFixed(2)) + \" %\";\n break;\n case \"x\":\n rep = toHex(Number(rep));\n break;\n case \"X\":\n rep = toHex(Number(rep)).toUpperCase();\n break;\n default:\n const m = /^(0+)(\\.0+)?$/.exec(pattern);\n if (m != null) {\n let decs = 0;\n if (m[2] != null) {\n rep = rep.toFixed(decs = m[2].length - 1);\n }\n pad = \",\" + (m[1].length + (decs ? decs + 1 : 0)).toString();\n padSymbol = \"0\";\n }\n else if (pattern) {\n rep = pattern;\n }\n }\n }\n else if (typeof rep.ToString === \"function\") {\n rep = rep.ToString(pattern);\n }\n else if (rep instanceof Date) {\n rep = dateToString(rep, pattern);\n }\n pad = parseInt((pad || \"\").substring(1), 10);\n if (!isNaN(pad)) {\n rep = padLeft(rep, Math.abs(pad), padSymbol, pad < 0);\n }\n return rep;\n });\n}\nexport function endsWith(str, search) {\n const idx = str.lastIndexOf(search);\n return idx >= 0 && idx === str.length - search.length;\n}\nexport function initialize(n, f) {\n if (n < 0) {\n throw new Error(\"String length must be non-negative\");\n }\n const xs = new Array(n);\n for (let i = 0; i < n; i++) {\n xs[i] = f(i);\n }\n return xs.join(\"\");\n}\nexport function insert(str, startIndex, value) {\n if (startIndex < 0 || startIndex > str.length) {\n throw new Error(\"startIndex is negative or greater than the length of this instance.\");\n }\n return str.substring(0, startIndex) + value + str.substring(startIndex);\n}\nexport function isNullOrEmpty(str) {\n return typeof str !== \"string\" || str.length === 0;\n}\nexport function isNullOrWhiteSpace(str) {\n return typeof str !== \"string\" || /^\\s*$/.test(str);\n}\nexport function join(delimiter, xs) {\n let xs2 = typeof xs === \"string\" ? [xs] : xs;\n const len = arguments.length;\n if (len > 2) {\n xs2 = Array(len - 1);\n for (let key = 1; key < len; key++) {\n xs2[key - 1] = arguments[key];\n }\n }\n else if (!Array.isArray(xs2)) {\n xs2 = Array.from(xs2);\n }\n return xs2.map((x) => toString(x)).join(delimiter);\n}\n/** Validates UUID as specified in RFC4122 (versions 1-5). Trims braces. */\nexport function validateGuid(str, doNotThrow) {\n const trimmed = trim(str, \"both\", \"{\", \"}\");\n if (guidRegex.test(trimmed)) {\n return doNotThrow ? [true, trimmed] : trimmed;\n }\n else if (doNotThrow) {\n return [false, \"00000000-0000-0000-0000-000000000000\"];\n }\n throw new Error(\"Guid should contain 32 digits with 4 dashes: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\");\n}\n/* tslint:disable */\n// From https://gist.github.com/LeverOne/1308368\nexport function newGuid() {\n let b = '';\n for (let a = 0; a++ < 36; b += a * 51 & 52\n ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16)\n : '-')\n ;\n return b;\n}\n// Maps for number <-> hex string conversion\nlet _convertMapsInitialized = false;\nlet _byteToHex;\nlet _hexToByte;\nfunction initConvertMaps() {\n _byteToHex = new Array(256);\n _hexToByte = {};\n for (var i = 0; i < 256; i++) {\n _byteToHex[i] = (i + 0x100).toString(16).substr(1);\n _hexToByte[_byteToHex[i]] = i;\n }\n _convertMapsInitialized = true;\n}\n/** Parse a UUID into it's component bytes */\n// Adapted from https://github.com/zefferus/uuid-parse\nexport function guidToArray(s) {\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n let i = 0;\n const buf = new Uint8Array(16);\n s.toLowerCase().replace(/[0-9a-f]{2}/g, (function (oct) {\n switch (i) {\n // .NET saves first three byte groups with differten endianness\n // See https://stackoverflow.com/a/16722909/3922220\n case 0:\n case 1:\n case 2:\n case 3:\n buf[3 - i++] = _hexToByte[oct];\n break;\n case 4:\n case 5:\n buf[9 - i++] = _hexToByte[oct];\n break;\n case 6:\n case 7:\n buf[13 - i++] = _hexToByte[oct];\n break;\n case 8:\n case 9:\n case 10:\n case 11:\n case 12:\n case 13:\n case 14:\n case 15:\n buf[i++] = _hexToByte[oct];\n break;\n }\n }));\n // Zero out remaining bytes if string was short\n while (i < 16) {\n buf[i++] = 0;\n }\n return buf;\n}\n/** Convert UUID byte array into a string */\nexport function arrayToGuid(buf) {\n if (buf.length !== 16) {\n throw new Error(\"Byte array for GUID must be exactly 16 bytes long\");\n }\n if (!_convertMapsInitialized) {\n initConvertMaps();\n }\n return _byteToHex[buf[3]] + _byteToHex[buf[2]] +\n _byteToHex[buf[1]] + _byteToHex[buf[0]] + '-' +\n _byteToHex[buf[5]] + _byteToHex[buf[4]] + '-' +\n _byteToHex[buf[7]] + _byteToHex[buf[6]] + '-' +\n _byteToHex[buf[8]] + _byteToHex[buf[9]] + '-' +\n _byteToHex[buf[10]] + _byteToHex[buf[11]] +\n _byteToHex[buf[12]] + _byteToHex[buf[13]] +\n _byteToHex[buf[14]] + _byteToHex[buf[15]];\n}\n/* tslint:enable */\nfunction notSupported(name) {\n throw new Error(\"The environment doesn't support '\" + name + \"', please use a polyfill.\");\n}\nexport function toBase64String(inArray) {\n let str = \"\";\n for (let i = 0; i < inArray.length; i++) {\n str += String.fromCharCode(inArray[i]);\n }\n return typeof btoa === \"function\" ? btoa(str) : notSupported(\"btoa\");\n}\nexport function fromBase64String(b64Encoded) {\n const binary = typeof atob === \"function\" ? atob(b64Encoded) : notSupported(\"atob\");\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return bytes;\n}\nexport function padLeft(str, len, ch, isRight) {\n ch = ch || \" \";\n str = String(str);\n len = len - str.length;\n for (let i = 0; i < len; i++) {\n str = isRight ? str + ch : ch + str;\n }\n return str;\n}\nexport function padRight(str, len, ch) {\n return padLeft(str, len, ch, true);\n}\nexport function remove(str, startIndex, count) {\n if (startIndex >= str.length) {\n throw new Error(\"startIndex must be less than length of string\");\n }\n if (typeof count === \"number\" && (startIndex + count) > str.length) {\n throw new Error(\"Index and count must refer to a location within the string.\");\n }\n return str.slice(0, startIndex) + (typeof count === \"number\" ? str.substr(startIndex + count) : \"\");\n}\nexport function replace(str, search, replace) {\n return str.replace(new RegExp(escape(search), \"g\"), replace);\n}\nexport function replicate(n, x) {\n return initialize(n, () => x);\n}\nexport function getCharAtIndex(input, index) {\n if (index < 0 || index > input.length) {\n throw new Error(\"System.IndexOutOfRangeException: Index was outside the bounds of the array.\");\n }\n return input[index];\n}\nexport function split(str, splitters, count, removeEmpty) {\n count = typeof count === \"number\" ? count : null;\n removeEmpty = typeof removeEmpty === \"number\" ? removeEmpty : null;\n if (count < 0) {\n throw new Error(\"Count cannot be less than zero\");\n }\n if (count === 0) {\n return [];\n }\n let splitters2 = splitters;\n if (!Array.isArray(splitters)) {\n const len = arguments.length;\n splitters2 = Array(len - 1);\n for (let key = 1; key < len; key++) {\n splitters2[key - 1] = arguments[key];\n }\n }\n splitters2 = splitters2.map((x) => escape(x));\n splitters2 = splitters2.length > 0 ? splitters2 : [\" \"];\n let i = 0;\n const splits = [];\n const reg = new RegExp(splitters2.join(\"|\"), \"g\");\n while (count == null || count > 1) {\n const m = reg.exec(str);\n if (m === null) {\n break;\n }\n if (!removeEmpty || (m.index - i) > 0) {\n count = count != null ? count - 1 : count;\n splits.push(str.substring(i, m.index));\n }\n i = reg.lastIndex;\n }\n if (!removeEmpty || (str.length - i) > 0) {\n splits.push(str.substring(i));\n }\n return splits;\n}\nexport function trim(str, side, ...chars) {\n if (side === \"both\" && chars.length === 0) {\n return str.trim();\n }\n if (side === \"start\" || side === \"both\") {\n const reg = chars.length === 0 ? /^\\s+/ : new RegExp(\"^[\" + escape(chars.join(\"\")) + \"]+\");\n str = str.replace(reg, \"\");\n }\n if (side === \"end\" || side === \"both\") {\n const reg = chars.length === 0 ? /\\s+$/ : new RegExp(\"[\" + escape(chars.join(\"\")) + \"]+$\");\n str = str.replace(reg, \"\");\n }\n return str;\n}\nexport function filter(pred, x) {\n return x.split(\"\").filter(pred).join(\"\");\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/HTMLGen/HTMLGen.fs","module Types\n\ntype Language =\n | Python\n | FSharp\n | CPP\n | C\n | Empty\n\ntype Token =\n | CODEBLOCK of string * Language\n | LITERAL of string\n | WHITESPACE of size: int\n | NUMBER of string\n | HASH | PIPE | EQUAL | MINUS | PLUS | ASTERISK | DOT | COMMA\n | DASTERISK | TASTERISK | UNDERSCORE | DUNDERSCORE | TUNDERSCORE | TILDE | DTILDE\n | TTILDE | LSBRA | RSBRA | LBRA | RBRA | BSLASH | SLASH | LABRA | RABRA | LCBRA\n | RCBRA | BACKTICK | EXCLAMATION | ENDLINE | COLON | CARET | PERCENT | SEMICOLON\n | HEADER of int | FOOTNOTE of int | CITATION of string\n\ntype TFrmtedString =\n | Strong of InlineElement list\n | Emphasis of InlineElement list\n | Line of InlineElement list\n | Strike of InlineElement list\n | Literal of string\n | Code of string\n\nand InlineElement =\n | FrmtedString of TFrmtedString\n | Link of HyperText: TFrmtedString * URL: string\n | Picture of Alt: string * URL: string\n | InlineCitation of HyperText: TFrmtedString * ID: string\n | InlineFootnote of HyperText: TFrmtedString * ID: string\n\ntype TLine = InlineElement list\n\ntype THeader = {HeaderName: TLine; Level: int; RefID: string}\n\ntype Ttoc = {HeaderLst: THeader list}\n\ntype TListType = | UL | OL of startNo:int\ntype TList = {ListType: TListType; ListItem: TListItem list; Depth: int}\nand TListItem = NestedList of TList | StringItem of TLine\n\ntype Alignment = Centre | Right | Left | NoAlign\n\ntype Cell =\n | Contents of Token list * Header: bool * Align:Alignment\n\ntype Row =\n | Cells of Cell list * Header:bool\n\ntype PCell =\n | CellLine of TLine * Header: bool * Align:Alignment\n\ntype PRow =\n | PCells of PCell list * Header:bool\n\ntype RefFrmt = IEEE | Harvard | Chicago\ntype RefType = Book | Website\ntype Ref = {Cat: RefType option; Author: Token list option; Title: Token list option;\n Year: int option; AccessDate: (int * int * int) option\n URL: string option}\n\ntype ParsedObj =\n | CodeBlock of string * Language\n | Header of THeader\n | ContentTable of Ttoc\n | List of TList\n | Paragraph of TLine list\n | Quote of TLine\n | Table of PRow list\n | PreTable of Content: Token list list\n | Footnote of int * TLine // inline id, end of doc\n | Citation of string * TFrmtedString * TLine //ID,Inline,End of doc\n \ntype Cell with \n member c.GetToks = match c with \n | Contents(toks,_,_) -> toks\n member c.ReplaceTokens t = match c with \n | Contents(_,head,align) -> Contents(t,head,align)\n member c.GetHead = match c with \n | Contents(_,head,_) -> head\n member c.GetParams = match c with \n | Contents(toks,head,align) -> toks,head,align\n\ntype OutFormat = HTML | Markdown\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Types.fs","module Shared\n\nopen Types\nopen Logger\nopen System.Text.RegularExpressions\n\n// Helpers\n\n/// Inverse the values in a tuple\nlet invTuple (a, b) = b, a\n\n/// Try to find a key in a map, return Some value when it is found, otherwise it\n/// returns None\nlet mapTryFind k (map: Map<'a, 'b>) = map.TryFind(k)\n\n/// Try find key in a list\nlet listTryFind s =\n List.map invTuple >> Map.ofList >> mapTryFind s\n\n/// The list of characters used in the parser\nlet charList = [\"#\", HASH; \"|\", PIPE; \"=\", EQUAL; \"-\", MINUS; \"+\", PLUS; \"*\", ASTERISK\n \".\", DOT; \"**\", DASTERISK; \"***\", TASTERISK; \"_\", UNDERSCORE; \"__\", DUNDERSCORE\n \"___\", TUNDERSCORE; \"~\", TILDE; \"~~\", DTILDE; \"~~~\", TTILDE; \"[\", LSBRA\n \"]\", RSBRA; \"(\", LBRA; \")\", RBRA; @\"\\\", BSLASH; \"/\", SLASH; \"<\", LABRA\n \">\", RABRA; \"{\", LCBRA; \"}\", RCBRA; \"`\", BACKTICK;\n \"!\", EXCLAMATION; \":\", COLON; \"^\", CARET; \"%\", PERCENT; \",\", COMMA; \";\", SEMICOLON]\n\nlet charMap = charList |> List.map invTuple |> Map.ofList\n\nlet (|CharTok|_|) tok =\n mapTryFind tok charMap\n\nlet mapTok = function\n | CharTok s -> s\n | CODEBLOCK _ -> \"CODEBLOCK\"\n | FOOTNOTE _ -> sprintf \"FOOTNOTE found\"\n | CITATION _ -> sprintf \"CITATION found\"\n | HEADER n -> sprintf \"HEADER %d\" n\n | NUMBER s -> s\n | LITERAL s -> s\n | WHITESPACE n -> String.replicate n \" \"\n | _ -> \"\\n\"\n\n/// turn all tokens into string\nlet strAllToks toks =\n let pacMan str tok =\n str + mapTok tok\n List.fold pacMan \"\" toks\n\nlet mapLang lang =\n match lang with\n | Python -> \"python\"\n | FSharp -> \"fsharp\"\n | CPP -> \"cpp\"\n | C -> \"c\"\n | Empty -> \"\"\n\nlet xOnwards x lst = if List.length lst > x then lst.[x..] else []\nlet sOnwards s str = if String.length str > s then str.[s..] else \"\"\nlet removeChars lst s =\n let folder (s:string) x = s.Replace(x,\"\")\n List.fold folder s lst\nlet replaceChars pat (rep:string) s =\n Regex.Replace(s,pat,rep)\nlet removeWhitespace (s:string) = \n s |> removeChars [\"\\n\";\"\\t\";\"\\r\";\" \"]\n\n\n// WEBPACK FOOTER //\n// src/Common/Shared.fs","module Logger\n\ntype LogLevel =\n | DEBUG=0\n | INFO=1\n | WARNING=2\n | ERROR=3\n | FATAL=4\n\nlet logLevelStr =\n [\n LogLevel.DEBUG, \"DEBUG\"\n LogLevel.INFO, \"INFO\"\n LogLevel.WARNING, \"WARNING\"\n LogLevel.ERROR, \"ERROR\"\n LogLevel.FATAL, \"FATAL\"\n ] |> Map.ofList\n\ntype Logger(logLevel) =\n\n // create the mailbox processor\n let agent = MailboxProcessor.Start(fun inbox -> \n\n // the message processing function\n let rec messageLoop () = async {\n\n // read a message\n let! msg = inbox.Receive()\n\n // write it to the log\n printfn \"%s\" msg\n\n // loop to top\n return! messageLoop ()\n }\n\n // start the loop\n messageLoop ()\n )\n\n let postStr pType msg = function\n | Some l ->\n sprintf \"%s [%s] (%d) %s\" pType (System.DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) l msg |> agent.Post\n | _ ->\n sprintf \"%s [%s] %s\" pType (System.DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) msg |> agent.Post\n\n let log t l msg =\n if t >= logLevel then\n postStr logLevelStr.[t] msg l\n else ()\n\n // Public API\n member __.Log = log\n member __.Debug = log LogLevel.DEBUG\n member __.Info = log LogLevel.INFO\n member __.Warn = log LogLevel.WARNING\n member __.Error = log LogLevel.ERROR\n member __.Fatal = log LogLevel.FATAL\n\nlet logPass line log s =\n s |> log line\n s\n\nlet logPassN log s =\n s |> log None\n s\nlet mutable globLog = Logger(LogLevel.DEBUG)\n\n\n// WEBPACK FOOTER //\n// src/Common/Logger/Logger.fs","export class OperationCanceledError extends Error {\n constructor() {\n super(\"The operation was canceled\");\n Object.setPrototypeOf(this, OperationCanceledError.prototype);\n }\n}\nexport class Trampoline {\n static get maxTrampolineCallCount() {\n return 2000;\n }\n constructor() {\n this.callCount = 0;\n }\n incrementAndCheck() {\n return this.callCount++ > Trampoline.maxTrampolineCallCount;\n }\n hijack(f) {\n this.callCount = 0;\n setTimeout(f, 0);\n }\n}\nexport function protectedCont(f) {\n return (ctx) => {\n if (ctx.cancelToken.isCancelled) {\n ctx.onCancel(new OperationCanceledError());\n }\n else if (ctx.trampoline.incrementAndCheck()) {\n ctx.trampoline.hijack(() => {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(err);\n }\n });\n }\n else {\n try {\n f(ctx);\n }\n catch (err) {\n ctx.onError(err);\n }\n }\n };\n}\nexport function protectedBind(computation, binder) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n try {\n binder(x)(ctx);\n }\n catch (ex) {\n ctx.onError(ex);\n }\n },\n onError: ctx.onError,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n}\nexport function protectedReturn(value) {\n return protectedCont((ctx) => ctx.onSuccess(value));\n}\nexport class AsyncBuilder {\n Bind(computation, binder) {\n return protectedBind(computation, binder);\n }\n Combine(computation1, computation2) {\n return this.Bind(computation1, () => computation2);\n }\n Delay(generator) {\n return protectedCont((ctx) => generator()(ctx));\n }\n For(sequence, body) {\n const iter = sequence[Symbol.iterator]();\n let cur = iter.next();\n return this.While(() => !cur.done, this.Delay(() => {\n const res = body(cur.value);\n cur = iter.next();\n return res;\n }));\n }\n Return(value) {\n return protectedReturn(value);\n }\n ReturnFrom(computation) {\n return computation;\n }\n TryFinally(computation, compensation) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: (x) => {\n compensation();\n ctx.onSuccess(x);\n },\n onError: (x) => {\n compensation();\n ctx.onError(x);\n },\n onCancel: (x) => {\n compensation();\n ctx.onCancel(x);\n },\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n });\n });\n }\n TryWith(computation, catchHandler) {\n return protectedCont((ctx) => {\n computation({\n onSuccess: ctx.onSuccess,\n onCancel: ctx.onCancel,\n cancelToken: ctx.cancelToken,\n trampoline: ctx.trampoline,\n onError: (ex) => {\n try {\n catchHandler(ex)(ctx);\n }\n catch (ex2) {\n ctx.onError(ex2);\n }\n },\n });\n });\n }\n Using(resource, binder) {\n return this.TryFinally(binder(resource), () => resource.Dispose());\n }\n While(guard, computation) {\n if (guard()) {\n return this.Bind(computation, () => this.While(guard, computation));\n }\n else {\n return this.Return(void 0);\n }\n }\n Zero() {\n return protectedCont((ctx) => ctx.onSuccess(void 0));\n }\n}\nexport const singleton = new AsyncBuilder();\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/HTMLGen/HTMLGenHelpers.fs","import FSymbol from \"./Symbol\";\nimport { Any } from \"./Util\";\nimport { compareUnions, equalsUnions } from \"./Util\";\nexport function choice1Of2(v) {\n return new Choice(0, v);\n}\nexport function choice2Of2(v) {\n return new Choice(1, v);\n}\nexport default class Choice {\n constructor(tag, data) {\n this.tag = tag | 0;\n this.data = data;\n }\n get valueIfChoice1() {\n return this.tag === 0 ? this.data : null;\n }\n get valueIfChoice2() {\n return this.tag === 1 ? this.data : null;\n }\n Equals(other) {\n return equalsUnions(this, other);\n }\n CompareTo(other) {\n return compareUnions(this, other);\n }\n [FSymbol.reflection]() {\n return {\n type: \"Microsoft.FSharp.Core.FSharpChoice\",\n interfaces: [\"FSharpUnion\", \"System.IEquatable\", \"System.IComparable\"],\n cases: [[\"Choice1Of2\", Any], [\"Choice2Of2\", Any]],\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Lexer/Preprocessor.fs","import { defaultCancellationToken } from \"./Async\";\nimport { fromContinuations } from \"./Async\";\nimport { startImmediate } from \"./Async\";\nclass QueueCell {\n constructor(message) {\n this.value = message;\n }\n}\nclass MailboxQueue {\n add(message) {\n const itCell = new QueueCell(message);\n if (this.firstAndLast) {\n this.firstAndLast[1].next = itCell;\n this.firstAndLast = [this.firstAndLast[0], itCell];\n }\n else {\n this.firstAndLast = [itCell, itCell];\n }\n }\n tryGet() {\n if (this.firstAndLast) {\n const value = this.firstAndLast[0].value;\n if (this.firstAndLast[0].next) {\n this.firstAndLast = [this.firstAndLast[0].next, this.firstAndLast[1]];\n }\n else {\n delete this.firstAndLast;\n }\n return value;\n }\n return void 0;\n }\n}\nexport default class MailboxProcessor {\n constructor(body, cancellationToken) {\n this.body = body;\n this.cancellationToken = cancellationToken || defaultCancellationToken;\n this.messages = new MailboxQueue();\n }\n __processEvents() {\n if (this.continuation) {\n const value = this.messages.tryGet();\n if (value) {\n const cont = this.continuation;\n delete this.continuation;\n cont(value);\n }\n }\n }\n start() {\n startImmediate(this.body(this), this.cancellationToken);\n }\n receive() {\n return fromContinuations((conts) => {\n if (this.continuation) {\n throw new Error(\"Receive can only be called once!\");\n }\n this.continuation = conts[0];\n this.__processEvents();\n });\n }\n post(message) {\n this.messages.add(message);\n this.__processEvents();\n }\n postAndAsyncReply(buildMessage) {\n let result;\n let continuation;\n function checkCompletion() {\n if (result && continuation) {\n continuation(result);\n }\n }\n const reply = {\n reply: (res) => {\n result = res;\n checkCompletion();\n },\n };\n this.messages.add(buildMessage(reply));\n this.__processEvents();\n return fromContinuations((conts) => {\n continuation = conts[0];\n checkCompletion();\n });\n }\n}\nexport function start(body, cancellationToken) {\n const mbox = new MailboxProcessor(body, cancellationToken);\n mbox.start();\n return mbox;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Shared.fs","module ParserHelperFuncs\nopen Types\nopen Shared\nopen Logger\n\nlet SPACE = \" \"\nlet NOSTRING = \"\"\n\ntype TEmphasis = UNDER | STAR // underscore and asterisk\n\ntype ParagraphState = {Par: Token list; ReToks: Token list; ParMatched: bool}\n\ntype FormatStyle = STRONG | EM | SEM | STRIKE\n\n/// delete leading ENDLINEs and retur the rest\nlet rec deleteLeadingENDLINEs toks =\n match toks with\n | ENDLINE:: tks -> deleteLeadingENDLINEs tks\n | _ -> toks\n\nlet deleteTrailingENDLINEs toks =\n toks\n |> List.rev\n |> deleteLeadingENDLINEs\n |> List.rev\n\nlet trimENDLINEs toks =\n toks\n |> deleteLeadingENDLINEs\n |> deleteTrailingENDLINEs\n\n/// convert all Tokens into a single string\n/// see mapTok for Token mapping\nlet stringAllTokens toks =\n let matchTok i tok =\n i + mapTok tok\n List.fold matchTok \"\" toks\n\n/// count subsquent and continuous Tokens\nlet countToks (tok: Token) toks =\n let rec countToks' (n, toks') =\n match toks' with\n | t:: rtks when t = tok -> countToks' (n+1, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuous spaces\nlet countSpaces toks =\n let rec countToks' (n, toks') =\n match toks' with\n | WHITESPACE no:: rtks -> countToks' (n+no, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuoues ENDLINEs\nlet countNewLines = countToks (ENDLINE)\n\n/// count all pipes in a line\nlet countDelim delim toks =\n let counter tok =\n match tok with\n | t when t =delim ->1\n | _ -> 0\n List.sumBy counter toks\nlet countPipes = countDelim PIPE\nlet countMinus = countDelim MINUS\n\n/// first element is the line\n/// second element is remaining tokens\nlet cutFirstLine toks =\n let rec cutLine' line rtks =\n match rtks with\n | ENDLINE:: rtks -> line |> List.rev, rtks\n | tok:: rtks -> cutLine' (tok::line) rtks\n | [] -> line |> List.rev, []\n cutLine' [] toks\n\n/// process token list into lines of tokens, no ENDLINE in the end\nlet cutIntoLines toks =\n let rec cutIntoLines' tokLines toks =\n let endlineSpliter = function | ENDLINE -> true | _ -> false\n match List.tryFindIndex endlineSpliter toks with\n | None -> toks::tokLines |> List.rev\n | Some idx ->\n match List.splitAt idx toks with\n | (tokLine, retoks) ->\n let tokLineNoEL = tokLine |> deleteTrailingENDLINEs\n cutIntoLines' (tokLineNoEL::tokLines) retoks.Tail\n toks\n |> cutIntoLines' []\n\n/// combine adjacent FrmtedString(Literal \"something\")\nlet combineLiterals line =\n let combiner line inlineEle =\n let doNothing = inlineEle::line\n match List.head line with\n | FrmtedString (Literal l) ->\n match inlineEle with\n | FrmtedString (Literal s) -> FrmtedString (Literal (l+s)) :: line.Tail\n | _ -> doNothing\n | _ -> doNothing\n line\n |> List.tail\n |> List.fold combiner [List.head line]\n |> List.rev\n\n\n/// match start and end symbol for formatting\n/// return the match content, w/o the symbols\n/// and the rest tokens\nlet (|MatchSym|_|) sym toks =\n match toks with\n | t::tl when t = sym ->\n match List.tryFindIndex (fun s -> s=sym) (List.tail toks) with\n | Some idx ->\n let (content, restTks) = List.splitAt idx tl\n (content, List.tail restTks) |> Some\n | None -> None\n | _ -> None\n\n\n/// match paragraph\n/// return paragraph contents, w/o trailing ENDLINE,\n/// and the rest tokens, w/o leading ENDLINE\nlet (|PickoutParagraph|_|) toks =\n match toks with\n | [] -> None\n | _ ->\n let folder state tok =\n let {Par=par;ReToks=reToks;ParMatched=matched} = state\n if matched then\n {state with ReToks=tok::reToks}\n else\n match tok with\n | ENDLINE when List.head par = ENDLINE -> {Par=List.tail par;ReToks=reToks;ParMatched=true}\n | HEADER _ -> {Par=par;ReToks=tok::reToks;ParMatched=true}\n | _ -> {state with Par=tok::par}\n let initState = {Par=[];ReToks=[];ParMatched=false}\n match List.fold folder initState toks with\n | {Par=par;ReToks=reToks} ->\n (par |> List.rev, reToks |> List.rev |> deleteLeadingENDLINEs) |> Some\n\n/// match lists\nlet (|PickoutList|_|) toks =\n match toks with\n | [] -> None\n | ASTERISK:: WHITESPACE _:: _ | MINUS:: WHITESPACE _:: _ // unordered list\n | NUMBER _:: DOT:: WHITESPACE _:: _ -> // ordered list\n match toks with\n | PickoutParagraph result -> Some result\n | _ -> None\n | _ -> None\n\n\nlet (|MatchTemplate|_|) strongOrEmOrBoth toks =\n let (asteriskFormatter, underscoreFormatter) =\n match strongOrEmOrBoth with\n | STRONG -> DASTERISK, DUNDERSCORE\n | EM -> ASTERISK, UNDERSCORE\n | SEM -> TASTERISK, TUNDERSCORE\n | STRIKE -> DTILDE, DTILDE\n let attachInlineEle front back = Option.map (fun (x,y) -> x,y,front,back)\n match toks with\n | WHITESPACE _:: whatSym:: WHITESPACE _:: _ when whatSym=underscoreFormatter -> None // not em\n | WHITESPACE frontWhite:: whatSym:: potential when whatSym=underscoreFormatter ->\n let frontLiteral = String.replicate frontWhite \" \" |> Literal |> FrmtedString |> Some\n let rec endFinder content toks =\n match toks with\n | [] -> None\n | WHITESPACE _:: whatSym:: WHITESPACE _:: rtks when whatSym=underscoreFormatter -> // keep finding\n endFinder (List.append content toks.[0..2]) rtks\n | _:: whatSym:: WHITESPACE backWhite:: rtks when whatSym=underscoreFormatter ->\n let backLiteral = String.replicate backWhite \" \" |> Literal |> FrmtedString |> Some\n (List.append content [List.head toks], rtks)\n |> Some\n |> attachInlineEle frontLiteral backLiteral\n | _::[whatSym] when whatSym=underscoreFormatter ->\n (List.append content [List.head toks], [])\n |> Some\n |> attachInlineEle frontLiteral None\n | _ ->\n xOnwards 1 toks\n |> endFinder (List.append content [toks.[0]])\n endFinder [] potential\n | whatSym:: WHITESPACE _:: _ when whatSym=asteriskFormatter -> None // not asterisk em\n | whatSym:: potential when whatSym=asteriskFormatter ->\n let rec endFinder content toks =\n match toks with\n | [] -> None\n | WHITESPACE _:: whatSym:: rtks when whatSym=asteriskFormatter -> // keep finding\n endFinder (List.append content toks.[0..1]) rtks\n | _:: whatSym:: rtks when whatSym=asteriskFormatter ->\n (List.append content [List.head toks], rtks)\n |> Some\n |> attachInlineEle None None\n | _ ->\n xOnwards 1 toks\n |> endFinder (List.append content [toks.[0]])\n endFinder [] potential\n | _ -> None\n\n\n/// match underscore and asterisk emphasis start squence\n/// match underscore and asterisk emphasis end sequence\n/// return content of emphasis, the rest of line,\n/// and the necessary edge InlineElement\n/// e.g. ` _i_`, the edge InlineElements are `Some(FrmtedString(Literal \" \"))` and `None`\nlet (|MatchEm|_|) toks =\n match toks with\n | MatchTemplate EM result -> Some result\n | _ -> None\n\n/// match underscore and asterisk strong start squence\n/// match underscore and asterisk strong end sequence\n/// return content of strong, the rest of line,\n/// and the necessary edge InlineElement\n/// e.g. ` __i__`, the edge InlineElements are `Some(FrmtedString(Literal \" \"))` and `None`\nlet (|MatchStrong|_|) toks =\n match toks with\n | MatchTemplate STRONG result -> Some result\n | _ -> None\n\nlet (|MatchStrongAndEm|_|) toks =\n match toks with\n | MatchTemplate SEM result -> Some result\n | _ -> None\n\nlet (|MatchStrike|_|) toks =\n match toks with\n | MatchTemplate STRIKE result -> Some result\n | _ -> None\n\n/// match new paragraph sequence\n/// return Token list after EDNLINEs\nlet (|MatchNewParagraph|_|) toks =\n match countNewLines toks with\n | n when n>=2 -> toks.[n..] |> Some\n | _ -> None\n\n/// turn head Token into string\n/// return head Token string and tail Token list\nlet (|MatchMapTok|_|) = function\n | tok:: toks -> (mapTok tok, toks) |> Some\n | _ -> None\n\n/// match hashes\n/// returns no of hashes, the first non-WHITESPACE token list\n/// and the tokens in next lines\nlet (|MatchHeader|_|) toks =\n let rec countHashes n tks =\n match tks with\n | HASH:: tks' -> countHashes (n+1) tks'\n | _ -> n\n match countHashes 0 toks with\n | no when no > 0 ->\n match toks.[no..] with\n | WHITESPACE _ :: toks' ->\n toks'|> cutFirstLine\n |> (fun (f,s) -> no, f,s)\n |> Some // omit whitespace\n | _ -> None\n | _ -> None\n\n/// match quote\nlet (|MatchQuote|_|) toks =\n match toks with\n | RABRA:: rtks ->\n rtks\n |> cutFirstLine\n |> Some\n | _ -> None\n\n/// match list begin sequence w/o spaces\n/// return list type and Token list after start sequence\nlet (|MatchList|_|) toks =\n match toks with\n | NUMBER no:: DOT:: WHITESPACE _:: toks' -> (OL (no|>int), toks') |> Some\n | ASTERISK:: WHITESPACE _:: toks' -> (UL, toks') |> Some\n | _ -> None\n\n/// match list begin sequence with optional spaces\n/// return list type and Token list after start sequence\nlet (|MatchListOpSpace|_|) toks =\n match toks with\n | WHITESPACE _:: MatchList content -> content |> Some\n | MatchList content -> content |> Some\n | _ -> None\n\n/// return the next line\n/// next line is seperated by 1 ENDLINE\nlet (|MatchTableHead|_|) toks =\n let line, rtks = cutFirstLine toks\n match line with\n | [] -> None\n | _ -> rtks |> Some\n\n/// take one PIPE\n/// return the rest |> Some\n/// otherwise, None\nlet pipeMatch oToks =\n oToks\n |> Option.bind (fun toks ->\n match toks with\n | PIPE:: rtks -> Some rtks\n | _ -> None )\n\n/// take all leading subsequent MINUSes\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet minusMatch oToks =\n let takeAwayMinuses toks =\n let rec takeAwayMinuses' n toks =\n match toks with\n | MINUS:: rtks -> takeAwayMinuses' (n+1) rtks\n | _ -> n, toks\n takeAwayMinuses' 0 toks\n oToks\n |> Option.bind (fun toks ->\n let n, rtks = toks |> takeAwayMinuses \n if n>0 then\n Some rtks\n else\n None\n )\n\n/// match the table formater line\n/// the table formater is usually the second line of a table\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet (|MatchTableFormater|_|) toks =\n let line, rtks = cutFirstLine toks\n match (countPipes line, countMinus line) with\n | (p,m) when p>0 && m>2 -> Some(rtks)\n | _ -> None\n\n/// match link\nlet (|MatchLink|_|) toks =\n let returnWhenRSBRALBRA toks =\n let rec concrete (content, toks) =\n match toks with\n | [] -> None\n | RSBRA::LBRA::rtks -> (List.rev content, rtks) |> Some\n | _ -> (List.head toks::content, List.tail toks) |> concrete\n concrete ([], toks)\n let returnWhenRBRA toks =\n let rec whatName (content, toks) =\n match toks with\n | [] -> None\n | RBRA::rtks -> (List.rev content, rtks) |> Some\n | _ -> (List.head toks::content, List.tail toks) |> whatName\n whatName ([], toks)\n match toks with\n | LSBRA::rtks ->\n match returnWhenRSBRALBRA rtks with\n | Some (hyperTextToks, remains) ->\n match returnWhenRBRA remains with\n | Some (urlToks, retoks) ->\n (hyperTextToks, urlToks, retoks) |> Some\n | None -> None\n | None -> None\n | _ -> None\n\n\n/// cut Tokens into Token list list for Table parsing\n/// terminates when [] or two continuous ENDLINEs\n/// return Token list list,\n/// remaining Token list\nlet cutTableRows toks =\n let rec cutTableRow' rows toks =\n match toks with\n | ENDLINE:: rtks -> rows |> List.rev, rtks // one endline followed by another\n | [] -> rows |> List.rev, []\n | _ ->\n let row, rtks = cutFirstLine toks\n cutTableRow' (row::rows) rtks\n cutTableRow' [] toks\n\n/// parse inline text, including links and pictures, terminates when nothing left\nlet parseInLineElements2 refLst toks =\n let attachInlineEle front back ele =\n [front;ele;back]\n\n let chooseRef refId refs =\n match refs with\n | [] ->\n let msg = sprintf \"[Reference: %A not found!]\" refId\n msg |> globLog.Info (Some 200) |> ignore\n msg |> Error\n | [exactlyOne] -> exactlyOne |> Ok\n | moreThanOne ->\n let msg = sprintf \"Reference: %A occurred more than once in reference list, take the first one.\" refId\n msg |> globLog.Info (Some 200) |> ignore\n List.head moreThanOne |> Ok\n /// find footnote in reference list, which contains both footnote and citation\n /// returns error msg if foot is not found\n /// returns first footnote if more than 1 is found\n let findFN fnId refList =\n let filterFN fnId refList =\n let fnFilter ref =\n match ref with\n | Footnote (id, _) when id=fnId -> true\n | _ -> false\n List.filter fnFilter refList\n filterFN fnId refList\n |> chooseRef fnId\n /// find citation in reference list, which contains both footnote and citation\n /// returns error msg if foot is not found\n /// returns first citation if more than 1 is found\n let findCite citeId refList =\n let filterCite fnId refList =\n let citeFilter ref =\n match ref with\n | Citation (id, _, _) when id=fnId -> true\n | _ -> false\n List.filter citeFilter refList\n filterCite citeId refList\n |> chooseRef citeId\n let genFormat (currentLine, inlineContent, frontLiteral, backLiteral) =\n match frontLiteral, backLiteral with\n | Some fl, Some bl ->\n [bl;inlineContent;fl]\n | Some fl, None ->\n [inlineContent;fl]\n | None, Some bl ->\n [bl;inlineContent]\n | None, None ->\n [inlineContent]\n |> (fun x -> x@currentLine)\n let makeList x = [x]\n let rec parseInLineElements' ftLst currentLine toks =\n let styleHelper style (content, rtks, frontLiteral, backLiteral) = \n let inlineContent = (parseInLines [] content |> style |> FrmtedString)\n genFormat (currentLine, inlineContent, frontLiteral, backLiteral), rtks\n\n match toks with\n | MatchSym BACKTICK (content, rtks) -> (content|> strAllToks|> Code|> FrmtedString )::currentLine, rtks\n | MatchStrongAndEm (content, rtks, frontLiteral, backLiteral) ->\n let inlineContent = (parseInLines [] content |> Strong |> FrmtedString |> makeList |> Emphasis |> FrmtedString)\n genFormat (currentLine, inlineContent, frontLiteral, backLiteral), rtks\n | MatchStrong (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Strong (content, rtks, frontLiteral, backLiteral)\n | MatchEm (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Emphasis (content, rtks, frontLiteral, backLiteral)\n | MatchStrike (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Strike (content, rtks, frontLiteral, backLiteral)\n | MatchLink (hyperTextToks, urlToks, rtks) ->\n let hyperText = parseInLines [] hyperTextToks |> Line\n let url = strAllToks urlToks\n [(hyperText, url) |> Link]@currentLine, rtks\n | EXCLAMATION:: MatchLink (hyperTextToks, urlToks, rtks) ->\n let hyperText = hyperTextToks |> strAllToks\n let url = strAllToks urlToks\n [(hyperText, url) |> Picture]@currentLine, rtks\n | FOOTNOTE i :: rtks ->\n let idStr = string i\n match findFN i ftLst with\n | Ok _ -> // ok if found at least one reference in refLst\n [(Literal idStr, idStr) |> InlineFootnote]@currentLine, rtks\n | Error msg -> // error if no reference is found in refLst\n [msg |> Literal |> FrmtedString]@currentLine, rtks\n | CITATION str :: rtks ->\n match findCite str ftLst with\n | Ok ref -> // ok if found at least one reference in refLst\n match ref with\n | Citation (id, hyperText, _) -> [(hyperText, id) |> InlineCitation]@currentLine, rtks\n | _ -> failwith \"non-citation in citation list\"\n | Error msg -> // error if no reference is found in refLst\n [msg |> Literal |> FrmtedString]@currentLine, rtks\n | _ ->\n let str = mapTok toks.[0]\n FrmtedString (Literal str)::currentLine, xOnwards 1 toks\n and parseInLines currentLine toks =\n match toks with\n | [] -> []\n | _ ->\n let (newLine, retoks) = parseInLineElements' refLst currentLine toks\n match retoks with\n | [] -> newLine |> List.rev\n | _ ->\n parseInLines newLine retoks\n |> combineLiterals\n parseInLines [] toks\n\nlet parseInLineElements toks = parseInLineElements2 [] toks\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/ParserHelperFuncs.fs","module MarkalcShared\nopen Types\nopen System.Text.RegularExpressions\nopen Logger\n\ntype CellReference = \n RowCol of Row:uint32*Col:uint32\n\ntype Operand =\n | CellRef of CellReference\n | Integer of int\n | Float of float\n\ntype Expr =\n | BinExp of (float->float->float)*Expr*Expr\n | Op of Operand\n | CommaFunction of string*(Expr list)\n\ntype TExpr = DPExp of Expr*int\nlet whitespaceFilter lst = List.filter (function | WHITESPACE(_) -> false | _ -> true) lst\n// Count number of delim in token list\nlet countDelim delim tokList =\n List.filter (function | d when d = delim -> true | _ -> false) tokList \n |> List.length\n\n// return everything before and after the first/last delimeter searched for, error if delim not found\nlet delimSplit last delim t =\n let rec delimSplitFirst' delim before t =\n match t with\n | d :: after when d = delim -> Ok (before,after) // If delim then token list, return d and everything after the delim\n | x :: after -> delimSplitFirst' delim (x::before) after // If non-PIPE token then token list, recurse adding the tokens to the before list\n | [] -> Error (before,[]) // Did not find delimeter\n let rec delimSplitLast' delim before t =\n match (t, countDelim delim t) with\n | d :: after,1 when d = delim -> Ok (before,after)\n | x :: after,_ -> delimSplitLast' delim (x::before) after\n | [],_ -> Error (before,[])\n let searchFunc = if last then delimSplitLast' else delimSplitFirst'\n searchFunc delim [] t\n |> function\n | Error(before,a) -> Error(List.rev before,a)\n | Ok (before,a) -> Ok(List.rev before,a)\n\n/// Helper function to copy a list i times\nlet rec listCopies i lst =\n match i with\n | 1 -> lst\n | 0 -> []\n | x when x < 0 -> failwithf \"Negative argument: %A\" x\n | _ -> lst @ (listCopies (i-1) lst)\n\nlet unfoldTuple3 func (a,b,c) =\n func a b c\n\n// Take in two cell refs and return a list of all refs inbetween or None if invalid e.g. diagonal\nlet cellRange (p1,p2) = \n match (p1,p2) with\n | (RowCol(p1r,p1c),RowCol(p2r,p2c)) ->\n let genList a b = if a<b then [a..b] else [b..a]\n match p1r = p2r, p1c = p2c with\n | true,true -> Some [RowCol (p1r,p1c)]\n | true,false -> (List.map ((fun i -> (p1r,i)) >> RowCol) (genList p1c p2c)) |> Some\n | false,true -> (List.map ((fun i -> (i,p1c)) >> RowCol) (genList p1r p2r)) |> Some\n | false,false -> None\n\n// Quick parser to generate tokenise string one row at a time\nlet simpleLex txt = \n let (|RegexMatch|_|) r txt =\n let m = Regex.Match (txt,\"^\"+r)\n match m.Success with\n | true -> (m.Value, txt.Substring(m.Value.Length)) |> Some\n | false -> None\n let rec simpleLex' a txt =\n match txt with\n // Whitespace\n | RegexMatch \"[\\\\s]+\" (m,after) -> simpleLex' (WHITESPACE(m.Length)::a) after\n // Contents for expression evaluation\n | RegexMatch \"[0-9]+\" (m,after) -> simpleLex' (NUMBER(m)::a) after\n | RegexMatch \"\\\\^\" (_,after) -> simpleLex' (CARET::a) after\n | RegexMatch \"\\\\%\" (_,after) -> simpleLex' (PERCENT::a) after\n | RegexMatch \"\\\\*\" (_,after) -> simpleLex' (ASTERISK::a) after\n | RegexMatch \"\\\\/\" (_,after) -> simpleLex' (SLASH::a) after\n | RegexMatch \"\\\\+\" (_,after) -> simpleLex' (PLUS::a) after\n | RegexMatch \"\\\\-\" (_,after) -> simpleLex' (MINUS::a) after\n | RegexMatch \"\\\\(\" (_,after) -> simpleLex' (LBRA::a) after\n | RegexMatch \"\\\\)\" (_,after) -> simpleLex' (RBRA::a) after\n | RegexMatch \"\\\\[\" (_,after) -> simpleLex' (LSBRA::a) after\n | RegexMatch \"\\\\]\" (_,after) -> simpleLex' (RSBRA::a) after\n | RegexMatch \"\\\\=\" (_,after) -> simpleLex' (EQUAL::a) after\n | RegexMatch \"\\\\.\" (_,after) -> simpleLex' (DOT::a) after\n | RegexMatch \"\\\\,\" (_,after) -> simpleLex' (COMMA::a) after\n | RegexMatch \"\\\\{\" (_,after) -> simpleLex' (LCBRA::a) after\n | RegexMatch \"\\\\}\" (_,after) -> simpleLex' (RCBRA::a) after\n // Contents for table recognition\n | RegexMatch \"[a-zA-z]+[0-9]*( [a-zA-z]+[0-9]*)*\" (m,after) -> simpleLex' (LITERAL(m)::a) after\n | RegexMatch \"\\\\|\" (_,after) -> simpleLex' (PIPE::a) after\n | RegexMatch \"\\\\:\" (_,after) -> simpleLex' (COLON::a) after\n | RegexMatch \"\\\\;\" (_,after) -> simpleLex' (SEMICOLON::a) after\n | \"\" -> a\n | _ -> failwithf \"Unexpected character: %A\" txt\n simpleLex' [] txt |> List.rev\n\n// Experimental Lexr for tokenising from entire table string\n// let stringLex (txt:string)=\n// List.map simpleLex (Array.toList (txt.Split(\"\\n\")))\nlet lexY (x,y,z) = x,y|>simpleLex,z\nlet round (dp:int) (f:float) =\n System.Math.Round(f,dp)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/MarkalcShared.fs","module LexerShared\nopen System.Text.RegularExpressions\n\n// --------------------------------------------------\n// Helpers\n// --------------------------------------------------\n\n/// Take the first element of a tuple of size 3\nlet takeFirst (a, _, _) = a\n\n/// Match a regular expression Return Some (m,grps) where m is the match string,\n/// grps is the list of match groups (if any) return None on no match\nlet strRegexMatch (regex: string) (str: string) =\n let m = Regex(regex).Match(str)\n if m.Success\n then\n let mLst = [ for x in m.Groups -> x.Value ]\n Some (List.head mLst, List.tail mLst)\n else None\n\n/// Checks if a string starts with another string\nlet strStartsWith (value: string) (str: string) =\n str.StartsWith(value)\n\n/// Convert a single character to a string\nlet toString (c: char) =\n System.String.Concat [c]\n\n/// Replace a every occurence of one string in the string s by another\nlet strReplace (o: string) (n: string) (s: string) =\n s.Replace(o, n)\n\n// --------------------------------------------------\n// Shared\n// --------------------------------------------------\n\n/// Active Pattern to match a string with a regex pattern, returns the matched string\n/// together with the groups in a list and the rest of the string\nlet (|RegexMatch|_|) regex str =\n match strRegexMatch regex str with\n | None -> None\n | Some (m, grp) ->\n let lchar = String.length m\n Some (m, grp, str.[lchar..])\n\n/// Create a regular expression for a literal that matches everything except the\n/// characters defined in charList\nlet literalString charList =\n\n /// Escapes every special regex character in a string given to it\n let addEscape (c, _) =\n [\"\\\\\"; \".\"; \"^\"; \"$\"; \"*\"; \"+\"; \"-\"; \"?\"; \"(\"; \")\"; \"[\"; \"]\"; \"{\"; \"}\"; \"|\"; \"/\"]\n |> List.fold (fun st n -> strReplace n (\"\\\\\"+n) st) c\n\n charList\n |> List.map (addEscape >> (fun a -> a+\"|\"))\n |> List.fold (+) \"\"\n |> (fun c -> \"^.+?(?=\\\\s|\"+c+\"$)\")\n\n/// Tests if a string starts with any of the characters in charList,\n/// and returns the match after passing it through the retLastMatch\n/// function, that will be used in a fold operation with None as a starting\n/// value\nlet (|CharMatch|_|) retLastMatch a charList (str: string) =\n let testStartWith (c, t) =\n let ch = a + c\n strStartsWith ch str, ch, t\n List.map testStartWith charList\n |> List.fold retLastMatch None\n\n/// Checks if a string starts with a character defined in charList, and returns the DU value\n/// associated with it\nlet (|Character|_|) charList (str: string) =\n let retLastMatch i = function\n | true, c, t -> Some (t, str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\" charList str\n\n/// Checks if a string starts with an escaped char of any character in charList, and returns it\n/// by passing the text of the last matched value to a constructor 'tType'\nlet (|EscapedChar|_|) tType charList (str: string) =\n let retLastMatch i = function\n | true, (c: string), _ -> Some (tType c.[1..], str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\\\\\" charList str\n\n/// Match a single group with a regex\nlet (|GroupMatch|_|) str = function\n | RegexMatch str (m, [t], r) -> Some t\n | _ -> None\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/LexerShared.fs","module Main\nopen Types\nopen FMark\n\nlet processMarkdownString fileDir str =\n str\n |> Array.toList\n |> processString fileDir HTML\n\n\n\n// WEBPACK FOOTER //\n// src/FMarkFable/FMarkFable.fs","module FMark\n\nopen Types\n\nlet preLexParse dir = \n Preprocessor.preprocessListWithDir dir\n >> Lexer.lexList\n >> Parser.parse\n\nlet processString' dir formatFunc =\n preLexParse dir >> Result.map formatFunc\n\nlet processString dir format =\n match format with\n | HTML -> processString' dir (fun x -> HTMLGen.genHTML (dir,x))\n | Markdown -> processString' dir MarkdownGen.mdBody\n\n\n\n// WEBPACK FOOTER //\n// src/Common/FMark.fs","module Parser\nopen Types\nopen Shared\nopen ParserHelperFuncs\nopen TOCite\nopen Logger\n\n// helper functions\n\n\n/// parse inline code\nlet rec parseCode toks =\n match toks with\n | BACKTICK::_ -> (\"\", toks.[1..]) |> Ok\n | tok::toks' ->\n parseCode toks'\n |> Result.map (fun (str, tks) ->\n mapTok tok + str, tks )\n | e -> globLog.Warn None (sprintf \"%A\" e)\n (\"\\\\`\", xOnwards 1 toks) |> Ok\n\n\n/// parse a paragraph which counts for contents in `<p>`\n/// parseParagraph eats 2>= ENDLINEs\nlet parseParagraph ftLst toks =\n let parseParagraph' lines tokLine = (parseInLineElements2 ftLst tokLine) :: lines\n toks\n |> trimENDLINEs\n |> cutIntoLines\n |> List.fold parseParagraph' []\n |> List.rev\n |> Paragraph\n\n/// match table start sequence\n/// return table rows, terminates when [] or two continuous ENDLINEs\n/// start sequence:\n/// something in first line, at least one '|' and three '-' in second line\nlet (|MatchTable|_|) toks =\n // transform table rows into Table or Pretable depending if valid table.\n let tableTransform (rows,rtks) =\n rows |> Markalc.parseEvaluateTable\n |> function\n | Ok(rows) -> \n let toPCellList (cell:Cell) = \n let toks,head,align = (cell.GetParams) \n let pCellLine = toks |> parseInLineElements\n CellLine(pCellLine,head,align)\n let toPRow row = \n let clst, rHead = row |> function | Cells(clst',rHead') -> clst',rHead'\n PCells(List.map toPCellList clst, rHead)// Create PRows\n // For each row, unpack into Cell list\n (List.map toPRow rows |> Table,rtks) |> Some\n | Error(_)-> None\n match toks with\n | MatchTableHead rtks ->\n match rtks with\n | MatchTableFormater _ -> cutTableRows toks |> tableTransform\n | _ -> None\n | _ -> None\n\n/// strip header to a minimal string for id purposes\nlet headerIDGen id hd =\n let hdLine = hd.HeaderName\n let rec headerIDGen' hdLine =\n match hdLine with\n | FrmtedString (Literal a)::tl -> a + headerIDGen' tl\n | FrmtedString (Emphasis a)::tl -> (headerIDGen' a) + (headerIDGen' tl)\n | _ -> \"\"\n (headerIDGen' hdLine |> replaceChars \"\\ \" \"_\") + string id\n/// parse list\nlet parseList toks =\n // call itself if list item has a higher level\n // return if list item has lower level\n let ignoreError result = match result with | Ok x -> x | Error x -> x\n let takeAwayWhiteSpaces toks =\n match toks with\n | WHITESPACE n:: rtks -> (n/2, rtks)\n | _ -> (0, toks)\n let excludeSelfSkip x = match x with | None -> None | Some 1 -> None | Some n -> Some (n-1)\n /// return list type, list level, and list content\n let (|GetLIContent|_|) toks =\n // return list level and remaining toks\n let (level, retoks) = takeAwayWhiteSpaces toks\n match retoks with\n | ASTERISK:: WHITESPACE _:: _ | MINUS:: WHITESPACE _:: _ -> // unordered list\n (UL, level, xOnwards 2 retoks) |> Some\n | NUMBER no:: DOT:: WHITESPACE _:: _ -> // ordered list\n (OL (no|>int), level, xOnwards 3 retoks) |> Some\n | _ -> None\n\n let getLIContent toks =\n match toks with\n | GetLIContent result -> result |> Ok\n | _ ->\n let (level, retoks) = takeAwayWhiteSpaces toks\n (UL, level, retoks) |> Error\n\n /// get all list items in current item level and sub lists\n let rec getCurrentList level listItems lines =\n match lines with\n | line:: reLines ->\n match line |> getLIContent |> ignoreError with\n | (_, liLevel, _) when liLevel >= level -> // list item and sub list item\n getCurrentList level (line::listItems) reLines\n | _ -> listItems |> List.rev\n | [] -> listItems |> List.rev\n\n let rec parseList' level lines =\n let (listType, depth, _) =\n match List.head lines |> getLIContent with\n | Ok result -> result\n | Error result ->\n globLog.Warn (Some 100) \"invalid list item, line does not begin with [*;-;number]\\ndefault to UL\"\n result\n let listFolder (currentLv, listItems, (skipNo: int option), currentLine) line =\n match skipNo with\n | None ->\n match line |> getLIContent |> ignoreError with\n | (_, level, content) when level=currentLv ->\n let tLine = content |> parseInLineElements\n (currentLv, StringItem(tLine)::listItems, None, currentLine+1)\n | (_, level, _) when level>currentLv ->\n let (listItem, skip) =\n xOnwards currentLine lines\n |> getCurrentList (currentLv+1) []\n |> parseList' (currentLv+1)\n (currentLv, NestedList(listItem)::listItems, skip |> excludeSelfSkip, currentLine+1)\n | _ -> failwith \"list item level < current level, not possible\"\n | Some skip ->\n match skip with\n | 1 -> (currentLv, listItems, None, currentLine+1)\n | n when n>1 -> (currentLv, listItems, Some (n-1), currentLine+1)\n | _ -> failwith \"negative or zero skip number, not possible\"\n List.fold listFolder (level, [], None, 0) lines\n |> (fun (_, lis, _, _) ->\n let doSkip =\n match List.length lines with\n | 0 -> None\n | n -> Some n\n {ListType=listType; ListItem=lis |> List.rev; Depth=depth}, doSkip)\n toks\n |> trimENDLINEs\n |> cutIntoLines\n |> parseList' 0\n |> fst\n\n\n/// Match TOC token\n/// match \"%%TOC\"\nlet (|MatchTOC|_|) hdList toks =\n let createLinks (hdList:THeader list) =\n let makeRelLink i (h:THeader) =\n let linkText = Line(h.HeaderName)\n let linkID = hdList.[i].RefID\n {h with HeaderName = [Link (linkText, sprintf \"#%s\" linkID)]}\n //{h with HeaderName = Link((h.HeaderName), sprintf \"#HEADER%i\" i)} // Link of HyperText: TFrmtedString * URL: string\n let linksLst = List.mapi makeRelLink hdList\n {HeaderLst=linksLst}\n let filterHeadersByDepth depthOption hdList =\n match depthOption with\n | Some d ->\n let headerFilter hd =\n hd.Level <= d\n List.filter headerFilter hdList\n | None -> hdList\n\n let filterHeadersByName hdExListOption hdList =\n match hdExListOption with\n | Some hdExList ->\n let filterOutHeaders hdList hdToExclude =\n let hdTLine = hdToExclude |> parseInLineElements\n let headerFilter hd =\n hd.HeaderName <> hdTLine\n List.filter headerFilter hdList\n List.fold filterOutHeaders hdList hdExList\n | None -> hdList\n\n let splitToksAt sep toks : Token list list =\n let rec split (toksList, toks) =\n match toks with\n | [] ->\n // delete empty list\n match toksList with\n | []::retoksList -> retoksList\n | _ -> toksList\n |> List.rev\n | sym::rtks when sym=sep ->\n (\n []::toksList, rtks )\n |> split\n | tok::rtks ->\n (\n (tok::(List.head toksList))::(List.tail toksList), rtks )\n |> split\n split ([[]], toks)\n |> List.map List.rev\n\n\n let trimWhitespaces toks =\n let rec trimer toks =\n match toks with\n | WHITESPACE _::retoks -> trimer retoks\n | _ -> toks\n toks\n |> trimer\n |> List.rev\n |> trimer\n |> List.rev\n\n /// (maxDepth option, hdExList option)\n let parseTOCparameters toks =\n let parmFields = splitToksAt COMMA toks\n let (|MatchRSBRA|_|) toks =\n let rec matcher (pToks, toks) =\n match toks with\n | [] -> None\n | RSBRA::_ -> pToks |> List.rev |> Some\n | tk::rst -> (tk::pToks, rst) |> matcher\n matcher ([], toks)\n let parmsFolder (maxDepth, hdExList) parm =\n match parm |> trimWhitespaces with\n | LITERAL\"depth\"::EQUAL::NUMBER noStr::_ ->\n noStr |> int |> Some, hdExList\n | LITERAL\"excludes\"::EQUAL::LSBRA::rst ->\n let newHdExList =\n match rst with\n | MatchRSBRA exList ->\n exList\n |> splitToksAt SEMICOLON\n |> List.map (fun x -> x |> trimWhitespaces)\n |> Some\n | _ -> None\n maxDepth, newHdExList\n | _ -> maxDepth, hdExList\n // state: (maxDepth, hdExList)\n List.fold parmsFolder (None, None) parmFields\n\n\n\n match toks with\n //| PERCENT::PERCENT::LITERAL(\"TOC\")::// Options\n // | PERCENT::PERCENT::LITERAL(\"TOC\")::WHITESPACE _::LITERAL\"depth\"::EQUAL::NUMBER noStr::rst ->\n // // filter out headers with level > depth\n // // ignore the rest tokens in this line\n // let depth = noStr|>int\n // (\n // hdList\n // |>filterHeaders depth\n // |> createLinks\n // ,\n // rst|>cutFirstLine|>snd\n // ) |> Some\n | PERCENT::PERCENT::LITERAL(\"TOC\")::rst ->\n let (tocLine, retoks) = rst|>cutFirstLine\n let (maxDepth, hdExList) = parseTOCparameters tocLine\n (\n hdList\n |> filterHeadersByDepth maxDepth\n |> filterHeadersByName hdExList\n |> createLinks\n ,retoks)\n |> Some\n | _ -> None\n\n/// parse supported `ParsedObj`s, turn them into a list\n/// assuming each item start at the beginning of the line\n/// the returned token head does not have 2>= ENDLINE\nlet rec parseItem (hdLst: THeader list) (ftLst: ParsedObj list) (rawToks: Token list) : Result<ParsedObj * Token list, string> =\n let toks = deleteLeadingENDLINEs rawToks\n match toks with\n | MatchTOC hdLst (toc,rtks) -> (ContentTable toc,rtks) |> Ok\n | CODEBLOCK (content, lang) :: toks' -> (CodeBlock(content, lang), toks') |> Ok\n | MatchTable (rows, rtks) -> (rows, rtks) |> Ok\n | MatchQuote (content, rtks) ->\n (parseInLineElements2 ftLst content |> Quote , rtks)\n |> Ok\n | HEADER i :: rtks -> (Header (hdLst.[i]), rtks) |> Ok\n | PickoutList (list, retoks) -> (parseList list |> List, retoks) |> Ok\n | PickoutParagraph (par, retoks) ->\n (parseParagraph ftLst par, retoks) |> Ok\n | _ -> sprintf \"Parse item did not match: %A\" toks |> removeChars [\"[\";\"]\"] |> Error\n\nand parseItemList hdLst ftLst toks : Result<ParsedObj list * option<Token list>, string> =\n match (List.isEmpty toks, not (List.exists (function | WHITESPACE(_) | ENDLINE -> false | _ -> true) toks)) with\n | (false,false) -> \n parseItem hdLst ftLst toks\n |> Result.bind (fun (pobj, re) ->\n match List.isEmpty re with\n | true -> ([pobj], None) |> Ok\n | false ->\n parseItemList hdLst ftLst re\n |> Result.map(fun (pobjs, re') ->\n pobj::pobjs, re' )\n )\n | _ -> ([], None) |> Ok // if tokens are only whitespace or endlines, return no parsedObjs\n\n\n/// top-level Parser, which the user should use\n/// `parse` will either return result monad with either `ParsedObj list` or a string of Error message.\n/// Unparsed Tokens will be in the returned in the Error message.\nlet parse toks =\n // insert two endlines at the beginning to make header in the first line work\n let (hds, refs, rtoks) = preParser (ENDLINE::ENDLINE::toks)\n parseItemList hds refs rtoks\n |> Result.bind (fun (pobjs, retoks) ->\n match retoks with\n | None -> pobjs |> Ok\n | Some retoks -> sprintf \"Some unparsed tokens: %A\" retoks |> Error)\n |> Result.map (fun pObjs -> List.append pObjs refs)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/Parser.fs","module Markalc\n\nopen Types\nopen Shared\nopen MarkalcShared\nopen Expression\nopen Logger\n\ntype MapContents =\n | MapTok of Cell\n | MapExp of TExpr * Cell\n\n// ################### HELPER FUNCTIONS ###################\n/// Return everything (before,after) the first PIPE token\nlet pipeSplit toks = \n delimSplit false PIPE toks\n// Turn float into token\nlet toToken x = NUMBER(x|>string)\n/// Transform Result<Ok,Error> list into Result<Ok list, Error>\nlet joinErrorList lst =\n // Filter the list\n let filt x = match x with\n | Error(_) -> true\n | Ok(_) -> false\n let unpackOks = function\n | Ok(x') -> x'\n | Error(y) -> sprintf \"After filtering, there were still Error monads in the list %A.\" y\n |> logPass (Some 27) globLog.Fatal\n |> failwith\n let combineErrors s x = match x with\n | Ok(_) -> s // This should never be matched in this usage.\n | Error(x') -> sprintf \"%A %A\" x' s |> Error\n match List.filter filt lst with\n | [] -> List.map unpackOks lst |> Ok // If the list is empty there are no errors\n | x -> List.fold combineErrors (Error \"\") x\n// Lift first argument to result world\nlet liftFirstArg func arg1 arg2 =\n match arg1 with\n | Ok(x) -> func x arg2 |> Ok\n | Error(x) -> Error x\n\n// ####################### CONSTRUCT CELL HELPERS ###################\nlet makeCellU header tokens = (tokens,header)\nlet defaultCellU = makeCellU false\nlet headCellU = makeCellU true\nlet alignCell alignment cellU = Contents (fst cellU, snd cellU, alignment)\n\n// ###################### PARSE TABLE ROWS #####################\n// Parse a line into a list of cells\nlet parsePipesD debug constructCell (row:Token list) =\n let parsePipesDebug line a b =\n if debug then\n sprintf \"Markalc/Parse PIPES:\\nBefore:%A\\nAfter:%A$\\n\" a b |> globLog.Debug (Some line)\n let rec parsePipes' a row =\n match pipeSplit row with\n | Ok([],[]) -> (constructCell []):: a\n | Ok([],after) -> parsePipesDebug 55 [] after \n parsePipes' ((constructCell [])::a) after // If before is empty and after is not, empty cell\n | Ok(before,[]) -> parsePipesDebug 57 before [] \n (constructCell before) :: a // If after is empty, add before and stop\n | Ok(before,after) -> parsePipesDebug 59 before after\n parsePipes' ((constructCell before) :: a) after\n | Error(_) -> if List.isEmpty row then a else (constructCell row)::a // If there is content, add it\n parsePipes' [] row\nlet parsePipes constructCell row = parsePipesD false constructCell row /// TOGGLE DEBUG MODE\n/// Parse an ordinary row\nlet parseRow constructCell row =\n let parseRow' = parsePipes constructCell\n // If its the first pipe and there's nothing before it, remove it\n match row with\n | PIPE :: row' -> parseRow' row'\n | row' -> parseRow' row'\n // If the list only contains one item, add an empty cell on the end (empty cells now added later on...)\n |> (fun x -> if List.length x = 1 then (constructCell[])::x else x) \n |> List.rev\nlet parseDefaultRow = parseRow defaultCellU\n/// Parse the second row of the table which defines number of columns and alignment\nlet parseAlignRow (row:Token list) = \n let parseAlignDebug line s =\n sprintf \"Markalc/parseAlignRow\\n%s$\" s |> logPass (Some line) globLog.Debug\n let getAlignment (toks: Token list) =\n let filt = function | COLON -> true | MINUS -> true | _ -> false \n // Check it has at least three dashes\n match (countDelim MINUS toks < 3, List.filter filt toks |> List.length <> List.length toks) with\n | (true,false) -> \"Less than 3 dashes for table format\" |> parseAlignDebug 83 |> Error \n | (false,true) -> sprintf \"Invalid characters in table format, expecting only : or - \\n%A\\n%A\" toks (List.filter filt toks) \n |> parseAlignDebug 84\n |> Error\n | (true,true) -> \"Less than 3 dashes for table format and invalid characters\" |> parseAlignDebug 87 |> Error \n | (false,false) ->\n match (List.rev toks, countDelim COLON toks) with\n | (COLON :: _, 2) when List.head toks = COLON -> Centre |> Ok\n | (COLON :: _, 1) -> Right |> Ok\n | (_,1) when List.head toks = COLON -> Left |> Ok\n | (_,0) -> NoAlign |> Ok\n | (_,x) -> sprintf \"\\':\\'s in wrong position %A, %A\" toks x |> parseAlignDebug 94 |> Error\n let parseAlign' = parsePipes getAlignment\n // Ignore the first pipe if there is nothing before it\n match whitespaceFilter row with\n | PIPE :: row' -> parseAlign' row'\n | row' -> parseAlign' row'\n |> List.rev\n |> joinErrorList\n\n// ################ BUSINESS END ###############\n/// Function which takes a parsed row (list of unalignedcells) and the list of alignments, and will create Cells\nlet alignCells' alignList (row:(Token list * bool) list * bool) =\n let cells = fst row\n let head = snd row\n let lengths = (List.length alignList, List.length cells)\n match (fst lengths - snd lengths) with\n | x when x > 0 -> cells @ (List.replicate x ([], head)) // If alignList longer than cells, fill in with blank cells\n | x when x < 0 -> cells.[0..((fst lengths)-1)]// If cells longer than alignList, ignore the extra cells\n | _ -> cells\n |> (List.zip alignList)\n |> List.map (fun (a,uc) -> alignCell a uc),head\n\nlet alignCells = liftFirstArg alignCells'\n/// Separate list of tokens into cells with alignment and header/not-header\nlet transformTable (table:Token list list) =\n // Deal with first two rows of format: header1 | header2 | header3\n // Second row tells us how many columns and correct alignment\n let alignments = table.[1] |> parseAlignRow\n // Specify header value true/false and make Row type from cellList\n let makeRow head cells = (cells,head)\n\n let header = List.head table \n |> parseRow headCellU \n |> makeRow true \n |> alignCells alignments \n |> (Result.map Cells)\n\n // Fold parse normal row for the rest of the table\n let parseAlignPrepend s x = (parseRow defaultCellU x \n |> makeRow false \n |> alignCells alignments \n |> (Result.map Cells)) :: s\n List.fold parseAlignPrepend [header] (xOnwards 2 table)\n |> List.rev\n |> joinErrorList\n\n// Try to evaluate expression, set maxRefs to number of CellRefs before assuming circular reference\nlet tryEval' maxRefs map e =\n // Evaluate expression\n let rec evalExp (e:TExpr) = \n let rec evalExp' r map (e:Expr) =\n // Evaluate cell reference\n let evalCellRef ref = \n match Map.tryFind ref map with\n | Some(MapExp(e2,_)) -> evalExp' (r+1) map (e2|>function|DPExp(e2',_)->e2') // Evaluating cell references\n | _ -> nan // invalid reference\n // Apply f over list of cell references between two cells\n let rangeFunc f x y = match cellRange (x,y) with\n | Some(l) -> f l\n | None -> nan\n if r > maxRefs then nan else // Return nan if too many recursive calls, probably circular reference\n match e with\n | BinExp(f,x,y) -> f (evalExp' r map x) (evalExp' r map y)\n | Op (Float(x)) -> x\n | Op (CellRef(ref)) -> evalCellRef ref\n | CommaFunction(\"SUM\",l) -> List.sumBy (evalExp' r map) l\n | CommaFunction(\"AVG\",l) -> List.averageBy (evalExp' r map) l\n | CommaFunction(\"MIN\",l) -> List.min (List.map (evalExp' r map) l)\n | CommaFunction(\"MAX\",l) -> List.max (List.map(evalExp' r map) l)\n | _ -> 11.0\n e |> function\n | DPExp(exp,dp) when dp < 0 -> evalExp' 0 map exp\n | DPExp(exp,dp) -> evalExp' 0 map exp |> round dp\n \n evalExp e\nlet tryEval = tryEval' 1000\n/// Evaluate all expressions inside a cell list list, leave non-expression cells as they are\n/// No invalid expressions should be matched.\nlet evaluateRowList (rowList:Row list) = \n // Infer Row header value from (List.head cellList) and create Row\n // cellList must not be empty, which is ensured by earlier code\n let inferRow (cellList:Cell list) = Cells(cellList, (List.head cellList).GetHead)\n // Iterate over table, snd s is current column number.\n let innerFold row (s:(CellReference*MapContents) list * uint32) (cell:Cell) =\n let cCol = snd s // current column\n let cCoord,cMap = RowCol(row,cCol),fst s // current coordinate and map\n match parseExpression (cell.GetToks) with\n | Ok(ex) -> (cCoord,MapExp (ex,cell)) :: cMap, cCol + 1u // Expression found, put it into the map!\n | Error(_) -> (cCoord,MapTok (cell)) :: cMap, cCol + 1u // No expression, ignore\n // fst s is current row, pass it through to inner fold\n let outerFold (s:uint32* ((CellReference*MapContents) list * uint32)) cells =\n let cRow,cMap = fst s, fst (snd s) // current row\n (cRow + 1u, List.fold (innerFold (cRow)) (cMap,0u) cells)\n let cellList = List.collect (function | Cells(l,_) -> [l]) rowList\n let rowLength = List.length (List.head cellList)\n List.fold outerFold (0u,([],0u)) cellList \n |> function \n | (_,(expRefList,_)) -> \n let expList = List.rev expRefList\n let map = Map.ofList expList\n // Iterate over list, evaluate expression for each MapExp then convert into Token list\n // convert MapContents from MapExp to MapTok (?)\n let expListEval = function\n | MapTok(c) -> c\n | MapExp(e,c) -> [tryEval map e |> toToken] |> (c.ReplaceTokens)\n List.map (snd >> expListEval) expList\n |> (Seq.chunkBySize rowLength) \n |> Seq.toList \n |> List.map (Array.toList>>inferRow)\n\n/// Top level function\n/// Parse tokens into cell list list with all Expressions evaluated.\n/// Return: Result(OK(Cell list list), Error(toks))\nlet parseEvaluateTable (toks:Token list list) = \n // Transform Token list list into Cell list list\n let endlFilt = function | ENDLINE -> false | _ -> true\n transformTable (List.map (List.filter endlFilt) toks)\n |> function\n | Error(e) -> sprintf \"Markalc/top\\nNot a table because of errors: %s\\nReturning unchanged tokens.$\" e |> globLog.Debug (Some 214)\n toks |> Error // If there are any errors just return the unchanged Token list list\n | Ok(x) -> evaluateRowList x |> Ok // Else return Ok and Cell list list\n\nlet lexParseEvaluate toks = \n List.map simpleLex toks\n |> parseEvaluateTable\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Markalc.fs","/// This module should parse tokens into an expression\nmodule Expression\n\nopen MarkalcShared\nopen Types\nopen Logger\n\n(* SUPPORTED OPERATIONS:\nBinaryExpressions (in order of precedence): \n % - Modulo\n ^ - To the power\n * - Multiply\n / - Divide\n + - Add\n - - Subtract\n*)\n// HELPER FUNCTIONS\nlet makeFloat i d = \n sprintf \"%A.%A\" i d |> float\nlet makeInt (i:string) =\n i |> int\nlet makeCellReference (row:string,col:string) =\n RowCol(row|>uint32,col|>uint32)\n// [row=3,col=2]\n// ]2=col,3=row[\n// [row=3,col=2] [3,42]\n/// EXPRESSION PARSER\nlet parseExp toks = \n let rec (|Expression|_|) (toks:Token list) =\n let (|NumberPat|_|) = function\n | NUMBER(i) :: DOT :: NUMBER(d) :: after -> (makeFloat i d, after) |> Some\n | NUMBER(i) :: after -> (makeInt i |> float, after) |> Some\n | _ -> None\n let rec (|CellRefPat|_|) = function\n | RSBRA :: NUMBER(col) :: COMMA :: NUMBER(row) :: LSBRA :: after \n -> ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: COMMA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> globLog.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: COMMA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> globLog.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | _ -> None\n let rec (|ExpressionList|_|) = function\n | Expression(exp,COMMA::ExpressionList(exps,after)) -> (exp::exps,after) |> Some\n | CellRefPat(x,COLON::CellRefPat(y,after)) -> cellRange (x,y) |> function\n | Some lst -> (List.map (CellRef >> Op) lst,after) |> Some\n | _ -> None\n | Expression(exp,after) -> ([exp],after) |> Some\n | _ -> None\n // DEFINE FUNCTIONS\n let funcConstruct funcname = function\n | RCBRA :: ExpressionList (lst,LCBRA::LITERAL(funcname)::after) ->\n (CommaFunction(funcname,lst),after) |> Some\n | _ -> None\n let (|Sum|_|) = funcConstruct \"SUM\"\n let (|Avg|_|) = funcConstruct \"AVG\"\n let (|Min|_|) = funcConstruct \"MIN\"\n let (|Max|_|) = funcConstruct \"MAX\"\n \n let (|FunctionPat|_|) = function\n | Sum (x,after) -> (x,after) |> Some\n | Avg (x,after) -> (x,after) |> Some\n | Min (x,after) -> (x,after) |> Some\n | Max (x,after) -> (x,after) |> Some\n | _ -> None\n\n let (|BasePat|_|) = function\n | NumberPat (x,after) -> (x |> Float |> Op,after) |> Some\n | FunctionPat (x,after) -> (x,after) |> Some\n // Parsing in reverse so right and left brackets swapped\n | CellRefPat (x,after) -> (x |> CellRef |> Op,after) |> Some\n | RBRA :: Expression (x,LBRA::after) -> (x,after) |> Some\n | _ -> None\n // Active pattern to construct precedence-aware active patterns; descends recursively until highest precedence match.\n // Quirk: Returns right-associative results, so parsing in reverse to get left-associativity.\n let rec (|HOFPat|_|) (|PrevPat|_|) op (t:Token) = function\n | PrevPat (exp1, after) -> \n match after with\n | x :: (HOFPat (|PrevPat|_|) op t (exp2, after')) when x = t -> \n (BinExp (op, exp2, exp1), after') |> Some // exp1 and exp2 swapped because parsing in reverse\n | _ -> (exp1, after) |> Some\n | _ -> None\n // Build precendence and normal binary operators\n let patPrecedence = [(%),PERCENT;( **),CARET;(*),ASTERISK;(/),SLASH;(-),MINUS;( + ),PLUS]\n let constructPatterns s x = ((|HOFPat|_|) (List.head s) (fst x) (snd x))::s\n let patterns = List.fold constructPatterns [(|BasePat|_|)] patPrecedence\n let (|FirstPat|_|) = List.head patterns\n\n // Unary operators, only negative number so far. Doesn't work.\n // let (|UnaryOperators|_|) = function\n // | FirstPat (exp1, after) ->\n // match after with\n // // Negative Numbers\n // | NumberPat(x,MINUS::after') -> (-x |> Float |> Op,after') |> Some\n // // ... Could have more patterns here.\n // | _ -> (exp1,after) |> Some\n // | _ -> None\n\n match toks with\n | FirstPat x -> Some x\n | _ -> None\n // Add other options to cells\n //let (|Option|_|) toks =\n // match toks with\n // | NUMBER(i)::COMMA::after -> // Number of decimal places\n // | NUMBER(i)::EQUAL::LITERAL(\"dp\")::COMMA::after -> // Number of decimal places\n\n match List.rev toks with \n | NUMBER(i)::COMMA::rest -> match rest with\n | Expression (exp,[]) -> (exp,i|>int) |> DPExp |> Ok\n | _ -> sprintf \"Not valid expression %A\" toks |> Error\n | Expression (exp,[]) -> (exp,-1) |> DPExp |> Ok \n | _ -> sprintf \"Not valid expression %A\" toks |> Error\n\nlet parseExpression toks = \n match toks with\n | EQUAL :: tail -> \n whitespaceFilter tail |> parseExp |> function\n | Error(e) -> Error toks\n | Ok(x) -> Ok x\n | toks -> Error toks\n\n// ################## TEST FUNCTIONS ####################\n// Recursively evaluate expression AST. CellRef will need access to whole table, this is used to test everything else\nlet evalExpTest (e:TExpr) =\n let rec evalExpTest' (e:Expr) = \n match e with\n | BinExp(f,x,y) -> f (evalExpTest'(x)) (evalExpTest'(y))\n | Op (Float(x)) -> x\n | _ -> 13.0\n match e with\n | DPExp(exp,dp) when dp < 0 -> evalExpTest' exp\n | DPExp(exp,dp) -> evalExpTest' exp |> round dp\n// Test evaluation without table\nlet parseExpTest (toks:Token list) =\n whitespaceFilter toks // Remove whitespace\n |> parseExp\n |> function\n | Error(e) -> printfn \"Error parsing expression: %A\" e\n Error toks \n | Ok(x) -> evalExpTest x |> Ok\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Expression.fs","// TODO does this perfectly match the .NET behavior ?\nexport function tryParse(s, radix, initial) {\n if (s != null && /\\S/.test(s)) {\n if (radix === 10) {\n const v = +s;\n if (!Number.isNaN(v)) {\n return [true, v];\n }\n }\n }\n return [false, initial != null ? initial : 0];\n}\nexport function parse(s, radix = 10) {\n const a = tryParse(s, radix, 0);\n if (a[0]) {\n return a[1];\n }\n else {\n // TODO FormatException ?\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Markalc/Expression.fs","module TOCite\nopen Types\nopen Shared\nopen RefParse\nopen ParserHelperFuncs\n\n// --------------------------------------------------------------------------------\nlet mountedInLineParser tokLst =\n //only simple footer in header\n let rec mountedInLineParser' toParse tLst =\n match tLst with\n | FOOTNOTE i::tl ->\n let s = string i\n parseInLineElements toParse :: [InlineFootnote (Literal s, \"footnote-\"+s)]\n :: mountedInLineParser' [] tl\n | CITATION _::tl -> mountedInLineParser' toParse tl\n | a::tl -> mountedInLineParser' (a::toParse) tl\n | [] -> [parseInLineElements toParse]\n tokLst\n |> List.rev\n |> mountedInLineParser' []\n |> List.rev\n |> List.reduce List.append\n\n/// strip header to a minimal string for id purposes\nlet headerIDGen id hdLine =\n let rec headerIDGen' hdLine =\n match hdLine with\n | FrmtedString (Literal a)::tl -> a + headerIDGen' tl\n | FrmtedString (Emphasis a)::tl -> (headerIDGen' a) + (headerIDGen' tl)\n | _ -> \"\"\n (headerIDGen' hdLine |> replaceChars \"\\ \" \"_\") + string id\n\nlet rec tocParse tocLst depth index : THeader list * Token list =\n // Detect hashes with whitespace after it\n // printf \"tocParse %A\\n%A\\n\" depth tocLst\n\n // rebuild hash if no whitespace after\n let rec fakehash dep =\n match dep with\n | 0 -> [ENDLINE;ENDLINE]\n | _ -> HASH :: fakehash (dep-1)\n\n match tocLst with\n | ENDLINE::ENDLINE::HASH::tl -> tocParse tl 1 index\n | HASH::tl when depth > 0 -> tocParse tl (depth+1) index\n | WHITESPACE _ ::tl when depth > 0 ->\n let ind = tl |> List.tryFindIndex (fun x -> x = ENDLINE)\n //split header from rest of tokens by finding ENDLINE\n match ind with\n | Some i ->\n let (h,t) = List.splitAt i tl\n let hName = mountedInLineParser h\n tocParse t 0 (index+1)\n |> fun (x,y) -> {HeaderName = hName; Level = depth; RefID = (headerIDGen index hName)}::x, ENDLINE::ENDLINE::(HEADER index)::y\n | None ->\n let hName = mountedInLineParser tl\n [{HeaderName = hName; Level = depth; RefID = (headerIDGen index hName)}], [ENDLINE;ENDLINE;HEADER index]\n // hash without whitespace, need to rebuild hash\n | a::tl when depth > 0 ->\n tocParse tl 0 index\n |> fun (x,y) -> x, List.append (fakehash depth |> List.rev) (a::y)\n | a::tl -> \n tocParse tl 0 index\n |> fun (x,y) -> x, a::y\n | [] -> [], []\n\nlet tocGen' tokenLst =\n tocParse tokenLst 0 0\n\n// call this when ParsedObj wanted\nlet tocGen tLst =\n {HeaderLst = tocGen' tLst |> fun (x,_)->x}\n\n// --------------------------------------------------------------------------------\n// /parse footnotes with parseInLineElements\nlet citeParseIn tocLst =\n let rec citeParseIn' toParse tail =\n match tail with\n | ENDLINE::WHITESPACE a::tl when a >= 4 -> citeParseIn' toParse tl\n | ENDLINE::tl -> toParse,tl\n | a::tl -> citeParseIn' (a::toParse) tl\n | [] -> toParse,[]\n citeParseIn' [] tocLst\n |> fun (x,y) -> x |> List.rev |> parseInLineElements, y\n\n/// main citation parser\nlet rec citeParse' style tocLst :ParsedObj list*Token list =\n let recFitFt (a,b) c =\n citeParse' style b\n |> fun (x,y) -> Footnote (c,a)::x, y\n let recFitRef (a,b,c) d =\n citeParse' style c\n |> fun (x,y) -> Citation (d,a,b)::x, y \n match tocLst with\n | LSBRA::CARET::NUMBER key::RSBRA::tl ->\n match tl with\n | COMMA::tail -> recFitFt (citeParseIn tail) (int key)\n | tail ->\n citeParse' style tail\n |> fun (x,y) -> x, FOOTNOTE (int key)::y\n | LSBRA::CARET::LITERAL citkey::RSBRA::tl ->\n match tl with\n | COMMA::tail -> recFitRef (refParse style tail) citkey\n | tail ->\n citeParse' style tail\n |> fun (x,y) -> x, CITATION citkey::y\n | t::tl ->\n citeParse' style tl\n |> fun (x,y) -> x, t::y\n | [] -> [], []\n\nlet styleParse rLst tocLst =\n let rec styleParse' rLst tocLst =\n let stylify str =\n match str with\n | \"Harvard\" -> Some Harvard\n | \"Chicago\" -> Some Chicago\n | \"IEEE\" -> Some IEEE\n | _ -> None // use default\n match tocLst with\n | ENDLINE::PERCENT::PERCENT::LITERAL \"RefStyle\"::AgnoEqual tail ->\n match tail with\n | LITERAL lit::tl -> stylify lit, List.append (List.rev rLst) tl\n | _ -> styleParse' (tocLst.Head::rLst) tocLst.Tail\n | a::tl -> styleParse' (a::rLst) tl\n | [] -> None, rLst\n styleParse' rLst tocLst\n\n//type change and sorting\n// might change now that there are string IDs\nlet citeGen' tLst =\n let style,tl = styleParse [] tLst\n let ftLst,tLst =\n match style with\n | Some s -> citeParse' s tl\n | None -> citeParse' Harvard tLst // use harvard as default style\n let sortFt ft1 ft2 =\n match ft1,ft2 with\n | Footnote (i,_), Footnote (j,_) -> i-j\n | Citation _, Footnote _ -> 1\n | Footnote _, Citation _ -> -1\n | _, _ -> 0\n List.sortWith sortFt ftLst, tLst\n\nlet preParser tLst =\n citeGen' tLst\n |> fun (x,y) -> x, tocGen' y\n |> fun (x,(y,z)) -> y, x, z\n\n\n// WEBPACK FOOTER //\n// src/Common/TOCite/TOCite.fs","module RefParse\nopen Shared\nopen ParserHelperFuncs\nopen Types\n\nlet monthConv m =\n match m with\n | 1 -> Some \"January\"\n | 2 -> Some \"February\"\n | 3 -> Some \"March\"\n | 4 -> Some \"April\"\n | 5 -> Some \"May\"\n | 6 -> Some \"June\"\n | 7 -> Some \"July\"\n | 8 -> Some \"August\"\n | 9 -> Some \"September\"\n | 10 -> Some \"October\"\n | 11 -> Some \"November\"\n | 12 -> Some \"December\"\n | _ -> None\n\nlet ordinalConv d =\n let (|OrdinalDates|_|) = function\n | d when d > 31 || d < 1 -> None\n | 1 | 21 | 31 -> Some \"st\"\n | 2 | 22 -> Some \"nd\"\n | 3 | 23 -> Some \"rd\"\n | _ -> Some \"th\"\n match d with\n | OrdinalDates s -> Some (string d + s)\n | _ -> None\n\nlet yerGen style year =\n match year with\n | None -> []\n | Some a -> \n match style with\n | Harvard -> [\"(\" + string a + \") \"|> Literal |> FrmtedString]\n | Chicago -> [string a + \". \" |> Literal |> FrmtedString]\n | IEEE -> []\n\nlet urlGen style url =\n match url with\n | None -> []\n | Some a ->\n match style with\n | Harvard -> \n [FrmtedString (Literal \"Available from: \"); Link(Literal a,a);\n FrmtedString (Literal \" \")]\n | Chicago -> [Link(Literal a,a)]\n | IEEE -> []\n\nlet plnGen tokLst =\n let rec plainGen' tLst =\n match tLst with\n | LITERAL lit::tl -> lit::plainGen' tl\n | WHITESPACE _::tl -> \" \"::plainGen' tl\n | _::tl -> plainGen' tl\n | [] -> []\n plainGen' tokLst |> List.rev |> List.reduce (+)\n\nlet dateGen style date =\n match date with\n | None -> []\n | Some (y,m,d) ->\n // check validity of date (Not complete, e.g. Feb-30 passes thru)\n let mstr = monthConv m\n let dstr = ordinalConv d\n match style with\n | Harvard ->\n match mstr, dstr with\n | Some mm, Some dd ->\n [\"[Accessed \"+dd+\" \"+mm+\" \"+(string y)+\"]. \"\n |> Literal |> FrmtedString]\n | _,_ -> [\"Access date invalid, please use yyyy-mm-dd\"\n |> Literal |> FrmtedString]\n | Chicago ->\n match mstr, dstr with\n | Some mm, Some _ ->\n [\"Accessed \"+mm+\" \"+(string d)+\", \"+(string y)+\". \"\n |> Literal |> FrmtedString]\n | _,_ -> [\"Access date invalid, please use yyyy-mm-dd\"\n |> Literal |> FrmtedString]\n | IEEE -> []\n\ntype GenType = HarAut | ChiAut | ChiBookTil | ChiWebTil | HarTil\nlet (|OverallM|) =\n let hAut tokLst =\n let rec hAutGen' tLst:TLine =\n match tLst with\n | LITERAL lit::tl ->\n match tl with\n | [] -> [FrmtedString (Literal (lit+\", \"))]\n | _ -> FrmtedString (Literal (string lit.[0]+\". \"))::hAutGen' tl\n | _::tl -> hAutGen' tl\n | [] -> []\n List.rev tokLst |> hAutGen' |> List.rev\n let cAut tokLst = [plnGen tokLst + \". \" |> Literal |> FrmtedString]\n let cWebTil tokLst = [\"\\\"\" + plnGen tokLst + \".\\\" \" |> Literal |> FrmtedString]\n let cTil tokLst = [[plnGen tokLst + \". \" |> Literal |> FrmtedString] |> Emphasis |> FrmtedString]\n let hTil tokLst = [[plnGen tokLst + \". \" |> Literal |> FrmtedString] |> Emphasis |> FrmtedString]\n function\n | HarAut -> hAut\n | HarTil -> hTil\n | ChiAut -> cAut\n | ChiBookTil -> cTil\n | ChiWebTil -> cWebTil\n\nlet build gType tokLst =\n match tokLst with\n | None -> []\n | Some tl ->\n match gType with\n | OverallM f -> f tl\n\nlet refInLine style ref: TFrmtedString =\n match ref.Author, ref.Year with\n | Some a, Some y ->\n // this part is weirddddd\n match a with\n | LITERAL lit :: _ ->\n match style with\n | IEEE -> Literal \"NOT IMPLEMENTED\"\n | Chicago ->\n \"(\" + lit + \", \" + string(y) + \")\" |> Literal\n | Harvard ->\n \"(\" + lit + \" \" + string(y) + \")\" |> Literal\n | _ -> \"(Name unavailable)\" |> Literal // to change?\n | None, Some y ->\n \"(\"+string(y)+\")\" |> Literal\n | Some a,_ ->\n match a with\n | LITERAL lit :: _ ->\n \"(\"+lit+\")\" |> Literal\n | _ -> \"(Name unavailable)\" |> Literal\n | _, _ -> \"(n.d.)\" |> Literal \n\nlet ref2TLine format ref:TLine =\n match format with\n | IEEE -> [FrmtedString (Literal \"IEEE citation not supported yet\")]\n | Chicago ->\n match ref.Cat with\n | Some Book ->\n [build ChiAut ref.Author; yerGen Chicago ref.Year;\n build ChiBookTil ref.Title]\n |> List.reduce List.append\n | Some Website ->\n [build ChiAut ref.Author; yerGen Chicago ref.Year; build ChiWebTil ref.Title;\n dateGen Chicago ref.AccessDate; urlGen Chicago ref.URL]\n |> List.reduce List.append\n | None -> [FrmtedString (Literal \"Please specify type of reference\")]\n | Harvard ->\n [build HarAut ref.Author; yerGen Harvard ref.Year; build HarTil ref.Title;\n urlGen Harvard ref.URL; dateGen Harvard ref.AccessDate]\n |> List.reduce List.append\n\nlet (|AgnoEqual|_|) = function\n | WHITESPACE _::EQUAL::WHITESPACE _::tl\n | WHITESPACE _::EQUAL::tl\n | EQUAL::WHITESPACE _::tl\n | EQUAL::tl ->\n Some tl\n | _ -> None\n\nlet pickOutURL toks = \n let rec pickOutURL' rtoks toks =\n match toks with\n | COMMA::tl -> rtoks, tl\n | a::tl -> pickOutURL' (a::rtoks) tl\n | [] -> rtoks, []\n pickOutURL' [] toks\n |> fun(x,y) -> strAllToks (List.rev x), y\n\n// parses a single reference entry\n// This probably should never see ENDLINE\nlet refParser style tLst =\n let rec refPar' refData tLst =\n let rec refParse' parsing tail =\n match tail with\n | COMMA::tl -> parsing, tl\n | ENDLINE::tl -> parsing, tl\n | a::tl -> refParse' (a::parsing) tl\n | [] -> parsing, []\n\n let dateFormat tail =\n match tail with\n | NUMBER y::MINUS::NUMBER m::MINUS::NUMBER d::tl ->\n Some (int y, int m, int d), tl\n | _ -> None, tail\n\n match tLst with\n | LITERAL f::AgnoEqual tl ->\n match f with\n | \"type\" ->\n match tl with\n | LITERAL \"Book\"::tl -> refPar' {refData with Cat = Some Book} tl\n | LITERAL \"Website\":: tl -> refPar' {refData with Cat = Some Website} tl\n | _ -> refPar' refData tl\n | \"author\" ->\n refParse' [] tl\n |> fun (x,y) -> refPar' {refData with Author = Some x} y\n | \"title\" ->\n refParse' [] tl\n |> fun (x,y) -> refPar' {refData with Title = Some x} y\n | \"year\" ->\n match tl with\n | NUMBER a::tl -> refPar' {refData with Year = Some (int a)} tl\n | _ -> refPar' refData tl\n | \"url\" ->\n let (s,tail) = pickOutURL tl\n refPar' {refData with URL = Some s} tail\n | \"access\" ->\n dateFormat tl\n |> fun (x,y) -> refPar' {refData with AccessDate = x} y\n | _ -> refPar' refData tl\n | ENDLINE::tl -> refPar' refData tl\n | _::tl -> refPar' refData tl\n | [] -> refData, []\n tLst \n |> refPar' {Cat = None; Author = None; Title = None;\n Year = None; AccessDate = None; URL = None}\n |> fun (x,_) -> refInLine style x, ref2TLine style x\n\n\n// parse references with refParser\nlet refParse style tocLst =\n match tocLst with\n | PickoutParagraph (tk,rtok) -> refParser style tk |> fun (a,b) -> a,b,rtok\n | _ -> refParser style tocLst |> fun (a,b) -> a,b,[]\n\n\n\n// WEBPACK FOOTER //\n// src/Common/TOCite/RefParse.fs","module Lexer\n\nopen Types\nopen Shared\nopen LexerShared\nopen Logger\n\ntype LexerState =\n | Normal\n | InCodeBlock of content: string * Language\n | InHTMLTag of tag: string * depth: int\n\nlet htmlSingleton = [\n \"area\"; \"base\"; \"br\"; \"col\"; \"command\"; \"embed\"; \"hr\"; \"img\"; \"input\"\n \"keygen\"; \"link\"; \"meta\"; \"param\"; \"source\"; \"track\"; \"wbr\"\n]\n\n/// An escaped char tokenizer, which identifies the escaped characters and returns them\n/// as a literal instead, without the leading '\\'\nlet (|EscapedCharTok|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Returns the Token type of the identifier token\nlet (|CharacterTok|_|) = (|Character|_|) charList\n\nlet (|MatchLang|_|) = function\n | RegexMatch \"(p|P)ython\" _ -> Some Python | RegexMatch \"F#|fsharp|f#\" _ -> Some FSharp\n | RegexMatch \"(C|c)(\\\\+\\\\+|pp)\" _ -> Some CPP | RegexMatch \"C|c\" _ -> Some C | _ -> Some Empty\n\nlet (|InList|_|) lst el =\n match List.exists ((=) el) lst with\n | true -> Some el\n | _ -> None\n\nlet (|HTMLStartTag|_|) = (|RegexMatch|_|) \"^<([a-zA-Z]+)\\\\s*.*?>\"\n\n\n\nlet (|HTMLEndTag|_|) = (|RegexMatch|_|) \"^<\\\\/([a-zA-Z]+)\\\\s*.*?>\"\n\nlet (|HTMLSingleton|_|) = function\n | RegexMatch \"^<([a-zA-Z]+)\\\\s*.*?(?:\\\\/>|>)\" (s, [InList htmlSingleton g], r) ->\n Some (s, r)\n | _ -> None\n\nlet (|CodeBlockStart|_|) = (|GroupMatch|_|) \"^```+\\\\s*([a-zA-Z0-9+\\\\-_]*)\"\n\n/// Returns the next Token of a string\nlet nextToken state s =\n match s, state with\n | EscapedCharTok n, _ -> n, state\n | HTMLSingleton (s, r), Normal ->\n (LITERAL s, r), Normal\n | HTMLStartTag (s, [t], r), Normal ->\n (LITERAL s, r), InHTMLTag (t, 1)\n | HTMLStartTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n (LITERAL s, r), InHTMLTag (tag, d+1)\n else\n (LITERAL s, r), InHTMLTag (tag, d)\n | HTMLEndTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n if d = 1 then (LITERAL s, r), Normal\n else (LITERAL s, r), InHTMLTag (tag, d-1)\n else (LITERAL s, r), InHTMLTag (tag, d)\n | RegexMatch \"^.+?(?=<)\" (s, _, r), InHTMLTag (t, d) ->\n (LITERAL s, r), InHTMLTag (t, d)\n | RegexMatch \"^.*\" (s, _, r), InHTMLTag (t, d) ->\n (LITERAL s, r), InHTMLTag (t, d)\n | CharacterTok n, _ -> n, state\n | RegexMatch @\"^\\s+\" (m, _, s), _ ->\n (replaceChars \"\\t\" \" \" m \n |> String.length |> WHITESPACE, s), state\n | RegexMatch \"^[0-9]+\" (m, _, s), _->\n (NUMBER m, s), state\n | RegexMatch (literalString charList) (m, _, s), _ ->\n (LITERAL m, s), state\n | s, _ ->\n sprintf \"Unrecognised character: %A\" s |> globLog.Warn None\n (toString s.[0] |> LITERAL, (sOnwards 1 s)), state\n\n/// Lexes a whole string and returns the result as a Token list\nlet lexS state source =\n let rec lexS' state s tokList =\n match s, state with\n | \"\", InHTMLTag _ -> tokList\n | \"\", _ -> ENDLINE :: tokList\n | _ ->\n let (nt, st'), nstate = nextToken state s\n nt :: tokList |> lexS' nstate st'\n match source, state with\n | CodeBlockStart (MatchLang lang), Normal ->\n [], InCodeBlock (\"\", lang)\n | RegexMatch \"^```+\" _, InCodeBlock (s, lang) ->\n [CODEBLOCK (s, lang); ENDLINE], Normal\n | _, InCodeBlock (s, lang) ->\n [], InCodeBlock (s+source+\"\\n\", lang)\n | RegexMatch @\"^\\s*$\" _, _ ->\n [ENDLINE], state\n | _ ->\n lexS' state source [] |> List.rev, state\n\n/// Return the correct token if it is not close properly at the end\nlet returnTokens = function\n | _, InCodeBlock (s, l) ->\n [CODEBLOCK (s, l); ENDLINE]\n | tok, InHTMLTag (str, _) ->\n tok @ [LITERAL str; ENDLINE]\n | tok, _ ->\n tok\n\n/// Lex a single string\nlet lex s =\n lexS Normal s |> returnTokens\n\n/// Lexes a list of strings and returns the Token list\nlet lexList strl =\n let f (flist, state) nstr =\n let (lst, st) = lexS state nstr\n flist @ lst, st\n List.fold f ([], Normal) strl |> returnTokens\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Lexer.fs","module Preprocessor\n\nopen FileIO\nopen Shared\nopen LexerShared\n\n// --------------------------------------------------\n// Tokenizer\n// --------------------------------------------------\n\n/// Token type for the preprocessor macros\ntype Token =\n | LITERAL of string\n | MACRO | OPENDEF | CLOSEDEF | OPENEVAL | CLOSEEVAL | LBRA | RBRA\n | SEMICOLON | ENDLINE | BSLASH | INCLUDE\n\n/// Character list for the preprocessor\nlet charList = [\"{%\", OPENDEF; \"%}\", CLOSEDEF; \"{{\", OPENEVAL\n \"}}\", CLOSEEVAL; \"(\", LBRA; \")\", RBRA; \";\", SEMICOLON;\n \"\\\\\", BSLASH]\n\nlet keywordList = [\"macro\", MACRO; \"include\", INCLUDE]\n\n/// Check if a LITERAL is exclusively whitespace \nlet (|WhiteSpace|NonWhiteSpace|) = function\n | LITERAL (RegexMatch @\"^\\s*$\" _) -> WhiteSpace\n | _ -> NonWhiteSpace\n\n/// Matches all the escapable characters that are defined in charList\nlet (|EscapedCharParse|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Matches all the special characters that are defined in charList\nlet (|CharacterParse|_|) = (|Character|_|) charList\n\nlet (|KeywordParse|_|) = (|Character|_|) keywordList\n\n/// Converts a token list to a string\nlet tokToString tList =\n let tokString st = function\n | LITERAL l -> st+l\n | t ->\n match charList @ keywordList |> listTryFind t with\n | Some s -> st+s\n | _ -> st\n List.fold tokString \"\" tList\n\n/// Retrieves the next token from a string and returns it, together\n/// with the rest of the string\nlet nextToken str =\n let literalMatch = charList |> literalString\n match str with\n | EscapedCharParse n | CharacterParse n | KeywordParse n ->\n n\n | RegexMatch @\"^\\s+\" (m, _, r) ->\n LITERAL m, r\n | RegexMatch literalMatch (m, _, r) ->\n LITERAL m, r\n | _ ->\n toString str.[0] |> LITERAL, str.[1..]\n\n/// Tokenizes a string and return it as a list of tokens\nlet tokenize str =\n let rec pTokenize' tList str =\n match str with\n | \"\" ->\n ENDLINE :: tList\n | _ ->\n let t, r = nextToken str\n pTokenize' (t :: tList) r\n pTokenize' [] str |> List.rev\n\n/// Tokenizes a list of strings and returns them as a single list of tokens\nlet tokenizeList = List.collect tokenize\n\n// --------------------------------------------------\n// Parser\n// --------------------------------------------------\n\n/// ArgumentList used in the substitution\ntype Argument<'T> = 'T list\n\n/// Type for a macro\ntype Macro<'T> = {Name: string; Args: string list; Body: 'T list}\n\n/// Type for a substitution\ntype Sub<'T> = {Name: string; Args: Argument<'T> list; Raw: string}\n\n/// Type of the parser elements\ntype Parser =\n | MacroDefinition of Macro<Parser>\n | MacroSubstitution of Sub<Parser>\n | IncludeStatement of link: string\n | ParseText of content: string\n | ParseNewLine\n\n/// Return a parser list until it reaches the token\nlet findParseUntil otok ctok parser =\n let rec findParseUntil' count parser retlist =\n match parser with\n | t :: tl when t = ctok && count = 1 ->\n Some (retlist |> List.rev, tl)\n | t :: tl when t = ctok ->\n t :: retlist |> findParseUntil' (count - 1) tl\n | t :: tl when t = otok ->\n t :: retlist |> findParseUntil' (count + 1) tl\n | t :: tl ->\n t :: retlist |> findParseUntil' count tl\n | [] -> None\n findParseUntil' 1 parser []\n\n/// Splits a list on a specific element\nlet splitList esctok cltok tok list =\n let rec splitList' curr final list =\n match list with\n | a :: tl when a = esctok ->\n match findParseUntil esctok cltok tl with\n | Some (l, tl) ->\n splitList' (CLOSEEVAL :: (List.rev (a :: l)) @ curr) final tl\n | _ ->\n splitList' (a :: curr) final tl\n | a :: tl when a = tok ->\n splitList' [] (List.rev curr :: final) tl\n | a :: tl ->\n splitList' (a :: curr) final tl\n | [] ->\n List.rev curr :: final |> List.rev\n splitList' [] [] list\n\nlet splitListEval = splitList OPENEVAL CLOSEEVAL SEMICOLON\n\n/// Strips whitespace from a token list\nlet stripWhiteSpace = function\n | WhiteSpace :: tl | tl ->\n match List.rev tl with\n | WhiteSpace :: tl | tl ->\n List.rev tl\n\n/// Returns if the start of the list of tokens matches a keyword\nlet (|KeyWord|_|) =\n let listCheckExists t list =\n list\n |> List.map (fun (_, c) -> c)\n |> List.exists ((=) t)\n function\n | WhiteSpace :: a :: tl | a :: tl ->\n match listCheckExists a keywordList with\n | true -> Some (a, tl)\n | _ -> None\n | _ -> None\n\n/// Checks if the Token list matches an argument list, which could be one of the\n/// following:\n/// (arg1; arg2)\n/// (arg 1; arg 2)\n/// (arg1)\n/// ()\nlet (|ParamList|_|) =\n /// Matches if there is a list of literals, and returns all of them until it reaches\n /// a Token that is not a literal\n let rec (|NameList|_|) = function\n | LITERAL n :: NameList (nList, r) ->\n Some (n :: nList, r)\n | LITERAL n :: r ->\n Some ([n], r)\n | _ -> None\n\n /// Matches a semicolon separated list of Literal lists\n let rec (|ParamList|_|) = function\n | WhiteSpace :: tl | tl ->\n match tl with\n | NameList (n, SEMICOLON :: ParamList (lst, r)) ->\n Some (List.fold (+) \"\" n :: lst, r)\n | NameList (n, r) ->\n Some ([List.fold (+) \"\" n], r)\n | _ ->\n Some ([], tl)\n function\n | WhiteSpace :: tl | tl ->\n match tl with\n | LBRA :: ParamList (nl, RBRA :: tl) ->\n Some (nl, tl)\n | _ -> None\n\nlet (|ArgList|_|) = function\n WhiteSpace :: tl | tl ->\n match tl with\n | LBRA :: tl ->\n match findParseUntil LBRA RBRA tl with\n | Some (p, tl) ->\n Some (splitListEval p |> List.map stripWhiteSpace, tl)\n | _ -> None\n | WhiteSpace :: tl ->\n Some ([], tl)\n | _ -> None\n\n/// Matches a literal, which will be the name of the function, which can be followed by\n/// an argument list\nlet (|Function|_|) = function\n | WhiteSpace :: LITERAL n :: tl ->\n match tl with\n | ParamList (nl, WhiteSpace :: tl)\n | ParamList (nl, tl) ->\n Some (n, nl, tl)\n | WhiteSpace :: t\n | t ->\n Some (n, [], t)\n | _ -> None\n\n/// Matches the start syntax for a macro, the closing CLOSEDEF can be on a differen line and\n/// after a Parse list, so that is matched in the parse function\nlet (|MacroDef|_|) = function\n | OPENDEF :: KeyWord (MACRO, Function f) ->\n Some f\n | _ -> None\n\n/// Matches an evaluation of a macro\nlet (|EvalDef|_|) = function\n | OPENEVAL :: WhiteSpace :: tl | OPENEVAL :: tl ->\n match tl with\n | LITERAL n :: ArgList (nl, WhiteSpace :: CLOSEEVAL :: tl)\n | LITERAL n :: ArgList (nl, CLOSEEVAL :: tl) ->\n Some (n, nl, tl)\n | LITERAL n :: WhiteSpace :: CLOSEEVAL :: tl\n | LITERAL n :: CLOSEEVAL :: tl ->\n Some (n, [], tl)\n | _ -> None\n | _ -> None\n\n/// Matches a special character or keyword\nlet (|SChar|_|) tok =\n charList @ keywordList\n |> List.map invTuple\n |> Map.ofList\n |> mapTryFind tok\n\n/// Include statement match\nlet (|Include|_|) = function\n | OPENEVAL :: WhiteSpace :: tl | OPENEVAL :: tl ->\n match tl with\n | INCLUDE :: WhiteSpace :: LITERAL link :: WhiteSpace :: CLOSEEVAL :: tl\n | INCLUDE :: WhiteSpace :: LITERAL link :: CLOSEEVAL :: tl -> Some (link, tl)\n | _ -> None\n | _ -> None\n\n/// Parses a Token list into a Parser list\nlet parse tList =\n\n /// Returns the raw token list for a macro evaluation\n let getRaw list =\n let rec getRaw' list curr =\n match list with\n | CLOSEEVAL :: _ ->\n CLOSEEVAL :: curr\n | a :: tl ->\n a :: curr |> getRaw' tl\n | _ ->\n curr\n getRaw' list [] |> List.rev\n\n /// The recursive part of the parser, which build the Parser list\n let rec parse' endToken tList pList =\n let pRec f c tl = f c :: pList |> parse' endToken tl\n let recText = pRec ParseText\n match tList, endToken with\n | MacroDef (a, b, tl), _ ->\n let p, tl' = parse' (Some CLOSEDEF) tl []\n pRec MacroDefinition {Name=a; Args=b; Body=List.rev p} tl'\n | EvalDef (n, args, tl), _ ->\n let args' = List.map ((fun a -> parse' None a []) >> (fun (a, _) -> List.rev a)) args\n pRec MacroSubstitution {Name=n; Args=args'; Raw=getRaw tList |> tokToString} tl\n | Include (link, tl), _ ->\n pRec IncludeStatement link tl\n | ENDLINE :: tl, _ ->\n pRec id ParseNewLine tl\n | WhiteSpace :: a :: tl, Some e | a :: tl, Some e when e = a ->\n match tl with\n | WhiteSpace :: ENDLINE :: b\n | WhiteSpace :: b\n | ENDLINE :: b\n | b ->\n pList, b\n | LITERAL f :: tl, _ ->\n recText f tl\n | SChar c :: tl, _ ->\n recText c tl\n | _ -> pList, []\n let p, _ = parse' None tList []\n List.rev p\n\n// --------------------------------------------------\n// Evaluation\n// --------------------------------------------------\n\n/// Evaluates and strips macros from the markdown, and also evaluates macro substitutions\n/// by seeing which macros are in scope or if the substitution is a parameter.\n/// This supports shadowing of previously defined macros, and scopes can be defined\n/// by declaring a macro inside another macro\nlet evaluateWithDir fileDir pList =\n\n /// Makes an empty parmeter list for the current parameters, so that they\n /// are not substituted\n let makeEmptyParam args: Map<string, Argument<Parser> option> =\n List.replicate (List.length args) None\n |> List.zip args\n |> Map.ofList\n\n /// Add a parameter to a parameter map\n let addParam p (macro: Macro<Parser>) args =\n List.zip macro.Args args\n |> List.fold (fun (s: Map<string, Argument<Parser> option>) (a, b) -> s.Add(a, Some b)) p\n\n /// Make a Macro record type\n let makeMacro n args p =\n {Name = n; Args = args; Body = p}\n\n /// Adds an element to a map with key k and value v\n let mapAdd (map: Map<'a, 'b>) k v =\n map.Add(k, v)\n\n /// Evaluates and creates a new simplified Parser list with all the macros stripped\n /// and substitutions evaluated\n let rec evaluate' pList newPList param (scope: Map<string, Macro<Parser>>) =\n\n /// Function for use with different currying that the original\n let evaluateInv' pList newPList scope param =\n evaluate' pList newPList param scope\n\n /// Evaluate without adding any values to the param or scope maps\n let evaluate'' pList list =\n evaluate' pList (list @ newPList) param scope\n\n match pList with\n | MacroDefinition {Name=n; Args=args; Body=p} :: tl ->\n makeEmptyParam args\n |> evaluateInv' p [] scope\n |> makeMacro n args\n |> mapAdd scope n\n |> evaluate' tl newPList param\n | MacroSubstitution {Name=n; Args=args; Raw=raw} as ms :: tl ->\n let eval =\n match param.TryFind n with\n | Some (Some x) ->\n evaluate' x [] param scope |> List.rev\n | Some _ ->\n [ms]\n | _ ->\n match scope.TryFind n with\n | Some m when List.isEmpty args ->\n m.Body\n | Some m ->\n addParam param m args\n |> evaluateInv' m.Body [] scope\n |> List.rev\n | _ ->\n [ParseText raw]\n evaluate'' tl eval\n | IncludeStatement link :: tl ->\n let addDir str =\n match str with\n | RegexMatch \"^\\\\/\" _ -> str\n | _ -> fileDir + str\n addDir link\n |> readFilePath\n |> tokenizeList\n |> parse\n |> (fun a -> evaluate' (a @ tl) newPList param scope)\n | p :: tl ->\n evaluate'' tl [p]\n | _ -> newPList\n evaluate' pList [] Map.empty<string, Argument<Parser> option> Map.empty<string, Macro<Parser>>\n |> List.rev\n\nlet evaluate = evaluateWithDir \"\"\n\n/// Converts a Parser list to a string\nlet parserToString pList =\n List.fold (fun st -> function\n | ParseText x -> st+x\n | ParseNewLine -> st+\"\\n\"\n | _ -> st) \"\" pList\n\n/// Converts a Parser list to a list of strings without any newlines\nlet toStringList pList =\n let f st n =\n match st, n with\n | _, ParseNewLine ->\n \"\" :: st\n | a :: b, ParseText t ->\n a+t :: b\n | _, ParseText t ->\n [t]\n | _ -> st\n List.fold f [] pList |> List.rev\n\n/// perform the parsing, evaluation, while stripping the last endline which is redundant\n/// as it was added by the tokenizer\nlet pETS dir =\n let stripLastEndline l =\n match List.rev l with\n | [ParseNewLine] as e -> e\n | ParseNewLine :: r -> List.rev r\n | _ -> l\n parse >> evaluateWithDir dir >> stripLastEndline\n\n// --------------------------------------------------\n// Public API\n//--------------------------------------------------\n\n/// Preprocess a string and output a string with the macro evaluated\nlet preprocess =\n tokenize >> pETS \"\" >> parserToString\n\nlet preprocessWithDir dir =\n tokenize >> pETS dir >> parserToString\n\n/// Preprocess a list of strings which is returned as a list of strings with the\n/// macro evaluated\nlet preprocessList =\n List.collect tokenize >> pETS \"\" >> toStringList\n\nlet preprocessListWithDir dir =\n List.collect tokenize >> pETS dir >> toStringList\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Preprocessor.fs","module FileIO\n\nopen Fable.Import.Node.Exports\n\nlet writeToFile str path =\n let errorHandler _err = () // Ignore all errors\n fs.writeFile(path, str, errorHandler)\n\nlet splitString (s:string) =\n s.Split(\"\\n\") |> Array.toList\n\nlet checkExists (path:string) =\n fs.existsSync(Fable.Core.U2.Case1 path)\nlet readFilePath path =\n path \n |> checkExists\n |> function\n | true ->\n fs.readFileSync(path,()) \n |> (fun s -> s.toString ())\n |> splitString\n | false -> path |> splitString\n\n\n\n\n// WEBPACK FOOTER //\n// src/Common/FableFileIO.fs","module.exports = require(\"fs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fs\"\n// module id = 37\n// module chunks = 0","module MarkdownGen\n// MarkdownGen is only used for some property-based testing and is not ready for use for anything else.\n\nopen Types\nopen Shared\nopen Logger\n\n\n// return string surrounded by pat\nlet surround pat str =\n let pat2 = match pat with\n | \"(\" -> \")\"\n | \"[\" -> \"]\"\n | \"{\" -> \"}\"\n | _ -> pat\n sprintf \"%s%s%s\" pat str pat2\n\n/// convert TFrmtedString to string\nlet rec mdFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> surround \"`\" str\n | Strong a -> mdInlineElements a |> surround \"**\"\n | Emphasis e -> mdInlineElements e |> surround \"*\"\n | Line l -> mdInlineElements l\n | Strike s -> mdInlineElements s |> surround \"~~\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand mdInlineElements' b eles =\n let braSurround = surround \"(\"\n let sbraSurround = surround \"[\"\n let convertMd pStr ele =\n pStr +\n match ele with\n | FrmtedString fStr -> mdFStr fStr\n | Link (ht, url) -> (mdFStr ht |> sbraSurround) + (url |> braSurround)\n | Picture (alt, url) -> (alt |> sbraSurround |> sprintf \"!%s\" ) + (url |> braSurround)\n | InlineCitation (ht, _)\n | InlineFootnote (ht, _) -> (\"^\" + mdFStr ht) |> sbraSurround\n List.fold convertMd (sprintf \"%s\" b) eles\nand mdInlineElements = mdInlineElements' \"\"\n\n/// process Markdown paragraph\nlet mdParagraph lines =\n let folder pLinesStr line =\n pLinesStr + mdInlineElements line\n List.fold folder \"\" lines\n + \"\\n\\n\"\n\n/// process Markdown Table\nlet mdTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells alignRow row =\n let cellsFolder alignRow pStr cell =\n match cell with\n | CellLine(line, _, align) ->\n match alignRow with\n | true ->\n match align with\n | Centre -> \":---:\"\n | Right -> \"---:\"\n | Left -> \":---\"\n | NoAlign -> \"---\"\n | false ->\n mdInlineElements line\n |> (fun cellContent -> pStr + cellContent + \"|\")\n\n List.fold (cellsFolder alignRow) \"|\" row\n\n let foldRows alignRow rows =\n let rowsFolder alignRow pStr row =\n pStr + (foldCells alignRow) row + \"\\n\"\n List.fold (rowsFolder alignRow) \"\" rows\n let foldNormalRows = foldRows false\n let foldAlignRow = foldCells true\n foldNormalRows headerRows\n + (headerRows |> List.head |> foldAlignRow)\n + foldNormalRows bodyRows + \"\\n\\n\"\n\n/// recursively process a list\nlet rec mdList list =\n let mdListItem ord tab (pStr,pCount) li =\n let makeTabs num =\n if num <= 0 then \"\" else String.replicate num \"\\t\"\n let retFold s = pStr + s, pCount + 1\n match li with\n | StringItem(line) -> mdInlineElements line |> (fun s ->\n match ord,s with\n | _,\"\" -> \"\"\n | true,_ ->\n sprintf \"%s%i. %s\\n\" (makeTabs tab) pCount s\n |> logPassN globLog.Debug\n | false,_ ->\n sprintf \"%s- %s\\n\" (makeTabs tab) s) |> retFold\n | NestedList(list) -> mdList list |> retFold\n\n match list with\n | {ListType=lt; ListItem=liS; Depth=d} ->\n let ord = match lt with | OL _ -> true | UL -> false\n List.fold (mdListItem ord (d-1)) (\"\",1) liS\n |> fst\n\n/// process header\nlet mdHeader header =\n match header with\n | {HeaderName=line;Level=lv} ->\n (line |> mdInlineElements)\n |> sprintf \"%s %s\\n\" (String.replicate lv \"#\")\n\n/// process HTML body part\nlet mdBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> mdParagraph p\n | Quote q -> mdInlineElements' \">\" q\n | CodeBlock (c, l) -> surround \"```\" (mapLang l + \"\\n\" + c + \"\\n\")\n | Table rows -> mdTable rows\n | List l -> mdList l |> sprintf \"%s\\n\"\n | Header h -> mdHeader h //#### DO SOMETHING WITH STRING HERE\n //| Footnote (fnId, _) -> mdInlineFootnote fnId\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n\n// WEBPACK FOOTER //\n// src/Common/MarkdownGen/MarkdownGen.fs","module HTMLGen\n\nopen Types\nopen Shared\nopen Logger\nopen HTMLGenHelpers\n\n/// convert TFrmtedString to string, with HTML tags where necessary\nlet rec strFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> str |> attachSimpleTag \"code\"\n | Strong a -> strInlineElements a |> attachSimpleTag \"strong\"\n | Emphasis e -> strInlineElements e |> attachSimpleTag \"em\"\n | Line l -> strInlineElements l\n | Strike l -> strInlineElements l |> attachSimpleTag \"del\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand strInlineElements eles =\n let convertHtml pStr ele =\n let refPrint foot (ht,id) = \n ht\n |> strFStr\n |> attachHTMLTag (\"a\", [(\"href\", \"#\"+id)], true)\n |> (fun r -> if foot then attachSimpleTag \"sup\" r else r) \n pStr +\n match ele with\n | FrmtedString fStr -> strFStr fStr\n | Link (ht, url) -> strFStr ht |> attachHTMLTag (\"a\", [(\"href\", url)], true)\n | Picture (alt, url) ->\n let attrs = [(\"src\", url); (\"alt\", alt)]\n attachHTMLTag (\"img\", attrs, false) \"\"\n // style for inline referencing the footnotes and citations in the end\n | InlineCitation (ht, id) -> refPrint false (ht,id)\n | InlineFootnote (ht, id) -> refPrint true (ht,id)\n List.fold convertHtml \"\" eles\n\n/// process Markdown paragraph\nlet strParagraph lines =\n let folder pLinesStr line =\n pLinesStr + strInlineElements line + NewLineStr\n List.fold folder \"\" lines\n |> (fun x -> x.Trim()) // remove leading and trailing whitespaces and CRLFs\n |> attachSimpleTag \"p\"\n\n\n/// process Markdown Table\nlet strTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells row =\n let cellsFolder pStr cell =\n match cell with\n | CellLine(line, isHeader, align) ->\n let tagName = if isHeader then \"th\" else \"td\"\n let cellContent = strInlineElements line\n let alignAttr =\n match align with\n | Centre -> (\"align\", \"center\")\n | Right -> (\"align\", \"right\")\n | Left -> (\"align\", \"left\")\n | NoAlign -> (\"\",\"\")\n pStr + attachHTMLTag (tagName, [alignAttr], true) cellContent\n List.fold cellsFolder \"\" row\n let foldRows rows =\n let rowsFolder pStr row =\n foldCells row\n |> attachSimpleTag \"tr\"\n |> fun s -> pStr + s\n List.fold rowsFolder \"\" rows\n foldRows headerRows |> attachSimpleTag \"thead\"\n |> fun s ->\n s + (foldRows bodyRows |> attachSimpleTag \"tbody\")\n |> attachSimpleTag \"table\"\n\n\n/// recursively process a list\nlet rec strList list =\n let strListItem pStr li =\n pStr + (\n match li with\n | StringItem(line) -> strInlineElements line |> attachSimpleTag \"li\"\n | NestedList(list) -> strList list\n )\n match list with\n | {ListType=lt; ListItem=liS} ->\n match lt with\n | UL ->\n List.fold strListItem \"\" liS\n |> attachSimpleTag \"ul\"\n | OL startNo ->\n List.fold strListItem \"\" liS\n |> attachHTMLTag (\"ol\", [\"start\", startNo|>string], true)\n \n\n/// process header\nlet strHeader header =\n match header with\n | {HeaderName=line;Level=lv; RefID=id} ->\n let tagName = \"h\" + string(lv)\n line\n |> strInlineElements\n |> attachHTMLTag (tagName, [\"id\", id], true)\n\n/// process references\n/// id: the href id used in inline referencing\n/// content: of TLine type, to be displayed at the end of HTML doc\nlet strRef (id, content) =\n \"[\"+id+\"] \" + strInlineElements content\n |> attachHTMLTag (\"p\", [\"id\", id], true)\n\nlet (|MatchHeaderAndSubHeader|_|) hds =\n match hds with\n | fstHd::sndHd::_ ->\n let {Level=fstLv} = fstHd\n let {Level=sndLv} =sndHd\n if sndLv > fstLv then (List.head hds, List.tail hds) |> Some else None\n | _ -> None\n\n/// process table of contents\n\nlet strToC (toc: Ttoc) =\n let excludeSelfSkip x = match x with | None -> None | Some 1 -> None | Some n -> Some (n-1)\n /// get all list items in current item level and sub lists\n let rec getCurrentHeaders currentLv hdListItems headers =\n match headers with\n | header:: reHeaders ->\n match header.Level with\n | hdLv when currentLv <= hdLv -> // list item and sub list item\n getCurrentHeaders currentLv (header::hdListItems) reHeaders\n | _ -> hdListItems |> List.rev\n | [] -> hdListItems |> List.rev\n\n let rec parseHdsIntoList level (headers: THeader list) =\n let depth = (List.head headers).Level\n let headerFolder (currentLv, listItems, (skipNo: int option), currentHdNo) header =\n match skipNo with\n | None ->\n match header.Level with\n | hdLv when hdLv=currentLv ->\n (currentLv, StringItem(header.HeaderName)::listItems, None, currentHdNo+1)\n | hdLv when hdLv>currentLv ->\n let (listItem, skip) =\n xOnwards currentHdNo headers\n |> getCurrentHeaders (currentLv+1) []\n |> parseHdsIntoList (currentLv+1)\n (currentLv, NestedList(listItem)::listItems, skip |> excludeSelfSkip, currentHdNo+1)\n | _ -> failwith \"list item level < current level, not possible\"\n | Some skip ->\n match skip with\n | 1 -> (currentLv, listItems, None, currentHdNo+1)\n | n when n>1 -> (currentLv, listItems, Some (n-1), currentHdNo+1)\n | _ -> failwith \"negative or zero skip number, not possible\"\n List.fold headerFolder (level, [], None, 0) headers\n |> (fun (_, lis, _, _) ->\n let doSkip =\n match List.length headers with\n | 0 -> None\n | n -> Some n\n {ListType=OL 1; ListItem=lis |> List.rev; Depth=depth}, doSkip)\n toc.HeaderLst\n |> parseHdsIntoList 1\n |> fst\n |> strList\n\n/// process HTML body part\nlet strBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> strParagraph p\n | Quote q -> strInlineElements q |> attachSimpleTag \"q\"\n | CodeBlock (c, l) -> attachHTMLTag (\"code\", [(\"language\", mapLang l)], true) c\n | Table rows -> strTable rows\n | List l -> strList l\n | Header h -> strHeader h\n | Footnote (i,s) -> strRef ((string i), s)\n | Citation (i,_,s) -> strRef (i, s)\n | ContentTable toc -> strToC toc\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n/// generate HTML head\nlet genHead htmlTitle =\n let metaData =\n [\n [(\"name\", \"viewport\");(\"content\", \"width=device-width\")]\n ]\n let genMetadata pStr md =\n pStr + attachMetaTag \"meta\" md\n List.fold genMetadata \"\" metaData\n + attachSimpleTag \"title\" htmlTitle\n \n |> attachSimpleTag \"head\"\n\n/// generate HTML body\nlet genBody (pObjs) =\n strBody pObjs\n // insert javascript in the end of HTML doc to make page rendering faster\n +\n attachHTMLTag (\"script\",\n [\n (\"type\", \"text/javascript\");\n (\"async\", \"\");\n (\"src\", \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML\")\n ], true) \"\"\n |> attachSimpleTag \"body\"\n\n\n/// top level HTMLGen\nlet genHTML (htmlTitle, pObjs) =\n attachMetaTag \"!DOCTYPE\" [\"html\", \"\"]\n + genHead htmlTitle\n + genBody (pObjs)\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGen.fs","module HTMLGenHelpers\n\nopen Types\n\ntype TagStyle = INLINE | NonInline of indentStr: string\n\n[<Literal>]\nlet NewLineStr = \"\\r\\n\"\n\n/// concat attributeName and value\n/// with quotes\nlet toAttr attributeName value =\n attributeName + \"=\\\"\" + value + \"\\\"\"\n\n/// convert (attributeName, value) list to string list\n/// ready for inserting into HTML tag\nlet toAttrs attrs =\n let mapper attr =\n match attr with | (attrName, value) -> toAttr attrName value\n List.map mapper attrs\n\n/// atach HTML tag to a given string, both start and end tag\n/// inline style does not insert newline after start tag and before end tag\n/// non-inline style will have indent set to desired string\nlet attachHTMLTag (tagName, attributes: list<string * string>, needCloseTag) (content: string) =\n let attrStr =\n match List.isEmpty attributes with\n | true -> \"\"\n | false ->\n let attrFolder pStr attrNameValue =\n pStr +\n match attrNameValue with\n | (\"\",\"\") -> \"\"\n | (attrName, value) ->\n \" \" + // space before attribute\n if value = \"\" then attrName\n else attrName + \"=\\\"\" + value + \"\\\"\"\n List.fold attrFolder \"\" attributes\n \"<\" + tagName + attrStr + \">\"\n + content\n + if needCloseTag then \"</\" + tagName + \">\" else \"\"\n\n/// attach (tagName,noAttr,closeTag)\nlet attachSimpleTag tagName = attachHTMLTag (tagName,[],true)\n\nlet attachMetaTag tagName attrs = attachHTMLTag (tagName,attrs,false) \"\"\n\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGenHelpers.fs"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 2e07ac0ed16357d19d33","webpack:///./src/Common/FMark.fs","webpack:///./src/FMarkFable/FMarkFable.fs","webpack:///./src/Common/HTMLGen/HTMLGen.fs","webpack:///src/Common/Types.fs","webpack:///src/Common/Shared.fs","webpack:///src/Common/Logger/Logger.fs","webpack:///./src/Common/Logger/Logger.fs","webpack:///./src/Common/Lexer/Preprocessor.fs","webpack:///src/Common/Parser/ParserHelperFuncs.fs","webpack:///src/Common/Markalc/MarkalcShared.fs","webpack:///src/Common/Lexer/LexerShared.fs","webpack:///src/FMarkFable/FMarkFable.fs","webpack:///src/Common/FMark.fs","webpack:///src/Common/Parser/Parser.fs","webpack:///src/Common/Markalc/Markalc.fs","webpack:///src/Common/Markalc/Expression.fs","webpack:///./src/Common/TOCite/RefParse.fs","webpack:///src/Common/TOCite/TOCite.fs","webpack:///src/Common/TOCite/RefParse.fs","webpack:///src/Common/Lexer/Lexer.fs","webpack:///src/Common/Lexer/Preprocessor.fs","webpack:///src/Common/FableFileIO.fs","webpack:///external \"fs\"","webpack:///src/Common/MarkdownGen/MarkdownGen.fs","webpack:///src/Common/HTMLGen/HTMLGen.fs","webpack:///src/Common/HTMLGen/HTMLGenHelpers.fs"],"names":["List","append","xs","ys","seqFold","acc","x","reverse","choose","f","r","y","getValue","collect","concat","filter","where","initialize","n","Error","i","map","mapIndexed","indexed","partition","lacc","racc","replicate","singleton","slice","lower","upper","noLower","noUpper","unzip","seqFoldBack","xy","unzip3","xyz","groupBy","seqToList","seqMap","k","mapGroupBy","splitAt","index","last","first","Array","tail","head","ofArray","undefined","Enumerator","iter","cur","next","current","value","done","getEnumerator","o","GetEnumerator","Symbol","iterator","toIterator","en","MoveNext","Current","__failIfNone","res","toList","foldBack","ofList","delay","unfold","length","firstDone","iters","average","count","sum","reduce","averageBy","output","innerIter","hasFinished","compareWith","nonZero","tryFind","map2","empty","enumerateWhile","cond","enumerateThenFinally","finalFn","err","it","enumerateUsing","disp","work","isDisposed","disposeOnce","Dispose","exactlyOne","fst","snd","except","itemsToExclude","source","exclusionItems","from","testIsNotInExclusionItems","element","some","excludedItem","equals","exists","exists2","cur1","cur2","iter1","iter2","fold","isArray","ArrayBuffer","isView","arr","fold2","foldBack2","ar1","ar2","forAll","forAll2","tryHead","makeSome","initializeInfinite","tryItem","j","item","iterate","_","iterate2","iterateIndexed","iterateIndexed2","isEmpty","tryLast","mapIndexed2","map3","zs","iter3","cur3","chunkBySize","size","result","arrayChunkBySize","mapFold","transform","push","mapFoldBack","max","compare","maxBy","min","minBy","pairwise","skip","scan","permute","arrayPermute","rangeStep","step","rangeChar","String","fromCharCode","charCodeAt","range","readOnly","reduceBack","ar","seed","scanBack","skipWhile","hasPassed","sortWith","sort","sumBy","take","truncate","takeWhile","defaultValue","find","tryFindBack","findBack","tryFindIndex","findIndex","tryFindIndexBack","findIndexBack","tryPick","pick","zip","zip3","z","types","Map","setType","fullName","cons","set","getType","get","reflection","NonDeclaredType","kind","definition","generics","other","equalsRecords","Any","Unit","Option","t","FableArray","isTypedArray","def","genArg","Tuple","FableFunction","GenericParam","Interface","makeGeneric","typeDef","genArgs","isGeneric","typ","getDefinition","extendInfo","info","parent","Object","getPrototypeOf","prototype","FSymbol","newInfo","parentInfo","getOwnPropertyNames","forEach","assign","hasInterface","obj","interfaceName","interfaces","indexOf","getPropertyNames","propertyMap","properties","toString","quoteStrings","isObject","Number","Boolean","JSON","stringify","Date","dateToString","ToString","uci","cases","tag","data","join","v","ObjectRef","idMap","has","WeakMap","getHashCode","id","hash","GetHashCode","s","h","len","Equals","byteLength","dv1","DataView","buffer","dv2","getUint8","getTime","comparePrimitives","CompareTo","b1","b2","compareDates","xhash","yhash","lessThan","lessOrEqual","greaterThan","greaterOrEqual","keys","key","compareRecords","equalsUnions","compareUnions","createDisposable","createAtom","atom","arguments","CaseRules","None","LowerFirst","isList","type","createObj","fields","caseRule","casesCache","proto","caseInfo","toLowerCase","substr","toPlainJsObj","constructor","target","props","p","prop","getOwnPropertyDescriptor","apply","jsOptions","mutator","opts","round","digits","m","Math","pow","toFixed","floor","e","sign","randomNext","random","applyOperator","operator","getMethod","meth","unescapeDataString","decodeURIComponent","replace","escapeDataString","encodeURIComponent","escapeUriString","encodeURI","clear","col","splice","Some","acceptNull","defaultArg","arg","defaultArgWith","defThunk","predicate","CurriedLambda","expectedArgsLength","curried","curriedFn","args","args2","actualArgsLength","restArgs","newLambda","args3","fsFormatRegExp","formatRegExp","guidRegex","StringComparison","CurrentCulture","CurrentCultureIgnoreCase","InvariantCulture","InvariantCultureIgnoreCase","Ordinal","OrdinalIgnoreCase","cmp","ic","isIgnoreCase","isOrdinal","toLocaleLowerCase","localeCompare","compareTo","startsWith","str","pattern","indexOfAny","anyOf","startIndex","c","toHex","abs","printf","input","cont","fsFormat","toConsole","console","log","toConsoleError","error","toText","toFail","formatOnce","str2","rep","prefix","flags","pad","precision","format","toPrecision","toExponential","toUpperCase","plusPrefix","parseInt","isNaN","ch","padLeft","once","createPrinter","printer","strCopy","test","match","idx","padSymbol","substring","exec","decs","endsWith","search","lastIndexOf","insert","isNullOrEmpty","isNullOrWhiteSpace","delimiter","xs2","validateGuid","doNotThrow","trimmed","trim","newGuid","b","a","_convertMapsInitialized","_byteToHex","_hexToByte","initConvertMaps","guidToArray","buf","Uint8Array","oct","arrayToGuid","notSupported","name","toBase64String","inArray","btoa","fromBase64String","b64Encoded","binary","atob","bytes","isRight","padRight","remove","RegExp","escape","getCharAtIndex","split","splitters","removeEmpty","splitters2","splits","reg","lastIndex","side","chars","pred","Result","mapError","bind","base","tmp","create","vs","add","countBy","kv","MapTree","tree_sizeAux","sizeAux","tree_size","tree_empty","tree_height","_arg1","tree_isEmpty","tree_mk","l","matchValue","hl","hr","tree_rebalance","t1","t2","t1h","t2h","tree_add","comparer","Compare","tree_find","tree_tryFind","c_1","tree_partition1","acc1","acc2","tree_partitionAux","acc_0","acc_1","acc_2","acc_3","tree_partition","tree_filter1","tree_filterAux","tree_filter","tree_spliceOutSuccessor","kvl","tree_remove","tree_mem","mem","tree_iter","tree_tryPick","matchValue_1","tree_exists","tree_forall","tree_mapi","tree_foldBack","tree_fold","tree_mkFromEnumerator","tree_ofSeq","ie","tree_collapseLHS","stack","listOfArray","tree_mkIterator","started","tree_moveNext","FableMap","m2","seqCompareWith","kvp1","kvp2","tree","oldSize","Comparer","containsValue","tryGetValue","rs","findKey","seqPick","tryFindKey","seqTryPick","fromEqualityComparer","OperationCanceledError","setPrototypeOf","Trampoline","callCount","maxTrampolineCallCount","setTimeout","protectedCont","ctx","cancelToken","isCancelled","onCancel","trampoline","incrementAndCheck","hijack","onError","protectedBind","computation","binder","onSuccess","ex","protectedReturn","AsyncBuilder","computation1","computation2","Bind","generator","sequence","body","While","Delay","compensation","catchHandler","ex2","resource","TryFinally","guard","Return","parseRadix","invalidRadix2","invalidRadix8","invalidRadix10","isValid","radix","tryParse","initial","radix_","parse","options","unescape","isMatch","matches","global","ignoreCase","multiline","replacement","limit","offset","replacer","sub1","_matches","sub2","offsetRegex","padWithZeros","offsetToString","isMinus","hours","minutes","toHalfUTCString","date","half","toISOString","d","utc","printOffset","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","toISOStringWithOffset","dateWithOffset","toStringWithCustomFormat","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","toStringWithOffset","toStringWithKind","toUTCString","toLocaleString","toLocaleDateString","toLocaleTimeString","DateTime","minValue","maxValue","parseRaw","detectUTC","_err","date1","year","month","day","ms","dateValue","UTC","setFullYear","now","utcNow","today","isLeapYear","daysInMonth","toUniversalTime","toLocalTime","timeOfDay","hour","minute","second","millisecond","getUTCMilliseconds","dayOfWeek","getUTCDay","getDay","dayOfYear","_year","_month","_day","ts","addDays","addHours","addMinutes","addSeconds","addMilliseconds","addYears","newMonth","newYear","_daysInMonth","newDay","addMonths","newMonth_","yearOffset","subtract","that","toLongDateString","toDateString","toShortDateString","toLongTimeString","toShortTimeString","d1","d2","xtime","ytime","op_Addition","op_Subtraction","isDaylightSavingTime","jan","jul","isDST","janOffset","julOffset","tOffset","Async","emptyContinuation","createCancellationToken","token","cancel","cancelAfter","isCancellationRequested","startChild","promise","startAsPromise","awaitPromise","fromContinuations","conts","then","catch","cancellationToken","defaultCancellationToken","catchAsync","choice1Of2","choice2Of2","ignore","parallel","computations","Promise","all","w","sleep","millisecondsDueTime","start","startWithContinuations","startImmediate","continuation","exceptionContinuation","cancellationContinuation","resolve","reject","Choice","TargetCons","addRangeInPlace","copyTo","sourceIndex","targetIndex","checkFlags","removeInPlace","setSlice","sortInPlaceBy","dir","bs","cs","ds","ceil","end","getSubArray","fill","QueueCell","message","MailboxQueue","itCell","firstAndLast","MailboxProcessor","messages","tryGet","__processEvents","buildMessage","checkCompletion","reply","mbox"],"mappings":"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AA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACD;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEC;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yCAkCsD;AAAA;AAAsB;AAlC5E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAsBA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1EiC;AAAA;AAAc;AAIhD;AAAA;AAAA,eAAmC;AAAA;AAAY,SAA/C,CAAqB;AAAA,4HAArB,uGAAS;AAAA;AAAQ,aAAjB,QAAqB;AAAA,SAArB;AAAA;AAA+C;AAG/C,eAAW,kHAAM,+DAAN,SAAiB,+DAAjB,SAA4B,+DAA5B,SAAwC,+DAAxC,SAAoD,+DAApD,SAA+D,+DAA/D,SACM,gEADN,UACiB,gEADjB,WACmC,gEADnC,SACmD,gEADnD,UACqE,gEADrE,WAEQ,gEAFR,SAE0B,gEAF1B,UAEuC,gEAFvC,WAEsD,gEAFtD,SAEmE,gEAFnE,SAGM,gEAHN,SAGkB,gEAHlB,SAG6B,gEAH7B,UAGyC,gEAHzC,SAGsD,gEAHtD,SAGkE,gEAHlE,SAIM,gEAJN,SAIkB,gEAJlB,SAI8B,gEAJ9B,SAI0C,gEAJ1C,SAKM,gEALN,SAKwB,gEALxB,SAKoC,gEALpC,SAKgD,gEALhD,SAK8D,gEAL9D,SAK0E,gEAL1E,GAAX;AAOA,cAA2C,yGAArB,uGAAS;AAAA;AAAQ,CAAjB,WAAqB;AAAA;AAAA,GAA3C;;AAGA;AAAA;AAAsB;;;AAEb;AAAA,iCACP,kBADO;;AACP,QADO,8BACP,EADO;AAAA;AASE,KART,MADO;AAAA;AAAA;AAAA;;AAGO;AAAA,mIAAQ,6HAAR;;AACA;AAAA,mIAAQ,6HAAR;;AACF;AAAA,mIAAQ,wHAAR;;AACA;AAAA;;AACC;AAAA;;AACG;AAAA;;AART;AAAA;AAAA;AAAQ;AASN;AAIP;AAAA,iBACA;AAAA,qBAAM,WAAN;AAAgB,KADhB;;AAEJ;AAFkB;AAKZ;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAI;AAOO;AAAA,QAAG,cAAH,EAA4B;AAAA;AAAS,KAArC,MAA2C;AAAA;AAAE;AAAA;AAC7C;AAAA,QAAG,cAAH,EAA8B;AAAA;AAAS,KAAvC;AAAA;AAAA;AAA+C;AAEpD;AAAA,iBAAsB;AAAA;AAAe,KAArC;;AACJ;AADuB;AAG/B;AAAA;AAAwB;AAEnB;AAAA,uBAAY,mIAAZ;AAAgC,C;;;;;;;;;;;;;;;;AJjEzC;AACA;AACA;;IACqB6N,M;AACjB,oBAAY/N,GAAZ,EAAiBC,IAAjB,EAAuB;AAAA;;AACnB,aAAKD,GAAL,GAAWA,MAAM,CAAjB;AACA,aAAKC,IAAL,GAAYA,IAAZ;AACH;;;;+BACMrD,K,EAAO;AACV,mBAAOyF,mEAAYA,CAAC,IAAb,EAAmBzF,KAAnB,CAAP;AACH;;;kCACSA,K,EAAO;AACb,mBAAO0F,oEAAaA,CAAC,IAAd,EAAoB1F,KAApB,CAAP;AACH;;aACA0B,wDAAOA,CAAC/B,U;gCAAc;AACnB,mBAAO;AACHwG,sBAAM,oCADH;AAEHhE,4BAAY,CAAC,aAAD,EAAgB,mBAAhB,EAAqC,oBAArC,CAFT;AAGHgB,uBAAO,CAAC,CAAC,IAAD,EAAOvC,mEAAYA,CAAC,GAAb,CAAP,CAAD,EAA4B,CAAC,OAAD,EAAUA,mEAAYA,CAAC,QAAb,CAAV,CAA5B;AAHJ,aAAP;AAKH;;;;;;yDAjBgBuQ,M;;AAmBd,SAAStd,GAAT,CAAaZ,CAAb,EAAgBiJ,MAAhB,EAAwB;AAC3B,WAAOA,OAAOkH,GAAP,KAAe,CAAf,GAAmB,IAAI+N,MAAJ,CAAW,CAAX,EAAcle,EAAEiJ,OAAOmH,IAAT,CAAd,CAAnB,GAAmDnH,MAA1D;AACH;AACM,SAASkV,QAAT,CAAkBne,CAAlB,EAAqBiJ,MAArB,EAA6B;AAChC,WAAOA,OAAOkH,GAAP,KAAe,CAAf,GAAmB,IAAI+N,MAAJ,CAAW,CAAX,EAAcle,EAAEiJ,OAAOmH,IAAT,CAAd,CAAnB,GAAmDnH,MAA1D;AACH;AACM,SAASmV,IAAT,CAAcpe,CAAd,EAAiBiJ,MAAjB,EAAyB;AAC5B,WAAOA,OAAOkH,GAAP,KAAe,CAAf,GAAmBnQ,EAAEiJ,OAAOmH,IAAT,CAAnB,GAAoCnH,MAA3C;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AKrBG,kBAOK,yGANL,mLAMK,2NAPL;AASC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAGW,0IAGR;AAAA,8BAAyB;AAAA;AAAA,0CAGrB;AAAA,6CAAW,eAAX,EAGA;AAAA,2IAAQ,iHAAR;AAGA,uDAAQ,aAAR;AAAsB,yBANtB;AAAA,qBAHqB;AAAA;AAAA,aAAzB;;AAaA;AAAc,SAhBN;AAHL;;AAAN;AAAA;AAAA,mDAsBuB;AAAA;AAAA;AAAA;AAAA;;AAAA,+BAEhB;AAAA,iBAA+F;AAAA;AAAU,iBAAzG,8GAAQ,8HAAR,UAAiC,yQAAjC;AAAyG,aAFzF,MAIhB;AAAA,iBAAwF;AAAA;AAAU,iBAAlG,8GAAQ,yHAAR,UAA4B,6QAA5B;AAAkG;AAAA;AA1BzG;AAAA;AAAA,uCA6BG;AAAA,gBAAG,kBAAH,EACI;AAAA,4BAAQ,kBAAR;AAAA;AAA6B;AAC1B;AA/BV;AAAA;AAAA,4BAkCe;AAAA;;AAAA;AAAA;AAAG,aAAH;AAAG;AAlClB;AAAA;AAAA,4BAmCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAnCnC;AAAA;AAAA,4BAoCgB;AAAA;;AAAA;AAAA;AAAiB,aAAjB;AAAiB;AApCjC;AAAA;AAAA,4BAqCgB;AAAA;;AAAA;AAAA;AAAoB,aAApB;AAAoB;AArCpC;AAAA;AAAA,4BAsCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAtCnC;AAAA;AAAA,4BAuCiB;AAAA;;AAAA;AAAA;AAAkB,aAAlB;AAAkB;AAvCnC;;AAAA;AAAA;;AA0CD;AAAK,kIAAL;AAAA;AACC;AAGD;AAAK,kIAAL;AAAA;AACC;4HACiB,a;;;;;;;;;;;;;;ALlEtB;AACA;AACA;AACA;AACA;AACO,SAASvG,OAAT,CAAiBgU,IAAjB,EAAuB2H,IAAvB,EAA6B;AAChC,QAAIze,MAAMye,QAAQ,IAAI9e,IAAJ,EAAlB;AACA,SAAK,IAAIoB,IAAI+V,KAAKvS,MAAL,GAAc,CAA3B,EAA8BxD,KAAK,CAAnC,EAAsCA,GAAtC,EAA2C;AACvCf,cAAM,IAAIL,IAAJ,CAASmX,KAAK/V,CAAL,CAAT,EAAkBf,GAAlB,CAAN;AACH;AACD,WAAOA,GAAP;AACH;;IACoBL,I;AACjB,kBAAYkD,IAAZ,EAAkBD,IAAlB,EAAwB;AAAA;;AACpB,aAAKC,IAAL,GAAYA,IAAZ;AACA,aAAKD,IAAL,GAAYA,IAAZ;AACH;;;;mCACU;AACP,mBAAO,MAAMD,MAAM+D,IAAN,CAAW,IAAX,EAAiB1F,GAAjB,CAAqB,UAACf,CAAD;AAAA,uBAAO0P,+DAAQA,CAAC1P,CAAT,CAAP;AAAA,aAArB,EAAyCwQ,IAAzC,CAA8C,IAA9C,CAAN,GAA4D,GAAnE;AACH;;;+BACMtD,K,EAAO;AACV;AACA,gBAAI,SAASA,KAAb,EAAoB;AAChB,uBAAO,IAAP;AACH,aAFD,MAGK;AACD,oBAAIjG,OAAO,IAAX;AACA,oBAAIC,OAAOgG,KAAX;AACA,uBAAOpG,6DAAMA,CAACG,KAAKrE,IAAZ,EAAkBsE,KAAKtE,IAAvB,CAAP,EAAqC;AACjCqE,2BAAOA,KAAKtE,IAAZ;AACAuE,2BAAOA,KAAKvE,IAAZ;AACA,wBAAIsE,QAAQ,IAAZ,EAAkB;AACd,+BAAOC,QAAQ,IAAf;AACH;AACJ;AACD,uBAAO,KAAP;AACH;AACJ;;;kCACSgG,K,EAAO;AACb;AACA,gBAAI,SAASA,KAAb,EAAoB;AAChB,uBAAO,CAAP;AACH,aAFD,MAGK;AACD,oBAAIjG,OAAO,IAAX;AACA,oBAAIC,OAAOgG,KAAX;AACA,oBAAIlJ,MAAM2F,8DAAOA,CAAC1C,KAAKrE,IAAb,EAAmBsE,KAAKtE,IAAxB,CAAV;AACA,uBAAOoB,QAAQ,CAAf,EAAkB;AACdiD,2BAAOA,KAAKtE,IAAZ;AACAuE,2BAAOA,KAAKvE,IAAZ;AACA,wBAAIsE,QAAQ,IAAZ,EAAkB;AACd,+BAAOC,QAAQ,IAAR,GAAe,CAAf,GAAmB,CAAC,CAA3B;AACH;AACDlD,0BAAM2F,8DAAOA,CAAC1C,KAAKrE,IAAb,EAAmBsE,KAAKtE,IAAxB,CAAN;AACH;AACD,uBAAOoB,GAAP;AACH;AACJ;;aAUAP,OAAOC,Q;gCAAY;AAChB,gBAAIT,MAAM,IAAV;AACA,mBAAO;AACHC,sBAAM,gBAAM;AACR,wBAAMub,MAAMxb,GAAZ;AACAA,0BAAMA,IAAIN,IAAV;AACA,2BAAO,EAAEU,MAAMob,IAAI9b,IAAJ,IAAY,IAApB,EAA0BS,OAAOqb,IAAI7b,IAArC,EAAP;AACH;AALE,aAAP;AAOH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;aACCgM,wDAAOA,CAAC/B,U;gCAAc;AACnB,mBAAO;AACHwG,sBAAM,yCADH;AAEHhE,4BAAY,CAAC,mBAAD,EAAsB,oBAAtB;AAFT,aAAP;AAIH;;;4BAtDY;AACT,gBAAIpM,MAAM,IAAV;AACA,gBAAIlD,MAAM,CAAV;AACA,mBAAOkD,IAAIN,IAAJ,IAAY,IAAnB,EAAyB;AACrBM,sBAAMA,IAAIN,IAAV;AACA5C;AACH;AACD,mBAAOA,GAAP;AACH;;;;;;AAtDgBL,6D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAZrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASuC,OAAT,CAAiB9B,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B,QAAM4S,OAAO,EAAb;AACA,QAAMxP,OAAOpD,GAAG6D,OAAOC,QAAV,GAAb;AACA,QAAI3D,MAAM2e,QAAV;AACA,QAAIzb,MAAMD,KAAKE,IAAL,EAAV;AACA,WAAO,CAACD,IAAII,IAAZ,EAAkB;AACd,YAAMjB,IAAIjC,EAAE8C,IAAIG,KAAN,CAAV;AACA,YAAMub,KAAKxZ,QAAQ/C,CAAR,EAAWrC,GAAX,CAAX;AACA,YAAI4e,MAAM,IAAV,EAAgB;AACZnM,iBAAKhJ,IAAL,CAAUpH,CAAV;AACArC,kBAAM6e,IAAIxc,CAAJ,EAAO,CAACa,IAAIG,KAAL,CAAP,EAAoBrD,GAApB,CAAN;AACH,SAHD,MAIK;AACDO,6EAAQA,CAACqe,EAAT,EAAanV,IAAb,CAAkBvG,IAAIG,KAAtB;AACH;AACDH,cAAMD,KAAKE,IAAL,EAAN;AACH;AACD,WAAOsP,KAAKzR,GAAL,CAAS,UAACqB,CAAD;AAAA,eAAO,CAACA,CAAD,EAAIrC,IAAI6M,GAAJ,CAAQxK,CAAR,CAAJ,CAAP;AAAA,KAAT,CAAP;AACH;AACM,SAASyc,OAAT,CAAiB1e,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B,WAAOqC,QAAQ9B,CAAR,EAAWP,EAAX,EAAemB,GAAf,CAAmB,UAAC+d,EAAD;AAAA,eAAQ,CAACA,GAAG,CAAH,CAAD,EAAQA,GAAG,CAAH,EAAMxa,MAAd,CAAR;AAAA,KAAnB,CAAP;AACH;AACM,IAAMya,OAAb,GACI,iBAAYzO,GAAZ,EAAiBC,IAAjB,EAAuB;AAAA;;AACnB,SAAKD,GAAL,GAAWA,MAAM,CAAjB;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACH,CAJL;AAMA,SAASyO,YAAT,CAAsBjf,GAAtB,EAA2B4U,CAA3B,EAA8B;AAC1BsK,aAAS,OAAO,IAAP,EAAa;AAClB,YAAItK,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,mBAAOvQ,MAAM,CAAN,GAAU,CAAjB;AACH,SAFD,MAGK,IAAI4U,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClBvQ,kBAAMif,aAAajf,MAAM,CAAnB,EAAsB4U,EAAEpE,IAAF,CAAO,CAAP,CAAtB,CAAN;AACAoE,gBAAIA,EAAEpE,IAAF,CAAO,CAAP,CAAJ;AACA,qBAAS0O,OAAT;AACH,SAJI,MAKA;AACD,mBAAOlf,MAAM,CAAb;AACH;AACJ;AACJ;AACD,SAASmf,SAAT,CAAmBlf,CAAnB,EAAsB;AAClB,WAAOgf,aAAa,CAAb,EAAgBhf,CAAhB,CAAP;AACH;AACD,SAASmf,UAAT,GAAsB;AAClB,WAAO,IAAIJ,OAAJ,CAAY,CAAZ,CAAP;AACH;AACD,SAASK,WAAT,CAAqBC,KAArB,EAA4B;AACxB,WAAOA,MAAM/O,GAAN,KAAc,CAAd,GAAkB,CAAlB,GAAsB+O,MAAM/O,GAAN,KAAc,CAAd,GAAkB+O,MAAM9O,IAAN,CAAW,CAAX,CAAlB,GAAkC,CAA/D;AACH;AACD,SAAS+O,YAAT,CAAsB3K,CAAtB,EAAyB;AACrB,WAAOA,EAAErE,GAAF,KAAU,CAAV,GAAc,IAAd,GAAqB,KAA5B;AACH;AACD,SAASiP,OAAT,CAAiBC,CAAjB,EAAoBpd,CAApB,EAAuBqO,CAAvB,EAA0BrQ,CAA1B,EAA6B;AACzB,QAAMqf,aAAaD,EAAElP,GAAF,KAAU,CAAV,GAAclQ,EAAEkQ,GAAF,KAAU,CAAV,GAAc,CAAd,GAAkB,CAAhC,GAAoC,CAAvD;AACA,YAAQmP,UAAR;AACI,aAAK,CAAL;AACI,mBAAO,IAAIV,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,CAAf,CAAP;AACJ,aAAK,CAAL;AACI,gBAAMiP,KAAKN,YAAYI,CAAZ,IAAiB,CAA5B;AACA,gBAAMG,KAAKP,YAAYhf,CAAZ,IAAiB,CAA5B;AACA,gBAAMuU,IAAI,CAAC+K,KAAKC,EAAL,GAAUA,EAAV,GAAeD,EAAhB,IAAsB,CAAhC;AACA,mBAAO,IAAIX,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,EAAO+O,CAAP,EAAUpf,CAAV,EAAauU,IAAI,CAAjB,CAAf,CAAP;AAPR;AASA,UAAM,IAAI9T,KAAJ,CAAU,6BAAV,CAAN;AACH;AACD,SAAS+e,cAAT,CAAwBC,EAAxB,EAA4Bzd,CAA5B,EAA+BqO,CAA/B,EAAkCqP,EAAlC,EAAsC;AAClC,QAAMC,MAAMX,YAAYS,EAAZ,CAAZ;AACA,QAAMG,MAAMZ,YAAYU,EAAZ,CAAZ;AACA,QAAIE,MAAMD,MAAM,CAAhB,EAAmB;AACf,YAAID,GAAGxP,GAAH,KAAW,CAAf,EAAkB;AACd,gBAAI8O,YAAYU,GAAGvP,IAAH,CAAQ,CAAR,CAAZ,IAA0BwP,MAAM,CAApC,EAAuC;AACnC,oBAAID,GAAGvP,IAAH,CAAQ,CAAR,EAAWD,GAAX,KAAmB,CAAvB,EAA0B;AACtB,2BAAOiP,QAAQA,QAAQM,EAAR,EAAYzd,CAAZ,EAAeqO,CAAf,EAAkBqP,GAAGvP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAlB,CAAR,EAA+CuP,GAAGvP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA/C,EAAmEuP,GAAGvP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAnE,EAAuFgP,QAAQO,GAAGvP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAR,EAA4BuP,GAAGvP,IAAH,CAAQ,CAAR,CAA5B,EAAwCuP,GAAGvP,IAAH,CAAQ,CAAR,CAAxC,EAAoDuP,GAAGvP,IAAH,CAAQ,CAAR,CAApD,CAAvF,CAAP;AACH,iBAFD,MAGK;AACD,0BAAM,IAAI1P,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,aAPD,MAQK;AACD,uBAAO0e,QAAQA,QAAQM,EAAR,EAAYzd,CAAZ,EAAeqO,CAAf,EAAkBqP,GAAGvP,IAAH,CAAQ,CAAR,CAAlB,CAAR,EAAuCuP,GAAGvP,IAAH,CAAQ,CAAR,CAAvC,EAAmDuP,GAAGvP,IAAH,CAAQ,CAAR,CAAnD,EAA+DuP,GAAGvP,IAAH,CAAQ,CAAR,CAA/D,CAAP;AACH;AACJ,SAZD,MAaK;AACD,kBAAM,IAAI1P,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,KAjBD,MAkBK;AACD,YAAIkf,MAAMC,MAAM,CAAhB,EAAmB;AACf,gBAAIH,GAAGvP,GAAH,KAAW,CAAf,EAAkB;AACd,oBAAI8O,YAAYS,GAAGtP,IAAH,CAAQ,CAAR,CAAZ,IAA0ByP,MAAM,CAApC,EAAuC;AACnC,wBAAIH,GAAGtP,IAAH,CAAQ,CAAR,EAAWD,GAAX,KAAmB,CAAvB,EAA0B;AACtB,+BAAOiP,QAAQA,QAAQM,GAAGtP,IAAH,CAAQ,CAAR,CAAR,EAAoBsP,GAAGtP,IAAH,CAAQ,CAAR,CAApB,EAAgCsP,GAAGtP,IAAH,CAAQ,CAAR,CAAhC,EAA4CsP,GAAGtP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA5C,CAAR,EAAyEsP,GAAGtP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAzE,EAA6FsP,GAAGtP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAA7F,EAAiHgP,QAAQM,GAAGtP,IAAH,CAAQ,CAAR,EAAWA,IAAX,CAAgB,CAAhB,CAAR,EAA4BnO,CAA5B,EAA+BqO,CAA/B,EAAkCqP,EAAlC,CAAjH,CAAP;AACH,qBAFD,MAGK;AACD,8BAAM,IAAIjf,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,iBAPD,MAQK;AACD,2BAAO0e,QAAQM,GAAGtP,IAAH,CAAQ,CAAR,CAAR,EAAoBsP,GAAGtP,IAAH,CAAQ,CAAR,CAApB,EAAgCsP,GAAGtP,IAAH,CAAQ,CAAR,CAAhC,EAA4CgP,QAAQM,GAAGtP,IAAH,CAAQ,CAAR,CAAR,EAAoBnO,CAApB,EAAuBqO,CAAvB,EAA0BqP,EAA1B,CAA5C,CAAP;AACH;AACJ,aAZD,MAaK;AACD,sBAAM,IAAIjf,KAAJ,CAAU,WAAV,CAAN;AACH;AACJ,SAjBD,MAkBK;AACD,mBAAO0e,QAAQM,EAAR,EAAYzd,CAAZ,EAAeqO,CAAf,EAAkBqP,EAAlB,CAAP;AACH;AACJ;AACJ;AACD,SAASG,QAAT,CAAkBC,QAAlB,EAA4B9d,CAA5B,EAA+BqO,CAA/B,EAAkCkE,CAAlC,EAAqC;AACjC,QAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,YAAMoI,IAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAImI,IAAI,CAAR,EAAW;AACP,mBAAO,IAAIqG,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,EAAO,IAAIsO,OAAJ,CAAY,CAAZ,CAAP,EAAuBpK,CAAvB,EAA0B,CAA1B,CAAf,CAAP;AACH,SAFD,MAGK,IAAI+D,MAAM,CAAV,EAAa;AACd,mBAAO,IAAIqG,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,CAAf,CAAP;AACH;AACD,eAAO,IAAIsO,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,EAAOkE,CAAP,EAAU,IAAIoK,OAAJ,CAAY,CAAZ,CAAV,EAA0B,CAA1B,CAAf,CAAP;AACH,KATD,MAUK,IAAIpK,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMoI,KAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAImI,KAAI,CAAR,EAAW;AACP,mBAAOkH,eAAeK,SAASC,QAAT,EAAmB9d,CAAnB,EAAsBqO,CAAtB,EAAyBkE,EAAEpE,IAAF,CAAO,CAAP,CAAzB,CAAf,EAAoDoE,EAAEpE,IAAF,CAAO,CAAP,CAApD,EAA+DoE,EAAEpE,IAAF,CAAO,CAAP,CAA/D,EAA0EoE,EAAEpE,IAAF,CAAO,CAAP,CAA1E,CAAP;AACH,SAFD,MAGK,IAAImI,OAAM,CAAV,EAAa;AACd,mBAAO,IAAIqG,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,EAAOkE,EAAEpE,IAAF,CAAO,CAAP,CAAP,EAAkBoE,EAAEpE,IAAF,CAAO,CAAP,CAAlB,EAA6BoE,EAAEpE,IAAF,CAAO,CAAP,CAA7B,CAAf,CAAP;AACH;AACD,eAAOqP,eAAejL,EAAEpE,IAAF,CAAO,CAAP,CAAf,EAA0BoE,EAAEpE,IAAF,CAAO,CAAP,CAA1B,EAAqCoE,EAAEpE,IAAF,CAAO,CAAP,CAArC,EAAgD0P,SAASC,QAAT,EAAmB9d,CAAnB,EAAsBqO,CAAtB,EAAyBkE,EAAEpE,IAAF,CAAO,CAAP,CAAzB,CAAhD,CAAP;AACH;AACD,WAAO,IAAIwO,OAAJ,CAAY,CAAZ,EAAe,CAAC3c,CAAD,EAAIqO,CAAJ,CAAf,CAAP;AACH;AACD,SAAS2P,SAAT,CAAmBF,QAAnB,EAA6B9d,CAA7B,EAAgCuS,CAAhC,EAAmC;AAC/B,QAAM3Q,MAAMqc,aAAaH,QAAb,EAAuB9d,CAAvB,EAA0BuS,CAA1B,CAAZ;AACA,QAAI3Q,OAAO,IAAX,EAAiB;AACb,cAAM,IAAInD,KAAJ,CAAU,oBAAoBuB,CAA9B,CAAN;AACH;AACD,WAAO9B,iEAAQA,CAAC0D,GAAT,CAAP;AACH;AACD,SAASqc,YAAT,CAAsBH,QAAtB,EAAgC9d,CAAhC,EAAmCuS,CAAnC,EAAsC;AAClCxP,aAAS,OAAO,IAAP,EAAa;AAClB,YAAIwP,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,gBAAMoI,IAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA3C;AACA,gBAAImI,MAAM,CAAV,EAAa;AACT,uBAAOzQ,iEAAQA,CAAC0M,EAAEpE,IAAF,CAAO,CAAP,CAAT,CAAP;AACH,aAFD,MAGK;AACD,uBAAO,IAAP;AACH;AACJ,SARD,MASK,IAAIoE,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,gBAAMgQ,MAAMJ,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA7C;AACA,gBAAI+P,MAAM,CAAV,EAAa;AACTJ,2BAAWA,QAAX;AACA9d,oBAAIA,CAAJ;AACAuS,oBAAIA,EAAEpE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASpL,OAAT;AACH,aALD,MAMK,IAAImb,QAAQ,CAAZ,EAAe;AAChB,uBAAOrY,iEAAQA,CAAC0M,EAAEpE,IAAF,CAAO,CAAP,CAAT,CAAP;AACH,aAFI,MAGA;AACD2P,2BAAWA,QAAX;AACA9d,oBAAIA,CAAJ;AACAuS,oBAAIA,EAAEpE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASpL,OAAT;AACH;AACJ,SAjBI,MAkBA;AACD,mBAAO,IAAP;AACH;AACJ;AACJ;AACD,SAASob,eAAT,CAAyBL,QAAzB,EAAmC/f,CAAnC,EAAsCiC,CAAtC,EAAyCqO,CAAzC,EAA4C+P,IAA5C,EAAkDC,IAAlD,EAAwD;AACpD,WAAOtgB,EAAEiC,CAAF,EAAKqO,CAAL,IAAU,CAACwP,SAASC,QAAT,EAAmB9d,CAAnB,EAAsBqO,CAAtB,EAAyB+P,IAAzB,CAAD,EAAiCC,IAAjC,CAAV,GAAmD,CAACD,IAAD,EAAOP,SAASC,QAAT,EAAmB9d,CAAnB,EAAsBqO,CAAtB,EAAyBgQ,IAAzB,CAAP,CAA1D;AACH;AACD,SAASC,iBAAT,CAA2BR,QAA3B,EAAqC/f,CAArC,EAAwC+Q,CAAxC,EAA2CyP,KAA3C,EAAkDC,KAAlD,EAAyD;AACrD,QAAM7gB,MAAM,CAAC4gB,KAAD,EAAQC,KAAR,CAAZ;AACA,QAAI1P,EAAEZ,GAAF,KAAU,CAAd,EAAiB;AACb,eAAOiQ,gBAAgBL,QAAhB,EAA0B/f,CAA1B,EAA6B+Q,EAAEX,IAAF,CAAO,CAAP,CAA7B,EAAwCW,EAAEX,IAAF,CAAO,CAAP,CAAxC,EAAmDxQ,IAAI,CAAJ,CAAnD,EAA2DA,IAAI,CAAJ,CAA3D,CAAP;AACH,KAFD,MAGK,IAAImR,EAAEZ,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMuQ,QAAQH,kBAAkBR,QAAlB,EAA4B/f,CAA5B,EAA+B+Q,EAAEX,IAAF,CAAO,CAAP,CAA/B,EAA0CxQ,IAAI,CAAJ,CAA1C,EAAkDA,IAAI,CAAJ,CAAlD,CAAd;AACA,YAAM+gB,QAAQP,gBAAgBL,QAAhB,EAA0B/f,CAA1B,EAA6B+Q,EAAEX,IAAF,CAAO,CAAP,CAA7B,EAAwCW,EAAEX,IAAF,CAAO,CAAP,CAAxC,EAAmDsQ,MAAM,CAAN,CAAnD,EAA6DA,MAAM,CAAN,CAA7D,CAAd;AACA,eAAOH,kBAAkBR,QAAlB,EAA4B/f,CAA5B,EAA+B+Q,EAAEX,IAAF,CAAO,CAAP,CAA/B,EAA0CuQ,MAAM,CAAN,CAA1C,EAAoDA,MAAM,CAAN,CAApD,CAAP;AACH;AACD,WAAO/gB,GAAP;AACH;AACD,SAASghB,cAAT,CAAwBb,QAAxB,EAAkC/f,CAAlC,EAAqC+Q,CAArC,EAAwC;AACpC,WAAOwP,kBAAkBR,QAAlB,EAA4B/f,CAA5B,EAA+B+Q,CAA/B,EAAkCiO,YAAlC,EAAgDA,YAAhD,CAAP;AACH;AACD,SAAS6B,YAAT,CAAsBd,QAAtB,EAAgC/f,CAAhC,EAAmCiC,CAAnC,EAAsCqO,CAAtC,EAAyC1Q,GAAzC,EAA8C;AAC1C,WAAOI,EAAEiC,CAAF,EAAKqO,CAAL,IAAUwP,SAASC,QAAT,EAAmB9d,CAAnB,EAAsBqO,CAAtB,EAAyB1Q,GAAzB,CAAV,GAA0CA,GAAjD;AACH;AACD,SAASkhB,cAAT,CAAwBf,QAAxB,EAAkC/f,CAAlC,EAAqC+Q,CAArC,EAAwCnR,GAAxC,EAA6C;AACzC,WAAOmR,EAAEZ,GAAF,KAAU,CAAV,GAAc0Q,aAAad,QAAb,EAAuB/f,CAAvB,EAA0B+Q,EAAEX,IAAF,CAAO,CAAP,CAA1B,EAAqCW,EAAEX,IAAF,CAAO,CAAP,CAArC,EAAgDxQ,GAAhD,CAAd,GAAqEmR,EAAEZ,GAAF,KAAU,CAAV,GACxE2Q,eAAef,QAAf,EAAyB/f,CAAzB,EAA4B+Q,EAAEX,IAAF,CAAO,CAAP,CAA5B,EAAuCyQ,aAAad,QAAb,EAAuB/f,CAAvB,EAA0B+Q,EAAEX,IAAF,CAAO,CAAP,CAA1B,EAAqCW,EAAEX,IAAF,CAAO,CAAP,CAArC,EAAgD0Q,eAAef,QAAf,EAAyB/f,CAAzB,EAA4B+Q,EAAEX,IAAF,CAAO,CAAP,CAA5B,EAAuCxQ,GAAvC,CAAhD,CAAvC,CADwE,GAC+DA,GAD3I;AAEH;AACD,SAASmhB,WAAT,CAAqBhB,QAArB,EAA+B/f,CAA/B,EAAkC+Q,CAAlC,EAAqC;AACjC,WAAO+P,eAAef,QAAf,EAAyB/f,CAAzB,EAA4B+Q,CAA5B,EAA+BiO,YAA/B,CAAP;AACH;AACD,SAASgC,uBAAT,CAAiCxM,CAAjC,EAAoC;AAChC,QAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,eAAO,CAACqE,EAAEpE,IAAF,CAAO,CAAP,CAAD,EAAYoE,EAAEpE,IAAF,CAAO,CAAP,CAAZ,EAAuB,IAAIwO,OAAJ,CAAY,CAAZ,CAAvB,CAAP;AACH,KAFD,MAGK,IAAIpK,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAIqE,EAAEpE,IAAF,CAAO,CAAP,EAAUD,GAAV,KAAkB,CAAtB,EAAyB;AACrB,mBAAO,CAACqE,EAAEpE,IAAF,CAAO,CAAP,CAAD,EAAYoE,EAAEpE,IAAF,CAAO,CAAP,CAAZ,EAAuBoE,EAAEpE,IAAF,CAAO,CAAP,CAAvB,CAAP;AACH,SAFD,MAGK;AACD,gBAAM6Q,MAAMD,wBAAwBxM,EAAEpE,IAAF,CAAO,CAAP,CAAxB,CAAZ;AACA,mBAAO,CAAC6Q,IAAI,CAAJ,CAAD,EAASA,IAAI,CAAJ,CAAT,EAAiB7B,QAAQ6B,IAAI,CAAJ,CAAR,EAAgBzM,EAAEpE,IAAF,CAAO,CAAP,CAAhB,EAA2BoE,EAAEpE,IAAF,CAAO,CAAP,CAA3B,EAAsCoE,EAAEpE,IAAF,CAAO,CAAP,CAAtC,CAAjB,CAAP;AACH;AACJ;AACD,UAAM,IAAI1P,KAAJ,CAAU,wCAAV,CAAN;AACH;AACD,SAASwgB,WAAT,CAAqBnB,QAArB,EAA+B9d,CAA/B,EAAkCuS,CAAlC,EAAqC;AACjC,QAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,YAAMoI,IAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAImI,MAAM,CAAV,EAAa;AACT,mBAAO,IAAIqG,OAAJ,CAAY,CAAZ,CAAP;AACH,SAFD,MAGK;AACD,mBAAOpK,CAAP;AACH;AACJ,KARD,MASK,IAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMoI,MAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,CAAV;AACA,YAAImI,MAAI,CAAR,EAAW;AACP,mBAAOkH,eAAeyB,YAAYnB,QAAZ,EAAsB9d,CAAtB,EAAyBuS,EAAEpE,IAAF,CAAO,CAAP,CAAzB,CAAf,EAAoDoE,EAAEpE,IAAF,CAAO,CAAP,CAApD,EAA+DoE,EAAEpE,IAAF,CAAO,CAAP,CAA/D,EAA0EoE,EAAEpE,IAAF,CAAO,CAAP,CAA1E,CAAP;AACH,SAFD,MAGK,IAAImI,QAAM,CAAV,EAAa;AACd,gBAAI/D,EAAEpE,IAAF,CAAO,CAAP,EAAUD,GAAV,KAAkB,CAAtB,EAAyB;AACrB,uBAAOqE,EAAEpE,IAAF,CAAO,CAAP,CAAP;AACH,aAFD,MAGK;AACD,oBAAIoE,EAAEpE,IAAF,CAAO,CAAP,EAAUD,GAAV,KAAkB,CAAtB,EAAyB;AACrB,2BAAOqE,EAAEpE,IAAF,CAAO,CAAP,CAAP;AACH,iBAFD,MAGK;AACD,wBAAMuI,QAAQqI,wBAAwBxM,EAAEpE,IAAF,CAAO,CAAP,CAAxB,CAAd;AACA,2BAAOgP,QAAQ5K,EAAEpE,IAAF,CAAO,CAAP,CAAR,EAAmBuI,MAAM,CAAN,CAAnB,EAA6BA,MAAM,CAAN,CAA7B,EAAuCA,MAAM,CAAN,CAAvC,CAAP;AACH;AACJ;AACJ,SAbI,MAcA;AACD,mBAAO8G,eAAejL,EAAEpE,IAAF,CAAO,CAAP,CAAf,EAA0BoE,EAAEpE,IAAF,CAAO,CAAP,CAA1B,EAAqCoE,EAAEpE,IAAF,CAAO,CAAP,CAArC,EAAgD8Q,YAAYnB,QAAZ,EAAsB9d,CAAtB,EAAyBuS,EAAEpE,IAAF,CAAO,CAAP,CAAzB,CAAhD,CAAP;AACH;AACJ,KAtBI,MAuBA;AACD,eAAO4O,YAAP;AACH;AACJ;AACD,SAASmC,QAAT,CAAkBpB,QAAlB,EAA4B9d,CAA5B,EAA+BuS,CAA/B,EAAkC;AAC9B4M,SAAK,OAAO,IAAP,EAAa;AACd,YAAI5M,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,mBAAO4P,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,MAAmC,CAA1C;AACH,SAFD,MAGK,IAAIoE,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,gBAAMoI,IAAIwH,SAASC,OAAT,CAAiB/d,CAAjB,EAAoBuS,EAAEpE,IAAF,CAAO,CAAP,CAApB,IAAiC,CAA3C;AACA,gBAAImI,IAAI,CAAR,EAAW;AACPwH,2BAAWA,QAAX;AACA9d,oBAAIA,CAAJ;AACAuS,oBAAIA,EAAEpE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASgR,GAAT;AACH,aALD,MAMK,IAAI7I,MAAM,CAAV,EAAa;AACd,uBAAO,IAAP;AACH,aAFI,MAGA;AACDwH,2BAAWA,QAAX;AACA9d,oBAAIA,CAAJ;AACAuS,oBAAIA,EAAEpE,IAAF,CAAO,CAAP,CAAJ;AACA,yBAASgR,GAAT;AACH;AACJ,SAjBI,MAkBA;AACD,mBAAO,KAAP;AACH;AACJ;AACJ;AACD,SAASC,SAAT,CAAmBrhB,CAAnB,EAAsBwU,CAAtB,EAAyB;AACrB,QAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACbnQ,UAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb;AACH,KAFD,MAGK,IAAIoE,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClBkR,kBAAUrhB,CAAV,EAAawU,EAAEpE,IAAF,CAAO,CAAP,CAAb;AACApQ,UAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb;AACAiR,kBAAUrhB,CAAV,EAAawU,EAAEpE,IAAF,CAAO,CAAP,CAAb;AACH;AACJ;AACD,SAASkR,YAAT,CAAsBthB,CAAtB,EAAyBwU,CAAzB,EAA4B;AACxB,QAAIA,EAAErE,GAAF,KAAU,CAAd,EAAiB;AACb,eAAOnQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAAP;AACH,KAFD,MAGK,IAAIoE,EAAErE,GAAF,KAAU,CAAd,EAAiB;AAClB,YAAMmP,aAAagC,aAAathB,CAAb,EAAgBwU,EAAEpE,IAAF,CAAO,CAAP,CAAhB,CAAnB;AACA,YAAIkP,cAAc,IAAlB,EAAwB;AACpB,gBAAMiC,eAAevhB,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAArB;AACA,gBAAImR,gBAAgB,IAApB,EAA0B;AACtB,uBAAOD,aAAathB,CAAb,EAAgBwU,EAAEpE,IAAF,CAAO,CAAP,CAAhB,CAAP;AACH,aAFD,MAGK;AACD,oBAAMvM,MAAM0d,YAAZ;AACA,uBAAO1d,GAAP;AACH;AACJ,SATD,MAUK;AACD,mBAAOyb,UAAP;AACH;AACJ,KAfI,MAgBA;AACD,eAAO,IAAP;AACH;AACJ;AACD,SAASkC,WAAT,CAAqBxhB,CAArB,EAAwBwU,CAAxB,EAA2B;AACvB,WAAOA,EAAErE,GAAF,KAAU,CAAV,GAAcnQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAAd,GAAwCoE,EAAErE,GAAF,KAAU,CAAV,GAAc,CAACqR,YAAYxhB,CAAZ,EAAewU,EAAEpE,IAAF,CAAO,CAAP,CAAf,IAC1D,IAD0D,GACnDpQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CADkD,IACvB,IADuB,GAChBoR,YAAYxhB,CAAZ,EAAewU,EAAEpE,IAAF,CAAO,CAAP,CAAf,CADE,GAC0B,KADzE;AAEH;AACD,SAASqR,WAAT,CAAqBzhB,CAArB,EAAwBwU,CAAxB,EAA2B;AACvB,WAAOA,EAAErE,GAAF,KAAU,CAAV,GAAcnQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAAd,GAAwCoE,EAAErE,GAAF,KAAU,CAAV,GAAc,CAACsR,YAAYzhB,CAAZ,EAAewU,EAAEpE,IAAF,CAAO,CAAP,CAAf,IAC1DpQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAD0D,GAChC,KAD+B,IACtBqR,YAAYzhB,CAAZ,EAAewU,EAAEpE,IAAF,CAAO,CAAP,CAAf,CADsB,GACM,KADpB,GAC4B,IAD3E;AAEH;AACD,SAASsR,SAAT,CAAmB1hB,CAAnB,EAAsBwU,CAAtB,EAAyB;AACrB,WAAOA,EAAErE,GAAF,KAAU,CAAV,GAAc,IAAIyO,OAAJ,CAAY,CAAZ,EAAe,CAACpK,EAAEpE,IAAF,CAAO,CAAP,CAAD,EAAYpQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAAZ,CAAf,CAAd,GAAqEoE,EAAErE,GAAF,KAAU,CAAV,GACxE,IAAIyO,OAAJ,CAAY,CAAZ,EAAe,CAACpK,EAAEpE,IAAF,CAAO,CAAP,CAAD,EAAYpQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAAZ,EAAqCsR,UAAU1hB,CAAV,EAAawU,EAAEpE,IAAF,CAAO,CAAP,CAAb,CAArC,EACXsR,UAAU1hB,CAAV,EAAawU,EAAEpE,IAAF,CAAO,CAAP,CAAb,CADW,EACcoE,EAAEpE,IAAF,CAAO,CAAP,CADd,CAAf,CADwE,GAE7B4O,YAF/C;AAGH;AACD,SAAS2C,aAAT,CAAuB3hB,CAAvB,EAA0BwU,CAA1B,EAA6B3U,CAA7B,EAAgC;AAC5B,WAAO2U,EAAErE,GAAF,KAAU,CAAV,GAAcnQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,EAAwBvQ,CAAxB,CAAd,GAA2C2U,EAAErE,GAAF,KAAU,CAAV,GAC9CwR,cAAc3hB,CAAd,EAAiBwU,EAAEpE,IAAF,CAAO,CAAP,CAAjB,EAA4BpQ,EAAEwU,EAAEpE,IAAF,CAAO,CAAP,CAAF,EAAaoE,EAAEpE,IAAF,CAAO,CAAP,CAAb,EAAwBuR,cAAc3hB,CAAd,EAAiBwU,EAAEpE,IAAF,CAAO,CAAP,CAAjB,EAA4BvQ,CAA5B,CAAxB,CAA5B,CAD8C,GACyCA,CAD3F;AAEH;AACD,SAAS+hB,SAAT,CAAmB5hB,CAAnB,EAAsBH,CAAtB,EAAyB2U,CAAzB,EAA4B;AACxB,WAAOA,EAAErE,GAAF,KAAU,CAAV,GAAcnQ,EAAEH,CAAF,EAAK2U,EAAEpE,IAAF,CAAO,CAAP,CAAL,EAAgBoE,EAAEpE,IAAF,CAAO,CAAP,CAAhB,CAAd,GAA2CoE,EAAErE,GAAF,KAAU,CAAV,GAC9CyR,UAAU5hB,CAAV,EAAaA,EAAE4hB,UAAU5hB,CAAV,EAAaH,CAAb,EAAgB2U,EAAEpE,IAAF,CAAO,CAAP,CAAhB,CAAF,EAA8BoE,EAAEpE,IAAF,CAAO,CAAP,CAA9B,EAAyCoE,EAAEpE,IAAF,CAAO,CAAP,CAAzC,CAAb,EAAkEoE,EAAEpE,IAAF,CAAO,CAAP,CAAlE,CAD8C,GACiCvQ,CADnF;AAEH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASgiB,qBAAT,CAA+B9B,QAA/B,EAAyCngB,GAAzC,EAA8CiV,CAA9C,EAAiD;AAC7C,QAAI/R,MAAM+R,EAAE9R,IAAF,EAAV;AACA,WAAO,CAACD,IAAII,IAAZ,EAAkB;AACdtD,cAAMkgB,SAASC,QAAT,EAAmBjd,IAAIG,KAAJ,CAAU,CAAV,CAAnB,EAAiCH,IAAIG,KAAJ,CAAU,CAAV,CAAjC,EAA+CrD,GAA/C,CAAN;AACAkD,cAAM+R,EAAE9R,IAAF,EAAN;AACH;AACD,WAAOnD,GAAP;AACH;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASkiB,UAAT,CAAoB/B,QAApB,EAA8BxH,CAA9B,EAAiC;AAC7B,QAAMwJ,KAAKxJ,EAAEjV,OAAOC,QAAT,GAAX;AACA,WAAOse,sBAAsB9B,QAAtB,EAAgCf,YAAhC,EAA8C+C,EAA9C,CAAP;AACH;AACD;AACA;AACA;AACA,SAASC,gBAAT,CAA0BC,KAA1B,EAAiC;AAC7B,QAAIA,MAAMzf,IAAN,IAAc,IAAlB,EAAwB;AACpB,YAAIyf,MAAMxf,IAAN,CAAW0N,GAAX,KAAmB,CAAvB,EAA0B;AACtB,mBAAO8R,KAAP;AACH,SAFD,MAGK,IAAIA,MAAMxf,IAAN,CAAW0N,GAAX,KAAmB,CAAvB,EAA0B;AAC3B,mBAAO6R,iBAAiBE,mEAAWA,CAAC,CAChCD,MAAMxf,IAAN,CAAW2N,IAAX,CAAgB,CAAhB,CADgC,EAEhC,IAAIwO,OAAJ,CAAY,CAAZ,EAAe,CAACqD,MAAMxf,IAAN,CAAW2N,IAAX,CAAgB,CAAhB,CAAD,EAAqB6R,MAAMxf,IAAN,CAAW2N,IAAX,CAAgB,CAAhB,CAArB,CAAf,CAFgC,EAGhC6R,MAAMxf,IAAN,CAAW2N,IAAX,CAAgB,CAAhB,CAHgC,CAAZ,EAIrB6R,MAAMzf,IAJe,CAAjB,CAAP;AAKH,SANI,MAOA;AACD,mBAAOwf,iBAAiBC,MAAMzf,IAAvB,CAAP;AACH;AACJ,KAdD,MAeK;AACD,eAAO,IAAIjD,2DAAJ,EAAP;AACH;AACJ;AACD,SAAS4iB,eAAT,CAAyBpR,CAAzB,EAA4B;AACxB,WAAO,EAAEkR,OAAOD,iBAAiB,IAAIziB,2DAAJ,CAASwR,CAAT,EAAY,IAAIxR,2DAAJ,EAAZ,CAAjB,CAAT,EAAoD6iB,SAAS,KAA7D,EAAP;AACH;AACD,SAASC,aAAT,CAAuB1hB,CAAvB,EAA0B;AACtB,aAASqC,OAAT,CAAiBwC,EAAjB,EAAqB;AACjB,YAAIA,GAAGyc,KAAH,CAASzf,IAAT,IAAiB,IAArB,EAA2B;AACvB,mBAAO,IAAP;AACH,SAFD,MAGK,IAAIgD,GAAGyc,KAAH,CAASxf,IAAT,CAAc0N,GAAd,KAAsB,CAA1B,EAA6B;AAC9B,mBAAO,CAAC3K,GAAGyc,KAAH,CAASxf,IAAT,CAAc2N,IAAd,CAAmB,CAAnB,CAAD,EAAwB5K,GAAGyc,KAAH,CAASxf,IAAT,CAAc2N,IAAd,CAAmB,CAAnB,CAAxB,CAAP;AACH;AACD,cAAM,IAAI1P,KAAJ,CAAU,iEAAV,CAAN;AACH;AACD,QAAIC,EAAEyhB,OAAN,EAAe;AACX,YAAIzhB,EAAEshB,KAAF,CAAQzf,IAAR,IAAgB,IAApB,EAA0B;AACtB,mBAAO,EAAEU,MAAM,IAAR,EAAcD,OAAO,IAArB,EAAP;AACH,SAFD,MAGK;AACD,gBAAItC,EAAEshB,KAAF,CAAQxf,IAAR,CAAa0N,GAAb,KAAqB,CAAzB,EAA4B;AACxBxP,kBAAEshB,KAAF,GAAUD,iBAAiBrhB,EAAEshB,KAAF,CAAQzf,IAAzB,CAAV;AACA,uBAAO;AACHU,0BAAMvC,EAAEshB,KAAF,CAAQzf,IAAR,IAAgB,IADnB;AAEHS,2BAAOD,QAAQrC,CAAR;AAFJ,iBAAP;AAIH,aAND,MAOK;AACD,sBAAM,IAAID,KAAJ,CAAU,kEAAV,CAAN;AACH;AACJ;AACJ,KAhBD,MAiBK;AACDC,UAAEyhB,OAAF,GAAY,IAAZ;AACA,eAAO;AACHlf,kBAAMvC,EAAEshB,KAAF,CAAQzf,IAAR,IAAgB,IADnB;AAEHS,mBAAOD,QAAQrC,CAAR;AAFJ,SAAP;AAIH;AACJ;;IACoB2hB,Q;AACjB;AACA,wBAAc;AAAA;;AAAE;AAAS;;;;mCACd;AACP,mBAAO,UAAU/f,MAAM+D,IAAN,CAAW,IAAX,EAAiB1F,GAAjB,CAAqB,UAACf,CAAD;AAAA,uBAAO0P,+DAAQA,CAAC1P,CAAT,CAAP;AAAA,aAArB,EAAyCwQ,IAAzC,CAA8C,IAA9C,CAAV,GAAgE,GAAvE;AACH;;;+BACMkS,E,EAAI;AACP,mBAAO,KAAK5Q,SAAL,CAAe4Q,EAAf,MAAuB,CAA9B;AACH;;;kCACSA,E,EAAI;AAAA;;AACV,mBAAO,SAASA,EAAT,GAAc,CAAd,GAAkBC,iEAAcA,CAAC,UAACC,IAAD,EAAOC,IAAP,EAAgB;AACpD,oBAAMnK,IAAI,MAAKwH,QAAL,CAAcC,OAAd,CAAsByC,KAAK,CAAL,CAAtB,EAA+BC,KAAK,CAAL,CAA/B,CAAV;AACA,uBAAOnK,MAAM,CAAN,GAAUA,CAAV,GAAc/O,8DAAOA,CAACiZ,KAAK,CAAL,CAAR,EAAiBC,KAAK,CAAL,CAAjB,CAArB;AACH,aAHwB,EAGtB,IAHsB,EAGhBH,EAHgB,CAAzB;AAIH;;aACAjf,OAAOC,Q;gCAAY;AAChB,gBAAM5C,IAAIwhB,gBAAgB,KAAKQ,IAArB,CAAV;AACA,mBAAO;AACH5f,sBAAM;AAAA,2BAAMsf,cAAc1hB,CAAd,CAAN;AAAA;AADH,aAAP;AAGH;;;kCACS;AACN,mBAAO,KAAK2C,OAAOC,QAAZ,GAAP;AACH;;;+BACM;AACH,mBAAOvB,yDAAMA,CAAC,UAAC2c,EAAD;AAAA,uBAAQA,GAAG,CAAH,CAAR;AAAA,aAAP,EAAsB,IAAtB,CAAP;AACH;;;iCACQ;AACL,mBAAO3c,yDAAMA,CAAC,UAAC2c,EAAD;AAAA,uBAAQA,GAAG,CAAH,CAAR;AAAA,aAAP,EAAsB,IAAtB,CAAP;AACH;;;4BACG1c,C,EAAG;AACH,mBAAOge,UAAU,KAAKF,QAAf,EAAyB9d,CAAzB,EAA4B,KAAK0gB,IAAjC,CAAP;AACH;;;4BACG1gB,C,EAAG;AACH,mBAAOkf,SAAS,KAAKpB,QAAd,EAAwB9d,CAAxB,EAA2B,KAAK0gB,IAAhC,CAAP;AACH;AACD;;;;4BACI1gB,C,EAAGqO,C,EAAG;AACN,iBAAKqS,IAAL,GAAY7C,SAAS,KAAKC,QAAd,EAAwB9d,CAAxB,EAA2BqO,CAA3B,EAA8B,KAAKqS,IAAnC,CAAZ;AACH;AACD;;;;gCACO1gB,C,EAAG;AACN;AACA,gBAAM2gB,UAAU7D,UAAU,KAAK4D,IAAf,CAAhB;AACA,iBAAKA,IAAL,GAAYzB,YAAY,KAAKnB,QAAjB,EAA2B9d,CAA3B,EAA8B,KAAK0gB,IAAnC,CAAZ;AACA,mBAAOC,UAAU7D,UAAU,KAAK4D,IAAf,CAAjB;AACH;AACD;;;;gCACQ;AACJ,iBAAKA,IAAL,GAAY3D,YAAZ;AACH;;aAIAvQ,wDAAOA,CAAC/B,U;gCAAc;AACnB,mBAAO;AACHwG,sBAAM,wCADH;AAEHhE,4BAAY,CAAC,mBAAD,EAAsB,oBAAtB,EAA4C,wCAA5C;AAFT,aAAP;AAIH;;;4BARU;AACP,mBAAO6P,UAAU,KAAK4D,IAAf,CAAP;AACH;;;;;;AArDgBL,kF;;AA6DrB,SAAShc,IAAT,CAAcyZ,QAAd,EAAwB4C,IAAxB,EAA8B;AAC1B,QAAM/hB,MAAM,IAAI0hB,QAAJ,EAAZ;AACA1hB,QAAI+hB,IAAJ,GAAWA,IAAX;AACA/hB,QAAImf,QAAJ,GAAeA,YAAY,IAAI8C,0DAAJ,EAA3B;AACA,WAAOjiB,GAAP;AACH;AACM,SAAS2d,MAAT,CAAgBwD,EAAhB,EAAoBhC,QAApB,EAA8B;AACjCA,eAAWA,YAAY,IAAI8C,0DAAJ,EAAvB;AACA,WAAOvc,KAAKyZ,QAAL,EAAegC,KAAKD,WAAW/B,QAAX,EAAqBgC,EAArB,CAAL,GAAgC/C,YAA/C,CAAP;AACH;AACM,SAASP,GAAT,CAAaxc,CAAb,EAAgBqO,CAAhB,EAAmB1P,GAAnB,EAAwB;AAC3B,WAAO0F,KAAK1F,IAAImf,QAAT,EAAmBD,SAASlf,IAAImf,QAAb,EAAuB9d,CAAvB,EAA0BqO,CAA1B,EAA6B1P,IAAI+hB,IAAjC,CAAnB,CAAP;AACH;AACM,SAASvF,MAAT,CAAgBlV,IAAhB,EAAsBtH,GAAtB,EAA2B;AAC9B,WAAO0F,KAAK1F,IAAImf,QAAT,EAAmBmB,YAAYtgB,IAAImf,QAAhB,EAA0B7X,IAA1B,EAAgCtH,IAAI+hB,IAApC,CAAnB,CAAP;AACH;AACM,SAASG,aAAT,CAAuBxS,CAAvB,EAA0B1P,GAA1B,EAA+B;AAClC,WAAOjB,0DAAOA,CAAC,UAACC,GAAD,EAAMqC,CAAN;AAAA,eAAYrC,OAAO+G,6DAAMA,CAAC/F,IAAI6L,GAAJ,CAAQxK,CAAR,CAAP,EAAmBqO,CAAnB,CAAnB;AAAA,KAAR,EAAkD,KAAlD,EAAyD1P,IAAIyR,IAAJ,EAAzD,CAAP;AACH;AACM,SAAS0Q,WAAT,CAAqBniB,GAArB,EAA0B0R,GAA1B,EAA+BjH,YAA/B,EAA6C;AAChD,WAAOzK,IAAI6P,GAAJ,CAAQ6B,GAAR,IAAe,CAAC,IAAD,EAAO1R,IAAI6L,GAAJ,CAAQ6F,GAAR,CAAP,CAAf,GAAsC,CAAC,KAAD,EAAQjH,YAAR,CAA7C;AACH;AACM,SAASzE,MAAT,CAAgB5G,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAO4gB,YAAYxhB,CAAZ,EAAeY,IAAI+hB,IAAnB,CAAP;AACH;AACM,SAASrX,IAAT,CAAcrJ,CAAd,EAAiBrB,GAAjB,EAAsB;AACzB,WAAOqf,UAAUrf,IAAImf,QAAd,EAAwB9d,CAAxB,EAA2BrB,IAAI+hB,IAA/B,CAAP;AACH;AACM,SAAS3d,OAAT,CAAiB/C,CAAjB,EAAoBrB,GAApB,EAAyB;AAC5B,WAAOsf,aAAatf,IAAImf,QAAjB,EAA2B9d,CAA3B,EAA8BrB,IAAI+hB,IAAlC,CAAP;AACH;AACM,SAASriB,MAAT,CAAgBN,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAO0F,KAAK1F,IAAImf,QAAT,EAAmBgB,YAAYngB,IAAImf,QAAhB,EAA0B/f,CAA1B,EAA6BY,IAAI+hB,IAAjC,CAAnB,CAAP;AACH;AACM,SAASzb,IAAT,CAAclH,CAAd,EAAiB2K,IAAjB,EAAuB/J,GAAvB,EAA4B;AAC/B,WAAOghB,UAAU5hB,CAAV,EAAa2K,IAAb,EAAmB/J,IAAI+hB,IAAvB,CAAP;AACH;AACM,SAAS5e,QAAT,CAAkB/D,CAAlB,EAAqBY,GAArB,EAA0B+J,IAA1B,EAAgC;AACnC,WAAOgX,cAAc3hB,CAAd,EAAiBY,IAAI+hB,IAArB,EAA2BhY,IAA3B,CAAP;AACH;AACM,SAAShD,MAAT,CAAgB3H,CAAhB,EAAmBY,GAAnB,EAAwB;AAC3B,WAAO6gB,YAAYzhB,CAAZ,EAAeY,IAAI+hB,IAAnB,CAAP;AACH;AACM,SAASna,OAAT,CAAiB5H,GAAjB,EAAsB;AACzB,WAAOue,aAAave,IAAI+hB,IAAjB,CAAP;AACH;AACM,SAASxa,OAAT,CAAiBnI,CAAjB,EAAoBY,GAApB,EAAyB;AAC5BygB,cAAUrhB,CAAV,EAAaY,IAAI+hB,IAAjB;AACH;AACM,SAAS/hB,GAAT,CAAaZ,CAAb,EAAgBY,GAAhB,EAAqB;AACxB,WAAO0F,KAAK1F,IAAImf,QAAT,EAAmB2B,UAAU1hB,CAAV,EAAaY,IAAI+hB,IAAjB,CAAnB,CAAP;AACH;AACM,SAAS5hB,SAAT,CAAmBf,CAAnB,EAAsBY,GAAtB,EAA2B;AAC9B,QAAMoiB,KAAKpC,eAAehgB,IAAImf,QAAnB,EAA6B/f,CAA7B,EAAgCY,IAAI+hB,IAApC,CAAX;AACA,WAAO,CAACrc,KAAK1F,IAAImf,QAAT,EAAmBiD,GAAG,CAAH,CAAnB,CAAD,EAA4B1c,KAAK1F,IAAImf,QAAT,EAAmBiD,GAAG,CAAH,CAAnB,CAA5B,CAAP;AACH;AACM,SAASC,OAAT,CAAiBjjB,CAAjB,EAAoBY,GAApB,EAAyB;AAC5B,WAAOsiB,0DAAOA,CAAC,UAACvE,EAAD;AAAA,eAAQ3e,EAAE2e,GAAG,CAAH,CAAF,EAASA,GAAG,CAAH,CAAT,IAAkB7W,iEAAQA,CAAC6W,GAAG,CAAH,CAAT,CAAlB,GAAoC,IAA5C;AAAA,KAAR,EAA0D/d,GAA1D,CAAP;AACH;AACM,SAASuiB,UAAT,CAAoBnjB,CAApB,EAAuBY,GAAvB,EAA4B;AAC/B,WAAOwiB,6DAAUA,CAAC,UAACzE,EAAD;AAAA,eAAQ3e,EAAE2e,GAAG,CAAH,CAAF,EAASA,GAAG,CAAH,CAAT,IAAkB7W,iEAAQA,CAAC6W,GAAG,CAAH,CAAT,CAAlB,GAAoC,IAA5C;AAAA,KAAX,EAA6D/d,GAA7D,CAAP;AACH;AACM,SAASkL,IAAT,CAAc9L,CAAd,EAAiBY,GAAjB,EAAsB;AACzB,QAAMiD,MAAMgI,QAAQ7L,CAAR,EAAWY,GAAX,CAAZ;AACA,QAAIiD,OAAO,IAAX,EAAiB;AACb,eAAO1D,iEAAQA,CAAC0D,GAAT,CAAP;AACH;AACD,UAAM,IAAInD,KAAJ,CAAU,eAAV,CAAN;AACH;AACM,SAASmL,OAAT,CAAiB7L,CAAjB,EAAoBY,GAApB,EAAyB;AAC5B,WAAO0gB,aAAathB,CAAb,EAAgBY,IAAI+hB,IAApB,CAAP;AACH,C;;;;;;;;;;;;;;AAjmBD;AACA;;IACqBE,Q;AACjB,sBAAY7iB,CAAZ,EAAe;AAAA;;AACX,aAAKggB,OAAL,GAAehgB,KAAKwJ,sDAApB;AACH;;;aACAiF,wDAAOA,CAAC/B,U;gCAAc;AACnB,mBAAO,EAAEwC,YAAY,CAAC,kBAAD,CAAd,EAAP;AACH;;;;;;AANgB2T,iE;;AAQd,SAASQ,oBAAT,CAA8BtD,QAA9B,EAAwC;AAC3C;AACA,QAAI,OAAOA,SAASC,OAAhB,KAA4B,UAAhC,EAA4C;AACxC,eAAO,IAAI6C,QAAJ,CAAa9C,SAASC,OAAtB,CAAP;AACH,KAFD,MAGK;AACD,eAAO,IAAI6C,QAAJ,CAAa,UAAChjB,CAAD,EAAIK,CAAJ,EAAU;AAC1B,gBAAM6R,QAAQgO,SAASjP,WAAT,CAAqBjR,CAArB,CAAd;AACA,gBAAMmS,QAAQ+N,SAASjP,WAAT,CAAqB5Q,CAArB,CAAd;AACA,gBAAI6R,UAAUC,KAAd,EAAqB;AACjB,uBAAO+N,SAAS7O,MAAT,CAAgBrR,CAAhB,EAAmBK,CAAnB,IAAwB,CAAxB,GAA4B,CAAC,CAApC;AACH,aAFD,MAGK;AACD,uBAAO6R,QAAQC,KAAR,GAAgB,CAAC,CAAjB,GAAqB,CAA5B;AACH;AACJ,SATM,CAAP;AAUH;AACJ,C;;;;;;;;;;;;;;;;;;;;;;AM3BM,IAAMsR,sBAAb;AAAA;;AACI,sCAAc;AAAA;;AAAA,oJACJ,4BADI;;AAEVhV,eAAOiV,cAAP,QAA4BD,uBAAuB9U,SAAnD;AAFU;AAGb;;AAJL;AAAA,EAA4C9N,KAA5C;AAMO,IAAM8iB,UAAb;AAAA;AAAA;AAAA,4BACwC;AAChC,mBAAO,IAAP;AACH;AAHL;;AAII,0BAAc;AAAA;;AACV,aAAKC,SAAL,GAAiB,CAAjB;AACH;;AANL;AAAA;AAAA,4CAOwB;AAChB,mBAAO,KAAKA,SAAL,KAAmBD,WAAWE,sBAArC;AACH;AATL;AAAA;AAAA,+BAUW1jB,CAVX,EAUc;AACN,iBAAKyjB,SAAL,GAAiB,CAAjB;AACAE,uBAAW3jB,CAAX,EAAc,CAAd;AACH;AAbL;;AAAA;AAAA;AAeO,SAAS4jB,aAAT,CAAuB5jB,CAAvB,EAA0B;AAC7B,WAAO,UAAC6jB,GAAD,EAAS;AACZ,YAAIA,IAAIC,WAAJ,CAAgBC,WAApB,EAAiC;AAC7BF,gBAAIG,QAAJ,CAAa,IAAIV,sBAAJ,EAAb;AACH,SAFD,MAGK,IAAIO,IAAII,UAAJ,CAAeC,iBAAf,EAAJ,EAAwC;AACzCL,gBAAII,UAAJ,CAAeE,MAAf,CAAsB,YAAM;AACxB,oBAAI;AACAnkB,sBAAE6jB,GAAF;AACH,iBAFD,CAGA,OAAOte,GAAP,EAAY;AACRse,wBAAIO,OAAJ,CAAY7e,GAAZ;AACH;AACJ,aAPD;AAQH,SATI,MAUA;AACD,gBAAI;AACAvF,kBAAE6jB,GAAF;AACH,aAFD,CAGA,OAAOte,GAAP,EAAY;AACRse,oBAAIO,OAAJ,CAAY7e,GAAZ;AACH;AACJ;AACJ,KAtBD;AAuBH;AACM,SAAS8e,aAAT,CAAuBC,WAAvB,EAAoCC,MAApC,EAA4C;AAC/C,WAAOX,cAAc,UAACC,GAAD,EAAS;AAC1BS,oBAAY;AACRE,uBAAW,mBAAC3kB,CAAD,EAAO;AACd,oBAAI;AACA0kB,2BAAO1kB,CAAP,EAAUgkB,GAAV;AACH,iBAFD,CAGA,OAAOY,EAAP,EAAW;AACPZ,wBAAIO,OAAJ,CAAYK,EAAZ;AACH;AACJ,aARO;AASRL,qBAASP,IAAIO,OATL;AAURJ,sBAAUH,IAAIG,QAVN;AAWRF,yBAAaD,IAAIC,WAXT;AAYRG,wBAAYJ,IAAII;AAZR,SAAZ;AAcH,KAfM,CAAP;AAgBH;AACM,SAASS,eAAT,CAAyBzhB,KAAzB,EAAgC;AACnC,WAAO2gB,cAAc,UAACC,GAAD;AAAA,eAASA,IAAIW,SAAJ,CAAcvhB,KAAd,CAAT;AAAA,KAAd,CAAP;AACH;AACM,IAAM0hB,YAAb;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,6BACSL,WADT,EACsBC,MADtB,EAC8B;AACtB,mBAAOF,cAAcC,WAAd,EAA2BC,MAA3B,CAAP;AACH;AAHL;AAAA;AAAA,gCAIYK,YAJZ,EAI0BC,YAJ1B,EAIwC;AAChC,mBAAO,KAAKC,IAAL,CAAUF,YAAV,EAAwB;AAAA,uBAAMC,YAAN;AAAA,aAAxB,CAAP;AACH;AANL;AAAA;AAAA,8BAOUE,SAPV,EAOqB;AACb,mBAAOnB,cAAc,UAACC,GAAD;AAAA,uBAASkB,YAAYlB,GAAZ,CAAT;AAAA,aAAd,CAAP;AACH;AATL;AAAA;AAAA,4BAUQmB,QAVR,EAUkBC,IAVlB,EAUwB;AAChB,gBAAMpiB,OAAOmiB,SAAS1hB,OAAOC,QAAhB,GAAb;AACA,gBAAIT,MAAMD,KAAKE,IAAL,EAAV;AACA,mBAAO,KAAKmiB,KAAL,CAAW;AAAA,uBAAM,CAACpiB,IAAII,IAAX;AAAA,aAAX,EAA4B,KAAKiiB,KAAL,CAAW,YAAM;AAChD,oBAAMthB,MAAMohB,KAAKniB,IAAIG,KAAT,CAAZ;AACAH,sBAAMD,KAAKE,IAAL,EAAN;AACA,uBAAOc,GAAP;AACH,aAJkC,CAA5B,CAAP;AAKH;AAlBL;AAAA;AAAA,+BAmBWZ,KAnBX,EAmBkB;AACV,mBAAOyhB,gBAAgBzhB,KAAhB,CAAP;AACH;AArBL;AAAA;AAAA,mCAsBeqhB,WAtBf,EAsB4B;AACpB,mBAAOA,WAAP;AACH;AAxBL;AAAA;AAAA,mCAyBeA,WAzBf,EAyB4Bc,YAzB5B,EAyB0C;AAClC,mBAAOxB,cAAc,UAACC,GAAD,EAAS;AAC1BS,4BAAY;AACRE,+BAAW,mBAAC3kB,CAAD,EAAO;AACdulB;AACAvB,4BAAIW,SAAJ,CAAc3kB,CAAd;AACH,qBAJO;AAKRukB,6BAAS,iBAACvkB,CAAD,EAAO;AACZulB;AACAvB,4BAAIO,OAAJ,CAAYvkB,CAAZ;AACH,qBARO;AASRmkB,8BAAU,kBAACnkB,CAAD,EAAO;AACbulB;AACAvB,4BAAIG,QAAJ,CAAankB,CAAb;AACH,qBAZO;AAaRikB,iCAAaD,IAAIC,WAbT;AAcRG,gCAAYJ,IAAII;AAdR,iBAAZ;AAgBH,aAjBM,CAAP;AAkBH;AA5CL;AAAA;AAAA,gCA6CYK,WA7CZ,EA6CyBe,YA7CzB,EA6CuC;AAC/B,mBAAOzB,cAAc,UAACC,GAAD,EAAS;AAC1BS,4BAAY;AACRE,+BAAWX,IAAIW,SADP;AAERR,8BAAUH,IAAIG,QAFN;AAGRF,iCAAaD,IAAIC,WAHT;AAIRG,gCAAYJ,IAAII,UAJR;AAKRG,6BAAS,iBAACK,EAAD,EAAQ;AACb,4BAAI;AACAY,yCAAaZ,EAAb,EAAiBZ,GAAjB;AACH,yBAFD,CAGA,OAAOyB,GAAP,EAAY;AACRzB,gCAAIO,OAAJ,CAAYkB,GAAZ;AACH;AACJ;AAZO,iBAAZ;AAcH,aAfM,CAAP;AAgBH;AA9DL;AAAA;AAAA,8BA+DUC,QA/DV,EA+DoBhB,MA/DpB,EA+D4B;AACpB,mBAAO,KAAKiB,UAAL,CAAgBjB,OAAOgB,QAAP,CAAhB,EAAkC;AAAA,uBAAMA,SAASzf,OAAT,EAAN;AAAA,aAAlC,CAAP;AACH;AAjEL;AAAA;AAAA,8BAkEU2f,KAlEV,EAkEiBnB,WAlEjB,EAkE8B;AAAA;;AACtB,gBAAImB,OAAJ,EAAa;AACT,uBAAO,KAAKX,IAAL,CAAUR,WAAV,EAAuB;AAAA,2BAAM,OAAKY,KAAL,CAAWO,KAAX,EAAkBnB,WAAlB,CAAN;AAAA,iBAAvB,CAAP;AACH,aAFD,MAGK;AACD,uBAAO,KAAKoB,MAAL,CAAY,KAAK,CAAjB,CAAP;AACH;AACJ;AAzEL;AAAA;AAAA,+BA0EW;AACH,mBAAO9B,cAAc,UAACC,GAAD;AAAA,uBAASA,IAAIW,SAAJ,CAAc,KAAK,CAAnB,CAAT;AAAA,aAAd,CAAP;AACH;AA5EL;;AAAA;AAAA;AA8EO,IAAMrjB,YAAY,IAAIwjB,YAAJ,EAAlB,C;;;;;;;;;;;;AAjJP,IAAMgB,aAAa,0CAAnB;AACA,IAAMC,gBAAgB,OAAtB;AACA,IAAMC,gBAAgB,QAAtB;AACA,IAAMC,iBAAiB,QAAvB;AACO,SAASC,OAAT,CAAiBhV,CAAjB,EAAoBiV,KAApB,EAA2B;AAC9B,QAAMniB,MAAM8hB,WAAW7K,IAAX,CAAgB/J,CAAhB,CAAZ;AACA,QAAIlN,OAAO,IAAX,EAAiB;AACb,YAAImiB,SAAS,IAAb,EAAmB;AACf,oBAAQniB,IAAI,CAAJ,CAAR;AACI,qBAAK,IAAL;AACImiB,4BAAQ,CAAR;AACA;AACJ,qBAAK,IAAL;AACIA,4BAAQ,CAAR;AACA;AACJ,qBAAK,IAAL;AACIA,4BAAQ,EAAR;AACA;AACJ;AACIA,4BAAQ,EAAR;AACA;AAZR;AAcH;AACD,gBAAQA,KAAR;AACI,iBAAK,CAAL;AACI,uBAAOJ,cAAcnL,IAAd,CAAmB5W,IAAI,CAAJ,CAAnB,IAA6B,IAA7B,GAAoC,CAACA,GAAD,EAAM,CAAN,CAA3C;AACJ,iBAAK,CAAL;AACI,uBAAOgiB,cAAcpL,IAAd,CAAmB5W,IAAI,CAAJ,CAAnB,IAA6B,IAA7B,GAAoC,CAACA,GAAD,EAAM,CAAN,CAA3C;AACJ,iBAAK,EAAL;AACI,uBAAOiiB,eAAerL,IAAf,CAAoB5W,IAAI,CAAJ,CAApB,IAA8B,IAA9B,GAAqC,CAACA,GAAD,EAAM,EAAN,CAA5C;AACJ,iBAAK,EAAL;AACI,uBAAO,CAACA,GAAD,EAAM,EAAN,CAAP;AACJ;AACI,sBAAM,IAAInD,KAAJ,CAAU,eAAV,CAAN;AAVR;AAYH;AACD,WAAO,IAAP;AACH;AACD;AACO,SAASulB,QAAT,CAAkBlV,CAAlB,EAAqBiV,KAArB,EAA4BE,OAA5B,EAAqC;AACxC,QAAMpK,IAAIiK,QAAQhV,CAAR,EAAWiV,KAAX,CAAV;AACA,QAAIlK,MAAM,IAAV,EAAgB;AAAA,gCAC2BA,CAD3B;AAAA;AAAA,YACFtC,MADE;AAAA,YACQjF,MADR;AAAA,YACiB4R,MADjB;;AAEZ,YAAM7V,IAAI2J,SAAS,CAACT,UAAU,EAAX,IAAiBjF,MAA1B,EAAkC4R,MAAlC,CAAV;AACA,YAAI,CAACzW,OAAOwK,KAAP,CAAa5J,CAAb,CAAL,EAAsB;AAClB,mBAAO,CAAC,IAAD,EAAOA,CAAP,CAAP;AACH;AACJ;AACD,WAAO,CAAC,KAAD,EAAQ4V,OAAR,CAAP;AACH;AACM,SAASE,KAAT,CAAerV,CAAf,EAAkBiV,KAAlB,EAAyB;AAC5B,QAAMlK,IAAImK,SAASlV,CAAT,EAAYiV,KAAZ,EAAmB,CAAnB,CAAV;AACA,QAAIlK,EAAE,CAAF,CAAJ,EAAU;AACN,eAAOA,EAAE,CAAF,CAAP;AACH,KAFD,MAGK;AACD,cAAM,IAAIpb,KAAJ,CAAU,2CAAV,CAAN;AACH;AACJ,C;;;;;;;AJ1DD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS6d,MAAT,CAAgBpG,OAAhB,EAAyBkO,OAAzB,EAAkC;AACrC,QAAI5M,QAAQ,GAAZ;AACAA,aAAS4M,UAAU,CAAV,GAAc,GAAd,GAAoB,EAA7B;AACA5M,aAAS4M,UAAU,CAAV,GAAc,GAAd,GAAoB,EAA7B;AACA,WAAO,IAAIhJ,MAAJ,CAAWlF,OAAX,EAAoBsB,KAApB,CAAP;AACH;AACD;AACO,SAAS6D,MAAT,CAAgBpF,GAAhB,EAAqB;AACxB,WAAOA,IAAI3C,OAAJ,CAAY,mCAAZ,EAAiD,MAAjD,CAAP;AACH;AACM,SAAS+Q,QAAT,CAAkBpO,GAAlB,EAAuB;AAC1B,WAAOA,IAAI3C,OAAJ,CAAY,uCAAZ,EAAqD,IAArD,CAAP;AACH;AACM,SAASgR,OAAT,CAAiBrO,GAAjB,EAAsBC,OAAtB,EAA4C;AAAA,QAAbkO,OAAa,uEAAH,CAAG;;AAC/C,QAAIxI,YAAJ;AACAA,UAAM3F,eAAemF,MAAf,IACCQ,MAAM3F,GAAN,EAAWA,MAAMC,OAAjB,EAA0B0F,IAAIC,SAAJ,GAAgBuI,OAA1C,EAAmDxI,GADpD,IAEAA,MAAMU,OAAOpG,OAAP,EAAgBkO,OAAhB,CAFZ;AAGA,WAAOxI,IAAIpD,IAAJ,CAASvC,GAAT,CAAP;AACH;AACM,SAASwC,KAAT,CAAexC,GAAf,EAAoBC,OAApB,EAA0C;AAAA,QAAbkO,OAAa,uEAAH,CAAG;;AAC7C,QAAIxI,YAAJ;AACAA,UAAM3F,eAAemF,MAAf,IACCQ,MAAM3F,GAAN,EAAWA,MAAMC,OAAjB,EAA0B0F,IAAIC,SAAJ,GAAgBuI,OAA1C,EAAmDxI,GADpD,IAEAA,MAAMU,OAAOpG,OAAP,EAAgBkO,OAAhB,CAFZ;AAGA,WAAOxI,IAAI/C,IAAJ,CAAS5C,GAAT,CAAP;AACH;AACM,SAASsO,OAAT,CAAiBtO,GAAjB,EAAsBC,OAAtB,EAA4C;AAAA,QAAbkO,OAAa,uEAAH,CAAG;;AAC/C,QAAIxI,YAAJ;AACAA,UAAM3F,eAAemF,MAAf,IACCQ,MAAM3F,GAAN,EAAWA,MAAMC,OAAjB,EAA0B0F,IAAIC,SAAJ,GAAgBuI,OAA1C,EAAmDxI,GADpD,IAEAA,MAAMU,OAAOpG,OAAP,EAAgBkO,OAAhB,CAFZ;AAGA,QAAI,CAACxI,IAAI4I,MAAT,EAAiB;AACb,cAAM,IAAI/lB,KAAJ,CAAU,mBAAV,CAAN,CADa,CACyB;AACzC;AACD,QAAI8T,IAAIqJ,IAAI/C,IAAJ,CAAS5C,GAAT,CAAR;AACA,QAAMsO,UAAU,EAAhB;AACA,WAAOhS,MAAM,IAAb,EAAmB;AACfgS,gBAAQnd,IAAR,CAAamL,CAAb;AACAA,YAAIqJ,IAAI/C,IAAJ,CAAS5C,GAAT,CAAJ;AACH;AACD,WAAOsO,OAAP;AACH;AACM,SAASH,OAAT,CAAiBxI,GAAjB,EAAsB;AACzB,QAAIwI,UAAU,GAAd,CADyB,CACN;AACnBA,eAAWxI,IAAI6I,UAAJ,GAAiB,CAAjB,GAAqB,CAAhC;AACAL,eAAWxI,IAAI8I,SAAJ,GAAgB,CAAhB,GAAoB,CAA/B;AACA,WAAON,OAAP;AACH;AACM,SAAS9Q,OAAT,CAAiBsI,GAAjB,EAAsBlF,KAAtB,EAA6BiO,WAA7B,EAA0CC,KAA1C,EAA6D;AAAA,QAAZC,MAAY,uEAAH,CAAG;;AAChE,aAASC,QAAT,GAAoB;AAChB,YAAIljB,MAAMgP,UAAU,CAAV,CAAV;AACA,YAAIgU,UAAU,CAAd,EAAiB;AACbA;AACA,gBAAMnM,SAAQ,EAAd;AACA,gBAAMzJ,MAAM4B,UAAU1O,MAAtB;AACA,iBAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIsQ,MAAM,CAA1B,EAA6BtQ,GAA7B,EAAkC;AAC9B+Z,uBAAMrR,IAAN,CAAWwJ,UAAUlS,CAAV,CAAX;AACH;AACD+Z,mBAAMtY,KAAN,GAAcyQ,UAAU5B,MAAM,CAAhB,CAAd;AACAyJ,mBAAM/B,KAAN,GAAc9F,UAAU5B,MAAM,CAAhB,CAAd;AACApN,kBAAM+iB,YAAYlM,MAAZ,CAAN;AACH;AACD,eAAO7W,GAAP;AACH;AACD,QAAI,OAAOga,GAAP,KAAe,QAAnB,EAA6B;AACzB,YAAMS,MAAMT,GAAZ;AACAA,cAAMU,OAAO5F,KAAP,EAAckO,KAAd,CAAN;AACAlO,gBAAQ2F,GAAR;AACAuI,gBAAQlkB,SAAR;AACH;AACD,QAAI,OAAOikB,WAAP,KAAuB,UAA3B,EAAuC;AACnCC,gBAAQA,SAAS,IAAT,GAAgB,CAAC,CAAjB,GAAqBA,KAA7B;AACA,eAAOlO,MAAMkC,SAAN,CAAgB,CAAhB,EAAmBiM,MAAnB,IAA6BnO,MAAMkC,SAAN,CAAgBiM,MAAhB,EAAwBvR,OAAxB,CAAgCsI,GAAhC,EAAqCkJ,QAArC,CAApC;AACH,KAHD,MAIK;AACD;AACAH,sBAAcA,YAAYrR,OAAZ,CAAoB,MAApB,EAA4B,UAACxE,CAAD;AAAA,mBAAO,IAAP;AAAA,SAA5B,CAAd;AACA,YAAI8V,SAAS,IAAb,EAAmB;AACf,gBAAIrS,UAAJ;AACA,gBAAMwS,OAAOrO,MAAMkC,SAAN,CAAgBiM,MAAhB,CAAb;AACA,gBAAMG,WAAWT,QAAQ3I,GAAR,EAAamJ,IAAb,CAAjB;AACA,gBAAME,OAAOV,QAAQriB,MAAR,GAAiB0iB,KAAjB,IAA0BrS,IAAIyS,SAASJ,QAAQ,CAAjB,CAAJ,EAAyBG,KAAKnM,SAAL,CAAe,CAAf,EAAkBrG,EAAEpS,KAAF,GAAUoS,EAAE,CAAF,EAAKrQ,MAAjC,CAAnD,IAA+F6iB,IAA5G;AACA,mBAAOrO,MAAMkC,SAAN,CAAgB,CAAhB,EAAmBiM,MAAnB,IAA6BI,KAAK3R,OAAL,CAAasI,GAAb,EAAkB+I,WAAlB,CAA7B,GACDjO,MAAMkC,SAAN,CAAgBiM,SAASI,KAAK/iB,MAA9B,CADN;AAEH,SAPD,MAQK;AACD,mBAAOwU,MAAMpD,OAAN,CAAcsI,GAAd,EAAmB+I,WAAnB,CAAP;AACH;AACJ;AACJ;AACM,SAASpJ,KAAT,CAAeK,GAAf,EAAoBlF,KAApB,EAA2BkO,KAA3B,EAA8C;AAAA,QAAZC,MAAY,uEAAH,CAAG;;AACjD,QAAI,OAAOjJ,GAAP,KAAe,QAAnB,EAA6B;AACzB,YAAMS,MAAMT,GAAZ;AACAA,cAAMU,OAAO5F,KAAP,EAAckO,KAAd,CAAN;AACAlO,gBAAQ2F,GAAR;AACAuI,gBAAQlkB,SAAR;AACH;AACDgW,YAAQA,MAAMkC,SAAN,CAAgBiM,MAAhB,CAAR;AACA,WAAOnO,MAAM6E,KAAN,CAAYK,GAAZ,EAAiBgJ,KAAjB,CAAP;AACH,C;;;;;;;AFpGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,IAAMM,cAAc,8BAApB;AACA,SAASC,YAAT,CAAsBzmB,CAAtB,EAAyBwD,MAAzB,EAAiC;AACpC,QAAI+T,MAAMvX,EAAE4O,QAAF,CAAW,EAAX,CAAV;AACA,WAAO2I,IAAI/T,MAAJ,GAAaA,MAApB,EAA4B;AACxB+T,cAAM,MAAMA,GAAZ;AACH;AACD,WAAOA,GAAP;AACH;AACM,SAASmP,cAAT,CAAwBP,MAAxB,EAAgC;AACnC,QAAMQ,UAAUR,SAAS,CAAzB;AACAA,aAASrS,KAAKgE,GAAL,CAASqO,MAAT,CAAT;AACA,QAAMS,QAAQ,CAAC,EAAET,SAAS,OAAX,CAAf;AACA,QAAMU,UAAWV,SAAS,OAAV,GAAqB,KAArC;AACA,WAAO,CAACQ,UAAU,GAAV,GAAgB,GAAjB,IACHF,aAAaG,KAAb,EAAoB,CAApB,CADG,GACsB,GADtB,GAEHH,aAAaI,OAAb,EAAsB,CAAtB,CAFJ;AAGH;AACM,SAASC,eAAT,CAAyBC,IAAzB,EAA+BC,IAA/B,EAAqC;AACxC,QAAMzP,MAAMwP,KAAKE,WAAL,EAAZ;AACA,WAAOD,SAAS,OAAT,GACDzP,IAAI2C,SAAJ,CAAc,CAAd,EAAiB3C,IAAI/I,OAAJ,CAAY,GAAZ,CAAjB,CADC,GAED+I,IAAI2C,SAAJ,CAAc3C,IAAI/I,OAAJ,CAAY,GAAZ,IAAmB,CAAjC,EAAoC+I,IAAI/T,MAAJ,GAAa,CAAjD,CAFN;AAGH;AACD,SAASyjB,WAAT,CAAqBC,CAArB,EAAwBC,GAAxB,EAA6B;AACzB,QAAIA,GAAJ,EAAS;AACL,eAAOD,EAAED,WAAF,EAAP;AACH,KAFD,MAGK;AACD;AACA,YAAMG,cAAcF,EAAEjb,IAAF,IAAU,IAAV,GAAiB,IAAjB,GAAwBib,EAAEjb,IAAF,KAAW,CAAvD,CAAyD,WAAzD;AACA,eAAOwa,aAAaS,EAAEG,WAAF,EAAb,EAA8B,CAA9B,IAAmC,GAAnC,GACHZ,aAAaS,EAAEI,QAAF,KAAe,CAA5B,EAA+B,CAA/B,CADG,GACiC,GADjC,GAEHb,aAAaS,EAAEK,OAAF,EAAb,EAA0B,CAA1B,CAFG,GAE4B,GAF5B,GAGHd,aAAaS,EAAEM,QAAF,EAAb,EAA2B,CAA3B,CAHG,GAG6B,GAH7B,GAIHf,aAAaS,EAAEO,UAAF,EAAb,EAA6B,CAA7B,CAJG,GAI+B,GAJ/B,GAKHhB,aAAaS,EAAEQ,UAAF,EAAb,EAA6B,CAA7B,CALG,GAK+B,GAL/B,GAMHjB,aAAaS,EAAES,eAAF,EAAb,EAAkC,CAAlC,CANG,IAOFP,cAAcV,eAAeQ,EAAEU,iBAAF,KAAwB,CAAC,KAAxC,CAAd,GAA+D,EAP7D,CAAP;AAQH;AACJ;AACD,SAASC,qBAAT,CAA+BC,cAA/B,EAA+C3B,MAA/C,EAAuD;AACnD,QAAM5O,MAAMuQ,eAAeb,WAAf,EAAZ;AACA,WAAO1P,IAAI2C,SAAJ,CAAc,CAAd,EAAiB3C,IAAI/T,MAAJ,GAAa,CAA9B,IAAmCkjB,eAAeP,MAAf,CAA1C;AACH;AACD,SAAS4B,wBAAT,CAAkChB,IAAlC,EAAwC9N,MAAxC,EAAgDkO,GAAhD,EAAqD;AACjD,WAAOlO,OAAOrE,OAAP,CAAe,UAAf,EAA2B,UAACmF,KAAD,EAAW;AACzC,YAAInB,MAAMmB,KAAV;AACA,gBAAQA,MAAMG,SAAN,CAAgB,CAAhB,EAAmB,CAAnB,CAAR;AACI,iBAAK,GAAL;AACI,oBAAM3a,IAAI4nB,MAAMJ,KAAKiB,cAAL,EAAN,GAA8BjB,KAAKM,WAAL,EAAxC;AACAzO,sBAAMmB,MAAMvW,MAAN,GAAe,CAAf,GAAmBjE,IAAI,GAAvB,GAA6BA,CAAnC;AACA;AACJ,iBAAK,GAAL;AACIqZ,sBAAM,CAACuO,MAAMJ,KAAKkB,WAAL,EAAN,GAA2BlB,KAAKO,QAAL,EAA5B,IAA+C,CAArD;AACA;AACJ,iBAAK,GAAL;AACI1O,sBAAMuO,MAAMJ,KAAKmB,UAAL,EAAN,GAA0BnB,KAAKQ,OAAL,EAAhC;AACA;AACJ,iBAAK,GAAL;AACI3O,sBAAMuO,MAAMJ,KAAKoB,WAAL,EAAN,GAA2BpB,KAAKS,QAAL,EAAjC;AACA;AACJ,iBAAK,GAAL;AACI,oBAAMnX,IAAI8W,MAAMJ,KAAKoB,WAAL,EAAN,GAA2BpB,KAAKS,QAAL,EAArC;AACA5O,sBAAMvI,IAAI,EAAJ,GAASA,IAAI,EAAb,GAAkBA,CAAxB;AACA;AACJ,iBAAK,GAAL;AACIuI,sBAAMuO,MAAMJ,KAAKqB,aAAL,EAAN,GAA6BrB,KAAKU,UAAL,EAAnC;AACA;AACJ,iBAAK,GAAL;AACI7O,sBAAMuO,MAAMJ,KAAKsB,aAAL,EAAN,GAA6BtB,KAAKW,UAAL,EAAnC;AACA;AAvBR;AAyBA,YAAI9O,QAAQmB,KAAR,IAAiBnB,MAAM,EAAvB,IAA6BmB,MAAMvW,MAAN,GAAe,CAAhD,EAAmD;AAC/CoV,kBAAM,MAAMA,GAAZ;AACH;AACD,eAAOA,GAAP;AACH,KA/BM,CAAP;AAgCH;AACM,SAAS0P,kBAAT,CAA4BvB,IAA5B,EAAkC9N,MAAlC,EAA0C;AAC7C,QAAMiO,IAAI,IAAI/X,IAAJ,CAAS4X,KAAKjW,OAAL,KAAiBiW,KAAKZ,MAA/B,CAAV;AACA,QAAI,CAAClN,MAAL,EAAa;AACT,eAAOiO,EAAED,WAAF,GAAgBrS,OAAhB,CAAwB,OAAxB,EAAiC,EAAjC,EAAqCA,OAArC,CAA6C,cAA7C,EAA6D,GAA7D,IAAoE8R,eAAeK,KAAKZ,MAApB,CAA3E;AACH,KAFD,MAGK,IAAIlN,OAAOzV,MAAP,KAAkB,CAAtB,EAAyB;AAC1B,gBAAQyV,MAAR;AACI,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAO6N,gBAAgBI,CAAhB,EAAmB,OAAnB,CAAP;AACV,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAOJ,gBAAgBI,CAAhB,EAAmB,QAAnB,CAAP;AACV,iBAAK,GAAL;AACA,iBAAK,GAAL;AAAU,uBAAOW,sBAAsBX,CAAtB,EAAyBH,KAAKZ,MAA9B,CAAP;AACV;AAAS,sBAAM,IAAIpmB,KAAJ,CAAU,gCAAV,CAAN;AAPb;AASH,KAVI,MAWA;AACD,eAAOgoB,yBAAyBb,CAAzB,EAA4BjO,MAA5B,EAAoC,IAApC,CAAP;AACH;AACJ;AACM,SAASsP,gBAAT,CAA0BxB,IAA1B,EAAgC9N,MAAhC,EAAwC;AAC3C,QAAMkO,MAAMJ,KAAK9a,IAAL,KAAc,CAA1B,CAA4B,SAA5B;AACA,QAAI,CAACgN,MAAL,EAAa;AACT,eAAOkO,MAAMJ,KAAKyB,WAAL,EAAN,GAA2BzB,KAAK0B,cAAL,EAAlC;AACH,KAFD,MAGK,IAAIxP,OAAOzV,MAAP,KAAkB,CAAtB,EAAyB;AAC1B,gBAAQyV,MAAR;AACI,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAOkO,MAAML,gBAAgBC,IAAhB,EAAsB,OAAtB,CAAN,GAAuCA,KAAK2B,kBAAL,EAA9C;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAOvB,MAAML,gBAAgBC,IAAhB,EAAsB,QAAtB,CAAN,GAAwCA,KAAK4B,kBAAL,EAA/C;AACJ,iBAAK,GAAL;AACA,iBAAK,GAAL;AACI,uBAAO1B,YAAYF,IAAZ,EAAkBI,GAAlB,CAAP;AACJ;AACI,sBAAM,IAAIpnB,KAAJ,CAAU,gCAAV,CAAN;AAXR;AAaH,KAdI,MAeA;AACD,eAAOgoB,yBAAyBhB,IAAzB,EAA+B9N,MAA/B,EAAuCkO,GAAvC,CAAP;AACH;AACJ;AACM,SAASvY,QAAT,CAAkBmY,IAAlB,EAAwB9N,MAAxB,EAAgC;AACnC,WAAO8N,KAAKZ,MAAL,IAAe,IAAf,GACDmC,mBAAmBvB,IAAnB,EAAyB9N,MAAzB,CADC,GAEDsP,iBAAiBxB,IAAjB,EAAuB9N,MAAvB,CAFN;AAGH;AACc,SAAS2P,QAAT,CAAkBtmB,KAAlB,EAAyB2J,IAAzB,EAA+B;AAC1CA,WAAOA,QAAQ,IAAR,GAAe,CAAf,CAAiB,iBAAjB,GAAqCA,IAA5C;AACA,QAAMib,IAAI,IAAI/X,IAAJ,CAAS7M,KAAT,CAAV;AACA4kB,MAAEjb,IAAF,GAASA,OAAO,CAAhB;AACA,WAAOib,CAAP;AACH;AACM,SAAS2B,QAAT,GAAoB;AACvB;AACA,WAAOD,SAAS,CAAC,cAAV,EAA0B,CAA1B,CAA4B,iBAA5B,CAAP;AACH;AACM,SAASE,QAAT,GAAoB;AACvB;AACA,WAAOF,SAAS,eAAT,EAA0B,CAA1B,CAA4B,iBAA5B,CAAP;AACH;AACM,SAASG,QAAT,CAAkBxR,GAAlB,EAAuB;AAC1B,QAAIwP,OAAO,IAAI5X,IAAJ,CAASoI,GAAT,CAAX;AACA,QAAIgC,MAAMwN,KAAKjW,OAAL,EAAN,CAAJ,EAA2B;AACvB;AACA,YAAI,8EAA8EgJ,IAA9E,CAAmFvC,GAAnF,CAAJ,EAA6F;AACzF,gBAAM2P,IAAI,IAAI/X,IAAJ,EAAV;AACA4X,mBAAO,IAAI5X,IAAJ,CAAS+X,EAAEG,WAAF,KAAkB,GAAlB,IAAyBH,EAAEI,QAAF,KAAe,CAAxC,IAA6C,GAA7C,GAAmDJ,EAAEK,OAAF,EAAnD,GAAiE,GAAjE,GAAuEhQ,GAAhF,CAAP;AACH,SAHD,MAIK;AACD,kBAAM,IAAIxX,KAAJ,CAAU,iCAAV,CAAN;AACH;AACJ;AACD,WAAOgnB,IAAP;AACH;AACM,SAAStB,KAAT,CAAelO,GAAf,EAAuC;AAAA,QAAnByR,SAAmB,uEAAP,KAAO;;AAC1C,QAAMjC,OAAOgC,SAASxR,GAAT,CAAb;AACA,QAAM4O,SAASK,YAAYrM,IAAZ,CAAiB5C,GAAjB,CAAf;AACA;AACA;AACA,QAAMtL,OAAOka,UAAU,IAAV,GACN6C,aAAa7C,OAAO,CAAP,MAAc,GAA3B,GAAiC,CAAjC,CAAmC,SAAnC,GAA+C,CADzC,CAC2C,WAD3C,GAEP,CAFN,CAEQ,iBAFR;AAGA,WAAOyC,SAAS7B,KAAKjW,OAAL,EAAT,EAAyB7E,IAAzB,CAAP;AACH;AACM,SAASqZ,QAAT,CAAkB3V,CAAlB,EAAqB;AACxB,QAAI;AACA,eAAO,CAAC,IAAD,EAAO8V,MAAM9V,CAAN,CAAP,CAAP;AACH,KAFD,CAGA,OAAOsZ,IAAP,EAAa;AACT,eAAO,CAAC,KAAD,EAAQJ,UAAR,CAAP;AACH;AACJ;AACM,SAAS1C,MAAT,CAAgBY,IAAhB,EAAsB;AACzB,QAAMmC,QAAQnC,IAAd;AACA,WAAO,OAAOmC,MAAM/C,MAAb,KAAwB,QAAxB,GACD+C,MAAM/C,MADL,GAEAY,KAAK9a,IAAL,KAAc,CAAd,CAAgB;AAAhB,MACG,CADH,GACO8a,KAAKa,iBAAL,KAA2B,CAAC,KAH1C;AAIH;AACM,SAAShK,MAAT,CAAgBuL,IAAhB,EAAsBC,KAAtB,EAA6BC,GAA7B,EAAqE;AAAA,QAAnChZ,CAAmC,uEAA/B,CAA+B;AAAA,QAA5BwD,CAA4B,uEAAxB,CAAwB;AAAA,QAArBzD,CAAqB,uEAAjB,CAAiB;AAAA,QAAdkZ,EAAc,uEAAT,CAAS;AAAA,QAANrd,IAAM;;AACxE,QAAMsd,YAAYtd,SAAS,CAAT,CAAW;AAAX,MACZkD,KAAKqa,GAAL,CAASL,IAAT,EAAeC,QAAQ,CAAvB,EAA0BC,GAA1B,EAA+BhZ,CAA/B,EAAkCwD,CAAlC,EAAqCzD,CAArC,EAAwCkZ,EAAxC,CADY,GAEZ,IAAIna,IAAJ,CAASga,IAAT,EAAeC,QAAQ,CAAvB,EAA0BC,GAA1B,EAA+BhZ,CAA/B,EAAkCwD,CAAlC,EAAqCzD,CAArC,EAAwCkZ,EAAxC,EAA4CxY,OAA5C,EAFN;AAGA,QAAIyI,MAAMgQ,SAAN,CAAJ,EAAsB;AAClB,cAAM,IAAIxpB,KAAJ,CAAU,kDAAV,CAAN;AACH;AACD,QAAMgnB,OAAO6B,SAASW,SAAT,EAAoBtd,IAApB,CAAb;AACA,QAAIkd,QAAQ,EAAZ,EAAgB;AACZpC,aAAK0C,WAAL,CAAiBN,IAAjB,EAAuBC,QAAQ,CAA/B,EAAkCC,GAAlC;AACH;AACD,WAAOtC,IAAP;AACH;AACM,SAAS2C,GAAT,GAAe;AAClB,WAAOd,SAASzZ,KAAKua,GAAL,EAAT,EAAqB,CAArB,CAAuB,WAAvB,CAAP;AACH;AACM,SAASC,MAAT,GAAkB;AACrB,WAAOf,SAASzZ,KAAKua,GAAL,EAAT,EAAqB,CAArB,CAAuB,SAAvB,CAAP;AACH;AACM,SAASE,KAAT,GAAiB;AACpB,WAAO7C,KAAK2C,KAAL,CAAP;AACH;AACM,SAASG,UAAT,CAAoBV,IAApB,EAA0B;AAC7B,WAAOA,OAAO,CAAP,KAAa,CAAb,IAAkBA,OAAO,GAAP,KAAe,CAAjC,IAAsCA,OAAO,GAAP,KAAe,CAA5D;AACH;AACM,SAASW,WAAT,CAAqBX,IAArB,EAA2BC,KAA3B,EAAkC;AACrC,WAAOA,UAAU,CAAV,GACAS,WAAWV,IAAX,IAAmB,EAAnB,GAAwB,EADxB,GAEAC,SAAS,CAAT,GAAcA,QAAQ,CAAR,KAAc,CAAd,GAAkB,EAAlB,GAAuB,EAArC,GAA4CA,QAAQ,CAAR,KAAc,CAAd,GAAkB,EAAlB,GAAuB,EAF1E;AAGH;AACM,SAASW,eAAT,CAAyBhD,IAAzB,EAA+B;AAClC,WAAOA,KAAK9a,IAAL,KAAc,CAAd,CAAgB,SAAhB,GAA4B8a,IAA5B,GAAmC6B,SAAS7B,KAAKjW,OAAL,EAAT,EAAyB,CAAzB,CAA2B,SAA3B,CAA1C;AACH;AACM,SAASkZ,WAAT,CAAqBjD,IAArB,EAA2B;AAC9B,WAAOA,KAAK9a,IAAL,KAAc,CAAd,CAAgB,WAAhB,GAA8B8a,IAA9B,GAAqC6B,SAAS7B,KAAKjW,OAAL,EAAT,EAAyB,CAAzB,CAA2B,WAA3B,CAA5C;AACH;AACM,SAASmZ,SAAT,CAAmB/C,CAAnB,EAAsB;AACzB,WAAOgD,KAAKhD,CAAL,IAAU,OAAV,GACDiD,OAAOjD,CAAP,IAAY,KADX,GAEDkD,OAAOlD,CAAP,IAAY,IAFX,GAGDmD,YAAYnD,CAAZ,CAHN;AAIH;AACM,SAASH,IAAT,CAAcG,CAAd,EAAiB;AACpB,WAAOtJ,OAAOuL,KAAKjC,CAAL,CAAP,EAAgBkC,MAAMlC,CAAN,CAAhB,EAA0BmC,IAAInC,CAAJ,CAA1B,EAAkC,CAAlC,EAAqC,CAArC,EAAwC,CAAxC,EAA2C,CAA3C,EAA8CA,EAAEjb,IAAhD,CAAP;AACH;AACM,SAASod,GAAT,CAAanC,CAAb,EAAgB;AACnB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEgB,UAAF,EAAzB,GAA0ChB,EAAEK,OAAF,EAAjD;AACH;AACM,SAAS2C,IAAT,CAAchD,CAAd,EAAiB;AACpB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEiB,WAAF,EAAzB,GAA2CjB,EAAEM,QAAF,EAAlD;AACH;AACM,SAAS6C,WAAT,CAAqBnD,CAArB,EAAwB;AAC3B,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEoD,kBAAF,EAAzB,GAAkDpD,EAAES,eAAF,EAAzD;AACH;AACM,SAASwC,MAAT,CAAgBjD,CAAhB,EAAmB;AACtB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEkB,aAAF,EAAzB,GAA6ClB,EAAEO,UAAF,EAApD;AACH;AACM,SAAS2B,KAAT,CAAelC,CAAf,EAAkB;AACrB,WAAO,CAACA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEe,WAAF,EAAzB,GAA2Cf,EAAEI,QAAF,EAA5C,IAA4D,CAAnE;AACH;AACM,SAAS8C,MAAT,CAAgBlD,CAAhB,EAAmB;AACtB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEmB,aAAF,EAAzB,GAA6CnB,EAAEQ,UAAF,EAApD;AACH;AACM,SAASyB,IAAT,CAAcjC,CAAd,EAAiB;AACpB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEc,cAAF,EAAzB,GAA8Cd,EAAEG,WAAF,EAArD;AACH;AACM,SAASkD,SAAT,CAAmBrD,CAAnB,EAAsB;AACzB,WAAOA,EAAEjb,IAAF,KAAW,CAAX,CAAa,SAAb,GAAyBib,EAAEsD,SAAF,EAAzB,GAAyCtD,EAAEuD,MAAF,EAAhD;AACH;AACM,SAASC,SAAT,CAAmBxD,CAAnB,EAAsB;AACzB,QAAMyD,QAAQxB,KAAKjC,CAAL,CAAd;AACA,QAAM0D,SAASxB,MAAMlC,CAAN,CAAf;AACA,QAAI2D,OAAOxB,IAAInC,CAAJ,CAAX;AACA,SAAK,IAAIlnB,IAAI,CAAb,EAAgBA,IAAI4qB,MAApB,EAA4B5qB,GAA5B,EAAiC;AAC7B6qB,gBAAQf,YAAYa,KAAZ,EAAmB3qB,CAAnB,CAAR;AACH;AACD,WAAO6qB,IAAP;AACH;AACM,SAAS/M,GAAT,CAAaoJ,CAAb,EAAgB4D,EAAhB,EAAoB;AACvB,WAAOlC,SAAS1B,EAAEpW,OAAF,KAAcga,EAAvB,EAA2B5D,EAAEjb,IAA7B,CAAP;AACH;AACM,SAAS8e,OAAT,CAAiB7D,CAAjB,EAAoBvX,CAApB,EAAuB;AAC1B,WAAOiZ,SAAS1B,EAAEpW,OAAF,KAAcnB,IAAI,QAA3B,EAAqCuX,EAAEjb,IAAvC,CAAP;AACH;AACM,SAAS+e,QAAT,CAAkB9D,CAAlB,EAAqBvX,CAArB,EAAwB;AAC3B,WAAOiZ,SAAS1B,EAAEpW,OAAF,KAAcnB,IAAI,OAA3B,EAAoCuX,EAAEjb,IAAtC,CAAP;AACH;AACM,SAASgf,UAAT,CAAoB/D,CAApB,EAAuBvX,CAAvB,EAA0B;AAC7B,WAAOiZ,SAAS1B,EAAEpW,OAAF,KAAcnB,IAAI,KAA3B,EAAkCuX,EAAEjb,IAApC,CAAP;AACH;AACM,SAASif,UAAT,CAAoBhE,CAApB,EAAuBvX,CAAvB,EAA0B;AAC7B,WAAOiZ,SAAS1B,EAAEpW,OAAF,KAAcnB,IAAI,IAA3B,EAAiCuX,EAAEjb,IAAnC,CAAP;AACH;AACM,SAASkf,eAAT,CAAyBjE,CAAzB,EAA4BvX,CAA5B,EAA+B;AAClC,WAAOiZ,SAAS1B,EAAEpW,OAAF,KAAcnB,CAAvB,EAA0BuX,EAAEjb,IAA5B,CAAP;AACH;AACM,SAASmf,QAAT,CAAkBlE,CAAlB,EAAqBvX,CAArB,EAAwB;AAC3B,QAAM0b,WAAWjC,MAAMlC,CAAN,CAAjB;AACA,QAAMoE,UAAUnC,KAAKjC,CAAL,IAAUvX,CAA1B;AACA,QAAM4b,eAAezB,YAAYwB,OAAZ,EAAqBD,QAArB,CAArB;AACA,QAAMG,SAAS1X,KAAK/K,GAAL,CAASwiB,YAAT,EAAuBlC,IAAInC,CAAJ,CAAvB,CAAf;AACA,WAAOtJ,OAAO0N,OAAP,EAAgBD,QAAhB,EAA0BG,MAA1B,EAAkCtB,KAAKhD,CAAL,CAAlC,EAA2CiD,OAAOjD,CAAP,CAA3C,EAAsDkD,OAAOlD,CAAP,CAAtD,EAAiEmD,YAAYnD,CAAZ,CAAjE,EAAiFA,EAAEjb,IAAnF,CAAP;AACH;AACM,SAASwf,SAAT,CAAmBvE,CAAnB,EAAsBvX,CAAtB,EAAyB;AAC5B,QAAI0b,WAAWjC,MAAMlC,CAAN,IAAWvX,CAA1B;AACA,QAAI+b,YAAY,CAAhB;AACA,QAAIC,aAAa,CAAjB;AACA,QAAIN,WAAW,EAAf,EAAmB;AACfK,oBAAYL,WAAW,EAAvB;AACAM,qBAAa7X,KAAKG,KAAL,CAAWoX,WAAW,EAAtB,CAAb;AACAA,mBAAWK,SAAX;AACH,KAJD,MAKK,IAAIL,WAAW,CAAf,EAAkB;AACnBK,oBAAY,KAAKL,WAAW,EAA5B;AACAM,qBAAa7X,KAAKG,KAAL,CAAWoX,WAAW,EAAtB,KAA6BK,cAAc,EAAd,GAAmB,CAAC,CAApB,GAAwB,CAArD,CAAb;AACAL,mBAAWK,SAAX;AACH;AACD,QAAMJ,UAAUnC,KAAKjC,CAAL,IAAUyE,UAA1B;AACA,QAAMJ,eAAezB,YAAYwB,OAAZ,EAAqBD,QAArB,CAArB;AACA,QAAMG,SAAS1X,KAAK/K,GAAL,CAASwiB,YAAT,EAAuBlC,IAAInC,CAAJ,CAAvB,CAAf;AACA,WAAOtJ,OAAO0N,OAAP,EAAgBD,QAAhB,EAA0BG,MAA1B,EAAkCtB,KAAKhD,CAAL,CAAlC,EAA2CiD,OAAOjD,CAAP,CAA3C,EAAsDkD,OAAOlD,CAAP,CAAtD,EAAiEmD,YAAYnD,CAAZ,CAAjE,EAAiFA,EAAEjb,IAAnF,CAAP;AACH;AACM,SAAS2f,QAAT,CAAkB1E,CAAlB,EAAqB2E,IAArB,EAA2B;AAC9B,WAAO,OAAOA,IAAP,KAAgB,QAAhB,GACDjD,SAAS1B,EAAEpW,OAAF,KAAc+a,IAAvB,EAA6B3E,EAAEjb,IAA/B,CADC,GAEDib,EAAEpW,OAAF,KAAc+a,KAAK/a,OAAL,EAFpB;AAGH;AACM,SAASgb,gBAAT,CAA0B5E,CAA1B,EAA6B;AAChC,WAAOA,EAAE6E,YAAF,EAAP;AACH;AACM,SAASC,iBAAT,CAA2B9E,CAA3B,EAA8B;AACjC,WAAOA,EAAEwB,kBAAF,EAAP;AACH;AACM,SAASuD,gBAAT,CAA0B/E,CAA1B,EAA6B;AAChC,WAAOA,EAAEyB,kBAAF,EAAP;AACH;AACM,SAASuD,iBAAT,CAA2BhF,CAA3B,EAA8B;AACjC,WAAOA,EAAEyB,kBAAF,GAAuB/T,OAAvB,CAA+B,YAA/B,EAA6C,EAA7C,CAAP;AACH;AACM,SAAS5O,MAAT,CAAgBmmB,EAAhB,EAAoBC,EAApB,EAAwB;AAC3B,WAAOD,GAAGrb,OAAH,OAAiBsb,GAAGtb,OAAH,EAAxB;AACH;AACM,SAASjI,OAAT,CAAiB3J,CAAjB,EAAoBK,CAApB,EAAuB;AAC1B,QAAM8sB,QAAQntB,EAAE4R,OAAF,EAAd;AACA,QAAMwb,QAAQ/sB,EAAEuR,OAAF,EAAd;AACA,WAAOub,UAAUC,KAAV,GAAkB,CAAlB,GAAuBD,QAAQC,KAAR,GAAgB,CAAC,CAAjB,GAAqB,CAAnD;AACH;AACM,IAAMjV,YAAYxO,OAAlB;AACA,SAAS0jB,WAAT,CAAqBrtB,CAArB,EAAwBK,CAAxB,EAA2B;AAC9B,WAAOue,IAAI5e,CAAJ,EAAOK,CAAP,CAAP;AACH;AACM,SAASitB,cAAT,CAAwBttB,CAAxB,EAA2BK,CAA3B,EAA8B;AACjC,WAAOqsB,SAAS1sB,CAAT,EAAYK,CAAZ,CAAP;AACH;AACM,SAASktB,oBAAT,CAA8BvtB,CAA9B,EAAiC;AACpC,QAAMwtB,MAAM,IAAIvd,IAAJ,CAASjQ,EAAEmoB,WAAF,EAAT,EAA0B,CAA1B,EAA6B,CAA7B,CAAZ;AACA,QAAMsF,MAAM,IAAIxd,IAAJ,CAASjQ,EAAEmoB,WAAF,EAAT,EAA0B,CAA1B,EAA6B,CAA7B,CAAZ;AACA,WAAOuF,MAAMF,IAAI9E,iBAAJ,EAAN,EAA+B+E,IAAI/E,iBAAJ,EAA/B,EAAwD1oB,EAAE0oB,iBAAF,EAAxD,CAAP;AACH;AACD,SAASgF,KAAT,CAAeC,SAAf,EAA0BC,SAA1B,EAAqCC,OAArC,EAA8C;AAC1C,WAAOjZ,KAAK/K,GAAL,CAAS8jB,SAAT,EAAoBC,SAApB,MAAmCC,OAA1C;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AOrVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IACqBC,K;;;;AAAAA,+E;;AAErB,SAASC,iBAAT,CAA2B/tB,CAA3B,EAA8B;AAC1B;AACH;AACM,SAASguB,uBAAT,CAAiC3X,GAAjC,EAAsC;AACzC,QAAM4X,QAAQ,EAAE/J,aAAa,KAAf,EAAd;AACA,QAAI,OAAO7N,GAAP,KAAe,QAAnB,EAA6B;AACzByN,mBAAW,YAAM;AAAEmK,kBAAM/J,WAAN,GAAoB,IAApB;AAA2B,SAA9C,EAAgD7N,GAAhD;AACH,KAFD,MAGK,IAAI,OAAOA,GAAP,KAAe,SAAnB,EAA8B;AAC/B4X,cAAM/J,WAAN,GAAoB7N,GAApB;AACH;AACD,WAAO4X,KAAP;AACH;AACM,SAASC,MAAT,CAAgBD,KAAhB,EAAuB;AAC1BA,UAAM/J,WAAN,GAAoB,IAApB;AACH;AACM,SAASiK,WAAT,CAAqBF,KAArB,EAA4B7D,EAA5B,EAAgC;AACnCtG,eAAW,YAAM;AAAEmK,cAAM/J,WAAN,GAAoB,IAApB;AAA2B,KAA9C,EAAgDkG,EAAhD;AACH;AACM,SAASgE,uBAAT,CAAiCH,KAAjC,EAAwC;AAC3C,WAAOA,SAAS,IAAT,IAAiBA,MAAM/J,WAA9B;AACH;AACM,SAASmK,UAAT,CAAoB5J,WAApB,EAAiC;AACpC,QAAM6J,UAAUC,eAAe9J,WAAf,CAAhB;AACA;AACA;AACA,WAAOV,4EAAaA,CAAC,UAACC,GAAD;AAAA,eAASa,8EAAeA,CAAC2J,aAAaF,OAAb,CAAhB,EAAuCtK,GAAvC,CAAT;AAAA,KAAd,CAAP;AACH;AACM,SAASwK,YAAT,CAAsBta,CAAtB,EAAyB;AAC5B,WAAOua,kBAAkB,UAACC,KAAD;AAAA,eAAWxa,EAAEya,IAAF,CAAOD,MAAM,CAAN,CAAP,EAAiBE,KAAjB,CAAuB,UAAClpB,GAAD;AAAA,mBAAS,CAACA,eAAe+d,6EAAf,GAC/DiL,MAAM,CAAN,CAD+D,GACpDA,MAAM,CAAN,CADmD,EACzChpB,GADyC,CAAT;AAAA,SAAvB,CAAX;AAAA,KAAlB,CAAP;AAEH;AACM,SAASmpB,iBAAT,GAA6B;AAChC,WAAO9K,4EAAaA,CAAC,UAACC,GAAD;AAAA,eAASA,IAAIW,SAAJ,CAAcX,IAAIC,WAAlB,CAAT;AAAA,KAAd,CAAP;AACH;AACM,IAAM6K,2BAA2B,EAAE5K,aAAa,KAAf,EAAjC;AACA,SAAS6K,UAAT,CAAoBjpB,IAApB,EAA0B;AAC7B,WAAOie,4EAAaA,CAAC,UAACC,GAAD,EAAS;AAC1Ble,aAAK;AACD6e,uBAAW,mBAAC3kB,CAAD;AAAA,uBAAOgkB,IAAIW,SAAJ,CAAcqK,mEAAUA,CAAChvB,CAAX,CAAd,CAAP;AAAA,aADV;AAEDukB,qBAAS,iBAACK,EAAD;AAAA,uBAAQZ,IAAIW,SAAJ,CAAcsK,mEAAUA,CAACrK,EAAX,CAAd,CAAR;AAAA,aAFR;AAGDT,sBAAUH,IAAIG,QAHb;AAIDF,yBAAaD,IAAIC,WAJhB;AAKDG,wBAAYJ,IAAII;AALf,SAAL;AAOH,KARM,CAAP;AASH;AACM,SAASqK,iBAAT,CAA2BtuB,CAA3B,EAA8B;AACjC,WAAO4jB,4EAAaA,CAAC,UAACC,GAAD;AAAA,eAAS7jB,EAAE,CAAC6jB,IAAIW,SAAL,EAAgBX,IAAIO,OAApB,EAA6BP,IAAIG,QAAjC,CAAF,CAAT;AAAA,KAAd,CAAP;AACH;AACM,SAAS+K,MAAT,CAAgBzK,WAAhB,EAA6B;AAChC,WAAOD,4EAAaA,CAACC,WAAd,EAA2B,UAACzkB,CAAD;AAAA,eAAO6kB,8EAAeA,CAAC,KAAK,CAArB,CAAP;AAAA,KAA3B,CAAP;AACH;AACM,SAASsK,QAAT,CAAkBC,YAAlB,EAAgC;AACnC,WAAOZ,aAAaa,QAAQC,GAAR,CAAYvuB,yDAAGA,CAAC,UAACwuB,CAAD;AAAA,eAAOhB,eAAegB,CAAf,CAAP;AAAA,KAAJ,EAA8BH,YAA9B,CAAZ,CAAb,CAAP;AACH;AACM,SAASI,KAAT,CAAeC,mBAAf,EAAoC;AACvC,WAAO1L,4EAAaA,CAAC,UAACC,GAAD,EAAS;AAC1BF,mBAAW;AAAA,mBAAME,IAAIC,WAAJ,CAAgBC,WAAhB,GACXF,IAAIG,QAAJ,CAAa,IAAIV,6EAAJ,EAAb,CADW,GAEXO,IAAIW,SAAJ,CAAc,KAAK,CAAnB,CAFK;AAAA,SAAX,EAE6B8K,mBAF7B;AAGH,KAJM,CAAP;AAKH;AACM,SAASC,KAAT,CAAejL,WAAf,EAA4BoK,iBAA5B,EAA+C;AAClD,WAAOc,uBAAuBlL,WAAvB,EAAoCoK,iBAApC,CAAP;AACH;AACM,SAASe,cAAT,CAAwBnL,WAAxB,EAAqCoK,iBAArC,EAAwD;AAC3D,WAAOa,MAAMjL,WAAN,EAAmBoK,iBAAnB,CAAP;AACH;AACM,SAASc,sBAAT,CAAgClL,WAAhC,EAA6CoL,YAA7C,EAA2DC,qBAA3D,EAAkFC,wBAAlF,EAA4G9L,WAA5G,EAAyH;AAC5H,QAAI,OAAO4L,YAAP,KAAwB,UAA5B,EAAwC;AACpC5L,sBAAc4L,YAAd;AACAA,uBAAe,IAAf;AACH;AACD,QAAMzL,aAAa,IAAIT,iEAAJ,EAAnB;AACAc,gBAAY;AACRE,mBAAWkL,eAAeA,YAAf,GAA8B9B,iBADjC;AAERxJ,iBAASuL,wBAAwBA,qBAAxB,GAAgD/B,iBAFjD;AAGR5J,kBAAU4L,2BAA2BA,wBAA3B,GAAsDhC,iBAHxD;AAIR9J,qBAAaA,cAAcA,WAAd,GAA4B6K,wBAJjC;AAKR1K;AALQ,KAAZ;AAOH;AACM,SAASmK,cAAT,CAAwB9J,WAAxB,EAAqCoK,iBAArC,EAAwD;AAC3D,WAAO,IAAIQ,OAAJ,CAAY,UAACW,OAAD,EAAUC,MAAV;AAAA,eAAqBN,uBAAuBlL,WAAvB,EAAoCuL,OAApC,EAA6CC,MAA7C,EAAqDA,MAArD,EAA6DpB,oBAAoBA,iBAApB,GAAwCC,wBAArG,CAArB;AAAA,KAAZ,CAAP;AACH,C;;;;;;;;;;;;;;;AA/FD;AACA;AACA;AACO,SAASE,UAAT,CAAoBve,CAApB,EAAuB;AAC1B,WAAO,IAAIyf,MAAJ,CAAW,CAAX,EAAczf,CAAd,CAAP;AACH;AACM,SAASwe,UAAT,CAAoBxe,CAApB,EAAuB;AAC1B,WAAO,IAAIyf,MAAJ,CAAW,CAAX,EAAczf,CAAd,CAAP;AACH;;IACoByf,M;AACjB,oBAAY5f,GAAZ,EAAiBC,IAAjB,EAAuB;AAAA;;AACnB,aAAKD,GAAL,GAAWA,MAAM,CAAjB;AACA,aAAKC,IAAL,GAAYA,IAAZ;AACH;;;;+BAOMrD,K,EAAO;AACV,mBAAOyF,mEAAYA,CAAC,IAAb,EAAmBzF,KAAnB,CAAP;AACH;;;kCACSA,K,EAAO;AACb,mBAAO0F,oEAAaA,CAAC,IAAd,EAAoB1F,KAApB,CAAP;AACH;;aACA0B,wDAAOA,CAAC/B,U;gCAAc;AACnB,mBAAO;AACHwG,sBAAM,oCADH;AAEHhE,4BAAY,CAAC,aAAD,EAAgB,mBAAhB,EAAqC,oBAArC,CAFT;AAGHgB,uBAAO,CAAC,CAAC,YAAD,EAAejD,kDAAf,CAAD,EAAsB,CAAC,YAAD,EAAeA,kDAAf,CAAtB;AAHJ,aAAP;AAKH;;;4BAlBoB;AACjB,mBAAO,KAAKkD,GAAL,KAAa,CAAb,GAAiB,KAAKC,IAAtB,GAA6B,IAApC;AACH;;;4BACoB;AACjB,mBAAO,KAAKD,GAAL,KAAa,CAAb,GAAiB,KAAKC,IAAtB,GAA6B,IAApC;AACH;;;;;;AAVgB2f,+D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDhB;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIK;AAAA;AAAA;;AAAA;AACa;AAAA;AAAA;;AADb;AAAA;AAAA;AAAI;AAAA;AAQP;AAAA,sHADA,sBADA,gHACA,CACA;AAAQ;AAKR;AAAA,kCADA,2BACA;AAAsB;AAKrB;AAAA,mBACA;AAAA,mBAAI,kEAAM,KAAV;AAAc,KADd;;AAEJ;AAFkB;AAMlB;AAAA,qBACU;AAAA;AAAA,oDACU,6BADV;;AAAA;AACqB;AAAA,iCAAY,gBAAZ;AAAA;;AADrB;AAAA;AAAA;AAAK;AAAA,KADf;;AAAA,WAIA,qBAJA;AAI2B;AAI3B;AAAA,qBACU;AAAA;AAAA;;AAAA;AACoB;AAAA,iCAAY,uBAAZ;AAAA;;AADpB;AAAA;AAAA;AAAK;AAAA,KADf;;AAAA,WAIA,qBAJA;AAI2B;AAG3B,oBAAgB;AAAA,cAAW,gEAAX;AAAA;AAAA;AAAmB,KAAnB;AAAmB,CAAnB,GAAhB;AAII;AAAA,kBACM;AAAA,YACG,qHADH;AAAA;AAAA;AAAA;AAAA;AAAG,KADT;;AAIJ;AAJe;AAKf,iBAAa;AAAA,gBAAW,+DAAX;AAAA;AAAA;AAAe,KAAf;AAAe,CAAf,GAAb;AACA,iBAAa;AAAA,gBAAW,+DAAX;AAAA;AAAA;AAAgB,KAAhB;AAAgB,CAAhB,GAAb;AAKA;AAAA,mBACU;AAAA;AAAA;AAAA,wBAGU,gHAHV,EAGoB,wGAHpB;AAAA;AAAA,wBACsB,gHADtB;AAAA,mBAEU;AAAA,uBAAU,uHAAV;AAAA;AAAA;AAAyB;AAF/B;AAAA,KADd;;AAKA,oBAAS,wGAAT;AAAgB;AAIhB;AAAA,wBACQ;AAAA;AAAA,iCAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC,aAAxD;;AACE;;AAAA,oCAGI;AAAA;AAEE,kCAAyB,uCAAzB;AAFF,2BAGa,6HAHb;AAAA,yBAGoC,wHAHpC;AAAA;AAAqB,aAHzB,MACsB;AAAA,kIAAlB,wHAAkB;AAAQ;AAFlB;AAAA,KADtB;;AASA,WACG,mIAAc,wGAAd,CADH;AACmB;AAIf;AAAA;;AAAA,mBACI;AAAA,wBAAY,yHAAZ;AACE;AADF,oBACE,wFADF;;AACE;AAEI;AAAA;;AAAA;AACwB;AAAA,8MAAc,wEAAS,mBAAT,CAAd,GAAgC,+GAAhC;;AADxB;AAAA;AAAA;;AAFJ;AAAA;AAAA;AADO,KADb;;AAWD,sHAHH,CAEG,QAAmB,4GAAC,6GAAD,EAAnB;AAAA;AAAmC,KAFtC,EACG,6GADH,CAGG;AAXwB;;AAkBrB;AAAA,oCACO,yHADP;;AAAA;AAEI;AAAA,4IAA4B;AAAA;AAAK,aAAjC,EAAoC,6GAApC;;AAAA;AAAA;AAAA,mBAEE;AAAA,mCAAqB,2GAArB,yHAAqB,WAArB;AAAA,yCACM,wHADN;AAAkB;;AAJxB;AAAA;AAAA;AAAI;;;;AAcJ;AAAA;AAAA;AAAA,WAGE;AAAA,qBAEA;AAAA,kCACI;AAAA,6BAAmB,yHAAnB;AAAA;AAA+B,aADnC,MAGU;AAAA,6CACS,0HAAgB,gEAAhB,CADT;;AAAA;AACoC;AAAA,kDAAK,kHAAL;;AADpC;AAAA,4CAEQ;AAAA,iEAAgB,yHAAhB;AAA4C,yBAFpD,MAGC;AAAA,sDAAgB,sHAAhB;AAAyB;;AAH1B;AAAG;AAGuB,SARpC;;AASA,wBAAY,mBAAK,wGAAL,EAAe,wGAAf,QAAZ;AACE;AAVF,gBAYQ,0HAZR,EAYwC,sBAAZ,6HAAY,CAZxC;AAAgB;AAHd;;;;AAmBJ;AAAA;;AAAA;AAAA;AAAA;;AAII;AAAA,0CACJ,0BADI;;AACJ,gBADI,+BACJ,EADI;AAAA;AAAI,aACR;AAAA;AAAA;;AALA;AAAA;AAAA;AAAI;;;;AAWN;AAAA;AAAA;AAAA;AAAA;AAAA,uBACM,8BAEE,+DAFF,EAEY,gEAFZ,kCAGG,gEAHH,EAGc,gEAHd,kCAIM,gEAJN,EAIc,gEAJd,KACM,gEADN,EACiB,gEADjB,CADN;AAMA,0BAA6B;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAwC,SAAxC;AAAwC,KAAxC,CAA7B;AANA,gBAOE,kIAC2C,6DAD3C,2DAPF;;AAOE;AAAA;AAAA;;AAAA;AAAA,6FAE6C,0HAF7C;;AAAA;AAGE;AAAA,uCAA6D,wEAAX,wEAAnC,8HAAmC,CAAW,CAA7D;;AACJ,oCACU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,qLAE8C,+FAF9C;;AAAA;AAAA;AAAA;;AAGF;AAAA,8CAAW,mHAAoB,sHAApB,CAAX;AAAA;AAAA;;AAHE;AAAA,qKAI2C,yIAJ3C;;AAAA;AAKE;AAAA,8DAA2D,wEAAX,wEAAlC,8HAAkC,CAAW,CAA3D;AACJ,mDAEG,+JAFH,EAAC,mHAAoB,4GAAC,+GAAD,EAApB,CAAD;;AANE;AAAA,2IASc,2DATd;;AAAA;AAUF;AAAA,2DAEG,wJAFH,EAAC,mHAAoB,4GAAC,+GAAD,EAApB,CAAD,EAAuC,wGAAvC;;AAIA;AAAA,2DACG,+HAAW,mHAAoB,4GAAC,iHAAD,EAApB,CAAX,CADH,qEAAQ;AAdN;;AAAA;;AAAA;AAAI;AAAA,qBADd;;AAiBA,qCAAU,wGAAV;;AArBE;AAAA,yGAsB4B,iCAtB5B;;AAAA;AAAA;AAAA;;AAAA;AAAA,6DAuBqB,iCAvBrB;;AAAA;AAwBF;AAAA,sDACU;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA,mIAE+B,0FAF/B;;AAAA;AAAA;AAAA;;AAGF;AAAA,gEAAW,qHAAoB,sHAApB,CAAX;AAAA;AAAA;;AAHE;AAAA,mHAIoB,0FAJpB;;AAAA;AAKF;AAAA,mEAEG,gJAFH,EAAC,qHAAoB,4GAAC,+GAAD,EAApB,CAAD;;AAIA;AAAA,mEACG,iIAAW,qHAAoB,4GAAC,iHAAD,EAApB,CAAX,CADH,qEAAQ;AATN;;AAAA;AAAI;AAAA,qCADd;;AAYA,uDAAU,wGAAV;;AApCE;AAAA;AAAA;;AAAA;;AAAA;;AAAA;AAPsC;;;;AAqDtC;AAAA,kCACJ,kBAAc,kBAAd,OADI;;AACJ,QADI,+BACJ,EADI;AAAA;AAAI,KACR;AAAA;AAAA;AADQ;;;;AAUJ;AAAA,kCACJ,kBAAc,kBAAd,OADI;;AACJ,QADI,+BACJ,EADI;AAAA;AAAI,KACR;AAAA;AAAA;AADQ;;;;AAKJ;AAAA,kCACJ,kBAAc,kBAAd,OADI;;AACJ,QADI,+BACJ,EADI;AAAA;AAAI,KACR;AAAA;AAAA;AADQ;;;;AAKJ;AAAA,kCACJ,kBAAc,kBAAd,OADI;;AACJ,QADI,+BACJ,EADI;AAAA;AAAI,KACR;AAAA;AAAA;AADQ;;;;AAOJ;AAAA;;AAAA,QACG,eADH,EACW;AAAA;AAAU,KADrB;AAAA;AAAA;AAAkB;;;;AAMJ;AAAA;AAAA,gBACH,kEAAM,YADH;AAAA;AAAA;AAAA;AAET;;;;AAMX;AAAA,sBACU;AAAA;AAAA;;AAAA;AACW;AAAA,wBAAa,KAAb;AAAA;AAAA;;AADX;AAAA;AAAA;AAAG;AAAA,KADb;;AAIM;;AAAA,QACI,cADJ,EAEI;AAAA;AAAA;;AAAA;AAEF;AAAA;AAAA;AAAA,kBAAQ,uBAAR;;AAFE;AAAA;AAAA;AAAW,KAFf;AAAA;AAAA;AAQK;;;;AAIL;AAAA;;AAAA;AAGC;AAAA;;AAHD;AAAA;AAAA;AAAI;;;;AAUJ;AAAA;;AAAA;AAAA;AAAA,oBACuC,oEAAQ,oHAAR,CADvC;;AAAA;AAAA,oBAEgC,mEAFhC;;AAAA;AAAA;AAAA;AAAI;;;;AAQJ;AAAA;;AAAA;AAAA;AAAA,0CACW,wBADX;;AACW,gBADX,+BACW;AAAA,6BADX,sIACW;AAAA;AAAA;AAAA;AADP,SAAJ;AAAA;AAAA;AAAI,KAAJ;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,0CAEJ,mBAFI;;AAEJ,gBAFI,+BAEJ,EAFI;AAAA;AAAI,aAER;AAAA;AAAA;;AAFI;AAAI;;;;AAQN;AAAA,uBAAa,kBAAb;;AACE;AAAA;AAAA,WADF;AAAA;AAAU;AAAA;;;AAUX;AAAA,wIACO;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAI,KADX;AAGc;AAMb;AAAA,0BACA;AAAA,+BACU;AAAA;AAAA;;AAAA;AACY;AAAA,4BAAkB,KAAlB;AAAA;AAAA;;AADZ;AAAA;AAAA;AAAI;AAAA,SADd;;AAIA;AAAuB,KALvB;;AAOD,wIACK;AAAA,2BAAU,uBAAV;;AACJ,YAAG,mBAAH,EADI;AAAA;AAAO,SACX;AAAA;AAAA;AADW,KADZ;AAPqB;;AAoBpB;AAAA,uBAAa,kBAAb;AACG,mDAAiB,2BAAjB;;AAAA,QACM,oBAAO,iBAAP,QADN,EADH;AAAA;AAAU,KACP;AAAA;AAAA;AADO;;;;AAOV;AAAA,8BACA;AAAA,uBACU;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA,gCAEkB,wHAFlB;;AAGC;AAAA,qCAAC,sGAAI,qIAAL,EAA0B,qHAA1B;AAAA;AAHD;AAAI;AAAA,SADd;;AAKA,yBAAU,wGAAV;AAAmB,KANnB;;AAOA,yBACA;AAAA,uBACU;AAAA;AAAA;AAAA;AAAA,gCAEW,0HAFX;AAAA,2BAGC;AAAA,uCAAC,sGAAI,yIAAL,EAA0B,uHAA1B;AAAA;AAAqD;AAHlD,iBAAJ;AAAA;AAAA;AAAI;AAAA,SADd;;AAKA,yBAAU,wGAAV;AAAmB,KANnB;;AAPA,iBAcE,qEAdF;;AAcE;AAEI;AAAA;;AAAA;AAAA;AAAA,mBAEI;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA,uBAEF;AAAA;AAAA;AAAA;AAAwC;AAFhB;;AAJ9B;AAAA;AAAA;AAdsB;;;AA+B5B;AAAA,uBACU;AAAA;AAAA;AAAA,wBAEU,gHAFV,EAEoB,wGAFpB;AAAA;AAAA,wBACsB,gHADtB;AAAA,mBAIE;AAAA,mCAAY,oBAAZ;AAAA,uBACU,6HADV;AAAA;AAAA;AAAS;AAJP;AAAA,KADd;;AAOA,wBAAa,wGAAb;AAAoB;AAIhB;AAAA,0BACA;AAAA;AAAgB,KADhB;;AAGA,oBACM;AAAA;AAAA,wCAK0B;AAAA;AAAE,aAL5B,MAOE;AAAA,0BAAM,4GAAQ,2LAAR,QAAN;AACG,2FAAO,YAAd,KADI;AAEqB,oIAAzB,6GAAyB;AAFlB;AAPD,SAAJ,MAEE;AAAA,wBAAM,4GAAQ,yIAAR,QAAN;AACG,uFAAO,YAAd,OADI;AAEG;AAFA;AAFD,KADV;;AAcA,iBACI;AAAA,uBACI;AAAA,2BACM;AAAA,6CACkB,sBADlB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAG,aADT;;AAIJ;AAJgB,SADhB;;AAMJ,eACG,oIADH;AANyB,KADzB;;AAYA,mBACI;AAAA,yBACI;AAAA,6BACM;AAAA,+CACqB,wBADrB;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAG,aADT;;AAIJ;AAJkB,SADlB;;AAMJ,eACG,sIADH;AAN2B,KAD3B;;AASA,oBACA;AAAA;AAAA,eASa;AAAA;AAAa,SAT1B,EAAM,2FAQE,0HARF,GAME,4GANF,4HAME,gBANF,2BAIE,0HAJF,4HAIE,EAJF,GAEE,4GAFF,4HAEE,gBAFF,4HAEE,EAFR;AAS2B,KAV3B;;AAWA,mBAAa;AAAA;AAAG,KAAhB;;AACJ,+BACQ;AAAA,0BACI;AAAA,gCAAqD,wEAApC,mBAAa,wGAAb,kBAAoC,CAArD;AAAA,oBACJ,uEADI;AAAa,SADjB;;AAIE,sCACJ,aAAS,gEAAT,SADI;;AACJ,YADI,+BACJ;AAAA,oBAAqC,uGAA+B,wEAAP,wEAAb,sEAAU,CADtD,sIAC4C,IAAa,CAAO,CAA/B,cAArC,EADI,sIACJ;AAAA,eADI;AAAA,0CAEJ,4BAFI;;AAEJ,gBAFI,+BAEJ,EACM;AAAA,sCAA8F,wEAAZ,wEAAjE,SAAqC,wEAAV,wEAA3B,aAAa,wGAAb,EAHnB,sIAGmB,IAA2B,CAAU,CAArC,CAAiE,CAAY,CAA9F;AAAA,wBACJ,yCAJE,sIAIF,KAJE,sIAIF,KADI,EAHF,sIAGE;AAAa,aADnB,MAFI;AAAA,8CAKJ,uBALI;;AAKJ,oBALI,+BAKJ,EACE;AAAA,uCAAY;AAAA;AAAM,qBAAlB,GANE,sIAMF,KANE,sIAMF,KANE,sIAMF,KANE,sIAMF;AAA6D,iBAD/D,MALI;AAAA,kDAOJ,mBAPI;;AAOJ,wBAPI,+BAOJ,EACE;AAAA,2CAAY;AAAA;AAAQ,yBAApB,GARE,sIAQF,KARE,sIAQF,KARE,sIAQF,KARE,sIAQF;AAA+D,qBADjE,MAPI;AAAA,sDASJ,uBATI;;AASJ,4BATI,+BASJ,EACE;AAAA,+CAAY;AAAA;AAAM,6BAAlB,GAVE,sIAUF,KAVE,sIAUF,KAVE,sIAUF,KAVE,sIAUF;AAA6D,yBAD/D,MATI;AAAA,0DAWJ,qBAXI;;AAWJ,gCAXI,+BAWJ,EACM;AAAA,gDAA6C,wEAAjC,aAAa,wGAAb,EAZd,sIAYc,IAAiC,CAA7C;AACA,0CAAM,sEAAU,CAblB,sIAaQ,IAAN;AADA,wCAEJ,sNAAqB;AAAA;AAAI,iCAAxB,kBAAD,gBAFI,EAZF,sIAYE;AAAS,6BADf,MAXI;AAAA;;AAAA;AAAA;AAAA,sEAeU,0BAfV;;AAeU,4CAfV,+BAeU;AAAA,yDAfV,sIAeU,KAfV,sIAeU,KAfV,sIAeU;AAAA;AAAA;AAAA;AAfN,qCAAJ;AAAA;AAAA;AAAI,iCAAJ;AAAA;AAAA;;AAAA;AAgBE;AAAA,0DAA6B,sEAAU,WAAvC;AACA,oDAAM,sEAAU,WAAhB;AADA,gDAEJ,sNAAqB;AAAA;AAAO,yCAA3B,sBAAD,gBAFI;;AAhBF;AAAA;;AAAA;AAoBE;AAAA,4DAAQ,oBAAR;AACE;;AAAA;AAAA,4DAIF,sNAAmB,wEAAX,0FAAW,CAAnB,gBAJE;AAAA;AAAA,4DAEF,sNAA2B;AAAA;AAAc,qDAAxC,EAAC,8EAAD,SAAD,gBAFE;AAAA;;AAMA;AAAA;;AAAA;AAAA,4DAMF,sNAAmB,wEAAX,0FAAW,CAAnB,gBANE;AAAA,uDAEI;AAAA,4DAC2B,sNAAoB;AAAA;AAAc,qDAAjC,wDAAD,gBAD3B;AAAA,uDAEC;AAAA;AAAwC;;AAI/C;AAAA,0DAAM,kEAAM,CAAC,iHAAP,CAAN;AAAA,wDACJ,+KAAc,4EAAd,eADI,EACqC,oEAAQ,WAD7C;AAnCF;;AAAA;AAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAJsD,KADpE;;AAAA,uBA2CU;AAAA,iCACE;AAAA;AAAE,SADJ,MAGE;AAAA,+BAAoB,mDAApB;;AACE,8CACa;AAAA;AAAQ,aADrB,MAIC;AAAA,uCADH,8CACG;AAAe;AALD;AAHf,KA3Cd;;AAoDA,wBAAa,wGAAb;AAtGkC;AAwGP;AAAA,gCAAqB,wGAArB;AAA4B,C;;;;;;;ARne3D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAASnvB,GAAT,CAAaZ,CAAb,EAAgBoG,MAAhB,EAAwB4pB,UAAxB,EAAoC;AACvC,QAAMnc,SAAS,IAAImc,UAAJ,CAAe5pB,OAAOjC,MAAtB,CAAf;AACA,SAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIyF,OAAOjC,MAA3B,EAAmCxD,GAAnC,EAAwC;AACpCkT,eAAOlT,CAAP,IAAYX,EAAEoG,OAAOzF,CAAP,CAAF,CAAZ;AACH;AACD,WAAOkT,MAAP;AACH;AACM,SAAShT,UAAT,CAAoBb,CAApB,EAAuBoG,MAAvB,EAA+B4pB,UAA/B,EAA2C;AAC9C,QAAMnc,SAAS,IAAImc,UAAJ,CAAe5pB,OAAOjC,MAAtB,CAAf;AACA,SAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIyF,OAAOjC,MAA3B,EAAmCxD,GAAnC,EAAwC;AACpCkT,eAAOlT,CAAP,IAAYX,EAAEW,CAAF,EAAKyF,OAAOzF,CAAP,CAAL,CAAZ;AACH;AACD,WAAOkT,MAAP;AACH;AACM,SAAS/S,OAAT,CAAiBsF,MAAjB,EAAyB;AAC5B,WAAOvF,WAAW,UAACF,CAAD,EAAId,CAAJ;AAAA,eAAU,CAACc,CAAD,EAAId,CAAJ,CAAV;AAAA,KAAX,EAA6BuG,MAA7B,EAAqC7D,KAArC,CAAP;AACH;AACM,SAAS0tB,eAAT,CAAyB1lB,KAAzB,EAAgC9K,EAAhC,EAAoC;AACvC,QAAMoD,OAAO0H,MAAMjH,OAAOC,QAAb,GAAb;AACA,QAAIT,MAAMD,KAAKE,IAAL,EAAV;AACA,WAAO,CAACD,IAAII,IAAZ,EAAkB;AACdzD,WAAG4J,IAAH,CAAQvG,IAAIG,KAAZ;AACAH,cAAMD,KAAKE,IAAL,EAAN;AACH;AACJ;AACM,SAASmtB,MAAT,CAAgB9pB,MAAhB,EAAwB+pB,WAAxB,EAAqCtc,MAArC,EAA6Cuc,WAA7C,EAA0D7rB,KAA1D,EAAiE;AACpE,WAAOA,OAAP,EAAgB;AACZsP,eAAOuc,aAAP,IAAwBhqB,OAAO+pB,aAAP,CAAxB;AACH;AACJ;AACM,SAASpvB,SAAT,CAAmBf,CAAnB,EAAsBP,EAAtB,EAA0B;AAC7B,QAAMC,KAAK,EAAX;AACA,QAAMkJ,KAAK,EAAX;AACA,QAAIX,IAAI,CAAR;AACA,QAAIhG,IAAI,CAAR;AACA,SAAK,IAAItB,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0E,MAAvB,EAA+BxD,GAA/B,EAAoC;AAChC,YAAIX,EAAEP,GAAGkB,CAAH,CAAF,CAAJ,EAAc;AACVjB,eAAGuI,GAAH,IAAUxI,GAAGkB,CAAH,CAAV;AACH,SAFD,MAGK;AACDiI,eAAG3G,GAAH,IAAUxC,GAAGkB,CAAH,CAAV;AACH;AACJ;AACD,WAAO,CAACjB,EAAD,EAAKkJ,EAAL,CAAP;AACH;AACM,SAASmB,OAAT,CAAiB/J,CAAjB,EAAoBP,EAApB,EAAwB;AAC3B;AACA,QAAMC,KAAKD,GAAGmB,GAAH,CAAO;AAAA,eAAM,IAAN;AAAA,KAAP,CAAX;AACA,QAAMyvB,aAAa,IAAI9tB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAnB;AACA,SAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0E,MAAvB,EAA+BxD,GAA/B,EAAoC;AAChC,YAAMsH,IAAIjI,EAAEW,CAAF,CAAV;AACA,YAAIsH,IAAI,CAAJ,IAASA,KAAKxI,GAAG0E,MAArB,EAA6B;AACzB,kBAAM,IAAIzD,KAAJ,CAAU,yBAAV,CAAN;AACH;AACDhB,WAAGuI,CAAH,IAAQxI,GAAGkB,CAAH,CAAR;AACA0vB,mBAAWpoB,CAAX,IAAgB,CAAhB;AACH;AACD,SAAK,IAAItH,KAAI,CAAb,EAAgBA,KAAIlB,GAAG0E,MAAvB,EAA+BxD,IAA/B,EAAoC;AAChC,YAAI0vB,WAAW1vB,EAAX,MAAkB,CAAtB,EAAyB;AACrB,kBAAM,IAAID,KAAJ,CAAU,yBAAV,CAAN;AACH;AACJ;AACD,WAAOhB,EAAP;AACH;AACM,SAAS4wB,aAAT,CAAuBpoB,IAAvB,EAA6BzI,EAA7B,EAAiC;AACpC,QAAMkB,IAAIlB,GAAG0P,OAAH,CAAWjH,IAAX,CAAV;AACA,QAAIvH,IAAI,CAAC,CAAT,EAAY;AACRlB,WAAGqW,MAAH,CAAUnV,CAAV,EAAa,CAAb;AACA,eAAO,IAAP;AACH;AACD,WAAO,KAAP;AACH;AACM,SAAS4vB,QAAT,CAAkB1c,MAAlB,EAA0BxS,KAA1B,EAAiCC,KAAjC,EAAwC8E,MAAxC,EAAgD;AACnD,QAAMjC,SAAS,CAAC7C,SAASuS,OAAO1P,MAAP,GAAgB,CAA1B,IAA+B9C,KAA9C;AACA,QAAI+F,YAAYC,MAAZ,CAAmBwM,MAAnB,KAA8BzN,OAAOjC,MAAP,IAAiBA,MAAnD,EAA2D;AACvD0P,eAAOtH,GAAP,CAAWnG,MAAX,EAAmB/E,KAAnB;AACH,KAFD,MAGK;AACD,aAAK,IAAIV,IAAIU,QAAQ,CAAhB,EAAmB4G,IAAI,CAA5B,EAA+BA,KAAK9D,MAApC,EAA4CxD,KAAKsH,GAAjD,EAAsD;AAClD4L,mBAAOlT,CAAP,IAAYyF,OAAO6B,CAAP,CAAZ;AACH;AACJ;AACJ;AACM,SAASuoB,aAAT,CAAuBxwB,CAAvB,EAA0BP,EAA1B,EAAuC;AAAA,QAATgxB,GAAS,uEAAH,CAAG;;AAC1C,WAAOhxB,GAAGuL,IAAH,CAAQ,UAACnL,CAAD,EAAIK,CAAJ,EAAU;AACrBL,YAAIG,EAAEH,CAAF,CAAJ;AACAK,YAAIF,EAAEE,CAAF,CAAJ;AACA,eAAO,CAACL,IAAIK,CAAJ,GAAQ,CAAC,CAAT,GAAaL,MAAMK,CAAN,GAAU,CAAV,GAAc,CAA5B,IAAiCuwB,GAAxC;AACH,KAJM,CAAP;AAKH;AACM,SAAShvB,KAAT,CAAehC,EAAf,EAAmB;AACtB,QAAMixB,KAAK,IAAInuB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAX;AACA,QAAMwsB,KAAK,IAAIpuB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAX;AACA,SAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0E,MAAvB,EAA+BxD,GAA/B,EAAoC;AAChC+vB,WAAG/vB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAgwB,WAAGhwB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACH;AACD,WAAO,CAAC+vB,EAAD,EAAKC,EAAL,CAAP;AACH;AACM,SAAS/uB,MAAT,CAAgBnC,EAAhB,EAAoB;AACvB,QAAMixB,KAAK,IAAInuB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAX;AACA,QAAMwsB,KAAK,IAAIpuB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAX;AACA,QAAMysB,KAAK,IAAIruB,KAAJ,CAAU9C,GAAG0E,MAAb,CAAX;AACA,SAAK,IAAIxD,IAAI,CAAb,EAAgBA,IAAIlB,GAAG0E,MAAvB,EAA+BxD,GAA/B,EAAoC;AAChC+vB,WAAG/vB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAgwB,WAAGhwB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACAiwB,WAAGjwB,CAAH,IAAQlB,GAAGkB,CAAH,EAAM,CAAN,CAAR;AACH;AACD,WAAO,CAAC+vB,EAAD,EAAKC,EAAL,EAASC,EAAT,CAAP;AACH;AACM,SAAS7nB,WAAT,CAAqBC,IAArB,EAA2BvJ,EAA3B,EAA+B;AAClC,QAAIuJ,OAAO,CAAX,EAAc;AACV,cAAM,IAAItI,KAAJ,CAAU,uDAAV,CAAN;AACH;AACD,QAAIjB,GAAG0E,MAAH,KAAc,CAAlB,EAAqB;AACjB,eAAO,CAAC,EAAD,CAAP;AACH;AACD,QAAM8E,SAAS,EAAf;AACA;AACA,SAAK,IAAIpJ,IAAI,CAAb,EAAgBA,IAAI4U,KAAKoc,IAAL,CAAUpxB,GAAG0E,MAAH,GAAY6E,IAAtB,CAApB,EAAiDnJ,GAAjD,EAAsD;AAClD,YAAM0vB,QAAQ1vB,IAAImJ,IAAlB;AACA,YAAM8nB,MAAMvB,QAAQvmB,IAApB;AACAC,eAAOI,IAAP,CAAY5J,GAAG2B,KAAH,CAASmuB,KAAT,EAAgBuB,GAAhB,CAAZ;AACH;AACD,WAAO7nB,MAAP;AACH;AACM,SAAS8nB,WAAT,CAAqBtxB,EAArB,EAAyB6Y,UAAzB,EAAqC/T,KAArC,EAA4C;AAC/C,WAAO9E,GAAG2B,KAAH,CAASkX,UAAT,EAAqBA,aAAa/T,KAAlC,CAAP;AACH;AACM,SAASysB,IAAT,CAAcnd,MAAd,EAAsBuc,WAAtB,EAAmC7rB,KAAnC,EAA0CtB,KAA1C,EAAiD;AACpD4Q,WAAOmd,IAAP,CAAY/tB,KAAZ,EAAmBmtB,WAAnB,EAAgCA,cAAc7rB,KAA9C;AACH;AACM,SAASpC,OAAT,CAAiBC,KAAjB,EAAwB3C,EAAxB,EAA4B;AAC/B,QAAI2C,QAAQ,CAAZ,EAAe;AACX,cAAM,IAAI1B,KAAJ,CAAU,iCAAV,CAAN;AACH;AACD,QAAI0B,QAAQ3C,GAAG0E,MAAf,EAAuB;AACnB,cAAM,IAAIzD,KAAJ,CAAU,4DAAV,CAAN;AACH;AACD,WAAO,CAACjB,GAAG2B,KAAH,CAAS,CAAT,EAAYgB,KAAZ,CAAD,EAAqB3C,GAAG2B,KAAH,CAASgB,KAAT,CAArB,CAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ASvII;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACsB;AAAA,qHAAa;AAAA;AAA6C,KAA1D;AAA+D;AAInF;AAAA,WADH,0GAAa;AAAA,eAAkB,uHAAlB;AAAgD,KAA7D,UACG;AAAW;AAId;AAAA,2BACU;AAAA;AAAA,2CACY,4HADZ;;AAAA;AACyB;AAAA;;AADzB;AAAA,0CAGE;AAAA,oJAAc,wGAAd;AAAiB,qBAHnB,MAEU;AAAA;AAAA,iCAAwB,wHAAxB;AAAA;AAAA;AAAwC;;AAFlD;AAAC;AAAA,KADX;;AAKA,0BACW;AAAA;AAAA;;AAAA;AAAA,mCAAG,wBAAH;AAAA,4EACa,2KADb;;AAAA;AAC0B;AAAA;;AAD1B;AAAA,oDAGG;AAAA,sJAAc,wGAAd;AAAiB,qBAHpB,MAEW;AAAA;AAAA;AAAA;AAAA,mCAAuB,mHAAvB;AAAA;AAAA;AAAuC;;AAFlD;AAAqB;AAAA,KADhC;;AAKI,qBAAa,yCAAb;AACJ,WACG;AAAA,6BAEgB;AAAA;AAAA;AAAA,gIAAG,oHAAH;AAAqB,SAFrC,MACkB;AAAA;AAAA;AAAA,gIAAM,oHAAN;AAAwB;AACL,KAHxC,mBAAiB,wGAAjB;AAGwC;AAIlC;AAAA,iBAEC;AAAA;AAAE,KAFH;AAAA;AAAA,eAGG,KAHH,EAGY;AAAA,2HAAU,oIAAV;AAAmC,KAH/C,MAIC;AAAA,8HAAO,WAAY,KAAZ,MAAP;AAA4B;AAJ5B;AAOR;AAAA;AAAU;AAIF;AAAA;AAEC;AAAA;AAAA;AAAA;;AAAA,kBAAc;AAAA,YAAG,KAAH,EAAY;AAAA,4HAAC,6GAAD;AAAM,SAAlB,MAAwB;AAAA,4HAAC,6GAAD;AAAM;AAAA,KAA5C;;AACE,qCAAW,WAAX;;AAAA;AAAA,6BACc;AAAA,+HAAC,gCAAD;AAAkB,SADhC,MAEW;AAAA,0HAAU;AAAA,uBAAsB;AAAA;AAAM,iBAA5B;AAAA;AAAA;AAAA,aAAV,EAAyC,iBAAzC;AAAyD;AAFhD,KAApB,2BAGW;AAAA,sHAAU;AAAA,mBAAsB;AAAA;AAAM,aAA5B;AAAA;AAAA;AAAA,SAAV,EAAyC,iBAAzC;AAAyD,KAHpE;AAAA;AAAA;AAHE;AAWR;AAAA,yBACI;AAAA,gBAAI,kHAAiB,OAAjB,CAAJ;AACE;;AAAA;AAAA,0BACc,yBADd;AAAA;AAAA;AAAA;AADD,KADL;;AAKJ,qBACU;AAAA;AAAA,yCAEJ,+BAFI;;AAEJ,gBAFI,8BAEJ,EAAiC;AAAA,oBAAY,uKAFzC,qIAEyC,eAAZ;AAAA,wBAF7B,qIAE6B;AAAA;AAA0C,aAA3E,MAFI;AAAA,6CAIJ,+BAJI;;AAIJ,oBAJI,8BAIJ,EAAiC;AAAA,wBAAY,uKAJzC,qIAIyC,QAAZ;AAAA,4BAJ7B,qIAI6B;AAAA;AAA+B,iBAAhE,MAJI;AAAA,iDAKJ,4BALI;;AAKJ,wBALI,8BAKJ,EAA8B;AAAA,4BAAY,2KAAZ;AAAA,gCAL1B,qIAK0B;AAAA;AAA2B,qBAAzD,MALI;AAAA,qDAMJ,4BANI;;AAMJ,4BANI,8BAMJ,EAA8B;AAAA,gCAAY,2KAAZ;AAAA,oCAN1B,qIAM0B;AAAA;AAA6B,yBAA3D,MANI;AAAA,yDAOJ,4BAPI;;AAOJ,gCAPI,8BAOJ,EAA8B;AAAA,oCAAY,0KAAZ;AAAA,wCAP1B,qIAO0B;AAAA;AAA8B,6BAA5D,MAPI;AAAA,6DAQJ,4BARI;;AAQJ,oCARI,8BAQJ,EAA8B;AAAA,wCAAY,2KAAZ;AAAA,4CAR1B,qIAQ0B;AAAA;AAA2B,iCAAzD,MARI;AAAA,iEASJ,4BATI;;AASJ,wCATI,8BASJ,EAA8B;AAAA,4CAAY,0KAAZ;AAAA,gDAT1B,qIAS0B;AAAA;AAA0B,qCAAxD,MATI;AAAA,qEAUJ,4BAVI;;AAUJ,4CAVI,8BAUJ,EAA8B;AAAA,gDAAY,0KAAZ;AAAA,oDAV1B,qIAU0B;AAAA;AAA2B,yCAAzD,MAVI;AAAA,yEAWJ,4BAXI;;AAWJ,gDAXI,8BAWJ,EAA8B;AAAA,oDAAY,2KAAZ;AAAA,wDAX1B,qIAW0B;AAAA;AAA0B,6CAAxD,MAXI;AAAA,6EAYJ,4BAZI;;AAYJ,oDAZI,8BAYJ,EAA8B;AAAA,wDAAY,2KAAZ;AAAA,4DAZ1B,qIAY0B;AAAA;AAA0B,iDAAxD,MAZI;AAAA,iFAaJ,4BAbI;;AAaJ,wDAbI,8BAaJ,EAA8B;AAAA,4DAAY,2KAAZ;AAAA,gEAb1B,qIAa0B;AAAA;AAA2B,qDAAzD,MAbI;AAAA,qFAcJ,4BAdI;;AAcJ,4DAdI,8BAcJ,EAA8B;AAAA,gEAAY,2KAAZ;AAAA,oEAd1B,qIAc0B;AAAA;AAA2B,yDAAzD,MAdI;AAAA,yFAeJ,4BAfI;;AAeJ,gEAfI,8BAeJ,EAA8B;AAAA,oEAAY,0KAAZ;AAAA,wEAf1B,qIAe0B;AAAA;AAA2B,6DAAzD,MAfI;AAAA,6FAgBJ,4BAhBI;;AAgBJ,oEAhBI,8BAgBJ,EAA8B;AAAA,wEAAY,2KAAZ;AAAA,4EAhB1B,qIAgB0B;AAAA;AAAyB,iEAAvD,MAhBI;AAAA,iGAiBJ,4BAjBI;;AAiBJ,wEAjBI,8BAiBJ,EAA8B;AAAA,4EAAY,2KAAZ;AAAA,gFAjB1B,qIAiB0B;AAAA;AAA2B,qEAAzD,MAjBI;AAAA,qGAkBJ,4BAlBI;;AAkBJ,4EAlBI,8BAkBJ,EAA8B;AAAA,gFAAY,2KAAZ;AAAA,oFAlB1B,qIAkB0B;AAAA;AAA2B,yEAAzD,MAlBI;AAAA,yGAmBJ,4BAnBI;;AAmBJ,gFAnBI,8BAmBJ,EAA8B;AAAA,oFAAY,2KAAZ;AAAA,wFAnB1B,qIAmB0B;AAAA;AAA2B,6EAAzD,MAnBI;AAAA,6GAqBJ,2DArBI;;AAqBJ,oFArBI,8BAqBJ,EAA6D;AAAA,wFAAY,uKArBrE,qIAqBqE,QAAZ;AAAA,4FArBzD,qIAqByD;AAAA;AAAgC,iFAA7F,MArBI;AAAA,iHAsBJ,4BAtBI;;AAsBJ,wFAtBI,8BAsBJ,EAA8B;AAAA,4FAAY,0KAAZ;AAAA,gGAtB1B,qIAsB0B;AAAA;AAA0B,qFAAxD,MAtBI;AAAA,qHAuBJ,4BAvBI;;AAuBJ,4FAvBI,8BAuBJ,EAA8B;AAAA,gGAAY,2KAAZ;AAAA,oGAvB1B,qIAuB0B;AAAA;AAA2B,yFAAzD,MAvBI;AAAA,yHAwBJ,4BAxBI;;AAwBJ,gGAxBI,8BAwBJ,EAA8B;AAAA,oGAAY,2KAAZ;AAAA,wGAxB1B,qIAwB0B;AAAA;AAA+B,6FAA7D,MAxBI;AAAA;AAAA,mGA0BC;AAAA,mNAAU,uIAAV;AAAwC;AA1BtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KADb;;AA4BqB,sHAArB,WAAW,wGAAX,MAAqB;AAjCK;;eAsCN,Y;;AAEpB;AAAA;AAAuB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9FnB;AAAA,YAAI,mOAAJ;;AACJ,QAAG,SAAH,EAEQ;AAAA,mBAAO,yGAAE;AAAA,yHAAqB;AAAA;AAAO,aAA5B;AAA4B,SAA5B,CAAF,CAAP;AAAA,gBACE,6GADF,EACkB,6GADlB;AAAI,KAFZ;AAAA;AAAA;AADK;AASL;AAAA;AAAqB;AAIrB;AAAA,yHAAqB,+GAArB;AAAwB;AAIxB;AAAA;AAAe;;AAST;AAAA;;AAAA,4BAGE;AAAA;AAAA;AAAA;AAAA,wBACU,4BADV;AAAK,KAHP;AAAA;AAAA;AAAuB;;;AAWzB;AAAA,oBAAc;AAAA;AAAA,gBAEX,SAAuB;AAAA,iCAAc,QAAd;AAAwB,SAA/C;AAAA;AAAkD,SAFvC,EACd,6LADc;AAAC,KAAf;;AAIJ,WAGa;AAAA;AAAoB,KAHjC,CAEG,uGAAW;AAAA;AAAC,KAAZ,MADA,uGAAU;AAAA,eAAuB;AAAA;AAAK,SAA5B;AAAA,KAAV,WACA,CAFH;AAJoB;;AAchB;AAAA;;AAAA,wBACI;AAAA,iBAAK,gBAAL;AAAA,gBACJ,sBADI;AAAE,KADN;;AAGJ,YACG;AAAA;AAA2B,KAD9B;AAHwB;;;;AASpB;AAAA,uBAAiB;AAAA;AAAA,8BACQ,sCADR;AAAA;AAAA;AAAA;AAET,KAFR;;AAGH;AAHiB;;;;AAQd;AAAA,uBAAiB;AAAA;AAAA,oBACe,MAAM,kCAAN,CADf,EAC8B,sCAD9B;AAAA;AAAA;AAAA;AAET,KAFR;;AAGH;AAHiB;;;;AAMK;AAAA;;AAAA,iCACrB,0BADqB;;AACrB,QADqB,8BACrB,EADqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;AAAQ,KAC7B;AAAA;AAAA;;AADqB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;ACpFX;AAAA,WAEG,+EAAa,UAAS,0EAAtB,CAFH,CACG,6GADH;AAE6B,C;;;;;;;;;;;;;;;;;;;;;;;;ACF7B;AAAA;AAAA,eAEG,wEAFH;AAAA,mBACG,wEADH;AAAA;AAAA;AAEe;;AAGf;AAAA;AAAA,eAAmB;AAAA;AAAqB,SAAxC;AAAA;AAAwC;;;AAGlC;AAAA,kJAEQ,oBAAmB,2EAAnB,CAFR,GACI,oBAA6B;AAAA;AAAuB,KAApD,CADJ;AAAM,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACDN;AAAA;AAAA,kCAC+B;AAAA,oIAAf,uHAAe;AAAE,SADjC,MAIC;AAAA;AAAA,wBACH,kEAAM,0BADH;AAAA,eADH,oBACG;AACoB;AALjB,KAAJ,MAME;AAAA,kFAAO,cAAY,4GAAQ,iHAAR,OAAnB;AAC4B,mIAApB,oEAAQ,SAAY;AAAE;AAP5B;AAaN;AAAA;;AAAA,0BAAgC;AAAA,sHAAC,2FAAoB,gBAArB;AAA6C,KAA7E;;AAMD,+EADA,2GAJH,CAGG,QAA0B,wGAA1B;AAAA;AAA4B,KAH/B,EAEG,mFAAY,CADZ,mFAAY,MACZ,CAFH,CAIG,CACA;AAN8B;;AAc7B;AAAA,yBACA;AAAA,eACG;AAAA;AAAA;AAAA,mBAEK;AAAA,kCACI;AAAA;AACA,oCAAoB,0FAAmB,iBAAvC;AACJ;AAFmB,iBADnB;;AAIA,6BACI;AAAA,yCAAc;AAAA;AAAA,0BAAd;;AACJ,2FAAO,sIAAP;AADe,iBADf;;AAJA,wBAQqB,oEAAxB,0HAAwB,CARrB;AAAuB;AASd,SAZjB,CAAQ,qGAAR;AAYiB,KAbjB;;AAcE,kCACJ,wGADI;;AACJ,QADI,+BACJ,EACQ;AAAA,sCACJ,uGAHA,sIAGA,CADI;;AACJ,YADI,+BACJ,EAAwB;AAAA,qHAAY;AAAuB,SAA3D;AAAA;AAAA;AADQ,KADZ;AAAA;AAAA;AAf4B;;;AAwB9B;AAAA,uBACU;AAAA;;AAAA;AAC4B;AAAA,kCAAI,sBAAJ;;AACC;AAAA,uBAAC,sBAAD,GAAoB,sBAApB;;AAF7B;AAAA;AAAA;AAAM,KADhB;;AAKA,WAAwB,wEAAY,aAAnC,2BAAuB,CAAxB,GAAiD,gHAAjD;AAA0D;AAKtD;AAAA,sBAA2B;AAAA,8BAAqC;AAAA;AAAC,SAAtC,MAAsB;AAAA;AAAC;AAAjB,KAAjC;;AACA,8BACU;AAAA;;AAAA;AAAA;AAAA,wBACoB,gBADpB;;AAAA;AAAA;AAAA;AAAI,KADd;;AAIA,0BAA0B;AAAA;AAAA;AAAA;AAAA,mBAAyD;AAAA,uBAAzD,gHAAyD;AAAG;AAA3D,SAAD;AAAA;AAAA;AAAC,KAA3B;;AAEA,2BAEI;AAAA,2BAAkB,2BAAlB;AAAA,oBACE,2hBADF;;AACE;AAAA;AAAA,wBAED,mEAFC,mBAEU,oEAAQ,oBAFlB;;AAAA;AAAA,wBAID,oEAAQ,oHAAR,CAJC,mBAIoB,oEAAQ,oBAJ5B;;AAAA;AAAA;AAAA;AADa,KAFnB;;AAUA,uBACM;AAAA,sCACJ,wBADI;;AACJ,YADI,+BACJ,EAAiC;AAAA,+HAD7B,sIAC6B;AAAE,SAAnC,MAEM;AAAA,iCAAkB,2BAAlB;AACmB,gIAAtB,mEAAsB;AADJ;AAHb,KADV;;AAQJ,yBACU;AAAA;AAAA,oCAMe;AAAA;AAAQ,aANvB,MAEI;AAAA;;AAAA,oBACiB,sBADjB,EAEF;AAAA;AAAA,gCAAsB,6HAAtB;AAAA;AAAA;AAA8C,iBAF5C,MAGc;AAAA;AAAQ;AAHa;AAFlC;AAAA,KADf;;AASA,qBACQ;AAAA;AACM;;AAAA,oCAGF;AAAA,sFAAO;AAAP;AACM,SAJJ,MACS;AAAA;AAAM;;AAIrB,yBACM;AAAA,sCAcI;AAAA;AAAA,8DAC8B,gBAD9B;AAAA,sJAEG,IAFH;AAAA,mLAEuC,IAFvC,EAE6C,gBAF7C;AAAA,uBAGC;AAAA;AAAqD;AAHlD,aAdR,MAEI;AAAA;;AAAA,oBACqB,gCADrB,EAEE;AAAA,gCAAmB,0FAAmB,iBAAtC;AAAA,0CACQ,gMADR,QAC4C,gBAD5C;AAAK,iBAFP,UAIe,8BAJf,EAKE;AAAA,yCAGG,iIAAY,gBAAZ,CAFH,CACG,qIAAgB,gBAAhB,EAA6B,wGAA7B,CADH,qEAAQ,yBADR;AAAA,0CAIQ,4MAJR,EAIyC,kCAJzC,EAIkE,gBAJlE;AAAgB,iBALlB,MAUC;AAAA;AAAwD;AAVtB;AAFjC,SADZ;;AAmBJ,eACS;AAAA;AAEK;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAFL,oBAKL,gFAAoC,0HAApC,oBALK;AAAC,SADV,8HAA6B,wGAA7B;AAzBwB,KAD5B;;AAlCI,WAsED,mIAHH,CAEG,mFAAY,CADZ,mFAAY,MACZ,CAFH,CAnEI;AAAkB;;AA6ElB;AAAA,sBACI;AAAA,0BACI;AAAA,2BAAW,qFAAX;AACA,yBAAS,mHAAT;AACJ,kFAAqB,4GAAC,mFAAgB,4GAAQ,kHAAR,SAAhB,EAAD,EAArB;AAFY,SADZ;;AAKA,uBAAW,oIAAX;AACJ;AAN6B,KAD7B;;AAQA,+BACM;AAAA;AAAA;AAAA,eAEE;AAAA,+BACA;AAAA,mCADA,0HACA;AAAa,aADb;;AAEJ;AAFmB;AAFN,KADjB;;AAQA,8BACM;AAAA;AAAA;AAAA,eAEE;AAAA,mCACI;AAAA,8BAAyB,0FAAmB,aAA5C;;AACA,qCACA;AAAA;AAAwB,iBADxB;;AAEJ;AAHW,aADX;;AAKJ,sJALI,6HAKJ;AALuC;AAFvB,KADpB;;AAWA,sBACA;AAAA,oBACU;AAAA;AAAA;AAAA,wBAOW,6BAPX,EAQF;AAAA,qCACI,8NADJ;AAAA;AAEQ,qBAVN,qCAYF;AAAA,qCACI,uGAAC,0HAAM,qHAAN,CAAD,EAA8B,qHAA9B,CADJ;AAAA;AAEQ,qBAdN;AAAA;AAAI;AAAA,iBAAJ,MAMC;AAAA,sIAHG;AAAA;;AAAA;AAAA;AAAA;;AAJC;AAAA;AAID;AAAQ,qBAAR,EAGH;AAAQ;AANL;AAAA,SADd;;AAiBG,sHAAS,kGAAT,EADH,OAAO,4GAAC,wGAAD,EAAP,UACG;AAAiB,KAlBpB;;AAqBA,0BACA;AAAA,qBACU;AAAA;AAAA;;AAAA;AACoB;AAAA;AAAA;;AADpB;AAAA;AAAA;AAAI;AAAA,SADd;;AAQG,0HAJH,OAEG,2GAFH,cAEG,CAFH,CAIG;AAAQ,KATX;;AAYA,6BACI;AAAA,yBAAa,YAAY,gEAAZ,SAAb;;AACA,6BACA;AAAA,0BACU;AAAA;AAAA;AAAA,4DAEiB;AAAA;AAAQ,yBAFzB,MAGO;AAAA,2CAAC,2IAAD;AAAA;AAA2B;AAH9B,qBAAJ;AAAA;AAAA;AAAI;AAAA,aADd;;AAKA,4BAAS,wGAAT;AAAkB,SANlB;;AAOA,0BACM;AAAA;AAAA;;AAAA;AAAA;AAAA,4BAEO,oHAFP;;AAIE;AAAA;;AACM,kDACJ,wBADI;;AACJ,wBADI,+BACJ,EAGK;AAAA,6IAAmB,eAAnB,EADA,kIAAY,gEAAZ,CADH,CAFE,sIAEF,CAEG;AAAwC,qBAH7C;AAAA;AAAA;;AAFF;;AAJF;AAAA;AAAA;AAAuB,SAD7B;;AAgBJ;AAxBc,KADd;;AA5DA,gBAyFE,qQAzFF;;AAyFE;AAcE;AAAA,+BAAyB,mFAAY,UAArC;AACA,iCAAuB,mCAAvB;AADA,oBAGA,YAED,4JAFC,CACD,6JADC,UAHA;;AAdF;AAAA;AAAA;AAzF+B;;;AAsHjC;AAAA,eAAO,4FAAqB,SAA5B;;AACE,kCACJ,yBADI;;AACJ,QADI,+BACJ,EAAwD;AAAA,4HAA1B,oEAD1B,sIAC0B,IAA0B,EADpD,sIACoD;AAAE,KAA1D,MADI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,8CAGJ,oBAHI;;AAGJ,oBAHI,+BAGJ;AAAA,gCAHI,sIAGJ,KAHI,sIAGJ;AAAA;AAAA;AAAA;AAHQ;AAAA,SAAJ;AAAA,0CAGJ,oBAHI;;AAGJ,gBAHI,+BAGJ;AAAA,4BAHI,sIAGJ,KAHI,sIAGJ;AAAA;AAAA;AAAA;AAHQ;;AAAJ;AAEuE;AAAA,oIAApC,yFAAoC;;AAChC;AAAA;;AAHvC;AAAA,8CAIJ,oGAJI;;AAIJ,oBAJI,+BAIJ,EAEK;AAAA,wIADoC,oEAAtC,2FAAoB,QALnB,sIAKD,IAAsC,CACpC,EAND,sIAMC;AAAE,iBAFP,MAJI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,0DAQJ,qGARI;;AAQJ,gCARI,+BAQJ;AAAA,4CARI,sIAQJ,KARI,sIAQJ;AAAA;AAAA;AAAA;AARQ;AAAA,qBAAJ;AAAA,sDAQJ,qGARI;;AAQJ,4BARI,+BAQJ;AAAA,wCARI,sIAQJ,KARI,sIAQJ;AAAA;AAAA;AAAA;AARQ;;AAAJ;AAO8C;AAAA,gJAA7B,oEAAQ,uHAAR,CAA6B;;AACgB;AAAA,gJAAjB,oEAAlB,mBAAkB,CAAiB;;AAR9D;AAAA,0DASJ,0GATI;;AASJ,gCATI,+BASJ,EACwC;AAAA,oJAArC,sBAVC,sIAUD,IAAqC,EAVpC,sIAUoC;AAAE,6BAD1C,MAE6E;AAAA,mJAAzB,uEAAW,CAAC,sHAAZ,EAA/C,4GAAQ,2IAAR,OAA+C,CAAyB;AAAK;;AAX9E;AAAI;;AAAJ;AAAI;AADF;AAeD;AAAA,yCAAmB,CAAK,yGAAa;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAuD,KAApE,OAAxB;AAAA;;AAAA;AAGA;AAAA,6HACO;AAAA;;AAAA,kCACsB;AAAA,wIAAjB,0HAAiB;AAAE,iBADxB,MAIC;AAAA;AAAA,gCACC,oIADD;AAAA,uBADH,yCACG;AACmB;AALL,aADtB,EADH,6BACG;;AAQc;AAAA,gIAAb,wGAAa;AAXd;AAAmG;AAmBtG;AAAA,uBAAqB,6EAAS,CAAE,8KAAS,gEAAT,QAAX,CAArB;AAMD,oHAAyB;AAAA;AAAsB,KAA/C,EAJA,0GACO;AAAA,sCAEwD,4GAA7C,4GAAQ,uIAAR,8HAA6C,CAFxD,GACa,yHADb;AAAM,KADb,EADH,gEACG,CAIA;AANmB,C;;;;;;;;;;;;;AP9S1B;AACA;AACA;;IACM6uB,S,GACF,mBAAYC,OAAZ,EAAqB;AAAA;;AACjB,SAAKjuB,KAAL,GAAaiuB,OAAb;AACH,C;;IAECC,Y;;;;;;;4BACED,O,EAAS;AACT,gBAAME,SAAS,IAAIH,SAAJ,CAAcC,OAAd,CAAf;AACA,gBAAI,KAAKG,YAAT,EAAuB;AACnB,qBAAKA,YAAL,CAAkB,CAAlB,EAAqBtuB,IAArB,GAA4BquB,MAA5B;AACA,qBAAKC,YAAL,GAAoB,CAAC,KAAKA,YAAL,CAAkB,CAAlB,CAAD,EAAuBD,MAAvB,CAApB;AACH,aAHD,MAIK;AACD,qBAAKC,YAAL,GAAoB,CAACD,MAAD,EAASA,MAAT,CAApB;AACH;AACJ;;;iCACQ;AACL,gBAAI,KAAKC,YAAT,EAAuB;AACnB,oBAAMpuB,QAAQ,KAAKouB,YAAL,CAAkB,CAAlB,EAAqBpuB,KAAnC;AACA,oBAAI,KAAKouB,YAAL,CAAkB,CAAlB,EAAqBtuB,IAAzB,EAA+B;AAC3B,yBAAKsuB,YAAL,GAAoB,CAAC,KAAKA,YAAL,CAAkB,CAAlB,EAAqBtuB,IAAtB,EAA4B,KAAKsuB,YAAL,CAAkB,CAAlB,CAA5B,CAApB;AACH,iBAFD,MAGK;AACD,2BAAO,KAAKA,YAAZ;AACH;AACD,uBAAOpuB,KAAP;AACH;AACD,mBAAO,KAAK,CAAZ;AACH;;;;;;IAEgBquB,gB;AACjB,8BAAYrM,IAAZ,EAAkByJ,iBAAlB,EAAqC;AAAA;;AACjC,aAAKzJ,IAAL,GAAYA,IAAZ;AACA,aAAKyJ,iBAAL,GAAyBA,qBAAqBC,wEAA9C;AACA,aAAK4C,QAAL,GAAgB,IAAIJ,YAAJ,EAAhB;AACH;;;;0CACiB;AACd,gBAAI,KAAKzB,YAAT,EAAuB;AACnB,oBAAMzsB,QAAQ,KAAKsuB,QAAL,CAAcC,MAAd,EAAd;AACA,oBAAIvuB,KAAJ,EAAW;AACP,wBAAM2V,OAAO,KAAK8W,YAAlB;AACA,2BAAO,KAAKA,YAAZ;AACA9W,yBAAK3V,KAAL;AACH;AACJ;AACJ;;;gCACO;AACJwsB,kFAAcA,CAAC,KAAKxK,IAAL,CAAU,IAAV,CAAf,EAAgC,KAAKyJ,iBAArC;AACH;;;kCACS;AAAA;;AACN,mBAAOJ,yEAAiBA,CAAC,UAACC,KAAD,EAAW;AAChC,oBAAI,MAAKmB,YAAT,EAAuB;AACnB,0BAAM,IAAIhvB,KAAJ,CAAU,kCAAV,CAAN;AACH;AACD,sBAAKgvB,YAAL,GAAoBnB,MAAM,CAAN,CAApB;AACA,sBAAKkD,eAAL;AACH,aANM,CAAP;AAOH;;;6BACIP,O,EAAS;AACV,iBAAKK,QAAL,CAAc9S,GAAd,CAAkByS,OAAlB;AACA,iBAAKO,eAAL;AACH;;;0CACiBC,Y,EAAc;AAC5B,gBAAIzoB,eAAJ;AACA,gBAAIymB,qBAAJ;AACA,qBAASiC,eAAT,GAA2B;AACvB,oBAAI1oB,UAAUymB,YAAd,EAA4B;AACxBA,iCAAazmB,MAAb;AACH;AACJ;AACD,gBAAM2oB,QAAQ;AACVA,uBAAO,eAAC/tB,GAAD,EAAS;AACZoF,6BAASpF,GAAT;AACA8tB;AACH;AAJS,aAAd;AAMA,iBAAKJ,QAAL,CAAc9S,GAAd,CAAkBiT,aAAaE,KAAb,CAAlB;AACA,iBAAKH,eAAL;AACA,mBAAOnD,yEAAiBA,CAAC,UAACC,KAAD,EAAW;AAChCmB,+BAAenB,MAAM,CAAN,CAAf;AACAoD;AACH,aAHM,CAAP;AAIH;;;;;;AApDgBL,0F;;AAsDd,SAAS/B,KAAT,CAAetK,IAAf,EAAqByJ,iBAArB,EAAwC;AAC3C,QAAMmD,OAAO,IAAIP,gBAAJ,CAAqBrM,IAArB,EAA2ByJ,iBAA3B,CAAb;AACAmD,SAAKtC,KAAL;AACA,WAAOsC,IAAP;AACH,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AQnFI;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAOD;AAAA,wFAAU,QAAO,+DAAjB;AAA0B;AAEd;AAAA,2EAAU,YAAV;AAAiB;AAIzB;AAAA,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAC,KAAhB;;AAGA,oBAAY;AAAA,6BAIe;AAAA,4BADA,0EAAO,KAAW,0EAAO,EAAzB,QADH,4GAAQ,6KAAR,aACG,CACA;AAAQ,SAJvB,MACS;AAAA;AAAE;AAGY,KAJnC;;AAKA,wBAA0B;AAAA,2BAEiC;AAAA,+HAAxB,4GAAQ,oHAAR,cAAwB;AAAK,SAFtC;AAAA;AAAA;AAAC,KAA3B;;AAGE;;AAAA,iCAC4B;AAAA,2HAA1B,sHAA0B;AAAE,KAD9B,MAEE;AAAA,qIAAyB,+GAAzB;AAAoC;AAblC;AAgBJ;AAAA,wBAEQ;AAAA;AAAO,KAFf,MACoB;AAAA,2HAAf,qBAAe;AAAE;AADlB;;;;AAMV,mBAAe;AAAA;AAAe,CAAf,CAAf;AACA,gBAAY;AAAA;AAAc,CAAd,CAAZ;AACoB;AAAA;AAAQ;AAAH;AAKrB;AAAA,0BACA;AAAA,mBACI;AAA8D,sFAAO,cAArE,6GAAQ,2JAAR;AAAuF;AAAA,KAF3F;;AAGJ,sBACU;AAAA;AAAA;;AAAA,sCAQQ;AAAA,oBAAG,kBAAH;AAAA;AAAA,uBAAgC;AAAA,kIAAC,oBAAD;AAAsB;AAAA,aAR9D;AAAA,qDACe;AAAA,kIAAC,cAAc,wGAAd,CAAD;AAAsB,iBADrC,MAEe;AAAA;AAAA,wCAAmB,wGAAnB;AAAA,0BACa,uGAAC,cAAc,wGAAd,CAAD,MADb;AAAA;AAAA;AACyC;AAH3C,aAAb,2CAIe;AAAA;AAAA,4CAA0B,wGAA1B;AACA,8HAAC,qBAAD;AAA2B,aAL1C,MAMgB;AAAA;AAAA;AAAA;AAAA,sBACa,uGAAC,uBAAD,MADb;AAAA;AAAA;AAC+C;AAPlD;AAAA,KADvB;;AAUA,uBAAY,wGAAZ;AAb4B;AAcG;AAAA;AAAmC;AAG9D;AAAA,oBAAY;AAAA;AAAwB,KAApC;;AAOD,sHADU;AAAA,eAAG,cAAH,GAA0B,uGAAC,cAAa,wGAAb,CAAD,IAA1B;AAAqD,KAJlE,CAAM;AAAA;;AAAA;AACY;AAAA;;AACR;AAAA;AAFJ;AAAG,KAAH,EAAN,CAKG;AAPU;AAQb,sBAAkB;AAAA;AAAqB,CAArB,CAAlB;AAGI;AAAA,0BAC0C;AAAA,yFAAO,OAAa,0EAAO,EAA3B,QAA1C,4GAAQ,yIAAR,IAA0C;AAAiC,KAD3E;;AAEA,uBACI;AAAA,mBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAqD,SAA5D;;AAEG,uGAAU,CAAC,+DAAX,aAA2B,4IAA3B;;AAAA;AAAA,+BAKoG;AAAA,mIAAtB,wIAAhE,8DAAsF;AAAK,aALzG,MAC8E;AAAA,mIAAtB,wIAAzC,uCAA+D;AAAK;AADA,SAAnF,yBAIkB;AAAA,+HADA,wIADH,6GAAQ,iLAAR,QAAmF,qHAAnF,EAEG;AAAK,SAJvB,MAOQ;AAAA,kJAAe,6EAAU,CAAC,gEAAX,OAAf;AAAA,iHACgB,qHAAiB,gEAAjB,CADhB;;AAAA;AACoD;AAAA,uIAAV,mEAAU;;AADpD;AAAA,6JAGM,qHAAiB,gEAAjB,CAHN,6CAGM,qHAAiB,gEAAjB,CAHN;;AAAA;AAEuB;AAAA,+IAAT,mEAAS;;AACiB;AAAA,+IAAR,mEAAQ;;AAHxC;AAAA,uDAIe;AAAA,mJAAX,mEAAW;AAAE,6BAJjB,MAK8E;AAAA,mJAAtB,wIAApD,6GAAQ,4IAAR,yBAA0E;AAAK;;AALnF;;AAAA;AAAoC;AAT3C,KADR;;AAgBA,sBAAc;AAAA;AAAuB,KAArC;;AAMD,yBADA,2GAHG;AAAA,8GAAgB;AAAhB;;AAAA;AACY;AAAA;;AACR;AAAA;AAFJ;AAAoB,KAApB,EAGH,CACA;AAxBuB;;AA4BH;AAAA;AAAA;AACnB;AACA;AACA;AAHmB,YASpB,uGAAwB;AAAA;AAAc,KAAtC,EADC;AAAA;AAAkB,KAJtB,EAAO,0CACE,cADF,GACW,iHAAS,0HAAkB,wGAAlB,QAAT,CADX,GAEE,cAFF,GAEW,4GAAW,cAAX,QAFX,QAAP,EAKG,CAToB;AAAG;;;AAW1B,iBAAa;AAAA,wBAAa;AAAA;AAAW,KAAxB;AAAwB,CAAxB,CAAb;AAKI;AAAA,qBAA0B,cAAb,gHAAa,CAA1B;;AAEA;AAAA;AAAA;;AAEA,iBAIa,yGAAW;AAAA;AAAK,KAAhB,EADD,2IAHH,CAEG,kIAFH,CACG;AAAA;AAAkB,KADrB,kHAII,CAJb;;AAOA,4BAAwB;AAAA,sHAGI,yGAAW;AAAA;AAAK,SAAhB,EADD,2IAFF,CACE,mIADF,4BAGG,CAHJ;AAG2B,KAHnD;;AAMD,yBADA,2GADH,0HAA4B,oHAA5B,EAAsC,oEAAQ,UAA9C,CACG,CACA;AAjBW;;AAsBd;AAAA,kBACI;AAAA,uBAEQ;AAAA,8BACM;AAAA;AAAA,4LACC,0HADD;;AAAA;AACkB;AAAA,wCAAU,KAAV,SAAwB;AAAA;AAAA,yBAAJ,UAApB;;AACjB;AAAA;AAFD;AAAmB,aADzB;;AAKA,4BAAwB;AAAA,+GAAS;;AAAT,0CAEI;AAAA;AAAG,iBAFP,MACO;AAAA;AAAG;AADK,aAAvC;;AAGJ,gBAAG,WAAH,EAAoB;AAAA;AAAG,aAAvB,MACM;AAAA;;AAAA;AACa;AAAA,wCAAG,4BAAH,EAAsB,4BAAtB;;AADb;AAAA;;AAGiB;AAAA;;AACK;AAAA,uIAAY,uIAAZ;;AACA;AAAA,2IAAgB,uIAAhB;;AACA;AAAA;AAAA;AAAA,2BAAU,uGAAU,uIAAV,WAAV;;AACA;AAAA;AAAA;AAAA,2BAAU,uGAAS,uIAAT,WAAV;;AAPtB;AAAA;AAAA;AAAC;AATY,SAFvB;;AAoBA,eAAK;AAAA,mBACgB,iBADhB,GAC0B,+BAD1B,GAEoC;AAAA,+FAAK;AAAG,aAA9B,iCAFd;AAE4C,SAFjD;AAEiD,KAvBrD;;AAyBA;AAAS;;;AACT,cAAU;AAAA;AAAa,CAAb,CAAV;AAMI;AAAA,mBAAgC;AAAA,wFAAiB,iHAAjB;AAA6C,KAA7E;;AAEA,oBACI;AAAA;AACA,4BAAc,4FAAd;AACE,yGAAe;;AAAf;AAAA,oBAEQ,yHAAQ,wBAAR,mBAFR,EAEwC,QAFxC;AAAA;AAAA,oBACQ,yHAAQ,2CAAR,mBADR,EAC2C,QAD3C;AAAA;AAFE,KADR;;AAOA,oBACI;AAAA;AAAA,gBACH,qBADG,EACQ,uGAAW,iJAAX,gCADR;AAAS,KADb;;AAGA,qBAAW,2GAAuC;AAAA;AAAG,KAA1C,UAAX;AACA,oBAAyB,mHAAzB;AACJ,WACG;AAAA;AAEK,sBAAU,sHAAV;AACA,kBAAM;AAAA;AAAA,WAAN;;AAGA,0BAAc;AAAA,iCAEG;AAAA,uBAA+B;AAAA;AAAe,iBAA9C,6GAAkB,QAAjB,2BAAiB,CAAlB;AAA+C,aAFlD,MACC;AAAA;AAAC;AACgD,SAFhE;;AAMD,sHAAU;AAAA;AAAA,SAAV,EADA,yGADC;AAAA;AAAyB,SAD7B,wGAAU;AAAA;AAAA;AAAA;AAAA,SAAV,WAEG,CACA;AAAiC,KAbxC,wHAAyB,wGAAzB;AAdiC;AAkC7B;AAAA,mBAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAuC,KAAlD;;AACJ,WACG;AAAA,6BAG6B;AAAA,+HAArB,2BAAqB;AAAE,SAH/B,MACW;AAA4F,sFAAO,aAAnG,6GAAQ,2LAAR;AACQ;AAAK;AACO,KAJlC,gBAAgB,uGAAU;AAAA;AAAoB,KAA9B,OAAhB;AADY;AAST;AAAA,8BADH,uGAAS,oEAAT,OACG;AAAkB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzME;AAAA,sHAAvB,4GAAQ,oHAAR,OAAuB;AAAK;AAEvB;AAAA;AAAG;AAER;AAAA,4FAAY,8GAAZ,EAAwB,8GAAxB;AAA+B;AAM/B;AAAA,yBACQ;AAAA,4BAAkB;AAAA;;AAAA;AAAA;AAAA,4BAC2B,6BAD3B;;AAAA;AAAA,4BAEO,iBAFP;;AAAA;AAAA;AAAA;AAGP,SAHX;;AAIJ,6BAA2B;AAAA;;AAAA;AAAA;AAAA,4BAEF;AAAA;AAAiB,qBAA9B,sBAFe;;AAIhB;AAAoC,8FAAO,cAA3C,6GAAQ,6HAAR;AAAA,4BACc;AAAA;AAAiB,qBAA9B,sBADD;;AAGC;AAAoC,8FAAO,cAA3C,6GAAQ,6HAAR;AAAA,4BACc;AAAA;AAAiB,qBAA9B,sBADD;;AAPe;AAAA;AAAA;AASZ,SATf;;AAUA,iCAA+B;AAAA;;AAAA,yCACzB,qBADyB;;AACzB,gBADyB,8BACzB,EADyB;AAAA;AAAA;AAAA,qDACH,mBADG,qIACH,SADG;;AACH,4BADG,8BACH;AAAA,wCADG,qIACH,KADG,qIACH,KADG,qIACH;AAAA;AAAA;AAAA;AADW,qBAAR;AAAA;AAAA;AAAQ,iBAAR;AAAA;AAAA;AAAQ,aACjC;AAAA;AAAA;;AADyB;AAAA;AAAA,4BAC6B,0HAD7B;;AAAA;AAAA;;AAAA,iDAEzB,qBAFyB;;AAEzB,wBAFyB,8BAEzB,EAFyB;AAAA;AAAA;AAAA,6DAEL,eAFK,qIAEL,SAFK;;AAEL,oCAFK,8BAEL;AAAA,gDAFK,qIAEL,KAFK,qIAEL,KAFK,qIAEL;AAAA;AAAA;AAAA;AAFa,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAEjC;AAAA;AAAA;;AAFyB;AAEmB;AAAA,mCAAmB;AAAA,wDAC9C,uGAAqB;AAAA,kHAAX,gFAAW;AAAA,iCAArB,EAAD,oHAAC,CAD8C;AAElD,6BAF+B,6EAAS;;AAF5B;AAAA,yDAKzB,qBALyB;;AAKzB,gCALyB,8BAKzB;AAAA,wCAA0B,4GALD,qIAKC,KAA1B,EALyB,qIAKzB;AAAA;AAAA;AAAA;;AALyB;;AAAA;AAMhB,SANf;;AAQI,4BAAyB;AAAA;;AAAA;AAAA;AAAA,iDAClB,8BADkB;;AAClB,wBADkB,8BAClB,EADkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iCAAR;AAAA;AAAA;AAAQ,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAC1B;AAAA;AAAA;AAD0B,iBAAR;AAAA;AAAA;AAAQ,aAAR;AAAA;AAAA;;AAAA;AAAA;AAAA,4BAExB,4FAFwB;;AAAA;AAAA;AAAA;AAGlB,SAHP;;AAIA,sBAAY,yIAAZ;;AACA,sBAAY,yIAAZ;;AACA,sBAAY,yIAAZ;;AACA,sBAAY,yIAAZ;;AAEA,8BAAoB;AAAA,yCAClB,cADkB;;AAClB,gBADkB,8BAClB;AAAA,wBADkB,qIAClB,KADkB,qIAClB;AAAA,mBADkB;AAAA,6CAElB,cAFkB;;AAElB,oBAFkB,8BAElB;AAAA,4BAFkB,qIAElB,KAFkB,qIAElB;AAAA,uBAFkB;AAAA,iDAGlB,cAHkB;;AAGlB,wBAHkB,8BAGlB;AAAA,gCAHkB,qIAGlB,KAHkB,qIAGlB;AAAA,2BAHkB;AAAA,qDAIlB,cAJkB;;AAIlB,4BAJkB,8BAIlB;AAAA,oCAJkB,qIAIlB,KAJkB,qIAIlB;AAAA;AAAA;AAAA;AACS;AAAA;AAAA;AAAA,SALX;;AAOA,0BAAgB;AAAA,0CACd,oBADc;;AACd,gBADc,+BACd;AAAA,wBAAsC,uEAAT,0EADf,sIACe,IAAS,CAAtC,EADc,sIACd;AAAA,mBADc;AAAA,8CAEd,sBAFc;;AAEd,oBAFc,+BAEd;AAAA,4BAFc,sIAEd,KAFc,sIAEd;AAAA,uBAFc;AAAA,iDAId,qBAJc;;AAId,wBAJc,8BAId;AAAA,gCAAyC,uEAAX,0EAJhB,qIAIgB,IAAW,CAAzC,EAJc,qIAId;AAAA,2BAJc;AAAA;;AAAA;AAAA;AAAA,6DAKN,0BALM;;AAKN,oCALM,8BAKN,EALM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,qCAAR;AAAA;AAAA;AAAQ,iCAKd;AAAA;AAAA;AALc,6BAAR;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAQ;AAMb;AAAA;AAAA,SANX;;AASJ,yBAAkD;AAAA;AAAA;;AAAA,0CAC5C,kBAD4C;;AAC5C,gBAD4C,+BAC5C,EACQ;AAAA;;AAAA,oBAFoC,sIAEpC;AAAA,kDACE,+BAHkC,sIAGlC,SADF;;AACE,wBADF,+BACE,EADF;AAAA,4BACiD,OADjD,sIACiD,cADjD,sIACiD,KAHb,sIAGa,kBADjD;AAAA,8TAFoC,sIAEpC;AAAA;AAAA;AAAA;AAAK,qBACH;AAAA;AAAA;AADG,iBAAL;AAAA;AAAA;;AAAA;AAAA;AAAA,gCAED,sFAJqC,sIAIrC,KAFC;;AAAA;AAAA,gCAFoC,sIAEpC,KAFoC,sIAEpC;AAAA;AAAK,aADb;AAAA;AAAA;AAKS,SANf;;AAQI,4BAAgB,6GAAE;AAAA;AAAC,SAAH,EAAK,gEAAL,IAAe,mBAAf,EAAmB,gEAAnB,IAAyB;AAAA;AAAG,SAA5B,EAA6B,+DAA7B,IAAuC;AAAA;AAAC,SAAxC,EAA0C,gEAA1C,IAAiD;AAAA;AAAC,SAAlD,EAAoD,+DAApD,IAA4D;AAAA;AAAC,SAA7D,EAAgE,+DAAhE,GAAhB;;AACA,gCAAwB;AAAA,0HAAE,gIAAa,0GAAb,iBAAF;AAA+C,SAAvE;;AACA,uBAAW,0HAA4B,yHAA5B,gBAAX;;AACA,2BAAiB,iHAAjB;;AAYE,sCACJ,oBADI;;AACJ,YADI,+BACJ,EADI;AAAA;AAAI,SACR;AAAA;AAAA;AAvEiB,KADvB;;AAgFM;AAhFN;;AAgFM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kDAIJ,0BAJI;;AAIJ,wBAJI,+BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,qBAIjB;AAAA;AAAA;AAJiB;AAAA,aAAb;AAAA,8CAIJ,0BAJI;;AAIJ,oBAJI,+BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,iBAIjB;AAAA;AAAA;AAJiB;AAAA,SAAb;AAAA,0CAIJ,0BAJI;;AAIJ,gBAJI,+BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,aAIjB;AAAA;AAAA;AAJiB;AAAA,KAAb;AAAA,sCAIJ,0BAJI;;AAIJ,YAJI,+BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,SAIjB;AAAA;AAAA;AAJiB;;AAAb;AAC4B;AAAA;;AAAA,0CACJ,wBADI;;AACJ,gBADI,+BACJ,EADI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAI,aACR;AAAA;AAAA;;AADI;AAC4C;AAAA,wIAAT;AAAA;AAAK,qBAArB,aAAQ,mHAAR,EAAyB;;AACA;AAAA,wIAA1C,4GAAQ,sIAAR,OAA0C;AAF5C;;AAGY;AAAA,gIAAT;AAAA;AAAK,aAAjB,gBAAqB;;AACI;AAAA,gIAA1C,4GAAQ,sIAAR,OAA0C;AAL5C;AAKiD;AAGjD;AAAA;;AAAA;AAED;AAAA,mBAAqC;AAAA,yCAErB,wHAFqB,GACnB,kHADmB;AAEjB,aAFpB,CAAyB,SAAzB,mFAAgB,WAAS,CAAzB;;AAGK;AAAA;AALJ;AAAI;AAUV;AAAA,uBACU;AAAA;;AAAA;AACa;AAAA,iCAAG,uBAAH,EAAqB,uBAArB;;AADb;AAAA;;AAAA;AAAA;AAAA;AAAC,KADX;;AAKM,QACe,aADf,EACyB;AAAA;AAAgB,KADzC,MAEa;AAAA,eAAoB;AAAA,2FAAK;AAAG,SAA5B;AAA4B;AAAA;AAG/C;AAAA,WAEG;AAAA,6BAG4B;AAAA,gIAAjB,uBAAiB;AAAE,SAH9B,MACc;AAAA,2HAAQ,2IAAR;AACA;AAAU;AACM,KALjC,CACG,SADH,mFAAgB,MACb,CADH;AAKiC,C;;;;;;;AC7IrC;AAAA;AAAA;AACO,SAAS5L,QAAT,CAAkBlV,CAAlB,EAAqBiV,KAArB,EAA4BE,OAA5B,EAAqC;AACxC,QAAInV,KAAK,IAAL,IAAa,KAAK0J,IAAL,CAAU1J,CAAV,CAAjB,EAA+B;AAC3B,YAAIiV,UAAU,EAAd,EAAkB;AACd,gBAAM1V,IAAI,CAACS,CAAX;AACA,gBAAI,CAACrB,OAAOwK,KAAP,CAAa5J,CAAb,CAAL,EAAsB;AAClB,uBAAO,CAAC,IAAD,EAAOA,CAAP,CAAP;AACH;AACJ;AACJ;AACD,WAAO,CAAC,KAAD,EAAQ4V,WAAW,IAAX,GAAkBA,OAAlB,GAA4B,CAApC,CAAP;AACH;AACM,SAASE,KAAT,CAAerV,CAAf,EAA8B;AAAA,QAAZiV,KAAY,uEAAJ,EAAI;;AACjC,QAAMlK,IAAImK,SAASlV,CAAT,EAAYiV,KAAZ,EAAmB,CAAnB,CAAV;AACA,QAAIlK,EAAE,CAAF,CAAJ,EAAU;AACN,eAAOA,EAAE,CAAF,CAAP;AACH,KAFD,MAGK;AACD;AACA,cAAM,IAAIpb,KAAJ,CAAU,2CAAV,CAAN;AACH;AACJ,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACZG;AAAA,+BACU;AAAA;AAAA,mCAOE;AAAA,mIAAC,iGAAmB,SAApB;AAA6B,aAP/B,gCAEE;AAAA,wBAAI,yBAAJ;AACJ,oOAAmB,WAAY,4GAAC,yEAAgB,0EAAhB,EAA2B,eAA3B,EAAD,EAA/B,GACO,qBAAqB,wGAArB,YADP;AADK,aAFH,gCAKc;AAAA;AAAA;AAAA;AAA+B,aAL7C,MAMK;AAAA,0BAAsB,0HAAtB;AAAA;AAAA;AAAoC;AANrC;AAAA,KADd;;AAaG,oHAAY,iGAAZ,EADA,2GADA,0IAAqB,wGAArB,CAFH,CACG,kHADH,CAGG,CACA;AAAuB;AAI1B;AAAA,uBACU;AAAA;;AAAA;AAC4B;AAAA,kCAAI,sBAAJ;;AACC;AAAA,uBAAC,sBAAD,GAAoB,sBAApB;;AAF7B;AAAA;AAAA;AAAM,KADhB;;AAKA,WAAwB,wEAAY,aAAnC,oBAAuB,CAAxB,GAAiD,aAAjD;AAA0D;AAO1D;AAAA;AAAA,uBACU;AAAA,2BACC;AAAA,mIAAC,gEAAD,EAAS,gEAAT;AAAiB,aADlB,MAEC;AAAA,+LAAQ,SAAU,OAAV,CAAR;AAAwB;AAFtB,SADb;;AAAA,oBAKM,uPAEU,SAFV,qCALN;;AAKM;AAC0B;AAAA;AAAA;AAAA;AAAA;;AACH;AAAA;AAAA,wBAAa,SAAb;AAAA;AAAA;;AAFvB;AAAA,0EAGmB,SAHnB;;AAAA;AAIE;AAAA,kCAAY,+GAA4B;AAAA,4CAAI,gEAAJ;AAAW,yBAAvC,WAAZ;;AAEE,yCAOE;AAAA,wCAAQ,6BAAR;AAAA;AAAA,oCACJ,4GAAC,6EAA6C,yBAA7C,CAAD,EADI,EACsE,4GAAC,gEAAD,EAAS,gEAAT,EAAiB,uEAAjB,EADtE;AAAA;AAAK,yBAPP,MAEE;AAAA,+CAAQ,2GAAR,kHAAQ,WAAR;AACA,0CAAQ,oCAAR;AACJ;AAAA;AAAA,4CACgB,sLAA6C,2BAA7C,gBADhB,EAC2F,8KAAS,gEAAT,EAAmB,uEAAnB,gBAD3F;AAAA,+DAAc,SAAd;AAAA;AAFS;;AARX;AAAA,0DAgBO,SAhBP;;AAAA;AAiBF;AAAA;AAAA;AAAA,gEACmB,0GAA+B,2GAAlB,eAAkB,CAA/B,EAA0C,gIAA1C,CADnB;AAAA;AAAA;;AAjBE;AAAA;AAAA;AAAA,4CAsBE,wGAtBF,EAsBM,wGAtBN;AAAA;AAAA,uCAoBF;AAAA;AAAA;AAAA,oEACmB,mIADnB;AAAA;AAAA;AACuB;;AArBrB;;AAAA;;AAAA;AALN;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AA2Bc;AAAA;;AAGd;AAAA;AAAqB;;;AAIrB;AAAA,uEAAkC;AAAA;AAAA,KAArB,eAAb;AAA0C;AAK1C;AAAA,uBACU;AAAA;AAAA;;AAAA;AAAA,wHAC2B,wDAD3B;;AAAA;AACqC;AAAA;AAAA;AAAA;;AADrC;AAAA;AAAA,yCAIU,wGAJV;AAAA;AAAA;AAAA,2BAGK;AAAA,kCAAc,0HAAd;AAAA;AAAA;AAA4B;;AAHjC;AAAI;AAAA,KADd;;AAMA;AAAA,gBACiC,iGAAmB,CAA/B,wHAAY,CADjC;AAAA,mBAAa,wGAAb;AACuD;;AAInD;AAAA,mBACA;AAAA;AAAA,oBACgB,8MADhB;AAAA;AACoC,KAFpC;;AAGA,oBACA;AAAA;AAAA,oBACgB,gOADhB;AAAA;AACsC,KAFtC;;AAHA,gBAME,qwBANF;;AAME;AAEI;AAAA;;AAAA;AACW;AAAA,oCAAU,qBAAV,EAA6B,mHAA7B;;AAEb;AAAA;AAAA,gDACmB,wKAAU,mHAAV,kBADnB;AAAA;AAHE;;AAMA;AAAA;;AAAA;AACW;AAAA,qCAAW,sEAAQ,iBAAnB;;AAEb;AAAA;AAAA,gDACmB,kMADnB;AAAA;AAHE;;AAMN;AAAA;AAAA,wCACmB,gIADnB;AAAA;;AAdE;AAAA,oBAgBE,wGAhBF,EAgBM,wGAhBN;AAAA;AANc;;;AAyBpB;AAAA,sBACQ;AAAA;AAAA,0BACM;AAAA,uCACc;AAAA;AAAO,iBADrB,6BAEc;AAAA;AAAO,iBAFrB,0BAGW;AAAA;AAAI,iBAHf;AAAA;AAAA;AAAG,aADT;;AAAA;;AAME;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8EAC2C,kHAD3C;;AAC2C,oDAD3C,+BAC2C;AAAA,gEAD3C,sIAC2C;AAAA;AAAA;AAAA;AADrC,6CAAN;AAAA;AAAA;AAAM,yCAAN;AAAA;AAAA;AAAM,qCAAN;AAAA;AAAA;AAAM,iCAAN;AAAA;AAAA;AAAM,6BAAN;AAAA;AAAA;AAAM,yBAAN;AAAA;AAAA;AAAM,qBAAN;AAAA;AAAA;AAAM,iBAAN;AAAA;AAAA;AAAM,aAAN;AAAA;AAAA;;AAAA;AAEI;AAAA;;AAAA;AAAA;AAAA,oCACe,kBADf,EAC4B,0GAAa,kHAAb,YAD5B;;AAEC;AAAA,qCAAa,iOAAb;AAAA,uCAAgC,iHAAhC;AAAA;AAFD;;AAFJ;AAAA;AAAA;AAAA,2BAKK;AAAA,iCAAa,6HAAb;AAAA;AAAA;AAAwB;;AAL7B;AANS;AAAA,KADnB;;AAcA;AAAuB;;AAKnB;AAAA,uBAAW,WAAW,wGAAX,OAAX;AACA,yBACM,0BAEI,WAAW,iEAAX,OAFJ,GACM,2JAFZ;;AAIA,iBACM;AAAA;AAAA;;AAAA;AAC8B;AAAA;;AAD9B;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAO,KADb;;AALA,YAWJ,+OAXI;AAAQ;;;AAcZ;AAAA;AAAA;AAAA;AAAA,gCACmB,uBADnB;AAAA;AAE2B,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9IrB;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAC;AAgBH;AAAA,2BAAqB;AAAA,YACZ,oBAAU,SADE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAQ;AAKb,KALhB;;AAME,kCACJ,mBADI;;AACJ,QADI,+BACJ,EAAwB;AAAA,8BADpB,sIACoB;AAAY,KAApC;AAAA;AAAA;AAPoB;AAWhB;AAAA,sBAGI;AAAA,6BAEO;AAAA,+HAA+B,wEAAX,wEAF3B,mHAEQ,kBAAmB,CAAW,CAA/B;AAA4C,SAFnD,2BAGI;AAAA;AAAE,SAHN,MACO;AAAA,+HAAoC,wEAAX,wEAAxB,MADR,mHACc,WAAN,OAAwB,CAAW,CAApC;AAAiD;AADnD,KAHT,MACI;AAAA;AAAE;AADF;AASJ;AAAA,qBAGI;AAAA,6BAIO;AAAA,+HAAC,yEAAK,wEAJb,kHAIa,CAAL,EAJR,kHAIQ,EAAD;AAAmB,SAJ1B,2BAKI;AAAA;AAAE,SALN,MAEF;AAAA,+HAAC,wEAAc,2FAAd,CAAD,EAA4C,yEAAK,wEAF/C,kHAE+C,CAAL,EAF1C,kHAE0C,EAA5C,EACI,wEAAc,4EAAd,CADJ;AAC+B;AAHxB,KAHT,MACI;AAAA;AAAE;AADH;AAWT;AAAA,oBACU;AAAA;AAAA,mCAIE;AAAA;AAAE,aAJJ,+BACe;AAAA,8IAAK,oBAAL;AAAiB,aADhC,+BAEgB;AAAA,mIAAK,oBAAL;AAAiB,aAFjC,MAGK;AAAA;AAAA;AAAY;AAHb;AAAA,KADd;;AAMgC,oHAAa;AAAA;AAAC,KAAd,EAAZ,2GAApB,iBAAoB,CAAY;AAAc;AAGxC;AAAA,sBAIE;AAAA;AAAA;AAAA;AAAA,mBAAO,YAAP;AACA,mBAAO,cAAP;;AACE,6BASI;AAAA;AAAA;;AAAA;AAEF;AAAA,uIACkB,wEAAX,wEADN,+BAAoB,YAApB,UAAoC,YAApC,OACM,CAAW,CADlB;;AAEK;AAAA,uIACiB,wEAAX,qHAAW,CADjB;AAJH;AAAU,SATd,2BAeI;AAAA;AAAE,SAfN,MAEI;AAAA;AAAA;;AAAA;AAEF;AAAA,uIACkB,wEAAX,wEADN,iDAA4B,YAA5B,QACM,CAAW,CADlB;;AAEK;AAAA,uIACiB,wEAAX,qHAAW,CADjB;AAJH;AAAU;AAJZ,KAJN,MACI;AAAA;AAAE;AADF;AAuBT;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;;AACA,iBACG;AAAA,eACA;AAAA,uBACU;AAAA;AAAA,uCAME;AAAA;AAAE,iBANJ,+BAEI;AAAA,gDACE;AAAA,2IAAC,wEAAc,wEAAS,qBAAT,CAAd,CAAD;AAAmC,qBADrC,MAEC;AAAA,8MAAc,wEAAS,wBAAT,CAAd,GAA8C,mBAA9C;AAAyD;AAFxD,iBAFN,MAKK;AAAA;AAAA;AAAW;AALZ;AAAA,SADd;;AAQ+B,0HAA/B,4HAA+B;AAAQ,KATvC;;AAUA,eAAc;AAAA,2HAAoC,wEAAX,wEAAxB,uBAAwB,CAAW,CAApC;AAAiD,KAA/D;;AACA,kBAAiB;AAAA,2HAA6C,wEAAX,wEAAjC,OAAO,gBAAP,SAAiC,CAAW,CAA7C;AAA0D,KAA3E;;AACA,eAAc;AAAA,2HAAkE,wEAAZ,wEAArD,4GAAoC,wEAAX,wEAAxB,uBAAwB,CAAW,CAApC,EAAqD,CAAY,CAAlE;AAA+E,KAA7F;;AACA,eAAc;AAAA,2HAAkE,wEAAZ,wEAArD,4GAAoC,wEAAX,wEAAxB,uBAAwB,CAAW,CAApC,EAAqD,CAAY,CAAlE;AAA+E,KAA7F;;AACJ;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAKsB,KALtB;AAde,CAAX,GADH;;;AAuBK;AAAA,wBAGI;AAAA,sCACJ,sIADI;AACU,uCADV,qHACU;AADL,KAHT,MACI;AAAA;AAAE;AADA;AAON;AAAA;;AAAA;AAAA,mCAamB;AAAA,2FAArB,MAbE,4HAaE,WAAJ,MAAqB;AAAO,SAb1B,MAmBgB;AAAA;AAAO;AAnBH,KAApB,iCAGI;AAAA,oBAHJ,4HAGI,gBAHJ,4HAGI,sBAHJ,4HAGI;;AAAA;AAEI;AAAA,qCAGoC;AAAA,mGAAtC,wBARN,4HAQyB,WAAnB,MAAsC;AAAO,iBAH3C,2BAKmC;AAAA,mGAArC,uBAVN,4HAUwB,WAAlB,MAAqC;AAAO,iBAL1C,MACI;AAAA;AAAyB;;AAKR;AAAA;AARzB;AAAC,KAHL,MAeI;AAAA,oBAfJ,4HAeI,gBAfJ,4HAeI,sBAfJ,4HAeI;;AAAA;AAEa;AAAA,+FAAf,oBAAe;;AACY;AAAA;AAHzB;AAAC;AAfe;AAsBpB;AAAA,0BAGI;AAAA,6BASI;AAAA,+HAAC,wEAAc,2GAAd,CAAD;AAA2D,SAT/D,4IAQC;AAAA,4HAAY,iGAAZ,EAFH,4GAAC,MAAM,cAAN,aAAD,EAA0B,OAAO,iEAAP,WAA1B,EAAmD,MAAM,cAAN,YAAnD,EACI,QAAQ,iEAAR,iBADJ,EACoC,OAAO,iEAAP,UADpC,EAEG;AAAuB,SARxB,MAIC;AAAA,4HAAY,iGAAZ,EAFH,4GAAC,MAAM,cAAN,aAAD,EAA0B,OAAO,iEAAP,WAA1B,EACI,MAAM,cAAN,YADJ,EAEG;AAAuB;AAJjB,KAHX,4BAgBC;AAAA,wHAAY,iGAAZ,EAFH,4GAAC,MAAM,cAAN,aAAD,EAA0B,OAAO,iEAAP,WAA1B,EAAmD,MAAM,cAAN,YAAnD,EACI,OAAO,iEAAP,UADJ,EAC4B,QAAQ,iEAAR,iBAD5B,EAEG;AAAuB,KAhBxB,MACI;AAAA,2HAAC,wEAAc,0GAAd,CAAD;AAA0D;AADxD;;AAkBM;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAMP;;;AAGX;AAAA,sBACU;AAAA;AAAA;AAAA,+BAGS,wGAHT;AAAA;AAAA;AAAA,mBAEK;AAAA,wBAAa,0HAAb;AAAA;AAAA;AAAyB;AAF1B;AAAA,KADd;;AAKA;AAAA,gBACe,sEAAU,CAAE,wHAAZ,CADf;AAAA,kBAAY,wGAAZ;AACyC;AAKzC;AAAA,kBACI;AAAA;;AAAA;;AAAA;AAAA,4BACU;AAAA;AAAA;AAAA,yCAIW,wGAJX;AAAA;AAAA;AAAA;AAAA;AAAA,2BAGK;AAAA,kCAAW,0HAAX;AAAA;AAAA;AAAyB;AAH1B;AAAA,aADd;;AAOI,6BACM;AAAA;;AAAA;AAAA;AAAA,iCAEI,mHAFJ,EAEW,mHAFX,EAEkB,mHAFlB;;AAAA;AAAA;AAAA;AAAI,aADV;;AAPJ;;AAaM;AAAA;AAAA,kDACO,0BADP;;AACO,wBADP,+BACO;AAAA,sDADP,sIACO;AAAA;AAAA;AAAA;AADH,iBAAJ;AAAA;AAAA;AAAI,aAAJ;AAAA;AAAA;;AAAA;AAEI;AAAA;AAEI;AAAA;;AAAA;AACkB;AAAA,8CAAQ,2DAAyB,iEAAzB,+EAAR;AAAA;AAAA;;AACI;AAAA,8CAAQ,2DAAyB,iEAAzB,+EAAR;AAAA;AAAA;;AACrB;AAAA;AAAA;AAAA;AAHD;;AAKN;AAAA;AAAA,mCACgB;AAAA;AAAA,oDAAQ,oKAAR;AAAwC,iCADxD,WAAU,wGAAV;AAAA;;AAGA;AAAA;AAAA,mCACgB;AAAA;AAAA,oDAAQ,qKAAR;AAAuC,iCADvD,WAAU,wGAAV;AAAA;;AAGM;AAAA;;AAAA;AACY;AAAA,+CAAQ,OAA2B,mHAA3B,+IAAR;AAAA;AAAA;;AACX;AAAA;AAAA;AAAA;AAFD;;AAIF;AAAA,+CAAW,oBAAX;AAAA,uCACI,sKADJ;AAAA;AAAA;;AAGJ;AAAA;AAAA,mCACgB;AAAA,mDAAQ,iJAAR;AAAuC,iCADvD;AAAA;;AAEG;AAAA;AAAA;AAAA;AAtBD;;AAFJ;AAAA;AAAA;AAAA,yCA2BW,wGA3BX;AAAA;AAAA,uDAyBW;AAAA;AAAA;AAAA;AAAkB,qBAzB7B,MA0BK;AAAA;AAAA;AAAA;AAAkB;;AA1BvB;AAbN;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAwCmB;AAAA,KAzCvB;;AA0CA;AAAA,gBAGgB,gCAHhB,EAGmC,gCAHnC;AAAA,MACG,6HAAQ,8FAAR,CADH;AAGoD;AAK9C;AAAA,kCACJ,mHADI;;AACJ,QADI,+BACJ,EAA8B;AAAA;AAAA,gDAD1B,sIAC0B;AAAA,2BAD1B,sIAC0B;AAA2C,KAAzE,MACK;AAAA;AAAA,oDAA2C,wGAA3C;AAAA;AAA6C;AAFxC,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC3NX;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAKD,oBAAgB,gPAAhB;;AAOC,yBAAuB;AAAA,gBAAiB;AAAA;AAAO,KAAxB;;AAAA;AAAA;AAAiC,KAAjC;AAAiC,CAAjC,GAAvB;;;;AAGA,uBAAqB;AAAA;AAAuB,CAAvB,CAArB;;;;AAEiB;AAAA,iCAChB,6GADgB;;AAChB,QADgB,8BAChB,EAAkC;AAAA;AAAM,KAAxC,MADgB;AAAA,qCAC2B,+GAD3B;;AAC2B,YAD3B,8BAC2B,EAAoC;AAAA;AAAM,SAA1C,MAD3B;AAAA,yCAEhB,mHAFgB;;AAEhB,gBAFgB,8BAEhB,EAAwC;AAAA;AAAG,aAA3C,MAFgB;AAAA,6CAE8B,sGAF9B;;AAE8B,oBAF9B,8BAE8B,EAA2B;AAAA;AAAC,iBAA5B,MAAyC;AAAA;AAAK;AAAA;AAAA;AAAA;AAAA;;;;AAGxF;AAAA,8HAAc;AAAA;AAAK,KAAnB;;AAAA,oBACI;AAAA;AAAO,KADX;AAAA;AAAA;AAAwB;;;;AAI7B,uBAAqB;AAAA;AAAuC,CAAvC,CAArB;;;;AAEA,qBAAmB;AAAA;AAA0C,CAA1C,CAAnB;;;;AAEqB;AAAA;;AAAA,iCACpB,iIADoB;;AACpB,QADoB,8BACpB,EADoB;AAAA;AAAA,yCAC6B,0BAD7B,qIAC6B,SAD7B;;AAC6B,gBAD7B,8BAC6B,EAD7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,aACqB;AAAA;AAAA;AADrB,SAAR;AAAA;AAAA;AAAQ,KAC5B;AAAA;AAAA;;AADoB;AAAA;AAAA;;AAAA;AAAA;AAAA;AAGX;;;;AAEV,yBAAuB;AAAA;AAA8C,CAA9C,CAAvB;;;AAIK;AAAA;;AAAA,iCACJ,iCADI;;AACJ,QADI,8BACJ;AAAA,gBADI,qIACJ;AAAA,WADI;AAAA;;AAAA,qCAEJ,gCAFI;;AAEJ,YAFI,8BAEJ,EAFI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,SAEZ;AAAA;AAAA;;AAFI;AAAA;AAAA,yBAGD,yEAHC,aAGc,iBAHd;;AAAA;AAAA;;AAAA,6CAIJ,+BAJI;;AAIJ,oBAJI,8BAIJ,EAJI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,yBAAR;AAAA;AAAA;AAAQ,qBAAR;AAAA;AAAA;AAAQ,iBAIZ;AAAA;AAAA;;AAJI;AAAA;AAAA,iCAKD,yEALC,aAKc,gCALd;;AAAA;AAAA;;AAAA,qDAMJ,+BANI;;AAMJ,4BANI,8BAMJ,EANI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iCAAR;AAAA;AAAA;AAAQ,6BAAR;AAAA;AAAA;AAAQ,yBAMZ;AAAA;AAAA;;AANI;AAOF;AAAA,oCAAG,qBAAH;AAAA,6CACK,yEADL,aACoB,6BAAgB,YAAhB,EADpB;AAAA;AAAA,6CAGK,yEAHL,aAGoB,uCAHpB;AAAA;;AAPE;AAAA;;AAAA,6DAWJ,6BAXI;;AAWJ,oCAXI,8BAWJ,EAXI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,yCAAR;AAAA;AAAA;AAAQ,qCAAR;AAAA;AAAA;AAAQ,iCAWZ;AAAA;AAAA;;AAXI;AAYF;AAAA,4CAAG,qBAAH,EACI;AAAA,gDAAG,cAAH;AAAA,yDAAe,yEAAf,aAA8B,iBAA9B;AAAA;AAAA,yDACM,yEADN,aACqB,6BAAgB,YAAhB,EADrB;AAAA;AACyC,yCAF7C;AAAA,qDAGM,yEAHN,aAGqB,uCAHrB;AAAA;;AAZE;AAAA;;AAAA,qEAgBJ,oHAhBI;;AAgBJ,4CAhBI,8BAgBJ,EAhBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,yCAgBZ;AAAA;AAAA;;AAhBI;AAAA;AAAA,yDAiBD,yEAjBC,aAiBc,uCAjBd;;AAAA;AAAA;;AAAA,6EAkBJ,8GAlBI;;AAkBJ,oDAlBI,8BAkBJ,EAlBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,iDAkBZ;AAAA;AAAA;;AAlBI;AAAA;AAAA,iEAmBD,yEAnBC,aAmBc,uCAnBd;;AAAA;AAAA,qFAoBJ,+BApBI;;AAoBJ,4DApBI,8BAoBJ;AAAA,oEApBI,qIAoBJ;AAAA,+DApBI;AAAA,yFAqBJ,gHArBI;;AAqBJ,gEArBI,8BAqBJ;AAAA,yEAEsB,gEADnB,wEAAY,aAtBX,qIAsBD,IACmB,QAFtB,EArBI,qIAqBJ;AAAA,mEArBI;AAAA,6FAwBJ,kHAxBI;;AAwBJ,oEAxBI,8BAwBJ;AAAA,6EACG,gEAzBC,qIAyBD,IADH,EAxBI,qIAwBJ;AAAA,uEAxBI;AAAA,iGA0BJ,yFAAY,8EAAa,8DAAzB,gBA1BI;;AA0BJ,wEA1BI,8BA0BJ;AAAA,iFACG,gEA3BC,qIA2BD,IADH,EA1BI,qIA0BJ;AAAA,2EAGE;AAA0C,kJAAO,aAAjD,8GAAQ,0IAAR;AAAA,iFACmB,gEAAlB,yEAAQ,kBAAU,CADnB,EAC6B,oEAAQ,kBADrC;AACkD;AA9BxC;AAAA;AAAA;;AAAR;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAQ;AAAA;AAkCd;AAAA,gBACU;AAAA;;AAAA;AAAA;AAAA;AAAA,mBAEK;AAAA;AAAkB;AAFf,SAAR,MAIE;AAAA,+BAAoB,qBAApB;AACJ;AAAA;AAAA,mBAAiB,gJAAjB;AADqB;AAJX,KADlB;;AAOM;AAPN;;AAOM,iCACJ,mCADI;;AACJ,QADI,8BACJ,EADI;AAAA,qCACY,cADZ,qIACY,CADZ;;AACY,YADZ,8BACY,EADZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,SACD;AAAA;AAAA;AADC,KACjB;AAAA;AAAA;;AADI;AAAA;AAAA,oBAEF,wGAFE,EAEE,iCAFF;;AAAA;AAAA;;AAAA,yCAGJ,kHAHI;;AAGJ,gBAHI,8BAGJ,EAHI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAa,aAGjB;AAAA;AAAA;;AAHI;AAAA;AAAA,4BAIF,4GAAC,qFAAD,EAAsB,gEAAtB,EAJE,EAI8B,iBAJ9B;;AAAA;AAAA;AAAA,gCAME,wGANF,EAMM,mBAAa,uCAAb,2BANN;AAAA;AAAA,qDAOJ,mHAPI;;AAOJ,4BAPI,8BAOJ;AAAA,oCACE,4GAAC,gEAAD,EADF;AAAA;AAAA,oCAG2B,2GAAzB,qBAAmB,wGAAnB,CAAyB,CAH3B;AAAA;AAPiB;;AAAb;;AAAA;AAUsC;AAG7B;AAAA;;AAAA,4BAEX;AAAA;AAAA;AAAA,2HAAC,uEAAD,EAAmB,gEAAnB;AAA2B,KAFhB,8BAIX;AAAA;AAAA,mIAAM,4GAAC,oEAAD,EAAc,gEAAd,EAAN;AAA4B,KAJjB,MAMX;AAAA;AAAG;AANgB;AAUvB;AAAA,WAAiB;AAAA;AAAY,KAA7B,MAAK,iBAAL;AAA6B;AAIzB;AAAA,YACI;AAAA,2BAAY,wBAAZ;AAAA,gBACJ,wIADI;AAAS,KADb;;AAGJ,WAAiC;AAAA;AAAY,KAA7C,4GAAa,wGAAb,EAAiB,iBAAjB;AAHyB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvGxB;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAMD,eAAW,mHAAO,YAAP,UAAsB,YAAtB,UAAsC,YAAtC,UACO,YADP,SACuB,YADvB,SACkC,YADlC,SAC6C,YAD7C,UAEO,aAFP,GAAX;AAIA,kBAAc,sHAAU,YAAV,eAA4B,aAA5B,GAAd;;AAG+B;AAAA;;AAAA;AAAA,qCACpB,8GADoB;;AACpB,YADoB,8BACpB;AAAA;AAAA;AAAA;AAAA;AAD4B,KAAR;AAAA;AAAA;;AAAA;AACM;AAAA;;AAC9B;AAAA;AAFwB;AAEX;;;;AAGnB,2BAAyB;AAAA,gBAAiB;AAAA;AAAO,KAAxB;;AAAA;AAAA;AAAiC,KAAjC;AAAiC,CAAjC,GAAzB;;;;AAGA,yBAAuB;AAAA;AAAuB,CAAvB,CAAvB;;;;AAEA,uBAAqB;AAAA;AAA0B,CAA1B,CAArB;;;AAIG;AAAA,oBAAe;AAAA,6BACA;AAAA;AAAI,SADJ,MAGL;AAAA,6BAA0B,uEAAW,OAArC;;AAAA,oCACM;AAAA;AAAI,aADV;AAAA;AAAA;AAAuC;AAEpC,KALb;;AAMJ;AANgB;AAWZ;AAAA,uBAA2B,8EAAa,UAAxC;AAAA;;AACE,iCACJ,yBADI;;AACJ,QADI,8BACJ;AAAA,oBADI,qIACJ;AAAA,WADI;AAAA,qCACiB,uBADjB;;AACiB,YADjB,8BACiB;AAAA,wBADjB,qIACiB;AAAA,eADjB;AAAA,yCACoC,qBADpC;;AACoC,gBADpC,8BACoC;AAAA,4BADpC,qIACoC;AAAA;AAAA;AAAA;AADjC;AAAA;;AAAH;AAAA;AAAA;;AAAA;AAAA,yCAGJ,sGAHI;;AAGJ,gBAHI,8BAGJ;AAAA,wBACE,aAJE,qIAIF,IADF,EAHI,qIAGJ;AAAA,mBAHI;AAAA,6CAKJ,2GALI;;AAKJ,oBALI,8BAKJ;AAAA,4BACE,aANE,qIAMF,IADF,EALI,qIAKJ;AAAA;AAAA,4BAGsB,aAApB,yEAAQ,QAAY,CAHtB,EAG+B,wBAH/B;AAAA;AALO;;AAAH;AADU;AAahB;AAAA,qBACU;AAAA;AAAA,8BAEF;AAAA;AAAgB,aAFd,MAIE;AAAA,mCAAO,gBAAP;AAAA,wBACQ,8HADR;AAAA;AAAA;AAAI;AAJH;AAAA,KADb;;AAOqB,sHAArB,WAAW,wGAAX,MAAqB;AAAQ;AAG7B,mBAAe;AAAA,sHAAa,QAAb;AAAqB,CAArB,CAAf;AAUC;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAGA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AASD;AAAA,0BACU;AAAA,6CACS,iIAAY,WAAZ,QADT;;AAAA;AAAA;AAAA,wBAEe,mHAFf;;AAAA;AAAA,oDAGS,8HAHT;;AAAA;AAIF;AAAA,+BAAgB,qIAAiB,SAAjB,WAAhB;;AAJE;AAAA,4DAKS,8HALT;;AAAA;AAMF;AAAA,uCAAgB,qIAAiB,SAAjB,WAAhB;;AANE;AAAA;AAAA;AAAA,uCAQF;AAAA,2CAAgB,0JAAhB;AAAwC;;AARtC;;AAAA;;AAAA;AAAM,KADhB;;AAWA,sCAAyB,wGAAzB;AAA2B;AAI3B;AAAA,qBACU;AAAA;AAAA,8CACS,0BADT;;AAAA;AAEI;AAAA;;AAAA,4CAEF;AAAA;AAAA;AAAA,+BAAY,+NAAc,2GAAU,mHAAV,CAAd,QAAZ;AAAA;AAAA;AAAA;AAA6D,qBAF3D,MAIF;AAAA,+BAAY,sHAAZ;AAAA;AAAA;AAAA;AAA+B;;AANjC;AAAA,sDAOS,uBAPT;;AAAA;AAQF;AAAA,yCAAW,wGAAX;AAAA,qCAAe,sGAAI,0HAAnB;AAAA;AAAA;AAAA;;AARE;AAAA,qDAYwB;AAAA,kJAA1B,sGAAI,0HAAsB;AAAQ,6BAZhC,MAUF;AAAA,uCAAY,yHAAZ;AAAA;AAAA;AAAA;AAA+B;;AAV7B;;AAAA;AAAI;AAAA,KADd;;AAcA,sBAAW,wGAAX,EAAc,wGAAd;AAAqB;AAErB,oBAAgB;AAAA,iBAAU,YAAV;AAAA,gBAAmB,YAAnB;AAAA,cAA6B,YAA7B;AAAA;AAAA;AAAsC,KAAtC;AAAsC,CAAtC,GAAhB;AAGkB;AAAA;;AAAA;AAAA,qCAChB,sCADgB;;AAChB,YADgB,gCAChB;AAAA;AAAA;AAAA;AAAA;AADwB,KAAR;AAAA;AAAA;;AAAA;AAER;AAAA;AAAA;;AAAA;AAAA,6CACJ,2CADI;;AACJ,oBADI,gCACJ;AAAA;AAAA;AAAA;AAAA;AADe,aAAX;AAAA;AAAA;;AAAA;AAEF;AAAA;AAFE;;AAFQ;AAIC;;AAGlB,kBACG;AAAA,0BAGG;AAAA,wHAAc;AAAA;AAAI,SAAlB,EADA,uGAAe;AAAA;AAAA,SAAf,OACA;AAAmB,KAHtB;;AAIJ;AAAA;;AAAA;AAAA,yCACE,sCADF;;AACE,gBADF,gCACE,EADF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,aACN;AAAA;AAAA;AADM,SAAR;AAAA;AAAA;;AAAA;AAEU;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAFV;AAAA;AAAA;AAKW,KALX;AAJ0B,CAAtB,GADH;;;;AAkBA,oBAGD;AAAA,uBAAyB;AAAA;;AAAA;AAAA;AAAA,6CACN,wBADM;;AACN,oBADM,8BACN;AAAA,kDADM,qIACN,KADM,qIACN;AAAA;AAAA;AAAA;AADc,aAAR;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;;AAAA;AAAA;AAAA,wBAEX,4HAFW;;AAAA;AAAA;;AAAA;AAAA;AAAA,gCAIX,uHAJW;;AAAA;AAAA;AAAA;;AAAA;AAKV,KALf;;AAQA,0BAA0B;AAAA;;AAAA;AAAA,yCACpB,sCADoB;;AACpB,gBADoB,gCACpB;AAAA;AAAA;AAAA;AAAA;AAD4B,SAAR;AAAA;AAAA;;AAAA;AAEZ;AAAA;;AAAA,6CACJ,uBADI;;AACJ,oBADI,8BACJ,EADI;AAAA;AAAA;AAAA,yDACsB,gBADtB,qIACsB,SADtB;;AACsB,gCADtB,8BACsB;AAAA,6CADtB,qIACsB,KADtB,qIACsB,KADtB,qIACsB;AAAA;AAAA;AAAA;AADpB,yBAAF;AAAA;AAAA;AAAE,qBAAF;AAAA;AAAA;AAAE,iBACN;AAAA;AAAA;;AADI;AAAA;AAAA,gCAEI,sGAAI,wGAAO;AAAA;AAAC,yBAAZ,4BAFJ;;AAAA;AAAA,qDAGJ,uBAHI;;AAGJ,4BAHI,8BAGJ;AAAA,oCACQ,4GAAC,uGAAW;AAAA;AAAC,6BAAZ,MAJL,qIAIK,IAAD,EADR,EAHI,qIAGJ;AAAA;AAAA,oCAGQ,wGAHR;AAAA;;AAHI;;AAFY;AAQD,KARzB;;AASA;AAAA;;AAAA;AAAA,yCACE,sCADF;;AACE,gBADF,gCACE;AAAA;AAAA;AAAA;AAAA;AADM,SAAR;AAAA;AAAA;;AAAA;AAEU;AAAA;;AAAA;AAAA;AAAA,qDACI,+BADJ;;AACI,4BADJ,8BACI,EADJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;AAAE,yBACE;AAAA;AAAA;AADF,qBAAF;AAAA;AAAA;AAAE,iBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAFV;AAKe,KALf;AAKe,CAtBf,GAHC;;;;AA2Be;AAAA;;AAAA;AAAA,qCAChB,sCADgB;;AAChB,YADgB,gCAChB;AAAA;AAAA;AAAA;AAAA;AADwB,KAAR;AAAA;AAAA;;AAAA;AAEN;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,iDAMJ,0CANI;;AAMJ,wBANI,gCAMJ;AAAA;AAAA;AAAA;AAAA;AANM;AAAA,aAAF;AAAA;AAAA;;AAAA;AAEI;AAAA,oDAAe,YAAf,EAAoB,YAApB;;AAAA,4CAEF;AAAA;AAAA;AAAA,gCAAyB;AAAA,0IAAS,eAAT;AAAwB,yBAA3C,kBAAN;AAAsD,qBAFpD;AAAA;AAAA;;AAFJ;AAAA,4BAOI,wGAPJ;;AAAA;AAAA;AAAA;;AAFM;AAUD;;;;AAIE;AAAA;;AAAA;AAAA,qCACf,sCADe;;AACf,YADe,gCACf,EADe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAQ,aAAR;AAAA;AAAA;AAAQ,SACvB;AAAA;AAAA;AADuB,KAAR;AAAA;AAAA;;AAAA;AAEP;AAAA;;AAAA,yCACJ,wBADI;;AACJ,gBADI,8BACJ,EADI;AAAA;AAAA,iDACW,2BADX,qIACW,SADX;;AACW,wBADX,gCACW;AAAA,qCADX,qIACW,KADX,qIACW;AAAA;AAAA,qCADX,qIACW,KADX,qIACW;AAAA;AADT,iBAAF;AAAA;AAAA;AAAE,aACN;AAAA;AAAA;;AADI;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA,qDAIJ,0CAJI;;AAIJ,4BAJI,gCAIJ;AAAA;AAAA;AAAA;AAAA;AAJM,qBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA,+CAMO,wGANP;AAAA;;AAAA;;AAFO;AAAA;AAAA;AASN;;;;AAIM;AAAA;;AAAA;AAAA;AAAA,yCACJ,uBADI;;AACJ,gBADI,8BACJ,EADI;AAAA;AAAA,iDACY,aADZ,qIACY,IADZ;;AACY,wBADZ,8BACY;AAAA,qCADZ,qIACY;AAAA;AAAA;AAAA;AADJ,iBAAR;AAAA;AAAA;AAAQ,aACZ;AAAA;AAAA;AADY,SAAR;AAAA;AAAA;AAAQ,KAAR;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAGN;;;;AAGK;AAAA;;AAAA;AAAA;AAAA;AAAA,6CACF,2CADE;;AACF,oBADE,gCACF;AAAA;AAAA;AAAA;AAAA;AADU,aAAR;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;AAAQ,KAAR;AAAA;AAAA;;AAAA;AAEN;AAAA;;AAAA;AAAA;AAAA,iDACS,2BADT;;AACS,wBADT,8BACS,EADT;AAAA;AAAA,yDACsB,2BADtB,qIACsB,SADtB;;AACsB,gCADtB,gCACsB,EADtB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,iCAAF;AAAA;AAAA;AAAA;AAAA;AAAE,6BACoB,MADtB;AAAA;AAAA;AAAA;AAAA;AAAE,yBAAF;AAAA;AAAA;AAAE,qBACO;AAAA;AAAA;AADP,iBAAF;AAAA;AAAA;AAAE,aAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA,6DAIS,+CAJT;;AAIS,oCAJT,gCAIS,EAJT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,qCAAF;AAAA;AAAA;AAAA;AAAA;AAAE,iCAIO,MAJT;AAAA;AAAA;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;AAAE,yBAAF;AAAA;AAAA;AAAE,qBAAF;AAAA;AAAA;;AAAA;AAAA;AAAA,+CAMO,wGANP;;AAAA;AAAA;AAAA;;AAAA;;AAFM;AAAA;AAAA;AAUL;;;;AAIX;AAAA,WAGG;AAAA,qFAAU;AAAI,KAHjB,CAEG,yGADA,uGAAS;AAAA,mFAAQ;AAAA,KAAjB,EADH,gIACG,CACA;AAAA;AAAA,OAFH;AAGiB;;;;AAGD;AAAA;;AAAA;AAAA;AAAA;AAAA,6CACF,2CADE;;AACF,oBADE,gCACF;AAAA;AAAA;AAAA;AAAA;AADU,aAAR;AAAA;AAAA;AAAQ,SAAR;AAAA;AAAA;AAAQ,KAAR;AAAA;AAAA;;AAAA;AAEN;AAAA;;AAAA;AAAA;AAAA;AAAA,qDACO,+CADP;;AACO,4BADP,gCACO,EADP;AAAA;AAAA;AAAA;AAAA,qEACqC,yDADrC;;AACqC,4CADrC,gCACqC,EADrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,6CAAF;AAAA;AAAA;AAAA;AAAA;AAAE,yCACmC,MADrC;AAAA;AAAA;AAAA;AAAA;AAAE,qCAAF;AAAA;AAAA;AAAE,iCAAF;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;AAAE,yBACK;AAAA;AAAA;AADL,qBAAF;AAAA;AAAA;AAAE,iBAAF;AAAA;AAAA;AAAE,aAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAFM;AAAA;AAAA;AAML;;;AAMP;AAAA,iBACA;AAAA,sBACU;AAAA;AAAA,2CAEF;AAAA;AAAiB,iBAFf,MAIF;AAAA,2BAAa,yIAAb;AAAuB;AAJjB,aAAJ;AAAA;AAAA;AAAI,SADd;;AAQmB,0HAAnB,cAAa,wGAAb,CAAmB;AAAQ,KAT3B;;AAYJ,iBACQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA,mBAAc;AAAA,mBAAgB,yIAAhB;AAAkC,SAAhD;;AACA,sBAAU,0HAAK;AAAA;AAAS,SAAd,CAAV;AACE;;AAAA,qCACJ,2BADI;;AACJ,YADI,8BACJ,EACM;AAAA,+BAAS,OAAa,YAAb,EAFX,qIAEW,KAA0B,wGAA1B,CAAT;AACJ,wBAAK;AAAA;AAAe,aAApB,EAAqB,UAHnB,qIAGmB,KAHnB,qIAGmB,KAAsB,2HAAtB,CAArB;AADU,SADZ,MADI;AAAA,yCAIJ,0BAJI;;AAIJ,gBAJI,8BAIJ,EACM;AAAA,4BAAQ,uGAAU;AAAA,2BAAwC;AAAA;AAAC,qBAAzC,CAAU;AAAA,+CAAc,wGAAd;AAAgB,qBAA1B;AAAA,iBAAV,EALV,qIAKU,IAAR;AACJ,4BAAK;AAAA;AAAiB,iBAAtB,EAAuB,QANrB,qIAMqB,YAAyC,YAAhB,eAAgB,CAAzC,CAAvB,EANE,qIAMF;AADS,aADX,MAJI;AAAA,6CAOJ,0BAPI;;AAOJ,oBAPI,8BAOJ,EACE;AAAA,gCAAK;AAAA;AAAgB,qBAArB,EARE,qIAQF,KARE,qIAQF;AAA6B,iBAD/B,MAPI;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,yDAWJ,8CAXI;;AAWJ,gCAXI,gCAWJ,EAXI;AAAA;AAAA;AAAA,4CAWiD,oCAXjD,4HAWiD,8CAXjD;AAAA;AAAA,+CAWiD,qCAXjD,4HAWiD;AAAA,6EAXjD,4HAWiD;AAAA;AAAA;AAAA;AAXlC,qCAAf;AAAA;AAAA;AAAe,iCAAf;AAAA,wCAWiD,iCAXjD,4HAWiD,2CAXjD;AAAA;AAAA;AAAA;AAAA;AAAe,iCAAf;AAAA;AAAA;AAAe,6BAWnB,MAXI;AAAA,oCAWiD,iCAXjD,4HAWiD,2CAXjD;AAAA;AAAA;AAAA;AAAA;AAAe,6BAAf;AAAA;AAAA;AAAe;AAAA,qBAAf;AAAA;AAAA;;AAAA;AAUF;AAAA;AAAA;AAAA,+BAAQ,aAAR;;AAEM;AAAA;;AAAA;AAAA,6DACJ,0CADI;;AACJ,oCADI,gCACJ,EADI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAE,qCAAF;AAAA;AAAA;AAAE,iCACN,MADI;AAAA;AAAA;AAAA;AAAA;AAAE,6BAAF;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAZJ;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,iEAoBJ,6BApBI;;AAoBJ,wCApBI,8BAoBJ;AAAA,qDApBI,qIAoBJ;AAAA;AAAA;AAAA;AApBmB;AAAA,6BAAf;AAAA;AAAA;;AAAA;AAmBF;AAAA;;AAEA;AAAA;;AArBE;AAAA,mDAsBQ,wGAtBR;AAAA;;AAAA;AAAe;AAAA;AAAA;AAFN,KADnB;;AA0BI,yBAAO,oBAAkB,wGAAlB,CAAP;AACJ;AAvCe;AAqDX;AAAA,yBAGG;AAAA,wHADA;AAAA;AAAa,SADhB,iIAEG;AAAU,KAHb;;AAMA,mBACA;AAAA;AAAA,gBACG,SAAmE;AAAA;AAAgB,SAAnF;AAAA;AAAsF,SADzF;AACyF,KAFzF;;AAKA,oBACA;AAAA;AAAiC,KADjC;;AAIA,iBACA;AAAA;AAAa,KADb;;AAKJ,oBAGQ;AAAA,2BACA;AAAA;AAAoC,SADpC;;AAIA,yBACA;AAAA,sCAAiB,2HAAjB;AAA6C,SAD7C;;AAGE;AAAA,wCAEF;AAAA,uBAIG,6JAJH,CAGG,0JAHH,CAEG,8KAFH,CACG,0JAAe,wGAAf,QADH;AAI8B,aAN5B,kCAQE;AAAA;;AACM;;AAAA;AAAA,2JAE4B;AAAA,2IAA9B,UAFE,8GACE,yHADF,CAEF,EAAY,wGAAZ,eAA8B;AAAQ,qBAFpC,MAIF;AAAA;AAAI;AAJa,iBAAf,MAMI;AAAA;AAAA,wDACQ,mCADR;;AAAA;AAEF;AAAA;AAAA;;AAFE;AAAA,sDAMC;AAAA,mJADA,kIADH,2HACG,OAAoB,wGAApB,QADH,sKAEG;AAAQ,6BANT,MAQF;AAAA,oJAAC,oCAAD;AAAe;;AARb;AAAA;AAAe;;AAS7B;AAhBQ,aARN,kCA0BE;AAAA,6BACM;AAAA,iDACJ,qGADI;;AACJ,wBADI,8BACJ;AAAA;AAAA,2BACK;AAAA;AAAa;AAFX,iBADT;;AAIJ,uBAIa;AAAA,qCAAW,0HAAX;AAAuC,iBAJpD,CAGG,MAHH,aACG,8EAAY,CADf,yBACG,CADH,CAGG,CAHH;AAJc,aA1BZ,MAoCF;AAAA,gDAAc,0HAAd;AAAiB;AApCV,SAAL;AAAA;AAAA;AAPqC,KAH/C;;AAiDG,sHADH,iBAAgB,wGAAhB,EAAmB,yUAAnB,EAA8D,yUAA9D,CACG;AArEoB;AAuEvB,eAAW;AAAA;AAAkB,CAAlB,CAAX;AAIA;AAAA,kHAAqB;AAAA,iCACO,eADP,qBAEQ,SAFR;AAGD,KAHpB;AAG8B;AAI1B;AAAA,YACM;AAAA;;AAAA,qCAEF;AAAA;AAAQ,SAFN;AAAA,4CAIF;AAAA;AAAQ,aAJN,MAMF;AAAA;AAAG;AANI,SAAL;AAAA;AAAA;AAAK,KADX;;AASoB,sHAAxB,0GAAY,wGAAZ,QAAwB;AATd;AAcN;AAAA;AAAA,mJACM;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAEiB;AAAA;;AAFjB;AAAA;AAAA;AAAU,KADhB,EAKJ;AAAA;AAAA,mBAAS;AAAA;AAAmB,aAA5B;AAAA;AAAA,KALI;AAAkB;AAYtB,iBACA;AAAA,WAAuB,cAAvB;AAAA,eAAY,QAAZ;AAAA;AAAA,EADA;AAIA;AAAA;AAAA,eAAwB,cAAxB;AAAA,mBAAY,SAAZ;AAAA;AAAA;AAAsC;AAItC,qBACA;AAAA,WAAoC,YAApC;AAAA,eAAyB,QAAzB;AAAA,8HAAa,QAAb;AAAqB,SAArB;AAAA;AAAA,EADA;AAIA;AAAA;AAAA,eAAqC,YAArC;AAAA,mBAAyB,SAAzB;AAAA,kIAAa,QAAb;AAAqB,aAArB;AAAA;AAAA;AAAiD,C;;;;;;;;;;;;;;;;;;;;ACha7C;AAAA;;AACJ,iDAAY;AADS;AAIJ;AAAA,oHAAjB,8HAAiB;AAAY;AAG7B;AAAA,yDAAa;AAA0B;AAEvC;AAAA,WAEG;AAAA,uBAII,YADU;AAAA;AAAa,SAD1B,iDAAe,OAAM,+GAArB,EAEG,CAJJ,GAKgB,iBALhB;AAK2B,KAP9B,CACG,iBADH;AAO8B,C;;;;;;ACrBlC,+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACUQ;AAAA,eAAa,+DAAb;AAKJ,uHAAQ,qHAAR;AALQ;AASF;AAAA;AAEQ;AAAA;;AACuB;AAAA,kCAAtB,2BAAsB;;AACC;AAAA,iCAAtB,2BAAsB;;AAC1B;AAAA;;AACwB;AAAA,kCAAtB,2BAAsB;;AALnB;AAAA;AADX;AAAI;;AAWN;AAAA,sBAAc;AAAA;AAAY,KAA1B;;AACA,uBAAe;AAAA;AAAY,KAA3B;;AACA,oBACA;AAAA,sBACM;AAAA;;AAAA;AACiB;AAAA;;AACH;AAAA,2BAAC,iCAAD,GAA+B,wBAA/B;;AACI;AAAA,2BAAwB,4GAAQ,kHAAR,CAAvB,2BAAD,GAA4C,wBAA5C;;AAEI;AAAA,wCAAC,MAAM,gBAAP;AALtB;AAAG,SAAH,EADN;AAM6D,KAP7D;;AAQJ,6HAAqB,4GAAQ,iHAAR,IAArB;AAVe;;;AAWf,uBAAmB;AAAA;AAAoB,CAApB,CAAnB;AAII;AAAA,iBACA;AAAA,2BAAY,sBAAZ;AAAiC,KADjC;;AAEJ;AAFyB;AAQrB;AAAA,wBAEM;AAAA;AAAG,KAFT;;AAAA;;AAKe,kBAA4B;AAAA;AAAI,KAAhC;;AAAA;AAAA;AAAiE,KAAjE;;AACf,qBAAa,4IAAb;AACA,mBAAW,uHAAa;AAAA,eAAiB;AAAA;AAAG,SAApB;AAAA,KAAb,QAAX;;AACA,oBACI;AAAA,0BAGI;AAAA,mBASuB;AAAA;AAAwB,aAT/C,CAAM,aAEI,4GAFJ,GAQF,8BARJ;AASgD,SAZpD;;AAcJ,sHAAW,0IAAX;AAdkC,KADlC;;AAiBA,mBACI;AAAA,yBACA;AAAA,4BAAO,4BAAP;AAAsC,SADtC;;AAEJ,sHAAW,2IAAX;AAFgC,KADhC;;AAIA,yBAAiB,oIAAjB;AACA,uBAAiB,oIAAjB;AACJ,wCACG,aAAc,mHAAd,CADH,GAEE,wBAFF;AA/B6B;AAqCzB;AAAA,qBACQ;AAAA,uBACA;AAAA,gBAAG,QAAH;AAAA;AAAA,mBAAyB;AAAA;AAAyB;AAAA,SADlD;;AAEA;AAAA,oBAAY,gBAAZ,EAAsB,gBAAtB;AAAA;;AACE,0BASgB;AAAA;AAAsB,SATtC,MACgB;AAAA,2BACZ;AAAA;;AAAA;AAAA;AAAA,0CAIC;AAAA,sGAAQ,CAAC,0EAAO,EAAhB,QADH,4GAAQ,yHAAR,EAAsB,aAAtB,oBACG;AAAsB,iBAJvB,MAMF;AAAA,uIAAQ,uHAAR,EAAoB,aAApB;AAAmC;AAN5B,aADO;AAOiC;AAXvC,KADpB;;AAiBI,gBAAY,sCAAZ;AAjBJ,WAkBA,uGAAW,uIAAgB,cAAhB,CAAX,yBAlBA;AAAmC;AAyBnC;AAAA,WACG,gOAAQ,sHAAR,GAAmB,iIAAnB,CADH,CAAC,mCAAD;AAC8C;AAI9C;AAAA,iBACA;AAAA,sBACM;AAAA;AACW;AAAA;;AACJ;AAAA;;AACS;AAAA,2CAAgB,mEAAO,2CAAvB;;AACN;AAAA;;AACJ;AAAA,2BAAY,4GAAQ,mHAAR,CAAZ;;AACE;AAAA;;AAEP;AAAA,uIAAQ,oIAAR;AARD;AAAI,SAAJ,EADN;AAS2C,KAV3C;;AAWJ;AAXoB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/Gd;AAAA;AAEQ;AAAA,mBAAO,mFAAe,QAAtB;;AACA;AAAA,mBAAuB,mFAAe,UAAtC;;AACE;AAAA,mBAAuB,mFAAe,MAAtC;;AACJ;AAAA;;AACE;AAAA,mBAAuB,mFAAe,OAAtC;;AALG;AAAA;AADX;AAAI;AAWN;AAAA,sBACI;AAAA,uBACA;AAAA,mBAGa;AAAA,8BAAmC,0FAAtB,GAAb;AAA2C,aAHxD,CAEG,iFAAa,MAAO,qHAAU,kBAAV,GAApB,QADA,qBACA,CAFH;AAGyD,SAJzD;;AAKJ,sBACM;AAAA;AAE4B;AAAA,4GAAa,MAAO,mIAApB,QAAd,oBAAc;;AAE1B;AAAA,gCAAQ,wJAAR;AACJ,4GAAa;;AAEY;AAAA;;AACA;AAAA;;AAPN;AAAA;AADjB;AAAG,SAAH,EADN;AALyB,KADzB;;AAgBJ;AAhBwB;AAoBpB;AAAA,iBACA;AAAA,2BAAY,uBAAZ;AAA+C,KAD/C;;AAEJ,WAEG,mFAAe,KAFlB,CACa;AAAA;AAAQ,KADrB;AAFyB;AAUrB;AAAA,wBAEM;AAAA;AAAG,KAFT;;AAAA;;AAKe,kBAA4B;AAAA;AAAI,KAAhC;;AAAA;AAAA;AAAiE,KAAjE;;AACf,qBAAa,4IAAb;AACA,mBAAW,uHAAa;AAAA,eAAiB;AAAA;AAAG,SAApB;AAAA,KAAb,QAAX;;AACA,oBACI;AAAA,0BAGQ;AAAA,0BAAU,0BAAV;AACA,8BAAc,+BAAd;AACA,4BACM,kJADN;AAMJ,0BAAO,iFAAa,UAAW,uHAAxB,oBAAP;AARW,SAHf;;AAYJ;AAZyB,KADzB;;AAcA,mBACI;AAAA,yBACA;AAAA,mBAEY;AAAA;AAAQ,aAFpB,CACG,mFAAe,MADlB;AAEoB,SAHpB;;AAIJ;AAJuB,KADvB;;AAMJ,WAGG,mFAAe,SAHlB,CAEI;AAAA,qBAA0B,mFAAe,SAApC,oBAAL;AAAkD,KAFtD,CAAuB,mFAAe,SAAtC;AA5B6B;AAoCzB;AAAA,sBACA;AAAA,uBACU,eAEgB,gBAFhB,GAC0C,mFAAe,MAAzC,4BAF1B;AAIK,KALL;;AAQM,iCAMC;AAAA,gGAAa,OAAQ,sHAAmB,6BAAnB,GAArB,QADH,sIACG;AAAsD,KANvD,MAEF;AAAA,eACG,mFAAe,MADlB;AACuB;AAXR;AAqBf;AAAA;AAAA,kBAAU,MAAM,uBAAhB;AACJ,YAEG,aAAwB,kIAAxB;AAAA,gGAAa;AAA4B,KAF5C,EACG,oCADH;AADW;AAUZ;AAAA,4FAAa,MAAO,wHAApB,QADH,kBAAc,0BACX;AAAqC;;AAGlC;AAAA;;AAAA;AAIF;AAAA,gBAAG,+BAAH;AAAA,wBAAuB,4GAAvB,EAAsC,4GAAtC;AAAA;AAAA;AAAA;;AAJE;AAAA;AAAA;AAAG;;;AAUL;AAAA,0BAA0B;AAAA;AAAA;AAAA;AAAA,mBAAyD;AAAA,uBAAzD,gHAAyD;AAAG;AAA3D,SAAD;AAAA;AAAA;AAAC,KAA3B;;AAEJ,4BACU;AAAA;AAAA,sCAMiB;AAAA;AAAQ,aANzB,MAEI,IACM,+BADN,EAEF;AAAA;AAAA,8BAA6B,iIAA7B;AAAA;AAAA;AAA2D,aAFzD,MAGgB;AAAA;AAAQ;AALrB;AAAA,KADjB;;AASA,2BACQ;AAAA,oBAAQ,kHAAR;;AACA,2BACM;AAAA,sCAaI;AAAA;AAAA,8DAC8B,gBAD9B;AAAA,sJAEG,IAFH;AAAA,mLAEuC,IAFvC,EAE6C,gBAF7C;AAAA,uBAGC;AAAA;AAAqD;AAHlD,aAbR,MAEI,IACM,6BADN;AAAA,sCAEU,4MAFV,QAE0D,gBAF1D;AAAA,uBAGM,2BAHN,EAIE;AAAA,mCAGG,sIAAkB,gBAAlB,CAFH,CACG,uIAAmB,gBAAnB,EAAgC,wGAAhC,CADH,qEAAQ,2BADR;AAAA,sCAIQ,0MAJR,EAIyC,gCAJzC,EAIkE,gBAJlE;AAAgB,aAJlB,MASC;AAAA;AAAwD;AAXvD,SADZ;;AAkBJ,eACS;AAAA;AAEK;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAFL,oBAKL,6DAAU,sEAAV,EAAgC,0HAAhC,QALK;AAAC,SADV,8HAA+B,wGAA/B;AAnBS,KADb;;AA8BG,mBAFA,wIADH,eAGG;AAzCkB;AA6CjB;AAAA,iBACA;AAAA,sBACM;AAAA;AACW;AAAA;;AACJ;AAAA,2BAAuB,mFAAe,KAAtC;;AACS;AAAA,4GAAa,SAAU,yHAAc,mEAAO,cAArB,GAAvB;;AACN;AAAA;;AACJ;AAAA;;AACE;AAAA;;AACM;AAAA,kCAAS,uBAAT;;AACE;AAAA;;AACA;AAAA;;AACf;AAAA,uIAAQ,oIAAR;AAVD;AAAI,SAAJ,EADN;AAW2C,KAZ3C;;AAaJ;AAboB;AAkBhB;AAAA,mBACA,4GACI,qKADJ,EADA;;AAIA,sBACA;AAAA,sBAAO,iFAAa,YAApB;AAA8B,KAD9B;;AAEJ,WAGG,mFAAe,QAHlB,qIAC0B,4FAAxB,WADF;AANY;AAaZ;AAAA,WASG,mFAAe,QATlB,kBAGA,iFAAa,WACT,4PADJ,WAHA;AASyB;AAKzB;AAAA,4FAAa,aAAY,0HAAzB,IACE,kBADF,GAEE,cAFF;AAEiB,C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1NhB;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAQD;AAAA;AAAoC;AAKhC;AAAA,iBACuC;AAAA;AAAqB,KAD5D;;AAEJ;AAFe;AAQX;AAAA;AACM;;AAAA;AAAA;AAAA,WAGE;AAAA,yBACA;AAAA,0BACM;AAAA;;AAAA;AAAA;AAAA;;AAGF;AAAA,sCACG,eAAH,cACK,kCAFL;AAHE;AAAa,aAAb,EADN;AAMwC,SAPxC;;AAQJ;AARiC;;AASzC,sDAEE,eAAqB,oBAArB,KAFF;AAbW;AAkBe;AAAA;AAAA,6IAAuB,wGAAvB;AAAA;AAA+B,KAA/B;AAA+B;AAE3B;AAAA;AAAsC,C","file":"fmark.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[\"fmark\"] = factory();\n\telse\n\t\troot[\"fmark\"] = factory();\n})(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 = 24);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 2e07ac0ed16357d19d33","export function map(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(source[i]);\n }\n return target;\n}\nexport function mapIndexed(f, source, TargetCons) {\n const target = new TargetCons(source.length);\n for (let i = 0; i < source.length; i++) {\n target[i] = f(i, source[i]);\n }\n return target;\n}\nexport function indexed(source) {\n return mapIndexed((i, x) => [i, x], source, Array);\n}\nexport function addRangeInPlace(range, xs) {\n const iter = range[Symbol.iterator]();\n let cur = iter.next();\n while (!cur.done) {\n xs.push(cur.value);\n cur = iter.next();\n }\n}\nexport function copyTo(source, sourceIndex, target, targetIndex, count) {\n while (count--) {\n target[targetIndex++] = source[sourceIndex++];\n }\n}\nexport function partition(f, xs) {\n const ys = [];\n const zs = [];\n let j = 0;\n let k = 0;\n for (let i = 0; i < xs.length; i++) {\n if (f(xs[i])) {\n ys[j++] = xs[i];\n }\n else {\n zs[k++] = xs[i];\n }\n }\n return [ys, zs];\n}\nexport function permute(f, xs) {\n // Keep the type of the array\n const ys = xs.map(() => null);\n const checkFlags = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n const j = f(i);\n if (j < 0 || j >= xs.length) {\n throw new Error(\"Not a valid permutation\");\n }\n ys[j] = xs[i];\n checkFlags[j] = 1;\n }\n for (let i = 0; i < xs.length; i++) {\n if (checkFlags[i] !== 1) {\n throw new Error(\"Not a valid permutation\");\n }\n }\n return ys;\n}\nexport function removeInPlace(item, xs) {\n const i = xs.indexOf(item);\n if (i > -1) {\n xs.splice(i, 1);\n return true;\n }\n return false;\n}\nexport function setSlice(target, lower, upper, source) {\n const length = (upper || target.length - 1) - lower;\n if (ArrayBuffer.isView(target) && source.length <= length) {\n target.set(source, lower);\n }\n else {\n for (let i = lower | 0, j = 0; j <= length; i++, j++) {\n target[i] = source[j];\n }\n }\n}\nexport function sortInPlaceBy(f, xs, dir = 1) {\n return xs.sort((x, y) => {\n x = f(x);\n y = f(y);\n return (x < y ? -1 : x === y ? 0 : 1) * dir;\n });\n}\nexport function unzip(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n }\n return [bs, cs];\n}\nexport function unzip3(xs) {\n const bs = new Array(xs.length);\n const cs = new Array(xs.length);\n const ds = new Array(xs.length);\n for (let i = 0; i < xs.length; i++) {\n bs[i] = xs[i][0];\n cs[i] = xs[i][1];\n ds[i] = xs[i][2];\n }\n return [bs, cs, ds];\n}\nexport function chunkBySize(size, xs) {\n if (size < 1) {\n throw new Error(\"The input must be positive. parameter name: chunkSize\");\n }\n if (xs.length === 0) {\n return [[]];\n }\n const result = [];\n // add each chunk to the result\n for (let x = 0; x < Math.ceil(xs.length / size); x++) {\n const start = x * size;\n const end = start + size;\n result.push(xs.slice(start, end));\n }\n return result;\n}\nexport function getSubArray(xs, startIndex, count) {\n return xs.slice(startIndex, startIndex + count);\n}\nexport function fill(target, targetIndex, count, value) {\n target.fill(value, targetIndex, targetIndex + count);\n}\nexport function splitAt(index, xs) {\n if (index < 0) {\n throw new Error(\"The input must be non-negative.\");\n }\n if (index > xs.length) {\n throw new Error(\"The input sequence has an insufficient number of elements.\");\n }\n return [xs.slice(0, index), xs.slice(index)];\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/FMark.fs","import { permute as arrayPermute } from \"./Array\";\nimport { chunkBySize as arrayChunkBySize } from \"./Array\";\nimport List from \"./ListClass\";\nimport { getValue, makeSome } from \"./Option\";\nimport { compare, equals } from \"./Util\";\nexport class Enumerator {\n constructor(iter) {\n this.iter = iter;\n }\n MoveNext() {\n const cur = this.iter.next();\n this.current = cur.value;\n return !cur.done;\n }\n get Current() { return this.current; }\n get get_Current() { return this.current; }\n Reset() {\n throw new Error(\"JS iterators cannot be reset\");\n }\n Dispose() { return; }\n}\nexport function getEnumerator(o) {\n return typeof o.GetEnumerator === \"function\"\n ? o.GetEnumerator() : new Enumerator(o[Symbol.iterator]());\n}\nexport function toIterator(en) {\n return {\n next() {\n return en.MoveNext()\n ? { done: false, value: en.Current }\n : { done: true, value: null };\n },\n };\n}\nfunction __failIfNone(res) {\n if (res == null) {\n throw new Error(\"Seq did not contain any matching element\");\n }\n return getValue(res);\n}\nexport function toList(xs) {\n return foldBack((x, acc) => new List(x, acc), xs, new List());\n}\nexport function ofList(xs) {\n return delay(() => unfold((x) => x.tail != null ? [x.head, x.tail] : null, xs));\n}\nexport function ofArray(xs) {\n return delay(() => unfold((i) => i < xs.length ? [xs[i], i + 1] : null, 0));\n}\nexport function append(xs, ys) {\n return delay(() => {\n let firstDone = false;\n const i = xs[Symbol.iterator]();\n let iters = [i, null];\n return unfold(() => {\n let cur;\n if (!firstDone) {\n cur = iters[0].next();\n if (!cur.done) {\n return [cur.value, iters];\n }\n else {\n firstDone = true;\n iters = [null, ys[Symbol.iterator]()];\n }\n }\n cur = iters[1].next();\n return !cur.done ? [cur.value, iters] : null;\n }, iters);\n });\n}\nexport function average(xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return acc + x;\n }, xs);\n return sum / count;\n}\nexport function averageBy(f, xs) {\n let count = 1;\n const sum = reduce((acc, x) => {\n count++;\n return (count === 2 ? f(acc) : acc) + f(x);\n }, xs);\n return sum / count;\n}\nexport function concat(xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n let output = { value: null };\n return unfold((innerIter) => {\n let hasFinished = false;\n while (!hasFinished) {\n if (innerIter == null) {\n const cur = iter.next();\n if (!cur.done) {\n innerIter = cur.value[Symbol.iterator]();\n }\n else {\n hasFinished = true;\n }\n }\n else {\n const cur = innerIter.next();\n if (!cur.done) {\n output = { value: cur.value };\n hasFinished = true;\n }\n else {\n innerIter = null;\n }\n }\n }\n return innerIter != null && output != null ? [output.value, innerIter] : null;\n }, null);\n });\n}\nexport function collect(f, xs) {\n return concat(map(f, xs));\n}\nexport function choose(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n const y = f(cur.value);\n if (y != null) {\n return [getValue(y), iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function compareWith(f, xs, ys) {\n const nonZero = tryFind((i) => i !== 0, map2((x, y) => f(x, y), xs, ys));\n return nonZero != null ? getValue(nonZero) : count(xs) - count(ys);\n}\nexport function delay(f) {\n return {\n [Symbol.iterator]: () => f()[Symbol.iterator](),\n };\n}\nexport function empty() {\n return unfold(() => void 0);\n}\nexport function enumerateWhile(cond, xs) {\n return concat(unfold(() => cond() ? [xs, true] : null));\n}\nexport function enumerateThenFinally(xs, finalFn) {\n return delay(() => {\n let iter;\n try {\n iter = xs[Symbol.iterator]();\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n return unfold((it) => {\n try {\n const cur = it.next();\n return !cur.done ? [cur.value, it] : null;\n }\n catch (err) {\n return void 0;\n }\n finally {\n finalFn();\n }\n }, iter);\n });\n}\nexport function enumerateUsing(disp, work) {\n let isDisposed = false;\n const disposeOnce = () => {\n if (!isDisposed) {\n isDisposed = true;\n disp.Dispose();\n }\n };\n try {\n return enumerateThenFinally(work(disp), disposeOnce);\n }\n catch (err) {\n return void 0;\n }\n finally {\n disposeOnce();\n }\n}\nexport function exactlyOne(xs) {\n const iter = xs[Symbol.iterator]();\n const fst = iter.next();\n if (fst.done) {\n throw new Error(\"Seq was empty\");\n }\n const snd = iter.next();\n if (!snd.done) {\n throw new Error(\"Seq had multiple items\");\n }\n return fst.value;\n}\nexport function except(itemsToExclude, source) {\n const exclusionItems = Array.from(itemsToExclude);\n const testIsNotInExclusionItems = (element) => !exclusionItems.some((excludedItem) => equals(excludedItem, element));\n return filter(testIsNotInExclusionItems, source);\n}\nexport function exists(f, xs) {\n let cur;\n for (const iter = xs[Symbol.iterator]();;) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value)) {\n return true;\n }\n }\n return false;\n}\nexport function exists2(f, xs, ys) {\n let cur1;\n let cur2;\n for (const iter1 = xs[Symbol.iterator](), iter2 = ys[Symbol.iterator]();;) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n if (f(cur1.value, cur2.value)) {\n return true;\n }\n }\n return false;\n}\nexport function filter(f, xs) {\n return delay(() => unfold((iter) => {\n let cur = iter.next();\n while (!cur.done) {\n if (f(cur.value)) {\n return [cur.value, iter];\n }\n cur = iter.next();\n }\n return null;\n }, xs[Symbol.iterator]()));\n}\nexport function where(f, xs) {\n return filter(f, xs);\n}\nexport function fold(f, acc, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f, acc);\n }\n else {\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value, i);\n }\n return acc;\n }\n}\nexport function foldBack(f, xs, acc) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n acc = f(arr[i], acc, i);\n }\n return acc;\n}\nexport function fold2(f, acc, xs, ys) {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n let cur1;\n let cur2;\n for (let i = 0;; i++) {\n cur1 = iter1.next();\n cur2 = iter2.next();\n if (cur1.done || cur2.done) {\n break;\n }\n acc = f(acc, cur1.value, cur2.value, i);\n }\n return acc;\n}\nexport function foldBack2(f, xs, ys, acc) {\n const ar1 = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const ar2 = Array.isArray(ys) || ArrayBuffer.isView(ys) ? ys : Array.from(ys);\n for (let i = ar1.length - 1; i >= 0; i--) {\n acc = f(ar1[i], ar2[i], acc, i);\n }\n return acc;\n}\nexport function forAll(f, xs) {\n return fold((acc, x) => acc && f(x), true, xs);\n}\nexport function forAll2(f, xs, ys) {\n return fold2((acc, x, y) => acc && f(x, y), true, xs, ys);\n}\nexport function tryHead(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n return cur.done ? null : makeSome(cur.value);\n}\nexport function head(xs) {\n return __failIfNone(tryHead(xs));\n}\nexport function initialize(n, f) {\n return delay(() => unfold((i) => i < n ? [f(i), i + 1] : null, 0));\n}\nexport function initializeInfinite(f) {\n return delay(() => unfold((i) => [f(i), i + 1], 0));\n}\nexport function tryItem(i, xs) {\n if (i < 0) {\n return null;\n }\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return i < xs.length ? makeSome(xs[i]) : null;\n }\n for (let j = 0, iter = xs[Symbol.iterator]();; j++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (j === i) {\n return makeSome(cur.value);\n }\n }\n return null;\n}\nexport function item(i, xs) {\n return __failIfNone(tryItem(i, xs));\n}\nexport function iterate(f, xs) {\n fold((_, x) => f(x), null, xs);\n}\nexport function iterate2(f, xs, ys) {\n fold2((_, x, y) => f(x, y), null, xs, ys);\n}\nexport function iterateIndexed(f, xs) {\n fold((_, x, i) => f(i, x), null, xs);\n}\nexport function iterateIndexed2(f, xs, ys) {\n fold2((_, x, y, i) => f(i, x, y), null, xs, ys);\n}\nexport function isEmpty(xs) {\n const i = xs[Symbol.iterator]();\n return i.next().done;\n}\nexport function tryLast(xs) {\n try {\n return makeSome(reduce((_, x) => x, xs));\n }\n catch (err) {\n return null;\n }\n}\nexport function last(xs) {\n return __failIfNone(tryLast(xs));\n}\n// A export function 'length' method causes problems in JavaScript -- https://github.com/Microsoft/TypeScript/issues/442\nexport function count(xs) {\n return Array.isArray(xs) || ArrayBuffer.isView(xs)\n ? xs.length\n : fold((acc, x) => acc + 1, 0, xs);\n}\nexport function map(f, xs) {\n return delay(() => unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(cur.value), iter] : null;\n }, xs[Symbol.iterator]()));\n}\nexport function mapIndexed(f, xs) {\n return delay(() => {\n let i = 0;\n return unfold((iter) => {\n const cur = iter.next();\n return !cur.done ? [f(i++, cur.value), iter] : null;\n }, xs[Symbol.iterator]());\n });\n}\nexport function indexed(xs) {\n return mapIndexed((i, x) => [i, x], xs);\n}\nexport function map2(f, xs, ys) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function mapIndexed2(f, xs, ys) {\n return delay(() => {\n let i = 0;\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n return !cur1.done && !cur2.done ? [f(i++, cur1.value, cur2.value), null] : null;\n });\n });\n}\nexport function map3(f, xs, ys, zs) {\n return delay(() => {\n const iter1 = xs[Symbol.iterator]();\n const iter2 = ys[Symbol.iterator]();\n const iter3 = zs[Symbol.iterator]();\n return unfold(() => {\n const cur1 = iter1.next();\n const cur2 = iter2.next();\n const cur3 = iter3.next();\n return !cur1.done && !cur2.done && !cur3.done ? [f(cur1.value, cur2.value, cur3.value), null] : null;\n });\n });\n}\nexport function chunkBySize(size, xs) {\n const result = arrayChunkBySize(size, Array.from(xs));\n return ofArray(result);\n}\nexport function mapFold(f, acc, xs, transform) {\n const result = [];\n let r;\n let cur;\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n [r, acc] = f(acc, cur.value);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function mapFoldBack(f, xs, acc, transform) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n const result = [];\n let r;\n for (let i = arr.length - 1; i >= 0; i--) {\n [r, acc] = f(arr[i], acc);\n result.push(r);\n }\n return transform !== void 0 ? [transform(result), acc] : [result, acc];\n}\nexport function max(xs) {\n return reduce((acc, x) => compare(acc, x) === 1 ? acc : x, xs);\n}\nexport function maxBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === 1 ? acc : x, xs);\n}\nexport function min(xs) {\n return reduce((acc, x) => compare(acc, x) === -1 ? acc : x, xs);\n}\nexport function minBy(f, xs) {\n return reduce((acc, x) => compare(f(acc), f(x)) === -1 ? acc : x, xs);\n}\nexport function pairwise(xs) {\n return skip(2, scan((last, next) => [last[1], next], [0, 0], xs));\n}\nexport function permute(f, xs) {\n return ofArray(arrayPermute(f, Array.from(xs)));\n}\nexport function rangeStep(first, step, last) {\n if (step === 0) {\n throw new Error(\"Step cannot be 0\");\n }\n return delay(() => unfold((x) => step > 0 && x <= last || step < 0 && x >= last ? [x, x + step] : null, first));\n}\nexport function rangeChar(first, last) {\n return delay(() => unfold((x) => x <= last ? [x, String.fromCharCode(x.charCodeAt(0) + 1)] : null, first));\n}\nexport function range(first, last) {\n return rangeStep(first, 1, last);\n}\nexport function readOnly(xs) {\n return map((x) => x, xs);\n}\nexport function reduce(f, xs) {\n if (Array.isArray(xs) || ArrayBuffer.isView(xs)) {\n return xs.reduce(f);\n }\n const iter = xs[Symbol.iterator]();\n let cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n let acc = cur.value;\n while (true) {\n cur = iter.next();\n if (cur.done) {\n break;\n }\n acc = f(acc, cur.value);\n }\n return acc;\n}\nexport function reduceBack(f, xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs : Array.from(xs);\n if (ar.length === 0) {\n throw new Error(\"Seq was empty\");\n }\n let acc = ar[ar.length - 1];\n for (let i = ar.length - 2; i >= 0; i--) {\n acc = f(ar[i], acc, i);\n }\n return acc;\n}\nexport function replicate(n, x) {\n return initialize(n, () => x);\n}\nexport function reverse(xs) {\n const ar = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return ofArray(ar.reverse());\n}\nexport function scan(f, seed, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((acc) => {\n if (acc == null) {\n return [seed, seed];\n }\n const cur = iter.next();\n if (!cur.done) {\n acc = f(acc, cur.value);\n return [acc, acc];\n }\n return void 0;\n }, null);\n });\n}\nexport function scanBack(f, xs, seed) {\n return reverse(scan((acc, x) => f(x, acc), seed, reverse(xs)));\n}\nexport function singleton(y) {\n return unfold((x) => x != null ? [x, null] : null, y);\n}\nexport function skip(n, xs) {\n return {\n [Symbol.iterator]: () => {\n const iter = xs[Symbol.iterator]();\n for (let i = 1; i <= n; i++) {\n if (iter.next().done) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return iter;\n },\n };\n}\nexport function skipWhile(f, xs) {\n return delay(() => {\n let hasPassed = false;\n return filter((x) => hasPassed || (hasPassed = !f(x)), xs);\n });\n}\nexport function sortWith(f, xs) {\n const ys = Array.from(xs);\n return ofArray(ys.sort(f));\n}\nexport function sum(xs) {\n return fold((acc, x) => acc + x, 0, xs);\n}\nexport function sumBy(f, xs) {\n return fold((acc, x) => acc + f(x), 0, xs);\n}\nexport function tail(xs) {\n const iter = xs[Symbol.iterator]();\n const cur = iter.next();\n if (cur.done) {\n throw new Error(\"Seq was empty\");\n }\n return {\n [Symbol.iterator]: () => iter,\n };\n}\nexport function take(n, xs, truncate = false) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n if (i < n) {\n const cur = iter.next();\n if (!cur.done) {\n return [cur.value, i + 1];\n }\n if (!truncate) {\n throw new Error(\"Seq has not enough elements\");\n }\n }\n return void 0;\n }, 0);\n });\n}\nexport function truncate(n, xs) {\n return take(n, xs, true);\n}\nexport function takeWhile(f, xs) {\n return delay(() => {\n const iter = xs[Symbol.iterator]();\n return unfold((i) => {\n const cur = iter.next();\n if (!cur.done && f(cur.value)) {\n return [cur.value, null];\n }\n return void 0;\n }, 0);\n });\n}\nexport function tryFind(f, xs, defaultValue) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return makeSome(cur.value);\n }\n }\n return defaultValue === void 0 ? null : makeSome(defaultValue);\n}\nexport function find(f, xs) {\n return __failIfNone(tryFind(f, xs));\n}\nexport function tryFindBack(f, xs, defaultValue) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n return tryFind(f, arr.reverse(), defaultValue);\n}\nexport function findBack(f, xs) {\n return __failIfNone(tryFindBack(f, xs));\n}\nexport function tryFindIndex(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n if (f(cur.value, i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndex(f, xs) {\n return __failIfNone(tryFindIndex(f, xs));\n}\nexport function tryFindIndexBack(f, xs) {\n const arr = Array.isArray(xs) || ArrayBuffer.isView(xs) ? xs.slice(0) : Array.from(xs);\n for (let i = arr.length - 1; i >= 0; i--) {\n if (f(arr[i], i)) {\n return i;\n }\n }\n return null;\n}\nexport function findIndexBack(f, xs) {\n return __failIfNone(tryFindIndexBack(f, xs));\n}\nexport function tryPick(f, xs) {\n for (let i = 0, iter = xs[Symbol.iterator]();; i++) {\n const cur = iter.next();\n if (cur.done) {\n break;\n }\n const y = f(cur.value, i);\n if (y != null) {\n return y;\n }\n }\n return null;\n}\nexport function pick(f, xs) {\n return __failIfNone(tryPick(f, xs));\n}\nexport function unfold(f, fst) {\n return {\n [Symbol.iterator]: () => {\n // Capture a copy of the first value in the closure\n // so the sequence is restarted every time, see #1230\n let acc = fst;\n return {\n next: () => {\n const res = f(acc);\n if (res != null) {\n acc = res[1];\n return { done: false, value: res[0] };\n }\n return { done: true };\n },\n };\n },\n };\n}\nexport function zip(xs, ys) {\n return map2((x, y) => [x, y], xs, ys);\n}\nexport function zip3(xs, ys, zs) {\n return map3((x, y, z) => [x, y, z], xs, ys, zs);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/FMarkFable/FMarkFable.fs","export function create(pattern, options) {\n let flags = \"g\";\n flags += options & 1 ? \"i\" : \"\";\n flags += options & 2 ? \"m\" : \"\";\n return new RegExp(pattern, flags);\n}\n// From http://stackoverflow.com/questions/3446170/escape-string-for-use-in-javascript-regex\nexport function escape(str) {\n return str.replace(/[\\-\\[\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n}\nexport function unescape(str) {\n return str.replace(/\\\\([\\-\\[\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|])/g, \"$1\");\n}\nexport function isMatch(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n return reg.test(str);\n}\nexport function match(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n return reg.exec(str);\n}\nexport function matches(str, pattern, options = 0) {\n let reg;\n reg = str instanceof RegExp\n ? (reg = str, str = pattern, reg.lastIndex = options, reg)\n : reg = create(pattern, options);\n if (!reg.global) {\n throw new Error(\"Non-global RegExp\"); // Prevent infinite loop\n }\n let m = reg.exec(str);\n const matches = [];\n while (m !== null) {\n matches.push(m);\n m = reg.exec(str);\n }\n return matches;\n}\nexport function options(reg) {\n let options = 256; // ECMAScript\n options |= reg.ignoreCase ? 1 : 0;\n options |= reg.multiline ? 2 : 0;\n return options;\n}\nexport function replace(reg, input, replacement, limit, offset = 0) {\n function replacer() {\n let res = arguments[0];\n if (limit !== 0) {\n limit--;\n const match = [];\n const len = arguments.length;\n for (let i = 0; i < len - 2; i++) {\n match.push(arguments[i]);\n }\n match.index = arguments[len - 2];\n match.input = arguments[len - 1];\n res = replacement(match);\n }\n return res;\n }\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit);\n input = tmp;\n limit = undefined;\n }\n if (typeof replacement === \"function\") {\n limit = limit == null ? -1 : limit;\n return input.substring(0, offset) + input.substring(offset).replace(reg, replacer);\n }\n else {\n // $0 doesn't work with JS regex, see #1155\n replacement = replacement.replace(/\\$0/g, (s) => \"$&\");\n if (limit != null) {\n let m;\n const sub1 = input.substring(offset);\n const _matches = matches(reg, sub1);\n const sub2 = matches.length > limit ? (m = _matches[limit - 1], sub1.substring(0, m.index + m[0].length)) : sub1;\n return input.substring(0, offset) + sub2.replace(reg, replacement)\n + input.substring(offset + sub2.length);\n }\n else {\n return input.replace(reg, replacement);\n }\n }\n}\nexport function split(reg, input, limit, offset = 0) {\n if (typeof reg === \"string\") {\n const tmp = reg;\n reg = create(input, limit);\n input = tmp;\n limit = undefined;\n }\n input = input.substring(offset);\n return input.split(reg, limit);\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/HTMLGen/HTMLGen.fs","module Types\n\ntype Language =\n | Python\n | FSharp\n | CPP\n | C\n | Empty\n\ntype Token =\n | CODEBLOCK of string * Language\n | LITERAL of string\n | WHITESPACE of size: int\n | NUMBER of string\n | HASH | PIPE | EQUAL | MINUS | PLUS | ASTERISK | DOT | COMMA\n | DASTERISK | TASTERISK | UNDERSCORE | DUNDERSCORE | TUNDERSCORE | TILDE | DTILDE\n | TTILDE | LSBRA | RSBRA | LBRA | RBRA | BSLASH | SLASH | LABRA | RABRA | LCBRA\n | RCBRA | BACKTICK | EXCLAMATION | ENDLINE | COLON | CARET | PERCENT | SEMICOLON\n | HEADER of int | FOOTNOTE of int | CITATION of string\n\ntype TFrmtedString =\n | Strong of InlineElement list\n | Emphasis of InlineElement list\n | Line of InlineElement list\n | Strike of InlineElement list\n | Literal of string\n | Code of string\n\nand InlineElement =\n | FrmtedString of TFrmtedString\n | Link of HyperText: TFrmtedString * URL: string\n | Picture of Alt: string * URL: string\n | InlineCitation of HyperText: TFrmtedString * ID: string\n | InlineFootnote of HyperText: TFrmtedString * ID: string\n\ntype TLine = InlineElement list\n\ntype THeader = {HeaderName: TLine; Level: int; RefID: string}\n\ntype Ttoc = {HeaderLst: THeader list}\n\ntype TListType = | UL | OL of startNo:int\ntype TList = {ListType: TListType; ListItem: TListItem list; Depth: int}\nand TListItem = NestedList of TList | StringItem of TLine\n\ntype Alignment = Centre | Right | Left | NoAlign\n\ntype Cell =\n | Contents of Token list * Header: bool * Align:Alignment\n\ntype Row =\n | Cells of Cell list * Header:bool\n\ntype PCell =\n | CellLine of TLine * Header: bool * Align:Alignment\n\ntype PRow =\n | PCells of PCell list * Header:bool\n\ntype RefFrmt = IEEE | Harvard | Chicago\ntype RefType = Book | Website\ntype Ref = {Cat: RefType option; Author: Token list option; Title: Token list option;\n Year: int option; AccessDate: (int * int * int) option\n URL: string option}\n\ntype ParsedObj =\n | CodeBlock of string * Language\n | Header of THeader\n | ContentTable of Ttoc\n | List of TList\n | Paragraph of TLine list\n | Quote of TLine\n | Table of PRow list\n | PreTable of Content: Token list list\n | Footnote of int * TLine // inline id, end of doc\n | Citation of string * TFrmtedString * TLine //ID,Inline,End of doc\n \ntype Cell with \n member c.GetToks = match c with \n | Contents(toks,_,_) -> toks\n member c.ReplaceTokens t = match c with \n | Contents(_,head,align) -> Contents(t,head,align)\n member c.GetHead = match c with \n | Contents(_,head,_) -> head\n member c.GetParams = match c with \n | Contents(toks,head,align) -> toks,head,align\n\ntype OutFormat = HTML | Markdown\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Types.fs","module Shared\n\nopen Types\nopen Logger\nopen System.Text.RegularExpressions\n\n// Helpers\n\n/// Inverse the values in a tuple\nlet invTuple (a, b) = b, a\n\n/// Try to find a key in a map, return Some value when it is found, otherwise it\n/// returns None\nlet mapTryFind k (map: Map<'a, 'b>) = map.TryFind(k)\n\n/// Try find key in a list\nlet listTryFind s =\n List.map invTuple >> Map.ofList >> mapTryFind s\n\n/// The list of characters used in the parser\nlet charList = [\"#\", HASH; \"|\", PIPE; \"=\", EQUAL; \"-\", MINUS; \"+\", PLUS; \"*\", ASTERISK\n \".\", DOT; \"**\", DASTERISK; \"***\", TASTERISK; \"_\", UNDERSCORE; \"__\", DUNDERSCORE\n \"___\", TUNDERSCORE; \"~\", TILDE; \"~~\", DTILDE; \"~~~\", TTILDE; \"[\", LSBRA\n \"]\", RSBRA; \"(\", LBRA; \")\", RBRA; @\"\\\", BSLASH; \"/\", SLASH; \"<\", LABRA\n \">\", RABRA; \"{\", LCBRA; \"}\", RCBRA; \"`\", BACKTICK;\n \"!\", EXCLAMATION; \":\", COLON; \"^\", CARET; \"%\", PERCENT; \",\", COMMA; \";\", SEMICOLON]\n\nlet charMap = charList |> List.map invTuple |> Map.ofList\n\nlet (|CharTok|_|) tok =\n mapTryFind tok charMap\n\nlet mapTok = function\n | CharTok s -> s\n | CODEBLOCK _ -> \"CODEBLOCK\"\n | FOOTNOTE _ -> sprintf \"FOOTNOTE found\"\n | CITATION _ -> sprintf \"CITATION found\"\n | HEADER n -> sprintf \"HEADER %d\" n\n | NUMBER s -> s\n | LITERAL s -> s\n | WHITESPACE n -> String.replicate n \" \"\n | _ -> \"\\n\"\n\n/// turn all tokens into string\nlet strAllToks toks =\n let pacMan str tok =\n str + mapTok tok\n List.fold pacMan \"\" toks\n\nlet mapLang lang =\n match lang with\n | Python -> \"python\"\n | FSharp -> \"fsharp\"\n | CPP -> \"cpp\"\n | C -> \"c\"\n | Empty -> \"\"\n\nlet xOnwards x lst = if List.length lst > x then lst.[x..] else []\nlet sOnwards s str = if String.length str > s then str.[s..] else \"\"\nlet removeChars lst s =\n let folder (s:string) x = s.Replace(x,\"\")\n List.fold folder s lst\nlet replaceChars pat (rep:string) s =\n Regex.Replace(s,pat,rep)\nlet removeWhitespace (s:string) = \n s |> removeChars [\"\\n\";\"\\t\";\"\\r\";\" \"]\n\n\n// WEBPACK FOOTER //\n// src/Common/Shared.fs","module Logger\n\ntype LogLevel =\n | DEBUG=0\n | INFO=1\n | WARNING=2\n | ERROR=3\n | FATAL=4\n\nlet logLevelStr =\n [\n LogLevel.DEBUG, \"DEBUG\"\n LogLevel.INFO, \"INFO\"\n LogLevel.WARNING, \"WARNING\"\n LogLevel.ERROR, \"ERROR\"\n LogLevel.FATAL, \"FATAL\"\n ] |> Map.ofList\n\ntype Logger(logLevel) =\n\n // create the mailbox processor\n let agent = MailboxProcessor.Start(fun inbox -> \n\n // the message processing function\n let rec messageLoop () = async {\n\n // read a message\n let! msg = inbox.Receive()\n\n // write it to the log\n printfn \"%s\" msg\n\n // loop to top\n return! messageLoop ()\n }\n\n // start the loop\n messageLoop ()\n )\n\n let postStr pType msg = function\n | Some l ->\n sprintf \"%s [%s] (%d) %s\" pType (System.DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) l msg |> agent.Post\n | _ ->\n sprintf \"%s [%s] %s\" pType (System.DateTime.Now.ToString(\"yyyy-MM-dd HH:mm:ss\")) msg |> agent.Post\n\n let log t l msg =\n if t >= logLevel then\n postStr logLevelStr.[t] msg l\n else ()\n\n // Public API\n member __.Log = log\n member __.Debug = log LogLevel.DEBUG\n member __.Info = log LogLevel.INFO\n member __.Warn = log LogLevel.WARNING\n member __.Error = log LogLevel.ERROR\n member __.Fatal = log LogLevel.FATAL\n\nlet logPass line log s =\n s |> log line\n s\n\nlet logPassN log s =\n s |> log None\n s\nlet mutable globLog = Logger(LogLevel.DEBUG)\n\n\n// WEBPACK FOOTER //\n// src/Common/Logger/Logger.fs","import { defaultCancellationToken } from \"./Async\";\nimport { fromContinuations } from \"./Async\";\nimport { startImmediate } from \"./Async\";\nclass QueueCell {\n constructor(message) {\n this.value = message;\n }\n}\nclass MailboxQueue {\n add(message) {\n const itCell = new QueueCell(message);\n if (this.firstAndLast) {\n this.firstAndLast[1].next = itCell;\n this.firstAndLast = [this.firstAndLast[0], itCell];\n }\n else {\n this.firstAndLast = [itCell, itCell];\n }\n }\n tryGet() {\n if (this.firstAndLast) {\n const value = this.firstAndLast[0].value;\n if (this.firstAndLast[0].next) {\n this.firstAndLast = [this.firstAndLast[0].next, this.firstAndLast[1]];\n }\n else {\n delete this.firstAndLast;\n }\n return value;\n }\n return void 0;\n }\n}\nexport default class MailboxProcessor {\n constructor(body, cancellationToken) {\n this.body = body;\n this.cancellationToken = cancellationToken || defaultCancellationToken;\n this.messages = new MailboxQueue();\n }\n __processEvents() {\n if (this.continuation) {\n const value = this.messages.tryGet();\n if (value) {\n const cont = this.continuation;\n delete this.continuation;\n cont(value);\n }\n }\n }\n start() {\n startImmediate(this.body(this), this.cancellationToken);\n }\n receive() {\n return fromContinuations((conts) => {\n if (this.continuation) {\n throw new Error(\"Receive can only be called once!\");\n }\n this.continuation = conts[0];\n this.__processEvents();\n });\n }\n post(message) {\n this.messages.add(message);\n this.__processEvents();\n }\n postAndAsyncReply(buildMessage) {\n let result;\n let continuation;\n function checkCompletion() {\n if (result && continuation) {\n continuation(result);\n }\n }\n const reply = {\n reply: (res) => {\n result = res;\n checkCompletion();\n },\n };\n this.messages.add(buildMessage(reply));\n this.__processEvents();\n return fromContinuations((conts) => {\n continuation = conts[0];\n checkCompletion();\n });\n }\n}\nexport function start(body, cancellationToken) {\n const mbox = new MailboxProcessor(body, cancellationToken);\n mbox.start();\n return mbox;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Logger/Logger.fs","import FSymbol from \"./Symbol\";\nimport { Any } from \"./Util\";\nimport { compareUnions, equalsUnions } from \"./Util\";\nexport function choice1Of2(v) {\n return new Choice(0, v);\n}\nexport function choice2Of2(v) {\n return new Choice(1, v);\n}\nexport default class Choice {\n constructor(tag, data) {\n this.tag = tag | 0;\n this.data = data;\n }\n get valueIfChoice1() {\n return this.tag === 0 ? this.data : null;\n }\n get valueIfChoice2() {\n return this.tag === 1 ? this.data : null;\n }\n Equals(other) {\n return equalsUnions(this, other);\n }\n CompareTo(other) {\n return compareUnions(this, other);\n }\n [FSymbol.reflection]() {\n return {\n type: \"Microsoft.FSharp.Core.FSharpChoice\",\n interfaces: [\"FSharpUnion\", \"System.IEquatable\", \"System.IComparable\"],\n cases: [[\"Choice1Of2\", Any], [\"Choice2Of2\", Any]],\n };\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/Lexer/Preprocessor.fs","module ParserHelperFuncs\nopen Types\nopen Shared\nopen Logger\n\nlet SPACE = \" \"\nlet NOSTRING = \"\"\n\ntype TEmphasis = UNDER | STAR // underscore and asterisk\n\ntype ParagraphState = {Par: Token list; ReToks: Token list; ParMatched: bool}\n\ntype FormatStyle = STRONG | EM | SEM | STRIKE\n\n/// delete leading ENDLINEs and retur the rest\nlet rec deleteLeadingENDLINEs toks =\n match toks with\n | ENDLINE:: tks -> deleteLeadingENDLINEs tks\n | _ -> toks\n\nlet deleteTrailingENDLINEs toks =\n toks\n |> List.rev\n |> deleteLeadingENDLINEs\n |> List.rev\n\nlet trimENDLINEs toks =\n toks\n |> deleteLeadingENDLINEs\n |> deleteTrailingENDLINEs\n\n/// convert all Tokens into a single string\n/// see mapTok for Token mapping\nlet stringAllTokens toks =\n let matchTok i tok =\n i + mapTok tok\n List.fold matchTok \"\" toks\n\n/// count subsquent and continuous Tokens\nlet countToks (tok: Token) toks =\n let rec countToks' (n, toks') =\n match toks' with\n | t:: rtks when t = tok -> countToks' (n+1, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuous spaces\nlet countSpaces toks =\n let rec countToks' (n, toks') =\n match toks' with\n | WHITESPACE no:: rtks -> countToks' (n+no, rtks)\n | _ -> n, toks'\n countToks' (0, toks) |> fst\n\n/// count leading continuoues ENDLINEs\nlet countNewLines = countToks (ENDLINE)\n\n/// count all pipes in a line\nlet countDelim delim toks =\n let counter tok =\n match tok with\n | t when t =delim ->1\n | _ -> 0\n List.sumBy counter toks\nlet countPipes = countDelim PIPE\nlet countMinus = countDelim MINUS\n\n/// first element is the line\n/// second element is remaining tokens\nlet cutFirstLine toks =\n let rec cutLine' line rtks =\n match rtks with\n | ENDLINE:: rtks -> line |> List.rev, rtks\n | tok:: rtks -> cutLine' (tok::line) rtks\n | [] -> line |> List.rev, []\n cutLine' [] toks\n\n/// process token list into lines of tokens, no ENDLINE in the end\nlet cutIntoLines toks =\n let rec cutIntoLines' tokLines toks =\n let endlineSpliter = function | ENDLINE -> true | _ -> false\n match List.tryFindIndex endlineSpliter toks with\n | None -> toks::tokLines |> List.rev\n | Some idx ->\n match List.splitAt idx toks with\n | (tokLine, retoks) ->\n let tokLineNoEL = tokLine |> deleteTrailingENDLINEs\n cutIntoLines' (tokLineNoEL::tokLines) retoks.Tail\n toks\n |> cutIntoLines' []\n\n/// combine adjacent FrmtedString(Literal \"something\")\nlet combineLiterals line =\n let combiner line inlineEle =\n let doNothing = inlineEle::line\n match List.head line with\n | FrmtedString (Literal l) ->\n match inlineEle with\n | FrmtedString (Literal s) -> FrmtedString (Literal (l+s)) :: line.Tail\n | _ -> doNothing\n | _ -> doNothing\n line\n |> List.tail\n |> List.fold combiner [List.head line]\n |> List.rev\n\n\n/// match start and end symbol for formatting\n/// return the match content, w/o the symbols\n/// and the rest tokens\nlet (|MatchSym|_|) sym toks =\n match toks with\n | t::tl when t = sym ->\n match List.tryFindIndex (fun s -> s=sym) (List.tail toks) with\n | Some idx ->\n let (content, restTks) = List.splitAt idx tl\n (content, List.tail restTks) |> Some\n | None -> None\n | _ -> None\n\n\n/// match paragraph\n/// return paragraph contents, w/o trailing ENDLINE,\n/// and the rest tokens, w/o leading ENDLINE\nlet (|PickoutParagraph|_|) toks =\n match toks with\n | [] -> None\n | _ ->\n let folder state tok =\n let {Par=par;ReToks=reToks;ParMatched=matched} = state\n if matched then\n {state with ReToks=tok::reToks}\n else\n match tok with\n | ENDLINE when List.head par = ENDLINE -> {Par=List.tail par;ReToks=reToks;ParMatched=true}\n | HEADER _ -> {Par=par;ReToks=tok::reToks;ParMatched=true}\n | _ -> {state with Par=tok::par}\n let initState = {Par=[];ReToks=[];ParMatched=false}\n match List.fold folder initState toks with\n | {Par=par;ReToks=reToks} ->\n (par |> List.rev, reToks |> List.rev |> deleteLeadingENDLINEs) |> Some\n\n/// match lists\nlet (|PickoutList|_|) toks =\n match toks with\n | [] -> None\n | ASTERISK:: WHITESPACE _:: _ | MINUS:: WHITESPACE _:: _ // unordered list\n | NUMBER _:: DOT:: WHITESPACE _:: _ -> // ordered list\n match toks with\n | PickoutParagraph result -> Some result\n | _ -> None\n | _ -> None\n\n\nlet (|MatchTemplate|_|) strongOrEmOrBoth toks =\n let (asteriskFormatter, underscoreFormatter) =\n match strongOrEmOrBoth with\n | STRONG -> DASTERISK, DUNDERSCORE\n | EM -> ASTERISK, UNDERSCORE\n | SEM -> TASTERISK, TUNDERSCORE\n | STRIKE -> DTILDE, DTILDE\n let attachInlineEle front back = Option.map (fun (x,y) -> x,y,front,back)\n match toks with\n | WHITESPACE _:: whatSym:: WHITESPACE _:: _ when whatSym=underscoreFormatter -> None // not em\n | WHITESPACE frontWhite:: whatSym:: potential when whatSym=underscoreFormatter ->\n let frontLiteral = String.replicate frontWhite \" \" |> Literal |> FrmtedString |> Some\n let rec endFinder content toks =\n match toks with\n | [] -> None\n | WHITESPACE _:: whatSym:: WHITESPACE _:: rtks when whatSym=underscoreFormatter -> // keep finding\n endFinder (List.append content toks.[0..2]) rtks\n | _:: whatSym:: WHITESPACE backWhite:: rtks when whatSym=underscoreFormatter ->\n let backLiteral = String.replicate backWhite \" \" |> Literal |> FrmtedString |> Some\n (List.append content [List.head toks], rtks)\n |> Some\n |> attachInlineEle frontLiteral backLiteral\n | _::[whatSym] when whatSym=underscoreFormatter ->\n (List.append content [List.head toks], [])\n |> Some\n |> attachInlineEle frontLiteral None\n | _ ->\n xOnwards 1 toks\n |> endFinder (List.append content [toks.[0]])\n endFinder [] potential\n | whatSym:: WHITESPACE _:: _ when whatSym=asteriskFormatter -> None // not asterisk em\n | whatSym:: potential when whatSym=asteriskFormatter ->\n let rec endFinder content toks =\n match toks with\n | [] -> None\n | WHITESPACE _:: whatSym:: rtks when whatSym=asteriskFormatter -> // keep finding\n endFinder (List.append content toks.[0..1]) rtks\n | _:: whatSym:: rtks when whatSym=asteriskFormatter ->\n (List.append content [List.head toks], rtks)\n |> Some\n |> attachInlineEle None None\n | _ ->\n xOnwards 1 toks\n |> endFinder (List.append content [toks.[0]])\n endFinder [] potential\n | _ -> None\n\n\n/// match underscore and asterisk emphasis start squence\n/// match underscore and asterisk emphasis end sequence\n/// return content of emphasis, the rest of line,\n/// and the necessary edge InlineElement\n/// e.g. ` _i_`, the edge InlineElements are `Some(FrmtedString(Literal \" \"))` and `None`\nlet (|MatchEm|_|) toks =\n match toks with\n | MatchTemplate EM result -> Some result\n | _ -> None\n\n/// match underscore and asterisk strong start squence\n/// match underscore and asterisk strong end sequence\n/// return content of strong, the rest of line,\n/// and the necessary edge InlineElement\n/// e.g. ` __i__`, the edge InlineElements are `Some(FrmtedString(Literal \" \"))` and `None`\nlet (|MatchStrong|_|) toks =\n match toks with\n | MatchTemplate STRONG result -> Some result\n | _ -> None\n\nlet (|MatchStrongAndEm|_|) toks =\n match toks with\n | MatchTemplate SEM result -> Some result\n | _ -> None\n\nlet (|MatchStrike|_|) toks =\n match toks with\n | MatchTemplate STRIKE result -> Some result\n | _ -> None\n\n/// match new paragraph sequence\n/// return Token list after EDNLINEs\nlet (|MatchNewParagraph|_|) toks =\n match countNewLines toks with\n | n when n>=2 -> toks.[n..] |> Some\n | _ -> None\n\n/// turn head Token into string\n/// return head Token string and tail Token list\nlet (|MatchMapTok|_|) = function\n | tok:: toks -> (mapTok tok, toks) |> Some\n | _ -> None\n\n/// match hashes\n/// returns no of hashes, the first non-WHITESPACE token list\n/// and the tokens in next lines\nlet (|MatchHeader|_|) toks =\n let rec countHashes n tks =\n match tks with\n | HASH:: tks' -> countHashes (n+1) tks'\n | _ -> n\n match countHashes 0 toks with\n | no when no > 0 ->\n match toks.[no..] with\n | WHITESPACE _ :: toks' ->\n toks'|> cutFirstLine\n |> (fun (f,s) -> no, f,s)\n |> Some // omit whitespace\n | _ -> None\n | _ -> None\n\n/// match quote\nlet (|MatchQuote|_|) toks =\n match toks with\n | RABRA:: rtks ->\n rtks\n |> cutFirstLine\n |> Some\n | _ -> None\n\n/// match list begin sequence w/o spaces\n/// return list type and Token list after start sequence\nlet (|MatchList|_|) toks =\n match toks with\n | NUMBER no:: DOT:: WHITESPACE _:: toks' -> (OL (no|>int), toks') |> Some\n | ASTERISK:: WHITESPACE _:: toks' -> (UL, toks') |> Some\n | _ -> None\n\n/// match list begin sequence with optional spaces\n/// return list type and Token list after start sequence\nlet (|MatchListOpSpace|_|) toks =\n match toks with\n | WHITESPACE _:: MatchList content -> content |> Some\n | MatchList content -> content |> Some\n | _ -> None\n\n/// return the next line\n/// next line is seperated by 1 ENDLINE\nlet (|MatchTableHead|_|) toks =\n let line, rtks = cutFirstLine toks\n match line with\n | [] -> None\n | _ -> rtks |> Some\n\n/// take one PIPE\n/// return the rest |> Some\n/// otherwise, None\nlet pipeMatch oToks =\n oToks\n |> Option.bind (fun toks ->\n match toks with\n | PIPE:: rtks -> Some rtks\n | _ -> None )\n\n/// take all leading subsequent MINUSes\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet minusMatch oToks =\n let takeAwayMinuses toks =\n let rec takeAwayMinuses' n toks =\n match toks with\n | MINUS:: rtks -> takeAwayMinuses' (n+1) rtks\n | _ -> n, toks\n takeAwayMinuses' 0 toks\n oToks\n |> Option.bind (fun toks ->\n let n, rtks = toks |> takeAwayMinuses \n if n>0 then\n Some rtks\n else\n None\n )\n\n/// match the table formater line\n/// the table formater is usually the second line of a table\n/// return the rest Tokens |> Some\n/// otherwise, None\nlet (|MatchTableFormater|_|) toks =\n let line, rtks = cutFirstLine toks\n match (countPipes line, countMinus line) with\n | (p,m) when p>0 && m>2 -> Some(rtks)\n | _ -> None\n\n/// match link\nlet (|MatchLink|_|) toks =\n let returnWhenRSBRALBRA toks =\n let rec concrete (content, toks) =\n match toks with\n | [] -> None\n | RSBRA::LBRA::rtks -> (List.rev content, rtks) |> Some\n | _ -> (List.head toks::content, List.tail toks) |> concrete\n concrete ([], toks)\n let returnWhenRBRA toks =\n let rec whatName (content, toks) =\n match toks with\n | [] -> None\n | RBRA::rtks -> (List.rev content, rtks) |> Some\n | _ -> (List.head toks::content, List.tail toks) |> whatName\n whatName ([], toks)\n match toks with\n | LSBRA::rtks ->\n match returnWhenRSBRALBRA rtks with\n | Some (hyperTextToks, remains) ->\n match returnWhenRBRA remains with\n | Some (urlToks, retoks) ->\n (hyperTextToks, urlToks, retoks) |> Some\n | None -> None\n | None -> None\n | _ -> None\n\n\n/// cut Tokens into Token list list for Table parsing\n/// terminates when [] or two continuous ENDLINEs\n/// return Token list list,\n/// remaining Token list\nlet cutTableRows toks =\n let rec cutTableRow' rows toks =\n match toks with\n | ENDLINE:: rtks -> rows |> List.rev, rtks // one endline followed by another\n | [] -> rows |> List.rev, []\n | _ ->\n let row, rtks = cutFirstLine toks\n cutTableRow' (row::rows) rtks\n cutTableRow' [] toks\n\n/// parse inline text, including links and pictures, terminates when nothing left\nlet parseInLineElements2 refLst toks =\n let attachInlineEle front back ele =\n [front;ele;back]\n\n let chooseRef refId refs =\n match refs with\n | [] ->\n let msg = sprintf \"[Reference: %A not found!]\" refId\n msg |> globLog.Info (Some 200) |> ignore\n msg |> Error\n | [exactlyOne] -> exactlyOne |> Ok\n | moreThanOne ->\n let msg = sprintf \"Reference: %A occurred more than once in reference list, take the first one.\" refId\n msg |> globLog.Info (Some 200) |> ignore\n List.head moreThanOne |> Ok\n /// find footnote in reference list, which contains both footnote and citation\n /// returns error msg if foot is not found\n /// returns first footnote if more than 1 is found\n let findFN fnId refList =\n let filterFN fnId refList =\n let fnFilter ref =\n match ref with\n | Footnote (id, _) when id=fnId -> true\n | _ -> false\n List.filter fnFilter refList\n filterFN fnId refList\n |> chooseRef fnId\n /// find citation in reference list, which contains both footnote and citation\n /// returns error msg if foot is not found\n /// returns first citation if more than 1 is found\n let findCite citeId refList =\n let filterCite fnId refList =\n let citeFilter ref =\n match ref with\n | Citation (id, _, _) when id=fnId -> true\n | _ -> false\n List.filter citeFilter refList\n filterCite citeId refList\n |> chooseRef citeId\n let genFormat (currentLine, inlineContent, frontLiteral, backLiteral) =\n match frontLiteral, backLiteral with\n | Some fl, Some bl ->\n [bl;inlineContent;fl]\n | Some fl, None ->\n [inlineContent;fl]\n | None, Some bl ->\n [bl;inlineContent]\n | None, None ->\n [inlineContent]\n |> (fun x -> x@currentLine)\n let makeList x = [x]\n let rec parseInLineElements' ftLst currentLine toks =\n let styleHelper style (content, rtks, frontLiteral, backLiteral) = \n let inlineContent = (parseInLines [] content |> style |> FrmtedString)\n genFormat (currentLine, inlineContent, frontLiteral, backLiteral), rtks\n\n match toks with\n | MatchSym BACKTICK (content, rtks) -> (content|> strAllToks|> Code|> FrmtedString )::currentLine, rtks\n | MatchStrongAndEm (content, rtks, frontLiteral, backLiteral) ->\n let inlineContent = (parseInLines [] content |> Strong |> FrmtedString |> makeList |> Emphasis |> FrmtedString)\n genFormat (currentLine, inlineContent, frontLiteral, backLiteral), rtks\n | MatchStrong (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Strong (content, rtks, frontLiteral, backLiteral)\n | MatchEm (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Emphasis (content, rtks, frontLiteral, backLiteral)\n | MatchStrike (content, rtks, frontLiteral, backLiteral) ->\n styleHelper Strike (content, rtks, frontLiteral, backLiteral)\n | MatchLink (hyperTextToks, urlToks, rtks) ->\n let hyperText = parseInLines [] hyperTextToks |> Line\n let url = strAllToks urlToks\n [(hyperText, url) |> Link]@currentLine, rtks\n | EXCLAMATION:: MatchLink (hyperTextToks, urlToks, rtks) ->\n let hyperText = hyperTextToks |> strAllToks\n let url = strAllToks urlToks\n [(hyperText, url) |> Picture]@currentLine, rtks\n | FOOTNOTE i :: rtks ->\n let idStr = string i\n match findFN i ftLst with\n | Ok _ -> // ok if found at least one reference in refLst\n [(Literal idStr, idStr) |> InlineFootnote]@currentLine, rtks\n | Error msg -> // error if no reference is found in refLst\n [msg |> Literal |> FrmtedString]@currentLine, rtks\n | CITATION str :: rtks ->\n match findCite str ftLst with\n | Ok ref -> // ok if found at least one reference in refLst\n match ref with\n | Citation (id, hyperText, _) -> [(hyperText, id) |> InlineCitation]@currentLine, rtks\n | _ -> failwith \"non-citation in citation list\"\n | Error msg -> // error if no reference is found in refLst\n [msg |> Literal |> FrmtedString]@currentLine, rtks\n | _ ->\n let str = mapTok toks.[0]\n FrmtedString (Literal str)::currentLine, xOnwards 1 toks\n and parseInLines currentLine toks =\n match toks with\n | [] -> []\n | _ ->\n let (newLine, retoks) = parseInLineElements' refLst currentLine toks\n match retoks with\n | [] -> newLine |> List.rev\n | _ ->\n parseInLines newLine retoks\n |> combineLiterals\n parseInLines [] toks\n\nlet parseInLineElements toks = parseInLineElements2 [] toks\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/ParserHelperFuncs.fs","module MarkalcShared\nopen Types\nopen System.Text.RegularExpressions\nopen Logger\n\ntype CellReference = \n RowCol of Row:uint32*Col:uint32\n\ntype Operand =\n | CellRef of CellReference\n | Integer of int\n | Float of float\n\ntype Expr =\n | BinExp of (float->float->float)*Expr*Expr\n | Op of Operand\n | CommaFunction of string*(Expr list)\n\ntype TExpr = DPExp of Expr*int\nlet whitespaceFilter lst = List.filter (function | WHITESPACE(_) -> false | _ -> true) lst\n// Count number of delim in token list\nlet countDelim delim tokList =\n List.filter (function | d when d = delim -> true | _ -> false) tokList \n |> List.length\n\n// return everything before and after the first/last delimeter searched for, error if delim not found\nlet delimSplit last delim t =\n let rec delimSplitFirst' delim before t =\n match t with\n | d :: after when d = delim -> Ok (before,after) // If delim then token list, return d and everything after the delim\n | x :: after -> delimSplitFirst' delim (x::before) after // If non-PIPE token then token list, recurse adding the tokens to the before list\n | [] -> Error (before,[]) // Did not find delimeter\n let rec delimSplitLast' delim before t =\n match (t, countDelim delim t) with\n | d :: after,1 when d = delim -> Ok (before,after)\n | x :: after,_ -> delimSplitLast' delim (x::before) after\n | [],_ -> Error (before,[])\n let searchFunc = if last then delimSplitLast' else delimSplitFirst'\n searchFunc delim [] t\n |> function\n | Error(before,a) -> Error(List.rev before,a)\n | Ok (before,a) -> Ok(List.rev before,a)\n\n/// Helper function to copy a list i times\nlet rec listCopies i lst =\n match i with\n | 1 -> lst\n | 0 -> []\n | x when x < 0 -> failwithf \"Negative argument: %A\" x\n | _ -> lst @ (listCopies (i-1) lst)\n\nlet unfoldTuple3 func (a,b,c) =\n func a b c\n\n// Take in two cell refs and return a list of all refs inbetween or None if invalid e.g. diagonal\nlet cellRange (p1,p2) = \n match (p1,p2) with\n | (RowCol(p1r,p1c),RowCol(p2r,p2c)) ->\n let genList a b = if a<b then [a..b] else [b..a]\n match p1r = p2r, p1c = p2c with\n | true,true -> Some [RowCol (p1r,p1c)]\n | true,false -> (List.map ((fun i -> (p1r,i)) >> RowCol) (genList p1c p2c)) |> Some\n | false,true -> (List.map ((fun i -> (i,p1c)) >> RowCol) (genList p1r p2r)) |> Some\n | false,false -> None\n\n// Quick parser to generate tokenise string one row at a time\nlet simpleLex txt = \n let (|RegexMatch|_|) r txt =\n let m = Regex.Match (txt,\"^\"+r)\n match m.Success with\n | true -> (m.Value, txt.Substring(m.Value.Length)) |> Some\n | false -> None\n let rec simpleLex' a txt =\n match txt with\n // Whitespace\n | RegexMatch \"[\\\\s]+\" (m,after) -> simpleLex' (WHITESPACE(m.Length)::a) after\n // Contents for expression evaluation\n | RegexMatch \"[0-9]+\" (m,after) -> simpleLex' (NUMBER(m)::a) after\n | RegexMatch \"\\\\^\" (_,after) -> simpleLex' (CARET::a) after\n | RegexMatch \"\\\\%\" (_,after) -> simpleLex' (PERCENT::a) after\n | RegexMatch \"\\\\*\" (_,after) -> simpleLex' (ASTERISK::a) after\n | RegexMatch \"\\\\/\" (_,after) -> simpleLex' (SLASH::a) after\n | RegexMatch \"\\\\+\" (_,after) -> simpleLex' (PLUS::a) after\n | RegexMatch \"\\\\-\" (_,after) -> simpleLex' (MINUS::a) after\n | RegexMatch \"\\\\(\" (_,after) -> simpleLex' (LBRA::a) after\n | RegexMatch \"\\\\)\" (_,after) -> simpleLex' (RBRA::a) after\n | RegexMatch \"\\\\[\" (_,after) -> simpleLex' (LSBRA::a) after\n | RegexMatch \"\\\\]\" (_,after) -> simpleLex' (RSBRA::a) after\n | RegexMatch \"\\\\=\" (_,after) -> simpleLex' (EQUAL::a) after\n | RegexMatch \"\\\\.\" (_,after) -> simpleLex' (DOT::a) after\n | RegexMatch \"\\\\,\" (_,after) -> simpleLex' (COMMA::a) after\n | RegexMatch \"\\\\{\" (_,after) -> simpleLex' (LCBRA::a) after\n | RegexMatch \"\\\\}\" (_,after) -> simpleLex' (RCBRA::a) after\n // Contents for table recognition\n | RegexMatch \"[a-zA-z]+[0-9]*( [a-zA-z]+[0-9]*)*\" (m,after) -> simpleLex' (LITERAL(m)::a) after\n | RegexMatch \"\\\\|\" (_,after) -> simpleLex' (PIPE::a) after\n | RegexMatch \"\\\\:\" (_,after) -> simpleLex' (COLON::a) after\n | RegexMatch \"\\\\;\" (_,after) -> simpleLex' (SEMICOLON::a) after\n | \"\" -> a\n | _ -> failwithf \"Unexpected character: %A\" txt\n simpleLex' [] txt |> List.rev\n\n// Experimental Lexr for tokenising from entire table string\n// let stringLex (txt:string)=\n// List.map simpleLex (Array.toList (txt.Split(\"\\n\")))\nlet lexY (x,y,z) = x,y|>simpleLex,z\nlet round (dp:int) (f:float) =\n System.Math.Round(f,dp)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/MarkalcShared.fs","module LexerShared\nopen System.Text.RegularExpressions\n\n// --------------------------------------------------\n// Helpers\n// --------------------------------------------------\n\n/// Take the first element of a tuple of size 3\nlet takeFirst (a, _, _) = a\n\n/// Match a regular expression Return Some (m,grps) where m is the match string,\n/// grps is the list of match groups (if any) return None on no match\nlet strRegexMatch (regex: string) (str: string) =\n let m = Regex(regex).Match(str)\n if m.Success\n then\n let mLst = [ for x in m.Groups -> x.Value ]\n Some (List.head mLst, List.tail mLst)\n else None\n\n/// Checks if a string starts with another string\nlet strStartsWith (value: string) (str: string) =\n str.StartsWith(value)\n\n/// Convert a single character to a string\nlet toString (c: char) =\n System.String.Concat [c]\n\n/// Replace a every occurence of one string in the string s by another\nlet strReplace (o: string) (n: string) (s: string) =\n s.Replace(o, n)\n\n// --------------------------------------------------\n// Shared\n// --------------------------------------------------\n\n/// Active Pattern to match a string with a regex pattern, returns the matched string\n/// together with the groups in a list and the rest of the string\nlet (|RegexMatch|_|) regex str =\n match strRegexMatch regex str with\n | None -> None\n | Some (m, grp) ->\n let lchar = String.length m\n Some (m, grp, str.[lchar..])\n\n/// Create a regular expression for a literal that matches everything except the\n/// characters defined in charList\nlet literalString charList =\n\n /// Escapes every special regex character in a string given to it\n let addEscape (c, _) =\n [\"\\\\\"; \".\"; \"^\"; \"$\"; \"*\"; \"+\"; \"-\"; \"?\"; \"(\"; \")\"; \"[\"; \"]\"; \"{\"; \"}\"; \"|\"; \"/\"]\n |> List.fold (fun st n -> strReplace n (\"\\\\\"+n) st) c\n\n charList\n |> List.map (addEscape >> (fun a -> a+\"|\"))\n |> List.fold (+) \"\"\n |> (fun c -> \"^.+?(?=\\\\s|\"+c+\"$)\")\n\n/// Tests if a string starts with any of the characters in charList,\n/// and returns the match after passing it through the retLastMatch\n/// function, that will be used in a fold operation with None as a starting\n/// value\nlet (|CharMatch|_|) retLastMatch a charList (str: string) =\n let testStartWith (c, t) =\n let ch = a + c\n strStartsWith ch str, ch, t\n List.map testStartWith charList\n |> List.fold retLastMatch None\n\n/// Checks if a string starts with a character defined in charList, and returns the DU value\n/// associated with it\nlet (|Character|_|) charList (str: string) =\n let retLastMatch i = function\n | true, c, t -> Some (t, str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\" charList str\n\n/// Checks if a string starts with an escaped char of any character in charList, and returns it\n/// by passing the text of the last matched value to a constructor 'tType'\nlet (|EscapedChar|_|) tType charList (str: string) =\n let retLastMatch i = function\n | true, (c: string), _ -> Some (tType c.[1..], str.[String.length c..])\n | _ -> i\n (|CharMatch|_|) retLastMatch \"\\\\\" charList str\n\n/// Match a single group with a regex\nlet (|GroupMatch|_|) str = function\n | RegexMatch str (m, [t], r) -> Some t\n | _ -> None\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/LexerShared.fs","module Main\nopen Types\nopen FMark\n\nlet processMarkdownString fileDir str =\n str\n |> Array.toList\n |> processString fileDir HTML\n\n\n\n// WEBPACK FOOTER //\n// src/FMarkFable/FMarkFable.fs","module FMark\n\nopen Types\n\nlet preLexParse dir = \n Preprocessor.preprocessListWithDir dir\n >> Lexer.lexList\n >> Parser.parse\n\nlet processString' dir formatFunc =\n preLexParse dir >> Result.map formatFunc\n\nlet processString dir format =\n match format with\n | HTML -> processString' dir (fun x -> HTMLGen.genHTML (dir,x))\n | Markdown -> processString' dir MarkdownGen.mdBody\n\n\n\n// WEBPACK FOOTER //\n// src/Common/FMark.fs","module Parser\nopen Types\nopen Shared\nopen ParserHelperFuncs\nopen TOCite\nopen Logger\n\n// helper functions\n\n\n/// parse inline code\nlet rec parseCode toks =\n match toks with\n | BACKTICK::_ -> (\"\", toks.[1..]) |> Ok\n | tok::toks' ->\n parseCode toks'\n |> Result.map (fun (str, tks) ->\n mapTok tok + str, tks )\n | e -> globLog.Warn None (sprintf \"%A\" e)\n (\"\\\\`\", xOnwards 1 toks) |> Ok\n\n\n/// parse a paragraph which counts for contents in `<p>`\n/// parseParagraph eats 2>= ENDLINEs\nlet parseParagraph ftLst toks =\n let parseParagraph' lines tokLine = (parseInLineElements2 ftLst tokLine) :: lines\n toks\n |> trimENDLINEs\n |> cutIntoLines\n |> List.fold parseParagraph' []\n |> List.rev\n |> Paragraph\n\n/// match table start sequence\n/// return table rows, terminates when [] or two continuous ENDLINEs\n/// start sequence:\n/// something in first line, at least one '|' and three '-' in second line\nlet (|MatchTable|_|) toks =\n // transform table rows into Table or Pretable depending if valid table.\n let tableTransform (rows,rtks) =\n rows |> Markalc.parseEvaluateTable\n |> function\n | Ok(rows) -> \n let toPCellList (cell:Cell) = \n let toks,head,align = (cell.GetParams) \n let pCellLine = toks |> parseInLineElements\n CellLine(pCellLine,head,align)\n let toPRow row = \n let clst, rHead = row |> function | Cells(clst',rHead') -> clst',rHead'\n PCells(List.map toPCellList clst, rHead)// Create PRows\n // For each row, unpack into Cell list\n (List.map toPRow rows |> Table,rtks) |> Some\n | Error(_)-> None\n match toks with\n | MatchTableHead rtks ->\n match rtks with\n | MatchTableFormater _ -> cutTableRows toks |> tableTransform\n | _ -> None\n | _ -> None\n\n/// strip header to a minimal string for id purposes\nlet headerIDGen id hd =\n let hdLine = hd.HeaderName\n let rec headerIDGen' hdLine =\n match hdLine with\n | FrmtedString (Literal a)::tl -> a + headerIDGen' tl\n | FrmtedString (Emphasis a)::tl -> (headerIDGen' a) + (headerIDGen' tl)\n | _ -> \"\"\n (headerIDGen' hdLine |> replaceChars \"\\ \" \"_\") + string id\n/// parse list\nlet parseList toks =\n // call itself if list item has a higher level\n // return if list item has lower level\n let ignoreError result = match result with | Ok x -> x | Error x -> x\n let takeAwayWhiteSpaces toks =\n match toks with\n | WHITESPACE n:: rtks -> (n/2, rtks)\n | _ -> (0, toks)\n let excludeSelfSkip x = match x with | None -> None | Some 1 -> None | Some n -> Some (n-1)\n /// return list type, list level, and list content\n let (|GetLIContent|_|) toks =\n // return list level and remaining toks\n let (level, retoks) = takeAwayWhiteSpaces toks\n match retoks with\n | ASTERISK:: WHITESPACE _:: _ | MINUS:: WHITESPACE _:: _ -> // unordered list\n (UL, level, xOnwards 2 retoks) |> Some\n | NUMBER no:: DOT:: WHITESPACE _:: _ -> // ordered list\n (OL (no|>int), level, xOnwards 3 retoks) |> Some\n | _ -> None\n\n let getLIContent toks =\n match toks with\n | GetLIContent result -> result |> Ok\n | _ ->\n let (level, retoks) = takeAwayWhiteSpaces toks\n (UL, level, retoks) |> Error\n\n /// get all list items in current item level and sub lists\n let rec getCurrentList level listItems lines =\n match lines with\n | line:: reLines ->\n match line |> getLIContent |> ignoreError with\n | (_, liLevel, _) when liLevel >= level -> // list item and sub list item\n getCurrentList level (line::listItems) reLines\n | _ -> listItems |> List.rev\n | [] -> listItems |> List.rev\n\n let rec parseList' level lines =\n let (listType, depth, _) =\n match List.head lines |> getLIContent with\n | Ok result -> result\n | Error result ->\n globLog.Warn (Some 100) \"invalid list item, line does not begin with [*;-;number]\\ndefault to UL\"\n result\n let listFolder (currentLv, listItems, (skipNo: int option), currentLine) line =\n match skipNo with\n | None ->\n match line |> getLIContent |> ignoreError with\n | (_, level, content) when level=currentLv ->\n let tLine = content |> parseInLineElements\n (currentLv, StringItem(tLine)::listItems, None, currentLine+1)\n | (_, level, _) when level>currentLv ->\n let (listItem, skip) =\n xOnwards currentLine lines\n |> getCurrentList (currentLv+1) []\n |> parseList' (currentLv+1)\n (currentLv, NestedList(listItem)::listItems, skip |> excludeSelfSkip, currentLine+1)\n | _ -> failwith \"list item level < current level, not possible\"\n | Some skip ->\n match skip with\n | 1 -> (currentLv, listItems, None, currentLine+1)\n | n when n>1 -> (currentLv, listItems, Some (n-1), currentLine+1)\n | _ -> failwith \"negative or zero skip number, not possible\"\n List.fold listFolder (level, [], None, 0) lines\n |> (fun (_, lis, _, _) ->\n let doSkip =\n match List.length lines with\n | 0 -> None\n | n -> Some n\n {ListType=listType; ListItem=lis |> List.rev; Depth=depth}, doSkip)\n toks\n |> trimENDLINEs\n |> cutIntoLines\n |> parseList' 0\n |> fst\n\n\n/// Match TOC token\n/// match \"%%TOC\"\nlet (|MatchTOC|_|) hdList toks =\n let createLinks (hdList:THeader list) =\n let makeRelLink i (h:THeader) =\n let linkText = Line(h.HeaderName)\n let linkID = hdList.[i].RefID\n {h with HeaderName = [Link (linkText, sprintf \"#%s\" linkID)]}\n //{h with HeaderName = Link((h.HeaderName), sprintf \"#HEADER%i\" i)} // Link of HyperText: TFrmtedString * URL: string\n let linksLst = List.mapi makeRelLink hdList\n {HeaderLst=linksLst}\n let filterHeadersByDepth depthOption hdList =\n match depthOption with\n | Some d ->\n let headerFilter hd =\n hd.Level <= d\n List.filter headerFilter hdList\n | None -> hdList\n\n let filterHeadersByName hdExListOption hdList =\n match hdExListOption with\n | Some hdExList ->\n let filterOutHeaders hdList hdToExclude =\n let hdTLine = hdToExclude |> parseInLineElements\n let headerFilter hd =\n hd.HeaderName <> hdTLine\n List.filter headerFilter hdList\n List.fold filterOutHeaders hdList hdExList\n | None -> hdList\n\n let splitToksAt sep toks : Token list list =\n let rec split (toksList, toks) =\n match toks with\n | [] ->\n // delete empty list\n match toksList with\n | []::retoksList -> retoksList\n | _ -> toksList\n |> List.rev\n | sym::rtks when sym=sep ->\n (\n []::toksList, rtks )\n |> split\n | tok::rtks ->\n (\n (tok::(List.head toksList))::(List.tail toksList), rtks )\n |> split\n split ([[]], toks)\n |> List.map List.rev\n\n\n let trimWhitespaces toks =\n let rec trimer toks =\n match toks with\n | WHITESPACE _::retoks -> trimer retoks\n | _ -> toks\n toks\n |> trimer\n |> List.rev\n |> trimer\n |> List.rev\n\n /// (maxDepth option, hdExList option)\n let parseTOCparameters toks =\n let parmFields = splitToksAt COMMA toks\n let (|MatchRSBRA|_|) toks =\n let rec matcher (pToks, toks) =\n match toks with\n | [] -> None\n | RSBRA::_ -> pToks |> List.rev |> Some\n | tk::rst -> (tk::pToks, rst) |> matcher\n matcher ([], toks)\n let parmsFolder (maxDepth, hdExList) parm =\n match parm |> trimWhitespaces with\n | LITERAL\"depth\"::EQUAL::NUMBER noStr::_ ->\n noStr |> int |> Some, hdExList\n | LITERAL\"excludes\"::EQUAL::LSBRA::rst ->\n let newHdExList =\n match rst with\n | MatchRSBRA exList ->\n exList\n |> splitToksAt SEMICOLON\n |> List.map (fun x -> x |> trimWhitespaces)\n |> Some\n | _ -> None\n maxDepth, newHdExList\n | _ -> maxDepth, hdExList\n // state: (maxDepth, hdExList)\n List.fold parmsFolder (None, None) parmFields\n\n\n\n match toks with\n //| PERCENT::PERCENT::LITERAL(\"TOC\")::// Options\n // | PERCENT::PERCENT::LITERAL(\"TOC\")::WHITESPACE _::LITERAL\"depth\"::EQUAL::NUMBER noStr::rst ->\n // // filter out headers with level > depth\n // // ignore the rest tokens in this line\n // let depth = noStr|>int\n // (\n // hdList\n // |>filterHeaders depth\n // |> createLinks\n // ,\n // rst|>cutFirstLine|>snd\n // ) |> Some\n | PERCENT::PERCENT::LITERAL(\"TOC\")::rst ->\n let (tocLine, retoks) = rst|>cutFirstLine\n let (maxDepth, hdExList) = parseTOCparameters tocLine\n (\n hdList\n |> filterHeadersByDepth maxDepth\n |> filterHeadersByName hdExList\n |> createLinks\n ,retoks)\n |> Some\n | _ -> None\n\n/// parse supported `ParsedObj`s, turn them into a list\n/// assuming each item start at the beginning of the line\n/// the returned token head does not have 2>= ENDLINE\nlet rec parseItem (hdLst: THeader list) (ftLst: ParsedObj list) (rawToks: Token list) : Result<ParsedObj * Token list, string> =\n let toks = deleteLeadingENDLINEs rawToks\n match toks with\n | MatchTOC hdLst (toc,rtks) -> (ContentTable toc,rtks) |> Ok\n | CODEBLOCK (content, lang) :: toks' -> (CodeBlock(content, lang), toks') |> Ok\n | MatchTable (rows, rtks) -> (rows, rtks) |> Ok\n | MatchQuote (content, rtks) ->\n (parseInLineElements2 ftLst content |> Quote , rtks)\n |> Ok\n | HEADER i :: rtks -> (Header (hdLst.[i]), rtks) |> Ok\n | PickoutList (list, retoks) -> (parseList list |> List, retoks) |> Ok\n | PickoutParagraph (par, retoks) ->\n (parseParagraph ftLst par, retoks) |> Ok\n | _ -> sprintf \"Parse item did not match: %A\" toks |> removeChars [\"[\";\"]\"] |> Error\n\nand parseItemList hdLst ftLst toks : Result<ParsedObj list * option<Token list>, string> =\n match (List.isEmpty toks, not (List.exists (function | WHITESPACE(_) | ENDLINE -> false | _ -> true) toks)) with\n | (false,false) -> \n parseItem hdLst ftLst toks\n |> Result.bind (fun (pobj, re) ->\n match List.isEmpty re with\n | true -> ([pobj], None) |> Ok\n | false ->\n parseItemList hdLst ftLst re\n |> Result.map(fun (pobjs, re') ->\n pobj::pobjs, re' )\n )\n | _ -> ([], None) |> Ok // if tokens are only whitespace or endlines, return no parsedObjs\n\n\n/// top-level Parser, which the user should use\n/// `parse` will either return result monad with either `ParsedObj list` or a string of Error message.\n/// Unparsed Tokens will be in the returned in the Error message.\nlet parse toks =\n // insert two endlines at the beginning to make header in the first line work\n let (hds, refs, rtoks) = preParser (ENDLINE::ENDLINE::toks)\n parseItemList hds refs rtoks\n |> Result.bind (fun (pobjs, retoks) ->\n match retoks with\n | None -> pobjs |> Ok\n | Some retoks -> sprintf \"Some unparsed tokens: %A\" retoks |> Error)\n |> Result.map (fun pObjs -> List.append pObjs refs)\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Parser/Parser.fs","module Markalc\n\nopen Types\nopen Shared\nopen MarkalcShared\nopen Expression\nopen Logger\n\ntype MapContents =\n | MapTok of Cell\n | MapExp of TExpr * Cell\n\n// ################### HELPER FUNCTIONS ###################\n/// Return everything (before,after) the first PIPE token\nlet pipeSplit toks = \n delimSplit false PIPE toks\n// Turn float into token\nlet toToken x = NUMBER(x|>string)\n/// Transform Result<Ok,Error> list into Result<Ok list, Error>\nlet joinErrorList lst =\n // Filter the list\n let filt x = match x with\n | Error(_) -> true\n | Ok(_) -> false\n let unpackOks = function\n | Ok(x') -> x'\n | Error(y) -> sprintf \"After filtering, there were still Error monads in the list %A.\" y\n |> logPass (Some 27) globLog.Fatal\n |> failwith\n let combineErrors s x = match x with\n | Ok(_) -> s // This should never be matched in this usage.\n | Error(x') -> sprintf \"%A %A\" x' s |> Error\n match List.filter filt lst with\n | [] -> List.map unpackOks lst |> Ok // If the list is empty there are no errors\n | x -> List.fold combineErrors (Error \"\") x\n// Lift first argument to result world\nlet liftFirstArg func arg1 arg2 =\n match arg1 with\n | Ok(x) -> func x arg2 |> Ok\n | Error(x) -> Error x\n\n// ####################### CONSTRUCT CELL HELPERS ###################\nlet makeCellU header tokens = (tokens,header)\nlet defaultCellU = makeCellU false\nlet headCellU = makeCellU true\nlet alignCell alignment cellU = Contents (fst cellU, snd cellU, alignment)\n\n// ###################### PARSE TABLE ROWS #####################\n// Parse a line into a list of cells\nlet parsePipesD debug constructCell (row:Token list) =\n let parsePipesDebug line a b =\n if debug then\n sprintf \"Markalc/Parse PIPES:\\nBefore:%A\\nAfter:%A$\\n\" a b |> globLog.Debug (Some line)\n let rec parsePipes' a row =\n match pipeSplit row with\n | Ok([],[]) -> (constructCell []):: a\n | Ok([],after) -> parsePipesDebug 55 [] after \n parsePipes' ((constructCell [])::a) after // If before is empty and after is not, empty cell\n | Ok(before,[]) -> parsePipesDebug 57 before [] \n (constructCell before) :: a // If after is empty, add before and stop\n | Ok(before,after) -> parsePipesDebug 59 before after\n parsePipes' ((constructCell before) :: a) after\n | Error(_) -> if List.isEmpty row then a else (constructCell row)::a // If there is content, add it\n parsePipes' [] row\nlet parsePipes constructCell row = parsePipesD false constructCell row /// TOGGLE DEBUG MODE\n/// Parse an ordinary row\nlet parseRow constructCell row =\n let parseRow' = parsePipes constructCell\n // If its the first pipe and there's nothing before it, remove it\n match row with\n | PIPE :: row' -> parseRow' row'\n | row' -> parseRow' row'\n // If the list only contains one item, add an empty cell on the end (empty cells now added later on...)\n |> (fun x -> if List.length x = 1 then (constructCell[])::x else x) \n |> List.rev\nlet parseDefaultRow = parseRow defaultCellU\n/// Parse the second row of the table which defines number of columns and alignment\nlet parseAlignRow (row:Token list) = \n let parseAlignDebug line s =\n sprintf \"Markalc/parseAlignRow\\n%s$\" s |> logPass (Some line) globLog.Debug\n let getAlignment (toks: Token list) =\n let filt = function | COLON -> true | MINUS -> true | _ -> false \n // Check it has at least three dashes\n match (countDelim MINUS toks < 3, List.filter filt toks |> List.length <> List.length toks) with\n | (true,false) -> \"Less than 3 dashes for table format\" |> parseAlignDebug 83 |> Error \n | (false,true) -> sprintf \"Invalid characters in table format, expecting only : or - \\n%A\\n%A\" toks (List.filter filt toks) \n |> parseAlignDebug 84\n |> Error\n | (true,true) -> \"Less than 3 dashes for table format and invalid characters\" |> parseAlignDebug 87 |> Error \n | (false,false) ->\n match (List.rev toks, countDelim COLON toks) with\n | (COLON :: _, 2) when List.head toks = COLON -> Centre |> Ok\n | (COLON :: _, 1) -> Right |> Ok\n | (_,1) when List.head toks = COLON -> Left |> Ok\n | (_,0) -> NoAlign |> Ok\n | (_,x) -> sprintf \"\\':\\'s in wrong position %A, %A\" toks x |> parseAlignDebug 94 |> Error\n let parseAlign' = parsePipes getAlignment\n // Ignore the first pipe if there is nothing before it\n match whitespaceFilter row with\n | PIPE :: row' -> parseAlign' row'\n | row' -> parseAlign' row'\n |> List.rev\n |> joinErrorList\n\n// ################ BUSINESS END ###############\n/// Function which takes a parsed row (list of unalignedcells) and the list of alignments, and will create Cells\nlet alignCells' alignList (row:(Token list * bool) list * bool) =\n let cells = fst row\n let head = snd row\n let lengths = (List.length alignList, List.length cells)\n match (fst lengths - snd lengths) with\n | x when x > 0 -> cells @ (List.replicate x ([], head)) // If alignList longer than cells, fill in with blank cells\n | x when x < 0 -> cells.[0..((fst lengths)-1)]// If cells longer than alignList, ignore the extra cells\n | _ -> cells\n |> (List.zip alignList)\n |> List.map (fun (a,uc) -> alignCell a uc),head\n\nlet alignCells = liftFirstArg alignCells'\n/// Separate list of tokens into cells with alignment and header/not-header\nlet transformTable (table:Token list list) =\n // Deal with first two rows of format: header1 | header2 | header3\n // Second row tells us how many columns and correct alignment\n let alignments = table.[1] |> parseAlignRow\n // Specify header value true/false and make Row type from cellList\n let makeRow head cells = (cells,head)\n\n let header = List.head table \n |> parseRow headCellU \n |> makeRow true \n |> alignCells alignments \n |> (Result.map Cells)\n\n // Fold parse normal row for the rest of the table\n let parseAlignPrepend s x = (parseRow defaultCellU x \n |> makeRow false \n |> alignCells alignments \n |> (Result.map Cells)) :: s\n List.fold parseAlignPrepend [header] (xOnwards 2 table)\n |> List.rev\n |> joinErrorList\n\n// Try to evaluate expression, set maxRefs to number of CellRefs before assuming circular reference\nlet tryEval' maxRefs map e =\n // Evaluate expression\n let rec evalExp (e:TExpr) = \n let rec evalExp' r map (e:Expr) =\n // Evaluate cell reference\n let evalCellRef ref = \n match Map.tryFind ref map with\n | Some(MapExp(e2,_)) -> evalExp' (r+1) map (e2|>function|DPExp(e2',_)->e2') // Evaluating cell references\n | _ -> nan // invalid reference\n // Apply f over list of cell references between two cells\n let rangeFunc f x y = match cellRange (x,y) with\n | Some(l) -> f l\n | None -> nan\n if r > maxRefs then nan else // Return nan if too many recursive calls, probably circular reference\n match e with\n | BinExp(f,x,y) -> f (evalExp' r map x) (evalExp' r map y)\n | Op (Float(x)) -> x\n | Op (CellRef(ref)) -> evalCellRef ref\n | CommaFunction(\"SUM\",l) -> List.sumBy (evalExp' r map) l\n | CommaFunction(\"AVG\",l) -> List.averageBy (evalExp' r map) l\n | CommaFunction(\"MIN\",l) -> List.min (List.map (evalExp' r map) l)\n | CommaFunction(\"MAX\",l) -> List.max (List.map(evalExp' r map) l)\n | _ -> 11.0\n e |> function\n | DPExp(exp,dp) when dp < 0 -> evalExp' 0 map exp\n | DPExp(exp,dp) -> evalExp' 0 map exp |> round dp\n \n evalExp e\nlet tryEval = tryEval' 1000\n/// Evaluate all expressions inside a cell list list, leave non-expression cells as they are\n/// No invalid expressions should be matched.\nlet evaluateRowList (rowList:Row list) = \n // Infer Row header value from (List.head cellList) and create Row\n // cellList must not be empty, which is ensured by earlier code\n let inferRow (cellList:Cell list) = Cells(cellList, (List.head cellList).GetHead)\n // Iterate over table, snd s is current column number.\n let innerFold row (s:(CellReference*MapContents) list * uint32) (cell:Cell) =\n let cCol = snd s // current column\n let cCoord,cMap = RowCol(row,cCol),fst s // current coordinate and map\n match parseExpression (cell.GetToks) with\n | Ok(ex) -> (cCoord,MapExp (ex,cell)) :: cMap, cCol + 1u // Expression found, put it into the map!\n | Error(_) -> (cCoord,MapTok (cell)) :: cMap, cCol + 1u // No expression, ignore\n // fst s is current row, pass it through to inner fold\n let outerFold (s:uint32* ((CellReference*MapContents) list * uint32)) cells =\n let cRow,cMap = fst s, fst (snd s) // current row\n (cRow + 1u, List.fold (innerFold (cRow)) (cMap,0u) cells)\n let cellList = List.collect (function | Cells(l,_) -> [l]) rowList\n let rowLength = List.length (List.head cellList)\n List.fold outerFold (0u,([],0u)) cellList \n |> function \n | (_,(expRefList,_)) -> \n let expList = List.rev expRefList\n let map = Map.ofList expList\n // Iterate over list, evaluate expression for each MapExp then convert into Token list\n // convert MapContents from MapExp to MapTok (?)\n let expListEval = function\n | MapTok(c) -> c\n | MapExp(e,c) -> [tryEval map e |> toToken] |> (c.ReplaceTokens)\n List.map (snd >> expListEval) expList\n |> (Seq.chunkBySize rowLength) \n |> Seq.toList \n |> List.map (Array.toList>>inferRow)\n\n/// Top level function\n/// Parse tokens into cell list list with all Expressions evaluated.\n/// Return: Result(OK(Cell list list), Error(toks))\nlet parseEvaluateTable (toks:Token list list) = \n // Transform Token list list into Cell list list\n let endlFilt = function | ENDLINE -> false | _ -> true\n transformTable (List.map (List.filter endlFilt) toks)\n |> function\n | Error(e) -> sprintf \"Markalc/top\\nNot a table because of errors: %s\\nReturning unchanged tokens.$\" e |> globLog.Debug (Some 214)\n toks |> Error // If there are any errors just return the unchanged Token list list\n | Ok(x) -> evaluateRowList x |> Ok // Else return Ok and Cell list list\n\nlet lexParseEvaluate toks = \n List.map simpleLex toks\n |> parseEvaluateTable\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Markalc.fs","/// This module should parse tokens into an expression\nmodule Expression\n\nopen MarkalcShared\nopen Types\nopen Logger\n\n(* SUPPORTED OPERATIONS:\nBinaryExpressions (in order of precedence): \n % - Modulo\n ^ - To the power\n * - Multiply\n / - Divide\n + - Add\n - - Subtract\n*)\n// HELPER FUNCTIONS\nlet makeFloat i d = \n sprintf \"%A.%A\" i d |> float\nlet makeInt (i:string) =\n i |> int\nlet makeCellReference (row:string,col:string) =\n RowCol(row|>uint32,col|>uint32)\n// [row=3,col=2]\n// ]2=col,3=row[\n// [row=3,col=2] [3,42]\n/// EXPRESSION PARSER\nlet parseExp toks = \n let rec (|Expression|_|) (toks:Token list) =\n let (|NumberPat|_|) = function\n | NUMBER(i) :: DOT :: NUMBER(d) :: after -> (makeFloat i d, after) |> Some\n | NUMBER(i) :: after -> (makeInt i |> float, after) |> Some\n | _ -> None\n let rec (|CellRefPat|_|) = function\n | RSBRA :: NUMBER(col) :: COMMA :: NUMBER(row) :: LSBRA :: after \n -> ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: COMMA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> globLog.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | RSBRA :: NUMBER(col) :: EQUAL :: LITERAL(\"col\") :: COMMA :: NUMBER(row) :: EQUAL :: LITERAL(\"row\") :: LSBRA :: after \n -> sprintf \"Row:%A, Col:%A\" row col |> globLog.Debug None\n ((row,col) |> makeCellReference,after) |> Some\n | _ -> None\n let rec (|ExpressionList|_|) = function\n | Expression(exp,COMMA::ExpressionList(exps,after)) -> (exp::exps,after) |> Some\n | CellRefPat(x,COLON::CellRefPat(y,after)) -> cellRange (x,y) |> function\n | Some lst -> (List.map (CellRef >> Op) lst,after) |> Some\n | _ -> None\n | Expression(exp,after) -> ([exp],after) |> Some\n | _ -> None\n // DEFINE FUNCTIONS\n let funcConstruct funcname = function\n | RCBRA :: ExpressionList (lst,LCBRA::LITERAL(funcname)::after) ->\n (CommaFunction(funcname,lst),after) |> Some\n | _ -> None\n let (|Sum|_|) = funcConstruct \"SUM\"\n let (|Avg|_|) = funcConstruct \"AVG\"\n let (|Min|_|) = funcConstruct \"MIN\"\n let (|Max|_|) = funcConstruct \"MAX\"\n \n let (|FunctionPat|_|) = function\n | Sum (x,after) -> (x,after) |> Some\n | Avg (x,after) -> (x,after) |> Some\n | Min (x,after) -> (x,after) |> Some\n | Max (x,after) -> (x,after) |> Some\n | _ -> None\n\n let (|BasePat|_|) = function\n | NumberPat (x,after) -> (x |> Float |> Op,after) |> Some\n | FunctionPat (x,after) -> (x,after) |> Some\n // Parsing in reverse so right and left brackets swapped\n | CellRefPat (x,after) -> (x |> CellRef |> Op,after) |> Some\n | RBRA :: Expression (x,LBRA::after) -> (x,after) |> Some\n | _ -> None\n // Active pattern to construct precedence-aware active patterns; descends recursively until highest precedence match.\n // Quirk: Returns right-associative results, so parsing in reverse to get left-associativity.\n let rec (|HOFPat|_|) (|PrevPat|_|) op (t:Token) = function\n | PrevPat (exp1, after) -> \n match after with\n | x :: (HOFPat (|PrevPat|_|) op t (exp2, after')) when x = t -> \n (BinExp (op, exp2, exp1), after') |> Some // exp1 and exp2 swapped because parsing in reverse\n | _ -> (exp1, after) |> Some\n | _ -> None\n // Build precendence and normal binary operators\n let patPrecedence = [(%),PERCENT;( **),CARET;(*),ASTERISK;(/),SLASH;(-),MINUS;( + ),PLUS]\n let constructPatterns s x = ((|HOFPat|_|) (List.head s) (fst x) (snd x))::s\n let patterns = List.fold constructPatterns [(|BasePat|_|)] patPrecedence\n let (|FirstPat|_|) = List.head patterns\n\n // Unary operators, only negative number so far. Doesn't work.\n // let (|UnaryOperators|_|) = function\n // | FirstPat (exp1, after) ->\n // match after with\n // // Negative Numbers\n // | NumberPat(x,MINUS::after') -> (-x |> Float |> Op,after') |> Some\n // // ... Could have more patterns here.\n // | _ -> (exp1,after) |> Some\n // | _ -> None\n\n match toks with\n | FirstPat x -> Some x\n | _ -> None\n // Add other options to cells\n //let (|Option|_|) toks =\n // match toks with\n // | NUMBER(i)::COMMA::after -> // Number of decimal places\n // | NUMBER(i)::EQUAL::LITERAL(\"dp\")::COMMA::after -> // Number of decimal places\n\n match List.rev toks with \n | NUMBER(i)::COMMA::rest -> match rest with\n | Expression (exp,[]) -> (exp,i|>int) |> DPExp |> Ok\n | _ -> sprintf \"Not valid expression %A\" toks |> Error\n | Expression (exp,[]) -> (exp,-1) |> DPExp |> Ok \n | _ -> sprintf \"Not valid expression %A\" toks |> Error\n\nlet parseExpression toks = \n match toks with\n | EQUAL :: tail -> \n whitespaceFilter tail |> parseExp |> function\n | Error(e) -> Error toks\n | Ok(x) -> Ok x\n | toks -> Error toks\n\n// ################## TEST FUNCTIONS ####################\n// Recursively evaluate expression AST. CellRef will need access to whole table, this is used to test everything else\nlet evalExpTest (e:TExpr) =\n let rec evalExpTest' (e:Expr) = \n match e with\n | BinExp(f,x,y) -> f (evalExpTest'(x)) (evalExpTest'(y))\n | Op (Float(x)) -> x\n | _ -> 13.0\n match e with\n | DPExp(exp,dp) when dp < 0 -> evalExpTest' exp\n | DPExp(exp,dp) -> evalExpTest' exp |> round dp\n// Test evaluation without table\nlet parseExpTest (toks:Token list) =\n whitespaceFilter toks // Remove whitespace\n |> parseExp\n |> function\n | Error(e) -> printfn \"Error parsing expression: %A\" e\n Error toks \n | Ok(x) -> evalExpTest x |> Ok\n\n\n// WEBPACK FOOTER //\n// src/Common/Markalc/Expression.fs","// TODO does this perfectly match the .NET behavior ?\nexport function tryParse(s, radix, initial) {\n if (s != null && /\\S/.test(s)) {\n if (radix === 10) {\n const v = +s;\n if (!Number.isNaN(v)) {\n return [true, v];\n }\n }\n }\n return [false, initial != null ? initial : 0];\n}\nexport function parse(s, radix = 10) {\n const a = tryParse(s, radix, 0);\n if (a[0]) {\n return a[1];\n }\n else {\n // TODO FormatException ?\n throw new Error(\"Input string was not in a correct format.\");\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/Common/TOCite/RefParse.fs","module TOCite\nopen Types\nopen Shared\nopen RefParse\nopen ParserHelperFuncs\n\n// --------------------------------------------------------------------------------\nlet mountedInLineParser tokLst =\n //only simple footer in header\n let rec mountedInLineParser' toParse tLst =\n match tLst with\n | FOOTNOTE i::tl ->\n let s = string i\n parseInLineElements toParse :: [InlineFootnote (Literal s, \"footnote-\"+s)]\n :: mountedInLineParser' [] tl\n | CITATION _::tl -> mountedInLineParser' toParse tl\n | a::tl -> mountedInLineParser' (a::toParse) tl\n | [] -> [parseInLineElements toParse]\n tokLst\n |> List.rev\n |> mountedInLineParser' []\n |> List.rev\n |> List.reduce List.append\n\n/// strip header to a minimal string for id purposes\nlet headerIDGen id hdLine =\n let rec headerIDGen' hdLine =\n match hdLine with\n | FrmtedString (Literal a)::tl -> a + headerIDGen' tl\n | FrmtedString (Emphasis a)::tl -> (headerIDGen' a) + (headerIDGen' tl)\n | _ -> \"\"\n (headerIDGen' hdLine |> replaceChars \"\\ \" \"_\") + string id\n\nlet rec tocParse tocLst depth index : THeader list * Token list =\n // Detect hashes with whitespace after it\n // printf \"tocParse %A\\n%A\\n\" depth tocLst\n\n // rebuild hash if no whitespace after\n let rec fakehash dep =\n match dep with\n | 0 -> [ENDLINE;ENDLINE]\n | _ -> HASH :: fakehash (dep-1)\n\n match tocLst with\n | ENDLINE::ENDLINE::HASH::tl -> tocParse tl 1 index\n | HASH::tl when depth > 0 -> tocParse tl (depth+1) index\n | WHITESPACE _ ::tl when depth > 0 ->\n let ind = tl |> List.tryFindIndex (fun x -> x = ENDLINE)\n //split header from rest of tokens by finding ENDLINE\n match ind with\n | Some i ->\n let (h,t) = List.splitAt i tl\n let hName = mountedInLineParser h\n tocParse t 0 (index+1)\n |> fun (x,y) -> {HeaderName = hName; Level = depth; RefID = (headerIDGen index hName)}::x, ENDLINE::ENDLINE::(HEADER index)::y\n | None ->\n let hName = mountedInLineParser tl\n [{HeaderName = hName; Level = depth; RefID = (headerIDGen index hName)}], [ENDLINE;ENDLINE;HEADER index]\n // hash without whitespace, need to rebuild hash\n | a::tl when depth > 0 ->\n tocParse tl 0 index\n |> fun (x,y) -> x, List.append (fakehash depth |> List.rev) (a::y)\n | a::tl -> \n tocParse tl 0 index\n |> fun (x,y) -> x, a::y\n | [] -> [], []\n\nlet tocGen' tokenLst =\n tocParse tokenLst 0 0\n\n// call this when ParsedObj wanted\nlet tocGen tLst =\n {HeaderLst = tocGen' tLst |> fun (x,_)->x}\n\n// --------------------------------------------------------------------------------\n// /parse footnotes with parseInLineElements\nlet citeParseIn tocLst =\n let rec citeParseIn' toParse tail =\n match tail with\n | ENDLINE::WHITESPACE a::tl when a >= 4 -> citeParseIn' toParse tl\n | ENDLINE::tl -> toParse,tl\n | a::tl -> citeParseIn' (a::toParse) tl\n | [] -> toParse,[]\n citeParseIn' [] tocLst\n |> fun (x,y) -> x |> List.rev |> parseInLineElements, y\n\n/// main citation parser\nlet rec citeParse' style tocLst :ParsedObj list*Token list =\n let recFitFt (a,b) c =\n citeParse' style b\n |> fun (x,y) -> Footnote (c,a)::x, y\n let recFitRef (a,b,c) d =\n citeParse' style c\n |> fun (x,y) -> Citation (d,a,b)::x, y \n match tocLst with\n | LSBRA::CARET::NUMBER key::RSBRA::tl ->\n match tl with\n | COMMA::tail -> recFitFt (citeParseIn tail) (int key)\n | tail ->\n citeParse' style tail\n |> fun (x,y) -> x, FOOTNOTE (int key)::y\n | LSBRA::CARET::LITERAL citkey::RSBRA::tl ->\n match tl with\n | COMMA::tail -> recFitRef (refParse style tail) citkey\n | tail ->\n citeParse' style tail\n |> fun (x,y) -> x, CITATION citkey::y\n | t::tl ->\n citeParse' style tl\n |> fun (x,y) -> x, t::y\n | [] -> [], []\n\nlet styleParse rLst tocLst =\n let rec styleParse' rLst tocLst =\n let stylify str =\n match str with\n | \"Harvard\" -> Some Harvard\n | \"Chicago\" -> Some Chicago\n | \"IEEE\" -> Some IEEE\n | _ -> None // use default\n match tocLst with\n | ENDLINE::PERCENT::PERCENT::LITERAL \"RefStyle\"::AgnoEqual tail ->\n match tail with\n | LITERAL lit::tl -> stylify lit, List.append (List.rev rLst) tl\n | _ -> styleParse' (tocLst.Head::rLst) tocLst.Tail\n | a::tl -> styleParse' (a::rLst) tl\n | [] -> None, rLst\n styleParse' rLst tocLst\n\n//type change and sorting\n// might change now that there are string IDs\nlet citeGen' tLst =\n let style,tl = styleParse [] tLst\n let ftLst,tLst =\n match style with\n | Some s -> citeParse' s tl\n | None -> citeParse' Harvard tLst // use harvard as default style\n let sortFt ft1 ft2 =\n match ft1,ft2 with\n | Footnote (i,_), Footnote (j,_) -> i-j\n | Citation _, Footnote _ -> 1\n | Footnote _, Citation _ -> -1\n | _, _ -> 0\n List.sortWith sortFt ftLst, tLst\n\nlet preParser tLst =\n citeGen' tLst\n |> fun (x,y) -> x, tocGen' y\n |> fun (x,(y,z)) -> y, x, z\n\n\n// WEBPACK FOOTER //\n// src/Common/TOCite/TOCite.fs","module RefParse\nopen Shared\nopen ParserHelperFuncs\nopen Types\n\nlet monthConv m =\n match m with\n | 1 -> Some \"January\"\n | 2 -> Some \"February\"\n | 3 -> Some \"March\"\n | 4 -> Some \"April\"\n | 5 -> Some \"May\"\n | 6 -> Some \"June\"\n | 7 -> Some \"July\"\n | 8 -> Some \"August\"\n | 9 -> Some \"September\"\n | 10 -> Some \"October\"\n | 11 -> Some \"November\"\n | 12 -> Some \"December\"\n | _ -> None\n\nlet ordinalConv d =\n let (|OrdinalDates|_|) = function\n | d when d > 31 || d < 1 -> None\n | 1 | 21 | 31 -> Some \"st\"\n | 2 | 22 -> Some \"nd\"\n | 3 | 23 -> Some \"rd\"\n | _ -> Some \"th\"\n match d with\n | OrdinalDates s -> Some (string d + s)\n | _ -> None\n\nlet yerGen style year =\n match year with\n | None -> []\n | Some a -> \n match style with\n | Harvard -> [\"(\" + string a + \") \"|> Literal |> FrmtedString]\n | Chicago -> [string a + \". \" |> Literal |> FrmtedString]\n | IEEE -> []\n\nlet urlGen style url =\n match url with\n | None -> []\n | Some a ->\n match style with\n | Harvard -> \n [FrmtedString (Literal \"Available from: \"); Link(Literal a,a);\n FrmtedString (Literal \" \")]\n | Chicago -> [Link(Literal a,a)]\n | IEEE -> []\n\nlet plnGen tokLst =\n let rec plainGen' tLst =\n match tLst with\n | LITERAL lit::tl -> lit::plainGen' tl\n | WHITESPACE _::tl -> \" \"::plainGen' tl\n | _::tl -> plainGen' tl\n | [] -> []\n plainGen' tokLst |> List.rev |> List.reduce (+)\n\nlet dateGen style date =\n match date with\n | None -> []\n | Some (y,m,d) ->\n // check validity of date (Not complete, e.g. Feb-30 passes thru)\n let mstr = monthConv m\n let dstr = ordinalConv d\n match style with\n | Harvard ->\n match mstr, dstr with\n | Some mm, Some dd ->\n [\"[Accessed \"+dd+\" \"+mm+\" \"+(string y)+\"]. \"\n |> Literal |> FrmtedString]\n | _,_ -> [\"Access date invalid, please use yyyy-mm-dd\"\n |> Literal |> FrmtedString]\n | Chicago ->\n match mstr, dstr with\n | Some mm, Some _ ->\n [\"Accessed \"+mm+\" \"+(string d)+\", \"+(string y)+\". \"\n |> Literal |> FrmtedString]\n | _,_ -> [\"Access date invalid, please use yyyy-mm-dd\"\n |> Literal |> FrmtedString]\n | IEEE -> []\n\ntype GenType = HarAut | ChiAut | ChiBookTil | ChiWebTil | HarTil\nlet (|OverallM|) =\n let hAut tokLst =\n let rec hAutGen' tLst:TLine =\n match tLst with\n | LITERAL lit::tl ->\n match tl with\n | [] -> [FrmtedString (Literal (lit+\", \"))]\n | _ -> FrmtedString (Literal (string lit.[0]+\". \"))::hAutGen' tl\n | _::tl -> hAutGen' tl\n | [] -> []\n List.rev tokLst |> hAutGen' |> List.rev\n let cAut tokLst = [plnGen tokLst + \". \" |> Literal |> FrmtedString]\n let cWebTil tokLst = [\"\\\"\" + plnGen tokLst + \".\\\" \" |> Literal |> FrmtedString]\n let cTil tokLst = [[plnGen tokLst + \". \" |> Literal |> FrmtedString] |> Emphasis |> FrmtedString]\n let hTil tokLst = [[plnGen tokLst + \". \" |> Literal |> FrmtedString] |> Emphasis |> FrmtedString]\n function\n | HarAut -> hAut\n | HarTil -> hTil\n | ChiAut -> cAut\n | ChiBookTil -> cTil\n | ChiWebTil -> cWebTil\n\nlet build gType tokLst =\n match tokLst with\n | None -> []\n | Some tl ->\n match gType with\n | OverallM f -> f tl\n\nlet refInLine style ref: TFrmtedString =\n match ref.Author, ref.Year with\n | Some a, Some y ->\n // this part is weirddddd\n match a with\n | LITERAL lit :: _ ->\n match style with\n | IEEE -> Literal \"NOT IMPLEMENTED\"\n | Chicago ->\n \"(\" + lit + \", \" + string(y) + \")\" |> Literal\n | Harvard ->\n \"(\" + lit + \" \" + string(y) + \")\" |> Literal\n | _ -> \"(Name unavailable)\" |> Literal // to change?\n | None, Some y ->\n \"(\"+string(y)+\")\" |> Literal\n | Some a,_ ->\n match a with\n | LITERAL lit :: _ ->\n \"(\"+lit+\")\" |> Literal\n | _ -> \"(Name unavailable)\" |> Literal\n | _, _ -> \"(n.d.)\" |> Literal \n\nlet ref2TLine format ref:TLine =\n match format with\n | IEEE -> [FrmtedString (Literal \"IEEE citation not supported yet\")]\n | Chicago ->\n match ref.Cat with\n | Some Book ->\n [build ChiAut ref.Author; yerGen Chicago ref.Year;\n build ChiBookTil ref.Title]\n |> List.reduce List.append\n | Some Website ->\n [build ChiAut ref.Author; yerGen Chicago ref.Year; build ChiWebTil ref.Title;\n dateGen Chicago ref.AccessDate; urlGen Chicago ref.URL]\n |> List.reduce List.append\n | None -> [FrmtedString (Literal \"Please specify type of reference\")]\n | Harvard ->\n [build HarAut ref.Author; yerGen Harvard ref.Year; build HarTil ref.Title;\n urlGen Harvard ref.URL; dateGen Harvard ref.AccessDate]\n |> List.reduce List.append\n\nlet (|AgnoEqual|_|) = function\n | WHITESPACE _::EQUAL::WHITESPACE _::tl\n | WHITESPACE _::EQUAL::tl\n | EQUAL::WHITESPACE _::tl\n | EQUAL::tl ->\n Some tl\n | _ -> None\n\nlet pickOutURL toks = \n let rec pickOutURL' rtoks toks =\n match toks with\n | COMMA::tl -> rtoks, tl\n | a::tl -> pickOutURL' (a::rtoks) tl\n | [] -> rtoks, []\n pickOutURL' [] toks\n |> fun(x,y) -> strAllToks (List.rev x), y\n\n// parses a single reference entry\n// This probably should never see ENDLINE\nlet refParser style tLst =\n let rec refPar' refData tLst =\n let rec refParse' parsing tail =\n match tail with\n | COMMA::tl -> parsing, tl\n | ENDLINE::tl -> parsing, tl\n | a::tl -> refParse' (a::parsing) tl\n | [] -> parsing, []\n\n let dateFormat tail =\n match tail with\n | NUMBER y::MINUS::NUMBER m::MINUS::NUMBER d::tl ->\n Some (int y, int m, int d), tl\n | _ -> None, tail\n\n match tLst with\n | LITERAL f::AgnoEqual tl ->\n match f with\n | \"type\" ->\n match tl with\n | LITERAL \"Book\"::tl -> refPar' {refData with Cat = Some Book} tl\n | LITERAL \"Website\":: tl -> refPar' {refData with Cat = Some Website} tl\n | _ -> refPar' refData tl\n | \"author\" ->\n refParse' [] tl\n |> fun (x,y) -> refPar' {refData with Author = Some x} y\n | \"title\" ->\n refParse' [] tl\n |> fun (x,y) -> refPar' {refData with Title = Some x} y\n | \"year\" ->\n match tl with\n | NUMBER a::tl -> refPar' {refData with Year = Some (int a)} tl\n | _ -> refPar' refData tl\n | \"url\" ->\n let (s,tail) = pickOutURL tl\n refPar' {refData with URL = Some s} tail\n | \"access\" ->\n dateFormat tl\n |> fun (x,y) -> refPar' {refData with AccessDate = x} y\n | _ -> refPar' refData tl\n | ENDLINE::tl -> refPar' refData tl\n | _::tl -> refPar' refData tl\n | [] -> refData, []\n tLst \n |> refPar' {Cat = None; Author = None; Title = None;\n Year = None; AccessDate = None; URL = None}\n |> fun (x,_) -> refInLine style x, ref2TLine style x\n\n\n// parse references with refParser\nlet refParse style tocLst =\n match tocLst with\n | PickoutParagraph (tk,rtok) -> refParser style tk |> fun (a,b) -> a,b,rtok\n | _ -> refParser style tocLst |> fun (a,b) -> a,b,[]\n\n\n\n// WEBPACK FOOTER //\n// src/Common/TOCite/RefParse.fs","module Lexer\n\nopen Types\nopen Shared\nopen LexerShared\nopen Logger\n\ntype LexerState =\n | Normal\n | InCodeBlock of content: string * Language\n | InHTMLTag of tag: string * depth: int\n\nlet htmlSingleton = [\n \"area\"; \"base\"; \"br\"; \"col\"; \"command\"; \"embed\"; \"hr\"; \"img\"; \"input\"\n \"keygen\"; \"link\"; \"meta\"; \"param\"; \"source\"; \"track\"; \"wbr\"\n]\n\n/// An escaped char tokenizer, which identifies the escaped characters and returns them\n/// as a literal instead, without the leading '\\'\nlet (|EscapedCharTok|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Returns the Token type of the identifier token\nlet (|CharacterTok|_|) = (|Character|_|) charList\n\nlet (|MatchLang|_|) = function\n | RegexMatch \"(p|P)ython\" _ -> Some Python | RegexMatch \"F#|fsharp|f#\" _ -> Some FSharp\n | RegexMatch \"(C|c)(\\\\+\\\\+|pp)\" _ -> Some CPP | RegexMatch \"C|c\" _ -> Some C | _ -> Some Empty\n\nlet (|InList|_|) lst el =\n match List.exists ((=) el) lst with\n | true -> Some el\n | _ -> None\n\nlet (|HTMLStartTag|_|) = (|RegexMatch|_|) \"^<([a-zA-Z]+)\\\\s*.*?>\"\n\nlet (|HTMLEndTag|_|) = (|RegexMatch|_|) \"^<\\\\/([a-zA-Z]+)\\\\s*.*?>\"\n\nlet (|HTMLSingleton|_|) = function\n | RegexMatch \"^<([a-zA-Z]+)\\\\s*.*?(?:\\\\/>|>)\" (s, [InList htmlSingleton g], r) ->\n Some (s, r)\n | _ -> None\n\nlet (|CodeBlockStart|_|) = (|GroupMatch|_|) \"^```+\\\\s*([a-zA-Z0-9+\\\\-_]*)\"\n\n/// Returns the next Token of a string\nlet nextToken state s =\n match s, state with\n | EscapedCharTok n, _ -> n, state\n | HTMLSingleton (s, r), Normal ->\n (LITERAL s, r), Normal\n | HTMLStartTag (s, [t], r), Normal ->\n (LITERAL s, r), InHTMLTag (t, 1)\n | HTMLStartTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n (LITERAL s, r), InHTMLTag (tag, d+1)\n else\n (LITERAL s, r), InHTMLTag (tag, d)\n | HTMLEndTag (s, [t], r), InHTMLTag (tag, d) ->\n if t = tag then\n if d = 1 then (LITERAL s, r), Normal\n else (LITERAL s, r), InHTMLTag (tag, d-1)\n else (LITERAL s, r), InHTMLTag (tag, d)\n | RegexMatch \"^.+?(?=<)\" (s, _, r), InHTMLTag (t, d) ->\n (LITERAL s, r), InHTMLTag (t, d)\n | RegexMatch \"^.*\" (s, _, r), InHTMLTag (t, d) ->\n (LITERAL s, r), InHTMLTag (t, d)\n | CharacterTok n, _ -> n, state\n | RegexMatch @\"^\\s+\" (m, _, s), _ ->\n (replaceChars \"\\t\" \" \" m \n |> String.length |> WHITESPACE, s), state\n | RegexMatch \"^[0-9]+\" (m, _, s), _->\n (NUMBER m, s), state\n | RegexMatch (literalString charList) (m, _, s), _ ->\n (LITERAL m, s), state\n | s, _ ->\n sprintf \"Unrecognised character: %A\" s |> globLog.Warn None\n (toString s.[0] |> LITERAL, (sOnwards 1 s)), state\n\n/// Lexes a whole string and returns the result as a Token list\nlet lexS state source =\n let rec lexS' state s tokList =\n match s, state with\n | \"\", InHTMLTag _ -> tokList\n | \"\", _ -> ENDLINE :: tokList\n | _ ->\n let (nt, st'), nstate = nextToken state s\n nt :: tokList |> lexS' nstate st'\n match source, state with\n | CodeBlockStart (MatchLang lang), Normal ->\n [], InCodeBlock (\"\", lang)\n | RegexMatch \"^```+\" _, InCodeBlock (s, lang) ->\n [CODEBLOCK (s, lang); ENDLINE], Normal\n | _, InCodeBlock (s, lang) ->\n [], InCodeBlock (s+source+\"\\n\", lang)\n | RegexMatch @\"^\\s*$\" _, _ ->\n [ENDLINE], state\n | _ ->\n lexS' state source [] |> List.rev, state\n\n/// Return the correct token if it is not close properly at the end\nlet returnTokens = function\n | _, InCodeBlock (s, l) ->\n [CODEBLOCK (s, l); ENDLINE]\n | tok, InHTMLTag (str, _) ->\n tok @ [LITERAL str; ENDLINE]\n | tok, _ ->\n tok\n\n/// Lex a single string\nlet lex s =\n lexS Normal s |> returnTokens\n\n/// Lexes a list of strings and returns the Token list\nlet lexList strl =\n let f (flist, state) nstr =\n let (lst, st) = lexS state nstr\n flist @ lst, st\n List.fold f ([], Normal) strl |> returnTokens\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Lexer.fs","module Preprocessor\n\nopen FileIO\nopen Shared\nopen LexerShared\n\n// --------------------------------------------------\n// Tokenizer\n// --------------------------------------------------\n\n/// Token type for the preprocessor macros\ntype Token =\n | LITERAL of string\n | MACRO | OPENDEF | CLOSEDEF | OPENEVAL | CLOSEEVAL | LBRA | RBRA\n | SEMICOLON | ENDLINE | BSLASH | INCLUDE\n\n/// Character list for the preprocessor\nlet charList = [\"{%\", OPENDEF; \"%}\", CLOSEDEF; \"{{\", OPENEVAL\n \"}}\", CLOSEEVAL; \"(\", LBRA; \")\", RBRA; \";\", SEMICOLON;\n \"\\\\\", BSLASH]\n\nlet keywordList = [\"macro\", MACRO; \"include\", INCLUDE]\n\n/// Check if a LITERAL is exclusively whitespace \nlet (|WhiteSpace|NonWhiteSpace|) = function\n | LITERAL (RegexMatch @\"^\\s*$\" _) -> WhiteSpace\n | _ -> NonWhiteSpace\n\n/// Matches all the escapable characters that are defined in charList\nlet (|EscapedCharParse|_|) = (|EscapedChar|_|) LITERAL charList\n\n/// Matches all the special characters that are defined in charList\nlet (|CharacterParse|_|) = (|Character|_|) charList\n\nlet (|KeywordParse|_|) = (|Character|_|) keywordList\n\n/// Converts a token list to a string\nlet tokToString tList =\n let tokString st = function\n | LITERAL l -> st+l\n | t ->\n match charList @ keywordList |> listTryFind t with\n | Some s -> st+s\n | _ -> st\n List.fold tokString \"\" tList\n\n/// Retrieves the next token from a string and returns it, together\n/// with the rest of the string\nlet nextToken str =\n let literalMatch = charList |> literalString\n match str with\n | EscapedCharParse n | CharacterParse n | KeywordParse n ->\n n\n | RegexMatch @\"^\\s+\" (m, _, r) ->\n LITERAL m, r\n | RegexMatch literalMatch (m, _, r) ->\n LITERAL m, r\n | _ ->\n toString str.[0] |> LITERAL, str.[1..]\n\n/// Tokenizes a string and return it as a list of tokens\nlet tokenize str =\n let rec pTokenize' tList str =\n match str with\n | \"\" ->\n ENDLINE :: tList\n | _ ->\n let t, r = nextToken str\n pTokenize' (t :: tList) r\n pTokenize' [] str |> List.rev\n\n/// Tokenizes a list of strings and returns them as a single list of tokens\nlet tokenizeList = List.collect tokenize\n\n// --------------------------------------------------\n// Parser\n// --------------------------------------------------\n\n/// ArgumentList used in the substitution\ntype Argument<'T> = 'T list\n\n/// Type for a macro\ntype Macro<'T> = {Name: string; Args: string list; Body: 'T list}\n\n/// Type for a substitution\ntype Sub<'T> = {Name: string; Args: Argument<'T> list; Raw: string}\n\n/// Type of the parser elements\ntype Parser =\n | MacroDefinition of Macro<Parser>\n | MacroSubstitution of Sub<Parser>\n | IncludeStatement of link: string\n | ParseText of content: string\n | ParseNewLine\n\n/// Return a parser list until it reaches the token\nlet findParseUntil otok ctok parser =\n let rec findParseUntil' count parser retlist =\n match parser with\n | t :: tl when t = ctok && count = 1 ->\n Some (retlist |> List.rev, tl)\n | t :: tl when t = ctok ->\n t :: retlist |> findParseUntil' (count - 1) tl\n | t :: tl when t = otok ->\n t :: retlist |> findParseUntil' (count + 1) tl\n | t :: tl ->\n t :: retlist |> findParseUntil' count tl\n | [] -> None\n findParseUntil' 1 parser []\n\n/// Splits a list on a specific element\nlet splitList esctok cltok tok list =\n let rec splitList' curr final list =\n match list with\n | a :: tl when a = esctok ->\n match findParseUntil esctok cltok tl with\n | Some (l, tl) ->\n splitList' (CLOSEEVAL :: (List.rev (a :: l)) @ curr) final tl\n | _ ->\n splitList' (a :: curr) final tl\n | a :: tl when a = tok ->\n splitList' [] (List.rev curr :: final) tl\n | a :: tl ->\n splitList' (a :: curr) final tl\n | [] ->\n List.rev curr :: final |> List.rev\n splitList' [] [] list\n\nlet splitListEval = splitList OPENEVAL CLOSEEVAL SEMICOLON\n\n/// Strips whitespace from a token list\nlet stripWhiteSpace = function\n | WhiteSpace :: tl | tl ->\n match List.rev tl with\n | WhiteSpace :: tl | tl ->\n List.rev tl\n\n/// Returns if the start of the list of tokens matches a keyword\nlet (|KeyWord|_|) =\n let listCheckExists t list =\n list\n |> List.map (fun (_, c) -> c)\n |> List.exists ((=) t)\n function\n | WhiteSpace :: a :: tl | a :: tl ->\n match listCheckExists a keywordList with\n | true -> Some (a, tl)\n | _ -> None\n | _ -> None\n\n/// Checks if the Token list matches an argument list, which could be one of the\n/// following:\n/// (arg1; arg2)\n/// (arg 1; arg 2)\n/// (arg1)\n/// ()\nlet (|ParamList|_|) =\n /// Matches if there is a list of literals, and returns all of them until it reaches\n /// a Token that is not a literal\n let rec (|NameList|_|) = function\n | LITERAL n :: NameList (nList, r) ->\n Some (n :: nList, r)\n | LITERAL n :: r ->\n Some ([n], r)\n | _ -> None\n\n /// Matches a semicolon separated list of Literal lists\n let rec (|ParamList|_|) = function\n | WhiteSpace :: tl | tl ->\n match tl with\n | NameList (n, SEMICOLON :: ParamList (lst, r)) ->\n Some (List.fold (+) \"\" n :: lst, r)\n | NameList (n, r) ->\n Some ([List.fold (+) \"\" n], r)\n | _ ->\n Some ([], tl)\n function\n | WhiteSpace :: tl | tl ->\n match tl with\n | LBRA :: ParamList (nl, RBRA :: tl) ->\n Some (nl, tl)\n | _ -> None\n\nlet (|ArgList|_|) = function\n WhiteSpace :: tl | tl ->\n match tl with\n | LBRA :: tl ->\n match findParseUntil LBRA RBRA tl with\n | Some (p, tl) ->\n Some (splitListEval p |> List.map stripWhiteSpace, tl)\n | _ -> None\n | WhiteSpace :: tl ->\n Some ([], tl)\n | _ -> None\n\n/// Matches a literal, which will be the name of the function, which can be followed by\n/// an argument list\nlet (|Function|_|) = function\n | WhiteSpace :: LITERAL n :: tl ->\n match tl with\n | ParamList (nl, WhiteSpace :: tl)\n | ParamList (nl, tl) ->\n Some (n, nl, tl)\n | WhiteSpace :: t\n | t ->\n Some (n, [], t)\n | _ -> None\n\n/// Matches the start syntax for a macro, the closing CLOSEDEF can be on a differen line and\n/// after a Parse list, so that is matched in the parse function\nlet (|MacroDef|_|) = function\n | OPENDEF :: KeyWord (MACRO, Function f) ->\n Some f\n | _ -> None\n\n/// Matches an evaluation of a macro\nlet (|EvalDef|_|) = function\n | OPENEVAL :: WhiteSpace :: tl | OPENEVAL :: tl ->\n match tl with\n | LITERAL n :: ArgList (nl, WhiteSpace :: CLOSEEVAL :: tl)\n | LITERAL n :: ArgList (nl, CLOSEEVAL :: tl) ->\n Some (n, nl, tl)\n | LITERAL n :: WhiteSpace :: CLOSEEVAL :: tl\n | LITERAL n :: CLOSEEVAL :: tl ->\n Some (n, [], tl)\n | _ -> None\n | _ -> None\n\n/// Matches a special character or keyword\nlet (|SChar|_|) tok =\n charList @ keywordList\n |> List.map invTuple\n |> Map.ofList\n |> mapTryFind tok\n\n/// Include statement match\nlet (|Include|_|) = function\n | OPENEVAL :: WhiteSpace :: tl | OPENEVAL :: tl ->\n match tl with\n | INCLUDE :: WhiteSpace :: LITERAL link :: WhiteSpace :: CLOSEEVAL :: tl\n | INCLUDE :: WhiteSpace :: LITERAL link :: CLOSEEVAL :: tl -> Some (link, tl)\n | _ -> None\n | _ -> None\n\n/// Parses a Token list into a Parser list\nlet parse tList =\n\n /// Returns the raw token list for a macro evaluation\n let getRaw list =\n let rec getRaw' list curr =\n match list with\n | CLOSEEVAL :: _ ->\n CLOSEEVAL :: curr\n | a :: tl ->\n a :: curr |> getRaw' tl\n | _ ->\n curr\n getRaw' list [] |> List.rev\n\n /// The recursive part of the parser, which build the Parser list\n let rec parse' endToken tList pList =\n let pRec f c tl = f c :: pList |> parse' endToken tl\n let recText = pRec ParseText\n match tList, endToken with\n | MacroDef (a, b, tl), _ ->\n let p, tl' = parse' (Some CLOSEDEF) tl []\n pRec MacroDefinition {Name=a; Args=b; Body=List.rev p} tl'\n | EvalDef (n, args, tl), _ ->\n let args' = List.map ((fun a -> parse' None a []) >> (fun (a, _) -> List.rev a)) args\n pRec MacroSubstitution {Name=n; Args=args'; Raw=getRaw tList |> tokToString} tl\n | Include (link, tl), _ ->\n pRec IncludeStatement link tl\n | ENDLINE :: tl, _ ->\n pRec id ParseNewLine tl\n | WhiteSpace :: a :: tl, Some e | a :: tl, Some e when e = a ->\n match tl with\n | WhiteSpace :: ENDLINE :: b\n | WhiteSpace :: b\n | ENDLINE :: b\n | b ->\n pList, b\n | LITERAL f :: tl, _ ->\n recText f tl\n | SChar c :: tl, _ ->\n recText c tl\n | _ -> pList, []\n let p, _ = parse' None tList []\n List.rev p\n\n// --------------------------------------------------\n// Evaluation\n// --------------------------------------------------\n\n/// Evaluates and strips macros from the markdown, and also evaluates macro substitutions\n/// by seeing which macros are in scope or if the substitution is a parameter.\n/// This supports shadowing of previously defined macros, and scopes can be defined\n/// by declaring a macro inside another macro\nlet evaluateWithDir fileDir pList =\n\n /// Makes an empty parmeter list for the current parameters, so that they\n /// are not substituted\n let makeEmptyParam args: Map<string, Argument<Parser> option> =\n List.replicate (List.length args) None\n |> List.zip args\n |> Map.ofList\n\n /// Add a parameter to a parameter map\n let addParam p (macro: Macro<Parser>) args =\n List.zip macro.Args args\n |> List.fold (fun (s: Map<string, Argument<Parser> option>) (a, b) -> s.Add(a, Some b)) p\n\n /// Make a Macro record type\n let makeMacro n args p =\n {Name = n; Args = args; Body = p}\n\n /// Adds an element to a map with key k and value v\n let mapAdd (map: Map<'a, 'b>) k v =\n map.Add(k, v)\n\n /// Evaluates and creates a new simplified Parser list with all the macros stripped\n /// and substitutions evaluated\n let rec evaluate' pList newPList param (scope: Map<string, Macro<Parser>>) =\n\n /// Function for use with different currying that the original\n let evaluateInv' pList newPList scope param =\n evaluate' pList newPList param scope\n\n /// Evaluate without adding any values to the param or scope maps\n let evaluate'' pList list =\n evaluate' pList (list @ newPList) param scope\n\n match pList with\n | MacroDefinition {Name=n; Args=args; Body=p} :: tl ->\n makeEmptyParam args\n |> evaluateInv' p [] scope\n |> makeMacro n args\n |> mapAdd scope n\n |> evaluate' tl newPList param\n | MacroSubstitution {Name=n; Args=args; Raw=raw} as ms :: tl ->\n let eval =\n match param.TryFind n with\n | Some (Some x) ->\n evaluate' x [] param scope |> List.rev\n | Some _ ->\n [ms]\n | _ ->\n match scope.TryFind n with\n | Some m when List.isEmpty args ->\n m.Body\n | Some m ->\n addParam param m args\n |> evaluateInv' m.Body [] scope\n |> List.rev\n | _ ->\n [ParseText raw]\n evaluate'' tl eval\n | IncludeStatement link :: tl ->\n let addDir str =\n match str with\n | RegexMatch \"^\\\\/\" _ -> str\n | _ -> fileDir + str\n addDir link\n |> readFilePath\n |> tokenizeList\n |> parse\n |> (fun a -> evaluate' (a @ tl) newPList param scope)\n | p :: tl ->\n evaluate'' tl [p]\n | _ -> newPList\n evaluate' pList [] Map.empty<string, Argument<Parser> option> Map.empty<string, Macro<Parser>>\n |> List.rev\n\nlet evaluate = evaluateWithDir \"\"\n\n/// Converts a Parser list to a string\nlet parserToString pList =\n List.fold (fun st -> function\n | ParseText x -> st+x\n | ParseNewLine -> st+\"\\n\"\n | _ -> st) \"\" pList\n\n/// Converts a Parser list to a list of strings without any newlines\nlet toStringList pList =\n let f st n =\n match st, n with\n | _, ParseNewLine ->\n \"\" :: st\n | a :: b, ParseText t ->\n a+t :: b\n | _, ParseText t ->\n [t]\n | _ -> st\n List.fold f [] pList |> List.rev\n\n/// perform the parsing, evaluation, while stripping the last endline which is redundant\n/// as it was added by the tokenizer\nlet pETS dir =\n let stripLastEndline l =\n match List.rev l with\n | [ParseNewLine] as e -> e\n | ParseNewLine :: r -> List.rev r\n | _ -> l\n parse >> evaluateWithDir dir >> stripLastEndline\n\n// --------------------------------------------------\n// Public API\n//--------------------------------------------------\n\n/// Preprocess a string and output a string with the macro evaluated\nlet preprocess =\n tokenize >> pETS \"\" >> parserToString\n\nlet preprocessWithDir dir =\n tokenize >> pETS dir >> parserToString\n\n/// Preprocess a list of strings which is returned as a list of strings with the\n/// macro evaluated\nlet preprocessList =\n List.collect tokenize >> pETS \"\" >> toStringList\n\nlet preprocessListWithDir dir =\n List.collect tokenize >> pETS dir >> toStringList\n\n\n\n// WEBPACK FOOTER //\n// src/Common/Lexer/Preprocessor.fs","module FileIO\n\nopen Fable.Import.Node.Exports\n\nlet writeToFile str path =\n let errorHandler _err = () // Ignore all errors\n fs.writeFile(path, str, errorHandler)\n\nlet splitString (s:string) =\n s.Split(\"\\n\") |> Array.toList\n\nlet checkExists (path:string) =\n fs.existsSync(Fable.Core.U2.Case1 path)\nlet readFilePath path =\n path \n |> checkExists\n |> function\n | true ->\n fs.readFileSync(path,()) \n |> (fun s -> s.toString ())\n |> splitString\n | false -> path |> splitString\n\n\n\n\n// WEBPACK FOOTER //\n// src/Common/FableFileIO.fs","module.exports = require(\"fs\");\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"fs\"\n// module id = 37\n// module chunks = 0","module MarkdownGen\n// MarkdownGen is only used for some property-based testing and is not ready for use for anything else.\n\nopen Types\nopen Shared\nopen Logger\n\n\n// return string surrounded by pat\nlet surround pat str =\n let pat2 = match pat with\n | \"(\" -> \")\"\n | \"[\" -> \"]\"\n | \"{\" -> \"}\"\n | _ -> pat\n sprintf \"%s%s%s\" pat str pat2\n\n/// convert TFrmtedString to string\nlet rec mdFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> surround \"`\" str\n | Strong a -> mdInlineElements a |> surround \"**\"\n | Emphasis e -> mdInlineElements e |> surround \"*\"\n | Line l -> mdInlineElements l\n | Strike s -> mdInlineElements s |> surround \"~~\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand mdInlineElements' b eles =\n let braSurround = surround \"(\"\n let sbraSurround = surround \"[\"\n let convertMd pStr ele =\n pStr +\n match ele with\n | FrmtedString fStr -> mdFStr fStr\n | Link (ht, url) -> (mdFStr ht |> sbraSurround) + (url |> braSurround)\n | Picture (alt, url) -> (alt |> sbraSurround |> sprintf \"!%s\" ) + (url |> braSurround)\n | InlineCitation (ht, _)\n | InlineFootnote (ht, _) -> (\"^\" + mdFStr ht) |> sbraSurround\n List.fold convertMd (sprintf \"%s\" b) eles\nand mdInlineElements = mdInlineElements' \"\"\n\n/// process Markdown paragraph\nlet mdParagraph lines =\n let folder pLinesStr line =\n pLinesStr + mdInlineElements line\n List.fold folder \"\" lines\n + \"\\n\\n\"\n\n/// process Markdown Table\nlet mdTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells alignRow row =\n let cellsFolder alignRow pStr cell =\n match cell with\n | CellLine(line, _, align) ->\n match alignRow with\n | true ->\n match align with\n | Centre -> \":---:\"\n | Right -> \"---:\"\n | Left -> \":---\"\n | NoAlign -> \"---\"\n | false ->\n mdInlineElements line\n |> (fun cellContent -> pStr + cellContent + \"|\")\n\n List.fold (cellsFolder alignRow) \"|\" row\n\n let foldRows alignRow rows =\n let rowsFolder alignRow pStr row =\n pStr + (foldCells alignRow) row + \"\\n\"\n List.fold (rowsFolder alignRow) \"\" rows\n let foldNormalRows = foldRows false\n let foldAlignRow = foldCells true\n foldNormalRows headerRows\n + (headerRows |> List.head |> foldAlignRow)\n + foldNormalRows bodyRows + \"\\n\\n\"\n\n/// recursively process a list\nlet rec mdList list =\n let mdListItem ord tab (pStr,pCount) li =\n let makeTabs num =\n if num <= 0 then \"\" else String.replicate num \"\\t\"\n let retFold s = pStr + s, pCount + 1\n match li with\n | StringItem(line) -> mdInlineElements line |> (fun s ->\n match ord,s with\n | _,\"\" -> \"\"\n | true,_ ->\n sprintf \"%s%i. %s\\n\" (makeTabs tab) pCount s\n |> logPassN globLog.Debug\n | false,_ ->\n sprintf \"%s- %s\\n\" (makeTabs tab) s) |> retFold\n | NestedList(list) -> mdList list |> retFold\n\n match list with\n | {ListType=lt; ListItem=liS; Depth=d} ->\n let ord = match lt with | OL _ -> true | UL -> false\n List.fold (mdListItem ord (d-1)) (\"\",1) liS\n |> fst\n\n/// process header\nlet mdHeader header =\n match header with\n | {HeaderName=line;Level=lv} ->\n (line |> mdInlineElements)\n |> sprintf \"%s %s\\n\" (String.replicate lv \"#\")\n\n/// process HTML body part\nlet mdBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> mdParagraph p\n | Quote q -> mdInlineElements' \">\" q\n | CodeBlock (c, l) -> surround \"```\" (mapLang l + \"\\n\" + c + \"\\n\")\n | Table rows -> mdTable rows\n | List l -> mdList l |> sprintf \"%s\\n\"\n | Header h -> mdHeader h //#### DO SOMETHING WITH STRING HERE\n //| Footnote (fnId, _) -> mdInlineFootnote fnId\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n\n// WEBPACK FOOTER //\n// src/Common/MarkdownGen/MarkdownGen.fs","module HTMLGen\n\nopen Types\nopen Shared\nopen Logger\nopen HTMLGenHelpers\n\n/// convert TFrmtedString to string, with HTML tags where necessary\nlet rec strFStr fStr =\n match fStr with\n | Literal str -> str\n | Code str -> str |> attachSimpleTag \"code\"\n | Strong a -> strInlineElements a |> attachSimpleTag \"strong\"\n | Emphasis e -> strInlineElements e |> attachSimpleTag \"em\"\n | Line l -> strInlineElements l\n | Strike l -> strInlineElements l |> attachSimpleTag \"del\"\n\n/// convert InlineElement list to string, with HTML tags where necessary\n/// not tail recursive because the code looks cleaner this way\nand strInlineElements eles =\n let convertHtml pStr ele =\n let refPrint foot (ht,id) = \n ht\n |> strFStr\n |> attachHTMLTag (\"a\", [(\"href\", \"#\"+id)], true)\n |> (fun r -> if foot then attachSimpleTag \"sup\" r else r) \n pStr +\n match ele with\n | FrmtedString fStr -> strFStr fStr\n | Link (ht, url) -> strFStr ht |> attachHTMLTag (\"a\", [(\"href\", url)], true)\n | Picture (alt, url) ->\n let attrs = [(\"src\", url); (\"alt\", alt)]\n attachHTMLTag (\"img\", attrs, false) \"\"\n // style for inline referencing the footnotes and citations in the end\n | InlineCitation (ht, id) -> refPrint false (ht,id)\n | InlineFootnote (ht, id) -> refPrint true (ht,id)\n List.fold convertHtml \"\" eles\n\n/// process Markdown paragraph\nlet strParagraph lines =\n let folder pLinesStr line =\n pLinesStr + strInlineElements line + NewLineStr\n List.fold folder \"\" lines\n |> (fun x -> x.Trim()) // remove leading and trailing whitespaces and CRLFs\n |> attachSimpleTag \"p\"\n\n\n/// process Markdown Table\nlet strTable (rows: PRow list) =\n // filter out table header\n let containHeader (row: PRow) =\n //let PCells(_, isHeader) = row\n match row with\n | PCells(_, isHeader) ->\n isHeader\n let takeoutCells = List.map (fun pRow -> match pRow with | PCells(cells,_) -> cells)\n let headerRows = List.filter (containHeader) rows |> takeoutCells\n let bodyRows = List.filter (containHeader >> not) rows |> takeoutCells\n let foldCells row =\n let cellsFolder pStr cell =\n match cell with\n | CellLine(line, isHeader, align) ->\n let tagName = if isHeader then \"th\" else \"td\"\n let cellContent = strInlineElements line\n let alignAttr =\n match align with\n | Centre -> (\"align\", \"center\")\n | Right -> (\"align\", \"right\")\n | Left -> (\"align\", \"left\")\n | NoAlign -> (\"\",\"\")\n pStr + attachHTMLTag (tagName, [alignAttr], true) cellContent\n List.fold cellsFolder \"\" row\n let foldRows rows =\n let rowsFolder pStr row =\n foldCells row\n |> attachSimpleTag \"tr\"\n |> fun s -> pStr + s\n List.fold rowsFolder \"\" rows\n foldRows headerRows |> attachSimpleTag \"thead\"\n |> fun s ->\n s + (foldRows bodyRows |> attachSimpleTag \"tbody\")\n |> attachSimpleTag \"table\"\n\n\n/// recursively process a list\nlet rec strList list =\n let strListItem pStr li =\n pStr + (\n match li with\n | StringItem(line) -> strInlineElements line |> attachSimpleTag \"li\"\n | NestedList(list) -> strList list\n )\n match list with\n | {ListType=lt; ListItem=liS} ->\n match lt with\n | UL ->\n List.fold strListItem \"\" liS\n |> attachSimpleTag \"ul\"\n | OL startNo ->\n List.fold strListItem \"\" liS\n |> attachHTMLTag (\"ol\", [\"start\", startNo|>string], true)\n \n\n/// process header\nlet strHeader header =\n match header with\n | {HeaderName=line;Level=lv; RefID=id} ->\n let tagName = \"h\" + string(lv)\n line\n |> strInlineElements\n |> attachHTMLTag (tagName, [\"id\", id], true)\n\n/// process references\n/// id: the href id used in inline referencing\n/// content: of TLine type, to be displayed at the end of HTML doc\nlet strRef (id, content) =\n \"[\"+id+\"] \" + strInlineElements content\n |> attachHTMLTag (\"p\", [\"id\", id], true)\n\nlet (|MatchHeaderAndSubHeader|_|) hds =\n match hds with\n | fstHd::sndHd::_ ->\n let {Level=fstLv} = fstHd\n let {Level=sndLv} =sndHd\n if sndLv > fstLv then (List.head hds, List.tail hds) |> Some else None\n | _ -> None\n\n/// process table of contents\n\nlet strToC (toc: Ttoc) =\n let excludeSelfSkip x = match x with | None -> None | Some 1 -> None | Some n -> Some (n-1)\n /// get all list items in current item level and sub lists\n let rec getCurrentHeaders currentLv hdListItems headers =\n match headers with\n | header:: reHeaders ->\n match header.Level with\n | hdLv when currentLv <= hdLv -> // list item and sub list item\n getCurrentHeaders currentLv (header::hdListItems) reHeaders\n | _ -> hdListItems |> List.rev\n | [] -> hdListItems |> List.rev\n\n let rec parseHdsIntoList level (headers: THeader list) =\n let depth = (List.head headers).Level\n let headerFolder (currentLv, listItems, (skipNo: int option), currentHdNo) header =\n match skipNo with\n | None ->\n match header.Level with\n | hdLv when hdLv=currentLv ->\n (currentLv, StringItem(header.HeaderName)::listItems, None, currentHdNo+1)\n | hdLv when hdLv>currentLv ->\n let (listItem, skip) =\n xOnwards currentHdNo headers\n |> getCurrentHeaders (currentLv+1) []\n |> parseHdsIntoList (currentLv+1)\n (currentLv, NestedList(listItem)::listItems, skip |> excludeSelfSkip, currentHdNo+1)\n | _ -> failwith \"list item level < current level, not possible\"\n | Some skip ->\n match skip with\n | 1 -> (currentLv, listItems, None, currentHdNo+1)\n | n when n>1 -> (currentLv, listItems, Some (n-1), currentHdNo+1)\n | _ -> failwith \"negative or zero skip number, not possible\"\n List.fold headerFolder (level, [], None, 0) headers\n |> (fun (_, lis, _, _) ->\n let doSkip =\n match List.length headers with\n | 0 -> None\n | n -> Some n\n {ListType=OL 1; ListItem=lis |> List.rev; Depth=depth}, doSkip)\n toc.HeaderLst\n |> parseHdsIntoList 1\n |> fst\n |> strList\n\n/// process HTML body part\nlet strBody pObjs =\n let folder pStr pObj =\n pStr +\n match pObj with\n | Paragraph p -> strParagraph p\n | Quote q -> strInlineElements q |> attachSimpleTag \"q\"\n | CodeBlock (c, l) -> attachHTMLTag (\"code\", [(\"language\", mapLang l)], true) c\n | Table rows -> strTable rows\n | List l -> strList l\n | Header h -> strHeader h\n | Footnote (i,s) -> strRef ((string i), s)\n | Citation (i,_,s) -> strRef (i, s)\n | ContentTable toc -> strToC toc\n | _ -> sprintf \"%A is not implemented\" pObj\n List.fold folder \"\" pObjs\n\n\n/// generate HTML head\nlet genHead htmlTitle =\n let metaData =\n [\n [(\"name\", \"viewport\");(\"content\", \"width=device-width\")]\n ]\n let genMetadata pStr md =\n pStr + attachMetaTag \"meta\" md\n List.fold genMetadata \"\" metaData\n + attachSimpleTag \"title\" htmlTitle\n \n |> attachSimpleTag \"head\"\n\n/// generate HTML body\nlet genBody (pObjs) =\n strBody pObjs\n // insert javascript in the end of HTML doc to make page rendering faster\n +\n attachHTMLTag (\"script\",\n [\n (\"type\", \"text/javascript\");\n (\"async\", \"\");\n (\"src\", \"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/MathJax.js?config=TeX-MML-AM_CHTML\")\n ], true) \"\"\n |> attachSimpleTag \"body\"\n\n\n/// top level HTMLGen\nlet genHTML (htmlTitle, pObjs) =\n attachMetaTag \"!DOCTYPE\" [\"html\", \"\"]\n + genHead htmlTitle\n + genBody (pObjs)\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGen.fs","module HTMLGenHelpers\n\nopen Types\n\ntype TagStyle = INLINE | NonInline of indentStr: string\n\n[<Literal>]\nlet NewLineStr = \"\\r\\n\"\n\n/// concat attributeName and value\n/// with quotes\nlet toAttr attributeName value =\n attributeName + \"=\\\"\" + value + \"\\\"\"\n\n/// convert (attributeName, value) list to string list\n/// ready for inserting into HTML tag\nlet toAttrs attrs =\n let mapper attr =\n match attr with | (attrName, value) -> toAttr attrName value\n List.map mapper attrs\n\n/// atach HTML tag to a given string, both start and end tag\n/// inline style does not insert newline after start tag and before end tag\n/// non-inline style will have indent set to desired string\nlet attachHTMLTag (tagName, attributes: list<string * string>, needCloseTag) (content: string) =\n let attrStr =\n match List.isEmpty attributes with\n | true -> \"\"\n | false ->\n let attrFolder pStr attrNameValue =\n pStr +\n match attrNameValue with\n | (\"\",\"\") -> \"\"\n | (attrName, value) ->\n \" \" + // space before attribute\n if value = \"\" then attrName\n else attrName + \"=\\\"\" + value + \"\\\"\"\n List.fold attrFolder \"\" attributes\n \"<\" + tagName + attrStr + \">\"\n + content\n + if needCloseTag then \"</\" + tagName + \">\" else \"\"\n\n/// attach (tagName,noAttr,closeTag)\nlet attachSimpleTag tagName = attachHTMLTag (tagName,[],true)\n\nlet attachMetaTag tagName attrs = attachHTMLTag (tagName,attrs,false) \"\"\n\n\n\n// WEBPACK FOOTER //\n// src/Common/HTMLGen/HTMLGenHelpers.fs"],"sourceRoot":""} \ No newline at end of file
diff --git a/FMark/yarn.lock b/FMark/yarn.lock
index 0b44586..064004c 100644
--- a/FMark/yarn.lock
+++ b/FMark/yarn.lock
@@ -5,28 +5,34 @@
abbrev@1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
+ integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
acorn-dynamic-import@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4"
+ integrity sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=
dependencies:
acorn "^4.0.3"
acorn@^4.0.3:
version "4.0.13"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
+ integrity sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=
acorn@^5.0.0:
- version "5.7.2"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.2.tgz#91fa871883485d06708800318404e72bfb26dcc5"
+ version "5.7.3"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279"
+ integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==
ajv-keywords@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
+ integrity sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=
ajv@^5.1.5:
version "5.5.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ integrity sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=
dependencies:
co "^4.6.0"
fast-deep-equal "^1.0.0"
@@ -36,6 +42,7 @@ ajv@^5.1.5:
align-text@^0.1.1, align-text@^0.1.3:
version "0.1.4"
resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
+ integrity sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=
dependencies:
kind-of "^3.0.2"
longest "^1.0.1"
@@ -44,18 +51,22 @@ align-text@^0.1.1, align-text@^0.1.3:
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
ansi-regex@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
+ integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
ansi-styles@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=
anymatch@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
dependencies:
micromatch "^3.1.4"
normalize-path "^2.1.1"
@@ -63,10 +74,12 @@ anymatch@^2.0.0:
aproba@^1.0.3:
version "1.2.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
are-we-there-yet@~1.1.2:
version "1.1.5"
resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21"
+ integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==
dependencies:
delegates "^1.0.0"
readable-stream "^2.0.6"
@@ -74,22 +87,27 @@ are-we-there-yet@~1.1.2:
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=
arr-flatten@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
arr-union@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=
asn1.js@^4.0.0:
version "4.10.1"
resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
dependencies:
bn.js "^4.0.0"
inherits "^2.0.1"
@@ -98,30 +116,36 @@ asn1.js@^4.0.0:
assert@^1.1.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
+ integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=
dependencies:
util "0.10.3"
assign-symbols@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
async-each@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
+ integrity sha1-GdOGodntxufByF04iu28xW0zYC0=
async@^2.1.2:
version "2.6.1"
resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610"
+ integrity sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==
dependencies:
lodash "^4.17.10"
atob@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
babel-code-frame@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=
dependencies:
chalk "^1.1.3"
esutils "^2.0.2"
@@ -130,6 +154,7 @@ babel-code-frame@^6.26.0:
babel-core@6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
+ integrity sha1-rzL3izGm/O8RnIew/Y2XU/A6C7g=
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
@@ -154,6 +179,7 @@ babel-core@6.26.0:
babel-core@^6.26.0:
version "6.26.3"
resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+ integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
dependencies:
babel-code-frame "^6.26.0"
babel-generator "^6.26.0"
@@ -178,6 +204,7 @@ babel-core@^6.26.0:
babel-generator@^6.26.0:
version "6.26.1"
resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+ integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
dependencies:
babel-messages "^6.23.0"
babel-runtime "^6.26.0"
@@ -191,6 +218,7 @@ babel-generator@^6.26.0:
babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
+ integrity sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=
dependencies:
babel-helper-explode-assignable-expression "^6.24.1"
babel-runtime "^6.22.0"
@@ -199,6 +227,7 @@ babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
babel-helper-call-delegate@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
+ integrity sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
@@ -208,6 +237,7 @@ babel-helper-call-delegate@^6.24.1:
babel-helper-define-map@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
+ integrity sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.26.0"
@@ -217,6 +247,7 @@ babel-helper-define-map@^6.24.1:
babel-helper-explode-assignable-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
+ integrity sha1-8luCz33BBDPFX3BZLVdGQArCLKo=
dependencies:
babel-runtime "^6.22.0"
babel-traverse "^6.24.1"
@@ -225,6 +256,7 @@ babel-helper-explode-assignable-expression@^6.24.1:
babel-helper-function-name@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
+ integrity sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=
dependencies:
babel-helper-get-function-arity "^6.24.1"
babel-runtime "^6.22.0"
@@ -235,6 +267,7 @@ babel-helper-function-name@^6.24.1:
babel-helper-get-function-arity@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
+ integrity sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -242,6 +275,7 @@ babel-helper-get-function-arity@^6.24.1:
babel-helper-hoist-variables@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
+ integrity sha1-HssnaJydJVE+rbyZFKc/VAi+enY=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -249,6 +283,7 @@ babel-helper-hoist-variables@^6.24.1:
babel-helper-optimise-call-expression@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
+ integrity sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -256,6 +291,7 @@ babel-helper-optimise-call-expression@^6.24.1:
babel-helper-regex@^6.24.1:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
+ integrity sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=
dependencies:
babel-runtime "^6.26.0"
babel-types "^6.26.0"
@@ -264,6 +300,7 @@ babel-helper-regex@^6.24.1:
babel-helper-remap-async-to-generator@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
+ integrity sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
@@ -274,6 +311,7 @@ babel-helper-remap-async-to-generator@^6.24.1:
babel-helper-replace-supers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
+ integrity sha1-v22/5Dk40XNpohPKiov3S2qQqxo=
dependencies:
babel-helper-optimise-call-expression "^6.24.1"
babel-messages "^6.23.0"
@@ -285,6 +323,7 @@ babel-helper-replace-supers@^6.24.1:
babel-helpers@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ integrity sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
@@ -292,6 +331,7 @@ babel-helpers@^6.24.1:
babel-loader@7.1.2:
version "7.1.2"
resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-7.1.2.tgz#f6cbe122710f1aa2af4d881c6d5b54358ca24126"
+ integrity sha512-jRwlFbINAeyDStqK6Dd5YuY0k5YuzQUvlz2ZamuXrXmxav3pNqe9vfJ402+2G+OmlJSXxCOpB6Uz0INM7RQe2A==
dependencies:
find-cache-dir "^1.0.0"
loader-utils "^1.0.2"
@@ -300,30 +340,36 @@ babel-loader@7.1.2:
babel-messages@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-check-es2015-constants@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
+ integrity sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-syntax-async-functions@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
+ integrity sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=
babel-plugin-syntax-exponentiation-operator@^6.8.0:
version "6.13.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
+ integrity sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=
babel-plugin-syntax-trailing-function-commas@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
+ integrity sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=
babel-plugin-transform-async-to-generator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
+ integrity sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=
dependencies:
babel-helper-remap-async-to-generator "^6.24.1"
babel-plugin-syntax-async-functions "^6.8.0"
@@ -332,18 +378,21 @@ babel-plugin-transform-async-to-generator@^6.22.0:
babel-plugin-transform-es2015-arrow-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
+ integrity sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
+ integrity sha1-u8UbSflk1wy42OC5ToICRs46YUE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-block-scoping@^6.23.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
+ integrity sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=
dependencies:
babel-runtime "^6.26.0"
babel-template "^6.26.0"
@@ -354,6 +403,7 @@ babel-plugin-transform-es2015-block-scoping@^6.23.0:
babel-plugin-transform-es2015-classes@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
+ integrity sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=
dependencies:
babel-helper-define-map "^6.24.1"
babel-helper-function-name "^6.24.1"
@@ -368,6 +418,7 @@ babel-plugin-transform-es2015-classes@^6.23.0:
babel-plugin-transform-es2015-computed-properties@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
+ integrity sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=
dependencies:
babel-runtime "^6.22.0"
babel-template "^6.24.1"
@@ -375,12 +426,14 @@ babel-plugin-transform-es2015-computed-properties@^6.22.0:
babel-plugin-transform-es2015-destructuring@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
+ integrity sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
+ integrity sha1-c+s9MQypaePvnskcU3QabxV2Qj4=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -388,12 +441,14 @@ babel-plugin-transform-es2015-duplicate-keys@^6.22.0:
babel-plugin-transform-es2015-for-of@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
+ integrity sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-function-name@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
+ integrity sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=
dependencies:
babel-helper-function-name "^6.24.1"
babel-runtime "^6.22.0"
@@ -402,12 +457,14 @@ babel-plugin-transform-es2015-function-name@^6.22.0:
babel-plugin-transform-es2015-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
+ integrity sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015-modules-amd@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
+ integrity sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=
dependencies:
babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
babel-runtime "^6.22.0"
@@ -416,6 +473,7 @@ babel-plugin-transform-es2015-modules-amd@^6.22.0, babel-plugin-transform-es2015
babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
version "6.26.2"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
+ integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==
dependencies:
babel-plugin-transform-strict-mode "^6.24.1"
babel-runtime "^6.26.0"
@@ -425,6 +483,7 @@ babel-plugin-transform-es2015-modules-commonjs@^6.23.0, babel-plugin-transform-e
babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
+ integrity sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=
dependencies:
babel-helper-hoist-variables "^6.24.1"
babel-runtime "^6.22.0"
@@ -433,6 +492,7 @@ babel-plugin-transform-es2015-modules-systemjs@^6.23.0:
babel-plugin-transform-es2015-modules-umd@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
+ integrity sha1-rJl+YoXNGO1hdq22B9YCNErThGg=
dependencies:
babel-plugin-transform-es2015-modules-amd "^6.24.1"
babel-runtime "^6.22.0"
@@ -441,6 +501,7 @@ babel-plugin-transform-es2015-modules-umd@^6.23.0:
babel-plugin-transform-es2015-object-super@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
+ integrity sha1-JM72muIcuDp/hgPa0CH1cusnj40=
dependencies:
babel-helper-replace-supers "^6.24.1"
babel-runtime "^6.22.0"
@@ -448,6 +509,7 @@ babel-plugin-transform-es2015-object-super@^6.22.0:
babel-plugin-transform-es2015-parameters@^6.23.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
+ integrity sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=
dependencies:
babel-helper-call-delegate "^6.24.1"
babel-helper-get-function-arity "^6.24.1"
@@ -459,6 +521,7 @@ babel-plugin-transform-es2015-parameters@^6.23.0:
babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
+ integrity sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -466,12 +529,14 @@ babel-plugin-transform-es2015-shorthand-properties@^6.22.0:
babel-plugin-transform-es2015-spread@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
+ integrity sha1-1taKmfia7cRTbIGlQujdnxdG+NE=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-sticky-regex@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
+ integrity sha1-AMHNsaynERLN8M9hJsLta0V8zbw=
dependencies:
babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
@@ -480,18 +545,21 @@ babel-plugin-transform-es2015-sticky-regex@^6.22.0:
babel-plugin-transform-es2015-template-literals@^6.22.0:
version "6.22.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
+ integrity sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-typeof-symbol@^6.23.0:
version "6.23.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
+ integrity sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=
dependencies:
babel-runtime "^6.22.0"
babel-plugin-transform-es2015-unicode-regex@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
+ integrity sha1-04sS9C6nMj9yk4fxinxa4frrNek=
dependencies:
babel-helper-regex "^6.24.1"
babel-runtime "^6.22.0"
@@ -500,6 +568,7 @@ babel-plugin-transform-es2015-unicode-regex@^6.22.0:
babel-plugin-transform-exponentiation-operator@^6.22.0:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
+ integrity sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=
dependencies:
babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
babel-plugin-syntax-exponentiation-operator "^6.8.0"
@@ -508,12 +577,14 @@ babel-plugin-transform-exponentiation-operator@^6.22.0:
babel-plugin-transform-regenerator@^6.22.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
+ integrity sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=
dependencies:
regenerator-transform "^0.10.0"
babel-plugin-transform-strict-mode@^6.24.1:
version "6.24.1"
resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ integrity sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=
dependencies:
babel-runtime "^6.22.0"
babel-types "^6.24.1"
@@ -521,6 +592,7 @@ babel-plugin-transform-strict-mode@^6.24.1:
babel-preset-env@1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/babel-preset-env/-/babel-preset-env-1.6.1.tgz#a18b564cc9b9afdf4aae57ae3c1b0d99188e6f48"
+ integrity sha512-W6VIyA6Ch9ePMI7VptNn2wBM6dbG0eSz25HEiL40nQXCsXGTGZSTZu1Iap+cj3Q0S5a7T9+529l/5Bkvd+afNA==
dependencies:
babel-plugin-check-es2015-constants "^6.22.0"
babel-plugin-syntax-trailing-function-commas "^6.22.0"
@@ -556,6 +628,7 @@ babel-preset-env@1.6.1:
babel-register@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ integrity sha1-btAhFz4vy0htestFxgCahW9kcHE=
dependencies:
babel-core "^6.26.0"
babel-runtime "^6.26.0"
@@ -568,6 +641,7 @@ babel-register@^6.26.0:
babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4=
dependencies:
core-js "^2.4.0"
regenerator-runtime "^0.11.0"
@@ -575,6 +649,7 @@ babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
babel-template@^6.24.1, babel-template@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=
dependencies:
babel-runtime "^6.26.0"
babel-traverse "^6.26.0"
@@ -585,6 +660,7 @@ babel-template@^6.24.1, babel-template@^6.26.0:
babel-traverse@^6.24.1, babel-traverse@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=
dependencies:
babel-code-frame "^6.26.0"
babel-messages "^6.23.0"
@@ -599,6 +675,7 @@ babel-traverse@^6.24.1, babel-traverse@^6.26.0:
babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
version "6.26.0"
resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=
dependencies:
babel-runtime "^6.26.0"
esutils "^2.0.2"
@@ -608,18 +685,22 @@ babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
babylon@^6.18.0:
version "6.18.0"
resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
balanced-match@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
+ integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@^1.0.2:
version "1.3.0"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
+ integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
base@^0.11.1:
version "0.11.2"
resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
dependencies:
cache-base "^1.0.1"
class-utils "^0.3.5"
@@ -632,18 +713,22 @@ base@^0.11.1:
big.js@^3.1.3:
version "3.2.0"
resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+ integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
binary-extensions@^1.0.0:
- version "1.11.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
+ version "1.12.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
+ integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==
bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
version "4.11.8"
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
+ integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
brace-expansion@^1.1.7:
version "1.1.11"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+ integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
dependencies:
balanced-match "^1.0.0"
concat-map "0.0.1"
@@ -651,6 +736,7 @@ brace-expansion@^1.1.7:
braces@^2.3.0, braces@^2.3.1:
version "2.3.2"
resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
dependencies:
arr-flatten "^1.1.0"
array-unique "^0.3.2"
@@ -666,10 +752,12 @@ braces@^2.3.0, braces@^2.3.1:
brorand@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=
browserify-aes@^1.0.0, browserify-aes@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
dependencies:
buffer-xor "^1.0.3"
cipher-base "^1.0.0"
@@ -681,6 +769,7 @@ browserify-aes@^1.0.0, browserify-aes@^1.0.4:
browserify-cipher@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
dependencies:
browserify-aes "^1.0.4"
browserify-des "^1.0.0"
@@ -689,6 +778,7 @@ browserify-cipher@^1.0.0:
browserify-des@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
dependencies:
cipher-base "^1.0.1"
des.js "^1.0.0"
@@ -698,6 +788,7 @@ browserify-des@^1.0.0:
browserify-rsa@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524"
+ integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=
dependencies:
bn.js "^4.1.0"
randombytes "^2.0.1"
@@ -705,6 +796,7 @@ browserify-rsa@^4.0.0:
browserify-sign@^4.0.0:
version "4.0.4"
resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298"
+ integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=
dependencies:
bn.js "^4.1.1"
browserify-rsa "^4.0.0"
@@ -717,12 +809,14 @@ browserify-sign@^4.0.0:
browserify-zlib@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
dependencies:
pako "~1.0.5"
browserslist@^2.1.2:
version "2.11.3"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-2.11.3.tgz#fe36167aed1bbcde4827ebfe71347a2cc70b99b2"
+ integrity sha512-yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==
dependencies:
caniuse-lite "^1.0.30000792"
electron-to-chromium "^1.3.30"
@@ -730,10 +824,12 @@ browserslist@^2.1.2:
buffer-xor@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=
buffer@^4.3.0:
version "4.9.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
+ integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=
dependencies:
base64-js "^1.0.2"
ieee754 "^1.1.4"
@@ -742,14 +838,17 @@ buffer@^4.3.0:
builtin-modules@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
+ integrity sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=
builtin-status-codes@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
cache-base@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
dependencies:
collection-visit "^1.0.0"
component-emitter "^1.2.1"
@@ -764,18 +863,22 @@ cache-base@^1.0.1:
camelcase@^1.0.2:
version "1.2.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
+ integrity sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=
camelcase@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=
caniuse-lite@^1.0.30000792:
- version "1.0.30000878"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000878.tgz#c644c39588dd42d3498e952234c372e5a40a4123"
+ version "1.0.30000893"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000893.tgz#284b20932bd41b93e21626975f2050cb01561986"
+ integrity sha512-kOddHcTEef+NgN/fs0zmX2brHTNATVOWMEIhlZHCuwQRtXobjSw9pAECc44Op4bTBcavRjkLaPrGomknH7+Jvg==
center-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
+ integrity sha1-qg0yYptu6XIgBBHL1EYckHvCt60=
dependencies:
align-text "^0.1.3"
lazy-cache "^1.0.3"
@@ -783,6 +886,7 @@ center-align@^0.1.1:
chalk@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=
dependencies:
ansi-styles "^2.2.1"
escape-string-regexp "^1.0.2"
@@ -793,6 +897,7 @@ chalk@^1.1.3:
chokidar@^2.0.2:
version "2.0.4"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26"
+ integrity sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==
dependencies:
anymatch "^2.0.0"
async-each "^1.0.0"
@@ -810,12 +915,14 @@ chokidar@^2.0.2:
fsevents "^1.2.2"
chownr@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.1.tgz#54726b8b8fff4df053c42187e801fb4412df1494"
+ integrity sha512-j38EvO5+LHX84jlo6h4UzmOwi0UgW61WRyPtJz4qaadK5eY3BTS5TY/S1Stc3Uk2lIM6TPevAlULiEJwie860g==
cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de"
+ integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -823,6 +930,7 @@ cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
class-utils@^0.3.5:
version "0.3.6"
resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
dependencies:
arr-union "^3.1.0"
define-property "^0.2.5"
@@ -832,6 +940,7 @@ class-utils@^0.3.5:
cliui@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
+ integrity sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=
dependencies:
center-align "^0.1.1"
right-align "^0.1.1"
@@ -840,6 +949,7 @@ cliui@^2.1.0:
cliui@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
+ integrity sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
@@ -848,14 +958,17 @@ cliui@^3.2.0:
co@^4.6.0:
version "4.6.0"
resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=
code-point-at@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
collection-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=
dependencies:
map-visit "^1.0.0"
object-visit "^1.0.0"
@@ -863,48 +976,61 @@ collection-visit@^1.0.0:
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=
component-emitter@^1.2.1:
version "1.2.1"
resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
+ integrity sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
+ integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=
dependencies:
date-now "^0.1.4"
console-control-strings@^1.0.0, console-control-strings@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+ integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
constants-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=
convert-source-map@^1.5.0, convert-source-map@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
+ version "1.6.0"
+ resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20"
+ integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==
+ dependencies:
+ safe-buffer "~5.1.1"
copy-descriptor@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
core-js@^2.4.0, core-js@^2.5.0:
version "2.5.7"
resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e"
+ integrity sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw==
core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=
create-ecdh@^4.0.0:
version "4.0.3"
resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff"
+ integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==
dependencies:
bn.js "^4.1.0"
elliptic "^6.0.0"
@@ -912,6 +1038,7 @@ create-ecdh@^4.0.0:
create-hash@^1.1.0, create-hash@^1.1.2:
version "1.2.0"
resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
dependencies:
cipher-base "^1.0.1"
inherits "^2.0.1"
@@ -922,6 +1049,7 @@ create-hash@^1.1.0, create-hash@^1.1.2:
create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
version "1.1.7"
resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
dependencies:
cipher-base "^1.0.3"
create-hash "^1.1.0"
@@ -933,6 +1061,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
cross-spawn@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
dependencies:
lru-cache "^4.0.1"
shebang-command "^1.2.0"
@@ -941,6 +1070,7 @@ cross-spawn@^5.0.1:
crypto-browserify@^3.11.0:
version "3.12.0"
resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec"
+ integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==
dependencies:
browserify-cipher "^1.0.0"
browserify-sign "^4.0.0"
@@ -957,46 +1087,55 @@ crypto-browserify@^3.11.0:
d@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
+ integrity sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=
dependencies:
es5-ext "^0.10.9"
date-now@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
+ integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
dependencies:
ms "2.0.0"
decamelize@^1.0.0, decamelize@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
decode-uri-component@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
+ integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+ integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=
dependencies:
is-descriptor "^0.1.0"
define-property@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY=
dependencies:
is-descriptor "^1.0.0"
define-property@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
dependencies:
is-descriptor "^1.0.2"
isobject "^3.0.1"
@@ -1004,10 +1143,12 @@ define-property@^2.0.2:
delegates@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+ integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
des.js@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
+ integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=
dependencies:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
@@ -1015,16 +1156,19 @@ des.js@^1.0.0:
detect-indent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha1-920GQ1LN9Docts5hnE7jqUdd4gg=
dependencies:
repeating "^2.0.0"
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+ integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
diffie-hellman@^5.0.0:
version "5.0.3"
resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
dependencies:
bn.js "^4.1.0"
miller-rabin "^4.0.0"
@@ -1033,14 +1177,17 @@ diffie-hellman@^5.0.0:
domain-browser@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
electron-to-chromium@^1.3.30:
- version "1.3.61"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.61.tgz#a8ac295b28d0f03d85e37326fd16b6b6b17a1795"
+ version "1.3.80"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.80.tgz#e99ec7efe64c2c6a269d3885ff411ea88852fa53"
+ integrity sha512-WClidEWEUNx7OfwXehB0qaxCuetjbKjev2SmXWgybWPLKAThBiMTF/2Pd8GSUDtoGOavxVzdkKwfFAPRSWlkLw==
elliptic@^6.0.0:
version "6.4.1"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.1.tgz#c2d0b7776911b86722c632c3c06c60f2f819939a"
+ integrity sha512-BsXLz5sqX8OHcsh7CqBMztyXARmGQ3LWPtGjJi6DiJHq5C/qvi9P3OqgswKSDftbu8+IoI/QDTAm2fFnQ9SZSQ==
dependencies:
bn.js "^4.4.0"
brorand "^1.0.1"
@@ -1053,10 +1200,12 @@ elliptic@^6.0.0:
emojis-list@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
enhanced-resolve@^3.4.0:
version "3.4.1"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e"
+ integrity sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=
dependencies:
graceful-fs "^4.1.2"
memory-fs "^0.4.0"
@@ -1066,18 +1215,21 @@ enhanced-resolve@^3.4.0:
errno@^0.1.3:
version "0.1.7"
resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618"
+ integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==
dependencies:
prr "~1.0.1"
error-ex@^1.2.0:
version "1.3.2"
resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
dependencies:
is-arrayish "^0.2.1"
es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
version "0.10.46"
resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.46.tgz#efd99f67c5a7ec789baa3daa7f79870388f7f572"
+ integrity sha512-24XxRvJXNFwEMpJb3nOkiRJKRoupmjYmOPVlI65Qy2SrtxwOTB+g6ODjBKOtwEHbYrhWRty9xxOWLNdClT2djw==
dependencies:
es6-iterator "~2.0.3"
es6-symbol "~3.1.1"
@@ -1086,6 +1238,7 @@ es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
+ integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c=
dependencies:
d "1"
es5-ext "^0.10.35"
@@ -1094,6 +1247,7 @@ es6-iterator@^2.0.1, es6-iterator@~2.0.1, es6-iterator@~2.0.3:
es6-map@^0.1.3:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
+ integrity sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -1105,6 +1259,7 @@ es6-map@^0.1.3:
es6-set@~0.1.5:
version "0.1.5"
resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
+ integrity sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -1115,6 +1270,7 @@ es6-set@~0.1.5:
es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
+ integrity sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -1122,6 +1278,7 @@ es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
es6-weak-map@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
+ integrity sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=
dependencies:
d "1"
es5-ext "^0.10.14"
@@ -1131,10 +1288,12 @@ es6-weak-map@^2.0.1:
escape-string-regexp@^1.0.2:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
escope@^3.6.0:
version "3.6.0"
resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
+ integrity sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=
dependencies:
es6-map "^0.1.3"
es6-weak-map "^2.0.1"
@@ -1144,20 +1303,24 @@ escope@^3.6.0:
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
+ integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==
dependencies:
estraverse "^4.1.0"
estraverse@^4.1.0, estraverse@^4.1.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
+ integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
esutils@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
+ integrity sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=
event-emitter@~0.3.5:
version "0.3.5"
resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
+ integrity sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=
dependencies:
d "1"
es5-ext "~0.10.14"
@@ -1165,10 +1328,12 @@ event-emitter@~0.3.5:
events@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
+ integrity sha1-nr23Y1rQmccNzEwqH1AEKI6L2SQ=
evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
dependencies:
md5.js "^1.3.4"
safe-buffer "^5.1.1"
@@ -1176,6 +1341,7 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
execa@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
+ integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=
dependencies:
cross-spawn "^5.0.1"
get-stream "^3.0.0"
@@ -1188,6 +1354,7 @@ execa@^0.7.0:
expand-brackets@^2.1.4:
version "2.1.4"
resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI=
dependencies:
debug "^2.3.3"
define-property "^0.2.5"
@@ -1200,12 +1367,14 @@ expand-brackets@^2.1.4:
extend-shallow@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
dependencies:
is-extendable "^0.1.0"
extend-shallow@^3.0.0, extend-shallow@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=
dependencies:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
@@ -1213,6 +1382,7 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
dependencies:
array-unique "^0.3.2"
define-property "^1.0.0"
@@ -1226,24 +1396,34 @@ extglob@^2.0.4:
fable-loader@1.1.6:
version "1.1.6"
resolved "https://registry.yarnpkg.com/fable-loader/-/fable-loader-1.1.6.tgz#1392eb2fc78e99770f96df18129d1c447459ee17"
+ integrity sha512-eKddJyVzBX5Tdq1fNcoYgAZ4PsaqaE6gd2KiL86a9fKN9qErqa/uZGhFuu6ndAP3F+x0IeObZlHGnn/wazb/mw==
dependencies:
fable-utils "^1.0.4"
-fable-utils@1.0.6, fable-utils@^1.0.4:
+fable-utils@1.0.6:
version "1.0.6"
resolved "https://registry.yarnpkg.com/fable-utils/-/fable-utils-1.0.6.tgz#df4af260a2948b7562e3cbcfa044a3482b5c0573"
+ integrity sha512-skdihfsIWgzHWemceRyKOWd3D16YTLWHDjAaQ1lxjc28K30QJOpPCctLsLc6/HcAEvMwyjlq3z6r+wrMw0s2tw==
+
+fable-utils@^1.0.4:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/fable-utils/-/fable-utils-1.2.0.tgz#49e81735f57af4d67af997da3df220c547469215"
+ integrity sha512-xne8Cc2QK2BNZ0RElBZaz+j6pSHgi3i+cEhOzweKmTldvZGt5xqW7LvWWty553HknQKNRJBuyDYUKiiL1CTYlw==
fast-deep-equal@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+ integrity sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=
fast-json-stable-stringify@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
+ integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
fill-range@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=
dependencies:
extend-shallow "^2.0.1"
is-number "^3.0.0"
@@ -1253,6 +1433,7 @@ fill-range@^4.0.0:
find-cache-dir@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ integrity sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=
dependencies:
commondir "^1.0.1"
make-dir "^1.0.0"
@@ -1261,32 +1442,38 @@ find-cache-dir@^1.0.0:
find-up@^2.0.0, find-up@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c=
dependencies:
locate-path "^2.0.0"
for-in@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=
fragment-cache@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=
dependencies:
map-cache "^0.2.2"
fs-minipass@^1.2.5:
version "1.2.5"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d"
+ integrity sha512-JhBl0skXjUPCFH7x6x61gQxrKyXsxB5gcgePLZCwfyCGGsTISMoIeObbrvVeP6Xmyaudw4TT43qV2Gz+iyd2oQ==
dependencies:
minipass "^2.2.1"
fs.realpath@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
fsevents@^1.2.2:
version "1.2.4"
resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426"
+ integrity sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==
dependencies:
nan "^2.9.2"
node-pre-gyp "^0.10.0"
@@ -1294,6 +1481,7 @@ fsevents@^1.2.2:
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+ integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
dependencies:
aproba "^1.0.3"
console-control-strings "^1.0.0"
@@ -1307,25 +1495,30 @@ gauge@~2.7.3:
get-caller-file@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+ integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
get-stream@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
get-value@^2.0.3, get-value@^2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=
glob-parent@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=
dependencies:
is-glob "^3.1.0"
path-dirname "^1.0.0"
glob@^7.0.5:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1"
+ integrity sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -1337,28 +1530,34 @@ glob@^7.0.5:
globals@^9.18.0:
version "9.18.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
-graceful-fs@^4.1.2:
+graceful-fs@^4.1.11, graceful-fs@^4.1.2:
version "4.1.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
+ integrity sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=
has-ansi@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=
dependencies:
ansi-regex "^2.0.0"
has-flag@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
has-unicode@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+ integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
has-value@^0.3.1:
version "0.3.1"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=
dependencies:
get-value "^2.0.3"
has-values "^0.1.4"
@@ -1367,6 +1566,7 @@ has-value@^0.3.1:
has-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=
dependencies:
get-value "^2.0.6"
has-values "^1.0.0"
@@ -1375,10 +1575,12 @@ has-value@^1.0.0:
has-values@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E=
has-values@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=
dependencies:
is-number "^3.0.0"
kind-of "^4.0.0"
@@ -1386,6 +1588,7 @@ has-values@^1.0.0:
hash-base@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918"
+ integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -1393,6 +1596,7 @@ hash-base@^3.0.0:
hash.js@^1.0.0, hash.js@^1.0.3:
version "1.1.5"
resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812"
+ integrity sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==
dependencies:
inherits "^2.0.3"
minimalistic-assert "^1.0.1"
@@ -1400,6 +1604,7 @@ hash.js@^1.0.0, hash.js@^1.0.3:
hmac-drbg@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=
dependencies:
hash.js "^1.0.3"
minimalistic-assert "^1.0.0"
@@ -1408,6 +1613,7 @@ hmac-drbg@^1.0.0:
home-or-tmp@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ integrity sha1-42w/LSyufXRqhX440Y1fMqeILbg=
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.1"
@@ -1415,34 +1621,41 @@ home-or-tmp@^2.0.0:
hosted-git-info@^2.1.4:
version "2.7.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047"
+ integrity sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
dependencies:
safer-buffer ">= 2.1.2 < 3"
ieee754@^1.1.4:
version "1.1.12"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b"
+ integrity sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==
ignore-walk@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8"
+ integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ==
dependencies:
minimatch "^3.0.4"
indexof@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
+ integrity sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=
inflight@^1.0.4:
version "1.0.6"
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
dependencies:
once "^1.3.0"
wrappy "1"
@@ -1450,76 +1663,91 @@ inflight@^1.0.4:
inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
inherits@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
+ integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=
ini@~1.3.0:
version "1.3.5"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
+ integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
interpret@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
+ integrity sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=
invariant@^2.2.2:
version "2.2.4"
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
dependencies:
loose-envify "^1.0.0"
invert-kv@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
+ integrity sha1-EEqOSqym09jNFXqO+L+rLXo//bY=
is-accessor-descriptor@^0.1.6:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
+ integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=
dependencies:
kind-of "^3.0.2"
is-accessor-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
+ integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==
dependencies:
kind-of "^6.0.0"
is-arrayish@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
is-binary-path@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=
dependencies:
binary-extensions "^1.0.0"
is-buffer@^1.1.5:
version "1.1.6"
resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
is-builtin-module@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
+ integrity sha1-VAVy0096wxGfj3bDDLwbHgN6/74=
dependencies:
builtin-modules "^1.0.0"
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
+ integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=
dependencies:
kind-of "^3.0.2"
is-data-descriptor@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
+ integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==
dependencies:
kind-of "^6.0.0"
is-descriptor@^0.1.0:
version "0.1.6"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
+ integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==
dependencies:
is-accessor-descriptor "^0.1.6"
is-data-descriptor "^0.1.4"
@@ -1528,6 +1756,7 @@ is-descriptor@^0.1.0:
is-descriptor@^1.0.0, is-descriptor@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
+ integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==
dependencies:
is-accessor-descriptor "^1.0.0"
is-data-descriptor "^1.0.0"
@@ -1536,144 +1765,174 @@ is-descriptor@^1.0.0, is-descriptor@^1.0.2:
is-extendable@^0.1.0, is-extendable@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
is-extendable@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
dependencies:
is-plain-object "^2.0.4"
is-extglob@^2.1.0, is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
is-finite@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
+ integrity sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
dependencies:
number-is-nan "^1.0.0"
is-fullwidth-code-point@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
is-glob@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=
dependencies:
is-extglob "^2.1.0"
is-glob@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0"
+ integrity sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=
dependencies:
is-extglob "^2.1.1"
is-number@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=
dependencies:
kind-of "^3.0.2"
is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
dependencies:
isobject "^3.0.1"
is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
is-windows@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
isexe@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
isobject@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=
dependencies:
isarray "1.0.0"
isobject@^3.0.0, isobject@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
"js-tokens@^3.0.0 || ^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
js-tokens@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls=
jsesc@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha1-RsP+yMGJKxKwgz25vHYiF226s0s=
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+ integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=
json-loader@^0.5.4:
version "0.5.7"
resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d"
+ integrity sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==
json-schema-traverse@^0.3.0:
version "0.3.1"
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+ integrity sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=
json5@^0.5.0, json5@^0.5.1:
version "0.5.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=
kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
version "3.2.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=
dependencies:
is-buffer "^1.1.5"
kind-of@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc=
dependencies:
is-buffer "^1.1.5"
kind-of@^5.0.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
kind-of@^6.0.0, kind-of@^6.0.2:
version "6.0.2"
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
+ integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==
lazy-cache@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
+ integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4=
lcid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
+ integrity sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=
dependencies:
invert-kv "^1.0.0"
load-json-file@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
+ integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=
dependencies:
graceful-fs "^4.1.2"
parse-json "^2.2.0"
@@ -1681,12 +1940,14 @@ load-json-file@^2.0.0:
strip-bom "^3.0.0"
loader-runner@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2"
+ version "2.3.1"
+ resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.1.tgz#026f12fe7c3115992896ac02ba022ba92971b979"
+ integrity sha512-By6ZFY7ETWOc9RFaAIb23IjJVcM4dvJC/N57nmdz9RSkMXvAXGI7SyVlAw3v8vjtDRlqThgVDVmTnr9fqMlxkw==
loader-utils@^1.0.2, loader-utils@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd"
+ integrity sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=
dependencies:
big.js "^3.1.3"
emojis-list "^2.0.0"
@@ -1695,6 +1956,7 @@ loader-utils@^1.0.2, loader-utils@^1.1.0:
locate-path@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=
dependencies:
p-locate "^2.0.0"
path-exists "^3.0.0"
@@ -1702,24 +1964,29 @@ locate-path@^2.0.0:
lodash.debounce@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168=
lodash@^4.17.10, lodash@^4.17.4:
- version "4.17.10"
- resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7"
+ version "4.17.11"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
+ integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
longest@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
+ integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=
loose-envify@^1.0.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
lru-cache@^4.0.1:
version "4.1.3"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c"
+ integrity sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==
dependencies:
pseudomap "^1.0.2"
yallist "^2.1.2"
@@ -1727,42 +1994,50 @@ lru-cache@^4.0.1:
make-dir@^1.0.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
+ integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
dependencies:
pify "^3.0.0"
map-cache@^0.2.2:
version "0.2.2"
resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=
map-visit@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=
dependencies:
object-visit "^1.0.0"
md5.js@^1.3.4:
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d"
+ version "1.3.5"
+ resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
dependencies:
hash-base "^3.0.0"
inherits "^2.0.1"
+ safe-buffer "^5.1.2"
mem@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76"
+ integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=
dependencies:
mimic-fn "^1.0.0"
memory-fs@^0.4.0, memory-fs@~0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=
dependencies:
errno "^0.1.3"
readable-stream "^2.0.1"
-micromatch@^3.1.4:
+micromatch@^3.1.10, micromatch@^3.1.4:
version "3.1.10"
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -1781,6 +2056,7 @@ micromatch@^3.1.4:
miller-rabin@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
dependencies:
bn.js "^4.0.0"
brorand "^1.0.1"
@@ -1788,45 +2064,54 @@ miller-rabin@^4.0.0:
mimic-fn@^1.0.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@^3.0.2, minimatch@^3.0.4:
+minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+ integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
minimist@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
+ integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=
minimist@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
+ integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=
minipass@^2.2.1, minipass@^2.3.3:
version "2.3.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.4.tgz#4768d7605ed6194d6d576169b9e12ef71e9d9957"
+ integrity sha512-mlouk1OHlaUE8Odt1drMtG1bAJA4ZA6B/ehysgV0LUIrDHdKgo1KorZq3pK0b/7Z7LJIQ12MNM6aC+Tn6lUZ5w==
dependencies:
safe-buffer "^5.1.2"
yallist "^3.0.0"
minizlib@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb"
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.1.tgz#6734acc045a46e61d596a43bb9d9cd326e19cc42"
+ integrity sha512-TrfjCjk4jLhcJyGMYymBH6oTXcWjYbUAXTHDbtnWHjZC25h0cdajHuPE1zxb4DVmu8crfh+HwH/WMuyLG0nHBg==
dependencies:
minipass "^2.2.1"
mixin-deep@^1.2.0:
version "1.3.1"
resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe"
+ integrity sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==
dependencies:
for-in "^1.0.2"
is-extendable "^1.0.1"
@@ -1834,20 +2119,24 @@ mixin-deep@^1.2.0:
mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0:
version "0.5.1"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
+ integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=
dependencies:
minimist "0.0.8"
ms@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
nan@^2.9.2:
- version "2.10.0"
- resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f"
+ version "2.11.1"
+ resolved "https://registry.yarnpkg.com/nan/-/nan-2.11.1.tgz#90e22bccb8ca57ea4cd37cc83d3819b52eea6766"
+ integrity sha512-iji6k87OSXa0CcrLl9z+ZiYSuR2o+c0bGuNmXdrhTQTakxytAFsC56SArGYoiHlJlFoHSnvmhpceZJaXkVuOtA==
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
dependencies:
arr-diff "^4.0.0"
array-unique "^0.3.2"
@@ -1862,24 +2151,28 @@ nanomatch@^1.2.9:
to-regex "^3.0.1"
needle@^2.2.1:
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.2.tgz#1120ca4c41f2fcc6976fd28a8968afe239929418"
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.4.tgz#51931bff82533b1928b7d1d69e01f1b00ffd2a4e"
+ integrity sha512-HyoqEb4wr/rsoaIDfTH2aVL9nWtQqba2/HvMv+++m8u0dz808MaagKILxtfeSN7QU7nvbQ79zk3vYOJp9zsNEA==
dependencies:
debug "^2.1.2"
iconv-lite "^0.4.4"
sax "^1.2.4"
neo-async@^2.5.0:
- version "2.5.2"
- resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.2.tgz#489105ce7bc54e709d736b195f82135048c50fcc"
+ version "2.6.0"
+ resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.0.tgz#b9d15e4d71c6762908654b5183ed38b753340835"
+ integrity sha512-MFh0d/Wa7vkKO3Y3LlacqAEeHK0mckVqzDieUKTT+KGxi+zIpeVsFxymkIiRpbpDziHc290Xr9A1O4Om7otoRA==
next-tick@1:
version "1.0.0"
resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c"
+ integrity sha1-yobR/ogoFpsBICCOPchCS524NCw=
node-libs-browser@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df"
+ integrity sha512-5AzFzdoIMb89hBGMZglEegffzgRg+ZFoUmisQ8HI4j1KDdpx13J0taNp2y9xPbur6W61gepGDDotGBVQ7mfUCg==
dependencies:
assert "^1.1.1"
browserify-zlib "^0.2.0"
@@ -1908,6 +2201,7 @@ node-libs-browser@^2.0.0:
node-pre-gyp@^0.10.0:
version "0.10.3"
resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc"
+ integrity sha512-d1xFs+C/IPS8Id0qPTZ4bUT8wWryfR/OzzAFxweG+uLN85oPzyo2Iw6bVlLQ/JOdgNonXLCoRyqDzDWq4iw72A==
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
@@ -1923,6 +2217,7 @@ node-pre-gyp@^0.10.0:
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
+ integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=
dependencies:
abbrev "1"
osenv "^0.1.4"
@@ -1930,6 +2225,7 @@ nopt@^4.0.1:
normalize-package-data@^2.3.2:
version "2.4.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
+ integrity sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==
dependencies:
hosted-git-info "^2.1.4"
is-builtin-module "^1.0.0"
@@ -1939,16 +2235,19 @@ normalize-package-data@^2.3.2:
normalize-path@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=
dependencies:
remove-trailing-separator "^1.0.1"
npm-bundled@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.5.tgz#3c1732b7ba936b3a10325aef616467c0ccbcc979"
+ integrity sha512-m/e6jgWu8/v5niCUKQi9qQl8QdeEduFA96xHDDzFGqly0OOjI7c+60KM/2sppfnUU9JJagf+zs+yGhqSOFj71g==
npm-packlist@^1.1.6:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de"
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.12.tgz#22bde2ebc12e72ca482abd67afc51eb49377243a"
+ integrity sha512-WJKFOVMeAlsU/pjXuqVdzU0WfgtIBCupkEVwn+1Y0ERAbUfWw8R4GjgVbaKnUjRoD2FoQbHOCbOyT5Mbs9Lw4g==
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
@@ -1956,12 +2255,14 @@ npm-packlist@^1.1.6:
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
dependencies:
path-key "^2.0.0"
npmlog@^4.0.2:
version "4.1.2"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+ integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
dependencies:
are-we-there-yet "~1.1.2"
console-control-strings "~1.1.0"
@@ -1971,14 +2272,17 @@ npmlog@^4.0.2:
number-is-nan@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
object-assign@^4.0.1, object-assign@^4.1.0:
version "4.1.1"
resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
object-copy@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw=
dependencies:
copy-descriptor "^0.1.0"
define-property "^0.2.5"
@@ -1987,32 +2291,38 @@ object-copy@^0.1.0:
object-visit@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=
dependencies:
isobject "^3.0.0"
object.pick@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=
dependencies:
isobject "^3.0.1"
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
dependencies:
wrappy "1"
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=
os-homedir@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M=
os-locale@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2"
+ integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==
dependencies:
execa "^0.7.0"
lcid "^1.0.0"
@@ -2021,10 +2331,12 @@ os-locale@^2.0.0:
os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
osenv@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
+ integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==
dependencies:
os-homedir "^1.0.0"
os-tmpdir "^1.0.0"
@@ -2032,30 +2344,36 @@ osenv@^0.1.4:
p-finally@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
p-limit@^1.1.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
dependencies:
p-try "^1.0.0"
p-locate@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=
dependencies:
p-limit "^1.1.0"
p-try@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=
pako@~1.0.5:
version "1.0.6"
resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258"
+ integrity sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==
parse-asn1@^5.0.0:
version "5.1.1"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8"
+ integrity sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==
dependencies:
asn1.js "^4.0.0"
browserify-aes "^1.0.0"
@@ -2066,42 +2384,51 @@ parse-asn1@^5.0.0:
parse-json@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=
dependencies:
error-ex "^1.2.0"
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=
path-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
+ integrity sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo=
path-dirname@^1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=
path-exists@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
path-key@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
path-type@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
+ integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=
dependencies:
pify "^2.0.0"
pbkdf2@^3.0.3:
- version "3.0.16"
- resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c"
+ version "3.0.17"
+ resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
+ integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==
dependencies:
create-hash "^1.1.2"
create-hmac "^1.1.4"
@@ -2112,76 +2439,93 @@ pbkdf2@^3.0.3:
pify@^2.0.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw=
pify@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
pkg-dir@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=
dependencies:
find-up "^2.1.0"
posix-character-classes@^0.1.0:
version "0.1.1"
resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=
private@^0.1.6, private@^0.1.7, private@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+ integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
process-nextick-args@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa"
+ integrity sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==
process@^0.11.10:
version "0.11.10"
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY=
pseudomap@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
public-encrypt@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994"
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
dependencies:
bn.js "^4.1.0"
browserify-rsa "^4.0.0"
create-hash "^1.1.0"
parse-asn1 "^5.0.0"
randombytes "^2.0.1"
+ safe-buffer "^5.1.2"
punycode@1.3.2:
version "1.3.2"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
+ integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=
punycode@^1.2.4:
version "1.4.1"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha1-wNWmOycYgArY4esPpSachN1BhF4=
querystring-es3@^0.2.0:
version "0.2.1"
resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=
querystring@0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
+ integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5:
version "2.0.6"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80"
+ integrity sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==
dependencies:
safe-buffer "^5.1.0"
randomfill@^1.0.3:
version "1.0.4"
resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
dependencies:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
@@ -2189,6 +2533,7 @@ randomfill@^1.0.3:
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+ integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
dependencies:
deep-extend "^0.6.0"
ini "~1.3.0"
@@ -2198,6 +2543,7 @@ rc@^1.2.7:
read-pkg-up@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
+ integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=
dependencies:
find-up "^2.0.0"
read-pkg "^2.0.0"
@@ -2205,6 +2551,7 @@ read-pkg-up@^2.0.0:
read-pkg@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
+ integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=
dependencies:
load-json-file "^2.0.0"
normalize-package-data "^2.3.2"
@@ -2213,6 +2560,7 @@ read-pkg@^2.0.0:
readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.3.3, readable-stream@^2.3.6:
version "2.3.6"
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf"
+ integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==
dependencies:
core-util-is "~1.0.0"
inherits "~2.0.3"
@@ -2223,25 +2571,28 @@ readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable
util-deprecate "~1.0.1"
readdirp@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
dependencies:
- graceful-fs "^4.1.2"
- minimatch "^3.0.2"
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
readable-stream "^2.0.2"
- set-immediate-shim "^1.0.1"
regenerate@^1.2.1:
version "1.4.0"
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11"
+ integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==
regenerator-runtime@^0.11.0:
version "0.11.1"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
regenerator-transform@^0.10.0:
version "0.10.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
+ integrity sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==
dependencies:
babel-runtime "^6.18.0"
babel-types "^6.19.0"
@@ -2250,6 +2601,7 @@ regenerator-transform@^0.10.0:
regex-not@^1.0.0, regex-not@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
dependencies:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
@@ -2257,6 +2609,7 @@ regex-not@^1.0.0, regex-not@^1.0.2:
regexpu-core@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
+ integrity sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=
dependencies:
regenerate "^1.2.1"
regjsgen "^0.2.0"
@@ -2265,62 +2618,75 @@ regexpu-core@^2.0.0:
regjsgen@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
+ integrity sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=
regjsparser@^0.1.4:
version "0.1.5"
resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
+ integrity sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=
dependencies:
jsesc "~0.5.0"
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8=
repeat-element@^1.1.2:
version "1.1.3"
resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce"
+ integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==
repeat-string@^1.5.2, repeat-string@^1.6.1:
version "1.6.1"
resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc=
repeating@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=
dependencies:
is-finite "^1.0.0"
require-directory@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
require-main-filename@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
right-align@^0.1.1:
version "0.1.3"
resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
+ integrity sha1-YTObci/mo1FWiSENJOFMlhSGE+8=
dependencies:
align-text "^0.1.1"
rimraf@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
+ integrity sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==
dependencies:
glob "^7.0.5"
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
dependencies:
hash-base "^3.0.0"
inherits "^2.0.1"
@@ -2328,36 +2694,39 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
version "5.1.2"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
safe-regex@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4=
dependencies:
ret "~0.1.10"
"safer-buffer@>= 2.1.2 < 3":
version "2.1.2"
resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sax@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
"semver@2 || 3 || 4 || 5", semver@^5.3.0:
- version "5.5.1"
- resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.1.tgz#7dfdd8814bdb7cabc7be0fb1d734cfb66c940477"
+ version "5.6.0"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-5.6.0.tgz#7e74256fbaa49c75aa7c7a205cc22799cac80004"
+ integrity sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-immediate-shim@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+ integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
set-value@^0.4.3:
version "0.4.3"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
+ integrity sha1-fbCPnT0i3H945Trzw79GZuzfzPE=
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
@@ -2367,6 +2736,7 @@ set-value@^0.4.3:
set-value@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
+ integrity sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==
dependencies:
extend-shallow "^2.0.1"
is-extendable "^0.1.1"
@@ -2376,10 +2746,12 @@ set-value@^2.0.0:
setimmediate@^1.0.4:
version "1.0.5"
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
dependencies:
inherits "^2.0.1"
safe-buffer "^5.0.1"
@@ -2387,24 +2759,29 @@ sha.js@^2.4.0, sha.js@^2.4.8:
shebang-command@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
dependencies:
shebang-regex "^1.0.0"
shebang-regex@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
signal-exit@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
+ integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
slash@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
dependencies:
define-property "^1.0.0"
isobject "^3.0.0"
@@ -2413,12 +2790,14 @@ snapdragon-node@^2.0.1:
snapdragon-util@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
dependencies:
kind-of "^3.2.0"
snapdragon@^0.8.1:
version "0.8.2"
resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
dependencies:
base "^0.11.1"
debug "^2.2.0"
@@ -2430,12 +2809,14 @@ snapdragon@^0.8.1:
use "^3.1.0"
source-list-map@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085"
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
source-map-resolve@^0.5.0:
version "0.5.2"
resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259"
+ integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==
dependencies:
atob "^2.1.1"
decode-uri-component "^0.2.0"
@@ -2446,52 +2827,62 @@ source-map-resolve@^0.5.0:
source-map-support@^0.4.15:
version "0.4.18"
resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
dependencies:
source-map "^0.5.6"
source-map-url@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
+ integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=
source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1:
version "0.5.7"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=
source-map@~0.6.1:
version "0.6.1"
resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
spdx-correct@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82"
+ version "3.0.2"
+ resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.2.tgz#19bb409e91b47b1ad54159243f7312a858db3c2e"
+ integrity sha512-q9hedtzyXHr5S0A1vEPoK/7l8NpfkFYTq6iCY+Pno2ZbdZR6WexZFtqeVGkGxW3TEJMN914Z55EnAGMmenlIQQ==
dependencies:
spdx-expression-parse "^3.0.0"
spdx-license-ids "^3.0.0"
spdx-exceptions@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9"
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977"
+ integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==
spdx-expression-parse@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0"
+ integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==
dependencies:
spdx-exceptions "^2.1.0"
spdx-license-ids "^3.0.0"
spdx-license-ids@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87"
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz#e2a303236cac54b04031fa7a5a79c7e701df852f"
+ integrity sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==
split-string@^3.0.1, split-string@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
dependencies:
extend-shallow "^3.0.0"
static-extend@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=
dependencies:
define-property "^0.2.5"
object-copy "^0.1.0"
@@ -2499,6 +2890,7 @@ static-extend@^0.1.1:
stream-browserify@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
+ integrity sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=
dependencies:
inherits "~2.0.1"
readable-stream "^2.0.2"
@@ -2506,6 +2898,7 @@ stream-browserify@^2.0.1:
stream-http@^2.7.2:
version "2.8.3"
resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
dependencies:
builtin-status-codes "^3.0.0"
inherits "^2.0.1"
@@ -2516,6 +2909,7 @@ stream-http@^2.7.2:
string-width@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
dependencies:
code-point-at "^1.0.0"
is-fullwidth-code-point "^1.0.0"
@@ -2524,6 +2918,7 @@ string-width@^1.0.1:
"string-width@^1.0.2 || 2", string-width@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
dependencies:
is-fullwidth-code-point "^2.0.0"
strip-ansi "^4.0.0"
@@ -2531,50 +2926,60 @@ string-width@^1.0.1:
string_decoder@^1.0.0, string_decoder@~1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
dependencies:
safe-buffer "~5.1.0"
strip-ansi@^3.0.0, strip-ansi@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
dependencies:
ansi-regex "^2.0.0"
strip-ansi@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
dependencies:
ansi-regex "^3.0.0"
strip-bom@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=
strip-eof@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
supports-color@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=
supports-color@^4.2.1:
version "4.5.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
dependencies:
has-flag "^2.0.0"
tapable@^0.2.7:
version "0.2.8"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22"
+ integrity sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=
tar@^4:
version "4.4.6"
resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b"
+ integrity sha512-tMkTnh9EdzxyfW+6GK6fCahagXsnYk6kE6S9Gr9pjVdys769+laCTbodXDhPAjzVtEBazRgP0gYqOjnk9dQzLg==
dependencies:
chownr "^1.0.1"
fs-minipass "^1.2.5"
@@ -2587,26 +2992,31 @@ tar@^4:
timers-browserify@^2.0.4:
version "2.0.10"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
+ integrity sha512-YvC1SV1XdOUaL6gx5CoGroT3Gu49pK9+TZ38ErPldOWW4j49GI1HKs9DV+KGq/w6y+LZ72W1c8cKz2vzY+qpzg==
dependencies:
setimmediate "^1.0.4"
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=
to-fast-properties@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=
to-object-path@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=
dependencies:
kind-of "^3.0.2"
to-regex-range@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=
dependencies:
is-number "^3.0.0"
repeat-string "^1.6.1"
@@ -2614,6 +3024,7 @@ to-regex-range@^2.1.0:
to-regex@^3.0.1, to-regex@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
dependencies:
define-property "^2.0.2"
extend-shallow "^3.0.2"
@@ -2623,14 +3034,17 @@ to-regex@^3.0.1, to-regex@^3.0.2:
trim-right@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
tty-browserify@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
uglify-js@^2.8.29:
version "2.8.29"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
+ integrity sha1-KcVzMUgFe7Th913zW3qcty5qWd0=
dependencies:
source-map "~0.5.1"
yargs "~3.10.0"
@@ -2640,10 +3054,12 @@ uglify-js@^2.8.29:
uglify-to-browserify@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
+ integrity sha1-bgkk1r2mta/jSeOabWMoUKD4grc=
uglifyjs-webpack-plugin@^0.4.6:
version "0.4.6"
resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309"
+ integrity sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=
dependencies:
source-map "^0.5.6"
uglify-js "^2.8.29"
@@ -2652,6 +3068,7 @@ uglifyjs-webpack-plugin@^0.4.6:
union-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
+ integrity sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=
dependencies:
arr-union "^3.1.0"
get-value "^2.0.6"
@@ -2661,6 +3078,7 @@ union-value@^1.0.0:
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=
dependencies:
has-value "^0.3.1"
isobject "^3.0.0"
@@ -2668,14 +3086,17 @@ unset-value@^1.0.0:
upath@^1.0.5:
version "1.1.0"
resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd"
+ integrity sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==
urix@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=
url@^0.11.0:
version "0.11.0"
resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
+ integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=
dependencies:
punycode "1.3.2"
querystring "0.2.0"
@@ -2683,26 +3104,31 @@ url@^0.11.0:
use@^3.1.0:
version "3.1.1"
resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
util-deprecate@~1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
util@0.10.3:
version "0.10.3"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
+ integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk=
dependencies:
inherits "2.0.1"
util@^0.10.3:
version "0.10.4"
resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
dependencies:
inherits "2.0.3"
validate-npm-package-license@^3.0.1:
version "3.0.4"
resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
dependencies:
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
@@ -2710,20 +3136,23 @@ validate-npm-package-license@^3.0.1:
vm-browserify@0.0.4:
version "0.0.4"
resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
+ integrity sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=
dependencies:
indexof "0.0.1"
watchpack@^1.4.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00"
+ integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==
dependencies:
chokidar "^2.0.2"
graceful-fs "^4.1.2"
neo-async "^2.5.0"
webpack-sources@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"
+ version "1.3.0"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.3.0.tgz#2a28dcb9f1f45fe960d8f1493252b5ee6530fa85"
+ integrity sha512-OiVgSrbGu7NEnEvQJJgdSFPl2qWKkWq5lHMhgiToIiN9w34EBnjYzSYs+VbL5KoYiLNtFFa7BZIKxRED3I32pA==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
@@ -2731,6 +3160,7 @@ webpack-sources@^1.0.1:
webpack@3.8.1:
version "3.8.1"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.8.1.tgz#b16968a81100abe61608b0153c9159ef8bb2bd83"
+ integrity sha512-5ZXLWWsMqHKFr5y0N3Eo5IIisxeEeRAajNq4mELb/WELOR7srdbQk2N5XiyNy2A/AgvlR3AmeBCZJW8lHrolbw==
dependencies:
acorn "^5.0.0"
acorn-dynamic-import "^2.0.0"
@@ -2758,30 +3188,36 @@ webpack@3.8.1:
which-module@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a"
+ integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=
which@^1.2.9:
version "1.3.1"
resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
dependencies:
isexe "^2.0.0"
wide-align@^1.1.0:
version "1.1.3"
resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"
+ integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==
dependencies:
string-width "^1.0.2 || 2"
window-size@0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
+ integrity sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=
wordwrap@0.0.2:
version "0.0.2"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
+ integrity sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=
wrap-ansi@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=
dependencies:
string-width "^1.0.1"
strip-ansi "^3.0.1"
@@ -2789,32 +3225,39 @@ wrap-ansi@^2.0.0:
wrappy@1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
xtend@^4.0.0:
version "4.0.1"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
+ integrity sha1-pcbVMr5lbiPbgg77lDofBJmNY68=
y18n@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
+ integrity sha1-bRX7qITAhnnA136I53WegR4H+kE=
yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
yallist@^3.0.0, yallist@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9"
+ integrity sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=
yargs-parser@^7.0.0:
version "7.0.0"
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9"
+ integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k=
dependencies:
camelcase "^4.1.0"
yargs@^8.0.2:
version "8.0.2"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360"
+ integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A=
dependencies:
camelcase "^4.1.0"
cliui "^3.2.0"
@@ -2833,6 +3276,7 @@ yargs@^8.0.2:
yargs@~3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
+ integrity sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=
dependencies:
camelcase "^1.0.2"
cliui "^2.1.0"