@appium/support 2.61.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/console.d.ts +1 -1
- package/build/lib/console.js +169 -105
- package/build/lib/console.js.map +1 -1
- package/build/lib/env.js +142 -117
- package/build/lib/env.js.map +1 -1
- package/build/lib/fs.d.ts +9 -2
- package/build/lib/fs.d.ts.map +1 -1
- package/build/lib/fs.js +358 -246
- package/build/lib/fs.js.map +1 -1
- package/build/lib/image-util.js +139 -124
- package/build/lib/image-util.js.map +1 -1
- package/build/lib/index.js +64 -103
- package/build/lib/index.js.map +1 -1
- package/build/lib/log-internal.d.ts +4 -27
- package/build/lib/log-internal.d.ts.map +1 -1
- package/build/lib/log-internal.js +141 -123
- package/build/lib/log-internal.js.map +1 -1
- package/build/lib/logger.d.ts +1 -1
- package/build/lib/logger.d.ts.map +1 -1
- package/build/lib/logger.js +5 -14
- package/build/lib/logger.js.map +1 -1
- package/build/lib/logging.d.ts +3 -4
- package/build/lib/logging.d.ts.map +1 -1
- package/build/lib/logging.js +139 -110
- package/build/lib/logging.js.map +1 -1
- package/build/lib/mjpeg.js +169 -141
- package/build/lib/mjpeg.js.map +1 -1
- package/build/lib/mkdirp.js +7 -13
- package/build/lib/mkdirp.js.map +1 -1
- package/build/lib/net.d.ts.map +1 -1
- package/build/lib/net.js +278 -254
- package/build/lib/net.js.map +1 -1
- package/build/lib/node.js +203 -192
- package/build/lib/node.js.map +1 -1
- package/build/lib/npm.d.ts +19 -4
- package/build/lib/npm.d.ts.map +1 -1
- package/build/lib/npm.js +277 -228
- package/build/lib/npm.js.map +1 -1
- package/build/lib/plist.js +145 -136
- package/build/lib/plist.js.map +1 -1
- package/build/lib/process.js +41 -42
- package/build/lib/process.js.map +1 -1
- package/build/lib/system.js +39 -56
- package/build/lib/system.js.map +1 -1
- package/build/lib/tempdir.js +112 -73
- package/build/lib/tempdir.js.map +1 -1
- package/build/lib/timing.js +99 -84
- package/build/lib/timing.js.map +1 -1
- package/build/lib/util.js +454 -356
- package/build/lib/util.js.map +1 -1
- package/build/lib/zip.js +469 -423
- package/build/lib/zip.js.map +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/lib/fs.js +15 -1
- package/lib/log-internal.js +12 -16
- package/lib/logging.js +2 -3
- package/lib/net.js +15 -6
- package/lib/npm.js +28 -18
- package/package.json +19 -18
package/build/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","names":["ncpAsync","B","promisify","ncp","findRootCached","_","memoize","pkgDir","sync","fs","hasAccess","path","fsPromises","access","constants","R_OK","isExecutable","isWindows","X_OK","exists","rimraf","rimrafIdx","rimrafSync","mkdir","filepath","opts","err","code","copyFile","source","destination","Error","md5","filePath","hash","mv","which","glob","sanitizeName","sanitize","algorithm","resolve","reject","fileHash","crypto","createHash","readStream","createReadStream","on","e","message","chunk","update","digest","walk","dir","klaw","mkdirp","recursive","walkDir","callback","isValidRoot","errMsg","stat","isDirectory","walker","fileCount","directoryCount","timer","Timer","start","lastFileProcessed","depthLimit","item","pause","stats","try","then","done","resume","catch","log","warn","file","finally","debug","pluralize","getDuration","asMilliSeconds","toFixed","destroy","readPackageJsonFrom","cwd","findRoot","readPkg","isAbsolute","TypeError","result","appendFile","chmod","close","createWriteStream","lstat","open","openFile","readdir","read","readFile","readlink","realpath","rename","symlink","unlink","write","writeFile","F_OK","W_OK"],"sources":["../../lib/fs.js"],"sourcesContent":["// @ts-check\n\nimport B from 'bluebird';\nimport crypto from 'crypto';\nimport {\n close,\n constants,\n createReadStream,\n createWriteStream,\n promises as fsPromises,\n read,\n write,\n open,\n} from 'fs';\nimport glob from 'glob';\nimport klaw from 'klaw';\nimport _ from 'lodash';\nimport mv from 'mv';\nimport ncp from 'ncp';\nimport path from 'path';\nimport pkgDir from 'pkg-dir';\nimport readPkg from 'read-pkg';\nimport rimrafIdx from 'rimraf';\nimport sanitize from 'sanitize-filename';\nimport which from 'which';\nimport log from './logger';\nimport Timer from './timing';\nimport {isWindows} from './system';\nimport {pluralize} from './util';\n\nconst ncpAsync =\n /** @type {(source: string, dest: string, opts: ncp.Options|undefined) => B<void>} */ (\n B.promisify(ncp)\n );\nconst findRootCached = _.memoize(pkgDir.sync);\n\nconst fs = {\n /**\n * Resolves `true` if `path` is _readable_, which differs from Node.js' default behavior of \"can we see it?\"\n *\n * On Windows, ACLs are not supported, so this becomes a simple check for existence.\n *\n * This function will never reject.\n * @param {PathLike} path\n * @returns {Promise<boolean>}\n */\n async hasAccess(path) {\n try {\n await fsPromises.access(path, constants.R_OK);\n } catch {\n return false;\n }\n return true;\n },\n\n /**\n * Resolves `true` if `path` is executable; `false` otherwise.\n *\n * On Windows, this function delegates to {@linkcode fs.hasAccess}.\n *\n * This function will never reject.\n * @param {PathLike} path\n * @returns {Promise<boolean>}\n */\n async isExecutable(path) {\n try {\n if (isWindows()) {\n return await fs.hasAccess(path);\n }\n await fsPromises.access(path, constants.R_OK | constants.X_OK);\n } catch {\n return false;\n }\n return true;\n },\n\n /**\n * Alias for {@linkcode fs.hasAccess}\n * @param {PathLike} path\n */\n async exists(path) {\n return await fs.hasAccess(path);\n },\n\n /**\n * Remove a directory and all its contents, recursively\n * @todo Replace with `rm()` from `fs.promises` when Node.js v12 support is dropped.\n */\n rimraf: /** @type {(dirpath: string, opts?: import('rimraf').Options) => Promise<void>} */ (\n B.promisify(rimrafIdx)\n ),\n\n /**\n * Alias of {@linkcode rimrafIdx.sync}\n * @todo Replace with `rmSync()` from `fs` when Node.js v12 support is dropped.\n */\n rimrafSync: rimrafIdx.sync,\n\n /**\n * Like Node.js' `fsPromises.mkdir()`, but will _not_ reject if the directory already exists.\n *\n * @param {string|Buffer|URL} filepath\n * @param {import('fs').MakeDirectoryOptions} [opts]\n * @returns {Promise<string|undefined>}\n * @see https://nodejs.org/api/fs.html#fspromisesmkdirpath-options\n */\n async mkdir(filepath, opts = {}) {\n try {\n return await fsPromises.mkdir(filepath, opts);\n } catch (err) {\n if (err?.code !== 'EEXIST') {\n throw err;\n }\n }\n },\n /**\n * Copies files _and entire directories_\n * @param {string} source - Source to copy\n * @param {string} destination - Destination to copy to\n * @param {ncp.Options} [opts] - Additional arguments to pass to `ncp`\n * @see https://npm.im/ncp\n * @returns {Promise<void>}\n */\n async copyFile(source, destination, opts = {}) {\n if (!(await fs.hasAccess(source))) {\n throw new Error(`The file at '${source}' does not exist or is not accessible`);\n }\n return await ncpAsync(source, destination, opts);\n },\n\n /**\n * Create an MD5 hash of a file.\n * @param {PathLike} filePath\n * @returns {Promise<string>}\n */\n async md5(filePath) {\n return await fs.hash(filePath, 'md5');\n },\n\n /**\n * Move a file\n */\n mv: /** @type {(from: string, to: string, opts?: mv.Options) => B<void>} */ (B.promisify(mv)),\n\n /**\n * Find path to an executable in system `PATH`\n * @see https://github.com/npm/node-which\n */\n which,\n\n /**\n * Given a glob pattern, resolve with list of files matching that pattern\n * @see https://github.com/isaacs/node-glob\n */\n glob: /** @type {(pattern: string, opts?: glob.IOptions) => B<string[]>} */ (B.promisify(glob)),\n\n /**\n * Sanitize a filename\n * @see https://github.com/parshap/node-sanitize-filename\n */\n sanitizeName: sanitize,\n\n /**\n * Create a hex digest of some file at `filePath`\n * @param {PathLike} filePath\n * @param {string} [algorithm]\n * @returns {Promise<string>}\n */\n async hash(filePath, algorithm = 'sha1') {\n return await new B((resolve, reject) => {\n const fileHash = crypto.createHash(algorithm);\n const readStream = createReadStream(filePath);\n readStream.on('error', (e) =>\n reject(\n new Error(\n `Cannot calculate ${algorithm} hash for '${filePath}'. Original error: ${e.message}`\n )\n )\n );\n readStream.on('data', (chunk) => fileHash.update(chunk));\n readStream.on('end', () => resolve(fileHash.digest('hex')));\n });\n },\n\n /**\n * Returns an `Walker` instance, which is a readable stream (and thusly an async iterator).\n *\n * @param {string} dir - Dir to start walking at\n * @param {import('klaw').Options} [opts]\n * @returns {import('klaw').Walker}\n * @see https://www.npmjs.com/package/klaw\n */\n walk(dir, opts) {\n return klaw(dir, opts);\n },\n\n /**\n * Recursively create a directory.\n * @param {PathLike} dir\n * @returns {Promise<string|undefined>}\n */\n async mkdirp(dir) {\n return await fs.mkdir(dir, {recursive: true});\n },\n\n /**\n * Walks a directory given according to the parameters given. The callback will be invoked with a path joined with the dir parameter\n * @param {string} dir Directory path where we will start walking\n * @param {boolean} recursive Set it to true if you want to continue walking sub directories\n * @param {WalkDirCallback} callback The callback to be called when a new path is found\n * @throws {Error} If the `dir` parameter contains a path to an invalid folder\n * @returns {Promise<string?>} returns the found path or null if the item was not found\n */\n async walkDir(dir, recursive, callback) {\n //eslint-disable-line promise/prefer-await-to-callbacks\n let isValidRoot = false;\n let errMsg = null;\n try {\n isValidRoot = (await fs.stat(dir)).isDirectory();\n } catch (e) {\n errMsg = e.message;\n }\n if (!isValidRoot) {\n throw Error(\n `'${dir}' is not a valid root directory` + (errMsg ? `. Original error: ${errMsg}` : '')\n );\n }\n\n let walker;\n let fileCount = 0;\n let directoryCount = 0;\n const timer = new Timer().start();\n return await new B(function (resolve, reject) {\n let lastFileProcessed = B.resolve();\n walker = klaw(dir, {\n depthLimit: recursive ? -1 : 0,\n });\n walker\n .on('data', function (item) {\n walker.pause();\n\n if (!item.stats.isDirectory()) {\n fileCount++;\n } else {\n directoryCount++;\n }\n\n // eslint-disable-next-line promise/prefer-await-to-callbacks\n lastFileProcessed = B.try(async () => await callback(item.path, item.stats.isDirectory()))\n .then(function (done = false) {\n if (done) {\n resolve(item.path);\n } else {\n walker.resume();\n }\n })\n .catch(reject);\n })\n .on('error', function (err, item) {\n log.warn(`Got an error while walking '${item.path}': ${err.message}`);\n // klaw cannot get back from an ENOENT error\n if (err.code === 'ENOENT') {\n log.warn('All files may not have been accessed');\n reject(err);\n }\n })\n .on('end', function () {\n lastFileProcessed\n .then((file) => {\n resolve(/** @type {string|undefined} */ (file) ?? null);\n })\n .catch(function (err) {\n log.warn(`Unexpected error: ${err.message}`);\n reject(err);\n });\n });\n }).finally(function () {\n log.debug(\n `Traversed ${pluralize('directory', directoryCount, true)} ` +\n `and ${pluralize('file', fileCount, true)} ` +\n `in ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`\n );\n if (walker) {\n walker.destroy();\n }\n });\n },\n /**\n * Reads the closest `package.json` file from absolute path `dir`.\n * @param {string} dir - Directory to search from\n * @param {import('read-pkg').Options} [opts] - Additional options for `read-pkg`\n * @throws {Error} If there were problems finding or reading a `package.json` file\n * @returns {object} A parsed `package.json`\n */\n readPackageJsonFrom(dir, opts = {}) {\n const cwd = fs.findRoot(dir);\n try {\n return readPkg.sync({...opts, cwd});\n } catch (err) {\n err.message = `Failed to read a \\`package.json\\` from dir \\`${dir}\\`:\\n\\n${err.message}`;\n throw err;\n }\n },\n /**\n * Finds the project root directory from `dir`.\n * @param {string} dir - Directory to search from\n * @throws {TypeError} If `dir` is not a nonempty string or relative path\n * @throws {Error} If there were problems finding the project root\n * @returns {string} The closeset parent dir containing `package.json`\n */\n findRoot(dir) {\n if (!dir || !path.isAbsolute(dir)) {\n throw new TypeError('`findRoot()` must be provided a non-empty, absolute path');\n }\n const result = findRootCached(dir);\n if (!result) {\n throw new Error(`\\`findRoot()\\` could not find \\`package.json\\` from ${dir}`);\n }\n return result;\n },\n\n // add the supported `fs` functions\n access: fsPromises.access,\n appendFile: fsPromises.appendFile,\n chmod: fsPromises.chmod,\n close: B.promisify(close),\n constants,\n createWriteStream,\n createReadStream,\n lstat: fsPromises.lstat,\n /**\n * Warning: this is a promisified {@linkcode open fs.open}.\n * It resolves w/a file descriptor instead of a {@linkcode fsPromises.FileHandle FileHandle} object, as {@linkcode fsPromises.open} does. Use {@linkcode fs.openFile} if you want a `FileHandle`.\n * @type {(path: PathLike, flags: import('fs').OpenMode, mode?: import('fs').Mode) => Promise<number>}\n */\n open: B.promisify(open),\n openFile: fsPromises.open,\n readdir: fsPromises.readdir,\n read: B.promisify(read),\n readFile: fsPromises.readFile,\n readlink: fsPromises.readlink,\n realpath: fsPromises.realpath,\n rename: fsPromises.rename,\n stat: fsPromises.stat,\n symlink: fsPromises.symlink,\n unlink: fsPromises.unlink,\n write: B.promisify(write),\n writeFile: fsPromises.writeFile,\n\n // deprecated props\n\n /**\n * Use `constants.F_OK` instead.\n * @deprecated\n */\n F_OK: constants.F_OK,\n\n /**\n * Use `constants.R_OK` instead.\n * @deprecated\n */\n R_OK: constants.R_OK,\n\n /**\n * Use `constants.W_OK` instead.\n * @deprecated\n */\n W_OK: constants.W_OK,\n\n /**\n * Use `constants.X_OK` instead.\n * @deprecated\n */\n X_OK: constants.X_OK,\n};\n\nexport {fs};\nexport default fs;\n\n/**\n * The callback function which will be called during the directory walking\n * @callback WalkDirCallback\n * @param {string} itemPath The path of the file or folder\n * @param {boolean} isDirectory Shows if it is a directory or a file\n * @return {boolean} return true if you want to stop walking\n */\n\n/**\n * @typedef {import('glob')} glob\n * @typedef {import('mv')} mv\n * @typedef {import('fs').PathLike} PathLike\n */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../lib/fs.js"],"names":[],"mappings":"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"}
|
package/build/lib/image-util.js
CHANGED
|
@@ -1,144 +1,159 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.MIME_PNG = exports.MIME_JPEG = exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
require("source-map-support/register");
|
|
14
|
-
|
|
15
|
-
var _lodash = _interopRequireDefault(require("lodash"));
|
|
16
|
-
|
|
17
|
-
var _jimp = _interopRequireDefault(require("jimp"));
|
|
18
|
-
|
|
19
|
-
var _buffer = require("buffer");
|
|
20
|
-
|
|
21
|
-
var _pngjs = require("pngjs");
|
|
22
|
-
|
|
23
|
-
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
24
|
-
|
|
25
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
26
|
-
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.MIME_BMP = exports.MIME_PNG = exports.MIME_JPEG = exports.getJimpImage = exports.cropImage = exports.imageToBase64 = exports.base64ToImage = exports.cropBase64Image = void 0;
|
|
7
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
8
|
+
const jimp_1 = __importDefault(require("jimp"));
|
|
9
|
+
const buffer_1 = require("buffer");
|
|
10
|
+
const pngjs_1 = require("pngjs");
|
|
11
|
+
const bluebird_1 = __importDefault(require("bluebird"));
|
|
27
12
|
const BYTES_IN_PIXEL_BLOCK = 4;
|
|
28
13
|
const SCANLINE_FILTER_METHOD = 4;
|
|
29
|
-
const {
|
|
30
|
-
MIME_JPEG,
|
|
31
|
-
MIME_PNG,
|
|
32
|
-
MIME_BMP
|
|
33
|
-
} = _jimp.default;
|
|
34
|
-
exports.MIME_BMP = MIME_BMP;
|
|
35
|
-
exports.MIME_PNG = MIME_PNG;
|
|
14
|
+
const { MIME_JPEG, MIME_PNG, MIME_BMP } = jimp_1.default;
|
|
36
15
|
exports.MIME_JPEG = MIME_JPEG;
|
|
37
|
-
|
|
16
|
+
exports.MIME_PNG = MIME_PNG;
|
|
17
|
+
exports.MIME_BMP = MIME_BMP;
|
|
18
|
+
/**
|
|
19
|
+
* Utility function to get a Jimp image object from buffer or base64 data. Jimp
|
|
20
|
+
* is a great library however it does IO in the constructor so it's not
|
|
21
|
+
* convenient for our async/await model.
|
|
22
|
+
*
|
|
23
|
+
* @param {Buffer|string} data - binary image buffer or base64-encoded image
|
|
24
|
+
* string
|
|
25
|
+
* @returns {Promise<AppiumJimp>} - the jimp image object
|
|
26
|
+
*/
|
|
38
27
|
async function getJimpImage(data) {
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
28
|
+
return await new bluebird_1.default((resolve, reject) => {
|
|
29
|
+
if (!lodash_1.default.isString(data) && !lodash_1.default.isBuffer(data)) {
|
|
30
|
+
return reject(new Error('Must initialize jimp object with string or buffer'));
|
|
31
|
+
}
|
|
32
|
+
// if data is a string, assume it is a base64-encoded image
|
|
33
|
+
if (lodash_1.default.isString(data)) {
|
|
34
|
+
data = buffer_1.Buffer.from(data, 'base64');
|
|
35
|
+
}
|
|
36
|
+
new jimp_1.default(data,
|
|
37
|
+
/**
|
|
38
|
+
* @param {Error?} err
|
|
39
|
+
* @param {AppiumJimp} imgObj
|
|
40
|
+
*/
|
|
41
|
+
(err, imgObj) => {
|
|
42
|
+
if (err) {
|
|
43
|
+
return reject(err);
|
|
44
|
+
}
|
|
45
|
+
if (!imgObj) {
|
|
46
|
+
return reject(new Error('Could not create jimp image from that data'));
|
|
47
|
+
}
|
|
48
|
+
imgObj.getBuffer = bluebird_1.default.promisify(imgObj.getBuffer.bind(imgObj), {
|
|
49
|
+
context: imgObj,
|
|
50
|
+
});
|
|
51
|
+
resolve(imgObj);
|
|
52
|
+
});
|
|
61
53
|
});
|
|
62
|
-
});
|
|
63
54
|
}
|
|
64
|
-
|
|
55
|
+
exports.getJimpImage = getJimpImage;
|
|
56
|
+
/**
|
|
57
|
+
* Crop the image by given rectangle (use base64 string as input and output)
|
|
58
|
+
*
|
|
59
|
+
* @param {string} base64Image The string with base64 encoded image
|
|
60
|
+
* @param {Region} rect The selected region of image
|
|
61
|
+
* @return {Promise<string>} base64 encoded string of cropped image
|
|
62
|
+
*/
|
|
65
63
|
async function cropBase64Image(base64Image, rect) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
64
|
+
const image = await base64ToImage(base64Image);
|
|
65
|
+
cropImage(image, rect);
|
|
66
|
+
return await imageToBase64(image);
|
|
69
67
|
}
|
|
70
|
-
|
|
68
|
+
exports.cropBase64Image = cropBase64Image;
|
|
69
|
+
/**
|
|
70
|
+
* Create a pngjs image from given base64 image
|
|
71
|
+
*
|
|
72
|
+
* @param {string} base64Image The string with base64 encoded image
|
|
73
|
+
* @return {Promise<PNG>} The image object
|
|
74
|
+
*/
|
|
71
75
|
async function base64ToImage(base64Image) {
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
resolve(image);
|
|
76
|
+
const imageBuffer = buffer_1.Buffer.from(base64Image, 'base64');
|
|
77
|
+
return await new bluebird_1.default((resolve, reject) => {
|
|
78
|
+
const image = new pngjs_1.PNG({ filterType: SCANLINE_FILTER_METHOD });
|
|
79
|
+
image.parse(imageBuffer, (err, image) => {
|
|
80
|
+
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
81
|
+
if (err) {
|
|
82
|
+
return reject(err);
|
|
83
|
+
}
|
|
84
|
+
resolve(image);
|
|
85
|
+
});
|
|
84
86
|
});
|
|
85
|
-
});
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
exports.base64ToImage = base64ToImage;
|
|
89
|
+
/**
|
|
90
|
+
* Create a base64 string for given image object
|
|
91
|
+
*
|
|
92
|
+
* @param {PNG} image The image object
|
|
93
|
+
* @return {Promise<string>} The string with base64 encoded image
|
|
94
|
+
*/
|
|
88
95
|
async function imageToBase64(image) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
96
|
+
return await new bluebird_1.default((resolve, reject) => {
|
|
97
|
+
const chunks = [];
|
|
98
|
+
image
|
|
99
|
+
.pack()
|
|
100
|
+
.on('data', (chunk) => chunks.push(chunk))
|
|
101
|
+
.on('end', () => {
|
|
102
|
+
resolve(buffer_1.Buffer.concat(chunks).toString('base64'));
|
|
103
|
+
})
|
|
104
|
+
.on('error', (err) => {
|
|
105
|
+
// eslint-disable-line promise/prefer-await-to-callbacks
|
|
106
|
+
reject(err);
|
|
107
|
+
});
|
|
95
108
|
});
|
|
96
|
-
});
|
|
97
109
|
}
|
|
98
|
-
|
|
110
|
+
exports.imageToBase64 = imageToBase64;
|
|
111
|
+
/**
|
|
112
|
+
* Crop the image by given rectangle
|
|
113
|
+
*
|
|
114
|
+
* @param {PNG} image The image to mutate by cropping
|
|
115
|
+
* @param {Region} rect The selected region of image
|
|
116
|
+
*/
|
|
99
117
|
function cropImage(image, rect) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
height
|
|
103
|
-
|
|
104
|
-
const interRect = getRectIntersection(rect, imageRect);
|
|
105
|
-
|
|
106
|
-
if (interRect.width < rect.width || interRect.height < rect.height) {
|
|
107
|
-
throw new Error(`Cannot crop ${JSON.stringify(rect)} from ${JSON.stringify(imageRect)} because the intersection between them was not the size of the rect`);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
const firstVerticalPixel = interRect.top;
|
|
111
|
-
const lastVerticalPixel = interRect.top + interRect.height;
|
|
112
|
-
const firstHorizontalPixel = interRect.left;
|
|
113
|
-
const lastHorizontalPixel = interRect.left + interRect.width;
|
|
114
|
-
const croppedArray = [];
|
|
115
|
-
|
|
116
|
-
for (let y = firstVerticalPixel; y < lastVerticalPixel; y++) {
|
|
117
|
-
for (let x = firstHorizontalPixel; x < lastHorizontalPixel; x++) {
|
|
118
|
-
const firstByteIdxInPixelBlock = imageRect.width * y + x << 2;
|
|
119
|
-
|
|
120
|
-
for (let byteIdx = 0; byteIdx < BYTES_IN_PIXEL_BLOCK; byteIdx++) {
|
|
121
|
-
croppedArray.push(image.data[firstByteIdxInPixelBlock + byteIdx]);
|
|
122
|
-
}
|
|
118
|
+
const imageRect = { width: image.width, height: image.height };
|
|
119
|
+
const interRect = getRectIntersection(rect, imageRect);
|
|
120
|
+
if (interRect.width < rect.width || interRect.height < rect.height) {
|
|
121
|
+
throw new Error(`Cannot crop ${JSON.stringify(rect)} from ${JSON.stringify(imageRect)} because the intersection between them was not the size of the rect`);
|
|
123
122
|
}
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
123
|
+
const firstVerticalPixel = interRect.top;
|
|
124
|
+
const lastVerticalPixel = interRect.top + interRect.height;
|
|
125
|
+
const firstHorizontalPixel = interRect.left;
|
|
126
|
+
const lastHorizontalPixel = interRect.left + interRect.width;
|
|
127
|
+
const croppedArray = [];
|
|
128
|
+
for (let y = firstVerticalPixel; y < lastVerticalPixel; y++) {
|
|
129
|
+
for (let x = firstHorizontalPixel; x < lastHorizontalPixel; x++) {
|
|
130
|
+
const firstByteIdxInPixelBlock = (imageRect.width * y + x) << 2;
|
|
131
|
+
for (let byteIdx = 0; byteIdx < BYTES_IN_PIXEL_BLOCK; byteIdx++) {
|
|
132
|
+
croppedArray.push(image.data[firstByteIdxInPixelBlock + byteIdx]);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
image.data = buffer_1.Buffer.from(croppedArray);
|
|
137
|
+
image.width = interRect.width;
|
|
138
|
+
image.height = interRect.height;
|
|
139
|
+
return image;
|
|
130
140
|
}
|
|
131
|
-
|
|
141
|
+
exports.cropImage = cropImage;
|
|
132
142
|
function getRectIntersection(rect, imageSize) {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
left,
|
|
139
|
-
top,
|
|
140
|
-
width,
|
|
141
|
-
height
|
|
142
|
-
};
|
|
143
|
+
const left = rect.left >= imageSize.width ? imageSize.width : rect.left;
|
|
144
|
+
const top = rect.top >= imageSize.height ? imageSize.height : rect.top;
|
|
145
|
+
const width = imageSize.width >= left + rect.width ? rect.width : imageSize.width - left;
|
|
146
|
+
const height = imageSize.height >= top + rect.height ? rect.height : imageSize.height - top;
|
|
147
|
+
return { left, top, width, height };
|
|
143
148
|
}
|
|
144
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCWVRFU19JTl9QSVhFTF9CTE9DSyIsIlNDQU5MSU5FX0ZJTFRFUl9NRVRIT0QiLCJNSU1FX0pQRUciLCJNSU1FX1BORyIsIk1JTUVfQk1QIiwiSmltcCIsImdldEppbXBJbWFnZSIsImRhdGEiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsIl8iLCJpc1N0cmluZyIsImlzQnVmZmVyIiwiRXJyb3IiLCJCdWZmZXIiLCJmcm9tIiwiZXJyIiwiaW1nT2JqIiwiZ2V0QnVmZmVyIiwicHJvbWlzaWZ5IiwiYmluZCIsImNvbnRleHQiLCJjcm9wQmFzZTY0SW1hZ2UiLCJiYXNlNjRJbWFnZSIsInJlY3QiLCJpbWFnZSIsImJhc2U2NFRvSW1hZ2UiLCJjcm9wSW1hZ2UiLCJpbWFnZVRvQmFzZTY0IiwiaW1hZ2VCdWZmZXIiLCJQTkciLCJmaWx0ZXJUeXBlIiwicGFyc2UiLCJjaHVua3MiLCJwYWNrIiwib24iLCJjaHVuayIsInB1c2giLCJjb25jYXQiLCJ0b1N0cmluZyIsImltYWdlUmVjdCIsIndpZHRoIiwiaGVpZ2h0IiwiaW50ZXJSZWN0IiwiZ2V0UmVjdEludGVyc2VjdGlvbiIsIkpTT04iLCJzdHJpbmdpZnkiLCJmaXJzdFZlcnRpY2FsUGl4ZWwiLCJ0b3AiLCJsYXN0VmVydGljYWxQaXhlbCIsImZpcnN0SG9yaXpvbnRhbFBpeGVsIiwibGVmdCIsImxhc3RIb3Jpem9udGFsUGl4ZWwiLCJjcm9wcGVkQXJyYXkiLCJ5IiwieCIsImZpcnN0Qnl0ZUlkeEluUGl4ZWxCbG9jayIsImJ5dGVJZHgiLCJpbWFnZVNpemUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvaW1hZ2UtdXRpbC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IEppbXAgZnJvbSAnamltcCc7XG5pbXBvcnQge0J1ZmZlcn0gZnJvbSAnYnVmZmVyJztcbmltcG9ydCB7UE5HfSBmcm9tICdwbmdqcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5cbmNvbnN0IEJZVEVTX0lOX1BJWEVMX0JMT0NLID0gNDtcbmNvbnN0IFNDQU5MSU5FX0ZJTFRFUl9NRVRIT0QgPSA0O1xuY29uc3Qge01JTUVfSlBFRywgTUlNRV9QTkcsIE1JTUVfQk1QfSA9IEppbXA7XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiB0byBnZXQgYSBKaW1wIGltYWdlIG9iamVjdCBmcm9tIGJ1ZmZlciBvciBiYXNlNjQgZGF0YS4gSmltcFxuICogaXMgYSBncmVhdCBsaWJyYXJ5IGhvd2V2ZXIgaXQgZG9lcyBJTyBpbiB0aGUgY29uc3RydWN0b3Igc28gaXQncyBub3RcbiAqIGNvbnZlbmllbnQgZm9yIG91ciBhc3luYy9hd2FpdCBtb2RlbC5cbiAqXG4gKiBAcGFyYW0ge0J1ZmZlcnxzdHJpbmd9IGRhdGEgLSBiaW5hcnkgaW1hZ2UgYnVmZmVyIG9yIGJhc2U2NC1lbmNvZGVkIGltYWdlXG4gKiBzdHJpbmdcbiAqIEByZXR1cm5zIHtQcm9taXNlPEFwcGl1bUppbXA+fSAtIHRoZSBqaW1wIGltYWdlIG9iamVjdFxuICovXG5hc3luYyBmdW5jdGlvbiBnZXRKaW1wSW1hZ2UoZGF0YSkge1xuICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGlmICghXy5pc1N0cmluZyhkYXRhKSAmJiAhXy5pc0J1ZmZlcihkYXRhKSkge1xuICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoJ011c3QgaW5pdGlhbGl6ZSBqaW1wIG9iamVjdCB3aXRoIHN0cmluZyBvciBidWZmZXInKSk7XG4gICAgfVxuICAgIC8vIGlmIGRhdGEgaXMgYSBzdHJpbmcsIGFzc3VtZSBpdCBpcyBhIGJhc2U2NC1lbmNvZGVkIGltYWdlXG4gICAgaWYgKF8uaXNTdHJpbmcoZGF0YSkpIHtcbiAgICAgIGRhdGEgPSBCdWZmZXIuZnJvbShkYXRhLCAnYmFzZTY0Jyk7XG4gICAgfVxuICAgIG5ldyBKaW1wKFxuICAgICAgZGF0YSxcbiAgICAgIC8qKlxuICAgICAgICogQHBhcmFtIHtFcnJvcj99IGVyclxuICAgICAgICogQHBhcmFtIHtBcHBpdW1KaW1wfSBpbWdPYmpcbiAgICAgICAqL1xuICAgICAgKGVyciwgaW1nT2JqKSA9PiB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpbWdPYmopIHtcbiAgICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcignQ291bGQgbm90IGNyZWF0ZSBqaW1wIGltYWdlIGZyb20gdGhhdCBkYXRhJykpO1xuICAgICAgICB9XG4gICAgICAgIGltZ09iai5nZXRCdWZmZXIgPSBCLnByb21pc2lmeShpbWdPYmouZ2V0QnVmZmVyLmJpbmQoaW1nT2JqKSwge1xuICAgICAgICAgIGNvbnRleHQ6IGltZ09iaixcbiAgICAgICAgfSk7XG4gICAgICAgIHJlc29sdmUoaW1nT2JqKTtcbiAgICAgIH1cbiAgICApO1xuICB9KTtcbn1cblxuLyoqXG4gKiBDcm9wIHRoZSBpbWFnZSBieSBnaXZlbiByZWN0YW5nbGUgKHVzZSBiYXNlNjQgc3RyaW5nIGFzIGlucHV0IGFuZCBvdXRwdXQpXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NEltYWdlIFRoZSBzdHJpbmcgd2l0aCBiYXNlNjQgZW5jb2RlZCBpbWFnZVxuICogQHBhcmFtIHtSZWdpb259IHJlY3QgVGhlIHNlbGVjdGVkIHJlZ2lvbiBvZiBpbWFnZVxuICogQHJldHVybiB7UHJvbWlzZTxzdHJpbmc+fSBiYXNlNjQgZW5jb2RlZCBzdHJpbmcgb2YgY3JvcHBlZCBpbWFnZVxuICovXG5hc3luYyBmdW5jdGlvbiBjcm9wQmFzZTY0SW1hZ2UoYmFzZTY0SW1hZ2UsIHJlY3QpIHtcbiAgY29uc3QgaW1hZ2UgPSBhd2FpdCBiYXNlNjRUb0ltYWdlKGJhc2U2NEltYWdlKTtcbiAgY3JvcEltYWdlKGltYWdlLCByZWN0KTtcbiAgcmV0dXJuIGF3YWl0IGltYWdlVG9CYXNlNjQoaW1hZ2UpO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIHBuZ2pzIGltYWdlIGZyb20gZ2l2ZW4gYmFzZTY0IGltYWdlXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGJhc2U2NEltYWdlIFRoZSBzdHJpbmcgd2l0aCBiYXNlNjQgZW5jb2RlZCBpbWFnZVxuICogQHJldHVybiB7UHJvbWlzZTxQTkc+fSBUaGUgaW1hZ2Ugb2JqZWN0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGJhc2U2NFRvSW1hZ2UoYmFzZTY0SW1hZ2UpIHtcbiAgY29uc3QgaW1hZ2VCdWZmZXIgPSBCdWZmZXIuZnJvbShiYXNlNjRJbWFnZSwgJ2Jhc2U2NCcpO1xuICByZXR1cm4gYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGltYWdlID0gbmV3IFBORyh7ZmlsdGVyVHlwZTogU0NBTkxJTkVfRklMVEVSX01FVEhPRH0pO1xuICAgIGltYWdlLnBhcnNlKGltYWdlQnVmZmVyLCAoZXJyLCBpbWFnZSkgPT4ge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcm9taXNlL3ByZWZlci1hd2FpdC10by1jYWxsYmFja3NcbiAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShpbWFnZSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGJhc2U2NCBzdHJpbmcgZm9yIGdpdmVuIGltYWdlIG9iamVjdFxuICpcbiAqIEBwYXJhbSB7UE5HfSBpbWFnZSBUaGUgaW1hZ2Ugb2JqZWN0XG4gKiBAcmV0dXJuIHtQcm9taXNlPHN0cmluZz59IFRoZSBzdHJpbmcgd2l0aCBiYXNlNjQgZW5jb2RlZCBpbWFnZVxuICovXG5hc3luYyBmdW5jdGlvbiBpbWFnZVRvQmFzZTY0KGltYWdlKSB7XG4gIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2h1bmtzID0gW107XG4gICAgaW1hZ2VcbiAgICAgIC5wYWNrKClcbiAgICAgIC5vbignZGF0YScsIChjaHVuaykgPT4gY2h1bmtzLnB1c2goY2h1bmspKVxuICAgICAgLm9uKCdlbmQnLCAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoQnVmZmVyLmNvbmNhdChjaHVua3MpLnRvU3RyaW5nKCdiYXNlNjQnKSk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIChlcnIpID0+IHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcm9taXNlL3ByZWZlci1hd2FpdC10by1jYWxsYmFja3NcbiAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICB9KTtcbiAgfSk7XG59XG5cbi8qKlxuICogQ3JvcCB0aGUgaW1hZ2UgYnkgZ2l2ZW4gcmVjdGFuZ2xlXG4gKlxuICogQHBhcmFtIHtQTkd9IGltYWdlIFRoZSBpbWFnZSB0byBtdXRhdGUgYnkgY3JvcHBpbmdcbiAqIEBwYXJhbSB7UmVnaW9ufSByZWN0IFRoZSBzZWxlY3RlZCByZWdpb24gb2YgaW1hZ2VcbiAqL1xuZnVuY3Rpb24gY3JvcEltYWdlKGltYWdlLCByZWN0KSB7XG4gIGNvbnN0IGltYWdlUmVjdCA9IHt3aWR0aDogaW1hZ2Uud2lkdGgsIGhlaWdodDogaW1hZ2UuaGVpZ2h0fTtcbiAgY29uc3QgaW50ZXJSZWN0ID0gZ2V0UmVjdEludGVyc2VjdGlvbihyZWN0LCBpbWFnZVJlY3QpO1xuICBpZiAoaW50ZXJSZWN0LndpZHRoIDwgcmVjdC53aWR0aCB8fCBpbnRlclJlY3QuaGVpZ2h0IDwgcmVjdC5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ2Fubm90IGNyb3AgJHtKU09OLnN0cmluZ2lmeShyZWN0KX0gZnJvbSAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICBpbWFnZVJlY3RcbiAgICAgICl9IGJlY2F1c2UgdGhlIGludGVyc2VjdGlvbiBiZXR3ZWVuIHRoZW0gd2FzIG5vdCB0aGUgc2l6ZSBvZiB0aGUgcmVjdGBcbiAgICApO1xuICB9XG5cbiAgY29uc3QgZmlyc3RWZXJ0aWNhbFBpeGVsID0gaW50ZXJSZWN0LnRvcDtcbiAgY29uc3QgbGFzdFZlcnRpY2FsUGl4ZWwgPSBpbnRlclJlY3QudG9wICsgaW50ZXJSZWN0LmhlaWdodDtcblxuICBjb25zdCBmaXJzdEhvcml6b250YWxQaXhlbCA9IGludGVyUmVjdC5sZWZ0O1xuICBjb25zdCBsYXN0SG9yaXpvbnRhbFBpeGVsID0gaW50ZXJSZWN0LmxlZnQgKyBpbnRlclJlY3Qud2lkdGg7XG5cbiAgY29uc3QgY3JvcHBlZEFycmF5ID0gW107XG4gIGZvciAobGV0IHkgPSBmaXJzdFZlcnRpY2FsUGl4ZWw7IHkgPCBsYXN0VmVydGljYWxQaXhlbDsgeSsrKSB7XG4gICAgZm9yIChsZXQgeCA9IGZpcnN0SG9yaXpvbnRhbFBpeGVsOyB4IDwgbGFzdEhvcml6b250YWxQaXhlbDsgeCsrKSB7XG4gICAgICBjb25zdCBmaXJzdEJ5dGVJZHhJblBpeGVsQmxvY2sgPSAoaW1hZ2VSZWN0LndpZHRoICogeSArIHgpIDw8IDI7XG4gICAgICBmb3IgKGxldCBieXRlSWR4ID0gMDsgYnl0ZUlkeCA8IEJZVEVTX0lOX1BJWEVMX0JMT0NLOyBieXRlSWR4KyspIHtcbiAgICAgICAgY3JvcHBlZEFycmF5LnB1c2goaW1hZ2UuZGF0YVtmaXJzdEJ5dGVJZHhJblBpeGVsQmxvY2sgKyBieXRlSWR4XSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaW1hZ2UuZGF0YSA9IEJ1ZmZlci5mcm9tKGNyb3BwZWRBcnJheSk7XG4gIGltYWdlLndpZHRoID0gaW50ZXJSZWN0LndpZHRoO1xuICBpbWFnZS5oZWlnaHQgPSBpbnRlclJlY3QuaGVpZ2h0O1xuICByZXR1cm4gaW1hZ2U7XG59XG5cbmZ1bmN0aW9uIGdldFJlY3RJbnRlcnNlY3Rpb24ocmVjdCwgaW1hZ2VTaXplKSB7XG4gIGNvbnN0IGxlZnQgPSByZWN0LmxlZnQgPj0gaW1hZ2VTaXplLndpZHRoID8gaW1hZ2VTaXplLndpZHRoIDogcmVjdC5sZWZ0O1xuICBjb25zdCB0b3AgPSByZWN0LnRvcCA+PSBpbWFnZVNpemUuaGVpZ2h0ID8gaW1hZ2VTaXplLmhlaWdodCA6IHJlY3QudG9wO1xuICBjb25zdCB3aWR0aCA9IGltYWdlU2l6ZS53aWR0aCA+PSBsZWZ0ICsgcmVjdC53aWR0aCA/IHJlY3Qud2lkdGggOiBpbWFnZVNpemUud2lkdGggLSBsZWZ0O1xuICBjb25zdCBoZWlnaHQgPSBpbWFnZVNpemUuaGVpZ2h0ID49IHRvcCArIHJlY3QuaGVpZ2h0ID8gcmVjdC5oZWlnaHQgOiBpbWFnZVNpemUuaGVpZ2h0IC0gdG9wO1xuICByZXR1cm4ge2xlZnQsIHRvcCwgd2lkdGgsIGhlaWdodH07XG59XG5cbmV4cG9ydCB7XG4gIGNyb3BCYXNlNjRJbWFnZSxcbiAgYmFzZTY0VG9JbWFnZSxcbiAgaW1hZ2VUb0Jhc2U2NCxcbiAgY3JvcEltYWdlLFxuICBnZXRKaW1wSW1hZ2UsXG4gIE1JTUVfSlBFRyxcbiAgTUlNRV9QTkcsXG4gIE1JTUVfQk1QLFxufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T21pdDxKaW1wLCdnZXRCdWZmZXInPiAmIHtnZXRCdWZmZXI6IEppbXBbJ2dldEJ1ZmZlckFzeW5jJ119fSBBcHBpdW1KaW1wXG4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiBSZWdpb25cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBsZWZ0XG4gKiBAcHJvcGVydHkge251bWJlcn0gdG9wXG4gKiBAcHJvcGVydHkge251bWJlcn0gd2lkdGhcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBoZWlnaHRcbiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7O0FBRUEsTUFBTUEsb0JBQW9CLEdBQUcsQ0FBN0I7QUFDQSxNQUFNQyxzQkFBc0IsR0FBRyxDQUEvQjtBQUNBLE1BQU07RUFBQ0MsU0FBRDtFQUFZQyxRQUFaO0VBQXNCQztBQUF0QixJQUFrQ0MsYUFBeEM7Ozs7O0FBV0EsZUFBZUMsWUFBZixDQUE0QkMsSUFBNUIsRUFBa0M7RUFDaEMsT0FB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
|
|
149
|
+
/**
|
|
150
|
+
* @typedef {Omit<Jimp,'getBuffer'> & {getBuffer: Jimp['getBufferAsync']}} AppiumJimp
|
|
151
|
+
*/
|
|
152
|
+
/**
|
|
153
|
+
* @typedef Region
|
|
154
|
+
* @property {number} left
|
|
155
|
+
* @property {number} top
|
|
156
|
+
* @property {number} width
|
|
157
|
+
* @property {number} height
|
|
158
|
+
*/
|
|
159
|
+
//# sourceMappingURL=image-util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-util.js","names":["BYTES_IN_PIXEL_BLOCK","SCANLINE_FILTER_METHOD","MIME_JPEG","MIME_PNG","MIME_BMP","Jimp","getJimpImage","data","B","resolve","reject","_","isString","isBuffer","Error","Buffer","from","err","imgObj","getBuffer","promisify","bind","context","cropBase64Image","base64Image","rect","image","base64ToImage","cropImage","imageToBase64","imageBuffer","PNG","filterType","parse","chunks","pack","on","chunk","push","concat","toString","imageRect","width","height","interRect","getRectIntersection","JSON","stringify","firstVerticalPixel","top","lastVerticalPixel","firstHorizontalPixel","left","lastHorizontalPixel","croppedArray","y","x","firstByteIdxInPixelBlock","byteIdx","imageSize"],"sources":["../../lib/image-util.js"],"sourcesContent":["import _ from 'lodash';\nimport Jimp from 'jimp';\nimport {Buffer} from 'buffer';\nimport {PNG} from 'pngjs';\nimport B from 'bluebird';\n\nconst BYTES_IN_PIXEL_BLOCK = 4;\nconst SCANLINE_FILTER_METHOD = 4;\nconst {MIME_JPEG, MIME_PNG, MIME_BMP} = Jimp;\n\n/**\n * Utility function to get a Jimp image object from buffer or base64 data. Jimp\n * is a great library however it does IO in the constructor so it's not\n * convenient for our async/await model.\n *\n * @param {Buffer|string} data - binary image buffer or base64-encoded image\n * string\n * @returns {Promise<AppiumJimp>} - the jimp image object\n */\nasync function getJimpImage(data) {\n return await new B((resolve, reject) => {\n if (!_.isString(data) && !_.isBuffer(data)) {\n return reject(new Error('Must initialize jimp object with string or buffer'));\n }\n // if data is a string, assume it is a base64-encoded image\n if (_.isString(data)) {\n data = Buffer.from(data, 'base64');\n }\n new Jimp(\n data,\n /**\n * @param {Error?} err\n * @param {AppiumJimp} imgObj\n */\n (err, imgObj) => {\n if (err) {\n return reject(err);\n }\n if (!imgObj) {\n return reject(new Error('Could not create jimp image from that data'));\n }\n imgObj.getBuffer = B.promisify(imgObj.getBuffer.bind(imgObj), {\n context: imgObj,\n });\n resolve(imgObj);\n }\n );\n });\n}\n\n/**\n * Crop the image by given rectangle (use base64 string as input and output)\n *\n * @param {string} base64Image The string with base64 encoded image\n * @param {Region} rect The selected region of image\n * @return {Promise<string>} base64 encoded string of cropped image\n */\nasync function cropBase64Image(base64Image, rect) {\n const image = await base64ToImage(base64Image);\n cropImage(image, rect);\n return await imageToBase64(image);\n}\n\n/**\n * Create a pngjs image from given base64 image\n *\n * @param {string} base64Image The string with base64 encoded image\n * @return {Promise<PNG>} The image object\n */\nasync function base64ToImage(base64Image) {\n const imageBuffer = Buffer.from(base64Image, 'base64');\n return await new B((resolve, reject) => {\n const image = new PNG({filterType: SCANLINE_FILTER_METHOD});\n image.parse(imageBuffer, (err, image) => {\n // eslint-disable-line promise/prefer-await-to-callbacks\n if (err) {\n return reject(err);\n }\n resolve(image);\n });\n });\n}\n\n/**\n * Create a base64 string for given image object\n *\n * @param {PNG} image The image object\n * @return {Promise<string>} The string with base64 encoded image\n */\nasync function imageToBase64(image) {\n return await new B((resolve, reject) => {\n const chunks = [];\n image\n .pack()\n .on('data', (chunk) => chunks.push(chunk))\n .on('end', () => {\n resolve(Buffer.concat(chunks).toString('base64'));\n })\n .on('error', (err) => {\n // eslint-disable-line promise/prefer-await-to-callbacks\n reject(err);\n });\n });\n}\n\n/**\n * Crop the image by given rectangle\n *\n * @param {PNG} image The image to mutate by cropping\n * @param {Region} rect The selected region of image\n */\nfunction cropImage(image, rect) {\n const imageRect = {width: image.width, height: image.height};\n const interRect = getRectIntersection(rect, imageRect);\n if (interRect.width < rect.width || interRect.height < rect.height) {\n throw new Error(\n `Cannot crop ${JSON.stringify(rect)} from ${JSON.stringify(\n imageRect\n )} because the intersection between them was not the size of the rect`\n );\n }\n\n const firstVerticalPixel = interRect.top;\n const lastVerticalPixel = interRect.top + interRect.height;\n\n const firstHorizontalPixel = interRect.left;\n const lastHorizontalPixel = interRect.left + interRect.width;\n\n const croppedArray = [];\n for (let y = firstVerticalPixel; y < lastVerticalPixel; y++) {\n for (let x = firstHorizontalPixel; x < lastHorizontalPixel; x++) {\n const firstByteIdxInPixelBlock = (imageRect.width * y + x) << 2;\n for (let byteIdx = 0; byteIdx < BYTES_IN_PIXEL_BLOCK; byteIdx++) {\n croppedArray.push(image.data[firstByteIdxInPixelBlock + byteIdx]);\n }\n }\n }\n\n image.data = Buffer.from(croppedArray);\n image.width = interRect.width;\n image.height = interRect.height;\n return image;\n}\n\nfunction getRectIntersection(rect, imageSize) {\n const left = rect.left >= imageSize.width ? imageSize.width : rect.left;\n const top = rect.top >= imageSize.height ? imageSize.height : rect.top;\n const width = imageSize.width >= left + rect.width ? rect.width : imageSize.width - left;\n const height = imageSize.height >= top + rect.height ? rect.height : imageSize.height - top;\n return {left, top, width, height};\n}\n\nexport {\n cropBase64Image,\n base64ToImage,\n imageToBase64,\n cropImage,\n getJimpImage,\n MIME_JPEG,\n MIME_PNG,\n MIME_BMP,\n};\n\n/**\n * @typedef {Omit<Jimp,'getBuffer'> & {getBuffer: Jimp['getBufferAsync']}} AppiumJimp\n */\n\n/**\n * @typedef Region\n * @property {number} left\n * @property {number} top\n * @property {number} width\n * @property {number} height\n */\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"image-util.js","sourceRoot":"","sources":["../../lib/image-util.js"],"names":[],"mappings":"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"}
|
package/build/lib/index.js
CHANGED
|
@@ -1,121 +1,82 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
5
17
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
get: function () {
|
|
17
|
-
return _mkdirp.mkdirp;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
exports.node = exports.net = void 0;
|
|
21
|
-
Object.defineProperty(exports, "npm", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () {
|
|
24
|
-
return _npm.npm;
|
|
25
|
-
}
|
|
26
|
-
});
|
|
27
|
-
exports.zip = exports.util = exports.timing = exports.tempDir = exports.system = exports.process = exports.plist = void 0;
|
|
28
|
-
|
|
29
|
-
require("source-map-support/register");
|
|
30
|
-
|
|
31
|
-
var tempDir = _interopRequireWildcard(require("./tempdir"));
|
|
32
|
-
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.console = exports.env = exports.timing = exports.node = exports.mjpeg = exports.net = exports.imageUtil = exports.zip = exports.process = exports.logger = exports.mkdirp = exports.plist = exports.cancellableDelay = exports.fs = exports.util = exports.system = exports.tempDir = exports.npm = void 0;
|
|
27
|
+
const tempDir = __importStar(require("./tempdir"));
|
|
33
28
|
exports.tempDir = tempDir;
|
|
34
|
-
|
|
35
|
-
var system = _interopRequireWildcard(require("./system"));
|
|
36
|
-
|
|
29
|
+
const system = __importStar(require("./system"));
|
|
37
30
|
exports.system = system;
|
|
38
|
-
|
|
39
|
-
var util = _interopRequireWildcard(require("./util"));
|
|
40
|
-
|
|
31
|
+
const util = __importStar(require("./util"));
|
|
41
32
|
exports.util = util;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
var net = _interopRequireWildcard(require("./net"));
|
|
46
|
-
|
|
33
|
+
const fs_1 = require("./fs");
|
|
34
|
+
Object.defineProperty(exports, "fs", { enumerable: true, get: function () { return fs_1.fs; } });
|
|
35
|
+
const net = __importStar(require("./net"));
|
|
47
36
|
exports.net = net;
|
|
48
|
-
|
|
49
|
-
var plist = _interopRequireWildcard(require("./plist"));
|
|
50
|
-
|
|
37
|
+
const plist = __importStar(require("./plist"));
|
|
51
38
|
exports.plist = plist;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
var logger = _interopRequireWildcard(require("./logging"));
|
|
56
|
-
|
|
39
|
+
const mkdirp_1 = require("./mkdirp");
|
|
40
|
+
Object.defineProperty(exports, "mkdirp", { enumerable: true, get: function () { return mkdirp_1.mkdirp; } });
|
|
41
|
+
const logger = __importStar(require("./logging"));
|
|
57
42
|
exports.logger = logger;
|
|
58
|
-
|
|
59
|
-
var process = _interopRequireWildcard(require("./process"));
|
|
60
|
-
|
|
43
|
+
const process = __importStar(require("./process"));
|
|
61
44
|
exports.process = process;
|
|
62
|
-
|
|
63
|
-
var zip = _interopRequireWildcard(require("./zip"));
|
|
64
|
-
|
|
45
|
+
const zip = __importStar(require("./zip"));
|
|
65
46
|
exports.zip = zip;
|
|
66
|
-
|
|
67
|
-
var imageUtil = _interopRequireWildcard(require("./image-util"));
|
|
68
|
-
|
|
47
|
+
const imageUtil = __importStar(require("./image-util"));
|
|
69
48
|
exports.imageUtil = imageUtil;
|
|
70
|
-
|
|
71
|
-
var mjpeg = _interopRequireWildcard(require("./mjpeg"));
|
|
72
|
-
|
|
49
|
+
const mjpeg = __importStar(require("./mjpeg"));
|
|
73
50
|
exports.mjpeg = mjpeg;
|
|
74
|
-
|
|
75
|
-
var node = _interopRequireWildcard(require("./node"));
|
|
76
|
-
|
|
51
|
+
const node = __importStar(require("./node"));
|
|
77
52
|
exports.node = node;
|
|
78
|
-
|
|
79
|
-
var timing = _interopRequireWildcard(require("./timing"));
|
|
80
|
-
|
|
53
|
+
const timing = __importStar(require("./timing"));
|
|
81
54
|
exports.timing = timing;
|
|
82
|
-
|
|
83
|
-
var env = _interopRequireWildcard(require("./env"));
|
|
84
|
-
|
|
55
|
+
const env = __importStar(require("./env"));
|
|
85
56
|
exports.env = env;
|
|
86
|
-
|
|
87
|
-
var console = _interopRequireWildcard(require("./console"));
|
|
88
|
-
|
|
57
|
+
const console = __importStar(require("./console"));
|
|
89
58
|
exports.console = console;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
94
|
-
|
|
95
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
96
|
-
|
|
97
|
-
const {
|
|
98
|
-
cancellableDelay
|
|
99
|
-
} = util;
|
|
59
|
+
var npm_1 = require("./npm");
|
|
60
|
+
Object.defineProperty(exports, "npm", { enumerable: true, get: function () { return npm_1.npm; } });
|
|
61
|
+
const { cancellableDelay } = util;
|
|
100
62
|
exports.cancellableDelay = cancellableDelay;
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
63
|
+
exports.default = {
|
|
64
|
+
tempDir,
|
|
65
|
+
system,
|
|
66
|
+
util,
|
|
67
|
+
fs: fs_1.fs,
|
|
68
|
+
cancellableDelay,
|
|
69
|
+
plist,
|
|
70
|
+
mkdirp: mkdirp_1.mkdirp,
|
|
71
|
+
logger,
|
|
72
|
+
process,
|
|
73
|
+
zip,
|
|
74
|
+
imageUtil,
|
|
75
|
+
net,
|
|
76
|
+
mjpeg,
|
|
77
|
+
node,
|
|
78
|
+
timing,
|
|
79
|
+
env,
|
|
80
|
+
console,
|
|
119
81
|
};
|
|
120
|
-
|
|
121
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYW5jZWxsYWJsZURlbGF5IiwidXRpbCIsInRlbXBEaXIiLCJzeXN0ZW0iLCJmcyIsInBsaXN0IiwibWtkaXJwIiwibG9nZ2VyIiwicHJvY2VzcyIsInppcCIsImltYWdlVXRpbCIsIm5ldCIsIm1qcGVnIiwibm9kZSIsInRpbWluZyIsImVudiIsImNvbnNvbGUiXSwic291cmNlcyI6WyIuLi8uLi9saWIvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgdGVtcERpciBmcm9tICcuL3RlbXBkaXInO1xuaW1wb3J0ICogYXMgc3lzdGVtIGZyb20gJy4vc3lzdGVtJztcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSAnLi91dGlsJztcbmltcG9ydCB7ZnN9IGZyb20gJy4vZnMnO1xuaW1wb3J0ICogYXMgbmV0IGZyb20gJy4vbmV0JztcbmltcG9ydCAqIGFzIHBsaXN0IGZyb20gJy4vcGxpc3QnO1xuaW1wb3J0IHtta2RpcnB9IGZyb20gJy4vbWtkaXJwJztcbmltcG9ydCAqIGFzIGxvZ2dlciBmcm9tICcuL2xvZ2dpbmcnO1xuaW1wb3J0ICogYXMgcHJvY2VzcyBmcm9tICcuL3Byb2Nlc3MnO1xuaW1wb3J0ICogYXMgemlwIGZyb20gJy4vemlwJztcbmltcG9ydCAqIGFzIGltYWdlVXRpbCBmcm9tICcuL2ltYWdlLXV0aWwnO1xuaW1wb3J0ICogYXMgbWpwZWcgZnJvbSAnLi9tanBlZyc7XG5pbXBvcnQgKiBhcyBub2RlIGZyb20gJy4vbm9kZSc7XG5pbXBvcnQgKiBhcyB0aW1pbmcgZnJvbSAnLi90aW1pbmcnO1xuaW1wb3J0ICogYXMgZW52IGZyb20gJy4vZW52JztcbmltcG9ydCAqIGFzIGNvbnNvbGUgZnJvbSAnLi9jb25zb2xlJztcblxuZXhwb3J0IHtucG19IGZyb20gJy4vbnBtJztcblxuY29uc3Qge2NhbmNlbGxhYmxlRGVsYXl9ID0gdXRpbDtcblxuZXhwb3J0IHtcbiAgdGVtcERpcixcbiAgc3lzdGVtLFxuICB1dGlsLFxuICBmcyxcbiAgY2FuY2VsbGFibGVEZWxheSxcbiAgcGxpc3QsXG4gIG1rZGlycCxcbiAgbG9nZ2VyLFxuICBwcm9jZXNzLFxuICB6aXAsXG4gIGltYWdlVXRpbCxcbiAgbmV0LFxuICBtanBlZyxcbiAgbm9kZSxcbiAgdGltaW5nLFxuICBlbnYsXG4gIGNvbnNvbGUsXG59O1xuZXhwb3J0IGRlZmF1bHQge1xuICB0ZW1wRGlyLFxuICBzeXN0ZW0sXG4gIHV0aWwsXG4gIGZzLFxuICBjYW5jZWxsYWJsZURlbGF5LFxuICBwbGlzdCxcbiAgbWtkaXJwLFxuICBsb2dnZXIsXG4gIHByb2Nlc3MsXG4gIHppcCxcbiAgaW1hZ2VVdGlsLFxuICBuZXQsXG4gIG1qcGVnLFxuICBub2RlLFxuICB0aW1pbmcsXG4gIGVudixcbiAgY29uc29sZSxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7Ozs7O0FBRUEsTUFBTTtFQUFDQTtBQUFELElBQXFCQyxJQUEzQjs7ZUFxQmU7RUFDYkMsT0FEYTtFQUViQyxNQUZhO0VBR2JGLElBSGE7RUFJYkcsRUFBRSxFQUFGQSxNQUphO0VBS2JKLGdCQUxhO0VBTWJLLEtBTmE7RUFPYkMsTUFBTSxFQUFOQSxjQVBhO0VBUWJDLE1BUmE7RUFTYkMsT0FUYTtFQVViQyxHQVZhO0VBV2JDLFNBWGE7RUFZYkMsR0FaYTtFQWFiQyxLQWJhO0VBY2JDLElBZGE7RUFlYkMsTUFmYTtFQWdCYkMsR0FoQmE7RUFpQmJDO0FBakJhLEMifQ==
|
|
82
|
+
//# sourceMappingURL=index.js.map
|
package/build/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAqC;AAsBnC,0BAAO;AArBT,iDAAmC;AAsBjC,wBAAM;AArBR,6CAA+B;AAsB7B,oBAAI;AArBN,6BAAwB;AAsBtB,mFAtBM,OAAE,OAsBN;AArBJ,2CAA6B;AA6B3B,kBAAG;AA5BL,+CAAiC;AAsB/B,sBAAK;AArBP,qCAAgC;AAsB9B,uFAtBM,eAAM,OAsBN;AArBR,kDAAoC;AAsBlC,wBAAM;AArBR,mDAAqC;AAsBnC,0BAAO;AArBT,2CAA6B;AAsB3B,kBAAG;AArBL,wDAA0C;AAsBxC,8BAAS;AArBX,+CAAiC;AAuB/B,sBAAK;AAtBP,6CAA+B;AAuB7B,oBAAI;AAtBN,iDAAmC;AAuBjC,wBAAM;AAtBR,2CAA6B;AAuB3B,kBAAG;AAtBL,mDAAqC;AAuBnC,0BAAO;AArBT,6BAA0B;AAAlB,0FAAA,GAAG,OAAA;AAEX,MAAM,EAAC,gBAAgB,EAAC,GAAG,IAAI,CAAC;AAO9B,4CAAgB;AAclB,kBAAe;IACb,OAAO;IACP,MAAM;IACN,IAAI;IACJ,EAAE,EAAF,OAAE;IACF,gBAAgB;IAChB,KAAK;IACL,MAAM,EAAN,eAAM;IACN,MAAM;IACN,OAAO;IACP,GAAG;IACH,SAAS;IACT,GAAG;IACH,KAAK;IACL,IAAI;IACJ,MAAM;IACN,GAAG;IACH,OAAO;CACR,CAAC"}
|