{"version":3,"sources":["jsdelivr-header.js","/npm/derequire@2.1.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,MAAQ,QAAQ,SAChB,OAAS,QAAQ,UAEjB,cAAgB,cAEpB,SAAS,MAAM,EAAK,EAAK,GACvB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAI,OAAQ,EAAI,EAAG,IACrC,EAAI,EAAS,GAAK,EAAI,EAE1B,CAEA,SAAS,OAAO,EAAM,EAAS,GAE7B,IAAI,EAsBA,EANJ,IATE,EANG,MAAM,QAAQ,GAMR,EALA,CAAC,CACR,KAAM,GAAa,UACnB,GAAI,GAAW,aAMZ,SAAQ,SAAS,GACtB,GAAI,EAAM,GAAG,SAAW,EAAM,KAAK,OACjC,MAAM,IAAI,MAAM,IAAM,EAAM,GAAK,UAAY,EAAM,KAAO,4BAE9D,IAEsB,IAAlB,EAAO,QACY,YAAnB,EAAO,GAAG,OACT,cAAc,KAAK,GACtB,OAAO,EAIT,IACE,EAAM,MAAM,MAAM,EAAM,CACtB,YAAa,GACb,QAAQ,EACR,4BAA4B,GAEhC,CAAE,MAAM,GAEN,OAAO,CACT,CAMA,EAAO,OAAO,GAAM,MAAM,IAI1B,IAFA,IAAI,EAAU,OAAO,QAAQ,EAAK,CAAC,YAAY,EAAM,YAAa,IAEzD,EAAI,EAAG,EAAK,EAAQ,OAAO,OAAQ,EAAI,EAAI,IAGlD,IAFA,IAAI,EAAQ,EAAQ,OAAO,GAElB,EAAI,EAAG,EAAK,EAAM,UAAU,OAAQ,EAAI,EAAI,IAAK,CACxD,IAAI,EAAW,EAAM,UAAU,GAE/B,IAAI,EAAS,SAA2C,IAAhC,EAAS,YAAY,OAI7C,IAAK,IAAI,EAAI,EAAG,EAAK,EAAO,OAAQ,EAAI,EAAI,IAAK,CAC/C,IAAI,EAAQ,EAAO,GAEnB,GAAI,EAAS,OAAS,EAAM,KAA5B,CAIA,IAAK,IAAI,EAAI,EAAG,EAAK,EAAS,YAAY,OAAQ,EAAI,EAAI,IAAK,CAC7D,IAAI,EAAM,EAAS,YAAY,GAC/B,MAAM,EAAM,EAAM,GAAI,EAAI,MAAM,GAClC,CAEA,IAAK,IAAI,EAAI,EAAG,EAAK,EAAS,WAAW,OAAQ,EAAI,EAAI,IAAK,CAC5D,IAAI,EAAM,EAAS,WAAW,GAC9B,MAAM,EAAM,EAAM,GAAI,EAAI,WAAW,MAAM,GAC7C,CAVA,CAWF,CACF,CAGF,OAAO,EAAK,KAAK,GACnB,CAEA,OAAO,QAAU","file":"/npm/derequire@2.1.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/derequire@2.1.1/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar acorn = require('acorn');\nvar escope = require('escope');\n\nvar requireRegexp = /\\brequire\\b/;\n\nfunction write(arr, str, offset) {\n  for (var i = 0, l = str.length; i < l; i++) {\n    arr[offset + i] = str[i];\n  }\n}\n\nfunction rename(code, tokenTo, tokenFrom) {\n\n  var tokens;\n  if (!Array.isArray(tokenTo)) {\n    tokens = [{\n      from: tokenFrom || 'require',\n      to: tokenTo || '_dereq_'\n    }];\n  } else {\n    tokens = tokenTo;\n  }\n\n  tokens.forEach(function(token) {\n    if (token.to.length !== token.from.length) {\n      throw new Error('\"' + token.to + '\" and \"' + token.from + '\" must be the same length');\n    }\n  });\n\n  if (tokens.length === 1 &&\n      tokens[0].from === 'require' &&\n      !requireRegexp.test(code)) {\n    return code;\n  }\n\n  var ast;\n  try {\n    ast = acorn.parse(code, {\n      ecmaVersion: 11,\n      ranges: true,\n      allowReturnOutsideFunction: true\n    });\n  } catch(err) {\n    // this should probably log something and/or exit violently\n    return code;\n  }\n\n  //\n  // heavily inspired by https://github.com/estools/esshorten\n  //\n\n  code = String(code).split('');\n\n  var manager = escope.analyze(ast, {optimistic: true, ecmaVersion: 8});\n\n  for (var i = 0, iz = manager.scopes.length; i < iz; i++) {\n    var scope = manager.scopes[i];\n\n    for (var j = 0, jz = scope.variables.length; j < jz; j++) {\n      var variable = scope.variables[j];\n\n      if (variable.tainted || variable.identifiers.length === 0) {\n        continue;\n      }\n\n      for (var k = 0, kz = tokens.length; k < kz; k++) {\n        var token = tokens[k];\n\n        if (variable.name !== token.from) {\n          continue;\n        }\n\n        for (var l = 0, lz = variable.identifiers.length; l < lz; l++) {\n          var def = variable.identifiers[l];\n          write(code, token.to, def.range[0]);\n        }\n\n        for (var m = 0, mz = variable.references.length; m < mz; m++) {\n          var ref = variable.references[m];\n          write(code, token.to, ref.identifier.range[0]);\n        }\n      }\n    }\n  }\n\n  return code.join('');\n}\n\nmodule.exports = rename;\n"]}