{"id":"node_modules/browserify-aes/aes.js","dependencies":[{"name":"/www/ml-classifier/example/package.json","includedInParent":true,"mtime":1551949031632},{"name":"/www/ml-classifier/example/.babelrc","includedInParent":true,"mtime":1551703756168},{"name":"/www/ml-classifier/example/node_modules/browserify-aes/package.json","includedInParent":true,"mtime":1542304152258},{"name":"safe-buffer","loc":{"line":6,"column":21},"parent":"/www/ml-classifier/example/node_modules/browserify-aes/aes.js","resolved":"/www/ml-classifier/example/node_modules/safe-buffer/index.js"}],"generated":{"js":"\n// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n  if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n  var len = (buf.length / 4) | 0\n  var out = new Array(len)\n\n  for (var i = 0; i < len; i++) {\n    out[i] = buf.readUInt32BE(i * 4)\n  }\n\n  return out\n}\n\nfunction scrubVec (v) {\n  for (var i = 0; i < v.length; v++) {\n    v[i] = 0\n  }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n  var SUB_MIX0 = SUB_MIX[0]\n  var SUB_MIX1 = SUB_MIX[1]\n  var SUB_MIX2 = SUB_MIX[2]\n  var SUB_MIX3 = SUB_MIX[3]\n\n  var s0 = M[0] ^ keySchedule[0]\n  var s1 = M[1] ^ keySchedule[1]\n  var s2 = M[2] ^ keySchedule[2]\n  var s3 = M[3] ^ keySchedule[3]\n  var t0, t1, t2, t3\n  var ksRow = 4\n\n  for (var round = 1; round < nRounds; round++) {\n    t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n    t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n    t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n    t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n    s0 = t0\n    s1 = t1\n    s2 = t2\n    s3 = t3\n  }\n\n  t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n  t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n  t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n  t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n  t0 = t0 >>> 0\n  t1 = t1 >>> 0\n  t2 = t2 >>> 0\n  t3 = t3 >>> 0\n\n  return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n  // Compute double table\n  var d = new Array(256)\n  for (var j = 0; j < 256; j++) {\n    if (j < 128) {\n      d[j] = j << 1\n    } else {\n      d[j] = (j << 1) ^ 0x11b\n    }\n  }\n\n  var SBOX = []\n  var INV_SBOX = []\n  var SUB_MIX = [[], [], [], []]\n  var INV_SUB_MIX = [[], [], [], []]\n\n  // Walk GF(2^8)\n  var x = 0\n  var xi = 0\n  for (var i = 0; i < 256; ++i) {\n    // Compute sbox\n    var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n    sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n    SBOX[x] = sx\n    INV_SBOX[sx] = x\n\n    // Compute multiplication\n    var x2 = d[x]\n    var x4 = d[x2]\n    var x8 = d[x4]\n\n    // Compute sub bytes, mix columns tables\n    var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n    SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n    SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n    SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n    SUB_MIX[3][x] = t\n\n    // Compute inv sub bytes, inv mix columns tables\n    t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n    INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n    INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n    INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n    INV_SUB_MIX[3][sx] = t\n\n    if (x === 0) {\n      x = xi = 1\n    } else {\n      x = x2 ^ d[d[d[x8 ^ x2]]]\n      xi ^= d[d[xi]]\n    }\n  }\n\n  return {\n    SBOX: SBOX,\n    INV_SBOX: INV_SBOX,\n    SUB_MIX: SUB_MIX,\n    INV_SUB_MIX: INV_SUB_MIX\n  }\n})()\n\nfunction AES (key) {\n  this._key = asUInt32Array(key)\n  this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n  var keyWords = this._key\n  var keySize = keyWords.length\n  var nRounds = keySize + 6\n  var ksRows = (nRounds + 1) * 4\n\n  var keySchedule = []\n  for (var k = 0; k < keySize; k++) {\n    keySchedule[k] = keyWords[k]\n  }\n\n  for (k = keySize; k < ksRows; k++) {\n    var t = keySchedule[k - 1]\n\n    if (k % keySize === 0) {\n      t = (t << 8) | (t >>> 24)\n      t =\n        (G.SBOX[t >>> 24] << 24) |\n        (G.SBOX[(t >>> 16) & 0xff] << 16) |\n        (G.SBOX[(t >>> 8) & 0xff] << 8) |\n        (G.SBOX[t & 0xff])\n\n      t ^= RCON[(k / keySize) | 0] << 24\n    } else if (keySize > 6 && k % keySize === 4) {\n      t =\n        (G.SBOX[t >>> 24] << 24) |\n        (G.SBOX[(t >>> 16) & 0xff] << 16) |\n        (G.SBOX[(t >>> 8) & 0xff] << 8) |\n        (G.SBOX[t & 0xff])\n    }\n\n    keySchedule[k] = keySchedule[k - keySize] ^ t\n  }\n\n  var invKeySchedule = []\n  for (var ik = 0; ik < ksRows; ik++) {\n    var ksR = ksRows - ik\n    var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n    if (ik < 4 || ksR <= 4) {\n      invKeySchedule[ik] = tt\n    } else {\n      invKeySchedule[ik] =\n        G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n        G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n        G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n        G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n    }\n  }\n\n  this._nRounds = nRounds\n  this._keySchedule = keySchedule\n  this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n  M = asUInt32Array(M)\n  return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n  var out = this.encryptBlockRaw(M)\n  var buf = Buffer.allocUnsafe(16)\n  buf.writeUInt32BE(out[0], 0)\n  buf.writeUInt32BE(out[1], 4)\n  buf.writeUInt32BE(out[2], 8)\n  buf.writeUInt32BE(out[3], 12)\n  return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n  M = asUInt32Array(M)\n\n  // swap\n  var m1 = M[1]\n  M[1] = M[3]\n  M[3] = m1\n\n  var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n  var buf = Buffer.allocUnsafe(16)\n  buf.writeUInt32BE(out[0], 0)\n  buf.writeUInt32BE(out[3], 4)\n  buf.writeUInt32BE(out[2], 8)\n  buf.writeUInt32BE(out[1], 12)\n  return buf\n}\n\nAES.prototype.scrub = function () {\n  scrubVec(this._keySchedule)\n  scrubVec(this._invKeySchedule)\n  scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n","map":{"mappings":[{"source":"node_modules/browserify-aes/aes.js","original":{"line":1,"column":0},"generated":{"line":2,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":2,"column":0},"generated":{"line":3,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":3,"column":0},"generated":{"line":4,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":4,"column":0},"generated":{"line":5,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":5,"column":0},"generated":{"line":6,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":6,"column":0},"generated":{"line":7,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":7,"column":0},"generated":{"line":8,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":8,"column":0},"generated":{"line":9,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":9,"column":0},"generated":{"line":10,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":10,"column":0},"generated":{"line":11,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":11,"column":0},"generated":{"line":12,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":12,"column":0},"generated":{"line":13,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":13,"column":0},"generated":{"line":14,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":14,"column":0},"generated":{"line":15,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":15,"column":0},"generated":{"line":16,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":16,"column":0},"generated":{"line":17,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":17,"column":0},"generated":{"line":18,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":18,"column":0},"generated":{"line":19,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":19,"column":0},"generated":{"line":20,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":20,"column":0},"generated":{"line":21,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":21,"column":0},"generated":{"line":22,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":22,"column":0},"generated":{"line":23,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":23,"column":0},"generated":{"line":24,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":24,"column":0},"generated":{"line":25,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":25,"column":0},"generated":{"line":26,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":26,"column":0},"generated":{"line":27,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":27,"column":0},"generated":{"line":28,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":28,"column":0},"generated":{"line":29,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":29,"column":0},"generated":{"line":30,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":30,"column":0},"generated":{"line":31,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":31,"column":0},"generated":{"line":32,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":32,"column":0},"generated":{"line":33,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":33,"column":0},"generated":{"line":34,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":34,"column":0},"generated":{"line":35,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":35,"column":0},"generated":{"line":36,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":36,"column":0},"generated":{"line":37,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":37,"column":0},"generated":{"line":38,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":38,"column":0},"generated":{"line":39,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":39,"column":0},"generated":{"line":40,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":40,"column":0},"generated":{"line":41,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":41,"column":0},"generated":{"line":42,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":42,"column":0},"generated":{"line":43,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":43,"column":0},"generated":{"line":44,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":44,"column":0},"generated":{"line":45,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":45,"column":0},"generated":{"line":46,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":46,"column":0},"generated":{"line":47,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":47,"column":0},"generated":{"line":48,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":48,"column":0},"generated":{"line":49,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":49,"column":0},"generated":{"line":50,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":50,"column":0},"generated":{"line":51,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":51,"column":0},"generated":{"line":52,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":52,"column":0},"generated":{"line":53,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":53,"column":0},"generated":{"line":54,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":54,"column":0},"generated":{"line":55,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":55,"column":0},"generated":{"line":56,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":56,"column":0},"generated":{"line":57,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":57,"column":0},"generated":{"line":58,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":58,"column":0},"generated":{"line":59,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":59,"column":0},"generated":{"line":60,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":60,"column":0},"generated":{"line":61,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":61,"column":0},"generated":{"line":62,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":62,"column":0},"generated":{"line":63,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":63,"column":0},"generated":{"line":64,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":64,"column":0},"generated":{"line":65,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":65,"column":0},"generated":{"line":66,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":66,"column":0},"generated":{"line":67,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":67,"column":0},"generated":{"line":68,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":68,"column":0},"generated":{"line":69,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":69,"column":0},"generated":{"line":70,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":70,"column":0},"generated":{"line":71,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":71,"column":0},"generated":{"line":72,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":72,"column":0},"generated":{"line":73,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":73,"column":0},"generated":{"line":74,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":74,"column":0},"generated":{"line":75,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":75,"column":0},"generated":{"line":76,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":76,"column":0},"generated":{"line":77,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":77,"column":0},"generated":{"line":78,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":78,"column":0},"generated":{"line":79,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":79,"column":0},"generated":{"line":80,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":80,"column":0},"generated":{"line":81,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":81,"column":0},"generated":{"line":82,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":82,"column":0},"generated":{"line":83,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":83,"column":0},"generated":{"line":84,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":84,"column":0},"generated":{"line":85,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":85,"column":0},"generated":{"line":86,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":86,"column":0},"generated":{"line":87,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":87,"column":0},"generated":{"line":88,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":88,"column":0},"generated":{"line":89,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":89,"column":0},"generated":{"line":90,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":90,"column":0},"generated":{"line":91,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":91,"column":0},"generated":{"line":92,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":92,"column":0},"generated":{"line":93,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":93,"column":0},"generated":{"line":94,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":94,"column":0},"generated":{"line":95,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":95,"column":0},"generated":{"line":96,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":96,"column":0},"generated":{"line":97,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":97,"column":0},"generated":{"line":98,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":98,"column":0},"generated":{"line":99,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":99,"column":0},"generated":{"line":100,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":100,"column":0},"generated":{"line":101,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":101,"column":0},"generated":{"line":102,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":102,"column":0},"generated":{"line":103,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":103,"column":0},"generated":{"line":104,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":104,"column":0},"generated":{"line":105,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":105,"column":0},"generated":{"line":106,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":106,"column":0},"generated":{"line":107,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":107,"column":0},"generated":{"line":108,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":108,"column":0},"generated":{"line":109,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":109,"column":0},"generated":{"line":110,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":110,"column":0},"generated":{"line":111,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":111,"column":0},"generated":{"line":112,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":112,"column":0},"generated":{"line":113,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":113,"column":0},"generated":{"line":114,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":114,"column":0},"generated":{"line":115,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":115,"column":0},"generated":{"line":116,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":116,"column":0},"generated":{"line":117,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":117,"column":0},"generated":{"line":118,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":118,"column":0},"generated":{"line":119,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":119,"column":0},"generated":{"line":120,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":120,"column":0},"generated":{"line":121,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":121,"column":0},"generated":{"line":122,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":122,"column":0},"generated":{"line":123,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":123,"column":0},"generated":{"line":124,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":124,"column":0},"generated":{"line":125,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":125,"column":0},"generated":{"line":126,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":126,"column":0},"generated":{"line":127,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":127,"column":0},"generated":{"line":128,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":128,"column":0},"generated":{"line":129,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":129,"column":0},"generated":{"line":130,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":130,"column":0},"generated":{"line":131,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":131,"column":0},"generated":{"line":132,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":132,"column":0},"generated":{"line":133,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":133,"column":0},"generated":{"line":134,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":134,"column":0},"generated":{"line":135,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":135,"column":0},"generated":{"line":136,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":136,"column":0},"generated":{"line":137,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":137,"column":0},"generated":{"line":138,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":138,"column":0},"generated":{"line":139,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":139,"column":0},"generated":{"line":140,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":140,"column":0},"generated":{"line":141,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":141,"column":0},"generated":{"line":142,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":142,"column":0},"generated":{"line":143,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":143,"column":0},"generated":{"line":144,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":144,"column":0},"generated":{"line":145,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":145,"column":0},"generated":{"line":146,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":146,"column":0},"generated":{"line":147,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":147,"column":0},"generated":{"line":148,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":148,"column":0},"generated":{"line":149,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":149,"column":0},"generated":{"line":150,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":150,"column":0},"generated":{"line":151,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":151,"column":0},"generated":{"line":152,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":152,"column":0},"generated":{"line":153,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":153,"column":0},"generated":{"line":154,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":154,"column":0},"generated":{"line":155,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":155,"column":0},"generated":{"line":156,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":156,"column":0},"generated":{"line":157,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":157,"column":0},"generated":{"line":158,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":158,"column":0},"generated":{"line":159,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":159,"column":0},"generated":{"line":160,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":160,"column":0},"generated":{"line":161,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":161,"column":0},"generated":{"line":162,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":162,"column":0},"generated":{"line":163,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":163,"column":0},"generated":{"line":164,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":164,"column":0},"generated":{"line":165,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":165,"column":0},"generated":{"line":166,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":166,"column":0},"generated":{"line":167,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":167,"column":0},"generated":{"line":168,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":168,"column":0},"generated":{"line":169,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":169,"column":0},"generated":{"line":170,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":170,"column":0},"generated":{"line":171,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":171,"column":0},"generated":{"line":172,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":172,"column":0},"generated":{"line":173,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":173,"column":0},"generated":{"line":174,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":174,"column":0},"generated":{"line":175,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":175,"column":0},"generated":{"line":176,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":176,"column":0},"generated":{"line":177,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":177,"column":0},"generated":{"line":178,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":178,"column":0},"generated":{"line":179,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":179,"column":0},"generated":{"line":180,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":180,"column":0},"generated":{"line":181,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":181,"column":0},"generated":{"line":182,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":182,"column":0},"generated":{"line":183,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":183,"column":0},"generated":{"line":184,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":184,"column":0},"generated":{"line":185,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":185,"column":0},"generated":{"line":186,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":186,"column":0},"generated":{"line":187,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":187,"column":0},"generated":{"line":188,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":188,"column":0},"generated":{"line":189,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":189,"column":0},"generated":{"line":190,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":190,"column":0},"generated":{"line":191,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":191,"column":0},"generated":{"line":192,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":192,"column":0},"generated":{"line":193,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":193,"column":0},"generated":{"line":194,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":194,"column":0},"generated":{"line":195,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":195,"column":0},"generated":{"line":196,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":196,"column":0},"generated":{"line":197,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":197,"column":0},"generated":{"line":198,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":198,"column":0},"generated":{"line":199,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":199,"column":0},"generated":{"line":200,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":200,"column":0},"generated":{"line":201,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":201,"column":0},"generated":{"line":202,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":202,"column":0},"generated":{"line":203,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":203,"column":0},"generated":{"line":204,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":204,"column":0},"generated":{"line":205,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":205,"column":0},"generated":{"line":206,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":206,"column":0},"generated":{"line":207,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":207,"column":0},"generated":{"line":208,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":208,"column":0},"generated":{"line":209,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":209,"column":0},"generated":{"line":210,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":210,"column":0},"generated":{"line":211,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":211,"column":0},"generated":{"line":212,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":212,"column":0},"generated":{"line":213,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":213,"column":0},"generated":{"line":214,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":214,"column":0},"generated":{"line":215,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":215,"column":0},"generated":{"line":216,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":216,"column":0},"generated":{"line":217,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":217,"column":0},"generated":{"line":218,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":218,"column":0},"generated":{"line":219,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":219,"column":0},"generated":{"line":220,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":220,"column":0},"generated":{"line":221,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":221,"column":0},"generated":{"line":222,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":222,"column":0},"generated":{"line":223,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":223,"column":0},"generated":{"line":224,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":224,"column":0},"generated":{"line":225,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":225,"column":0},"generated":{"line":226,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":226,"column":0},"generated":{"line":227,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":227,"column":0},"generated":{"line":228,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":228,"column":0},"generated":{"line":229,"column":0}},{"source":"node_modules/browserify-aes/aes.js","original":{"line":229,"column":0},"generated":{"line":230,"column":0}}],"sources":{"node_modules/browserify-aes/aes.js":"// based on the aes implimentation in triple sec\n// https://github.com/keybase/triplesec\n// which is in turn based on the one from crypto-js\n// https://code.google.com/p/crypto-js/\n\nvar Buffer = require('safe-buffer').Buffer\n\nfunction asUInt32Array (buf) {\n  if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n\n  var len = (buf.length / 4) | 0\n  var out = new Array(len)\n\n  for (var i = 0; i < len; i++) {\n    out[i] = buf.readUInt32BE(i * 4)\n  }\n\n  return out\n}\n\nfunction scrubVec (v) {\n  for (var i = 0; i < v.length; v++) {\n    v[i] = 0\n  }\n}\n\nfunction cryptBlock (M, keySchedule, SUB_MIX, SBOX, nRounds) {\n  var SUB_MIX0 = SUB_MIX[0]\n  var SUB_MIX1 = SUB_MIX[1]\n  var SUB_MIX2 = SUB_MIX[2]\n  var SUB_MIX3 = SUB_MIX[3]\n\n  var s0 = M[0] ^ keySchedule[0]\n  var s1 = M[1] ^ keySchedule[1]\n  var s2 = M[2] ^ keySchedule[2]\n  var s3 = M[3] ^ keySchedule[3]\n  var t0, t1, t2, t3\n  var ksRow = 4\n\n  for (var round = 1; round < nRounds; round++) {\n    t0 = SUB_MIX0[s0 >>> 24] ^ SUB_MIX1[(s1 >>> 16) & 0xff] ^ SUB_MIX2[(s2 >>> 8) & 0xff] ^ SUB_MIX3[s3 & 0xff] ^ keySchedule[ksRow++]\n    t1 = SUB_MIX0[s1 >>> 24] ^ SUB_MIX1[(s2 >>> 16) & 0xff] ^ SUB_MIX2[(s3 >>> 8) & 0xff] ^ SUB_MIX3[s0 & 0xff] ^ keySchedule[ksRow++]\n    t2 = SUB_MIX0[s2 >>> 24] ^ SUB_MIX1[(s3 >>> 16) & 0xff] ^ SUB_MIX2[(s0 >>> 8) & 0xff] ^ SUB_MIX3[s1 & 0xff] ^ keySchedule[ksRow++]\n    t3 = SUB_MIX0[s3 >>> 24] ^ SUB_MIX1[(s0 >>> 16) & 0xff] ^ SUB_MIX2[(s1 >>> 8) & 0xff] ^ SUB_MIX3[s2 & 0xff] ^ keySchedule[ksRow++]\n    s0 = t0\n    s1 = t1\n    s2 = t2\n    s3 = t3\n  }\n\n  t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]\n  t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]\n  t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]\n  t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]\n  t0 = t0 >>> 0\n  t1 = t1 >>> 0\n  t2 = t2 >>> 0\n  t3 = t3 >>> 0\n\n  return [t0, t1, t2, t3]\n}\n\n// AES constants\nvar RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]\nvar G = (function () {\n  // Compute double table\n  var d = new Array(256)\n  for (var j = 0; j < 256; j++) {\n    if (j < 128) {\n      d[j] = j << 1\n    } else {\n      d[j] = (j << 1) ^ 0x11b\n    }\n  }\n\n  var SBOX = []\n  var INV_SBOX = []\n  var SUB_MIX = [[], [], [], []]\n  var INV_SUB_MIX = [[], [], [], []]\n\n  // Walk GF(2^8)\n  var x = 0\n  var xi = 0\n  for (var i = 0; i < 256; ++i) {\n    // Compute sbox\n    var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4)\n    sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63\n    SBOX[x] = sx\n    INV_SBOX[sx] = x\n\n    // Compute multiplication\n    var x2 = d[x]\n    var x4 = d[x2]\n    var x8 = d[x4]\n\n    // Compute sub bytes, mix columns tables\n    var t = (d[sx] * 0x101) ^ (sx * 0x1010100)\n    SUB_MIX[0][x] = (t << 24) | (t >>> 8)\n    SUB_MIX[1][x] = (t << 16) | (t >>> 16)\n    SUB_MIX[2][x] = (t << 8) | (t >>> 24)\n    SUB_MIX[3][x] = t\n\n    // Compute inv sub bytes, inv mix columns tables\n    t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100)\n    INV_SUB_MIX[0][sx] = (t << 24) | (t >>> 8)\n    INV_SUB_MIX[1][sx] = (t << 16) | (t >>> 16)\n    INV_SUB_MIX[2][sx] = (t << 8) | (t >>> 24)\n    INV_SUB_MIX[3][sx] = t\n\n    if (x === 0) {\n      x = xi = 1\n    } else {\n      x = x2 ^ d[d[d[x8 ^ x2]]]\n      xi ^= d[d[xi]]\n    }\n  }\n\n  return {\n    SBOX: SBOX,\n    INV_SBOX: INV_SBOX,\n    SUB_MIX: SUB_MIX,\n    INV_SUB_MIX: INV_SUB_MIX\n  }\n})()\n\nfunction AES (key) {\n  this._key = asUInt32Array(key)\n  this._reset()\n}\n\nAES.blockSize = 4 * 4\nAES.keySize = 256 / 8\nAES.prototype.blockSize = AES.blockSize\nAES.prototype.keySize = AES.keySize\nAES.prototype._reset = function () {\n  var keyWords = this._key\n  var keySize = keyWords.length\n  var nRounds = keySize + 6\n  var ksRows = (nRounds + 1) * 4\n\n  var keySchedule = []\n  for (var k = 0; k < keySize; k++) {\n    keySchedule[k] = keyWords[k]\n  }\n\n  for (k = keySize; k < ksRows; k++) {\n    var t = keySchedule[k - 1]\n\n    if (k % keySize === 0) {\n      t = (t << 8) | (t >>> 24)\n      t =\n        (G.SBOX[t >>> 24] << 24) |\n        (G.SBOX[(t >>> 16) & 0xff] << 16) |\n        (G.SBOX[(t >>> 8) & 0xff] << 8) |\n        (G.SBOX[t & 0xff])\n\n      t ^= RCON[(k / keySize) | 0] << 24\n    } else if (keySize > 6 && k % keySize === 4) {\n      t =\n        (G.SBOX[t >>> 24] << 24) |\n        (G.SBOX[(t >>> 16) & 0xff] << 16) |\n        (G.SBOX[(t >>> 8) & 0xff] << 8) |\n        (G.SBOX[t & 0xff])\n    }\n\n    keySchedule[k] = keySchedule[k - keySize] ^ t\n  }\n\n  var invKeySchedule = []\n  for (var ik = 0; ik < ksRows; ik++) {\n    var ksR = ksRows - ik\n    var tt = keySchedule[ksR - (ik % 4 ? 0 : 4)]\n\n    if (ik < 4 || ksR <= 4) {\n      invKeySchedule[ik] = tt\n    } else {\n      invKeySchedule[ik] =\n        G.INV_SUB_MIX[0][G.SBOX[tt >>> 24]] ^\n        G.INV_SUB_MIX[1][G.SBOX[(tt >>> 16) & 0xff]] ^\n        G.INV_SUB_MIX[2][G.SBOX[(tt >>> 8) & 0xff]] ^\n        G.INV_SUB_MIX[3][G.SBOX[tt & 0xff]]\n    }\n  }\n\n  this._nRounds = nRounds\n  this._keySchedule = keySchedule\n  this._invKeySchedule = invKeySchedule\n}\n\nAES.prototype.encryptBlockRaw = function (M) {\n  M = asUInt32Array(M)\n  return cryptBlock(M, this._keySchedule, G.SUB_MIX, G.SBOX, this._nRounds)\n}\n\nAES.prototype.encryptBlock = function (M) {\n  var out = this.encryptBlockRaw(M)\n  var buf = Buffer.allocUnsafe(16)\n  buf.writeUInt32BE(out[0], 0)\n  buf.writeUInt32BE(out[1], 4)\n  buf.writeUInt32BE(out[2], 8)\n  buf.writeUInt32BE(out[3], 12)\n  return buf\n}\n\nAES.prototype.decryptBlock = function (M) {\n  M = asUInt32Array(M)\n\n  // swap\n  var m1 = M[1]\n  M[1] = M[3]\n  M[3] = m1\n\n  var out = cryptBlock(M, this._invKeySchedule, G.INV_SUB_MIX, G.INV_SBOX, this._nRounds)\n  var buf = Buffer.allocUnsafe(16)\n  buf.writeUInt32BE(out[0], 0)\n  buf.writeUInt32BE(out[3], 4)\n  buf.writeUInt32BE(out[2], 8)\n  buf.writeUInt32BE(out[1], 12)\n  return buf\n}\n\nAES.prototype.scrub = function () {\n  scrubVec(this._keySchedule)\n  scrubVec(this._invKeySchedule)\n  scrubVec(this._key)\n}\n\nmodule.exports.AES = AES\n"},"lineCount":230}},"hash":"8005f0cc07e31a0d15d5e1b8d8315155","cacheData":{"env":{}}}