'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const buildInternalReverseChnCidr=require('../_virtual/build-internal-reverse-chn-cidr.cjs'),require$$0$1=require('node:path'),index=require('./trace/index.cjs'),buildChnCidr=require('./build-chn-cidr2.cjs'),require$$1=require('node:fs'),dir=require('./constants/dir.cjs'),require$$0=require('foxts/async-write-to-stream'),misc=require('./lib/misc.cjs'),require$$7=require('worktank'),require$$8=require('url');var hasRequiredBuildInternalReverseChnCidr; function requireBuildInternalReverseChnCidr () { if (hasRequiredBuildInternalReverseChnCidr) return buildInternalReverseChnCidr.__module.exports; hasRequiredBuildInternalReverseChnCidr = 1; (function (module, exports) { Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "buildInternalReverseChnCIDR", { enumerable: true, get: function() { return buildInternalReverseChnCIDR; } }); const _nodepath = /*#__PURE__*/ _interop_require_default(require$$0$1); const _trace = /*@__PURE__*/ index.__require(); const _buildchncidr = buildChnCidr.__require(); const _nodefs = /*#__PURE__*/ _interop_require_default(require$$1); const _dir = /*@__PURE__*/ dir.__require(); const _asyncwritetostream = require$$0; const _misc = /*@__PURE__*/ misc.__require(); const _worktank = /*#__PURE__*/ _interop_require_default(require$$7); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const pool = new _worktank.default({ name: 'build-internal-reverse-chn-cidr', size: 1, timeout: 10000, warmup: true, autoterminate: 30000, env: {}, methods: { // eslint-disable-next-line object-shorthand -- workertank getreversedCidr: async function(cidr, importMetaUrl) { // TODO: createRequire is a temporary workaround for https://github.com/nodejs/node/issues/51956 const { default: module1 } = await import('node:module'); const __require = module1.createRequire(importMetaUrl); const { exclude, merge } = __require('fast-cidr-tools'); const { RESERVED_IPV4_CIDR, NON_CN_CIDR_INCLUDED_IN_CHNROUTE } = __require('./constants/cidr'); const { appendArrayInPlace } = __require('./lib/append-array-in-place'); return merge(appendArrayInPlace(exclude([ '0.0.0.0/0' ], RESERVED_IPV4_CIDR.concat(cidr), true), // https://github.com/misakaio/chnroutes2/issues/25 NON_CN_CIDR_INCLUDED_IN_CHNROUTE), true); } } }); const buildInternalReverseChnCIDR = (0, _trace.task)(require.main === module, __filename)(async (span)=>{ const [cidr] = await span.traceChildPromise('download chnroutes2', (0, _buildchncidr.getChnCidrPromise)()); const reversedCidr = await span.traceChildAsync('build reversed chn cidr', async ()=>{ const reversedCidr = await pool.exec('getreversedCidr', [ cidr, require$$8.pathToFileURL(__filename).toString() ]); pool.terminate(); return reversedCidr; }); const outputFile = _nodepath.default.join(_dir.OUTPUT_INTERNAL_DIR, 'reversed-chn-cidr.txt'); await (0, _misc.mkdirp)(_dir.OUTPUT_INTERNAL_DIR); const writeStream = _nodefs.default.createWriteStream(outputFile); for (const line of reversedCidr){ const p = (0, _asyncwritetostream.asyncWriteToStream)(writeStream, line + '\n'); if (p) { // eslint-disable-next-line no-await-in-loop -- stream high water mark await p; } } await (0, _asyncwritetostream.asyncWriteToStream)(writeStream, '\n'); writeStream.end(); }); } (buildInternalReverseChnCidr.__module, buildInternalReverseChnCidr.__module.exports)); return buildInternalReverseChnCidr.__module.exports; }exports.__require=requireBuildInternalReverseChnCidr;