{"version":3,"sources":["jsdelivr-header.js","/npm/lodash-inflection@1.5.0/lib/lodash-inflection.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCAA,SAAU,EAAM,GACQ,mBAAX,QAAyB,OAAO,IAEzC,OAAO,CAAC,UAAW,GACS,mBAAZ,SAA6C,iBAAZ,QAIjD,OAAO,QAAU,EAAQ,QAAQ,UAAU,gBAG3C,EAAQ,EAAK,EAEhB,CAbD,CAaG,MAAM,SAAS,EAAG,GACnB,IAAI,EAAe,GACf,EAAe,GACf,EAAe,GAEnB,SAAS,EAAS,EAAU,GAE1B,OADQ,EAAE,SAAW,EAAE,UACd,EAAU,EACrB,CAKA,IAAI,EAAY,CASd,KAAM,SAAS,EAAM,EAAM,GACzB,IAAI,EAAU,IAAI,OAAO,EAAK,QAAU,EAAM,MAE9C,OAAO,EAAQ,KAAK,GAAQ,EAAK,QAAQ,EAAS,GAAe,IACnE,EAMA,OAAQ,SAAS,EAAM,GACrB,EAAQ,QAAQ,CAAC,EAAM,GACzB,EASA,UAAW,SAAS,EAAM,EAAO,GAC/B,IAAI,EAEJ,GAAI,IAAU,EACZ,EAAQ,WAAW,GACnB,EAAoB,IAAV,EAAe,KAAK,YAAY,GAAQ,KAAK,UAAU,GACjE,EAAS,EAAkB,CAAC,EAAO,GAAQ,KAAK,KAAO,MAClD,CACL,GAAI,EAAS,EAAc,GACzB,OAAO,EAGT,EAAS,EAET,EAAE,GAAS,KAAK,SAAS,GACvB,IAAI,EAAO,KAAK,KAAK,EAAM,EAAK,GAAI,EAAK,IAEzC,QAAO,IAAQ,EAAS,EAC1B,EAAE,KAAK,MACT,CAEA,OAAO,CACT,EAMA,SAAU,SAAS,EAAM,GACvB,EAAU,QAAQ,CAAC,EAAM,GAC3B,EAMA,YAAa,SAAS,GACpB,GAAI,EAAS,EAAc,GACzB,OAAO,EAGT,IAAI,EAAS,EAQb,OANA,EAAE,GAAW,KAAK,SAAS,GACzB,IAAI,EAAO,KAAK,KAAK,EAAM,EAAK,GAAI,EAAK,IAEzC,QAAO,IAAQ,EAAS,EAC1B,EAAE,KAAK,OAEA,CACT,EAQA,UAAW,SAAS,EAAU,GAC5B,KAAK,OAAO,MAAQ,EAAW,MAAO,GACtC,KAAK,SAAS,MAAQ,EAAS,MAAO,EACxC,EAMA,YAAa,SAAS,GACpB,EAAa,QAAQ,EACvB,EAKA,WAAY,SAAS,GACnB,GAAI,MAAM,GACR,OAAO,EAIT,IAAI,GADJ,EAAS,EAAO,YACO,OAAO,GAC1B,EAAgB,EAAO,OAAO,GAElC,GAAsB,OAAlB,GAA4C,OAAlB,GAA4C,OAAlB,EACtD,OAAO,EAAS,KAGlB,OAAQ,GACN,IAAK,IACH,OAAO,EAAS,KAClB,IAAK,IACH,OAAO,EAAS,KAClB,IAAK,IACH,OAAO,EAAS,KAClB,QACE,OAAO,EAAS,KAEtB,EAMA,SAAU,SAAS,GACjB,MAAqB,iBAAV,EACF,EAGF,EAAM,QAAQ,QAAQ,SAAS,GACpC,OAAO,EAAK,OAAO,GAAG,cAAgB,EAAK,MAAM,EACnD,GACF,EAMA,iBAAkB,WA6EhB,OA5EA,EAAe,GACf,EAAe,GACf,EAAe,GAEf,KAAK,OAAO,IAA6B,KACzC,KAAK,OAAO,KAA6B,KACzC,KAAK,OAAO,gBAA6B,QACzC,KAAK,OAAO,iBAA6B,OACzC,KAAK,OAAO,gBAA6B,OACzC,KAAK,OAAO,kBAA6B,QACzC,KAAK,OAAO,SAA6B,SACzC,KAAK,OAAO,mBAA6B,SACzC,KAAK,OAAO,YAA6B,OACzC,KAAK,OAAO,WAA6B,OACzC,KAAK,OAAO,OAA6B,OACzC,KAAK,OAAO,yBAA6B,WACzC,KAAK,OAAO,UAA6B,OACzC,KAAK,OAAO,mBAA6B,SACzC,KAAK,OAAO,gBAA6B,QACzC,KAAK,OAAO,4BAA6B,UACzC,KAAK,OAAO,aAA6B,SACzC,KAAK,OAAO,YAA6B,SACzC,KAAK,OAAO,SAA6B,QACzC,KAAK,OAAO,WAA6B,MACzC,KAAK,OAAO,UAA6B,SAEzC,KAAK,SAAS,KAAuE,IACrF,KAAK,SAAS,QAAuE,MACrF,KAAK,SAAS,UAAuE,SACrF,KAAK,SAAS,WAAuE,QACrF,KAAK,SAAS,sEAAuE,WACrF,KAAK,SAAS,qBAAuE,SACrF,KAAK,SAAS,aAAuE,QACrF,KAAK,SAAS,WAAuE,MACrF,KAAK,SAAS,WAAuE,MACrF,KAAK,SAAS,eAAuE,OACrF,KAAK,SAAS,qBAAuE,OACrF,KAAK,SAAS,YAAuE,WACrF,KAAK,SAAS,YAAuE,UACrF,KAAK,SAAS,kBAAuE,MACrF,KAAK,SAAS,YAAuE,UACrF,KAAK,SAAS,cAAuE,MACrF,KAAK,SAAS,SAAuE,MACrF,KAAK,SAAS,WAAuE,MACrF,KAAK,SAAS,sBAAuE,QACrF,KAAK,SAAS,cAAuE,SACrF,KAAK,SAAS,qBAAuE,QACrF,KAAK,SAAS,uBAAuE,MACrF,KAAK,SAAS,UAAuE,MACrF,KAAK,SAAS,kBAAuE,QACrF,KAAK,SAAS,cAAuE,QACrF,KAAK,SAAS,aAAuE,MACrF,KAAK,SAAS,eAAuE,MAErF,KAAK,UAAU,SAAU,UACzB,KAAK,UAAU,MAAU,OACzB,KAAK,UAAU,QAAU,YACzB,KAAK,UAAU,MAAU,SACzB,KAAK,UAAU,OAAU,SACzB,KAAK,UAAU,MAAU,QACzB,KAAK,UAAU,SAAU,WAEzB,KAAK,YAAY,aACjB,KAAK,YAAY,eACjB,KAAK,YAAY,QACjB,KAAK,YAAY,SACjB,KAAK,YAAY,WACjB,KAAK,YAAY,UACjB,KAAK,YAAY,QACjB,KAAK,YAAY,SACjB,KAAK,YAAY,SACjB,KAAK,YAAY,SACjB,KAAK,YAAY,QACjB,KAAK,YAAY,QACjB,KAAK,YAAY,SAEV,IACT,GAQF,OAFA,EAAE,MAAM,EAAU,oBAEX,CACT","file":"/npm/lodash-inflection@1.5.0/lib/lodash-inflection.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/lodash-inflection@1.5.0/lib/lodash-inflection.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","//  lodash-inflection.js\n//  (c) 2014 Jeremy Ruppel\n//  lodash-inflection is freely distributable under the MIT license.\n//  Portions of lodash-inflection are inspired or borrowed from ActiveSupport\n//  Version 1.0.0\n\n(function(root, factory) {\n  if (typeof define === 'function' && define.amd) {\n    // AMD. Register as an anonymous module.\n    define(['lodash'], factory);\n  } else if (typeof require === 'function' && typeof exports === 'object') {\n    // Node. Does not work with strict CommonJS, but\n    // only CommonJS-like environments that support module.exports,\n    // like Node.\n    module.exports = factory(require('lodash').runInContext());\n  } else {\n    // Browser globals (root is window)\n    factory(root._);\n  }\n})(this, function(_, undefined) {\n  var plurals      = [];\n  var singulars    = [];\n  var uncountables = [];\n\n  function includes(haystack, needle) {\n    var f = _.include || _.includes;\n    return f(haystack, needle);\n  }\n\n  /**\n   * Inflector\n   */\n  var inflector = {\n\n    /**\n     * `gsub` is a method that is just slightly different than our\n     * standard `String#replace`. The main differences are that it\n     * matches globally every time, and if no substitution is made\n     * it returns `null`. It accepts a string for `word` and\n     * `replacement`, and `rule` can be either a string or a regex.\n     */\n    gsub: function(word, rule, replacement) {\n      var pattern = new RegExp(rule.source || rule, 'gi');\n\n      return pattern.test(word) ? word.replace(pattern, replacement) : null;\n    },\n\n    /**\n     * `plural` creates a new pluralization rule for the inflector.\n     * `rule` can be either a string or a regex.\n     */\n    plural: function(rule, replacement) {\n      plurals.unshift([rule, replacement]);\n    },\n\n    /**\n     * Pluralizes the string passed to it. It also can accept a\n     * number as the second parameter. If a number is provided,\n     * it will pluralize the word to match the number. Optionally,\n     * you can pass `true` as a third parameter. If found, this\n     * will include the count with the output.\n     */\n    pluralize: function(word, count, includeNumber) {\n      var result;\n\n      if (count !== undefined) {\n        count = parseFloat(count);\n        result = (count === 1) ? this.singularize(word) : this.pluralize(word);\n        result = (includeNumber) ? [count, result].join(' ') : result;\n      } else {\n        if (includes(uncountables, word)) {\n          return word;\n        }\n\n        result = word;\n\n        _(plurals).find(function(rule) {\n          var gsub = this.gsub(word, rule[0], rule[1]);\n\n          return gsub ? (result = gsub) : false;\n        }.bind(this));\n      }\n\n      return result;\n    },\n\n    /**\n     * `singular` creates a new singularization rule for the\n     * inflector. `rule` can be either a string or a regex.\n     */\n    singular: function(rule, replacement) {\n      singulars.unshift([rule, replacement]);\n    },\n\n    /**\n     * `singularize` returns the singular version of the plural\n     * passed to it.\n     */\n    singularize: function(word) {\n      if (includes(uncountables, word)) {\n        return word;\n      }\n\n      var result = word;\n\n      _(singulars).find(function(rule) {\n        var gsub = this.gsub(word, rule[0], rule[1]);\n\n        return gsub ? (result = gsub) : false;\n      }.bind(this));\n\n      return result;\n    },\n\n    /**\n     * `irregular` is a shortcut method to create both a\n     * pluralization and singularization rule for the word at\n     * the same time. You must supply both the singular form\n     * and the plural form as explicit strings.\n     */\n    irregular: function(singular, plural) {\n      this.plural('\\\\b' + singular + '\\\\b', plural);\n      this.singular('\\\\b' + plural + '\\\\b', singular);\n    },\n\n    /**\n     * `uncountable` creates a new uncountable rule for `word`.\n     * Uncountable words do not get pluralized or singularized.\n     */\n    uncountable: function(word) {\n      uncountables.unshift(word);\n    },\n\n    /**\n     * `ordinalize` adds an ordinal suffix to `number`.\n     */\n    ordinalize: function(number) {\n      if (isNaN(number)) {\n        return number;\n      }\n\n      number = number.toString();\n      var lastDigit = number.slice(-1);\n      var lastTwoDigits = number.slice(-2);\n\n      if (lastTwoDigits === '11' || lastTwoDigits === '12' || lastTwoDigits === '13') {\n        return number + 'th';\n      }\n\n      switch (lastDigit) {\n        case '1':\n          return number + 'st';\n        case '2':\n          return number + 'nd';\n        case '3':\n          return number + 'rd';\n        default:\n          return number + 'th';\n      }\n    },\n\n    /**\n     * `titleize` capitalizes the first letter of each word in\n     * the string `words`. It preserves the existing whitespace.\n     */\n    titleize: function(words) {\n      if (typeof words !== 'string') {\n        return words;\n      }\n\n      return words.replace(/\\S+/g, function(word) {\n        return word.charAt(0).toUpperCase() + word.slice(1);\n      });\n    },\n\n    /**\n     * Resets the inflector's rules to their initial state,\n     * clearing out any custom rules that have been added.\n     */\n    resetInflections: function() {\n      plurals      = [];\n      singulars    = [];\n      uncountables = [];\n\n      this.plural(/$/,                         's');\n      this.plural(/s$/,                        's');\n      this.plural(/^(ax|test)is$/,             '$1es');\n      this.plural(/(octop|vir)us$/,            '$1i');\n      this.plural(/(octop|vir)i$/,             '$1i');\n      this.plural(/(alias|status)$/,           '$1es');\n      this.plural(/(bu)s$/,                    '$1ses');\n      this.plural(/(buffal|tomat)o$/,          '$1oes');\n      this.plural(/([ti])um$/,                 '$1a');\n      this.plural(/([ti])a$/,                  '$1a');\n      this.plural(/sis$/,                      'ses');\n      this.plural(/(?:([^f])fe|([lr])?f)$/,    '$1$2ves');\n      this.plural(/(hive)$/,                   '$1s');\n      this.plural(/([^aeiouy]|qu)y$/,          '$1ies');\n      this.plural(/(x|ch|ss|sh)$/,             '$1es');\n      this.plural(/(matr|vert|ind)(?:ix|ex)$/, '$1ices');\n      this.plural(/(m|l)ouse$/,                '$1ice');\n      this.plural(/(m|l)ice$/,                 '$1ice');\n      this.plural(/^(ox)$/,                    '$1en');\n      this.plural(/^(oxen)$/,                  '$1');\n      this.plural(/(quiz)$/,                   '$1zes');\n\n      this.singular(/s$/,                                                                  '');\n      this.singular(/(ss)$/,                                                               '$1');\n      this.singular(/(n)ews$/,                                                             '$1ews');\n      this.singular(/([ti])a$/,                                                            '$1um');\n      this.singular(/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)$/, '$1$2sis');\n      this.singular(/(^analy)(sis|ses)$/,                                                  '$1sis');\n      this.singular(/([^f])ves$/,                                                          '$1fe');\n      this.singular(/(hive)s$/,                                                            '$1');\n      this.singular(/(tive)s$/,                                                            '$1');\n      this.singular(/([lrae])ves$/,                                                        '$1f');\n      this.singular(/([^aeiouy]|qu)ies$/,                                                  '$1y');\n      this.singular(/(s)eries$/,                                                           '$1eries');\n      this.singular(/(m)ovies$/,                                                           '$1ovie');\n      this.singular(/(x|ch|ss|sh)es$/,                                                     '$1');\n      this.singular(/(m|l)ice$/,                                                           '$1ouse');\n      this.singular(/(bus)(es)?$/,                                                         '$1');\n      this.singular(/(o)es$/,                                                              '$1');\n      this.singular(/(shoe)s$/,                                                            '$1');\n      this.singular(/(cris|test)(is|es)$/,                                                 '$1is');\n      this.singular(/^(a)x[ie]s$/,                                                         '$1xis');\n      this.singular(/(octop|vir)(us|i)$/,                                                  '$1us');\n      this.singular(/(alias|status)(es)?$/,                                                '$1');\n      this.singular(/^(ox)en/,                                                             '$1');\n      this.singular(/(vert|ind)ices$/,                                                     '$1ex');\n      this.singular(/(matr)ices$/,                                                         '$1ix');\n      this.singular(/(quiz)zes$/,                                                          '$1');\n      this.singular(/(database)s$/,                                                        '$1');\n\n      this.irregular('person', 'people');\n      this.irregular('man',    'men');\n      this.irregular('child',  'children');\n      this.irregular('sex',    'sexes');\n      this.irregular('move',   'moves');\n      this.irregular('cow',    'kine');\n      this.irregular('zombie', 'zombies');\n\n      this.uncountable('equipment');\n      this.uncountable('information');\n      this.uncountable('rice');\n      this.uncountable('money');\n      this.uncountable('species');\n      this.uncountable('series');\n      this.uncountable('fish');\n      this.uncountable('sheep');\n      this.uncountable('jeans');\n      this.uncountable('moose');\n      this.uncountable('deer');\n      this.uncountable('news');\n      this.uncountable('music');\n\n      return this;\n    }\n  };\n\n  /**\n   * Lodash integration\n   */\n  _.mixin(inflector.resetInflections());\n\n  return inflector;\n});\n"]}