diff --git a/.github/actions/https-everywhere-labeller/LICENSE b/.github/actions/https-everywhere-labeller/LICENSE deleted file mode 100644 index e4fe8f4c0ad4..000000000000 --- a/.github/actions/https-everywhere-labeller/LICENSE +++ /dev/null @@ -1,3 +0,0 @@ -HTTPS Everywhere Labeller: -Copyright © 2010-2018 Electronic Frontier Foundation and others -Licensed GPL v2+ diff --git a/.github/actions/https-everywhere-labeller/README.md b/.github/actions/https-everywhere-labeller/README.md deleted file mode 100644 index 253663454248..000000000000 --- a/.github/actions/https-everywhere-labeller/README.md +++ /dev/null @@ -1,18 +0,0 @@ -# Labels Pull Requests With Top Alexa Site Rankings -![Pull request labeler](https://github.com/EFForg/https-everywhere/workflows/Pull%20request%20labeler/badge.svg) - -Based off of `utils/labeller` -See: https://github.com/EFForg/https-everywhere/blob/master/utils/labeller/README.md - -# Build -Utilizes https://www.npmjs.com/package/@vercel/ncc to offset node_modules reference burden -```bash -npm i -g @vercel/ncc -ncc build index.js -o dist -``` - -# Notes About Testing -At the time of writing this, the only way to test is to create a test PR and commit there with console logs from the job ran in Actions tab. - -There is a tool that allegedly tests Github Actions locally, but it's not an official tool and very unstable: -https://github.com/nektos/act diff --git a/.github/actions/https-everywhere-labeller/action.yml b/.github/actions/https-everywhere-labeller/action.yml deleted file mode 100644 index fd7399c7d1db..000000000000 --- a/.github/actions/https-everywhere-labeller/action.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: 'Alexa Labeller' -description: 'Label PRs with Top Alexa Labels' -inputs: -<<<<<<< HEAD - token: -======= - github-token: ->>>>>>> 30d4497b1f5860fd8420594d3bae84dc8b82f37f - description: 'Token for the repository' - required: true -runs: - using: 'node12' - main: 'dist/index.js' diff --git a/.github/actions/https-everywhere-labeller/dist/index.js b/.github/actions/https-everywhere-labeller/dist/index.js deleted file mode 100644 index 20b8d4c535fd..000000000000 --- a/.github/actions/https-everywhere-labeller/dist/index.js +++ /dev/null @@ -1,49204 +0,0 @@ -module.exports = -/******/ (function(modules, runtime) { // webpackBootstrap -/******/ "use strict"; -/******/ // The module cache -/******/ var installedModules = {}; -/******/ -/******/ // The require function -/******/ function __webpack_require__(moduleId) { -/******/ -/******/ // Check if module is in cache -/******/ if(installedModules[moduleId]) { -/******/ return installedModules[moduleId].exports; -/******/ } -/******/ // Create a new module (and put it into the cache) -/******/ var module = installedModules[moduleId] = { -/******/ i: moduleId, -/******/ l: false, -/******/ exports: {} -/******/ }; -/******/ -/******/ // Execute the module function -/******/ var threw = true; -/******/ try { -/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); -/******/ threw = false; -/******/ } finally { -/******/ if(threw) delete installedModules[moduleId]; -/******/ } -/******/ -/******/ // Flag the module as loaded -/******/ module.l = true; -/******/ -/******/ // Return the exports of the module -/******/ return module.exports; -/******/ } -/******/ -/******/ -/******/ __webpack_require__.ab = __dirname + "/"; -/******/ -/******/ // the startup function -/******/ function startup() { -/******/ // Load entry module and return exports -/******/ return __webpack_require__(287); -/******/ }; -/******/ // initialize runtime -/******/ runtime(__webpack_require__); -/******/ -/******/ // run startup -/******/ return startup(); -/******/ }) -/************************************************************************/ -/******/ ([ -/* 0 */, -/* 1 */, -/* 2 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var once = __webpack_require__(429) -var eos = __webpack_require__(57) -var fs = __webpack_require__(747) // we only need fs to get the ReadStream and WriteStream prototypes - -var noop = function () {} -var ancient = /^v?\.0/.test(process.version) - -var isFn = function (fn) { - return typeof fn === 'function' -} - -var isFS = function (stream) { - if (!ancient) return false // newer node version do not need to care about fs is a special way - if (!fs) return false // browser - return (stream instanceof (fs.ReadStream || noop) || stream instanceof (fs.WriteStream || noop)) && isFn(stream.close) -} - -var isRequest = function (stream) { - return stream.setHeader && isFn(stream.abort) -} - -var destroyer = function (stream, reading, writing, callback) { - callback = once(callback) - - var closed = false - stream.on('close', function () { - closed = true - }) - - eos(stream, {readable: reading, writable: writing}, function (err) { - if (err) return callback(err) - closed = true - callback() - }) - - var destroyed = false - return function (err) { - if (closed) return - if (destroyed) return - destroyed = true - - if (isFS(stream)) return stream.close(noop) // use close for fs streams to avoid fd leaks - if (isRequest(stream)) return stream.abort() // request.destroy just do .end - .abort is what we want - - if (isFn(stream.destroy)) return stream.destroy() - - callback(err || new Error('stream was destroyed')) - } -} - -var call = function (fn) { - fn() -} - -var pipe = function (from, to) { - return from.pipe(to) -} - -var pump = function () { - var streams = Array.prototype.slice.call(arguments) - var callback = isFn(streams[streams.length - 1] || noop) && streams.pop() || noop - - if (Array.isArray(streams[0])) streams = streams[0] - if (streams.length < 2) throw new Error('pump requires two streams per minimum') - - var error - var destroys = streams.map(function (stream, i) { - var reading = i < streams.length - 1 - var writing = i > 0 - return destroyer(stream, reading, writing, function (err) { - if (!error) error = err - if (err) destroys.forEach(call) - if (reading) return - destroys.forEach(call) - callback(error) - }) - }) - - return streams.reduce(pipe) -} - -module.exports = pump - - -/***/ }), -/* 3 */, -/* 4 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var binary = __webpack_require__(566); -var PullStream = __webpack_require__(449); -var unzip = __webpack_require__(783); -var Promise = __webpack_require__(481); -var BufferStream = __webpack_require__(879); -var parseExtraField = __webpack_require__(640); -var Buffer = __webpack_require__(676); -var path = __webpack_require__(622); -var Writer = __webpack_require__(173).Writer; -var parseDateTime = __webpack_require__(841); - -var signature = Buffer.alloc(4); -signature.writeUInt32LE(0x06054b50,0); - -function getCrxHeader(source) { - var sourceStream = source.stream(0).pipe(PullStream()); - - return sourceStream.pull(4).then(function(data) { - var signature = data.readUInt32LE(0); - if (signature === 0x34327243) { - var crxHeader; - return sourceStream.pull(12).then(function(data) { - crxHeader = binary.parse(data) - .word32lu('version') - .word32lu('pubKeyLength') - .word32lu('signatureLength') - .vars; - }).then(function() { - return sourceStream.pull(crxHeader.pubKeyLength +crxHeader.signatureLength); - }).then(function(data) { - crxHeader.publicKey = data.slice(0,crxHeader.pubKeyLength); - crxHeader.signature = data.slice(crxHeader.pubKeyLength); - crxHeader.size = 16 + crxHeader.pubKeyLength +crxHeader.signatureLength; - return crxHeader; - }); - } - }); -} - -// Zip64 File Format Notes: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT -function getZip64CentralDirectory(source, zip64CDL) { - var d64loc = binary.parse(zip64CDL) - .word32lu('signature') - .word32lu('diskNumber') - .word64lu('offsetToStartOfCentralDirectory') - .word32lu('numberOfDisks') - .vars; - - if (d64loc.signature != 0x07064b50) { - throw new Error('invalid zip64 end of central dir locator signature (0x07064b50): 0x' + d64loc.signature.toString(16)); - } - - var dir64 = PullStream(); - source.stream(d64loc.offsetToStartOfCentralDirectory).pipe(dir64); - - return dir64.pull(56) -} - -// Zip64 File Format Notes: https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT -function parseZip64DirRecord (dir64record) { - var vars = binary.parse(dir64record) - .word32lu('signature') - .word64lu('sizeOfCentralDirectory') - .word16lu('version') - .word16lu('versionsNeededToExtract') - .word32lu('diskNumber') - .word32lu('diskStart') - .word64lu('numberOfRecordsOnDisk') - .word64lu('numberOfRecords') - .word64lu('sizeOfCentralDirectory') - .word64lu('offsetToStartOfCentralDirectory') - .vars; - - if (vars.signature != 0x06064b50) { - throw new Error('invalid zip64 end of central dir locator signature (0x06064b50): 0x0' + vars.signature.toString(16)); - } - - return vars -} - -module.exports = function centralDirectory(source, options) { - var endDir = PullStream(), - records = PullStream(), - tailSize = (options && options.tailSize) || 80, - sourceSize, - crxHeader, - startOffset, - vars; - - if (options && options.crx) - crxHeader = getCrxHeader(source); - - return source.size() - .then(function(size) { - sourceSize = size; - - source.stream(Math.max(0,size-tailSize)) - .on('error', function (error) { endDir.emit('error', error) }) - .pipe(endDir); - - return endDir.pull(signature); - }) - .then(function() { - return Promise.props({directory: endDir.pull(22), crxHeader: crxHeader}); - }) - .then(function(d) { - var data = d.directory; - startOffset = d.crxHeader && d.crxHeader.size || 0; - - vars = binary.parse(data) - .word32lu('signature') - .word16lu('diskNumber') - .word16lu('diskStart') - .word16lu('numberOfRecordsOnDisk') - .word16lu('numberOfRecords') - .word32lu('sizeOfCentralDirectory') - .word32lu('offsetToStartOfCentralDirectory') - .word16lu('commentLength') - .vars; - - // Is this zip file using zip64 format? Use same check as Go: - // https://github.com/golang/go/blob/master/src/archive/zip/reader.go#L503 - // For zip64 files, need to find zip64 central directory locator header to extract - // relative offset for zip64 central directory record. - if (vars.numberOfRecords == 0xffff|| vars.numberOfRecords == 0xffff || - vars.offsetToStartOfCentralDirectory == 0xffffffff) { - - // Offset to zip64 CDL is 20 bytes before normal CDR - const zip64CDLSize = 20 - const zip64CDLOffset = sourceSize - (tailSize - endDir.match + zip64CDLSize) - const zip64CDLStream = PullStream(); - - source.stream(zip64CDLOffset).pipe(zip64CDLStream); - - return zip64CDLStream.pull(zip64CDLSize) - .then(function (d) { return getZip64CentralDirectory(source, d) }) - .then(function (dir64record) { - vars = parseZip64DirRecord(dir64record) - }) - } else { - vars.offsetToStartOfCentralDirectory += startOffset; - } - }) - .then(function() { - source.stream(vars.offsetToStartOfCentralDirectory).pipe(records); - - vars.extract = function(opts) { - if (!opts || !opts.path) throw new Error('PATH_MISSING'); - return vars.files.then(function(files) { - return Promise.map(files, function(entry) { - if (entry.type == 'Directory') return; - - // to avoid zip slip (writing outside of the destination), we resolve - // the target path, and make sure it's nested in the intended - // destination, or not extract it otherwise. - var extractPath = path.join(opts.path, entry.path); - if (extractPath.indexOf(opts.path) != 0) { - return; - } - var writer = opts.getWriter ? opts.getWriter({path: extractPath}) : Writer({ path: extractPath }); - - return new Promise(function(resolve, reject) { - entry.stream(opts.password) - .on('error',reject) - .pipe(writer) - .on('close',resolve) - .on('error',reject); - }); - }, opts.concurrency > 1 ? {concurrency: opts.concurrency || undefined} : undefined); - }); - }; - - vars.files = Promise.mapSeries(Array(vars.numberOfRecords),function() { - return records.pull(46).then(function(data) { - var vars = binary.parse(data) - .word32lu('signature') - .word16lu('versionMadeBy') - .word16lu('versionsNeededToExtract') - .word16lu('flags') - .word16lu('compressionMethod') - .word16lu('lastModifiedTime') - .word16lu('lastModifiedDate') - .word32lu('crc32') - .word32lu('compressedSize') - .word32lu('uncompressedSize') - .word16lu('fileNameLength') - .word16lu('extraFieldLength') - .word16lu('fileCommentLength') - .word16lu('diskNumber') - .word16lu('internalFileAttributes') - .word32lu('externalFileAttributes') - .word32lu('offsetToLocalFileHeader') - .vars; - - vars.offsetToLocalFileHeader += startOffset; - vars.lastModifiedDateTime = parseDateTime(vars.lastModifiedDate, vars.lastModifiedTime); - - return records.pull(vars.fileNameLength).then(function(fileNameBuffer) { - vars.pathBuffer = fileNameBuffer; - vars.path = fileNameBuffer.toString('utf8'); - vars.isUnicode = vars.flags & 0x11; - return records.pull(vars.extraFieldLength); - }) - .then(function(extraField) { - vars.extra = parseExtraField(extraField, vars); - return records.pull(vars.fileCommentLength); - }) - .then(function(comment) { - vars.comment = comment; - vars.type = (vars.uncompressedSize === 0 && /[\/\\]$/.test(vars.path)) ? 'Directory' : 'File'; - vars.stream = function(_password) { - return unzip(source, vars.offsetToLocalFileHeader,_password, vars); - }; - vars.buffer = function(_password) { - return BufferStream(vars.stream(_password)); - }; - return vars; - }); - }); - }); - - return Promise.props(vars); - }); -}; - - -/***/ }), -/* 5 */, -/* 6 */, -/* 7 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, PromiseArray, apiRejection, debug) { -var util = __webpack_require__(143); -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var async = Promise._async; - -Promise.prototype["break"] = Promise.prototype.cancel = function() { - if (!debug.cancellation()) return this._warn("cancellation is disabled"); - - var promise = this; - var child = promise; - while (promise._isCancellable()) { - if (!promise._cancelBy(child)) { - if (child._isFollowing()) { - child._followee().cancel(); - } else { - child._cancelBranched(); - } - break; - } - - var parent = promise._cancellationParent; - if (parent == null || !parent._isCancellable()) { - if (promise._isFollowing()) { - promise._followee().cancel(); - } else { - promise._cancelBranched(); - } - break; - } else { - if (promise._isFollowing()) promise._followee().cancel(); - promise._setWillBeCancelled(); - child = promise; - promise = parent; - } - } -}; - -Promise.prototype._branchHasCancelled = function() { - this._branchesRemainingToCancel--; -}; - -Promise.prototype._enoughBranchesHaveCancelled = function() { - return this._branchesRemainingToCancel === undefined || - this._branchesRemainingToCancel <= 0; -}; - -Promise.prototype._cancelBy = function(canceller) { - if (canceller === this) { - this._branchesRemainingToCancel = 0; - this._invokeOnCancel(); - return true; - } else { - this._branchHasCancelled(); - if (this._enoughBranchesHaveCancelled()) { - this._invokeOnCancel(); - return true; - } - } - return false; -}; - -Promise.prototype._cancelBranched = function() { - if (this._enoughBranchesHaveCancelled()) { - this._cancel(); - } -}; - -Promise.prototype._cancel = function() { - if (!this._isCancellable()) return; - this._setCancelled(); - async.invoke(this._cancelPromises, this, undefined); -}; - -Promise.prototype._cancelPromises = function() { - if (this._length() > 0) this._settlePromises(); -}; - -Promise.prototype._unsetOnCancel = function() { - this._onCancelField = undefined; -}; - -Promise.prototype._isCancellable = function() { - return this.isPending() && !this._isCancelled(); -}; - -Promise.prototype.isCancellable = function() { - return this.isPending() && !this.isCancelled(); -}; - -Promise.prototype._doInvokeOnCancel = function(onCancelCallback, internalOnly) { - if (util.isArray(onCancelCallback)) { - for (var i = 0; i < onCancelCallback.length; ++i) { - this._doInvokeOnCancel(onCancelCallback[i], internalOnly); - } - } else if (onCancelCallback !== undefined) { - if (typeof onCancelCallback === "function") { - if (!internalOnly) { - var e = tryCatch(onCancelCallback).call(this._boundValue()); - if (e === errorObj) { - this._attachExtraTrace(e.e); - async.throwLater(e.e); - } - } - } else { - onCancelCallback._resultCancelled(this); - } - } -}; - -Promise.prototype._invokeOnCancel = function() { - var onCancelCallback = this._onCancel(); - this._unsetOnCancel(); - async.invoke(this._doInvokeOnCancel, this, onCancelCallback); -}; - -Promise.prototype._invokeInternalOnCancel = function() { - if (this._isCancellable()) { - this._doInvokeOnCancel(this._onCancel(), true); - this._unsetOnCancel(); - } -}; - -Promise.prototype._resultCancelled = function() { - this.cancel(); -}; - -}; - - -/***/ }), -/* 8 */, -/* 9 */, -/* 10 */, -/* 11 */, -/* 12 */, -/* 13 */, -/* 14 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -var deprecation = __webpack_require__(948); - -var endpointsByScope = { - actions: { - cancelWorkflowRun: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id/cancel" - }, - createOrUpdateSecretForRepo: { - method: "PUT", - params: { - encrypted_value: { - type: "string" - }, - key_id: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/secrets/:name" - }, - createRegistrationToken: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/runners/registration-token" - }, - createRemoveToken: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/runners/remove-token" - }, - deleteArtifact: { - method: "DELETE", - params: { - artifact_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" - }, - deleteSecretFromRepo: { - method: "DELETE", - params: { - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/secrets/:name" - }, - downloadArtifact: { - method: "GET", - params: { - archive_format: { - required: true, - type: "string" - }, - artifact_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/artifacts/:artifact_id/:archive_format" - }, - getArtifact: { - method: "GET", - params: { - artifact_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/artifacts/:artifact_id" - }, - getPublicKey: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/secrets/public-key" - }, - getSecret: { - method: "GET", - params: { - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/secrets/:name" - }, - getSelfHostedRunner: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - runner_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runners/:runner_id" - }, - getWorkflow: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - workflow_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/workflows/:workflow_id" - }, - getWorkflowJob: { - method: "GET", - params: { - job_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/jobs/:job_id" - }, - getWorkflowRun: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id" - }, - listDownloadsForSelfHostedRunnerApplication: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/runners/downloads" - }, - listJobsForWorkflowRun: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id/jobs" - }, - listRepoWorkflowRuns: { - method: "GET", - params: { - actor: { - type: "string" - }, - branch: { - type: "string" - }, - event: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - status: { - enum: ["completed", "status", "conclusion"], - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/runs" - }, - listRepoWorkflows: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/workflows" - }, - listSecretsForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/secrets" - }, - listSelfHostedRunnersForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/runners" - }, - listWorkflowJobLogs: { - method: "GET", - params: { - job_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/actions/jobs/:job_id/logs" - }, - listWorkflowRunArtifacts: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id/artifacts" - }, - listWorkflowRunLogs: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id/logs" - }, - listWorkflowRuns: { - method: "GET", - params: { - actor: { - type: "string" - }, - branch: { - type: "string" - }, - event: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - status: { - enum: ["completed", "status", "conclusion"], - type: "string" - }, - workflow_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/workflows/:workflow_id/runs" - }, - reRunWorkflow: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - run_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runs/:run_id/rerun" - }, - removeSelfHostedRunner: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - runner_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/actions/runners/:runner_id" - } - }, - activity: { - checkStarringRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/user/starred/:owner/:repo" - }, - deleteRepoSubscription: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/subscription" - }, - deleteThreadSubscription: { - method: "DELETE", - params: { - thread_id: { - required: true, - type: "integer" - } - }, - url: "/notifications/threads/:thread_id/subscription" - }, - getRepoSubscription: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/subscription" - }, - getThread: { - method: "GET", - params: { - thread_id: { - required: true, - type: "integer" - } - }, - url: "/notifications/threads/:thread_id" - }, - getThreadSubscription: { - method: "GET", - params: { - thread_id: { - required: true, - type: "integer" - } - }, - url: "/notifications/threads/:thread_id/subscription" - }, - listEventsForOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/events/orgs/:org" - }, - listEventsForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/events" - }, - listFeeds: { - method: "GET", - params: {}, - url: "/feeds" - }, - listNotifications: { - method: "GET", - params: { - all: { - type: "boolean" - }, - before: { - type: "string" - }, - page: { - type: "integer" - }, - participating: { - type: "boolean" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - } - }, - url: "/notifications" - }, - listNotificationsForRepo: { - method: "GET", - params: { - all: { - type: "boolean" - }, - before: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - participating: { - type: "boolean" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - } - }, - url: "/repos/:owner/:repo/notifications" - }, - listPublicEvents: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/events" - }, - listPublicEventsForOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/events" - }, - listPublicEventsForRepoNetwork: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/networks/:owner/:repo/events" - }, - listPublicEventsForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/events/public" - }, - listReceivedEventsForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/received_events" - }, - listReceivedPublicEventsForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/received_events/public" - }, - listRepoEvents: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/events" - }, - listReposStarredByAuthenticatedUser: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/user/starred" - }, - listReposStarredByUser: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - sort: { - enum: ["created", "updated"], - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/starred" - }, - listReposWatchedByUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/subscriptions" - }, - listStargazersForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stargazers" - }, - listWatchedReposForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/subscriptions" - }, - listWatchersForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/subscribers" - }, - markAsRead: { - method: "PUT", - params: { - last_read_at: { - type: "string" - } - }, - url: "/notifications" - }, - markNotificationsAsReadForRepo: { - method: "PUT", - params: { - last_read_at: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/notifications" - }, - markThreadAsRead: { - method: "PATCH", - params: { - thread_id: { - required: true, - type: "integer" - } - }, - url: "/notifications/threads/:thread_id" - }, - setRepoSubscription: { - method: "PUT", - params: { - ignored: { - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - subscribed: { - type: "boolean" - } - }, - url: "/repos/:owner/:repo/subscription" - }, - setThreadSubscription: { - method: "PUT", - params: { - ignored: { - type: "boolean" - }, - thread_id: { - required: true, - type: "integer" - } - }, - url: "/notifications/threads/:thread_id/subscription" - }, - starRepo: { - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/user/starred/:owner/:repo" - }, - unstarRepo: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/user/starred/:owner/:repo" - } - }, - apps: { - addRepoToInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "PUT", - params: { - installation_id: { - required: true, - type: "integer" - }, - repository_id: { - required: true, - type: "integer" - } - }, - url: "/user/installations/:installation_id/repositories/:repository_id" - }, - checkAccountIsAssociatedWithAny: { - method: "GET", - params: { - account_id: { - required: true, - type: "integer" - } - }, - url: "/marketplace_listing/accounts/:account_id" - }, - checkAccountIsAssociatedWithAnyStubbed: { - method: "GET", - params: { - account_id: { - required: true, - type: "integer" - } - }, - url: "/marketplace_listing/stubbed/accounts/:account_id" - }, - checkAuthorization: { - deprecated: "octokit.apps.checkAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#check-an-authorization", - method: "GET", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - checkToken: { - headers: { - accept: "application/vnd.github.doctor-strange-preview+json" - }, - method: "POST", - params: { - access_token: { - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/token" - }, - createContentAttachment: { - headers: { - accept: "application/vnd.github.corsair-preview+json" - }, - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - content_reference_id: { - required: true, - type: "integer" - }, - title: { - required: true, - type: "string" - } - }, - url: "/content_references/:content_reference_id/attachments" - }, - createFromManifest: { - headers: { - accept: "application/vnd.github.fury-preview+json" - }, - method: "POST", - params: { - code: { - required: true, - type: "string" - } - }, - url: "/app-manifests/:code/conversions" - }, - createInstallationToken: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "POST", - params: { - installation_id: { - required: true, - type: "integer" - }, - permissions: { - type: "object" - }, - repository_ids: { - type: "integer[]" - } - }, - url: "/app/installations/:installation_id/access_tokens" - }, - deleteAuthorization: { - headers: { - accept: "application/vnd.github.doctor-strange-preview+json" - }, - method: "DELETE", - params: { - access_token: { - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/grant" - }, - deleteInstallation: { - headers: { - accept: "application/vnd.github.gambit-preview+json,application/vnd.github.machine-man-preview+json" - }, - method: "DELETE", - params: { - installation_id: { - required: true, - type: "integer" - } - }, - url: "/app/installations/:installation_id" - }, - deleteToken: { - headers: { - accept: "application/vnd.github.doctor-strange-preview+json" - }, - method: "DELETE", - params: { - access_token: { - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/token" - }, - findOrgInstallation: { - deprecated: "octokit.apps.findOrgInstallation() has been renamed to octokit.apps.getOrgInstallation() (2019-04-10)", - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/installation" - }, - findRepoInstallation: { - deprecated: "octokit.apps.findRepoInstallation() has been renamed to octokit.apps.getRepoInstallation() (2019-04-10)", - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/installation" - }, - findUserInstallation: { - deprecated: "octokit.apps.findUserInstallation() has been renamed to octokit.apps.getUserInstallation() (2019-04-10)", - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/installation" - }, - getAuthenticated: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: {}, - url: "/app" - }, - getBySlug: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - app_slug: { - required: true, - type: "string" - } - }, - url: "/apps/:app_slug" - }, - getInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - installation_id: { - required: true, - type: "integer" - } - }, - url: "/app/installations/:installation_id" - }, - getOrgInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/installation" - }, - getRepoInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/installation" - }, - getUserInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/installation" - }, - listAccountsUserOrOrgOnPlan: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - plan_id: { - required: true, - type: "integer" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/marketplace_listing/plans/:plan_id/accounts" - }, - listAccountsUserOrOrgOnPlanStubbed: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - plan_id: { - required: true, - type: "integer" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/marketplace_listing/stubbed/plans/:plan_id/accounts" - }, - listInstallationReposForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - installation_id: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/installations/:installation_id/repositories" - }, - listInstallations: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/app/installations" - }, - listInstallationsForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/installations" - }, - listMarketplacePurchasesForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/marketplace_purchases" - }, - listMarketplacePurchasesForAuthenticatedUserStubbed: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/marketplace_purchases/stubbed" - }, - listPlans: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/marketplace_listing/plans" - }, - listPlansStubbed: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/marketplace_listing/stubbed/plans" - }, - listRepos: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/installation/repositories" - }, - removeRepoFromInstallation: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "DELETE", - params: { - installation_id: { - required: true, - type: "integer" - }, - repository_id: { - required: true, - type: "integer" - } - }, - url: "/user/installations/:installation_id/repositories/:repository_id" - }, - resetAuthorization: { - deprecated: "octokit.apps.resetAuthorization() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#reset-an-authorization", - method: "POST", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - resetToken: { - headers: { - accept: "application/vnd.github.doctor-strange-preview+json" - }, - method: "PATCH", - params: { - access_token: { - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/token" - }, - revokeAuthorizationForApplication: { - deprecated: "octokit.apps.revokeAuthorizationForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-an-authorization-for-an-application", - method: "DELETE", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - revokeGrantForApplication: { - deprecated: "octokit.apps.revokeGrantForApplication() is deprecated, see https://developer.github.com/v3/apps/oauth_applications/#revoke-a-grant-for-an-application", - method: "DELETE", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/grants/:access_token" - }, - revokeInstallationToken: { - headers: { - accept: "application/vnd.github.gambit-preview+json" - }, - method: "DELETE", - params: {}, - url: "/installation/token" - } - }, - checks: { - create: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "POST", - params: { - actions: { - type: "object[]" - }, - "actions[].description": { - required: true, - type: "string" - }, - "actions[].identifier": { - required: true, - type: "string" - }, - "actions[].label": { - required: true, - type: "string" - }, - completed_at: { - type: "string" - }, - conclusion: { - enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"], - type: "string" - }, - details_url: { - type: "string" - }, - external_id: { - type: "string" - }, - head_sha: { - required: true, - type: "string" - }, - name: { - required: true, - type: "string" - }, - output: { - type: "object" - }, - "output.annotations": { - type: "object[]" - }, - "output.annotations[].annotation_level": { - enum: ["notice", "warning", "failure"], - required: true, - type: "string" - }, - "output.annotations[].end_column": { - type: "integer" - }, - "output.annotations[].end_line": { - required: true, - type: "integer" - }, - "output.annotations[].message": { - required: true, - type: "string" - }, - "output.annotations[].path": { - required: true, - type: "string" - }, - "output.annotations[].raw_details": { - type: "string" - }, - "output.annotations[].start_column": { - type: "integer" - }, - "output.annotations[].start_line": { - required: true, - type: "integer" - }, - "output.annotations[].title": { - type: "string" - }, - "output.images": { - type: "object[]" - }, - "output.images[].alt": { - required: true, - type: "string" - }, - "output.images[].caption": { - type: "string" - }, - "output.images[].image_url": { - required: true, - type: "string" - }, - "output.summary": { - required: true, - type: "string" - }, - "output.text": { - type: "string" - }, - "output.title": { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - started_at: { - type: "string" - }, - status: { - enum: ["queued", "in_progress", "completed"], - type: "string" - } - }, - url: "/repos/:owner/:repo/check-runs" - }, - createSuite: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "POST", - params: { - head_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-suites" - }, - get: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - check_run_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-runs/:check_run_id" - }, - getSuite: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - check_suite_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-suites/:check_suite_id" - }, - listAnnotations: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - check_run_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-runs/:check_run_id/annotations" - }, - listForRef: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - check_name: { - type: "string" - }, - filter: { - enum: ["latest", "all"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - status: { - enum: ["queued", "in_progress", "completed"], - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref/check-runs" - }, - listForSuite: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - check_name: { - type: "string" - }, - check_suite_id: { - required: true, - type: "integer" - }, - filter: { - enum: ["latest", "all"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - status: { - enum: ["queued", "in_progress", "completed"], - type: "string" - } - }, - url: "/repos/:owner/:repo/check-suites/:check_suite_id/check-runs" - }, - listSuitesForRef: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "GET", - params: { - app_id: { - type: "integer" - }, - check_name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref/check-suites" - }, - rerequestSuite: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "POST", - params: { - check_suite_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-suites/:check_suite_id/rerequest" - }, - setSuitesPreferences: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "PATCH", - params: { - auto_trigger_checks: { - type: "object[]" - }, - "auto_trigger_checks[].app_id": { - required: true, - type: "integer" - }, - "auto_trigger_checks[].setting": { - required: true, - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/check-suites/preferences" - }, - update: { - headers: { - accept: "application/vnd.github.antiope-preview+json" - }, - method: "PATCH", - params: { - actions: { - type: "object[]" - }, - "actions[].description": { - required: true, - type: "string" - }, - "actions[].identifier": { - required: true, - type: "string" - }, - "actions[].label": { - required: true, - type: "string" - }, - check_run_id: { - required: true, - type: "integer" - }, - completed_at: { - type: "string" - }, - conclusion: { - enum: ["success", "failure", "neutral", "cancelled", "timed_out", "action_required"], - type: "string" - }, - details_url: { - type: "string" - }, - external_id: { - type: "string" - }, - name: { - type: "string" - }, - output: { - type: "object" - }, - "output.annotations": { - type: "object[]" - }, - "output.annotations[].annotation_level": { - enum: ["notice", "warning", "failure"], - required: true, - type: "string" - }, - "output.annotations[].end_column": { - type: "integer" - }, - "output.annotations[].end_line": { - required: true, - type: "integer" - }, - "output.annotations[].message": { - required: true, - type: "string" - }, - "output.annotations[].path": { - required: true, - type: "string" - }, - "output.annotations[].raw_details": { - type: "string" - }, - "output.annotations[].start_column": { - type: "integer" - }, - "output.annotations[].start_line": { - required: true, - type: "integer" - }, - "output.annotations[].title": { - type: "string" - }, - "output.images": { - type: "object[]" - }, - "output.images[].alt": { - required: true, - type: "string" - }, - "output.images[].caption": { - type: "string" - }, - "output.images[].image_url": { - required: true, - type: "string" - }, - "output.summary": { - required: true, - type: "string" - }, - "output.text": { - type: "string" - }, - "output.title": { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - started_at: { - type: "string" - }, - status: { - enum: ["queued", "in_progress", "completed"], - type: "string" - } - }, - url: "/repos/:owner/:repo/check-runs/:check_run_id" - } - }, - codesOfConduct: { - getConductCode: { - headers: { - accept: "application/vnd.github.scarlet-witch-preview+json" - }, - method: "GET", - params: { - key: { - required: true, - type: "string" - } - }, - url: "/codes_of_conduct/:key" - }, - getForRepo: { - headers: { - accept: "application/vnd.github.scarlet-witch-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/community/code_of_conduct" - }, - listConductCodes: { - headers: { - accept: "application/vnd.github.scarlet-witch-preview+json" - }, - method: "GET", - params: {}, - url: "/codes_of_conduct" - } - }, - emojis: { - get: { - method: "GET", - params: {}, - url: "/emojis" - } - }, - gists: { - checkIsStarred: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/star" - }, - create: { - method: "POST", - params: { - description: { - type: "string" - }, - files: { - required: true, - type: "object" - }, - "files.content": { - type: "string" - }, - public: { - type: "boolean" - } - }, - url: "/gists" - }, - createComment: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/comments" - }, - delete: { - method: "DELETE", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id" - }, - deleteComment: { - method: "DELETE", - params: { - comment_id: { - required: true, - type: "integer" - }, - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/comments/:comment_id" - }, - fork: { - method: "POST", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/forks" - }, - get: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id" - }, - getComment: { - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/comments/:comment_id" - }, - getRevision: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - }, - sha: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/:sha" - }, - list: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - } - }, - url: "/gists" - }, - listComments: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/gists/:gist_id/comments" - }, - listCommits: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/gists/:gist_id/commits" - }, - listForks: { - method: "GET", - params: { - gist_id: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/gists/:gist_id/forks" - }, - listPublic: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - } - }, - url: "/gists/public" - }, - listPublicForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/gists" - }, - listStarred: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - } - }, - url: "/gists/starred" - }, - star: { - method: "PUT", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/star" - }, - unstar: { - method: "DELETE", - params: { - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/star" - }, - update: { - method: "PATCH", - params: { - description: { - type: "string" - }, - files: { - type: "object" - }, - "files.content": { - type: "string" - }, - "files.filename": { - type: "string" - }, - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id" - }, - updateComment: { - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_id: { - required: true, - type: "integer" - }, - gist_id: { - required: true, - type: "string" - } - }, - url: "/gists/:gist_id/comments/:comment_id" - } - }, - git: { - createBlob: { - method: "POST", - params: { - content: { - required: true, - type: "string" - }, - encoding: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/blobs" - }, - createCommit: { - method: "POST", - params: { - author: { - type: "object" - }, - "author.date": { - type: "string" - }, - "author.email": { - type: "string" - }, - "author.name": { - type: "string" - }, - committer: { - type: "object" - }, - "committer.date": { - type: "string" - }, - "committer.email": { - type: "string" - }, - "committer.name": { - type: "string" - }, - message: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - parents: { - required: true, - type: "string[]" - }, - repo: { - required: true, - type: "string" - }, - signature: { - type: "string" - }, - tree: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/commits" - }, - createRef: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/refs" - }, - createTag: { - method: "POST", - params: { - message: { - required: true, - type: "string" - }, - object: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - tag: { - required: true, - type: "string" - }, - tagger: { - type: "object" - }, - "tagger.date": { - type: "string" - }, - "tagger.email": { - type: "string" - }, - "tagger.name": { - type: "string" - }, - type: { - enum: ["commit", "tree", "blob"], - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/tags" - }, - createTree: { - method: "POST", - params: { - base_tree: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - tree: { - required: true, - type: "object[]" - }, - "tree[].content": { - type: "string" - }, - "tree[].mode": { - enum: ["100644", "100755", "040000", "160000", "120000"], - type: "string" - }, - "tree[].path": { - type: "string" - }, - "tree[].sha": { - allowNull: true, - type: "string" - }, - "tree[].type": { - enum: ["blob", "tree", "commit"], - type: "string" - } - }, - url: "/repos/:owner/:repo/git/trees" - }, - deleteRef: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/refs/:ref" - }, - getBlob: { - method: "GET", - params: { - file_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/blobs/:file_sha" - }, - getCommit: { - method: "GET", - params: { - commit_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/commits/:commit_sha" - }, - getRef: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/ref/:ref" - }, - getTag: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - tag_sha: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/tags/:tag_sha" - }, - getTree: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - recursive: { - enum: ["1"], - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - tree_sha: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/trees/:tree_sha" - }, - listMatchingRefs: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/matching-refs/:ref" - }, - listRefs: { - method: "GET", - params: { - namespace: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/refs/:namespace" - }, - updateRef: { - method: "PATCH", - params: { - force: { - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/git/refs/:ref" - } - }, - gitignore: { - getTemplate: { - method: "GET", - params: { - name: { - required: true, - type: "string" - } - }, - url: "/gitignore/templates/:name" - }, - listTemplates: { - method: "GET", - params: {}, - url: "/gitignore/templates" - } - }, - interactions: { - addOrUpdateRestrictionsForOrg: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "PUT", - params: { - limit: { - enum: ["existing_users", "contributors_only", "collaborators_only"], - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/interaction-limits" - }, - addOrUpdateRestrictionsForRepo: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "PUT", - params: { - limit: { - enum: ["existing_users", "contributors_only", "collaborators_only"], - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/interaction-limits" - }, - getRestrictionsForOrg: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/interaction-limits" - }, - getRestrictionsForRepo: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/interaction-limits" - }, - removeRestrictionsForOrg: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "DELETE", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/interaction-limits" - }, - removeRestrictionsForRepo: { - headers: { - accept: "application/vnd.github.sombra-preview+json" - }, - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/interaction-limits" - } - }, - issues: { - addAssignees: { - method: "POST", - params: { - assignees: { - type: "string[]" - }, - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/assignees" - }, - addLabels: { - method: "POST", - params: { - issue_number: { - required: true, - type: "integer" - }, - labels: { - required: true, - type: "string[]" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/labels" - }, - checkAssignee: { - method: "GET", - params: { - assignee: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/assignees/:assignee" - }, - create: { - method: "POST", - params: { - assignee: { - type: "string" - }, - assignees: { - type: "string[]" - }, - body: { - type: "string" - }, - labels: { - type: "string[]" - }, - milestone: { - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - title: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues" - }, - createComment: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/comments" - }, - createLabel: { - method: "POST", - params: { - color: { - required: true, - type: "string" - }, - description: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/labels" - }, - createMilestone: { - method: "POST", - params: { - description: { - type: "string" - }, - due_on: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["open", "closed"], - type: "string" - }, - title: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones" - }, - deleteComment: { - method: "DELETE", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments/:comment_id" - }, - deleteLabel: { - method: "DELETE", - params: { - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/labels/:name" - }, - deleteMilestone: { - method: "DELETE", - params: { - milestone_number: { - required: true, - type: "integer" - }, - number: { - alias: "milestone_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones/:milestone_number" - }, - get: { - method: "GET", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number" - }, - getComment: { - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments/:comment_id" - }, - getEvent: { - method: "GET", - params: { - event_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/events/:event_id" - }, - getLabel: { - method: "GET", - params: { - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/labels/:name" - }, - getMilestone: { - method: "GET", - params: { - milestone_number: { - required: true, - type: "integer" - }, - number: { - alias: "milestone_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones/:milestone_number" - }, - list: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - filter: { - enum: ["assigned", "created", "mentioned", "subscribed", "all"], - type: "string" - }, - labels: { - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated", "comments"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/issues" - }, - listAssignees: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/assignees" - }, - listComments: { - method: "GET", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/comments" - }, - listCommentsForRepo: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments" - }, - listEvents: { - method: "GET", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/events" - }, - listEventsForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/events" - }, - listEventsForTimeline: { - headers: { - accept: "application/vnd.github.mockingbird-preview+json" - }, - method: "GET", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/timeline" - }, - listForAuthenticatedUser: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - filter: { - enum: ["assigned", "created", "mentioned", "subscribed", "all"], - type: "string" - }, - labels: { - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated", "comments"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/user/issues" - }, - listForOrg: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - filter: { - enum: ["assigned", "created", "mentioned", "subscribed", "all"], - type: "string" - }, - labels: { - type: "string" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated", "comments"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/orgs/:org/issues" - }, - listForRepo: { - method: "GET", - params: { - assignee: { - type: "string" - }, - creator: { - type: "string" - }, - direction: { - enum: ["asc", "desc"], - type: "string" - }, - labels: { - type: "string" - }, - mentioned: { - type: "string" - }, - milestone: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated", "comments"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/repos/:owner/:repo/issues" - }, - listLabelsForMilestone: { - method: "GET", - params: { - milestone_number: { - required: true, - type: "integer" - }, - number: { - alias: "milestone_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones/:milestone_number/labels" - }, - listLabelsForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/labels" - }, - listLabelsOnIssue: { - method: "GET", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/labels" - }, - listMilestonesForRepo: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sort: { - enum: ["due_on", "completeness"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones" - }, - lock: { - method: "PUT", - params: { - issue_number: { - required: true, - type: "integer" - }, - lock_reason: { - enum: ["off-topic", "too heated", "resolved", "spam"], - type: "string" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/lock" - }, - removeAssignees: { - method: "DELETE", - params: { - assignees: { - type: "string[]" - }, - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/assignees" - }, - removeLabel: { - method: "DELETE", - params: { - issue_number: { - required: true, - type: "integer" - }, - name: { - required: true, - type: "string" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/labels/:name" - }, - removeLabels: { - method: "DELETE", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/labels" - }, - replaceLabels: { - method: "PUT", - params: { - issue_number: { - required: true, - type: "integer" - }, - labels: { - type: "string[]" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/labels" - }, - unlock: { - method: "DELETE", - params: { - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/lock" - }, - update: { - method: "PATCH", - params: { - assignee: { - type: "string" - }, - assignees: { - type: "string[]" - }, - body: { - type: "string" - }, - issue_number: { - required: true, - type: "integer" - }, - labels: { - type: "string[]" - }, - milestone: { - allowNull: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["open", "closed"], - type: "string" - }, - title: { - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number" - }, - updateComment: { - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments/:comment_id" - }, - updateLabel: { - method: "PATCH", - params: { - color: { - type: "string" - }, - current_name: { - required: true, - type: "string" - }, - description: { - type: "string" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/labels/:current_name" - }, - updateMilestone: { - method: "PATCH", - params: { - description: { - type: "string" - }, - due_on: { - type: "string" - }, - milestone_number: { - required: true, - type: "integer" - }, - number: { - alias: "milestone_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["open", "closed"], - type: "string" - }, - title: { - type: "string" - } - }, - url: "/repos/:owner/:repo/milestones/:milestone_number" - } - }, - licenses: { - get: { - method: "GET", - params: { - license: { - required: true, - type: "string" - } - }, - url: "/licenses/:license" - }, - getForRepo: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/license" - }, - list: { - deprecated: "octokit.licenses.list() has been renamed to octokit.licenses.listCommonlyUsed() (2019-03-05)", - method: "GET", - params: {}, - url: "/licenses" - }, - listCommonlyUsed: { - method: "GET", - params: {}, - url: "/licenses" - } - }, - markdown: { - render: { - method: "POST", - params: { - context: { - type: "string" - }, - mode: { - enum: ["markdown", "gfm"], - type: "string" - }, - text: { - required: true, - type: "string" - } - }, - url: "/markdown" - }, - renderRaw: { - headers: { - "content-type": "text/plain; charset=utf-8" - }, - method: "POST", - params: { - data: { - mapTo: "data", - required: true, - type: "string" - } - }, - url: "/markdown/raw" - } - }, - meta: { - get: { - method: "GET", - params: {}, - url: "/meta" - } - }, - migrations: { - cancelImport: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/import" - }, - deleteArchiveForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "DELETE", - params: { - migration_id: { - required: true, - type: "integer" - } - }, - url: "/user/migrations/:migration_id/archive" - }, - deleteArchiveForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "DELETE", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/migrations/:migration_id/archive" - }, - downloadArchiveForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/migrations/:migration_id/archive" - }, - getArchiveForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - } - }, - url: "/user/migrations/:migration_id/archive" - }, - getArchiveForOrg: { - deprecated: "octokit.migrations.getArchiveForOrg() has been renamed to octokit.migrations.downloadArchiveForOrg() (2020-01-27)", - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/migrations/:migration_id/archive" - }, - getCommitAuthors: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - } - }, - url: "/repos/:owner/:repo/import/authors" - }, - getImportProgress: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/import" - }, - getLargeFiles: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/import/large_files" - }, - getStatusForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - } - }, - url: "/user/migrations/:migration_id" - }, - getStatusForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/migrations/:migration_id" - }, - listForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/migrations" - }, - listForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/migrations" - }, - listReposForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/migrations/:migration_id/repositories" - }, - listReposForUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "GET", - params: { - migration_id: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/:migration_id/repositories" - }, - mapCommitAuthor: { - method: "PATCH", - params: { - author_id: { - required: true, - type: "integer" - }, - email: { - type: "string" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/import/authors/:author_id" - }, - setLfsPreference: { - method: "PATCH", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - use_lfs: { - enum: ["opt_in", "opt_out"], - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/import/lfs" - }, - startForAuthenticatedUser: { - method: "POST", - params: { - exclude_attachments: { - type: "boolean" - }, - lock_repositories: { - type: "boolean" - }, - repositories: { - required: true, - type: "string[]" - } - }, - url: "/user/migrations" - }, - startForOrg: { - method: "POST", - params: { - exclude_attachments: { - type: "boolean" - }, - lock_repositories: { - type: "boolean" - }, - org: { - required: true, - type: "string" - }, - repositories: { - required: true, - type: "string[]" - } - }, - url: "/orgs/:org/migrations" - }, - startImport: { - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - tfvc_project: { - type: "string" - }, - vcs: { - enum: ["subversion", "git", "mercurial", "tfvc"], - type: "string" - }, - vcs_password: { - type: "string" - }, - vcs_url: { - required: true, - type: "string" - }, - vcs_username: { - type: "string" - } - }, - url: "/repos/:owner/:repo/import" - }, - unlockRepoForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "DELETE", - params: { - migration_id: { - required: true, - type: "integer" - }, - repo_name: { - required: true, - type: "string" - } - }, - url: "/user/migrations/:migration_id/repos/:repo_name/lock" - }, - unlockRepoForOrg: { - headers: { - accept: "application/vnd.github.wyandotte-preview+json" - }, - method: "DELETE", - params: { - migration_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - repo_name: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/migrations/:migration_id/repos/:repo_name/lock" - }, - updateImport: { - method: "PATCH", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - vcs_password: { - type: "string" - }, - vcs_username: { - type: "string" - } - }, - url: "/repos/:owner/:repo/import" - } - }, - oauthAuthorizations: { - checkAuthorization: { - deprecated: "octokit.oauthAuthorizations.checkAuthorization() has been renamed to octokit.apps.checkAuthorization() (2019-11-05)", - method: "GET", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - createAuthorization: { - deprecated: "octokit.oauthAuthorizations.createAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#create-a-new-authorization", - method: "POST", - params: { - client_id: { - type: "string" - }, - client_secret: { - type: "string" - }, - fingerprint: { - type: "string" - }, - note: { - required: true, - type: "string" - }, - note_url: { - type: "string" - }, - scopes: { - type: "string[]" - } - }, - url: "/authorizations" - }, - deleteAuthorization: { - deprecated: "octokit.oauthAuthorizations.deleteAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-an-authorization", - method: "DELETE", - params: { - authorization_id: { - required: true, - type: "integer" - } - }, - url: "/authorizations/:authorization_id" - }, - deleteGrant: { - deprecated: "octokit.oauthAuthorizations.deleteGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#delete-a-grant", - method: "DELETE", - params: { - grant_id: { - required: true, - type: "integer" - } - }, - url: "/applications/grants/:grant_id" - }, - getAuthorization: { - deprecated: "octokit.oauthAuthorizations.getAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-authorization", - method: "GET", - params: { - authorization_id: { - required: true, - type: "integer" - } - }, - url: "/authorizations/:authorization_id" - }, - getGrant: { - deprecated: "octokit.oauthAuthorizations.getGrant() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-a-single-grant", - method: "GET", - params: { - grant_id: { - required: true, - type: "integer" - } - }, - url: "/applications/grants/:grant_id" - }, - getOrCreateAuthorizationForApp: { - deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForApp() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app", - method: "PUT", - params: { - client_id: { - required: true, - type: "string" - }, - client_secret: { - required: true, - type: "string" - }, - fingerprint: { - type: "string" - }, - note: { - type: "string" - }, - note_url: { - type: "string" - }, - scopes: { - type: "string[]" - } - }, - url: "/authorizations/clients/:client_id" - }, - getOrCreateAuthorizationForAppAndFingerprint: { - deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#get-or-create-an-authorization-for-a-specific-app-and-fingerprint", - method: "PUT", - params: { - client_id: { - required: true, - type: "string" - }, - client_secret: { - required: true, - type: "string" - }, - fingerprint: { - required: true, - type: "string" - }, - note: { - type: "string" - }, - note_url: { - type: "string" - }, - scopes: { - type: "string[]" - } - }, - url: "/authorizations/clients/:client_id/:fingerprint" - }, - getOrCreateAuthorizationForAppFingerprint: { - deprecated: "octokit.oauthAuthorizations.getOrCreateAuthorizationForAppFingerprint() has been renamed to octokit.oauthAuthorizations.getOrCreateAuthorizationForAppAndFingerprint() (2018-12-27)", - method: "PUT", - params: { - client_id: { - required: true, - type: "string" - }, - client_secret: { - required: true, - type: "string" - }, - fingerprint: { - required: true, - type: "string" - }, - note: { - type: "string" - }, - note_url: { - type: "string" - }, - scopes: { - type: "string[]" - } - }, - url: "/authorizations/clients/:client_id/:fingerprint" - }, - listAuthorizations: { - deprecated: "octokit.oauthAuthorizations.listAuthorizations() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-authorizations", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/authorizations" - }, - listGrants: { - deprecated: "octokit.oauthAuthorizations.listGrants() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#list-your-grants", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/applications/grants" - }, - resetAuthorization: { - deprecated: "octokit.oauthAuthorizations.resetAuthorization() has been renamed to octokit.apps.resetAuthorization() (2019-11-05)", - method: "POST", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - revokeAuthorizationForApplication: { - deprecated: "octokit.oauthAuthorizations.revokeAuthorizationForApplication() has been renamed to octokit.apps.revokeAuthorizationForApplication() (2019-11-05)", - method: "DELETE", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/tokens/:access_token" - }, - revokeGrantForApplication: { - deprecated: "octokit.oauthAuthorizations.revokeGrantForApplication() has been renamed to octokit.apps.revokeGrantForApplication() (2019-11-05)", - method: "DELETE", - params: { - access_token: { - required: true, - type: "string" - }, - client_id: { - required: true, - type: "string" - } - }, - url: "/applications/:client_id/grants/:access_token" - }, - updateAuthorization: { - deprecated: "octokit.oauthAuthorizations.updateAuthorization() is deprecated, see https://developer.github.com/v3/oauth_authorizations/#update-an-existing-authorization", - method: "PATCH", - params: { - add_scopes: { - type: "string[]" - }, - authorization_id: { - required: true, - type: "integer" - }, - fingerprint: { - type: "string" - }, - note: { - type: "string" - }, - note_url: { - type: "string" - }, - remove_scopes: { - type: "string[]" - }, - scopes: { - type: "string[]" - } - }, - url: "/authorizations/:authorization_id" - } - }, - orgs: { - addOrUpdateMembership: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - role: { - enum: ["admin", "member"], - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/memberships/:username" - }, - blockUser: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/blocks/:username" - }, - checkBlockedUser: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/blocks/:username" - }, - checkMembership: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/members/:username" - }, - checkPublicMembership: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/public_members/:username" - }, - concealMembership: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/public_members/:username" - }, - convertMemberToOutsideCollaborator: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/outside_collaborators/:username" - }, - createHook: { - method: "POST", - params: { - active: { - type: "boolean" - }, - config: { - required: true, - type: "object" - }, - "config.content_type": { - type: "string" - }, - "config.insecure_ssl": { - type: "string" - }, - "config.secret": { - type: "string" - }, - "config.url": { - required: true, - type: "string" - }, - events: { - type: "string[]" - }, - name: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/hooks" - }, - createInvitation: { - method: "POST", - params: { - email: { - type: "string" - }, - invitee_id: { - type: "integer" - }, - org: { - required: true, - type: "string" - }, - role: { - enum: ["admin", "direct_member", "billing_manager"], - type: "string" - }, - team_ids: { - type: "integer[]" - } - }, - url: "/orgs/:org/invitations" - }, - deleteHook: { - method: "DELETE", - params: { - hook_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/hooks/:hook_id" - }, - get: { - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org" - }, - getHook: { - method: "GET", - params: { - hook_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/hooks/:hook_id" - }, - getMembership: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/memberships/:username" - }, - getMembershipForAuthenticatedUser: { - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/user/memberships/orgs/:org" - }, - list: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "integer" - } - }, - url: "/organizations" - }, - listBlockedUsers: { - method: "GET", - params: { - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/blocks" - }, - listForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/orgs" - }, - listForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/orgs" - }, - listHooks: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/hooks" - }, - listInstallations: { - headers: { - accept: "application/vnd.github.machine-man-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/installations" - }, - listInvitationTeams: { - method: "GET", - params: { - invitation_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/invitations/:invitation_id/teams" - }, - listMembers: { - method: "GET", - params: { - filter: { - enum: ["2fa_disabled", "all"], - type: "string" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - role: { - enum: ["all", "admin", "member"], - type: "string" - } - }, - url: "/orgs/:org/members" - }, - listMemberships: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - state: { - enum: ["active", "pending"], - type: "string" - } - }, - url: "/user/memberships/orgs" - }, - listOutsideCollaborators: { - method: "GET", - params: { - filter: { - enum: ["2fa_disabled", "all"], - type: "string" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/outside_collaborators" - }, - listPendingInvitations: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/invitations" - }, - listPublicMembers: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/public_members" - }, - pingHook: { - method: "POST", - params: { - hook_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/hooks/:hook_id/pings" - }, - publicizeMembership: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/public_members/:username" - }, - removeMember: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/members/:username" - }, - removeMembership: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/memberships/:username" - }, - removeOutsideCollaborator: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/outside_collaborators/:username" - }, - unblockUser: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/blocks/:username" - }, - update: { - method: "PATCH", - params: { - billing_email: { - type: "string" - }, - company: { - type: "string" - }, - default_repository_permission: { - enum: ["read", "write", "admin", "none"], - type: "string" - }, - description: { - type: "string" - }, - email: { - type: "string" - }, - has_organization_projects: { - type: "boolean" - }, - has_repository_projects: { - type: "boolean" - }, - location: { - type: "string" - }, - members_allowed_repository_creation_type: { - enum: ["all", "private", "none"], - type: "string" - }, - members_can_create_internal_repositories: { - type: "boolean" - }, - members_can_create_private_repositories: { - type: "boolean" - }, - members_can_create_public_repositories: { - type: "boolean" - }, - members_can_create_repositories: { - type: "boolean" - }, - name: { - type: "string" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org" - }, - updateHook: { - method: "PATCH", - params: { - active: { - type: "boolean" - }, - config: { - type: "object" - }, - "config.content_type": { - type: "string" - }, - "config.insecure_ssl": { - type: "string" - }, - "config.secret": { - type: "string" - }, - "config.url": { - required: true, - type: "string" - }, - events: { - type: "string[]" - }, - hook_id: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/hooks/:hook_id" - }, - updateMembership: { - method: "PATCH", - params: { - org: { - required: true, - type: "string" - }, - state: { - enum: ["active"], - required: true, - type: "string" - } - }, - url: "/user/memberships/orgs/:org" - } - }, - projects: { - addCollaborator: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PUT", - params: { - permission: { - enum: ["read", "write", "admin"], - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/projects/:project_id/collaborators/:username" - }, - createCard: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - column_id: { - required: true, - type: "integer" - }, - content_id: { - type: "integer" - }, - content_type: { - type: "string" - }, - note: { - type: "string" - } - }, - url: "/projects/columns/:column_id/cards" - }, - createColumn: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - name: { - required: true, - type: "string" - }, - project_id: { - required: true, - type: "integer" - } - }, - url: "/projects/:project_id/columns" - }, - createForAuthenticatedUser: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - body: { - type: "string" - }, - name: { - required: true, - type: "string" - } - }, - url: "/user/projects" - }, - createForOrg: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - body: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/projects" - }, - createForRepo: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - body: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/projects" - }, - delete: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "DELETE", - params: { - project_id: { - required: true, - type: "integer" - } - }, - url: "/projects/:project_id" - }, - deleteCard: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "DELETE", - params: { - card_id: { - required: true, - type: "integer" - } - }, - url: "/projects/columns/cards/:card_id" - }, - deleteColumn: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "DELETE", - params: { - column_id: { - required: true, - type: "integer" - } - }, - url: "/projects/columns/:column_id" - }, - get: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - project_id: { - required: true, - type: "integer" - } - }, - url: "/projects/:project_id" - }, - getCard: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - card_id: { - required: true, - type: "integer" - } - }, - url: "/projects/columns/cards/:card_id" - }, - getColumn: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - column_id: { - required: true, - type: "integer" - } - }, - url: "/projects/columns/:column_id" - }, - listCards: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - archived_state: { - enum: ["all", "archived", "not_archived"], - type: "string" - }, - column_id: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/projects/columns/:column_id/cards" - }, - listCollaborators: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - affiliation: { - enum: ["outside", "direct", "all"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - project_id: { - required: true, - type: "integer" - } - }, - url: "/projects/:project_id/collaborators" - }, - listColumns: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - project_id: { - required: true, - type: "integer" - } - }, - url: "/projects/:project_id/columns" - }, - listForOrg: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/orgs/:org/projects" - }, - listForRepo: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/repos/:owner/:repo/projects" - }, - listForUser: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/projects" - }, - moveCard: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - card_id: { - required: true, - type: "integer" - }, - column_id: { - type: "integer" - }, - position: { - required: true, - type: "string", - validation: "^(top|bottom|after:\\d+)$" - } - }, - url: "/projects/columns/cards/:card_id/moves" - }, - moveColumn: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "POST", - params: { - column_id: { - required: true, - type: "integer" - }, - position: { - required: true, - type: "string", - validation: "^(first|last|after:\\d+)$" - } - }, - url: "/projects/columns/:column_id/moves" - }, - removeCollaborator: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "DELETE", - params: { - project_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/projects/:project_id/collaborators/:username" - }, - reviewUserPermissionLevel: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - project_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/projects/:project_id/collaborators/:username/permission" - }, - update: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PATCH", - params: { - body: { - type: "string" - }, - name: { - type: "string" - }, - organization_permission: { - type: "string" - }, - private: { - type: "boolean" - }, - project_id: { - required: true, - type: "integer" - }, - state: { - enum: ["open", "closed"], - type: "string" - } - }, - url: "/projects/:project_id" - }, - updateCard: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PATCH", - params: { - archived: { - type: "boolean" - }, - card_id: { - required: true, - type: "integer" - }, - note: { - type: "string" - } - }, - url: "/projects/columns/cards/:card_id" - }, - updateColumn: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PATCH", - params: { - column_id: { - required: true, - type: "integer" - }, - name: { - required: true, - type: "string" - } - }, - url: "/projects/columns/:column_id" - } - }, - pulls: { - checkIfMerged: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/merge" - }, - create: { - method: "POST", - params: { - base: { - required: true, - type: "string" - }, - body: { - type: "string" - }, - draft: { - type: "boolean" - }, - head: { - required: true, - type: "string" - }, - maintainer_can_modify: { - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - title: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls" - }, - createComment: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - commit_id: { - required: true, - type: "string" - }, - in_reply_to: { - deprecated: true, - description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", - type: "integer" - }, - line: { - type: "integer" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - position: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - side: { - enum: ["LEFT", "RIGHT"], - type: "string" - }, - start_line: { - type: "integer" - }, - start_side: { - enum: ["LEFT", "RIGHT", "side"], - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/comments" - }, - createCommentReply: { - deprecated: "octokit.pulls.createCommentReply() has been renamed to octokit.pulls.createComment() (2019-09-09)", - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - commit_id: { - required: true, - type: "string" - }, - in_reply_to: { - deprecated: true, - description: "The comment ID to reply to. **Note**: This must be the ID of a top-level comment, not a reply to that comment. Replies to replies are not supported.", - type: "integer" - }, - line: { - type: "integer" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - position: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - side: { - enum: ["LEFT", "RIGHT"], - type: "string" - }, - start_line: { - type: "integer" - }, - start_side: { - enum: ["LEFT", "RIGHT", "side"], - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/comments" - }, - createFromIssue: { - deprecated: "octokit.pulls.createFromIssue() is deprecated, see https://developer.github.com/v3/pulls/#create-a-pull-request", - method: "POST", - params: { - base: { - required: true, - type: "string" - }, - draft: { - type: "boolean" - }, - head: { - required: true, - type: "string" - }, - issue: { - required: true, - type: "integer" - }, - maintainer_can_modify: { - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls" - }, - createReview: { - method: "POST", - params: { - body: { - type: "string" - }, - comments: { - type: "object[]" - }, - "comments[].body": { - required: true, - type: "string" - }, - "comments[].path": { - required: true, - type: "string" - }, - "comments[].position": { - required: true, - type: "integer" - }, - commit_id: { - type: "string" - }, - event: { - enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews" - }, - createReviewCommentReply: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/comments/:comment_id/replies" - }, - createReviewRequest: { - method: "POST", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - reviewers: { - type: "string[]" - }, - team_reviewers: { - type: "string[]" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" - }, - deleteComment: { - method: "DELETE", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments/:comment_id" - }, - deletePendingReview: { - method: "DELETE", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" - }, - deleteReviewRequest: { - method: "DELETE", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - reviewers: { - type: "string[]" - }, - team_reviewers: { - type: "string[]" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" - }, - dismissReview: { - method: "PUT", - params: { - message: { - required: true, - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/dismissals" - }, - get: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number" - }, - getComment: { - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments/:comment_id" - }, - getCommentsForReview: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/comments" - }, - getReview: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" - }, - list: { - method: "GET", - params: { - base: { - type: "string" - }, - direction: { - enum: ["asc", "desc"], - type: "string" - }, - head: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sort: { - enum: ["created", "updated", "popularity", "long-running"], - type: "string" - }, - state: { - enum: ["open", "closed", "all"], - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls" - }, - listComments: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/comments" - }, - listCommentsForRepo: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - since: { - type: "string" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments" - }, - listCommits: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/commits" - }, - listFiles: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/files" - }, - listReviewRequests: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/requested_reviewers" - }, - listReviews: { - method: "GET", - params: { - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews" - }, - merge: { - method: "PUT", - params: { - commit_message: { - type: "string" - }, - commit_title: { - type: "string" - }, - merge_method: { - enum: ["merge", "squash", "rebase"], - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/merge" - }, - submitReview: { - method: "POST", - params: { - body: { - type: "string" - }, - event: { - enum: ["APPROVE", "REQUEST_CHANGES", "COMMENT"], - required: true, - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id/events" - }, - update: { - method: "PATCH", - params: { - base: { - type: "string" - }, - body: { - type: "string" - }, - maintainer_can_modify: { - type: "boolean" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["open", "closed"], - type: "string" - }, - title: { - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number" - }, - updateBranch: { - headers: { - accept: "application/vnd.github.lydian-preview+json" - }, - method: "PUT", - params: { - expected_head_sha: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/update-branch" - }, - updateComment: { - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments/:comment_id" - }, - updateReview: { - method: "PUT", - params: { - body: { - required: true, - type: "string" - }, - number: { - alias: "pull_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - pull_number: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - review_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/pulls/:pull_number/reviews/:review_id" - } - }, - rateLimit: { - get: { - method: "GET", - params: {}, - url: "/rate_limit" - } - }, - reactions: { - createForCommitComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments/:comment_id/reactions" - }, - createForIssue: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/reactions" - }, - createForIssueComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" - }, - createForPullRequestReviewComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" - }, - createForTeamDiscussion: { - deprecated: "octokit.reactions.createForTeamDiscussion() has been renamed to octokit.reactions.createForTeamDiscussionLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/reactions" - }, - createForTeamDiscussionComment: { - deprecated: "octokit.reactions.createForTeamDiscussionComment() has been renamed to octokit.reactions.createForTeamDiscussionCommentLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" - }, - createForTeamDiscussionCommentInOrg: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" - }, - createForTeamDiscussionCommentLegacy: { - deprecated: "octokit.reactions.createForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-comment-legacy", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" - }, - createForTeamDiscussionInOrg: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" - }, - createForTeamDiscussionLegacy: { - deprecated: "octokit.reactions.createForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#create-reaction-for-a-team-discussion-legacy", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "POST", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/reactions" - }, - delete: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "DELETE", - params: { - reaction_id: { - required: true, - type: "integer" - } - }, - url: "/reactions/:reaction_id" - }, - listForCommitComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments/:comment_id/reactions" - }, - listForIssue: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - issue_number: { - required: true, - type: "integer" - }, - number: { - alias: "issue_number", - deprecated: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/:issue_number/reactions" - }, - listForIssueComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/issues/comments/:comment_id/reactions" - }, - listForPullRequestReviewComment: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pulls/comments/:comment_id/reactions" - }, - listForTeamDiscussion: { - deprecated: "octokit.reactions.listForTeamDiscussion() has been renamed to octokit.reactions.listForTeamDiscussionLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/reactions" - }, - listForTeamDiscussionComment: { - deprecated: "octokit.reactions.listForTeamDiscussionComment() has been renamed to octokit.reactions.listForTeamDiscussionCommentLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" - }, - listForTeamDiscussionCommentInOrg: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number/reactions" - }, - listForTeamDiscussionCommentLegacy: { - deprecated: "octokit.reactions.listForTeamDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-comment-legacy", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number/reactions" - }, - listForTeamDiscussionInOrg: { - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/reactions" - }, - listForTeamDiscussionLegacy: { - deprecated: "octokit.reactions.listForTeamDiscussionLegacy() is deprecated, see https://developer.github.com/v3/reactions/#list-reactions-for-a-team-discussion-legacy", - headers: { - accept: "application/vnd.github.squirrel-girl-preview+json" - }, - method: "GET", - params: { - content: { - enum: ["+1", "-1", "laugh", "confused", "heart", "hooray", "rocket", "eyes"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/reactions" - } - }, - repos: { - acceptInvitation: { - method: "PATCH", - params: { - invitation_id: { - required: true, - type: "integer" - } - }, - url: "/user/repository_invitations/:invitation_id" - }, - addCollaborator: { - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - repo: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/collaborators/:username" - }, - addDeployKey: { - method: "POST", - params: { - key: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - read_only: { - type: "boolean" - }, - repo: { - required: true, - type: "string" - }, - title: { - type: "string" - } - }, - url: "/repos/:owner/:repo/keys" - }, - addProtectedBranchAdminEnforcement: { - method: "POST", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" - }, - addProtectedBranchAppRestrictions: { - method: "POST", - params: { - apps: { - mapTo: "data", - required: true, - type: "string[]" - }, - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" - }, - addProtectedBranchRequiredSignatures: { - headers: { - accept: "application/vnd.github.zzzax-preview+json" - }, - method: "POST", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" - }, - addProtectedBranchRequiredStatusChecksContexts: { - method: "POST", - params: { - branch: { - required: true, - type: "string" - }, - contexts: { - mapTo: "data", - required: true, - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" - }, - addProtectedBranchTeamRestrictions: { - method: "POST", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - teams: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - addProtectedBranchUserRestrictions: { - method: "POST", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - users: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - checkCollaborator: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/collaborators/:username" - }, - checkVulnerabilityAlerts: { - headers: { - accept: "application/vnd.github.dorian-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/vulnerability-alerts" - }, - compareCommits: { - method: "GET", - params: { - base: { - required: true, - type: "string" - }, - head: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/compare/:base...:head" - }, - createCommitComment: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - commit_sha: { - required: true, - type: "string" - }, - line: { - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - path: { - type: "string" - }, - position: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sha: { - alias: "commit_sha", - deprecated: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:commit_sha/comments" - }, - createDeployment: { - method: "POST", - params: { - auto_merge: { - type: "boolean" - }, - description: { - type: "string" - }, - environment: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - payload: { - type: "string" - }, - production_environment: { - type: "boolean" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - required_contexts: { - type: "string[]" - }, - task: { - type: "string" - }, - transient_environment: { - type: "boolean" - } - }, - url: "/repos/:owner/:repo/deployments" - }, - createDeploymentStatus: { - method: "POST", - params: { - auto_inactive: { - type: "boolean" - }, - deployment_id: { - required: true, - type: "integer" - }, - description: { - type: "string" - }, - environment: { - enum: ["production", "staging", "qa"], - type: "string" - }, - environment_url: { - type: "string" - }, - log_url: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - state: { - enum: ["error", "failure", "inactive", "in_progress", "queued", "pending", "success"], - required: true, - type: "string" - }, - target_url: { - type: "string" - } - }, - url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" - }, - createDispatchEvent: { - method: "POST", - params: { - client_payload: { - type: "object" - }, - event_type: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/dispatches" - }, - createFile: { - deprecated: "octokit.repos.createFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", - method: "PUT", - params: { - author: { - type: "object" - }, - "author.email": { - required: true, - type: "string" - }, - "author.name": { - required: true, - type: "string" - }, - branch: { - type: "string" - }, - committer: { - type: "object" - }, - "committer.email": { - required: true, - type: "string" - }, - "committer.name": { - required: true, - type: "string" - }, - content: { - required: true, - type: "string" - }, - message: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - } - }, - url: "/repos/:owner/:repo/contents/:path" - }, - createForAuthenticatedUser: { - method: "POST", - params: { - allow_merge_commit: { - type: "boolean" - }, - allow_rebase_merge: { - type: "boolean" - }, - allow_squash_merge: { - type: "boolean" - }, - auto_init: { - type: "boolean" - }, - delete_branch_on_merge: { - type: "boolean" - }, - description: { - type: "string" - }, - gitignore_template: { - type: "string" - }, - has_issues: { - type: "boolean" - }, - has_projects: { - type: "boolean" - }, - has_wiki: { - type: "boolean" - }, - homepage: { - type: "string" - }, - is_template: { - type: "boolean" - }, - license_template: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - team_id: { - type: "integer" - }, - visibility: { - enum: ["public", "private", "visibility", "internal"], - type: "string" - } - }, - url: "/user/repos" - }, - createFork: { - method: "POST", - params: { - organization: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/forks" - }, - createHook: { - method: "POST", - params: { - active: { - type: "boolean" - }, - config: { - required: true, - type: "object" - }, - "config.content_type": { - type: "string" - }, - "config.insecure_ssl": { - type: "string" - }, - "config.secret": { - type: "string" - }, - "config.url": { - required: true, - type: "string" - }, - events: { - type: "string[]" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks" - }, - createInOrg: { - method: "POST", - params: { - allow_merge_commit: { - type: "boolean" - }, - allow_rebase_merge: { - type: "boolean" - }, - allow_squash_merge: { - type: "boolean" - }, - auto_init: { - type: "boolean" - }, - delete_branch_on_merge: { - type: "boolean" - }, - description: { - type: "string" - }, - gitignore_template: { - type: "string" - }, - has_issues: { - type: "boolean" - }, - has_projects: { - type: "boolean" - }, - has_wiki: { - type: "boolean" - }, - homepage: { - type: "string" - }, - is_template: { - type: "boolean" - }, - license_template: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - team_id: { - type: "integer" - }, - visibility: { - enum: ["public", "private", "visibility", "internal"], - type: "string" - } - }, - url: "/orgs/:org/repos" - }, - createOrUpdateFile: { - method: "PUT", - params: { - author: { - type: "object" - }, - "author.email": { - required: true, - type: "string" - }, - "author.name": { - required: true, - type: "string" - }, - branch: { - type: "string" - }, - committer: { - type: "object" - }, - "committer.email": { - required: true, - type: "string" - }, - "committer.name": { - required: true, - type: "string" - }, - content: { - required: true, - type: "string" - }, - message: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - } - }, - url: "/repos/:owner/:repo/contents/:path" - }, - createRelease: { - method: "POST", - params: { - body: { - type: "string" - }, - draft: { - type: "boolean" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - prerelease: { - type: "boolean" - }, - repo: { - required: true, - type: "string" - }, - tag_name: { - required: true, - type: "string" - }, - target_commitish: { - type: "string" - } - }, - url: "/repos/:owner/:repo/releases" - }, - createStatus: { - method: "POST", - params: { - context: { - type: "string" - }, - description: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - required: true, - type: "string" - }, - state: { - enum: ["error", "failure", "pending", "success"], - required: true, - type: "string" - }, - target_url: { - type: "string" - } - }, - url: "/repos/:owner/:repo/statuses/:sha" - }, - createUsingTemplate: { - headers: { - accept: "application/vnd.github.baptiste-preview+json" - }, - method: "POST", - params: { - description: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - owner: { - type: "string" - }, - private: { - type: "boolean" - }, - template_owner: { - required: true, - type: "string" - }, - template_repo: { - required: true, - type: "string" - } - }, - url: "/repos/:template_owner/:template_repo/generate" - }, - declineInvitation: { - method: "DELETE", - params: { - invitation_id: { - required: true, - type: "integer" - } - }, - url: "/user/repository_invitations/:invitation_id" - }, - delete: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo" - }, - deleteCommitComment: { - method: "DELETE", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments/:comment_id" - }, - deleteDownload: { - method: "DELETE", - params: { - download_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/downloads/:download_id" - }, - deleteFile: { - method: "DELETE", - params: { - author: { - type: "object" - }, - "author.email": { - type: "string" - }, - "author.name": { - type: "string" - }, - branch: { - type: "string" - }, - committer: { - type: "object" - }, - "committer.email": { - type: "string" - }, - "committer.name": { - type: "string" - }, - message: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/contents/:path" - }, - deleteHook: { - method: "DELETE", - params: { - hook_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks/:hook_id" - }, - deleteInvitation: { - method: "DELETE", - params: { - invitation_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/invitations/:invitation_id" - }, - deleteRelease: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - release_id: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/:release_id" - }, - deleteReleaseAsset: { - method: "DELETE", - params: { - asset_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/assets/:asset_id" - }, - disableAutomatedSecurityFixes: { - headers: { - accept: "application/vnd.github.london-preview+json" - }, - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/automated-security-fixes" - }, - disablePagesSite: { - headers: { - accept: "application/vnd.github.switcheroo-preview+json" - }, - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages" - }, - disableVulnerabilityAlerts: { - headers: { - accept: "application/vnd.github.dorian-preview+json" - }, - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/vulnerability-alerts" - }, - enableAutomatedSecurityFixes: { - headers: { - accept: "application/vnd.github.london-preview+json" - }, - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/automated-security-fixes" - }, - enablePagesSite: { - headers: { - accept: "application/vnd.github.switcheroo-preview+json" - }, - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - source: { - type: "object" - }, - "source.branch": { - enum: ["master", "gh-pages"], - type: "string" - }, - "source.path": { - type: "string" - } - }, - url: "/repos/:owner/:repo/pages" - }, - enableVulnerabilityAlerts: { - headers: { - accept: "application/vnd.github.dorian-preview+json" - }, - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/vulnerability-alerts" - }, - get: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo" - }, - getAppsWithAccessToProtectedBranch: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" - }, - getArchiveLink: { - method: "GET", - params: { - archive_format: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/:archive_format/:ref" - }, - getBranch: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch" - }, - getBranchProtection: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection" - }, - getClones: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - per: { - enum: ["day", "week"], - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/traffic/clones" - }, - getCodeFrequencyStats: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stats/code_frequency" - }, - getCollaboratorPermissionLevel: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/collaborators/:username/permission" - }, - getCombinedStatusForRef: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref/status" - }, - getCommit: { - method: "GET", - params: { - commit_sha: { - alias: "ref", - deprecated: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - alias: "ref", - deprecated: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref" - }, - getCommitActivityStats: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stats/commit_activity" - }, - getCommitComment: { - method: "GET", - params: { - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments/:comment_id" - }, - getCommitRefSha: { - deprecated: "octokit.repos.getCommitRefSha() is deprecated, see https://developer.github.com/v3/repos/commits/#get-a-single-commit", - headers: { - accept: "application/vnd.github.v3.sha" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref" - }, - getContents: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - ref: { - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/contents/:path" - }, - getContributorsStats: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stats/contributors" - }, - getDeployKey: { - method: "GET", - params: { - key_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/keys/:key_id" - }, - getDeployment: { - method: "GET", - params: { - deployment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/deployments/:deployment_id" - }, - getDeploymentStatus: { - method: "GET", - params: { - deployment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - status_id: { - required: true, - type: "integer" - } - }, - url: "/repos/:owner/:repo/deployments/:deployment_id/statuses/:status_id" - }, - getDownload: { - method: "GET", - params: { - download_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/downloads/:download_id" - }, - getHook: { - method: "GET", - params: { - hook_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks/:hook_id" - }, - getLatestPagesBuild: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages/builds/latest" - }, - getLatestRelease: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/latest" - }, - getPages: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages" - }, - getPagesBuild: { - method: "GET", - params: { - build_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages/builds/:build_id" - }, - getParticipationStats: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stats/participation" - }, - getProtectedBranchAdminEnforcement: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" - }, - getProtectedBranchPullRequestReviewEnforcement: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" - }, - getProtectedBranchRequiredSignatures: { - headers: { - accept: "application/vnd.github.zzzax-preview+json" - }, - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" - }, - getProtectedBranchRequiredStatusChecks: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" - }, - getProtectedBranchRestrictions: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" - }, - getPunchCardStats: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/stats/punch_card" - }, - getReadme: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - ref: { - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/readme" - }, - getRelease: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - release_id: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/:release_id" - }, - getReleaseAsset: { - method: "GET", - params: { - asset_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/assets/:asset_id" - }, - getReleaseByTag: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - tag: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/tags/:tag" - }, - getTeamsWithAccessToProtectedBranch: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - getTopPaths: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/traffic/popular/paths" - }, - getTopReferrers: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/traffic/popular/referrers" - }, - getUsersWithAccessToProtectedBranch: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - getViews: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - per: { - enum: ["day", "week"], - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/traffic/views" - }, - list: { - method: "GET", - params: { - affiliation: { - type: "string" - }, - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - sort: { - enum: ["created", "updated", "pushed", "full_name"], - type: "string" - }, - type: { - enum: ["all", "owner", "public", "private", "member"], - type: "string" - }, - visibility: { - enum: ["all", "public", "private"], - type: "string" - } - }, - url: "/user/repos" - }, - listAppsWithAccessToProtectedBranch: { - deprecated: "octokit.repos.listAppsWithAccessToProtectedBranch() has been renamed to octokit.repos.getAppsWithAccessToProtectedBranch() (2019-09-13)", - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" - }, - listAssetsForRelease: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - release_id: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/:release_id/assets" - }, - listBranches: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - protected: { - type: "boolean" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches" - }, - listBranchesForHeadCommit: { - headers: { - accept: "application/vnd.github.groot-preview+json" - }, - method: "GET", - params: { - commit_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:commit_sha/branches-where-head" - }, - listCollaborators: { - method: "GET", - params: { - affiliation: { - enum: ["outside", "direct", "all"], - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/collaborators" - }, - listCommentsForCommit: { - method: "GET", - params: { - commit_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - alias: "commit_sha", - deprecated: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:commit_sha/comments" - }, - listCommitComments: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments" - }, - listCommits: { - method: "GET", - params: { - author: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - path: { - type: "string" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - }, - since: { - type: "string" - }, - until: { - type: "string" - } - }, - url: "/repos/:owner/:repo/commits" - }, - listContributors: { - method: "GET", - params: { - anon: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/contributors" - }, - listDeployKeys: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/keys" - }, - listDeploymentStatuses: { - method: "GET", - params: { - deployment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/deployments/:deployment_id/statuses" - }, - listDeployments: { - method: "GET", - params: { - environment: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - }, - task: { - type: "string" - } - }, - url: "/repos/:owner/:repo/deployments" - }, - listDownloads: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/downloads" - }, - listForOrg: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - sort: { - enum: ["created", "updated", "pushed", "full_name"], - type: "string" - }, - type: { - enum: ["all", "public", "private", "forks", "sources", "member", "internal"], - type: "string" - } - }, - url: "/orgs/:org/repos" - }, - listForUser: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - sort: { - enum: ["created", "updated", "pushed", "full_name"], - type: "string" - }, - type: { - enum: ["all", "owner", "member"], - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/repos" - }, - listForks: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - sort: { - enum: ["newest", "oldest", "stargazers"], - type: "string" - } - }, - url: "/repos/:owner/:repo/forks" - }, - listHooks: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks" - }, - listInvitations: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/invitations" - }, - listInvitationsForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/repository_invitations" - }, - listLanguages: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/languages" - }, - listPagesBuilds: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages/builds" - }, - listProtectedBranchRequiredStatusChecksContexts: { - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" - }, - listProtectedBranchTeamRestrictions: { - deprecated: "octokit.repos.listProtectedBranchTeamRestrictions() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-09)", - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - listProtectedBranchUserRestrictions: { - deprecated: "octokit.repos.listProtectedBranchUserRestrictions() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-09)", - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - listPublic: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "integer" - } - }, - url: "/repositories" - }, - listPullRequestsAssociatedWithCommit: { - headers: { - accept: "application/vnd.github.groot-preview+json" - }, - method: "GET", - params: { - commit_sha: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:commit_sha/pulls" - }, - listReleases: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases" - }, - listStatusesForRef: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - ref: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/commits/:ref/statuses" - }, - listTags: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/tags" - }, - listTeams: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/teams" - }, - listTeamsWithAccessToProtectedBranch: { - deprecated: "octokit.repos.listTeamsWithAccessToProtectedBranch() has been renamed to octokit.repos.getTeamsWithAccessToProtectedBranch() (2019-09-13)", - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - listTopics: { - headers: { - accept: "application/vnd.github.mercy-preview+json" - }, - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/topics" - }, - listUsersWithAccessToProtectedBranch: { - deprecated: "octokit.repos.listUsersWithAccessToProtectedBranch() has been renamed to octokit.repos.getUsersWithAccessToProtectedBranch() (2019-09-13)", - method: "GET", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - merge: { - method: "POST", - params: { - base: { - required: true, - type: "string" - }, - commit_message: { - type: "string" - }, - head: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/merges" - }, - pingHook: { - method: "POST", - params: { - hook_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks/:hook_id/pings" - }, - removeBranchProtection: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection" - }, - removeCollaborator: { - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/collaborators/:username" - }, - removeDeployKey: { - method: "DELETE", - params: { - key_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/keys/:key_id" - }, - removeProtectedBranchAdminEnforcement: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/enforce_admins" - }, - removeProtectedBranchAppRestrictions: { - method: "DELETE", - params: { - apps: { - mapTo: "data", - required: true, - type: "string[]" - }, - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" - }, - removeProtectedBranchPullRequestReviewEnforcement: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" - }, - removeProtectedBranchRequiredSignatures: { - headers: { - accept: "application/vnd.github.zzzax-preview+json" - }, - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_signatures" - }, - removeProtectedBranchRequiredStatusChecks: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" - }, - removeProtectedBranchRequiredStatusChecksContexts: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - contexts: { - mapTo: "data", - required: true, - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" - }, - removeProtectedBranchRestrictions: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions" - }, - removeProtectedBranchTeamRestrictions: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - teams: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - removeProtectedBranchUserRestrictions: { - method: "DELETE", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - users: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - replaceProtectedBranchAppRestrictions: { - method: "PUT", - params: { - apps: { - mapTo: "data", - required: true, - type: "string[]" - }, - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/apps" - }, - replaceProtectedBranchRequiredStatusChecksContexts: { - method: "PUT", - params: { - branch: { - required: true, - type: "string" - }, - contexts: { - mapTo: "data", - required: true, - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks/contexts" - }, - replaceProtectedBranchTeamRestrictions: { - method: "PUT", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - teams: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/teams" - }, - replaceProtectedBranchUserRestrictions: { - method: "PUT", - params: { - branch: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - users: { - mapTo: "data", - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/restrictions/users" - }, - replaceTopics: { - headers: { - accept: "application/vnd.github.mercy-preview+json" - }, - method: "PUT", - params: { - names: { - required: true, - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/topics" - }, - requestPageBuild: { - method: "POST", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/pages/builds" - }, - retrieveCommunityProfileMetrics: { - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/community/profile" - }, - testPushHook: { - method: "POST", - params: { - hook_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks/:hook_id/tests" - }, - transfer: { - method: "POST", - params: { - new_owner: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_ids: { - type: "integer[]" - } - }, - url: "/repos/:owner/:repo/transfer" - }, - update: { - method: "PATCH", - params: { - allow_merge_commit: { - type: "boolean" - }, - allow_rebase_merge: { - type: "boolean" - }, - allow_squash_merge: { - type: "boolean" - }, - archived: { - type: "boolean" - }, - default_branch: { - type: "string" - }, - delete_branch_on_merge: { - type: "boolean" - }, - description: { - type: "string" - }, - has_issues: { - type: "boolean" - }, - has_projects: { - type: "boolean" - }, - has_wiki: { - type: "boolean" - }, - homepage: { - type: "string" - }, - is_template: { - type: "boolean" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - repo: { - required: true, - type: "string" - }, - visibility: { - enum: ["public", "private", "visibility", "internal"], - type: "string" - } - }, - url: "/repos/:owner/:repo" - }, - updateBranchProtection: { - method: "PUT", - params: { - allow_deletions: { - type: "boolean" - }, - allow_force_pushes: { - allowNull: true, - type: "boolean" - }, - branch: { - required: true, - type: "string" - }, - enforce_admins: { - allowNull: true, - required: true, - type: "boolean" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - required_linear_history: { - type: "boolean" - }, - required_pull_request_reviews: { - allowNull: true, - required: true, - type: "object" - }, - "required_pull_request_reviews.dismiss_stale_reviews": { - type: "boolean" - }, - "required_pull_request_reviews.dismissal_restrictions": { - type: "object" - }, - "required_pull_request_reviews.dismissal_restrictions.teams": { - type: "string[]" - }, - "required_pull_request_reviews.dismissal_restrictions.users": { - type: "string[]" - }, - "required_pull_request_reviews.require_code_owner_reviews": { - type: "boolean" - }, - "required_pull_request_reviews.required_approving_review_count": { - type: "integer" - }, - required_status_checks: { - allowNull: true, - required: true, - type: "object" - }, - "required_status_checks.contexts": { - required: true, - type: "string[]" - }, - "required_status_checks.strict": { - required: true, - type: "boolean" - }, - restrictions: { - allowNull: true, - required: true, - type: "object" - }, - "restrictions.apps": { - type: "string[]" - }, - "restrictions.teams": { - required: true, - type: "string[]" - }, - "restrictions.users": { - required: true, - type: "string[]" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection" - }, - updateCommitComment: { - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/comments/:comment_id" - }, - updateFile: { - deprecated: "octokit.repos.updateFile() has been renamed to octokit.repos.createOrUpdateFile() (2019-06-07)", - method: "PUT", - params: { - author: { - type: "object" - }, - "author.email": { - required: true, - type: "string" - }, - "author.name": { - required: true, - type: "string" - }, - branch: { - type: "string" - }, - committer: { - type: "object" - }, - "committer.email": { - required: true, - type: "string" - }, - "committer.name": { - required: true, - type: "string" - }, - content: { - required: true, - type: "string" - }, - message: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - path: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - sha: { - type: "string" - } - }, - url: "/repos/:owner/:repo/contents/:path" - }, - updateHook: { - method: "PATCH", - params: { - active: { - type: "boolean" - }, - add_events: { - type: "string[]" - }, - config: { - type: "object" - }, - "config.content_type": { - type: "string" - }, - "config.insecure_ssl": { - type: "string" - }, - "config.secret": { - type: "string" - }, - "config.url": { - required: true, - type: "string" - }, - events: { - type: "string[]" - }, - hook_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - remove_events: { - type: "string[]" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/hooks/:hook_id" - }, - updateInformationAboutPagesSite: { - method: "PUT", - params: { - cname: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - source: { - enum: ['"gh-pages"', '"master"', '"master /docs"'], - type: "string" - } - }, - url: "/repos/:owner/:repo/pages" - }, - updateInvitation: { - method: "PATCH", - params: { - invitation_id: { - required: true, - type: "integer" - }, - owner: { - required: true, - type: "string" - }, - permissions: { - enum: ["read", "write", "admin"], - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/invitations/:invitation_id" - }, - updateProtectedBranchPullRequestReviewEnforcement: { - method: "PATCH", - params: { - branch: { - required: true, - type: "string" - }, - dismiss_stale_reviews: { - type: "boolean" - }, - dismissal_restrictions: { - type: "object" - }, - "dismissal_restrictions.teams": { - type: "string[]" - }, - "dismissal_restrictions.users": { - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - require_code_owner_reviews: { - type: "boolean" - }, - required_approving_review_count: { - type: "integer" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_pull_request_reviews" - }, - updateProtectedBranchRequiredStatusChecks: { - method: "PATCH", - params: { - branch: { - required: true, - type: "string" - }, - contexts: { - type: "string[]" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - strict: { - type: "boolean" - } - }, - url: "/repos/:owner/:repo/branches/:branch/protection/required_status_checks" - }, - updateRelease: { - method: "PATCH", - params: { - body: { - type: "string" - }, - draft: { - type: "boolean" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - prerelease: { - type: "boolean" - }, - release_id: { - required: true, - type: "integer" - }, - repo: { - required: true, - type: "string" - }, - tag_name: { - type: "string" - }, - target_commitish: { - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/:release_id" - }, - updateReleaseAsset: { - method: "PATCH", - params: { - asset_id: { - required: true, - type: "integer" - }, - label: { - type: "string" - }, - name: { - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - } - }, - url: "/repos/:owner/:repo/releases/assets/:asset_id" - }, - uploadReleaseAsset: { - method: "POST", - params: { - data: { - mapTo: "data", - required: true, - type: "string | object" - }, - file: { - alias: "data", - deprecated: true, - type: "string | object" - }, - headers: { - required: true, - type: "object" - }, - "headers.content-length": { - required: true, - type: "integer" - }, - "headers.content-type": { - required: true, - type: "string" - }, - label: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - url: { - required: true, - type: "string" - } - }, - url: ":url" - } - }, - search: { - code: { - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["indexed"], - type: "string" - } - }, - url: "/search/code" - }, - commits: { - headers: { - accept: "application/vnd.github.cloak-preview+json" - }, - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["author-date", "committer-date"], - type: "string" - } - }, - url: "/search/commits" - }, - issues: { - deprecated: "octokit.search.issues() has been renamed to octokit.search.issuesAndPullRequests() (2018-12-27)", - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"], - type: "string" - } - }, - url: "/search/issues" - }, - issuesAndPullRequests: { - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["comments", "reactions", "reactions-+1", "reactions--1", "reactions-smile", "reactions-thinking_face", "reactions-heart", "reactions-tada", "interactions", "created", "updated"], - type: "string" - } - }, - url: "/search/issues" - }, - labels: { - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - q: { - required: true, - type: "string" - }, - repository_id: { - required: true, - type: "integer" - }, - sort: { - enum: ["created", "updated"], - type: "string" - } - }, - url: "/search/labels" - }, - repos: { - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["stars", "forks", "help-wanted-issues", "updated"], - type: "string" - } - }, - url: "/search/repositories" - }, - topics: { - method: "GET", - params: { - q: { - required: true, - type: "string" - } - }, - url: "/search/topics" - }, - users: { - method: "GET", - params: { - order: { - enum: ["desc", "asc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - q: { - required: true, - type: "string" - }, - sort: { - enum: ["followers", "repositories", "joined"], - type: "string" - } - }, - url: "/search/users" - } - }, - teams: { - addMember: { - deprecated: "octokit.teams.addMember() has been renamed to octokit.teams.addMemberLegacy() (2020-01-16)", - method: "PUT", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - addMemberLegacy: { - deprecated: "octokit.teams.addMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-team-member-legacy", - method: "PUT", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - addOrUpdateMembership: { - deprecated: "octokit.teams.addOrUpdateMembership() has been renamed to octokit.teams.addOrUpdateMembershipLegacy() (2020-01-16)", - method: "PUT", - params: { - role: { - enum: ["member", "maintainer"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - addOrUpdateMembershipInOrg: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - role: { - enum: ["member", "maintainer"], - type: "string" - }, - team_slug: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/memberships/:username" - }, - addOrUpdateMembershipLegacy: { - deprecated: "octokit.teams.addOrUpdateMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#add-or-update-team-membership-legacy", - method: "PUT", - params: { - role: { - enum: ["member", "maintainer"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - addOrUpdateProject: { - deprecated: "octokit.teams.addOrUpdateProject() has been renamed to octokit.teams.addOrUpdateProjectLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PUT", - params: { - permission: { - enum: ["read", "write", "admin"], - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - addOrUpdateProjectInOrg: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - permission: { - enum: ["read", "write", "admin"], - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/projects/:project_id" - }, - addOrUpdateProjectLegacy: { - deprecated: "octokit.teams.addOrUpdateProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-project-legacy", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "PUT", - params: { - permission: { - enum: ["read", "write", "admin"], - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - addOrUpdateRepo: { - deprecated: "octokit.teams.addOrUpdateRepo() has been renamed to octokit.teams.addOrUpdateRepoLegacy() (2020-01-16)", - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - addOrUpdateRepoInOrg: { - method: "PUT", - params: { - org: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" - }, - addOrUpdateRepoLegacy: { - deprecated: "octokit.teams.addOrUpdateRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#add-or-update-team-repository-legacy", - method: "PUT", - params: { - owner: { - required: true, - type: "string" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - checkManagesRepo: { - deprecated: "octokit.teams.checkManagesRepo() has been renamed to octokit.teams.checkManagesRepoLegacy() (2020-01-16)", - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - checkManagesRepoInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" - }, - checkManagesRepoLegacy: { - deprecated: "octokit.teams.checkManagesRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#check-if-a-team-manages-a-repository-legacy", - method: "GET", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - create: { - method: "POST", - params: { - description: { - type: "string" - }, - maintainers: { - type: "string[]" - }, - name: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - }, - parent_team_id: { - type: "integer" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - privacy: { - enum: ["secret", "closed"], - type: "string" - }, - repo_names: { - type: "string[]" - } - }, - url: "/orgs/:org/teams" - }, - createDiscussion: { - deprecated: "octokit.teams.createDiscussion() has been renamed to octokit.teams.createDiscussionLegacy() (2020-01-16)", - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - team_id: { - required: true, - type: "integer" - }, - title: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/discussions" - }, - createDiscussionComment: { - deprecated: "octokit.teams.createDiscussionComment() has been renamed to octokit.teams.createDiscussionCommentLegacy() (2020-01-16)", - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments" - }, - createDiscussionCommentInOrg: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" - }, - createDiscussionCommentLegacy: { - deprecated: "octokit.teams.createDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#create-a-comment-legacy", - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments" - }, - createDiscussionInOrg: { - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - team_slug: { - required: true, - type: "string" - }, - title: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions" - }, - createDiscussionLegacy: { - deprecated: "octokit.teams.createDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#create-a-discussion-legacy", - method: "POST", - params: { - body: { - required: true, - type: "string" - }, - private: { - type: "boolean" - }, - team_id: { - required: true, - type: "integer" - }, - title: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/discussions" - }, - delete: { - deprecated: "octokit.teams.delete() has been renamed to octokit.teams.deleteLegacy() (2020-01-16)", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - }, - deleteDiscussion: { - deprecated: "octokit.teams.deleteDiscussion() has been renamed to octokit.teams.deleteDiscussionLegacy() (2020-01-16)", - method: "DELETE", - params: { - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - deleteDiscussionComment: { - deprecated: "octokit.teams.deleteDiscussionComment() has been renamed to octokit.teams.deleteDiscussionCommentLegacy() (2020-01-16)", - method: "DELETE", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - deleteDiscussionCommentInOrg: { - method: "DELETE", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" - }, - deleteDiscussionCommentLegacy: { - deprecated: "octokit.teams.deleteDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#delete-a-comment-legacy", - method: "DELETE", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - deleteDiscussionInOrg: { - method: "DELETE", - params: { - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" - }, - deleteDiscussionLegacy: { - deprecated: "octokit.teams.deleteDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#delete-a-discussion-legacy", - method: "DELETE", - params: { - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - deleteInOrg: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug" - }, - deleteLegacy: { - deprecated: "octokit.teams.deleteLegacy() is deprecated, see https://developer.github.com/v3/teams/#delete-team-legacy", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - }, - get: { - deprecated: "octokit.teams.get() has been renamed to octokit.teams.getLegacy() (2020-01-16)", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - }, - getByName: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug" - }, - getDiscussion: { - deprecated: "octokit.teams.getDiscussion() has been renamed to octokit.teams.getDiscussionLegacy() (2020-01-16)", - method: "GET", - params: { - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - getDiscussionComment: { - deprecated: "octokit.teams.getDiscussionComment() has been renamed to octokit.teams.getDiscussionCommentLegacy() (2020-01-16)", - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - getDiscussionCommentInOrg: { - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" - }, - getDiscussionCommentLegacy: { - deprecated: "octokit.teams.getDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#get-a-single-comment-legacy", - method: "GET", - params: { - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - getDiscussionInOrg: { - method: "GET", - params: { - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" - }, - getDiscussionLegacy: { - deprecated: "octokit.teams.getDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#get-a-single-discussion-legacy", - method: "GET", - params: { - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - getLegacy: { - deprecated: "octokit.teams.getLegacy() is deprecated, see https://developer.github.com/v3/teams/#get-team-legacy", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - }, - getMember: { - deprecated: "octokit.teams.getMember() has been renamed to octokit.teams.getMemberLegacy() (2020-01-16)", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - getMemberLegacy: { - deprecated: "octokit.teams.getMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-member-legacy", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - getMembership: { - deprecated: "octokit.teams.getMembership() has been renamed to octokit.teams.getMembershipLegacy() (2020-01-16)", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - getMembershipInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/memberships/:username" - }, - getMembershipLegacy: { - deprecated: "octokit.teams.getMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#get-team-membership-legacy", - method: "GET", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - list: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/orgs/:org/teams" - }, - listChild: { - deprecated: "octokit.teams.listChild() has been renamed to octokit.teams.listChildLegacy() (2020-01-16)", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/teams" - }, - listChildInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/teams" - }, - listChildLegacy: { - deprecated: "octokit.teams.listChildLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-child-teams-legacy", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/teams" - }, - listDiscussionComments: { - deprecated: "octokit.teams.listDiscussionComments() has been renamed to octokit.teams.listDiscussionCommentsLegacy() (2020-01-16)", - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments" - }, - listDiscussionCommentsInOrg: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments" - }, - listDiscussionCommentsLegacy: { - deprecated: "octokit.teams.listDiscussionCommentsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#list-comments-legacy", - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments" - }, - listDiscussions: { - deprecated: "octokit.teams.listDiscussions() has been renamed to octokit.teams.listDiscussionsLegacy() (2020-01-16)", - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions" - }, - listDiscussionsInOrg: { - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions" - }, - listDiscussionsLegacy: { - deprecated: "octokit.teams.listDiscussionsLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#list-discussions-legacy", - method: "GET", - params: { - direction: { - enum: ["asc", "desc"], - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions" - }, - listForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/teams" - }, - listMembers: { - deprecated: "octokit.teams.listMembers() has been renamed to octokit.teams.listMembersLegacy() (2020-01-16)", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - role: { - enum: ["member", "maintainer", "all"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/members" - }, - listMembersInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - role: { - enum: ["member", "maintainer", "all"], - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/members" - }, - listMembersLegacy: { - deprecated: "octokit.teams.listMembersLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-team-members-legacy", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - role: { - enum: ["member", "maintainer", "all"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/members" - }, - listPendingInvitations: { - deprecated: "octokit.teams.listPendingInvitations() has been renamed to octokit.teams.listPendingInvitationsLegacy() (2020-01-16)", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/invitations" - }, - listPendingInvitationsInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/invitations" - }, - listPendingInvitationsLegacy: { - deprecated: "octokit.teams.listPendingInvitationsLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#list-pending-team-invitations-legacy", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/invitations" - }, - listProjects: { - deprecated: "octokit.teams.listProjects() has been renamed to octokit.teams.listProjectsLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects" - }, - listProjectsInOrg: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/projects" - }, - listProjectsLegacy: { - deprecated: "octokit.teams.listProjectsLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-projects-legacy", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects" - }, - listRepos: { - deprecated: "octokit.teams.listRepos() has been renamed to octokit.teams.listReposLegacy() (2020-01-16)", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos" - }, - listReposInOrg: { - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/repos" - }, - listReposLegacy: { - deprecated: "octokit.teams.listReposLegacy() is deprecated, see https://developer.github.com/v3/teams/#list-team-repos-legacy", - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos" - }, - removeMember: { - deprecated: "octokit.teams.removeMember() has been renamed to octokit.teams.removeMemberLegacy() (2020-01-16)", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - removeMemberLegacy: { - deprecated: "octokit.teams.removeMemberLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-member-legacy", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/members/:username" - }, - removeMembership: { - deprecated: "octokit.teams.removeMembership() has been renamed to octokit.teams.removeMembershipLegacy() (2020-01-16)", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - removeMembershipInOrg: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/memberships/:username" - }, - removeMembershipLegacy: { - deprecated: "octokit.teams.removeMembershipLegacy() is deprecated, see https://developer.github.com/v3/teams/members/#remove-team-membership-legacy", - method: "DELETE", - params: { - team_id: { - required: true, - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/teams/:team_id/memberships/:username" - }, - removeProject: { - deprecated: "octokit.teams.removeProject() has been renamed to octokit.teams.removeProjectLegacy() (2020-01-16)", - method: "DELETE", - params: { - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - removeProjectInOrg: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/projects/:project_id" - }, - removeProjectLegacy: { - deprecated: "octokit.teams.removeProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-project-legacy", - method: "DELETE", - params: { - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - removeRepo: { - deprecated: "octokit.teams.removeRepo() has been renamed to octokit.teams.removeRepoLegacy() (2020-01-16)", - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - removeRepoInOrg: { - method: "DELETE", - params: { - org: { - required: true, - type: "string" - }, - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/repos/:owner/:repo" - }, - removeRepoLegacy: { - deprecated: "octokit.teams.removeRepoLegacy() is deprecated, see https://developer.github.com/v3/teams/#remove-team-repository-legacy", - method: "DELETE", - params: { - owner: { - required: true, - type: "string" - }, - repo: { - required: true, - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/repos/:owner/:repo" - }, - reviewProject: { - deprecated: "octokit.teams.reviewProject() has been renamed to octokit.teams.reviewProjectLegacy() (2020-01-16)", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - reviewProjectInOrg: { - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - org: { - required: true, - type: "string" - }, - project_id: { - required: true, - type: "integer" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/projects/:project_id" - }, - reviewProjectLegacy: { - deprecated: "octokit.teams.reviewProjectLegacy() is deprecated, see https://developer.github.com/v3/teams/#review-a-team-project-legacy", - headers: { - accept: "application/vnd.github.inertia-preview+json" - }, - method: "GET", - params: { - project_id: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/projects/:project_id" - }, - update: { - deprecated: "octokit.teams.update() has been renamed to octokit.teams.updateLegacy() (2020-01-16)", - method: "PATCH", - params: { - description: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - parent_team_id: { - type: "integer" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - privacy: { - enum: ["secret", "closed"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - }, - updateDiscussion: { - deprecated: "octokit.teams.updateDiscussion() has been renamed to octokit.teams.updateDiscussionLegacy() (2020-01-16)", - method: "PATCH", - params: { - body: { - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - }, - title: { - type: "string" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - updateDiscussionComment: { - deprecated: "octokit.teams.updateDiscussionComment() has been renamed to octokit.teams.updateDiscussionCommentLegacy() (2020-01-16)", - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - updateDiscussionCommentInOrg: { - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number/comments/:comment_number" - }, - updateDiscussionCommentLegacy: { - deprecated: "octokit.teams.updateDiscussionCommentLegacy() is deprecated, see https://developer.github.com/v3/teams/discussion_comments/#edit-a-comment-legacy", - method: "PATCH", - params: { - body: { - required: true, - type: "string" - }, - comment_number: { - required: true, - type: "integer" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id/discussions/:discussion_number/comments/:comment_number" - }, - updateDiscussionInOrg: { - method: "PATCH", - params: { - body: { - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - org: { - required: true, - type: "string" - }, - team_slug: { - required: true, - type: "string" - }, - title: { - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug/discussions/:discussion_number" - }, - updateDiscussionLegacy: { - deprecated: "octokit.teams.updateDiscussionLegacy() is deprecated, see https://developer.github.com/v3/teams/discussions/#edit-a-discussion-legacy", - method: "PATCH", - params: { - body: { - type: "string" - }, - discussion_number: { - required: true, - type: "integer" - }, - team_id: { - required: true, - type: "integer" - }, - title: { - type: "string" - } - }, - url: "/teams/:team_id/discussions/:discussion_number" - }, - updateInOrg: { - method: "PATCH", - params: { - description: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - org: { - required: true, - type: "string" - }, - parent_team_id: { - type: "integer" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - privacy: { - enum: ["secret", "closed"], - type: "string" - }, - team_slug: { - required: true, - type: "string" - } - }, - url: "/orgs/:org/teams/:team_slug" - }, - updateLegacy: { - deprecated: "octokit.teams.updateLegacy() is deprecated, see https://developer.github.com/v3/teams/#edit-team-legacy", - method: "PATCH", - params: { - description: { - type: "string" - }, - name: { - required: true, - type: "string" - }, - parent_team_id: { - type: "integer" - }, - permission: { - enum: ["pull", "push", "admin"], - type: "string" - }, - privacy: { - enum: ["secret", "closed"], - type: "string" - }, - team_id: { - required: true, - type: "integer" - } - }, - url: "/teams/:team_id" - } - }, - users: { - addEmails: { - method: "POST", - params: { - emails: { - required: true, - type: "string[]" - } - }, - url: "/user/emails" - }, - block: { - method: "PUT", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/blocks/:username" - }, - checkBlocked: { - method: "GET", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/blocks/:username" - }, - checkFollowing: { - method: "GET", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/following/:username" - }, - checkFollowingForUser: { - method: "GET", - params: { - target_user: { - required: true, - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/following/:target_user" - }, - createGpgKey: { - method: "POST", - params: { - armored_public_key: { - type: "string" - } - }, - url: "/user/gpg_keys" - }, - createPublicKey: { - method: "POST", - params: { - key: { - type: "string" - }, - title: { - type: "string" - } - }, - url: "/user/keys" - }, - deleteEmails: { - method: "DELETE", - params: { - emails: { - required: true, - type: "string[]" - } - }, - url: "/user/emails" - }, - deleteGpgKey: { - method: "DELETE", - params: { - gpg_key_id: { - required: true, - type: "integer" - } - }, - url: "/user/gpg_keys/:gpg_key_id" - }, - deletePublicKey: { - method: "DELETE", - params: { - key_id: { - required: true, - type: "integer" - } - }, - url: "/user/keys/:key_id" - }, - follow: { - method: "PUT", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/following/:username" - }, - getAuthenticated: { - method: "GET", - params: {}, - url: "/user" - }, - getByUsername: { - method: "GET", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/users/:username" - }, - getContextForUser: { - method: "GET", - params: { - subject_id: { - type: "string" - }, - subject_type: { - enum: ["organization", "repository", "issue", "pull_request"], - type: "string" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/hovercard" - }, - getGpgKey: { - method: "GET", - params: { - gpg_key_id: { - required: true, - type: "integer" - } - }, - url: "/user/gpg_keys/:gpg_key_id" - }, - getPublicKey: { - method: "GET", - params: { - key_id: { - required: true, - type: "integer" - } - }, - url: "/user/keys/:key_id" - }, - list: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - since: { - type: "string" - } - }, - url: "/users" - }, - listBlocked: { - method: "GET", - params: {}, - url: "/user/blocks" - }, - listEmails: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/emails" - }, - listFollowersForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/followers" - }, - listFollowersForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/followers" - }, - listFollowingForAuthenticatedUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/following" - }, - listFollowingForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/following" - }, - listGpgKeys: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/gpg_keys" - }, - listGpgKeysForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/gpg_keys" - }, - listPublicEmails: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/public_emails" - }, - listPublicKeys: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - } - }, - url: "/user/keys" - }, - listPublicKeysForUser: { - method: "GET", - params: { - page: { - type: "integer" - }, - per_page: { - type: "integer" - }, - username: { - required: true, - type: "string" - } - }, - url: "/users/:username/keys" - }, - togglePrimaryEmailVisibility: { - method: "PATCH", - params: { - email: { - required: true, - type: "string" - }, - visibility: { - required: true, - type: "string" - } - }, - url: "/user/email/visibility" - }, - unblock: { - method: "DELETE", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/blocks/:username" - }, - unfollow: { - method: "DELETE", - params: { - username: { - required: true, - type: "string" - } - }, - url: "/user/following/:username" - }, - updateAuthenticated: { - method: "PATCH", - params: { - bio: { - type: "string" - }, - blog: { - type: "string" - }, - company: { - type: "string" - }, - email: { - type: "string" - }, - hireable: { - type: "boolean" - }, - location: { - type: "string" - }, - name: { - type: "string" - } - }, - url: "/user" - } - } -}; - -const VERSION = "2.4.0"; - -function registerEndpoints(octokit, routes) { - Object.keys(routes).forEach(namespaceName => { - if (!octokit[namespaceName]) { - octokit[namespaceName] = {}; - } - - Object.keys(routes[namespaceName]).forEach(apiName => { - const apiOptions = routes[namespaceName][apiName]; - const endpointDefaults = ["method", "url", "headers"].reduce((map, key) => { - if (typeof apiOptions[key] !== "undefined") { - map[key] = apiOptions[key]; - } - - return map; - }, {}); - endpointDefaults.request = { - validate: apiOptions.params - }; - let request = octokit.request.defaults(endpointDefaults); // patch request & endpoint methods to support deprecated parameters. - // Not the most elegant solution, but we don’t want to move deprecation - // logic into octokit/endpoint.js as it’s out of scope - - const hasDeprecatedParam = Object.keys(apiOptions.params || {}).find(key => apiOptions.params[key].deprecated); - - if (hasDeprecatedParam) { - const patch = patchForDeprecation.bind(null, octokit, apiOptions); - request = patch(octokit.request.defaults(endpointDefaults), `.${namespaceName}.${apiName}()`); - request.endpoint = patch(request.endpoint, `.${namespaceName}.${apiName}.endpoint()`); - request.endpoint.merge = patch(request.endpoint.merge, `.${namespaceName}.${apiName}.endpoint.merge()`); - } - - if (apiOptions.deprecated) { - octokit[namespaceName][apiName] = Object.assign(function deprecatedEndpointMethod() { - octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] ${apiOptions.deprecated}`)); - octokit[namespaceName][apiName] = request; - return request.apply(null, arguments); - }, request); - return; - } - - octokit[namespaceName][apiName] = request; - }); - }); -} - -function patchForDeprecation(octokit, apiOptions, method, methodName) { - const patchedMethod = options => { - options = Object.assign({}, options); - Object.keys(options).forEach(key => { - if (apiOptions.params[key] && apiOptions.params[key].deprecated) { - const aliasKey = apiOptions.params[key].alias; - octokit.log.warn(new deprecation.Deprecation(`[@octokit/rest] "${key}" parameter is deprecated for "${methodName}". Use "${aliasKey}" instead`)); - - if (!(aliasKey in options)) { - options[aliasKey] = options[key]; - } - - delete options[key]; - } - }); - return method(options); - }; - - Object.keys(method).forEach(key => { - patchedMethod[key] = method[key]; - }); - return patchedMethod; -} - -/** - * This plugin is a 1:1 copy of internal @octokit/rest plugins. The primary - * goal is to rebuild @octokit/rest on top of @octokit/core. Once that is - * done, we will remove the registerEndpoints methods and return the methods - * directly as with the other plugins. At that point we will also remove the - * legacy workarounds and deprecations. - * - * See the plan at - * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1 - */ - -function restEndpointMethods(octokit) { - // @ts-ignore - octokit.registerEndpoints = registerEndpoints.bind(null, octokit); - registerEndpoints(octokit, endpointsByScope); // Aliasing scopes for backward compatibility - // See https://github.com/octokit/rest.js/pull/1134 - - [["gitdata", "git"], ["authorization", "oauthAuthorizations"], ["pullRequests", "pulls"]].forEach(([deprecatedScope, scope]) => { - Object.defineProperty(octokit, deprecatedScope, { - get() { - octokit.log.warn( // @ts-ignore - new deprecation.Deprecation(`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`)); // @ts-ignore - - return octokit[scope]; - } - - }); - }); - return {}; -} -restEndpointMethods.VERSION = VERSION; - -exports.restEndpointMethods = restEndpointMethods; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 15 */, -/* 16 */ -/***/ (function(module) { - -module.exports = require("tls"); - -/***/ }), -/* 17 */, -/* 18 */, -/* 19 */, -/* 20 */, -/* 21 */, -/* 22 */, -/* 23 */, -/* 24 */, -/* 25 */, -/* 26 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var util = __webpack_require__(143); -var schedule; -var noAsyncScheduler = function() { - throw new Error("No async scheduler available\u000a\u000a See http://goo.gl/MqrFmX\u000a"); -}; -var NativePromise = util.getNativePromise(); -if (util.isNode && typeof MutationObserver === "undefined") { - var GlobalSetImmediate = global.setImmediate; - var ProcessNextTick = process.nextTick; - schedule = util.isRecentNode - ? function(fn) { GlobalSetImmediate.call(global, fn); } - : function(fn) { ProcessNextTick.call(process, fn); }; -} else if (typeof NativePromise === "function" && - typeof NativePromise.resolve === "function") { - var nativePromise = NativePromise.resolve(); - schedule = function(fn) { - nativePromise.then(fn); - }; -} else if ((typeof MutationObserver !== "undefined") && - !(typeof window !== "undefined" && - window.navigator && - (window.navigator.standalone || window.cordova))) { - schedule = (function() { - var div = document.createElement("div"); - var opts = {attributes: true}; - var toggleScheduled = false; - var div2 = document.createElement("div"); - var o2 = new MutationObserver(function() { - div.classList.toggle("foo"); - toggleScheduled = false; - }); - o2.observe(div2, opts); - - var scheduleToggle = function() { - if (toggleScheduled) return; - toggleScheduled = true; - div2.classList.toggle("foo"); - }; - - return function schedule(fn) { - var o = new MutationObserver(function() { - o.disconnect(); - fn(); - }); - o.observe(div, opts); - scheduleToggle(); - }; - })(); -} else if (typeof setImmediate !== "undefined") { - schedule = function (fn) { - setImmediate(fn); - }; -} else if (typeof setTimeout !== "undefined") { - schedule = function (fn) { - setTimeout(fn, 0); - }; -} else { - schedule = noAsyncScheduler; -} -module.exports = schedule; - - -/***/ }), -/* 27 */, -/* 28 */, -/* 29 */, -/* 30 */ -/***/ (function(module) { - -"use strict"; - -module.exports = function(Promise) { -function returner() { - return this.value; -} -function thrower() { - throw this.reason; -} - -Promise.prototype["return"] = -Promise.prototype.thenReturn = function (value) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - returner, undefined, undefined, {value: value}, undefined); -}; - -Promise.prototype["throw"] = -Promise.prototype.thenThrow = function (reason) { - return this._then( - thrower, undefined, undefined, {reason: reason}, undefined); -}; - -Promise.prototype.catchThrow = function (reason) { - if (arguments.length <= 1) { - return this._then( - undefined, thrower, undefined, {reason: reason}, undefined); - } else { - var _reason = arguments[1]; - var handler = function() {throw _reason;}; - return this.caught(reason, handler); - } -}; - -Promise.prototype.catchReturn = function (value) { - if (arguments.length <= 1) { - if (value instanceof Promise) value.suppressUnhandledRejections(); - return this._then( - undefined, returner, undefined, {value: value}, undefined); - } else { - var _value = arguments[1]; - if (_value instanceof Promise) _value.suppressUnhandledRejections(); - var handler = function() {return _value;}; - return this.caught(value, handler); - } -}; -}; - - -/***/ }), -/* 31 */, -/* 32 */, -/* 33 */, -/* 34 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var fs = __webpack_require__(747) -var core -if (process.platform === 'win32' || global.TESTING_WINDOWS) { - core = __webpack_require__(466) -} else { - core = __webpack_require__(502) -} - -module.exports = isexe -isexe.sync = sync - -function isexe (path, options, cb) { - if (typeof options === 'function') { - cb = options - options = {} - } - - if (!cb) { - if (typeof Promise !== 'function') { - throw new TypeError('callback not provided') - } - - return new Promise(function (resolve, reject) { - isexe(path, options || {}, function (er, is) { - if (er) { - reject(er) - } else { - resolve(is) - } - }) - }) - } - - core(path, options || {}, function (er, is) { - // ignore EACCES because that just means we aren't allowed to run it - if (er) { - if (er.code === 'EACCES' || options && options.ignoreErrors) { - er = null - is = false - } - } - cb(er, is) - }) -} - -function sync (path, options) { - // my kingdom for a filtered catch - try { - return core.sync(path, options || {}) - } catch (er) { - if (options && options.ignoreErrors || er.code === 'EACCES') { - return false - } else { - throw er - } - } -} - - -/***/ }), -/* 35 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * Module dependencies. - */ - -var tty = __webpack_require__(867); -var util = __webpack_require__(669); - -/** - * This is the Node.js implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = __webpack_require__(331); -exports.init = init; -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; - -/** - * Colors. - */ - -exports.colors = [ 6, 2, 3, 4, 5, 1 ]; - -try { - var supportsColor = __webpack_require__(784); - if (supportsColor && supportsColor.level >= 2) { - exports.colors = [ - 20, 21, 26, 27, 32, 33, 38, 39, 40, 41, 42, 43, 44, 45, 56, 57, 62, 63, 68, - 69, 74, 75, 76, 77, 78, 79, 80, 81, 92, 93, 98, 99, 112, 113, 128, 129, 134, - 135, 148, 149, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 178, 179, 184, 185, 196, 197, 198, 199, 200, 201, 202, 203, 204, - 205, 206, 207, 208, 209, 214, 215, 220, 221 - ]; - } -} catch (err) { - // swallow - we only care if `supports-color` is available; it doesn't have to be. -} - -/** - * Build up the default `inspectOpts` object from the environment variables. - * - * $ DEBUG_COLORS=no DEBUG_DEPTH=10 DEBUG_SHOW_HIDDEN=enabled node script.js - */ - -exports.inspectOpts = Object.keys(process.env).filter(function (key) { - return /^debug_/i.test(key); -}).reduce(function (obj, key) { - // camel-case - var prop = key - .substring(6) - .toLowerCase() - .replace(/_([a-z])/g, function (_, k) { return k.toUpperCase() }); - - // coerce string value into JS value - var val = process.env[key]; - if (/^(yes|on|true|enabled)$/i.test(val)) val = true; - else if (/^(no|off|false|disabled)$/i.test(val)) val = false; - else if (val === 'null') val = null; - else val = Number(val); - - obj[prop] = val; - return obj; -}, {}); - -/** - * Is stdout a TTY? Colored output is enabled when `true`. - */ - -function useColors() { - return 'colors' in exports.inspectOpts - ? Boolean(exports.inspectOpts.colors) - : tty.isatty(process.stderr.fd); -} - -/** - * Map %o to `util.inspect()`, all on a single line. - */ - -exports.formatters.o = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts) - .split('\n').map(function(str) { - return str.trim() - }).join(' '); -}; - -/** - * Map %o to `util.inspect()`, allowing multiple lines if needed. - */ - -exports.formatters.O = function(v) { - this.inspectOpts.colors = this.useColors; - return util.inspect(v, this.inspectOpts); -}; - -/** - * Adds ANSI color escape codes if enabled. - * - * @api public - */ - -function formatArgs(args) { - var name = this.namespace; - var useColors = this.useColors; - - if (useColors) { - var c = this.color; - var colorCode = '\u001b[3' + (c < 8 ? c : '8;5;' + c); - var prefix = ' ' + colorCode + ';1m' + name + ' ' + '\u001b[0m'; - - args[0] = prefix + args[0].split('\n').join('\n' + prefix); - args.push(colorCode + 'm+' + exports.humanize(this.diff) + '\u001b[0m'); - } else { - args[0] = getDate() + name + ' ' + args[0]; - } -} - -function getDate() { - if (exports.inspectOpts.hideDate) { - return ''; - } else { - return new Date().toISOString() + ' '; - } -} - -/** - * Invokes `util.format()` with the specified arguments and writes to stderr. - */ - -function log() { - return process.stderr.write(util.format.apply(util, arguments) + '\n'); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - if (null == namespaces) { - // If you set a process.env field to null or undefined, it gets cast to the - // string 'null' or 'undefined'. Just delete instead. - delete process.env.DEBUG; - } else { - process.env.DEBUG = namespaces; - } -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - return process.env.DEBUG; -} - -/** - * Init logic for `debug` instances. - * - * Create a new `inspectOpts` object in case `useColors` is set - * differently for a particular `debug` instance. - */ - -function init (debug) { - debug.inspectOpts = {}; - - var keys = Object.keys(exports.inspectOpts); - for (var i = 0; i < keys.length; i++) { - debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]]; - } -} - -/** - * Enable namespaces listed in `process.env.DEBUG` initially. - */ - -exports.enable(load()); - - -/***/ }), -/* 36 */, -/* 37 */, -/* 38 */, -/* 39 */, -/* 40 */, -/* 41 */, -/* 42 */, -/* 43 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = paginationMethodsPlugin - -function paginationMethodsPlugin (octokit) { - octokit.getFirstPage = __webpack_require__(932).bind(null, octokit) - octokit.getLastPage = __webpack_require__(286).bind(null, octokit) - octokit.getNextPage = __webpack_require__(962).bind(null, octokit) - octokit.getPreviousPage = __webpack_require__(326).bind(null, octokit) - octokit.hasFirstPage = __webpack_require__(920) - octokit.hasLastPage = __webpack_require__(794) - octokit.hasNextPage = __webpack_require__(953) - octokit.hasPreviousPage = __webpack_require__(167) -} - - -/***/ }), -/* 44 */, -/* 45 */, -/* 46 */, -/* 47 */, -/* 48 */, -/* 49 */, -/* 50 */, -/* 51 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = - function(Promise, PromiseArray, debug) { -var PromiseInspection = Promise.PromiseInspection; -var util = __webpack_require__(143); - -function SettledPromiseArray(values) { - this.constructor$(values); -} -util.inherits(SettledPromiseArray, PromiseArray); - -SettledPromiseArray.prototype._promiseResolved = function (index, inspection) { - this._values[index] = inspection; - var totalResolved = ++this._totalResolved; - if (totalResolved >= this._length) { - this._resolve(this._values); - return true; - } - return false; -}; - -SettledPromiseArray.prototype._promiseFulfilled = function (value, index) { - var ret = new PromiseInspection(); - ret._bitField = 33554432; - ret._settledValueField = value; - return this._promiseResolved(index, ret); -}; -SettledPromiseArray.prototype._promiseRejected = function (reason, index) { - var ret = new PromiseInspection(); - ret._bitField = 16777216; - ret._settledValueField = reason; - return this._promiseResolved(index, ret); -}; - -Promise.settle = function (promises) { - debug.deprecated(".settle()", ".reflect()"); - return new SettledPromiseArray(promises).promise(); -}; - -Promise.prototype.settle = function () { - return Promise.settle(this); -}; -}; - - -/***/ }), -/* 52 */, -/* 53 */, -/* 54 */, -/* 55 */, -/* 56 */, -/* 57 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var once = __webpack_require__(429); - -var noop = function() {}; - -var isRequest = function(stream) { - return stream.setHeader && typeof stream.abort === 'function'; -}; - -var isChildProcess = function(stream) { - return stream.stdio && Array.isArray(stream.stdio) && stream.stdio.length === 3 -}; - -var eos = function(stream, opts, callback) { - if (typeof opts === 'function') return eos(stream, null, opts); - if (!opts) opts = {}; - - callback = once(callback || noop); - - var ws = stream._writableState; - var rs = stream._readableState; - var readable = opts.readable || (opts.readable !== false && stream.readable); - var writable = opts.writable || (opts.writable !== false && stream.writable); - var cancelled = false; - - var onlegacyfinish = function() { - if (!stream.writable) onfinish(); - }; - - var onfinish = function() { - writable = false; - if (!readable) callback.call(stream); - }; - - var onend = function() { - readable = false; - if (!writable) callback.call(stream); - }; - - var onexit = function(exitCode) { - callback.call(stream, exitCode ? new Error('exited with error code: ' + exitCode) : null); - }; - - var onerror = function(err) { - callback.call(stream, err); - }; - - var onclose = function() { - process.nextTick(onclosenexttick); - }; - - var onclosenexttick = function() { - if (cancelled) return; - if (readable && !(rs && (rs.ended && !rs.destroyed))) return callback.call(stream, new Error('premature close')); - if (writable && !(ws && (ws.ended && !ws.destroyed))) return callback.call(stream, new Error('premature close')); - }; - - var onrequest = function() { - stream.req.on('finish', onfinish); - }; - - if (isRequest(stream)) { - stream.on('complete', onfinish); - stream.on('abort', onclose); - if (stream.req) onrequest(); - else stream.on('request', onrequest); - } else if (writable && !ws) { // legacy streams - stream.on('end', onlegacyfinish); - stream.on('close', onlegacyfinish); - } - - if (isChildProcess(stream)) stream.on('exit', onexit); - - stream.on('end', onend); - stream.on('finish', onfinish); - if (opts.error !== false) stream.on('error', onerror); - stream.on('close', onclose); - - return function() { - cancelled = true; - stream.removeListener('complete', onfinish); - stream.removeListener('abort', onclose); - stream.removeListener('request', onrequest); - if (stream.req) stream.req.removeListener('finish', onfinish); - stream.removeListener('end', onlegacyfinish); - stream.removeListener('close', onlegacyfinish); - stream.removeListener('finish', onfinish); - stream.removeListener('exit', onexit); - stream.removeListener('end', onend); - stream.removeListener('error', onerror); - stream.removeListener('close', onclose); - }; -}; - -module.exports = eos; - - -/***/ }), -/* 58 */ -/***/ (function(module) { - -module.exports = require("readline"); - -/***/ }), -/* 59 */ -/***/ (function(module) { - -"use strict"; - - -/** - * Tries to execute a function and discards any error that occurs. - * @param {Function} fn - Function that might or might not throw an error. - * @returns {?*} Return-value of the function when no error occurred. - */ -module.exports = function(fn) { - - try { return fn() } catch (e) {} - -} - -/***/ }), -/* 60 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const os = __webpack_require__(87); -const macosRelease = __webpack_require__(153); -const winRelease = __webpack_require__(598); - -const osName = (platform, release) => { - if (!platform && release) { - throw new Error('You can\'t specify a `release` without specifying `platform`'); - } - - platform = platform || os.platform(); - - let id; - - if (platform === 'darwin') { - if (!release && os.platform() === 'darwin') { - release = os.release(); - } - - const prefix = release ? (Number(release.split('.')[0]) > 15 ? 'macOS' : 'OS X') : 'macOS'; - id = release ? macosRelease(release).name : ''; - return prefix + (id ? ' ' + id : ''); - } - - if (platform === 'linux') { - if (!release && os.platform() === 'linux') { - release = os.release(); - } - - id = release ? release.replace(/^(\d+\.\d+).*/, '$1') : ''; - return 'Linux' + (id ? ' ' + id : ''); - } - - if (platform === 'win32') { - if (!release && os.platform() === 'win32') { - release = os.release(); - } - - id = release ? winRelease(release) : ''; - return 'Windows' + (id ? ' ' + id : ''); - } - - return platform; -}; - -module.exports = osName; - - -/***/ }), -/* 61 */, -/* 62 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(729); - -module.exports = ( - utils.isStandardBrowserEnv() ? - - // Standard browser envs support document.cookie - (function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - - if (utils.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - - if (utils.isString(path)) { - cookie.push('path=' + path); - } - - if (utils.isString(domain)) { - cookie.push('domain=' + domain); - } - - if (secure === true) { - cookie.push('secure'); - } - - document.cookie = cookie.join('; '); - }, - - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return (match ? decodeURIComponent(match[3]) : null); - }, - - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; - })() : - - // Non standard browser env (web workers, react-native) lack needed support. - (function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { return null; }, - remove: function remove() {} - }; - })() -); - - -/***/ }), -/* 63 */, -/* 64 */, -/* 65 */, -/* 66 */, -/* 67 */, -/* 68 */, -/* 69 */, -/* 70 */, -/* 71 */, -/* 72 */ -/***/ (function(module) { - -module.exports = getType - -function getType (st) { - var types = [ - 'Directory', - 'File', - 'SymbolicLink', - 'Link', // special for hardlinks from tarballs - 'BlockDevice', - 'CharacterDevice', - 'FIFO', - 'Socket' - ] - var type - - if (st.type && types.indexOf(st.type) !== -1) { - st[st.type] = true - return st.type - } - - for (var i = 0, l = types.length; i < l; i++) { - type = types[i] - var is = st[type] || st['is' + type] - if (typeof is === 'function') is = is.call(st) - if (is) { - st[type] = true - st.type = type - return type - } - } - - return null -} - - -/***/ }), -/* 73 */, -/* 74 */, -/* 75 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const url = __webpack_require__(835); -const http = __webpack_require__(605); -const https = __webpack_require__(211); -const pm = __webpack_require__(957); -let tunnel; -var HttpCodes; -(function (HttpCodes) { - HttpCodes[HttpCodes["OK"] = 200] = "OK"; - HttpCodes[HttpCodes["MultipleChoices"] = 300] = "MultipleChoices"; - HttpCodes[HttpCodes["MovedPermanently"] = 301] = "MovedPermanently"; - HttpCodes[HttpCodes["ResourceMoved"] = 302] = "ResourceMoved"; - HttpCodes[HttpCodes["SeeOther"] = 303] = "SeeOther"; - HttpCodes[HttpCodes["NotModified"] = 304] = "NotModified"; - HttpCodes[HttpCodes["UseProxy"] = 305] = "UseProxy"; - HttpCodes[HttpCodes["SwitchProxy"] = 306] = "SwitchProxy"; - HttpCodes[HttpCodes["TemporaryRedirect"] = 307] = "TemporaryRedirect"; - HttpCodes[HttpCodes["PermanentRedirect"] = 308] = "PermanentRedirect"; - HttpCodes[HttpCodes["BadRequest"] = 400] = "BadRequest"; - HttpCodes[HttpCodes["Unauthorized"] = 401] = "Unauthorized"; - HttpCodes[HttpCodes["PaymentRequired"] = 402] = "PaymentRequired"; - HttpCodes[HttpCodes["Forbidden"] = 403] = "Forbidden"; - HttpCodes[HttpCodes["NotFound"] = 404] = "NotFound"; - HttpCodes[HttpCodes["MethodNotAllowed"] = 405] = "MethodNotAllowed"; - HttpCodes[HttpCodes["NotAcceptable"] = 406] = "NotAcceptable"; - HttpCodes[HttpCodes["ProxyAuthenticationRequired"] = 407] = "ProxyAuthenticationRequired"; - HttpCodes[HttpCodes["RequestTimeout"] = 408] = "RequestTimeout"; - HttpCodes[HttpCodes["Conflict"] = 409] = "Conflict"; - HttpCodes[HttpCodes["Gone"] = 410] = "Gone"; - HttpCodes[HttpCodes["TooManyRequests"] = 429] = "TooManyRequests"; - HttpCodes[HttpCodes["InternalServerError"] = 500] = "InternalServerError"; - HttpCodes[HttpCodes["NotImplemented"] = 501] = "NotImplemented"; - HttpCodes[HttpCodes["BadGateway"] = 502] = "BadGateway"; - HttpCodes[HttpCodes["ServiceUnavailable"] = 503] = "ServiceUnavailable"; - HttpCodes[HttpCodes["GatewayTimeout"] = 504] = "GatewayTimeout"; -})(HttpCodes = exports.HttpCodes || (exports.HttpCodes = {})); -var Headers; -(function (Headers) { - Headers["Accept"] = "accept"; - Headers["ContentType"] = "content-type"; -})(Headers = exports.Headers || (exports.Headers = {})); -var MediaTypes; -(function (MediaTypes) { - MediaTypes["ApplicationJson"] = "application/json"; -})(MediaTypes = exports.MediaTypes || (exports.MediaTypes = {})); -/** - * Returns the proxy URL, depending upon the supplied url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ -function getProxyUrl(serverUrl) { - let proxyUrl = pm.getProxyUrl(url.parse(serverUrl)); - return proxyUrl ? proxyUrl.href : ''; -} -exports.getProxyUrl = getProxyUrl; -const HttpRedirectCodes = [ - HttpCodes.MovedPermanently, - HttpCodes.ResourceMoved, - HttpCodes.SeeOther, - HttpCodes.TemporaryRedirect, - HttpCodes.PermanentRedirect -]; -const HttpResponseRetryCodes = [ - HttpCodes.BadGateway, - HttpCodes.ServiceUnavailable, - HttpCodes.GatewayTimeout -]; -const RetryableHttpVerbs = ['OPTIONS', 'GET', 'DELETE', 'HEAD']; -const ExponentialBackoffCeiling = 10; -const ExponentialBackoffTimeSlice = 5; -class HttpClientResponse { - constructor(message) { - this.message = message; - } - readBody() { - return new Promise(async (resolve, reject) => { - let output = Buffer.alloc(0); - this.message.on('data', (chunk) => { - output = Buffer.concat([output, chunk]); - }); - this.message.on('end', () => { - resolve(output.toString()); - }); - }); - } -} -exports.HttpClientResponse = HttpClientResponse; -function isHttps(requestUrl) { - let parsedUrl = url.parse(requestUrl); - return parsedUrl.protocol === 'https:'; -} -exports.isHttps = isHttps; -class HttpClient { - constructor(userAgent, handlers, requestOptions) { - this._ignoreSslError = false; - this._allowRedirects = true; - this._allowRedirectDowngrade = false; - this._maxRedirects = 50; - this._allowRetries = false; - this._maxRetries = 1; - this._keepAlive = false; - this._disposed = false; - this.userAgent = userAgent; - this.handlers = handlers || []; - this.requestOptions = requestOptions; - if (requestOptions) { - if (requestOptions.ignoreSslError != null) { - this._ignoreSslError = requestOptions.ignoreSslError; - } - this._socketTimeout = requestOptions.socketTimeout; - if (requestOptions.allowRedirects != null) { - this._allowRedirects = requestOptions.allowRedirects; - } - if (requestOptions.allowRedirectDowngrade != null) { - this._allowRedirectDowngrade = requestOptions.allowRedirectDowngrade; - } - if (requestOptions.maxRedirects != null) { - this._maxRedirects = Math.max(requestOptions.maxRedirects, 0); - } - if (requestOptions.keepAlive != null) { - this._keepAlive = requestOptions.keepAlive; - } - if (requestOptions.allowRetries != null) { - this._allowRetries = requestOptions.allowRetries; - } - if (requestOptions.maxRetries != null) { - this._maxRetries = requestOptions.maxRetries; - } - } - } - options(requestUrl, additionalHeaders) { - return this.request('OPTIONS', requestUrl, null, additionalHeaders || {}); - } - get(requestUrl, additionalHeaders) { - return this.request('GET', requestUrl, null, additionalHeaders || {}); - } - del(requestUrl, additionalHeaders) { - return this.request('DELETE', requestUrl, null, additionalHeaders || {}); - } - post(requestUrl, data, additionalHeaders) { - return this.request('POST', requestUrl, data, additionalHeaders || {}); - } - patch(requestUrl, data, additionalHeaders) { - return this.request('PATCH', requestUrl, data, additionalHeaders || {}); - } - put(requestUrl, data, additionalHeaders) { - return this.request('PUT', requestUrl, data, additionalHeaders || {}); - } - head(requestUrl, additionalHeaders) { - return this.request('HEAD', requestUrl, null, additionalHeaders || {}); - } - sendStream(verb, requestUrl, stream, additionalHeaders) { - return this.request(verb, requestUrl, stream, additionalHeaders); - } - /** - * Gets a typed object from an endpoint - * Be aware that not found returns a null. Other errors (4xx, 5xx) reject the promise - */ - async getJson(requestUrl, additionalHeaders = {}) { - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - let res = await this.get(requestUrl, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async postJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.post(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async putJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.put(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - async patchJson(requestUrl, obj, additionalHeaders = {}) { - let data = JSON.stringify(obj, null, 2); - additionalHeaders[Headers.Accept] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.Accept, MediaTypes.ApplicationJson); - additionalHeaders[Headers.ContentType] = this._getExistingOrDefaultHeader(additionalHeaders, Headers.ContentType, MediaTypes.ApplicationJson); - let res = await this.patch(requestUrl, data, additionalHeaders); - return this._processResponse(res, this.requestOptions); - } - /** - * Makes a raw http request. - * All other methods such as get, post, patch, and request ultimately call this. - * Prefer get, del, post and patch - */ - async request(verb, requestUrl, data, headers) { - if (this._disposed) { - throw new Error('Client has already been disposed.'); - } - let parsedUrl = url.parse(requestUrl); - let info = this._prepareRequest(verb, parsedUrl, headers); - // Only perform retries on reads since writes may not be idempotent. - let maxTries = this._allowRetries && RetryableHttpVerbs.indexOf(verb) != -1 - ? this._maxRetries + 1 - : 1; - let numTries = 0; - let response; - while (numTries < maxTries) { - response = await this.requestRaw(info, data); - // Check if it's an authentication challenge - if (response && - response.message && - response.message.statusCode === HttpCodes.Unauthorized) { - let authenticationHandler; - for (let i = 0; i < this.handlers.length; i++) { - if (this.handlers[i].canHandleAuthentication(response)) { - authenticationHandler = this.handlers[i]; - break; - } - } - if (authenticationHandler) { - return authenticationHandler.handleAuthentication(this, info, data); - } - else { - // We have received an unauthorized response but have no handlers to handle it. - // Let the response return to the caller. - return response; - } - } - let redirectsRemaining = this._maxRedirects; - while (HttpRedirectCodes.indexOf(response.message.statusCode) != -1 && - this._allowRedirects && - redirectsRemaining > 0) { - const redirectUrl = response.message.headers['location']; - if (!redirectUrl) { - // if there's no location to redirect to, we won't - break; - } - let parsedRedirectUrl = url.parse(redirectUrl); - if (parsedUrl.protocol == 'https:' && - parsedUrl.protocol != parsedRedirectUrl.protocol && - !this._allowRedirectDowngrade) { - throw new Error('Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.'); - } - // we need to finish reading the response before reassigning response - // which will leak the open socket. - await response.readBody(); - // strip authorization header if redirected to a different hostname - if (parsedRedirectUrl.hostname !== parsedUrl.hostname) { - for (let header in headers) { - // header names are case insensitive - if (header.toLowerCase() === 'authorization') { - delete headers[header]; - } - } - } - // let's make the request with the new redirectUrl - info = this._prepareRequest(verb, parsedRedirectUrl, headers); - response = await this.requestRaw(info, data); - redirectsRemaining--; - } - if (HttpResponseRetryCodes.indexOf(response.message.statusCode) == -1) { - // If not a retry code, return immediately instead of retrying - return response; - } - numTries += 1; - if (numTries < maxTries) { - await response.readBody(); - await this._performExponentialBackoff(numTries); - } - } - return response; - } - /** - * Needs to be called if keepAlive is set to true in request options. - */ - dispose() { - if (this._agent) { - this._agent.destroy(); - } - this._disposed = true; - } - /** - * Raw request. - * @param info - * @param data - */ - requestRaw(info, data) { - return new Promise((resolve, reject) => { - let callbackForResult = function (err, res) { - if (err) { - reject(err); - } - resolve(res); - }; - this.requestRawWithCallback(info, data, callbackForResult); - }); - } - /** - * Raw request with callback. - * @param info - * @param data - * @param onResult - */ - requestRawWithCallback(info, data, onResult) { - let socket; - if (typeof data === 'string') { - info.options.headers['Content-Length'] = Buffer.byteLength(data, 'utf8'); - } - let callbackCalled = false; - let handleResult = (err, res) => { - if (!callbackCalled) { - callbackCalled = true; - onResult(err, res); - } - }; - let req = info.httpModule.request(info.options, (msg) => { - let res = new HttpClientResponse(msg); - handleResult(null, res); - }); - req.on('socket', sock => { - socket = sock; - }); - // If we ever get disconnected, we want the socket to timeout eventually - req.setTimeout(this._socketTimeout || 3 * 60000, () => { - if (socket) { - socket.end(); - } - handleResult(new Error('Request timeout: ' + info.options.path), null); - }); - req.on('error', function (err) { - // err has statusCode property - // res should have headers - handleResult(err, null); - }); - if (data && typeof data === 'string') { - req.write(data, 'utf8'); - } - if (data && typeof data !== 'string') { - data.on('close', function () { - req.end(); - }); - data.pipe(req); - } - else { - req.end(); - } - } - /** - * Gets an http agent. This function is useful when you need an http agent that handles - * routing through a proxy server - depending upon the url and proxy environment variables. - * @param serverUrl The server URL where the request will be sent. For example, https://api.github.com - */ - getAgent(serverUrl) { - let parsedUrl = url.parse(serverUrl); - return this._getAgent(parsedUrl); - } - _prepareRequest(method, requestUrl, headers) { - const info = {}; - info.parsedUrl = requestUrl; - const usingSsl = info.parsedUrl.protocol === 'https:'; - info.httpModule = usingSsl ? https : http; - const defaultPort = usingSsl ? 443 : 80; - info.options = {}; - info.options.host = info.parsedUrl.hostname; - info.options.port = info.parsedUrl.port - ? parseInt(info.parsedUrl.port) - : defaultPort; - info.options.path = - (info.parsedUrl.pathname || '') + (info.parsedUrl.search || ''); - info.options.method = method; - info.options.headers = this._mergeHeaders(headers); - if (this.userAgent != null) { - info.options.headers['user-agent'] = this.userAgent; - } - info.options.agent = this._getAgent(info.parsedUrl); - // gives handlers an opportunity to participate - if (this.handlers) { - this.handlers.forEach(handler => { - handler.prepareRequest(info.options); - }); - } - return info; - } - _mergeHeaders(headers) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - if (this.requestOptions && this.requestOptions.headers) { - return Object.assign({}, lowercaseKeys(this.requestOptions.headers), lowercaseKeys(headers)); - } - return lowercaseKeys(headers || {}); - } - _getExistingOrDefaultHeader(additionalHeaders, header, _default) { - const lowercaseKeys = obj => Object.keys(obj).reduce((c, k) => ((c[k.toLowerCase()] = obj[k]), c), {}); - let clientHeader; - if (this.requestOptions && this.requestOptions.headers) { - clientHeader = lowercaseKeys(this.requestOptions.headers)[header]; - } - return additionalHeaders[header] || clientHeader || _default; - } - _getAgent(parsedUrl) { - let agent; - let proxyUrl = pm.getProxyUrl(parsedUrl); - let useProxy = proxyUrl && proxyUrl.hostname; - if (this._keepAlive && useProxy) { - agent = this._proxyAgent; - } - if (this._keepAlive && !useProxy) { - agent = this._agent; - } - // if agent is already assigned use that agent. - if (!!agent) { - return agent; - } - const usingSsl = parsedUrl.protocol === 'https:'; - let maxSockets = 100; - if (!!this.requestOptions) { - maxSockets = this.requestOptions.maxSockets || http.globalAgent.maxSockets; - } - if (useProxy) { - // If using proxy, need tunnel - if (!tunnel) { - tunnel = __webpack_require__(739); - } - const agentOptions = { - maxSockets: maxSockets, - keepAlive: this._keepAlive, - proxy: { - proxyAuth: proxyUrl.auth, - host: proxyUrl.hostname, - port: proxyUrl.port - } - }; - let tunnelAgent; - const overHttps = proxyUrl.protocol === 'https:'; - if (usingSsl) { - tunnelAgent = overHttps ? tunnel.httpsOverHttps : tunnel.httpsOverHttp; - } - else { - tunnelAgent = overHttps ? tunnel.httpOverHttps : tunnel.httpOverHttp; - } - agent = tunnelAgent(agentOptions); - this._proxyAgent = agent; - } - // if reusing agent across request and tunneling agent isn't assigned create a new agent - if (this._keepAlive && !agent) { - const options = { keepAlive: this._keepAlive, maxSockets: maxSockets }; - agent = usingSsl ? new https.Agent(options) : new http.Agent(options); - this._agent = agent; - } - // if not using private agent and tunnel agent isn't setup then use global agent - if (!agent) { - agent = usingSsl ? https.globalAgent : http.globalAgent; - } - if (usingSsl && this._ignoreSslError) { - // we don't want to set NODE_TLS_REJECT_UNAUTHORIZED=0 since that will affect request for entire process - // http.RequestOptions doesn't expose a way to modify RequestOptions.agent.options - // we have to cast it to any and change it directly - agent.options = Object.assign(agent.options || {}, { - rejectUnauthorized: false - }); - } - return agent; - } - _performExponentialBackoff(retryNumber) { - retryNumber = Math.min(ExponentialBackoffCeiling, retryNumber); - const ms = ExponentialBackoffTimeSlice * Math.pow(2, retryNumber); - return new Promise(resolve => setTimeout(() => resolve(), ms)); - } - static dateTimeDeserializer(key, value) { - if (typeof value === 'string') { - let a = new Date(value); - if (!isNaN(a.valueOf())) { - return a; - } - } - return value; - } - async _processResponse(res, options) { - return new Promise(async (resolve, reject) => { - const statusCode = res.message.statusCode; - const response = { - statusCode: statusCode, - result: null, - headers: {} - }; - // not found leads to null obj returned - if (statusCode == HttpCodes.NotFound) { - resolve(response); - } - let obj; - let contents; - // get the result from the body - try { - contents = await res.readBody(); - if (contents && contents.length > 0) { - if (options && options.deserializeDates) { - obj = JSON.parse(contents, HttpClient.dateTimeDeserializer); - } - else { - obj = JSON.parse(contents); - } - response.result = obj; - } - response.headers = res.message.headers; - } - catch (err) { - // Invalid resource (contents not json); leaving result obj null - } - // note that 3xx redirects are handled by the http layer. - if (statusCode > 299) { - let msg; - // if exception/error in body, attempt to get better error - if (obj && obj.message) { - msg = obj.message; - } - else if (contents && contents.length > 0) { - // it may be the case that the exception is in the body message as string - msg = contents; - } - else { - msg = 'Failed request: (' + statusCode + ')'; - } - let err = new Error(msg); - // attach statusCode and body obj (if available) to the error object - err['statusCode'] = statusCode; - if (response.result) { - err['result'] = response.result; - } - reject(err); - } - else { - resolve(response); - } - }); - } -} -exports.HttpClient = HttpClient; - - -/***/ }), -/* 76 */, -/* 77 */, -/* 78 */, -/* 79 */, -/* 80 */, -/* 81 */, -/* 82 */, -/* 83 */, -/* 84 */, -/* 85 */, -/* 86 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var constants = __webpack_require__(721) - -var origCwd = process.cwd -var cwd = null - -var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform - -process.cwd = function() { - if (!cwd) - cwd = origCwd.call(process) - return cwd -} -try { - process.cwd() -} catch (er) {} - -var chdir = process.chdir -process.chdir = function(d) { - cwd = null - chdir.call(process, d) -} - -module.exports = patch - -function patch (fs) { - // (re-)implement some things that are known busted or missing. - - // lchmod, broken prior to 0.6.2 - // back-port the fix here. - if (constants.hasOwnProperty('O_SYMLINK') && - process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) { - patchLchmod(fs) - } - - // lutimes implementation, or no-op - if (!fs.lutimes) { - patchLutimes(fs) - } - - // https://github.com/isaacs/node-graceful-fs/issues/4 - // Chown should not fail on einval or eperm if non-root. - // It should not fail on enosys ever, as this just indicates - // that a fs doesn't support the intended operation. - - fs.chown = chownFix(fs.chown) - fs.fchown = chownFix(fs.fchown) - fs.lchown = chownFix(fs.lchown) - - fs.chmod = chmodFix(fs.chmod) - fs.fchmod = chmodFix(fs.fchmod) - fs.lchmod = chmodFix(fs.lchmod) - - fs.chownSync = chownFixSync(fs.chownSync) - fs.fchownSync = chownFixSync(fs.fchownSync) - fs.lchownSync = chownFixSync(fs.lchownSync) - - fs.chmodSync = chmodFixSync(fs.chmodSync) - fs.fchmodSync = chmodFixSync(fs.fchmodSync) - fs.lchmodSync = chmodFixSync(fs.lchmodSync) - - fs.stat = statFix(fs.stat) - fs.fstat = statFix(fs.fstat) - fs.lstat = statFix(fs.lstat) - - fs.statSync = statFixSync(fs.statSync) - fs.fstatSync = statFixSync(fs.fstatSync) - fs.lstatSync = statFixSync(fs.lstatSync) - - // if lchmod/lchown do not exist, then make them no-ops - if (!fs.lchmod) { - fs.lchmod = function (path, mode, cb) { - if (cb) process.nextTick(cb) - } - fs.lchmodSync = function () {} - } - if (!fs.lchown) { - fs.lchown = function (path, uid, gid, cb) { - if (cb) process.nextTick(cb) - } - fs.lchownSync = function () {} - } - - // on Windows, A/V software can lock the directory, causing this - // to fail with an EACCES or EPERM if the directory contains newly - // created files. Try again on failure, for up to 60 seconds. - - // Set the timeout this long because some Windows Anti-Virus, such as Parity - // bit9, may lock files for up to a minute, causing npm package install - // failures. Also, take care to yield the scheduler. Windows scheduling gives - // CPU to a busy looping process, which can cause the program causing the lock - // contention to be starved of CPU by node, so the contention doesn't resolve. - if (platform === "win32") { - fs.rename = (function (fs$rename) { return function (from, to, cb) { - var start = Date.now() - var backoff = 0; - fs$rename(from, to, function CB (er) { - if (er - && (er.code === "EACCES" || er.code === "EPERM") - && Date.now() - start < 60000) { - setTimeout(function() { - fs.stat(to, function (stater, st) { - if (stater && stater.code === "ENOENT") - fs$rename(from, to, CB); - else - cb(er) - }) - }, backoff) - if (backoff < 100) - backoff += 10; - return; - } - if (cb) cb(er) - }) - }})(fs.rename) - } - - // if read() returns EAGAIN, then just try it again. - fs.read = (function (fs$read) { - function read (fd, buffer, offset, length, position, callback_) { - var callback - if (callback_ && typeof callback_ === 'function') { - var eagCounter = 0 - callback = function (er, _, __) { - if (er && er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - } - callback_.apply(this, arguments) - } - } - return fs$read.call(fs, fd, buffer, offset, length, position, callback) - } - - // This ensures `util.promisify` works as it does for native `fs.read`. - read.__proto__ = fs$read - return read - })(fs.read) - - fs.readSync = (function (fs$readSync) { return function (fd, buffer, offset, length, position) { - var eagCounter = 0 - while (true) { - try { - return fs$readSync.call(fs, fd, buffer, offset, length, position) - } catch (er) { - if (er.code === 'EAGAIN' && eagCounter < 10) { - eagCounter ++ - continue - } - throw er - } - } - }})(fs.readSync) - - function patchLchmod (fs) { - fs.lchmod = function (path, mode, callback) { - fs.open( path - , constants.O_WRONLY | constants.O_SYMLINK - , mode - , function (err, fd) { - if (err) { - if (callback) callback(err) - return - } - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - fs.fchmod(fd, mode, function (err) { - fs.close(fd, function(err2) { - if (callback) callback(err || err2) - }) - }) - }) - } - - fs.lchmodSync = function (path, mode) { - var fd = fs.openSync(path, constants.O_WRONLY | constants.O_SYMLINK, mode) - - // prefer to return the chmod error, if one occurs, - // but still try to close, and report closing errors if they occur. - var threw = true - var ret - try { - ret = fs.fchmodSync(fd, mode) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret - } - } - - function patchLutimes (fs) { - if (constants.hasOwnProperty("O_SYMLINK")) { - fs.lutimes = function (path, at, mt, cb) { - fs.open(path, constants.O_SYMLINK, function (er, fd) { - if (er) { - if (cb) cb(er) - return - } - fs.futimes(fd, at, mt, function (er) { - fs.close(fd, function (er2) { - if (cb) cb(er || er2) - }) - }) - }) - } - - fs.lutimesSync = function (path, at, mt) { - var fd = fs.openSync(path, constants.O_SYMLINK) - var ret - var threw = true - try { - ret = fs.futimesSync(fd, at, mt) - threw = false - } finally { - if (threw) { - try { - fs.closeSync(fd) - } catch (er) {} - } else { - fs.closeSync(fd) - } - } - return ret - } - - } else { - fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) } - fs.lutimesSync = function () {} - } - } - - function chmodFix (orig) { - if (!orig) return orig - return function (target, mode, cb) { - return orig.call(fs, target, mode, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } - } - - function chmodFixSync (orig) { - if (!orig) return orig - return function (target, mode) { - try { - return orig.call(fs, target, mode) - } catch (er) { - if (!chownErOk(er)) throw er - } - } - } - - - function chownFix (orig) { - if (!orig) return orig - return function (target, uid, gid, cb) { - return orig.call(fs, target, uid, gid, function (er) { - if (chownErOk(er)) er = null - if (cb) cb.apply(this, arguments) - }) - } - } - - function chownFixSync (orig) { - if (!orig) return orig - return function (target, uid, gid) { - try { - return orig.call(fs, target, uid, gid) - } catch (er) { - if (!chownErOk(er)) throw er - } - } - } - - function statFix (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target, options, cb) { - if (typeof options === 'function') { - cb = options - options = null - } - function callback (er, stats) { - if (stats) { - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - } - if (cb) cb.apply(this, arguments) - } - return options ? orig.call(fs, target, options, callback) - : orig.call(fs, target, callback) - } - } - - function statFixSync (orig) { - if (!orig) return orig - // Older versions of Node erroneously returned signed integers for - // uid + gid. - return function (target, options) { - var stats = options ? orig.call(fs, target, options) - : orig.call(fs, target) - if (stats.uid < 0) stats.uid += 0x100000000 - if (stats.gid < 0) stats.gid += 0x100000000 - return stats; - } - } - - // ENOSYS means that the fs doesn't support the op. Just ignore - // that, because it doesn't matter. - // - // if there's no getuid, or if getuid() is something other - // than 0, and the error is EINVAL or EPERM, then just ignore - // it. - // - // This specific case is a silent failure in cp, install, tar, - // and most other unix tools that manage permissions. - // - // When running as root, or if other types of errors are - // encountered, then it's strict. - function chownErOk (er) { - if (!er) - return true - - if (er.code === "ENOSYS") - return true - - var nonroot = !process.getuid || process.getuid() !== 0 - if (nonroot) { - if (er.code === "EINVAL" || er.code === "EPERM") - return true - } - - return false - } -} - - -/***/ }), -/* 87 */ -/***/ (function(module) { - -module.exports = require("os"); - -/***/ }), -/* 88 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -// It is expected that, when .add() returns false, the consumer -// of the DirWriter will pause until a "drain" event occurs. Note -// that this is *almost always going to be the case*, unless the -// thing being written is some sort of unsupported type, and thus -// skipped over. - -module.exports = DirWriter - -var Writer = __webpack_require__(176) -var inherits = __webpack_require__(392) -var mkdir = __webpack_require__(219) -var path = __webpack_require__(622) -var collect = __webpack_require__(441) - -inherits(DirWriter, Writer) - -function DirWriter (props) { - var self = this - if (!(self instanceof DirWriter)) { - self.error('DirWriter must be called as constructor.', null, true) - } - - // should already be established as a Directory type - if (props.type !== 'Directory' || !props.Directory) { - self.error('Non-directory type ' + props.type + ' ' + - JSON.stringify(props), null, true) - } - - Writer.call(this, props) -} - -DirWriter.prototype._create = function () { - var self = this - mkdir(self._path, Writer.dirmode, function (er) { - if (er) return self.error(er) - // ready to start getting entries! - self.ready = true - self.emit('ready') - self._process() - }) -} - -// a DirWriter has an add(entry) method, but its .write() doesn't -// do anything. Why a no-op rather than a throw? Because this -// leaves open the door for writing directory metadata for -// gnu/solaris style dumpdirs. -DirWriter.prototype.write = function () { - return true -} - -DirWriter.prototype.end = function () { - this._ended = true - this._process() -} - -DirWriter.prototype.add = function (entry) { - var self = this - - // console.error('\tadd', entry._path, '->', self._path) - collect(entry) - if (!self.ready || self._currentEntry) { - self._buffer.push(entry) - return false - } - - // create a new writer, and pipe the incoming entry into it. - if (self._ended) { - return self.error('add after end') - } - - self._buffer.push(entry) - self._process() - - return this._buffer.length === 0 -} - -DirWriter.prototype._process = function () { - var self = this - - // console.error('DW Process p=%j', self._processing, self.basename) - - if (self._processing) return - - var entry = self._buffer.shift() - if (!entry) { - // console.error("DW Drain") - self.emit('drain') - if (self._ended) self._finish() - return - } - - self._processing = true - // console.error("DW Entry", entry._path) - - self.emit('entry', entry) - - // ok, add this entry - // - // don't allow recursive copying - var p = entry - var pp - do { - pp = p._path || p.path - if (pp === self.root._path || pp === self._path || - (pp && pp.indexOf(self._path) === 0)) { - // console.error('DW Exit (recursive)', entry.basename, self._path) - self._processing = false - if (entry._collected) entry.pipe() - return self._process() - } - p = p.parent - } while (p) - - // console.error("DW not recursive") - - // chop off the entry's root dir, replace with ours - var props = { - parent: self, - root: self.root || self, - type: entry.type, - depth: self.depth + 1 - } - - pp = entry._path || entry.path || entry.props.path - if (entry.parent) { - pp = pp.substr(entry.parent._path.length + 1) - } - // get rid of any ../../ shenanigans - props.path = path.join(self.path, path.join('/', pp)) - - // if i have a filter, the child should inherit it. - props.filter = self.filter - - // all the rest of the stuff, copy over from the source. - Object.keys(entry.props).forEach(function (k) { - if (!props.hasOwnProperty(k)) { - props[k] = entry.props[k] - } - }) - - // not sure at this point what kind of writer this is. - var child = self._currentChild = new Writer(props) - child.on('ready', function () { - // console.error("DW Child Ready", child.type, child._path) - // console.error(" resuming", entry._path) - entry.pipe(child) - entry.resume() - }) - - // XXX Make this work in node. - // Long filenames should not break stuff. - child.on('error', function (er) { - if (child._swallowErrors) { - self.warn(er) - child.emit('end') - child.emit('close') - } else { - self.emit('error', er) - } - }) - - // we fire _end internally *after* end, so that we don't move on - // until any "end" listeners have had their chance to do stuff. - child.on('close', onend) - var ended = false - function onend () { - if (ended) return - ended = true - // console.error("* DW Child end", child.basename) - self._currentChild = null - self._processing = false - self._process() - } -} - - -/***/ }), -/* 89 */, -/* 90 */, -/* 91 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { - function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } - return new (P || (P = Promise))(function (resolve, reject) { - function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } - function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } - function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const command_1 = __webpack_require__(112); -const os = __importStar(__webpack_require__(87)); -const path = __importStar(__webpack_require__(622)); -/** - * The code to exit an action - */ -var ExitCode; -(function (ExitCode) { - /** - * A code indicating that the action was successful - */ - ExitCode[ExitCode["Success"] = 0] = "Success"; - /** - * A code indicating that the action was a failure - */ - ExitCode[ExitCode["Failure"] = 1] = "Failure"; -})(ExitCode = exports.ExitCode || (exports.ExitCode = {})); -//----------------------------------------------------------------------- -// Variables -//----------------------------------------------------------------------- -/** - * Sets env variable for this action and future actions in the job - * @param name the name of the variable to set - * @param val the value of the variable. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function exportVariable(name, val) { - const convertedVal = command_1.toCommandValue(val); - process.env[name] = convertedVal; - command_1.issueCommand('set-env', { name }, convertedVal); -} -exports.exportVariable = exportVariable; -/** - * Registers a secret which will get masked from logs - * @param secret value of the secret - */ -function setSecret(secret) { - command_1.issueCommand('add-mask', {}, secret); -} -exports.setSecret = setSecret; -/** - * Prepends inputPath to the PATH (for this action and future actions) - * @param inputPath - */ -function addPath(inputPath) { - command_1.issueCommand('add-path', {}, inputPath); - process.env['PATH'] = `${inputPath}${path.delimiter}${process.env['PATH']}`; -} -exports.addPath = addPath; -/** - * Gets the value of an input. The value is also trimmed. - * - * @param name name of the input to get - * @param options optional. See InputOptions. - * @returns string - */ -function getInput(name, options) { - const val = process.env[`INPUT_${name.replace(/ /g, '_').toUpperCase()}`] || ''; - if (options && options.required && !val) { - throw new Error(`Input required and not supplied: ${name}`); - } - return val.trim(); -} -exports.getInput = getInput; -/** - * Sets the value of an output. - * - * @param name name of the output to set - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function setOutput(name, value) { - command_1.issueCommand('set-output', { name }, value); -} -exports.setOutput = setOutput; -/** - * Enables or disables the echoing of commands into stdout for the rest of the step. - * Echoing is disabled by default if ACTIONS_STEP_DEBUG is not set. - * - */ -function setCommandEcho(enabled) { - command_1.issue('echo', enabled ? 'on' : 'off'); -} -exports.setCommandEcho = setCommandEcho; -//----------------------------------------------------------------------- -// Results -//----------------------------------------------------------------------- -/** - * Sets the action status to failed. - * When the action exits it will be with an exit code of 1 - * @param message add error issue message - */ -function setFailed(message) { - process.exitCode = ExitCode.Failure; - error(message); -} -exports.setFailed = setFailed; -//----------------------------------------------------------------------- -// Logging Commands -//----------------------------------------------------------------------- -/** - * Gets whether Actions Step Debug is on or not - */ -function isDebug() { - return process.env['RUNNER_DEBUG'] === '1'; -} -exports.isDebug = isDebug; -/** - * Writes debug message to user log - * @param message debug message - */ -function debug(message) { - command_1.issueCommand('debug', {}, message); -} -exports.debug = debug; -/** - * Adds an error issue - * @param message error issue message. Errors will be converted to string via toString() - */ -function error(message) { - command_1.issue('error', message instanceof Error ? message.toString() : message); -} -exports.error = error; -/** - * Adds an warning issue - * @param message warning issue message. Errors will be converted to string via toString() - */ -function warning(message) { - command_1.issue('warning', message instanceof Error ? message.toString() : message); -} -exports.warning = warning; -/** - * Writes info to log with console.log. - * @param message info message - */ -function info(message) { - process.stdout.write(message + os.EOL); -} -exports.info = info; -/** - * Begin an output group. - * - * Output until the next `groupEnd` will be foldable in this group - * - * @param name The name of the output group - */ -function startGroup(name) { - command_1.issue('group', name); -} -exports.startGroup = startGroup; -/** - * End an output group. - */ -function endGroup() { - command_1.issue('endgroup'); -} -exports.endGroup = endGroup; -/** - * Wrap an asynchronous function call in a group. - * - * Returns the same type as the function itself. - * - * @param name The name of the group - * @param fn The function to wrap in the group - */ -function group(name, fn) { - return __awaiter(this, void 0, void 0, function* () { - startGroup(name); - let result; - try { - result = yield fn(); - } - finally { - endGroup(); - } - return result; - }); -} -exports.group = group; -//----------------------------------------------------------------------- -// Wrapper action state -//----------------------------------------------------------------------- -/** - * Saves state for current action, the state can only be retrieved by this action's post job execution. - * - * @param name name of the state to store - * @param value value to store. Non-string values will be converted to a string via JSON.stringify - */ -// eslint-disable-next-line @typescript-eslint/no-explicit-any -function saveState(name, value) { - command_1.issueCommand('save-state', { name }, value); -} -exports.saveState = saveState; -/** - * Gets the value of an state set by this action's main execution. - * - * @param name name of the state to get - * @returns string - */ -function getState(name) { - return process.env[`STATE_${name}`] || ''; -} -exports.getState = getState; -//# sourceMappingURL=core.js.map - -/***/ }), -/* 92 */, -/* 93 */, -/* 94 */, -/* 95 */, -/* 96 */, -/* 97 */, -/* 98 */, -/* 99 */, -/* 100 */, -/* 101 */, -/* 102 */, -/* 103 */, -/* 104 */, -/* 105 */, -/* 106 */, -/* 107 */, -/* 108 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = paginatePlugin; - -const { paginateRest } = __webpack_require__(964); - -function paginatePlugin(octokit) { - Object.assign(octokit, paginateRest(octokit)); -} - - -/***/ }), -/* 109 */, -/* 110 */, -/* 111 */, -/* 112 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; - result["default"] = mod; - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -const os = __importStar(__webpack_require__(87)); -/** - * Commands - * - * Command Format: - * ::name key=value,key=value::message - * - * Examples: - * ::warning::This is the message - * ::set-env name=MY_VAR::some value - */ -function issueCommand(command, properties, message) { - const cmd = new Command(command, properties, message); - process.stdout.write(cmd.toString() + os.EOL); -} -exports.issueCommand = issueCommand; -function issue(name, message = '') { - issueCommand(name, {}, message); -} -exports.issue = issue; -const CMD_STRING = '::'; -class Command { - constructor(command, properties, message) { - if (!command) { - command = 'missing.command'; - } - this.command = command; - this.properties = properties; - this.message = message; - } - toString() { - let cmdStr = CMD_STRING + this.command; - if (this.properties && Object.keys(this.properties).length > 0) { - cmdStr += ' '; - let first = true; - for (const key in this.properties) { - if (this.properties.hasOwnProperty(key)) { - const val = this.properties[key]; - if (val) { - if (first) { - first = false; - } - else { - cmdStr += ','; - } - cmdStr += `${key}=${escapeProperty(val)}`; - } - } - } - } - cmdStr += `${CMD_STRING}${escapeData(this.message)}`; - return cmdStr; - } -} -/** - * Sanitizes an input into a string so it can be passed into issueCommand safely - * @param input input to sanitize into a string - */ -function toCommandValue(input) { - if (input === null || input === undefined) { - return ''; - } - else if (typeof input === 'string' || input instanceof String) { - return input; - } - return JSON.stringify(input); -} -exports.toCommandValue = toCommandValue; -function escapeData(s) { - return toCommandValue(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A'); -} -function escapeProperty(s) { - return toCommandValue(s) - .replace(/%/g, '%25') - .replace(/\r/g, '%0D') - .replace(/\n/g, '%0A') - .replace(/:/g, '%3A') - .replace(/,/g, '%2C'); -} -//# sourceMappingURL=command.js.map - -/***/ }), -/* 113 */, -/* 114 */, -/* 115 */, -/* 116 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = withAuthorizationPrefix; - -const atob = __webpack_require__(208); - -const REGEX_IS_BASIC_AUTH = /^[\w-]+:/; - -function withAuthorizationPrefix(authorization) { - if (/^(basic|bearer|token) /i.test(authorization)) { - return authorization; - } - - try { - if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) { - return `basic ${authorization}`; - } - } catch (error) {} - - if (authorization.split(/\./).length === 3) { - return `bearer ${authorization}`; - } - - return `token ${authorization}`; -} - - -/***/ }), -/* 117 */, -/* 118 */, -/* 119 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var util = __webpack_require__(669); -var zlib = __webpack_require__(761); -var Stream = __webpack_require__(413); -var binary = __webpack_require__(566); -var Promise = __webpack_require__(481); -var PullStream = __webpack_require__(449); -var NoopStream = __webpack_require__(367); -var BufferStream = __webpack_require__(879); -var parseExtraField = __webpack_require__(640); -var Buffer = __webpack_require__(676); -var parseDateTime = __webpack_require__(841); - -// Backwards compatibility for node versions < 8 -if (!Stream.Writable || !Stream.Writable.prototype.destroy) - Stream = __webpack_require__(279); - -var endDirectorySignature = Buffer.alloc(4); -endDirectorySignature.writeUInt32LE(0x06054b50, 0); - -function Parse(opts) { - if (!(this instanceof Parse)) { - return new Parse(opts); - } - var self = this; - self._opts = opts || { verbose: false }; - - PullStream.call(self, self._opts); - self.on('finish',function() { - self.emit('close'); - }); - self._readRecord().catch(function(e) { - if (!self.__emittedError || self.__emittedError !== e) - self.emit('error',e); - }); -} - -util.inherits(Parse, PullStream); - -Parse.prototype._readRecord = function () { - var self = this; - return self.pull(4).then(function(data) { - if (data.length === 0) - return; - - var signature = data.readUInt32LE(0); - - if (signature === 0x34327243) { - return self._readCrxHeader(); - } - if (signature === 0x04034b50) { - return self._readFile(); - } - else if (signature === 0x02014b50) { - self.__ended = true; - return self._readCentralDirectoryFileHeader(); - } - else if (signature === 0x06054b50) { - return self._readEndOfCentralDirectoryRecord(); - } - else if (self.__ended) { - return self.pull(endDirectorySignature).then(function() { - return self._readEndOfCentralDirectoryRecord(); - }); - } - else - self.emit('error', new Error('invalid signature: 0x' + signature.toString(16))); - }); -}; - -Parse.prototype._readCrxHeader = function() { - var self = this; - return self.pull(12).then(function(data) { - self.crxHeader = binary.parse(data) - .word32lu('version') - .word32lu('pubKeyLength') - .word32lu('signatureLength') - .vars; - return self.pull(self.crxHeader.pubKeyLength + self.crxHeader.signatureLength); - }).then(function(data) { - self.crxHeader.publicKey = data.slice(0,self.crxHeader.pubKeyLength); - self.crxHeader.signature = data.slice(self.crxHeader.pubKeyLength); - self.emit('crx-header',self.crxHeader); - return self._readRecord(); - }); -}; - -Parse.prototype._readFile = function () { - var self = this; - return self.pull(26).then(function(data) { - var vars = binary.parse(data) - .word16lu('versionsNeededToExtract') - .word16lu('flags') - .word16lu('compressionMethod') - .word16lu('lastModifiedTime') - .word16lu('lastModifiedDate') - .word32lu('crc32') - .word32lu('compressedSize') - .word32lu('uncompressedSize') - .word16lu('fileNameLength') - .word16lu('extraFieldLength') - .vars; - - vars.lastModifiedDateTime = parseDateTime(vars.lastModifiedDate, vars.lastModifiedTime); - - if (self.crxHeader) vars.crxHeader = self.crxHeader; - - return self.pull(vars.fileNameLength).then(function(fileNameBuffer) { - var fileName = fileNameBuffer.toString('utf8'); - var entry = Stream.PassThrough(); - var __autodraining = false; - - entry.autodrain = function() { - __autodraining = true; - var draining = entry.pipe(NoopStream()); - draining.promise = function() { - return new Promise(function(resolve, reject) { - draining.on('finish',resolve); - draining.on('error',reject); - }); - }; - return draining; - }; - - entry.buffer = function() { - return BufferStream(entry); - }; - - entry.path = fileName; - entry.props = {}; - entry.props.path = fileName; - entry.props.pathBuffer = fileNameBuffer; - entry.props.flags = { - "isUnicode": vars.flags & 0x11 - }; - entry.type = (vars.uncompressedSize === 0 && /[\/\\]$/.test(fileName)) ? 'Directory' : 'File'; - - if (self._opts.verbose) { - if (entry.type === 'Directory') { - console.log(' creating:', fileName); - } else if (entry.type === 'File') { - if (vars.compressionMethod === 0) { - console.log(' extracting:', fileName); - } else { - console.log(' inflating:', fileName); - } - } - } - - return self.pull(vars.extraFieldLength).then(function(extraField) { - var extra = parseExtraField(extraField, vars); - - entry.vars = vars; - entry.extra = extra; - - if (self._opts.forceStream) { - self.push(entry); - } else { - self.emit('entry', entry); - - if (self._readableState.pipesCount || (self._readableState.pipes && self._readableState.pipes.length)) - self.push(entry); - } - - if (self._opts.verbose) - console.log({ - filename:fileName, - vars: vars, - extra: extra - }); - - var fileSizeKnown = !(vars.flags & 0x08) || vars.compressedSize > 0, - eof; - - entry.__autodraining = __autodraining; // expose __autodraining for test purposes - var inflater = (vars.compressionMethod && !__autodraining) ? zlib.createInflateRaw() : Stream.PassThrough(); - - if (fileSizeKnown) { - entry.size = vars.uncompressedSize; - eof = vars.compressedSize; - } else { - eof = Buffer.alloc(4); - eof.writeUInt32LE(0x08074b50, 0); - } - - return new Promise(function(resolve, reject) { - self.stream(eof) - .pipe(inflater) - .on('error',function(err) { self.emit('error',err);}) - .pipe(entry) - .on('finish', function() { - return fileSizeKnown ? - self._readRecord().then(resolve).catch(reject) : - self._processDataDescriptor(entry).then(resolve).catch(reject); - }); - }); - }); - }); - }); -}; - -Parse.prototype._processDataDescriptor = function (entry) { - var self = this; - return self.pull(16).then(function(data) { - var vars = binary.parse(data) - .word32lu('dataDescriptorSignature') - .word32lu('crc32') - .word32lu('compressedSize') - .word32lu('uncompressedSize') - .vars; - - entry.size = vars.uncompressedSize; - return self._readRecord(); - }); -}; - -Parse.prototype._readCentralDirectoryFileHeader = function () { - var self = this; - return self.pull(42).then(function(data) { - - var vars = binary.parse(data) - .word16lu('versionMadeBy') - .word16lu('versionsNeededToExtract') - .word16lu('flags') - .word16lu('compressionMethod') - .word16lu('lastModifiedTime') - .word16lu('lastModifiedDate') - .word32lu('crc32') - .word32lu('compressedSize') - .word32lu('uncompressedSize') - .word16lu('fileNameLength') - .word16lu('extraFieldLength') - .word16lu('fileCommentLength') - .word16lu('diskNumber') - .word16lu('internalFileAttributes') - .word32lu('externalFileAttributes') - .word32lu('offsetToLocalFileHeader') - .vars; - - return self.pull(vars.fileNameLength).then(function(fileName) { - vars.fileName = fileName.toString('utf8'); - return self.pull(vars.extraFieldLength); - }) - .then(function(extraField) { - return self.pull(vars.fileCommentLength); - }) - .then(function(fileComment) { - return self._readRecord(); - }); - }); -}; - -Parse.prototype._readEndOfCentralDirectoryRecord = function() { - var self = this; - return self.pull(18).then(function(data) { - - var vars = binary.parse(data) - .word16lu('diskNumber') - .word16lu('diskStart') - .word16lu('numberOfRecordsOnDisk') - .word16lu('numberOfRecords') - .word32lu('sizeOfCentralDirectory') - .word32lu('offsetToStartOfCentralDirectory') - .word16lu('commentLength') - .vars; - - return self.pull(vars.commentLength).then(function(comment) { - comment = comment.toString('utf8'); - self.end(); - self.push(null); - }); - - }); -}; - -Parse.prototype.promise = function() { - var self = this; - return new Promise(function(resolve,reject) { - self.on('finish',resolve); - self.on('error',reject); - }); -}; - -module.exports = Parse; - - -/***/ }), -/* 120 */, -/* 121 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = factory; - -const Octokit = __webpack_require__(573); -const registerPlugin = __webpack_require__(927); - -function factory(plugins) { - const Api = Octokit.bind(null, plugins || []); - Api.plugin = registerPlugin.bind(null, plugins || []); - return Api; -} - - -/***/ }), -/* 122 */, -/* 123 */, -/* 124 */, -/* 125 */, -/* 126 */ -/***/ (function(module) { - -module.exports = removeHook - -function removeHook (state, name, method) { - if (!state.registry[name]) { - return - } - - var index = state.registry[name] - .map(function (registered) { return registered.orig }) - .indexOf(method) - - if (index === -1) { - return - } - - state.registry[name].splice(index, 1) -} - - -/***/ }), -/* 127 */, -/* 128 */, -/* 129 */ -/***/ (function(module) { - -module.exports = require("child_process"); - -/***/ }), -/* 130 */, -/* 131 */, -/* 132 */, -/* 133 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var endpoint = __webpack_require__(473); -var universalUserAgent = __webpack_require__(179); -var isPlainObject = _interopDefault(__webpack_require__(888)); -var nodeFetch = _interopDefault(__webpack_require__(975)); -var requestError = __webpack_require__(924); - -const VERSION = "5.4.2"; - -function getBufferResponse(response) { - return response.arrayBuffer(); -} - -function fetchWrapper(requestOptions) { - if (isPlainObject(requestOptions.body) || Array.isArray(requestOptions.body)) { - requestOptions.body = JSON.stringify(requestOptions.body); - } - - let headers = {}; - let status; - let url; - const fetch = requestOptions.request && requestOptions.request.fetch || nodeFetch; - return fetch(requestOptions.url, Object.assign({ - method: requestOptions.method, - body: requestOptions.body, - headers: requestOptions.headers, - redirect: requestOptions.redirect - }, requestOptions.request)).then(response => { - url = response.url; - status = response.status; - - for (const keyAndValue of response.headers) { - headers[keyAndValue[0]] = keyAndValue[1]; - } - - if (status === 204 || status === 205) { - return; - } // GitHub API returns 200 for HEAD requests - - - if (requestOptions.method === "HEAD") { - if (status < 400) { - return; - } - - throw new requestError.RequestError(response.statusText, status, { - headers, - request: requestOptions - }); - } - - if (status === 304) { - throw new requestError.RequestError("Not modified", status, { - headers, - request: requestOptions - }); - } - - if (status >= 400) { - return response.text().then(message => { - const error = new requestError.RequestError(message, status, { - headers, - request: requestOptions - }); - - try { - let responseBody = JSON.parse(error.message); - Object.assign(error, responseBody); - let errors = responseBody.errors; // Assumption `errors` would always be in Array format - - error.message = error.message + ": " + errors.map(JSON.stringify).join(", "); - } catch (e) {// ignore, see octokit/rest.js#684 - } - - throw error; - }); - } - - const contentType = response.headers.get("content-type"); - - if (/application\/json/.test(contentType)) { - return response.json(); - } - - if (!contentType || /^text\/|charset=utf-8$/.test(contentType)) { - return response.text(); - } - - return getBufferResponse(response); - }).then(data => { - return { - status, - url, - headers, - data - }; - }).catch(error => { - if (error instanceof requestError.RequestError) { - throw error; - } - - throw new requestError.RequestError(error.message, 500, { - headers, - request: requestOptions - }); - }); -} - -function withDefaults(oldEndpoint, newDefaults) { - const endpoint = oldEndpoint.defaults(newDefaults); - - const newApi = function (route, parameters) { - const endpointOptions = endpoint.merge(route, parameters); - - if (!endpointOptions.request || !endpointOptions.request.hook) { - return fetchWrapper(endpoint.parse(endpointOptions)); - } - - const request = (route, parameters) => { - return fetchWrapper(endpoint.parse(endpoint.merge(route, parameters))); - }; - - Object.assign(request, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); - return endpointOptions.request.hook(request, endpointOptions); - }; - - return Object.assign(newApi, { - endpoint, - defaults: withDefaults.bind(null, endpoint) - }); -} - -const request = withDefaults(endpoint.endpoint, { - headers: { - "user-agent": `octokit-request.js/${VERSION} ${universalUserAgent.getUserAgent()}` - } -}); - -exports.request = request; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 134 */, -/* 135 */, -/* 136 */, -/* 137 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -const fs_1 = __webpack_require__(747); -const os_1 = __webpack_require__(87); -class Context { - /** - * Hydrate the context from the environment - */ - constructor() { - this.payload = {}; - if (process.env.GITHUB_EVENT_PATH) { - if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) { - this.payload = JSON.parse(fs_1.readFileSync(process.env.GITHUB_EVENT_PATH, { encoding: 'utf8' })); - } - else { - const path = process.env.GITHUB_EVENT_PATH; - process.stdout.write(`GITHUB_EVENT_PATH ${path} does not exist${os_1.EOL}`); - } - } - this.eventName = process.env.GITHUB_EVENT_NAME; - this.sha = process.env.GITHUB_SHA; - this.ref = process.env.GITHUB_REF; - this.workflow = process.env.GITHUB_WORKFLOW; - this.action = process.env.GITHUB_ACTION; - this.actor = process.env.GITHUB_ACTOR; - } - get issue() { - const payload = this.payload; - return Object.assign(Object.assign({}, this.repo), { number: (payload.issue || payload.pull_request || payload).number }); - } - get repo() { - if (process.env.GITHUB_REPOSITORY) { - const [owner, repo] = process.env.GITHUB_REPOSITORY.split('/'); - return { owner, repo }; - } - if (this.payload.repository) { - return { - owner: this.payload.repository.owner.login, - repo: this.payload.repository.name - }; - } - throw new Error("context.repo requires a GITHUB_REPOSITORY environment variable like 'owner/repo'"); - } -} -exports.Context = Context; -//# sourceMappingURL=context.js.map - -/***/ }), -/* 138 */, -/* 139 */, -/* 140 */, -/* 141 */, -/* 142 */, -/* 143 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var es5 = __webpack_require__(172); -var canEvaluate = typeof navigator == "undefined"; - -var errorObj = {e: {}}; -var tryCatchTarget; -var globalObject = typeof self !== "undefined" ? self : - typeof window !== "undefined" ? window : - typeof global !== "undefined" ? global : - this !== undefined ? this : null; - -function tryCatcher() { - try { - var target = tryCatchTarget; - tryCatchTarget = null; - return target.apply(this, arguments); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} -function tryCatch(fn) { - tryCatchTarget = fn; - return tryCatcher; -} - -var inherits = function(Child, Parent) { - var hasProp = {}.hasOwnProperty; - - function T() { - this.constructor = Child; - this.constructor$ = Parent; - for (var propertyName in Parent.prototype) { - if (hasProp.call(Parent.prototype, propertyName) && - propertyName.charAt(propertyName.length-1) !== "$" - ) { - this[propertyName + "$"] = Parent.prototype[propertyName]; - } - } - } - T.prototype = Parent.prototype; - Child.prototype = new T(); - return Child.prototype; -}; - - -function isPrimitive(val) { - return val == null || val === true || val === false || - typeof val === "string" || typeof val === "number"; - -} - -function isObject(value) { - return typeof value === "function" || - typeof value === "object" && value !== null; -} - -function maybeWrapAsError(maybeError) { - if (!isPrimitive(maybeError)) return maybeError; - - return new Error(safeToString(maybeError)); -} - -function withAppended(target, appendee) { - var len = target.length; - var ret = new Array(len + 1); - var i; - for (i = 0; i < len; ++i) { - ret[i] = target[i]; - } - ret[i] = appendee; - return ret; -} - -function getDataPropertyOrDefault(obj, key, defaultValue) { - if (es5.isES5) { - var desc = Object.getOwnPropertyDescriptor(obj, key); - - if (desc != null) { - return desc.get == null && desc.set == null - ? desc.value - : defaultValue; - } - } else { - return {}.hasOwnProperty.call(obj, key) ? obj[key] : undefined; - } -} - -function notEnumerableProp(obj, name, value) { - if (isPrimitive(obj)) return obj; - var descriptor = { - value: value, - configurable: true, - enumerable: false, - writable: true - }; - es5.defineProperty(obj, name, descriptor); - return obj; -} - -function thrower(r) { - throw r; -} - -var inheritedDataKeys = (function() { - var excludedPrototypes = [ - Array.prototype, - Object.prototype, - Function.prototype - ]; - - var isExcludedProto = function(val) { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (excludedPrototypes[i] === val) { - return true; - } - } - return false; - }; - - if (es5.isES5) { - var getKeys = Object.getOwnPropertyNames; - return function(obj) { - var ret = []; - var visitedKeys = Object.create(null); - while (obj != null && !isExcludedProto(obj)) { - var keys; - try { - keys = getKeys(obj); - } catch (e) { - return ret; - } - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (visitedKeys[key]) continue; - visitedKeys[key] = true; - var desc = Object.getOwnPropertyDescriptor(obj, key); - if (desc != null && desc.get == null && desc.set == null) { - ret.push(key); - } - } - obj = es5.getPrototypeOf(obj); - } - return ret; - }; - } else { - var hasProp = {}.hasOwnProperty; - return function(obj) { - if (isExcludedProto(obj)) return []; - var ret = []; - - /*jshint forin:false */ - enumeration: for (var key in obj) { - if (hasProp.call(obj, key)) { - ret.push(key); - } else { - for (var i = 0; i < excludedPrototypes.length; ++i) { - if (hasProp.call(excludedPrototypes[i], key)) { - continue enumeration; - } - } - ret.push(key); - } - } - return ret; - }; - } - -})(); - -var thisAssignmentPattern = /this\s*\.\s*\S+\s*=/; -function isClass(fn) { - try { - if (typeof fn === "function") { - var keys = es5.names(fn.prototype); - - var hasMethods = es5.isES5 && keys.length > 1; - var hasMethodsOtherThanConstructor = keys.length > 0 && - !(keys.length === 1 && keys[0] === "constructor"); - var hasThisAssignmentAndStaticMethods = - thisAssignmentPattern.test(fn + "") && es5.names(fn).length > 0; - - if (hasMethods || hasMethodsOtherThanConstructor || - hasThisAssignmentAndStaticMethods) { - return true; - } - } - return false; - } catch (e) { - return false; - } -} - -function toFastProperties(obj) { - /*jshint -W027,-W055,-W031*/ - function FakeConstructor() {} - FakeConstructor.prototype = obj; - var l = 8; - while (l--) new FakeConstructor(); - return obj; - eval(obj); -} - -var rident = /^[a-z$_][a-z$_0-9]*$/i; -function isIdentifier(str) { - return rident.test(str); -} - -function filledRange(count, prefix, suffix) { - var ret = new Array(count); - for(var i = 0; i < count; ++i) { - ret[i] = prefix + i + suffix; - } - return ret; -} - -function safeToString(obj) { - try { - return obj + ""; - } catch (e) { - return "[no string representation]"; - } -} - -function isError(obj) { - return obj !== null && - typeof obj === "object" && - typeof obj.message === "string" && - typeof obj.name === "string"; -} - -function markAsOriginatingFromRejection(e) { - try { - notEnumerableProp(e, "isOperational", true); - } - catch(ignore) {} -} - -function originatesFromRejection(e) { - if (e == null) return false; - return ((e instanceof Error["__BluebirdErrorTypes__"].OperationalError) || - e["isOperational"] === true); -} - -function canAttachTrace(obj) { - return isError(obj) && es5.propertyIsWritable(obj, "stack"); -} - -var ensureErrorObject = (function() { - if (!("stack" in new Error())) { - return function(value) { - if (canAttachTrace(value)) return value; - try {throw new Error(safeToString(value));} - catch(err) {return err;} - }; - } else { - return function(value) { - if (canAttachTrace(value)) return value; - return new Error(safeToString(value)); - }; - } -})(); - -function classString(obj) { - return {}.toString.call(obj); -} - -function copyDescriptors(from, to, filter) { - var keys = es5.names(from); - for (var i = 0; i < keys.length; ++i) { - var key = keys[i]; - if (filter(key)) { - try { - es5.defineProperty(to, key, es5.getDescriptor(from, key)); - } catch (ignore) {} - } - } -} - -var asArray = function(v) { - if (es5.isArray(v)) { - return v; - } - return null; -}; - -if (typeof Symbol !== "undefined" && Symbol.iterator) { - var ArrayFrom = typeof Array.from === "function" ? function(v) { - return Array.from(v); - } : function(v) { - var ret = []; - var it = v[Symbol.iterator](); - var itResult; - while (!((itResult = it.next()).done)) { - ret.push(itResult.value); - } - return ret; - }; - - asArray = function(v) { - if (es5.isArray(v)) { - return v; - } else if (v != null && typeof v[Symbol.iterator] === "function") { - return ArrayFrom(v); - } - return null; - }; -} - -var isNode = typeof process !== "undefined" && - classString(process).toLowerCase() === "[object process]"; - -var hasEnvVariables = typeof process !== "undefined" && - typeof process.env !== "undefined"; - -function env(key) { - return hasEnvVariables ? process.env[key] : undefined; -} - -function getNativePromise() { - if (typeof Promise === "function") { - try { - var promise = new Promise(function(){}); - if ({}.toString.call(promise) === "[object Promise]") { - return Promise; - } - } catch (e) {} - } -} - -function domainBind(self, cb) { - return self.bind(cb); -} - -var ret = { - isClass: isClass, - isIdentifier: isIdentifier, - inheritedDataKeys: inheritedDataKeys, - getDataPropertyOrDefault: getDataPropertyOrDefault, - thrower: thrower, - isArray: es5.isArray, - asArray: asArray, - notEnumerableProp: notEnumerableProp, - isPrimitive: isPrimitive, - isObject: isObject, - isError: isError, - canEvaluate: canEvaluate, - errorObj: errorObj, - tryCatch: tryCatch, - inherits: inherits, - withAppended: withAppended, - maybeWrapAsError: maybeWrapAsError, - toFastProperties: toFastProperties, - filledRange: filledRange, - toString: safeToString, - canAttachTrace: canAttachTrace, - ensureErrorObject: ensureErrorObject, - originatesFromRejection: originatesFromRejection, - markAsOriginatingFromRejection: markAsOriginatingFromRejection, - classString: classString, - copyDescriptors: copyDescriptors, - hasDevTools: typeof chrome !== "undefined" && chrome && - typeof chrome.loadTimes === "function", - isNode: isNode, - hasEnvVariables: hasEnvVariables, - env: env, - global: globalObject, - getNativePromise: getNativePromise, - domainBind: domainBind -}; -ret.isRecentNode = ret.isNode && (function() { - var version = process.versions.node.split(".").map(Number); - return (version[0] === 0 && version[1] > 10) || (version[0] > 0); -})(); - -if (ret.isNode) ret.toFastProperties(process); - -try {throw new Error(); } catch (e) {ret.lastLineError = e;} -module.exports = ret; - - -/***/ }), -/* 144 */ -/***/ (function(__unusedmodule, exports) { - -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// NOTE: These type checking functions intentionally don't use `instanceof` -// because it is fragile and can be easily faked with `Object.create()`. - -function isArray(arg) { - if (Array.isArray) { - return Array.isArray(arg); - } - return objectToString(arg) === '[object Array]'; -} -exports.isArray = isArray; - -function isBoolean(arg) { - return typeof arg === 'boolean'; -} -exports.isBoolean = isBoolean; - -function isNull(arg) { - return arg === null; -} -exports.isNull = isNull; - -function isNullOrUndefined(arg) { - return arg == null; -} -exports.isNullOrUndefined = isNullOrUndefined; - -function isNumber(arg) { - return typeof arg === 'number'; -} -exports.isNumber = isNumber; - -function isString(arg) { - return typeof arg === 'string'; -} -exports.isString = isString; - -function isSymbol(arg) { - return typeof arg === 'symbol'; -} -exports.isSymbol = isSymbol; - -function isUndefined(arg) { - return arg === void 0; -} -exports.isUndefined = isUndefined; - -function isRegExp(re) { - return objectToString(re) === '[object RegExp]'; -} -exports.isRegExp = isRegExp; - -function isObject(arg) { - return typeof arg === 'object' && arg !== null; -} -exports.isObject = isObject; - -function isDate(d) { - return objectToString(d) === '[object Date]'; -} -exports.isDate = isDate; - -function isError(e) { - return (objectToString(e) === '[object Error]' || e instanceof Error); -} -exports.isError = isError; - -function isFunction(arg) { - return typeof arg === 'function'; -} -exports.isFunction = isFunction; - -function isPrimitive(arg) { - return arg === null || - typeof arg === 'boolean' || - typeof arg === 'number' || - typeof arg === 'string' || - typeof arg === 'symbol' || // ES6 symbol - typeof arg === 'undefined'; -} -exports.isPrimitive = isPrimitive; - -exports.isBuffer = Buffer.isBuffer; - -function objectToString(o) { - return Object.prototype.toString.call(o); -} - - -/***/ }), -/* 145 */, -/* 146 */, -/* 147 */, -/* 148 */, -/* 149 */ -/***/ (function(module) { - -module.exports = Buffers; - -function Buffers (bufs) { - if (!(this instanceof Buffers)) return new Buffers(bufs); - this.buffers = bufs || []; - this.length = this.buffers.reduce(function (size, buf) { - return size + buf.length - }, 0); -} - -Buffers.prototype.push = function () { - for (var i = 0; i < arguments.length; i++) { - if (!Buffer.isBuffer(arguments[i])) { - throw new TypeError('Tried to push a non-buffer'); - } - } - - for (var i = 0; i < arguments.length; i++) { - var buf = arguments[i]; - this.buffers.push(buf); - this.length += buf.length; - } - return this.length; -}; - -Buffers.prototype.unshift = function () { - for (var i = 0; i < arguments.length; i++) { - if (!Buffer.isBuffer(arguments[i])) { - throw new TypeError('Tried to unshift a non-buffer'); - } - } - - for (var i = 0; i < arguments.length; i++) { - var buf = arguments[i]; - this.buffers.unshift(buf); - this.length += buf.length; - } - return this.length; -}; - -Buffers.prototype.copy = function (dst, dStart, start, end) { - return this.slice(start, end).copy(dst, dStart, 0, end - start); -}; - -Buffers.prototype.splice = function (i, howMany) { - var buffers = this.buffers; - var index = i >= 0 ? i : this.length - i; - var reps = [].slice.call(arguments, 2); - - if (howMany === undefined) { - howMany = this.length - index; - } - else if (howMany > this.length - index) { - howMany = this.length - index; - } - - for (var i = 0; i < reps.length; i++) { - this.length += reps[i].length; - } - - var removed = new Buffers(); - var bytes = 0; - - var startBytes = 0; - for ( - var ii = 0; - ii < buffers.length && startBytes + buffers[ii].length < index; - ii ++ - ) { startBytes += buffers[ii].length } - - if (index - startBytes > 0) { - var start = index - startBytes; - - if (start + howMany < buffers[ii].length) { - removed.push(buffers[ii].slice(start, start + howMany)); - - var orig = buffers[ii]; - //var buf = new Buffer(orig.length - howMany); - var buf0 = new Buffer(start); - for (var i = 0; i < start; i++) { - buf0[i] = orig[i]; - } - - var buf1 = new Buffer(orig.length - start - howMany); - for (var i = start + howMany; i < orig.length; i++) { - buf1[ i - howMany - start ] = orig[i] - } - - if (reps.length > 0) { - var reps_ = reps.slice(); - reps_.unshift(buf0); - reps_.push(buf1); - buffers.splice.apply(buffers, [ ii, 1 ].concat(reps_)); - ii += reps_.length; - reps = []; - } - else { - buffers.splice(ii, 1, buf0, buf1); - //buffers[ii] = buf; - ii += 2; - } - } - else { - removed.push(buffers[ii].slice(start)); - buffers[ii] = buffers[ii].slice(0, start); - ii ++; - } - } - - if (reps.length > 0) { - buffers.splice.apply(buffers, [ ii, 0 ].concat(reps)); - ii += reps.length; - } - - while (removed.length < howMany) { - var buf = buffers[ii]; - var len = buf.length; - var take = Math.min(len, howMany - removed.length); - - if (take === len) { - removed.push(buf); - buffers.splice(ii, 1); - } - else { - removed.push(buf.slice(0, take)); - buffers[ii] = buffers[ii].slice(take); - } - } - - this.length -= removed.length; - - return removed; -}; - -Buffers.prototype.slice = function (i, j) { - var buffers = this.buffers; - if (j === undefined) j = this.length; - if (i === undefined) i = 0; - - if (j > this.length) j = this.length; - - var startBytes = 0; - for ( - var si = 0; - si < buffers.length && startBytes + buffers[si].length <= i; - si ++ - ) { startBytes += buffers[si].length } - - var target = new Buffer(j - i); - - var ti = 0; - for (var ii = si; ti < j - i && ii < buffers.length; ii++) { - var len = buffers[ii].length; - - var start = ti === 0 ? i - startBytes : 0; - var end = ti + len >= j - i - ? Math.min(start + (j - i) - ti, len) - : len - ; - - buffers[ii].copy(target, ti, start, end); - ti += end - start; - } - - return target; -}; - -Buffers.prototype.pos = function (i) { - if (i < 0 || i >= this.length) throw new Error('oob'); - var l = i, bi = 0, bu = null; - for (;;) { - bu = this.buffers[bi]; - if (l < bu.length) { - return {buf: bi, offset: l}; - } else { - l -= bu.length; - } - bi++; - } -}; - -Buffers.prototype.get = function get (i) { - var pos = this.pos(i); - - return this.buffers[pos.buf].get(pos.offset); -}; - -Buffers.prototype.set = function set (i, b) { - var pos = this.pos(i); - - return this.buffers[pos.buf].set(pos.offset, b); -}; - -Buffers.prototype.indexOf = function (needle, offset) { - if ("string" === typeof needle) { - needle = new Buffer(needle); - } else if (needle instanceof Buffer) { - // already a buffer - } else { - throw new Error('Invalid type for a search string'); - } - - if (!needle.length) { - return 0; - } - - if (!this.length) { - return -1; - } - - var i = 0, j = 0, match = 0, mstart, pos = 0; - - // start search from a particular point in the virtual buffer - if (offset) { - var p = this.pos(offset); - i = p.buf; - j = p.offset; - pos = offset; - } - - // for each character in virtual buffer - for (;;) { - while (j >= this.buffers[i].length) { - j = 0; - i++; - - if (i >= this.buffers.length) { - // search string not found - return -1; - } - } - - var char = this.buffers[i][j]; - - if (char == needle[match]) { - // keep track where match started - if (match == 0) { - mstart = { - i: i, - j: j, - pos: pos - }; - } - match++; - if (match == needle.length) { - // full match - return mstart.pos; - } - } else if (match != 0) { - // a partial match ended, go back to match starting position - // this will continue the search at the next character - i = mstart.i; - j = mstart.j; - pos = mstart.pos; - match = 0; - } - - j++; - pos++; - } -}; - -Buffers.prototype.toBuffer = function() { - return this.slice(); -} - -Buffers.prototype.toString = function(encoding, start, end) { - return this.slice(start, end).toString(encoding); -} - - -/***/ }), -/* 150 */, -/* 151 */, -/* 152 */, -/* 153 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const os = __webpack_require__(87); - -const nameMap = new Map([ - [19, 'Catalina'], - [18, 'Mojave'], - [17, 'High Sierra'], - [16, 'Sierra'], - [15, 'El Capitan'], - [14, 'Yosemite'], - [13, 'Mavericks'], - [12, 'Mountain Lion'], - [11, 'Lion'], - [10, 'Snow Leopard'], - [9, 'Leopard'], - [8, 'Tiger'], - [7, 'Panther'], - [6, 'Jaguar'], - [5, 'Puma'] -]); - -const macosRelease = release => { - release = Number((release || os.release()).split('.')[0]); - return { - name: nameMap.get(release), - version: '10.' + (release - 4) - }; -}; - -module.exports = macosRelease; -// TODO: remove this in the next major version -module.exports.default = macosRelease; - - -/***/ }), -/* 154 */, -/* 155 */, -/* 156 */, -/* 157 */ -/***/ (function(module) { - -module.exports = addHook - -function addHook (state, kind, name, hook) { - var orig = hook - if (!state.registry[name]) { - state.registry[name] = [] - } - - if (kind === 'before') { - hook = function (method, options) { - return Promise.resolve() - .then(orig.bind(null, options)) - .then(method.bind(null, options)) - } - } - - if (kind === 'after') { - hook = function (method, options) { - var result - return Promise.resolve() - .then(method.bind(null, options)) - .then(function (result_) { - result = result_ - return orig(result, options) - }) - .then(function () { - return result - }) - } - } - - if (kind === 'error') { - hook = function (method, options) { - return Promise.resolve() - .then(method.bind(null, options)) - .catch(function (error) { - return orig(error, options) - }) - } - } - - state.registry[name].push({ - hook: hook, - orig: orig - }) -} - - -/***/ }), -/* 158 */, -/* 159 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -// Note: since nyc uses this module to output coverage, any lines -// that are in the direct sync flow of nyc's outputCoverage are -// ignored, since we can never get coverage for them. -var assert = __webpack_require__(357) -var signals = __webpack_require__(224) -var isWin = /^win/i.test(process.platform) - -var EE = __webpack_require__(614) -/* istanbul ignore if */ -if (typeof EE !== 'function') { - EE = EE.EventEmitter -} - -var emitter -if (process.__signal_exit_emitter__) { - emitter = process.__signal_exit_emitter__ -} else { - emitter = process.__signal_exit_emitter__ = new EE() - emitter.count = 0 - emitter.emitted = {} -} - -// Because this emitter is a global, we have to check to see if a -// previous version of this library failed to enable infinite listeners. -// I know what you're about to say. But literally everything about -// signal-exit is a compromise with evil. Get used to it. -if (!emitter.infinite) { - emitter.setMaxListeners(Infinity) - emitter.infinite = true -} - -module.exports = function (cb, opts) { - assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') - - if (loaded === false) { - load() - } - - var ev = 'exit' - if (opts && opts.alwaysLast) { - ev = 'afterexit' - } - - var remove = function () { - emitter.removeListener(ev, cb) - if (emitter.listeners('exit').length === 0 && - emitter.listeners('afterexit').length === 0) { - unload() - } - } - emitter.on(ev, cb) - - return remove -} - -module.exports.unload = unload -function unload () { - if (!loaded) { - return - } - loaded = false - - signals.forEach(function (sig) { - try { - process.removeListener(sig, sigListeners[sig]) - } catch (er) {} - }) - process.emit = originalProcessEmit - process.reallyExit = originalProcessReallyExit - emitter.count -= 1 -} - -function emit (event, code, signal) { - if (emitter.emitted[event]) { - return - } - emitter.emitted[event] = true - emitter.emit(event, code, signal) -} - -// { : , ... } -var sigListeners = {} -signals.forEach(function (sig) { - sigListeners[sig] = function listener () { - // If there are no other listeners, an exit is coming! - // Simplest way: remove us and then re-send the signal. - // We know that this will kill the process, so we can - // safely emit now. - var listeners = process.listeners(sig) - if (listeners.length === emitter.count) { - unload() - emit('exit', null, sig) - /* istanbul ignore next */ - emit('afterexit', null, sig) - /* istanbul ignore next */ - if (isWin && sig === 'SIGHUP') { - // "SIGHUP" throws an `ENOSYS` error on Windows, - // so use a supported signal instead - sig = 'SIGINT' - } - process.kill(process.pid, sig) - } - } -}) - -module.exports.signals = function () { - return signals -} - -module.exports.load = load - -var loaded = false - -function load () { - if (loaded) { - return - } - loaded = true - - // This is the number of onSignalExit's that are in play. - // It's important so that we can count the correct number of - // listeners on signals, and don't wait for the other one to - // handle it instead of us. - emitter.count += 1 - - signals = signals.filter(function (sig) { - try { - process.on(sig, sigListeners[sig]) - return true - } catch (er) { - return false - } - }) - - process.emit = processEmit - process.reallyExit = processReallyExit -} - -var originalProcessReallyExit = process.reallyExit -function processReallyExit (code) { - process.exitCode = code || 0 - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - /* istanbul ignore next */ - originalProcessReallyExit.call(process, process.exitCode) -} - -var originalProcessEmit = process.emit -function processEmit (ev, arg) { - if (ev === 'exit') { - if (arg !== undefined) { - process.exitCode = arg - } - var ret = originalProcessEmit.apply(this, arguments) - emit('exit', process.exitCode, null) - /* istanbul ignore next */ - emit('afterexit', process.exitCode, null) - return ret - } else { - return originalProcessEmit.apply(this, arguments) - } -} - - -/***/ }), -/* 160 */, -/* 161 */, -/* 162 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -/**/ - -var Buffer = __webpack_require__(454).Buffer; -/**/ - -var isEncoding = Buffer.isEncoding || function (encoding) { - encoding = '' + encoding; - switch (encoding && encoding.toLowerCase()) { - case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw': - return true; - default: - return false; - } -}; - -function _normalizeEncoding(enc) { - if (!enc) return 'utf8'; - var retried; - while (true) { - switch (enc) { - case 'utf8': - case 'utf-8': - return 'utf8'; - case 'ucs2': - case 'ucs-2': - case 'utf16le': - case 'utf-16le': - return 'utf16le'; - case 'latin1': - case 'binary': - return 'latin1'; - case 'base64': - case 'ascii': - case 'hex': - return enc; - default: - if (retried) return; // undefined - enc = ('' + enc).toLowerCase(); - retried = true; - } - } -}; - -// Do not cache `Buffer.isEncoding` when checking encoding names as some -// modules monkey-patch it to support additional encodings -function normalizeEncoding(enc) { - var nenc = _normalizeEncoding(enc); - if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc); - return nenc || enc; -} - -// StringDecoder provides an interface for efficiently splitting a series of -// buffers into a series of JS strings without breaking apart multi-byte -// characters. -exports.StringDecoder = StringDecoder; -function StringDecoder(encoding) { - this.encoding = normalizeEncoding(encoding); - var nb; - switch (this.encoding) { - case 'utf16le': - this.text = utf16Text; - this.end = utf16End; - nb = 4; - break; - case 'utf8': - this.fillLast = utf8FillLast; - nb = 4; - break; - case 'base64': - this.text = base64Text; - this.end = base64End; - nb = 3; - break; - default: - this.write = simpleWrite; - this.end = simpleEnd; - return; - } - this.lastNeed = 0; - this.lastTotal = 0; - this.lastChar = Buffer.allocUnsafe(nb); -} - -StringDecoder.prototype.write = function (buf) { - if (buf.length === 0) return ''; - var r; - var i; - if (this.lastNeed) { - r = this.fillLast(buf); - if (r === undefined) return ''; - i = this.lastNeed; - this.lastNeed = 0; - } else { - i = 0; - } - if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i); - return r || ''; -}; - -StringDecoder.prototype.end = utf8End; - -// Returns only complete characters in a Buffer -StringDecoder.prototype.text = utf8Text; - -// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer -StringDecoder.prototype.fillLast = function (buf) { - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length); - this.lastNeed -= buf.length; -}; - -// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a -// continuation byte. If an invalid byte is detected, -2 is returned. -function utf8CheckByte(byte) { - if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4; - return byte >> 6 === 0x02 ? -1 : -2; -} - -// Checks at most 3 bytes at the end of a Buffer in order to detect an -// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4) -// needed to complete the UTF-8 character (if applicable) are returned. -function utf8CheckIncomplete(self, buf, i) { - var j = buf.length - 1; - if (j < i) return 0; - var nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 1; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) self.lastNeed = nb - 2; - return nb; - } - if (--j < i || nb === -2) return 0; - nb = utf8CheckByte(buf[j]); - if (nb >= 0) { - if (nb > 0) { - if (nb === 2) nb = 0;else self.lastNeed = nb - 3; - } - return nb; - } - return 0; -} - -// Validates as many continuation bytes for a multi-byte UTF-8 character as -// needed or are available. If we see a non-continuation byte where we expect -// one, we "replace" the validated continuation bytes we've seen so far with -// a single UTF-8 replacement character ('\ufffd'), to match v8's UTF-8 decoding -// behavior. The continuation byte check is included three times in the case -// where all of the continuation bytes for a character exist in the same buffer. -// It is also done this way as a slight performance increase instead of using a -// loop. -function utf8CheckExtraBytes(self, buf, p) { - if ((buf[0] & 0xC0) !== 0x80) { - self.lastNeed = 0; - return '\ufffd'; - } - if (self.lastNeed > 1 && buf.length > 1) { - if ((buf[1] & 0xC0) !== 0x80) { - self.lastNeed = 1; - return '\ufffd'; - } - if (self.lastNeed > 2 && buf.length > 2) { - if ((buf[2] & 0xC0) !== 0x80) { - self.lastNeed = 2; - return '\ufffd'; - } - } - } -} - -// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer. -function utf8FillLast(buf) { - var p = this.lastTotal - this.lastNeed; - var r = utf8CheckExtraBytes(this, buf, p); - if (r !== undefined) return r; - if (this.lastNeed <= buf.length) { - buf.copy(this.lastChar, p, 0, this.lastNeed); - return this.lastChar.toString(this.encoding, 0, this.lastTotal); - } - buf.copy(this.lastChar, p, 0, buf.length); - this.lastNeed -= buf.length; -} - -// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a -// partial character, the character's bytes are buffered until the required -// number of bytes are available. -function utf8Text(buf, i) { - var total = utf8CheckIncomplete(this, buf, i); - if (!this.lastNeed) return buf.toString('utf8', i); - this.lastTotal = total; - var end = buf.length - (total - this.lastNeed); - buf.copy(this.lastChar, 0, end); - return buf.toString('utf8', i, end); -} - -// For UTF-8, a replacement character is added when ending on a partial -// character. -function utf8End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + '\ufffd'; - return r; -} - -// UTF-16LE typically needs two bytes per character, but even if we have an even -// number of bytes available, we need to check if we end on a leading/high -// surrogate. In that case, we need to wait for the next two bytes in order to -// decode the last character properly. -function utf16Text(buf, i) { - if ((buf.length - i) % 2 === 0) { - var r = buf.toString('utf16le', i); - if (r) { - var c = r.charCodeAt(r.length - 1); - if (c >= 0xD800 && c <= 0xDBFF) { - this.lastNeed = 2; - this.lastTotal = 4; - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - return r.slice(0, -1); - } - } - return r; - } - this.lastNeed = 1; - this.lastTotal = 2; - this.lastChar[0] = buf[buf.length - 1]; - return buf.toString('utf16le', i, buf.length - 1); -} - -// For UTF-16LE we do not explicitly append special replacement characters if we -// end on a partial character, we simply let v8 handle that. -function utf16End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) { - var end = this.lastTotal - this.lastNeed; - return r + this.lastChar.toString('utf16le', 0, end); - } - return r; -} - -function base64Text(buf, i) { - var n = (buf.length - i) % 3; - if (n === 0) return buf.toString('base64', i); - this.lastNeed = 3 - n; - this.lastTotal = 3; - if (n === 1) { - this.lastChar[0] = buf[buf.length - 1]; - } else { - this.lastChar[0] = buf[buf.length - 2]; - this.lastChar[1] = buf[buf.length - 1]; - } - return buf.toString('base64', i, buf.length - n); -} - -function base64End(buf) { - var r = buf && buf.length ? this.write(buf) : ''; - if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed); - return r; -} - -// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex) -function simpleWrite(buf) { - return buf.toString(this.encoding); -} - -function simpleEnd(buf) { - return buf && buf.length ? this.write(buf) : ''; -} - -/***/ }), -/* 163 */, -/* 164 */, -/* 165 */, -/* 166 */, -/* 167 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = hasPreviousPage - -const deprecate = __webpack_require__(181) -const getPageLinks = __webpack_require__(496) - -function hasPreviousPage (link) { - deprecate(`octokit.hasPreviousPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`) - return getPageLinks(link).prev -} - - -/***/ }), -/* 168 */, -/* 169 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, INTERNAL) { -var util = __webpack_require__(143); -var errorObj = util.errorObj; -var isObject = util.isObject; - -function tryConvertToPromise(obj, context) { - if (isObject(obj)) { - if (obj instanceof Promise) return obj; - var then = getThen(obj); - if (then === errorObj) { - if (context) context._pushContext(); - var ret = Promise.reject(then.e); - if (context) context._popContext(); - return ret; - } else if (typeof then === "function") { - if (isAnyBluebirdPromise(obj)) { - var ret = new Promise(INTERNAL); - obj._then( - ret._fulfill, - ret._reject, - undefined, - ret, - null - ); - return ret; - } - return doThenable(obj, then, context); - } - } - return obj; -} - -function doGetThen(obj) { - return obj.then; -} - -function getThen(obj) { - try { - return doGetThen(obj); - } catch (e) { - errorObj.e = e; - return errorObj; - } -} - -var hasProp = {}.hasOwnProperty; -function isAnyBluebirdPromise(obj) { - try { - return hasProp.call(obj, "_promise0"); - } catch (e) { - return false; - } -} - -function doThenable(x, then, context) { - var promise = new Promise(INTERNAL); - var ret = promise; - if (context) context._pushContext(); - promise._captureStackTrace(); - if (context) context._popContext(); - var synchronous = true; - var result = util.tryCatch(then).call(x, resolve, reject); - synchronous = false; - - if (promise && result === errorObj) { - promise._rejectCallback(result.e, true, true); - promise = null; - } - - function resolve(value) { - if (!promise) return; - promise._resolveCallback(value); - promise = null; - } - - function reject(reason) { - if (!promise) return; - promise._rejectCallback(reason, synchronous, true); - promise = null; - } - return ret; -} - -return tryConvertToPromise; -}; - - -/***/ }), -/* 170 */, -/* 171 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a transform stream is a readable/writable stream where you do -// something with the data. Sometimes it's called a "filter", -// but that's not a great name for it, since that implies a thing where -// some bits pass through, and others are simply ignored. (That would -// be a valid example of a transform, of course.) -// -// While the output is causally related to the input, it's not a -// necessarily symmetric or synchronous transformation. For example, -// a zlib stream might take multiple plain-text writes(), and then -// emit a single compressed chunk some time in the future. -// -// Here's how this works: -// -// The Transform stream has all the aspects of the readable and writable -// stream classes. When you write(chunk), that calls _write(chunk,cb) -// internally, and returns false if there's a lot of pending writes -// buffered up. When you call read(), that calls _read(n) until -// there's enough pending readable data buffered up. -// -// In a transform stream, the written data is placed in a buffer. When -// _read(n) is called, it transforms the queued up data, calling the -// buffered _write cb's as it consumes chunks. If consuming a single -// written chunk would result in multiple output chunks, then the first -// outputted bit calls the readcb, and subsequent chunks just go into -// the read buffer, and will cause it to emit 'readable' if necessary. -// -// This way, back-pressure is actually determined by the reading side, -// since _read has to be called to start processing a new chunk. However, -// a pathological inflate type of transform can cause excessive buffering -// here. For example, imagine a stream where every byte of input is -// interpreted as an integer from 0-255, and then results in that many -// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in -// 1kb of data being output. In this case, you could write a very small -// amount of input, and end up with a very large amount of output. In -// such a pathological inflating mechanism, there'd be no way to tell -// the system to stop doing the transform. A single 4MB write could -// cause the system to run out of memory. -// -// However, even in such a pathological case, only a single written chunk -// would be consumed, and then the rest would wait (un-transformed) until -// the results of the previous transformed chunk were consumed. - - - -module.exports = Transform; - -var Duplex = __webpack_require__(557); - -/**/ -var util = Object.create(__webpack_require__(144)); -util.inherits = __webpack_require__(392); -/**/ - -util.inherits(Transform, Duplex); - -function afterTransform(er, data) { - var ts = this._transformState; - ts.transforming = false; - - var cb = ts.writecb; - - if (!cb) { - return this.emit('error', new Error('write callback called multiple times')); - } - - ts.writechunk = null; - ts.writecb = null; - - if (data != null) // single equals check for both `null` and `undefined` - this.push(data); - - cb(er); - - var rs = this._readableState; - rs.reading = false; - if (rs.needReadable || rs.length < rs.highWaterMark) { - this._read(rs.highWaterMark); - } -} - -function Transform(options) { - if (!(this instanceof Transform)) return new Transform(options); - - Duplex.call(this, options); - - this._transformState = { - afterTransform: afterTransform.bind(this), - needTransform: false, - transforming: false, - writecb: null, - writechunk: null, - writeencoding: null - }; - - // start out asking for a readable event once data is transformed. - this._readableState.needReadable = true; - - // we have implemented the _read method, and done the other things - // that Readable wants before the first _read call, so unset the - // sync guard flag. - this._readableState.sync = false; - - if (options) { - if (typeof options.transform === 'function') this._transform = options.transform; - - if (typeof options.flush === 'function') this._flush = options.flush; - } - - // When the writable side finishes, then flush out anything remaining. - this.on('prefinish', prefinish); -} - -function prefinish() { - var _this = this; - - if (typeof this._flush === 'function') { - this._flush(function (er, data) { - done(_this, er, data); - }); - } else { - done(this, null, null); - } -} - -Transform.prototype.push = function (chunk, encoding) { - this._transformState.needTransform = false; - return Duplex.prototype.push.call(this, chunk, encoding); -}; - -// This is the part where you do stuff! -// override this function in implementation classes. -// 'chunk' is an input chunk. -// -// Call `push(newChunk)` to pass along transformed output -// to the readable side. You may call 'push' zero or more times. -// -// Call `cb(err)` when you are done with this chunk. If you pass -// an error, then that'll put the hurt on the whole operation. If you -// never call cb(), then you'll never get another chunk. -Transform.prototype._transform = function (chunk, encoding, cb) { - throw new Error('_transform() is not implemented'); -}; - -Transform.prototype._write = function (chunk, encoding, cb) { - var ts = this._transformState; - ts.writecb = cb; - ts.writechunk = chunk; - ts.writeencoding = encoding; - if (!ts.transforming) { - var rs = this._readableState; - if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark); - } -}; - -// Doesn't matter what the args are here. -// _transform does all the work. -// That we got here means that the readable side wants more data. -Transform.prototype._read = function (n) { - var ts = this._transformState; - - if (ts.writechunk !== null && ts.writecb && !ts.transforming) { - ts.transforming = true; - this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); - } else { - // mark that we need a transform, so that any data that comes in - // will get processed, now that we've asked for it. - ts.needTransform = true; - } -}; - -Transform.prototype._destroy = function (err, cb) { - var _this2 = this; - - Duplex.prototype._destroy.call(this, err, function (err2) { - cb(err2); - _this2.emit('close'); - }); -}; - -function done(stream, er, data) { - if (er) return stream.emit('error', er); - - if (data != null) // single equals check for both `null` and `undefined` - stream.push(data); - - // if there's nothing in the write buffer, then that means - // that nothing more will ever be provided - if (stream._writableState.length) throw new Error('Calling transform done when ws.length != 0'); - - if (stream._transformState.transforming) throw new Error('Calling transform done when still transforming'); - - return stream.push(null); -} - -/***/ }), -/* 172 */ -/***/ (function(module) { - -var isES5 = (function(){ - "use strict"; - return this === undefined; -})(); - -if (isES5) { - module.exports = { - freeze: Object.freeze, - defineProperty: Object.defineProperty, - getDescriptor: Object.getOwnPropertyDescriptor, - keys: Object.keys, - names: Object.getOwnPropertyNames, - getPrototypeOf: Object.getPrototypeOf, - isArray: Array.isArray, - isES5: isES5, - propertyIsWritable: function(obj, prop) { - var descriptor = Object.getOwnPropertyDescriptor(obj, prop); - return !!(!descriptor || descriptor.writable || descriptor.set); - } - }; -} else { - var has = {}.hasOwnProperty; - var str = {}.toString; - var proto = {}.constructor.prototype; - - var ObjectKeys = function (o) { - var ret = []; - for (var key in o) { - if (has.call(o, key)) { - ret.push(key); - } - } - return ret; - }; - - var ObjectGetDescriptor = function(o, key) { - return {value: o[key]}; - }; - - var ObjectDefineProperty = function (o, key, desc) { - o[key] = desc.value; - return o; - }; - - var ObjectFreeze = function (obj) { - return obj; - }; - - var ObjectGetPrototypeOf = function (obj) { - try { - return Object(obj).constructor.prototype; - } - catch (e) { - return proto; - } - }; - - var ArrayIsArray = function (obj) { - try { - return str.call(obj) === "[object Array]"; - } - catch(e) { - return false; - } - }; - - module.exports = { - isArray: ArrayIsArray, - keys: ObjectKeys, - names: ObjectKeys, - defineProperty: ObjectDefineProperty, - getDescriptor: ObjectGetDescriptor, - freeze: ObjectFreeze, - getPrototypeOf: ObjectGetPrototypeOf, - isES5: isES5, - propertyIsWritable: function() { - return true; - } - }; -} - - -/***/ }), -/* 173 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -exports.Abstract = __webpack_require__(372) -exports.Reader = __webpack_require__(849) -exports.Writer = __webpack_require__(176) - -exports.File = { - Reader: __webpack_require__(711), - Writer: __webpack_require__(253) -} - -exports.Dir = { - Reader: __webpack_require__(742), - Writer: __webpack_require__(88) -} - -exports.Link = { - Reader: __webpack_require__(192), - Writer: __webpack_require__(217) -} - -exports.Proxy = { - Reader: __webpack_require__(499), - Writer: __webpack_require__(926) -} - -exports.Reader.Dir = exports.DirReader = exports.Dir.Reader -exports.Reader.File = exports.FileReader = exports.File.Reader -exports.Reader.Link = exports.LinkReader = exports.Link.Reader -exports.Reader.Proxy = exports.ProxyReader = exports.Proxy.Reader - -exports.Writer.Dir = exports.DirWriter = exports.Dir.Writer -exports.Writer.File = exports.FileWriter = exports.File.Writer -exports.Writer.Link = exports.LinkWriter = exports.Link.Writer -exports.Writer.Proxy = exports.ProxyWriter = exports.Proxy.Writer - -exports.collect = __webpack_require__(441) - - -/***/ }), -/* 174 */, -/* 175 */, -/* 176 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = Writer - -var fs = __webpack_require__(390) -var inherits = __webpack_require__(392) -var rimraf = __webpack_require__(903) -var mkdir = __webpack_require__(219) -var path = __webpack_require__(622) -var umask = process.platform === 'win32' ? 0 : process.umask() -var getType = __webpack_require__(72) -var Abstract = __webpack_require__(372) - -// Must do this *before* loading the child classes -inherits(Writer, Abstract) - -Writer.dirmode = parseInt('0777', 8) & (~umask) -Writer.filemode = parseInt('0666', 8) & (~umask) - -var DirWriter = __webpack_require__(88) -var LinkWriter = __webpack_require__(217) -var FileWriter = __webpack_require__(253) -var ProxyWriter = __webpack_require__(926) - -// props is the desired state. current is optionally the current stat, -// provided here so that subclasses can avoid statting the target -// more than necessary. -function Writer (props, current) { - var self = this - - if (typeof props === 'string') { - props = { path: props } - } - - // polymorphism. - // call fstream.Writer(dir) to get a DirWriter object, etc. - var type = getType(props) - var ClassType = Writer - - switch (type) { - case 'Directory': - ClassType = DirWriter - break - case 'File': - ClassType = FileWriter - break - case 'Link': - case 'SymbolicLink': - ClassType = LinkWriter - break - case null: - default: - // Don't know yet what type to create, so we wrap in a proxy. - ClassType = ProxyWriter - break - } - - if (!(self instanceof ClassType)) return new ClassType(props) - - // now get down to business. - - Abstract.call(self) - - if (!props.path) self.error('Must provide a path', null, true) - - // props is what we want to set. - // set some convenience properties as well. - self.type = props.type - self.props = props - self.depth = props.depth || 0 - self.clobber = props.clobber === false ? props.clobber : true - self.parent = props.parent || null - self.root = props.root || (props.parent && props.parent.root) || self - - self._path = self.path = path.resolve(props.path) - if (process.platform === 'win32') { - self.path = self._path = self.path.replace(/\?/g, '_') - if (self._path.length >= 260) { - self._swallowErrors = true - self._path = '\\\\?\\' + self.path.replace(/\//g, '\\') - } - } - self.basename = path.basename(props.path) - self.dirname = path.dirname(props.path) - self.linkpath = props.linkpath || null - - props.parent = props.root = null - - // console.error("\n\n\n%s setting size to", props.path, props.size) - self.size = props.size - - if (typeof props.mode === 'string') { - props.mode = parseInt(props.mode, 8) - } - - self.readable = false - self.writable = true - - // buffer until ready, or while handling another entry - self._buffer = [] - self.ready = false - - self.filter = typeof props.filter === 'function' ? props.filter : null - - // start the ball rolling. - // this checks what's there already, and then calls - // self._create() to call the impl-specific creation stuff. - self._stat(current) -} - -// Calling this means that it's something we can't create. -// Just assert that it's already there, otherwise raise a warning. -Writer.prototype._create = function () { - var self = this - fs[self.props.follow ? 'stat' : 'lstat'](self._path, function (er) { - if (er) { - return self.warn('Cannot create ' + self._path + '\n' + - 'Unsupported type: ' + self.type, 'ENOTSUP') - } - self._finish() - }) -} - -Writer.prototype._stat = function (current) { - var self = this - var props = self.props - var stat = props.follow ? 'stat' : 'lstat' - var who = self._proxy || self - - if (current) statCb(null, current) - else fs[stat](self._path, statCb) - - function statCb (er, current) { - if (self.filter && !self.filter.call(who, who, current)) { - self._aborted = true - self.emit('end') - self.emit('close') - return - } - - // if it's not there, great. We'll just create it. - // if it is there, then we'll need to change whatever differs - if (er || !current) { - return create(self) - } - - self._old = current - var currentType = getType(current) - - // if it's a type change, then we need to clobber or error. - // if it's not a type change, then let the impl take care of it. - if (currentType !== self.type || self.type === 'File' && current.nlink > 1) { - return rimraf(self._path, function (er) { - if (er) return self.error(er) - self._old = null - create(self) - }) - } - - // otherwise, just handle in the app-specific way - // this creates a fs.WriteStream, or mkdir's, or whatever - create(self) - } -} - -function create (self) { - // console.error("W create", self._path, Writer.dirmode) - - // XXX Need to clobber non-dirs that are in the way, - // unless { clobber: false } in the props. - mkdir(path.dirname(self._path), Writer.dirmode, function (er, made) { - // console.error("W created", path.dirname(self._path), er) - if (er) return self.error(er) - - // later on, we have to set the mode and owner for these - self._madeDir = made - return self._create() - }) -} - -function endChmod (self, want, current, path, cb) { - var wantMode = want.mode - var chmod = want.follow || self.type !== 'SymbolicLink' - ? 'chmod' : 'lchmod' - - if (!fs[chmod]) return cb() - if (typeof wantMode !== 'number') return cb() - - var curMode = current.mode & parseInt('0777', 8) - wantMode = wantMode & parseInt('0777', 8) - if (wantMode === curMode) return cb() - - fs[chmod](path, wantMode, cb) -} - -function endChown (self, want, current, path, cb) { - // Don't even try it unless root. Too easy to EPERM. - if (process.platform === 'win32') return cb() - if (!process.getuid || process.getuid() !== 0) return cb() - if (typeof want.uid !== 'number' && - typeof want.gid !== 'number') return cb() - - if (current.uid === want.uid && - current.gid === want.gid) return cb() - - var chown = (self.props.follow || self.type !== 'SymbolicLink') - ? 'chown' : 'lchown' - if (!fs[chown]) return cb() - - if (typeof want.uid !== 'number') want.uid = current.uid - if (typeof want.gid !== 'number') want.gid = current.gid - - fs[chown](path, want.uid, want.gid, cb) -} - -function endUtimes (self, want, current, path, cb) { - if (!fs.utimes || process.platform === 'win32') return cb() - - var utimes = (want.follow || self.type !== 'SymbolicLink') - ? 'utimes' : 'lutimes' - - if (utimes === 'lutimes' && !fs[utimes]) { - utimes = 'utimes' - } - - if (!fs[utimes]) return cb() - - var curA = current.atime - var curM = current.mtime - var meA = want.atime - var meM = want.mtime - - if (meA === undefined) meA = curA - if (meM === undefined) meM = curM - - if (!isDate(meA)) meA = new Date(meA) - if (!isDate(meM)) meA = new Date(meM) - - if (meA.getTime() === curA.getTime() && - meM.getTime() === curM.getTime()) return cb() - - fs[utimes](path, meA, meM, cb) -} - -// XXX This function is beastly. Break it up! -Writer.prototype._finish = function () { - var self = this - - if (self._finishing) return - self._finishing = true - - // console.error(" W Finish", self._path, self.size) - - // set up all the things. - // At this point, we're already done writing whatever we've gotta write, - // adding files to the dir, etc. - var todo = 0 - var errState = null - var done = false - - if (self._old) { - // the times will almost *certainly* have changed. - // adds the utimes syscall, but remove another stat. - self._old.atime = new Date(0) - self._old.mtime = new Date(0) - // console.error(" W Finish Stale Stat", self._path, self.size) - setProps(self._old) - } else { - var stat = self.props.follow ? 'stat' : 'lstat' - // console.error(" W Finish Stating", self._path, self.size) - fs[stat](self._path, function (er, current) { - // console.error(" W Finish Stated", self._path, self.size, current) - if (er) { - // if we're in the process of writing out a - // directory, it's very possible that the thing we're linking to - // doesn't exist yet (especially if it was intended as a symlink), - // so swallow ENOENT errors here and just soldier on. - if (er.code === 'ENOENT' && - (self.type === 'Link' || self.type === 'SymbolicLink') && - process.platform === 'win32') { - self.ready = true - self.emit('ready') - self.emit('end') - self.emit('close') - self.end = self._finish = function () {} - return - } else return self.error(er) - } - setProps(self._old = current) - }) - } - - return - - function setProps (current) { - todo += 3 - endChmod(self, self.props, current, self._path, next('chmod')) - endChown(self, self.props, current, self._path, next('chown')) - endUtimes(self, self.props, current, self._path, next('utimes')) - } - - function next (what) { - return function (er) { - // console.error(" W Finish", what, todo) - if (errState) return - if (er) { - er.fstream_finish_call = what - return self.error(errState = er) - } - if (--todo > 0) return - if (done) return - done = true - - // we may still need to set the mode/etc. on some parent dirs - // that were created previously. delay end/close until then. - if (!self._madeDir) return end() - else endMadeDir(self, self._path, end) - - function end (er) { - if (er) { - er.fstream_finish_call = 'setupMadeDir' - return self.error(er) - } - // all the props have been set, so we're completely done. - self.emit('end') - self.emit('close') - } - } - } -} - -function endMadeDir (self, p, cb) { - var made = self._madeDir - // everything *between* made and path.dirname(self._path) - // needs to be set up. Note that this may just be one dir. - var d = path.dirname(p) - - endMadeDir_(self, d, function (er) { - if (er) return cb(er) - if (d === made) { - return cb() - } - endMadeDir(self, d, cb) - }) -} - -function endMadeDir_ (self, p, cb) { - var dirProps = {} - Object.keys(self.props).forEach(function (k) { - dirProps[k] = self.props[k] - - // only make non-readable dirs if explicitly requested. - if (k === 'mode' && self.type !== 'Directory') { - dirProps[k] = dirProps[k] | parseInt('0111', 8) - } - }) - - var todo = 3 - var errState = null - fs.stat(p, function (er, current) { - if (er) return cb(errState = er) - endChmod(self, dirProps, current, p, next) - endChown(self, dirProps, current, p, next) - endUtimes(self, dirProps, current, p, next) - }) - - function next (er) { - if (errState) return - if (er) return cb(errState = er) - if (--todo === 0) return cb() - } -} - -Writer.prototype.pipe = function () { - this.error("Can't pipe from writable stream") -} - -Writer.prototype.add = function () { - this.error("Can't add to non-Directory type") -} - -Writer.prototype.write = function () { - return true -} - -function objectToString (d) { - return Object.prototype.toString.call(d) -} - -function isDate (d) { - return typeof d === 'object' && objectToString(d) === '[object Date]' -} - - -/***/ }), -/* 177 */, -/* 178 */ -/***/ (function(module) { - -module.exports = validateAuth; - -function validateAuth(auth) { - if (typeof auth === "string") { - return; - } - - if (typeof auth === "function") { - return; - } - - if (auth.username && auth.password) { - return; - } - - if (auth.clientId && auth.clientSecret) { - return; - } - - throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`); -} - - -/***/ }), -/* 179 */ -/***/ (function(__unusedmodule, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; } - -var osName = _interopDefault(__webpack_require__(60)); - -function getUserAgent() { - try { - return `Node.js/${process.version.substr(1)} (${osName()}; ${process.arch})`; - } catch (error) { - if (/wmic os get Caption/.test(error.message)) { - return "Windows "; - } - - return ""; - } -} - -exports.getUserAgent = getUserAgent; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 180 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(729); -var bind = __webpack_require__(946); -var Axios = __webpack_require__(983); -var mergeConfig = __webpack_require__(829); -var defaults = __webpack_require__(285); - -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * @return {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - var context = new Axios(defaultConfig); - var instance = bind(Axios.prototype.request, context); - - // Copy axios.prototype to instance - utils.extend(instance, Axios.prototype, context); - - // Copy context to instance - utils.extend(instance, context); - - return instance; -} - -// Create the default instance to be exported -var axios = createInstance(defaults); - -// Expose Axios class to allow class inheritance -axios.Axios = Axios; - -// Factory for creating new instances -axios.create = function create(instanceConfig) { - return createInstance(mergeConfig(axios.defaults, instanceConfig)); -}; - -// Expose Cancel & CancelToken -axios.Cancel = __webpack_require__(399); -axios.CancelToken = __webpack_require__(265); -axios.isCancel = __webpack_require__(758); - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = __webpack_require__(453); - -module.exports = axios; - -// Allow use of default import syntax in TypeScript -module.exports.default = axios; - - -/***/ }), -/* 181 */ -/***/ (function(module) { - -module.exports = deprecate - -const loggedMessages = {} - -function deprecate (message) { - if (loggedMessages[message]) { - return - } - - console.warn(`DEPRECATED (@octokit/rest): ${message}`) - loggedMessages[message] = 1 -} - - -/***/ }), -/* 182 */, -/* 183 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var concatMap = __webpack_require__(542); -var balanced = __webpack_require__(939); - -module.exports = expandTop; - -var escSlash = '\0SLASH'+Math.random()+'\0'; -var escOpen = '\0OPEN'+Math.random()+'\0'; -var escClose = '\0CLOSE'+Math.random()+'\0'; -var escComma = '\0COMMA'+Math.random()+'\0'; -var escPeriod = '\0PERIOD'+Math.random()+'\0'; - -function numeric(str) { - return parseInt(str, 10) == str - ? parseInt(str, 10) - : str.charCodeAt(0); -} - -function escapeBraces(str) { - return str.split('\\\\').join(escSlash) - .split('\\{').join(escOpen) - .split('\\}').join(escClose) - .split('\\,').join(escComma) - .split('\\.').join(escPeriod); -} - -function unescapeBraces(str) { - return str.split(escSlash).join('\\') - .split(escOpen).join('{') - .split(escClose).join('}') - .split(escComma).join(',') - .split(escPeriod).join('.'); -} - - -// Basically just str.split(","), but handling cases -// where we have nested braced sections, which should be -// treated as individual members, like {a,{b,c},d} -function parseCommaParts(str) { - if (!str) - return ['']; - - var parts = []; - var m = balanced('{', '}', str); - - if (!m) - return str.split(','); - - var pre = m.pre; - var body = m.body; - var post = m.post; - var p = pre.split(','); - - p[p.length-1] += '{' + body + '}'; - var postParts = parseCommaParts(post); - if (post.length) { - p[p.length-1] += postParts.shift(); - p.push.apply(p, postParts); - } - - parts.push.apply(parts, p); - - return parts; -} - -function expandTop(str) { - if (!str) - return []; - - // I don't know why Bash 4.3 does this, but it does. - // Anything starting with {} will have the first two bytes preserved - // but *only* at the top level, so {},a}b will not expand to anything, - // but a{},b}c will be expanded to [a}c,abc]. - // One could argue that this is a bug in Bash, but since the goal of - // this module is to match Bash's rules, we escape a leading {} - if (str.substr(0, 2) === '{}') { - str = '\\{\\}' + str.substr(2); - } - - return expand(escapeBraces(str), true).map(unescapeBraces); -} - -function identity(e) { - return e; -} - -function embrace(str) { - return '{' + str + '}'; -} -function isPadded(el) { - return /^-?0\d/.test(el); -} - -function lte(i, y) { - return i <= y; -} -function gte(i, y) { - return i >= y; -} - -function expand(str, isTop) { - var expansions = []; - - var m = balanced('{', '}', str); - if (!m || /\$$/.test(m.pre)) return [str]; - - var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body); - var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body); - var isSequence = isNumericSequence || isAlphaSequence; - var isOptions = m.body.indexOf(',') >= 0; - if (!isSequence && !isOptions) { - // {a},b} - if (m.post.match(/,.*\}/)) { - str = m.pre + '{' + m.body + escClose + m.post; - return expand(str); - } - return [str]; - } - - var n; - if (isSequence) { - n = m.body.split(/\.\./); - } else { - n = parseCommaParts(m.body); - if (n.length === 1) { - // x{{a,b}}y ==> x{a}y x{b}y - n = expand(n[0], false).map(embrace); - if (n.length === 1) { - var post = m.post.length - ? expand(m.post, false) - : ['']; - return post.map(function(p) { - return m.pre + n[0] + p; - }); - } - } - } - - // at this point, n is the parts, and we know it's not a comma set - // with a single entry. - - // no need to expand pre, since it is guaranteed to be free of brace-sets - var pre = m.pre; - var post = m.post.length - ? expand(m.post, false) - : ['']; - - var N; - - if (isSequence) { - var x = numeric(n[0]); - var y = numeric(n[1]); - var width = Math.max(n[0].length, n[1].length) - var incr = n.length == 3 - ? Math.abs(numeric(n[2])) - : 1; - var test = lte; - var reverse = y < x; - if (reverse) { - incr *= -1; - test = gte; - } - var pad = n.some(isPadded); - - N = []; - - for (var i = x; test(i, y); i += incr) { - var c; - if (isAlphaSequence) { - c = String.fromCharCode(i); - if (c === '\\') - c = ''; - } else { - c = String(i); - if (pad) { - var need = width - c.length; - if (need > 0) { - var z = new Array(need + 1).join('0'); - if (i < 0) - c = '-' + z + c.slice(1); - else - c = z + c; - } - } - } - N.push(c); - } - } else { - N = concatMap(n, function(el) { return expand(el, false) }); - } - - for (var j = 0; j < N.length; j++) { - for (var k = 0; k < post.length; k++) { - var expansion = pre + N[j] + post[k]; - if (!isTop || isSequence || expansion) - expansions.push(expansion); - } - } - - return expansions; -} - - - -/***/ }), -/* 184 */, -/* 185 */, -/* 186 */, -/* 187 */, -/* 188 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise) { -var util = __webpack_require__(143); -var async = Promise._async; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function spreadAdapter(val, nodeback) { - var promise = this; - if (!util.isArray(val)) return successAdapter.call(promise, val, nodeback); - var ret = - tryCatch(nodeback).apply(promise._boundValue(), [null].concat(val)); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -function successAdapter(val, nodeback) { - var promise = this; - var receiver = promise._boundValue(); - var ret = val === undefined - ? tryCatch(nodeback).call(receiver, null) - : tryCatch(nodeback).call(receiver, null, val); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} -function errorAdapter(reason, nodeback) { - var promise = this; - if (!reason) { - var newReason = new Error(reason + ""); - newReason.cause = reason; - reason = newReason; - } - var ret = tryCatch(nodeback).call(promise._boundValue(), reason); - if (ret === errorObj) { - async.throwLater(ret.e); - } -} - -Promise.prototype.asCallback = Promise.prototype.nodeify = function (nodeback, - options) { - if (typeof nodeback == "function") { - var adapter = successAdapter; - if (options !== undefined && Object(options).spread) { - adapter = spreadAdapter; - } - this._then( - adapter, - errorAdapter, - undefined, - this, - nodeback - ); - } - return this; -}; -}; - - -/***/ }), -/* 189 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -const {PassThrough} = __webpack_require__(413); - -module.exports = options => { - options = Object.assign({}, options); - - const {array} = options; - let {encoding} = options; - const buffer = encoding === 'buffer'; - let objectMode = false; - - if (array) { - objectMode = !(encoding || buffer); - } else { - encoding = encoding || 'utf8'; - } - - if (buffer) { - encoding = null; - } - - let len = 0; - const ret = []; - const stream = new PassThrough({objectMode}); - - if (encoding) { - stream.setEncoding(encoding); - } - - stream.on('data', chunk => { - ret.push(chunk); - - if (objectMode) { - len = ret.length; - } else { - len += chunk.length; - } - }); - - stream.getBufferedValue = () => { - if (array) { - return ret; - } - - return buffer ? Buffer.concat(ret, len) : ret.join(''); - }; - - stream.getBufferedLength = () => len; - - return stream; -}; - - -/***/ }), -/* 190 */ -/***/ (function(module) { - -"use strict"; - - -// See http://www.robvanderwoude.com/escapechars.php -const metaCharsRegExp = /([()\][%!^"`<>&|;, *?])/g; - -function escapeCommand(arg) { - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); - - return arg; -} - -function escapeArgument(arg, doubleEscapeMetaChars) { - // Convert to string - arg = `${arg}`; - - // Algorithm below is based on https://qntm.org/cmd - - // Sequence of backslashes followed by a double quote: - // double up all the backslashes and escape the double quote - arg = arg.replace(/(\\*)"/g, '$1$1\\"'); - - // Sequence of backslashes followed by the end of the string - // (which will become a double quote later): - // double up all the backslashes - arg = arg.replace(/(\\*)$/, '$1$1'); - - // All other backslashes occur literally - - // Quote the whole thing: - arg = `"${arg}"`; - - // Escape meta chars - arg = arg.replace(metaCharsRegExp, '^$1'); - - // Double escape meta chars if necessary - if (doubleEscapeMetaChars) { - arg = arg.replace(metaCharsRegExp, '^$1'); - } - - return arg; -} - -module.exports.command = escapeCommand; -module.exports.argument = escapeArgument; - - -/***/ }), -/* 191 */, -/* 192 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -// Basically just a wrapper around an fs.readlink -// -// XXX: Enhance this to support the Link type, by keeping -// a lookup table of {:}, so that hardlinks -// can be preserved in tarballs. - -module.exports = LinkReader - -var fs = __webpack_require__(390) -var inherits = __webpack_require__(392) -var Reader = __webpack_require__(849) - -inherits(LinkReader, Reader) - -function LinkReader (props) { - var self = this - if (!(self instanceof LinkReader)) { - throw new Error('LinkReader must be called as constructor.') - } - - if (!((props.type === 'Link' && props.Link) || - (props.type === 'SymbolicLink' && props.SymbolicLink))) { - throw new Error('Non-link type ' + props.type) - } - - Reader.call(self, props) -} - -// When piping a LinkReader into a LinkWriter, we have to -// already have the linkpath property set, so that has to -// happen *before* the "ready" event, which means we need to -// override the _stat method. -LinkReader.prototype._stat = function (currentStat) { - var self = this - fs.readlink(self._path, function (er, linkpath) { - if (er) return self.error(er) - self.linkpath = self.props.linkpath = linkpath - self.emit('linkpath', linkpath) - Reader.prototype._stat.call(self, currentStat) - }) -} - -LinkReader.prototype._read = function () { - var self = this - if (self._paused) return - // basically just a no-op, since we got all the info we need - // from the _stat method - if (!self._ended) { - self.emit('end') - self.emit('close') - self._ended = true - } -} - - -/***/ }), -/* 193 */, -/* 194 */, -/* 195 */, -/* 196 */, -/* 197 */, -/* 198 */, -/* 199 */, -/* 200 */, -/* 201 */, -/* 202 */, -/* 203 */, -/* 204 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -const path = __webpack_require__(622); -const niceTry = __webpack_require__(59); -const resolveCommand = __webpack_require__(312); -const escape = __webpack_require__(190); -const readShebang = __webpack_require__(843); -const semver = __webpack_require__(978); - -const isWin = process.platform === 'win32'; -const isExecutableRegExp = /\.(?:com|exe)$/i; -const isCmdShimRegExp = /node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i; - -// `options.shell` is supported in Node ^4.8.0, ^5.7.0 and >= 6.0.0 -const supportsShellOption = niceTry(() => semver.satisfies(process.version, '^4.8.0 || ^5.7.0 || >= 6.0.0', true)) || false; - -function detectShebang(parsed) { - parsed.file = resolveCommand(parsed); - - const shebang = parsed.file && readShebang(parsed.file); - - if (shebang) { - parsed.args.unshift(parsed.file); - parsed.command = shebang; - - return resolveCommand(parsed); - } - - return parsed.file; -} - -function parseNonShell(parsed) { - if (!isWin) { - return parsed; - } - - // Detect & add support for shebangs - const commandFile = detectShebang(parsed); - - // We don't need a shell if the command filename is an executable - const needsShell = !isExecutableRegExp.test(commandFile); - - // If a shell is required, use cmd.exe and take care of escaping everything correctly - // Note that `forceShell` is an hidden option used only in tests - if (parsed.options.forceShell || needsShell) { - // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/` - // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument - // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called, - // we need to double escape them - const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile); - - // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\bar) - // This is necessary otherwise it will always fail with ENOENT in those cases - parsed.command = path.normalize(parsed.command); - - // Escape command & arguments - parsed.command = escape.command(parsed.command); - parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars)); - - const shellCommand = [parsed.command].concat(parsed.args).join(' '); - - parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; - parsed.command = process.env.comspec || 'cmd.exe'; - parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped - } - - return parsed; -} - -function parseShell(parsed) { - // If node supports the shell option, there's no need to mimic its behavior - if (supportsShellOption) { - return parsed; - } - - // Mimic node shell option - // See https://github.com/nodejs/node/blob/b9f6a2dc059a1062776133f3d4fd848c4da7d150/lib/child_process.js#L335 - const shellCommand = [parsed.command].concat(parsed.args).join(' '); - - if (isWin) { - parsed.command = typeof parsed.options.shell === 'string' ? parsed.options.shell : process.env.comspec || 'cmd.exe'; - parsed.args = ['/d', '/s', '/c', `"${shellCommand}"`]; - parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped - } else { - if (typeof parsed.options.shell === 'string') { - parsed.command = parsed.options.shell; - } else if (process.platform === 'android') { - parsed.command = '/system/bin/sh'; - } else { - parsed.command = '/bin/sh'; - } - - parsed.args = ['-c', shellCommand]; - } - - return parsed; -} - -function parse(command, args, options) { - // Normalize arguments, similar to nodejs - if (args && !Array.isArray(args)) { - options = args; - args = null; - } - - args = args ? args.slice(0) : []; // Clone array to avoid changing the original - options = Object.assign({}, options); // Clone object to avoid changing the original - - // Build our parsed object - const parsed = { - command, - args, - options, - file: undefined, - original: { - command, - args, - }, - }; - - // Delegate further parsing to shell or non-shell - return options.shell ? parseShell(parsed) : parseNonShell(parsed); -} - -module.exports = parse; - - -/***/ }), -/* 205 */, -/* 206 */, -/* 207 */, -/* 208 */ -/***/ (function(module) { - -module.exports = function atob(str) { - return Buffer.from(str, 'base64').toString('binary') -} - - -/***/ }), -/* 209 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(NEXT_FILTER) { -var util = __webpack_require__(143); -var getKeys = __webpack_require__(172).keys; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; - -function catchFilter(instances, cb, promise) { - return function(e) { - var boundTo = promise._boundValue(); - predicateLoop: for (var i = 0; i < instances.length; ++i) { - var item = instances[i]; - - if (item === Error || - (item != null && item.prototype instanceof Error)) { - if (e instanceof item) { - return tryCatch(cb).call(boundTo, e); - } - } else if (typeof item === "function") { - var matchesPredicate = tryCatch(item).call(boundTo, e); - if (matchesPredicate === errorObj) { - return matchesPredicate; - } else if (matchesPredicate) { - return tryCatch(cb).call(boundTo, e); - } - } else if (util.isObject(e)) { - var keys = getKeys(item); - for (var j = 0; j < keys.length; ++j) { - var key = keys[j]; - if (item[key] != e[key]) { - continue predicateLoop; - } - } - return tryCatch(cb).call(boundTo, e); - } - } - return NEXT_FILTER; - }; -} - -return catchFilter; -}; - - -/***/ }), -/* 210 */, -/* 211 */ -/***/ (function(module) { - -module.exports = require("https"); - -/***/ }), -/* 212 */, -/* 213 */, -/* 214 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(729); -var transformData = __webpack_require__(606); -var isCancel = __webpack_require__(758); -var defaults = __webpack_require__(285); - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * @returns {Promise} The Promise to be fulfilled - */ -module.exports = function dispatchRequest(config) { - throwIfCancellationRequested(config); - - // Ensure headers exist - config.headers = config.headers || {}; - - // Transform request data - config.data = transformData( - config.data, - config.headers, - config.transformRequest - ); - - // Flatten headers - config.headers = utils.merge( - config.headers.common || {}, - config.headers[config.method] || {}, - config.headers - ); - - utils.forEach( - ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], - function cleanHeaderConfig(method) { - delete config.headers[method]; - } - ); - - var adapter = config.adapter || defaults.adapter; - - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = transformData( - response.data, - response.headers, - config.transformResponse - ); - - return response; - }, function onAdapterRejection(reason) { - if (!isCancel(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = transformData( - reason.response.data, - reason.response.headers, - config.transformResponse - ); - } - } - - return Promise.reject(reason); - }); -}; - - -/***/ }), -/* 215 */, -/* 216 */, -/* 217 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = LinkWriter - -var fs = __webpack_require__(390) -var Writer = __webpack_require__(176) -var inherits = __webpack_require__(392) -var path = __webpack_require__(622) -var rimraf = __webpack_require__(903) - -inherits(LinkWriter, Writer) - -function LinkWriter (props) { - var self = this - if (!(self instanceof LinkWriter)) { - throw new Error('LinkWriter must be called as constructor.') - } - - // should already be established as a Link type - if (!((props.type === 'Link' && props.Link) || - (props.type === 'SymbolicLink' && props.SymbolicLink))) { - throw new Error('Non-link type ' + props.type) - } - - if (props.linkpath === '') props.linkpath = '.' - if (!props.linkpath) { - self.error('Need linkpath property to create ' + props.type) - } - - Writer.call(this, props) -} - -LinkWriter.prototype._create = function () { - // console.error(" LW _create") - var self = this - var hard = self.type === 'Link' || process.platform === 'win32' - var link = hard ? 'link' : 'symlink' - var lp = hard ? path.resolve(self.dirname, self.linkpath) : self.linkpath - - // can only change the link path by clobbering - // For hard links, let's just assume that's always the case, since - // there's no good way to read them if we don't already know. - if (hard) return clobber(self, lp, link) - - fs.readlink(self._path, function (er, p) { - // only skip creation if it's exactly the same link - if (p && p === lp) return finish(self) - clobber(self, lp, link) - }) -} - -function clobber (self, lp, link) { - rimraf(self._path, function (er) { - if (er) return self.error(er) - create(self, lp, link) - }) -} - -function create (self, lp, link) { - fs[link](lp, self._path, function (er) { - // if this is a hard link, and we're in the process of writing out a - // directory, it's very possible that the thing we're linking to - // doesn't exist yet (especially if it was intended as a symlink), - // so swallow ENOENT errors here and just soldier in. - // Additionally, an EPERM or EACCES can happen on win32 if it's trying - // to make a link to a directory. Again, just skip it. - // A better solution would be to have fs.symlink be supported on - // windows in some nice fashion. - if (er) { - if ((er.code === 'ENOENT' || - er.code === 'EACCES' || - er.code === 'EPERM') && process.platform === 'win32') { - self.ready = true - self.emit('ready') - self.emit('end') - self.emit('close') - self.end = self._finish = function () {} - } else return self.error(er) - } - finish(self) - }) -} - -function finish (self) { - self.ready = true - self.emit('ready') - if (self._ended && !self._finished) self._finish() -} - -LinkWriter.prototype.end = function () { - // console.error("LW finish in end") - this._ended = true - if (this.ready) { - this._finished = true - this._finish() - } -} - - -/***/ }), -/* 218 */, -/* 219 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var path = __webpack_require__(622); -var fs = __webpack_require__(747); -var _0777 = parseInt('0777', 8); - -module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; - -function mkdirP (p, opts, f, made) { - if (typeof opts === 'function') { - f = opts; - opts = {}; - } - else if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 - } - if (!made) made = null; - - var cb = f || function () {}; - p = path.resolve(p); - - xfs.mkdir(p, mode, function (er) { - if (!er) { - made = made || p; - return cb(null, made); - } - switch (er.code) { - case 'ENOENT': - if (path.dirname(p) === p) return cb(er); - mkdirP(path.dirname(p), opts, function (er, made) { - if (er) cb(er, made); - else mkdirP(p, opts, cb, made); - }); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - xfs.stat(p, function (er2, stat) { - // if the stat fails, then that's super weird. - // let the original error be the failure reason. - if (er2 || !stat.isDirectory()) cb(er, made) - else cb(null, made); - }); - break; - } - }); -} - -mkdirP.sync = function sync (p, opts, made) { - if (!opts || typeof opts !== 'object') { - opts = { mode: opts }; - } - - var mode = opts.mode; - var xfs = opts.fs || fs; - - if (mode === undefined) { - mode = _0777 - } - if (!made) made = null; - - p = path.resolve(p); - - try { - xfs.mkdirSync(p, mode); - made = made || p; - } - catch (err0) { - switch (err0.code) { - case 'ENOENT' : - made = sync(path.dirname(p), opts, made); - sync(p, opts, made); - break; - - // In the case of any other error, just see if there's a dir - // there already. If so, then hooray! If not, then something - // is borked. - default: - var stat; - try { - stat = xfs.statSync(p); - } - catch (err1) { - throw err0; - } - if (!stat.isDirectory()) throw err0; - break; - } - } - - return made; -}; - - -/***/ }), -/* 220 */, -/* 221 */, -/* 222 */, -/* 223 */, -/* 224 */ -/***/ (function(module) { - -// This is not the set of all possible signals. -// -// It IS, however, the set of all signals that trigger -// an exit on either Linux or BSD systems. Linux is a -// superset of the signal names supported on BSD, and -// the unknown signals just fail to register, so we can -// catch that easily enough. -// -// Don't bother with SIGKILL. It's uncatchable, which -// means that we can't fire any callbacks anyway. -// -// If a user does happen to register a handler on a non- -// fatal signal like SIGWINCH or something, and then -// exit, it'll end up firing `process.emit('exit')`, so -// the handler will be fired anyway. -// -// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised -// artificially, inherently leave the process in a -// state from which it is not safe to try and enter JS -// listeners. -module.exports = [ - 'SIGABRT', - 'SIGALRM', - 'SIGHUP', - 'SIGINT', - 'SIGTERM' -] - -if (process.platform !== 'win32') { - module.exports.push( - 'SIGVTALRM', - 'SIGXCPU', - 'SIGXFSZ', - 'SIGUSR2', - 'SIGTRAP', - 'SIGSYS', - 'SIGQUIT', - 'SIGIOT' - // should detect profiler and enable/disable accordingly. - // see #21 - // 'SIGPROF' - ) -} - -if (process.platform === 'linux') { - module.exports.push( - 'SIGIO', - 'SIGPOLL', - 'SIGPWR', - 'SIGSTKFLT', - 'SIGUNUSED' - ) -} - - -/***/ }), -/* 225 */, -/* 226 */, -/* 227 */, -/* 228 */, -/* 229 */, -/* 230 */, -/* 231 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var stream = __webpack_require__(279); - -function DuplexWrapper(options, writable, readable) { - if (typeof readable === "undefined") { - readable = writable; - writable = options; - options = null; - } - - stream.Duplex.call(this, options); - - if (typeof readable.read !== "function") { - readable = (new stream.Readable(options)).wrap(readable); - } - - this._writable = writable; - this._readable = readable; - this._waiting = false; - - var self = this; - - writable.once("finish", function() { - self.end(); - }); - - this.once("finish", function() { - writable.end(); - }); - - readable.on("readable", function() { - if (self._waiting) { - self._waiting = false; - self._read(); - } - }); - - readable.once("end", function() { - self.push(null); - }); - - if (!options || typeof options.bubbleErrors === "undefined" || options.bubbleErrors) { - writable.on("error", function(err) { - self.emit("error", err); - }); - - readable.on("error", function(err) { - self.emit("error", err); - }); - } -} - -DuplexWrapper.prototype = Object.create(stream.Duplex.prototype, {constructor: {value: DuplexWrapper}}); - -DuplexWrapper.prototype._write = function _write(input, encoding, done) { - this._writable.write(input, encoding, done); -}; - -DuplexWrapper.prototype._read = function _read() { - var buf; - var reads = 0; - while ((buf = this._readable.read()) !== null) { - this.push(buf); - reads++; - } - if (reads === 0) { - this._waiting = true; - } -}; - -module.exports = function duplex2(options, writable, readable) { - return new DuplexWrapper(options, writable, readable); -}; - -module.exports.DuplexWrapper = DuplexWrapper; - - -/***/ }), -/* 232 */, -/* 233 */, -/* 234 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var fs = __webpack_require__(390); -var Promise = __webpack_require__(481); -var directory = __webpack_require__(4); -var Stream = __webpack_require__(413); - -// Backwards compatibility for node versions < 8 -if (!Stream.Writable || !Stream.Writable.prototype.destroy) - Stream = __webpack_require__(279); - -module.exports = { - buffer: function(buffer, options) { - var source = { - stream: function(offset, length) { - var stream = Stream.PassThrough(); - stream.end(buffer.slice(offset, length)); - return stream; - }, - size: function() { - return Promise.resolve(buffer.length); - } - }; - return directory(source, options); - }, - file: function(filename, options) { - var source = { - stream: function(offset,length) { - return fs.createReadStream(filename,{start: offset, end: length && offset+length}); - }, - size: function() { - return new Promise(function(resolve,reject) { - fs.stat(filename,function(err,d) { - if (err) - reject(err); - else - resolve(d.size); - }); - }); - } - }; - return directory(source, options); - }, - - url: function(request, params, options) { - if (typeof params === 'string') - params = {url: params}; - if (!params.url) - throw 'URL missing'; - params.headers = params.headers || {}; - - var source = { - stream : function(offset,length) { - var options = Object.create(params); - options.headers = Object.create(params.headers); - options.headers.range = 'bytes='+offset+'-' + (length ? length : ''); - return request(options); - }, - size: function() { - return new Promise(function(resolve,reject) { - var req = request(params); - req.on('response',function(d) { - req.abort(); - if (!d.headers['content-length']) - reject(new Error('Missing content length header')); - else - resolve(d.headers['content-length']); - }).on('error',reject); - }); - } - }; - - return directory(source, options); - }, - - s3 : function(client,params, options) { - var source = { - size: function() { - return new Promise(function(resolve,reject) { - client.headObject(params, function(err,d) { - if (err) - reject(err); - else - resolve(d.ContentLength); - }); - }); - }, - stream: function(offset,length) { - var d = {}; - for (var key in params) - d[key] = params[key]; - d.Range = 'bytes='+offset+'-' + (length ? length : ''); - return client.getObject(d).createReadStream(); - } - }; - - return directory(source, options); - } -}; - - -/***/ }), -/* 235 */, -/* 236 */, -/* 237 */, -/* 238 */, -/* 239 */, -/* 240 */, -/* 241 */, -/* 242 */, -/* 243 */, -/* 244 */, -/* 245 */, -/* 246 */, -/* 247 */, -/* 248 */, -/* 249 */, -/* 250 */, -/* 251 */, -/* 252 */, -/* 253 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = FileWriter - -var fs = __webpack_require__(390) -var Writer = __webpack_require__(176) -var inherits = __webpack_require__(392) -var EOF = {} - -inherits(FileWriter, Writer) - -function FileWriter (props) { - var self = this - if (!(self instanceof FileWriter)) { - throw new Error('FileWriter must be called as constructor.') - } - - // should already be established as a File type - if (props.type !== 'File' || !props.File) { - throw new Error('Non-file type ' + props.type) - } - - self._buffer = [] - self._bytesWritten = 0 - - Writer.call(this, props) -} - -FileWriter.prototype._create = function () { - var self = this - if (self._stream) return - - var so = {} - if (self.props.flags) so.flags = self.props.flags - so.mode = Writer.filemode - if (self._old && self._old.blksize) so.bufferSize = self._old.blksize - - self._stream = fs.createWriteStream(self._path, so) - - self._stream.on('open', function () { - // console.error("FW open", self._buffer, self._path) - self.ready = true - self._buffer.forEach(function (c) { - if (c === EOF) self._stream.end() - else self._stream.write(c) - }) - self.emit('ready') - // give this a kick just in case it needs it. - self.emit('drain') - }) - - self._stream.on('error', function (er) { self.emit('error', er) }) - - self._stream.on('drain', function () { self.emit('drain') }) - - self._stream.on('close', function () { - // console.error('\n\nFW Stream Close', self._path, self.size) - self._finish() - }) -} - -FileWriter.prototype.write = function (c) { - var self = this - - self._bytesWritten += c.length - - if (!self.ready) { - if (!Buffer.isBuffer(c) && typeof c !== 'string') { - throw new Error('invalid write data') - } - self._buffer.push(c) - return false - } - - var ret = self._stream.write(c) - // console.error('\t-- fw wrote, _stream says', ret, self._stream._queue.length) - - // allow 2 buffered writes, because otherwise there's just too - // much stop and go bs. - if (ret === false && self._stream._queue) { - return self._stream._queue.length <= 2 - } else { - return ret - } -} - -FileWriter.prototype.end = function (c) { - var self = this - - if (c) self.write(c) - - if (!self.ready) { - self._buffer.push(EOF) - return false - } - - return self._stream.end() -} - -FileWriter.prototype._finish = function () { - var self = this - if (typeof self.size === 'number' && self._bytesWritten !== self.size) { - self.error( - 'Did not get expected byte count.\n' + - 'expect: ' + self.size + '\n' + - 'actual: ' + self._bytesWritten) - } - Writer.prototype._finish.call(self) -} - - -/***/ }), -/* 254 */, -/* 255 */, -/* 256 */, -/* 257 */, -/* 258 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, Context) { -var getDomain = Promise._getDomain; -var async = Promise._async; -var Warning = __webpack_require__(929).Warning; -var util = __webpack_require__(143); -var canAttachTrace = util.canAttachTrace; -var unhandledRejectionHandled; -var possiblyUnhandledRejection; -var bluebirdFramePattern = - /[\\\/]bluebird[\\\/]js[\\\/](release|debug|instrumented)/; -var nodeFramePattern = /\((?:timers\.js):\d+:\d+\)/; -var parseLinePattern = /[\/<\(](.+?):(\d+):(\d+)\)?\s*$/; -var stackFramePattern = null; -var formatStack = null; -var indentStackFrames = false; -var printWarning; -var debugging = !!(util.env("BLUEBIRD_DEBUG") != 0 && - ( false || - util.env("BLUEBIRD_DEBUG") || - util.env("NODE_ENV") === "development")); - -var warnings = !!(util.env("BLUEBIRD_WARNINGS") != 0 && - (debugging || util.env("BLUEBIRD_WARNINGS"))); - -var longStackTraces = !!(util.env("BLUEBIRD_LONG_STACK_TRACES") != 0 && - (debugging || util.env("BLUEBIRD_LONG_STACK_TRACES"))); - -var wForgottenReturn = util.env("BLUEBIRD_W_FORGOTTEN_RETURN") != 0 && - (warnings || !!util.env("BLUEBIRD_W_FORGOTTEN_RETURN")); - -Promise.prototype.suppressUnhandledRejections = function() { - var target = this._target(); - target._bitField = ((target._bitField & (~1048576)) | - 524288); -}; - -Promise.prototype._ensurePossibleRejectionHandled = function () { - if ((this._bitField & 524288) !== 0) return; - this._setRejectionIsUnhandled(); - async.invokeLater(this._notifyUnhandledRejection, this, undefined); -}; - -Promise.prototype._notifyUnhandledRejectionIsHandled = function () { - fireRejectionEvent("rejectionHandled", - unhandledRejectionHandled, undefined, this); -}; - -Promise.prototype._setReturnedNonUndefined = function() { - this._bitField = this._bitField | 268435456; -}; - -Promise.prototype._returnedNonUndefined = function() { - return (this._bitField & 268435456) !== 0; -}; - -Promise.prototype._notifyUnhandledRejection = function () { - if (this._isRejectionUnhandled()) { - var reason = this._settledValue(); - this._setUnhandledRejectionIsNotified(); - fireRejectionEvent("unhandledRejection", - possiblyUnhandledRejection, reason, this); - } -}; - -Promise.prototype._setUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField | 262144; -}; - -Promise.prototype._unsetUnhandledRejectionIsNotified = function () { - this._bitField = this._bitField & (~262144); -}; - -Promise.prototype._isUnhandledRejectionNotified = function () { - return (this._bitField & 262144) > 0; -}; - -Promise.prototype._setRejectionIsUnhandled = function () { - this._bitField = this._bitField | 1048576; -}; - -Promise.prototype._unsetRejectionIsUnhandled = function () { - this._bitField = this._bitField & (~1048576); - if (this._isUnhandledRejectionNotified()) { - this._unsetUnhandledRejectionIsNotified(); - this._notifyUnhandledRejectionIsHandled(); - } -}; - -Promise.prototype._isRejectionUnhandled = function () { - return (this._bitField & 1048576) > 0; -}; - -Promise.prototype._warn = function(message, shouldUseOwnTrace, promise) { - return warn(message, shouldUseOwnTrace, promise || this); -}; - -Promise.onPossiblyUnhandledRejection = function (fn) { - var domain = getDomain(); - possiblyUnhandledRejection = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -Promise.onUnhandledRejectionHandled = function (fn) { - var domain = getDomain(); - unhandledRejectionHandled = - typeof fn === "function" ? (domain === null ? - fn : util.domainBind(domain, fn)) - : undefined; -}; - -var disableLongStackTraces = function() {}; -Promise.longStackTraces = function () { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - if (!config.longStackTraces && longStackTracesIsSupported()) { - var Promise_captureStackTrace = Promise.prototype._captureStackTrace; - var Promise_attachExtraTrace = Promise.prototype._attachExtraTrace; - config.longStackTraces = true; - disableLongStackTraces = function() { - if (async.haveItemsQueued() && !config.longStackTraces) { - throw new Error("cannot enable long stack traces after promises have been created\u000a\u000a See http://goo.gl/MqrFmX\u000a"); - } - Promise.prototype._captureStackTrace = Promise_captureStackTrace; - Promise.prototype._attachExtraTrace = Promise_attachExtraTrace; - Context.deactivateLongStackTraces(); - async.enableTrampoline(); - config.longStackTraces = false; - }; - Promise.prototype._captureStackTrace = longStackTracesCaptureStackTrace; - Promise.prototype._attachExtraTrace = longStackTracesAttachExtraTrace; - Context.activateLongStackTraces(); - async.disableTrampolineIfNecessary(); - } -}; - -Promise.hasLongStackTraces = function () { - return config.longStackTraces && longStackTracesIsSupported(); -}; - -var fireDomEvent = (function() { - try { - if (typeof CustomEvent === "function") { - var event = new CustomEvent("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new CustomEvent(name.toLowerCase(), { - detail: event, - cancelable: true - }); - return !util.global.dispatchEvent(domEvent); - }; - } else if (typeof Event === "function") { - var event = new Event("CustomEvent"); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = new Event(name.toLowerCase(), { - cancelable: true - }); - domEvent.detail = event; - return !util.global.dispatchEvent(domEvent); - }; - } else { - var event = document.createEvent("CustomEvent"); - event.initCustomEvent("testingtheevent", false, true, {}); - util.global.dispatchEvent(event); - return function(name, event) { - var domEvent = document.createEvent("CustomEvent"); - domEvent.initCustomEvent(name.toLowerCase(), false, true, - event); - return !util.global.dispatchEvent(domEvent); - }; - } - } catch (e) {} - return function() { - return false; - }; -})(); - -var fireGlobalEvent = (function() { - if (util.isNode) { - return function() { - return process.emit.apply(process, arguments); - }; - } else { - if (!util.global) { - return function() { - return false; - }; - } - return function(name) { - var methodName = "on" + name.toLowerCase(); - var method = util.global[methodName]; - if (!method) return false; - method.apply(util.global, [].slice.call(arguments, 1)); - return true; - }; - } -})(); - -function generatePromiseLifecycleEventObject(name, promise) { - return {promise: promise}; -} - -var eventToObjectGenerator = { - promiseCreated: generatePromiseLifecycleEventObject, - promiseFulfilled: generatePromiseLifecycleEventObject, - promiseRejected: generatePromiseLifecycleEventObject, - promiseResolved: generatePromiseLifecycleEventObject, - promiseCancelled: generatePromiseLifecycleEventObject, - promiseChained: function(name, promise, child) { - return {promise: promise, child: child}; - }, - warning: function(name, warning) { - return {warning: warning}; - }, - unhandledRejection: function (name, reason, promise) { - return {reason: reason, promise: promise}; - }, - rejectionHandled: generatePromiseLifecycleEventObject -}; - -var activeFireEvent = function (name) { - var globalEventFired = false; - try { - globalEventFired = fireGlobalEvent.apply(null, arguments); - } catch (e) { - async.throwLater(e); - globalEventFired = true; - } - - var domEventFired = false; - try { - domEventFired = fireDomEvent(name, - eventToObjectGenerator[name].apply(null, arguments)); - } catch (e) { - async.throwLater(e); - domEventFired = true; - } - - return domEventFired || globalEventFired; -}; - -Promise.config = function(opts) { - opts = Object(opts); - if ("longStackTraces" in opts) { - if (opts.longStackTraces) { - Promise.longStackTraces(); - } else if (!opts.longStackTraces && Promise.hasLongStackTraces()) { - disableLongStackTraces(); - } - } - if ("warnings" in opts) { - var warningsOption = opts.warnings; - config.warnings = !!warningsOption; - wForgottenReturn = config.warnings; - - if (util.isObject(warningsOption)) { - if ("wForgottenReturn" in warningsOption) { - wForgottenReturn = !!warningsOption.wForgottenReturn; - } - } - } - if ("cancellation" in opts && opts.cancellation && !config.cancellation) { - if (async.haveItemsQueued()) { - throw new Error( - "cannot enable cancellation after promises are in use"); - } - Promise.prototype._clearCancellationData = - cancellationClearCancellationData; - Promise.prototype._propagateFrom = cancellationPropagateFrom; - Promise.prototype._onCancel = cancellationOnCancel; - Promise.prototype._setOnCancel = cancellationSetOnCancel; - Promise.prototype._attachCancellationCallback = - cancellationAttachCancellationCallback; - Promise.prototype._execute = cancellationExecute; - propagateFromFunction = cancellationPropagateFrom; - config.cancellation = true; - } - if ("monitoring" in opts) { - if (opts.monitoring && !config.monitoring) { - config.monitoring = true; - Promise.prototype._fireEvent = activeFireEvent; - } else if (!opts.monitoring && config.monitoring) { - config.monitoring = false; - Promise.prototype._fireEvent = defaultFireEvent; - } - } - return Promise; -}; - -function defaultFireEvent() { return false; } - -Promise.prototype._fireEvent = defaultFireEvent; -Promise.prototype._execute = function(executor, resolve, reject) { - try { - executor(resolve, reject); - } catch (e) { - return e; - } -}; -Promise.prototype._onCancel = function () {}; -Promise.prototype._setOnCancel = function (handler) { ; }; -Promise.prototype._attachCancellationCallback = function(onCancel) { - ; -}; -Promise.prototype._captureStackTrace = function () {}; -Promise.prototype._attachExtraTrace = function () {}; -Promise.prototype._clearCancellationData = function() {}; -Promise.prototype._propagateFrom = function (parent, flags) { - ; - ; -}; - -function cancellationExecute(executor, resolve, reject) { - var promise = this; - try { - executor(resolve, reject, function(onCancel) { - if (typeof onCancel !== "function") { - throw new TypeError("onCancel must be a function, got: " + - util.toString(onCancel)); - } - promise._attachCancellationCallback(onCancel); - }); - } catch (e) { - return e; - } -} - -function cancellationAttachCancellationCallback(onCancel) { - if (!this._isCancellable()) return this; - - var previousOnCancel = this._onCancel(); - if (previousOnCancel !== undefined) { - if (util.isArray(previousOnCancel)) { - previousOnCancel.push(onCancel); - } else { - this._setOnCancel([previousOnCancel, onCancel]); - } - } else { - this._setOnCancel(onCancel); - } -} - -function cancellationOnCancel() { - return this._onCancelField; -} - -function cancellationSetOnCancel(onCancel) { - this._onCancelField = onCancel; -} - -function cancellationClearCancellationData() { - this._cancellationParent = undefined; - this._onCancelField = undefined; -} - -function cancellationPropagateFrom(parent, flags) { - if ((flags & 1) !== 0) { - this._cancellationParent = parent; - var branchesRemainingToCancel = parent._branchesRemainingToCancel; - if (branchesRemainingToCancel === undefined) { - branchesRemainingToCancel = 0; - } - parent._branchesRemainingToCancel = branchesRemainingToCancel + 1; - } - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} - -function bindingPropagateFrom(parent, flags) { - if ((flags & 2) !== 0 && parent._isBound()) { - this._setBoundTo(parent._boundTo); - } -} -var propagateFromFunction = bindingPropagateFrom; - -function boundValueFunction() { - var ret = this._boundTo; - if (ret !== undefined) { - if (ret instanceof Promise) { - if (ret.isFulfilled()) { - return ret.value(); - } else { - return undefined; - } - } - } - return ret; -} - -function longStackTracesCaptureStackTrace() { - this._trace = new CapturedTrace(this._peekContext()); -} - -function longStackTracesAttachExtraTrace(error, ignoreSelf) { - if (canAttachTrace(error)) { - var trace = this._trace; - if (trace !== undefined) { - if (ignoreSelf) trace = trace._parent; - } - if (trace !== undefined) { - trace.attachExtraTrace(error); - } else if (!error.__stackCleaned__) { - var parsed = parseStackAndMessage(error); - util.notEnumerableProp(error, "stack", - parsed.message + "\n" + parsed.stack.join("\n")); - util.notEnumerableProp(error, "__stackCleaned__", true); - } - } -} - -function checkForgottenReturns(returnValue, promiseCreated, name, promise, - parent) { - if (returnValue === undefined && promiseCreated !== null && - wForgottenReturn) { - if (parent !== undefined && parent._returnedNonUndefined()) return; - if ((promise._bitField & 65535) === 0) return; - - if (name) name = name + " "; - var handlerLine = ""; - var creatorLine = ""; - if (promiseCreated._trace) { - var traceLines = promiseCreated._trace.stack.split("\n"); - var stack = cleanStack(traceLines); - for (var i = stack.length - 1; i >= 0; --i) { - var line = stack[i]; - if (!nodeFramePattern.test(line)) { - var lineMatches = line.match(parseLinePattern); - if (lineMatches) { - handlerLine = "at " + lineMatches[1] + - ":" + lineMatches[2] + ":" + lineMatches[3] + " "; - } - break; - } - } - - if (stack.length > 0) { - var firstUserLine = stack[0]; - for (var i = 0; i < traceLines.length; ++i) { - - if (traceLines[i] === firstUserLine) { - if (i > 0) { - creatorLine = "\n" + traceLines[i - 1]; - } - break; - } - } - - } - } - var msg = "a promise was created in a " + name + - "handler " + handlerLine + "but was not returned from it, " + - "see http://goo.gl/rRqMUw" + - creatorLine; - promise._warn(msg, true, promiseCreated); - } -} - -function deprecated(name, replacement) { - var message = name + - " is deprecated and will be removed in a future version."; - if (replacement) message += " Use " + replacement + " instead."; - return warn(message); -} - -function warn(message, shouldUseOwnTrace, promise) { - if (!config.warnings) return; - var warning = new Warning(message); - var ctx; - if (shouldUseOwnTrace) { - promise._attachExtraTrace(warning); - } else if (config.longStackTraces && (ctx = Promise._peekContext())) { - ctx.attachExtraTrace(warning); - } else { - var parsed = parseStackAndMessage(warning); - warning.stack = parsed.message + "\n" + parsed.stack.join("\n"); - } - - if (!activeFireEvent("warning", warning)) { - formatAndLogError(warning, "", true); - } -} - -function reconstructStack(message, stacks) { - for (var i = 0; i < stacks.length - 1; ++i) { - stacks[i].push("From previous event:"); - stacks[i] = stacks[i].join("\n"); - } - if (i < stacks.length) { - stacks[i] = stacks[i].join("\n"); - } - return message + "\n" + stacks.join("\n"); -} - -function removeDuplicateOrEmptyJumps(stacks) { - for (var i = 0; i < stacks.length; ++i) { - if (stacks[i].length === 0 || - ((i + 1 < stacks.length) && stacks[i][0] === stacks[i+1][0])) { - stacks.splice(i, 1); - i--; - } - } -} - -function removeCommonRoots(stacks) { - var current = stacks[0]; - for (var i = 1; i < stacks.length; ++i) { - var prev = stacks[i]; - var currentLastIndex = current.length - 1; - var currentLastLine = current[currentLastIndex]; - var commonRootMeetPoint = -1; - - for (var j = prev.length - 1; j >= 0; --j) { - if (prev[j] === currentLastLine) { - commonRootMeetPoint = j; - break; - } - } - - for (var j = commonRootMeetPoint; j >= 0; --j) { - var line = prev[j]; - if (current[currentLastIndex] === line) { - current.pop(); - currentLastIndex--; - } else { - break; - } - } - current = prev; - } -} - -function cleanStack(stack) { - var ret = []; - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - var isTraceLine = " (No stack trace)" === line || - stackFramePattern.test(line); - var isInternalFrame = isTraceLine && shouldIgnore(line); - if (isTraceLine && !isInternalFrame) { - if (indentStackFrames && line.charAt(0) !== " ") { - line = " " + line; - } - ret.push(line); - } - } - return ret; -} - -function stackFramesAsArray(error) { - var stack = error.stack.replace(/\s+$/g, "").split("\n"); - for (var i = 0; i < stack.length; ++i) { - var line = stack[i]; - if (" (No stack trace)" === line || stackFramePattern.test(line)) { - break; - } - } - if (i > 0 && error.name != "SyntaxError") { - stack = stack.slice(i); - } - return stack; -} - -function parseStackAndMessage(error) { - var stack = error.stack; - var message = error.toString(); - stack = typeof stack === "string" && stack.length > 0 - ? stackFramesAsArray(error) : [" (No stack trace)"]; - return { - message: message, - stack: error.name == "SyntaxError" ? stack : cleanStack(stack) - }; -} - -function formatAndLogError(error, title, isSoft) { - if (typeof console !== "undefined") { - var message; - if (util.isObject(error)) { - var stack = error.stack; - message = title + formatStack(stack, error); - } else { - message = title + String(error); - } - if (typeof printWarning === "function") { - printWarning(message, isSoft); - } else if (typeof console.log === "function" || - typeof console.log === "object") { - console.log(message); - } - } -} - -function fireRejectionEvent(name, localHandler, reason, promise) { - var localEventFired = false; - try { - if (typeof localHandler === "function") { - localEventFired = true; - if (name === "rejectionHandled") { - localHandler(promise); - } else { - localHandler(reason, promise); - } - } - } catch (e) { - async.throwLater(e); - } - - if (name === "unhandledRejection") { - if (!activeFireEvent(name, reason, promise) && !localEventFired) { - formatAndLogError(reason, "Unhandled rejection "); - } - } else { - activeFireEvent(name, promise); - } -} - -function formatNonError(obj) { - var str; - if (typeof obj === "function") { - str = "[function " + - (obj.name || "anonymous") + - "]"; - } else { - str = obj && typeof obj.toString === "function" - ? obj.toString() : util.toString(obj); - var ruselessToString = /\[object [a-zA-Z0-9$_]+\]/; - if (ruselessToString.test(str)) { - try { - var newStr = JSON.stringify(obj); - str = newStr; - } - catch(e) { - - } - } - if (str.length === 0) { - str = "(empty array)"; - } - } - return ("(<" + snip(str) + ">, no stack trace)"); -} - -function snip(str) { - var maxChars = 41; - if (str.length < maxChars) { - return str; - } - return str.substr(0, maxChars - 3) + "..."; -} - -function longStackTracesIsSupported() { - return typeof captureStackTrace === "function"; -} - -var shouldIgnore = function() { return false; }; -var parseLineInfoRegex = /[\/<\(]([^:\/]+):(\d+):(?:\d+)\)?\s*$/; -function parseLineInfo(line) { - var matches = line.match(parseLineInfoRegex); - if (matches) { - return { - fileName: matches[1], - line: parseInt(matches[2], 10) - }; - } -} - -function setBounds(firstLineError, lastLineError) { - if (!longStackTracesIsSupported()) return; - var firstStackLines = firstLineError.stack.split("\n"); - var lastStackLines = lastLineError.stack.split("\n"); - var firstIndex = -1; - var lastIndex = -1; - var firstFileName; - var lastFileName; - for (var i = 0; i < firstStackLines.length; ++i) { - var result = parseLineInfo(firstStackLines[i]); - if (result) { - firstFileName = result.fileName; - firstIndex = result.line; - break; - } - } - for (var i = 0; i < lastStackLines.length; ++i) { - var result = parseLineInfo(lastStackLines[i]); - if (result) { - lastFileName = result.fileName; - lastIndex = result.line; - break; - } - } - if (firstIndex < 0 || lastIndex < 0 || !firstFileName || !lastFileName || - firstFileName !== lastFileName || firstIndex >= lastIndex) { - return; - } - - shouldIgnore = function(line) { - if (bluebirdFramePattern.test(line)) return true; - var info = parseLineInfo(line); - if (info) { - if (info.fileName === firstFileName && - (firstIndex <= info.line && info.line <= lastIndex)) { - return true; - } - } - return false; - }; -} - -function CapturedTrace(parent) { - this._parent = parent; - this._promisesCreated = 0; - var length = this._length = 1 + (parent === undefined ? 0 : parent._length); - captureStackTrace(this, CapturedTrace); - if (length > 32) this.uncycle(); -} -util.inherits(CapturedTrace, Error); -Context.CapturedTrace = CapturedTrace; - -CapturedTrace.prototype.uncycle = function() { - var length = this._length; - if (length < 2) return; - var nodes = []; - var stackToIndex = {}; - - for (var i = 0, node = this; node !== undefined; ++i) { - nodes.push(node); - node = node._parent; - } - length = this._length = i; - for (var i = length - 1; i >= 0; --i) { - var stack = nodes[i].stack; - if (stackToIndex[stack] === undefined) { - stackToIndex[stack] = i; - } - } - for (var i = 0; i < length; ++i) { - var currentStack = nodes[i].stack; - var index = stackToIndex[currentStack]; - if (index !== undefined && index !== i) { - if (index > 0) { - nodes[index - 1]._parent = undefined; - nodes[index - 1]._length = 1; - } - nodes[i]._parent = undefined; - nodes[i]._length = 1; - var cycleEdgeNode = i > 0 ? nodes[i - 1] : this; - - if (index < length - 1) { - cycleEdgeNode._parent = nodes[index + 1]; - cycleEdgeNode._parent.uncycle(); - cycleEdgeNode._length = - cycleEdgeNode._parent._length + 1; - } else { - cycleEdgeNode._parent = undefined; - cycleEdgeNode._length = 1; - } - var currentChildLength = cycleEdgeNode._length + 1; - for (var j = i - 2; j >= 0; --j) { - nodes[j]._length = currentChildLength; - currentChildLength++; - } - return; - } - } -}; - -CapturedTrace.prototype.attachExtraTrace = function(error) { - if (error.__stackCleaned__) return; - this.uncycle(); - var parsed = parseStackAndMessage(error); - var message = parsed.message; - var stacks = [parsed.stack]; - - var trace = this; - while (trace !== undefined) { - stacks.push(cleanStack(trace.stack.split("\n"))); - trace = trace._parent; - } - removeCommonRoots(stacks); - removeDuplicateOrEmptyJumps(stacks); - util.notEnumerableProp(error, "stack", reconstructStack(message, stacks)); - util.notEnumerableProp(error, "__stackCleaned__", true); -}; - -var captureStackTrace = (function stackDetection() { - var v8stackFramePattern = /^\s*at\s*/; - var v8stackFormatter = function(stack, error) { - if (typeof stack === "string") return stack; - - if (error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - if (typeof Error.stackTraceLimit === "number" && - typeof Error.captureStackTrace === "function") { - Error.stackTraceLimit += 6; - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - var captureStackTrace = Error.captureStackTrace; - - shouldIgnore = function(line) { - return bluebirdFramePattern.test(line); - }; - return function(receiver, ignoreUntil) { - Error.stackTraceLimit += 6; - captureStackTrace(receiver, ignoreUntil); - Error.stackTraceLimit -= 6; - }; - } - var err = new Error(); - - if (typeof err.stack === "string" && - err.stack.split("\n")[0].indexOf("stackDetection@") >= 0) { - stackFramePattern = /@/; - formatStack = v8stackFormatter; - indentStackFrames = true; - return function captureStackTrace(o) { - o.stack = new Error().stack; - }; - } - - var hasStackAfterThrow; - try { throw new Error(); } - catch(e) { - hasStackAfterThrow = ("stack" in e); - } - if (!("stack" in err) && hasStackAfterThrow && - typeof Error.stackTraceLimit === "number") { - stackFramePattern = v8stackFramePattern; - formatStack = v8stackFormatter; - return function captureStackTrace(o) { - Error.stackTraceLimit += 6; - try { throw new Error(); } - catch(e) { o.stack = e.stack; } - Error.stackTraceLimit -= 6; - }; - } - - formatStack = function(stack, error) { - if (typeof stack === "string") return stack; - - if ((typeof error === "object" || - typeof error === "function") && - error.name !== undefined && - error.message !== undefined) { - return error.toString(); - } - return formatNonError(error); - }; - - return null; - -})([]); - -if (typeof console !== "undefined" && typeof console.warn !== "undefined") { - printWarning = function (message) { - console.warn(message); - }; - if (util.isNode && process.stderr.isTTY) { - printWarning = function(message, isSoft) { - var color = isSoft ? "\u001b[33m" : "\u001b[31m"; - console.warn(color + message + "\u001b[0m\n"); - }; - } else if (!util.isNode && typeof (new Error().stack) === "string") { - printWarning = function(message, isSoft) { - console.warn("%c" + message, - isSoft ? "color: darkorange" : "color: red"); - }; - } -} - -var config = { - warnings: warnings, - longStackTraces: false, - cancellation: false, - monitoring: false -}; - -if (longStackTraces) Promise.longStackTraces(); - -return { - longStackTraces: function() { - return config.longStackTraces; - }, - warnings: function() { - return config.warnings; - }, - cancellation: function() { - return config.cancellation; - }, - monitoring: function() { - return config.monitoring; - }, - propagateFromFunction: function() { - return propagateFromFunction; - }, - boundValueFunction: function() { - return boundValueFunction; - }, - checkForgottenReturns: checkForgottenReturns, - setBounds: setBounds, - warn: warn, - deprecated: deprecated, - CapturedTrace: CapturedTrace, - fireDomEvent: fireDomEvent, - fireGlobalEvent: fireGlobalEvent -}; -}; - - -/***/ }), -/* 259 */, -/* 260 */, -/* 261 */, -/* 262 */, -/* 263 */ -/***/ (function(module) { - -"use strict"; - - -function posix(path) { - return path.charAt(0) === '/'; -} - -function win32(path) { - // https://github.com/nodejs/node/blob/b3fcc245fb25539909ef1d5eaa01dbf92e168633/lib/path.js#L56 - var splitDeviceRe = /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/; - var result = splitDeviceRe.exec(path); - var device = result[1] || ''; - var isUnc = Boolean(device && device.charAt(1) !== ':'); - - // UNC paths are always absolute - return Boolean(result[2] || isUnc); -} - -module.exports = process.platform === 'win32' ? win32 : posix; -module.exports.posix = posix; -module.exports.win32 = win32; - - -/***/ }), -/* 264 */, -/* 265 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var Cancel = __webpack_require__(399); - -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @class - * @param {Function} executor The executor function. - */ -function CancelToken(executor) { - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - - var token = this; - executor(function cancel(message) { - if (token.reason) { - // Cancellation has already been requested - return; - } - - token.reason = new Cancel(message); - resolvePromise(token.reason); - }); -} - -/** - * Throws a `Cancel` if cancellation has been requested. - */ -CancelToken.prototype.throwIfRequested = function throwIfRequested() { - if (this.reason) { - throw this.reason; - } -}; - -/** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ -CancelToken.source = function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; -}; - -module.exports = CancelToken; - - -/***/ }), -/* 266 */, -/* 267 */, -/* 268 */ -/***/ (function(module) { - -"use strict"; - -function arrayMove(src, srcIndex, dst, dstIndex, len) { - for (var j = 0; j < len; ++j) { - dst[j + dstIndex] = src[j + srcIndex]; - src[j + srcIndex] = void 0; - } -} - -function Queue(capacity) { - this._capacity = capacity; - this._length = 0; - this._front = 0; -} - -Queue.prototype._willBeOverCapacity = function (size) { - return this._capacity < size; -}; - -Queue.prototype._pushOne = function (arg) { - var length = this.length(); - this._checkCapacity(length + 1); - var i = (this._front + length) & (this._capacity - 1); - this[i] = arg; - this._length = length + 1; -}; - -Queue.prototype.push = function (fn, receiver, arg) { - var length = this.length() + 3; - if (this._willBeOverCapacity(length)) { - this._pushOne(fn); - this._pushOne(receiver); - this._pushOne(arg); - return; - } - var j = this._front + length - 3; - this._checkCapacity(length); - var wrapMask = this._capacity - 1; - this[(j + 0) & wrapMask] = fn; - this[(j + 1) & wrapMask] = receiver; - this[(j + 2) & wrapMask] = arg; - this._length = length; -}; - -Queue.prototype.shift = function () { - var front = this._front, - ret = this[front]; - - this[front] = undefined; - this._front = (front + 1) & (this._capacity - 1); - this._length--; - return ret; -}; - -Queue.prototype.length = function () { - return this._length; -}; - -Queue.prototype._checkCapacity = function (size) { - if (this._capacity < size) { - this._resizeTo(this._capacity << 1); - } -}; - -Queue.prototype._resizeTo = function (capacity) { - var oldCapacity = this._capacity; - this._capacity = capacity; - var front = this._front; - var length = this._length; - var moveItemsCount = (front + length) & (oldCapacity - 1); - arrayMove(this, 0, this, oldCapacity, moveItemsCount); -}; - -module.exports = Queue; - - -/***/ }), -/* 269 */, -/* 270 */, -/* 271 */, -/* 272 */, -/* 273 */ -/***/ (function(module, exports, __webpack_require__) { - -/** - * This is the web browser implementation of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = __webpack_require__(331); -exports.log = log; -exports.formatArgs = formatArgs; -exports.save = save; -exports.load = load; -exports.useColors = useColors; -exports.storage = 'undefined' != typeof chrome - && 'undefined' != typeof chrome.storage - ? chrome.storage.local - : localstorage(); - -/** - * Colors. - */ - -exports.colors = [ - '#0000CC', '#0000FF', '#0033CC', '#0033FF', '#0066CC', '#0066FF', '#0099CC', - '#0099FF', '#00CC00', '#00CC33', '#00CC66', '#00CC99', '#00CCCC', '#00CCFF', - '#3300CC', '#3300FF', '#3333CC', '#3333FF', '#3366CC', '#3366FF', '#3399CC', - '#3399FF', '#33CC00', '#33CC33', '#33CC66', '#33CC99', '#33CCCC', '#33CCFF', - '#6600CC', '#6600FF', '#6633CC', '#6633FF', '#66CC00', '#66CC33', '#9900CC', - '#9900FF', '#9933CC', '#9933FF', '#99CC00', '#99CC33', '#CC0000', '#CC0033', - '#CC0066', '#CC0099', '#CC00CC', '#CC00FF', '#CC3300', '#CC3333', '#CC3366', - '#CC3399', '#CC33CC', '#CC33FF', '#CC6600', '#CC6633', '#CC9900', '#CC9933', - '#CCCC00', '#CCCC33', '#FF0000', '#FF0033', '#FF0066', '#FF0099', '#FF00CC', - '#FF00FF', '#FF3300', '#FF3333', '#FF3366', '#FF3399', '#FF33CC', '#FF33FF', - '#FF6600', '#FF6633', '#FF9900', '#FF9933', '#FFCC00', '#FFCC33' -]; - -/** - * Currently only WebKit-based Web Inspectors, Firefox >= v31, - * and the Firebug extension (any Firefox version) are known - * to support "%c" CSS customizations. - * - * TODO: add a `localStorage` variable to explicitly enable/disable colors - */ - -function useColors() { - // NB: In an Electron preload script, document will be defined but not fully - // initialized. Since we know we're in Chrome, we'll just detect this case - // explicitly - if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') { - return true; - } - - // Internet Explorer and Edge do not support colors. - if (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) { - return false; - } - - // is webkit? http://stackoverflow.com/a/16459606/376773 - // document is undefined in react-native: https://github.com/facebook/react-native/pull/1632 - return (typeof document !== 'undefined' && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance) || - // is firebug? http://stackoverflow.com/a/398120/376773 - (typeof window !== 'undefined' && window.console && (window.console.firebug || (window.console.exception && window.console.table))) || - // is firefox >= v31? - // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31) || - // double check webkit in userAgent just in case we are in a worker - (typeof navigator !== 'undefined' && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)); -} - -/** - * Map %j to `JSON.stringify()`, since no Web Inspectors do that by default. - */ - -exports.formatters.j = function(v) { - try { - return JSON.stringify(v); - } catch (err) { - return '[UnexpectedJSONParseError]: ' + err.message; - } -}; - - -/** - * Colorize log arguments if enabled. - * - * @api public - */ - -function formatArgs(args) { - var useColors = this.useColors; - - args[0] = (useColors ? '%c' : '') - + this.namespace - + (useColors ? ' %c' : ' ') - + args[0] - + (useColors ? '%c ' : ' ') - + '+' + exports.humanize(this.diff); - - if (!useColors) return; - - var c = 'color: ' + this.color; - args.splice(1, 0, c, 'color: inherit') - - // the final "%c" is somewhat tricky, because there could be other - // arguments passed either before or after the %c, so we need to - // figure out the correct index to insert the CSS into - var index = 0; - var lastC = 0; - args[0].replace(/%[a-zA-Z%]/g, function(match) { - if ('%%' === match) return; - index++; - if ('%c' === match) { - // we only are interested in the *last* %c - // (the user may have provided their own) - lastC = index; - } - }); - - args.splice(lastC, 0, c); -} - -/** - * Invokes `console.log()` when available. - * No-op when `console.log` is not a "function". - * - * @api public - */ - -function log() { - // this hackery is required for IE8/9, where - // the `console.log` function doesn't have 'apply' - return 'object' === typeof console - && console.log - && Function.prototype.apply.call(console.log, console, arguments); -} - -/** - * Save `namespaces`. - * - * @param {String} namespaces - * @api private - */ - -function save(namespaces) { - try { - if (null == namespaces) { - exports.storage.removeItem('debug'); - } else { - exports.storage.debug = namespaces; - } - } catch(e) {} -} - -/** - * Load `namespaces`. - * - * @return {String} returns the previously persisted debug modes - * @api private - */ - -function load() { - var r; - try { - r = exports.storage.debug; - } catch(e) {} - - // If debug isn't set in LS, and we're in Electron, try to load $DEBUG - if (!r && typeof process !== 'undefined' && 'env' in process) { - r = process.env.DEBUG; - } - - return r; -} - -/** - * Enable namespaces listed in `localStorage.debug` initially. - */ - -exports.enable(load()); - -/** - * Localstorage attempts to return the localstorage. - * - * This is necessary because safari throws - * when a user disables cookies/localstorage - * and you attempt to access it. - * - * @return {LocalStorage} - * @api private - */ - -function localstorage() { - try { - return window.localStorage; - } catch (e) {} -} - - -/***/ }), -/* 274 */, -/* 275 */, -/* 276 */, -/* 277 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - - - -/**/ - -var pna = __webpack_require__(583); -/**/ - -module.exports = Readable; - -/**/ -var isArray = __webpack_require__(316); -/**/ - -/**/ -var Duplex; -/**/ - -Readable.ReadableState = ReadableState; - -/**/ -var EE = __webpack_require__(614).EventEmitter; - -var EElistenerCount = function (emitter, type) { - return emitter.listeners(type).length; -}; -/**/ - -/**/ -var Stream = __webpack_require__(288); -/**/ - -/**/ - -var Buffer = __webpack_require__(454).Buffer; -var OurUint8Array = global.Uint8Array || function () {}; -function _uint8ArrayToBuffer(chunk) { - return Buffer.from(chunk); -} -function _isUint8Array(obj) { - return Buffer.isBuffer(obj) || obj instanceof OurUint8Array; -} - -/**/ - -/**/ -var util = Object.create(__webpack_require__(144)); -util.inherits = __webpack_require__(392); -/**/ - -/**/ -var debugUtil = __webpack_require__(669); -var debug = void 0; -if (debugUtil && debugUtil.debuglog) { - debug = debugUtil.debuglog('stream'); -} else { - debug = function () {}; -} -/**/ - -var BufferList = __webpack_require__(531); -var destroyImpl = __webpack_require__(418); -var StringDecoder; - -util.inherits(Readable, Stream); - -var kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume']; - -function prependListener(emitter, event, fn) { - // Sadly this is not cacheable as some libraries bundle their own - // event emitter implementation with them. - if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); - - // This is a hack to make sure that our error handler is attached before any - // userland ones. NEVER DO THIS. This is here only because this code needs - // to continue to work with older versions of Node.js that do not include - // the prependListener() method. The goal is to eventually remove this hack. - if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]]; -} - -function ReadableState(options, stream) { - Duplex = Duplex || __webpack_require__(557); - - options = options || {}; - - // Duplex streams are both readable and writable, but share - // the same options object. - // However, some cases require setting options to different - // values for the readable and the writable sides of the duplex stream. - // These options can be provided separately as readableXXX and writableXXX. - var isDuplex = stream instanceof Duplex; - - // object stream flag. Used to make read(n) ignore n and to - // make all the buffer merging and length checks go away - this.objectMode = !!options.objectMode; - - if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; - - // the point at which it stops calling _read() to fill the buffer - // Note: 0 is a valid value, means "don't call _read preemptively ever" - var hwm = options.highWaterMark; - var readableHwm = options.readableHighWaterMark; - var defaultHwm = this.objectMode ? 16 : 16 * 1024; - - if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (readableHwm || readableHwm === 0)) this.highWaterMark = readableHwm;else this.highWaterMark = defaultHwm; - - // cast to ints. - this.highWaterMark = Math.floor(this.highWaterMark); - - // A linked list is used to store data chunks instead of an array because the - // linked list can remove elements from the beginning faster than - // array.shift() - this.buffer = new BufferList(); - this.length = 0; - this.pipes = null; - this.pipesCount = 0; - this.flowing = null; - this.ended = false; - this.endEmitted = false; - this.reading = false; - - // a flag to be able to tell if the event 'readable'/'data' is emitted - // immediately, or on a later tick. We set this to true at first, because - // any actions that shouldn't happen until "later" should generally also - // not happen before the first read call. - this.sync = true; - - // whenever we return null, then we set a flag to say - // that we're awaiting a 'readable' event emission. - this.needReadable = false; - this.emittedReadable = false; - this.readableListening = false; - this.resumeScheduled = false; - - // has it been destroyed - this.destroyed = false; - - // Crypto is kind of old and crusty. Historically, its default string - // encoding is 'binary' so we have to make this configurable. - // Everything else in the universe uses 'utf8', though. - this.defaultEncoding = options.defaultEncoding || 'utf8'; - - // the number of writers that are awaiting a drain event in .pipe()s - this.awaitDrain = 0; - - // if true, a maybeReadMore has been scheduled - this.readingMore = false; - - this.decoder = null; - this.encoding = null; - if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(162).StringDecoder; - this.decoder = new StringDecoder(options.encoding); - this.encoding = options.encoding; - } -} - -function Readable(options) { - Duplex = Duplex || __webpack_require__(557); - - if (!(this instanceof Readable)) return new Readable(options); - - this._readableState = new ReadableState(options, this); - - // legacy - this.readable = true; - - if (options) { - if (typeof options.read === 'function') this._read = options.read; - - if (typeof options.destroy === 'function') this._destroy = options.destroy; - } - - Stream.call(this); -} - -Object.defineProperty(Readable.prototype, 'destroyed', { - get: function () { - if (this._readableState === undefined) { - return false; - } - return this._readableState.destroyed; - }, - set: function (value) { - // we ignore the value if the stream - // has not been initialized yet - if (!this._readableState) { - return; - } - - // backward compatibility, the user is explicitly - // managing destroyed - this._readableState.destroyed = value; - } -}); - -Readable.prototype.destroy = destroyImpl.destroy; -Readable.prototype._undestroy = destroyImpl.undestroy; -Readable.prototype._destroy = function (err, cb) { - this.push(null); - cb(err); -}; - -// Manually shove something into the read() buffer. -// This returns true if the highWaterMark has not been hit yet, -// similar to how Writable.write() returns true if you should -// write() some more. -Readable.prototype.push = function (chunk, encoding) { - var state = this._readableState; - var skipChunkCheck; - - if (!state.objectMode) { - if (typeof chunk === 'string') { - encoding = encoding || state.defaultEncoding; - if (encoding !== state.encoding) { - chunk = Buffer.from(chunk, encoding); - encoding = ''; - } - skipChunkCheck = true; - } - } else { - skipChunkCheck = true; - } - - return readableAddChunk(this, chunk, encoding, false, skipChunkCheck); -}; - -// Unshift should *always* be something directly out of read() -Readable.prototype.unshift = function (chunk) { - return readableAddChunk(this, chunk, null, true, false); -}; - -function readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) { - var state = stream._readableState; - if (chunk === null) { - state.reading = false; - onEofChunk(stream, state); - } else { - var er; - if (!skipChunkCheck) er = chunkInvalid(state, chunk); - if (er) { - stream.emit('error', er); - } else if (state.objectMode || chunk && chunk.length > 0) { - if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) { - chunk = _uint8ArrayToBuffer(chunk); - } - - if (addToFront) { - if (state.endEmitted) stream.emit('error', new Error('stream.unshift() after end event'));else addChunk(stream, state, chunk, true); - } else if (state.ended) { - stream.emit('error', new Error('stream.push() after EOF')); - } else { - state.reading = false; - if (state.decoder && !encoding) { - chunk = state.decoder.write(chunk); - if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state); - } else { - addChunk(stream, state, chunk, false); - } - } - } else if (!addToFront) { - state.reading = false; - } - } - - return needMoreData(state); -} - -function addChunk(stream, state, chunk, addToFront) { - if (state.flowing && state.length === 0 && !state.sync) { - stream.emit('data', chunk); - stream.read(0); - } else { - // update the buffer info. - state.length += state.objectMode ? 1 : chunk.length; - if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk); - - if (state.needReadable) emitReadable(stream); - } - maybeReadMore(stream, state); -} - -function chunkInvalid(state, chunk) { - var er; - if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) { - er = new TypeError('Invalid non-string/buffer chunk'); - } - return er; -} - -// if it's past the high water mark, we can push in some more. -// Also, if we have no data yet, we can stand some -// more bytes. This is to work around cases where hwm=0, -// such as the repl. Also, if the push() triggered a -// readable event, and the user called read(largeNumber) such that -// needReadable was set, then we ought to push more, so that another -// 'readable' event will be triggered. -function needMoreData(state) { - return !state.ended && (state.needReadable || state.length < state.highWaterMark || state.length === 0); -} - -Readable.prototype.isPaused = function () { - return this._readableState.flowing === false; -}; - -// backwards compatibility. -Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(162).StringDecoder; - this._readableState.decoder = new StringDecoder(enc); - this._readableState.encoding = enc; - return this; -}; - -// Don't raise the hwm > 8MB -var MAX_HWM = 0x800000; -function computeNewHighWaterMark(n) { - if (n >= MAX_HWM) { - n = MAX_HWM; - } else { - // Get the next highest power of 2 to prevent increasing hwm excessively in - // tiny amounts - n--; - n |= n >>> 1; - n |= n >>> 2; - n |= n >>> 4; - n |= n >>> 8; - n |= n >>> 16; - n++; - } - return n; -} - -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function howMuchToRead(n, state) { - if (n <= 0 || state.length === 0 && state.ended) return 0; - if (state.objectMode) return 1; - if (n !== n) { - // Only flow one buffer at a time - if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length; - } - // If we're asking for more than the current hwm, then raise the hwm. - if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n); - if (n <= state.length) return n; - // Don't have enough - if (!state.ended) { - state.needReadable = true; - return 0; - } - return state.length; -} - -// you can override either this method, or the async _read(n) below. -Readable.prototype.read = function (n) { - debug('read', n); - n = parseInt(n, 10); - var state = this._readableState; - var nOrig = n; - - if (n !== 0) state.emittedReadable = false; - - // if we're doing read(0) to trigger a readable event, but we - // already have a bunch of data in the buffer, then just trigger - // the 'readable' event and move on. - if (n === 0 && state.needReadable && (state.length >= state.highWaterMark || state.ended)) { - debug('read: emitReadable', state.length, state.ended); - if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this); - return null; - } - - n = howMuchToRead(n, state); - - // if we've ended, and we're now clear, then finish it up. - if (n === 0 && state.ended) { - if (state.length === 0) endReadable(this); - return null; - } - - // All the actual chunk generation logic needs to be - // *below* the call to _read. The reason is that in certain - // synthetic stream cases, such as passthrough streams, _read - // may be a completely synchronous operation which may change - // the state of the read buffer, providing enough data when - // before there was *not* enough. - // - // So, the steps are: - // 1. Figure out what the state of things will be after we do - // a read from the buffer. - // - // 2. If that resulting state will trigger a _read, then call _read. - // Note that this may be asynchronous, or synchronous. Yes, it is - // deeply ugly to write APIs this way, but that still doesn't mean - // that the Readable class should behave improperly, as streams are - // designed to be sync/async agnostic. - // Take note if the _read call is sync or async (ie, if the read call - // has returned yet), so that we know whether or not it's safe to emit - // 'readable' etc. - // - // 3. Actually pull the requested chunks out of the buffer and return. - - // if we need a readable event, then we need to do some reading. - var doRead = state.needReadable; - debug('need readable', doRead); - - // if we currently have less than the highWaterMark, then also read some - if (state.length === 0 || state.length - n < state.highWaterMark) { - doRead = true; - debug('length less than watermark', doRead); - } - - // however, if we've ended, then there's no point, and if we're already - // reading, then it's unnecessary. - if (state.ended || state.reading) { - doRead = false; - debug('reading or ended', doRead); - } else if (doRead) { - debug('do read'); - state.reading = true; - state.sync = true; - // if the length is currently zero, then we *need* a readable event. - if (state.length === 0) state.needReadable = true; - // call internal read method - this._read(state.highWaterMark); - state.sync = false; - // If _read pushed data synchronously, then `reading` will be false, - // and we need to re-evaluate how much data we can return to the user. - if (!state.reading) n = howMuchToRead(nOrig, state); - } - - var ret; - if (n > 0) ret = fromList(n, state);else ret = null; - - if (ret === null) { - state.needReadable = true; - n = 0; - } else { - state.length -= n; - } - - if (state.length === 0) { - // If we have nothing in the buffer, then we want to know - // as soon as we *do* get something into the buffer. - if (!state.ended) state.needReadable = true; - - // If we tried to read() past the EOF, then emit end on the next tick. - if (nOrig !== n && state.ended) endReadable(this); - } - - if (ret !== null) this.emit('data', ret); - - return ret; -}; - -function onEofChunk(stream, state) { - if (state.ended) return; - if (state.decoder) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) { - state.buffer.push(chunk); - state.length += state.objectMode ? 1 : chunk.length; - } - } - state.ended = true; - - // emit 'readable' now to make sure it gets picked up. - emitReadable(stream); -} - -// Don't emit readable right away in sync mode, because this can trigger -// another read() call => stack overflow. This way, it might trigger -// a nextTick recursion warning, but that's not so bad. -function emitReadable(stream) { - var state = stream._readableState; - state.needReadable = false; - if (!state.emittedReadable) { - debug('emitReadable', state.flowing); - state.emittedReadable = true; - if (state.sync) pna.nextTick(emitReadable_, stream);else emitReadable_(stream); - } -} - -function emitReadable_(stream) { - debug('emit readable'); - stream.emit('readable'); - flow(stream); -} - -// at this point, the user has presumably seen the 'readable' event, -// and called read() to consume some data. that may have triggered -// in turn another _read(n) call, in which case reading = true if -// it's in progress. -// However, if we're not ended, or reading, and the length < hwm, -// then go ahead and try to read some more preemptively. -function maybeReadMore(stream, state) { - if (!state.readingMore) { - state.readingMore = true; - pna.nextTick(maybeReadMore_, stream, state); - } -} - -function maybeReadMore_(stream, state) { - var len = state.length; - while (!state.reading && !state.flowing && !state.ended && state.length < state.highWaterMark) { - debug('maybeReadMore read 0'); - stream.read(0); - if (len === state.length) - // didn't get any data, stop spinning. - break;else len = state.length; - } - state.readingMore = false; -} - -// abstract method. to be overridden in specific implementation classes. -// call cb(er, data) where data is <= n in length. -// for virtual (non-string, non-buffer) streams, "length" is somewhat -// arbitrary, and perhaps not very meaningful. -Readable.prototype._read = function (n) { - this.emit('error', new Error('_read() is not implemented')); -}; - -Readable.prototype.pipe = function (dest, pipeOpts) { - var src = this; - var state = this._readableState; - - switch (state.pipesCount) { - case 0: - state.pipes = dest; - break; - case 1: - state.pipes = [state.pipes, dest]; - break; - default: - state.pipes.push(dest); - break; - } - state.pipesCount += 1; - debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); - - var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr; - - var endFn = doEnd ? onend : unpipe; - if (state.endEmitted) pna.nextTick(endFn);else src.once('end', endFn); - - dest.on('unpipe', onunpipe); - function onunpipe(readable, unpipeInfo) { - debug('onunpipe'); - if (readable === src) { - if (unpipeInfo && unpipeInfo.hasUnpiped === false) { - unpipeInfo.hasUnpiped = true; - cleanup(); - } - } - } - - function onend() { - debug('onend'); - dest.end(); - } - - // when the dest drains, it reduces the awaitDrain counter - // on the source. This would be more elegant with a .once() - // handler in flow(), but adding and removing repeatedly is - // too slow. - var ondrain = pipeOnDrain(src); - dest.on('drain', ondrain); - - var cleanedUp = false; - function cleanup() { - debug('cleanup'); - // cleanup event handlers once the pipe is broken - dest.removeListener('close', onclose); - dest.removeListener('finish', onfinish); - dest.removeListener('drain', ondrain); - dest.removeListener('error', onerror); - dest.removeListener('unpipe', onunpipe); - src.removeListener('end', onend); - src.removeListener('end', unpipe); - src.removeListener('data', ondata); - - cleanedUp = true; - - // if the reader is waiting for a drain event from this - // specific writer, then it would cause it to never start - // flowing again. - // So, if this is awaiting a drain, then we just call it now. - // If we don't know, then assume that we are waiting for one. - if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain(); - } - - // If the user pushes more data while we're writing to dest then we'll end up - // in ondata again. However, we only want to increase awaitDrain once because - // dest will only emit one 'drain' event for the multiple writes. - // => Introduce a guard on increasing awaitDrain. - var increasedAwaitDrain = false; - src.on('data', ondata); - function ondata(chunk) { - debug('ondata'); - increasedAwaitDrain = false; - var ret = dest.write(chunk); - if (false === ret && !increasedAwaitDrain) { - // If the user unpiped during `dest.write()`, it is possible - // to get stuck in a permanently paused state if that write - // also returned false. - // => Check whether `dest` is still a piping destination. - if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) { - debug('false write response, pause', src._readableState.awaitDrain); - src._readableState.awaitDrain++; - increasedAwaitDrain = true; - } - src.pause(); - } - } - - // if the dest has an error, then stop piping into it. - // however, don't suppress the throwing behavior for this. - function onerror(er) { - debug('onerror', er); - unpipe(); - dest.removeListener('error', onerror); - if (EElistenerCount(dest, 'error') === 0) dest.emit('error', er); - } - - // Make sure our error handler is attached before userland ones. - prependListener(dest, 'error', onerror); - - // Both close and finish should trigger unpipe, but only once. - function onclose() { - dest.removeListener('finish', onfinish); - unpipe(); - } - dest.once('close', onclose); - function onfinish() { - debug('onfinish'); - dest.removeListener('close', onclose); - unpipe(); - } - dest.once('finish', onfinish); - - function unpipe() { - debug('unpipe'); - src.unpipe(dest); - } - - // tell the dest that it's being piped to - dest.emit('pipe', src); - - // start the flow if it hasn't been started already. - if (!state.flowing) { - debug('pipe resume'); - src.resume(); - } - - return dest; -}; - -function pipeOnDrain(src) { - return function () { - var state = src._readableState; - debug('pipeOnDrain', state.awaitDrain); - if (state.awaitDrain) state.awaitDrain--; - if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) { - state.flowing = true; - flow(src); - } - }; -} - -Readable.prototype.unpipe = function (dest) { - var state = this._readableState; - var unpipeInfo = { hasUnpiped: false }; - - // if we're not piping anywhere, then do nothing. - if (state.pipesCount === 0) return this; - - // just one destination. most common case. - if (state.pipesCount === 1) { - // passed in one, but it's not the right one. - if (dest && dest !== state.pipes) return this; - - if (!dest) dest = state.pipes; - - // got a match. - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - if (dest) dest.emit('unpipe', this, unpipeInfo); - return this; - } - - // slow case. multiple pipe destinations. - - if (!dest) { - // remove all. - var dests = state.pipes; - var len = state.pipesCount; - state.pipes = null; - state.pipesCount = 0; - state.flowing = false; - - for (var i = 0; i < len; i++) { - dests[i].emit('unpipe', this, unpipeInfo); - }return this; - } - - // try to find the right one. - var index = indexOf(state.pipes, dest); - if (index === -1) return this; - - state.pipes.splice(index, 1); - state.pipesCount -= 1; - if (state.pipesCount === 1) state.pipes = state.pipes[0]; - - dest.emit('unpipe', this, unpipeInfo); - - return this; -}; - -// set up data events if they are asked for -// Ensure readable listeners eventually get something -Readable.prototype.on = function (ev, fn) { - var res = Stream.prototype.on.call(this, ev, fn); - - if (ev === 'data') { - // Start flowing on next tick if stream isn't explicitly paused - if (this._readableState.flowing !== false) this.resume(); - } else if (ev === 'readable') { - var state = this._readableState; - if (!state.endEmitted && !state.readableListening) { - state.readableListening = state.needReadable = true; - state.emittedReadable = false; - if (!state.reading) { - pna.nextTick(nReadingNextTick, this); - } else if (state.length) { - emitReadable(this); - } - } - } - - return res; -}; -Readable.prototype.addListener = Readable.prototype.on; - -function nReadingNextTick(self) { - debug('readable nexttick read 0'); - self.read(0); -} - -// pause() and resume() are remnants of the legacy readable stream API -// If the user uses them, then switch into old mode. -Readable.prototype.resume = function () { - var state = this._readableState; - if (!state.flowing) { - debug('resume'); - state.flowing = true; - resume(this, state); - } - return this; -}; - -function resume(stream, state) { - if (!state.resumeScheduled) { - state.resumeScheduled = true; - pna.nextTick(resume_, stream, state); - } -} - -function resume_(stream, state) { - if (!state.reading) { - debug('resume read 0'); - stream.read(0); - } - - state.resumeScheduled = false; - state.awaitDrain = 0; - stream.emit('resume'); - flow(stream); - if (state.flowing && !state.reading) stream.read(0); -} - -Readable.prototype.pause = function () { - debug('call pause flowing=%j', this._readableState.flowing); - if (false !== this._readableState.flowing) { - debug('pause'); - this._readableState.flowing = false; - this.emit('pause'); - } - return this; -}; - -function flow(stream) { - var state = stream._readableState; - debug('flow', state.flowing); - while (state.flowing && stream.read() !== null) {} -} - -// wrap an old-style stream as the async data source. -// This is *not* part of the readable stream interface. -// It is an ugly unfortunate mess of history. -Readable.prototype.wrap = function (stream) { - var _this = this; - - var state = this._readableState; - var paused = false; - - stream.on('end', function () { - debug('wrapped end'); - if (state.decoder && !state.ended) { - var chunk = state.decoder.end(); - if (chunk && chunk.length) _this.push(chunk); - } - - _this.push(null); - }); - - stream.on('data', function (chunk) { - debug('wrapped data'); - if (state.decoder) chunk = state.decoder.write(chunk); - - // don't skip over falsy values in objectMode - if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return; - - var ret = _this.push(chunk); - if (!ret) { - paused = true; - stream.pause(); - } - }); - - // proxy all the other methods. - // important when wrapping filters and duplexes. - for (var i in stream) { - if (this[i] === undefined && typeof stream[i] === 'function') { - this[i] = function (method) { - return function () { - return stream[method].apply(stream, arguments); - }; - }(i); - } - } - - // proxy certain important events. - for (var n = 0; n < kProxyEvents.length; n++) { - stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n])); - } - - // when we try to consume some more bytes, simply unpause the - // underlying stream. - this._read = function (n) { - debug('wrapped _read', n); - if (paused) { - paused = false; - stream.resume(); - } - }; - - return this; -}; - -Object.defineProperty(Readable.prototype, 'readableHighWaterMark', { - // making it explicit this property is not enumerable - // because otherwise some prototype manipulation in - // userland will fail - enumerable: false, - get: function () { - return this._readableState.highWaterMark; - } -}); - -// exposed for testing purposes only. -Readable._fromList = fromList; - -// Pluck off n bytes from an array of buffers. -// Length is the combined lengths of all the buffers in the list. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromList(n, state) { - // nothing buffered - if (state.length === 0) return null; - - var ret; - if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) { - // read it all, truncate the list - if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.head.data;else ret = state.buffer.concat(state.length); - state.buffer.clear(); - } else { - // read part of list - ret = fromListPartial(n, state.buffer, state.decoder); - } - - return ret; -} - -// Extracts only enough buffered data to satisfy the amount requested. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function fromListPartial(n, list, hasStrings) { - var ret; - if (n < list.head.data.length) { - // slice is the same for buffers and strings - ret = list.head.data.slice(0, n); - list.head.data = list.head.data.slice(n); - } else if (n === list.head.data.length) { - // first chunk is a perfect match - ret = list.shift(); - } else { - // result spans more than one buffer - ret = hasStrings ? copyFromBufferString(n, list) : copyFromBuffer(n, list); - } - return ret; -} - -// Copies a specified amount of characters from the list of buffered data -// chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBufferString(n, list) { - var p = list.head; - var c = 1; - var ret = p.data; - n -= ret.length; - while (p = p.next) { - var str = p.data; - var nb = n > str.length ? str.length : n; - if (nb === str.length) ret += str;else ret += str.slice(0, n); - n -= nb; - if (n === 0) { - if (nb === str.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = str.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -// Copies a specified amount of bytes from the list of buffered data chunks. -// This function is designed to be inlinable, so please take care when making -// changes to the function body. -function copyFromBuffer(n, list) { - var ret = Buffer.allocUnsafe(n); - var p = list.head; - var c = 1; - p.data.copy(ret); - n -= p.data.length; - while (p = p.next) { - var buf = p.data; - var nb = n > buf.length ? buf.length : n; - buf.copy(ret, ret.length - n, 0, nb); - n -= nb; - if (n === 0) { - if (nb === buf.length) { - ++c; - if (p.next) list.head = p.next;else list.head = list.tail = null; - } else { - list.head = p; - p.data = buf.slice(nb); - } - break; - } - ++c; - } - list.length -= c; - return ret; -} - -function endReadable(stream) { - var state = stream._readableState; - - // If we get here before consuming all the bytes, then that is a - // bug in node. Should never happen. - if (state.length > 0) throw new Error('"endReadable()" called on non-empty stream'); - - if (!state.endEmitted) { - state.ended = true; - pna.nextTick(endReadableNT, state, stream); - } -} - -function endReadableNT(state, stream) { - // Check that we didn't get one last unshift. - if (!state.endEmitted && state.length === 0) { - state.endEmitted = true; - stream.readable = false; - stream.emit('end'); - } -} - -function indexOf(xs, x) { - for (var i = 0, l = xs.length; i < l; i++) { - if (xs[i] === x) return i; - } - return -1; -} - -/***/ }), -/* 278 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var bigInt = __webpack_require__(993); -var Stream = __webpack_require__(413); - -// Backwards compatibility for node versions < 8 -if (!Stream.Writable || !Stream.Writable.prototype.destroy) - Stream = __webpack_require__(279); - -var table; - -function generateTable() { - var poly = 0xEDB88320,c,n,k; - table = []; - for (n = 0; n < 256; n++) { - c = n; - for (k = 0; k < 8; k++) - c = (c & 1) ? poly ^ (c >>> 1) : c = c >>> 1; - table[n] = c >>> 0; - } -} - -function crc(ch,crc) { - if (!table) - generateTable(); - - if (ch.charCodeAt) - ch = ch.charCodeAt(0); - - return (bigInt(crc).shiftRight(8).and(0xffffff)).xor(table[bigInt(crc).xor(ch).and(0xff)]).value; -} - -function Decrypt() { - if (!(this instanceof Decrypt)) - return new Decrypt(); - - this.key0 = 305419896; - this.key1 = 591751049; - this.key2 = 878082192; -} - -Decrypt.prototype.update = function(h) { - this.key0 = crc(h,this.key0); - this.key1 = bigInt(this.key0).and(255).and(4294967295).add(this.key1) - this.key1 = bigInt(this.key1).multiply(134775813).add(1).and(4294967295).value; - this.key2 = crc(bigInt(this.key1).shiftRight(24).and(255), this.key2); -} - - -Decrypt.prototype.decryptByte = function(c) { - var k = bigInt(this.key2).or(2); - c = c ^ bigInt(k).multiply(bigInt(k^1)).shiftRight(8).and(255); - this.update(c); - return c; -}; - - Decrypt.prototype.stream = function() { - var stream = Stream.Transform(), - self = this; - - stream._transform = function(d,e,cb) { - for (var i = 0; i= 200 && status < 300; - } -}; - -defaults.headers = { - common: { - 'Accept': 'application/json, text/plain, */*' - } -}; - -utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) { - defaults.headers[method] = {}; -}); - -utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE); -}); - -module.exports = defaults; - - -/***/ }), -/* 286 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = getLastPage - -const getPage = __webpack_require__(937) - -function getLastPage (octokit, link, headers) { - return getPage(octokit, link, 'last', headers) -} - - -/***/ }), -/* 287 */ -/***/ (function(__unusedmodule, __unusedexports, __webpack_require__) { - -"use strict"; - - -const core = __webpack_require__(91); -const github = __webpack_require__(660); -const axios = __webpack_require__(396); -const unzip = __webpack_require__(717); -const context = github.context; -const minimatch = __webpack_require__(699); -const rulesetGlob = 'src/chrome/content/rules/*.xml'; - -let ProgressBar = __webpack_require__(343); -let alexaLabels = ['top-1m', 'top-100k', 'top-10k', 'top-1k', 'top-100']; -let alexa = []; -let regex = /^[0-9]+,(.+)/ -const alexa_csv = 'https://s3.amazonaws.com/alexa-static/top-1m.csv.zip'; - -// Grab Alexa data -axios({ - method: 'get', - url: alexa_csv, - responseType: 'stream' -}) - .then(function (response) { - response.data.pipe(unzip.Parse()) - .on('entry', function (entry) { - let bar = new ProgressBar('Processing Alexa Top 1M [:bar] :percent :etas', { - total: 100 - }); - - let lineReader = __webpack_require__(58).createInterface({ - input: entry, - }); - - let x = 0; - - lineReader.on('line', function (line) { - let domain = line.match(regex)[1]; - alexa.push(domain); - if(x % 10000 == 0) bar.tick(); - x++; - }); - - lineReader.on('close', function(){ - try { - run(alexa); // Intiates labelling - } catch (error) { - console.log(error); - } - }); - }) - }) - .catch(function (error) { - console.log(error); - }); - -function return_label(rank_num) { - let label; - if(rank_num < 100){ - label = "top-100"; - } else if(rank_num < 1000){ - label = "top-1k"; - } else if(rank_num < 10000){ - label = "top-10k"; - } else if(rank_num < 100000){ - label = "top-100k"; - } else { - label = "top-1m"; - } - return label; -} - -// Label PR if Needed -async function run(alexa) { - const token = core.getInput('token', { required: true }); - const client = new github.GitHub(token); - const pR = context.payload.pull_request; - - try { - const prNumber = pR.number - - pR.labels.forEach(element => { - if( alexaLabels.includes(element.name)) - return; - }); - - const response = await client.pulls.listFiles({ - ...context.repo, - pull_number: prNumber - }) - const fileList = response.data - - fileList.forEach(file => { - if(minimatch(file.filename, rulesetGlob)){ - console.log('Passed file match'); - - // Look at PR changes directly - let matches = file.patch.match(/((host)="([^"]|"")*")/g); - - // strip to main domain - if( matches !== null) { - if( alexa.includes(matches[0].slice(6,-1))) { - let index = (matches[0].slice(6,-1)) - let rank = alexa.indexOf(index); - - if(rank !== null) { - let determined_label = return_label(rank); - console.log('labelling Pull Request'); - client.issues.addLabels({ - ...context.repo, - issue_number: prNumber, - labels: [determined_label] - }); - } - } - } - } else { - console.log('failed file match, exiting'); - } - }); - } catch (err) { - core.error(err.stack) - core.setFailed(err.message) - } -} - - -/***/ }), -/* 288 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = __webpack_require__(413); - - -/***/ }), -/* 289 */, -/* 290 */, -/* 291 */, -/* 292 */, -/* 293 */ -/***/ (function(module) { - -module.exports = require("buffer"); - -/***/ }), -/* 294 */, -/* 295 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function(Promise, tryConvertToPromise) { -var util = __webpack_require__(143); -var CancellationError = Promise.CancellationError; -var errorObj = util.errorObj; - -function PassThroughHandlerContext(promise, type, handler) { - this.promise = promise; - this.type = type; - this.handler = handler; - this.called = false; - this.cancelPromise = null; -} - -PassThroughHandlerContext.prototype.isFinallyHandler = function() { - return this.type === 0; -}; - -function FinallyHandlerCancelReaction(finallyHandler) { - this.finallyHandler = finallyHandler; -} - -FinallyHandlerCancelReaction.prototype._resultCancelled = function() { - checkCancel(this.finallyHandler); -}; - -function checkCancel(ctx, reason) { - if (ctx.cancelPromise != null) { - if (arguments.length > 1) { - ctx.cancelPromise._reject(reason); - } else { - ctx.cancelPromise._cancel(); - } - ctx.cancelPromise = null; - return true; - } - return false; -} - -function succeed() { - return finallyHandler.call(this, this.promise._target()._settledValue()); -} -function fail(reason) { - if (checkCancel(this, reason)) return; - errorObj.e = reason; - return errorObj; -} -function finallyHandler(reasonOrValue) { - var promise = this.promise; - var handler = this.handler; - - if (!this.called) { - this.called = true; - var ret = this.isFinallyHandler() - ? handler.call(promise._boundValue()) - : handler.call(promise._boundValue(), reasonOrValue); - if (ret !== undefined) { - promise._setReturnedNonUndefined(); - var maybePromise = tryConvertToPromise(ret, promise); - if (maybePromise instanceof Promise) { - if (this.cancelPromise != null) { - if (maybePromise._isCancelled()) { - var reason = - new CancellationError("late cancellation observer"); - promise._attachExtraTrace(reason); - errorObj.e = reason; - return errorObj; - } else if (maybePromise.isPending()) { - maybePromise._attachCancellationCallback( - new FinallyHandlerCancelReaction(this)); - } - } - return maybePromise._then( - succeed, fail, undefined, this, undefined); - } - } - } - - if (promise.isRejected()) { - checkCancel(this); - errorObj.e = reasonOrValue; - return errorObj; - } else { - checkCancel(this); - return reasonOrValue; - } -} - -Promise.prototype._passThrough = function(handler, type, success, fail) { - if (typeof handler !== "function") return this.then(); - return this._then(success, - fail, - undefined, - new PassThroughHandlerContext(this, type, handler), - undefined); -}; - -Promise.prototype.lastly = -Promise.prototype["finally"] = function (handler) { - return this._passThrough(handler, - 0, - finallyHandler, - finallyHandler); -}; - -Promise.prototype.tap = function (handler) { - return this._passThrough(handler, 1, finallyHandler); -}; - -return PassThroughHandlerContext; -}; - - -/***/ }), -/* 296 */, -/* 297 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var Stream = __webpack_require__(413).Stream - -module.exports = legacy - -function legacy (fs) { - return { - ReadStream: ReadStream, - WriteStream: WriteStream - } - - function ReadStream (path, options) { - if (!(this instanceof ReadStream)) return new ReadStream(path, options); - - Stream.call(this); - - var self = this; - - this.path = path; - this.fd = null; - this.readable = true; - this.paused = false; - - this.flags = 'r'; - this.mode = 438; /*=0666*/ - this.bufferSize = 64 * 1024; - - options = options || {}; - - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - - if (this.encoding) this.setEncoding(this.encoding); - - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.end === undefined) { - this.end = Infinity; - } else if ('number' !== typeof this.end) { - throw TypeError('end must be a Number'); - } - - if (this.start > this.end) { - throw new Error('start must be <= end'); - } - - this.pos = this.start; - } - - if (this.fd !== null) { - process.nextTick(function() { - self._read(); - }); - return; - } - - fs.open(this.path, this.flags, this.mode, function (err, fd) { - if (err) { - self.emit('error', err); - self.readable = false; - return; - } - - self.fd = fd; - self.emit('open', fd); - self._read(); - }) - } - - function WriteStream (path, options) { - if (!(this instanceof WriteStream)) return new WriteStream(path, options); - - Stream.call(this); - - this.path = path; - this.fd = null; - this.writable = true; - - this.flags = 'w'; - this.encoding = 'binary'; - this.mode = 438; /*=0666*/ - this.bytesWritten = 0; - - options = options || {}; - - // Mixin options into this - var keys = Object.keys(options); - for (var index = 0, length = keys.length; index < length; index++) { - var key = keys[index]; - this[key] = options[key]; - } - - if (this.start !== undefined) { - if ('number' !== typeof this.start) { - throw TypeError('start must be a Number'); - } - if (this.start < 0) { - throw new Error('start must be >= zero'); - } - - this.pos = this.start; - } - - this.busy = false; - this._queue = []; - - if (this.fd === null) { - this._open = fs.open; - this._queue.push([this._open, this.path, this.flags, this.mode, undefined]); - this.flush(); - } - } -} - - -/***/ }), -/* 298 */, -/* 299 */, -/* 300 */, -/* 301 */, -/* 302 */, -/* 303 */, -/* 304 */, -/* 305 */, -/* 306 */, -/* 307 */ -/***/ (function(module) { - -module.exports = {"_args":[["@octokit/rest@16.43.1","/home/alexis/workenv/https-everywhere/.github/actions/https-everywhere-labeller"]],"_from":"@octokit/rest@16.43.1","_id":"@octokit/rest@16.43.1","_inBundle":false,"_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_location":"/@actions/github/@octokit/rest","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"@octokit/rest@16.43.1","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"16.43.1","saveSpec":null,"fetchSpec":"16.43.1"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_spec":"16.43.1","_where":"/home/alexis/workenv/https-everywhere/.github/actions/https-everywhere-labeller","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.43.1"}; - -/***/ }), -/* 308 */, -/* 309 */, -/* 310 */, -/* 311 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = authenticationBeforeRequest; - -const btoa = __webpack_require__(793); - -const withAuthorizationPrefix = __webpack_require__(116); - -function authenticationBeforeRequest(state, options) { - if (typeof state.auth === "string") { - options.headers.authorization = withAuthorizationPrefix(state.auth); - return; - } - - if (state.auth.username) { - const hash = btoa(`${state.auth.username}:${state.auth.password}`); - options.headers.authorization = `Basic ${hash}`; - if (state.otp) { - options.headers["x-github-otp"] = state.otp; - } - return; - } - - if (state.auth.clientId) { - // There is a special case for OAuth applications, when `clientId` and `clientSecret` is passed as - // Basic Authorization instead of query parameters. The only routes where that applies share the same - // URL though: `/applications/:client_id/tokens/:access_token`. - // - // 1. [Check an authorization](https://developer.github.com/v3/oauth_authorizations/#check-an-authorization) - // 2. [Reset an authorization](https://developer.github.com/v3/oauth_authorizations/#reset-an-authorization) - // 3. [Revoke an authorization for an application](https://developer.github.com/v3/oauth_authorizations/#revoke-an-authorization-for-an-application) - // - // We identify by checking the URL. It must merge both "/applications/:client_id/tokens/:access_token" - // as well as "/applications/123/tokens/token456" - if (/\/applications\/:?[\w_]+\/tokens\/:?[\w_]+($|\?)/.test(options.url)) { - const hash = btoa(`${state.auth.clientId}:${state.auth.clientSecret}`); - options.headers.authorization = `Basic ${hash}`; - return; - } - - options.url += options.url.indexOf("?") === -1 ? "?" : "&"; - options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`; - return; - } - - return Promise.resolve() - - .then(() => { - return state.auth(); - }) - - .then(authorization => { - options.headers.authorization = withAuthorizationPrefix(authorization); - }); -} - - -/***/ }), -/* 312 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -const path = __webpack_require__(622); -const which = __webpack_require__(488); -const pathKey = __webpack_require__(561)(); - -function resolveCommandAttempt(parsed, withoutPathExt) { - const cwd = process.cwd(); - const hasCustomCwd = parsed.options.cwd != null; - - // If a custom `cwd` was specified, we need to change the process cwd - // because `which` will do stat calls but does not support a custom cwd - if (hasCustomCwd) { - try { - process.chdir(parsed.options.cwd); - } catch (err) { - /* Empty */ - } - } - - let resolved; - - try { - resolved = which.sync(parsed.command, { - path: (parsed.options.env || process.env)[pathKey], - pathExt: withoutPathExt ? path.delimiter : undefined, - }); - } catch (e) { - /* Empty */ - } finally { - process.chdir(cwd); - } - - // If we successfully resolved, ensure that an absolute path is returned - // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it - if (resolved) { - resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved); - } - - return resolved; -} - -function resolveCommand(parsed) { - return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true); -} - -module.exports = resolveCommand; - - -/***/ }), -/* 313 */, -/* 314 */, -/* 315 */, -/* 316 */ -/***/ (function(module) { - -var toString = {}.toString; - -module.exports = Array.isArray || function (arr) { - return toString.call(arr) == '[object Array]'; -}; - - -/***/ }), -/* 317 */, -/* 318 */, -/* 319 */, -/* 320 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = Extract; - -var Parse = __webpack_require__(119); -var Writer = __webpack_require__(173).Writer; -var path = __webpack_require__(622); -var stream = __webpack_require__(413); -var duplexer2 = __webpack_require__(231); -var Promise = __webpack_require__(481); - -function Extract (opts) { - // make sure path is normalized before using it - opts.path = path.normalize(opts.path); - - var parser = new Parse(opts); - - var outStream = new stream.Writable({objectMode: true}); - outStream._write = function(entry, encoding, cb) { - - if (entry.type == 'Directory') return cb(); - - // to avoid zip slip (writing outside of the destination), we resolve - // the target path, and make sure it's nested in the intended - // destination, or not extract it otherwise. - var extractPath = path.join(opts.path, entry.path); - if (extractPath.indexOf(opts.path) != 0) { - return cb(); - } - - const writer = opts.getWriter ? opts.getWriter({path: extractPath}) : Writer({ path: extractPath }); - - entry.pipe(writer) - .on('error', cb) - .on('close', cb); - }; - - var extract = duplexer2(parser,outStream); - parser.once('crx-header', function(crxHeader) { - extract.crxHeader = crxHeader; - }); - - parser - .pipe(outStream) - .on('finish',function() { - extract.emit('close'); - }); - - extract.promise = function() { - return new Promise(function(resolve, reject) { - extract.on('close', resolve); - extract.on('error',reject); - }); - }; - - return extract; -} - - -/***/ }), -/* 321 */, -/* 322 */, -/* 323 */ -/***/ (function(__unusedmodule, exports) { - -"use strict"; - - -Object.defineProperty(exports, '__esModule', { value: true }); - -const VERSION = "1.0.0"; - -/** - * @param octokit Octokit instance - * @param options Options passed to Octokit constructor - */ - -function requestLog(octokit) { - octokit.hook.wrap("request", (request, options) => { - octokit.log.debug("request", options); - const start = Date.now(); - const requestOptions = octokit.request.endpoint.parse(options); - const path = requestOptions.url.replace(options.baseUrl, ""); - return request(options).then(response => { - octokit.log.info(`${requestOptions.method} ${path} - ${response.status} in ${Date.now() - start}ms`); - return response; - }).catch(error => { - octokit.log.info(`${requestOptions.method} ${path} - ${error.status} in ${Date.now() - start}ms`); - throw error; - }); - }); -} -requestLog.VERSION = VERSION; - -exports.requestLog = requestLog; -//# sourceMappingURL=index.js.map - - -/***/ }), -/* 324 */, -/* 325 */ -/***/ (function(module) { - -module.exports = class HttpError extends Error { - constructor (message, code, headers) { - super(message) - - // Maintains proper stack trace (only available on V8) - /* istanbul ignore next */ - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor) - } - - this.name = 'HttpError' - this.code = code - this.headers = headers - } -} - - -/***/ }), -/* 326 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = getPreviousPage - -const getPage = __webpack_require__(937) - -function getPreviousPage (octokit, link, headers) { - return getPage(octokit, link, 'prev', headers) -} - - -/***/ }), -/* 327 */, -/* 328 */, -/* 329 */, -/* 330 */, -/* 331 */ -/***/ (function(module, exports, __webpack_require__) { - - -/** - * This is the common logic for both the Node.js and web browser - * implementations of `debug()`. - * - * Expose `debug()` as the module. - */ - -exports = module.exports = createDebug.debug = createDebug['default'] = createDebug; -exports.coerce = coerce; -exports.disable = disable; -exports.enable = enable; -exports.enabled = enabled; -exports.humanize = __webpack_require__(467); - -/** - * Active `debug` instances. - */ -exports.instances = []; - -/** - * The currently active debug mode names, and names to skip. - */ - -exports.names = []; -exports.skips = []; - -/** - * Map of special "%n" handling functions, for the debug "format" argument. - * - * Valid key names are a single, lower or upper-case letter, i.e. "n" and "N". - */ - -exports.formatters = {}; - -/** - * Select a color. - * @param {String} namespace - * @return {Number} - * @api private - */ - -function selectColor(namespace) { - var hash = 0, i; - - for (i in namespace) { - hash = ((hash << 5) - hash) + namespace.charCodeAt(i); - hash |= 0; // Convert to 32bit integer - } - - return exports.colors[Math.abs(hash) % exports.colors.length]; -} - -/** - * Create a debugger with the given `namespace`. - * - * @param {String} namespace - * @return {Function} - * @api public - */ - -function createDebug(namespace) { - - var prevTime; - - function debug() { - // disabled? - if (!debug.enabled) return; - - var self = debug; - - // set `diff` timestamp - var curr = +new Date(); - var ms = curr - (prevTime || curr); - self.diff = ms; - self.prev = prevTime; - self.curr = curr; - prevTime = curr; - - // turn the `arguments` into a proper Array - var args = new Array(arguments.length); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i]; - } - - args[0] = exports.coerce(args[0]); - - if ('string' !== typeof args[0]) { - // anything else let's inspect with %O - args.unshift('%O'); - } - - // apply any `formatters` transformations - var index = 0; - args[0] = args[0].replace(/%([a-zA-Z%])/g, function(match, format) { - // if we encounter an escaped % then don't increase the array index - if (match === '%%') return match; - index++; - var formatter = exports.formatters[format]; - if ('function' === typeof formatter) { - var val = args[index]; - match = formatter.call(self, val); - - // now we need to remove `args[index]` since it's inlined in the `format` - args.splice(index, 1); - index--; - } - return match; - }); - - // apply env-specific formatting (colors, etc.) - exports.formatArgs.call(self, args); - - var logFn = debug.log || exports.log || console.log.bind(console); - logFn.apply(self, args); - } - - debug.namespace = namespace; - debug.enabled = exports.enabled(namespace); - debug.useColors = exports.useColors(); - debug.color = selectColor(namespace); - debug.destroy = destroy; - - // env-specific initialization logic for debug instances - if ('function' === typeof exports.init) { - exports.init(debug); - } - - exports.instances.push(debug); - - return debug; -} - -function destroy () { - var index = exports.instances.indexOf(this); - if (index !== -1) { - exports.instances.splice(index, 1); - return true; - } else { - return false; - } -} - -/** - * Enables a debug mode by namespaces. This can include modes - * separated by a colon and wildcards. - * - * @param {String} namespaces - * @api public - */ - -function enable(namespaces) { - exports.save(namespaces); - - exports.names = []; - exports.skips = []; - - var i; - var split = (typeof namespaces === 'string' ? namespaces : '').split(/[\s,]+/); - var len = split.length; - - for (i = 0; i < len; i++) { - if (!split[i]) continue; // ignore empty strings - namespaces = split[i].replace(/\*/g, '.*?'); - if (namespaces[0] === '-') { - exports.skips.push(new RegExp('^' + namespaces.substr(1) + '$')); - } else { - exports.names.push(new RegExp('^' + namespaces + '$')); - } - } - - for (i = 0; i < exports.instances.length; i++) { - var instance = exports.instances[i]; - instance.enabled = exports.enabled(instance.namespace); - } -} - -/** - * Disable debug output. - * - * @api public - */ - -function disable() { - exports.enable(''); -} - -/** - * Returns true if the given mode name is enabled, false otherwise. - * - * @param {String} name - * @return {Boolean} - * @api public - */ - -function enabled(name) { - if (name[name.length - 1] === '*') { - return true; - } - var i, len; - for (i = 0, len = exports.skips.length; i < len; i++) { - if (exports.skips[i].test(name)) { - return false; - } - } - for (i = 0, len = exports.names.length; i < len; i++) { - if (exports.names[i].test(name)) { - return true; - } - } - return false; -} - -/** - * Coerce `val`. - * - * @param {Mixed} val - * @return {Mixed} - * @api private - */ - -function coerce(val) { - if (val instanceof Error) return val.stack || val.message; - return val; -} - - -/***/ }), -/* 332 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(729); - -function InterceptorManager() { - this.handlers = []; -} - -/** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ -InterceptorManager.prototype.use = function use(fulfilled, rejected) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected - }); - return this.handlers.length - 1; -}; - -/** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - */ -InterceptorManager.prototype.eject = function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } -}; - -/** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - */ -InterceptorManager.prototype.forEach = function forEach(fn) { - utils.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); -}; - -module.exports = InterceptorManager; - - -/***/ }), -/* 333 */, -/* 334 */, -/* 335 */, -/* 336 */, -/* 337 */, -/* 338 */ -/***/ (function(module) { - -"use strict"; - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * @returns {string} The combined URL - */ -module.exports = function combineURLs(baseURL, relativeURL) { - return relativeURL - ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') - : baseURL; -}; - - -/***/ }), -/* 339 */, -/* 340 */, -/* 341 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -var utils = __webpack_require__(729); - -// Headers whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = [ - 'age', 'authorization', 'content-length', 'content-type', 'etag', - 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', - 'last-modified', 'location', 'max-forwards', 'proxy-authorization', - 'referer', 'retry-after', 'user-agent' -]; - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} headers Headers needing to be parsed - * @returns {Object} Headers parsed into an object - */ -module.exports = function parseHeaders(headers) { - var parsed = {}; - var key; - var val; - var i; - - if (!headers) { return parsed; } - - utils.forEach(headers.split('\n'), function parser(line) { - i = line.indexOf(':'); - key = utils.trim(line.substr(0, i)).toLowerCase(); - val = utils.trim(line.substr(i + 1)); - - if (key) { - if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) { - return; - } - if (key === 'set-cookie') { - parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]); - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - } - }); - - return parsed; -}; - - -/***/ }), -/* 342 */, -/* 343 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = __webpack_require__(673); - - -/***/ }), -/* 344 */, -/* 345 */, -/* 346 */ -/***/ (function(module) { - -/** - * lodash (Custom Build) - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991; - -/** `Object#toString` result references. */ -var funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - symbolTag = '[object Symbol]'; - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - reLeadingDot = /^\./, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; - -/** Used to match backslashes in property paths. */ -var reEscapeChar = /\\(\\)?/g; - -/** Used to detect host constructors (Safari). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -/** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function getValue(object, key) { - return object == null ? undefined : object[key]; -} - -/** - * Checks if `value` is a host object in IE < 9. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a host object, else `false`. - */ -function isHostObject(value) { - // Many host objects are `Object` objects that can coerce to strings - // despite having improperly defined `toString` methods. - var result = false; - if (value != null && typeof value.toString != 'function') { - try { - result = !!(value + ''); - } catch (e) {} - } - return result; -} - -/** Used for built-in method references. */ -var arrayProto = Array.prototype, - funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to detect overreaching core-js shims. */ -var coreJsData = root['__core-js_shared__']; - -/** Used to detect methods masquerading as native. */ -var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; -}()); - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var objectToString = objectProto.toString; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/** Built-in value references. */ -var Symbol = root.Symbol, - splice = arrayProto.splice; - -/* Built-in method references that are verified to be native. */ -var Map = getNative(root, 'Map'), - nativeCreate = getNative(Object, 'create'); - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Hash(entries) { - var index = -1, - length = entries ? entries.length : 0; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ -function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; -} - -/** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function hashDelete(key) { - return this.has(key) && delete this.__data__[key]; -} - -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; -} - -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function hashHas(key) { - var data = this.__data__; - return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); -} - -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ -function hashSet(key, value) { - var data = this.__data__; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; -} - -// Add methods to `Hash`. -Hash.prototype.clear = hashClear; -Hash.prototype['delete'] = hashDelete; -Hash.prototype.get = hashGet; -Hash.prototype.has = hashHas; -Hash.prototype.set = hashSet; - -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function ListCache(entries) { - var index = -1, - length = entries ? entries.length : 0; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -/** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ -function listCacheClear() { - this.__data__ = []; -} - -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - return true; -} - -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; -} - -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; -} - -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ -function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; -} - -// Add methods to `ListCache`. -ListCache.prototype.clear = listCacheClear; -ListCache.prototype['delete'] = listCacheDelete; -ListCache.prototype.get = listCacheGet; -ListCache.prototype.has = listCacheHas; -ListCache.prototype.set = listCacheSet; - -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function MapCache(entries) { - var index = -1, - length = entries ? entries.length : 0; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ -function mapCacheClear() { - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; -} - -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function mapCacheDelete(key) { - return getMapData(this, key)['delete'](key); -} - -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function mapCacheGet(key) { - return getMapData(this, key).get(key); -} - -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function mapCacheHas(key) { - return getMapData(this, key).has(key); -} - -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ -function mapCacheSet(key, value) { - getMapData(this, key).set(key, value); - return this; -} - -// Add methods to `MapCache`. -MapCache.prototype.clear = mapCacheClear; -MapCache.prototype['delete'] = mapCacheDelete; -MapCache.prototype.get = mapCacheGet; -MapCache.prototype.has = mapCacheHas; -MapCache.prototype.set = mapCacheSet; - -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - object[key] = value; - } -} - -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; -} - -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ -function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = (isFunction(value) || isHostObject(value)) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); -} - -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ -function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = isKey(path, object) ? [path] : castPath(path); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; -} - -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast property path array. - */ -function castPath(value) { - return isArray(value) ? value : stringToPath(value); -} - -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ -function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; -} - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; -} - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - length = length == null ? MAX_SAFE_INTEGER : length; - return !!length && - (typeof value == 'number' || reIsUint.test(value)) && - (value > -1 && value % 1 == 0 && value < length); -} - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); -} - -/** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ -function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); -} - -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ -function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); -} - -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ -var stringToPath = memoize(function(string) { - string = toString(string); - - var result = []; - if (reLeadingDot.test(string)) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, string) { - result.push(quote ? string.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; -}); - -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ -function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to process. - * @returns {string} Returns the source code. - */ -function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; -} - -/** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ -function memoize(func, resolver) { - if (typeof func != 'function' || (resolver && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result); - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; -} - -// Assign cache to `_.memoize`. -memoize.Cache = MapCache; - -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || (value !== value && other !== other); -} - -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray = Array.isArray; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 8-9 which returns 'object' for typed array and other constructors. - var tag = isObject(value) ? objectToString.call(value) : ''; - return tag == funcTag || tag == genTag; -} - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && objectToString.call(value) == symbolTag); -} - -/** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {string} Returns the string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ -function toString(value) { - return value == null ? '' : baseToString(value); -} - -/** - * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, - * it's created. Arrays are created for missing index properties while objects - * are created for all other missing properties. Use `_.setWith` to customize - * `path` creation. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, ['x', '0', 'y', 'z'], 5); - * console.log(object.x[0].y.z); - * // => 5 - */ -function set(object, path, value) { - return object == null ? object : baseSet(object, path, value); -} - -module.exports = set; - - -/***/ }), -/* 347 */, -/* 348 */, -/* 349 */, -/* 350 */, -/* 351 */, -/* 352 */, -/* 353 */, -/* 354 */ -/***/ (function(module) { - -module.exports = eval("require")("encoding"); - - -/***/ }), -/* 355 */, -/* 356 */, -/* 357 */ -/***/ (function(module) { - -module.exports = require("assert"); - -/***/ }), -/* 358 */, -/* 359 */, -/* 360 */, -/* 361 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -/** - * Detect Electron renderer process, which is node, but we should - * treat as a browser. - */ - -if (typeof process === 'undefined' || process.type === 'renderer') { - module.exports = __webpack_require__(273); -} else { - module.exports = __webpack_require__(35); -} - - -/***/ }), -/* 362 */, -/* 363 */, -/* 364 */, -/* 365 */, -/* 366 */, -/* 367 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var Stream = __webpack_require__(413); -var util = __webpack_require__(669); - -// Backwards compatibility for node versions < 8 -if (!Stream.Writable || !Stream.Writable.prototype.destroy) - Stream = __webpack_require__(279); - -function NoopStream() { - if (!(this instanceof NoopStream)) { - return new NoopStream(); - } - Stream.Transform.call(this); -} - -util.inherits(NoopStream,Stream.Transform); - -NoopStream.prototype._transform = function(d,e,cb) { cb() ;}; - -module.exports = NoopStream; - -/***/ }), -/* 368 */, -/* 369 */, -/* 370 */, -/* 371 */, -/* 372 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -// the parent class for all fstreams. - -module.exports = Abstract - -var Stream = __webpack_require__(413).Stream -var inherits = __webpack_require__(392) - -function Abstract () { - Stream.call(this) -} - -inherits(Abstract, Stream) - -Abstract.prototype.on = function (ev, fn) { - if (ev === 'ready' && this.ready) { - process.nextTick(fn.bind(this)) - } else { - Stream.prototype.on.call(this, ev, fn) - } - return this -} - -Abstract.prototype.abort = function () { - this._aborted = true - this.emit('abort') -} - -Abstract.prototype.destroy = function () {} - -Abstract.prototype.warn = function (msg, code) { - var self = this - var er = decorate(msg, code, self) - if (!self.listeners('warn')) { - console.error('%s %s\n' + - 'path = %s\n' + - 'syscall = %s\n' + - 'fstream_type = %s\n' + - 'fstream_path = %s\n' + - 'fstream_unc_path = %s\n' + - 'fstream_class = %s\n' + - 'fstream_stack =\n%s\n', - code || 'UNKNOWN', - er.stack, - er.path, - er.syscall, - er.fstream_type, - er.fstream_path, - er.fstream_unc_path, - er.fstream_class, - er.fstream_stack.join('\n')) - } else { - self.emit('warn', er) - } -} - -Abstract.prototype.info = function (msg, code) { - this.emit('info', msg, code) -} - -Abstract.prototype.error = function (msg, code, th) { - var er = decorate(msg, code, this) - if (th) throw er - else this.emit('error', er) -} - -function decorate (er, code, self) { - if (!(er instanceof Error)) er = new Error(er) - er.code = er.code || code - er.path = er.path || self.path - er.fstream_type = er.fstream_type || self.type - er.fstream_path = er.fstream_path || self.path - if (self._path !== self.path) { - er.fstream_unc_path = er.fstream_unc_path || self._path - } - if (self.linkpath) { - er.fstream_linkpath = er.fstream_linkpath || self.linkpath - } - er.fstream_class = er.fstream_class || self.constructor.name - er.fstream_stack = er.fstream_stack || - new Error().stack.split(/\n/).slice(3).map(function (s) { - return s.replace(/^ {4}at /, '') - }) - - return er -} - - -/***/ }), -/* 373 */, -/* 374 */, -/* 375 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - - -/** - * For Node.js, simply re-export the core `util.deprecate` function. - */ - -module.exports = __webpack_require__(669).deprecate; - - -/***/ }), -/* 376 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -// Older verions of Node.js might not have `util.getSystemErrorName()`. -// In that case, fall back to a deprecated internal. -const util = __webpack_require__(669); - -let uv; - -if (typeof util.getSystemErrorName === 'function') { - module.exports = util.getSystemErrorName; -} else { - try { - uv = process.binding('uv'); - - if (typeof uv.errname !== 'function') { - throw new TypeError('uv.errname is not a function'); - } - } catch (err) { - console.error('execa/lib/errname: unable to establish process.binding(\'uv\')', err); - uv = null; - } - - module.exports = code => errname(uv, code); -} - -// Used for testing the fallback behavior -module.exports.__test__ = errname; - -function errname(uv, code) { - if (uv) { - return uv.errname(code); - } - - if (!(code < 0)) { - throw new Error('err >= 0'); - } - - return `Unknown system error ${code}`; -} - - - -/***/ }), -/* 377 */, -/* 378 */, -/* 379 */, -/* 380 */, -/* 381 */, -/* 382 */, -/* 383 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = realpath -realpath.realpath = realpath -realpath.sync = realpathSync -realpath.realpathSync = realpathSync -realpath.monkeypatch = monkeypatch -realpath.unmonkeypatch = unmonkeypatch - -var fs = __webpack_require__(747) -var origRealpath = fs.realpath -var origRealpathSync = fs.realpathSync - -var version = process.version -var ok = /^v[0-5]\./.test(version) -var old = __webpack_require__(989) - -function newError (er) { - return er && er.syscall === 'realpath' && ( - er.code === 'ELOOP' || - er.code === 'ENOMEM' || - er.code === 'ENAMETOOLONG' - ) -} - -function realpath (p, cache, cb) { - if (ok) { - return origRealpath(p, cache, cb) - } - - if (typeof cache === 'function') { - cb = cache - cache = null - } - origRealpath(p, cache, function (er, result) { - if (newError(er)) { - old.realpath(p, cache, cb) - } else { - cb(er, result) - } - }) -} - -function realpathSync (p, cache) { - if (ok) { - return origRealpathSync(p, cache) - } - - try { - return origRealpathSync(p, cache) - } catch (er) { - if (newError(er)) { - return old.realpathSync(p, cache) - } else { - throw er - } - } -} - -function monkeypatch () { - fs.realpath = realpath - fs.realpathSync = realpathSync -} - -function unmonkeypatch () { - fs.realpath = origRealpath - fs.realpathSync = origRealpathSync -} - - -/***/ }), -/* 384 */, -/* 385 */, -/* 386 */, -/* 387 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -var shebangRegex = __webpack_require__(817); - -module.exports = function (str) { - var match = str.match(shebangRegex); - - if (!match) { - return null; - } - - var arr = match[0].replace(/#! ?/, '').split(' '); - var bin = arr[0].split('/').pop(); - var arg = arr[1]; - - return (bin === 'env' ? - arg : - bin + (arg ? ' ' + arg : '') - ); -}; - - -/***/ }), -/* 388 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -// a passthrough stream. -// basically just the most minimal sort of Transform stream. -// Every written chunk gets output as-is. - - - -module.exports = PassThrough; - -var Transform = __webpack_require__(171); - -/**/ -var util = Object.create(__webpack_require__(144)); -util.inherits = __webpack_require__(392); -/**/ - -util.inherits(PassThrough, Transform); - -function PassThrough(options) { - if (!(this instanceof PassThrough)) return new PassThrough(options); - - Transform.call(this, options); -} - -PassThrough.prototype._transform = function (chunk, encoding, cb) { - cb(null, chunk); -}; - -/***/ }), -/* 389 */, -/* 390 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -var fs = __webpack_require__(747) -var polyfills = __webpack_require__(86) -var legacy = __webpack_require__(297) -var clone = __webpack_require__(715) - -var util = __webpack_require__(669) - -/* istanbul ignore next - node 0.x polyfill */ -var gracefulQueue -var previousSymbol - -/* istanbul ignore else - node 0.x polyfill */ -if (typeof Symbol === 'function' && typeof Symbol.for === 'function') { - gracefulQueue = Symbol.for('graceful-fs.queue') - // This is used in testing by future versions - previousSymbol = Symbol.for('graceful-fs.previous') -} else { - gracefulQueue = '___graceful-fs.queue' - previousSymbol = '___graceful-fs.previous' -} - -function noop () {} - -function publishQueue(context, queue) { - Object.defineProperty(context, gracefulQueue, { - get: function() { - return queue - } - }) -} - -var debug = noop -if (util.debuglog) - debug = util.debuglog('gfs4') -else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) - debug = function() { - var m = util.format.apply(util, arguments) - m = 'GFS4: ' + m.split(/\n/).join('\nGFS4: ') - console.error(m) - } - -// Once time initialization -if (!fs[gracefulQueue]) { - // This queue can be shared by multiple loaded instances - var queue = global[gracefulQueue] || [] - publishQueue(fs, queue) - - // Patch fs.close/closeSync to shared queue version, because we need - // to retry() whenever a close happens *anywhere* in the program. - // This is essential when multiple graceful-fs instances are - // in play at the same time. - fs.close = (function (fs$close) { - function close (fd, cb) { - return fs$close.call(fs, fd, function (err) { - // This function uses the graceful-fs shared queue - if (!err) { - retry() - } - - if (typeof cb === 'function') - cb.apply(this, arguments) - }) - } - - Object.defineProperty(close, previousSymbol, { - value: fs$close - }) - return close - })(fs.close) - - fs.closeSync = (function (fs$closeSync) { - function closeSync (fd) { - // This function uses the graceful-fs shared queue - fs$closeSync.apply(fs, arguments) - retry() - } - - Object.defineProperty(closeSync, previousSymbol, { - value: fs$closeSync - }) - return closeSync - })(fs.closeSync) - - if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || '')) { - process.on('exit', function() { - debug(fs[gracefulQueue]) - __webpack_require__(357).equal(fs[gracefulQueue].length, 0) - }) - } -} - -if (!global[gracefulQueue]) { - publishQueue(global, fs[gracefulQueue]); -} - -module.exports = patch(clone(fs)) -if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs.__patched) { - module.exports = patch(fs) - fs.__patched = true; -} - -function patch (fs) { - // Everything that references the open() function needs to be in here - polyfills(fs) - fs.gracefulify = patch - - fs.createReadStream = createReadStream - fs.createWriteStream = createWriteStream - var fs$readFile = fs.readFile - fs.readFile = readFile - function readFile (path, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$readFile(path, options, cb) - - function go$readFile (path, options, cb) { - return fs$readFile(path, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readFile, [path, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$writeFile = fs.writeFile - fs.writeFile = writeFile - function writeFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$writeFile(path, data, options, cb) - - function go$writeFile (path, data, options, cb) { - return fs$writeFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$writeFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$appendFile = fs.appendFile - if (fs$appendFile) - fs.appendFile = appendFile - function appendFile (path, data, options, cb) { - if (typeof options === 'function') - cb = options, options = null - - return go$appendFile(path, data, options, cb) - - function go$appendFile (path, data, options, cb) { - return fs$appendFile(path, data, options, function (err) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$appendFile, [path, data, options, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - var fs$readdir = fs.readdir - fs.readdir = readdir - function readdir (path, options, cb) { - var args = [path] - if (typeof options !== 'function') { - args.push(options) - } else { - cb = options - } - args.push(go$readdir$cb) - - return go$readdir(args) - - function go$readdir$cb (err, files) { - if (files && files.sort) - files.sort() - - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$readdir, [args]]) - - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - } - } - - function go$readdir (args) { - return fs$readdir.apply(fs, args) - } - - if (process.version.substr(0, 4) === 'v0.8') { - var legStreams = legacy(fs) - ReadStream = legStreams.ReadStream - WriteStream = legStreams.WriteStream - } - - var fs$ReadStream = fs.ReadStream - if (fs$ReadStream) { - ReadStream.prototype = Object.create(fs$ReadStream.prototype) - ReadStream.prototype.open = ReadStream$open - } - - var fs$WriteStream = fs.WriteStream - if (fs$WriteStream) { - WriteStream.prototype = Object.create(fs$WriteStream.prototype) - WriteStream.prototype.open = WriteStream$open - } - - Object.defineProperty(fs, 'ReadStream', { - get: function () { - return ReadStream - }, - set: function (val) { - ReadStream = val - }, - enumerable: true, - configurable: true - }) - Object.defineProperty(fs, 'WriteStream', { - get: function () { - return WriteStream - }, - set: function (val) { - WriteStream = val - }, - enumerable: true, - configurable: true - }) - - // legacy names - var FileReadStream = ReadStream - Object.defineProperty(fs, 'FileReadStream', { - get: function () { - return FileReadStream - }, - set: function (val) { - FileReadStream = val - }, - enumerable: true, - configurable: true - }) - var FileWriteStream = WriteStream - Object.defineProperty(fs, 'FileWriteStream', { - get: function () { - return FileWriteStream - }, - set: function (val) { - FileWriteStream = val - }, - enumerable: true, - configurable: true - }) - - function ReadStream (path, options) { - if (this instanceof ReadStream) - return fs$ReadStream.apply(this, arguments), this - else - return ReadStream.apply(Object.create(ReadStream.prototype), arguments) - } - - function ReadStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - if (that.autoClose) - that.destroy() - - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - that.read() - } - }) - } - - function WriteStream (path, options) { - if (this instanceof WriteStream) - return fs$WriteStream.apply(this, arguments), this - else - return WriteStream.apply(Object.create(WriteStream.prototype), arguments) - } - - function WriteStream$open () { - var that = this - open(that.path, that.flags, that.mode, function (err, fd) { - if (err) { - that.destroy() - that.emit('error', err) - } else { - that.fd = fd - that.emit('open', fd) - } - }) - } - - function createReadStream (path, options) { - return new fs.ReadStream(path, options) - } - - function createWriteStream (path, options) { - return new fs.WriteStream(path, options) - } - - var fs$open = fs.open - fs.open = open - function open (path, flags, mode, cb) { - if (typeof mode === 'function') - cb = mode, mode = null - - return go$open(path, flags, mode, cb) - - function go$open (path, flags, mode, cb) { - return fs$open(path, flags, mode, function (err, fd) { - if (err && (err.code === 'EMFILE' || err.code === 'ENFILE')) - enqueue([go$open, [path, flags, mode, cb]]) - else { - if (typeof cb === 'function') - cb.apply(this, arguments) - retry() - } - }) - } - } - - return fs -} - -function enqueue (elem) { - debug('ENQUEUE', elem[0].name, elem[1]) - fs[gracefulQueue].push(elem) -} - -function retry () { - var elem = fs[gracefulQueue].shift() - if (elem) { - debug('RETRY', elem[0].name, elem[1]) - elem[0].apply(null, elem[1]) - } -} - - -/***/ }), -/* 391 */, -/* 392 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -try { - var util = __webpack_require__(669); - if (typeof util.inherits !== 'function') throw ''; - module.exports = util.inherits; -} catch (e) { - module.exports = __webpack_require__(596); -} - - -/***/ }), -/* 393 */, -/* 394 */, -/* 395 */, -/* 396 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -module.exports = __webpack_require__(180); - -/***/ }), -/* 397 */, -/* 398 */, -/* 399 */ -/***/ (function(module) { - -"use strict"; - - -/** - * A `Cancel` is an object that is thrown when an operation is canceled. - * - * @class - * @param {string=} message The message. - */ -function Cancel(message) { - this.message = message; -} - -Cancel.prototype.toString = function toString() { - return 'Cancel' + (this.message ? ': ' + this.message : ''); -}; - -Cancel.prototype.__CANCEL__ = true; - -module.exports = Cancel; - - -/***/ }), -/* 400 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = -function(Promise, PromiseArray, tryConvertToPromise, INTERNAL, async, - getDomain) { -var util = __webpack_require__(143); -var canEvaluate = util.canEvaluate; -var tryCatch = util.tryCatch; -var errorObj = util.errorObj; -var reject; - -if (true) { -if (canEvaluate) { - var thenCallback = function(i) { - return new Function("value", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = value; \n\ - holder.checkFulfillment(this); \n\ - ".replace(/Index/g, i)); - }; - - var promiseSetter = function(i) { - return new Function("promise", "holder", " \n\ - 'use strict'; \n\ - holder.pIndex = promise; \n\ - ".replace(/Index/g, i)); - }; - - var generateHolderClass = function(total) { - var props = new Array(total); - for (var i = 0; i < props.length; ++i) { - props[i] = "this.p" + (i+1); - } - var assignment = props.join(" = ") + " = null;"; - var cancellationCode= "var promise;\n" + props.map(function(prop) { - return " \n\ - promise = " + prop + "; \n\ - if (promise instanceof Promise) { \n\ - promise.cancel(); \n\ - } \n\ - "; - }).join("\n"); - var passedArguments = props.join(", "); - var name = "Holder$" + total; - - - var code = "return function(tryCatch, errorObj, Promise, async) { \n\ - 'use strict'; \n\ - function [TheName](fn) { \n\ - [TheProperties] \n\ - this.fn = fn; \n\ - this.asyncNeeded = true; \n\ - this.now = 0; \n\ - } \n\ - \n\ - [TheName].prototype._callFunction = function(promise) { \n\ - promise._pushContext(); \n\ - var ret = tryCatch(this.fn)([ThePassedArguments]); \n\ - promise._popContext(); \n\ - if (ret === errorObj) { \n\ - promise._rejectCallback(ret.e, false); \n\ - } else { \n\ - promise._resolveCallback(ret); \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype.checkFulfillment = function(promise) { \n\ - var now = ++this.now; \n\ - if (now === [TheTotal]) { \n\ - if (this.asyncNeeded) { \n\ - async.invoke(this._callFunction, this, promise); \n\ - } else { \n\ - this._callFunction(promise); \n\ - } \n\ - \n\ - } \n\ - }; \n\ - \n\ - [TheName].prototype._resultCancelled = function() { \n\ - [CancellationCode] \n\ - }; \n\ - \n\ - return [TheName]; \n\ - }(tryCatch, errorObj, Promise, async); \n\ - "; - - code = code.replace(/\[TheName\]/g, name) - .replace(/\[TheTotal\]/g, total) - .replace(/\[ThePassedArguments\]/g, passedArguments) - .replace(/\[TheProperties\]/g, assignment) - .replace(/\[CancellationCode\]/g, cancellationCode); - - return new Function("tryCatch", "errorObj", "Promise", "async", code) - (tryCatch, errorObj, Promise, async); - }; - - var holderClasses = []; - var thenCallbacks = []; - var promiseSetters = []; - - for (var i = 0; i < 8; ++i) { - holderClasses.push(generateHolderClass(i + 1)); - thenCallbacks.push(thenCallback(i + 1)); - promiseSetters.push(promiseSetter(i + 1)); - } - - reject = function (reason) { - this._reject(reason); - }; -}} - -Promise.join = function () { - var last = arguments.length - 1; - var fn; - if (last > 0 && typeof arguments[last] === "function") { - fn = arguments[last]; - if (true) { - if (last <= 8 && canEvaluate) { - var ret = new Promise(INTERNAL); - ret._captureStackTrace(); - var HolderClass = holderClasses[last - 1]; - var holder = new HolderClass(fn); - var callbacks = thenCallbacks; - - for (var i = 0; i < last; ++i) { - var maybePromise = tryConvertToPromise(arguments[i], ret); - if (maybePromise instanceof Promise) { - maybePromise = maybePromise._target(); - var bitField = maybePromise._bitField; - ; - if (((bitField & 50397184) === 0)) { - maybePromise._then(callbacks[i], reject, - undefined, ret, holder); - promiseSetters[i](maybePromise, holder); - holder.asyncNeeded = false; - } else if (((bitField & 33554432) !== 0)) { - callbacks[i].call(ret, - maybePromise._value(), holder); - } else if (((bitField & 16777216) !== 0)) { - ret._reject(maybePromise._reason()); - } else { - ret._cancel(); - } - } else { - callbacks[i].call(ret, maybePromise, holder); - } - } - - if (!ret._isFateSealed()) { - if (holder.asyncNeeded) { - var domain = getDomain(); - if (domain !== null) { - holder.fn = util.domainBind(domain, holder.fn); - } - } - ret._setAsyncGuaranteed(); - ret._setOnCancel(holder); - } - return ret; - } - } - } - var $_len = arguments.length;var args = new Array($_len); for(var $_i = 0; $_i < $_len; ++$_i) {args[$_i] = arguments[$_i];}; - if (fn) args.pop(); - var ret = new PromiseArray(args).promise(); - return fn !== undefined ? ret.spread(fn) : ret; -}; - -}; - - -/***/ }), -/* 401 */, -/* 402 */, -/* 403 */, -/* 404 */, -/* 405 */, -/* 406 */ -/***/ (function(module) { - -"use strict"; - -module.exports = function(Promise, INTERNAL) { -var PromiseMap = Promise.map; - -Promise.prototype.filter = function (fn, options) { - return PromiseMap(this, fn, options, INTERNAL); -}; - -Promise.filter = function (promises, fn, options) { - return PromiseMap(promises, fn, options, INTERNAL); -}; -}; - - -/***/ }), -/* 407 */, -/* 408 */, -/* 409 */, -/* 410 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -const factory = __webpack_require__(121); - -module.exports = factory(); - - -/***/ }), -/* 411 */, -/* 412 */, -/* 413 */ -/***/ (function(module) { - -module.exports = require("stream"); - -/***/ }), -/* 414 */, -/* 415 */, -/* 416 */, -/* 417 */, -/* 418 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - - -/**/ - -var pna = __webpack_require__(583); -/**/ - -// undocumented cb() API, needed for core, not for public API -function destroy(err, cb) { - var _this = this; - - var readableDestroyed = this._readableState && this._readableState.destroyed; - var writableDestroyed = this._writableState && this._writableState.destroyed; - - if (readableDestroyed || writableDestroyed) { - if (cb) { - cb(err); - } else if (err && (!this._writableState || !this._writableState.errorEmitted)) { - pna.nextTick(emitErrorNT, this, err); - } - return this; - } - - // we set destroyed to true before firing error callbacks in order - // to make it re-entrance safe in case destroy() is called within callbacks - - if (this._readableState) { - this._readableState.destroyed = true; - } - - // if this is a duplex stream mark the writable part as destroyed as well - if (this._writableState) { - this._writableState.destroyed = true; - } - - this._destroy(err || null, function (err) { - if (!cb && err) { - pna.nextTick(emitErrorNT, _this, err); - if (_this._writableState) { - _this._writableState.errorEmitted = true; - } - } else if (cb) { - cb(err); - } - }); - - return this; -} - -function undestroy() { - if (this._readableState) { - this._readableState.destroyed = false; - this._readableState.reading = false; - this._readableState.ended = false; - this._readableState.endEmitted = false; - } - - if (this._writableState) { - this._writableState.destroyed = false; - this._writableState.ended = false; - this._writableState.ending = false; - this._writableState.finished = false; - this._writableState.errorEmitted = false; - } -} - -function emitErrorNT(self, err) { - self.emit('error', err); -} - -module.exports = { - destroy: destroy, - undestroy: undestroy -}; - -/***/ }), -/* 419 */, -/* 420 */, -/* 421 */, -/* 422 */, -/* 423 */, -/* 424 */, -/* 425 */ -/***/ (function(module, __unusedexports, __webpack_require__) { - -"use strict"; - -module.exports = function( - Promise, INTERNAL, tryConvertToPromise, apiRejection) { -var util = __webpack_require__(143); - -var raceLater = function (promise) { - return promise.then(function(array) { - return race(array, promise); - }); -}; - -function race(promises, parent) { - var maybePromise = tryConvertToPromise(promises); - - if (maybePromise instanceof Promise) { - return raceLater(maybePromise); - } else { - promises = util.asArray(promises); - if (promises === null) - return apiRejection("expecting an array or an iterable object but got " + util.classString(promises)); - } - - var ret = new Promise(INTERNAL); - if (parent !== undefined) { - ret._propagateFrom(parent, 3); - } - var fulfill = ret._fulfill; - var reject = ret._reject; - for (var i = 0, len = promises.length; i < len; ++i) { - var val = promises[i]; - - if (val === undefined && !(i in promises)) { - continue; - } - - Promise.cast(val)._then(fulfill, reject, undefined, ret, null); - } - return ret; -} - -Promise.race = function (promises) { - return race(promises, undefined); -}; - -Promise.prototype.race = function () { - return race(this, undefined); -}; - -}; - - -/***/ }), -/* 426 */, -/* 427 */ -/***/ (function() { - -(function (global, undefined) { - "use strict"; - - if (global.setImmediate) { - return; - } - - var nextHandle = 1; // Spec says greater than zero - var tasksByHandle = {}; - var currentlyRunningATask = false; - var doc = global.document; - var registerImmediate; - - function setImmediate(callback) { - // Callback can either be a function or a string - if (typeof callback !== "function") { - callback = new Function("" + callback); - } - // Copy function arguments - var args = new Array(arguments.length - 1); - for (var i = 0; i < args.length; i++) { - args[i] = arguments[i + 1]; - } - // Store and register the task - var task = { callback: callback, args: args }; - tasksByHandle[nextHandle] = task; - registerImmediate(nextHandle); - return nextHandle++; - } - - function clearImmediate(handle) { - delete tasksByHandle[handle]; - } - - function run(task) { - var callback = task.callback; - var args = task.args; - switch (args.length) { - case 0: - callback(); - break; - case 1: - callback(args[0]); - break; - case 2: - callback(args[0], args[1]); - break; - case 3: - callback(args[0], args[1], args[2]); - break; - default: - callback.apply(undefined, args); - break; - } - } - - function runIfPresent(handle) { - // From the spec: "Wait until any invocations of this algorithm started before this one have completed." - // So if we're currently running a task, we'll need to delay this invocation. - if (currentlyRunningATask) { - // Delay by doing a setTimeout. setImmediate was tried instead, but in Firefox 7 it generated a - // "too much recursion" error. - setTimeout(runIfPresent, 0, handle); - } else { - var task = tasksByHandle[handle]; - if (task) { - currentlyRunningATask = true; - try { - run(task); - } finally { - clearImmediate(handle); - currentlyRunningATask = false; - } - } - } - } - - function installNextTickImplementation() { - registerImmediate = function(handle) { - process.nextTick(function () { runIfPresent(handle); }); - }; - } - - function canUsePostMessage() { - // The test against `importScripts` prevents this implementation from being installed inside a web worker, - // where `global.postMessage` means something completely different and can't be used for this purpose. - if (global.postMessage && !global.importScripts) { - var postMessageIsAsynchronous = true; - var oldOnMessage = global.onmessage; - global.onmessage = function() { - postMessageIsAsynchronous = false; - }; - global.postMessage("", "*"); - global.onmessage = oldOnMessage; - return postMessageIsAsynchronous; - } - } - - function installPostMessageImplementation() { - // Installs an event handler on `global` for the `message` event: see - // * https://developer.mozilla.org/en/DOM/window.postMessage - // * http://www.whatwg.org/specs/web-apps/current-work/multipage/comms.html#crossDocumentMessages - - var messagePrefix = "setImmediate$" + Math.random() + "$"; - var onGlobalMessage = function(event) { - if (event.source === global && - typeof event.data === "string" && - event.data.indexOf(messagePrefix) === 0) { - runIfPresent(+event.data.slice(messagePrefix.length)); - } - }; - - if (global.addEventListener) { - global.addEventListener("message", onGlobalMessage, false); - } else { - global.attachEvent("onmessage", onGlobalMessage); - } - - registerImmediate = function(handle) { - global.postMessage(messagePrefix + handle, "*"); - }; - } - - function installMessageChannelImplementation() { - var channel = new MessageChannel(); - channel.port1.onmessage = function(event) { - var handle = event.data; - runIfPresent(handle); - }; - - registerImmediate = function(handle) { - channel.port2.postMessage(handle); - }; - } - - function installReadyStateChangeImplementation() { - var html = doc.documentElement; - registerImmediate = function(handle) { - // Create a - - - +
+ + +
+ + + diff --git a/chromium/pages/cancel/style.css b/chromium/pages/cancel/style.css index f28b21b4b0ab..aeba151a0749 100644 --- a/chromium/pages/cancel/style.css +++ b/chromium/pages/cancel/style.css @@ -1,13 +1,33 @@ +@import "../main.css"; + body { - margin-top: 6em; + display: grid; + grid-template-columns: 1fr 1fr 1fr; + margin: 2% auto; font-size: 12pt; font-family: sans-serif; line-height: 150%; + row-gap: 16px; } -.content { - margin: auto; - max-width: 600px; +/*--------- +# GRID LAYOUT +---------*/ +.banner { + grid-column: 2; + grid-row: 1; +} +.explainer { + grid-column: 2; + grid-row: 2; +} +.copy_block { + grid-column: 2; + grid-row: 3; +} +.button_options { + grid-column: 2; + grid-row: 4; } h1 { @@ -26,7 +46,7 @@ h1 img { text-overflow: ellipsis; } -button { +.ease_button { background-color: #ec1e1e; border: 1px solid #ec1e1e; border-radius: 4px; @@ -35,21 +55,55 @@ button { padding: 0.5em 1em; float: none; font-size: 12pt; + font-weight: normal; margin: 8px 0; line-height: 150%; } -button:hover { - background-color: #fff; - color: #ec1e1e; -} - button:last-child { margin: 0; } -@media screen and (max-width: 550px) { - button { +#url-value{ + float: left; + font-weight: bold; + margin: 2% 2% 0 0; +} +#copy-url, #open-url-button{ + background-color: var(--light-grey) !important; + border: 1px solid var(--text-secondary) !important; +} +#copy-url { + color: var(--text-secondary) !important; + font-size: 14px; +} +#open-url-button { + color: #666666 !important; +} +#copy-url:hover, #open-url-button:hover { + background-color: var(--text-secondary) !important; + border: 1px solid var(--text-secondary) !important; + color: var(--light-grey) !important; +} + +@media screen and (max-width: 800px) { + body { + grid-template-columns: 1fr; + margin: 5%; + } + .banner { + grid-row: 1; + } + .explainer { + grid-row: 2; + } + .copy_block { + grid-row: 3; + } + .button_options { + grid-row: 4; + } + .ease_button { width: 100%; margin: 8px 0; } @@ -65,11 +119,11 @@ button:last-child { color: #45a1ff; } - button { + .ease_button { color: #202023; } - button:hover { + .ease_button:hover { background-color: #202023; border-color: #ec1e1e; } diff --git a/chromium/pages/cancel/ux.js b/chromium/pages/cancel/ux.js index f08595949384..d13dfdfb711a 100644 --- a/chromium/pages/cancel/ux.js +++ b/chromium/pages/cancel/ux.js @@ -52,11 +52,9 @@ function displayURL() { originURLLink.href = originURL; openURLButton.addEventListener("click", function() { - if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { - sendMessage("disable_on_site", url.host, () => { - window.location = originURL; - }); - } + sendMessage("disable_on_site", url.host, () => { + window.location = originURL; + }); return false; }); @@ -117,11 +115,9 @@ function displayURL() { }); openHttpOnce.addEventListener("click", function() { - if (confirm(chrome.i18n.getMessage("chrome_disable_on_this_site") + '?')) { - sendMessage("disable_on_site_once", url.host, () => { - window.location = originURL; - }); - } + sendMessage("disable_on_site_once", url.host, () => { + window.location = originURL; + }); return false; }); diff --git a/chromium/pages/main.css b/chromium/pages/main.css index 9e388f155388..2772c46141e7 100644 --- a/chromium/pages/main.css +++ b/chromium/pages/main.css @@ -2,6 +2,7 @@ >>> TABLE OF CONTENTS: ---------------------------------------------------------------- # Base + - Layout - Typography - Elements - Links diff --git a/chromium/pages/options/index.html b/chromium/pages/options/index.html index a46d689c96d0..b6bdc337cfb3 100644 --- a/chromium/pages/options/index.html +++ b/chromium/pages/options/index.html @@ -2,7 +2,7 @@ - + diff --git a/chromium/pages/options/style.css b/chromium/pages/options/style.css index 2f9e69bd7de9..032a7bad7a44 100644 --- a/chromium/pages/options/style.css +++ b/chromium/pages/options/style.css @@ -27,18 +27,6 @@ body{ display: inline-block; } -a.settings{ - background-color: #1c87c9; - border: none; - color: white; - padding: 20px 34px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 20px; - margin: 4px 2px; -} - .settings-wrapper{ margin: 10px 0 0 0; } diff --git a/chromium/pages/options/ux.js b/chromium/pages/options/ux.js index 24c7d63d7fda..07d94dc9928d 100644 --- a/chromium/pages/options/ux.js +++ b/chromium/pages/options/ux.js @@ -5,20 +5,6 @@ "use strict"; -if (navigator.userAgent.includes("Android")) { - const url = new URL(window.location.href); - if (!url.searchParams.get('redirected')) { - url.searchParams.set('redirected', true); - document.body.innerText = ""; - let link = document.createElement("a"); - link.href = url.href; - link.target = "_blank"; - link.className = "settings"; - link.innerText = chrome.i18n.getMessage("options_settings"); - document.body.appendChild(link); - } -} - document.addEventListener("DOMContentLoaded", () => { const secretArea = document.getElementById('secretArea'); @@ -113,6 +99,33 @@ document.addEventListener("DOMContentLoaded", () => { update_channel_last_updated.innerText = chrome.i18n.getMessage("options_storedRulesetsVersion") + ruleset_version_string; update_channel_name.appendChild(update_channel_last_updated); + const update_channel_row_format = document.createElement('div'); + update_channel_row_format.className = "update-channel-row-format"; + update_channel_div.appendChild(update_channel_row_format); + const update_channel_format_column_left = document.createElement('div'); + update_channel_format_column_left.className = "update-channel-column-left"; + update_channel_format_column_left.innerText = "Format:"; + update_channel_row_format.appendChild(update_channel_format_column_left); + const update_channel_format_column_right = document.createElement('div'); + update_channel_format_column_right.className = "update-channel-column-right"; + update_channel_row_format.appendChild(update_channel_format_column_right); + const update_channel_format = document.createElement('select'); + update_channel_format.className = "update-channel-format"; + update_channel_format.setAttribute("data-name", update_channel.name); + update_channel_format.disabled = locked; + update_channel_format_column_right.appendChild(update_channel_format); + const update_channel_format_option_ruleset = document.createElement('option'); + update_channel_format_option_ruleset.value = "ruleset"; + update_channel_format_option_ruleset.innerText = "ruleset"; + update_channel_format_option_ruleset.defaultSelected = true; + update_channel_format_option_ruleset.selected = (update_channel.format == "ruleset"); + update_channel_format.appendChild(update_channel_format_option_ruleset); + const update_channel_format_option_bloom = document.createElement('option'); + update_channel_format_option_bloom.value = "bloom"; + update_channel_format_option_bloom.innerText = "bloom"; + update_channel_format_option_bloom.selected = (update_channel.format == "bloom"); + update_channel_format.appendChild(update_channel_format_option_bloom); + const update_channel_row_jwk = document.createElement('div'); update_channel_row_jwk.className = "update-channel-row-jwk"; update_channel_div.appendChild(update_channel_row_jwk); @@ -153,6 +166,9 @@ document.addEventListener("DOMContentLoaded", () => { update_channel_div.appendChild(clearer); const update_channel_row_scope = document.createElement('div'); + if(update_channel.format == "bloom") { + update_channel_row_scope.style.display = "none"; + } update_channel_row_scope.className = "update-channel-row-scope"; update_channel_div.appendChild(update_channel_row_scope); const update_channel_scope_column_left = document.createElement('div'); @@ -197,6 +213,13 @@ document.addEventListener("DOMContentLoaded", () => { clearer.className = "clearer"; update_channel_div.appendChild(clearer); + update_channel_format.addEventListener("change", () => { + if(update_channel_format.value == "bloom") { + update_channel_row_scope.style.display = "none"; + } else { + update_channel_row_scope.style.display = "block"; + } + }); update_channel_delete.addEventListener("click", () => { sendMessage("delete_update_channel", update_channel.name, () => { render_update_channels(); @@ -206,6 +229,7 @@ document.addEventListener("DOMContentLoaded", () => { update_channel_update.addEventListener("click", () => { sendMessage("update_update_channel", { name: update_channel.name, + format: update_channel_format.value, jwk: JSON.parse(update_channel_jwk.value), update_path_prefix: update_channel_path_prefix.value, scope: update_channel_scope.value diff --git a/chromium/pages/popup/ux.js b/chromium/pages/popup/ux.js index 7ed4a9ae4f0f..f38f22535b82 100644 --- a/chromium/pages/popup/ux.js +++ b/chromium/pages/popup/ux.js @@ -255,7 +255,7 @@ document.addEventListener("DOMContentLoaded", function () { this.appendChild(timestamp_span); }; - sendMessage("get_ruleset_timestamps", null, timestamps => { + sendMessage("get_update_channel_timestamps", null, timestamps => { let replaces = timestamps.some(([update_channel, timestamp]) => update_channel.replaces_default_rulesets && timestamp > 0 ); diff --git a/chromium/test/update_test.js b/chromium/test/update_test.js index a630ec758439..33d96412168e 100644 --- a/chromium/test/update_test.js +++ b/chromium/test/update_test.js @@ -40,9 +40,9 @@ describe('update.js', function() { resolve(); })); - if(apply_promises.length == update_channels.length) { - Promise.all(apply_promises).then(() => done()); - } + + Promise.all(apply_promises).then(() => done()); + }}); }); diff --git a/docs/adrs/bloom-filter-rule-signing.md b/docs/adrs/bloom-filter-rule-signing.md new file mode 100644 index 000000000000..09b0fda6f2aa --- /dev/null +++ b/docs/adrs/bloom-filter-rule-signing.md @@ -0,0 +1,28 @@ +# Bloom Filters and Async Rust for Ruleset Signing + +* Status: Deployed +* Deciders: EFF (@zoracon and @hainish) +* Deploy Date: 2021-03-03 + +## Context and Problem Statement + +With larger ruleset lists to be signed on the DuckDuckGo Update channel, a better way to digest and form ruleset files were needed. + +## Decision Drivers + +* Bloom filters are able to ingest greater data sets at less memory expense +* Rust is already incorporated in HTTPS Everywhere and is a memory safe language + +## Decision Outcome + +Created an async Rust script that ingests DuckDuckGo's Smarter Encryption list, compares to the Majestic Million list, and forms a bloom file and associated metadata. + +### Consequences and Concerns + +An accepted false positive is declared when the filter is generated. + +[Comment](https://github.com/EFForg/https-everywhere/pull/19910#issuecomment-771102775) + +## Links for Further Context +* [Bloom Filter Script](https://github.com/EFForg/generate-smarter-encryption-bloom-filter) + diff --git a/docs/adrs/duckduckgo-smarter-encryption.md b/docs/adrs/duckduckgo-smarter-encryption.md new file mode 100644 index 000000000000..a9c49824c9ae --- /dev/null +++ b/docs/adrs/duckduckgo-smarter-encryption.md @@ -0,0 +1,33 @@ +# Incorporating DuckDuckGo Smarter Encryption + +* Status: Pending +* Deciders: EFF (@zoracon and @hainish) and DuckDuckGo +* Deploy Date: 2021-04-15 + +## Context and Problem Statement + +With the increased HTTPS traffic, the current model of listed sites that support HTTPS is no longer a maintenance task that makes sense to uphold. + +## Decision Drivers + +* Firefox has an HTTPS-Only option +* Browsers and websites are moving away from issues that created need for more granular ruleset maintenance. + * Mixed content is now blocked in major browsers + * Different domains for secure connection are now an older habit (i.e. secure.google.com) + * TLS 1.0, 1.1 deprecation +* Chrome’s Manifest V3 will force the extensions to have a ruleset cap. Instead of competing with other extensions like DuckDuckGo, if the user prefers to use HTTPS Everywhere or DuckDuckGo's privacy essentials, we will provide the same coverage. +* DuckDuckGo’s Smarter Encryption covers more domains than our current, more manual model. + +## Decision Outcome + +We chose to add the DuckDuckGo Smarter Encryption update channel, because it no longer is beneficial to diverse efforts with others with similar goals in this space. + +### Consequences and Concerns + +* We have many downstream partners supported and unofficial that rely on our current rulesets. This transition gives them time to make the needed decisions on their before we completely switch over to using DuckDuckGo's Smarter Encryption, and sunset our current rulesets in HTTPS Everywhere +* … + +## Links for Further Context + +* https://spreadprivacy.com/duckduckgo-smarter-encryption/ +* https://www.eff.org/deeplinks/2020/11/10-years-https-everywhere \ No newline at end of file diff --git a/docs/en_US/https-everywhere-popup-updated.png b/docs/en_US/https-everywhere-popup-updated.png new file mode 100644 index 000000000000..02023090383a Binary files /dev/null and b/docs/en_US/https-everywhere-popup-updated.png differ diff --git a/docs/en_US/ruleset-update-channels.md b/docs/en_US/ruleset-update-channels.md index 763682e88932..24828ac0129d 100644 --- a/docs/en_US/ruleset-update-channels.md +++ b/docs/en_US/ruleset-update-channels.md @@ -123,7 +123,7 @@ You will need python 3.6 on your system or available via docker for the next ste Next, run - python3.6 utils/merge-rulesets.py + python3 utils/merge-rulesets.py You should see the following output: diff --git a/hooks/precommit b/hooks/precommit index b57ed3bcbc0f..04c65b738ac5 100755 --- a/hooks/precommit +++ b/hooks/precommit @@ -39,7 +39,7 @@ if [ "$CHANGED_RULESETS" ]; then continue fi - python3.6 test/validations/special/run.py --quiet $FILE + python3 test/validations/special/run.py --quiet $FILE RESULT=$? if [ $RESULT -ne 0 ]; then diff --git a/install-dev-dependencies.sh b/install-dev-dependencies.sh index 8a9023efb654..9259d02b8676 100755 --- a/install-dev-dependencies.sh +++ b/install-dev-dependencies.sh @@ -35,14 +35,13 @@ if type apt-get>/dev/null 2>&1; then BROWSERS="firefox chromium-browser" CHROMEDRIVER="chromium-chromedriver" if [[ "$(lsb_release -is)" == "Debian" ]]; then - # Iceweasel is the rebranded Firefox that Debian ships, and Chromium - # takes the name of 'chromium' instead of 'chromium-browser' in + # Chromium takes the name of 'chromium' instead of 'chromium-browser' in # Debian 7 (wheezy) and later. - BROWSERS="iceweasel chromium" - CHROMEDRIVER="chromedriver" + BROWSERS="firefox-esr chromium" + CHROMEDRIVER="chromium-driver" fi $SUDO_SHIM apt-get install -y libxml2-dev libxml2-utils libxslt1-dev \ - python3.6-dev $BROWSERS zip sqlite3 python3-pip libcurl4-openssl-dev xvfb \ + python3-dev $BROWSERS zip sqlite3 python3-pip libcurl4-openssl-dev xvfb \ nodejs \ npm \ libssl-dev git curl $CHROMEDRIVER diff --git a/make.sh b/make.sh index 36d267439c61..415b80090c4a 100755 --- a/make.sh +++ b/make.sh @@ -85,7 +85,7 @@ if [ -n "$1" ]; then git submodule update --recursive -f fi -VERSION=`python3.6 -c "import json ; print(json.loads(open('chromium/manifest.json').read())['version'])"` +VERSION=`python3 -c "import json ; print(json.loads(open('chromium/manifest.json').read())['version'])"` echo "Building version" $VERSION @@ -104,8 +104,8 @@ cp -a ../../chromium/* ./ # Turn the Firefox translations into the appropriate Chrome format: rm -rf _locales/ mkdir _locales/ -python3.6 ../../utils/chromium-translations.py ../../translations/ _locales/ -python3.6 ../../utils/chromium-translations.py ../../src/chrome/locale/ _locales/ +python3 ../../utils/chromium-translations.py ../../translations/ _locales/ +python3 ../../utils/chromium-translations.py ../../src/chrome/locale/ _locales/ do_not_ship="*.py *.xml" rm -f $do_not_ship @@ -115,7 +115,7 @@ cp ../../lib-wasm/pkg/*.js wasm cd ../.. -python3.6 ./utils/merge-rulesets.py || exit 5 +python3 ./utils/merge-rulesets.py || exit 5 cp src/chrome/content/rules/default.rulesets pkg/crx-cws/rules/default.rulesets @@ -134,16 +134,20 @@ cp -a src/META-INF pkg/xpi-eff # Remove the 'applications' manifest key from the crx version of the extension, change the 'author' string to a hash, and add the "update_url" manifest key # "update_url" needs to be present to avoid problems reported in https://bugs.chromium.org/p/chromium/issues/detail?id=805755 -python3.6 -c "import json; m=json.loads(open('pkg/crx-cws/manifest.json').read()); m['author']={'email': 'eff.software.projects@gmail.com'}; del m['applications']; m['update_url'] = 'https://clients2.google.com/service/update2/crx'; open('pkg/crx-cws/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" -python3.6 -c "import json; m=json.loads(open('pkg/crx-eff/manifest.json').read()); m['author']={'email': 'eff.software.projects@gmail.com'}; del m['applications']; open('pkg/crx-eff/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" +python3 -c "import json; m=json.loads(open('pkg/crx-cws/manifest.json').read()); m['author']={'email': 'eff.software.projects@gmail.com'}; del m['applications']; m['update_url'] = 'https://clients2.google.com/service/update2/crx'; open('pkg/crx-cws/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" +python3 -c "import json; m=json.loads(open('pkg/crx-eff/manifest.json').read()); m['author']={'email': 'eff.software.projects@gmail.com'}; del m['applications']; open('pkg/crx-eff/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" # Remove the 'update_url' manifest key from the xpi version of the extension delivered to AMO -python3.6 -c "import json; m=json.loads(open('pkg/xpi-amo/manifest.json').read()); del m['applications']['gecko']['update_url']; m['applications']['gecko']['id'] = 'https-everywhere@eff.org'; open('pkg/xpi-amo/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" +python3 -c "import json; m=json.loads(open('pkg/xpi-amo/manifest.json').read()); del m['applications']['gecko']['update_url']; m['applications']['gecko']['id'] = 'https-everywhere@eff.org'; open('pkg/xpi-amo/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" + +# Remove the incognito key in AMO packages: #16394 +python3 -c "import json; m=json.loads(open('pkg/xpi-amo/manifest.json').read()); del m['incognito']; open('pkg/xpi-amo/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" +python3 -c "import json; m=json.loads(open('pkg/xpi-eff/manifest.json').read()); del m['incognito']; open('pkg/xpi-eff/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" # If the --remove-extension-update flag is set, ensure the extension is unable to update if $REMOVE_EXTENSION_UPDATE; then echo "Flag --remove-extension-update specified. Removing the XPI extensions' ability to update." - python3.6 -c "import json; m=json.loads(open('pkg/xpi-amo/manifest.json').read()); m['applications']['gecko']['update_url'] = 'https://127.0.0.1'; open('pkg/xpi-amo/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" - python3.6 -c "import json; m=json.loads(open('pkg/xpi-eff/manifest.json').read()); m['applications']['gecko']['update_url'] = 'https://127.0.0.1'; open('pkg/xpi-eff/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" + python3 -c "import json; m=json.loads(open('pkg/xpi-amo/manifest.json').read()); m['applications']['gecko']['update_url'] = 'https://127.0.0.1'; open('pkg/xpi-amo/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" + python3 -c "import json; m=json.loads(open('pkg/xpi-eff/manifest.json').read()); m['applications']['gecko']['update_url'] = 'https://127.0.0.1'; open('pkg/xpi-eff/manifest.json','w').write(json.dumps(m,indent=4,sort_keys=True))" fi # If the --remove-update-channels flag is set, remove all out-of-band update channels diff --git a/src/Changelog b/src/Changelog index ad2574d9b06e..db2f228f30d0 100644 --- a/src/Changelog +++ b/src/Changelog @@ -1,3 +1,31 @@ +2022.5.24 +* Improved EASE mode prompt +* Add background tab on install or update to educate users on HTTPS only mode features in their browsers +* Updated dependencies + +2021.7.13 +* Amend Incognito Key for Chrome and Firefox #20092 +* Fix unexpected arithmetic operations on strings #20043 +* Remove Top Alexa Labeller #20083 +* Update deprecated log function #20101 +* Patch Chrome Test Failure #20102 + +2021.4.15 +* Add DuckDuckGo Smarter Encryption update channel +* Bloom filter for rulesets +* Firefox Fenix option page updates for Android users +* Move to Python 3 from Python 3.6 +* Fix undefined type access +* Fix empty default types + +2021.1.27 +* EASE Mode UI Changes +* NPM Dependency updates +* Geckodriver pull update +* Chromedriver pull update +* Integrate CSS Grid for Options Page and EASE UI +* Put Options in new tab + 2020.11.17 * Copy URL in EASE interstitial * Dependapot NPM updates diff --git a/src/META-INF/cose.manifest b/src/META-INF/cose.manifest index b76166d02ba5..045ba86369fd 100644 --- a/src/META-INF/cose.manifest +++ b/src/META-INF/cose.manifest @@ -2,463 +2,513 @@ Manifest-Version: 1.0 Name: manifest.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: YqFZDfQq5mQYd6lfC5fPFnNmV4s= -SHA256-Digest: DcBZZslFXUJam90wkPNcK13iJWyhbxw9wqg1kFMEVuc= +SHA1-Digest: X0hd0tplhCo2R8s3OE27fLAZFD8= +SHA256-Digest: iKk69TG3OJJNjjAJPTe72S+qXa4k/xL8yKmPzAGmaxg= Name: package.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: uI9Evnz9GMsap7a3z11YJP89sjk= -SHA256-Digest: av3sLi4aRc0rFgUhs72KUMC4uepuN5YxmsNPZ1/JWDQ= +SHA1-Digest: HQyF0Be9Z+C72YzyWk6LqTSCxkU= +SHA256-Digest: 1v7I/u/oNho1Z8rtRLepk7VY9i0r8EktoXSvvy92SsE= + +Name: _locales/ace/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ach/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/af/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 7/fhVUHaQ+4fwBfFPhKFIHaVe9s= -SHA256-Digest: f40G/T2bWKTBJcUihybonxIcn4kYiWpkyBEKaLJGOX8= +SHA1-Digest: iOMFMT97+EoNCW6DRomntg8GSHk= +SHA256-Digest: cw+OPqn11qIyL1P5cFnPmxrYTVKQ0oPX10+1KjXtNoc= + +Name: _locales/af_ZA/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ar/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Ba9KYnhEu0N0Xbv7yEO88B+e+zo= -SHA256-Digest: 45sibh+MIXp4PpYney6Be278zckdqyEpg/GQKMDqr6w= +SHA1-Digest: pxQQhQSkkjd9EAlMdZmvk+qmXhg= +SHA256-Digest: MORqa6PigyGRYrjsjuUVk80TAKErKzIZy9G5UnPV20U= + +Name: _locales/ar_EG/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ast/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 4VIBgOHzmlSzKS215Qi/ksHW8SQ= -SHA256-Digest: E5fXysJb3p5J/IjtVBiEDBg+YRKzz56la8yy12Igpto= +SHA1-Digest: VdPNPPiC8Ro2JsmoBFkdW3TAy2c= +SHA256-Digest: 4zrpaArMxcBnUHIyLdenD/CDBXFXDgnSki4HzzEB0J8= Name: _locales/az/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VMm5aaWubgNsngqj5QmlKRLGnSU= -SHA256-Digest: 2PcqGrvTh0/ooR0HkyEEhy8pEGiIXb3uWzoEBHAG/eA= +SHA1-Digest: 3+BLldWYu7TK8cGkwWGVp8z0EUk= +SHA256-Digest: hfU635JcDvcEJzmbg2zkxSrfMEe0SVNvq8U9wj1SvNg= Name: _locales/be/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Z4xJSrINGXC5mrJYbSI8Et7XhYE= -SHA256-Digest: tpuh6Q8cnqZIzS0NROU2DJFfI/fKZ/1L94UREj26PDM= +SHA1-Digest: /7FQnv3lG2OqZFTdc3/fmuOznX8= +SHA256-Digest: OrCo5OOtp9o91snpAQUrgUG1KbmJ7ScDZ3tncnnV2po= Name: _locales/bg/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: CdfqSBRmVwCdveEtyz6Zr7Oq8H0= -SHA256-Digest: 1nRA9q7jYCpUPiLbJKZ8uGMfUMQwQv7+274X0qBi30M= +SHA1-Digest: uvPzsM24ej+LdWMNASNfYE1+tBs= +SHA256-Digest: Z0AMZvlkzgDfeSMbZQ+AdhZryI8kmsdpYpvOz8lM9TI= Name: _locales/bn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VXeF7XE0l2gABBbB0L0Z/qB7o1U= -SHA256-Digest: +75vuVO7TgT0UF/KzrmaoMIcq4lD9ZQptwpfGTfB8YE= +SHA1-Digest: dVoXHkj2UXzj4ctLQ7g2+cQu/o8= +SHA256-Digest: hTaM5b35bOJhTSV38ajtBg58bV5TdC47xttlYiZM/aU= Name: _locales/br/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 82PgXrKpWlS4o11EHg6A8Iggjos= -SHA256-Digest: WiU4jFV8Wncy8MV1Eequ60PJzAP8Hgc1AksuwRVRsbo= +SHA1-Digest: ZW6ty00kj6yNkgcEnnvyQjjgrWg= +SHA256-Digest: sTBK8ujpW+kR/M9mXe2ShZUChO9Ytu7gKVYQkaOwrZU= Name: _locales/bs/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: glfeWsrkPY9rWuXyavPCsQcyK38= -SHA256-Digest: bnfTYMZ6AqXW2nei5LG1Dao05SwfqX0zwxADHCedHK8= +SHA1-Digest: Vg2wDGtsbEZthKbRz9yUjj7Q8YA= +SHA256-Digest: vQgF2n0ktL3LZ1rqMaiZvCxRRt41I6PLvVHRJYvHb8o= Name: _locales/ca/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: LGSfXdgllWaHOaB1joGD8SqwnZY= -SHA256-Digest: IONGAZk8Cx+tDAMCawgFUI6JOvNqoGIacfthuylWCTo= +SHA1-Digest: /COeM2de5nZc7h2xYUdMcQqMeJw= +SHA256-Digest: otyh6c/nvuTuTZfmLv2FfYlbI6fkf9ibQ4zZYWll2Bk= + +Name: _locales/cmn/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/cs/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: kPDGKBM2Nw7JNce/S7UO7l3Sr7k= -SHA256-Digest: tHF2833mOfXGQfX63RpPPvW0HPbuMI+gSy8VA9YCrcA= +SHA1-Digest: PSPcBF4f2cciaztX/tDK489gG6w= +SHA256-Digest: nhqVZbEdeQLOEfTuC4WQZqq4nVX6TLgsumEei+NDJjo= Name: _locales/cy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: /eejvBeSMdkAa6pYUkTIrYPQ0Bk= -SHA256-Digest: 72WTDlTeftzp/u9G1wnWxi+G3W2NpKAgKhM4s1yQgEQ= +SHA1-Digest: A9MVuoq+YeTB4AJ7qXIW2t/2reU= +SHA256-Digest: MMpP51GLMadXFrMHt8O5C2q5x9ipotM+rbjBCSAIa0k= Name: _locales/da/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 1aBPYAcMv+JWCjtM2DvZNCnLaUM= -SHA256-Digest: HNyPxy6AcrMszkl4IHlqPDgUZW43EEDwWIHBEVhXnA0= +SHA1-Digest: 6EA7b3gcz67OK5/NhNpqiv8JsRw= +SHA256-Digest: XvGrh0Pr/cIN0+h7dYRhsWrE2sbpvCGejLUk5g2cb+M= Name: _locales/de/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: slVQWs5IBpRou+NEskFuv1Z7gRE= -SHA256-Digest: xi9kFdl3BN9fp99CqwclOstFSfINPag0VS5cPiJscRs= +SHA1-Digest: 5DxSzfj3HAO19N93skW8074DacU= +SHA256-Digest: 6RRsp8DV8g7u3majB5LXV/HNNz9wltPP3/drftJO+t0= Name: _locales/el/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VWg5VYNm38I7bTPGMT5V+67g9/Q= -SHA256-Digest: CdkLR8ewXgkXAGS3XeFOLGwK+aLNYb3tF+TztINXfvo= +SHA1-Digest: cDgo3bT3QsyvgW6sNV1v7VhD+c0= +SHA256-Digest: oBZLruNBa+ryEI2AaAM1IuFsmVxF73+deXjq7P6lunM= Name: _locales/en/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/en_GB/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= + +Name: _locales/en_US/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/eo/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: FojwNrgHt1eVt9yrEnP1T/ECZRo= -SHA256-Digest: DF/AbnRsOK7dGveQRFeOIHk0hgLRHADfcbG0OLreJZU= +SHA1-Digest: cTvPwrTLEg/CLQ7vP936VGhWMBA= +SHA256-Digest: 6Tb3+j9lXyFMz+bKnJ+MnaIRIAaOIgFGgGFeLUWIHB0= Name: _locales/es/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Nw2cpoyjB6VJnCdIzSQFfF3QQhU= -SHA256-Digest: 58V1LUfsrsbeBI2lLbsV8z8SR5Ijo+BHeRbptIk73Ck= +SHA1-Digest: wdTXKRaKo3+lt2F/WAfhHECWQ0Q= +SHA256-Digest: 6LOKxRvSfOFCftbixNJLi3ILtnXblwVUdYoxy0KkUKE= Name: _locales/es_AR/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: tXSPJtXfvSetE35xapZ5g9E+F/w= -SHA256-Digest: dHoGfNKstuh2fjszEF1/dkCkqAbfOCbPy6QTTXhEE/Q= +SHA1-Digest: jNe5tt2sg9FYb/CklhOA/EfCNso= +SHA256-Digest: ejlUkVhdh38l0SQqB2iuiCGTJgg/HnUZ6YB1BIowEUI= Name: _locales/es_MX/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 8vHsRAy0cBEDCz4oy+ULNDunB0g= -SHA256-Digest: ZXRsUJtA/vxrIWQD+y4qR8WMG2C8qeaTR3kuNMc9ao8= +SHA1-Digest: 8r5iYER0e+Z9xsXkisoWpgiV6wY= +SHA256-Digest: nNkWHeZ9eKPmXKJTHyKHmuqMNO9w7KdMoCpNtykVJSo= Name: _locales/et/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: o/LDymK3wiuHzYHc0EDyw3T7d+A= -SHA256-Digest: wAZ+9vvJOKtJy3l/OaZAN378orFyn2946Q4v9ytdU0c= +SHA1-Digest: RuKFi2LDlh1aZ/sgjAQHk9Dr0aU= +SHA256-Digest: kEGCDq7xq97+kttCcjDTrhV+IRBdvTdokVw5x4MjUrg= Name: _locales/eu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: kCUpg8OCaCObRczcEprTG72JDac= -SHA256-Digest: V6f0R8SrYKNzm1B3nmUaVZab636tRFcUYNWEPhDBUUw= +SHA1-Digest: CfUVBO8uVqaEVg2rfNiEzhOOIxs= +SHA256-Digest: U4RrQUCTj9jzxLMjadoUZlclwDWv7StaWVTd+VfnN2I= Name: _locales/fa/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TV9rW/9oPKElE4Y/bYQyaHFEDs4= -SHA256-Digest: sVn9C3Ht9Ofp/502lQl/JKhyzXfLuA7Wi6DAVP5rckc= +SHA1-Digest: Zi0T7F3MTegvevGxycGERaO+y+k= +SHA256-Digest: FppLjcJVwKmgWnEVG8DUj/OfX/mPJaRmMHYdzdQ4Qk4= Name: _locales/fi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 58UJRn4vobh9ha8/HnfD/Txlf0k= -SHA256-Digest: u08t+BRPzReNYZ+OWnWVDnw32ANd2WWt801tNCJeNpk= +SHA1-Digest: Ijd1g6JcPeStcajdi2p49GxtL/s= +SHA256-Digest: XtP/3kb3g9EEZXkGRsQh5oEGWm5XdCCVHsY4eBWi2Lo= Name: _locales/fr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: okezgK40sYIpp2GFWi5AQyVyR4g= -SHA256-Digest: WhADVPCfE6bk0udOstPREpAXzTIoMIlyxTwKqJgcfE0= +SHA1-Digest: 4Kl28lQ4AxcFKuI1qPanfKBIO1I= +SHA256-Digest: JR6Ytgifw1eNfP5eEY9DW2+NyBy5t5m8jcfG1eElpos= + +Name: _locales/fr_FR/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: /siGONOTKZIcZRCh3Gjklyi6FpA= +SHA256-Digest: JOAxkWbsFpRl+/JTJ9Ii5P0ixY1UOkuZHRAjMb86eWI= Name: _locales/fy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: pWUKaGccWdaXweB8Tf+6/4HnlnE= -SHA256-Digest: c5s8xWcXmFxVxKav9vhId/cGNIMgjAgp/AO951P9SQY= +SHA1-Digest: qYt2G1hP0Cs203jLvxdBLgv4MGQ= +SHA256-Digest: cNu7cS359ufs/B5EXOMBJIvVbfB8V9sQpFxorgrRxxg= Name: _locales/ga/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: epqYPnNbo7kAhSSL3QPdAVrfvY4= -SHA256-Digest: Gw/M9mS2f1QTXXMnu7p3NWmrsVz4xxk+5ZtbN6RnoqA= +SHA1-Digest: oNZb00MUZHcEuMm1CKosXijaWgw= +SHA256-Digest: knCNuU+/o1k+pt0GMADpt3nuzqz17npT4Olsoj8EL7o= Name: _locales/gd/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/gl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: /rHEMGgGyXxZ5CPXWZJsfTg25Rs= -SHA256-Digest: weozuDKYNOqRNYDE1AWZ+8ptAbu8UWaG0Ftab9uEhtk= +SHA1-Digest: WBkm2qWTCShjdj+kFKqzxnZIoFg= +SHA256-Digest: Y3K9ZWg9+2pL1r34SJhQYu26Viki5wqVlJmLmVfhQdo= Name: _locales/gu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 7BmqUqkmnJTtpm8B8VXz8tuh53A= -SHA256-Digest: P769r6g/Qdw5Rv+bmKzEU5F1GSW5TGo57gzh6WcRoco= +SHA1-Digest: cxaffBOuU3Z+D/AJ6TQAXNFki3M= +SHA256-Digest: pTrp2BlrTKilZg+sRGpeuYQVSrInYg7QtVBMrLANj4Q= Name: _locales/he/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: yYKEm0Wo/i+Ev+cFaVr3MnEu0Xo= -SHA256-Digest: 2uKe1OLilpfR+HuHhBilmhp3K4IvzAwuJcdmJYgL2Uk= +SHA1-Digest: zshsgYzIwWg+jtvY4ingp8vw64c= +SHA256-Digest: BxJrAMOZ4VuFbXDVimpAN0xMEQBNZZkrmFWnTAXibks= Name: _locales/hi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: DmI45Ll34p2MkMwKe4TH91FhR34= -SHA256-Digest: kuJnlJJswoYWr5tHTpL6YbOKsqKzuWMWQCX2aaEHWuc= +SHA1-Digest: QRpvL2rosEDoTdx6BxxGGJpSVmo= +SHA256-Digest: liYeP2q1gkXphKzxxJNsqTh7+T1gzKsee+6vReQMdhs= Name: _locales/hr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: wY1WkEnM9IiR3ZG7PDZpKIwlMYg= -SHA256-Digest: ImiYIEJGdWT2b8Rcda4BgaGm2qVIzPGuvEErYni+ShM= +SHA1-Digest: x/3lhb7z7CVqZZdn3midgSjn5tY= +SHA256-Digest: HHx+VP0HB42dWTZ38cR004DWeQpFRgaF5TULrZkatwI= Name: _locales/hu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: jXGGqvWLKwVkUmg0Hk5ghKn/sE0= -SHA256-Digest: kYtXHZU1QN8ssbLzOvarLg0RhL6PLvUMygfA9vMFosQ= +SHA1-Digest: 4eKsxvmbG58FfD5yjfm4b3cr+g4= +SHA256-Digest: i9dh17H4Ruxjb3oxA4GPRJvRPecXQf3U+qaBlGj2qps= Name: _locales/hy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ng5tsv2X99Vani3P9gUCL8USAuw= -SHA256-Digest: aOKyeoh+VlvnMGY+oJzXLlpoDo7FeCMyTqFO801jqXo= +SHA1-Digest: QzXAZ5katx2Ye+1QFyFHLcMJROM= +SHA256-Digest: HSYKniubHesccfXGMZYre5wJva2MRztMYAhMHMA2+Z4= Name: _locales/ia/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 9mSfqNZFLd4swuFsRZlUx9apepQ= -SHA256-Digest: +d5iz1mAvm8S9g8YXQxDGSQVWkp5r7roiL2TkQr0XnQ= +SHA1-Digest: Mm0o9mYuk3kCk5WbKuPCFU7zpqo= +SHA256-Digest: 6ORLVTr02qalRUcK63Ir1GXjw/p+v6nrK9/zI66QL6o= Name: _locales/id/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Pfm8oThuSpHsUJqABApjHlH+q+g= -SHA256-Digest: 3nfHPNoTmc6r7fe+5Fj1cS9uAe5UgY5zOUnbEqTIYrU= +SHA1-Digest: 9QctIupOryS8eWp04EJHAWNYj7c= +SHA256-Digest: NfVmJxGSWj5onjEn4//gX5P8n3QnqBXXP5Z9Lf+578M= Name: _locales/is/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 5Ptp4gCWj3wqfvcWOwXNR4HcKmw= -SHA256-Digest: RTtvJ/vLBfHYlpom4TFZJ4lDq1KkjgdjS9SL7x8IMvE= +SHA1-Digest: /P9T+vTThdd7i1pmGcYD6nOkY44= +SHA256-Digest: L1OQmFHZBhJHVvNqOh3610u1MS+SLQd9NHvYu2FkRVE= Name: _locales/it/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: KutH5WsjjqQ5+qRezgV60tU0SFc= -SHA256-Digest: Dc+M8naPSH87SKCi4WF4QpdXs0AmPubTOcb4RbBRKho= +SHA1-Digest: QfqJFvpr/CghH/0gsO9h+sYKy1Y= +SHA256-Digest: vtdELbvnbICfJVOrxFLjaJq656uK7EK2pTcecgf4dNc= Name: _locales/ja/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: g89naEEB09Hx7M87NHFGLX68LTM= -SHA256-Digest: p7gFh+a221OX8tq1ZMHt8941NOOikc/Van/eoukEZoY= +SHA1-Digest: 7zImT7HvkvCQpdObYY520peFtDs= +SHA256-Digest: mjSxBaiB+SkXyspN3wi6aodH4rYgcp6da2exdiEcGU4= Name: _locales/ka/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: R7qiJKvrZijjtiwpEo5ZhMtIJwA= -SHA256-Digest: EKE16UsoLgeca48iOpeyeGQX0GDdtHnO9XxhKtl47xA= +SHA1-Digest: fHsD070Q4aHyxYhCNfQIYT3MKS0= +SHA256-Digest: yeIbx8SP8Wa4kvXo6Lzx9wrRj1LynhWFd2nbPUqZEsk= Name: _locales/kab/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/kk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: oE7Xw/q8MQwHBTAvUlMtHsiol9c= -SHA256-Digest: u1P+KkrYILz4A2xyygC3zEMDDmyuAI7R3VoBYUjZ7+8= +SHA1-Digest: 8Sdjq0KMj4ANwq94weNnUQYtI+s= +SHA256-Digest: bTKB9CkWNhqawbJDhs1/GX4/z4j0Vg4cx31zKw44f5Y= Name: _locales/km/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: b6Y1UC2eb5iNqoiIODqzjJSVfeM= -SHA256-Digest: OgaaXtsc8nBxcBU87p5CPfbLo/3oGfcjmyf3gFWj09s= +SHA1-Digest: w5qIgDP+885pZJMl8FyA2yGUt1A= +SHA256-Digest: sjEA2JwKdlS1D1hQxKQedb9DYCwOSDhyxusv/cUTkvE= Name: _locales/kn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 3hrFDxwKD/CcYqoUrThF+BjfvWo= -SHA256-Digest: 3WME3cF00SEkEbj1iiJxqnB2DRBtDxglYbgF6/kN10I= +SHA1-Digest: MdvnoS3SrWGvRWSyvuRqoWvRiWc= +SHA256-Digest: TaiiWa/PbBrRxhqRBYvFWtGmyyy/ovdu/yhHq/w9jk4= Name: _locales/ko/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: X728dVAJBdQp1dxCtekF5k4G4S0= -SHA256-Digest: wCR5lSQAU3ewNSm3lgPDDXqQw8RwxsvaqOt+3ESsvL0= +SHA1-Digest: GqRtNAUwxrLDluWtx2LqjXzg+50= +SHA256-Digest: McBNqK4HaGAS0dEAMzOD8lrwecj6CFapkKhRgZpR2qU= Name: _locales/lt/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: H2ncSAlPc1ifgDkCeZHtEN2ZFxA= -SHA256-Digest: 0dxTnOqE49oEPkf4/JNVrrA/WOMBFajJ6A1LDIH+NKo= +SHA1-Digest: cBHtxCIgs0M0vuawqYXF7qBAPZo= +SHA256-Digest: RvNH3JOZbIBt6KKPOdP91hxzpQQLbYxJxWeg36ncftU= Name: _locales/lv/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: n6RqvpzpwEeJ/XBoZ9kJNG6NEWY= -SHA256-Digest: eZsCELl1XfQ1v9VBVC59rdpkcbnSlmGXHx7zxa/+bw0= +SHA1-Digest: ljoDEg01zL32eJF/+OECLuPZkoY= +SHA256-Digest: +pRZCbp3zfzTbM0UqTpiJd23dSymtKZxiZlqD9zNZEw= Name: _locales/mk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: +4fQdY3aM3VMhZoPjD4x0h0EpZY= -SHA256-Digest: YQ3jqlOOiH1Maz2MOm+WqpaUE5YkINjOX2Wc3vMiyAw= +SHA1-Digest: dHL1X/r5TNAy5AXujh48jmaBZMY= +SHA256-Digest: Fs8OnAZZqmqEZHAoYINC1qjLdniDuxjboibfVPvcxek= Name: _locales/ml/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: hV40w3HqI2yXUmIh6AkgjSGChBc= -SHA256-Digest: GX4et3eHG6Ytz1ycXs+IFaF1CWl+Hx2Rkg6dX8hP4N8= +SHA1-Digest: yjvR4hUOwBfI4/NLchJglHMznUY= +SHA256-Digest: /LzzQ1QQeGqOJGuwyf7hF1ynGzYojAJy8SjnfpqP8nU= Name: _locales/mr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rIVcTiwhbk0WKy65ldZTk2CvBT8= -SHA256-Digest: qPyynbjp/hwY8iYE8iMYQzRvJ0kxKDiLHPB5fpscv/M= +SHA1-Digest: VqbEpeDWqRRSDXueR7OXzV5Zi0c= +SHA256-Digest: DXWyMnlhjkPGEZgaBzsqFEU88IvmcrerTATrEqY+fqY= Name: _locales/ms_MY/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: fp6NyESRc3i19+qhdwqfOsUc0rs= -SHA256-Digest: 4szwp0NyH5ymGrGtib2HvK9lXJk9tuoITMNbMnfo1wQ= +SHA1-Digest: pNrnIUMZ1KSdavj7IpvgaXtMW1Y= +SHA256-Digest: WjOfy4w9K1h+lN9Ld1JdzPwXrpU3TYqIpcQLVhzSsKM= Name: _locales/my/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: spWMSpzl7ZZS783CpeBr629VV90= -SHA256-Digest: Lm3pZFCs6mV9hOcGAONud2Wgq5VuosRYr1ZaCIK3/Gg= +SHA1-Digest: kPgWIxR2rynJkEykmF/T0clmLcU= +SHA256-Digest: pVtnX3UxISFA90i1ivkuL01oGhoah2AqzAJosnkZMCw= Name: _locales/nb/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: NdCh5r2CenVAzgQF5Sy5f+VrP+Y= -SHA256-Digest: m6+4Gu7WvehE+NySxeOZL/D7oK7M/90vSlbJYK7g08M= +SHA1-Digest: xCCz+aU59J3pUBQrTu8Sookw3Xc= +SHA256-Digest: aHFiDv13/G909I851CrVRUPMSAyxLABNIT5TkFPWolw= Name: _locales/ne/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/nl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 6wLC+yB+O43A5kvtpD1jBb37b54= -SHA256-Digest: HM1Zwu16d0bJcrn0uEKemnSvX23zbmcy7d2vkDFRC78= +SHA1-Digest: uHnFt32GmeGIWlUhV2oc0YwDBoQ= +SHA256-Digest: EPKDxQlVhuigsi6at+OnLBBaPbqbNuYdbHu3nEx6Lv8= Name: _locales/nl_BE/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: WeIxfASeabanFbMJLcsbbuGYCMw= -SHA256-Digest: iVP19JtCs6Md7QbVrmsy26T9mXnjwGf38gU1qimEp1Y= +SHA1-Digest: vpN/Tt8RJNjNrjzQhvaCLnu818Y= +SHA256-Digest: UMIycHh4OpfT6XEX5IkOJbBhBEmykK3QzilVLqxXbas= Name: _locales/nn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: jSAX1wSTB6vxtgcZ4Y/+gd3NBVY= -SHA256-Digest: ofqGd3YY8qa8ph6lKDnCseYP1q4/7Zj7/kQjkLR+iaY= +SHA1-Digest: /uRXmVZ2hcY4LDKBmhSwYPb+v9A= +SHA256-Digest: /VRfKB4L2T8XMwAUR9UCXed+uPckbOsicnTGYCRT62U= Name: _locales/oc/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: hdhjO2+PXTFVa7g19QEnmQMgtJU= -SHA256-Digest: PF/DvUrT4tKbnZR9JJX3TdwdU3H4uZSyo3SAw/+Crig= +SHA1-Digest: LEIoVVmbjin2D0Bj5PimJENOmCQ= +SHA256-Digest: smQMMM7KSF/9lT0ryK07dEWxGtf3tYjF58E/kOIlNKY= Name: _locales/or/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: GWEr8iNzr4keZG6fFTNCN1Fijyo= -SHA256-Digest: w71Z7RMgZpNyFOMUyBKD87nPPnJG9tYNdY3+XeGTDv0= +SHA1-Digest: Ps0uvWBAvc6crMC3f7ztPoWLYHI= +SHA256-Digest: sX3swrX1p95cHWLBMrKDJ8mCOM/k+g3kR6+vKtjUlIY= Name: _locales/pa/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: nF4PmdcDLIYctM+NlOEvnpbJM3A= -SHA256-Digest: r9voSBI5dcWG1KTDjExVFuezSMlEOQzZj0l/vIgHGWE= +SHA1-Digest: +P2o0dGSh7jJUtVjUFU70dqtxiI= +SHA256-Digest: sHFd6kvNEbfWPpbLyIutoZkkEm0A9yWhjdbsXZ5YH5s= Name: _locales/pl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: yFr1gHE7Fjr5D1qZSZCucc0FW/s= -SHA256-Digest: mRlXxntEGhzydEeOMM6gC8ucxBfHATF4ldOjj+DkxJw= +SHA1-Digest: w97eXym45Cju4UUq2hDgfYZEivM= +SHA256-Digest: 8dpWSVyqOkrMcQs4Ub98uEHMtAkwdtuag9kfv31TnwY= Name: _locales/pt_BR/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: pBrCjCxVRG45x5ByZTWkAL8//zs= -SHA256-Digest: 6qTXw/TkqjXtW17euzMvm4ysjaeDAdli1OgEMa0Z1BM= +SHA1-Digest: B9dLWSgVB9XeiQqqE9ceVH+KFqw= +SHA256-Digest: bkAA6J0bp9u83YD/Cea1ggdTUpXBl47Pb/RAgW/QO9c= Name: _locales/pt_PT/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: sNLxpDqZmT9Kh+DjveJzs9UUR4Q= -SHA256-Digest: D+my1LxxQZ0SWtdtcIo/t+eAJGkKOe+in8REN3GItQo= +SHA1-Digest: MFTtI6bvZgIBNjfsrsEes5SZWWM= +SHA256-Digest: 6Oe7CSTsLlbxPCEcuVYO5tqvl3/TLquitxYnh40167c= Name: _locales/ro/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: eMnTTCk8hUY6RqnJIILMOdLuYW0= -SHA256-Digest: YEPLtSoqhF9KGrUERrZBSUTusOPMnxQSYyRnWArSGIY= +SHA1-Digest: iZA4eB6bVN8w8JNfUaLiB04ZeEU= +SHA256-Digest: esk4A/1PXdU5yjo/Y/f3zS1fzrVQUIhGPFyAS1eSw+k= + +Name: _locales/ro_RO/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: iCzvlQJKPogorBRk1ZaRc1PHSzk= +SHA256-Digest: f6sPhnOcfaNWIONa4Ow+YtnAM3GXnWIG1WXDRHOtves= Name: _locales/ru/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: EVdnChgSf/OdlkcGIRJw20Rxuoc= -SHA256-Digest: rR/mEnBuqZToKH5HozGDe8vkLmu41txhNvK9Qb1dsjc= +SHA1-Digest: 7icD6gFZZYuaRFlZHpM3v4S4rbw= +SHA256-Digest: PsIJMB4ploNqnBAmnqfFHDXH+zFdu4P6BNZMnIwT0ok= Name: _locales/si/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: KM47GTd9GQqAik45v3TwGKzhUqI= +SHA256-Digest: 3PvBqbX4qA1rQB4l+mrxTb6mwA7ssWzrxjn1VJn5peA= Name: _locales/si_LK/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: wCapUPBBOOtsnbUk0M7Z2WGlq2w= -SHA256-Digest: vsIjftNnG3dhsY83hRASwGdToPOkySct6pHghgpLn0o= +SHA1-Digest: /XRTG3mjOsamcRjwWbYUqmyS+jw= +SHA256-Digest: XbC317Ovdr7RhMsUfhfXDV1yDh+4pz86mQMG1PFGLdY= Name: _locales/sk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: EwEic57UdMDRe9LZzRMLhVIMuXQ= -SHA256-Digest: yHOUJ0u8DwLZXm/HWlsdPMEPqbyr6tQxyveqIUpidwY= +SHA1-Digest: 8g2uM/IilbLetxLlpS1+hm+gb2w= +SHA256-Digest: bnqVDCFodbSbseUbLOrdCwprRMxbpCYHMvVbz/3KP/o= Name: _locales/sl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: RA7Gv76ZyK4iK4hqwILaySkuAFM= -SHA256-Digest: ESZ5Fl2x1CE3eL2YYlbltIINcgrD6dLJY93nrf5GpXw= +SHA1-Digest: MdQaZFkibS04O78qFlB6kmwhF9c= +SHA256-Digest: 9pLwtRZfEy2la4LfIgkbDR/M+nNotJAA5wzEgT+AfyI= + +Name: _locales/sl_SI/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: wFhFU0upAYqmmQI/nRnGEnqP30Y= +SHA256-Digest: qx/D6APKUhcKmNWwCHD/baIjzMFQNTR4/Rt6LvOTQ4Q= Name: _locales/son/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/sq/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 5uJoBCUXrnzY+eqWkRGe1iy1NdU= -SHA256-Digest: pYg0lqPIKfd45lAMvwEO/WfW/epc52KDXllEb9eeC2o= +SHA1-Digest: 87nTmcsWpoEAsJTN4/ZFf+01I8A= +SHA256-Digest: POGPrXKN5GuJ59k227ozXns25ogQdzOOgA3azEA1f94= Name: _locales/sr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rby2mZWzykY4n5LFRFYrdZKblyk= -SHA256-Digest: 0Rb/WDYKktOZK9wDRi6G5n9xM60Ewfc+nD+ssMZ0824= +SHA1-Digest: zJI0kCSZIB/4rfhaGxg0aUGrbtQ= +SHA256-Digest: tfKdrL6vsCYxRU/QeEvAZC58y6qDuEKkhNi17r1e/8o= Name: _locales/sv/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: sjoHvbijWE+Zxd8yH85uell7jdM= -SHA256-Digest: bXcYnJD9Y071QxDAB2ewa+DGwB706egbYOE5FjSBWT8= +SHA1-Digest: UI6tx0CmaOkUsjASOmQvxNRkX+c= +SHA256-Digest: WnBcBaT7T7yKHUvac2bn2q5alrsbfEiLOQUXPIQLurQ= Name: _locales/sw/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ThjbKA6RlzJo4y+4vq4U3cweZq8= -SHA256-Digest: JZNcTzTyu1DP4J2/OwMn03yjx95B1ecTAc9V02+LQHk= +SHA1-Digest: JSf0a8gCwILGBI0T4d/FfWfIGDc= +SHA256-Digest: Z+oQpHb/T+I2XZ+JVJZW1KMeAP6yK/x9Quts8n64AlQ= Name: _locales/ta/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: xZcsuU3MPVySssRNEysyYEFAIBw= -SHA256-Digest: UfX0uBu4qzNE15ExuNcX1Yv012Vu7FAurcgyIwCxQfg= +SHA1-Digest: CW5Q8ok59gE/ZC8A4uPqW4cIfhI= +SHA256-Digest: vOG/RBohVZklUTu6y6cjUWg5RyNIbwaB33kUr5Ko2PI= Name: _locales/te/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: CmivsCWD+rVMYfBHf2O16xNRNkM= -SHA256-Digest: N7H3WAkc/m3ilE6IOyBgUvwUM1aHiNoUbOSp3FaYEhg= +SHA1-Digest: N/QOkBiJYvqsksR5+NWuHA0/fxk= +SHA256-Digest: jZC8UbVBsT2RvDZ1uebHtr76/oRaNdlmxLKWLnDaI3A= Name: _locales/templates/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/th/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: UaMG+GDBD+JiNa2sDovNrUlQZOc= -SHA256-Digest: VjA6mBYyiN1dopTVmCJxndC4eqYVWCiL1XS5Qs8oOrc= +SHA1-Digest: QaLDEcDBj6HdEh+eAhQ02DWS81c= +SHA256-Digest: ucjQxKDoCEwzTat3hNNjtMRJ/u85+QK47Rw93C4J8Sk= Name: _locales/tr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mNQuLLegV/msJfIoTa42oxxVsWI= -SHA256-Digest: S1NVwFBsDPEUR58pSHzoh1wm1RBI76DvEO2ki75M7KM= +SHA1-Digest: MDXJjWJjdDGjeYfHHa2+LsPj2tM= +SHA256-Digest: vdziBTOIPyWhvyfApPrN8jZMww3lePVgo4zDkwcv9og= Name: _locales/uk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: G2KcRdl3V2CBGbZD+hlS5h2cm/k= -SHA256-Digest: 2YwHxrbUJ8hPa8tmfjyy1QjbwZDbcoZLvgWMClWnaDI= +SHA1-Digest: TargN1mxonMdbvos0GBcCxU0+dI= +SHA256-Digest: 6ZRhyVruPhNEb5UPYCrb/EFcy6ArHSNqxBy4KNEhq/c= Name: _locales/ur/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: j/Ezk6RHzLgRn7lcHkYyqU7qPNc= -SHA256-Digest: /vBrGsP4uh7cpzOfxWTceb4D+3cvmxHdJU3YMZ67ulE= +SHA1-Digest: kUEeTx9OeiESvvWjprUjqluEhZk= +SHA256-Digest: ADAHAHlOUIGXLO2Aj5/it+lavjH4WkbjLV43yI6CO4s= Name: _locales/uz/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rYgWhjurLm/GKrJzLT26Myd9iXE= -SHA256-Digest: 6k0xnSewlloFCgFql31Hfn9HgExcTGcQgABKAOOCDrw= +SHA1-Digest: bmGV4U+3LA14ZwC5RcRdN5RB+tk= +SHA256-Digest: SPoiBWn8W+vyUJHKfocitJ5y6RjXedgta0HxflAFB9Y= Name: _locales/vi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TLWGtMI3tMBQiuPS6ejZ8QEYikM= -SHA256-Digest: ukmrhku0cLgxMpOdLaDp0UfGk/PXFHgybA3pXwk4wM8= +SHA1-Digest: GMY5uzc6vq9pP9hqFNGlOgVYZ8k= +SHA256-Digest: OidbjDj9CBSxmM5oW3RagDo6ZNvA+5P9CGN8C0cbgms= + +Name: _locales/zh-Hant/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: NXT6rNViMHWrKSlecajyj80CeIg= +SHA256-Digest: 3zXYNMBhIcIsuhQRzfIAFhV3GdeGZXgyc+h5bFXMZtk= + +Name: _locales/zh/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Vu5rZrqGhcESvjluy4x3EcMPi4o= +SHA256-Digest: karIDiNHSaijMuQkVkG71+StamzOq9ZeGiQhzwJjTAw= Name: _locales/zh_CN/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: vU7jxtL18Fr8vum8pSai9A5JAWE= -SHA256-Digest: dxq6YC4+n+rTRQu9xpn7Cz+yzTGk4dduxtqGhMzDV1s= +SHA1-Digest: HWK9jni02GGBk/XOVpL/R1rs0NI= +SHA256-Digest: Hl+NW/IGzS73WJhUVgY9cPJvMyb0ZomG7k64dzoJ1wc= Name: _locales/zh_HK/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: KLXjz4gil1t3LzsGRJKB2fbg4yY= -SHA256-Digest: tFsMYjAmiddymQ1bjwlgCZl34/J4wipttX0VYXdzQYA= +SHA1-Digest: oZ9Ht83pERBafXR1h2mucibzUUo= +SHA256-Digest: Vq5s6nfmwfxvTVQlmjFCHCYlzvJanl+4I8J2h8F0hjs= Name: _locales/zh_TW/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 3kKCtcrvp7R8mf9O6BfkA9asWy8= -SHA256-Digest: JZBmj4ibYIi1S18oVQL6IN5Cd1QH5pU29ZdXTvJoeUA= +SHA1-Digest: yfJJJg+Uan6mqiwEm4W0l5tT+nU= +SHA256-Digest: Xj6MJjfhW3liYqF0UIY6flSaOxnNyr4Urgu2gffF99I= Name: background-scripts/background.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: e9bgbenOeOSQ5W+s+RZb3VcAdj0= -SHA256-Digest: J6SvdGA1EmF3HwsyF1aVSYjAgDyHvHYcD7Fmik5wzcQ= +SHA1-Digest: GMCKwYZnhsRm4ExhG1q6wY+DQno= +SHA256-Digest: D4ogTIq+ze3hPGkcxzkc2jFho2hACQn3iYc2oaw4egE= Name: background-scripts/bootstrap.js Digest-Algorithms: SHA1 SHA256 @@ -472,13 +522,13 @@ SHA256-Digest: AnGJOJ4CKWmdFZaWNzvm7NWZjbzCKkdawPc8RZCH4d0= Name: background-scripts/ip_utils.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: bUJxgS5hZm0e1wMZAAKdsP4fvc0= -SHA256-Digest: RszaKsMeTIwf1MeeepVOQTDrQn8QAI8Q/kdT4cr/HCA= +SHA1-Digest: 8RyxTy1FNW0wvKPs+DqKNNZYvV0= +SHA256-Digest: F9Ij1ZyfnpmmCM0W3+WXfaBO/rnUAFZtXc2N305Qod8= Name: background-scripts/rules.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: N8X0z+BHmizCP2V18n6l2YS6oas= -SHA256-Digest: wt66mD+W1U8TEtFREnhTj4dZci7gvQ/paK0P99Zd1cA= +SHA1-Digest: 2dd1eq7Y16RvpmADSFGYSFdRvNc= +SHA256-Digest: 9Qw9Xoky6/2DvBn5nza/xBXbjaWkEBI9hPaaqAdQDqU= Name: background-scripts/store.js Digest-Algorithms: SHA1 SHA256 @@ -487,28 +537,33 @@ SHA256-Digest: lyCBwe6g79MMTtU1xyGBiIJidhqUsW/9YUXX158t6z8= Name: background-scripts/update.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: U+yWt3kUnx+aUHyQHNH09zq6tKc= -SHA256-Digest: jGVf/aBNtqDeZIZ8isDUMGJWKRJsjES3VVbNfhWRYTw= +SHA1-Digest: Z/kkBlC2HeS/G5zlAbeiFwLpgIQ= +SHA256-Digest: R1y7pQHEB8w7mNOn0zxEL20mys/8sOZxy5238BzhNoI= Name: background-scripts/update_channels.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: cvbaLS91UAT5FxxbHSwFKVd1ifc= -SHA256-Digest: A+IHR5euEsZ7mJOosskX7fHq9pU+ba6v5GrWJUhjTEY= +SHA1-Digest: kA9YO0yjVOE6vw2mpWPePkWyt/I= +SHA256-Digest: L966QoT5hiVg5mzQq9dACJ5o8OVsROxhNRd+LebsAQQ= Name: background-scripts/util.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mLZNhVOBzlY076ptInBKWnmWTOc= -SHA256-Digest: 2CTX0/wTLbod42VpXKBZb6tQknmSpmoABQdG0Dcks/U= +SHA1-Digest: pjJWekzg0QW6/0qYNf1pISXO14s= +SHA256-Digest: 1Cykm0yxo5EZs0+fZWtUPzHa38B6ZalDAOojqu5awgo= Name: background-scripts/wasm.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ZLYRsUCZlOP7lypaedp8uV0fG6E= -SHA256-Digest: JTL5nZOQbl7oeqYn/gK94nmQKxzHGfx1kLST+BlzNhA= +SHA1-Digest: 7pQTqvYA4el8WRX7FjQNUUcMUwg= +SHA256-Digest: TMk4CQYN4lxkG/ZBq+wp4erwwo8knS0H5HHBCa7LW08= + +Name: background-scripts/modules/ssl_codes.js +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: t5DE+asvCaL1VaVhVXbJDQXQaHw= +SHA256-Digest: hGKfRGrQWsXH8+9OfHcHM4I45d6DIIxClYqMSH1oBCA= Name: external/README.md Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: dSQMIVay5fAvqTv9vn8T3Do1UcE= -SHA256-Digest: UfJYJ16Y7ABn0ynWb0sHSzWm9IXmtJ3wNNmvtWaO94Y= +SHA1-Digest: DgCQOA7tYbKkLcJ92flagYsm0nI= +SHA256-Digest: So9vbyA/ExcM/wEms+bwz/YVVa2ayDCNnJ5sYJk40tk= Name: external/codemirror/codemirror-5.31.0.min.css Digest-Algorithms: SHA1 SHA256 @@ -580,6 +635,16 @@ Digest-Algorithms: SHA1 SHA256 SHA1-Digest: XYvqYHk+Ebepsvq4U3bo9rYMqQI= SHA256-Digest: 292a2wZxJ/ltXI+/9OdCzMX2YZnJDWMYUoVOOnU+sUs= +Name: pages/base.css +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Yk+MDy/I88Qd0VMzEBIbf0fBo0s= +SHA256-Digest: D7uZfk1BrCzx3HFnEBtdaN0E6rC6pErEZAd1X85xgCo= + +Name: pages/main.css +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: UN8/2mEQ6JZ7MTJiWQN8f77AgP8= +SHA256-Digest: QhiZj5JKVR1gPvtg6EaZxI735GiFeZglzuSkTJpZvpE= + Name: pages/translation.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: QMAZVa3usW8vcXwN2WP4lvIQQxQ= @@ -592,18 +657,18 @@ SHA256-Digest: tSZjbu7zilv5pujsEyp/+6HCfr7iu+KfoXNiftpAKAY= Name: pages/cancel/index.html Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: SlljKP7MiR2X1r80tm6y0FT1Lso= -SHA256-Digest: vMCh/4dTARgk/JZZ2RX8TM6IHwj3jEWowZQZAxbh8Q0= +SHA1-Digest: h94rEtsYrj+TsIBk2x+UqRhOHDM= +SHA256-Digest: Fgv98mLYPbIiOUi3HAw4YktUVkkt+7clLW2IgxTD9us= Name: pages/cancel/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mlkMryGWUSZAIm5bqC6a4FRZcvg= -SHA256-Digest: f5ZFbUrnmjamdva0NeL+nLLo/xLwF7NNF+tQhx4qth0= +SHA1-Digest: 0L/xbmBq8hCu58P61j4htTOA4Wk= +SHA256-Digest: ejF/rMWvajSbZFxp0hRT6SzhobQ3aILcf5pN1BTOGEE= Name: pages/cancel/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: nm69AoTDhthHIVDAUGWMdvlXh1Q= -SHA256-Digest: cRX3uWrkeiSzTlVTX3HbApxJtDNFzJCR4JOW0zUcJ7A= +SHA1-Digest: UtFAiW+HLmKUFMV/v2hPR5haiAI= +SHA256-Digest: i3Vc/dqv2XS12us9g1J5f6iMIZC0gI36g5N/FEKX1pw= Name: pages/debugging-rulesets/index.html Digest-Algorithms: SHA1 SHA256 @@ -622,18 +687,18 @@ SHA256-Digest: OVzkDGtCe3pg65opGnboDfrFsqFsLJxa5CQxBPA9gi0= Name: pages/options/index.html Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 2xIl/nnFZYfgtjeW3dlnFsxFhng= -SHA256-Digest: ckPU46P2mk1cPbH17RUCyLur4XcQCXhcG0W/wXkDl4w= +SHA1-Digest: cXwoesX+lTfZgizRwhLvV5iFNDQ= +SHA256-Digest: OzLgxg/tYfU/fSAIHLxBZ/++9W6FgznEEGHflPJ9aq8= Name: pages/options/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: tNTefjo28hGr/p8jo9Tebs5235E= -SHA256-Digest: LwJjXaNxzcSAwItvYPVH4RyL56m7YiDgiDrvb2+fJC8= +SHA1-Digest: m7GC//67J6ErvL9Wp1FvAUMLk/8= +SHA256-Digest: O5CikoWfyy2E2v3es6BJGltQ+OKfeD/uIYp9xsrqsF4= Name: pages/options/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: h0f0uBtqrDbbB2ayX3sXGRBzjQA= -SHA256-Digest: 0hjhHjRyJKyYV8UyHxFVAA5Ed3nsyNELGY7k6w3dgUY= +SHA1-Digest: bUAAi8jBxAk5YiNWqSyiXxkSPs4= +SHA256-Digest: WzJSEmMXT7Qi7rKftAFtuD6oRK0bfaLtzqCvtgwJ+/c= Name: pages/popup/index.html Digest-Algorithms: SHA1 SHA256 @@ -642,18 +707,18 @@ SHA256-Digest: JoShZlQiKjzRj2JxRHXHW4Df2LsKWf568UU/oKVePpQ= Name: pages/popup/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: BXDmpoPtS0hXAbCHerHWm2nUuOs= -SHA256-Digest: Uv55bGmQu+kzgEaQCeAVKvmQKUGDR7rMfWwHIXf2lSM= +SHA1-Digest: aPvKt4RXG/BofewRf4CE4mBg1lg= +SHA256-Digest: H6iKtXGZJ/o2chDo+KZtB8VNYdaadxE8+143tDhl3/U= Name: pages/popup/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Mv+lSsdyTa+Mi0VmPDojuiRwm/M= -SHA256-Digest: dBSZlJWh3J4lwld6GsRcbqGeIy3pEjThAIw6OMPRADU= +SHA1-Digest: 68pu62q/sp5slQO9MUxCOv+ofU0= +SHA256-Digest: 6VKXwWx0rQ6KoTh0OQ4KpscxkgcW433VAazICjc3bCM= Name: rules/default.rulesets Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 0A/H8kbD5PLjMUJfhbeRt5HJqeg= -SHA256-Digest: /jgxm97AgaYqkfbn/CCTLGvofLIED6PA2ncTlvFMU5U= +SHA1-Digest: hqWsDDcf2fp+r/dTBZqGw2eaqb0= +SHA256-Digest: hnQbXIa2D+1lFh6i13HSkXQyYa/TxpKrPlx3QzgnnX0= Name: wasm/https_everywhere_lib_wasm.js Digest-Algorithms: SHA1 SHA256 diff --git a/src/META-INF/cose.sig b/src/META-INF/cose.sig index c6e051ddebeb..c124769c1e40 100644 Binary files a/src/META-INF/cose.sig and b/src/META-INF/cose.sig differ diff --git a/src/META-INF/manifest.mf b/src/META-INF/manifest.mf index 79e0c29d3e7d..35f49ce809b8 100644 --- a/src/META-INF/manifest.mf +++ b/src/META-INF/manifest.mf @@ -2,463 +2,513 @@ Manifest-Version: 1.0 Name: manifest.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: YqFZDfQq5mQYd6lfC5fPFnNmV4s= -SHA256-Digest: DcBZZslFXUJam90wkPNcK13iJWyhbxw9wqg1kFMEVuc= +SHA1-Digest: X0hd0tplhCo2R8s3OE27fLAZFD8= +SHA256-Digest: iKk69TG3OJJNjjAJPTe72S+qXa4k/xL8yKmPzAGmaxg= Name: package.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: uI9Evnz9GMsap7a3z11YJP89sjk= -SHA256-Digest: av3sLi4aRc0rFgUhs72KUMC4uepuN5YxmsNPZ1/JWDQ= +SHA1-Digest: HQyF0Be9Z+C72YzyWk6LqTSCxkU= +SHA256-Digest: 1v7I/u/oNho1Z8rtRLepk7VY9i0r8EktoXSvvy92SsE= + +Name: _locales/ace/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ach/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/af/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 7/fhVUHaQ+4fwBfFPhKFIHaVe9s= -SHA256-Digest: f40G/T2bWKTBJcUihybonxIcn4kYiWpkyBEKaLJGOX8= +SHA1-Digest: iOMFMT97+EoNCW6DRomntg8GSHk= +SHA256-Digest: cw+OPqn11qIyL1P5cFnPmxrYTVKQ0oPX10+1KjXtNoc= + +Name: _locales/af_ZA/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ar/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Ba9KYnhEu0N0Xbv7yEO88B+e+zo= -SHA256-Digest: 45sibh+MIXp4PpYney6Be278zckdqyEpg/GQKMDqr6w= +SHA1-Digest: pxQQhQSkkjd9EAlMdZmvk+qmXhg= +SHA256-Digest: MORqa6PigyGRYrjsjuUVk80TAKErKzIZy9G5UnPV20U= + +Name: _locales/ar_EG/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/ast/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 4VIBgOHzmlSzKS215Qi/ksHW8SQ= -SHA256-Digest: E5fXysJb3p5J/IjtVBiEDBg+YRKzz56la8yy12Igpto= +SHA1-Digest: VdPNPPiC8Ro2JsmoBFkdW3TAy2c= +SHA256-Digest: 4zrpaArMxcBnUHIyLdenD/CDBXFXDgnSki4HzzEB0J8= Name: _locales/az/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VMm5aaWubgNsngqj5QmlKRLGnSU= -SHA256-Digest: 2PcqGrvTh0/ooR0HkyEEhy8pEGiIXb3uWzoEBHAG/eA= +SHA1-Digest: 3+BLldWYu7TK8cGkwWGVp8z0EUk= +SHA256-Digest: hfU635JcDvcEJzmbg2zkxSrfMEe0SVNvq8U9wj1SvNg= Name: _locales/be/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Z4xJSrINGXC5mrJYbSI8Et7XhYE= -SHA256-Digest: tpuh6Q8cnqZIzS0NROU2DJFfI/fKZ/1L94UREj26PDM= +SHA1-Digest: /7FQnv3lG2OqZFTdc3/fmuOznX8= +SHA256-Digest: OrCo5OOtp9o91snpAQUrgUG1KbmJ7ScDZ3tncnnV2po= Name: _locales/bg/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: CdfqSBRmVwCdveEtyz6Zr7Oq8H0= -SHA256-Digest: 1nRA9q7jYCpUPiLbJKZ8uGMfUMQwQv7+274X0qBi30M= +SHA1-Digest: uvPzsM24ej+LdWMNASNfYE1+tBs= +SHA256-Digest: Z0AMZvlkzgDfeSMbZQ+AdhZryI8kmsdpYpvOz8lM9TI= Name: _locales/bn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VXeF7XE0l2gABBbB0L0Z/qB7o1U= -SHA256-Digest: +75vuVO7TgT0UF/KzrmaoMIcq4lD9ZQptwpfGTfB8YE= +SHA1-Digest: dVoXHkj2UXzj4ctLQ7g2+cQu/o8= +SHA256-Digest: hTaM5b35bOJhTSV38ajtBg58bV5TdC47xttlYiZM/aU= Name: _locales/br/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 82PgXrKpWlS4o11EHg6A8Iggjos= -SHA256-Digest: WiU4jFV8Wncy8MV1Eequ60PJzAP8Hgc1AksuwRVRsbo= +SHA1-Digest: ZW6ty00kj6yNkgcEnnvyQjjgrWg= +SHA256-Digest: sTBK8ujpW+kR/M9mXe2ShZUChO9Ytu7gKVYQkaOwrZU= Name: _locales/bs/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: glfeWsrkPY9rWuXyavPCsQcyK38= -SHA256-Digest: bnfTYMZ6AqXW2nei5LG1Dao05SwfqX0zwxADHCedHK8= +SHA1-Digest: Vg2wDGtsbEZthKbRz9yUjj7Q8YA= +SHA256-Digest: vQgF2n0ktL3LZ1rqMaiZvCxRRt41I6PLvVHRJYvHb8o= Name: _locales/ca/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: LGSfXdgllWaHOaB1joGD8SqwnZY= -SHA256-Digest: IONGAZk8Cx+tDAMCawgFUI6JOvNqoGIacfthuylWCTo= +SHA1-Digest: /COeM2de5nZc7h2xYUdMcQqMeJw= +SHA256-Digest: otyh6c/nvuTuTZfmLv2FfYlbI6fkf9ibQ4zZYWll2Bk= + +Name: _locales/cmn/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/cs/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: kPDGKBM2Nw7JNce/S7UO7l3Sr7k= -SHA256-Digest: tHF2833mOfXGQfX63RpPPvW0HPbuMI+gSy8VA9YCrcA= +SHA1-Digest: PSPcBF4f2cciaztX/tDK489gG6w= +SHA256-Digest: nhqVZbEdeQLOEfTuC4WQZqq4nVX6TLgsumEei+NDJjo= Name: _locales/cy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: /eejvBeSMdkAa6pYUkTIrYPQ0Bk= -SHA256-Digest: 72WTDlTeftzp/u9G1wnWxi+G3W2NpKAgKhM4s1yQgEQ= +SHA1-Digest: A9MVuoq+YeTB4AJ7qXIW2t/2reU= +SHA256-Digest: MMpP51GLMadXFrMHt8O5C2q5x9ipotM+rbjBCSAIa0k= Name: _locales/da/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 1aBPYAcMv+JWCjtM2DvZNCnLaUM= -SHA256-Digest: HNyPxy6AcrMszkl4IHlqPDgUZW43EEDwWIHBEVhXnA0= +SHA1-Digest: 6EA7b3gcz67OK5/NhNpqiv8JsRw= +SHA256-Digest: XvGrh0Pr/cIN0+h7dYRhsWrE2sbpvCGejLUk5g2cb+M= Name: _locales/de/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: slVQWs5IBpRou+NEskFuv1Z7gRE= -SHA256-Digest: xi9kFdl3BN9fp99CqwclOstFSfINPag0VS5cPiJscRs= +SHA1-Digest: 5DxSzfj3HAO19N93skW8074DacU= +SHA256-Digest: 6RRsp8DV8g7u3majB5LXV/HNNz9wltPP3/drftJO+t0= Name: _locales/el/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: VWg5VYNm38I7bTPGMT5V+67g9/Q= -SHA256-Digest: CdkLR8ewXgkXAGS3XeFOLGwK+aLNYb3tF+TztINXfvo= +SHA1-Digest: cDgo3bT3QsyvgW6sNV1v7VhD+c0= +SHA256-Digest: oBZLruNBa+ryEI2AaAM1IuFsmVxF73+deXjq7P6lunM= Name: _locales/en/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/en_GB/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= + +Name: _locales/en_US/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/eo/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: FojwNrgHt1eVt9yrEnP1T/ECZRo= -SHA256-Digest: DF/AbnRsOK7dGveQRFeOIHk0hgLRHADfcbG0OLreJZU= +SHA1-Digest: cTvPwrTLEg/CLQ7vP936VGhWMBA= +SHA256-Digest: 6Tb3+j9lXyFMz+bKnJ+MnaIRIAaOIgFGgGFeLUWIHB0= Name: _locales/es/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Nw2cpoyjB6VJnCdIzSQFfF3QQhU= -SHA256-Digest: 58V1LUfsrsbeBI2lLbsV8z8SR5Ijo+BHeRbptIk73Ck= +SHA1-Digest: wdTXKRaKo3+lt2F/WAfhHECWQ0Q= +SHA256-Digest: 6LOKxRvSfOFCftbixNJLi3ILtnXblwVUdYoxy0KkUKE= Name: _locales/es_AR/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: tXSPJtXfvSetE35xapZ5g9E+F/w= -SHA256-Digest: dHoGfNKstuh2fjszEF1/dkCkqAbfOCbPy6QTTXhEE/Q= +SHA1-Digest: jNe5tt2sg9FYb/CklhOA/EfCNso= +SHA256-Digest: ejlUkVhdh38l0SQqB2iuiCGTJgg/HnUZ6YB1BIowEUI= Name: _locales/es_MX/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 8vHsRAy0cBEDCz4oy+ULNDunB0g= -SHA256-Digest: ZXRsUJtA/vxrIWQD+y4qR8WMG2C8qeaTR3kuNMc9ao8= +SHA1-Digest: 8r5iYER0e+Z9xsXkisoWpgiV6wY= +SHA256-Digest: nNkWHeZ9eKPmXKJTHyKHmuqMNO9w7KdMoCpNtykVJSo= Name: _locales/et/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: o/LDymK3wiuHzYHc0EDyw3T7d+A= -SHA256-Digest: wAZ+9vvJOKtJy3l/OaZAN378orFyn2946Q4v9ytdU0c= +SHA1-Digest: RuKFi2LDlh1aZ/sgjAQHk9Dr0aU= +SHA256-Digest: kEGCDq7xq97+kttCcjDTrhV+IRBdvTdokVw5x4MjUrg= Name: _locales/eu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: kCUpg8OCaCObRczcEprTG72JDac= -SHA256-Digest: V6f0R8SrYKNzm1B3nmUaVZab636tRFcUYNWEPhDBUUw= +SHA1-Digest: CfUVBO8uVqaEVg2rfNiEzhOOIxs= +SHA256-Digest: U4RrQUCTj9jzxLMjadoUZlclwDWv7StaWVTd+VfnN2I= Name: _locales/fa/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TV9rW/9oPKElE4Y/bYQyaHFEDs4= -SHA256-Digest: sVn9C3Ht9Ofp/502lQl/JKhyzXfLuA7Wi6DAVP5rckc= +SHA1-Digest: Zi0T7F3MTegvevGxycGERaO+y+k= +SHA256-Digest: FppLjcJVwKmgWnEVG8DUj/OfX/mPJaRmMHYdzdQ4Qk4= Name: _locales/fi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 58UJRn4vobh9ha8/HnfD/Txlf0k= -SHA256-Digest: u08t+BRPzReNYZ+OWnWVDnw32ANd2WWt801tNCJeNpk= +SHA1-Digest: Ijd1g6JcPeStcajdi2p49GxtL/s= +SHA256-Digest: XtP/3kb3g9EEZXkGRsQh5oEGWm5XdCCVHsY4eBWi2Lo= Name: _locales/fr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: okezgK40sYIpp2GFWi5AQyVyR4g= -SHA256-Digest: WhADVPCfE6bk0udOstPREpAXzTIoMIlyxTwKqJgcfE0= +SHA1-Digest: 4Kl28lQ4AxcFKuI1qPanfKBIO1I= +SHA256-Digest: JR6Ytgifw1eNfP5eEY9DW2+NyBy5t5m8jcfG1eElpos= + +Name: _locales/fr_FR/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: /siGONOTKZIcZRCh3Gjklyi6FpA= +SHA256-Digest: JOAxkWbsFpRl+/JTJ9Ii5P0ixY1UOkuZHRAjMb86eWI= Name: _locales/fy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: pWUKaGccWdaXweB8Tf+6/4HnlnE= -SHA256-Digest: c5s8xWcXmFxVxKav9vhId/cGNIMgjAgp/AO951P9SQY= +SHA1-Digest: qYt2G1hP0Cs203jLvxdBLgv4MGQ= +SHA256-Digest: cNu7cS359ufs/B5EXOMBJIvVbfB8V9sQpFxorgrRxxg= Name: _locales/ga/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: epqYPnNbo7kAhSSL3QPdAVrfvY4= -SHA256-Digest: Gw/M9mS2f1QTXXMnu7p3NWmrsVz4xxk+5ZtbN6RnoqA= +SHA1-Digest: oNZb00MUZHcEuMm1CKosXijaWgw= +SHA256-Digest: knCNuU+/o1k+pt0GMADpt3nuzqz17npT4Olsoj8EL7o= Name: _locales/gd/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/gl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: /rHEMGgGyXxZ5CPXWZJsfTg25Rs= -SHA256-Digest: weozuDKYNOqRNYDE1AWZ+8ptAbu8UWaG0Ftab9uEhtk= +SHA1-Digest: WBkm2qWTCShjdj+kFKqzxnZIoFg= +SHA256-Digest: Y3K9ZWg9+2pL1r34SJhQYu26Viki5wqVlJmLmVfhQdo= Name: _locales/gu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 7BmqUqkmnJTtpm8B8VXz8tuh53A= -SHA256-Digest: P769r6g/Qdw5Rv+bmKzEU5F1GSW5TGo57gzh6WcRoco= +SHA1-Digest: cxaffBOuU3Z+D/AJ6TQAXNFki3M= +SHA256-Digest: pTrp2BlrTKilZg+sRGpeuYQVSrInYg7QtVBMrLANj4Q= Name: _locales/he/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: yYKEm0Wo/i+Ev+cFaVr3MnEu0Xo= -SHA256-Digest: 2uKe1OLilpfR+HuHhBilmhp3K4IvzAwuJcdmJYgL2Uk= +SHA1-Digest: zshsgYzIwWg+jtvY4ingp8vw64c= +SHA256-Digest: BxJrAMOZ4VuFbXDVimpAN0xMEQBNZZkrmFWnTAXibks= Name: _locales/hi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: DmI45Ll34p2MkMwKe4TH91FhR34= -SHA256-Digest: kuJnlJJswoYWr5tHTpL6YbOKsqKzuWMWQCX2aaEHWuc= +SHA1-Digest: QRpvL2rosEDoTdx6BxxGGJpSVmo= +SHA256-Digest: liYeP2q1gkXphKzxxJNsqTh7+T1gzKsee+6vReQMdhs= Name: _locales/hr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: wY1WkEnM9IiR3ZG7PDZpKIwlMYg= -SHA256-Digest: ImiYIEJGdWT2b8Rcda4BgaGm2qVIzPGuvEErYni+ShM= +SHA1-Digest: x/3lhb7z7CVqZZdn3midgSjn5tY= +SHA256-Digest: HHx+VP0HB42dWTZ38cR004DWeQpFRgaF5TULrZkatwI= Name: _locales/hu/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: jXGGqvWLKwVkUmg0Hk5ghKn/sE0= -SHA256-Digest: kYtXHZU1QN8ssbLzOvarLg0RhL6PLvUMygfA9vMFosQ= +SHA1-Digest: 4eKsxvmbG58FfD5yjfm4b3cr+g4= +SHA256-Digest: i9dh17H4Ruxjb3oxA4GPRJvRPecXQf3U+qaBlGj2qps= Name: _locales/hy/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ng5tsv2X99Vani3P9gUCL8USAuw= -SHA256-Digest: aOKyeoh+VlvnMGY+oJzXLlpoDo7FeCMyTqFO801jqXo= +SHA1-Digest: QzXAZ5katx2Ye+1QFyFHLcMJROM= +SHA256-Digest: HSYKniubHesccfXGMZYre5wJva2MRztMYAhMHMA2+Z4= Name: _locales/ia/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 9mSfqNZFLd4swuFsRZlUx9apepQ= -SHA256-Digest: +d5iz1mAvm8S9g8YXQxDGSQVWkp5r7roiL2TkQr0XnQ= +SHA1-Digest: Mm0o9mYuk3kCk5WbKuPCFU7zpqo= +SHA256-Digest: 6ORLVTr02qalRUcK63Ir1GXjw/p+v6nrK9/zI66QL6o= Name: _locales/id/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Pfm8oThuSpHsUJqABApjHlH+q+g= -SHA256-Digest: 3nfHPNoTmc6r7fe+5Fj1cS9uAe5UgY5zOUnbEqTIYrU= +SHA1-Digest: 9QctIupOryS8eWp04EJHAWNYj7c= +SHA256-Digest: NfVmJxGSWj5onjEn4//gX5P8n3QnqBXXP5Z9Lf+578M= Name: _locales/is/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 5Ptp4gCWj3wqfvcWOwXNR4HcKmw= -SHA256-Digest: RTtvJ/vLBfHYlpom4TFZJ4lDq1KkjgdjS9SL7x8IMvE= +SHA1-Digest: /P9T+vTThdd7i1pmGcYD6nOkY44= +SHA256-Digest: L1OQmFHZBhJHVvNqOh3610u1MS+SLQd9NHvYu2FkRVE= Name: _locales/it/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: KutH5WsjjqQ5+qRezgV60tU0SFc= -SHA256-Digest: Dc+M8naPSH87SKCi4WF4QpdXs0AmPubTOcb4RbBRKho= +SHA1-Digest: QfqJFvpr/CghH/0gsO9h+sYKy1Y= +SHA256-Digest: vtdELbvnbICfJVOrxFLjaJq656uK7EK2pTcecgf4dNc= Name: _locales/ja/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: g89naEEB09Hx7M87NHFGLX68LTM= -SHA256-Digest: p7gFh+a221OX8tq1ZMHt8941NOOikc/Van/eoukEZoY= +SHA1-Digest: 7zImT7HvkvCQpdObYY520peFtDs= +SHA256-Digest: mjSxBaiB+SkXyspN3wi6aodH4rYgcp6da2exdiEcGU4= Name: _locales/ka/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: R7qiJKvrZijjtiwpEo5ZhMtIJwA= -SHA256-Digest: EKE16UsoLgeca48iOpeyeGQX0GDdtHnO9XxhKtl47xA= +SHA1-Digest: fHsD070Q4aHyxYhCNfQIYT3MKS0= +SHA256-Digest: yeIbx8SP8Wa4kvXo6Lzx9wrRj1LynhWFd2nbPUqZEsk= Name: _locales/kab/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/kk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: oE7Xw/q8MQwHBTAvUlMtHsiol9c= -SHA256-Digest: u1P+KkrYILz4A2xyygC3zEMDDmyuAI7R3VoBYUjZ7+8= +SHA1-Digest: 8Sdjq0KMj4ANwq94weNnUQYtI+s= +SHA256-Digest: bTKB9CkWNhqawbJDhs1/GX4/z4j0Vg4cx31zKw44f5Y= Name: _locales/km/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: b6Y1UC2eb5iNqoiIODqzjJSVfeM= -SHA256-Digest: OgaaXtsc8nBxcBU87p5CPfbLo/3oGfcjmyf3gFWj09s= +SHA1-Digest: w5qIgDP+885pZJMl8FyA2yGUt1A= +SHA256-Digest: sjEA2JwKdlS1D1hQxKQedb9DYCwOSDhyxusv/cUTkvE= Name: _locales/kn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 3hrFDxwKD/CcYqoUrThF+BjfvWo= -SHA256-Digest: 3WME3cF00SEkEbj1iiJxqnB2DRBtDxglYbgF6/kN10I= +SHA1-Digest: MdvnoS3SrWGvRWSyvuRqoWvRiWc= +SHA256-Digest: TaiiWa/PbBrRxhqRBYvFWtGmyyy/ovdu/yhHq/w9jk4= Name: _locales/ko/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: X728dVAJBdQp1dxCtekF5k4G4S0= -SHA256-Digest: wCR5lSQAU3ewNSm3lgPDDXqQw8RwxsvaqOt+3ESsvL0= +SHA1-Digest: GqRtNAUwxrLDluWtx2LqjXzg+50= +SHA256-Digest: McBNqK4HaGAS0dEAMzOD8lrwecj6CFapkKhRgZpR2qU= Name: _locales/lt/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: H2ncSAlPc1ifgDkCeZHtEN2ZFxA= -SHA256-Digest: 0dxTnOqE49oEPkf4/JNVrrA/WOMBFajJ6A1LDIH+NKo= +SHA1-Digest: cBHtxCIgs0M0vuawqYXF7qBAPZo= +SHA256-Digest: RvNH3JOZbIBt6KKPOdP91hxzpQQLbYxJxWeg36ncftU= Name: _locales/lv/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: n6RqvpzpwEeJ/XBoZ9kJNG6NEWY= -SHA256-Digest: eZsCELl1XfQ1v9VBVC59rdpkcbnSlmGXHx7zxa/+bw0= +SHA1-Digest: ljoDEg01zL32eJF/+OECLuPZkoY= +SHA256-Digest: +pRZCbp3zfzTbM0UqTpiJd23dSymtKZxiZlqD9zNZEw= Name: _locales/mk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: +4fQdY3aM3VMhZoPjD4x0h0EpZY= -SHA256-Digest: YQ3jqlOOiH1Maz2MOm+WqpaUE5YkINjOX2Wc3vMiyAw= +SHA1-Digest: dHL1X/r5TNAy5AXujh48jmaBZMY= +SHA256-Digest: Fs8OnAZZqmqEZHAoYINC1qjLdniDuxjboibfVPvcxek= Name: _locales/ml/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: hV40w3HqI2yXUmIh6AkgjSGChBc= -SHA256-Digest: GX4et3eHG6Ytz1ycXs+IFaF1CWl+Hx2Rkg6dX8hP4N8= +SHA1-Digest: yjvR4hUOwBfI4/NLchJglHMznUY= +SHA256-Digest: /LzzQ1QQeGqOJGuwyf7hF1ynGzYojAJy8SjnfpqP8nU= Name: _locales/mr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rIVcTiwhbk0WKy65ldZTk2CvBT8= -SHA256-Digest: qPyynbjp/hwY8iYE8iMYQzRvJ0kxKDiLHPB5fpscv/M= +SHA1-Digest: VqbEpeDWqRRSDXueR7OXzV5Zi0c= +SHA256-Digest: DXWyMnlhjkPGEZgaBzsqFEU88IvmcrerTATrEqY+fqY= Name: _locales/ms_MY/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: fp6NyESRc3i19+qhdwqfOsUc0rs= -SHA256-Digest: 4szwp0NyH5ymGrGtib2HvK9lXJk9tuoITMNbMnfo1wQ= +SHA1-Digest: pNrnIUMZ1KSdavj7IpvgaXtMW1Y= +SHA256-Digest: WjOfy4w9K1h+lN9Ld1JdzPwXrpU3TYqIpcQLVhzSsKM= Name: _locales/my/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: spWMSpzl7ZZS783CpeBr629VV90= -SHA256-Digest: Lm3pZFCs6mV9hOcGAONud2Wgq5VuosRYr1ZaCIK3/Gg= +SHA1-Digest: kPgWIxR2rynJkEykmF/T0clmLcU= +SHA256-Digest: pVtnX3UxISFA90i1ivkuL01oGhoah2AqzAJosnkZMCw= Name: _locales/nb/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: NdCh5r2CenVAzgQF5Sy5f+VrP+Y= -SHA256-Digest: m6+4Gu7WvehE+NySxeOZL/D7oK7M/90vSlbJYK7g08M= +SHA1-Digest: xCCz+aU59J3pUBQrTu8Sookw3Xc= +SHA256-Digest: aHFiDv13/G909I851CrVRUPMSAyxLABNIT5TkFPWolw= Name: _locales/ne/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/nl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 6wLC+yB+O43A5kvtpD1jBb37b54= -SHA256-Digest: HM1Zwu16d0bJcrn0uEKemnSvX23zbmcy7d2vkDFRC78= +SHA1-Digest: uHnFt32GmeGIWlUhV2oc0YwDBoQ= +SHA256-Digest: EPKDxQlVhuigsi6at+OnLBBaPbqbNuYdbHu3nEx6Lv8= Name: _locales/nl_BE/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: WeIxfASeabanFbMJLcsbbuGYCMw= -SHA256-Digest: iVP19JtCs6Md7QbVrmsy26T9mXnjwGf38gU1qimEp1Y= +SHA1-Digest: vpN/Tt8RJNjNrjzQhvaCLnu818Y= +SHA256-Digest: UMIycHh4OpfT6XEX5IkOJbBhBEmykK3QzilVLqxXbas= Name: _locales/nn/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: jSAX1wSTB6vxtgcZ4Y/+gd3NBVY= -SHA256-Digest: ofqGd3YY8qa8ph6lKDnCseYP1q4/7Zj7/kQjkLR+iaY= +SHA1-Digest: /uRXmVZ2hcY4LDKBmhSwYPb+v9A= +SHA256-Digest: /VRfKB4L2T8XMwAUR9UCXed+uPckbOsicnTGYCRT62U= Name: _locales/oc/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: hdhjO2+PXTFVa7g19QEnmQMgtJU= -SHA256-Digest: PF/DvUrT4tKbnZR9JJX3TdwdU3H4uZSyo3SAw/+Crig= +SHA1-Digest: LEIoVVmbjin2D0Bj5PimJENOmCQ= +SHA256-Digest: smQMMM7KSF/9lT0ryK07dEWxGtf3tYjF58E/kOIlNKY= Name: _locales/or/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: GWEr8iNzr4keZG6fFTNCN1Fijyo= -SHA256-Digest: w71Z7RMgZpNyFOMUyBKD87nPPnJG9tYNdY3+XeGTDv0= +SHA1-Digest: Ps0uvWBAvc6crMC3f7ztPoWLYHI= +SHA256-Digest: sX3swrX1p95cHWLBMrKDJ8mCOM/k+g3kR6+vKtjUlIY= Name: _locales/pa/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: nF4PmdcDLIYctM+NlOEvnpbJM3A= -SHA256-Digest: r9voSBI5dcWG1KTDjExVFuezSMlEOQzZj0l/vIgHGWE= +SHA1-Digest: +P2o0dGSh7jJUtVjUFU70dqtxiI= +SHA256-Digest: sHFd6kvNEbfWPpbLyIutoZkkEm0A9yWhjdbsXZ5YH5s= Name: _locales/pl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: yFr1gHE7Fjr5D1qZSZCucc0FW/s= -SHA256-Digest: mRlXxntEGhzydEeOMM6gC8ucxBfHATF4ldOjj+DkxJw= +SHA1-Digest: w97eXym45Cju4UUq2hDgfYZEivM= +SHA256-Digest: 8dpWSVyqOkrMcQs4Ub98uEHMtAkwdtuag9kfv31TnwY= Name: _locales/pt_BR/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: pBrCjCxVRG45x5ByZTWkAL8//zs= -SHA256-Digest: 6qTXw/TkqjXtW17euzMvm4ysjaeDAdli1OgEMa0Z1BM= +SHA1-Digest: B9dLWSgVB9XeiQqqE9ceVH+KFqw= +SHA256-Digest: bkAA6J0bp9u83YD/Cea1ggdTUpXBl47Pb/RAgW/QO9c= Name: _locales/pt_PT/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: sNLxpDqZmT9Kh+DjveJzs9UUR4Q= -SHA256-Digest: D+my1LxxQZ0SWtdtcIo/t+eAJGkKOe+in8REN3GItQo= +SHA1-Digest: MFTtI6bvZgIBNjfsrsEes5SZWWM= +SHA256-Digest: 6Oe7CSTsLlbxPCEcuVYO5tqvl3/TLquitxYnh40167c= Name: _locales/ro/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: eMnTTCk8hUY6RqnJIILMOdLuYW0= -SHA256-Digest: YEPLtSoqhF9KGrUERrZBSUTusOPMnxQSYyRnWArSGIY= +SHA1-Digest: iZA4eB6bVN8w8JNfUaLiB04ZeEU= +SHA256-Digest: esk4A/1PXdU5yjo/Y/f3zS1fzrVQUIhGPFyAS1eSw+k= + +Name: _locales/ro_RO/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: iCzvlQJKPogorBRk1ZaRc1PHSzk= +SHA256-Digest: f6sPhnOcfaNWIONa4Ow+YtnAM3GXnWIG1WXDRHOtves= Name: _locales/ru/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: EVdnChgSf/OdlkcGIRJw20Rxuoc= -SHA256-Digest: rR/mEnBuqZToKH5HozGDe8vkLmu41txhNvK9Qb1dsjc= +SHA1-Digest: 7icD6gFZZYuaRFlZHpM3v4S4rbw= +SHA256-Digest: PsIJMB4ploNqnBAmnqfFHDXH+zFdu4P6BNZMnIwT0ok= Name: _locales/si/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: KM47GTd9GQqAik45v3TwGKzhUqI= +SHA256-Digest: 3PvBqbX4qA1rQB4l+mrxTb6mwA7ssWzrxjn1VJn5peA= Name: _locales/si_LK/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: wCapUPBBOOtsnbUk0M7Z2WGlq2w= -SHA256-Digest: vsIjftNnG3dhsY83hRASwGdToPOkySct6pHghgpLn0o= +SHA1-Digest: /XRTG3mjOsamcRjwWbYUqmyS+jw= +SHA256-Digest: XbC317Ovdr7RhMsUfhfXDV1yDh+4pz86mQMG1PFGLdY= Name: _locales/sk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: EwEic57UdMDRe9LZzRMLhVIMuXQ= -SHA256-Digest: yHOUJ0u8DwLZXm/HWlsdPMEPqbyr6tQxyveqIUpidwY= +SHA1-Digest: 8g2uM/IilbLetxLlpS1+hm+gb2w= +SHA256-Digest: bnqVDCFodbSbseUbLOrdCwprRMxbpCYHMvVbz/3KP/o= Name: _locales/sl/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: RA7Gv76ZyK4iK4hqwILaySkuAFM= -SHA256-Digest: ESZ5Fl2x1CE3eL2YYlbltIINcgrD6dLJY93nrf5GpXw= +SHA1-Digest: MdQaZFkibS04O78qFlB6kmwhF9c= +SHA256-Digest: 9pLwtRZfEy2la4LfIgkbDR/M+nNotJAA5wzEgT+AfyI= + +Name: _locales/sl_SI/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: wFhFU0upAYqmmQI/nRnGEnqP30Y= +SHA256-Digest: qx/D6APKUhcKmNWwCHD/baIjzMFQNTR4/Rt6LvOTQ4Q= Name: _locales/son/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/sq/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 5uJoBCUXrnzY+eqWkRGe1iy1NdU= -SHA256-Digest: pYg0lqPIKfd45lAMvwEO/WfW/epc52KDXllEb9eeC2o= +SHA1-Digest: 87nTmcsWpoEAsJTN4/ZFf+01I8A= +SHA256-Digest: POGPrXKN5GuJ59k227ozXns25ogQdzOOgA3azEA1f94= Name: _locales/sr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rby2mZWzykY4n5LFRFYrdZKblyk= -SHA256-Digest: 0Rb/WDYKktOZK9wDRi6G5n9xM60Ewfc+nD+ssMZ0824= +SHA1-Digest: zJI0kCSZIB/4rfhaGxg0aUGrbtQ= +SHA256-Digest: tfKdrL6vsCYxRU/QeEvAZC58y6qDuEKkhNi17r1e/8o= Name: _locales/sv/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: sjoHvbijWE+Zxd8yH85uell7jdM= -SHA256-Digest: bXcYnJD9Y071QxDAB2ewa+DGwB706egbYOE5FjSBWT8= +SHA1-Digest: UI6tx0CmaOkUsjASOmQvxNRkX+c= +SHA256-Digest: WnBcBaT7T7yKHUvac2bn2q5alrsbfEiLOQUXPIQLurQ= Name: _locales/sw/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ThjbKA6RlzJo4y+4vq4U3cweZq8= -SHA256-Digest: JZNcTzTyu1DP4J2/OwMn03yjx95B1ecTAc9V02+LQHk= +SHA1-Digest: JSf0a8gCwILGBI0T4d/FfWfIGDc= +SHA256-Digest: Z+oQpHb/T+I2XZ+JVJZW1KMeAP6yK/x9Quts8n64AlQ= Name: _locales/ta/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: xZcsuU3MPVySssRNEysyYEFAIBw= -SHA256-Digest: UfX0uBu4qzNE15ExuNcX1Yv012Vu7FAurcgyIwCxQfg= +SHA1-Digest: CW5Q8ok59gE/ZC8A4uPqW4cIfhI= +SHA256-Digest: vOG/RBohVZklUTu6y6cjUWg5RyNIbwaB33kUr5Ko2PI= Name: _locales/te/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: CmivsCWD+rVMYfBHf2O16xNRNkM= -SHA256-Digest: N7H3WAkc/m3ilE6IOyBgUvwUM1aHiNoUbOSp3FaYEhg= +SHA1-Digest: N/QOkBiJYvqsksR5+NWuHA0/fxk= +SHA256-Digest: jZC8UbVBsT2RvDZ1uebHtr76/oRaNdlmxLKWLnDaI3A= Name: _locales/templates/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mvhh45rb9t4i9gVNcq31cj3M+NY= -SHA256-Digest: p5XbENlQjsSDm4SzRVfvxcZp1F7plWaQwIO1w1IlLcM= +SHA1-Digest: ofcr0jXThFpy+75hHp2/Q7a13Iw= +SHA256-Digest: fzhILeKwf6EXocFvocLJMDTVFY7948hKtI6L6UG8GFU= Name: _locales/th/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: UaMG+GDBD+JiNa2sDovNrUlQZOc= -SHA256-Digest: VjA6mBYyiN1dopTVmCJxndC4eqYVWCiL1XS5Qs8oOrc= +SHA1-Digest: QaLDEcDBj6HdEh+eAhQ02DWS81c= +SHA256-Digest: ucjQxKDoCEwzTat3hNNjtMRJ/u85+QK47Rw93C4J8Sk= Name: _locales/tr/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mNQuLLegV/msJfIoTa42oxxVsWI= -SHA256-Digest: S1NVwFBsDPEUR58pSHzoh1wm1RBI76DvEO2ki75M7KM= +SHA1-Digest: MDXJjWJjdDGjeYfHHa2+LsPj2tM= +SHA256-Digest: vdziBTOIPyWhvyfApPrN8jZMww3lePVgo4zDkwcv9og= Name: _locales/uk/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: G2KcRdl3V2CBGbZD+hlS5h2cm/k= -SHA256-Digest: 2YwHxrbUJ8hPa8tmfjyy1QjbwZDbcoZLvgWMClWnaDI= +SHA1-Digest: TargN1mxonMdbvos0GBcCxU0+dI= +SHA256-Digest: 6ZRhyVruPhNEb5UPYCrb/EFcy6ArHSNqxBy4KNEhq/c= Name: _locales/ur/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: j/Ezk6RHzLgRn7lcHkYyqU7qPNc= -SHA256-Digest: /vBrGsP4uh7cpzOfxWTceb4D+3cvmxHdJU3YMZ67ulE= +SHA1-Digest: kUEeTx9OeiESvvWjprUjqluEhZk= +SHA256-Digest: ADAHAHlOUIGXLO2Aj5/it+lavjH4WkbjLV43yI6CO4s= Name: _locales/uz/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: rYgWhjurLm/GKrJzLT26Myd9iXE= -SHA256-Digest: 6k0xnSewlloFCgFql31Hfn9HgExcTGcQgABKAOOCDrw= +SHA1-Digest: bmGV4U+3LA14ZwC5RcRdN5RB+tk= +SHA256-Digest: SPoiBWn8W+vyUJHKfocitJ5y6RjXedgta0HxflAFB9Y= Name: _locales/vi/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: TLWGtMI3tMBQiuPS6ejZ8QEYikM= -SHA256-Digest: ukmrhku0cLgxMpOdLaDp0UfGk/PXFHgybA3pXwk4wM8= +SHA1-Digest: GMY5uzc6vq9pP9hqFNGlOgVYZ8k= +SHA256-Digest: OidbjDj9CBSxmM5oW3RagDo6ZNvA+5P9CGN8C0cbgms= + +Name: _locales/zh-Hant/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: NXT6rNViMHWrKSlecajyj80CeIg= +SHA256-Digest: 3zXYNMBhIcIsuhQRzfIAFhV3GdeGZXgyc+h5bFXMZtk= + +Name: _locales/zh/messages.json +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Vu5rZrqGhcESvjluy4x3EcMPi4o= +SHA256-Digest: karIDiNHSaijMuQkVkG71+StamzOq9ZeGiQhzwJjTAw= Name: _locales/zh_CN/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: vU7jxtL18Fr8vum8pSai9A5JAWE= -SHA256-Digest: dxq6YC4+n+rTRQu9xpn7Cz+yzTGk4dduxtqGhMzDV1s= +SHA1-Digest: HWK9jni02GGBk/XOVpL/R1rs0NI= +SHA256-Digest: Hl+NW/IGzS73WJhUVgY9cPJvMyb0ZomG7k64dzoJ1wc= Name: _locales/zh_HK/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: KLXjz4gil1t3LzsGRJKB2fbg4yY= -SHA256-Digest: tFsMYjAmiddymQ1bjwlgCZl34/J4wipttX0VYXdzQYA= +SHA1-Digest: oZ9Ht83pERBafXR1h2mucibzUUo= +SHA256-Digest: Vq5s6nfmwfxvTVQlmjFCHCYlzvJanl+4I8J2h8F0hjs= Name: _locales/zh_TW/messages.json Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 3kKCtcrvp7R8mf9O6BfkA9asWy8= -SHA256-Digest: JZBmj4ibYIi1S18oVQL6IN5Cd1QH5pU29ZdXTvJoeUA= +SHA1-Digest: yfJJJg+Uan6mqiwEm4W0l5tT+nU= +SHA256-Digest: Xj6MJjfhW3liYqF0UIY6flSaOxnNyr4Urgu2gffF99I= Name: background-scripts/background.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: e9bgbenOeOSQ5W+s+RZb3VcAdj0= -SHA256-Digest: J6SvdGA1EmF3HwsyF1aVSYjAgDyHvHYcD7Fmik5wzcQ= +SHA1-Digest: GMCKwYZnhsRm4ExhG1q6wY+DQno= +SHA256-Digest: D4ogTIq+ze3hPGkcxzkc2jFho2hACQn3iYc2oaw4egE= Name: background-scripts/bootstrap.js Digest-Algorithms: SHA1 SHA256 @@ -472,13 +522,13 @@ SHA256-Digest: AnGJOJ4CKWmdFZaWNzvm7NWZjbzCKkdawPc8RZCH4d0= Name: background-scripts/ip_utils.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: bUJxgS5hZm0e1wMZAAKdsP4fvc0= -SHA256-Digest: RszaKsMeTIwf1MeeepVOQTDrQn8QAI8Q/kdT4cr/HCA= +SHA1-Digest: 8RyxTy1FNW0wvKPs+DqKNNZYvV0= +SHA256-Digest: F9Ij1ZyfnpmmCM0W3+WXfaBO/rnUAFZtXc2N305Qod8= Name: background-scripts/rules.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: N8X0z+BHmizCP2V18n6l2YS6oas= -SHA256-Digest: wt66mD+W1U8TEtFREnhTj4dZci7gvQ/paK0P99Zd1cA= +SHA1-Digest: 2dd1eq7Y16RvpmADSFGYSFdRvNc= +SHA256-Digest: 9Qw9Xoky6/2DvBn5nza/xBXbjaWkEBI9hPaaqAdQDqU= Name: background-scripts/store.js Digest-Algorithms: SHA1 SHA256 @@ -487,28 +537,33 @@ SHA256-Digest: lyCBwe6g79MMTtU1xyGBiIJidhqUsW/9YUXX158t6z8= Name: background-scripts/update.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: U+yWt3kUnx+aUHyQHNH09zq6tKc= -SHA256-Digest: jGVf/aBNtqDeZIZ8isDUMGJWKRJsjES3VVbNfhWRYTw= +SHA1-Digest: Z/kkBlC2HeS/G5zlAbeiFwLpgIQ= +SHA256-Digest: R1y7pQHEB8w7mNOn0zxEL20mys/8sOZxy5238BzhNoI= Name: background-scripts/update_channels.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: cvbaLS91UAT5FxxbHSwFKVd1ifc= -SHA256-Digest: A+IHR5euEsZ7mJOosskX7fHq9pU+ba6v5GrWJUhjTEY= +SHA1-Digest: kA9YO0yjVOE6vw2mpWPePkWyt/I= +SHA256-Digest: L966QoT5hiVg5mzQq9dACJ5o8OVsROxhNRd+LebsAQQ= Name: background-scripts/util.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mLZNhVOBzlY076ptInBKWnmWTOc= -SHA256-Digest: 2CTX0/wTLbod42VpXKBZb6tQknmSpmoABQdG0Dcks/U= +SHA1-Digest: pjJWekzg0QW6/0qYNf1pISXO14s= +SHA256-Digest: 1Cykm0yxo5EZs0+fZWtUPzHa38B6ZalDAOojqu5awgo= Name: background-scripts/wasm.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: ZLYRsUCZlOP7lypaedp8uV0fG6E= -SHA256-Digest: JTL5nZOQbl7oeqYn/gK94nmQKxzHGfx1kLST+BlzNhA= +SHA1-Digest: 7pQTqvYA4el8WRX7FjQNUUcMUwg= +SHA256-Digest: TMk4CQYN4lxkG/ZBq+wp4erwwo8knS0H5HHBCa7LW08= + +Name: background-scripts/modules/ssl_codes.js +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: t5DE+asvCaL1VaVhVXbJDQXQaHw= +SHA256-Digest: hGKfRGrQWsXH8+9OfHcHM4I45d6DIIxClYqMSH1oBCA= Name: external/README.md Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: dSQMIVay5fAvqTv9vn8T3Do1UcE= -SHA256-Digest: UfJYJ16Y7ABn0ynWb0sHSzWm9IXmtJ3wNNmvtWaO94Y= +SHA1-Digest: DgCQOA7tYbKkLcJ92flagYsm0nI= +SHA256-Digest: So9vbyA/ExcM/wEms+bwz/YVVa2ayDCNnJ5sYJk40tk= Name: external/codemirror/codemirror-5.31.0.min.css Digest-Algorithms: SHA1 SHA256 @@ -580,6 +635,16 @@ Digest-Algorithms: SHA1 SHA256 SHA1-Digest: XYvqYHk+Ebepsvq4U3bo9rYMqQI= SHA256-Digest: 292a2wZxJ/ltXI+/9OdCzMX2YZnJDWMYUoVOOnU+sUs= +Name: pages/base.css +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: Yk+MDy/I88Qd0VMzEBIbf0fBo0s= +SHA256-Digest: D7uZfk1BrCzx3HFnEBtdaN0E6rC6pErEZAd1X85xgCo= + +Name: pages/main.css +Digest-Algorithms: SHA1 SHA256 +SHA1-Digest: UN8/2mEQ6JZ7MTJiWQN8f77AgP8= +SHA256-Digest: QhiZj5JKVR1gPvtg6EaZxI735GiFeZglzuSkTJpZvpE= + Name: pages/translation.js Digest-Algorithms: SHA1 SHA256 SHA1-Digest: QMAZVa3usW8vcXwN2WP4lvIQQxQ= @@ -592,18 +657,18 @@ SHA256-Digest: tSZjbu7zilv5pujsEyp/+6HCfr7iu+KfoXNiftpAKAY= Name: pages/cancel/index.html Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: SlljKP7MiR2X1r80tm6y0FT1Lso= -SHA256-Digest: vMCh/4dTARgk/JZZ2RX8TM6IHwj3jEWowZQZAxbh8Q0= +SHA1-Digest: h94rEtsYrj+TsIBk2x+UqRhOHDM= +SHA256-Digest: Fgv98mLYPbIiOUi3HAw4YktUVkkt+7clLW2IgxTD9us= Name: pages/cancel/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: mlkMryGWUSZAIm5bqC6a4FRZcvg= -SHA256-Digest: f5ZFbUrnmjamdva0NeL+nLLo/xLwF7NNF+tQhx4qth0= +SHA1-Digest: 0L/xbmBq8hCu58P61j4htTOA4Wk= +SHA256-Digest: ejF/rMWvajSbZFxp0hRT6SzhobQ3aILcf5pN1BTOGEE= Name: pages/cancel/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: nm69AoTDhthHIVDAUGWMdvlXh1Q= -SHA256-Digest: cRX3uWrkeiSzTlVTX3HbApxJtDNFzJCR4JOW0zUcJ7A= +SHA1-Digest: UtFAiW+HLmKUFMV/v2hPR5haiAI= +SHA256-Digest: i3Vc/dqv2XS12us9g1J5f6iMIZC0gI36g5N/FEKX1pw= Name: pages/debugging-rulesets/index.html Digest-Algorithms: SHA1 SHA256 @@ -622,18 +687,18 @@ SHA256-Digest: OVzkDGtCe3pg65opGnboDfrFsqFsLJxa5CQxBPA9gi0= Name: pages/options/index.html Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 2xIl/nnFZYfgtjeW3dlnFsxFhng= -SHA256-Digest: ckPU46P2mk1cPbH17RUCyLur4XcQCXhcG0W/wXkDl4w= +SHA1-Digest: cXwoesX+lTfZgizRwhLvV5iFNDQ= +SHA256-Digest: OzLgxg/tYfU/fSAIHLxBZ/++9W6FgznEEGHflPJ9aq8= Name: pages/options/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: tNTefjo28hGr/p8jo9Tebs5235E= -SHA256-Digest: LwJjXaNxzcSAwItvYPVH4RyL56m7YiDgiDrvb2+fJC8= +SHA1-Digest: m7GC//67J6ErvL9Wp1FvAUMLk/8= +SHA256-Digest: O5CikoWfyy2E2v3es6BJGltQ+OKfeD/uIYp9xsrqsF4= Name: pages/options/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: h0f0uBtqrDbbB2ayX3sXGRBzjQA= -SHA256-Digest: 0hjhHjRyJKyYV8UyHxFVAA5Ed3nsyNELGY7k6w3dgUY= +SHA1-Digest: bUAAi8jBxAk5YiNWqSyiXxkSPs4= +SHA256-Digest: WzJSEmMXT7Qi7rKftAFtuD6oRK0bfaLtzqCvtgwJ+/c= Name: pages/popup/index.html Digest-Algorithms: SHA1 SHA256 @@ -642,18 +707,18 @@ SHA256-Digest: JoShZlQiKjzRj2JxRHXHW4Df2LsKWf568UU/oKVePpQ= Name: pages/popup/style.css Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: BXDmpoPtS0hXAbCHerHWm2nUuOs= -SHA256-Digest: Uv55bGmQu+kzgEaQCeAVKvmQKUGDR7rMfWwHIXf2lSM= +SHA1-Digest: aPvKt4RXG/BofewRf4CE4mBg1lg= +SHA256-Digest: H6iKtXGZJ/o2chDo+KZtB8VNYdaadxE8+143tDhl3/U= Name: pages/popup/ux.js Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: Mv+lSsdyTa+Mi0VmPDojuiRwm/M= -SHA256-Digest: dBSZlJWh3J4lwld6GsRcbqGeIy3pEjThAIw6OMPRADU= +SHA1-Digest: 68pu62q/sp5slQO9MUxCOv+ofU0= +SHA256-Digest: 6VKXwWx0rQ6KoTh0OQ4KpscxkgcW433VAazICjc3bCM= Name: rules/default.rulesets Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 0A/H8kbD5PLjMUJfhbeRt5HJqeg= -SHA256-Digest: /jgxm97AgaYqkfbn/CCTLGvofLIED6PA2ncTlvFMU5U= +SHA1-Digest: hqWsDDcf2fp+r/dTBZqGw2eaqb0= +SHA256-Digest: hnQbXIa2D+1lFh6i13HSkXQyYa/TxpKrPlx3QzgnnX0= Name: wasm/https_everywhere_lib_wasm.js Digest-Algorithms: SHA1 SHA256 @@ -667,11 +732,11 @@ SHA256-Digest: 7JqJ7u/5t5yGxh8p2+YCmgl+LeoRWQRlDJY9cLxWqA4= Name: META-INF/cose.manifest Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: qsEsHayCvhymi+uJ/L9EWoXtMoI= -SHA256-Digest: pqjl7fVYsBHZ2YNuUDJ8XmX244yHGisivB9igwioUQA= +SHA1-Digest: +bvUG+miP05322u9llsWujjkaHA= +SHA256-Digest: 0Rlv88HrG62MD20B3q/kRBPi9i8RxxgbxR5fKNHkV+Q= Name: META-INF/cose.sig Digest-Algorithms: SHA1 SHA256 -SHA1-Digest: 1tsCqnRAsab9wuCD36tro2OwxbE= -SHA256-Digest: pJGzlP/lG9X7A+8yB3VhIXoYyn9B8LV3uSxPdbf05+A= +SHA1-Digest: AusKfF2Hd6KpGJFyy+AgY3k6fvA= +SHA256-Digest: fk2cPQJETV0QGzKdhH6cQytV8e2iU8Y7jIZoDBzOT7U= diff --git a/src/META-INF/mozilla.rsa b/src/META-INF/mozilla.rsa index 958f65bf7d9f..d9e0388cc60c 100644 Binary files a/src/META-INF/mozilla.rsa and b/src/META-INF/mozilla.rsa differ diff --git a/src/META-INF/mozilla.sf b/src/META-INF/mozilla.sf index a85c814ec353..98f503350eae 100644 --- a/src/META-INF/mozilla.sf +++ b/src/META-INF/mozilla.sf @@ -1,4 +1,4 @@ Signature-Version: 1.0 -SHA1-Digest-Manifest: T2l4IxSYRAfCev0bjAYwGkerihI= -SHA256-Digest-Manifest: /+uqcCNd0UjisqfxAsJ3hcPU9EaBU2JkhGONP/wyuOw= +SHA1-Digest-Manifest: L31wgRQGJBOG3iJjSeLF4dXsod8= +SHA256-Digest-Manifest: S3HRAq2xWZ+ssLk+lltuxaJGsOPVGY0M8JJuWG6J2us= diff --git a/src/chrome/content/rules/1xbet.com.xml b/src/chrome/content/rules/1xbet.com.xml deleted file mode 100644 index 14e8cf5768f3..000000000000 --- a/src/chrome/content/rules/1xbet.com.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/350.org.xml b/src/chrome/content/rules/350.org.xml deleted file mode 100644 index bedc60ccd7fa..000000000000 --- a/src/chrome/content/rules/350.org.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/9p.io.xml b/src/chrome/content/rules/9p.io.xml new file mode 100644 index 000000000000..e6ccff92c248 --- /dev/null +++ b/src/chrome/content/rules/9p.io.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/Allegrolokalnie.pl.xml b/src/chrome/content/rules/Allegrolokalnie.pl.xml new file mode 100644 index 000000000000..3d11e088ead2 --- /dev/null +++ b/src/chrome/content/rules/Allegrolokalnie.pl.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/Asecus.xml b/src/chrome/content/rules/Asecus.xml deleted file mode 100644 index 3a8bf86a27ce..000000000000 --- a/src/chrome/content/rules/Asecus.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - diff --git a/src/chrome/content/rules/BHosted.nl.xml b/src/chrome/content/rules/BHosted.nl.xml deleted file mode 100644 index 355c19b02dea..000000000000 --- a/src/chrome/content/rules/BHosted.nl.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Bitly_branded_short_domains.xml b/src/chrome/content/rules/Bitly_branded_short_domains.xml index 461d95d92a4c..93fd0c95e97d 100644 --- a/src/chrome/content/rules/Bitly_branded_short_domains.xml +++ b/src/chrome/content/rules/Bitly_branded_short_domains.xml @@ -2825,7 +2825,6 @@ This file generated by Bitly on Fri, 10 Nov 2017 17:24:38 UTC - @@ -10857,7 +10856,6 @@ This file generated by Bitly on Fri, 10 Nov 2017 17:24:38 UTC - @@ -12082,7 +12080,6 @@ This file generated by Bitly on Fri, 10 Nov 2017 17:24:38 UTC - @@ -21038,7 +21035,6 @@ This file generated by Bitly on Fri, 10 Nov 2017 17:24:38 UTC - @@ -34185,7 +34181,6 @@ This file generated by Bitly on Fri, 10 Nov 2017 17:24:38 UTC - diff --git a/src/chrome/content/rules/Bitmix.biz.xml b/src/chrome/content/rules/Bitmix.biz.xml deleted file mode 100644 index 8e011d1eb898..000000000000 --- a/src/chrome/content/rules/Bitmix.biz.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/chrome/content/rules/Blender.io.xml b/src/chrome/content/rules/Blender.io.xml deleted file mode 100644 index 8210b20c3176..000000000000 --- a/src/chrome/content/rules/Blender.io.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - diff --git a/src/chrome/content/rules/Boing-Boing.xml b/src/chrome/content/rules/Boing-Boing.xml deleted file mode 100644 index 69bc2745e50b..000000000000 --- a/src/chrome/content/rules/Boing-Boing.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/CSGOStash.com.xml b/src/chrome/content/rules/CSGOStash.com.xml deleted file mode 100644 index e6fb6e67fd25..000000000000 --- a/src/chrome/content/rules/CSGOStash.com.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/chrome/content/rules/CSIS.dk.xml b/src/chrome/content/rules/CSIS.dk.xml deleted file mode 100644 index 2e6d6dd109e5..000000000000 --- a/src/chrome/content/rules/CSIS.dk.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/CashTravel.info.xml b/src/chrome/content/rules/CashTravel.info.xml new file mode 100644 index 000000000000..432779cf66bf --- /dev/null +++ b/src/chrome/content/rules/CashTravel.info.xml @@ -0,0 +1,18 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Chalmers.se.xml b/src/chrome/content/rules/Chalmers.se.xml index 8a9967976939..fd83200003d6 100644 --- a/src/chrome/content/rules/Chalmers.se.xml +++ b/src/chrome/content/rules/Chalmers.se.xml @@ -1,10 +1,18 @@ + + + + + + - - + diff --git a/src/chrome/content/rules/Chatons.org.xml b/src/chrome/content/rules/Chatons.org.xml deleted file mode 100644 index a40842f607ba..000000000000 --- a/src/chrome/content/rules/Chatons.org.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/CodecGuide.com.xml b/src/chrome/content/rules/CodecGuide.com.xml new file mode 100644 index 000000000000..c2a74e961413 --- /dev/null +++ b/src/chrome/content/rules/CodecGuide.com.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/Common-App.xml b/src/chrome/content/rules/Common-App.xml deleted file mode 100644 index 70df19bc1e43..000000000000 --- a/src/chrome/content/rules/Common-App.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Conde-Nast.xml b/src/chrome/content/rules/Conde-Nast.xml index d4b3e2fcccad..f102612d09dd 100644 --- a/src/chrome/content/rules/Conde-Nast.xml +++ b/src/chrome/content/rules/Conde-Nast.xml @@ -7,13 +7,11 @@ - ArsTechnica.co.uk.xml - ArsTechnica.com.xml - ArsTechnica.net.xml - - Conde_Nast.co.uk.xml - Conde_Nast_Digital.com.xml - Conde_Nast_Traveler.xml - Conde_Nast_store.com.xml - Condenet.com.xml - Details.xml - - GQ-magazine.co.uk.xml - GQ.xml - Golf_Digest.xml - Style.com.xml diff --git a/src/chrome/content/rules/Conde_Nast.co.uk.xml b/src/chrome/content/rules/Conde_Nast.co.uk.xml deleted file mode 100644 index 02cf0203bdac..000000000000 --- a/src/chrome/content/rules/Conde_Nast.co.uk.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - diff --git a/src/chrome/content/rules/Craphound.xml b/src/chrome/content/rules/Craphound.xml deleted file mode 100644 index 92af06fbf763..000000000000 --- a/src/chrome/content/rules/Craphound.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Cryptomixer.io.xml b/src/chrome/content/rules/Cryptomixer.io.xml deleted file mode 100644 index f0ce88487cc7..000000000000 --- a/src/chrome/content/rules/Cryptomixer.io.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/chrome/content/rules/DPB.sk.xml b/src/chrome/content/rules/DPB.sk.xml new file mode 100644 index 000000000000..f9421204f8db --- /dev/null +++ b/src/chrome/content/rules/DPB.sk.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/DWheeler.xml b/src/chrome/content/rules/DWheeler.xml index be3e2cfe0a1e..625f3cd28269 100644 --- a/src/chrome/content/rules/DWheeler.xml +++ b/src/chrome/content/rules/DWheeler.xml @@ -4,6 +4,6 @@ + to="https://dwheeler.com/"/> diff --git a/src/chrome/content/rules/DanceSafe.org.xml b/src/chrome/content/rules/DanceSafe.org.xml deleted file mode 100644 index fe80da243034..000000000000 --- a/src/chrome/content/rules/DanceSafe.org.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - diff --git a/src/chrome/content/rules/DaniWeb.com.xml b/src/chrome/content/rules/DaniWeb.com.xml deleted file mode 100644 index 128011b0a3a9..000000000000 --- a/src/chrome/content/rules/DaniWeb.com.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Databricks.com.xml b/src/chrome/content/rules/Databricks.com.xml deleted file mode 100644 index 986d511adb0d..000000000000 --- a/src/chrome/content/rules/Databricks.com.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Daum_Communications.xml b/src/chrome/content/rules/Daum_Communications.xml deleted file mode 100644 index 96f3777e8f1b..000000000000 --- a/src/chrome/content/rules/Daum_Communications.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/Deadspin.com.xml b/src/chrome/content/rules/Deadspin.com.xml deleted file mode 100644 index b2e13918bf0c..000000000000 --- a/src/chrome/content/rules/Deadspin.com.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/DocSend.com.xml b/src/chrome/content/rules/DocSend.com.xml deleted file mode 100644 index b9281b83fbc5..000000000000 --- a/src/chrome/content/rules/DocSend.com.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Dreamsolution.nl.xml b/src/chrome/content/rules/Dreamsolution.nl.xml deleted file mode 100644 index 8071d918eac8..000000000000 --- a/src/chrome/content/rules/Dreamsolution.nl.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/chrome/content/rules/E-Estonia.com.xml b/src/chrome/content/rules/E-Estonia.com.xml deleted file mode 100644 index 4693e784d769..000000000000 --- a/src/chrome/content/rules/E-Estonia.com.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/EUBA.sk.xml b/src/chrome/content/rules/EUBA.sk.xml new file mode 100644 index 000000000000..9200a562d105 --- /dev/null +++ b/src/chrome/content/rules/EUBA.sk.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Eduroam.org.xml b/src/chrome/content/rules/Eduroam.org.xml deleted file mode 100644 index be309020acc4..000000000000 --- a/src/chrome/content/rules/Eduroam.org.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/ElevenPaths.xml b/src/chrome/content/rules/ElevenPaths.xml deleted file mode 100644 index ed0f936f8527..000000000000 --- a/src/chrome/content/rules/ElevenPaths.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - diff --git a/src/chrome/content/rules/Europe_Miniatures.xml b/src/chrome/content/rules/Europe_Miniatures.xml deleted file mode 100644 index 3af3949b3f59..000000000000 --- a/src/chrome/content/rules/Europe_Miniatures.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/Fail2ban.org.xml b/src/chrome/content/rules/Fail2ban.org.xml index 73c64973a6bc..fc1736d5d4af 100644 --- a/src/chrome/content/rules/Fail2ban.org.xml +++ b/src/chrome/content/rules/Fail2ban.org.xml @@ -1,4 +1,5 @@ + diff --git a/src/chrome/content/rules/Fantia.jp.xml b/src/chrome/content/rules/Fantia.jp.xml new file mode 100644 index 000000000000..bca9933d0675 --- /dev/null +++ b/src/chrome/content/rules/Fantia.jp.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/FragDenStaat.de.xml b/src/chrome/content/rules/FragDenStaat.de.xml deleted file mode 100644 index 11be6d10118b..000000000000 --- a/src/chrome/content/rules/FragDenStaat.de.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/chrome/content/rules/Framasoft.xml b/src/chrome/content/rules/Framasoft.xml index 670650e44ac8..b48712454818 100644 --- a/src/chrome/content/rules/Framasoft.xml +++ b/src/chrome/content/rules/Framasoft.xml @@ -1,39 +1,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/FreeBSoft.org.xml b/src/chrome/content/rules/FreeBSoft.org.xml index 204d8bfe966a..6df3b39ac8c9 100644 --- a/src/chrome/content/rules/FreeBSoft.org.xml +++ b/src/chrome/content/rules/FreeBSoft.org.xml @@ -4,9 +4,7 @@ - www * - beta ** - cvs ** - - devel * - - git ** - - live * + - lists * Shows www.ktn.cz, valid cert ** 500, valid cert @@ -23,8 +21,12 @@ --> + + + - + + + + + + + + diff --git a/src/chrome/content/rules/Freegeoip.net.xml b/src/chrome/content/rules/Freegeoip.net.xml index 3256be89ccbe..844e9db12cf8 100644 --- a/src/chrome/content/rules/Freegeoip.net.xml +++ b/src/chrome/content/rules/Freegeoip.net.xml @@ -6,7 +6,7 @@ - + - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/French-National-Centre-for-Scientific-Research.xml b/src/chrome/content/rules/French-National-Centre-for-Scientific-Research.xml index d8841596aa1a..04a8ec0f1744 100644 --- a/src/chrome/content/rules/French-National-Centre-for-Scientific-Research.xml +++ b/src/chrome/content/rules/French-National-Centre-for-Scientific-Research.xml @@ -147,6 +147,8 @@ Fetch error: http://labintel.cnrs.fr/ => https://labintel.cnrs.fr/: (60, 'SSL ce + + diff --git a/src/chrome/content/rules/Funet.fi.xml b/src/chrome/content/rules/Funet.fi.xml index 6f969c027354..aa36054b25ec 100644 --- a/src/chrome/content/rules/Funet.fi.xml +++ b/src/chrome/content/rules/Funet.fi.xml @@ -2,8 +2,13 @@ + + + + + - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/GSA.gov.xml b/src/chrome/content/rules/GSA.gov.xml index 06449f15b8dc..ddcd64406ba8 100644 --- a/src/chrome/content/rules/GSA.gov.xml +++ b/src/chrome/content/rules/GSA.gov.xml @@ -12,7 +12,6 @@ Fetch error: http://fbopen.gsa.gov/ => https://fbopen.gsa.gov/: (6, 'Could not r - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Gizmodo.com.xml b/src/chrome/content/rules/Gizmodo.com.xml deleted file mode 100644 index a035165e8b46..000000000000 --- a/src/chrome/content/rules/Gizmodo.com.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/GoingAwesomePlaces.com.xml b/src/chrome/content/rules/GoingAwesomePlaces.com.xml deleted file mode 100644 index 973b409ba4ed..000000000000 --- a/src/chrome/content/rules/GoingAwesomePlaces.com.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/Google.tld_Subdomains.xml b/src/chrome/content/rules/Google.tld_Subdomains.xml index d2d6e817f867..442c669a6796 100644 --- a/src/chrome/content/rules/Google.tld_Subdomains.xml +++ b/src/chrome/content/rules/Google.tld_Subdomains.xml @@ -10,117 +10,172 @@ failure: *.google.* failed: The target host must be a hostname, not URL, and must use at most one wildcard. --> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + - + + + + + + + + + + + - - + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Habrastorage.org.xml b/src/chrome/content/rules/Habrastorage.org.xml deleted file mode 100644 index 873a5e889ce6..000000000000 --- a/src/chrome/content/rules/Habrastorage.org.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Harakahdaily.xml b/src/chrome/content/rules/Harakahdaily.xml index 923ac5e7881c..59bc24549ccb 100644 --- a/src/chrome/content/rules/Harakahdaily.xml +++ b/src/chrome/content/rules/Harakahdaily.xml @@ -14,24 +14,13 @@ Non-2xx HTTP code: http://harakah.net.my/ (200) => https://harakah.net.my/ (521) --> - - - - - - - - - - - diff --git a/src/chrome/content/rules/HeaDuck.com.xml b/src/chrome/content/rules/HeaDuck.com.xml new file mode 100644 index 000000000000..60721353b7a4 --- /dev/null +++ b/src/chrome/content/rules/HeaDuck.com.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/Hololive.tv.xml b/src/chrome/content/rules/Hololive.tv.xml new file mode 100644 index 000000000000..a4ae113c15dd --- /dev/null +++ b/src/chrome/content/rules/Hololive.tv.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/IIS.net.xml b/src/chrome/content/rules/IIS.net.xml deleted file mode 100644 index c16fff835fec..000000000000 --- a/src/chrome/content/rules/IIS.net.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/IMDB.xml b/src/chrome/content/rules/IMDB.xml index 5b6ce5e9af14..4678becbba54 100644 --- a/src/chrome/content/rules/IMDB.xml +++ b/src/chrome/content/rules/IMDB.xml @@ -24,20 +24,6 @@ --> - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/IWPR.net.xml b/src/chrome/content/rules/IWPR.net.xml new file mode 100644 index 000000000000..8907d3e7169a --- /dev/null +++ b/src/chrome/content/rules/IWPR.net.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Idris-lang.org.xml b/src/chrome/content/rules/Idris-lang.org.xml index 4495bb52b83c..7daef3aa2f50 100644 --- a/src/chrome/content/rules/Idris-lang.org.xml +++ b/src/chrome/content/rules/Idris-lang.org.xml @@ -1,12 +1,10 @@ + diff --git a/src/chrome/content/rules/ImageMagick.xml b/src/chrome/content/rules/ImageMagick.xml index 5aeb23def1f4..e88bac6ca4b7 100644 --- a/src/chrome/content/rules/ImageMagick.xml +++ b/src/chrome/content/rules/ImageMagick.xml @@ -1,21 +1,27 @@ - - + - + + + - - - + diff --git a/src/chrome/content/rules/Infradead.org.xml b/src/chrome/content/rules/Infradead.org.xml index 4a90df47cf59..1d44a93ad6c6 100644 --- a/src/chrome/content/rules/Infradead.org.xml +++ b/src/chrome/content/rules/Infradead.org.xml @@ -18,6 +18,7 @@ - merlin.infradead.org - myth.infradead.org - n300.infradead.org + - ns2.infradead.org - ns3.infradead.org - onkyo.infradead.org - peach.infradead.org @@ -51,17 +52,15 @@ Different content: - ftp.infradead.org - - git.infradead.org --> - - + diff --git a/src/chrome/content/rules/InoReader.com.xml b/src/chrome/content/rules/InoReader.com.xml deleted file mode 100644 index da4ce7bbda38..000000000000 --- a/src/chrome/content/rules/InoReader.com.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - - - - - diff --git a/src/chrome/content/rules/Internet.org.xml b/src/chrome/content/rules/Internet.org.xml deleted file mode 100644 index 4452d0499c42..000000000000 --- a/src/chrome/content/rules/Internet.org.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Io9.com.xml b/src/chrome/content/rules/Io9.com.xml deleted file mode 100644 index 52530e4c8903..000000000000 --- a/src/chrome/content/rules/Io9.com.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - diff --git a/src/chrome/content/rules/Jalopnik.com.xml b/src/chrome/content/rules/Jalopnik.com.xml deleted file mode 100644 index fca2513147d4..000000000000 --- a/src/chrome/content/rules/Jalopnik.com.xml +++ /dev/null @@ -1,67 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Jezebel.com.xml b/src/chrome/content/rules/Jezebel.com.xml deleted file mode 100644 index 9ff84bdec4b2..000000000000 --- a/src/chrome/content/rules/Jezebel.com.xml +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/JobsDB.com.xml b/src/chrome/content/rules/JobsDB.com.xml new file mode 100644 index 000000000000..613ab7f7242b --- /dev/null +++ b/src/chrome/content/rules/JobsDB.com.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/JoinPeerTube.org.xml b/src/chrome/content/rules/JoinPeerTube.org.xml deleted file mode 100644 index fe42db46ecc7..000000000000 --- a/src/chrome/content/rules/JoinPeerTube.org.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Joomlancers.com.xml b/src/chrome/content/rules/Joomlancers.com.xml index 1977ddf1eb5d..eb7a00479f7a 100644 --- a/src/chrome/content/rules/Joomlancers.com.xml +++ b/src/chrome/content/rules/Joomlancers.com.xml @@ -1,18 +1,11 @@ - - + + - - - - - - + diff --git a/src/chrome/content/rules/KSH.xml b/src/chrome/content/rules/KSH.xml index b9793d563e52..2e4405bea69a 100644 --- a/src/chrome/content/rules/KSH.xml +++ b/src/chrome/content/rules/KSH.xml @@ -6,6 +6,12 @@ + + + + + + diff --git a/src/chrome/content/rules/Kaimi.io.xml b/src/chrome/content/rules/Kaimi.io.xml index 5cc5dd23b7a7..4d32005a9254 100644 --- a/src/chrome/content/rules/Kaimi.io.xml +++ b/src/chrome/content/rules/Kaimi.io.xml @@ -5,14 +5,11 @@ --> - - - diff --git a/src/chrome/content/rules/Kinja.xml b/src/chrome/content/rules/Kinja.xml deleted file mode 100644 index 80f3f76ae2ba..000000000000 --- a/src/chrome/content/rules/Kinja.xml +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Knexjs.org.xml b/src/chrome/content/rules/Knexjs.org.xml new file mode 100644 index 000000000000..89de3600da74 --- /dev/null +++ b/src/chrome/content/rules/Knexjs.org.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Kotaku.com.xml b/src/chrome/content/rules/Kotaku.com.xml deleted file mode 100644 index 825659637e26..000000000000 --- a/src/chrome/content/rules/Kotaku.com.xml +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Lifars.com.xml b/src/chrome/content/rules/Lifars.com.xml deleted file mode 100644 index 850226c4b7f8..000000000000 --- a/src/chrome/content/rules/Lifars.com.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Lifehacker.com.xml b/src/chrome/content/rules/Lifehacker.com.xml deleted file mode 100644 index 2cb9ddf9b4ee..000000000000 --- a/src/chrome/content/rules/Lifehacker.com.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/London-Stock-Exchange.xml b/src/chrome/content/rules/London-Stock-Exchange.xml deleted file mode 100644 index 8b2ba0ffa7f5..000000000000 --- a/src/chrome/content/rules/London-Stock-Exchange.xml +++ /dev/null @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/LondonStockExchange.com.xml b/src/chrome/content/rules/LondonStockExchange.com.xml new file mode 100644 index 000000000000..60f680d5bb91 --- /dev/null +++ b/src/chrome/content/rules/LondonStockExchange.com.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/MARC.info.xml b/src/chrome/content/rules/MARC.info.xml deleted file mode 100644 index a6bc3ed773ff..000000000000 --- a/src/chrome/content/rules/MARC.info.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - diff --git a/src/chrome/content/rules/MSDN.xml b/src/chrome/content/rules/MSDN.xml index 86c044be7d9d..c885ccd523b9 100644 --- a/src/chrome/content/rules/MSDN.xml +++ b/src/chrome/content/rules/MSDN.xml @@ -1,7 +1,5 @@ - + + + + - - - - - - - - - - - - - - - - - - - @@ -99,18 +71,6 @@ Non-2xx HTTP code: http://public.create.msdn.com/assets/ (200) => https://www.cr --> - - - - - - - - + diff --git a/src/chrome/content/rules/MarioWiki.com.xml b/src/chrome/content/rules/MarioWiki.com.xml deleted file mode 100644 index ceaaa04656e9..000000000000 --- a/src/chrome/content/rules/MarioWiki.com.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/MeWe.com.xml b/src/chrome/content/rules/MeWe.com.xml new file mode 100644 index 000000000000..1ac21c487e54 --- /dev/null +++ b/src/chrome/content/rules/MeWe.com.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Microsoft.xml b/src/chrome/content/rules/Microsoft.xml index 02ddc245d12e..5af9697a22ab 100644 --- a/src/chrome/content/rules/Microsoft.xml +++ b/src/chrome/content/rules/Microsoft.xml @@ -55,7 +55,6 @@ Time: 2020-09-25 16:20:22 - OneNote.com.xml - OneNote.net.xml - Onestore.ms.xml - - Outlook_Live.xml - Photosynth.xml - PowerShell_Gallery.com.xml - Sfx.ms.xml @@ -433,48 +432,6 @@ Time: 2020-09-25 16:20:22 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -496,23 +453,9 @@ Time: 2020-09-25 16:20:22 - - - - - - - - - - - - + + + diff --git a/src/chrome/content/rules/Naver.com.xml b/src/chrome/content/rules/Naver.com.xml deleted file mode 100644 index 25e73b964557..000000000000 --- a/src/chrome/content/rules/Naver.com.xml +++ /dev/null @@ -1,139 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Naver_Corp.com.xml b/src/chrome/content/rules/Naver_Corp.com.xml index b6a14913ae20..7e567a053b41 100644 --- a/src/chrome/content/rules/Naver_Corp.com.xml +++ b/src/chrome/content/rules/Naver_Corp.com.xml @@ -1,7 +1,7 @@ - - - - - - - - - - - + - - - - - - - diff --git a/src/chrome/content/rules/Netlify.com.xml b/src/chrome/content/rules/Netlify.com.xml deleted file mode 100644 index db2ce76a1a5f..000000000000 --- a/src/chrome/content/rules/Netlify.com.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/OMC.net.xml b/src/chrome/content/rules/OMC.net.xml new file mode 100644 index 000000000000..c895bb006879 --- /dev/null +++ b/src/chrome/content/rules/OMC.net.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/Ok.ru.xml b/src/chrome/content/rules/Ok.ru.xml index c68db2b66908..a56f18995a42 100644 --- a/src/chrome/content/rules/Ok.ru.xml +++ b/src/chrome/content/rules/Ok.ru.xml @@ -6,15 +6,6 @@ --> - - - - - - - - - diff --git a/src/chrome/content/rules/OkCimg.com.xml b/src/chrome/content/rules/OkCimg.com.xml index b9f43e3e13b9..5150546df971 100644 --- a/src/chrome/content/rules/OkCimg.com.xml +++ b/src/chrome/content/rules/OkCimg.com.xml @@ -30,7 +30,7 @@ Fetch error: http://ads.okcimg.com/ => https://ads.okcimg.com/: (28, 'Operation - + diff --git a/src/chrome/content/rules/Onion.xml b/src/chrome/content/rules/Onion.xml deleted file mode 100644 index 2bd56ea2b44b..000000000000 --- a/src/chrome/content/rules/Onion.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Open_Source.org-problematic.xml b/src/chrome/content/rules/Open_Source.org-problematic.xml deleted file mode 100644 index ca67a35ef15e..000000000000 --- a/src/chrome/content/rules/Open_Source.org-problematic.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/Open_Source.org.xml b/src/chrome/content/rules/Open_Source.org.xml index 2e6fec1f15ea..fc51c4603f99 100644 --- a/src/chrome/content/rules/Open_Source.org.xml +++ b/src/chrome/content/rules/Open_Source.org.xml @@ -1,10 +1,8 @@ - - + + diff --git a/src/chrome/content/rules/Outlook_Live.xml b/src/chrome/content/rules/Outlook_Live.xml deleted file mode 100644 index 08f7a565ebbe..000000000000 --- a/src/chrome/content/rules/Outlook_Live.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/OxfordJournals.org.xml b/src/chrome/content/rules/OxfordJournals.org.xml index 38240959def1..10626a2023d1 100644 --- a/src/chrome/content/rules/OxfordJournals.org.xml +++ b/src/chrome/content/rules/OxfordJournals.org.xml @@ -24,398 +24,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Ozon.ru.xml b/src/chrome/content/rules/Ozon.ru.xml deleted file mode 100644 index 59c259555e5e..000000000000 --- a/src/chrome/content/rules/Ozon.ru.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Pando.xml b/src/chrome/content/rules/Pando.xml index 0205e300204a..fc5e6db3be66 100644 --- a/src/chrome/content/rules/Pando.xml +++ b/src/chrome/content/rules/Pando.xml @@ -12,7 +12,7 @@ - + diff --git a/src/chrome/content/rules/Placehold.it.xml b/src/chrome/content/rules/Placehold.it.xml deleted file mode 100644 index 2d8822b22266..000000000000 --- a/src/chrome/content/rules/Placehold.it.xml +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/PocketMatrix.com.xml b/src/chrome/content/rules/PocketMatrix.com.xml index d4d6b79c25cd..98f5e5ea1cae 100644 --- a/src/chrome/content/rules/PocketMatrix.com.xml +++ b/src/chrome/content/rules/PocketMatrix.com.xml @@ -1,28 +1,15 @@ - - + - - - - - - - - - + + diff --git a/src/chrome/content/rules/Power_Speaking.com.xml b/src/chrome/content/rules/Power_Speaking.com.xml deleted file mode 100644 index a58375dc074e..000000000000 --- a/src/chrome/content/rules/Power_Speaking.com.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/RARLab.xml b/src/chrome/content/rules/RARLab.xml deleted file mode 100644 index dc3375a9c430..000000000000 --- a/src/chrome/content/rules/RARLab.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/RIT.edu.xml b/src/chrome/content/rules/RIT.edu.xml index 81389144647c..5777799b8cdf 100644 --- a/src/chrome/content/rules/RIT.edu.xml +++ b/src/chrome/content/rules/RIT.edu.xml @@ -119,6 +119,7 @@ Fetch error: http://ntid.rit.edu/ => https://ntid.rit.edu/: (51, "SSL: no altern + diff --git a/src/chrome/content/rules/RSA-Security.xml b/src/chrome/content/rules/RSA-Security.xml deleted file mode 100644 index a7bc98588dd5..000000000000 --- a/src/chrome/content/rules/RSA-Security.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - diff --git a/src/chrome/content/rules/RTHK.hk.xml b/src/chrome/content/rules/RTHK.hk.xml new file mode 100644 index 000000000000..2da74c285fc4 --- /dev/null +++ b/src/chrome/content/rules/RTHK.hk.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/RTHK.org.hk.xml b/src/chrome/content/rules/RTHK.org.hk.xml new file mode 100644 index 000000000000..ddbbc30f6c53 --- /dev/null +++ b/src/chrome/content/rules/RTHK.org.hk.xml @@ -0,0 +1,28 @@ + + + + + + + diff --git a/src/chrome/content/rules/Raddle.me.xml b/src/chrome/content/rules/Raddle.me.xml index e7f74bf7f523..ef5bd387ffe8 100644 --- a/src/chrome/content/rules/Raddle.me.xml +++ b/src/chrome/content/rules/Raddle.me.xml @@ -1,6 +1,4 @@ - - diff --git a/src/chrome/content/rules/Radentscheid-frankfurt.de.xml b/src/chrome/content/rules/Radentscheid-frankfurt.de.xml new file mode 100644 index 000000000000..8cb7cc10f080 --- /dev/null +++ b/src/chrome/content/rules/Radentscheid-frankfurt.de.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Rapidgator.net.xml b/src/chrome/content/rules/Rapidgator.net.xml deleted file mode 100644 index fdf9be095172..000000000000 --- a/src/chrome/content/rules/Rapidgator.net.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/Recap_the_Law.xml b/src/chrome/content/rules/Recap_the_Law.xml deleted file mode 100644 index 640e0088b3a8..000000000000 --- a/src/chrome/content/rules/Recap_the_Law.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/src/chrome/content/rules/S.to.xml b/src/chrome/content/rules/S.to.xml new file mode 100644 index 000000000000..8d21909f7a3a --- /dev/null +++ b/src/chrome/content/rules/S.to.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/SF.net.xml b/src/chrome/content/rules/SF.net.xml index bc9c5c05b14f..0ef3c740834d 100644 --- a/src/chrome/content/rules/SF.net.xml +++ b/src/chrome/content/rules/SF.net.xml @@ -38,6 +38,12 @@ Fetch error: http://goparallel.sf.net/ => https://goparallel.sf.net/: (7, 'Faile + + + + + + diff --git a/src/chrome/content/rules/SONGLYRICS.com.xml b/src/chrome/content/rules/SONGLYRICS.com.xml index 0185e6576596..676a088c1906 100644 --- a/src/chrome/content/rules/SONGLYRICS.com.xml +++ b/src/chrome/content/rules/SONGLYRICS.com.xml @@ -1,18 +1,19 @@ - + + + diff --git a/src/chrome/content/rules/STUBA.sk.xml b/src/chrome/content/rules/STUBA.sk.xml new file mode 100644 index 000000000000..7917df9eedb5 --- /dev/null +++ b/src/chrome/content/rules/STUBA.sk.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Sashe.sk.xml b/src/chrome/content/rules/Sashe.sk.xml new file mode 100644 index 000000000000..325e549ec1ad --- /dev/null +++ b/src/chrome/content/rules/Sashe.sk.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/SlovakGovernment.xml b/src/chrome/content/rules/SlovakGovernment.xml index 1df10d8af1cc..0ebfb024811f 100644 --- a/src/chrome/content/rules/SlovakGovernment.xml +++ b/src/chrome/content/rules/SlovakGovernment.xml @@ -5,20 +5,42 @@ Nonfunctional hosts: connection refused: - - mosr.sk - - www.mosr.sk + - metais.finance.gov.sk + certificate chain issues: - - justice.gov.sk - - www.justice.gov.sk - - justice.sk - - www.justice.sk - - www.katasterportal.sk +- - www.ujd.gov.sk --> + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -36,17 +58,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -56,7 +114,6 @@ - @@ -70,31 +127,19 @@ + + + + + + - - - - - - - - - - - - - - - - - - - - + + diff --git a/src/chrome/content/rules/Slovensko.digital.xml b/src/chrome/content/rules/Slovensko.digital.xml new file mode 100644 index 000000000000..aa3ebacfa947 --- /dev/null +++ b/src/chrome/content/rules/Slovensko.digital.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/StockReportsPlus.com.xml b/src/chrome/content/rules/StockReportsPlus.com.xml new file mode 100644 index 000000000000..a3a1ac5c231c --- /dev/null +++ b/src/chrome/content/rules/StockReportsPlus.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/TMtm.ru.xml b/src/chrome/content/rules/TMtm.ru.xml index d2f8872f07df..16677f03f3ad 100644 --- a/src/chrome/content/rules/TMtm.ru.xml +++ b/src/chrome/content/rules/TMtm.ru.xml @@ -5,7 +5,6 @@ - Freelansim.ru.xml - HabraCDN.net.xml - Habrahabr.ru.xml - - Habrastorage.org.xml - Hsto.org.xml - Hstor.org.xml - megamozg.ru.xml diff --git a/src/chrome/content/rules/TRUNI.sk.xml b/src/chrome/content/rules/TRUNI.sk.xml new file mode 100644 index 000000000000..164d7324925c --- /dev/null +++ b/src/chrome/content/rules/TRUNI.sk.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/TUKE.sk.xml b/src/chrome/content/rules/TUKE.sk.xml new file mode 100644 index 000000000000..d7c793ae45de --- /dev/null +++ b/src/chrome/content/rules/TUKE.sk.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/TUZVO.sk.xml b/src/chrome/content/rules/TUZVO.sk.xml new file mode 100644 index 000000000000..368ddf137823 --- /dev/null +++ b/src/chrome/content/rules/TUZVO.sk.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Telefonica.xml b/src/chrome/content/rules/Telefonica.xml index 51de779d33a1..170a2633e0a5 100644 --- a/src/chrome/content/rules/Telefonica.xml +++ b/src/chrome/content/rules/Telefonica.xml @@ -1,36 +1,5 @@ - + - - + - - - - - - + + + + + + - - - - - - - - - - + - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/src/chrome/content/rules/The_Dark_Mod.com.xml b/src/chrome/content/rules/The_Dark_Mod.com.xml deleted file mode 100644 index 6d5967332c14..000000000000 --- a/src/chrome/content/rules/The_Dark_Mod.com.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - diff --git a/src/chrome/content/rules/Topky.sk.xml b/src/chrome/content/rules/Topky.sk.xml new file mode 100644 index 000000000000..c30e61be463a --- /dev/null +++ b/src/chrome/content/rules/Topky.sk.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/UNIBA.sk.xml b/src/chrome/content/rules/UNIBA.sk.xml new file mode 100644 index 000000000000..7597189abc95 --- /dev/null +++ b/src/chrome/content/rules/UNIBA.sk.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/UNIPO.sk.xml b/src/chrome/content/rules/UNIPO.sk.xml new file mode 100644 index 000000000000..3a3f71e3a5bf --- /dev/null +++ b/src/chrome/content/rules/UNIPO.sk.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/UNIZA.sk.xml b/src/chrome/content/rules/UNIZA.sk.xml new file mode 100644 index 000000000000..e8c131e97b3c --- /dev/null +++ b/src/chrome/content/rules/UNIZA.sk.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/Ubian.sk.xml b/src/chrome/content/rules/Ubian.sk.xml new file mode 100644 index 000000000000..11c141857dbc --- /dev/null +++ b/src/chrome/content/rules/Ubian.sk.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/Umsmash.com.xml b/src/chrome/content/rules/Umsmash.com.xml new file mode 100644 index 000000000000..a0b63dce0336 --- /dev/null +++ b/src/chrome/content/rules/Umsmash.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/University-of-Strathclyde.xml b/src/chrome/content/rules/University-of-Strathclyde.xml index db6bc4f6fe2f..25755f3ed196 100644 --- a/src/chrome/content/rules/University-of-Strathclyde.xml +++ b/src/chrome/content/rules/University-of-Strathclyde.xml @@ -1,7 +1,37 @@ + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/University_at_Buffalo.xml b/src/chrome/content/rules/University_at_Buffalo.xml index b737cac304da..284536762aad 100644 --- a/src/chrome/content/rules/University_at_Buffalo.xml +++ b/src/chrome/content/rules/University_at_Buffalo.xml @@ -121,7 +121,9 @@ Non-2xx HTTP code: http://www.ubfoundation.buffalo.edu/ (200) => https://ubfound - + + + diff --git a/src/chrome/content/rules/Uschovna.cz.xml b/src/chrome/content/rules/Uschovna.cz.xml new file mode 100644 index 000000000000..198f62d259c4 --- /dev/null +++ b/src/chrome/content/rules/Uschovna.cz.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/Warzone2100.xml b/src/chrome/content/rules/Warzone2100.xml deleted file mode 100644 index 35dca09befca..000000000000 --- a/src/chrome/content/rules/Warzone2100.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/src/chrome/content/rules/WeUseCoins.xml b/src/chrome/content/rules/WeUseCoins.xml index 3ccd48f06e25..d4c75b944017 100644 --- a/src/chrome/content/rules/WeUseCoins.xml +++ b/src/chrome/content/rules/WeUseCoins.xml @@ -12,7 +12,7 @@ - + diff --git a/src/chrome/content/rules/WinRAR.xml b/src/chrome/content/rules/WinRAR.xml index 2939192c27fc..05e2eaeda7bd 100644 --- a/src/chrome/content/rules/WinRAR.xml +++ b/src/chrome/content/rules/WinRAR.xml @@ -1,6 +1,5 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/amule.org.xml b/src/chrome/content/rules/amule.org.xml new file mode 100644 index 000000000000..d8cd31520b4b --- /dev/null +++ b/src/chrome/content/rules/amule.org.xml @@ -0,0 +1,19 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/arashanhoney.xml b/src/chrome/content/rules/arashanhoney.xml new file mode 100644 index 000000000000..85a103bf9b9f --- /dev/null +++ b/src/chrome/content/rules/arashanhoney.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/bitlaunch.io.xml b/src/chrome/content/rules/bitlaunch.io.xml new file mode 100644 index 000000000000..82fbd35dd275 --- /dev/null +++ b/src/chrome/content/rules/bitlaunch.io.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/bjoernkarmann.dk.xml b/src/chrome/content/rules/bjoernkarmann.dk.xml new file mode 100644 index 000000000000..81f14daf8e7f --- /dev/null +++ b/src/chrome/content/rules/bjoernkarmann.dk.xml @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/brucefwebster.xml b/src/chrome/content/rules/brucefwebster.xml new file mode 100644 index 000000000000..b23b1fd1d465 --- /dev/null +++ b/src/chrome/content/rules/brucefwebster.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/candelatech.com.xml b/src/chrome/content/rules/candelatech.com.xml new file mode 100644 index 000000000000..5b28e7d28382 --- /dev/null +++ b/src/chrome/content/rules/candelatech.com.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/chomikuj.pl.xml b/src/chrome/content/rules/chomikuj.pl.xml new file mode 100644 index 000000000000..bf7be888b331 --- /dev/null +++ b/src/chrome/content/rules/chomikuj.pl.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/clojure.org.xml b/src/chrome/content/rules/clojure.org.xml new file mode 100644 index 000000000000..a633214b335c --- /dev/null +++ b/src/chrome/content/rules/clojure.org.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/cogentco.com.xml b/src/chrome/content/rules/cogentco.com.xml new file mode 100644 index 000000000000..e7048aee60dc --- /dev/null +++ b/src/chrome/content/rules/cogentco.com.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/coin.space.xml b/src/chrome/content/rules/coin.space.xml index fa063649537a..02ecb5771bbd 100644 --- a/src/chrome/content/rules/coin.space.xml +++ b/src/chrome/content/rules/coin.space.xml @@ -1,16 +1,15 @@ - - + - - - - - + + + + diff --git a/src/chrome/content/rules/conan.io.xml b/src/chrome/content/rules/conan.io.xml new file mode 100644 index 000000000000..17655016ec73 --- /dev/null +++ b/src/chrome/content/rules/conan.io.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/cppc.ca.xml b/src/chrome/content/rules/cppc.ca.xml new file mode 100644 index 000000000000..98515ac13af9 --- /dev/null +++ b/src/chrome/content/rules/cppc.ca.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/cyberbits.eu.xml b/src/chrome/content/rules/cyberbits.eu.xml new file mode 100644 index 000000000000..962e55ab1355 --- /dev/null +++ b/src/chrome/content/rules/cyberbits.eu.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/daemonology.net.xml b/src/chrome/content/rules/daemonology.net.xml new file mode 100644 index 000000000000..f3e422a44742 --- /dev/null +++ b/src/chrome/content/rules/daemonology.net.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/daum.net.xml b/src/chrome/content/rules/daum.net.xml new file mode 100644 index 000000000000..d1db3abee24f --- /dev/null +++ b/src/chrome/content/rules/daum.net.xml @@ -0,0 +1,44 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/dev47apps.com.xml b/src/chrome/content/rules/dev47apps.com.xml new file mode 100644 index 000000000000..251cd0574827 --- /dev/null +++ b/src/chrome/content/rules/dev47apps.com.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/digip.org.xml b/src/chrome/content/rules/digip.org.xml new file mode 100644 index 000000000000..6a30817e2351 --- /dev/null +++ b/src/chrome/content/rules/digip.org.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/direxion.xml b/src/chrome/content/rules/direxion.xml new file mode 100644 index 000000000000..824f584a1cc1 --- /dev/null +++ b/src/chrome/content/rules/direxion.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/dmalloc.com.xml b/src/chrome/content/rules/dmalloc.com.xml new file mode 100644 index 000000000000..5a7df759c2c3 --- /dev/null +++ b/src/chrome/content/rules/dmalloc.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/draisberghof.de.xml b/src/chrome/content/rules/draisberghof.de.xml new file mode 100644 index 000000000000..b4a2b030083f --- /dev/null +++ b/src/chrome/content/rules/draisberghof.de.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/dreampoint.co.uk.xml b/src/chrome/content/rules/dreampoint.co.uk.xml new file mode 100644 index 000000000000..4040d3d1e3c5 --- /dev/null +++ b/src/chrome/content/rules/dreampoint.co.uk.xml @@ -0,0 +1,11 @@ + + + + + + + + diff --git a/src/chrome/content/rules/edens.com.xml b/src/chrome/content/rules/edens.com.xml new file mode 100644 index 000000000000..0f83f928b470 --- /dev/null +++ b/src/chrome/content/rules/edens.com.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/egl.lv.xml b/src/chrome/content/rules/egl.lv.xml new file mode 100644 index 000000000000..1621e07ebc58 --- /dev/null +++ b/src/chrome/content/rules/egl.lv.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/emule-rus.net.xml b/src/chrome/content/rules/emule-rus.net.xml new file mode 100644 index 000000000000..6dc4147f5185 --- /dev/null +++ b/src/chrome/content/rules/emule-rus.net.xml @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/emule-security.org.xml b/src/chrome/content/rules/emule-security.org.xml index 9d8ca276d847..0388c21f1f90 100644 --- a/src/chrome/content/rules/emule-security.org.xml +++ b/src/chrome/content/rules/emule-security.org.xml @@ -1,14 +1,16 @@ - + + + + + + + diff --git a/src/chrome/content/rules/esp8266.com.xml b/src/chrome/content/rules/esp8266.com.xml new file mode 100644 index 000000000000..6924907921c7 --- /dev/null +++ b/src/chrome/content/rules/esp8266.com.xml @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/src/chrome/content/rules/europe-miniatures.com.xml b/src/chrome/content/rules/europe-miniatures.com.xml new file mode 100644 index 000000000000..449b24bfdf99 --- /dev/null +++ b/src/chrome/content/rules/europe-miniatures.com.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/filediva.com.xml b/src/chrome/content/rules/filediva.com.xml new file mode 100644 index 000000000000..ff390bec538e --- /dev/null +++ b/src/chrome/content/rules/filediva.com.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/flippfly.com.xml b/src/chrome/content/rules/flippfly.com.xml new file mode 100644 index 000000000000..1d98782baea9 --- /dev/null +++ b/src/chrome/content/rules/flippfly.com.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/glest.org.xml b/src/chrome/content/rules/glest.org.xml new file mode 100644 index 000000000000..015fb8f2a5c1 --- /dev/null +++ b/src/chrome/content/rules/glest.org.xml @@ -0,0 +1,14 @@ + + + + + + + diff --git a/src/chrome/content/rules/gvt1.com.xml b/src/chrome/content/rules/gvt1.com.xml new file mode 100644 index 000000000000..31a174f94ec9 --- /dev/null +++ b/src/chrome/content/rules/gvt1.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/hannahmageerd.com.xml b/src/chrome/content/rules/hannahmageerd.com.xml new file mode 100644 index 000000000000..6944e921220d --- /dev/null +++ b/src/chrome/content/rules/hannahmageerd.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/hkcnews.com.xml b/src/chrome/content/rules/hkcnews.com.xml new file mode 100644 index 000000000000..ab54ff13c2a5 --- /dev/null +++ b/src/chrome/content/rules/hkcnews.com.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/hkstockadr.com.xml b/src/chrome/content/rules/hkstockadr.com.xml new file mode 100644 index 000000000000..5eadb2999d97 --- /dev/null +++ b/src/chrome/content/rules/hkstockadr.com.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/chrome/content/rules/host4coins.net.xml b/src/chrome/content/rules/host4coins.net.xml new file mode 100644 index 000000000000..68705b03b9eb --- /dev/null +++ b/src/chrome/content/rules/host4coins.net.xml @@ -0,0 +1,13 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/imgburn.com.xml b/src/chrome/content/rules/imgburn.com.xml new file mode 100644 index 000000000000..bea664a79a64 --- /dev/null +++ b/src/chrome/content/rules/imgburn.com.xml @@ -0,0 +1,27 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/jaist.ac.jp.xml b/src/chrome/content/rules/jaist.ac.jp.xml new file mode 100644 index 000000000000..40806789b0c9 --- /dev/null +++ b/src/chrome/content/rules/jaist.ac.jp.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/jiri-dvorak.cz.xml b/src/chrome/content/rules/jiri-dvorak.cz.xml new file mode 100644 index 000000000000..1d8c1a53c388 --- /dev/null +++ b/src/chrome/content/rules/jiri-dvorak.cz.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/lingvo.org.xml b/src/chrome/content/rules/lingvo.org.xml new file mode 100644 index 000000000000..8339bb1897f7 --- /dev/null +++ b/src/chrome/content/rules/lingvo.org.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/lwfinger.com.xml b/src/chrome/content/rules/lwfinger.com.xml new file mode 100644 index 000000000000..55fe04a18795 --- /dev/null +++ b/src/chrome/content/rules/lwfinger.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/manning.com.xml b/src/chrome/content/rules/manning.com.xml index 05550e6fb012..03b829bbd128 100644 --- a/src/chrome/content/rules/manning.com.xml +++ b/src/chrome/content/rules/manning.com.xml @@ -1,6 +1,5 @@ @@ -8,6 +7,7 @@ ycart.manning.com different content + diff --git a/src/chrome/content/rules/marketingautomation-linz.de.xml b/src/chrome/content/rules/marketingautomation-linz.de.xml new file mode 100644 index 000000000000..6428aff42295 --- /dev/null +++ b/src/chrome/content/rules/marketingautomation-linz.de.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/mazesp.in.xml b/src/chrome/content/rules/mazesp.in.xml new file mode 100644 index 000000000000..57e0d1c9d317 --- /dev/null +++ b/src/chrome/content/rules/mazesp.in.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/mtv.com.xml b/src/chrome/content/rules/mtv.com.xml new file mode 100644 index 000000000000..14d3dc5c82be --- /dev/null +++ b/src/chrome/content/rules/mtv.com.xml @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/mywinamp.com.xml b/src/chrome/content/rules/mywinamp.com.xml new file mode 100644 index 000000000000..2a4d19ddd981 --- /dev/null +++ b/src/chrome/content/rules/mywinamp.com.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/chrome/content/rules/namibgrens.com.xml b/src/chrome/content/rules/namibgrens.com.xml new file mode 100644 index 000000000000..0c6bedecf52a --- /dev/null +++ b/src/chrome/content/rules/namibgrens.com.xml @@ -0,0 +1,15 @@ + + + + + + + diff --git a/src/chrome/content/rules/nasdaqtrader.com.xml b/src/chrome/content/rules/nasdaqtrader.com.xml new file mode 100644 index 000000000000..be4437ff86f9 --- /dev/null +++ b/src/chrome/content/rules/nasdaqtrader.com.xml @@ -0,0 +1,18 @@ + + + + + + + + diff --git a/src/chrome/content/rules/naturedestinations.ca.xml b/src/chrome/content/rules/naturedestinations.ca.xml new file mode 100644 index 000000000000..b6edf272f2ea --- /dev/null +++ b/src/chrome/content/rules/naturedestinations.ca.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/naver.com.xml b/src/chrome/content/rules/naver.com.xml new file mode 100644 index 000000000000..fd1929e7becf --- /dev/null +++ b/src/chrome/content/rules/naver.com.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/nvaccess.org.xml b/src/chrome/content/rules/nvaccess.org.xml new file mode 100644 index 000000000000..37bb303d3408 --- /dev/null +++ b/src/chrome/content/rules/nvaccess.org.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/onlineprospectus.net.xml b/src/chrome/content/rules/onlineprospectus.net.xml new file mode 100644 index 000000000000..9e8e05c32206 --- /dev/null +++ b/src/chrome/content/rules/onlineprospectus.net.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/openembedded.org.xml b/src/chrome/content/rules/openembedded.org.xml new file mode 100644 index 000000000000..b9ca57cde805 --- /dev/null +++ b/src/chrome/content/rules/openembedded.org.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/chrome/content/rules/openwall.info.xml b/src/chrome/content/rules/openwall.info.xml new file mode 100644 index 000000000000..1ad434cacd3b --- /dev/null +++ b/src/chrome/content/rules/openwall.info.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/osufoundation.org.xml b/src/chrome/content/rules/osufoundation.org.xml index ca8056964a12..b3a70ddae013 100644 --- a/src/chrome/content/rules/osufoundation.org.xml +++ b/src/chrome/content/rules/osufoundation.org.xml @@ -2,10 +2,13 @@ For other Oregon State University coverage, see - ^osufoundation.org: dropped + http://osufoundation.org redirects to http://www.osufoundation.org + redirects to https://www.osufoundation.org, so normal users don't see + the need for the complication. However, osufoundation.org does not + respond to https, so it is still needed. --> - + diff --git a/src/chrome/content/rules/osuosl.org.xml b/src/chrome/content/rules/osuosl.org.xml index 1c3994d1449e..e3fe0162468a 100644 --- a/src/chrome/content/rules/osuosl.org.xml +++ b/src/chrome/content/rules/osuosl.org.xml @@ -3,6 +3,9 @@ internal-web1.osuosl.org mon1.osuosl.org + Connection reset: + cppcheck1.osuosl.org:8000 + Invalid certificate: amahi.osuosl.org bdale-gag.osuosl.org @@ -188,7 +191,6 @@ - @@ -234,7 +236,6 @@ - diff --git a/src/chrome/content/rules/paralus.co.xml b/src/chrome/content/rules/paralus.co.xml new file mode 100644 index 000000000000..c31b5bc2bc68 --- /dev/null +++ b/src/chrome/content/rules/paralus.co.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/chrome/content/rules/phys.org.xml b/src/chrome/content/rules/phys.org.xml index 78ef13276672..306d187eb27a 100644 --- a/src/chrome/content/rules/phys.org.xml +++ b/src/chrome/content/rules/phys.org.xml @@ -3,11 +3,13 @@ - + + diff --git a/src/chrome/content/rules/piratesahoy.net.xml b/src/chrome/content/rules/piratesahoy.net.xml new file mode 100644 index 000000000000..0511ba08b44c --- /dev/null +++ b/src/chrome/content/rules/piratesahoy.net.xml @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/projectable.me.xml b/src/chrome/content/rules/projectable.me.xml new file mode 100644 index 000000000000..eb48d0e2f664 --- /dev/null +++ b/src/chrome/content/rules/projectable.me.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/quakelive.com.xml b/src/chrome/content/rules/quakelive.com.xml new file mode 100644 index 000000000000..08b504c0720d --- /dev/null +++ b/src/chrome/content/rules/quakelive.com.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/radio.garden.xml b/src/chrome/content/rules/radio.garden.xml deleted file mode 100644 index 9cfbbd4dd1e4..000000000000 --- a/src/chrome/content/rules/radio.garden.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/src/chrome/content/rules/retroachievements.org.xml b/src/chrome/content/rules/retroachievements.org.xml new file mode 100644 index 000000000000..f7b5e2caecda --- /dev/null +++ b/src/chrome/content/rules/retroachievements.org.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/robinhood.xml b/src/chrome/content/rules/robinhood.xml new file mode 100644 index 000000000000..a741e5f98f3d --- /dev/null +++ b/src/chrome/content/rules/robinhood.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/rsbsrt.ru.xml b/src/chrome/content/rules/rsbsrt.ru.xml new file mode 100644 index 000000000000..13b48c98b835 --- /dev/null +++ b/src/chrome/content/rules/rsbsrt.ru.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/scons.org.xml b/src/chrome/content/rules/scons.org.xml new file mode 100644 index 000000000000..ed8cfc93bf84 --- /dev/null +++ b/src/chrome/content/rules/scons.org.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/secouchermoinsbete.fr.xml b/src/chrome/content/rules/secouchermoinsbete.fr.xml new file mode 100644 index 000000000000..1d26d293b6a8 --- /dev/null +++ b/src/chrome/content/rules/secouchermoinsbete.fr.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/chrome/content/rules/skbbank.ru.xml b/src/chrome/content/rules/skbbank.ru.xml new file mode 100644 index 000000000000..dad384f4da21 --- /dev/null +++ b/src/chrome/content/rules/skbbank.ru.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/src/chrome/content/rules/softforge.de.xml b/src/chrome/content/rules/softforge.de.xml new file mode 100644 index 000000000000..e6f7fc2591ce --- /dev/null +++ b/src/chrome/content/rules/softforge.de.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/static-chomikuj.pl.xml b/src/chrome/content/rules/static-chomikuj.pl.xml new file mode 100644 index 000000000000..67af69e7f2a1 --- /dev/null +++ b/src/chrome/content/rules/static-chomikuj.pl.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + diff --git a/src/chrome/content/rules/sunxdcc.com.xml b/src/chrome/content/rules/sunxdcc.com.xml new file mode 100644 index 000000000000..9eabda72c8da --- /dev/null +++ b/src/chrome/content/rules/sunxdcc.com.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/src/chrome/content/rules/thedarkmod.com.xml b/src/chrome/content/rules/thedarkmod.com.xml new file mode 100644 index 000000000000..197a99fbbbcc --- /dev/null +++ b/src/chrome/content/rules/thedarkmod.com.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/thekelleys.org.uk.xml b/src/chrome/content/rules/thekelleys.org.uk.xml new file mode 100644 index 000000000000..bdb7967181a8 --- /dev/null +++ b/src/chrome/content/rules/thekelleys.org.uk.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/trust.org.xml b/src/chrome/content/rules/trust.org.xml new file mode 100644 index 000000000000..a6be33384f02 --- /dev/null +++ b/src/chrome/content/rules/trust.org.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/tsowell.xml b/src/chrome/content/rules/tsowell.xml new file mode 100644 index 000000000000..e0856caa8aea --- /dev/null +++ b/src/chrome/content/rules/tsowell.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/uhrp.org.xml b/src/chrome/content/rules/uhrp.org.xml new file mode 100644 index 000000000000..241187e7de16 --- /dev/null +++ b/src/chrome/content/rules/uhrp.org.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + diff --git a/src/chrome/content/rules/valgrind.org.xml b/src/chrome/content/rules/valgrind.org.xml new file mode 100644 index 000000000000..56fbdfe4574d --- /dev/null +++ b/src/chrome/content/rules/valgrind.org.xml @@ -0,0 +1,11 @@ + + + + + + + diff --git a/src/chrome/content/rules/vizzion.com.xml b/src/chrome/content/rules/vizzion.com.xml new file mode 100644 index 000000000000..811b1ac09f02 --- /dev/null +++ b/src/chrome/content/rules/vizzion.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/wclc.com.xml b/src/chrome/content/rules/wclc.com.xml new file mode 100644 index 000000000000..e3d5c260a311 --- /dev/null +++ b/src/chrome/content/rules/wclc.com.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/werkema.com.xml b/src/chrome/content/rules/werkema.com.xml new file mode 100644 index 000000000000..6ff3537d35ad --- /dev/null +++ b/src/chrome/content/rules/werkema.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/wikipediocracy.com.xml b/src/chrome/content/rules/wikipediocracy.com.xml new file mode 100644 index 000000000000..7b01a93b8daa --- /dev/null +++ b/src/chrome/content/rules/wikipediocracy.com.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/chrome/content/rules/wolfssl.com.xml b/src/chrome/content/rules/wolfssl.com.xml new file mode 100644 index 000000000000..71b73f39af0b --- /dev/null +++ b/src/chrome/content/rules/wolfssl.com.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/src/chrome/content/rules/www.inet.no.xml b/src/chrome/content/rules/www.inet.no.xml new file mode 100644 index 000000000000..de4eed1ddf2b --- /dev/null +++ b/src/chrome/content/rules/www.inet.no.xml @@ -0,0 +1,8 @@ + + + + + diff --git a/src/chrome/content/rules/www.tecgraf.puc-rio.br.xml b/src/chrome/content/rules/www.tecgraf.puc-rio.br.xml new file mode 100644 index 000000000000..fb696f136348 --- /dev/null +++ b/src/chrome/content/rules/www.tecgraf.puc-rio.br.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/chrome/content/rules/wz2100.net.xml b/src/chrome/content/rules/wz2100.net.xml new file mode 100644 index 000000000000..195c20200343 --- /dev/null +++ b/src/chrome/content/rules/wz2100.net.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/content/rules/x-ways.net.xml b/src/chrome/content/rules/x-ways.net.xml new file mode 100644 index 000000000000..cd0d645afc5d --- /dev/null +++ b/src/chrome/content/rules/x-ways.net.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/src/chrome/content/rules/yiwutaro.com.xml b/src/chrome/content/rules/yiwutaro.com.xml new file mode 100644 index 000000000000..cf8a578927e5 --- /dev/null +++ b/src/chrome/content/rules/yiwutaro.com.xml @@ -0,0 +1,10 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/chrome/content/rules/yvt.jp.xml b/src/chrome/content/rules/yvt.jp.xml new file mode 100644 index 000000000000..bb9fa1f650af --- /dev/null +++ b/src/chrome/content/rules/yvt.jp.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/chrome/locale/en/https-everywhere.dtd b/src/chrome/locale/en/https-everywhere.dtd index 363e0a763e91..cde60e0b4222 100644 --- a/src/chrome/locale/en/https-everywhere.dtd +++ b/src/chrome/locale/en/https-everywhere.dtd @@ -49,8 +49,8 @@ - - + + @@ -63,8 +63,8 @@ - - + + diff --git a/test/chromium.sh b/test/chromium.sh index 9b42b3092c1b..70f6c712a798 100755 --- a/test/chromium.sh +++ b/test/chromium.sh @@ -37,5 +37,5 @@ else ./make.sh echo "running tests" CRX_NAME="`ls -tr pkg/*.crx | tail -1`" - $XVFB_RUN python3.6 test/script.py Chrome $CRX_NAME + $XVFB_RUN python3 test/script.py Chrome $CRX_NAME fi diff --git a/test/fetch.sh b/test/fetch.sh index 68969e0359bc..6f08359e525b 100755 --- a/test/fetch.sh +++ b/test/fetch.sh @@ -19,7 +19,7 @@ if [ "$TO_BE_TESTED" ]; then # Do the actual test, using https-everywhere-checker. OUTPUT_FILE=`mktemp` trap 'rm "$OUTPUT_FILE"' EXIT - python3.6 $RULETESTFOLDER/src/https_everywhere_checker/check_rules.py $RULETESTFOLDER/http.checker.config $TO_BE_TESTED 2>&1 | tee $OUTPUT_FILE + python3 $RULETESTFOLDER/src/https_everywhere_checker/check_rules.py $RULETESTFOLDER/http.checker.config $TO_BE_TESTED 2>&1 | tee $OUTPUT_FILE # Unfortunately, no specific exit codes are available for connection # failures, so we catch those with grep. if [[ `cat $OUTPUT_FILE | grep ERROR | wc -l` -ge 1 ]]; then diff --git a/test/firefox.sh b/test/firefox.sh index ee3e8adf2c5a..1e99239fdab2 100755 --- a/test/firefox.sh +++ b/test/firefox.sh @@ -58,8 +58,8 @@ else PATH=/home/user/geckodriver:$PATH if [ -n "$FIREFOX" ]; then - $XVFB_RUN python3.6 test/script.py Firefox "$PROFILE_DIRECTORY" $FIREFOX + $XVFB_RUN python3 test/script.py Firefox "$PROFILE_DIRECTORY" $FIREFOX else - $XVFB_RUN python3.6 test/script.py Firefox "$PROFILE_DIRECTORY" + $XVFB_RUN python3 test/script.py Firefox "$PROFILE_DIRECTORY" fi fi diff --git a/test/manual.sh b/test/manual.sh index ccd17286e7ea..d16a977f178c 100755 --- a/test/manual.sh +++ b/test/manual.sh @@ -3,4 +3,4 @@ # coverage for their rules, and performs a network "fetch" test to alert the # contributor of potential problems. -exec python3.6 test/rules/src/https_everywhere_checker/check_rules.py test/rules/manual.checker.config "$@" +exec python3 test/rules/src/https_everywhere_checker/check_rules.py test/rules/manual.checker.config "$@" diff --git a/test/rules/src/https_everywhere_checker/check_rules.py b/test/rules/src/https_everywhere_checker/check_rules.py index c3ee06a96130..f3d5baf00152 100644 --- a/test/rules/src/https_everywhere_checker/check_rules.py +++ b/test/rules/src/https_everywhere_checker/check_rules.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 import binascii import argparse diff --git a/test/script.py b/test/script.py index 8c27ea38686a..f2f671a1b26e 100644 --- a/test/script.py +++ b/test/script.py @@ -1,8 +1,8 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # # Run Selenium tests for HTTPS Everywhere # -# This script may be executed as `python3.6 script.py [directory of CRX]` +# This script may be executed as `python3 script.py [directory of CRX]` # # The script is compatible with Python 3.6. # Selenium, WebDriver and Google Chrome (or Chromium) must be installed @@ -41,7 +41,7 @@ class bcolors: try: # First argument is optional, if not specified will search path. - driver = webdriver.Chrome(chromedriver_path, chrome_options=chromeOps) + driver = webdriver.Chrome(chromedriver_path, options=chromeOps) except WebDriverException as e: error = e.__str__() @@ -52,15 +52,18 @@ class bcolors: sys.exit(2) else: raise e + + # Allow the extension time to load + time.sleep(1) if sys.argv[1] == "Firefox": fp = webdriver.FirefoxProfile(sys.argv[2]) try: if len(sys.argv) == 4: binary = FirefoxBinary(sys.argv[3]) - driver = webdriver.Firefox(fp, firefox_binary=binary, log_path=os.devnull) + driver = webdriver.Firefox(fp, firefox_binary=binary, service_log_path=os.devnull) else: - driver = webdriver.Firefox(fp, log_path=os.devnull) + driver = webdriver.Firefox(fp, service_log_path=os.devnull) except WebDriverException as e: error = e.__str__() diff --git a/test/setup_travis.sh b/test/setup_travis.sh index 76f710d9dad3..859df38a4474 100755 --- a/test/setup_travis.sh +++ b/test/setup_travis.sh @@ -17,11 +17,14 @@ function setup_chrome { } function setup_firefox { - #version=$(curl -s https://api.github.com/repos/mozilla/geckodriver/releases/latest | grep tag_name | cut -d '"' -f 4) - # hard-code latest version, since apparently the above `curl` is fucking up in travis - version="v0.26.0" - url="https://github.com/mozilla/geckodriver/releases/download/${version}/geckodriver-${version}-linux64.tar.gz" - wget -O /tmp/geckodriver.tar.gz ${url} + # install the latest version of geckodriver + firefox_version=$("${BROWSER}" -version) + geckodriver_version=$(curl -sI https://github.com/mozilla/geckodriver/releases/latest | grep -i "^Location: " | sed 's/.*\///' | tr -d '\r') + geckodriver_url="https://github.com/mozilla/geckodriver/releases/download/${geckodriver_version}/geckodriver-${geckodriver_version}-linux64.tar.gz" + + echo "Setting up geckodriver ${geckodriver_version} for ${firefox_version}" + + wget -O /tmp/geckodriver.tar.gz ${geckodriver_url} sudo tar -xvf /tmp/geckodriver.tar.gz -C /usr/local/bin/ sudo chmod a+x /usr/local/bin/geckodriver } diff --git a/test/validations.sh b/test/validations.sh index 50d328a6155c..bdd18834dcc0 100755 --- a/test/validations.sh +++ b/test/validations.sh @@ -4,7 +4,7 @@ utils/remove-obsolete-references.sh test/validations/path/run.sh test/validations/test-coverage/run.sh -python3.6 test/validations/securecookie/run.py -python3.6 test/validations/filename/run.py -python3.6 test/validations/relaxng/run.py -python3.6 test/validations/special/run.py --quiet +python3 test/validations/securecookie/run.py +python3 test/validations/filename/run.py +python3 test/validations/relaxng/run.py +python3 test/validations/special/run.py --quiet diff --git a/test/validations/filename/run.py b/test/validations/filename/run.py index 788c44442503..e0adf6c886ad 100755 --- a/test/validations/filename/run.py +++ b/test/validations/filename/run.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # # Validates and provides a generator for ruleset filenames # diff --git a/test/validations/relaxng/run.py b/test/validations/relaxng/run.py index 97e730934c35..aa9395bb9015 100644 --- a/test/validations/relaxng/run.py +++ b/test/validations/relaxng/run.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # -*- encoding: utf-8 -*- import argparse diff --git a/test/validations/securecookie/run.py b/test/validations/securecookie/run.py index da315dd52428..76738dea8b31 100644 --- a/test/validations/securecookie/run.py +++ b/test/validations/securecookie/run.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # This python utility check for wildcard securecookies which # can be normalized, warn and exit with non-zero when such diff --git a/test/validations/special/duplicate-allowlist-cleanup.sh b/test/validations/special/duplicate-allowlist-cleanup.sh index 50c5a905bdf0..38f58c759b5d 100755 --- a/test/validations/special/duplicate-allowlist-cleanup.sh +++ b/test/validations/special/duplicate-allowlist-cleanup.sh @@ -4,7 +4,7 @@ TMPFILE=`mktemp /tmp/buffer.XXXXXXXX` trap 'rm "$TMPFILE"' EXIT for host in `cat test/validations/special/duplicate-allowlist.txt`; do - REGEX_ESCAPED_HOST=`python3.6 -c "import re; print(re.escape('$host'))"` + REGEX_ESCAPED_HOST=`python3 -c "import re; print(re.escape('$host'))"` REPEATS=`egrep -l "" src/chrome/content/rules/*.xml | wc -l` if [ $REPEATS -gt 1 ]; then echo $host diff --git a/test/validations/special/run.py b/test/validations/special/run.py index 1b7b44e7bd02..14b0ed6ff9ec 100755 --- a/test/validations/special/run.py +++ b/test/validations/special/run.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 import glob import argparse diff --git a/test/validations/test-coverage/run.sh b/test/validations/test-coverage/run.sh index ba1867722f52..953f6008da77 100755 --- a/test/validations/test-coverage/run.sh +++ b/test/validations/test-coverage/run.sh @@ -24,10 +24,10 @@ if ! [ -d test/rules ] ; then exit 1 fi if [ $# -gt 0 ] ; then - exec python3.6 test/rules/src/https_everywhere_checker/check_rules.py \ + exec python3 test/rules/src/https_everywhere_checker/check_rules.py \ test/rules/coverage.checker.config "$@" fi -if ! python3.6 test/rules/src/https_everywhere_checker/check_rules.py \ +if ! python3 test/rules/src/https_everywhere_checker/check_rules.py \ test/rules/coverage.checker.config; then echo ' Ruleset test coverage was insufficient. diff --git a/translations b/translations index 28fb09e1fcf8..5885a200bb15 160000 --- a/translations +++ b/translations @@ -1 +1 @@ -Subproject commit 28fb09e1fcf81241eb98c84dd913980298d0a2f0 +Subproject commit 5885a200bb15b5d7320e8f53293ff067a9943629 diff --git a/utils/chromium-translations.py b/utils/chromium-translations.py index ea0039e585ca..a9d7318efc13 100644 --- a/utils/chromium-translations.py +++ b/utils/chromium-translations.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 """ Given two directories, copy Firefox-style https-everywhere.dtd translations from the first directory into appropriately-named Chromium-style messages.json diff --git a/utils/create-platform-certs/create_platform_certs.sh b/utils/create-platform-certs/create_platform_certs.sh index d2c900fe4740..8b2b1739c668 100755 --- a/utils/create-platform-certs/create_platform_certs.sh +++ b/utils/create-platform-certs/create_platform_certs.sh @@ -17,7 +17,7 @@ git rm -r -f -q "${SPLIT_CERT_DIR}" perl "${MK_CA_BUNDLE_PL_EXEC}" -n "${COMBINED_CERT_FILE}" -python3.6 "${SPLIT_COMBINED_CERT_FILE_EXEC}" "${COMBINED_CERT_FILE}" "${SPLIT_CERT_DIR}" +python3 "${SPLIT_COMBINED_CERT_FILE_EXEC}" "${COMBINED_CERT_FILE}" "${SPLIT_CERT_DIR}" c_rehash "${SPLIT_CERT_DIR}" > /dev/null diff --git a/utils/create-platform-certs/split_combined_cert_file.py b/utils/create-platform-certs/split_combined_cert_file.py index e7e2f428195b..783d54ebf105 100755 --- a/utils/create-platform-certs/split_combined_cert_file.py +++ b/utils/create-platform-certs/split_combined_cert_file.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 import argparse import codecs import os diff --git a/utils/create_zip.py b/utils/create_zip.py index e4187ade2da2..d8af693fa17b 100755 --- a/utils/create_zip.py +++ b/utils/create_zip.py @@ -1,10 +1,10 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # Uses the Python zip implementation to create deterministic zip's # Author: Yan Zhu, yan@mit.edu """ -Usage: python3.6 create_zip.py -x -n +Usage: python3 create_zip.py -x -n """ import argparse diff --git a/utils/eslint/package-lock.json b/utils/eslint/package-lock.json index d07be4b89102..066503c6a00e 100644 --- a/utils/eslint/package-lock.json +++ b/utils/eslint/package-lock.json @@ -90,9 +90,9 @@ "dev": true }, "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { @@ -474,9 +474,9 @@ } }, "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, "requires": { "is-glob": "^4.0.1" @@ -601,9 +601,9 @@ } }, "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "minimatch": { @@ -616,9 +616,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mkdirp": { @@ -775,9 +775,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", "dev": true }, "strip-ansi": { diff --git a/utils/hsts-prune/package-lock.json b/utils/hsts-prune/package-lock.json index b247857dde0e..d9a47270e0e6 100644 --- a/utils/hsts-prune/package-lock.json +++ b/utils/hsts-prune/package-lock.json @@ -14,14 +14,26 @@ } }, "ajv": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", - "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "requires": { - "co": "^4.6.0", - "fast-deep-equal": "^1.0.0", + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.3.0" + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "dependencies": { + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + } } }, "asn1": { @@ -38,11 +50,11 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", - "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", "requires": { - "lodash": "^4.17.10" + "lodash": "^4.17.14" } }, "asynckit": { @@ -82,11 +94,6 @@ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, - "co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" - }, "combined-stream": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", @@ -138,11 +145,6 @@ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, - "fast-deep-equal": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", - "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" - }, "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", @@ -177,11 +179,11 @@ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz", - "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", "requires": { - "ajv": "^5.3.0", + "ajv": "^6.12.3", "har-schema": "^2.0.0" } }, @@ -234,11 +236,6 @@ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, - "json-schema-traverse": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", - "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" - }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -261,9 +258,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "mime-db": { "version": "1.35.0", @@ -447,6 +444,21 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + } + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/utils/hsts-prune/package.json b/utils/hsts-prune/package.json index fb8efdf32678..fcd6741cb985 100644 --- a/utils/hsts-prune/package.json +++ b/utils/hsts-prune/package.json @@ -10,7 +10,7 @@ "license": "GPL-3.0", "dependencies": { "JSONStream": "^1.3.0", - "async": "^2.1.4", + "async": "^2.6.4", "base64-stream": "^0.1.3", "escape-string-regexp": "^1.0.5", "highland": "^2.10.1", diff --git a/utils/labeller/.gitignore b/utils/labeller/.gitignore deleted file mode 100644 index cd13ae6717b9..000000000000 --- a/utils/labeller/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -config.json -node_modules -*.swp diff --git a/utils/labeller/Dockerfile b/utils/labeller/Dockerfile deleted file mode 100644 index a81d8964e2b8..000000000000 --- a/utils/labeller/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM node:10-alpine -LABEL maintainer="Alexis Hancock " - -WORKDIR /opt - -COPY package.json . -RUN npm install -COPY index.js . -COPY utils.js . -COPY test.js . -COPY config.json.example . -RUN mv config.json.example config.json - -CMD ["node", "index.js"] diff --git a/utils/labeller/README.md b/utils/labeller/README.md deleted file mode 100644 index fed8f453b59f..000000000000 --- a/utils/labeller/README.md +++ /dev/null @@ -1,38 +0,0 @@ -# HTTPS Everywhere Labeller - -This compares the open PR requests that have ruleset changes to the Alexa top 1M sites, and adds labels corresponding to how they place within Alexa. Current labels are: - -1. `top-100` -2. `top-1k` -3. `top-10k` -4. `top-100k` -5. `top-1m` - -This will work for admins of HTTPS Everywhere that generate a [GitHub token](https://github.com/settings/tokens). - -## Setup - -### With Docker - - docker build -t labeller . - -### Without Docker - -Download and install `node` and `npm`, then - - npm install - cp config.json.example config.json - -Enter your GitHub token info into `config.json`. - -## Running - -### With Docker - -Set your `$GITHUB_TOKEN` with "repo, write:discussion" permissions, and run - - docker run -it -e GITHUB_TOKEN=$GITHUB_TOKEN labeller - -### Without Docker - - node index.js diff --git a/utils/labeller/config.json.example b/utils/labeller/config.json.example deleted file mode 100644 index 8cad030bc425..000000000000 --- a/utils/labeller/config.json.example +++ /dev/null @@ -1,6 +0,0 @@ -{ - "github_token": "", - "github_user": "efforg", - "github_repo": "https-everywhere", - "state_file": "state_dir/most_recent_pr_checked.state" -} diff --git a/utils/labeller/index.js b/utils/labeller/index.js deleted file mode 100644 index cd4fbbd900e0..000000000000 --- a/utils/labeller/index.js +++ /dev/null @@ -1,119 +0,0 @@ -"use strict"; - -const { Octokit } = require('@octokit/rest'); -const utils = require('./utils'); -const axios = require('axios'); -const unzip = require('unzipper'); -const config = require('./config'); -const token = config.github_token || process.env.GITHUB_TOKEN; - -const octokit = new Octokit({ - auth: token, - userAgent: 'Labeller v2' -}); -const httpse = { - owner: config.github_user, - repo: config.github_repo -} - -let ProgressBar = require('progress'); - -// Background process functions for logic flow below -let Utils = new utils.Utils(octokit, httpse); - -/** - * @description Fetch the Alexa top 1M sites and push it to an array `alexa` via streams - * @returns object - */ -function initiate() { - - let alexa = []; - let regex = /^[0-9]+,(.+)/ - const alexa_csv = 'https://s3.amazonaws.com/alexa-static/top-1m.csv.zip'; - - // Grab Alexa data - axios({ - method: 'get', - url: alexa_csv, - responseType: 'stream' - }) - .then(function (response) { - response.data.pipe(unzip.Parse()) - .on('entry', function (entry) { - let bar = new ProgressBar('Processing Alexa Top 1M [:bar] :percent :etas', { - total: 100 - }); - - let lineReader = require('readline').createInterface({ - input: entry, - }); - - let x = 0; - - lineReader.on('line', function (line) { - let domain = line.match(regex)[1]; - alexa.push(domain); - if(x % 10000 == 0) bar.tick(); - x++; - }); - - lineReader.on('close', function(){ - try { - get_prs(alexa); - } catch (error) { - console.log(error); - } - }); - }) - }) - .catch(function (error) { - console.log(error); - }); -} - -/** - * @param {obj} alexa - * @description Returns Pull Requests to label - */ -function get_prs(alexa) { - let wildcard_www_regex = /^(www|\*)\.(.+)/ - - octokit.paginate( - "GET /repos/:owner/:repo/pulls", - httpse, - ) - .then(prs => { - process_prs(alexa, prs) - }) - .catch(reason => { - console.log(reason); - }) -} - -/** - * @param {obj} alexa - * @param {obj} prs - * @description Labels Pull Requests - */ -function process_prs(alexa, prs) { - let filtered_prs = prs.filter(Utils.labelled); - - prs.forEach(pr => { - - let domain_label_pairs = []; - - octokit.pulls.listFiles({ - ...httpse, - pull_number: pr.number, - }).then(files => { - let rank_number = Utils.files(files, alexa); - if(rank_number !== null) { - let determined_label = Utils.return_label(rank_number); - // pr is interchangeable with issue in API ¯\_(ツ)_/¯ - Utils.add_label(determined_label, pr.number); - } - }) - }); -} - -initiate(); diff --git a/utils/labeller/package-lock.json b/utils/labeller/package-lock.json deleted file mode 100644 index 098036a6f7be..000000000000 --- a/utils/labeller/package-lock.json +++ /dev/null @@ -1,1475 +0,0 @@ -{ - "name": "https-everywhere-labeller", - "version": "1.0.1", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "@octokit/auth-token": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.2.tgz", - "integrity": "sha512-jE/lE/IKIz2v1+/P0u4fJqv0kYwXOTujKemJMFr6FeopsxlIK3+wKDCJGnysg81XID5TgZQbIfuJ5J0lnTiuyQ==", - "requires": { - "@octokit/types": "^5.0.0" - } - }, - "@octokit/core": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-2.5.4.tgz", - "integrity": "sha512-HCp8yKQfTITYK+Nd09MHzAlP1v3Ii/oCohv0/TW9rhSLvzb98BOVs2QmVYuloE6a3l6LsfyGIwb6Pc4ycgWlIQ==", - "requires": { - "@octokit/auth-token": "^2.4.0", - "@octokit/graphql": "^4.3.1", - "@octokit/request": "^5.4.0", - "@octokit/types": "^5.0.0", - "before-after-hook": "^2.1.0", - "universal-user-agent": "^5.0.0" - } - }, - "@octokit/endpoint": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.3.tgz", - "integrity": "sha512-Y900+r0gIz+cWp6ytnkibbD95ucEzDSKzlEnaWS52hbCDNcCJYO5mRmWW7HRAnDc7am+N/5Lnd8MppSaTYx1Yg==", - "requires": { - "@octokit/types": "^5.0.0", - "is-plain-object": "^3.0.0", - "universal-user-agent": "^5.0.0" - } - }, - "@octokit/graphql": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.5.1.tgz", - "integrity": "sha512-qgMsROG9K2KxDs12CO3bySJaYoUu2aic90qpFrv7A8sEBzZ7UFGvdgPKiLw5gOPYEYbS0Xf8Tvf84tJutHPulQ==", - "requires": { - "@octokit/request": "^5.3.0", - "@octokit/types": "^5.0.0", - "universal-user-agent": "^5.0.0" - } - }, - "@octokit/plugin-paginate-rest": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.2.3.tgz", - "integrity": "sha512-eKTs91wXnJH8Yicwa30jz6DF50kAh7vkcqCQ9D7/tvBAP5KKkg6I2nNof8Mp/65G0Arjsb4QcOJcIEQY+rK1Rg==", - "requires": { - "@octokit/types": "^5.0.0" - } - }, - "@octokit/plugin-request-log": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz", - "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw==" - }, - "@octokit/plugin-rest-endpoint-methods": { - "version": "3.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-3.17.0.tgz", - "integrity": "sha512-NFV3vq7GgoO2TrkyBRUOwflkfTYkFKS0tLAPym7RNpkwLCttqShaEGjthOsPEEL+7LFcYv3mU24+F2yVd3npmg==", - "requires": { - "@octokit/types": "^4.1.6", - "deprecation": "^2.3.1" - }, - "dependencies": { - "@octokit/types": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-4.1.10.tgz", - "integrity": "sha512-/wbFy1cUIE5eICcg0wTKGXMlKSbaAxEr00qaBXzscLXpqhcwgXeS6P8O0pkysBhRfyjkKjJaYrvR1ExMO5eOXQ==", - "requires": { - "@types/node": ">= 8" - } - } - } - }, - "@octokit/request": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.5.tgz", - "integrity": "sha512-atAs5GAGbZedvJXXdjtKljin+e2SltEs48B3naJjqWupYl2IUBbB/CJisyjbNHcKpHzb3E+OYEZ46G8eakXgQg==", - "requires": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.0.0", - "@octokit/types": "^5.0.0", - "deprecation": "^2.0.0", - "is-plain-object": "^3.0.0", - "node-fetch": "^2.3.0", - "once": "^1.4.0", - "universal-user-agent": "^5.0.0" - } - }, - "@octokit/request-error": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.0.2.tgz", - "integrity": "sha512-2BrmnvVSV1MXQvEkrb9zwzP0wXFNbPJij922kYBTLIlIafukrGOb+ABBT2+c6wZiuyWDH1K1zmjGQ0toN/wMWw==", - "requires": { - "@octokit/types": "^5.0.1", - "deprecation": "^2.0.0", - "once": "^1.4.0" - } - }, - "@octokit/rest": { - "version": "17.11.2", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-17.11.2.tgz", - "integrity": "sha512-4jTmn8WossTUaLfNDfXk4fVJgbz5JgZE8eCs4BvIb52lvIH8rpVMD1fgRCrHbSd6LRPE5JFZSfAEtszrOq3ZFQ==", - "requires": { - "@octokit/core": "^2.4.3", - "@octokit/plugin-paginate-rest": "^2.2.0", - "@octokit/plugin-request-log": "^1.0.0", - "@octokit/plugin-rest-endpoint-methods": "3.17.0" - } - }, - "@octokit/types": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-5.0.1.tgz", - "integrity": "sha512-GorvORVwp244fGKEt3cgt/P+M0MGy4xEDbckw+K5ojEezxyMDgCaYPKVct+/eWQfZXOT7uq0xRpmrl/+hliabA==", - "requires": { - "@types/node": ">= 8" - } - }, - "@types/node": { - "version": "14.0.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz", - "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==" - }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" - }, - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array.prototype.map": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", - "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "es-array-method-boxes-properly": "^1.0.0", - "is-string": "^1.0.4" - } - }, - "assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - }, - "axios": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", - "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", - "requires": { - "follow-redirects": "1.5.10" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "requires": { - "ms": "2.0.0" - } - }, - "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "requires": { - "debug": "=3.1.0" - } - } - } - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "before-after-hook": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz", - "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A==" - }, - "big-integer": { - "version": "1.6.48", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz", - "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w==" - }, - "binary": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/binary/-/binary-0.3.0.tgz", - "integrity": "sha1-n2BVO8XOjDOG87VTz/R0Yq3sqnk=", - "requires": { - "buffers": "~0.1.1", - "chainsaw": "~0.1.0" - } - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==" - }, - "bluebird": { - "version": "3.4.7", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.4.7.tgz", - "integrity": "sha1-9y12C+Cbf3bQjtj66Ysomo0F+rM=" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==" - }, - "buffer-indexof-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-indexof-polyfill/-/buffer-indexof-polyfill-1.0.1.tgz", - "integrity": "sha1-qfuAbOgUXVQoUQznLyeLs2OmOL8=" - }, - "buffers": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", - "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "chai": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz", - "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==", - "requires": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "pathval": "^1.1.0", - "type-detect": "^4.0.5" - } - }, - "chainsaw": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.1.0.tgz", - "integrity": "sha1-XqtQsor+WAdNDVgpE4iCi15fvJg=", - "requires": { - "traverse": ">=0.3.0 <0.4" - } - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "dependencies": { - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" - }, - "chokidar": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", - "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.3.0" - } - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "requires": { - "ms": "^2.1.1" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - } - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "requires": { - "type-detect": "^4.0.0" - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==" - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==" - }, - "duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", - "requires": { - "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "requires": { - "once": "^1.4.0" - } - }, - "es-abstract": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", - "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.0", - "is-regex": "^1.1.0", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "es-array-method-boxes-properly": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" - }, - "es-get-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", - "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", - "requires": { - "es-abstract": "^1.17.4", - "has-symbols": "^1.0.1", - "is-arguments": "^1.0.4", - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "flat": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/flat/-/flat-4.1.0.tgz", - "integrity": "sha512-Px/TiLIznH7gEDlPXcUD4KnBusa6kR6ayRUVcnEAbreRIuhkqow/mun59BuRXwoYk7ZQOLW1ZM05ilIvK38hFw==", - "requires": { - "is-buffer": "~2.0.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "optional": true - }, - "fstream": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", - "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", - "requires": { - "graceful-fs": "^4.1.2", - "inherits": "~2.0.0", - "mkdirp": ">=0.5 0", - "rimraf": "2" - } - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" - }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": { - "pump": "^3.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "requires": { - "is-glob": "^4.0.1" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==" - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-buffer": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.4.tgz", - "integrity": "sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==" - }, - "is-callable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", - "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==" - }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", - "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-plain-object": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz", - "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==", - "requires": { - "isobject": "^4.0.0" - } - }, - "is-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", - "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-set": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", - "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "isobject": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz", - "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==" - }, - "iterate-iterator": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", - "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==" - }, - "iterate-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", - "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", - "requires": { - "es-get-iterator": "^1.0.2", - "iterate-iterator": "^1.0.1" - } - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "listenercount": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/listenercount/-/listenercount-1.0.1.tgz", - "integrity": "sha1-hMinKrWcRyUyFIDJdeZQg0LnCTc=" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==" - }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", - "requires": { - "chalk": "^2.4.2" - } - }, - "macos-release": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz", - "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==" - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": { - "minimist": "^1.2.5" - } - }, - "mocha": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.0.1.tgz", - "integrity": "sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg==", - "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.3.1", - "debug": "3.2.6", - "diff": "4.0.2", - "escape-string-regexp": "1.0.5", - "find-up": "4.1.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "3.13.1", - "log-symbols": "3.0.0", - "minimatch": "3.0.4", - "ms": "2.1.2", - "object.assign": "4.1.0", - "promise.allsettled": "1.0.2", - "serialize-javascript": "3.0.0", - "strip-json-comments": "3.0.1", - "supports-color": "7.1.0", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.0.0", - "yargs": "13.3.2", - "yargs-parser": "13.1.2", - "yargs-unparser": "1.6.0" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" - }, - "node-fetch": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", - "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": { - "path-key": "^2.0.0" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==" - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "os-name": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz", - "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==", - "requires": { - "macos-release": "^2.2.0", - "windows-release": "^3.1.0" - } - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" - }, - "pathval": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", - "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=" - }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==" - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==" - }, - "promise.allsettled": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", - "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", - "requires": { - "array.prototype.map": "^1.0.1", - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "iterate-value": "^1.0.0" - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "readdirp": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", - "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", - "requires": { - "picomatch": "^2.0.7" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, - "serialize-javascript": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", - "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==" - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" - }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": { - "shebang-regex": "^1.0.0" - } - }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - } - }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": { - "ansi-regex": "^3.0.0" - } - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" - }, - "strip-json-comments": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", - "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==" - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "requires": { - "has-flag": "^4.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "traverse": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", - "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" - }, - "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - }, - "universal-user-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz", - "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==", - "requires": { - "os-name": "^3.1.0" - } - }, - "unzipper": { - "version": "0.10.10", - "resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.10.tgz", - "integrity": "sha512-wEgtqtrnJ/9zIBsQb8UIxOhAH1eTHfi7D/xvmrUoMEePeI6u24nq1wigazbIFtHt6ANYXdEVTvc8XYNlTurs7A==", - "requires": { - "big-integer": "^1.6.17", - "binary": "~0.3.0", - "bluebird": "~3.4.1", - "buffer-indexof-polyfill": "~1.0.0", - "duplexer2": "~0.1.4", - "fstream": "^1.0.12", - "graceful-fs": "^4.2.2", - "listenercount": "~1.0.1", - "readable-stream": "~2.3.6", - "setimmediate": "~1.0.4" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": { - "isexe": "^2.0.0" - } - }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "windows-release": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.3.1.tgz", - "integrity": "sha512-Pngk/RDCaI/DkuHPlGTdIkDiTAnAkyMjoQMZqRsxydNl1qGXNIoZrB7RK8g53F2tEgQBMqQJHQdYZuQEEAu54A==", - "requires": { - "execa": "^1.0.0" - } - }, - "workerpool": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", - "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==" - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" - }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } - } - }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, - "yargs-unparser": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", - "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", - "requires": { - "flat": "^4.1.0", - "lodash": "^4.17.15", - "yargs": "^13.3.0" - } - } - } -} diff --git a/utils/labeller/package.json b/utils/labeller/package.json deleted file mode 100644 index 6ab1eff4845f..000000000000 --- a/utils/labeller/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "https-everywhere-labeller", - "version": "1.0.1", - "description": "", - "main": "index.js", - "scripts": { - "test": "mocha test.js" - }, - "author": "William Budington", - "contributors": ["Alexis Hancock"], - "license": "GPL-3.0", - "dependencies": { - "@octokit/rest": "^17.1.4", - "progress": "^2.0.3", - "axios": "^0.19.2", - "unzipper": "0.10.10", - "mocha": "8.0.1", - "chai": "4.2.0" - } -} diff --git a/utils/labeller/test.js b/utils/labeller/test.js deleted file mode 100644 index 847f3c207ab2..000000000000 --- a/utils/labeller/test.js +++ /dev/null @@ -1,17 +0,0 @@ -'use strict'; - -const assert = require('chai').assert; -const utils = require('./utils.js'); - -describe('index.js', () => { - describe('Utils.return_label', () => { - it('returns proper rank label', () => { - let testUtils = new utils.Utils(); - assert.equal(testUtils.return_label(89), 'top-100', "doesn't match label"); - assert.equal(testUtils.return_label(899), 'top-1k', "doesn't match label"); - assert.equal(testUtils.return_label(8999), 'top-10k', "doesn't match label"); - assert.equal(testUtils.return_label(89999), 'top-100k', "doesn't match label"); - assert.equal(testUtils.return_label(899999), 'top-1m', "doesn't match label"); - }); - }); -}); diff --git a/utils/labeller/utils.js b/utils/labeller/utils.js deleted file mode 100644 index 3e32ddec7e40..000000000000 --- a/utils/labeller/utils.js +++ /dev/null @@ -1,81 +0,0 @@ -'use strict'; - -// Process Functions for Labeller -const alexa_labels = ['top-1m', 'top-100k', 'top-10k', 'top-1k', 'top-100']; - -class Utils { - constructor(octokit, httpse) { - this.octokit = octokit; - this.httpse = httpse; - } - - labelled(pr) { - // Check if Alexa labels already applied - let m = true; - - pr.labels.forEach(element => { - if( alexa_labels.includes(element.name)) - m = false; - }); - - // Return filtered pull requests - return m; - } - - // look at files in PR - files(files, alexa) { - let rank; - - files.data.forEach(file => { - if(file.filename.match(/^src\/chrome\/content\/rules\//) !== null){ - - // Look at PR changes directly - let matches = file.patch.match(/((host)="([^"]|"")*")/g); - - // strip to main domain - if( matches !== null) { - if( alexa.includes(matches[0].slice(6,-1))) { - let index = (matches[0].slice(6,-1)) - rank = alexa.indexOf(index); - return rank; - } - } - } - }); - if(rank) { - return rank; - } else { - return null; - } - } - - // Get Alexa label - return_label(rank_num) { - let label; - if(rank_num < 100){ - label = "top-100"; - } else if(rank_num < 1000){ - label = "top-1k"; - } else if(rank_num < 10000){ - label = "top-10k"; - } else if(rank_num < 100000){ - label = "top-100k"; - } else { - label = "top-1m"; - } - return label; - } - - // Add Alexa Label - add_label(chosen_label, pr_number) { - this.octokit.issues.addLabels({ - ...this.httpse, - issue_number: pr_number, - labels: [chosen_label] - }); - } -} - -module.exports = { - Utils: Utils -} diff --git a/utils/merge-rulesets.py b/utils/merge-rulesets.py index c610cab7f797..efd62cbaf8d8 100644 --- a/utils/merge-rulesets.py +++ b/utils/merge-rulesets.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 # Merge all the .xml rulesets into a single "default.rulesets" file -- this # prevents inodes from wasting disk space, but more importantly, this works diff --git a/utils/ruleset-allowlist.csv b/utils/ruleset-allowlist.csv index 1a5c4a0a933c..2e3e1c481b91 100644 --- a/utils/ruleset-allowlist.csv +++ b/utils/ruleset-allowlist.csv @@ -150,7 +150,6 @@ e93b07e0b6cc742be0b8402e08c42fad688a33ab622fc34541ff95d78ab98c84,0,1,AutoTrack.n aa3e6486761566210c9bfa7fbe3d495a5d7273bfe0632ac3efe0a1793a585671,1,1,Axel-Springer.xml f6468f106fec675cba71920bfd2243936771900e9d15bc40349e5d5bbcf0e3c9,1,1,BASE.xml bbbfd3e4a82e15d4d89dad020b350321c0fca4e5e8b89075201cc8861f1a7fdc,1,0,BCGolf.com-mismatches.xml -e651d8ae4c0c0a4722fbf66d045127635d1ad05e3215cdee2ce8e08f5254bd90,1,0,BHosted.nl.xml 5a01a4ef9e0b0e572a6d075091320139a3748bb339b996271e71fde911ab68d1,0,1,BHosting.ru.xml 6844b64d58c80eff8e30edee7d55d176d295fe2294b5220be007c536f929eda7,0,1,BIKT.xml a5c928606e0d561e5d440f462785ac080a8573075ecb058ca61d7467dbe1118f,1,1,BLOX.xml @@ -199,7 +198,6 @@ dc5adf6c19510d6c30641e13b570ae53d2b027a52bf710efcb332650b99b11b7,1,0,Billiger.de a0134fe6daf1357222392652186d939db2bff2d536c66f04be36c9cc4d40d016,1,1,Birthday_in_a_Box.xml 573cba521c4d30634c5a52f669401e6fa01062c2ac6862f3a084d43b566d34e7,1,1,Bishop_Interactive.xml 0e7aa1032567406b6d90062e0aea70739d396e8df454174215feffc75583274c,0,1,Bitcoin_Plus.xml -df28ada2acefa6702352a44e595a1ceff719a9c07efee73f0a9e8930bd24a125,0,1,Bitly_branded_short_domains.xml d8ee4c87b0620b6042c91603f08487127062a0a139d668e8c750d02a08fb2a77,0,1,Bitsontherun.com.xml 08fef6e8d57b0a993adafca479dc40f171557bd674f61c1de7347fe97871ea63,0,1,BlackDiamondEquipment.com.xml 6601feab3dbc022ef37296d161f15fa92f5d1235d8aebfe882f0e6e447e18775,1,1,BlackTonic.com.xml @@ -313,7 +311,6 @@ ff8d40bf74ef03e97bb141833608fd1af15eadf315b3d4375b2f343a6ffe8043,0,1,Center-for- 7d22b530e3d76f27ad05eb2b78c570d62bcaf8ae57582777e110f1a5d5c58ae3,1,0,Centre_for_the_Protection_of_National_Infrastructure.xml 5bd8e0e2fd30fc0a28fd33d451a35b60e7275837c4fd405dfce8bc81af27ead1,1,0,Cfapps.io.xml 657c3fc76a95e653075c9146e79384f35deb6602ff616d54387921bbab2c83a3,1,1,Chakas_Mmm.com.xml -8c0fd9d0953fb234c3868f68cbf1abac8de9e1e0f0ccce473da79a064e65158c,0,1,Chalmers.se.xml a9462ddd5256f9df0f92ac9e68dee69860bc04afeda1ad4ca62d125ba046e723,1,0,ChampionCasino.net.xml 5af512985fa4e71798ebbb40592cb7de443d76a65e66ac2b270853590d4ec0f0,1,0,Change.org.xml b59e3733248b31c4fb739059009c4ecc1cebbaa907e505f9999e0f23b0207b05,0,1,Chapman.edu.xml @@ -420,7 +417,6 @@ bc5f40825e2152d2725cd095f0af778875bc307c14701f874a651b3572adab65,0,1,Cybertip.ca d014e7330debe4f838f895d1ad269f9f67bf5691aa460a86e070c72357b87e82,1,1,DKB.de.xml cab182473bd2a1f12288fbf267de9e6bd6d249ba3f7d561186cc3b9eaca719e3,0,1,DMX-Austria.xml fbbe70181d1fe5c14edeb58820cc187697663b7ff1d6330318b52242cad50df7,1,1,DVIDS_Hub.net.xml -d4930c453a7b73dc9960d7cb990a478dc509b7fa5ba1cbc5c7481b1f7cd3ff3d,0,1,DWheeler.xml 4cd351e987026f37e854bf3ecbfc84ad5838db73d9b06f59ad58d07dac65ce85,1,0,DaWanda.xml 0b1a6de4023a402b4d79c12a9d2b45c4c7d2d309203536bef8ae9dddb5113e19,1,1,Dabs.xml 39a0ec5f2284937cc5b8e0cf5d1199fcdc3738146fc296224a8d14e20e4f5a33,0,1,Daft_Media.xml @@ -567,7 +563,6 @@ eb2c414ae4ec2c034261b3cd828b87ba62ea8fdf6208052149c7cf7fe882bbbf,0,1,EuroPriSe.x c3ce6b72a929adc8d7e227f86884c300979feb2a571c85cc44db4262eaa6881a,0,1,EuroSmartz.xml 6d3e2a1d8568935ff376e011fa835b0a9c78a06c40eeaf5b9732abbdf0a27808,1,1,Eurodiet.xml 2469df0235c8a578f6a3574825d70473517e612574f5e517174cd8ef453c46d1,0,1,Euroforum-problematic.xml -ed61bc575d50e9394d3ca71ac052e0b0908238912c096949310799c40de6084d,0,1,Europe_Miniatures.xml 9f07a1cd07e17aaef37455a8e6927200da4633d51836089d790ca00caa2a16a3,1,1,European-Southern-Observatory.xml c7d1a78c0d09e8db961d0d711d81b4967193f1692e7a23198a996e9dc8dbfd29,1,0,Eventbrite.co.uk.xml 1213b9bcc58aef69599cda534a1140050ba6a542bafdadd27e62d1e88b6e3b56,1,0,Everest_Technology.xml @@ -672,7 +667,6 @@ f7bdaf4a797376040d08fb18652d7cf0eedb8ba7906904146eb43b8a358aa5d5,0,1,GIMP-foo.xm ab1451b0683e0014737f9f57f3e9f414f215dbff35b08fa8cf126e8d83c836c8,1,1,GNOME.xml 9f9228d01a61c6c36749f43229b861d54f380cbfbf025469bced8cbdc2e08e55,1,0,GOV.UK.xml b1eb04822cc82a87c012a5b68622ca2804ddfa57f90165ab739d30d11afae09c,1,1,GO_Transit.xml -0ee8f20c7adbecd195a0b332aaeb6fa49a1b97192c94840236733f0a29dd5d75,1,0,GQ-magazine.co.uk.xml 6637d47a74a578146d45ff4f7aa375670d1aea3d1e41ed9a5e90284da437812d,0,1,GSU.edu-falsemixed.xml ca4b0f161ae75041c459ce29e5d2966ec73c220edf13d44cd43105509be11b84,1,0,GSU.edu.xml 2658ea2070b54f5a51b5fed1141337e3b434ac2f1565884145c41b83c8ac6d15,1,1,GUADEC.org.xml @@ -709,7 +703,6 @@ fd005c94136bf38d49cb6c2e54e2d1eb3a1dcc47b14839e428c31a4e8fee16ad,1,1,Giganews.xm f5298b32c824990297a18e92474c36a5d1b344ce7951b529a48dd0d6c2a9e620,0,1,GigeNET_Cloud.com.xml 51e006dcc0faf9e3d034d633d244bbf7fb278b7f49388c9303bebb5d64d206b5,1,1,Givex.xml 1d543c058797c2143e84af0016b439cef391b95b81a938a27400534400e3fc5e,0,1,GivingComfort.org.xml -256aec87f8aae80c6de962f21fa4b537b2476fec22cedb041638ab7bc5abc7f7,1,1,Gizmodo.com.xml ed076293b391e63d4e03d8e9d6de8bc45e2e968273c10131468eacee40f1d08e,1,1,Glerups.xml 745c86661e057217d3f6d9001632956d24085b474525744996044b02aaecade4,1,1,GlitterBank.xml 9ca0b92729a85ee245177e7a30e4ab554cf09245017b322eb486667b90d30d2a,0,1,Global-Footprint-Network.xml @@ -723,7 +716,7 @@ b4741f899272079753bb0118f166d0130bbedf31d16434e9b8127821fcc41f50,1,0,GoWork.pl.x 1857fb8f5f73fff134e4fdda43db8c16d0c9c22dcf0ac20fcf3ee2a846a022b5,1,1,Golden_Charter.xml 9224e11b4b259be1d60b4d65c3903a9b2fe7403753ce0b1a540bc526cdb8e21c,0,1,Golf_Course_Industry.xml 7fc9cf927c9b92789e3d57fde87b70aaf938b68e6b71adf4319411e2af1c67f5,1,1,Goodsearch.xml -23d650cf9645270bf1a02d9cd30adba95130a2acffdf1d359791de3670a41706,1,0,Google.tld_Subdomains.xml +29c9afd965ed16539ae8450e714cef305ac462c4e59e30c4d12d85e63ca058f8,1,0,Google.tld_Subdomains.xml 25c3f0f876658542a6ba1aa3b085d847ca547e3f03f0ece8b6b11ae4e08dcffa,1,0,Google_App_Engine.xml fc2c55f71e70b59c18712e3ce183d824f45432bc691882aa9a2990d64c8c0f92,1,1,Gotmerchant.com.xml 8c2e217fca6c4f32665fceb124225f04edc9b8c01a403aedafd871a33c9d79ce,1,1,Gotraffic.net.xml @@ -760,7 +753,6 @@ d97fb94656263a08627931829f3707297aaad16a2780d7efbc08d9a0e240af5f,0,1,Habbo.fi.xm 36f8eada3ef9157fd9135fb2507307fc0a40d90e3f2b9727e1e483301180b35f,1,0,Hammacher-Schlemmer.xml c4c6765b82c3995fe1018d07d514748b3b1dc77463bd7f9745d4f81c89729b7f,1,1,Handmade_Kultur.de.xml a8183b3aee9c2ef8f331f6d2b4a65f99819fec523ff1df7d10cb69ed6fd7c746,0,1,Handsome_Code.com.xml -4efded9756f5c1f3ceaf59a97de88386c677c772a518bc9d787dc3e6dbfa245f,1,0,Harakahdaily.xml 0b7c9ea36c20bcc97958b4e3d5f6937282a35e3029bea14e6dc4fb95b3c17e25,0,1,Hardcore_Teen_Girls.xml e6f358268ccbfa9123abd3a38088ea30874f0fc2f7d577d6729117981c403c3b,0,1,Hardwarebug.xml 33be37ec857b9b80c74e0ee3a9ad566bba7cdf793e076c4103427d1e5413f761,0,1,Hartware.de.xml @@ -914,7 +906,6 @@ ff5eb876669cf155eb33966d0cdda8a88942ccf55c814b14addbe51e52db761d,0,1,Jobware.de. 5d2c47c29c532a62ebdc816bdc6dfcbe1e573c4b5e2ad7a35f2288ee3d58c3ae,0,1,JodoHost.xml c13076995d5856791ee7814d103be8fb0afc12db160318575e4e35097fe599ba,1,0,JoomlArt.com.xml 49e14eb4dbfb8cdd922261721b0b57280076bda7b75b59396dcd0a4b67914955,0,1,JoomlaCode.org.xml -95b4959a1fe6ce2073804de0436dd5eecbfe06c7f4cc2b913b2bb7588e0f086b,0,1,Joomlancers.com.xml c979cb8a361e3ed2bf5032f85b8aea715a1bcaea1a278635048ec26d4e59240e,1,1,Joseph-Rowntree-Reform-Trust.xml 101fd87908eecba0acf9700f26880592677e52c7d8edc8638dabd72dc06476c2,0,1,Journal-News.net.xml c621d4ba25d54b2ac74584129f4234f43b52d2bb00a11b49ef04dc15848169d7,1,1,Journal-of-Neurosurgery.xml @@ -1028,7 +1019,6 @@ fbeaf8dbd06fc62fb6217d020e5d4401df8539e62b29c3d1af073ff07d52ae00,1,0,LiveAgent.x e3d7781eb8af6d39d6b9ce237e46688f6615aec94f65cb2a54a87e167b0c2236,1,0,LiveJasmin.xml b39a16b01956252b32328acfd50d93cd04a0a33ea761eec5d5fb9df24a7d56fe,1,0,LivePerson.net.xml 4df0e6a98068a7e8df85af4cb7248c048fbe6b5fd0bcbffadc7d155d8ce52610,1,0,Live_filestore.com.xml -657622e6f0195b2dfe3210112b7ab0e1e31a00717ffb3d40d8659fa04b74d5b0,0,1,Livermores-Centennial-Light-Live-Cam.xml 627f36782b5c58008a53cd2d0a4161d517705f45ecf809ebcca7aa06a6510fca,1,0,Livestream.xml 6cf957e7613bc938177a082c0f9ce6b5773892518127b119b3444955c853d542,0,1,Liwenhaosuper.com.xml b250fbb7e12444692db8db24a0d8e51c9c16147a0bc0aa62599c05e6730f2c9e,0,1,LockerDome.com.xml @@ -1230,7 +1220,6 @@ f3161aaef5e1b8c8ff003407b46075792e538cba3c966cb04eae44220d606e5c,1,1,NTI.org.xml e839742e70b958a9ba7c9c64e2c25a3ea8b5a8d2acac5ede9eebf815505261dc,0,1,NZ_Herald.co.nz-problematic.xml e567c9f23505545a46c3f2094019189ec0bb0753d4042e09b9c3e4e4305ab2fe,1,1,Nandos.com.xml 87d7cec32a9c98d029b8a7748f45f03a4c405f4b10af0c7dbf63a655a2f2501e,1,1,Nasuni.com.xml -ebcc8d760dad213f091f650b11dbd48341e8039af99e39d0e1ea98115899e204,0,1,NatMonitor.com.xml 2025891cb707c5cb4bca8f7cfda7411a3b7c03084986c794c01d9966646ce307,1,1,National-Defense-Industrial-Association.xml b403cfeb4dba33d69d8496bb0afcb0815d8c611efce1f202f48a522aa6a258ad,1,0,National-Express.xml 89e0c10cfdb60707da37a41b1bf06aa0f9db7c9ff759a4cbb8e94d772ca0bf75,1,0,National-Rail-Enquiries.xml @@ -1240,7 +1229,6 @@ b403cfeb4dba33d69d8496bb0afcb0815d8c611efce1f202f48a522aa6a258ad,1,0,National-Ex 0faca68701fed7d481ef2d407adb2988bb09737e4256fc13d94de4d50be29dcb,0,1,Nationale-IT-Security-Monitor.nl.xml c7a70c28854efe3443f37272478b64dc380b698ed063523ca0ae1afb3f3e9e1f,1,1,Nature_Shop.xml 5fa991b9e337ffa71bfe80e49dcb48b46deac649f5bc33ea192903e0b44e7ca5,0,1,Naturvardsverket.se.xml -c1c92a7032d59cc3e76a6e7da06a3088718e470b24585d0fafa558bff3735fe2,1,0,Naver.com.xml 1ce6aeb3e8c850b840ca30e2cc528f96fecf148fcdfcbbf4a0f6a633bb80c139,1,1,Navigant_Research.com.xml f1f93c4e6980e6ab9b58509fc5d1798975dc15bbeca4e33e5b90b19b304b8eb2,0,1,NeedMoreHits.com.xml 53753f70998bf7ad4a70d4bca054a29485a0287e724015af709a44c638f36a3e,1,1,Nelonenmedia.fi.xml @@ -1517,7 +1505,6 @@ be7e41eeb775ed3a092eb6caa67dece5052bae12be23f72922421af695d2892c,0,1,RailsConf.c a8eac7a3ad4bed42d518579dfeddc1ea079e0bf08897a8b890ded2c4911f01c4,1,1,Rantoul_Press.xml 46fd3ecefccc0ee271b35fdea5f695b5a7a8b821ab9bdbea090ab07e49f49e9a,0,1,RapidBuyr-problematic.xml 825ab0b71141f945032d9eb9f2d107635184db4b244ab605bda6338a7c83f711,1,0,RapidBuyr.xml -9aac5d3270231d33c21bc9959aad7f193dfc44b9c36e643c45396829531ef2c0,1,0,Rapidgator.net.xml c141b46bc6e8bb32c9eb0beb311cff1ff66e003fef23f11d8ae1e23e1a308cb8,1,1,RatfishOil.com.xml 922398c3843dea87e31afabf326f9cd2447344f6aed0f93514f2c98dbe69c9c8,0,1,Rawnet.com.xml 96d6931dc7ddc1dfae37303fdb58cd0f855ba02abf08cb981aa1e0823513e9f3,0,1,Rayner-Software.xml @@ -2178,6 +2165,7 @@ d5008a99ca26ac771eae43451d1a3f388ea560836b48126ed51e332c61ef850c,1,0,copyninja.i 9fe88b19037e7cb59d028c3fd40d30afb5e4db3e3f8b75299d9301245275542d,1,0,craigsmith.net.xml ecc5224bdf13e70d53652f6f917ddaf3525b293a3b014583a7e366f04851145c,1,0,cwrap.org.xml 9a0e82fa2c84784bd866c0cdfcb15b4fde531d057cd5b0b2c2ae287fdb5479b5,1,0,dditservices.com.xml +1191303496688bd47f3c42d5b9b20e188264588d02657e602a5e6beeaea448eb,0,1,direxion.xml 115fd43e8f2968793726c7d1e0be246a5da55d02facef89e889c7c4b8106a052,0,1,dns4torpnlfs2ifuz2s2yf3fc7rdmsbhm6rw75euj35pac6ap25zgqad.onion.xml 69543b744db80de441dc597c4edba83ba4ae47aab02eae703ed5782b59a46796,1,1,eBid.net.xml 61b46e4fd28004ddfae160ab1527475fa290ebeaf0f756673c86609a431bade5,1,0,eastsussex1space.co.uk.xml diff --git a/utils/setversion.py b/utils/setversion.py index 62239c756ce7..2ade838ac523 100755 --- a/utils/setversion.py +++ b/utils/setversion.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 from datetime import date import json diff --git a/utils/sign-bloom/add_timestamp.py b/utils/sign-bloom/add_timestamp.py new file mode 100755 index 000000000000..1a45eeaab142 --- /dev/null +++ b/utils/sign-bloom/add_timestamp.py @@ -0,0 +1,21 @@ +#!/bin/env python3 +import json +import sys + +def usage_and_exit(): + print("Usage: " + sys.argv[0] + " TIMESTAMP") + sys.exit(1) + +if len(sys.argv) != 2: + usage_and_exit() + +try: + timestamp = int(sys.argv[1]) +except: + usage_and_exit() + + +for line in sys.stdin: + json_line = json.loads(line) + json_line['timestamp'] = timestamp + print(json.dumps(json_line)) diff --git a/utils/sign-bloom/async-airgap.sh b/utils/sign-bloom/async-airgap.sh new file mode 120000 index 000000000000..70899e99e837 --- /dev/null +++ b/utils/sign-bloom/async-airgap.sh @@ -0,0 +1 @@ +../sign-rulesets/async-airgap.sh \ No newline at end of file diff --git a/utils/sign-bloom/async-request.sh b/utils/sign-bloom/async-request.sh new file mode 100755 index 000000000000..201ec13bee15 --- /dev/null +++ b/utils/sign-bloom/async-request.sh @@ -0,0 +1,30 @@ +#!/bin/bash +# Used to sign bloom filters created with https://crates.io/crates/create-bloom-filter + +set -e + +if [ $# -ne 3 ]; then + echo "Usage: $0 bloom_file public_key_file output_path" + exit +fi + + +SIGNED_SHA256SUM_BASE64=`mktemp /tmp/bloom-signature.sha256.base64.XXXXXXXX` +trap 'rm $SIGNED_SHA256SUM_BASE64' EXIT + +mkdir -p $3 +TIMESTAMP=`date +%s` +cp $1 $3/bloom.$TIMESTAMP.bin +cat $1.json | $(dirname $0)/add_timestamp.py $TIMESTAMP > $3/bloom-metadata.$TIMESTAMP.json + +echo 'Hash for signing: ' +sha256sum $3/bloom-metadata.$TIMESTAMP.json | cut -f1 -d' ' +echo metahash for confirmation only $(sha256sum $3/bloom-metadata.$TIMESTAMP.json | cut -f1 -d' ' | tr -d '\n' | sha256sum | cut -c1-6) ... + +echo 'Paste in the data from the QR code, then type Ctrl-D:' +cat | tr -d '\n' > $SIGNED_SHA256SUM_BASE64 + +base64 -d $SIGNED_SHA256SUM_BASE64 > $3/bloom-signature.$TIMESTAMP.sha256 +openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:32 -verify $2 -signature $3/bloom-signature.$TIMESTAMP.sha256 $3/bloom-metadata.$TIMESTAMP.json + +echo $TIMESTAMP > $3/latest-bloom-timestamp diff --git a/utils/sign-bloom/ddgse b/utils/sign-bloom/ddgse new file mode 100644 index 000000000000..3b7927ec5c38 Binary files /dev/null and b/utils/sign-bloom/ddgse differ diff --git a/utils/sign-bloom/ddgse.json b/utils/sign-bloom/ddgse.json new file mode 100644 index 000000000000..1d490c6e64ee --- /dev/null +++ b/utils/sign-bloom/ddgse.json @@ -0,0 +1 @@ +{"bitmap_bits":11364392,"k_num":24,"sha256sum":"371bfb628062de163947c1226d99a5f3823e6fe1bc0838d24e0deffad1c96ee2","sip_keys":[["4746789603923246281","9835731802354323261"],["11277193235900924841","7296056854142719726"]]} \ No newline at end of file diff --git a/utils/sign-bloom/standalone.sh b/utils/sign-bloom/standalone.sh new file mode 100755 index 000000000000..a4c614071ed2 --- /dev/null +++ b/utils/sign-bloom/standalone.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Used to sign bloom filters created with https://crates.io/crates/create-bloom-filter + +set -e + +if [ $# -ne 3 ]; then + echo "Usage: $0 bloom_file private_key_file output_path" + exit +fi + + +mkdir -p $3 +TIMESTAMP=`date +%s` +cp $1 $3/bloom.$TIMESTAMP.bin +cat $1.json | $(dirname $0)/add_timestamp.py $TIMESTAMP > $3/bloom-metadata.$TIMESTAMP.json + +openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:32 -sign $2 -out $3/bloom-signature.$TIMESTAMP.sha256 $3/bloom-metadata.$TIMESTAMP.json + +echo $TIMESTAMP > $3/latest-bloom-timestamp diff --git a/utils/sign-rulesets/async-airgap.sh b/utils/sign-rulesets/async-airgap.sh index 292c21ad86a1..41ec90876c2e 100755 --- a/utils/sign-rulesets/async-airgap.sh +++ b/utils/sign-rulesets/async-airgap.sh @@ -11,9 +11,9 @@ fi echo metahash for confirmation only $(echo -n $2 | sha256sum | cut -c1-6) ... read -p "(press enter to continue)" -SIGNED_SHA256SUM=`mktemp /tmp/ruleset-signature.sha256.XXXXXXXX` +SIGNED_SHA256SUM=`mktemp /tmp/signature.sha256.XXXXXXXX` trap 'rm $SIGNED_SHA256SUM' EXIT -SIGNED_SHA256SUM_BASE64_QR=`mktemp /tmp/ruleset-signature.sha256.base64.XXXXXXXX.png` +SIGNED_SHA256SUM_BASE64_QR=`mktemp /tmp/signature.sha256.base64.XXXXXXXX.png` trap 'rm $SIGNED_SHA256SUM_BASE64_QR' EXIT echo $2 | xxd -r -p | openssl pkeyutl -sign -inkey $1 -pkeyopt digest:sha256 -pkeyopt rsa_padding_mode:pss -pkeyopt rsa_pss_saltlen:32 -out $SIGNED_SHA256SUM diff --git a/utils/standalone-translations.py b/utils/standalone-translations.py new file mode 100644 index 000000000000..48624c0363c4 --- /dev/null +++ b/utils/standalone-translations.py @@ -0,0 +1,56 @@ +#!/usr/bin/env python3 +""" +Generate a messages.json translations file for HTTPS Everywhere Standalone +""" +import re +import sys +import os +import json + +source_dir = sys.argv[1] +dest_dir = sys.argv[2] + +message_regex = re.compile("") +strings_needed = [ + "about.version", + "about.rulesets_version", + "menu.globalDisable", + "menu.globalEnable", + "menu.encryptAllSitesEligibleOn", + "menu.encryptAllSitesEligibleOff", + "options.enterDisabledSite", + "options.addDisabledSite", + "options.hostNotFormattedCorrectly", + "options.disabledUrlsListed", + "menu.httpNoWhereExplainedBlocked", + "menu.httpNoWhereExplainedAllowed", + "standalone.proxy_server_info_prefix", + "standalone.transparent_true", + "standalone.transparent_false", +] + +def convert(locale): + translation_file = os.path.join(source_dir, locale, "https-everywhere.dtd") + if os.path.isfile(translation_file): + target_messages = {} + with open(translation_file, 'r', encoding='utf-8') as f: + for line in f: + m = message_regex.search(line) + if m: + message_name = m.group(1) + if message_name in strings_needed: + message_value = m.group(2) + message_name = re.sub("[.-]", "_", message_name) + target_messages[message_name] = message_value + return target_messages + else: + return False + +with open(os.path.join(dest_dir, "messages.json"), "w") as out_file: + all_target_messages = {} + for locale in os.listdir(source_dir): + if not "." in locale: + target_messages = convert(locale) + if target_messages: + all_target_messages[locale] = target_messages + out_file.write(json.dumps(all_target_messages, sort_keys=True, indent=4)) diff --git a/utils/trivialize-cdn-rules/index.js b/utils/trivialize-cdn-rules/index.js index edcd348113bf..4f8116dd84be 100644 --- a/utils/trivialize-cdn-rules/index.js +++ b/utils/trivialize-cdn-rules/index.js @@ -31,15 +31,15 @@ const log = (level, filename, message) => { const supportedCDNsRegexs = [ { // Cloudfront.net - fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9_-]+)\.)*([\\a-z0-9-]+))\/$/, toRe: /^https:\/\/\w+\.cloudfront\.net\/$/ }, { // 2o7.net - fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9_-]+)\.)*([\\a-z0-9-]+))\/$/, toRe: /^https:\/\/[\w-]+\.1[12]2\.2o7\.net\/$/ }, { // amazonaws.com - fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9äö_-]+)\.)*([\\a-z0-9äö-]+))\/$/, + fromRe: /^\^http(?:s\?)?:\/\/((([\\a-z0-9_-]+)\.)*([\\a-z0-9-]+))\/$/, toRe: /^https:\/\/s3\.amazonaws\.com\// } ] diff --git a/utils/trivialize-cdn-rules/package-lock.json b/utils/trivialize-cdn-rules/package-lock.json index 5fbd0ea793f6..423379f97406 100644 --- a/utils/trivialize-cdn-rules/package-lock.json +++ b/utils/trivialize-cdn-rules/package-lock.json @@ -976,9 +976,9 @@ "dev": true }, "hosted-git-info": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true }, "http-basic": { @@ -1201,9 +1201,9 @@ "dev": true }, "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" }, "json-schema-traverse": { "version": "0.3.1", @@ -1223,13 +1223,13 @@ "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz", + "integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" } }, @@ -1283,9 +1283,9 @@ } }, "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, "loose-envify": { @@ -1336,9 +1336,9 @@ } }, "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, "mkdirp": { @@ -1495,9 +1495,9 @@ "dev": true }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, "path-type": { @@ -1945,14 +1945,6 @@ "get-stdin": "^6.0.0", "minimist": "^1.1.0", "pkg-conf": "^2.0.0" - }, - "dependencies": { - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true - } } }, "string-width": { diff --git a/utils/zipfile_deterministic.py b/utils/zipfile_deterministic.py index 5d5ca1fec12e..5c931f3b6a47 100644 --- a/utils/zipfile_deterministic.py +++ b/utils/zipfile_deterministic.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 """ A fork of the Python 3.6 zipfile module, modified to remove sources of entropy and ensure bit-by-bit determinism for the output file.