>>=y,p-=y),p<15&&(c+=z[i++]<>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(c&(1<>>=y,p-=y,(y=s-a)>3,c&=(1<<(p-=w<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function a(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=P,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new I.Buf32(i),e.distcode=e.distdyn=new I.Buf32(n),e.sane=1,e.back=-1,N):U}function o(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,a(t)):U}function h(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||15=s.wsize?(I.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(i<(n=s.wsize-s.wnext)&&(n=i),I.arraySet(s.window,e,r-i,n,s.wnext),(i-=n)?(I.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){t.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){t.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){t.msg="invalid window size",r.mode=30;break}r.dmax=1<>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break t;o--,u+=i[s++]<>>8&255,r.check=B(r.check,E,2,0)),l=u=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(c=r.length)&&(c=o),c&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,i,s,c,k)),512&r.flags&&(r.check=B(r.check,i,c,s)),o-=c,s+=c,r.length-=c),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break t;for(c=0;k=i[s+c++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&c>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break t;o--,u+=i[s++]<>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break t;o--,u+=i[s++]<>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==e)break;u>>>=2,l-=2;break t;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=30}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break t;o--,u+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(c=r.length){if(o>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286>>=3,l-=3}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=_,l-=_,r.lens[r.have++]=b;else{if(16===b){for(z=_+2;l>>=_,l-=_,0===r.have){t.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],c=3+(3&u),u>>>=2,l-=2}else if(17===b){for(z=_+3;l>>=_)),u>>>=3,l-=3}else{for(z=_+7;l>>=_)),u>>>=7,l-=7}if(r.have+c>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=30;break}for(;c--;)r.lens[r.have++]=k}}if(30===r.mode)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){t.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){t.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(6<=o&&258<=h){t.next_out=a,t.avail_out=h,t.next_in=s,t.avail_in=o,r.hold=u,r.bits=l,R(t,d),a=t.next_out,n=t.output,h=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){t.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break t;o--,u+=i[s++]<>>=v,l-=v,r.back+=v}if(u>>>=_,l-=_,r.back+=_,64&g){t.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l>>=r.extra,l-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break t;if(c=d-h,r.offset>c){if((c=r.offset-c)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=30;break}p=c>r.wnext?(c-=r.wnext,r.wsize-c):r.wnext-c,c>r.length&&(c=r.length),m=r.window}else m=n,p=a-r.offset,c=r.length;for(hc?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=e[r+a[v]]}if(k>>7)]}function U(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function P(t,e,r){t.bi_valid>c-r?(t.bi_buf|=e<>c-t.bi_valid,t.bi_valid+=r-c):(t.bi_buf|=e<>>=1,r<<=1,0<--e;);return r>>>1}function Z(t,e,r){var i,n,s=new Array(g+1),a=0;for(i=1;i<=g;i++)s[i]=a=a+r[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=j(s[o]++,o))}}function W(t){var e;for(e=0;e>1;1<=r;r--)G(t,s,r);for(n=h;r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],G(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,G(t,s,1),2<=t.heap_len;);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,a,o,h=e.dyn_tree,u=e.max_code,l=e.stat_desc.static_tree,f=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,p=e.stat_desc.max_length,m=0;for(s=0;s<=g;s++)t.bl_count[s]=0;for(h[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<_;r++)p<(s=h[2*h[2*(i=t.heap[r])+1]+1]+1)&&(s=p,m++),h[2*i+1]=s,u>=7;i>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return o;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return h;for(e=32;e>>3,(s=t.static_len+3+7>>>3)<=n&&(n=s)):n=s=r+5,r+4<=n&&-1!==e?J(t,e,r,i):4===t.strategy||s===n?(P(t,2+(i?1:0),3),K(t,z,C)):(P(t,4+(i?1:0),3),function(t,e,r,i){var n;for(P(t,e-257,5),P(t,r-1,5),P(t,i-4,4),n=0;n>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(A[r]+u+1)]++,t.dyn_dtree[2*N(e)]++),t.last_lit===t.lit_bufsize-1},r._tr_align=function(t){P(t,2,3),L(t,m,z),function(t){16===t.bi_valid?(U(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):8<=t.bi_valid&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},{"../utils/common":41}],53:[function(t,e,r){"use strict";e.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},{}],54:[function(t,e,r){"use strict";e.exports="function"==typeof setImmediate?setImmediate:function(){var t=[].slice.apply(arguments);t.splice(1,0,0),setTimeout.apply(null,t)}},{}]},{},[10])(10)});
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(95).Buffer, __webpack_require__(6), __webpack_require__(99).setImmediate))
-function alloc (that, size, fill, encoding) {
- assertSize(size)
- if (size <= 0) {
- return createBuffer(that, size)
- }
- if (fill !== undefined) {
- // Only pay attention to encoding if it's a string. This
- // prevents accidentally sending in a number that would
- // be interpretted as a start offset.
- return typeof encoding === 'string'
- ? createBuffer(that, size).fill(fill, encoding)
- : createBuffer(that, size).fill(fill)
- }
- return createBuffer(that, size)
-}
+/***/ }),
+/* 20 */
+/***/ (function(module, exports, __webpack_require__) {
/**
- * Creates a new filled Buffer instance.
- * alloc(size[, fill[, encoding]])
- **/
-Buffer.alloc = function (size, fill, encoding) {
- return alloc(null, size, fill, encoding)
-}
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
-function allocUnsafe (that, size) {
- assertSize(size)
- that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) {
- for (var i = 0; i < size; ++i) {
- that[i] = 0
- }
- }
- return that
-}
+var runtime = (function (exports) {
+ "use strict";
-/**
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
- * */
-Buffer.allocUnsafe = function (size) {
- return allocUnsafe(null, size)
-}
-/**
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
- */
-Buffer.allocUnsafeSlow = function (size) {
- return allocUnsafe(null, size)
-}
+ var Op = Object.prototype;
+ var hasOwn = Op.hasOwnProperty;
+ var undefined; // More compressible than void 0.
+ var $Symbol = typeof Symbol === "function" ? Symbol : {};
+ var iteratorSymbol = $Symbol.iterator || "@@iterator";
+ var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+ var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-function fromString (that, string, encoding) {
- if (typeof encoding !== 'string' || encoding === '') {
- encoding = 'utf8'
+ function wrap(innerFn, outerFn, self, tryLocsList) {
+ // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+ var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+ var generator = Object.create(protoGenerator.prototype);
+ var context = new Context(tryLocsList || []);
+
+ // The ._invoke method unifies the implementations of the .next,
+ // .throw, and .return methods.
+ generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+ return generator;
}
+ exports.wrap = wrap;
- if (!Buffer.isEncoding(encoding)) {
- throw new TypeError('"encoding" must be a valid string encoding')
+ // Try/catch helper to minimize deoptimizations. Returns a completion
+ // record like context.tryEntries[i].completion. This interface could
+ // have been (and was previously) designed to take a closure to be
+ // invoked without arguments, but in all the cases we care about we
+ // already have an existing method we want to call, so there's no need
+ // to create a new function object. We can even get away with assuming
+ // the method takes exactly one argument, since that happens to be true
+ // in every case, so we don't have to touch the arguments object. The
+ // only additional allocation required is the completion record, which
+ // has a stable shape and so hopefully should be cheap to allocate.
+ function tryCatch(fn, obj, arg) {
+ try {
+ return { type: "normal", arg: fn.call(obj, arg) };
+ } catch (err) {
+ return { type: "throw", arg: err };
+ }
}
- var length = byteLength(string, encoding) | 0
- that = createBuffer(that, length)
+ var GenStateSuspendedStart = "suspendedStart";
+ var GenStateSuspendedYield = "suspendedYield";
+ var GenStateExecuting = "executing";
+ var GenStateCompleted = "completed";
- var actual = that.write(string, encoding)
+ // Returning this object from the innerFn has the same effect as
+ // breaking out of the dispatch switch statement.
+ var ContinueSentinel = {};
- if (actual !== length) {
- // Writing a hex string, for example, that contains invalid characters will
- // cause everything after the first invalid character to be ignored. (e.g.
- // 'abxxcd' will be treated as 'ab')
- that = that.slice(0, actual)
- }
+ // Dummy constructor functions that we use as the .constructor and
+ // .constructor.prototype properties for functions that return Generator
+ // objects. For full spec compliance, you may wish to configure your
+ // minifier not to mangle the names of these two functions.
+ function Generator() {}
+ function GeneratorFunction() {}
+ function GeneratorFunctionPrototype() {}
- return that
-}
+ // This is a polyfill for %IteratorPrototype% for environments that
+ // don't natively support it.
+ var IteratorPrototype = {};
+ IteratorPrototype[iteratorSymbol] = function () {
+ return this;
+ };
-function fromArrayLike (that, array) {
- var length = array.length < 0 ? 0 : checked(array.length) | 0
- that = createBuffer(that, length)
- for (var i = 0; i < length; i += 1) {
- that[i] = array[i] & 255
+ var getProto = Object.getPrototypeOf;
+ var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+ if (NativeIteratorPrototype &&
+ NativeIteratorPrototype !== Op &&
+ hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+ // This environment has a native %IteratorPrototype%; use it instead
+ // of the polyfill.
+ IteratorPrototype = NativeIteratorPrototype;
}
- return that
-}
-function fromArrayBuffer (that, array, byteOffset, length) {
- array.byteLength // this throws if `array` is not a valid ArrayBuffer
+ var Gp = GeneratorFunctionPrototype.prototype =
+ Generator.prototype = Object.create(IteratorPrototype);
+ GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
+ GeneratorFunctionPrototype.constructor = GeneratorFunction;
+ GeneratorFunctionPrototype[toStringTagSymbol] =
+ GeneratorFunction.displayName = "GeneratorFunction";
- if (byteOffset < 0 || array.byteLength < byteOffset) {
- throw new RangeError('\'offset\' is out of bounds')
+ // Helper for defining the .next, .throw, and .return methods of the
+ // Iterator interface in terms of a single ._invoke method.
+ function defineIteratorMethods(prototype) {
+ ["next", "throw", "return"].forEach(function(method) {
+ prototype[method] = function(arg) {
+ return this._invoke(method, arg);
+ };
+ });
}
- if (array.byteLength < byteOffset + (length || 0)) {
- throw new RangeError('\'length\' is out of bounds')
- }
+ exports.isGeneratorFunction = function(genFun) {
+ var ctor = typeof genFun === "function" && genFun.constructor;
+ return ctor
+ ? ctor === GeneratorFunction ||
+ // For the native GeneratorFunction constructor, the best we can
+ // do is to check its .name property.
+ (ctor.displayName || ctor.name) === "GeneratorFunction"
+ : false;
+ };
- if (byteOffset === undefined && length === undefined) {
- array = new Uint8Array(array)
- } else if (length === undefined) {
- array = new Uint8Array(array, byteOffset)
- } else {
- array = new Uint8Array(array, byteOffset, length)
- }
+ exports.mark = function(genFun) {
+ if (Object.setPrototypeOf) {
+ Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+ } else {
+ genFun.__proto__ = GeneratorFunctionPrototype;
+ if (!(toStringTagSymbol in genFun)) {
+ genFun[toStringTagSymbol] = "GeneratorFunction";
+ }
+ }
+ genFun.prototype = Object.create(Gp);
+ return genFun;
+ };
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- // Return an augmented `Uint8Array` instance, for best performance
- that = array
- that.__proto__ = Buffer.prototype
- } else {
- // Fallback: Return an object instance of the Buffer class
- that = fromArrayLike(that, array)
- }
- return that
-}
+ // Within the body of any async function, `await x` is transformed to
+ // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+ // `hasOwn.call(value, "__await")` to determine if the yielded value is
+ // meant to be awaited.
+ exports.awrap = function(arg) {
+ return { __await: arg };
+ };
-function fromObject (that, obj) {
- if (Buffer.isBuffer(obj)) {
- var len = checked(obj.length) | 0
- that = createBuffer(that, len)
+ function AsyncIterator(generator, PromiseImpl) {
+ function invoke(method, arg, resolve, reject) {
+ var record = tryCatch(generator[method], generator, arg);
+ if (record.type === "throw") {
+ reject(record.arg);
+ } else {
+ var result = record.arg;
+ var value = result.value;
+ if (value &&
+ typeof value === "object" &&
+ hasOwn.call(value, "__await")) {
+ return PromiseImpl.resolve(value.__await).then(function(value) {
+ invoke("next", value, resolve, reject);
+ }, function(err) {
+ invoke("throw", err, resolve, reject);
+ });
+ }
- if (that.length === 0) {
- return that
+ return PromiseImpl.resolve(value).then(function(unwrapped) {
+ // When a yielded Promise is resolved, its final value becomes
+ // the .value of the Promise<{value,done}> result for the
+ // current iteration.
+ result.value = unwrapped;
+ resolve(result);
+ }, function(error) {
+ // If a rejected Promise was yielded, throw the rejection back
+ // into the async generator function so it can be handled there.
+ return invoke("throw", error, resolve, reject);
+ });
+ }
}
- obj.copy(that, 0, 0, len)
- return that
- }
+ var previousPromise;
- if (obj) {
- if ((typeof ArrayBuffer !== 'undefined' &&
- obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
- if (typeof obj.length !== 'number' || isnan(obj.length)) {
- return createBuffer(that, 0)
+ function enqueue(method, arg) {
+ function callInvokeWithMethodAndArg() {
+ return new PromiseImpl(function(resolve, reject) {
+ invoke(method, arg, resolve, reject);
+ });
}
- return fromArrayLike(that, obj)
- }
- if (obj.type === 'Buffer' && isArray(obj.data)) {
- return fromArrayLike(that, obj.data)
+ return previousPromise =
+ // If enqueue has been called before, then we want to wait until
+ // all previous Promises have been resolved before calling invoke,
+ // so that results are always delivered in the correct order. If
+ // enqueue has not been called before, then it is important to
+ // call invoke immediately, without waiting on a callback to fire,
+ // so that the async generator function has the opportunity to do
+ // any necessary setup in a predictable way. This predictability
+ // is why the Promise constructor synchronously invokes its
+ // executor callback, and why async functions synchronously
+ // execute code before the first await. Since we implement simple
+ // async functions in terms of async generators, it is especially
+ // important to get this right, even though it requires care.
+ previousPromise ? previousPromise.then(
+ callInvokeWithMethodAndArg,
+ // Avoid propagating failures to Promises returned by later
+ // invocations of the iterator.
+ callInvokeWithMethodAndArg
+ ) : callInvokeWithMethodAndArg();
}
- }
- throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
-}
-
-function checked (length) {
- // Note: cannot use `length < kMaxLength()` here because that fails when
- // length is NaN (which is otherwise coerced to zero.)
- if (length >= kMaxLength()) {
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
- 'size: 0x' + kMaxLength().toString(16) + ' bytes')
+ // Define the unified helper method that is used to implement .next,
+ // .throw, and .return (see defineIteratorMethods).
+ this._invoke = enqueue;
}
- return length | 0
-}
-function SlowBuffer (length) {
- if (+length != length) { // eslint-disable-line eqeqeq
- length = 0
- }
- return Buffer.alloc(+length)
-}
+ defineIteratorMethods(AsyncIterator.prototype);
+ AsyncIterator.prototype[asyncIteratorSymbol] = function () {
+ return this;
+ };
+ exports.AsyncIterator = AsyncIterator;
-Buffer.isBuffer = function isBuffer (b) {
- return !!(b != null && b._isBuffer)
-}
+ // Note that simple async functions are implemented on top of
+ // AsyncIterator objects; they just return a Promise for the value of
+ // the final result produced by the iterator.
+ exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
+ if (PromiseImpl === void 0) PromiseImpl = Promise;
-Buffer.compare = function compare (a, b) {
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
- throw new TypeError('Arguments must be Buffers')
- }
+ var iter = new AsyncIterator(
+ wrap(innerFn, outerFn, self, tryLocsList),
+ PromiseImpl
+ );
- if (a === b) return 0
+ return exports.isGeneratorFunction(outerFn)
+ ? iter // If outerFn is a generator, return the full iterator.
+ : iter.next().then(function(result) {
+ return result.done ? result.value : iter.next();
+ });
+ };
- var x = a.length
- var y = b.length
+ function makeInvokeMethod(innerFn, self, context) {
+ var state = GenStateSuspendedStart;
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
- if (a[i] !== b[i]) {
- x = a[i]
- y = b[i]
- break
- }
- }
+ return function invoke(method, arg) {
+ if (state === GenStateExecuting) {
+ throw new Error("Generator is already running");
+ }
- if (x < y) return -1
- if (y < x) return 1
- return 0
-}
+ if (state === GenStateCompleted) {
+ if (method === "throw") {
+ throw arg;
+ }
-Buffer.isEncoding = function isEncoding (encoding) {
- switch (String(encoding).toLowerCase()) {
- case 'hex':
- case 'utf8':
- case 'utf-8':
- case 'ascii':
- case 'latin1':
- case 'binary':
- case 'base64':
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return true
- default:
- return false
- }
-}
+ // Be forgiving, per 25.3.3.3.3 of the spec:
+ // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+ return doneResult();
+ }
-Buffer.concat = function concat (list, length) {
- if (!isArray(list)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- }
+ context.method = method;
+ context.arg = arg;
- if (list.length === 0) {
- return Buffer.alloc(0)
- }
+ while (true) {
+ var delegate = context.delegate;
+ if (delegate) {
+ var delegateResult = maybeInvokeDelegate(delegate, context);
+ if (delegateResult) {
+ if (delegateResult === ContinueSentinel) continue;
+ return delegateResult;
+ }
+ }
- var i
- if (length === undefined) {
- length = 0
- for (i = 0; i < list.length; ++i) {
- length += list[i].length
- }
- }
+ if (context.method === "next") {
+ // Setting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ context.sent = context._sent = context.arg;
- var buffer = Buffer.allocUnsafe(length)
- var pos = 0
- for (i = 0; i < list.length; ++i) {
- var buf = list[i]
- if (!Buffer.isBuffer(buf)) {
- throw new TypeError('"list" argument must be an Array of Buffers')
- }
- buf.copy(buffer, pos)
- pos += buf.length
- }
- return buffer
-}
+ } else if (context.method === "throw") {
+ if (state === GenStateSuspendedStart) {
+ state = GenStateCompleted;
+ throw context.arg;
+ }
-function byteLength (string, encoding) {
- if (Buffer.isBuffer(string)) {
- return string.length
- }
- if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
- (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
- return string.byteLength
- }
- if (typeof string !== 'string') {
- string = '' + string
- }
+ context.dispatchException(context.arg);
- var len = string.length
- if (len === 0) return 0
+ } else if (context.method === "return") {
+ context.abrupt("return", context.arg);
+ }
- // Use a for loop to avoid recursion
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'ascii':
- case 'latin1':
- case 'binary':
- return len
- case 'utf8':
- case 'utf-8':
- case undefined:
- return utf8ToBytes(string).length
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return len * 2
- case 'hex':
- return len >>> 1
- case 'base64':
- return base64ToBytes(string).length
- default:
- if (loweredCase) return utf8ToBytes(string).length // assume utf8
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
- }
- }
-}
-Buffer.byteLength = byteLength
+ state = GenStateExecuting;
-function slowToString (encoding, start, end) {
- var loweredCase = false
+ var record = tryCatch(innerFn, self, context);
+ if (record.type === "normal") {
+ // If an exception is thrown from innerFn, we leave state ===
+ // GenStateExecuting and loop back for another invocation.
+ state = context.done
+ ? GenStateCompleted
+ : GenStateSuspendedYield;
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
- // property of a typed array.
+ if (record.arg === ContinueSentinel) {
+ continue;
+ }
- // This behaves neither like String nor Uint8Array in that we set start/end
- // to their upper/lower bounds if the value passed is out of range.
- // undefined is handled specially as per ECMA-262 6th Edition,
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
- if (start === undefined || start < 0) {
- start = 0
- }
- // Return early if start > this.length. Done here to prevent potential uint32
- // coercion fail below.
- if (start > this.length) {
- return ''
- }
+ return {
+ value: record.arg,
+ done: context.done
+ };
- if (end === undefined || end > this.length) {
- end = this.length
+ } else if (record.type === "throw") {
+ state = GenStateCompleted;
+ // Dispatch the exception by looping back around to the
+ // context.dispatchException(context.arg) call above.
+ context.method = "throw";
+ context.arg = record.arg;
+ }
+ }
+ };
}
- if (end <= 0) {
- return ''
- }
+ // Call delegate.iterator[context.method](context.arg) and handle the
+ // result, either by returning a { value, done } result from the
+ // delegate iterator, or by modifying context.method and context.arg,
+ // setting context.delegate to null, and returning the ContinueSentinel.
+ function maybeInvokeDelegate(delegate, context) {
+ var method = delegate.iterator[context.method];
+ if (method === undefined) {
+ // A .throw or .return when the delegate iterator has no .throw
+ // method always terminates the yield* loop.
+ context.delegate = null;
- // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
- end >>>= 0
- start >>>= 0
+ if (context.method === "throw") {
+ // Note: ["return"] must be used for ES3 parsing compatibility.
+ if (delegate.iterator["return"]) {
+ // If the delegate iterator has a return method, give it a
+ // chance to clean up.
+ context.method = "return";
+ context.arg = undefined;
+ maybeInvokeDelegate(delegate, context);
- if (end <= start) {
- return ''
- }
+ if (context.method === "throw") {
+ // If maybeInvokeDelegate(context) changed context.method from
+ // "return" to "throw", let that override the TypeError below.
+ return ContinueSentinel;
+ }
+ }
- if (!encoding) encoding = 'utf8'
+ context.method = "throw";
+ context.arg = new TypeError(
+ "The iterator does not provide a 'throw' method");
+ }
- while (true) {
- switch (encoding) {
- case 'hex':
- return hexSlice(this, start, end)
+ return ContinueSentinel;
+ }
- case 'utf8':
- case 'utf-8':
- return utf8Slice(this, start, end)
+ var record = tryCatch(method, delegate.iterator, context.arg);
- case 'ascii':
- return asciiSlice(this, start, end)
+ if (record.type === "throw") {
+ context.method = "throw";
+ context.arg = record.arg;
+ context.delegate = null;
+ return ContinueSentinel;
+ }
- case 'latin1':
- case 'binary':
- return latin1Slice(this, start, end)
+ var info = record.arg;
- case 'base64':
- return base64Slice(this, start, end)
+ if (! info) {
+ context.method = "throw";
+ context.arg = new TypeError("iterator result is not an object");
+ context.delegate = null;
+ return ContinueSentinel;
+ }
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return utf16leSlice(this, start, end)
+ if (info.done) {
+ // Assign the result of the finished delegate to the temporary
+ // variable specified by delegate.resultName (see delegateYield).
+ context[delegate.resultName] = info.value;
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = (encoding + '').toLowerCase()
- loweredCase = true
+ // Resume execution at the desired location (see delegateYield).
+ context.next = delegate.nextLoc;
+
+ // If context.method was "throw" but the delegate handled the
+ // exception, let the outer generator proceed normally. If
+ // context.method was "next", forget context.arg since it has been
+ // "consumed" by the delegate iterator. If context.method was
+ // "return", allow the original .return call to continue in the
+ // outer generator.
+ if (context.method !== "return") {
+ context.method = "next";
+ context.arg = undefined;
+ }
+
+ } else {
+ // Re-yield the result returned by the delegate method.
+ return info;
}
+
+ // The delegate iterator is finished, so forget it and continue with
+ // the outer generator.
+ context.delegate = null;
+ return ContinueSentinel;
}
-}
-// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
-// Buffer instances.
-Buffer.prototype._isBuffer = true
+ // Define Generator.prototype.{next,throw,return} in terms of the
+ // unified ._invoke helper method.
+ defineIteratorMethods(Gp);
-function swap (b, n, m) {
- var i = b[n]
- b[n] = b[m]
- b[m] = i
-}
+ Gp[toStringTagSymbol] = "Generator";
-Buffer.prototype.swap16 = function swap16 () {
- var len = this.length
- if (len % 2 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 16-bits')
- }
- for (var i = 0; i < len; i += 2) {
- swap(this, i, i + 1)
- }
- return this
-}
+ // A Generator should always return itself as the iterator object when the
+ // @@iterator function is called on it. Some browsers' implementations of the
+ // iterator prototype chain incorrectly implement this, causing the Generator
+ // object to not be returned from this call. This ensures that doesn't happen.
+ // See https://github.com/facebook/regenerator/issues/274 for more details.
+ Gp[iteratorSymbol] = function() {
+ return this;
+ };
-Buffer.prototype.swap32 = function swap32 () {
- var len = this.length
- if (len % 4 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 32-bits')
- }
- for (var i = 0; i < len; i += 4) {
- swap(this, i, i + 3)
- swap(this, i + 1, i + 2)
- }
- return this
-}
+ Gp.toString = function() {
+ return "[object Generator]";
+ };
-Buffer.prototype.swap64 = function swap64 () {
- var len = this.length
- if (len % 8 !== 0) {
- throw new RangeError('Buffer size must be a multiple of 64-bits')
- }
- for (var i = 0; i < len; i += 8) {
- swap(this, i, i + 7)
- swap(this, i + 1, i + 6)
- swap(this, i + 2, i + 5)
- swap(this, i + 3, i + 4)
- }
- return this
-}
+ function pushTryEntry(locs) {
+ var entry = { tryLoc: locs[0] };
-Buffer.prototype.toString = function toString () {
- var length = this.length | 0
- if (length === 0) return ''
- if (arguments.length === 0) return utf8Slice(this, 0, length)
- return slowToString.apply(this, arguments)
-}
+ if (1 in locs) {
+ entry.catchLoc = locs[1];
+ }
-Buffer.prototype.equals = function equals (b) {
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
- if (this === b) return true
- return Buffer.compare(this, b) === 0
-}
+ if (2 in locs) {
+ entry.finallyLoc = locs[2];
+ entry.afterLoc = locs[3];
+ }
-Buffer.prototype.inspect = function inspect () {
- var str = ''
- var max = exports.INSPECT_MAX_BYTES
- if (this.length > 0) {
- str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
- if (this.length > max) str += ' ... '
+ this.tryEntries.push(entry);
}
- return ''
-}
-Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
- if (!Buffer.isBuffer(target)) {
- throw new TypeError('Argument must be a Buffer')
+ function resetTryEntry(entry) {
+ var record = entry.completion || {};
+ record.type = "normal";
+ delete record.arg;
+ entry.completion = record;
}
- if (start === undefined) {
- start = 0
- }
- if (end === undefined) {
- end = target ? target.length : 0
- }
- if (thisStart === undefined) {
- thisStart = 0
- }
- if (thisEnd === undefined) {
- thisEnd = this.length
+ function Context(tryLocsList) {
+ // The root entry object (effectively a try statement without a catch
+ // or a finally block) gives us a place to store values thrown from
+ // locations where there is no enclosing try statement.
+ this.tryEntries = [{ tryLoc: "root" }];
+ tryLocsList.forEach(pushTryEntry, this);
+ this.reset(true);
}
- if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
- throw new RangeError('out of range index')
- }
+ exports.keys = function(object) {
+ var keys = [];
+ for (var key in object) {
+ keys.push(key);
+ }
+ keys.reverse();
- if (thisStart >= thisEnd && start >= end) {
- return 0
- }
- if (thisStart >= thisEnd) {
- return -1
- }
- if (start >= end) {
- return 1
- }
+ // Rather than returning an object with a next method, we keep
+ // things simple and return the next function itself.
+ return function next() {
+ while (keys.length) {
+ var key = keys.pop();
+ if (key in object) {
+ next.value = key;
+ next.done = false;
+ return next;
+ }
+ }
- start >>>= 0
- end >>>= 0
- thisStart >>>= 0
- thisEnd >>>= 0
+ // To avoid creating an additional object, we just hang the .value
+ // and .done properties off the next function object itself. This
+ // also ensures that the minifier will not anonymize the function.
+ next.done = true;
+ return next;
+ };
+ };
- if (this === target) return 0
+ function values(iterable) {
+ if (iterable) {
+ var iteratorMethod = iterable[iteratorSymbol];
+ if (iteratorMethod) {
+ return iteratorMethod.call(iterable);
+ }
- var x = thisEnd - thisStart
- var y = end - start
- var len = Math.min(x, y)
+ if (typeof iterable.next === "function") {
+ return iterable;
+ }
- var thisCopy = this.slice(thisStart, thisEnd)
- var targetCopy = target.slice(start, end)
+ if (!isNaN(iterable.length)) {
+ var i = -1, next = function next() {
+ while (++i < iterable.length) {
+ if (hasOwn.call(iterable, i)) {
+ next.value = iterable[i];
+ next.done = false;
+ return next;
+ }
+ }
- for (var i = 0; i < len; ++i) {
- if (thisCopy[i] !== targetCopy[i]) {
- x = thisCopy[i]
- y = targetCopy[i]
- break
+ next.value = undefined;
+ next.done = true;
+
+ return next;
+ };
+
+ return next.next = next;
+ }
}
+
+ // Return an iterator with no values.
+ return { next: doneResult };
}
+ exports.values = values;
- if (x < y) return -1
- if (y < x) return 1
- return 0
-}
+ function doneResult() {
+ return { value: undefined, done: true };
+ }
-// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
-// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
-//
-// Arguments:
-// - buffer - a Buffer to search
-// - val - a string, Buffer, or number
-// - byteOffset - an index into `buffer`; will be clamped to an int32
-// - encoding - an optional encoding, relevant is val is a string
-// - dir - true for indexOf, false for lastIndexOf
-function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
- // Empty buffer means no match
- if (buffer.length === 0) return -1
+ Context.prototype = {
+ constructor: Context,
- // Normalize byteOffset
- if (typeof byteOffset === 'string') {
- encoding = byteOffset
- byteOffset = 0
- } else if (byteOffset > 0x7fffffff) {
- byteOffset = 0x7fffffff
- } else if (byteOffset < -0x80000000) {
- byteOffset = -0x80000000
- }
- byteOffset = +byteOffset // Coerce to Number.
- if (isNaN(byteOffset)) {
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
- byteOffset = dir ? 0 : (buffer.length - 1)
- }
+ reset: function(skipTempReset) {
+ this.prev = 0;
+ this.next = 0;
+ // Resetting context._sent for legacy support of Babel's
+ // function.sent implementation.
+ this.sent = this._sent = undefined;
+ this.done = false;
+ this.delegate = null;
- // Normalize byteOffset: negative offsets start from the end of the buffer
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset
- if (byteOffset >= buffer.length) {
- if (dir) return -1
- else byteOffset = buffer.length - 1
- } else if (byteOffset < 0) {
- if (dir) byteOffset = 0
- else return -1
- }
+ this.method = "next";
+ this.arg = undefined;
- // Normalize val
- if (typeof val === 'string') {
- val = Buffer.from(val, encoding)
- }
+ this.tryEntries.forEach(resetTryEntry);
- // Finally, search either indexOf (if dir is true) or lastIndexOf
- if (Buffer.isBuffer(val)) {
- // Special case: looking for empty string/buffer always fails
- if (val.length === 0) {
- return -1
- }
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
- } else if (typeof val === 'number') {
- val = val & 0xFF // Search for a byte value [0-255]
- if (Buffer.TYPED_ARRAY_SUPPORT &&
- typeof Uint8Array.prototype.indexOf === 'function') {
- if (dir) {
- return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
- } else {
- return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
+ if (!skipTempReset) {
+ for (var name in this) {
+ // Not sure about the optimal order of these conditions:
+ if (name.charAt(0) === "t" &&
+ hasOwn.call(this, name) &&
+ !isNaN(+name.slice(1))) {
+ this[name] = undefined;
+ }
+ }
}
- }
- return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
- }
-
- throw new TypeError('val must be string, number or Buffer')
-}
+ },
-function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
- var indexSize = 1
- var arrLength = arr.length
- var valLength = val.length
+ stop: function() {
+ this.done = true;
- if (encoding !== undefined) {
- encoding = String(encoding).toLowerCase()
- if (encoding === 'ucs2' || encoding === 'ucs-2' ||
- encoding === 'utf16le' || encoding === 'utf-16le') {
- if (arr.length < 2 || val.length < 2) {
- return -1
+ var rootEntry = this.tryEntries[0];
+ var rootRecord = rootEntry.completion;
+ if (rootRecord.type === "throw") {
+ throw rootRecord.arg;
}
- indexSize = 2
- arrLength /= 2
- valLength /= 2
- byteOffset /= 2
- }
- }
- function read (buf, i) {
- if (indexSize === 1) {
- return buf[i]
- } else {
- return buf.readUInt16BE(i * indexSize)
- }
- }
+ return this.rval;
+ },
- var i
- if (dir) {
- var foundIndex = -1
- for (i = byteOffset; i < arrLength; i++) {
- if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
- if (foundIndex === -1) foundIndex = i
- if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
- } else {
- if (foundIndex !== -1) i -= i - foundIndex
- foundIndex = -1
- }
- }
- } else {
- if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
- for (i = byteOffset; i >= 0; i--) {
- var found = true
- for (var j = 0; j < valLength; j++) {
- if (read(arr, i + j) !== read(val, j)) {
- found = false
- break
- }
+ dispatchException: function(exception) {
+ if (this.done) {
+ throw exception;
}
- if (found) return i
- }
- }
- return -1
-}
+ var context = this;
+ function handle(loc, caught) {
+ record.type = "throw";
+ record.arg = exception;
+ context.next = loc;
-Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
- return this.indexOf(val, byteOffset, encoding) !== -1
-}
+ if (caught) {
+ // If the dispatched exception was caught by a catch block,
+ // then let that catch block handle the exception normally.
+ context.method = "next";
+ context.arg = undefined;
+ }
-Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
-}
+ return !! caught;
+ }
-Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
-}
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ var record = entry.completion;
-function hexWrite (buf, string, offset, length) {
- offset = Number(offset) || 0
- var remaining = buf.length - offset
- if (!length) {
- length = remaining
- } else {
- length = Number(length)
- if (length > remaining) {
- length = remaining
- }
- }
+ if (entry.tryLoc === "root") {
+ // Exception thrown outside of any try block that could handle
+ // it, so set the completion value of the entire function to
+ // throw the exception.
+ return handle("end");
+ }
- // must be an even number of digits
- var strLen = string.length
- if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')
+ if (entry.tryLoc <= this.prev) {
+ var hasCatch = hasOwn.call(entry, "catchLoc");
+ var hasFinally = hasOwn.call(entry, "finallyLoc");
- if (length > strLen / 2) {
- length = strLen / 2
- }
- for (var i = 0; i < length; ++i) {
- var parsed = parseInt(string.substr(i * 2, 2), 16)
- if (isNaN(parsed)) return i
- buf[offset + i] = parsed
- }
- return i
-}
+ if (hasCatch && hasFinally) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ } else if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
-function utf8Write (buf, string, offset, length) {
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
-}
+ } else if (hasCatch) {
+ if (this.prev < entry.catchLoc) {
+ return handle(entry.catchLoc, true);
+ }
-function asciiWrite (buf, string, offset, length) {
- return blitBuffer(asciiToBytes(string), buf, offset, length)
-}
+ } else if (hasFinally) {
+ if (this.prev < entry.finallyLoc) {
+ return handle(entry.finallyLoc);
+ }
-function latin1Write (buf, string, offset, length) {
- return asciiWrite(buf, string, offset, length)
-}
+ } else {
+ throw new Error("try statement without catch or finally");
+ }
+ }
+ }
+ },
-function base64Write (buf, string, offset, length) {
- return blitBuffer(base64ToBytes(string), buf, offset, length)
-}
+ abrupt: function(type, arg) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc <= this.prev &&
+ hasOwn.call(entry, "finallyLoc") &&
+ this.prev < entry.finallyLoc) {
+ var finallyEntry = entry;
+ break;
+ }
+ }
-function ucs2Write (buf, string, offset, length) {
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
-}
+ if (finallyEntry &&
+ (type === "break" ||
+ type === "continue") &&
+ finallyEntry.tryLoc <= arg &&
+ arg <= finallyEntry.finallyLoc) {
+ // Ignore the finally entry if control is not jumping to a
+ // location outside the try/catch block.
+ finallyEntry = null;
+ }
-Buffer.prototype.write = function write (string, offset, length, encoding) {
- // Buffer#write(string)
- if (offset === undefined) {
- encoding = 'utf8'
- length = this.length
- offset = 0
- // Buffer#write(string, encoding)
- } else if (length === undefined && typeof offset === 'string') {
- encoding = offset
- length = this.length
- offset = 0
- // Buffer#write(string, offset[, length][, encoding])
- } else if (isFinite(offset)) {
- offset = offset | 0
- if (isFinite(length)) {
- length = length | 0
- if (encoding === undefined) encoding = 'utf8'
- } else {
- encoding = length
- length = undefined
- }
- // legacy write(string, encoding, offset, length) - remove in v0.13
- } else {
- throw new Error(
- 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
- )
- }
+ var record = finallyEntry ? finallyEntry.completion : {};
+ record.type = type;
+ record.arg = arg;
- var remaining = this.length - offset
- if (length === undefined || length > remaining) length = remaining
+ if (finallyEntry) {
+ this.method = "next";
+ this.next = finallyEntry.finallyLoc;
+ return ContinueSentinel;
+ }
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
- throw new RangeError('Attempt to write outside buffer bounds')
- }
+ return this.complete(record);
+ },
- if (!encoding) encoding = 'utf8'
+ complete: function(record, afterLoc) {
+ if (record.type === "throw") {
+ throw record.arg;
+ }
- var loweredCase = false
- for (;;) {
- switch (encoding) {
- case 'hex':
- return hexWrite(this, string, offset, length)
+ if (record.type === "break" ||
+ record.type === "continue") {
+ this.next = record.arg;
+ } else if (record.type === "return") {
+ this.rval = this.arg = record.arg;
+ this.method = "return";
+ this.next = "end";
+ } else if (record.type === "normal" && afterLoc) {
+ this.next = afterLoc;
+ }
- case 'utf8':
- case 'utf-8':
- return utf8Write(this, string, offset, length)
+ return ContinueSentinel;
+ },
- case 'ascii':
- return asciiWrite(this, string, offset, length)
+ finish: function(finallyLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.finallyLoc === finallyLoc) {
+ this.complete(entry.completion, entry.afterLoc);
+ resetTryEntry(entry);
+ return ContinueSentinel;
+ }
+ }
+ },
- case 'latin1':
- case 'binary':
- return latin1Write(this, string, offset, length)
+ "catch": function(tryLoc) {
+ for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+ var entry = this.tryEntries[i];
+ if (entry.tryLoc === tryLoc) {
+ var record = entry.completion;
+ if (record.type === "throw") {
+ var thrown = record.arg;
+ resetTryEntry(entry);
+ }
+ return thrown;
+ }
+ }
- case 'base64':
- // Warning: maxLength not taken into account in base64Write
- return base64Write(this, string, offset, length)
+ // The context.catch method must only be called with a location
+ // argument that corresponds to a known catch block.
+ throw new Error("illegal catch attempt");
+ },
- case 'ucs2':
- case 'ucs-2':
- case 'utf16le':
- case 'utf-16le':
- return ucs2Write(this, string, offset, length)
+ delegateYield: function(iterable, resultName, nextLoc) {
+ this.delegate = {
+ iterator: values(iterable),
+ resultName: resultName,
+ nextLoc: nextLoc
+ };
- default:
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
- encoding = ('' + encoding).toLowerCase()
- loweredCase = true
+ if (this.method === "next") {
+ // Deliberately forget the last sent value so that we don't
+ // accidentally pass it on to the delegate.
+ this.arg = undefined;
+ }
+
+ return ContinueSentinel;
}
- }
-}
+ };
-Buffer.prototype.toJSON = function toJSON () {
- return {
- type: 'Buffer',
- data: Array.prototype.slice.call(this._arr || this, 0)
- }
-}
+ // Regardless of whether this script is executing as a CommonJS module
+ // or not, return the runtime object so that we can declare the variable
+ // regeneratorRuntime in the outer scope, which allows this module to be
+ // injected easily by `bin/regenerator --include-runtime script.js`.
+ return exports;
-function base64Slice (buf, start, end) {
- if (start === 0 && end === buf.length) {
- return base64.fromByteArray(buf)
- } else {
- return base64.fromByteArray(buf.slice(start, end))
- }
+}(
+ // If this script is executing as a CommonJS module, use module.exports
+ // as the regeneratorRuntime namespace. Otherwise create a new empty
+ // object. Either way, the resulting object will be used to initialize
+ // the regeneratorRuntime variable at the top of this file.
+ true ? module.exports : undefined
+));
+
+try {
+ regeneratorRuntime = runtime;
+} catch (accidentalStrictMode) {
+ // This module should not be running in strict mode, so the above
+ // assignment should always work unless something is misconfigured. Just
+ // in case runtime.js accidentally runs in strict mode, we can escape
+ // strict mode using a global Function call. This could conceivably fail
+ // if a Content Security Policy forbids using Function, but in that case
+ // the proper solution is to fix the accidental strict mode problem. If
+ // you've misconfigured your bundler to force strict mode and applied a
+ // CSP to forbid Function, and you're not willing to fix either of those
+ // problems, please detail your unique predicament in a GitHub issue.
+ Function("r", "regeneratorRuntime = r")(runtime);
}
-function utf8Slice (buf, start, end) {
- end = Math.min(buf.length, end)
- var res = []
- var i = start
- while (i < end) {
- var firstByte = buf[i]
- var codePoint = null
- var bytesPerSequence = (firstByte > 0xEF) ? 4
- : (firstByte > 0xDF) ? 3
- : (firstByte > 0xBF) ? 2
- : 1
+/***/ }),
+/* 21 */
+/***/ (function(module, exports, __webpack_require__) {
- if (i + bytesPerSequence <= end) {
- var secondByte, thirdByte, fourthByte, tempCodePoint
+"use strict";
- switch (bytesPerSequence) {
- case 1:
- if (firstByte < 0x80) {
- codePoint = firstByte
- }
- break
- case 2:
- secondByte = buf[i + 1]
- if ((secondByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
- if (tempCodePoint > 0x7F) {
- codePoint = tempCodePoint
- }
- }
- break
- case 3:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
- codePoint = tempCodePoint
- }
- }
- break
- case 4:
- secondByte = buf[i + 1]
- thirdByte = buf[i + 2]
- fourthByte = buf[i + 3]
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
- codePoint = tempCodePoint
- }
- }
- }
- }
- if (codePoint === null) {
- // we did not generate a valid codePoint so insert a
- // replacement char (U+FFFD) and advance only 1 byte
- codePoint = 0xFFFD
- bytesPerSequence = 1
- } else if (codePoint > 0xFFFF) {
- // encode to utf16 (surrogate pair dance)
- codePoint -= 0x10000
- res.push(codePoint >>> 10 & 0x3FF | 0xD800)
- codePoint = 0xDC00 | codePoint & 0x3FF
- }
+exports.__esModule = true;
+exports.HandlebarsEnvironment = HandlebarsEnvironment;
+// istanbul ignore next
- res.push(codePoint)
- i += bytesPerSequence
- }
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- return decodeCodePointsArray(res)
-}
+var _utils = __webpack_require__(5);
-// Based on http://stackoverflow.com/a/22747272/680742, the browser with
-// the lowest limit is Chrome, with 0x10000 args.
-// We go 1 magnitude less, for safety
-var MAX_ARGUMENTS_LENGTH = 0x1000
+var _exception = __webpack_require__(9);
-function decodeCodePointsArray (codePoints) {
- var len = codePoints.length
- if (len <= MAX_ARGUMENTS_LENGTH) {
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
- }
+var _exception2 = _interopRequireDefault(_exception);
- // Decode in chunks to avoid "call stack size exceeded".
- var res = ''
- var i = 0
- while (i < len) {
- res += String.fromCharCode.apply(
- String,
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
- )
- }
- return res
-}
+var _helpers = __webpack_require__(22);
-function asciiSlice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
+var _decorators = __webpack_require__(44);
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i] & 0x7F)
- }
- return ret
-}
+var _logger = __webpack_require__(23);
-function latin1Slice (buf, start, end) {
- var ret = ''
- end = Math.min(buf.length, end)
+var _logger2 = _interopRequireDefault(_logger);
- for (var i = start; i < end; ++i) {
- ret += String.fromCharCode(buf[i])
- }
- return ret
-}
+var _internalProtoAccess = __webpack_require__(24);
-function hexSlice (buf, start, end) {
- var len = buf.length
+var VERSION = '4.7.6';
+exports.VERSION = VERSION;
+var COMPILER_REVISION = 8;
+exports.COMPILER_REVISION = COMPILER_REVISION;
+var LAST_COMPATIBLE_COMPILER_REVISION = 7;
- if (!start || start < 0) start = 0
- if (!end || end < 0 || end > len) end = len
+exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
+var REVISION_CHANGES = {
+ 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
+ 2: '== 1.0.0-rc.3',
+ 3: '== 1.0.0-rc.4',
+ 4: '== 1.x.x',
+ 5: '== 2.0.0-alpha.x',
+ 6: '>= 2.0.0-beta.1',
+ 7: '>= 4.0.0 <4.3.0',
+ 8: '>= 4.3.0'
+};
- var out = ''
- for (var i = start; i < end; ++i) {
- out += toHex(buf[i])
- }
- return out
-}
+exports.REVISION_CHANGES = REVISION_CHANGES;
+var objectType = '[object Object]';
-function utf16leSlice (buf, start, end) {
- var bytes = buf.slice(start, end)
- var res = ''
- for (var i = 0; i < bytes.length; i += 2) {
- res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
- }
- return res
+function HandlebarsEnvironment(helpers, partials, decorators) {
+ this.helpers = helpers || {};
+ this.partials = partials || {};
+ this.decorators = decorators || {};
+
+ _helpers.registerDefaultHelpers(this);
+ _decorators.registerDefaultDecorators(this);
}
-Buffer.prototype.slice = function slice (start, end) {
- var len = this.length
- start = ~~start
- end = end === undefined ? len : ~~end
+HandlebarsEnvironment.prototype = {
+ constructor: HandlebarsEnvironment,
- if (start < 0) {
- start += len
- if (start < 0) start = 0
- } else if (start > len) {
- start = len
- }
+ logger: _logger2['default'],
+ log: _logger2['default'].log,
- if (end < 0) {
- end += len
- if (end < 0) end = 0
- } else if (end > len) {
- end = len
- }
+ registerHelper: function registerHelper(name, fn) {
+ if (_utils.toString.call(name) === objectType) {
+ if (fn) {
+ throw new _exception2['default']('Arg not supported with multiple helpers');
+ }
+ _utils.extend(this.helpers, name);
+ } else {
+ this.helpers[name] = fn;
+ }
+ },
+ unregisterHelper: function unregisterHelper(name) {
+ delete this.helpers[name];
+ },
- if (end < start) end = start
+ registerPartial: function registerPartial(name, partial) {
+ if (_utils.toString.call(name) === objectType) {
+ _utils.extend(this.partials, name);
+ } else {
+ if (typeof partial === 'undefined') {
+ throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
+ }
+ this.partials[name] = partial;
+ }
+ },
+ unregisterPartial: function unregisterPartial(name) {
+ delete this.partials[name];
+ },
- var newBuf
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- newBuf = this.subarray(start, end)
- newBuf.__proto__ = Buffer.prototype
- } else {
- var sliceLen = end - start
- newBuf = new Buffer(sliceLen, undefined)
- for (var i = 0; i < sliceLen; ++i) {
- newBuf[i] = this[i + start]
+ registerDecorator: function registerDecorator(name, fn) {
+ if (_utils.toString.call(name) === objectType) {
+ if (fn) {
+ throw new _exception2['default']('Arg not supported with multiple decorators');
+ }
+ _utils.extend(this.decorators, name);
+ } else {
+ this.decorators[name] = fn;
}
+ },
+ unregisterDecorator: function unregisterDecorator(name) {
+ delete this.decorators[name];
+ },
+ /**
+ * Reset the memory of illegal property accesses that have already been logged.
+ * @deprecated should only be used in handlebars test-cases
+ */
+ resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {
+ _internalProtoAccess.resetLoggedProperties();
}
+};
- return newBuf
-}
-
-/*
- * Need to make sure that buffer isn't trying to write out of bounds.
- */
-function checkOffset (offset, ext, length) {
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
-}
+var log = _logger2['default'].log;
-Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
+exports.log = log;
+exports.createFrame = _utils.createFrame;
+exports.logger = _logger2['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy42JztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
- return val
-}
+/***/ }),
+/* 22 */
+/***/ (function(module, exports, __webpack_require__) {
-Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- checkOffset(offset, byteLength, this.length)
- }
+"use strict";
- var val = this[offset + --byteLength]
- var mul = 1
- while (byteLength > 0 && (mul *= 0x100)) {
- val += this[offset + --byteLength] * mul
- }
- return val
-}
+exports.__esModule = true;
+exports.registerDefaultHelpers = registerDefaultHelpers;
+exports.moveHelperToHooks = moveHelperToHooks;
+// istanbul ignore next
-Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- return this[offset]
-}
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return this[offset] | (this[offset + 1] << 8)
-}
+var _helpersBlockHelperMissing = __webpack_require__(37);
-Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- return (this[offset] << 8) | this[offset + 1]
-}
+var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
-Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
+var _helpersEach = __webpack_require__(38);
- return ((this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16)) +
- (this[offset + 3] * 0x1000000)
-}
+var _helpersEach2 = _interopRequireDefault(_helpersEach);
-Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
+var _helpersHelperMissing = __webpack_require__(39);
- return (this[offset] * 0x1000000) +
- ((this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- this[offset + 3])
-}
+var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
-Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
+var _helpersIf = __webpack_require__(40);
- var val = this[offset]
- var mul = 1
- var i = 0
- while (++i < byteLength && (mul *= 0x100)) {
- val += this[offset + i] * mul
- }
- mul *= 0x80
+var _helpersIf2 = _interopRequireDefault(_helpersIf);
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+var _helpersLog = __webpack_require__(41);
- return val
-}
+var _helpersLog2 = _interopRequireDefault(_helpersLog);
-Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) checkOffset(offset, byteLength, this.length)
+var _helpersLookup = __webpack_require__(42);
- var i = byteLength
- var mul = 1
- var val = this[offset + --i]
- while (i > 0 && (mul *= 0x100)) {
- val += this[offset + --i] * mul
- }
- mul *= 0x80
+var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
+var _helpersWith = __webpack_require__(43);
- return val
-}
+var _helpersWith2 = _interopRequireDefault(_helpersWith);
-Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 1, this.length)
- if (!(this[offset] & 0x80)) return (this[offset])
- return ((0xff - this[offset] + 1) * -1)
+function registerDefaultHelpers(instance) {
+ _helpersBlockHelperMissing2['default'](instance);
+ _helpersEach2['default'](instance);
+ _helpersHelperMissing2['default'](instance);
+ _helpersIf2['default'](instance);
+ _helpersLog2['default'](instance);
+ _helpersLookup2['default'](instance);
+ _helpersWith2['default'](instance);
}
-Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset] | (this[offset + 1] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
+function moveHelperToHooks(instance, helperName, keepHelper) {
+ if (instance.helpers[helperName]) {
+ instance.hooks[helperName] = instance.helpers[helperName];
+ if (!keepHelper) {
+ delete instance.helpers[helperName];
+ }
+ }
}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19
-Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 2, this.length)
- var val = this[offset + 1] | (this[offset] << 8)
- return (val & 0x8000) ? val | 0xFFFF0000 : val
-}
-Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
+/***/ }),
+/* 23 */
+/***/ (function(module, exports, __webpack_require__) {
- return (this[offset]) |
- (this[offset + 1] << 8) |
- (this[offset + 2] << 16) |
- (this[offset + 3] << 24)
-}
+"use strict";
-Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return (this[offset] << 24) |
- (this[offset + 1] << 16) |
- (this[offset + 2] << 8) |
- (this[offset + 3])
-}
+exports.__esModule = true;
-Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, true, 23, 4)
-}
+var _utils = __webpack_require__(5);
-Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 4, this.length)
- return ieee754.read(this, offset, false, 23, 4)
-}
+var logger = {
+ methodMap: ['debug', 'info', 'warn', 'error'],
+ level: 'info',
-Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, true, 52, 8)
-}
+ // Maps a given level value to the `methodMap` indexes above.
+ lookupLevel: function lookupLevel(level) {
+ if (typeof level === 'string') {
+ var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
+ if (levelMap >= 0) {
+ level = levelMap;
+ } else {
+ level = parseInt(level, 10);
+ }
+ }
-Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
- if (!noAssert) checkOffset(offset, 8, this.length)
- return ieee754.read(this, offset, false, 52, 8)
-}
+ return level;
+ },
-function checkInt (buf, value, offset, ext, max, min) {
- if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
- if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
-}
+ // Can be overridden in the host environment
+ log: function log(level) {
+ level = logger.lookupLevel(level);
-Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
+ if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
+ var method = logger.methodMap[level];
+ // eslint-disable-next-line no-console
+ if (!console[method]) {
+ method = 'log';
+ }
- var mul = 1
- var i = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
+ for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
+ message[_key - 1] = arguments[_key];
+ }
+
+ console[method].apply(console, message); // eslint-disable-line no-console
+ }
}
+};
- return offset + byteLength
-}
+exports['default'] = logger;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=
-Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- byteLength = byteLength | 0
- if (!noAssert) {
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
- checkInt(this, value, offset, byteLength, maxBytes, 0)
- }
- var i = byteLength - 1
- var mul = 1
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- this[offset + i] = (value / mul) & 0xFF
- }
+/***/ }),
+/* 24 */
+/***/ (function(module, exports, __webpack_require__) {
- return offset + byteLength
-}
+"use strict";
-Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- this[offset] = (value & 0xff)
- return offset + 1
-}
-function objectWriteUInt16 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
- buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
- (littleEndian ? i : 1 - i) * 8
- }
-}
+exports.__esModule = true;
+exports.createProtoAccessControl = createProtoAccessControl;
+exports.resultIsAllowed = resultIsAllowed;
+exports.resetLoggedProperties = resetLoggedProperties;
+// istanbul ignore next
-Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
+function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
+
+var _createNewLookupObject = __webpack_require__(46);
+
+var _logger = __webpack_require__(23);
+
+var logger = _interopRequireWildcard(_logger);
+
+var loggedProperties = Object.create(null);
+
+function createProtoAccessControl(runtimeOptions) {
+ var defaultMethodWhiteList = Object.create(null);
+ defaultMethodWhiteList['constructor'] = false;
+ defaultMethodWhiteList['__defineGetter__'] = false;
+ defaultMethodWhiteList['__defineSetter__'] = false;
+ defaultMethodWhiteList['__lookupGetter__'] = false;
+
+ var defaultPropertyWhiteList = Object.create(null);
+ // eslint-disable-next-line no-proto
+ defaultPropertyWhiteList['__proto__'] = false;
+
+ return {
+ properties: {
+ whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),
+ defaultValue: runtimeOptions.allowProtoPropertiesByDefault
+ },
+ methods: {
+ whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),
+ defaultValue: runtimeOptions.allowProtoMethodsByDefault
+ }
+ };
}
-Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
+function resultIsAllowed(result, protoAccessControl, propertyName) {
+ if (typeof result === 'function') {
+ return checkWhiteList(protoAccessControl.methods, propertyName);
} else {
- objectWriteUInt16(this, value, offset, false)
+ return checkWhiteList(protoAccessControl.properties, propertyName);
}
- return offset + 2
}
-function objectWriteUInt32 (buf, value, offset, littleEndian) {
- if (value < 0) value = 0xffffffff + value + 1
- for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
- buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
+function checkWhiteList(protoAccessControlForType, propertyName) {
+ if (protoAccessControlForType.whitelist[propertyName] !== undefined) {
+ return protoAccessControlForType.whitelist[propertyName] === true;
+ }
+ if (protoAccessControlForType.defaultValue !== undefined) {
+ return protoAccessControlForType.defaultValue;
}
+ logUnexpecedPropertyAccessOnce(propertyName);
+ return false;
}
-Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset + 3] = (value >>> 24)
- this[offset + 2] = (value >>> 16)
- this[offset + 1] = (value >>> 8)
- this[offset] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, true)
+function logUnexpecedPropertyAccessOnce(propertyName) {
+ if (loggedProperties[propertyName] !== true) {
+ loggedProperties[propertyName] = true;
+ logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');
}
- return offset + 4
}
-Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
+function resetLoggedProperties() {
+ Object.keys(loggedProperties).forEach(function (propertyName) {
+ delete loggedProperties[propertyName];
+ });
}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMxQyxXQUFXOztJQUF2QixNQUFNOztBQUVsQixJQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXRDLFNBQVMsd0JBQXdCLENBQUMsY0FBYyxFQUFFO0FBQ3ZELE1BQUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRCx3QkFBc0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDOUMsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRW5ELE1BQUksd0JBQXdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFbkQsMEJBQXdCLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUU5QyxTQUFPO0FBQ0wsY0FBVSxFQUFFO0FBQ1YsZUFBUyxFQUFFLDZDQUNULHdCQUF3QixFQUN4QixjQUFjLENBQUMsc0JBQXNCLENBQ3RDO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLDZDQUNULHNCQUFzQixFQUN0QixjQUFjLENBQUMsbUJBQW1CLENBQ25DO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLFVBQU0sQ0FBQyxHQUFHLENBQ1IsT0FBTyxFQUNQLGlFQUErRCxZQUFZLG9JQUNILG9IQUMyQyxDQUNwSCxDQUFDO0dBQ0g7Q0FDRjs7QUFFTSxTQUFTLHFCQUFxQixHQUFHO0FBQ3RDLFFBQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxZQUFZLEVBQUk7QUFDcEQsV0FBTyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztHQUN2QyxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJwcm90by1hY2Nlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVOZXdMb29rdXBPYmplY3QgfSBmcm9tICcuL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdCc7XG5pbXBvcnQgKiBhcyBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgbGV0IGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lR2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2RlZmluZVNldHRlcl9fJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG5cbiAgbGV0IGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0LFxuICAgICAgICBydW50aW1lT3B0aW9ucy5hbGxvd2VkUHJvdG9Qcm9wZXJ0aWVzXG4gICAgICApLFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvUHJvcGVydGllc0J5RGVmYXVsdFxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgd2hpdGVsaXN0OiBjcmVhdGVOZXdMb29rdXBPYmplY3QoXG4gICAgICAgIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9NZXRob2RzQnlEZWZhdWx0XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgcHJvdG9BY2Nlc3NDb250cm9sLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLm1ldGhvZHMsIHByb3BlcnR5TmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5wcm9wZXJ0aWVzLCBwcm9wZXJ0eU5hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUsIHByb3BlcnR5TmFtZSkge1xuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gPT09IHRydWU7XG4gIH1cbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWU7XG4gIH1cbiAgbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSkge1xuICBpZiAobG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdID0gdHJ1ZTtcbiAgICBsb2dnZXIubG9nKFxuICAgICAgJ2Vycm9yJyxcbiAgICAgIGBIYW5kbGViYXJzOiBBY2Nlc3MgaGFzIGJlZW4gZGVuaWVkIHRvIHJlc29sdmUgdGhlIHByb3BlcnR5IFwiJHtwcm9wZXJ0eU5hbWV9XCIgYmVjYXVzZSBpdCBpcyBub3QgYW4gXCJvd24gcHJvcGVydHlcIiBvZiBpdHMgcGFyZW50LlxcbmAgK1xuICAgICAgICBgWW91IGNhbiBhZGQgYSBydW50aW1lIG9wdGlvbiB0byBkaXNhYmxlIHRoZSBjaGVjayBvciB0aGlzIHdhcm5pbmc6XFxuYCArXG4gICAgICAgIGBTZWUgaHR0cHM6Ly9oYW5kbGViYXJzanMuY29tL2FwaS1yZWZlcmVuY2UvcnVudGltZS1vcHRpb25zLmh0bWwjb3B0aW9ucy10by1jb250cm9sLXByb3RvdHlwZS1hY2Nlc3MgZm9yIGRldGFpbHNgXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCkge1xuICBPYmplY3Qua2V5cyhsb2dnZWRQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG4gICAgZGVsZXRlIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgfSk7XG59XG4iXX0=
-Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
- }
+/***/ }),
+/* 25 */
+/***/ (function(module, exports, __webpack_require__) {
- var i = 0
- var mul = 1
- var sub = 0
- this[offset] = value & 0xFF
- while (++i < byteLength && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
- sub = 1
- }
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
- }
+module.exports = factory;
- return offset + byteLength
+const Octokit = __webpack_require__(58);
+const registerPlugin = __webpack_require__(67);
+
+function factory(plugins) {
+ const Api = Octokit.bind(null, plugins || []);
+ Api.plugin = registerPlugin.bind(null, plugins || []);
+ return Api;
}
-Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) {
- var limit = Math.pow(2, 8 * byteLength - 1)
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
+/***/ }),
+/* 26 */
+/***/ (function(module, exports) {
+
+module.exports = function _btoa(str) {
+ return btoa(str)
+}
+
+
+/***/ }),
+/* 27 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = withAuthorizationPrefix;
+
+const atob = __webpack_require__(71);
+
+const REGEX_IS_BASIC_AUTH = /^[\w-]+:/;
+
+function withAuthorizationPrefix(authorization) {
+ if (/^(basic|bearer|token) /i.test(authorization)) {
+ return authorization;
}
- var i = byteLength - 1
- var mul = 1
- var sub = 0
- this[offset + i] = value & 0xFF
- while (--i >= 0 && (mul *= 0x100)) {
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
- sub = 1
+ try {
+ if (REGEX_IS_BASIC_AUTH.test(atob(authorization))) {
+ return `basic ${authorization}`;
}
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
+ } catch (error) {}
+
+ if (authorization.split(/\./).length === 3) {
+ return `bearer ${authorization}`;
}
- return offset + byteLength
+ return `token ${authorization}`;
}
-Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
- if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
- if (value < 0) value = 0xff + value + 1
- this[offset] = (value & 0xff)
- return offset + 1
-}
-Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- } else {
- objectWriteUInt16(this, value, offset, true)
- }
- return offset + 2
-}
+/***/ }),
+/* 28 */
+/***/ (function(module, exports, __webpack_require__) {
-Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 8)
- this[offset + 1] = (value & 0xff)
- } else {
- objectWriteUInt16(this, value, offset, false)
- }
- return offset + 2
-}
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
-Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value & 0xff)
- this[offset + 1] = (value >>> 8)
- this[offset + 2] = (value >>> 16)
- this[offset + 3] = (value >>> 24)
- } else {
- objectWriteUInt32(this, value, offset, true)
- }
- return offset + 4
-}
+ return "\n\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
+},"useData":true});
-Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
- value = +value
- offset = offset | 0
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
- if (value < 0) value = 0xffffffff + value + 1
- if (Buffer.TYPED_ARRAY_SUPPORT) {
- this[offset] = (value >>> 24)
- this[offset + 1] = (value >>> 16)
- this[offset + 2] = (value >>> 8)
- this[offset + 3] = (value & 0xff)
- } else {
- objectWriteUInt32(this, value, offset, false)
- }
- return offset + 4
-}
+/***/ }),
+/* 29 */
+/***/ (function(module, exports, __webpack_require__) {
-function checkIEEE754 (buf, value, offset, ext, max, min) {
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
- if (offset < 0) throw new RangeError('Index out of range')
-}
+const { requestLog } = __webpack_require__(55);
+const {
+ restEndpointMethods
+} = __webpack_require__(56);
-function writeFloat (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
- }
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
- return offset + 4
-}
+const Core = __webpack_require__(57);
-Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
- return writeFloat(this, value, offset, true, noAssert)
-}
+const CORE_PLUGINS = [
+ __webpack_require__(68),
+ __webpack_require__(74), // deprecated: remove in v17
+ requestLog,
+ __webpack_require__(79),
+ restEndpointMethods,
+ __webpack_require__(81),
-Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
- return writeFloat(this, value, offset, false, noAssert)
-}
+ __webpack_require__(85) // deprecated: remove in v17
+];
-function writeDouble (buf, value, offset, littleEndian, noAssert) {
- if (!noAssert) {
- checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
- }
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
- return offset + 8
-}
+const OctokitRest = Core.plugin(CORE_PLUGINS);
-Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
- return writeDouble(this, value, offset, true, noAssert)
+function DeprecatedOctokit(options) {
+ const warn =
+ options && options.log && options.log.warn
+ ? options.log.warn
+ : console.warn;
+ warn(
+ '[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead'
+ );
+ return new OctokitRest(options);
}
-Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
- return writeDouble(this, value, offset, false, noAssert)
-}
+const Octokit = Object.assign(DeprecatedOctokit, {
+ Octokit: OctokitRest
+});
-// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
-Buffer.prototype.copy = function copy (target, targetStart, start, end) {
- if (!start) start = 0
- if (!end && end !== 0) end = this.length
- if (targetStart >= target.length) targetStart = target.length
- if (!targetStart) targetStart = 0
- if (end > 0 && end < start) end = start
+Object.keys(OctokitRest).forEach(key => {
+ /* istanbul ignore else */
+ if (OctokitRest.hasOwnProperty(key)) {
+ Octokit[key] = OctokitRest[key];
+ }
+});
- // Copy 0 bytes; we're done
- if (end === start) return 0
- if (target.length === 0 || this.length === 0) return 0
+module.exports = Octokit;
- // Fatal error conditions
- if (targetStart < 0) {
- throw new RangeError('targetStart out of bounds')
- }
- if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
- // Are we oob?
- if (end > this.length) end = this.length
- if (target.length - targetStart < end - start) {
- end = target.length - targetStart + start
- }
+/***/ }),
+/* 30 */
+/***/ (function(module, exports, __webpack_require__) {
- var len = end - start
- var i
+"use strict";
- if (this === target && start < targetStart && targetStart < end) {
- // descending copy from end
- for (i = len - 1; i >= 0; --i) {
- target[i + targetStart] = this[i + start]
- }
- } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
- // ascending copy from start
- for (i = 0; i < len; ++i) {
- target[i + targetStart] = this[i + start]
- }
- } else {
- Uint8Array.prototype.set.call(
- target,
- this.subarray(start, start + len),
- targetStart
- )
- }
- return len
+// ref: https://github.com/tc39/proposal-global
+var getGlobal = function () {
+ // the only reliable means to get the global object is
+ // `Function('return this')()`
+ // However, this causes CSP violations in Chrome apps.
+ if (typeof self !== 'undefined') { return self; }
+ if (typeof window !== 'undefined') { return window; }
+ if (typeof global !== 'undefined') { return global; }
+ throw new Error('unable to locate global object');
}
-// Usage:
-// buffer.fill(number[, offset[, end]])
-// buffer.fill(buffer[, offset[, end]])
-// buffer.fill(string[, offset[, end]][, encoding])
-Buffer.prototype.fill = function fill (val, start, end, encoding) {
- // Handle string cases:
- if (typeof val === 'string') {
- if (typeof start === 'string') {
- encoding = start
- start = 0
- end = this.length
- } else if (typeof end === 'string') {
- encoding = end
- end = this.length
- }
- if (val.length === 1) {
- var code = val.charCodeAt(0)
- if (code < 256) {
- val = code
- }
- }
- if (encoding !== undefined && typeof encoding !== 'string') {
- throw new TypeError('encoding must be a string')
- }
- if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
- throw new TypeError('Unknown encoding: ' + encoding)
- }
- } else if (typeof val === 'number') {
- val = val & 255
- }
+var global = getGlobal();
- // Invalid ranges are not set to a default, so can range check early.
- if (start < 0 || this.length < start || this.length < end) {
- throw new RangeError('Out of range index')
- }
+module.exports = exports = global.fetch;
- if (end <= start) {
- return this
- }
+// Needed for TypeScript and Webpack.
+exports.default = global.fetch.bind(global);
- start = start >>> 0
- end = end === undefined ? this.length : end >>> 0
+exports.Headers = global.Headers;
+exports.Request = global.Request;
+exports.Response = global.Response;
- if (!val) val = 0
+/***/ }),
+/* 31 */
+/***/ (function(module, exports, __webpack_require__) {
- var i
- if (typeof val === 'number') {
- for (i = start; i < end; ++i) {
- this[i] = val
- }
- } else {
- var bytes = Buffer.isBuffer(val)
- ? val
- : utf8ToBytes(new Buffer(val, encoding).toString())
- var len = bytes.length
- for (i = 0; i < end - start; ++i) {
- this[i + start] = bytes[i % len]
- }
- }
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
- return this
-}
+ return "\n\n \n \n \n\n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
+},"useData":true});
-// HELPER FUNCTIONS
-// ================
+/***/ }),
+/* 32 */
+/***/ (function(module, exports, __webpack_require__) {
-var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
-function base64clean (str) {
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
- str = stringtrim(str).replace(INVALID_BASE64_RE, '')
- // Node converts strings with length < 2 to ''
- if (str.length < 2) return ''
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
- while (str.length % 4 !== 0) {
- str = str + '='
- }
- return str
-}
+ return "\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
+},"useData":true});
-function stringtrim (str) {
- if (str.trim) return str.trim()
- return str.replace(/^\s+|\s+$/g, '')
-}
+/***/ }),
+/* 33 */
+/***/ (function(module, exports, __webpack_require__) {
-function toHex (n) {
- if (n < 16) return '0' + n.toString(16)
- return n.toString(16)
-}
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
-function utf8ToBytes (string, units) {
- units = units || Infinity
- var codePoint
- var length = string.length
- var leadSurrogate = null
- var bytes = []
+ return "\n\n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n";
+},"useData":true});
- for (var i = 0; i < length; ++i) {
- codePoint = string.charCodeAt(i)
+/***/ }),
+/* 34 */
+/***/ (function(module, exports, __webpack_require__) {
- // is surrogate component
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
- // last char was a lead
- if (!leadSurrogate) {
- // no lead yet
- if (codePoint > 0xDBFF) {
- // unexpected trail
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
- } else if (i + 1 === length) {
- // unpaired lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- continue
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
}
+ return undefined
+ };
- // valid lead
- leadSurrogate = codePoint
+ return "\n\n \n \n \n \n\n \n \n \n \n \n\n \n\n \n\n \n \n \n\n";
+},"useData":true});
- continue
- }
+/***/ }),
+/* 35 */
+/***/ (function(module, exports, __webpack_require__) {
- // 2 leads in a row
- if (codePoint < 0xDC00) {
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- leadSurrogate = codePoint
- continue
- }
+var Handlebars = __webpack_require__(11);
+function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
+module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
+ var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return parent[propertyName];
+ }
+ return undefined
+ };
- // valid surrogate pair
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
- } else if (leadSurrogate) {
- // valid bmp char, but last char was a lead
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
- }
+ return "\n\n \n \n \n \n\n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n";
+},"useData":true});
- leadSurrogate = null
+/***/ }),
+/* 36 */
+/***/ (function(module, exports, __webpack_require__) {
- // encode utf8
- if (codePoint < 0x80) {
- if ((units -= 1) < 0) break
- bytes.push(codePoint)
- } else if (codePoint < 0x800) {
- if ((units -= 2) < 0) break
- bytes.push(
- codePoint >> 0x6 | 0xC0,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x10000) {
- if ((units -= 3) < 0) break
- bytes.push(
- codePoint >> 0xC | 0xE0,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else if (codePoint < 0x110000) {
- if ((units -= 4) < 0) break
- bytes.push(
- codePoint >> 0x12 | 0xF0,
- codePoint >> 0xC & 0x3F | 0x80,
- codePoint >> 0x6 & 0x3F | 0x80,
- codePoint & 0x3F | 0x80
- )
- } else {
- throw new Error('Invalid code point')
- }
- }
+"use strict";
- return bytes
-}
-function asciiToBytes (str) {
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- // Node's code seems to be doing this and not & 0x7F..
- byteArray.push(str.charCodeAt(i) & 0xFF)
- }
- return byteArray
-}
+exports.__esModule = true;
+// istanbul ignore next
-function utf16leToBytes (str, units) {
- var c, hi, lo
- var byteArray = []
- for (var i = 0; i < str.length; ++i) {
- if ((units -= 2) < 0) break
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- c = str.charCodeAt(i)
- hi = c >> 8
- lo = c % 256
- byteArray.push(lo)
- byteArray.push(hi)
- }
+// istanbul ignore next
- return byteArray
-}
-
-function base64ToBytes (str) {
- return base64.toByteArray(base64clean(str))
-}
-
-function blitBuffer (src, dst, offset, length) {
- for (var i = 0; i < length; ++i) {
- if ((i + offset >= dst.length) || (i >= src.length)) break
- dst[i + offset] = src[i]
- }
- return i
-}
+function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
-function isnan (val) {
- return val !== val // eslint-disable-line no-self-compare
-}
+var _handlebarsBase = __webpack_require__(21);
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
+var base = _interopRequireWildcard(_handlebarsBase);
-/***/ }),
-/* 19 */
-/***/ (function(module, exports) {
+// Each of these augment the Handlebars object. No need to setup here.
+// (This is done to easily share code between commonjs and browse envs)
-if (typeof Object.create === 'function') {
- // implementation from standard node.js 'util' module
- module.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor
- ctor.prototype = Object.create(superCtor.prototype, {
- constructor: {
- value: ctor,
- enumerable: false,
- writable: true,
- configurable: true
- }
- })
- }
- };
-} else {
- // old school shim for old browsers
- module.exports = function inherits(ctor, superCtor) {
- if (superCtor) {
- ctor.super_ = superCtor
- var TempCtor = function () {}
- TempCtor.prototype = superCtor.prototype
- ctor.prototype = new TempCtor()
- ctor.prototype.constructor = ctor
- }
- }
-}
+var _handlebarsSafeString = __webpack_require__(47);
+var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
-/***/ }),
-/* 20 */
-/***/ (function(module, exports, __webpack_require__) {
+var _handlebarsException = __webpack_require__(9);
-var wrappy = __webpack_require__(104)
-module.exports = wrappy(once)
-module.exports.strict = wrappy(onceStrict)
+var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
-once.proto = once(function () {
- Object.defineProperty(Function.prototype, 'once', {
- value: function () {
- return once(this)
- },
- configurable: true
- })
+var _handlebarsUtils = __webpack_require__(5);
- Object.defineProperty(Function.prototype, 'onceStrict', {
- value: function () {
- return onceStrict(this)
- },
- configurable: true
- })
-})
+var Utils = _interopRequireWildcard(_handlebarsUtils);
-function once (fn) {
- var f = function () {
- if (f.called) return f.value
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- f.called = false
- return f
-}
+var _handlebarsRuntime = __webpack_require__(48);
-function onceStrict (fn) {
- var f = function () {
- if (f.called)
- throw new Error(f.onceError)
- f.called = true
- return f.value = fn.apply(this, arguments)
- }
- var name = fn.name || 'Function wrapped with `once`'
- f.onceError = name + " shouldn't be called more than once"
- f.called = false
- return f
-}
+var runtime = _interopRequireWildcard(_handlebarsRuntime);
+var _handlebarsNoConflict = __webpack_require__(50);
-/***/ }),
-/* 21 */
-/***/ (function(module, exports) {
+var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
-module.exports = deprecate
+// For compatibility and usage outside of module systems, make the Handlebars object a namespace
+function create() {
+ var hb = new base.HandlebarsEnvironment();
-const loggedMessages = {}
+ Utils.extend(hb, base);
+ hb.SafeString = _handlebarsSafeString2['default'];
+ hb.Exception = _handlebarsException2['default'];
+ hb.Utils = Utils;
+ hb.escapeExpression = Utils.escapeExpression;
-function deprecate (message) {
- if (loggedMessages[message]) {
- return
- }
+ hb.VM = runtime;
+ hb.template = function (spec) {
+ return runtime.template(spec, hb);
+ };
- console.warn(`DEPRECATED (@octokit/rest): ${message}`)
- loggedMessages[message] = 1
+ return hb;
}
+var inst = create();
+inst.create = create;
-/***/ }),
-/* 22 */
-/***/ (function(module, exports) {
-
-module.exports = getPageLinks
-
-function getPageLinks (link) {
- link = link.link || link.headers.link || ''
-
- const links = {}
+_handlebarsNoConflict2['default'](inst);
- // link format:
- // '; rel="next", ; rel="last"'
- link.replace(/<([^>]*)>;\s*rel="([\w]*)"/g, (m, uri, type) => {
- links[type] = uri
- })
+inst['default'] = inst;
- return links
-}
+exports['default'] = inst;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=
/***/ }),
-/* 23 */
+/* 37 */
/***/ (function(module, exports, __webpack_require__) {
-/* WEBPACK VAR INJECTION */(function(Buffer) {// 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;
+"use strict";
-function isRegExp(re) {
- return objectToString(re) === '[object RegExp]';
-}
-exports.isRegExp = isRegExp;
-function isObject(arg) {
- return typeof arg === 'object' && arg !== null;
-}
-exports.isObject = isObject;
+exports.__esModule = true;
-function isDate(d) {
- return objectToString(d) === '[object Date]';
-}
-exports.isDate = isDate;
+var _utils = __webpack_require__(5);
-function isError(e) {
- return (objectToString(e) === '[object Error]' || e instanceof Error);
-}
-exports.isError = isError;
+exports['default'] = function (instance) {
+ instance.registerHelper('blockHelperMissing', function (context, options) {
+ var inverse = options.inverse,
+ fn = options.fn;
-function isFunction(arg) {
- return typeof arg === 'function';
-}
-exports.isFunction = isFunction;
+ if (context === true) {
+ return fn(this);
+ } else if (context === false || context == null) {
+ return inverse(this);
+ } else if (_utils.isArray(context)) {
+ if (context.length > 0) {
+ if (options.ids) {
+ options.ids = [options.name];
+ }
-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;
+ return instance.helpers.each(context, options);
+ } else {
+ return inverse(this);
+ }
+ } else {
+ if (options.data && options.ids) {
+ var data = _utils.createFrame(options.data);
+ data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);
+ options = { data: data };
+ }
-exports.isBuffer = Buffer.isBuffer;
+ return fn(context, options);
+ }
+ });
+};
-function objectToString(o) {
- return Object.prototype.toString.call(o);
-}
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(18).Buffer))
/***/ }),
-/* 24 */
+/* 38 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-/* global Promise */
+/* WEBPACK VAR INJECTION */(function(global) {
+exports.__esModule = true;
+// istanbul ignore next
-// load the global object first:
-// - it should be better integrated in the system (unhandledRejection in node)
-// - the environment may have a custom Promise implementation (see zone.js)
-var ES6Promise = null;
-if (typeof Promise !== "undefined") {
- ES6Promise = Promise;
-} else {
- ES6Promise = __webpack_require__(156);
-}
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-/**
- * Let the user use/change some implementations.
- */
-module.exports = {
- Promise: ES6Promise
-};
+var _utils = __webpack_require__(5);
+var _exception = __webpack_require__(9);
-/***/ }),
-/* 25 */
-/***/ (function(module, exports, __webpack_require__) {
+var _exception2 = _interopRequireDefault(_exception);
-module.exports = getPage
+exports['default'] = function (instance) {
+ instance.registerHelper('each', function (context, options) {
+ if (!options) {
+ throw new _exception2['default']('Must pass iterator to #each');
+ }
-const deprecate = __webpack_require__(21)
-const getPageLinks = __webpack_require__(22)
-const HttpError = __webpack_require__(132)
+ var fn = options.fn,
+ inverse = options.inverse,
+ i = 0,
+ ret = '',
+ data = undefined,
+ contextPath = undefined;
-function getPage (octokit, link, which, headers) {
- deprecate(`octokit.get${which.charAt(0).toUpperCase() + which.slice(1)}Page() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- const url = getPageLinks(link)[which]
+ if (options.data && options.ids) {
+ contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
+ }
- if (!url) {
- const urlError = new HttpError(`No ${which} page found`, 404)
- return Promise.reject(urlError)
- }
+ if (_utils.isFunction(context)) {
+ context = context.call(this);
+ }
- const requestOptions = {
- url,
- headers: applyAcceptHeader(link, headers)
- }
+ if (options.data) {
+ data = _utils.createFrame(options.data);
+ }
- const promise = octokit.request(requestOptions)
+ function execIteration(field, index, last) {
+ if (data) {
+ data.key = field;
+ data.index = index;
+ data.first = index === 0;
+ data.last = !!last;
- return promise
-}
+ if (contextPath) {
+ data.contextPath = contextPath + field;
+ }
+ }
-function applyAcceptHeader (res, headers) {
- const previous = res.headers && res.headers['x-github-media-type']
+ ret = ret + fn(context[field], {
+ data: data,
+ blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])
+ });
+ }
- if (!previous || (headers && headers.accept)) {
- return headers
- }
- headers = headers || {}
- headers.accept = 'application/vnd.' + previous
- .replace('; param=', '.')
- .replace('; format=', '+')
-
- return headers
-}
-
-
-/***/ }),
-/* 26 */
-/***/ (function(module, exports) {
-
-// shim for using process in browser
-var process = module.exports = {};
-
-// cached from whatever global is present so that test runners that stub it
-// don't break things. But we need to wrap it in a try catch in case it is
-// wrapped in strict mode code which doesn't define any globals. It's inside a
-// function because try/catches deoptimize in certain engines.
-
-var cachedSetTimeout;
-var cachedClearTimeout;
-
-function defaultSetTimout() {
- throw new Error('setTimeout has not been defined');
-}
-function defaultClearTimeout () {
- throw new Error('clearTimeout has not been defined');
-}
-(function () {
- try {
- if (typeof setTimeout === 'function') {
- cachedSetTimeout = setTimeout;
- } else {
- cachedSetTimeout = defaultSetTimout;
+ if (context && typeof context === 'object') {
+ if (_utils.isArray(context)) {
+ for (var j = context.length; i < j; i++) {
+ if (i in context) {
+ execIteration(i, i, i === context.length - 1);
+ }
}
- } catch (e) {
- cachedSetTimeout = defaultSetTimout;
- }
- try {
- if (typeof clearTimeout === 'function') {
- cachedClearTimeout = clearTimeout;
- } else {
- cachedClearTimeout = defaultClearTimeout;
+ } else if (global.Symbol && context[global.Symbol.iterator]) {
+ var newContext = [];
+ var iterator = context[global.Symbol.iterator]();
+ for (var it = iterator.next(); !it.done; it = iterator.next()) {
+ newContext.push(it.value);
}
- } catch (e) {
- cachedClearTimeout = defaultClearTimeout;
- }
-} ())
-function runTimeout(fun) {
- if (cachedSetTimeout === setTimeout) {
- //normal enviroments in sane situations
- return setTimeout(fun, 0);
- }
- // if setTimeout wasn't available but was latter defined
- if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
- cachedSetTimeout = setTimeout;
- return setTimeout(fun, 0);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedSetTimeout(fun, 0);
- } catch(e){
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedSetTimeout.call(null, fun, 0);
- } catch(e){
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
- return cachedSetTimeout.call(this, fun, 0);
+ context = newContext;
+ for (var j = context.length; i < j; i++) {
+ execIteration(i, i, i === context.length - 1);
}
- }
-
+ } else {
+ (function () {
+ var priorKey = undefined;
-}
-function runClearTimeout(marker) {
- if (cachedClearTimeout === clearTimeout) {
- //normal enviroments in sane situations
- return clearTimeout(marker);
- }
- // if clearTimeout wasn't available but was latter defined
- if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
- cachedClearTimeout = clearTimeout;
- return clearTimeout(marker);
- }
- try {
- // when when somebody has screwed with setTimeout but no I.E. maddness
- return cachedClearTimeout(marker);
- } catch (e){
- try {
- // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
- return cachedClearTimeout.call(null, marker);
- } catch (e){
- // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
- // Some versions of I.E. have different rules for clearTimeout vs setTimeout
- return cachedClearTimeout.call(this, marker);
- }
+ Object.keys(context).forEach(function (key) {
+ // We're running the iterations one step out of sync so we can detect
+ // the last iteration without have to scan the object twice and create
+ // an itermediate keys array.
+ if (priorKey !== undefined) {
+ execIteration(priorKey, i - 1);
+ }
+ priorKey = key;
+ i++;
+ });
+ if (priorKey !== undefined) {
+ execIteration(priorKey, i - 1, true);
+ }
+ })();
+ }
}
+ if (i === 0) {
+ ret = inverse(this);
+ }
+ return ret;
+ });
+};
-}
-var queue = [];
-var draining = false;
-var currentQueue;
-var queueIndex = -1;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUMzRCxZQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsWUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUNuRCxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZ2xvYmFsLlN5bWJvbCAmJiBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRleHQgPSBbXTtcbiAgICAgICAgY29uc3QgaXRlcmF0b3IgPSBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICAgIGZvciAobGV0IGl0ID0gaXRlcmF0b3IubmV4dCgpOyAhaXQuZG9uZTsgaXQgPSBpdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICBuZXdDb250ZXh0LnB1c2goaXQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQgPSBuZXdDb250ZXh0O1xuICAgICAgICBmb3IgKGxldCBqID0gY29udGV4dC5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKGksIGksIGkgPT09IGNvbnRleHQubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcmlvcktleTtcblxuICAgICAgICBPYmplY3Qua2V5cyhjb250ZXh0KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgLy8gV2UncmUgcnVubmluZyB0aGUgaXRlcmF0aW9ucyBvbmUgc3RlcCBvdXQgb2Ygc3luYyBzbyB3ZSBjYW4gZGV0ZWN0XG4gICAgICAgICAgLy8gdGhlIGxhc3QgaXRlcmF0aW9uIHdpdGhvdXQgaGF2ZSB0byBzY2FuIHRoZSBvYmplY3QgdHdpY2UgYW5kIGNyZWF0ZVxuICAgICAgICAgIC8vIGFuIGl0ZXJtZWRpYXRlIGtleXMgYXJyYXkuXG4gICAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24ocHJpb3JLZXksIGkgLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJpb3JLZXkgPSBrZXk7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgcmV0ID0gaW52ZXJzZSh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
-function cleanUpNextTick() {
- if (!draining || !currentQueue) {
- return;
- }
- draining = false;
- if (currentQueue.length) {
- queue = currentQueue.concat(queue);
- } else {
- queueIndex = -1;
- }
- if (queue.length) {
- drainQueue();
- }
-}
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(6)))
-function drainQueue() {
- if (draining) {
- return;
- }
- var timeout = runTimeout(cleanUpNextTick);
- draining = true;
+/***/ }),
+/* 39 */
+/***/ (function(module, exports, __webpack_require__) {
- var len = queue.length;
- while(len) {
- currentQueue = queue;
- queue = [];
- while (++queueIndex < len) {
- if (currentQueue) {
- currentQueue[queueIndex].run();
- }
- }
- queueIndex = -1;
- len = queue.length;
- }
- currentQueue = null;
- draining = false;
- runClearTimeout(timeout);
-}
+"use strict";
-process.nextTick = function (fun) {
- var args = new Array(arguments.length - 1);
- if (arguments.length > 1) {
- for (var i = 1; i < arguments.length; i++) {
- args[i - 1] = arguments[i];
- }
- }
- queue.push(new Item(fun, args));
- if (queue.length === 1 && !draining) {
- runTimeout(drainQueue);
- }
-};
-// v8 likes predictible objects
-function Item(fun, array) {
- this.fun = fun;
- this.array = array;
-}
-Item.prototype.run = function () {
- this.fun.apply(null, this.array);
-};
-process.title = 'browser';
-process.browser = true;
-process.env = {};
-process.argv = [];
-process.version = ''; // empty string to avoid regexp issues
-process.versions = {};
+exports.__esModule = true;
+// istanbul ignore next
-function noop() {}
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-process.on = noop;
-process.addListener = noop;
-process.once = noop;
-process.off = noop;
-process.removeListener = noop;
-process.removeAllListeners = noop;
-process.emit = noop;
-process.prependListener = noop;
-process.prependOnceListener = noop;
+var _exception = __webpack_require__(9);
-process.listeners = function (name) { return [] }
+var _exception2 = _interopRequireDefault(_exception);
-process.binding = function (name) {
- throw new Error('process.binding is not supported');
+exports['default'] = function (instance) {
+ instance.registerHelper('helperMissing', function () /* [args, ]options */{
+ if (arguments.length === 1) {
+ // A missing field in a {{foo}} construct.
+ return undefined;
+ } else {
+ // Someone is actually trying to call something, blow up.
+ throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"');
+ }
+ });
};
-process.cwd = function () { return '/' };
-process.chdir = function (dir) {
- throw new Error('process.chdir is not supported');
-};
-process.umask = function() { return 0; };
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19
/***/ }),
-/* 27 */
+/* 40 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
-/* WEBPACK VAR INJECTION */(function(process) {
-
-if (typeof process === 'undefined' ||
- !process.version ||
- process.version.indexOf('v0.') === 0 ||
- process.version.indexOf('v1.') === 0 && process.version.indexOf('v1.8.') !== 0) {
- module.exports = { nextTick: nextTick };
-} else {
- module.exports = process
-}
-
-function nextTick(fn, arg1, arg2, arg3) {
- if (typeof fn !== 'function') {
- throw new TypeError('"callback" argument must be a function');
- }
- var len = arguments.length;
- var args, i;
- switch (len) {
- case 0:
- case 1:
- return process.nextTick(fn);
- case 2:
- return process.nextTick(function afterTickOne() {
- fn.call(null, arg1);
- });
- case 3:
- return process.nextTick(function afterTickTwo() {
- fn.call(null, arg1, arg2);
- });
- case 4:
- return process.nextTick(function afterTickThree() {
- fn.call(null, arg1, arg2, arg3);
- });
- default:
- args = new Array(len - 1);
- i = 0;
- while (i < args.length) {
- args[i++] = arguments[i];
- }
- return process.nextTick(function afterTick() {
- fn.apply(null, args);
- });
- }
-}
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(26)))
+exports.__esModule = true;
+// istanbul ignore next
-/***/ }),
-/* 28 */
-/***/ (function(module, exports, __webpack_require__) {
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-"use strict";
-/* WEBPACK VAR INJECTION */(function(Buffer) {
+var _utils = __webpack_require__(5);
-module.exports = {
- /**
- * True if this is running in Nodejs, will be undefined in a browser.
- * In a browser, browserify won't include this file and the whole module
- * will be resolved an empty object.
- */
- isNode : typeof Buffer !== "undefined",
- /**
- * Create a new nodejs Buffer from an existing content.
- * @param {Object} data the data to pass to the constructor.
- * @param {String} encoding the encoding to use.
- * @return {Buffer} a new Buffer.
- */
- newBufferFrom: function(data, encoding) {
- if (Buffer.from && Buffer.from !== Uint8Array.from) {
- return Buffer.from(data, encoding);
- } else {
- if (typeof data === "number") {
- // Safeguard for old Node.js versions. On newer versions,
- // Buffer.from(number) / Buffer(number, encoding) already throw.
- throw new Error("The \"data\" argument must not be a number");
- }
- return new Buffer(data, encoding);
- }
- },
- /**
- * Create a new nodejs Buffer with the specified size.
- * @param {Integer} size the size of the buffer.
- * @return {Buffer} a new Buffer.
- */
- allocBuffer: function (size) {
- if (Buffer.alloc) {
- return Buffer.alloc(size);
- } else {
- var buf = new Buffer(size);
- buf.fill(0);
- return buf;
- }
- },
- /**
- * Find out if an object is a Buffer.
- * @param {Object} b the object to test.
- * @return {Boolean} true if the object is a Buffer, false otherwise.
- */
- isBuffer : function(b){
- return Buffer.isBuffer(b);
- },
+var _exception = __webpack_require__(9);
- isStream : function (obj) {
- return obj &&
- typeof obj.on === "function" &&
- typeof obj.pause === "function" &&
- typeof obj.resume === "function";
- }
-};
+var _exception2 = _interopRequireDefault(_exception);
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(18).Buffer))
+exports['default'] = function (instance) {
+ instance.registerHelper('if', function (conditional, options) {
+ if (arguments.length != 2) {
+ throw new _exception2['default']('#if requires exactly one argument');
+ }
+ if (_utils.isFunction(conditional)) {
+ conditional = conditional.call(this);
+ }
-/***/ }),
-/* 29 */
-/***/ (function(module, exports, __webpack_require__) {
+ // Default behavior is to render the positive path if the value is truthy and not empty.
+ // The `includeZero` option may be set to treat the condtional as purely not empty based on the
+ // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
+ if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
+ return options.inverse(this);
+ } else {
+ return options.fn(this);
+ }
+ });
-var superPropBase = __webpack_require__(96);
+ instance.registerHelper('unless', function (conditional, options) {
+ if (arguments.length != 2) {
+ throw new _exception2['default']('#unless requires exactly one argument');
+ }
+ return instance.helpers['if'].call(this, conditional, {
+ fn: options.inverse,
+ inverse: options.fn,
+ hash: options.hash
+ });
+ });
+};
-function _get(target, property, receiver) {
- if (typeof Reflect !== "undefined" && Reflect.get) {
- module.exports = _get = Reflect.get;
- } else {
- module.exports = _get = function _get(target, property, receiver) {
- var base = superPropBase(target, property);
- if (!base) return;
- var desc = Object.getOwnPropertyDescriptor(base, property);
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19
- if (desc.get) {
- return desc.get.call(receiver);
- }
- return desc.value;
- };
- }
+/***/ }),
+/* 41 */
+/***/ (function(module, exports, __webpack_require__) {
- return _get(target, property, receiver || target);
-}
+"use strict";
-module.exports = _get;
-/***/ }),
-/* 30 */
-/***/ (function(module, exports, __webpack_require__) {
+exports.__esModule = true;
-var _typeof = __webpack_require__(97);
+exports['default'] = function (instance) {
+ instance.registerHelper('log', function () /* message, options */{
+ var args = [undefined],
+ options = arguments[arguments.length - 1];
+ for (var i = 0; i < arguments.length - 1; i++) {
+ args.push(arguments[i]);
+ }
-var assertThisInitialized = __webpack_require__(98);
+ var level = 1;
+ if (options.hash.level != null) {
+ level = options.hash.level;
+ } else if (options.data && options.data.level != null) {
+ level = options.data.level;
+ }
+ args[0] = level;
-function _possibleConstructorReturn(self, call) {
- if (call && (_typeof(call) === "object" || typeof call === "function")) {
- return call;
- }
+ instance.log.apply(instance, args);
+ });
+};
- return assertThisInitialized(self);
-}
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19
-module.exports = _possibleConstructorReturn;
/***/ }),
-/* 31 */
+/* 42 */
/***/ (function(module, exports, __webpack_require__) {
-var setPrototypeOf = __webpack_require__(99);
+"use strict";
-function _inherits(subClass, superClass) {
- if (typeof superClass !== "function" && superClass !== null) {
- throw new TypeError("Super expression must either be null or a function");
- }
- subClass.prototype = Object.create(superClass && superClass.prototype, {
- constructor: {
- value: subClass,
- writable: true,
- configurable: true
+exports.__esModule = true;
+
+exports['default'] = function (instance) {
+ instance.registerHelper('lookup', function (obj, field, options) {
+ if (!obj) {
+ // Note for 5.0: Change to "obj == null" in 5.0
+ return obj;
}
+ return options.lookupProperty(obj, field);
});
- if (superClass) setPrototypeOf(subClass, superClass);
-}
+};
+
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==
-module.exports = _inherits;
/***/ }),
-/* 32 */
+/* 43 */
/***/ (function(module, 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 R = typeof Reflect === 'object' ? Reflect : null
-var ReflectApply = R && typeof R.apply === 'function'
- ? R.apply
- : function ReflectApply(target, receiver, args) {
- return Function.prototype.apply.call(target, receiver, args);
- }
-
-var ReflectOwnKeys
-if (R && typeof R.ownKeys === 'function') {
- ReflectOwnKeys = R.ownKeys
-} else if (Object.getOwnPropertySymbols) {
- ReflectOwnKeys = function ReflectOwnKeys(target) {
- return Object.getOwnPropertyNames(target)
- .concat(Object.getOwnPropertySymbols(target));
- };
-} else {
- ReflectOwnKeys = function ReflectOwnKeys(target) {
- return Object.getOwnPropertyNames(target);
- };
-}
-
-function ProcessEmitWarning(warning) {
- if (console && console.warn) console.warn(warning);
-}
-var NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {
- return value !== value;
-}
-function EventEmitter() {
- EventEmitter.init.call(this);
-}
-module.exports = EventEmitter;
+exports.__esModule = true;
+// istanbul ignore next
-// Backwards-compat with node 0.10.x
-EventEmitter.EventEmitter = EventEmitter;
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-EventEmitter.prototype._events = undefined;
-EventEmitter.prototype._eventsCount = 0;
-EventEmitter.prototype._maxListeners = undefined;
+var _utils = __webpack_require__(5);
-// By default EventEmitters will print a warning if more than 10 listeners are
-// added to it. This is a useful default which helps finding memory leaks.
-var defaultMaxListeners = 10;
+var _exception = __webpack_require__(9);
-function checkListener(listener) {
- if (typeof listener !== 'function') {
- throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
- }
-}
+var _exception2 = _interopRequireDefault(_exception);
-Object.defineProperty(EventEmitter, 'defaultMaxListeners', {
- enumerable: true,
- get: function() {
- return defaultMaxListeners;
- },
- set: function(arg) {
- if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {
- throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + arg + '.');
+exports['default'] = function (instance) {
+ instance.registerHelper('with', function (context, options) {
+ if (arguments.length != 2) {
+ throw new _exception2['default']('#with requires exactly one argument');
+ }
+ if (_utils.isFunction(context)) {
+ context = context.call(this);
}
- defaultMaxListeners = arg;
- }
-});
-EventEmitter.init = function() {
+ var fn = options.fn;
- if (this._events === undefined ||
- this._events === Object.getPrototypeOf(this)._events) {
- this._events = Object.create(null);
- this._eventsCount = 0;
- }
+ if (!_utils.isEmpty(context)) {
+ var data = options.data;
+ if (options.data && options.ids) {
+ data = _utils.createFrame(options.data);
+ data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);
+ }
- this._maxListeners = this._maxListeners || undefined;
+ return fn(context, {
+ data: data,
+ blockParams: _utils.blockParams([context], [data && data.contextPath])
+ });
+ } else {
+ return options.inverse(this);
+ }
+ });
};
-// Obviously not all Emitters should be limited to 10. This function allows
-// that to be increased. Set to zero for unlimited.
-EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {
- if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {
- throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
- }
- this._maxListeners = n;
- return this;
-};
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
-function _getMaxListeners(that) {
- if (that._maxListeners === undefined)
- return EventEmitter.defaultMaxListeners;
- return that._maxListeners;
-}
-EventEmitter.prototype.getMaxListeners = function getMaxListeners() {
- return _getMaxListeners(this);
-};
+/***/ }),
+/* 44 */
+/***/ (function(module, exports, __webpack_require__) {
-EventEmitter.prototype.emit = function emit(type) {
- var args = [];
- for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);
- var doError = (type === 'error');
+"use strict";
- var events = this._events;
- if (events !== undefined)
- doError = (doError && events.error === undefined);
- else if (!doError)
- return false;
- // If there is no 'error' event listener then throw.
- if (doError) {
- var er;
- if (args.length > 0)
- er = args[0];
- if (er instanceof Error) {
- // Note: The comments on the `throw` lines are intentional, they show
- // up in Node's output if this results in an unhandled exception.
- throw er; // Unhandled 'error' event
- }
- // At least give some kind of context to the user
- var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));
- err.context = er;
- throw err; // Unhandled 'error' event
- }
+exports.__esModule = true;
+exports.registerDefaultDecorators = registerDefaultDecorators;
+// istanbul ignore next
- var handler = events[type];
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
- if (handler === undefined)
- return false;
+var _decoratorsInline = __webpack_require__(45);
- if (typeof handler === 'function') {
- ReflectApply(handler, this, args);
- } else {
- var len = handler.length;
- var listeners = arrayClone(handler, len);
- for (var i = 0; i < len; ++i)
- ReflectApply(listeners[i], this, args);
- }
+var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
- return true;
-};
+function registerDefaultDecorators(instance) {
+ _decoratorsInline2['default'](instance);
+}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=
-function _addListener(target, type, listener, prepend) {
- var m;
- var events;
- var existing;
- checkListener(listener);
+/***/ }),
+/* 45 */
+/***/ (function(module, exports, __webpack_require__) {
- events = target._events;
- if (events === undefined) {
- events = target._events = Object.create(null);
- target._eventsCount = 0;
- } else {
- // To avoid recursion in the case that type === "newListener"! Before
- // adding it to the listeners, first emit "newListener".
- if (events.newListener !== undefined) {
- target.emit('newListener', type,
- listener.listener ? listener.listener : listener);
-
- // Re-assign `events` because a newListener handler could have caused the
- // this._events to be assigned to a new object
- events = target._events;
- }
- existing = events[type];
- }
+"use strict";
- if (existing === undefined) {
- // Optimize the case of one listener. Don't need the extra array object.
- existing = events[type] = listener;
- ++target._eventsCount;
- } else {
- if (typeof existing === 'function') {
- // Adding the second element, need to change to array.
- existing = events[type] =
- prepend ? [listener, existing] : [existing, listener];
- // If we've already got an array, just append.
- } else if (prepend) {
- existing.unshift(listener);
- } else {
- existing.push(listener);
- }
- // Check for listener leak
- m = _getMaxListeners(target);
- if (m > 0 && existing.length > m && !existing.warned) {
- existing.warned = true;
- // No error code for this since it is a Warning
- // eslint-disable-next-line no-restricted-syntax
- var w = new Error('Possible EventEmitter memory leak detected. ' +
- existing.length + ' ' + String(type) + ' listeners ' +
- 'added. Use emitter.setMaxListeners() to ' +
- 'increase limit');
- w.name = 'MaxListenersExceededWarning';
- w.emitter = target;
- w.type = type;
- w.count = existing.length;
- ProcessEmitWarning(w);
+exports.__esModule = true;
+
+var _utils = __webpack_require__(5);
+
+exports['default'] = function (instance) {
+ instance.registerDecorator('inline', function (fn, props, container, options) {
+ var ret = fn;
+ if (!props.partials) {
+ props.partials = {};
+ ret = function (context, options) {
+ // Create a new partials stack frame prior to exec.
+ var original = container.partials;
+ container.partials = _utils.extend({}, original, props.partials);
+ var ret = fn(context, options);
+ container.partials = original;
+ return ret;
+ };
}
- }
- return target;
-}
+ props.partials[options.args[0]] = options.fn;
-EventEmitter.prototype.addListener = function addListener(type, listener) {
- return _addListener(this, type, listener, false);
+ return ret;
+ });
};
-EventEmitter.prototype.on = EventEmitter.prototype.addListener;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
-EventEmitter.prototype.prependListener =
- function prependListener(type, listener) {
- return _addListener(this, type, listener, true);
- };
-function onceWrapper() {
- if (!this.fired) {
- this.target.removeListener(this.type, this.wrapFn);
- this.fired = true;
- if (arguments.length === 0)
- return this.listener.call(this.target);
- return this.listener.apply(this.target, arguments);
- }
-}
+/***/ }),
+/* 46 */
+/***/ (function(module, exports, __webpack_require__) {
-function _onceWrap(target, type, listener) {
- var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };
- var wrapped = onceWrapper.bind(state);
- wrapped.listener = listener;
- state.wrapFn = wrapped;
- return wrapped;
-}
+"use strict";
-EventEmitter.prototype.once = function once(type, listener) {
- checkListener(listener);
- this.on(type, _onceWrap(this, type, listener));
- return this;
-};
-EventEmitter.prototype.prependOnceListener =
- function prependOnceListener(type, listener) {
- checkListener(listener);
- this.prependListener(type, _onceWrap(this, type, listener));
- return this;
- };
+exports.__esModule = true;
+exports.createNewLookupObject = createNewLookupObject;
-// Emits a 'removeListener' event if and only if the listener was removed.
-EventEmitter.prototype.removeListener =
- function removeListener(type, listener) {
- var list, events, position, i, originalListener;
+var _utils = __webpack_require__(5);
- checkListener(listener);
+/**
+ * Create a new object with "null"-prototype to avoid truthy results on prototype properties.
+ * The resulting object can be used with "object[property]" to check if a property exists
+ * @param {...object} sources a varargs parameter of source objects that will be merged
+ * @returns {object}
+ */
- events = this._events;
- if (events === undefined)
- return this;
+function createNewLookupObject() {
+ for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {
+ sources[_key] = arguments[_key];
+ }
- list = events[type];
- if (list === undefined)
- return this;
-
- if (list === listener || list.listener === listener) {
- if (--this._eventsCount === 0)
- this._events = Object.create(null);
- else {
- delete events[type];
- if (events.removeListener)
- this.emit('removeListener', type, list.listener || listener);
- }
- } else if (typeof list !== 'function') {
- position = -1;
-
- for (i = list.length - 1; i >= 0; i--) {
- if (list[i] === listener || list[i].listener === listener) {
- originalListener = list[i].listener;
- position = i;
- break;
- }
- }
-
- if (position < 0)
- return this;
-
- if (position === 0)
- list.shift();
- else {
- spliceOne(list, position);
- }
-
- if (list.length === 1)
- events[type] = list[0];
-
- if (events.removeListener !== undefined)
- this.emit('removeListener', type, originalListener || listener);
- }
-
- return this;
- };
-
-EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
-
-EventEmitter.prototype.removeAllListeners =
- function removeAllListeners(type) {
- var listeners, events, i;
-
- events = this._events;
- if (events === undefined)
- return this;
-
- // not listening for removeListener, no need to emit
- if (events.removeListener === undefined) {
- if (arguments.length === 0) {
- this._events = Object.create(null);
- this._eventsCount = 0;
- } else if (events[type] !== undefined) {
- if (--this._eventsCount === 0)
- this._events = Object.create(null);
- else
- delete events[type];
- }
- return this;
- }
-
- // emit removeListener for all listeners on all events
- if (arguments.length === 0) {
- var keys = Object.keys(events);
- var key;
- for (i = 0; i < keys.length; ++i) {
- key = keys[i];
- if (key === 'removeListener') continue;
- this.removeAllListeners(key);
- }
- this.removeAllListeners('removeListener');
- this._events = Object.create(null);
- this._eventsCount = 0;
- return this;
- }
-
- listeners = events[type];
-
- if (typeof listeners === 'function') {
- this.removeListener(type, listeners);
- } else if (listeners !== undefined) {
- // LIFO order
- for (i = listeners.length - 1; i >= 0; i--) {
- this.removeListener(type, listeners[i]);
- }
- }
-
- return this;
- };
+ return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));
+}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19
-function _listeners(target, type, unwrap) {
- var events = target._events;
- if (events === undefined)
- return [];
+/***/ }),
+/* 47 */
+/***/ (function(module, exports, __webpack_require__) {
- var evlistener = events[type];
- if (evlistener === undefined)
- return [];
+"use strict";
+// Build out our basic SafeString type
- if (typeof evlistener === 'function')
- return unwrap ? [evlistener.listener || evlistener] : [evlistener];
- return unwrap ?
- unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);
+exports.__esModule = true;
+function SafeString(string) {
+ this.string = string;
}
-EventEmitter.prototype.listeners = function listeners(type) {
- return _listeners(this, type, true);
-};
-
-EventEmitter.prototype.rawListeners = function rawListeners(type) {
- return _listeners(this, type, false);
+SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
+ return '' + this.string;
};
-EventEmitter.listenerCount = function(emitter, type) {
- if (typeof emitter.listenerCount === 'function') {
- return emitter.listenerCount(type);
- } else {
- return listenerCount.call(emitter, type);
- }
-};
+exports['default'] = SafeString;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==
-EventEmitter.prototype.listenerCount = listenerCount;
-function listenerCount(type) {
- var events = this._events;
- if (events !== undefined) {
- var evlistener = events[type];
+/***/ }),
+/* 48 */
+/***/ (function(module, exports, __webpack_require__) {
- if (typeof evlistener === 'function') {
- return 1;
- } else if (evlistener !== undefined) {
- return evlistener.length;
- }
- }
+"use strict";
- return 0;
-}
-EventEmitter.prototype.eventNames = function eventNames() {
- return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];
-};
+exports.__esModule = true;
+exports.checkRevision = checkRevision;
+exports.template = template;
+exports.wrapProgram = wrapProgram;
+exports.resolvePartial = resolvePartial;
+exports.invokePartial = invokePartial;
+exports.noop = noop;
+// istanbul ignore next
-function arrayClone(arr, n) {
- var copy = new Array(n);
- for (var i = 0; i < n; ++i)
- copy[i] = arr[i];
- return copy;
-}
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-function spliceOne(list, index) {
- for (; index + 1 < list.length; index++)
- list[index] = list[index + 1];
- list.pop();
-}
+// istanbul ignore next
-function unwrapListeners(arr) {
- var ret = new Array(arr.length);
- for (var i = 0; i < ret.length; ++i) {
- ret[i] = arr[i].listener || arr[i];
- }
- return ret;
-}
+function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
+var _utils = __webpack_require__(5);
-/***/ }),
-/* 33 */
-/***/ (function(module, exports, __webpack_require__) {
+var Utils = _interopRequireWildcard(_utils);
-exports = module.exports = __webpack_require__(50);
-exports.Stream = exports;
-exports.Readable = exports;
-exports.Writable = __webpack_require__(35);
-exports.Duplex = __webpack_require__(14);
-exports.Transform = __webpack_require__(55);
-exports.PassThrough = __webpack_require__(150);
+var _exception = __webpack_require__(9);
+var _exception2 = _interopRequireDefault(_exception);
-/***/ }),
-/* 34 */
-/***/ (function(module, exports, __webpack_require__) {
+var _base = __webpack_require__(21);
-/* eslint-disable node/no-deprecated-api */
-var buffer = __webpack_require__(18)
-var Buffer = buffer.Buffer
+var _helpers = __webpack_require__(22);
-// alternative to using Object.keys for old browsers
-function copyProps (src, dst) {
- for (var key in src) {
- dst[key] = src[key]
- }
-}
-if (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {
- module.exports = buffer
-} else {
- // Copy properties from require('buffer')
- copyProps(buffer, exports)
- exports.Buffer = SafeBuffer
-}
+var _internalWrapHelper = __webpack_require__(49);
-function SafeBuffer (arg, encodingOrOffset, length) {
- return Buffer(arg, encodingOrOffset, length)
-}
+var _internalProtoAccess = __webpack_require__(24);
-// Copy static methods from Buffer
-copyProps(Buffer, SafeBuffer)
+function checkRevision(compilerInfo) {
+ var compilerRevision = compilerInfo && compilerInfo[0] || 1,
+ currentRevision = _base.COMPILER_REVISION;
-SafeBuffer.from = function (arg, encodingOrOffset, length) {
- if (typeof arg === 'number') {
- throw new TypeError('Argument must not be a number')
+ if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
+ return;
}
- return Buffer(arg, encodingOrOffset, length)
-}
-SafeBuffer.alloc = function (size, fill, encoding) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
- }
- var buf = Buffer(size)
- if (fill !== undefined) {
- if (typeof encoding === 'string') {
- buf.fill(fill, encoding)
- } else {
- buf.fill(fill)
- }
+ if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
+ var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
+ compilerVersions = _base.REVISION_CHANGES[compilerRevision];
+ throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
} else {
- buf.fill(0)
+ // Use the embedded version info since the runtime doesn't know about this revision yet
+ throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
}
- return buf
}
-SafeBuffer.allocUnsafe = function (size) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
+function template(templateSpec, env) {
+ /* istanbul ignore next */
+ if (!env) {
+ throw new _exception2['default']('No environment passed to template');
}
- return Buffer(size)
-}
-
-SafeBuffer.allocUnsafeSlow = function (size) {
- if (typeof size !== 'number') {
- throw new TypeError('Argument must be a number')
+ if (!templateSpec || !templateSpec.main) {
+ throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
}
- return buffer.SlowBuffer(size)
-}
+ templateSpec.main.decorator = templateSpec.main_d;
-/***/ }),
-/* 35 */
-/***/ (function(module, exports, __webpack_require__) {
+ // Note: Using env.VM references rather than local var references throughout this section to allow
+ // for external users to override these as pseudo-supported APIs.
+ env.VM.checkRevision(templateSpec.compiler);
-"use strict";
-/* WEBPACK VAR INJECTION */(function(process, setImmediate, global) {// 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.
+ // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
+ var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
-// A bit simpler than readable streams.
-// Implement an async ._write(chunk, encoding, cb), and it'll handle all
-// the drain event emission and buffering.
+ function invokePartialWrapper(partial, context, options) {
+ if (options.hash) {
+ context = Utils.extend({}, context, options.hash);
+ if (options.ids) {
+ options.ids[0] = true;
+ }
+ }
+ partial = env.VM.resolvePartial.call(this, partial, context, options);
+ var extendedOptions = Utils.extend({}, options, {
+ hooks: this.hooks,
+ protoAccessControl: this.protoAccessControl
+ });
+ var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);
-/**/
+ if (result == null && env.compile) {
+ options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
+ result = options.partials[options.name](context, extendedOptions);
+ }
+ if (result != null) {
+ if (options.indent) {
+ var lines = result.split('\n');
+ for (var i = 0, l = lines.length; i < l; i++) {
+ if (!lines[i] && i + 1 === l) {
+ break;
+ }
-var pna = __webpack_require__(27);
-/**/
+ lines[i] = options.indent + lines[i];
+ }
+ result = lines.join('\n');
+ }
+ return result;
+ } else {
+ throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
+ }
+ }
-module.exports = Writable;
+ // Just add water
+ var container = {
+ strict: function strict(obj, name, loc) {
+ if (!obj || !(name in obj)) {
+ throw new _exception2['default']('"' + name + '" not defined in ' + obj, {
+ loc: loc
+ });
+ }
+ return obj[name];
+ },
+ lookupProperty: function lookupProperty(parent, propertyName) {
+ var result = parent[propertyName];
+ if (result == null) {
+ return result;
+ }
+ if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
+ return result;
+ }
-/* */
-function WriteReq(chunk, encoding, cb) {
- this.chunk = chunk;
- this.encoding = encoding;
- this.callback = cb;
- this.next = null;
-}
+ if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {
+ return result;
+ }
+ return undefined;
+ },
+ lookup: function lookup(depths, name) {
+ var len = depths.length;
+ for (var i = 0; i < len; i++) {
+ var result = depths[i] && container.lookupProperty(depths[i], name);
+ if (result != null) {
+ return depths[i][name];
+ }
+ }
+ },
+ lambda: function lambda(current, context) {
+ return typeof current === 'function' ? current.call(context) : current;
+ },
-// It seems a linked list but it is not
-// there will be only 2 of these for each stream
-function CorkedRequest(state) {
- var _this = this;
+ escapeExpression: Utils.escapeExpression,
+ invokePartial: invokePartialWrapper,
- this.next = null;
- this.entry = null;
- this.finish = function () {
- onCorkedFinish(_this, state);
- };
-}
-/* */
+ fn: function fn(i) {
+ var ret = templateSpec[i];
+ ret.decorator = templateSpec[i + '_d'];
+ return ret;
+ },
-/**/
-var asyncWrite = !process.browser && ['v0.10', 'v0.9.'].indexOf(process.version.slice(0, 5)) > -1 ? setImmediate : pna.nextTick;
-/**/
+ programs: [],
+ program: function program(i, data, declaredBlockParams, blockParams, depths) {
+ var programWrapper = this.programs[i],
+ fn = this.fn(i);
+ if (data || depths || blockParams || declaredBlockParams) {
+ programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
+ } else if (!programWrapper) {
+ programWrapper = this.programs[i] = wrapProgram(this, i, fn);
+ }
+ return programWrapper;
+ },
-/**/
-var Duplex;
-/**/
+ data: function data(value, depth) {
+ while (value && depth--) {
+ value = value._parent;
+ }
+ return value;
+ },
+ mergeIfNeeded: function mergeIfNeeded(param, common) {
+ var obj = param || common;
-Writable.WritableState = WritableState;
+ if (param && common && param !== common) {
+ obj = Utils.extend({}, common, param);
+ }
-/**/
-var util = Object.create(__webpack_require__(23));
-util.inherits = __webpack_require__(19);
-/**/
+ return obj;
+ },
+ // An empty object to use as replacement for null-contexts
+ nullContext: Object.seal({}),
-/**/
-var internalUtil = {
- deprecate: __webpack_require__(148)
-};
-/**/
+ noop: env.VM.noop,
+ compilerInfo: templateSpec.compiler
+ };
-/**/
-var Stream = __webpack_require__(51);
-/**/
+ function ret(context) {
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-/**/
+ var data = options.data;
-var Buffer = __webpack_require__(34).Buffer;
-var OurUint8Array = global.Uint8Array || function () {};
-function _uint8ArrayToBuffer(chunk) {
- return Buffer.from(chunk);
-}
-function _isUint8Array(obj) {
- return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;
-}
+ ret._setup(options);
+ if (!options.partial && templateSpec.useData) {
+ data = initData(context, data);
+ }
+ var depths = undefined,
+ blockParams = templateSpec.useBlockParams ? [] : undefined;
+ if (templateSpec.useDepths) {
+ if (options.depths) {
+ depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
+ } else {
+ depths = [context];
+ }
+ }
-/**/
+ function main(context /*, options*/) {
+ return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
+ }
-var destroyImpl = __webpack_require__(52);
+ main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
+ return main(context, options);
+ }
-util.inherits(Writable, Stream);
+ ret.isTop = true;
-function nop() {}
+ ret._setup = function (options) {
+ if (!options.partial) {
+ var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);
+ wrapHelpersToPassLookupProperty(mergedHelpers, container);
+ container.helpers = mergedHelpers;
-function WritableState(options, stream) {
- Duplex = Duplex || __webpack_require__(14);
+ if (templateSpec.usePartial) {
+ // Use mergeIfNeeded here to prevent compiling global partials multiple times
+ container.partials = container.mergeIfNeeded(options.partials, env.partials);
+ }
+ if (templateSpec.usePartial || templateSpec.useDecorators) {
+ container.decorators = Utils.extend({}, env.decorators, options.decorators);
+ }
- options = options || {};
+ container.hooks = {};
+ container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(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 to indicate whether or not this stream
- // contains buffers or objects.
- this.objectMode = !!options.objectMode;
-
- if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;
-
- // the point at which write() starts returning false
- // Note: 0 is a valid value, means that we always return false if
- // the entire buffer is not flushed immediately on write()
- var hwm = options.highWaterMark;
- var writableHwm = options.writableHighWaterMark;
- var defaultHwm = this.objectMode ? 16 : 16 * 1024;
-
- if (hwm || hwm === 0) this.highWaterMark = hwm;else if (isDuplex && (writableHwm || writableHwm === 0)) this.highWaterMark = writableHwm;else this.highWaterMark = defaultHwm;
-
- // cast to ints.
- this.highWaterMark = Math.floor(this.highWaterMark);
-
- // if _final has been called
- this.finalCalled = false;
-
- // drain event flag.
- this.needDrain = false;
- // at the start of calling end()
- this.ending = false;
- // when end() has been called, and returned
- this.ended = false;
- // when 'finish' is emitted
- this.finished = false;
-
- // has it been destroyed
- this.destroyed = false;
-
- // should we decode strings into buffers before passing to _write?
- // this is here so that some node-core streams can optimize string
- // handling at a lower level.
- var noDecode = options.decodeStrings === false;
- this.decodeStrings = !noDecode;
-
- // 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';
-
- // not an actual buffer we keep track of, but a measurement
- // of how much we're waiting to get pushed to some underlying
- // socket or file.
- this.length = 0;
-
- // a flag to see when we're in the middle of a write.
- this.writing = false;
-
- // when true all writes will be buffered until .uncork() call
- this.corked = 0;
-
- // a flag to be able to tell if the onwrite cb is called 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 write call.
- this.sync = true;
-
- // a flag to know if we're processing previously buffered items, which
- // may call the _write() callback in the same tick, so that we don't
- // end up in an overlapped onwrite situation.
- this.bufferProcessing = false;
-
- // the callback that's passed to _write(chunk,cb)
- this.onwrite = function (er) {
- onwrite(stream, er);
+ var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
+ _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
+ _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
+ } else {
+ container.protoAccessControl = options.protoAccessControl; // internal option
+ container.helpers = options.helpers;
+ container.partials = options.partials;
+ container.decorators = options.decorators;
+ container.hooks = options.hooks;
+ }
};
- // the callback that the user supplies to write(chunk,encoding,cb)
- this.writecb = null;
-
- // the amount that is being written when _write is called.
- this.writelen = 0;
+ ret._child = function (i, data, blockParams, depths) {
+ if (templateSpec.useBlockParams && !blockParams) {
+ throw new _exception2['default']('must pass block params');
+ }
+ if (templateSpec.useDepths && !depths) {
+ throw new _exception2['default']('must pass parent depths');
+ }
- this.bufferedRequest = null;
- this.lastBufferedRequest = null;
+ return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
+ };
+ return ret;
+}
- // number of pending user-supplied write callbacks
- // this must be 0 before 'finish' can be emitted
- this.pendingcb = 0;
+function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
+ function prog(context) {
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
- // emit prefinish if the only thing we're waiting for is _write cbs
- // This is relevant for synchronous Transform streams
- this.prefinished = false;
+ var currentDepths = depths;
+ if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {
+ currentDepths = [context].concat(depths);
+ }
- // True if the error was already emitted and should not be thrown again
- this.errorEmitted = false;
+ return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
+ }
- // count buffered requests
- this.bufferedRequestCount = 0;
+ prog = executeDecorators(fn, prog, container, depths, data, blockParams);
- // allocate the first CorkedRequest, there is always
- // one allocated and free to use, and we maintain at most two
- this.corkedRequestsFree = new CorkedRequest(this);
+ prog.program = i;
+ prog.depth = depths ? depths.length : 0;
+ prog.blockParams = declaredBlockParams || 0;
+ return prog;
}
-WritableState.prototype.getBuffer = function getBuffer() {
- var current = this.bufferedRequest;
- var out = [];
- while (current) {
- out.push(current);
- current = current.next;
- }
- return out;
-};
-
-(function () {
- try {
- Object.defineProperty(WritableState.prototype, 'buffer', {
- get: internalUtil.deprecate(function () {
- return this.getBuffer();
- }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')
- });
- } catch (_) {}
-})();
+/**
+ * This is currently part of the official API, therefore implementation details should not be changed.
+ */
-// Test _writableState for inheritance to account for Duplex streams,
-// whose prototype chain only points to Readable.
-var realHasInstance;
-if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {
- realHasInstance = Function.prototype[Symbol.hasInstance];
- Object.defineProperty(Writable, Symbol.hasInstance, {
- value: function (object) {
- if (realHasInstance.call(this, object)) return true;
- if (this !== Writable) return false;
-
- return object && object._writableState instanceof WritableState;
+function resolvePartial(partial, context, options) {
+ if (!partial) {
+ if (options.name === '@partial-block') {
+ partial = options.data['partial-block'];
+ } else {
+ partial = options.partials[options.name];
}
- });
-} else {
- realHasInstance = function (object) {
- return object instanceof this;
- };
+ } else if (!partial.call && !options.name) {
+ // This is a dynamic partial that returned a string
+ options.name = partial;
+ partial = options.partials[partial];
+ }
+ return partial;
}
-function Writable(options) {
- Duplex = Duplex || __webpack_require__(14);
-
- // Writable ctor is applied to Duplexes, too.
- // `realHasInstance` is necessary because using plain `instanceof`
- // would return false, as no `_writableState` property is attached.
-
- // Trying to use the custom `instanceof` for Writable here will also break the
- // Node.js LazyTransform implementation, which has a non-trivial getter for
- // `_writableState` that would lead to infinite recursion.
- if (!realHasInstance.call(Writable, this) && !(this instanceof Duplex)) {
- return new Writable(options);
+function invokePartial(partial, context, options) {
+ // Use the current closure context to save the partial-block if this partial
+ var currentPartialBlock = options.data && options.data['partial-block'];
+ options.partial = true;
+ if (options.ids) {
+ options.data.contextPath = options.ids[0] || options.data.contextPath;
}
- this._writableState = new WritableState(options, this);
-
- // legacy.
- this.writable = true;
-
- if (options) {
- if (typeof options.write === 'function') this._write = options.write;
+ var partialBlock = undefined;
+ if (options.fn && options.fn !== noop) {
+ (function () {
+ options.data = _base.createFrame(options.data);
+ // Wrapper function to get access to currentPartialBlock from the closure
+ var fn = options.fn;
+ partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
- if (typeof options.writev === 'function') this._writev = options.writev;
+ // Restore the partial-block from the closure for the execution of the block
+ // i.e. the part inside the block of the partial call.
+ options.data = _base.createFrame(options.data);
+ options.data['partial-block'] = currentPartialBlock;
+ return fn(context, options);
+ };
+ if (fn.partials) {
+ options.partials = Utils.extend({}, options.partials, fn.partials);
+ }
+ })();
+ }
- if (typeof options.destroy === 'function') this._destroy = options.destroy;
+ if (partial === undefined && partialBlock) {
+ partial = partialBlock;
+ }
- if (typeof options.final === 'function') this._final = options.final;
+ if (partial === undefined) {
+ throw new _exception2['default']('The partial ' + options.name + ' could not be found');
+ } else if (partial instanceof Function) {
+ return partial(context, options);
}
+}
- Stream.call(this);
+function noop() {
+ return '';
}
-// Otherwise people can pipe Writable streams, which is just wrong.
-Writable.prototype.pipe = function () {
- this.emit('error', new Error('Cannot pipe, not readable'));
-};
+function initData(context, data) {
+ if (!data || !('root' in data)) {
+ data = data ? _base.createFrame(data) : {};
+ data.root = context;
+ }
+ return data;
+}
-function writeAfterEnd(stream, cb) {
- var er = new Error('write after end');
- // TODO: defer error events consistently everywhere, not just the cb
- stream.emit('error', er);
- pna.nextTick(cb, er);
+function executeDecorators(fn, prog, container, depths, data, blockParams) {
+ if (fn.decorator) {
+ var props = {};
+ prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
+ Utils.extend(prog, props);
+ }
+ return prog;
}
-// Checks that a user-supplied chunk is valid, especially for the particular
-// mode the stream is in. Currently this means that `null` is never accepted
-// and undefined/non-string values are only allowed in object mode.
-function validChunk(stream, state, chunk, cb) {
- var valid = true;
- var er = false;
+function wrapHelpersToPassLookupProperty(mergedHelpers, container) {
+ Object.keys(mergedHelpers).forEach(function (helperName) {
+ var helper = mergedHelpers[helperName];
+ mergedHelpers[helperName] = passLookupPropertyOption(helper, container);
+ });
+}
- if (chunk === null) {
- er = new TypeError('May not write null values to stream');
- } else if (typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {
- er = new TypeError('Invalid non-string/buffer chunk');
- }
- if (er) {
- stream.emit('error', er);
- pna.nextTick(cb, er);
- valid = false;
- }
- return valid;
+function passLookupPropertyOption(helper, container) {
+ var lookupProperty = container.lookupProperty;
+ return _internalWrapHelper.wrapHelper(helper, function (options) {
+ return Utils.extend({ lookupProperty: lookupProperty }, options);
+ });
}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztHQUN4RTs7QUFFRCxjQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O0FBSWxELEtBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O0FBRzVDLE1BQU0sb0NBQW9DLEdBQ3hDLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRTFELFdBQVMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDdkQsUUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELFVBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGVBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0tBQ0Y7QUFDRCxXQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUV0RSxRQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDOUMsV0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0FBQ2pCLHdCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7S0FDNUMsQ0FBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDOztBQUVGLFFBQUksTUFBTSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzFDLE9BQU8sRUFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixHQUFHLENBQ0osQ0FBQztBQUNGLFlBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDbkU7QUFDRCxRQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsVUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ2xCLFlBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsYUFBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLGtCQUFNO1dBQ1A7O0FBRUQsZUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0FBQ0QsY0FBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7QUFDRCxhQUFPLE1BQU0sQ0FBQztLQUNmLE1BQU07QUFDTCxZQUFNLDJCQUNKLGNBQWMsR0FDWixPQUFPLENBQUMsSUFBSSxHQUNaLDBEQUEwRCxDQUM3RCxDQUFDO0tBQ0g7R0FDRjs7O0FBR0QsTUFBSSxTQUFTLEdBQUc7QUFDZCxVQUFNLEVBQUUsZ0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDL0IsVUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxHQUFHLENBQUEsQUFBQyxFQUFFO0FBQzFCLGNBQU0sMkJBQWMsR0FBRyxHQUFHLElBQUksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7QUFDMUQsYUFBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7T0FDSjtBQUNELGFBQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xCO0FBQ0Qsa0JBQWMsRUFBRSx3QkFBUyxNQUFNLEVBQUUsWUFBWSxFQUFFO0FBQzdDLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNsQyxVQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsZUFBTyxNQUFNLENBQUM7T0FDZjtBQUNELFVBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRTtBQUM5RCxlQUFPLE1BQU0sQ0FBQztPQUNmOztBQUVELFVBQUkscUNBQWdCLE1BQU0sRUFBRSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEVBQUU7QUFDdkUsZUFBTyxNQUFNLENBQUM7T0FDZjtBQUNELGFBQU8sU0FBUyxDQUFDO0tBQ2xCO0FBQ0QsVUFBTSxFQUFFLGdCQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDN0IsVUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUMxQixXQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFlBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRSxZQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsaUJBQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO09BQ0Y7S0FDRjtBQUNELFVBQU0sRUFBRSxnQkFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sT0FBTyxPQUFPLEtBQUssVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQ3hFOztBQUVELG9CQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7QUFDeEMsaUJBQWEsRUFBRSxvQkFBb0I7O0FBRW5DLE1BQUUsRUFBRSxZQUFTLENBQUMsRUFBRTtBQUNkLFVBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixTQUFHLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdkMsYUFBTyxHQUFHLENBQUM7S0FDWjs7QUFFRCxZQUFRLEVBQUUsRUFBRTtBQUNaLFdBQU8sRUFBRSxpQkFBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUU7QUFDbkUsVUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7VUFDbkMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsVUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLFdBQVcsSUFBSSxtQkFBbUIsRUFBRTtBQUN4RCxzQkFBYyxHQUFHLFdBQVcsQ0FDMUIsSUFBSSxFQUNKLENBQUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7T0FDSCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDMUIsc0JBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzlEO0FBQ0QsYUFBTyxjQUFjLENBQUM7S0FDdkI7O0FBRUQsUUFBSSxFQUFFLGNBQVMsS0FBSyxFQUFFLEtBQUssRUFBRTtBQUMzQixhQUFPLEtBQUssSUFBSSxLQUFLLEVBQUUsRUFBRTtBQUN2QixhQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztPQUN2QjtBQUNELGFBQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDRCxpQkFBYSxFQUFFLHVCQUFTLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDckMsVUFBSSxHQUFHLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQzs7QUFFMUIsVUFBSSxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7QUFDdkMsV0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztPQUN2Qzs7QUFFRCxhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELGVBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzs7QUFFNUIsUUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSTtBQUNqQixnQkFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRO0dBQ3BDLENBQUM7O0FBRUYsV0FBUyxHQUFHLENBQUMsT0FBTyxFQUFnQjtRQUFkLE9BQU8seURBQUcsRUFBRTs7QUFDaEMsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQzs7QUFFeEIsT0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQixRQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO0FBQzVDLFVBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2hDO0FBQ0QsUUFBSSxNQUFNLFlBQUE7UUFDUixXQUFXLEdBQUcsWUFBWSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0FBQzdELFFBQUksWUFBWSxDQUFDLFNBQVMsRUFBRTtBQUMxQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsY0FBTSxHQUNKLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUN4QixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQUM7T0FDdEIsTUFBTTtBQUNMLGNBQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO09BQ3BCO0tBQ0Y7O0FBRUQsYUFBUyxJQUFJLENBQUMsT0FBTyxnQkFBZ0I7QUFDbkMsYUFDRSxFQUFFLEdBQ0YsWUFBWSxDQUFDLElBQUksQ0FDZixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLElBQUksRUFDSixXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQ0Q7S0FDSDs7QUFFRCxRQUFJLEdBQUcsaUJBQWlCLENBQ3RCLFlBQVksQ0FBQyxJQUFJLEVBQ2pCLElBQUksRUFDSixTQUFTLEVBQ1QsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQ3BCLElBQUksRUFDSixXQUFXLENBQ1osQ0FBQztBQUNGLFdBQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUMvQjs7QUFFRCxLQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzs7QUFFakIsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM3QixRQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUNwQixVQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuRSxxQ0FBK0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDMUQsZUFBUyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRWxDLFVBQUksWUFBWSxDQUFDLFVBQVUsRUFBRTs7QUFFM0IsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FDMUMsT0FBTyxDQUFDLFFBQVEsRUFDaEIsR0FBRyxDQUFDLFFBQVEsQ0FDYixDQUFDO09BQ0g7QUFDRCxVQUFJLFlBQVksQ0FBQyxVQUFVLElBQUksWUFBWSxDQUFDLGFBQWEsRUFBRTtBQUN6RCxpQkFBUyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqQyxFQUFFLEVBQ0YsR0FBRyxDQUFDLFVBQVUsRUFDZCxPQUFPLENBQUMsVUFBVSxDQUNuQixDQUFDO09BQ0g7O0FBRUQsZUFBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDckIsZUFBUyxDQUFDLGtCQUFrQixHQUFHLDhDQUF5QixPQUFPLENBQUMsQ0FBQzs7QUFFakUsVUFBSSxtQkFBbUIsR0FDckIsT0FBTyxDQUFDLHlCQUF5QixJQUNqQyxvQ0FBb0MsQ0FBQztBQUN2QyxpQ0FBa0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ25FLGlDQUFrQixTQUFTLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztLQUN6RSxNQUFNO0FBQ0wsZUFBUyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztBQUMxRCxlQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDcEMsZUFBUyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0FBQ3RDLGVBQVMsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUMxQyxlQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDakM7R0FDRixDQUFDOztBQUVGLEtBQUcsQ0FBQyxNQUFNLEdBQUcsVUFBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUU7QUFDbEQsUUFBSSxZQUFZLENBQUMsY0FBYyxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQy9DLFlBQU0sMkJBQWMsd0JBQXdCLENBQUMsQ0FBQztLQUMvQztBQUNELFFBQUksWUFBWSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNyQyxZQUFNLDJCQUFjLHlCQUF5QixDQUFDLENBQUM7S0FDaEQ7O0FBRUQsV0FBTyxXQUFXLENBQ2hCLFNBQVMsRUFDVCxDQUFDLEVBQ0QsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNmLElBQUksRUFDSixDQUFDLEVBQ0QsV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0dBQ0gsQ0FBQztBQUNGLFNBQU8sR0FBRyxDQUFDO0NBQ1o7O0FBRU0sU0FBUyxXQUFXLENBQ3pCLFNBQVMsRUFDVCxDQUFDLEVBQ0QsRUFBRSxFQUNGLElBQUksRUFDSixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE1BQU0sRUFDTjtBQUNBLFdBQVMsSUFBSSxDQUFDLE9BQU8sRUFBZ0I7UUFBZCxPQUFPLHlEQUFHLEVBQUU7O0FBQ2pDLFFBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUMzQixRQUNFLE1BQU0sSUFDTixPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUNwQixFQUFFLE9BQU8sS0FBSyxTQUFTLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUEsQUFBQyxFQUMxRDtBQUNBLG1CQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7O0FBRUQsV0FBTyxFQUFFLENBQ1AsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLENBQUMsT0FBTyxFQUNqQixTQUFTLENBQUMsUUFBUSxFQUNsQixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksRUFDcEIsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDeEQsYUFBYSxDQUNkLENBQUM7R0FDSDs7QUFFRCxNQUFJLEdBQUcsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQzs7QUFFekUsTUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDakIsTUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDeEMsTUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsSUFBSSxDQUFDLENBQUM7QUFDNUMsU0FBTyxJQUFJLENBQUM7Q0FDYjs7Ozs7O0FBS00sU0FBUyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDeEQsTUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNaLFFBQUksT0FBTyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtBQUNyQyxhQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN6QyxNQUFNO0FBQ0wsYUFBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzFDO0dBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7O0FBRXpDLFdBQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFdBQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3JDO0FBQ0QsU0FBTyxPQUFPLENBQUM7Q0FDaEI7O0FBRU0sU0FBUyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRXZELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzFFLFNBQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLE1BQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLFdBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7R0FDdkU7O0FBRUQsTUFBSSxZQUFZLFlBQUEsQ0FBQztBQUNqQixNQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7O0FBQ3JDLGFBQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUV6QyxVQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQ3BCLGtCQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxTQUFTLG1CQUFtQixDQUN6RSxPQUFPLEVBRVA7WUFEQSxPQUFPLHlEQUFHLEVBQUU7Ozs7QUFJWixlQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxlQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELGVBQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztPQUM3QixDQUFDO0FBQ0YsVUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0FBQ2YsZUFBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztPQUNwRTs7R0FDRjs7QUFFRCxNQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksWUFBWSxFQUFFO0FBQ3pDLFdBQU8sR0FBRyxZQUFZLENBQUM7R0FDeEI7O0FBRUQsTUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO0FBQ3pCLFVBQU0sMkJBQWMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUMsQ0FBQztHQUM1RSxNQUFNLElBQUksT0FBTyxZQUFZLFFBQVEsRUFBRTtBQUN0QyxXQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7R0FDbEM7Q0FDRjs7QUFFTSxTQUFTLElBQUksR0FBRztBQUNyQixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7QUFDL0IsTUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUEsQUFBQyxFQUFFO0FBQzlCLFFBQUksR0FBRyxJQUFJLEdBQUcsa0JBQVksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLFFBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0dBQ3JCO0FBQ0QsU0FBTyxJQUFJLENBQUM7Q0FDYjs7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3pFLE1BQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtBQUNoQixRQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDZixRQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FDakIsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDbkIsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztBQUNGLFNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNCO0FBQ0QsU0FBTyxJQUFJLENBQUM7Q0FDYjs7QUFFRCxTQUFTLCtCQUErQixDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUU7QUFDakUsUUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxVQUFVLEVBQUk7QUFDL0MsUUFBSSxNQUFNLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZDLGlCQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3pFLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUNuRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ2hELFNBQU8sK0JBQVcsTUFBTSxFQUFFLFVBQUEsT0FBTyxFQUFJO0FBQ25DLFdBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGNBQWMsRUFBZCxjQUFjLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNsRCxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJydW50aW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vZXhjZXB0aW9uJztcbmltcG9ydCB7XG4gIENPTVBJTEVSX1JFVklTSU9OLFxuICBjcmVhdGVGcmFtZSxcbiAgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OLFxuICBSRVZJU0lPTl9DSEFOR0VTXG59IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBtb3ZlSGVscGVyVG9Ib29rcyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyB3cmFwSGVscGVyIH0gZnJvbSAnLi9pbnRlcm5hbC93cmFwSGVscGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbCxcbiAgcmVzdWx0SXNBbGxvd2VkXG59IGZyb20gJy4vaW50ZXJuYWwvcHJvdG8tYWNjZXNzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrUmV2aXNpb24oY29tcGlsZXJJbmZvKSB7XG4gIGNvbnN0IGNvbXBpbGVyUmV2aXNpb24gPSAoY29tcGlsZXJJbmZvICYmIGNvbXBpbGVySW5mb1swXSkgfHwgMSxcbiAgICBjdXJyZW50UmV2aXNpb24gPSBDT01QSUxFUl9SRVZJU0lPTjtcblxuICBpZiAoXG4gICAgY29tcGlsZXJSZXZpc2lvbiA+PSBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04gJiZcbiAgICBjb21waWxlclJldmlzaW9uIDw9IENPTVBJTEVSX1JFVklTSU9OXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb21waWxlclJldmlzaW9uIDwgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OKSB7XG4gICAgY29uc3QgcnVudGltZVZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjdXJyZW50UmV2aXNpb25dLFxuICAgICAgY29tcGlsZXJWZXJzaW9ucyA9IFJFVklTSU9OX0NIQU5HRVNbY29tcGlsZXJSZXZpc2lvbl07XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdUZW1wbGF0ZSB3YXMgcHJlY29tcGlsZWQgd2l0aCBhbiBvbGRlciB2ZXJzaW9uIG9mIEhhbmRsZWJhcnMgdGhhbiB0aGUgY3VycmVudCBydW50aW1lLiAnICtcbiAgICAgICAgJ1BsZWFzZSB1cGRhdGUgeW91ciBwcmVjb21waWxlciB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBydW50aW1lVmVyc2lvbnMgK1xuICAgICAgICAnKSBvciBkb3duZ3JhZGUgeW91ciBydW50aW1lIHRvIGFuIG9sZGVyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlclZlcnNpb25zICtcbiAgICAgICAgJykuJ1xuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIHRoZSBlbWJlZGRlZCB2ZXJzaW9uIGluZm8gc2luY2UgdGhlIHJ1bnRpbWUgZG9lc24ndCBrbm93IGFib3V0IHRoaXMgcmV2aXNpb24geWV0XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdUZW1wbGF0ZSB3YXMgcHJlY29tcGlsZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHJ1bnRpbWUgdG8gYSBuZXdlciB2ZXJzaW9uICgnICtcbiAgICAgICAgY29tcGlsZXJJbmZvWzFdICtcbiAgICAgICAgJykuJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlbXBsYXRlKHRlbXBsYXRlU3BlYywgZW52KSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmICghZW52KSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gZW52aXJvbm1lbnQgcGFzc2VkIHRvIHRlbXBsYXRlJyk7XG4gIH1cbiAgaWYgKCF0ZW1wbGF0ZVNwZWMgfHwgIXRlbXBsYXRlU3BlYy5tYWluKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVW5rbm93biB0ZW1wbGF0ZSBvYmplY3Q6ICcgKyB0eXBlb2YgdGVtcGxhdGVTcGVjKTtcbiAgfVxuXG4gIHRlbXBsYXRlU3BlYy5tYWluLmRlY29yYXRvciA9IHRlbXBsYXRlU3BlYy5tYWluX2Q7XG5cbiAgLy8gTm90ZTogVXNpbmcgZW52LlZNIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4gbG9jYWwgdmFyIHJlZmVyZW5jZXMgdGhyb3VnaG91dCB0aGlzIHNlY3Rpb24gdG8gYWxsb3dcbiAgLy8gZm9yIGV4dGVybmFsIHVzZXJzIHRvIG92ZXJyaWRlIHRoZXNlIGFzIHBzZXVkby1zdXBwb3J0ZWQgQVBJcy5cbiAgZW52LlZNLmNoZWNrUmV2aXNpb24odGVtcGxhdGVTcGVjLmNvbXBpbGVyKTtcblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgcHJlY29tcGlsZWQgdGVtcGxhdGVzIHdpdGggY29tcGlsZXItdmVyc2lvbiA3ICg8NC4zLjApXG4gIGNvbnN0IHRlbXBsYXRlV2FzUHJlY29tcGlsZWRXaXRoQ29tcGlsZXJWNyA9XG4gICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyICYmIHRlbXBsYXRlU3BlYy5jb21waWxlclswXSA9PT0gNztcblxuICBmdW5jdGlvbiBpbnZva2VQYXJ0aWFsV3JhcHBlcihwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMuaGFzaCkge1xuICAgICAgY29udGV4dCA9IFV0aWxzLmV4dGVuZCh7fSwgY29udGV4dCwgb3B0aW9ucy5oYXNoKTtcbiAgICAgIGlmIChvcHRpb25zLmlkcykge1xuICAgICAgICBvcHRpb25zLmlkc1swXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHBhcnRpYWwgPSBlbnYuVk0ucmVzb2x2ZVBhcnRpYWwuY2FsbCh0aGlzLCBwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKTtcblxuICAgIGxldCBleHRlbmRlZE9wdGlvbnMgPSBVdGlscy5leHRlbmQoe30sIG9wdGlvbnMsIHtcbiAgICAgIGhvb2tzOiB0aGlzLmhvb2tzLFxuICAgICAgcHJvdG9BY2Nlc3NDb250cm9sOiB0aGlzLnByb3RvQWNjZXNzQ29udHJvbFxuICAgIH0pO1xuXG4gICAgbGV0IHJlc3VsdCA9IGVudi5WTS5pbnZva2VQYXJ0aWFsLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgcGFydGlhbCxcbiAgICAgIGNvbnRleHQsXG4gICAgICBleHRlbmRlZE9wdGlvbnNcbiAgICApO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsICYmIGVudi5jb21waWxlKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0gPSBlbnYuY29tcGlsZShcbiAgICAgICAgcGFydGlhbCxcbiAgICAgICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgZW52XG4gICAgICApO1xuICAgICAgcmVzdWx0ID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdKGNvbnRleHQsIGV4dGVuZGVkT3B0aW9ucyk7XG4gICAgfVxuICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xuICAgICAgaWYgKG9wdGlvbnMuaW5kZW50KSB7XG4gICAgICAgIGxldCBsaW5lcyA9IHJlc3VsdC5zcGxpdCgnXFxuJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gbGluZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCFsaW5lc1tpXSAmJiBpICsgMSA9PT0gbCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGluZXNbaV0gPSBvcHRpb25zLmluZGVudCArIGxpbmVzW2ldO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IGxpbmVzLmpvaW4oJ1xcbicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1RoZSBwYXJ0aWFsICcgK1xuICAgICAgICAgIG9wdGlvbnMubmFtZSArXG4gICAgICAgICAgJyBjb3VsZCBub3QgYmUgY29tcGlsZWQgd2hlbiBydW5uaW5nIGluIHJ1bnRpbWUtb25seSBtb2RlJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBKdXN0IGFkZCB3YXRlclxuICBsZXQgY29udGFpbmVyID0ge1xuICAgIHN0cmljdDogZnVuY3Rpb24ob2JqLCBuYW1lLCBsb2MpIHtcbiAgICAgIGlmICghb2JqIHx8ICEobmFtZSBpbiBvYmopKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1wiJyArIG5hbWUgKyAnXCIgbm90IGRlZmluZWQgaW4gJyArIG9iaiwge1xuICAgICAgICAgIGxvYzogbG9jXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialtuYW1lXTtcbiAgICB9LFxuICAgIGxvb2t1cFByb3BlcnR5OiBmdW5jdGlvbihwYXJlbnQsIHByb3BlcnR5TmFtZSkge1xuICAgICAgbGV0IHJlc3VsdCA9IHBhcmVudFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmVudCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIGxvb2t1cDogZnVuY3Rpb24oZGVwdGhzLCBuYW1lKSB7XG4gICAgICBjb25zdCBsZW4gPSBkZXB0aHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZGVwdGhzW2ldICYmIGNvbnRhaW5lci5sb29rdXBQcm9wZXJ0eShkZXB0aHNbaV0sIG5hbWUpO1xuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZGVwdGhzW2ldW25hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYW1iZGE6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbnRleHQpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgY3VycmVudCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnQuY2FsbChjb250ZXh0KSA6IGN1cnJlbnQ7XG4gICAgfSxcblxuICAgIGVzY2FwZUV4cHJlc3Npb246IFV0aWxzLmVzY2FwZUV4cHJlc3Npb24sXG4gICAgaW52b2tlUGFydGlhbDogaW52b2tlUGFydGlhbFdyYXBwZXIsXG5cbiAgICBmbjogZnVuY3Rpb24oaSkge1xuICAgICAgbGV0IHJldCA9IHRlbXBsYXRlU3BlY1tpXTtcbiAgICAgIHJldC5kZWNvcmF0b3IgPSB0ZW1wbGF0ZVNwZWNbaSArICdfZCddO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuXG4gICAgcHJvZ3JhbXM6IFtdLFxuICAgIHByb2dyYW06IGZ1bmN0aW9uKGksIGRhdGEsIGRlY2xhcmVkQmxvY2tQYXJhbXMsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICAgIGxldCBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0sXG4gICAgICAgIGZuID0gdGhpcy5mbihpKTtcbiAgICAgIGlmIChkYXRhIHx8IGRlcHRocyB8fCBibG9ja1BhcmFtcyB8fCBkZWNsYXJlZEJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gd3JhcFByb2dyYW0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb2dyYW1XcmFwcGVyKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gdGhpcy5wcm9ncmFtc1tpXSA9IHdyYXBQcm9ncmFtKHRoaXMsIGksIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9ncmFtV3JhcHBlcjtcbiAgICB9LFxuXG4gICAgZGF0YTogZnVuY3Rpb24odmFsdWUsIGRlcHRoKSB7XG4gICAgICB3aGlsZSAodmFsdWUgJiYgZGVwdGgtLSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLl9wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBtZXJnZUlmTmVlZGVkOiBmdW5jdGlvbihwYXJhbSwgY29tbW9uKSB7XG4gICAgICBsZXQgb2JqID0gcGFyYW0gfHwgY29tbW9uO1xuXG4gICAgICBpZiAocGFyYW0gJiYgY29tbW9uICYmIHBhcmFtICE9PSBjb21tb24pIHtcbiAgICAgICAgb2JqID0gVXRpbHMuZXh0ZW5kKHt9LCBjb21tb24sIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LFxuICAgIC8vIEFuIGVtcHR5IG9iamVjdCB0byB1c2UgYXMgcmVwbGFjZW1lbnQgZm9yIG51bGwtY29udGV4dHNcbiAgICBudWxsQ29udGV4dDogT2JqZWN0LnNlYWwoe30pLFxuXG4gICAgbm9vcDogZW52LlZNLm5vb3AsXG4gICAgY29tcGlsZXJJbmZvOiB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJcbiAgfTtcblxuICBmdW5jdGlvbiByZXQoY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgICByZXQuX3NldHVwKG9wdGlvbnMpO1xuICAgIGlmICghb3B0aW9ucy5wYXJ0aWFsICYmIHRlbXBsYXRlU3BlYy51c2VEYXRhKSB7XG4gICAgICBkYXRhID0gaW5pdERhdGEoY29udGV4dCwgZGF0YSk7XG4gICAgfVxuICAgIGxldCBkZXB0aHMsXG4gICAgICBibG9ja1BhcmFtcyA9IHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyA/IFtdIDogdW5kZWZpbmVkO1xuICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlRGVwdGhzKSB7XG4gICAgICBpZiAob3B0aW9ucy5kZXB0aHMpIHtcbiAgICAgICAgZGVwdGhzID1cbiAgICAgICAgICBjb250ZXh0ICE9IG9wdGlvbnMuZGVwdGhzWzBdXG4gICAgICAgICAgICA/IFtjb250ZXh0XS5jb25jYXQob3B0aW9ucy5kZXB0aHMpXG4gICAgICAgICAgICA6IG9wdGlvbnMuZGVwdGhzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwdGhzID0gW2NvbnRleHRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1haW4oY29udGV4dCAvKiwgb3B0aW9ucyovKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAnJyArXG4gICAgICAgIHRlbXBsYXRlU3BlYy5tYWluKFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNvbnRhaW5lci5oZWxwZXJzLFxuICAgICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgICAgIGRlcHRoc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIG1haW4gPSBleGVjdXRlRGVjb3JhdG9ycyhcbiAgICAgIHRlbXBsYXRlU3BlYy5tYWluLFxuICAgICAgbWFpbixcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG9wdGlvbnMuZGVwdGhzIHx8IFtdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zXG4gICAgKTtcbiAgICByZXR1cm4gbWFpbihjb250ZXh0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldC5pc1RvcCA9IHRydWU7XG5cbiAgcmV0Ll9zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCkge1xuICAgICAgbGV0IG1lcmdlZEhlbHBlcnMgPSBVdGlscy5leHRlbmQoe30sIGVudi5oZWxwZXJzLCBvcHRpb25zLmhlbHBlcnMpO1xuICAgICAgd3JhcEhlbHBlcnNUb1Bhc3NMb29rdXBQcm9wZXJ0eShtZXJnZWRIZWxwZXJzLCBjb250YWluZXIpO1xuICAgICAgY29udGFpbmVyLmhlbHBlcnMgPSBtZXJnZWRIZWxwZXJzO1xuXG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwpIHtcbiAgICAgICAgLy8gVXNlIG1lcmdlSWZOZWVkZWQgaGVyZSB0byBwcmV2ZW50IGNvbXBpbGluZyBnbG9iYWwgcGFydGlhbHMgbXVsdGlwbGUgdGltZXNcbiAgICAgICAgY29udGFpbmVyLnBhcnRpYWxzID0gY29udGFpbmVyLm1lcmdlSWZOZWVkZWQoXG4gICAgICAgICAgb3B0aW9ucy5wYXJ0aWFscyxcbiAgICAgICAgICBlbnYucGFydGlhbHNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlUGFydGlhbCB8fCB0ZW1wbGF0ZVNwZWMudXNlRGVjb3JhdG9ycykge1xuICAgICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IFV0aWxzLmV4dGVuZChcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBlbnYuZGVjb3JhdG9ycyxcbiAgICAgICAgICBvcHRpb25zLmRlY29yYXRvcnNcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29udGFpbmVyLmhvb2tzID0ge307XG4gICAgICBjb250YWluZXIucHJvdG9BY2Nlc3NDb250cm9sID0gY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sKG9wdGlvbnMpO1xuXG4gICAgICBsZXQga2VlcEhlbHBlckluSGVscGVycyA9XG4gICAgICAgIG9wdGlvbnMuYWxsb3dDYWxsc1RvSGVscGVyTWlzc2luZyB8fFxuICAgICAgICB0ZW1wbGF0ZVdhc1ByZWNvbXBpbGVkV2l0aENvbXBpbGVyVjc7XG4gICAgICBtb3ZlSGVscGVyVG9Ib29rcyhjb250YWluZXIsICdoZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgICBtb3ZlSGVscGVyVG9Ib29rcyhjb250YWluZXIsICdibG9ja0hlbHBlck1pc3NpbmcnLCBrZWVwSGVscGVySW5IZWxwZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IG9wdGlvbnMucHJvdG9BY2Nlc3NDb250cm9sOyAvLyBpbnRlcm5hbCBvcHRpb25cbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gb3B0aW9ucy5oZWxwZXJzO1xuICAgICAgY29udGFpbmVyLnBhcnRpYWxzID0gb3B0aW9ucy5wYXJ0aWFscztcbiAgICAgIGNvbnRhaW5lci5kZWNvcmF0b3JzID0gb3B0aW9ucy5kZWNvcmF0b3JzO1xuICAgICAgY29udGFpbmVyLmhvb2tzID0gb3B0aW9ucy5ob29rcztcbiAgICB9XG4gIH07XG5cbiAgcmV0Ll9jaGlsZCA9IGZ1bmN0aW9uKGksIGRhdGEsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZUJsb2NrUGFyYW1zICYmICFibG9ja1BhcmFtcykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIGJsb2NrIHBhcmFtcycpO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocyAmJiAhZGVwdGhzKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdtdXN0IHBhc3MgcGFyZW50IGRlcHRocycpO1xuICAgIH1cblxuICAgIHJldHVybiB3cmFwUHJvZ3JhbShcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGksXG4gICAgICB0ZW1wbGF0ZVNwZWNbaV0sXG4gICAgICBkYXRhLFxuICAgICAgMCxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBQcm9ncmFtKFxuICBjb250YWluZXIsXG4gIGksXG4gIGZuLFxuICBkYXRhLFxuICBkZWNsYXJlZEJsb2NrUGFyYW1zLFxuICBibG9ja1BhcmFtcyxcbiAgZGVwdGhzXG4pIHtcbiAgZnVuY3Rpb24gcHJvZyhjb250ZXh0LCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgY3VycmVudERlcHRocyA9IGRlcHRocztcbiAgICBpZiAoXG4gICAgICBkZXB0aHMgJiZcbiAgICAgIGNvbnRleHQgIT0gZGVwdGhzWzBdICYmXG4gICAgICAhKGNvbnRleHQgPT09IGNvbnRhaW5lci5udWxsQ29udGV4dCAmJiBkZXB0aHNbMF0gPT09IG51bGwpXG4gICAgKSB7XG4gICAgICBjdXJyZW50RGVwdGhzID0gW2NvbnRleHRdLmNvbmNhdChkZXB0aHMpO1xuICAgIH1cblxuICAgIHJldHVybiBmbihcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgIG9wdGlvbnMuZGF0YSB8fCBkYXRhLFxuICAgICAgYmxvY2tQYXJhbXMgJiYgW29wdGlvbnMuYmxvY2tQYXJhbXNdLmNvbmNhdChibG9ja1BhcmFtcyksXG4gICAgICBjdXJyZW50RGVwdGhzXG4gICAgKTtcbiAgfVxuXG4gIHByb2cgPSBleGVjdXRlRGVjb3JhdG9ycyhmbiwgcHJvZywgY29udGFpbmVyLCBkZXB0aHMsIGRhdGEsIGJsb2NrUGFyYW1zKTtcblxuICBwcm9nLnByb2dyYW0gPSBpO1xuICBwcm9nLmRlcHRoID0gZGVwdGhzID8gZGVwdGhzLmxlbmd0aCA6IDA7XG4gIHByb2cuYmxvY2tQYXJhbXMgPSBkZWNsYXJlZEJsb2NrUGFyYW1zIHx8IDA7XG4gIHJldHVybiBwcm9nO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgY3VycmVudGx5IHBhcnQgb2YgdGhlIG9mZmljaWFsIEFQSSwgdGhlcmVmb3JlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBhcnRpYWwocGFydGlhbCwgY29udGV4dCwgb3B0aW9ucykge1xuICBpZiAoIXBhcnRpYWwpIHtcbiAgICBpZiAob3B0aW9ucy5uYW1lID09PSAnQHBhcnRpYWwtYmxvY2snKSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ107XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV07XG4gICAgfVxuICB9IGVsc2UgaWYgKCFwYXJ0aWFsLmNhbGwgJiYgIW9wdGlvbnMubmFtZSkge1xuICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHBhcnRpYWwgdGhhdCByZXR1cm5lZCBhIHN0cmluZ1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnRpYWw7XG4gICAgcGFydGlhbCA9IG9wdGlvbnMucGFydGlhbHNbcGFydGlhbF07XG4gIH1cbiAgcmV0dXJuIHBhcnRpYWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZva2VQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgLy8gVXNlIHRoZSBjdXJyZW50IGNsb3N1cmUgY29udGV4dCB0byBzYXZlIHRoZSBwYXJ0aWFsLWJsb2NrIGlmIHRoaXMgcGFydGlhbFxuICBjb25zdCBjdXJyZW50UGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICBvcHRpb25zLnBhcnRpYWwgPSB0cnVlO1xuICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICBvcHRpb25zLmRhdGEuY29udGV4dFBhdGggPSBvcHRpb25zLmlkc1swXSB8fCBvcHRpb25zLmRhdGEuY29udGV4dFBhdGg7XG4gIH1cblxuICBsZXQgcGFydGlhbEJsb2NrO1xuICBpZiAob3B0aW9ucy5mbiAmJiBvcHRpb25zLmZuICE9PSBub29wKSB7XG4gICAgb3B0aW9ucy5kYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAvLyBXcmFwcGVyIGZ1bmN0aW9uIHRvIGdldCBhY2Nlc3MgdG8gY3VycmVudFBhcnRpYWxCbG9jayBmcm9tIHRoZSBjbG9zdXJlXG4gICAgbGV0IGZuID0gb3B0aW9ucy5mbjtcbiAgICBwYXJ0aWFsQmxvY2sgPSBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXSA9IGZ1bmN0aW9uIHBhcnRpYWxCbG9ja1dyYXBwZXIoXG4gICAgICBjb250ZXh0LFxuICAgICAgb3B0aW9ucyA9IHt9XG4gICAgKSB7XG4gICAgICAvLyBSZXN0b3JlIHRoZSBwYXJ0aWFsLWJsb2NrIGZyb20gdGhlIGNsb3N1cmUgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhlIGJsb2NrXG4gICAgICAvLyBpLmUuIHRoZSBwYXJ0IGluc2lkZSB0aGUgYmxvY2sgb2YgdGhlIHBhcnRpYWwgY2FsbC5cbiAgICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgICBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXSA9IGN1cnJlbnRQYXJ0aWFsQmxvY2s7XG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICBpZiAoZm4ucGFydGlhbHMpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHMgPSBVdGlscy5leHRlbmQoe30sIG9wdGlvbnMucGFydGlhbHMsIGZuLnBhcnRpYWxzKTtcbiAgICB9XG4gIH1cblxuICBpZiAocGFydGlhbCA9PT0gdW5kZWZpbmVkICYmIHBhcnRpYWxCbG9jaykge1xuICAgIHBhcnRpYWwgPSBwYXJ0aWFsQmxvY2s7XG4gIH1cblxuICBpZiAocGFydGlhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIHBhcnRpYWwgJyArIG9wdGlvbnMubmFtZSArICcgY291bGQgbm90IGJlIGZvdW5kJyk7XG4gIH0gZWxzZSBpZiAocGFydGlhbCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHBhcnRpYWwoY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKSB7XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gaW5pdERhdGEoY29udGV4dCwgZGF0YSkge1xuICBpZiAoIWRhdGEgfHwgISgncm9vdCcgaW4gZGF0YSkpIHtcbiAgICBkYXRhID0gZGF0YSA/IGNyZWF0ZUZyYW1lKGRhdGEpIDoge307XG4gICAgZGF0YS5yb290ID0gY29udGV4dDtcbiAgfVxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcykge1xuICBpZiAoZm4uZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb3BzID0ge307XG4gICAgcHJvZyA9IGZuLmRlY29yYXRvcihcbiAgICAgIHByb2csXG4gICAgICBwcm9wcyxcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGRlcHRocyAmJiBkZXB0aHNbMF0sXG4gICAgICBkYXRhLFxuICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICBkZXB0aHNcbiAgICApO1xuICAgIFV0aWxzLmV4dGVuZChwcm9nLCBwcm9wcyk7XG4gIH1cbiAgcmV0dXJuIHByb2c7XG59XG5cbmZ1bmN0aW9uIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKSB7XG4gIE9iamVjdC5rZXlzKG1lcmdlZEhlbHBlcnMpLmZvckVhY2goaGVscGVyTmFtZSA9PiB7XG4gICAgbGV0IGhlbHBlciA9IG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV07XG4gICAgbWVyZ2VkSGVscGVyc1toZWxwZXJOYW1lXSA9IHBhc3NMb29rdXBQcm9wZXJ0eU9wdGlvbihoZWxwZXIsIGNvbnRhaW5lcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpIHtcbiAgY29uc3QgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHk7XG4gIHJldHVybiB3cmFwSGVscGVyKGhlbHBlciwgb3B0aW9ucyA9PiB7XG4gICAgcmV0dXJuIFV0aWxzLmV4dGVuZCh7IGxvb2t1cFByb3BlcnR5IH0sIG9wdGlvbnMpO1xuICB9KTtcbn1cbiJdfQ==
-Writable.prototype.write = function (chunk, encoding, cb) {
- var state = this._writableState;
- var ret = false;
- var isBuf = !state.objectMode && _isUint8Array(chunk);
- if (isBuf && !Buffer.isBuffer(chunk)) {
- chunk = _uint8ArrayToBuffer(chunk);
- }
+/***/ }),
+/* 49 */
+/***/ (function(module, exports, __webpack_require__) {
- if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
+"use strict";
- if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;
- if (typeof cb !== 'function') cb = nop;
+exports.__esModule = true;
+exports.wrapHelper = wrapHelper;
- if (state.ended) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {
- state.pendingcb++;
- ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);
+function wrapHelper(helper, transformOptionsFn) {
+ if (typeof helper !== 'function') {
+ // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639
+ // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.
+ return helper;
}
+ var wrapper = function wrapper() /* dynamic arguments */{
+ var options = arguments[arguments.length - 1];
+ arguments[arguments.length - 1] = transformOptionsFn(options);
+ return helper.apply(this, arguments);
+ };
+ return wrapper;
+}
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=
- return ret;
-};
-Writable.prototype.cork = function () {
- var state = this._writableState;
+/***/ }),
+/* 50 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(global) {
+
+exports.__esModule = true;
- state.corked++;
+exports['default'] = function (Handlebars) {
+ /* istanbul ignore next */
+ var root = typeof global !== 'undefined' ? global : window,
+ $Handlebars = root.Handlebars;
+ /* istanbul ignore next */
+ Handlebars.noConflict = function () {
+ if (root.Handlebars === Handlebars) {
+ root.Handlebars = $Handlebars;
+ }
+ return Handlebars;
+ };
};
-Writable.prototype.uncork = function () {
- var state = this._writableState;
+module.exports = exports['default'];
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxVQUFVLEVBQUU7O0FBRWxDLE1BQUksSUFBSSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsR0FBRyxNQUFNLEdBQUcsTUFBTTtNQUN4RCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzs7QUFFaEMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDbEMsVUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7S0FDL0I7QUFDRCxXQUFPLFVBQVUsQ0FBQztHQUNuQixDQUFDO0NBQ0giLCJmaWxlIjoibm8tY29uZmxpY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihIYW5kbGViYXJzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCByb290ID0gdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB3aW5kb3csXG4gICAgJEhhbmRsZWJhcnMgPSByb290LkhhbmRsZWJhcnM7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEhhbmRsZWJhcnMubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkge1xuICAgIGlmIChyb290LkhhbmRsZWJhcnMgPT09IEhhbmRsZWJhcnMpIHtcbiAgICAgIHJvb3QuSGFuZGxlYmFycyA9ICRIYW5kbGViYXJzO1xuICAgIH1cbiAgICByZXR1cm4gSGFuZGxlYmFycztcbiAgfTtcbn1cbiJdfQ==
- if (state.corked) {
- state.corked--;
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(6)))
- if (!state.writing && !state.corked && !state.finished && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);
- }
-};
+/***/ }),
+/* 51 */
+/***/ (function(module, exports, __webpack_require__) {
-Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {
- // node::ParseEncoding() requires lower case.
- if (typeof encoding === 'string') encoding = encoding.toLowerCase();
- if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new TypeError('Unknown encoding: ' + encoding);
- this._writableState.defaultEncoding = encoding;
- return this;
-};
+var getPrototypeOf = __webpack_require__(7);
-function decodeChunk(state, chunk, encoding) {
- if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {
- chunk = Buffer.from(chunk, encoding);
+function _superPropBase(object, property) {
+ while (!Object.prototype.hasOwnProperty.call(object, property)) {
+ object = getPrototypeOf(object);
+ if (object === null) break;
}
- return chunk;
+
+ return object;
}
-Object.defineProperty(Writable.prototype, 'writableHighWaterMark', {
- // making it explicit this property is not enumerable
- // because otherwise some prototype manipulation in
- // userland will fail
- enumerable: false,
- get: function () {
- return this._writableState.highWaterMark;
- }
-});
+module.exports = _superPropBase;
-// if we're already writing something, then just put this
-// in the queue, and wait our turn. Otherwise, call _write
-// If we return false, then we need a drain event, so set that flag.
-function writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {
- if (!isBuf) {
- var newChunk = decodeChunk(state, chunk, encoding);
- if (chunk !== newChunk) {
- isBuf = true;
- encoding = 'buffer';
- chunk = newChunk;
- }
- }
- var len = state.objectMode ? 1 : chunk.length;
+/***/ }),
+/* 52 */
+/***/ (function(module, exports) {
+
+function _setPrototypeOf(o, p) {
+ module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
+ o.__proto__ = p;
+ return o;
+ };
+
+ return _setPrototypeOf(o, p);
+}
+
+module.exports = _setPrototypeOf;
- state.length += len;
+/***/ }),
+/* 53 */
+/***/ (function(module, exports) {
- var ret = state.length < state.highWaterMark;
- // we must ensure that previous needDrain will not be reset to false.
- if (!ret) state.needDrain = true;
+function _typeof(obj) {
+ "@babel/helpers - typeof";
- if (state.writing || state.corked) {
- var last = state.lastBufferedRequest;
- state.lastBufferedRequest = {
- chunk: chunk,
- encoding: encoding,
- isBuf: isBuf,
- callback: cb,
- next: null
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
+ module.exports = _typeof = function _typeof(obj) {
+ return typeof obj;
};
- if (last) {
- last.next = state.lastBufferedRequest;
- } else {
- state.bufferedRequest = state.lastBufferedRequest;
- }
- state.bufferedRequestCount += 1;
} else {
- doWrite(stream, state, false, len, chunk, encoding, cb);
+ module.exports = _typeof = function _typeof(obj) {
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+ };
}
- return ret;
+ return _typeof(obj);
}
-function doWrite(stream, state, writev, len, chunk, encoding, cb) {
- state.writelen = len;
- state.writecb = cb;
- state.writing = true;
- state.sync = true;
- if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);
- state.sync = false;
-}
+module.exports = _typeof;
-function onwriteError(stream, state, sync, er, cb) {
- --state.pendingcb;
+/***/ }),
+/* 54 */
+/***/ (function(module, exports) {
- if (sync) {
- // defer the callback if we are being called synchronously
- // to avoid piling up things on the stack
- pna.nextTick(cb, er);
- // this can emit finish, and it will always happen
- // after error
- pna.nextTick(finishMaybe, stream, state);
- stream._writableState.errorEmitted = true;
- stream.emit('error', er);
- } else {
- // the caller expect this to happen before if
- // it is async
- cb(er);
- stream._writableState.errorEmitted = true;
- stream.emit('error', er);
- // this can emit finish, but finish must
- // always follow error
- finishMaybe(stream, state);
+function _assertThisInitialized(self) {
+ if (self === void 0) {
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
-}
-function onwriteStateUpdate(state) {
- state.writing = false;
- state.writecb = null;
- state.length -= state.writelen;
- state.writelen = 0;
+ return self;
}
-function onwrite(stream, er) {
- var state = stream._writableState;
- var sync = state.sync;
- var cb = state.writecb;
-
- onwriteStateUpdate(state);
-
- if (er) onwriteError(stream, state, sync, er, cb);else {
- // Check if we're actually ready to finish, but don't emit yet
- var finished = needFinish(state);
+module.exports = _assertThisInitialized;
- if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {
- clearBuffer(stream, state);
- }
-
- if (sync) {
- /**/
- asyncWrite(afterWrite, stream, state, finished, cb);
- /**/
- } else {
- afterWrite(stream, state, finished, cb);
- }
- }
-}
-
-function afterWrite(stream, state, finished, cb) {
- if (!finished) onwriteDrain(stream, state);
- state.pendingcb--;
- cb();
- finishMaybe(stream, state);
-}
-
-// Must force callback to be called on nextTick, so that we don't
-// emit 'drain' before the write() consumer gets the 'false' return
-// value, and has a chance to attach a 'drain' listener.
-function onwriteDrain(stream, state) {
- if (state.length === 0 && state.needDrain) {
- state.needDrain = false;
- stream.emit('drain');
- }
-}
-
-// if there's something in the buffer waiting, then process it
-function clearBuffer(stream, state) {
- state.bufferProcessing = true;
- var entry = state.bufferedRequest;
-
- if (stream._writev && entry && entry.next) {
- // Fast case, write everything using _writev()
- var l = state.bufferedRequestCount;
- var buffer = new Array(l);
- var holder = state.corkedRequestsFree;
- holder.entry = entry;
-
- var count = 0;
- var allBuffers = true;
- while (entry) {
- buffer[count] = entry;
- if (!entry.isBuf) allBuffers = false;
- entry = entry.next;
- count += 1;
- }
- buffer.allBuffers = allBuffers;
-
- doWrite(stream, state, true, state.length, buffer, '', holder.finish);
-
- // doWrite is almost always async, defer these to save a bit of time
- // as the hot path ends with doWrite
- state.pendingcb++;
- state.lastBufferedRequest = null;
- if (holder.next) {
- state.corkedRequestsFree = holder.next;
- holder.next = null;
- } else {
- state.corkedRequestsFree = new CorkedRequest(state);
- }
- state.bufferedRequestCount = 0;
- } else {
- // Slow case, write chunks one-by-one
- while (entry) {
- var chunk = entry.chunk;
- var encoding = entry.encoding;
- var cb = entry.callback;
- var len = state.objectMode ? 1 : chunk.length;
-
- doWrite(stream, state, false, len, chunk, encoding, cb);
- entry = entry.next;
- state.bufferedRequestCount--;
- // if we didn't call the onwrite immediately, then
- // it means that we need to wait until it does.
- // also, that means that the chunk and cb are currently
- // being processed, so move the buffer counter past them.
- if (state.writing) {
- break;
- }
- }
-
- if (entry === null) state.lastBufferedRequest = null;
- }
-
- state.bufferedRequest = entry;
- state.bufferProcessing = false;
-}
-
-Writable.prototype._write = function (chunk, encoding, cb) {
- cb(new Error('_write() is not implemented'));
-};
-
-Writable.prototype._writev = null;
-
-Writable.prototype.end = function (chunk, encoding, cb) {
- var state = this._writableState;
-
- if (typeof chunk === 'function') {
- cb = chunk;
- chunk = null;
- encoding = null;
- } else if (typeof encoding === 'function') {
- cb = encoding;
- encoding = null;
- }
-
- if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);
-
- // .end() fully uncorks
- if (state.corked) {
- state.corked = 1;
- this.uncork();
- }
-
- // ignore unnecessary end() calls.
- if (!state.ending && !state.finished) endWritable(this, state, cb);
-};
-
-function needFinish(state) {
- return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;
-}
-function callFinal(stream, state) {
- stream._final(function (err) {
- state.pendingcb--;
- if (err) {
- stream.emit('error', err);
- }
- state.prefinished = true;
- stream.emit('prefinish');
- finishMaybe(stream, state);
- });
-}
-function prefinish(stream, state) {
- if (!state.prefinished && !state.finalCalled) {
- if (typeof stream._final === 'function') {
- state.pendingcb++;
- state.finalCalled = true;
- pna.nextTick(callFinal, stream, state);
- } else {
- state.prefinished = true;
- stream.emit('prefinish');
- }
- }
-}
-
-function finishMaybe(stream, state) {
- var need = needFinish(state);
- if (need) {
- prefinish(stream, state);
- if (state.pendingcb === 0) {
- state.finished = true;
- stream.emit('finish');
- }
- }
- return need;
-}
-
-function endWritable(stream, state, cb) {
- state.ending = true;
- finishMaybe(stream, state);
- if (cb) {
- if (state.finished) pna.nextTick(cb);else stream.once('finish', cb);
- }
- state.ended = true;
- stream.writable = false;
-}
-
-function onCorkedFinish(corkReq, state, err) {
- var entry = corkReq.entry;
- corkReq.entry = null;
- while (entry) {
- var cb = entry.callback;
- state.pendingcb--;
- cb(err);
- entry = entry.next;
- }
- if (state.corkedRequestsFree) {
- state.corkedRequestsFree.next = corkReq;
- } else {
- state.corkedRequestsFree = corkReq;
- }
-}
-
-Object.defineProperty(Writable.prototype, 'destroyed', {
- get: function () {
- if (this._writableState === undefined) {
- return false;
- }
- return this._writableState.destroyed;
- },
- set: function (value) {
- // we ignore the value if the stream
- // has not been initialized yet
- if (!this._writableState) {
- return;
- }
-
- // backward compatibility, the user is explicitly
- // managing destroyed
- this._writableState.destroyed = value;
- }
-});
-
-Writable.prototype.destroy = destroyImpl.destroy;
-Writable.prototype._undestroy = destroyImpl.undestroy;
-Writable.prototype._destroy = function (err, cb) {
- this.end();
- cb(err);
-};
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(26), __webpack_require__(53).setImmediate, __webpack_require__(5)))
-
-/***/ }),
-/* 36 */
-/***/ (function(module, exports, __webpack_require__) {
+/***/ }),
+/* 55 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
-
-
-var external = __webpack_require__(24);
-var DataWorker = __webpack_require__(59);
-var DataLengthProbe = __webpack_require__(60);
-var Crc32Probe = __webpack_require__(61);
-var DataLengthProbe = __webpack_require__(60);
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "requestLog", function() { return requestLog; });
+const VERSION = "1.0.0";
/**
- * Represent a compressed object, with everything needed to decompress it.
- * @constructor
- * @param {number} compressedSize the size of the data compressed.
- * @param {number} uncompressedSize the size of the data after decompression.
- * @param {number} crc32 the crc32 of the decompressed file.
- * @param {object} compression the type of compression, see lib/compressions.js.
- * @param {String|ArrayBuffer|Uint8Array|Buffer} data the compressed data.
+ * @param octokit Octokit instance
+ * @param options Options passed to Octokit constructor
*/
-function CompressedObject(compressedSize, uncompressedSize, crc32, compression, data) {
- this.compressedSize = compressedSize;
- this.uncompressedSize = uncompressedSize;
- this.crc32 = crc32;
- this.compression = compression;
- this.compressedContent = data;
-}
-
-CompressedObject.prototype = {
- /**
- * Create a worker to get the uncompressed content.
- * @return {GenericWorker} the worker.
- */
- getContentWorker : function () {
- var worker = new DataWorker(external.Promise.resolve(this.compressedContent))
- .pipe(this.compression.uncompressWorker())
- .pipe(new DataLengthProbe("data_length"));
-
- var that = this;
- worker.on("end", function () {
- if(this.streamInfo['data_length'] !== that.uncompressedSize) {
- throw new Error("Bug : uncompressed data size mismatch");
- }
+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;
});
- return worker;
- },
- /**
- * Create a worker to get the compressed content.
- * @return {GenericWorker} the worker.
- */
- getCompressedWorker : function () {
- return new DataWorker(external.Promise.resolve(this.compressedContent))
- .withStreamInfo("compressedSize", this.compressedSize)
- .withStreamInfo("uncompressedSize", this.uncompressedSize)
- .withStreamInfo("crc32", this.crc32)
- .withStreamInfo("compression", this.compression)
- ;
- }
-};
-
-/**
- * Chain the given worker with other workers to compress the content with the
- * given compresion.
- * @param {GenericWorker} uncompressedWorker the worker to pipe.
- * @param {Object} compression the compression object.
- * @param {Object} compressionOptions the options to use when compressing.
- * @return {GenericWorker} the new worker compressing the content.
- */
-CompressedObject.createWorkerFrom = function (uncompressedWorker, compression, compressionOptions) {
- return uncompressedWorker
- .pipe(new Crc32Probe())
- .pipe(new DataLengthProbe("uncompressedSize"))
- .pipe(compression.compressWorker(compressionOptions))
- .pipe(new DataLengthProbe("compressedSize"))
- .withStreamInfo("compression", compression);
-};
-
-module.exports = CompressedObject;
-
-
-/***/ }),
-/* 37 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(1);
-
-/**
- * The following functions come from pako, from pako/lib/zlib/crc32.js
- * released under the MIT license, see pako https://github.com/nodeca/pako/
- */
-
-// Use ordinary array, since untyped makes no boost here
-function makeTable() {
- var c, table = [];
-
- for(var n =0; n < 256; n++){
- c = n;
- for(var k =0; k < 8; k++){
- c = ((c&1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
- }
- table[n] = c;
- }
-
- return table;
-}
-
-// Create table on load. Just 255 signed longs. Not a problem.
-var crcTable = makeTable();
-
-
-function crc32(crc, buf, len, pos) {
- var t = crcTable, end = pos + len;
-
- crc = crc ^ (-1);
-
- for (var i = pos; i < end; i++ ) {
- crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
- }
-
- return (crc ^ (-1)); // >>> 0;
-}
-
-// That's all for the pako functions.
-
-/**
- * Compute the crc32 of a string.
- * This is almost the same as the function crc32, but for strings. Using the
- * same function for the two use cases leads to horrible performances.
- * @param {Number} crc the starting value of the crc.
- * @param {String} str the string to use.
- * @param {Number} len the length of the string.
- * @param {Number} pos the starting position for the crc32 computation.
- * @return {Number} the computed crc32.
- */
-function crc32str(crc, str, len, pos) {
- var t = crcTable, end = pos + len;
-
- crc = crc ^ (-1);
-
- for (var i = pos; i < end; i++ ) {
- crc = (crc >>> 8) ^ t[(crc ^ str.charCodeAt(i)) & 0xFF];
- }
-
- return (crc ^ (-1)); // >>> 0;
+ });
}
-
-module.exports = function crc32wrapper(input, crc) {
- if (typeof input === "undefined" || !input.length) {
- return 0;
- }
-
- var isArray = utils.getTypeOf(input) !== "string";
-
- if(isArray) {
- return crc32(crc|0, input, input.length, 0);
- } else {
- return crc32str(crc|0, input, input.length, 0);
- }
-};
-
-
-/***/ }),
-/* 38 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
+requestLog.VERSION = VERSION;
-// (C) 1995-2013 Jean-loup Gailly and Mark Adler
-// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-module.exports = {
- 2: 'need dictionary', /* Z_NEED_DICT 2 */
- 1: 'stream end', /* Z_STREAM_END 1 */
- 0: '', /* Z_OK 0 */
- '-1': 'file error', /* Z_ERRNO (-1) */
- '-2': 'stream error', /* Z_STREAM_ERROR (-2) */
- '-3': 'data error', /* Z_DATA_ERROR (-3) */
- '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */
- '-5': 'buffer error', /* Z_BUF_ERROR (-5) */
- '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */
-};
+//# sourceMappingURL=index.js.map
/***/ }),
-/* 39 */
-/***/ (function(module, exports, __webpack_require__) {
+/* 56 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restEndpointMethods", function() { return restEndpointMethods; });
+/* harmony import */ var deprecation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
-/**
- * Representation a of zip file in js
- * @constructor
- */
-function JSZip() {
- // if this constructor is used without `new`, it adds `new` before itself:
- if(!(this instanceof JSZip)) {
- return new JSZip();
- }
-
- if(arguments.length) {
- throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");
- }
-
- // object containing the files :
- // {
- // "folder/" : {...},
- // "folder/data.txt" : {...}
- // }
- this.files = {};
-
- this.comment = null;
-
- // Where we are in the hierarchy
- this.root = "";
- this.clone = function() {
- var newObj = new JSZip();
- for (var i in this) {
- if (typeof this[i] !== "function") {
- newObj[i] = this[i];
- }
- }
- return newObj;
- };
-}
-JSZip.prototype = __webpack_require__(140);
-JSZip.prototype.loadAsync = __webpack_require__(174);
-JSZip.support = __webpack_require__(11);
-JSZip.defaults = __webpack_require__(58);
-
-// TODO find a better way to handle this version,
-// a require('package.json').version doesn't work with webpack, see #327
-JSZip.version = "3.2.0";
-
-JSZip.loadAsync = function (content, options) {
- return new JSZip().loadAsync(content, options);
-};
-
-JSZip.external = __webpack_require__(24);
-module.exports = JSZip;
-
-
-/***/ }),
-/* 40 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-var runtime = (function (exports) {
- "use strict";
-
- var Op = Object.prototype;
- var hasOwn = Op.hasOwnProperty;
- var undefined; // More compressible than void 0.
- var $Symbol = typeof Symbol === "function" ? Symbol : {};
- var iteratorSymbol = $Symbol.iterator || "@@iterator";
- var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
- var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
- function wrap(innerFn, outerFn, self, tryLocsList) {
- // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
- var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
- var generator = Object.create(protoGenerator.prototype);
- var context = new Context(tryLocsList || []);
-
- // The ._invoke method unifies the implementations of the .next,
- // .throw, and .return methods.
- generator._invoke = makeInvokeMethod(innerFn, self, context);
-
- return generator;
- }
- exports.wrap = wrap;
-
- // Try/catch helper to minimize deoptimizations. Returns a completion
- // record like context.tryEntries[i].completion. This interface could
- // have been (and was previously) designed to take a closure to be
- // invoked without arguments, but in all the cases we care about we
- // already have an existing method we want to call, so there's no need
- // to create a new function object. We can even get away with assuming
- // the method takes exactly one argument, since that happens to be true
- // in every case, so we don't have to touch the arguments object. The
- // only additional allocation required is the completion record, which
- // has a stable shape and so hopefully should be cheap to allocate.
- function tryCatch(fn, obj, arg) {
- try {
- return { type: "normal", arg: fn.call(obj, arg) };
- } catch (err) {
- return { type: "throw", arg: err };
- }
- }
-
- var GenStateSuspendedStart = "suspendedStart";
- var GenStateSuspendedYield = "suspendedYield";
- var GenStateExecuting = "executing";
- var GenStateCompleted = "completed";
-
- // Returning this object from the innerFn has the same effect as
- // breaking out of the dispatch switch statement.
- var ContinueSentinel = {};
-
- // Dummy constructor functions that we use as the .constructor and
- // .constructor.prototype properties for functions that return Generator
- // objects. For full spec compliance, you may wish to configure your
- // minifier not to mangle the names of these two functions.
- function Generator() {}
- function GeneratorFunction() {}
- function GeneratorFunctionPrototype() {}
-
- // This is a polyfill for %IteratorPrototype% for environments that
- // don't natively support it.
- var IteratorPrototype = {};
- IteratorPrototype[iteratorSymbol] = function () {
- return this;
- };
-
- var getProto = Object.getPrototypeOf;
- var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
- if (NativeIteratorPrototype &&
- NativeIteratorPrototype !== Op &&
- hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
- // This environment has a native %IteratorPrototype%; use it instead
- // of the polyfill.
- IteratorPrototype = NativeIteratorPrototype;
- }
-
- var Gp = GeneratorFunctionPrototype.prototype =
- Generator.prototype = Object.create(IteratorPrototype);
- GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;
- GeneratorFunctionPrototype.constructor = GeneratorFunction;
- GeneratorFunctionPrototype[toStringTagSymbol] =
- GeneratorFunction.displayName = "GeneratorFunction";
-
- // Helper for defining the .next, .throw, and .return methods of the
- // Iterator interface in terms of a single ._invoke method.
- function defineIteratorMethods(prototype) {
- ["next", "throw", "return"].forEach(function(method) {
- prototype[method] = function(arg) {
- return this._invoke(method, arg);
- };
- });
- }
-
- exports.isGeneratorFunction = function(genFun) {
- var ctor = typeof genFun === "function" && genFun.constructor;
- return ctor
- ? ctor === GeneratorFunction ||
- // For the native GeneratorFunction constructor, the best we can
- // do is to check its .name property.
- (ctor.displayName || ctor.name) === "GeneratorFunction"
- : false;
- };
-
- exports.mark = function(genFun) {
- if (Object.setPrototypeOf) {
- Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
- } else {
- genFun.__proto__ = GeneratorFunctionPrototype;
- if (!(toStringTagSymbol in genFun)) {
- genFun[toStringTagSymbol] = "GeneratorFunction";
- }
- }
- genFun.prototype = Object.create(Gp);
- return genFun;
- };
-
- // Within the body of any async function, `await x` is transformed to
- // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
- // `hasOwn.call(value, "__await")` to determine if the yielded value is
- // meant to be awaited.
- exports.awrap = function(arg) {
- return { __await: arg };
- };
-
- function AsyncIterator(generator, PromiseImpl) {
- function invoke(method, arg, resolve, reject) {
- var record = tryCatch(generator[method], generator, arg);
- if (record.type === "throw") {
- reject(record.arg);
- } else {
- var result = record.arg;
- var value = result.value;
- if (value &&
- typeof value === "object" &&
- hasOwn.call(value, "__await")) {
- return PromiseImpl.resolve(value.__await).then(function(value) {
- invoke("next", value, resolve, reject);
- }, function(err) {
- invoke("throw", err, resolve, reject);
- });
- }
-
- return PromiseImpl.resolve(value).then(function(unwrapped) {
- // When a yielded Promise is resolved, its final value becomes
- // the .value of the Promise<{value,done}> result for the
- // current iteration.
- result.value = unwrapped;
- resolve(result);
- }, function(error) {
- // If a rejected Promise was yielded, throw the rejection back
- // into the async generator function so it can be handled there.
- return invoke("throw", error, resolve, reject);
- });
- }
- }
-
- var previousPromise;
-
- function enqueue(method, arg) {
- function callInvokeWithMethodAndArg() {
- return new PromiseImpl(function(resolve, reject) {
- invoke(method, arg, resolve, reject);
- });
- }
-
- return previousPromise =
- // If enqueue has been called before, then we want to wait until
- // all previous Promises have been resolved before calling invoke,
- // so that results are always delivered in the correct order. If
- // enqueue has not been called before, then it is important to
- // call invoke immediately, without waiting on a callback to fire,
- // so that the async generator function has the opportunity to do
- // any necessary setup in a predictable way. This predictability
- // is why the Promise constructor synchronously invokes its
- // executor callback, and why async functions synchronously
- // execute code before the first await. Since we implement simple
- // async functions in terms of async generators, it is especially
- // important to get this right, even though it requires care.
- previousPromise ? previousPromise.then(
- callInvokeWithMethodAndArg,
- // Avoid propagating failures to Promises returned by later
- // invocations of the iterator.
- callInvokeWithMethodAndArg
- ) : callInvokeWithMethodAndArg();
- }
-
- // Define the unified helper method that is used to implement .next,
- // .throw, and .return (see defineIteratorMethods).
- this._invoke = enqueue;
- }
-
- defineIteratorMethods(AsyncIterator.prototype);
- AsyncIterator.prototype[asyncIteratorSymbol] = function () {
- return this;
- };
- exports.AsyncIterator = AsyncIterator;
-
- // Note that simple async functions are implemented on top of
- // AsyncIterator objects; they just return a Promise for the value of
- // the final result produced by the iterator.
- exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
- if (PromiseImpl === void 0) PromiseImpl = Promise;
-
- var iter = new AsyncIterator(
- wrap(innerFn, outerFn, self, tryLocsList),
- PromiseImpl
- );
-
- return exports.isGeneratorFunction(outerFn)
- ? iter // If outerFn is a generator, return the full iterator.
- : iter.next().then(function(result) {
- return result.done ? result.value : iter.next();
- });
- };
-
- function makeInvokeMethod(innerFn, self, context) {
- var state = GenStateSuspendedStart;
-
- return function invoke(method, arg) {
- if (state === GenStateExecuting) {
- throw new Error("Generator is already running");
- }
-
- if (state === GenStateCompleted) {
- if (method === "throw") {
- throw arg;
- }
-
- // Be forgiving, per 25.3.3.3.3 of the spec:
- // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
- return doneResult();
- }
-
- context.method = method;
- context.arg = arg;
-
- while (true) {
- var delegate = context.delegate;
- if (delegate) {
- var delegateResult = maybeInvokeDelegate(delegate, context);
- if (delegateResult) {
- if (delegateResult === ContinueSentinel) continue;
- return delegateResult;
- }
- }
-
- if (context.method === "next") {
- // Setting context._sent for legacy support of Babel's
- // function.sent implementation.
- context.sent = context._sent = context.arg;
-
- } else if (context.method === "throw") {
- if (state === GenStateSuspendedStart) {
- state = GenStateCompleted;
- throw context.arg;
- }
-
- context.dispatchException(context.arg);
-
- } else if (context.method === "return") {
- context.abrupt("return", context.arg);
- }
-
- state = GenStateExecuting;
-
- var record = tryCatch(innerFn, self, context);
- if (record.type === "normal") {
- // If an exception is thrown from innerFn, we leave state ===
- // GenStateExecuting and loop back for another invocation.
- state = context.done
- ? GenStateCompleted
- : GenStateSuspendedYield;
-
- if (record.arg === ContinueSentinel) {
- continue;
- }
-
- return {
- value: record.arg,
- done: context.done
- };
-
- } else if (record.type === "throw") {
- state = GenStateCompleted;
- // Dispatch the exception by looping back around to the
- // context.dispatchException(context.arg) call above.
- context.method = "throw";
- context.arg = record.arg;
- }
- }
- };
- }
-
- // Call delegate.iterator[context.method](context.arg) and handle the
- // result, either by returning a { value, done } result from the
- // delegate iterator, or by modifying context.method and context.arg,
- // setting context.delegate to null, and returning the ContinueSentinel.
- function maybeInvokeDelegate(delegate, context) {
- var method = delegate.iterator[context.method];
- if (method === undefined) {
- // A .throw or .return when the delegate iterator has no .throw
- // method always terminates the yield* loop.
- context.delegate = null;
-
- if (context.method === "throw") {
- // Note: ["return"] must be used for ES3 parsing compatibility.
- if (delegate.iterator["return"]) {
- // If the delegate iterator has a return method, give it a
- // chance to clean up.
- context.method = "return";
- context.arg = undefined;
- maybeInvokeDelegate(delegate, context);
-
- if (context.method === "throw") {
- // If maybeInvokeDelegate(context) changed context.method from
- // "return" to "throw", let that override the TypeError below.
- return ContinueSentinel;
- }
- }
-
- context.method = "throw";
- context.arg = new TypeError(
- "The iterator does not provide a 'throw' method");
- }
-
- return ContinueSentinel;
- }
-
- var record = tryCatch(method, delegate.iterator, context.arg);
-
- if (record.type === "throw") {
- context.method = "throw";
- context.arg = record.arg;
- context.delegate = null;
- return ContinueSentinel;
- }
-
- var info = record.arg;
-
- if (! info) {
- context.method = "throw";
- context.arg = new TypeError("iterator result is not an object");
- context.delegate = null;
- return ContinueSentinel;
- }
-
- if (info.done) {
- // Assign the result of the finished delegate to the temporary
- // variable specified by delegate.resultName (see delegateYield).
- context[delegate.resultName] = info.value;
-
- // Resume execution at the desired location (see delegateYield).
- context.next = delegate.nextLoc;
-
- // If context.method was "throw" but the delegate handled the
- // exception, let the outer generator proceed normally. If
- // context.method was "next", forget context.arg since it has been
- // "consumed" by the delegate iterator. If context.method was
- // "return", allow the original .return call to continue in the
- // outer generator.
- if (context.method !== "return") {
- context.method = "next";
- context.arg = undefined;
- }
-
- } else {
- // Re-yield the result returned by the delegate method.
- return info;
- }
-
- // The delegate iterator is finished, so forget it and continue with
- // the outer generator.
- context.delegate = null;
- return ContinueSentinel;
- }
-
- // Define Generator.prototype.{next,throw,return} in terms of the
- // unified ._invoke helper method.
- defineIteratorMethods(Gp);
-
- Gp[toStringTagSymbol] = "Generator";
-
- // A Generator should always return itself as the iterator object when the
- // @@iterator function is called on it. Some browsers' implementations of the
- // iterator prototype chain incorrectly implement this, causing the Generator
- // object to not be returned from this call. This ensures that doesn't happen.
- // See https://github.com/facebook/regenerator/issues/274 for more details.
- Gp[iteratorSymbol] = function() {
- return this;
- };
-
- Gp.toString = function() {
- return "[object Generator]";
- };
-
- function pushTryEntry(locs) {
- var entry = { tryLoc: locs[0] };
-
- if (1 in locs) {
- entry.catchLoc = locs[1];
- }
-
- if (2 in locs) {
- entry.finallyLoc = locs[2];
- entry.afterLoc = locs[3];
- }
-
- this.tryEntries.push(entry);
- }
-
- function resetTryEntry(entry) {
- var record = entry.completion || {};
- record.type = "normal";
- delete record.arg;
- entry.completion = record;
- }
-
- function Context(tryLocsList) {
- // The root entry object (effectively a try statement without a catch
- // or a finally block) gives us a place to store values thrown from
- // locations where there is no enclosing try statement.
- this.tryEntries = [{ tryLoc: "root" }];
- tryLocsList.forEach(pushTryEntry, this);
- this.reset(true);
- }
-
- exports.keys = function(object) {
- var keys = [];
- for (var key in object) {
- keys.push(key);
- }
- keys.reverse();
-
- // Rather than returning an object with a next method, we keep
- // things simple and return the next function itself.
- return function next() {
- while (keys.length) {
- var key = keys.pop();
- if (key in object) {
- next.value = key;
- next.done = false;
- return next;
- }
- }
-
- // To avoid creating an additional object, we just hang the .value
- // and .done properties off the next function object itself. This
- // also ensures that the minifier will not anonymize the function.
- next.done = true;
- return next;
- };
- };
-
- function values(iterable) {
- if (iterable) {
- var iteratorMethod = iterable[iteratorSymbol];
- if (iteratorMethod) {
- return iteratorMethod.call(iterable);
- }
-
- if (typeof iterable.next === "function") {
- return iterable;
- }
-
- if (!isNaN(iterable.length)) {
- var i = -1, next = function next() {
- while (++i < iterable.length) {
- if (hasOwn.call(iterable, i)) {
- next.value = iterable[i];
- next.done = false;
- return next;
- }
- }
-
- next.value = undefined;
- next.done = true;
-
- return next;
- };
-
- return next.next = next;
- }
- }
-
- // Return an iterator with no values.
- return { next: doneResult };
- }
- exports.values = values;
-
- function doneResult() {
- return { value: undefined, done: true };
- }
-
- Context.prototype = {
- constructor: Context,
-
- reset: function(skipTempReset) {
- this.prev = 0;
- this.next = 0;
- // Resetting context._sent for legacy support of Babel's
- // function.sent implementation.
- this.sent = this._sent = undefined;
- this.done = false;
- this.delegate = null;
-
- this.method = "next";
- this.arg = undefined;
-
- this.tryEntries.forEach(resetTryEntry);
-
- if (!skipTempReset) {
- for (var name in this) {
- // Not sure about the optimal order of these conditions:
- if (name.charAt(0) === "t" &&
- hasOwn.call(this, name) &&
- !isNaN(+name.slice(1))) {
- this[name] = undefined;
- }
- }
- }
- },
-
- stop: function() {
- this.done = true;
-
- var rootEntry = this.tryEntries[0];
- var rootRecord = rootEntry.completion;
- if (rootRecord.type === "throw") {
- throw rootRecord.arg;
- }
-
- return this.rval;
- },
-
- dispatchException: function(exception) {
- if (this.done) {
- throw exception;
- }
-
- var context = this;
- function handle(loc, caught) {
- record.type = "throw";
- record.arg = exception;
- context.next = loc;
-
- if (caught) {
- // If the dispatched exception was caught by a catch block,
- // then let that catch block handle the exception normally.
- context.method = "next";
- context.arg = undefined;
- }
-
- return !! caught;
- }
-
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- var record = entry.completion;
-
- if (entry.tryLoc === "root") {
- // Exception thrown outside of any try block that could handle
- // it, so set the completion value of the entire function to
- // throw the exception.
- return handle("end");
- }
-
- if (entry.tryLoc <= this.prev) {
- var hasCatch = hasOwn.call(entry, "catchLoc");
- var hasFinally = hasOwn.call(entry, "finallyLoc");
-
- if (hasCatch && hasFinally) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- } else if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
-
- } else if (hasCatch) {
- if (this.prev < entry.catchLoc) {
- return handle(entry.catchLoc, true);
- }
-
- } else if (hasFinally) {
- if (this.prev < entry.finallyLoc) {
- return handle(entry.finallyLoc);
- }
-
- } else {
- throw new Error("try statement without catch or finally");
- }
- }
- }
- },
-
- abrupt: function(type, arg) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.tryLoc <= this.prev &&
- hasOwn.call(entry, "finallyLoc") &&
- this.prev < entry.finallyLoc) {
- var finallyEntry = entry;
- break;
- }
- }
-
- if (finallyEntry &&
- (type === "break" ||
- type === "continue") &&
- finallyEntry.tryLoc <= arg &&
- arg <= finallyEntry.finallyLoc) {
- // Ignore the finally entry if control is not jumping to a
- // location outside the try/catch block.
- finallyEntry = null;
- }
-
- var record = finallyEntry ? finallyEntry.completion : {};
- record.type = type;
- record.arg = arg;
-
- if (finallyEntry) {
- this.method = "next";
- this.next = finallyEntry.finallyLoc;
- return ContinueSentinel;
- }
-
- return this.complete(record);
- },
-
- complete: function(record, afterLoc) {
- if (record.type === "throw") {
- throw record.arg;
- }
-
- if (record.type === "break" ||
- record.type === "continue") {
- this.next = record.arg;
- } else if (record.type === "return") {
- this.rval = this.arg = record.arg;
- this.method = "return";
- this.next = "end";
- } else if (record.type === "normal" && afterLoc) {
- this.next = afterLoc;
- }
-
- return ContinueSentinel;
- },
-
- finish: function(finallyLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.finallyLoc === finallyLoc) {
- this.complete(entry.completion, entry.afterLoc);
- resetTryEntry(entry);
- return ContinueSentinel;
- }
- }
- },
-
- "catch": function(tryLoc) {
- for (var i = this.tryEntries.length - 1; i >= 0; --i) {
- var entry = this.tryEntries[i];
- if (entry.tryLoc === tryLoc) {
- var record = entry.completion;
- if (record.type === "throw") {
- var thrown = record.arg;
- resetTryEntry(entry);
- }
- return thrown;
- }
- }
-
- // The context.catch method must only be called with a location
- // argument that corresponds to a known catch block.
- throw new Error("illegal catch attempt");
- },
-
- delegateYield: function(iterable, resultName, nextLoc) {
- this.delegate = {
- iterator: values(iterable),
- resultName: resultName,
- nextLoc: nextLoc
- };
-
- if (this.method === "next") {
- // Deliberately forget the last sent value so that we don't
- // accidentally pass it on to the delegate.
- this.arg = undefined;
- }
-
- return ContinueSentinel;
- }
- };
-
- // Regardless of whether this script is executing as a CommonJS module
- // or not, return the runtime object so that we can declare the variable
- // regeneratorRuntime in the outer scope, which allows this module to be
- // injected easily by `bin/regenerator --include-runtime script.js`.
- return exports;
-
-}(
- // If this script is executing as a CommonJS module, use module.exports
- // as the regeneratorRuntime namespace. Otherwise create a new empty
- // object. Either way, the resulting object will be used to initialize
- // the regeneratorRuntime variable at the top of this file.
- true ? module.exports : undefined
-));
-
-try {
- regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
- // This module should not be running in strict mode, so the above
- // assignment should always work unless something is misconfigured. Just
- // in case runtime.js accidentally runs in strict mode, we can escape
- // strict mode using a global Function call. This could conceivably fail
- // if a Content Security Policy forbids using Function, but in that case
- // the proper solution is to fix the accidental strict mode problem. If
- // you've misconfigured your bundler to force strict mode and applied a
- // CSP to forbid Function, and you're not willing to fix either of those
- // problems, please detail your unique predicament in a GitHub issue.
- Function("r", "regeneratorRuntime = r")(runtime);
-}
-
-
-/***/ }),
-/* 41 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.HandlebarsEnvironment = HandlebarsEnvironment;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _utils = __webpack_require__(7);
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-var _helpers = __webpack_require__(42);
-
-var _decorators = __webpack_require__(89);
-
-var _logger = __webpack_require__(43);
-
-var _logger2 = _interopRequireDefault(_logger);
-
-var _internalProtoAccess = __webpack_require__(44);
-
-var VERSION = '4.7.3';
-exports.VERSION = VERSION;
-var COMPILER_REVISION = 8;
-exports.COMPILER_REVISION = COMPILER_REVISION;
-var LAST_COMPATIBLE_COMPILER_REVISION = 7;
-
-exports.LAST_COMPATIBLE_COMPILER_REVISION = LAST_COMPATIBLE_COMPILER_REVISION;
-var REVISION_CHANGES = {
- 1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
- 2: '== 1.0.0-rc.3',
- 3: '== 1.0.0-rc.4',
- 4: '== 1.x.x',
- 5: '== 2.0.0-alpha.x',
- 6: '>= 2.0.0-beta.1',
- 7: '>= 4.0.0 <4.3.0',
- 8: '>= 4.3.0'
-};
-
-exports.REVISION_CHANGES = REVISION_CHANGES;
-var objectType = '[object Object]';
-
-function HandlebarsEnvironment(helpers, partials, decorators) {
- this.helpers = helpers || {};
- this.partials = partials || {};
- this.decorators = decorators || {};
-
- _helpers.registerDefaultHelpers(this);
- _decorators.registerDefaultDecorators(this);
-}
-
-HandlebarsEnvironment.prototype = {
- constructor: HandlebarsEnvironment,
-
- logger: _logger2['default'],
- log: _logger2['default'].log,
-
- registerHelper: function registerHelper(name, fn) {
- if (_utils.toString.call(name) === objectType) {
- if (fn) {
- throw new _exception2['default']('Arg not supported with multiple helpers');
- }
- _utils.extend(this.helpers, name);
- } else {
- this.helpers[name] = fn;
- }
- },
- unregisterHelper: function unregisterHelper(name) {
- delete this.helpers[name];
- },
-
- registerPartial: function registerPartial(name, partial) {
- if (_utils.toString.call(name) === objectType) {
- _utils.extend(this.partials, name);
- } else {
- if (typeof partial === 'undefined') {
- throw new _exception2['default']('Attempting to register a partial called "' + name + '" as undefined');
- }
- this.partials[name] = partial;
- }
- },
- unregisterPartial: function unregisterPartial(name) {
- delete this.partials[name];
- },
-
- registerDecorator: function registerDecorator(name, fn) {
- if (_utils.toString.call(name) === objectType) {
- if (fn) {
- throw new _exception2['default']('Arg not supported with multiple decorators');
- }
- _utils.extend(this.decorators, name);
- } else {
- this.decorators[name] = fn;
- }
- },
- unregisterDecorator: function unregisterDecorator(name) {
- delete this.decorators[name];
- },
- /**
- * Reset the memory of illegal property accesses that have already been logged.
- * @deprecated should only be used in handlebars test-cases
- */
- resetLoggedPropertyAccesses: function resetLoggedPropertyAccesses() {
- _internalProtoAccess.resetLoggedProperties();
- }
-};
-
-var log = _logger2['default'].log;
-
-exports.log = log;
-exports.createFrame = _utils.createFrame;
-exports.logger = _logger2['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2Jhc2UuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7cUJBQThDLFNBQVM7O3lCQUNqQyxhQUFhOzs7O3VCQUNJLFdBQVc7OzBCQUNSLGNBQWM7O3NCQUNyQyxVQUFVOzs7O21DQUNTLHlCQUF5Qjs7QUFFeEQsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDOztBQUN4QixJQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQzs7QUFDNUIsSUFBTSxpQ0FBaUMsR0FBRyxDQUFDLENBQUM7OztBQUU1QyxJQUFNLGdCQUFnQixHQUFHO0FBQzlCLEdBQUMsRUFBRSxhQUFhO0FBQ2hCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxlQUFlO0FBQ2xCLEdBQUMsRUFBRSxVQUFVO0FBQ2IsR0FBQyxFQUFFLGtCQUFrQjtBQUNyQixHQUFDLEVBQUUsaUJBQWlCO0FBQ3BCLEdBQUMsRUFBRSxpQkFBaUI7QUFDcEIsR0FBQyxFQUFFLFVBQVU7Q0FDZCxDQUFDOzs7QUFFRixJQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQzs7QUFFOUIsU0FBUyxxQkFBcUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtBQUNuRSxNQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sSUFBSSxFQUFFLENBQUM7QUFDN0IsTUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO0FBQy9CLE1BQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxJQUFJLEVBQUUsQ0FBQzs7QUFFbkMsa0NBQXVCLElBQUksQ0FBQyxDQUFDO0FBQzdCLHdDQUEwQixJQUFJLENBQUMsQ0FBQztDQUNqQzs7QUFFRCxxQkFBcUIsQ0FBQyxTQUFTLEdBQUc7QUFDaEMsYUFBVyxFQUFFLHFCQUFxQjs7QUFFbEMsUUFBTSxxQkFBUTtBQUNkLEtBQUcsRUFBRSxvQkFBTyxHQUFHOztBQUVmLGdCQUFjLEVBQUUsd0JBQVMsSUFBSSxFQUFFLEVBQUUsRUFBRTtBQUNqQyxRQUFJLGdCQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxVQUFVLEVBQUU7QUFDdEMsVUFBSSxFQUFFLEVBQUU7QUFDTixjQUFNLDJCQUFjLHlDQUF5QyxDQUFDLENBQUM7T0FDaEU7QUFDRCxvQkFBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQzVCLE1BQU07QUFDTCxVQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztLQUN6QjtHQUNGO0FBQ0Qsa0JBQWdCLEVBQUUsMEJBQVMsSUFBSSxFQUFFO0FBQy9CLFdBQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztHQUMzQjs7QUFFRCxpQkFBZSxFQUFFLHlCQUFTLElBQUksRUFBRSxPQUFPLEVBQUU7QUFDdkMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLG9CQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7S0FDN0IsTUFBTTtBQUNMLFVBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ2xDLGNBQU0seUVBQ3dDLElBQUksb0JBQ2pELENBQUM7T0FDSDtBQUNELFVBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQy9CO0dBQ0Y7QUFDRCxtQkFBaUIsRUFBRSwyQkFBUyxJQUFJLEVBQUU7QUFDaEMsV0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0dBQzVCOztBQUVELG1CQUFpQixFQUFFLDJCQUFTLElBQUksRUFBRSxFQUFFLEVBQUU7QUFDcEMsUUFBSSxnQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssVUFBVSxFQUFFO0FBQ3RDLFVBQUksRUFBRSxFQUFFO0FBQ04sY0FBTSwyQkFBYyw0Q0FBNEMsQ0FBQyxDQUFDO09BQ25FO0FBQ0Qsb0JBQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztLQUMvQixNQUFNO0FBQ0wsVUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDNUI7R0FDRjtBQUNELHFCQUFtQixFQUFFLDZCQUFTLElBQUksRUFBRTtBQUNsQyxXQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7R0FDOUI7Ozs7O0FBS0QsNkJBQTJCLEVBQUEsdUNBQUc7QUFDNUIsZ0RBQXVCLENBQUM7R0FDekI7Q0FDRixDQUFDOztBQUVLLElBQUksR0FBRyxHQUFHLG9CQUFPLEdBQUcsQ0FBQzs7O1FBRW5CLFdBQVc7UUFBRSxNQUFNIiwiZmlsZSI6ImJhc2UuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGcmFtZSwgZXh0ZW5kLCB0b1N0cmluZyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuL2V4Y2VwdGlvbic7XG5pbXBvcnQgeyByZWdpc3RlckRlZmF1bHRIZWxwZXJzIH0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IHJlZ2lzdGVyRGVmYXVsdERlY29yYXRvcnMgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuaW1wb3J0IGxvZ2dlciBmcm9tICcuL2xvZ2dlcic7XG5pbXBvcnQgeyByZXNldExvZ2dlZFByb3BlcnRpZXMgfSBmcm9tICcuL2ludGVybmFsL3Byb3RvLWFjY2Vzcyc7XG5cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuNy4zJztcbmV4cG9ydCBjb25zdCBDT01QSUxFUl9SRVZJU0lPTiA9IDg7XG5leHBvcnQgY29uc3QgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OID0gNztcblxuZXhwb3J0IGNvbnN0IFJFVklTSU9OX0NIQU5HRVMgPSB7XG4gIDE6ICc8PSAxLjAucmMuMicsIC8vIDEuMC5yYy4yIGlzIGFjdHVhbGx5IHJldjIgYnV0IGRvZXNuJ3QgcmVwb3J0IGl0XG4gIDI6ICc9PSAxLjAuMC1yYy4zJyxcbiAgMzogJz09IDEuMC4wLXJjLjQnLFxuICA0OiAnPT0gMS54LngnLFxuICA1OiAnPT0gMi4wLjAtYWxwaGEueCcsXG4gIDY6ICc+PSAyLjAuMC1iZXRhLjEnLFxuICA3OiAnPj0gNC4wLjAgPDQuMy4wJyxcbiAgODogJz49IDQuMy4wJ1xufTtcblxuY29uc3Qgb2JqZWN0VHlwZSA9ICdbb2JqZWN0IE9iamVjdF0nO1xuXG5leHBvcnQgZnVuY3Rpb24gSGFuZGxlYmFyc0Vudmlyb25tZW50KGhlbHBlcnMsIHBhcnRpYWxzLCBkZWNvcmF0b3JzKSB7XG4gIHRoaXMuaGVscGVycyA9IGhlbHBlcnMgfHwge307XG4gIHRoaXMucGFydGlhbHMgPSBwYXJ0aWFscyB8fCB7fTtcbiAgdGhpcy5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycyB8fCB7fTtcblxuICByZWdpc3RlckRlZmF1bHRIZWxwZXJzKHRoaXMpO1xuICByZWdpc3RlckRlZmF1bHREZWNvcmF0b3JzKHRoaXMpO1xufVxuXG5IYW5kbGViYXJzRW52aXJvbm1lbnQucHJvdG90eXBlID0ge1xuICBjb25zdHJ1Y3RvcjogSGFuZGxlYmFyc0Vudmlyb25tZW50LFxuXG4gIGxvZ2dlcjogbG9nZ2VyLFxuICBsb2c6IGxvZ2dlci5sb2csXG5cbiAgcmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUsIGZuKSB7XG4gICAgaWYgKHRvU3RyaW5nLmNhbGwobmFtZSkgPT09IG9iamVjdFR5cGUpIHtcbiAgICAgIGlmIChmbikge1xuICAgICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBcmcgbm90IHN1cHBvcnRlZCB3aXRoIG11bHRpcGxlIGhlbHBlcnMnKTtcbiAgICAgIH1cbiAgICAgIGV4dGVuZCh0aGlzLmhlbHBlcnMsIG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmhlbHBlcnNbbmFtZV0gPSBmbjtcbiAgICB9XG4gIH0sXG4gIHVucmVnaXN0ZXJIZWxwZXI6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5oZWxwZXJzW25hbWVdO1xuICB9LFxuXG4gIHJlZ2lzdGVyUGFydGlhbDogZnVuY3Rpb24obmFtZSwgcGFydGlhbCkge1xuICAgIGlmICh0b1N0cmluZy5jYWxsKG5hbWUpID09PSBvYmplY3RUeXBlKSB7XG4gICAgICBleHRlbmQodGhpcy5wYXJ0aWFscywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcGFydGlhbCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgICBgQXR0ZW1wdGluZyB0byByZWdpc3RlciBhIHBhcnRpYWwgY2FsbGVkIFwiJHtuYW1lfVwiIGFzIHVuZGVmaW5lZGBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFydGlhbHNbbmFtZV0gPSBwYXJ0aWFsO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlclBhcnRpYWw6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJ0aWFsc1tuYW1lXTtcbiAgfSxcblxuICByZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSwgZm4pIHtcbiAgICBpZiAodG9TdHJpbmcuY2FsbChuYW1lKSA9PT0gb2JqZWN0VHlwZSkge1xuICAgICAgaWYgKGZuKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0FyZyBub3Qgc3VwcG9ydGVkIHdpdGggbXVsdGlwbGUgZGVjb3JhdG9ycycpO1xuICAgICAgfVxuICAgICAgZXh0ZW5kKHRoaXMuZGVjb3JhdG9ycywgbmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVjb3JhdG9yc1tuYW1lXSA9IGZuO1xuICAgIH1cbiAgfSxcbiAgdW5yZWdpc3RlckRlY29yYXRvcjogZnVuY3Rpb24obmFtZSkge1xuICAgIGRlbGV0ZSB0aGlzLmRlY29yYXRvcnNbbmFtZV07XG4gIH0sXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgbWVtb3J5IG9mIGlsbGVnYWwgcHJvcGVydHkgYWNjZXNzZXMgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBsb2dnZWQuXG4gICAqIEBkZXByZWNhdGVkIHNob3VsZCBvbmx5IGJlIHVzZWQgaW4gaGFuZGxlYmFycyB0ZXN0LWNhc2VzXG4gICAqL1xuICByZXNldExvZ2dlZFByb3BlcnR5QWNjZXNzZXMoKSB7XG4gICAgcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBsZXQgbG9nID0gbG9nZ2VyLmxvZztcblxuZXhwb3J0IHsgY3JlYXRlRnJhbWUsIGxvZ2dlciB9O1xuIl19
-
-
-/***/ }),
-/* 42 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.registerDefaultHelpers = registerDefaultHelpers;
-exports.moveHelperToHooks = moveHelperToHooks;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _helpersBlockHelperMissing = __webpack_require__(82);
-
-var _helpersBlockHelperMissing2 = _interopRequireDefault(_helpersBlockHelperMissing);
-
-var _helpersEach = __webpack_require__(83);
-
-var _helpersEach2 = _interopRequireDefault(_helpersEach);
-
-var _helpersHelperMissing = __webpack_require__(84);
-
-var _helpersHelperMissing2 = _interopRequireDefault(_helpersHelperMissing);
-
-var _helpersIf = __webpack_require__(85);
-
-var _helpersIf2 = _interopRequireDefault(_helpersIf);
-
-var _helpersLog = __webpack_require__(86);
-
-var _helpersLog2 = _interopRequireDefault(_helpersLog);
-
-var _helpersLookup = __webpack_require__(87);
-
-var _helpersLookup2 = _interopRequireDefault(_helpersLookup);
-
-var _helpersWith = __webpack_require__(88);
-
-var _helpersWith2 = _interopRequireDefault(_helpersWith);
-
-function registerDefaultHelpers(instance) {
- _helpersBlockHelperMissing2['default'](instance);
- _helpersEach2['default'](instance);
- _helpersHelperMissing2['default'](instance);
- _helpersIf2['default'](instance);
- _helpersLog2['default'](instance);
- _helpersLookup2['default'](instance);
- _helpersWith2['default'](instance);
-}
-
-function moveHelperToHooks(instance, helperName, keepHelper) {
- if (instance.helpers[helperName]) {
- instance.hooks[helperName] = instance.helpers[helperName];
- if (!keepHelper) {
- delete instance.helpers[helperName];
- }
- }
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O3lDQUF1QyxnQ0FBZ0M7Ozs7MkJBQzlDLGdCQUFnQjs7OztvQ0FDUCwwQkFBMEI7Ozs7eUJBQ3JDLGNBQWM7Ozs7MEJBQ2IsZUFBZTs7Ozs2QkFDWixrQkFBa0I7Ozs7MkJBQ3BCLGdCQUFnQjs7OztBQUVsQyxTQUFTLHNCQUFzQixDQUFDLFFBQVEsRUFBRTtBQUMvQyx5Q0FBMkIsUUFBUSxDQUFDLENBQUM7QUFDckMsMkJBQWEsUUFBUSxDQUFDLENBQUM7QUFDdkIsb0NBQXNCLFFBQVEsQ0FBQyxDQUFDO0FBQ2hDLHlCQUFXLFFBQVEsQ0FBQyxDQUFDO0FBQ3JCLDBCQUFZLFFBQVEsQ0FBQyxDQUFDO0FBQ3RCLDZCQUFlLFFBQVEsQ0FBQyxDQUFDO0FBQ3pCLDJCQUFhLFFBQVEsQ0FBQyxDQUFDO0NBQ3hCOztBQUVNLFNBQVMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7QUFDbEUsTUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO0FBQ2hDLFlBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMxRCxRQUFJLENBQUMsVUFBVSxFQUFFO0FBQ2YsYUFBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0tBQ3JDO0dBQ0Y7Q0FDRiIsImZpbGUiOiJoZWxwZXJzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVyQmxvY2tIZWxwZXJNaXNzaW5nIGZyb20gJy4vaGVscGVycy9ibG9jay1oZWxwZXItbWlzc2luZyc7XG5pbXBvcnQgcmVnaXN0ZXJFYWNoIGZyb20gJy4vaGVscGVycy9lYWNoJztcbmltcG9ydCByZWdpc3RlckhlbHBlck1pc3NpbmcgZnJvbSAnLi9oZWxwZXJzL2hlbHBlci1taXNzaW5nJztcbmltcG9ydCByZWdpc3RlcklmIGZyb20gJy4vaGVscGVycy9pZic7XG5pbXBvcnQgcmVnaXN0ZXJMb2cgZnJvbSAnLi9oZWxwZXJzL2xvZyc7XG5pbXBvcnQgcmVnaXN0ZXJMb29rdXAgZnJvbSAnLi9oZWxwZXJzL2xvb2t1cCc7XG5pbXBvcnQgcmVnaXN0ZXJXaXRoIGZyb20gJy4vaGVscGVycy93aXRoJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGVmYXVsdEhlbHBlcnMoaW5zdGFuY2UpIHtcbiAgcmVnaXN0ZXJCbG9ja0hlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlckVhY2goaW5zdGFuY2UpO1xuICByZWdpc3RlckhlbHBlck1pc3NpbmcoaW5zdGFuY2UpO1xuICByZWdpc3RlcklmKGluc3RhbmNlKTtcbiAgcmVnaXN0ZXJMb2coaW5zdGFuY2UpO1xuICByZWdpc3Rlckxvb2t1cChpbnN0YW5jZSk7XG4gIHJlZ2lzdGVyV2l0aChpbnN0YW5jZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtb3ZlSGVscGVyVG9Ib29rcyhpbnN0YW5jZSwgaGVscGVyTmFtZSwga2VlcEhlbHBlcikge1xuICBpZiAoaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXSkge1xuICAgIGluc3RhbmNlLmhvb2tzW2hlbHBlck5hbWVdID0gaW5zdGFuY2UuaGVscGVyc1toZWxwZXJOYW1lXTtcbiAgICBpZiAoIWtlZXBIZWxwZXIpIHtcbiAgICAgIGRlbGV0ZSBpbnN0YW5jZS5oZWxwZXJzW2hlbHBlck5hbWVdO1xuICAgIH1cbiAgfVxufVxuIl19
-
-
-/***/ }),
-/* 43 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _utils = __webpack_require__(7);
-
-var logger = {
- methodMap: ['debug', 'info', 'warn', 'error'],
- level: 'info',
-
- // Maps a given level value to the `methodMap` indexes above.
- lookupLevel: function lookupLevel(level) {
- if (typeof level === 'string') {
- var levelMap = _utils.indexOf(logger.methodMap, level.toLowerCase());
- if (levelMap >= 0) {
- level = levelMap;
- } else {
- level = parseInt(level, 10);
- }
- }
-
- return level;
- },
-
- // Can be overridden in the host environment
- log: function log(level) {
- level = logger.lookupLevel(level);
-
- if (typeof console !== 'undefined' && logger.lookupLevel(logger.level) <= level) {
- var method = logger.methodMap[level];
- // eslint-disable-next-line no-console
- if (!console[method]) {
- method = 'log';
- }
-
- for (var _len = arguments.length, message = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
- message[_key - 1] = arguments[_key];
- }
-
- console[method].apply(console, message); // eslint-disable-line no-console
- }
- }
-};
-
-exports['default'] = logger;
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2xvZ2dlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O3FCQUF3QixTQUFTOztBQUVqQyxJQUFJLE1BQU0sR0FBRztBQUNYLFdBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQztBQUM3QyxPQUFLLEVBQUUsTUFBTTs7O0FBR2IsYUFBVyxFQUFFLHFCQUFTLEtBQUssRUFBRTtBQUMzQixRQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtBQUM3QixVQUFJLFFBQVEsR0FBRyxlQUFRLE1BQU0sQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7QUFDOUQsVUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFO0FBQ2pCLGFBQUssR0FBRyxRQUFRLENBQUM7T0FDbEIsTUFBTTtBQUNMLGFBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzdCO0tBQ0Y7O0FBRUQsV0FBTyxLQUFLLENBQUM7R0FDZDs7O0FBR0QsS0FBRyxFQUFFLGFBQVMsS0FBSyxFQUFjO0FBQy9CLFNBQUssR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUVsQyxRQUNFLE9BQU8sT0FBTyxLQUFLLFdBQVcsSUFDOUIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxFQUN6QztBQUNBLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRXJDLFVBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDcEIsY0FBTSxHQUFHLEtBQUssQ0FBQztPQUNoQjs7d0NBWG1CLE9BQU87QUFBUCxlQUFPOzs7QUFZM0IsYUFBTyxDQUFDLE1BQU0sT0FBQyxDQUFmLE9BQU8sRUFBWSxPQUFPLENBQUMsQ0FBQztLQUM3QjtHQUNGO0NBQ0YsQ0FBQzs7cUJBRWEsTUFBTSIsImZpbGUiOiJsb2dnZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmRleE9mIH0gZnJvbSAnLi91dGlscyc7XG5cbmxldCBsb2dnZXIgPSB7XG4gIG1ldGhvZE1hcDogWydkZWJ1ZycsICdpbmZvJywgJ3dhcm4nLCAnZXJyb3InXSxcbiAgbGV2ZWw6ICdpbmZvJyxcblxuICAvLyBNYXBzIGEgZ2l2ZW4gbGV2ZWwgdmFsdWUgdG8gdGhlIGBtZXRob2RNYXBgIGluZGV4ZXMgYWJvdmUuXG4gIGxvb2t1cExldmVsOiBmdW5jdGlvbihsZXZlbCkge1xuICAgIGlmICh0eXBlb2YgbGV2ZWwgPT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbGV2ZWxNYXAgPSBpbmRleE9mKGxvZ2dlci5tZXRob2RNYXAsIGxldmVsLnRvTG93ZXJDYXNlKCkpO1xuICAgICAgaWYgKGxldmVsTWFwID49IDApIHtcbiAgICAgICAgbGV2ZWwgPSBsZXZlbE1hcDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldmVsID0gcGFyc2VJbnQobGV2ZWwsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbGV2ZWw7XG4gIH0sXG5cbiAgLy8gQ2FuIGJlIG92ZXJyaWRkZW4gaW4gdGhlIGhvc3QgZW52aXJvbm1lbnRcbiAgbG9nOiBmdW5jdGlvbihsZXZlbCwgLi4ubWVzc2FnZSkge1xuICAgIGxldmVsID0gbG9nZ2VyLmxvb2t1cExldmVsKGxldmVsKTtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjb25zb2xlICE9PSAndW5kZWZpbmVkJyAmJlxuICAgICAgbG9nZ2VyLmxvb2t1cExldmVsKGxvZ2dlci5sZXZlbCkgPD0gbGV2ZWxcbiAgICApIHtcbiAgICAgIGxldCBtZXRob2QgPSBsb2dnZXIubWV0aG9kTWFwW2xldmVsXTtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgICBpZiAoIWNvbnNvbGVbbWV0aG9kXSkge1xuICAgICAgICBtZXRob2QgPSAnbG9nJztcbiAgICAgIH1cbiAgICAgIGNvbnNvbGVbbWV0aG9kXSguLi5tZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb25zb2xlXG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2dnZXI7XG4iXX0=
-
-
-/***/ }),
-/* 44 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.createProtoAccessControl = createProtoAccessControl;
-exports.resultIsAllowed = resultIsAllowed;
-exports.resetLoggedProperties = resetLoggedProperties;
-// istanbul ignore next
-
-function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
-
-var _createNewLookupObject = __webpack_require__(91);
-
-var _logger = __webpack_require__(43);
-
-var logger = _interopRequireWildcard(_logger);
-
-var loggedProperties = Object.create(null);
-
-function createProtoAccessControl(runtimeOptions) {
- var defaultMethodWhiteList = Object.create(null);
- defaultMethodWhiteList['constructor'] = false;
- defaultMethodWhiteList['__defineGetter__'] = false;
- defaultMethodWhiteList['__defineSetter__'] = false;
- defaultMethodWhiteList['__lookupGetter__'] = false;
-
- var defaultPropertyWhiteList = Object.create(null);
- // eslint-disable-next-line no-proto
- defaultPropertyWhiteList['__proto__'] = false;
-
- return {
- properties: {
- whitelist: _createNewLookupObject.createNewLookupObject(defaultPropertyWhiteList, runtimeOptions.allowedProtoProperties),
- defaultValue: runtimeOptions.allowProtoPropertiesByDefault
- },
- methods: {
- whitelist: _createNewLookupObject.createNewLookupObject(defaultMethodWhiteList, runtimeOptions.allowedProtoMethods),
- defaultValue: runtimeOptions.allowProtoMethodsByDefault
- }
- };
-}
-
-function resultIsAllowed(result, protoAccessControl, propertyName) {
- if (typeof result === 'function') {
- return checkWhiteList(protoAccessControl.methods, propertyName);
- } else {
- return checkWhiteList(protoAccessControl.properties, propertyName);
- }
-}
-
-function checkWhiteList(protoAccessControlForType, propertyName) {
- if (protoAccessControlForType.whitelist[propertyName] !== undefined) {
- return protoAccessControlForType.whitelist[propertyName] === true;
- }
- if (protoAccessControlForType.defaultValue !== undefined) {
- return protoAccessControlForType.defaultValue;
- }
- logUnexpecedPropertyAccessOnce(propertyName);
- return false;
-}
-
-function logUnexpecedPropertyAccessOnce(propertyName) {
- if (loggedProperties[propertyName] !== true) {
- loggedProperties[propertyName] = true;
- logger.log('error', 'Handlebars: Access has been denied to resolve the property "' + propertyName + '" because it is not an "own property" of its parent.\n' + 'You can add a runtime option to disable the check or this warning:\n' + 'See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details');
- }
-}
-
-function resetLoggedProperties() {
- Object.keys(loggedProperties).forEach(function (propertyName) {
- delete loggedProperties[propertyName];
- });
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3Byb3RvLWFjY2Vzcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O3FDQUFzQyw0QkFBNEI7O3NCQUMxQyxXQUFXOztJQUF2QixNQUFNOztBQUVsQixJQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7O0FBRXRDLFNBQVMsd0JBQXdCLENBQUMsY0FBYyxFQUFFO0FBQ3ZELE1BQUksc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRCx3QkFBc0IsQ0FBQyxhQUFhLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDOUMsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7QUFDbkQsd0JBQXNCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRW5ELE1BQUksd0JBQXdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7QUFFbkQsMEJBQXdCLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDOztBQUU5QyxTQUFPO0FBQ0wsY0FBVSxFQUFFO0FBQ1YsZUFBUyxFQUFFLDZDQUNULHdCQUF3QixFQUN4QixjQUFjLENBQUMsc0JBQXNCLENBQ3RDO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsNkJBQTZCO0tBQzNEO0FBQ0QsV0FBTyxFQUFFO0FBQ1AsZUFBUyxFQUFFLDZDQUNULHNCQUFzQixFQUN0QixjQUFjLENBQUMsbUJBQW1CLENBQ25DO0FBQ0Qsa0JBQVksRUFBRSxjQUFjLENBQUMsMEJBQTBCO0tBQ3hEO0dBQ0YsQ0FBQztDQUNIOztBQUVNLFNBQVMsZUFBZSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUU7QUFDeEUsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7QUFDaEMsV0FBTyxjQUFjLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0dBQ2pFLE1BQU07QUFDTCxXQUFPLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUM7R0FDcEU7Q0FDRjs7QUFFRCxTQUFTLGNBQWMsQ0FBQyx5QkFBeUIsRUFBRSxZQUFZLEVBQUU7QUFDL0QsTUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEtBQUssU0FBUyxFQUFFO0FBQ25FLFdBQU8seUJBQXlCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLElBQUksQ0FBQztHQUNuRTtBQUNELE1BQUkseUJBQXlCLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtBQUN4RCxXQUFPLHlCQUF5QixDQUFDLFlBQVksQ0FBQztHQUMvQztBQUNELGdDQUE4QixDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdDLFNBQU8sS0FBSyxDQUFDO0NBQ2Q7O0FBRUQsU0FBUyw4QkFBOEIsQ0FBQyxZQUFZLEVBQUU7QUFDcEQsTUFBSSxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLEVBQUU7QUFDM0Msb0JBQWdCLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBQ3RDLFVBQU0sQ0FBQyxHQUFHLENBQ1IsT0FBTyxFQUNQLGlFQUErRCxZQUFZLG9JQUNILG9IQUMyQyxDQUNwSCxDQUFDO0dBQ0g7Q0FDRjs7QUFFTSxTQUFTLHFCQUFxQixHQUFHO0FBQ3RDLFFBQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxZQUFZLEVBQUk7QUFDcEQsV0FBTyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztHQUN2QyxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJwcm90by1hY2Nlc3MuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVOZXdMb29rdXBPYmplY3QgfSBmcm9tICcuL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdCc7XG5pbXBvcnQgKiBhcyBsb2dnZXIgZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgbG9nZ2VkUHJvcGVydGllcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQcm90b0FjY2Vzc0NvbnRyb2wocnVudGltZU9wdGlvbnMpIHtcbiAgbGV0IGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0Wydjb25zdHJ1Y3RvciddID0gZmFsc2U7XG4gIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3RbJ19fZGVmaW5lR2V0dGVyX18nXSA9IGZhbHNlO1xuICBkZWZhdWx0TWV0aG9kV2hpdGVMaXN0WydfX2RlZmluZVNldHRlcl9fJ10gPSBmYWxzZTtcbiAgZGVmYXVsdE1ldGhvZFdoaXRlTGlzdFsnX19sb29rdXBHZXR0ZXJfXyddID0gZmFsc2U7XG5cbiAgbGV0IGRlZmF1bHRQcm9wZXJ0eVdoaXRlTGlzdCA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b1xuICBkZWZhdWx0UHJvcGVydHlXaGl0ZUxpc3RbJ19fcHJvdG9fXyddID0gZmFsc2U7XG5cbiAgcmV0dXJuIHtcbiAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICB3aGl0ZWxpc3Q6IGNyZWF0ZU5ld0xvb2t1cE9iamVjdChcbiAgICAgICAgZGVmYXVsdFByb3BlcnR5V2hpdGVMaXN0LFxuICAgICAgICBydW50aW1lT3B0aW9ucy5hbGxvd2VkUHJvdG9Qcm9wZXJ0aWVzXG4gICAgICApLFxuICAgICAgZGVmYXVsdFZhbHVlOiBydW50aW1lT3B0aW9ucy5hbGxvd1Byb3RvUHJvcGVydGllc0J5RGVmYXVsdFxuICAgIH0sXG4gICAgbWV0aG9kczoge1xuICAgICAgd2hpdGVsaXN0OiBjcmVhdGVOZXdMb29rdXBPYmplY3QoXG4gICAgICAgIGRlZmF1bHRNZXRob2RXaGl0ZUxpc3QsXG4gICAgICAgIHJ1bnRpbWVPcHRpb25zLmFsbG93ZWRQcm90b01ldGhvZHNcbiAgICAgICksXG4gICAgICBkZWZhdWx0VmFsdWU6IHJ1bnRpbWVPcHRpb25zLmFsbG93UHJvdG9NZXRob2RzQnlEZWZhdWx0XG4gICAgfVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgcHJvdG9BY2Nlc3NDb250cm9sLCBwcm9wZXJ0eU5hbWUpIHtcbiAgaWYgKHR5cGVvZiByZXN1bHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gY2hlY2tXaGl0ZUxpc3QocHJvdG9BY2Nlc3NDb250cm9sLm1ldGhvZHMsIHByb3BlcnR5TmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbC5wcm9wZXJ0aWVzLCBwcm9wZXJ0eU5hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNoZWNrV2hpdGVMaXN0KHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUsIHByb3BlcnR5TmFtZSkge1xuICBpZiAocHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS53aGl0ZWxpc3RbcHJvcGVydHlOYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUud2hpdGVsaXN0W3Byb3BlcnR5TmFtZV0gPT09IHRydWU7XG4gIH1cbiAgaWYgKHByb3RvQWNjZXNzQ29udHJvbEZvclR5cGUuZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gcHJvdG9BY2Nlc3NDb250cm9sRm9yVHlwZS5kZWZhdWx0VmFsdWU7XG4gIH1cbiAgbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSk7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gbG9nVW5leHBlY2VkUHJvcGVydHlBY2Nlc3NPbmNlKHByb3BlcnR5TmFtZSkge1xuICBpZiAobG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdICE9PSB0cnVlKSB7XG4gICAgbG9nZ2VkUHJvcGVydGllc1twcm9wZXJ0eU5hbWVdID0gdHJ1ZTtcbiAgICBsb2dnZXIubG9nKFxuICAgICAgJ2Vycm9yJyxcbiAgICAgIGBIYW5kbGViYXJzOiBBY2Nlc3MgaGFzIGJlZW4gZGVuaWVkIHRvIHJlc29sdmUgdGhlIHByb3BlcnR5IFwiJHtwcm9wZXJ0eU5hbWV9XCIgYmVjYXVzZSBpdCBpcyBub3QgYW4gXCJvd24gcHJvcGVydHlcIiBvZiBpdHMgcGFyZW50LlxcbmAgK1xuICAgICAgICBgWW91IGNhbiBhZGQgYSBydW50aW1lIG9wdGlvbiB0byBkaXNhYmxlIHRoZSBjaGVjayBvciB0aGlzIHdhcm5pbmc6XFxuYCArXG4gICAgICAgIGBTZWUgaHR0cHM6Ly9oYW5kbGViYXJzanMuY29tL2FwaS1yZWZlcmVuY2UvcnVudGltZS1vcHRpb25zLmh0bWwjb3B0aW9ucy10by1jb250cm9sLXByb3RvdHlwZS1hY2Nlc3MgZm9yIGRldGFpbHNgXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzZXRMb2dnZWRQcm9wZXJ0aWVzKCkge1xuICBPYmplY3Qua2V5cyhsb2dnZWRQcm9wZXJ0aWVzKS5mb3JFYWNoKHByb3BlcnR5TmFtZSA9PiB7XG4gICAgZGVsZXRlIGxvZ2dlZFByb3BlcnRpZXNbcHJvcGVydHlOYW1lXTtcbiAgfSk7XG59XG4iXX0=
-
-
-/***/ }),
-/* 45 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = factory;
-
-const Octokit = __webpack_require__(103);
-const registerPlugin = __webpack_require__(112);
-
-function factory(plugins) {
- const Api = Octokit.bind(null, plugins || []);
- Api.plugin = registerPlugin.bind(null, plugins || []);
- return Api;
-}
-
-
-/***/ }),
-/* 46 */
-/***/ (function(module, exports) {
-
-module.exports = function _btoa(str) {
- return btoa(str)
-}
-
-
-/***/ }),
-/* 47 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = withAuthorizationPrefix;
-
-const atob = __webpack_require__(116);
-
-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}`;
-}
-
-
-/***/ }),
-/* 48 */
-/***/ (function(module, exports) {
-
-var toString = {}.toString;
-
-module.exports = Array.isArray || function (arr) {
- return toString.call(arr) == '[object Array]';
-};
-
-
-/***/ }),
-/* 49 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/*
- * This file is used by module bundlers (browserify/webpack/etc) when
- * including a stream implementation. We use "readable-stream" to get a
- * consistent behavior between nodejs versions but bundlers often have a shim
- * for "stream". Using this shim greatly improve the compatibility and greatly
- * reduce the final size of the bundle (only one stream implementation, not
- * two).
- */
-module.exports = __webpack_require__(143);
-
-
-/***/ }),
-/* 50 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global, process) {// 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__(27);
-/**/
-
-module.exports = Readable;
-
-/**/
-var isArray = __webpack_require__(48);
-/**/
-
-/**/
-var Duplex;
-/**/
-
-Readable.ReadableState = ReadableState;
-
-/**/
-var EE = __webpack_require__(32).EventEmitter;
-
-var EElistenerCount = function (emitter, type) {
- return emitter.listeners(type).length;
-};
-/**/
-
-/**/
-var Stream = __webpack_require__(51);
-/**/
-
-/**/
-
-var Buffer = __webpack_require__(34).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__(23));
-util.inherits = __webpack_require__(19);
-/**/
-
-/**/
-var debugUtil = __webpack_require__(144);
-var debug = void 0;
-if (debugUtil && debugUtil.debuglog) {
- debug = debugUtil.debuglog('stream');
-} else {
- debug = function () {};
-}
-/**/
-
-var BufferList = __webpack_require__(145);
-var destroyImpl = __webpack_require__(52);
-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__(14);
-
- 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__(54).StringDecoder;
- this.decoder = new StringDecoder(options.encoding);
- this.encoding = options.encoding;
- }
-}
-
-function Readable(options) {
- Duplex = Duplex || __webpack_require__(14);
-
- 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__(54).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;
-}
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5), __webpack_require__(26)))
-
-/***/ }),
-/* 51 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__(32).EventEmitter;
-
-
-/***/ }),
-/* 52 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-/**/
-
-var pna = __webpack_require__(27);
-/**/
-
-// 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
-};
-
-/***/ }),
-/* 53 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global) {var scope = (typeof global !== "undefined" && global) ||
- (typeof self !== "undefined" && self) ||
- window;
-var apply = Function.prototype.apply;
-
-// DOM APIs, for completeness
-
-exports.setTimeout = function() {
- return new Timeout(apply.call(setTimeout, scope, arguments), clearTimeout);
-};
-exports.setInterval = function() {
- return new Timeout(apply.call(setInterval, scope, arguments), clearInterval);
-};
-exports.clearTimeout =
-exports.clearInterval = function(timeout) {
- if (timeout) {
- timeout.close();
- }
-};
-
-function Timeout(id, clearFn) {
- this._id = id;
- this._clearFn = clearFn;
-}
-Timeout.prototype.unref = Timeout.prototype.ref = function() {};
-Timeout.prototype.close = function() {
- this._clearFn.call(scope, this._id);
-};
-
-// Does not start the time, just sets up the members needed.
-exports.enroll = function(item, msecs) {
- clearTimeout(item._idleTimeoutId);
- item._idleTimeout = msecs;
-};
-
-exports.unenroll = function(item) {
- clearTimeout(item._idleTimeoutId);
- item._idleTimeout = -1;
-};
-
-exports._unrefActive = exports.active = function(item) {
- clearTimeout(item._idleTimeoutId);
-
- var msecs = item._idleTimeout;
- if (msecs >= 0) {
- item._idleTimeoutId = setTimeout(function onTimeout() {
- if (item._onTimeout)
- item._onTimeout();
- }, msecs);
- }
-};
-
-// setimmediate attaches itself to the global object
-__webpack_require__(147);
-// On some exotic environments, it's not clear which object `setimmediate` was
-// able to install onto. Search each possibility in the same order as the
-// `setimmediate` library.
-exports.setImmediate = (typeof self !== "undefined" && self.setImmediate) ||
- (typeof global !== "undefined" && global.setImmediate) ||
- (this && this.setImmediate);
-exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) ||
- (typeof global !== "undefined" && global.clearImmediate) ||
- (this && this.clearImmediate);
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
-
-/***/ }),
-/* 54 */
-/***/ (function(module, 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__(149).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) : '';
-}
-
-/***/ }),
-/* 55 */
-/***/ (function(module, 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.
-
-// 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__(14);
-
-/**/
-var util = Object.create(__webpack_require__(23));
-util.inherits = __webpack_require__(19);
-/**/
-
-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);
-}
-
-/***/ }),
-/* 56 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var utils = __webpack_require__(1);
-var support = __webpack_require__(11);
-// private property
-var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
-
-
-// public method for encoding
-exports.encode = function(input) {
- var output = [];
- var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
- var i = 0, len = input.length, remainingBytes = len;
-
- var isArray = utils.getTypeOf(input) !== "string";
- while (i < input.length) {
- remainingBytes = len - i;
-
- if (!isArray) {
- chr1 = input.charCodeAt(i++);
- chr2 = i < len ? input.charCodeAt(i++) : 0;
- chr3 = i < len ? input.charCodeAt(i++) : 0;
- } else {
- chr1 = input[i++];
- chr2 = i < len ? input[i++] : 0;
- chr3 = i < len ? input[i++] : 0;
- }
-
- enc1 = chr1 >> 2;
- enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
- enc3 = remainingBytes > 1 ? (((chr2 & 15) << 2) | (chr3 >> 6)) : 64;
- enc4 = remainingBytes > 2 ? (chr3 & 63) : 64;
-
- output.push(_keyStr.charAt(enc1) + _keyStr.charAt(enc2) + _keyStr.charAt(enc3) + _keyStr.charAt(enc4));
-
- }
-
- return output.join("");
-};
-
-// public method for decoding
-exports.decode = function(input) {
- var chr1, chr2, chr3;
- var enc1, enc2, enc3, enc4;
- var i = 0, resultIndex = 0;
-
- var dataUrlPrefix = "data:";
-
- if (input.substr(0, dataUrlPrefix.length) === dataUrlPrefix) {
- // This is a common error: people give a data url
- // (data:image/png;base64,iVBOR...) with a {base64: true} and
- // wonders why things don't work.
- // We can detect that the string input looks like a data url but we
- // *can't* be sure it is one: removing everything up to the comma would
- // be too dangerous.
- throw new Error("Invalid base64 input, it looks like a data url.");
- }
-
- input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
-
- var totalLength = input.length * 3 / 4;
- if(input.charAt(input.length - 1) === _keyStr.charAt(64)) {
- totalLength--;
- }
- if(input.charAt(input.length - 2) === _keyStr.charAt(64)) {
- totalLength--;
- }
- if (totalLength % 1 !== 0) {
- // totalLength is not an integer, the length does not match a valid
- // base64 content. That can happen if:
- // - the input is not a base64 content
- // - the input is *almost* a base64 content, with a extra chars at the
- // beginning or at the end
- // - the input uses a base64 variant (base64url for example)
- throw new Error("Invalid base64 input, bad content length.");
- }
- var output;
- if (support.uint8array) {
- output = new Uint8Array(totalLength|0);
- } else {
- output = new Array(totalLength|0);
- }
-
- while (i < input.length) {
-
- enc1 = _keyStr.indexOf(input.charAt(i++));
- enc2 = _keyStr.indexOf(input.charAt(i++));
- enc3 = _keyStr.indexOf(input.charAt(i++));
- enc4 = _keyStr.indexOf(input.charAt(i++));
-
- chr1 = (enc1 << 2) | (enc2 >> 4);
- chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
- chr3 = ((enc3 & 3) << 6) | enc4;
-
- output[resultIndex++] = chr1;
-
- if (enc3 !== 64) {
- output[resultIndex++] = chr2;
- }
- if (enc4 !== 64) {
- output[resultIndex++] = chr3;
- }
-
- }
-
- return output;
-};
-
-
-/***/ }),
-/* 57 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(Buffer) {
-
-var utils = __webpack_require__(1);
-var ConvertWorker = __webpack_require__(158);
-var GenericWorker = __webpack_require__(6);
-var base64 = __webpack_require__(56);
-var support = __webpack_require__(11);
-var external = __webpack_require__(24);
-
-var NodejsStreamOutputAdapter = null;
-if (support.nodestream) {
- try {
- NodejsStreamOutputAdapter = __webpack_require__(159);
- } catch(e) {}
-}
-
-/**
- * Apply the final transformation of the data. If the user wants a Blob for
- * example, it's easier to work with an U8intArray and finally do the
- * ArrayBuffer/Blob conversion.
- * @param {String} type the name of the final type
- * @param {String|Uint8Array|Buffer} content the content to transform
- * @param {String} mimeType the mime type of the content, if applicable.
- * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the content in the right format.
- */
-function transformZipOutput(type, content, mimeType) {
- switch(type) {
- case "blob" :
- return utils.newBlob(utils.transformTo("arraybuffer", content), mimeType);
- case "base64" :
- return base64.encode(content);
- default :
- return utils.transformTo(type, content);
- }
-}
-
-/**
- * Concatenate an array of data of the given type.
- * @param {String} type the type of the data in the given array.
- * @param {Array} dataArray the array containing the data chunks to concatenate
- * @return {String|Uint8Array|Buffer} the concatenated data
- * @throws Error if the asked type is unsupported
- */
-function concat (type, dataArray) {
- var i, index = 0, res = null, totalLength = 0;
- for(i = 0; i < dataArray.length; i++) {
- totalLength += dataArray[i].length;
- }
- switch(type) {
- case "string":
- return dataArray.join("");
- case "array":
- return Array.prototype.concat.apply([], dataArray);
- case "uint8array":
- res = new Uint8Array(totalLength);
- for(i = 0; i < dataArray.length; i++) {
- res.set(dataArray[i], index);
- index += dataArray[i].length;
- }
- return res;
- case "nodebuffer":
- return Buffer.concat(dataArray);
- default:
- throw new Error("concat : unsupported type '" + type + "'");
- }
-}
-
-/**
- * Listen a StreamHelper, accumulate its content and concatenate it into a
- * complete block.
- * @param {StreamHelper} helper the helper to use.
- * @param {Function} updateCallback a callback called on each update. Called
- * with one arg :
- * - the metadata linked to the update received.
- * @return Promise the promise for the accumulation.
- */
-function accumulate(helper, updateCallback) {
- return new external.Promise(function (resolve, reject){
- var dataArray = [];
- var chunkType = helper._internalType,
- resultType = helper._outputType,
- mimeType = helper._mimeType;
- helper
- .on('data', function (data, meta) {
- dataArray.push(data);
- if(updateCallback) {
- updateCallback(meta);
- }
- })
- .on('error', function(err) {
- dataArray = [];
- reject(err);
- })
- .on('end', function (){
- try {
- var result = transformZipOutput(resultType, concat(chunkType, dataArray), mimeType);
- resolve(result);
- } catch (e) {
- reject(e);
- }
- dataArray = [];
- })
- .resume();
- });
-}
-
-/**
- * An helper to easily use workers outside of JSZip.
- * @constructor
- * @param {Worker} worker the worker to wrap
- * @param {String} outputType the type of data expected by the use
- * @param {String} mimeType the mime type of the content, if applicable.
- */
-function StreamHelper(worker, outputType, mimeType) {
- var internalType = outputType;
- switch(outputType) {
- case "blob":
- case "arraybuffer":
- internalType = "uint8array";
- break;
- case "base64":
- internalType = "string";
- break;
- }
-
- try {
- // the type used internally
- this._internalType = internalType;
- // the type used to output results
- this._outputType = outputType;
- // the mime type
- this._mimeType = mimeType;
- utils.checkSupport(internalType);
- this._worker = worker.pipe(new ConvertWorker(internalType));
- // the last workers can be rewired without issues but we need to
- // prevent any updates on previous workers.
- worker.lock();
- } catch(e) {
- this._worker = new GenericWorker("error");
- this._worker.error(e);
- }
-}
-
-StreamHelper.prototype = {
- /**
- * Listen a StreamHelper, accumulate its content and concatenate it into a
- * complete block.
- * @param {Function} updateCb the update callback.
- * @return Promise the promise for the accumulation.
- */
- accumulate : function (updateCb) {
- return accumulate(this, updateCb);
- },
- /**
- * Add a listener on an event triggered on a stream.
- * @param {String} evt the name of the event
- * @param {Function} fn the listener
- * @return {StreamHelper} the current helper.
- */
- on : function (evt, fn) {
- var self = this;
-
- if(evt === "data") {
- this._worker.on(evt, function (chunk) {
- fn.call(self, chunk.data, chunk.meta);
- });
- } else {
- this._worker.on(evt, function () {
- utils.delay(fn, arguments, self);
- });
- }
- return this;
- },
- /**
- * Resume the flow of chunks.
- * @return {StreamHelper} the current helper.
- */
- resume : function () {
- utils.delay(this._worker.resume, [], this._worker);
- return this;
- },
- /**
- * Pause the flow of chunks.
- * @return {StreamHelper} the current helper.
- */
- pause : function () {
- this._worker.pause();
- return this;
- },
- /**
- * Return a nodejs stream for this helper.
- * @param {Function} updateCb the update callback.
- * @return {NodejsStreamOutputAdapter} the nodejs stream.
- */
- toNodejsStream : function (updateCb) {
- utils.checkSupport("nodestream");
- if (this._outputType !== "nodebuffer") {
- // an object stream containing blob/arraybuffer/uint8array/string
- // is strange and I don't know if it would be useful.
- // I you find this comment and have a good usecase, please open a
- // bug report !
- throw new Error(this._outputType + " is not supported by this method");
- }
-
- return new NodejsStreamOutputAdapter(this, {
- objectMode : this._outputType !== "nodebuffer"
- }, updateCb);
- }
-};
-
-
-module.exports = StreamHelper;
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(18).Buffer))
-
-/***/ }),
-/* 58 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-exports.base64 = false;
-exports.binary = false;
-exports.dir = false;
-exports.createFolders = true;
-exports.date = null;
-exports.compression = null;
-exports.compressionOptions = null;
-exports.comment = null;
-exports.unixPermissions = null;
-exports.dosPermissions = null;
-
-
-/***/ }),
-/* 59 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(1);
-var GenericWorker = __webpack_require__(6);
-
-// the size of the generated chunks
-// TODO expose this as a public variable
-var DEFAULT_BLOCK_SIZE = 16 * 1024;
-
-/**
- * A worker that reads a content and emits chunks.
- * @constructor
- * @param {Promise} dataP the promise of the data to split
- */
-function DataWorker(dataP) {
- GenericWorker.call(this, "DataWorker");
- var self = this;
- this.dataIsReady = false;
- this.index = 0;
- this.max = 0;
- this.data = null;
- this.type = "";
-
- this._tickScheduled = false;
-
- dataP.then(function (data) {
- self.dataIsReady = true;
- self.data = data;
- self.max = data && data.length || 0;
- self.type = utils.getTypeOf(data);
- if(!self.isPaused) {
- self._tickAndRepeat();
- }
- }, function (e) {
- self.error(e);
- });
-}
-
-utils.inherits(DataWorker, GenericWorker);
-
-/**
- * @see GenericWorker.cleanUp
- */
-DataWorker.prototype.cleanUp = function () {
- GenericWorker.prototype.cleanUp.call(this);
- this.data = null;
-};
-
-/**
- * @see GenericWorker.resume
- */
-DataWorker.prototype.resume = function () {
- if(!GenericWorker.prototype.resume.call(this)) {
- return false;
- }
-
- if (!this._tickScheduled && this.dataIsReady) {
- this._tickScheduled = true;
- utils.delay(this._tickAndRepeat, [], this);
- }
- return true;
-};
-
-/**
- * Trigger a tick a schedule an other call to this function.
- */
-DataWorker.prototype._tickAndRepeat = function() {
- this._tickScheduled = false;
- if(this.isPaused || this.isFinished) {
- return;
- }
- this._tick();
- if(!this.isFinished) {
- utils.delay(this._tickAndRepeat, [], this);
- this._tickScheduled = true;
- }
-};
-
-/**
- * Read and push a chunk.
- */
-DataWorker.prototype._tick = function() {
-
- if(this.isPaused || this.isFinished) {
- return false;
- }
-
- var size = DEFAULT_BLOCK_SIZE;
- var data = null, nextIndex = Math.min(this.max, this.index + size);
- if (this.index >= this.max) {
- // EOF
- return this.end();
- } else {
- switch(this.type) {
- case "string":
- data = this.data.substring(this.index, nextIndex);
- break;
- case "uint8array":
- data = this.data.subarray(this.index, nextIndex);
- break;
- case "array":
- case "nodebuffer":
- data = this.data.slice(this.index, nextIndex);
- break;
- }
- this.index = nextIndex;
- return this.push({
- data : data,
- meta : {
- percent : this.max ? this.index / this.max * 100 : 0
- }
- });
- }
-};
-
-module.exports = DataWorker;
-
-
-/***/ }),
-/* 60 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(1);
-var GenericWorker = __webpack_require__(6);
-
-/**
- * A worker which calculate the total length of the data flowing through.
- * @constructor
- * @param {String} propName the name used to expose the length
- */
-function DataLengthProbe(propName) {
- GenericWorker.call(this, "DataLengthProbe for " + propName);
- this.propName = propName;
- this.withStreamInfo(propName, 0);
-}
-utils.inherits(DataLengthProbe, GenericWorker);
-
-/**
- * @see GenericWorker.processChunk
- */
-DataLengthProbe.prototype.processChunk = function (chunk) {
- if(chunk) {
- var length = this.streamInfo[this.propName] || 0;
- this.streamInfo[this.propName] = length + chunk.data.length;
- }
- GenericWorker.prototype.processChunk.call(this, chunk);
-};
-module.exports = DataLengthProbe;
-
-
-
-/***/ }),
-/* 61 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var GenericWorker = __webpack_require__(6);
-var crc32 = __webpack_require__(37);
-var utils = __webpack_require__(1);
-
-/**
- * A worker which calculate the crc32 of the data flowing through.
- * @constructor
- */
-function Crc32Probe() {
- GenericWorker.call(this, "Crc32Probe");
- this.withStreamInfo("crc32", 0);
-}
-utils.inherits(Crc32Probe, GenericWorker);
-
-/**
- * @see GenericWorker.processChunk
- */
-Crc32Probe.prototype.processChunk = function (chunk) {
- this.streamInfo.crc32 = crc32(chunk.data, this.streamInfo.crc32 || 0);
- this.push(chunk);
-};
-module.exports = Crc32Probe;
-
-
-/***/ }),
-/* 62 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var GenericWorker = __webpack_require__(6);
-
-exports.STORE = {
- magic: "\x00\x00",
- compressWorker : function (compressionOptions) {
- return new GenericWorker("STORE compression");
- },
- uncompressWorker : function () {
- return new GenericWorker("STORE decompression");
- }
-};
-exports.DEFLATE = __webpack_require__(162);
-
-
-/***/ }),
-/* 63 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// Note: adler32 takes 12% for level 0 and 2% for level 6.
-// It isn't worth it to make additional optimizations as in original.
-// Small size is preferable.
-
-// (C) 1995-2013 Jean-loup Gailly and Mark Adler
-// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-function adler32(adler, buf, len, pos) {
- var s1 = (adler & 0xffff) |0,
- s2 = ((adler >>> 16) & 0xffff) |0,
- n = 0;
-
- while (len !== 0) {
- // Set limit ~ twice less than 5552, to keep
- // s2 in 31-bits, because we force signed ints.
- // in other case %= will fail.
- n = len > 2000 ? 2000 : len;
- len -= n;
-
- do {
- s1 = (s1 + buf[pos++]) |0;
- s2 = (s2 + s1) |0;
- } while (--n);
-
- s1 %= 65521;
- s2 %= 65521;
- }
-
- return (s1 | (s2 << 16)) |0;
-}
-
-
-module.exports = adler32;
-
-
-/***/ }),
-/* 64 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// Note: we can't get significant speed boost here.
-// So write code to minimize size - no pregenerated tables
-// and array tools dependencies.
-
-// (C) 1995-2013 Jean-loup Gailly and Mark Adler
-// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-// Use ordinary array, since untyped makes no boost here
-function makeTable() {
- var c, table = [];
-
- for (var n = 0; n < 256; n++) {
- c = n;
- for (var k = 0; k < 8; k++) {
- c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
- }
- table[n] = c;
- }
-
- return table;
-}
-
-// Create table on load. Just 255 signed longs. Not a problem.
-var crcTable = makeTable();
-
-
-function crc32(crc, buf, len, pos) {
- var t = crcTable,
- end = pos + len;
-
- crc ^= -1;
-
- for (var i = pos; i < end; i++) {
- crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];
- }
-
- return (crc ^ (-1)); // >>> 0;
-}
-
-
-module.exports = crc32;
-
-
-/***/ }),
-/* 65 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-// String encode/decode helpers
-
-
-
-var utils = __webpack_require__(12);
-
-
-// Quick check if we can use fast array to bin string conversion
-//
-// - apply(Array) can fail on Android 2.2
-// - apply(Uint8Array) can fail on iOS 5.1 Safari
-//
-var STR_APPLY_OK = true;
-var STR_APPLY_UIA_OK = true;
-
-try { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }
-try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }
-
-
-// Table with utf8 lengths (calculated by first byte of sequence)
-// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
-// because max possible codepoint is 0x10ffff
-var _utf8len = new utils.Buf8(256);
-for (var q = 0; q < 256; q++) {
- _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
-}
-_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
-
-
-// convert string to array (typed, when possible)
-exports.string2buf = function (str) {
- var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;
-
- // count binary size
- for (m_pos = 0; m_pos < str_len; m_pos++) {
- c = str.charCodeAt(m_pos);
- if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
- c2 = str.charCodeAt(m_pos + 1);
- if ((c2 & 0xfc00) === 0xdc00) {
- c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
- m_pos++;
- }
- }
- buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;
- }
-
- // allocate buffer
- buf = new utils.Buf8(buf_len);
-
- // convert
- for (i = 0, m_pos = 0; i < buf_len; m_pos++) {
- c = str.charCodeAt(m_pos);
- if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {
- c2 = str.charCodeAt(m_pos + 1);
- if ((c2 & 0xfc00) === 0xdc00) {
- c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);
- m_pos++;
- }
- }
- if (c < 0x80) {
- /* one byte */
- buf[i++] = c;
- } else if (c < 0x800) {
- /* two bytes */
- buf[i++] = 0xC0 | (c >>> 6);
- buf[i++] = 0x80 | (c & 0x3f);
- } else if (c < 0x10000) {
- /* three bytes */
- buf[i++] = 0xE0 | (c >>> 12);
- buf[i++] = 0x80 | (c >>> 6 & 0x3f);
- buf[i++] = 0x80 | (c & 0x3f);
- } else {
- /* four bytes */
- buf[i++] = 0xf0 | (c >>> 18);
- buf[i++] = 0x80 | (c >>> 12 & 0x3f);
- buf[i++] = 0x80 | (c >>> 6 & 0x3f);
- buf[i++] = 0x80 | (c & 0x3f);
- }
- }
-
- return buf;
-};
-
-// Helper (used in 2 places)
-function buf2binstring(buf, len) {
- // On Chrome, the arguments in a function call that are allowed is `65534`.
- // If the length of the buffer is smaller than that, we can use this optimization,
- // otherwise we will take a slower path.
- if (len < 65534) {
- if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {
- return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));
- }
- }
-
- var result = '';
- for (var i = 0; i < len; i++) {
- result += String.fromCharCode(buf[i]);
- }
- return result;
-}
-
-
-// Convert byte array to binary string
-exports.buf2binstring = function (buf) {
- return buf2binstring(buf, buf.length);
-};
-
-
-// Convert binary string (typed, when possible)
-exports.binstring2buf = function (str) {
- var buf = new utils.Buf8(str.length);
- for (var i = 0, len = buf.length; i < len; i++) {
- buf[i] = str.charCodeAt(i);
- }
- return buf;
-};
-
-
-// convert array to string
-exports.buf2string = function (buf, max) {
- var i, out, c, c_len;
- var len = max || buf.length;
-
- // Reserve max possible length (2 words per char)
- // NB: by unknown reasons, Array is significantly faster for
- // String.fromCharCode.apply than Uint16Array.
- var utf16buf = new Array(len * 2);
-
- for (out = 0, i = 0; i < len;) {
- c = buf[i++];
- // quick process ascii
- if (c < 0x80) { utf16buf[out++] = c; continue; }
-
- c_len = _utf8len[c];
- // skip 5 & 6 byte codes
- if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }
-
- // apply mask on first byte
- c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;
- // join the rest
- while (c_len > 1 && i < len) {
- c = (c << 6) | (buf[i++] & 0x3f);
- c_len--;
- }
-
- // terminated by end of string?
- if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }
-
- if (c < 0x10000) {
- utf16buf[out++] = c;
- } else {
- c -= 0x10000;
- utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);
- utf16buf[out++] = 0xdc00 | (c & 0x3ff);
- }
- }
-
- return buf2binstring(utf16buf, out);
-};
-
-
-// Calculate max possible position in utf8 buffer,
-// that will not break sequence. If that's not possible
-// - (very small limits) return max size as is.
-//
-// buf[] - utf8 bytes array
-// max - length limit (mandatory);
-exports.utf8border = function (buf, max) {
- var pos;
-
- max = max || buf.length;
- if (max > buf.length) { max = buf.length; }
-
- // go back from last position, until start of sequence found
- pos = max - 1;
- while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }
-
- // Very small and broken sequence,
- // return max, because we should return something anyway.
- if (pos < 0) { return max; }
-
- // If we came to start of buffer - that means buffer is too small,
- // return max too.
- if (pos === 0) { return max; }
-
- return (pos + _utf8len[buf[pos]] > max) ? pos : max;
-};
-
-
-/***/ }),
-/* 66 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// (C) 1995-2013 Jean-loup Gailly and Mark Adler
-// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-function ZStream() {
- /* next input byte */
- this.input = null; // JS specific, because we have no pointers
- this.next_in = 0;
- /* number of bytes available at input */
- this.avail_in = 0;
- /* total number of input bytes read so far */
- this.total_in = 0;
- /* next output byte should be put there */
- this.output = null; // JS specific, because we have no pointers
- this.next_out = 0;
- /* remaining free space at output */
- this.avail_out = 0;
- /* total number of bytes output so far */
- this.total_out = 0;
- /* last error message, NULL if no error */
- this.msg = ''/*Z_NULL*/;
- /* not visible by applications */
- this.state = null;
- /* best guess about the data type: binary or text */
- this.data_type = 2/*Z_UNKNOWN*/;
- /* adler32 value of the uncompressed data */
- this.adler = 0;
-}
-
-module.exports = ZStream;
-
-
-/***/ }),
-/* 67 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// (C) 1995-2013 Jean-loup Gailly and Mark Adler
-// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
-//
-// This software is provided 'as-is', without any express or implied
-// warranty. In no event will the authors be held liable for any damages
-// arising from the use of this software.
-//
-// Permission is granted to anyone to use this software for any purpose,
-// including commercial applications, and to alter it and redistribute it
-// freely, subject to the following restrictions:
-//
-// 1. The origin of this software must not be misrepresented; you must not
-// claim that you wrote the original software. If you use this software
-// in a product, an acknowledgment in the product documentation would be
-// appreciated but is not required.
-// 2. Altered source versions must be plainly marked as such, and must not be
-// misrepresented as being the original software.
-// 3. This notice may not be removed or altered from any source distribution.
-
-module.exports = {
-
- /* Allowed flush values; see deflate() and inflate() below for details */
- Z_NO_FLUSH: 0,
- Z_PARTIAL_FLUSH: 1,
- Z_SYNC_FLUSH: 2,
- Z_FULL_FLUSH: 3,
- Z_FINISH: 4,
- Z_BLOCK: 5,
- Z_TREES: 6,
-
- /* Return codes for the compression/decompression functions. Negative values
- * are errors, positive values are used for special but normal events.
- */
- Z_OK: 0,
- Z_STREAM_END: 1,
- Z_NEED_DICT: 2,
- Z_ERRNO: -1,
- Z_STREAM_ERROR: -2,
- Z_DATA_ERROR: -3,
- //Z_MEM_ERROR: -4,
- Z_BUF_ERROR: -5,
- //Z_VERSION_ERROR: -6,
-
- /* compression levels */
- Z_NO_COMPRESSION: 0,
- Z_BEST_SPEED: 1,
- Z_BEST_COMPRESSION: 9,
- Z_DEFAULT_COMPRESSION: -1,
-
-
- Z_FILTERED: 1,
- Z_HUFFMAN_ONLY: 2,
- Z_RLE: 3,
- Z_FIXED: 4,
- Z_DEFAULT_STRATEGY: 0,
-
- /* Possible values of the data_type field (though see inflate()) */
- Z_BINARY: 0,
- Z_TEXT: 1,
- //Z_ASCII: 1, // = Z_TEXT (deprecated)
- Z_UNKNOWN: 2,
-
- /* The deflate compression method */
- Z_DEFLATED: 8
- //Z_NULL: null // Use -1 or null inline, depending on var type
-};
-
-
-/***/ }),
-/* 68 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-exports.LOCAL_FILE_HEADER = "PK\x03\x04";
-exports.CENTRAL_FILE_HEADER = "PK\x01\x02";
-exports.CENTRAL_DIRECTORY_END = "PK\x05\x06";
-exports.ZIP64_CENTRAL_DIRECTORY_LOCATOR = "PK\x06\x07";
-exports.ZIP64_CENTRAL_DIRECTORY_END = "PK\x06\x06";
-exports.DATA_DESCRIPTOR = "PK\x07\x08";
-
-
-/***/ }),
-/* 69 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var utils = __webpack_require__(1);
-var support = __webpack_require__(11);
-var ArrayReader = __webpack_require__(70);
-var StringReader = __webpack_require__(176);
-var NodeBufferReader = __webpack_require__(177);
-var Uint8ArrayReader = __webpack_require__(72);
-
-/**
- * Create a reader adapted to the data.
- * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data to read.
- * @return {DataReader} the data reader.
- */
-module.exports = function (data) {
- var type = utils.getTypeOf(data);
- utils.checkSupport(type);
- if (type === "string" && !support.uint8array) {
- return new StringReader(data);
- }
- if (type === "nodebuffer") {
- return new NodeBufferReader(data);
- }
- if (support.uint8array) {
- return new Uint8ArrayReader(utils.transformTo("uint8array", data));
- }
- return new ArrayReader(utils.transformTo("array", data));
-};
-
-
-/***/ }),
-/* 70 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var DataReader = __webpack_require__(71);
-var utils = __webpack_require__(1);
-
-function ArrayReader(data) {
- DataReader.call(this, data);
- for(var i = 0; i < this.data.length; i++) {
- data[i] = data[i] & 0xFF;
- }
-}
-utils.inherits(ArrayReader, DataReader);
-/**
- * @see DataReader.byteAt
- */
-ArrayReader.prototype.byteAt = function(i) {
- return this.data[this.zero + i];
-};
-/**
- * @see DataReader.lastIndexOfSignature
- */
-ArrayReader.prototype.lastIndexOfSignature = function(sig) {
- var sig0 = sig.charCodeAt(0),
- sig1 = sig.charCodeAt(1),
- sig2 = sig.charCodeAt(2),
- sig3 = sig.charCodeAt(3);
- for (var i = this.length - 4; i >= 0; --i) {
- if (this.data[i] === sig0 && this.data[i + 1] === sig1 && this.data[i + 2] === sig2 && this.data[i + 3] === sig3) {
- return i - this.zero;
- }
- }
-
- return -1;
-};
-/**
- * @see DataReader.readAndCheckSignature
- */
-ArrayReader.prototype.readAndCheckSignature = function (sig) {
- var sig0 = sig.charCodeAt(0),
- sig1 = sig.charCodeAt(1),
- sig2 = sig.charCodeAt(2),
- sig3 = sig.charCodeAt(3),
- data = this.readData(4);
- return sig0 === data[0] && sig1 === data[1] && sig2 === data[2] && sig3 === data[3];
-};
-/**
- * @see DataReader.readData
- */
-ArrayReader.prototype.readData = function(size) {
- this.checkOffset(size);
- if(size === 0) {
- return [];
- }
- var result = this.data.slice(this.zero + this.index, this.zero + this.index + size);
- this.index += size;
- return result;
-};
-module.exports = ArrayReader;
-
-
-/***/ }),
-/* 71 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var utils = __webpack_require__(1);
-
-function DataReader(data) {
- this.data = data; // type : see implementation
- this.length = data.length;
- this.index = 0;
- this.zero = 0;
-}
-DataReader.prototype = {
- /**
- * Check that the offset will not go too far.
- * @param {string} offset the additional offset to check.
- * @throws {Error} an Error if the offset is out of bounds.
- */
- checkOffset: function(offset) {
- this.checkIndex(this.index + offset);
- },
- /**
- * Check that the specified index will not be too far.
- * @param {string} newIndex the index to check.
- * @throws {Error} an Error if the index is out of bounds.
- */
- checkIndex: function(newIndex) {
- if (this.length < this.zero + newIndex || newIndex < 0) {
- throw new Error("End of data reached (data length = " + this.length + ", asked index = " + (newIndex) + "). Corrupted zip ?");
- }
- },
- /**
- * Change the index.
- * @param {number} newIndex The new index.
- * @throws {Error} if the new index is out of the data.
- */
- setIndex: function(newIndex) {
- this.checkIndex(newIndex);
- this.index = newIndex;
- },
- /**
- * Skip the next n bytes.
- * @param {number} n the number of bytes to skip.
- * @throws {Error} if the new index is out of the data.
- */
- skip: function(n) {
- this.setIndex(this.index + n);
- },
- /**
- * Get the byte at the specified index.
- * @param {number} i the index to use.
- * @return {number} a byte.
- */
- byteAt: function(i) {
- // see implementations
- },
- /**
- * Get the next number with a given byte size.
- * @param {number} size the number of bytes to read.
- * @return {number} the corresponding number.
- */
- readInt: function(size) {
- var result = 0,
- i;
- this.checkOffset(size);
- for (i = this.index + size - 1; i >= this.index; i--) {
- result = (result << 8) + this.byteAt(i);
- }
- this.index += size;
- return result;
- },
- /**
- * Get the next string with a given byte size.
- * @param {number} size the number of bytes to read.
- * @return {string} the corresponding string.
- */
- readString: function(size) {
- return utils.transformTo("string", this.readData(size));
- },
- /**
- * Get raw data without conversion, bytes.
- * @param {number} size the number of bytes to read.
- * @return {Object} the raw data, implementation specific.
- */
- readData: function(size) {
- // see implementations
- },
- /**
- * Find the last occurence of a zip signature (4 bytes).
- * @param {string} sig the signature to find.
- * @return {number} the index of the last occurence, -1 if not found.
- */
- lastIndexOfSignature: function(sig) {
- // see implementations
- },
- /**
- * Read the signature (4 bytes) at the current position and compare it with sig.
- * @param {string} sig the expected signature
- * @return {boolean} true if the signature matches, false otherwise.
- */
- readAndCheckSignature: function(sig) {
- // see implementations
- },
- /**
- * Get the next date.
- * @return {Date} the date.
- */
- readDate: function() {
- var dostime = this.readInt(4);
- return new Date(Date.UTC(
- ((dostime >> 25) & 0x7f) + 1980, // year
- ((dostime >> 21) & 0x0f) - 1, // month
- (dostime >> 16) & 0x1f, // day
- (dostime >> 11) & 0x1f, // hour
- (dostime >> 5) & 0x3f, // minute
- (dostime & 0x1f) << 1)); // second
- }
-};
-module.exports = DataReader;
-
-
-/***/ }),
-/* 72 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-var ArrayReader = __webpack_require__(70);
-var utils = __webpack_require__(1);
-
-function Uint8ArrayReader(data) {
- ArrayReader.call(this, data);
-}
-utils.inherits(Uint8ArrayReader, ArrayReader);
-/**
- * @see DataReader.readData
- */
-Uint8ArrayReader.prototype.readData = function(size) {
- this.checkOffset(size);
- if(size === 0) {
- // in IE10, when using subarray(idx, idx), we get the array [0x00] instead of [].
- return new Uint8Array(0);
- }
- var result = this.data.subarray(this.zero + this.index, this.zero + this.index + size);
- this.index += size;
- return result;
-};
-module.exports = Uint8ArrayReader;
-
-
-/***/ }),
-/* 73 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 74 */
-/***/ (function(module, exports, __webpack_require__) {
-
-const { requestLog } = __webpack_require__(100);
-const {
- restEndpointMethods
-} = __webpack_require__(101);
-
-const Core = __webpack_require__(102);
-
-const CORE_PLUGINS = [
- __webpack_require__(113),
- __webpack_require__(119), // deprecated: remove in v17
- requestLog,
- __webpack_require__(124),
- restEndpointMethods,
- __webpack_require__(126),
-
- __webpack_require__(130) // deprecated: remove in v17
-];
-
-const OctokitRest = Core.plugin(CORE_PLUGINS);
-
-function DeprecatedOctokit(options) {
- const warn =
- options && options.log && options.log.warn
- ? options.log.warn
- : console.warn;
- warn(
- '[@octokit/rest] `const Octokit = require("@octokit/rest")` is deprecated. Use `const { Octokit } = require("@octokit/rest")` instead'
- );
- return new OctokitRest(options);
-}
-
-const Octokit = Object.assign(DeprecatedOctokit, {
- Octokit: OctokitRest
-});
-
-Object.keys(OctokitRest).forEach(key => {
- /* istanbul ignore else */
- if (OctokitRest.hasOwnProperty(key)) {
- Octokit[key] = OctokitRest[key];
- }
-});
-
-module.exports = Octokit;
-
-
-/***/ }),
-/* 75 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-// ref: https://github.com/tc39/proposal-global
-var getGlobal = function () {
- // the only reliable means to get the global object is
- // `Function('return this')()`
- // However, this causes CSP violations in Chrome apps.
- if (typeof self !== 'undefined') { return self; }
- if (typeof window !== 'undefined') { return window; }
- if (typeof global !== 'undefined') { return global; }
- throw new Error('unable to locate global object');
-}
-
-var global = getGlobal();
-
-module.exports = exports = global.fetch;
-
-// Needed for TypeScript and Webpack.
-exports.default = global.fetch.bind(global);
-
-exports.Headers = global.Headers;
-exports.Request = global.Request;
-exports.Response = global.Response;
-
-/***/ }),
-/* 76 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=container.hooks.helperMissing, alias3="function", alias4=container.escapeExpression, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n\n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 77 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 78 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n \n\n \n \n \n \n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 79 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n \n\n \n \n \n \n \n\n \n\n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 80 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var Handlebars = __webpack_require__(16);
-function __default(obj) { return obj && (obj.__esModule ? obj["default"] : obj); }
-module.exports = (Handlebars["default"] || Handlebars).template({"compiler":[8,">= 4.3.0"],"main":function(container,depth0,helpers,partials,data) {
- var helper, lookupProperty = container.lookupProperty || function(parent, propertyName) {
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return parent[propertyName];
- }
- return undefined
- };
-
- return "\n\n \n \n \n \n\n \n \n\n \n \n \n\n \n \n \n\n \n \n \n\n";
-},"useData":true});
-
-/***/ }),
-/* 81 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-// istanbul ignore next
-
-function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
-
-var _handlebarsBase = __webpack_require__(41);
-
-var base = _interopRequireWildcard(_handlebarsBase);
-
-// Each of these augment the Handlebars object. No need to setup here.
-// (This is done to easily share code between commonjs and browse envs)
-
-var _handlebarsSafeString = __webpack_require__(92);
-
-var _handlebarsSafeString2 = _interopRequireDefault(_handlebarsSafeString);
-
-var _handlebarsException = __webpack_require__(13);
-
-var _handlebarsException2 = _interopRequireDefault(_handlebarsException);
-
-var _handlebarsUtils = __webpack_require__(7);
-
-var Utils = _interopRequireWildcard(_handlebarsUtils);
-
-var _handlebarsRuntime = __webpack_require__(93);
-
-var runtime = _interopRequireWildcard(_handlebarsRuntime);
-
-var _handlebarsNoConflict = __webpack_require__(95);
-
-var _handlebarsNoConflict2 = _interopRequireDefault(_handlebarsNoConflict);
-
-// For compatibility and usage outside of module systems, make the Handlebars object a namespace
-function create() {
- var hb = new base.HandlebarsEnvironment();
-
- Utils.extend(hb, base);
- hb.SafeString = _handlebarsSafeString2['default'];
- hb.Exception = _handlebarsException2['default'];
- hb.Utils = Utils;
- hb.escapeExpression = Utils.escapeExpression;
-
- hb.VM = runtime;
- hb.template = function (spec) {
- return runtime.template(spec, hb);
- };
-
- return hb;
-}
-
-var inst = create();
-inst.create = create;
-
-_handlebarsNoConflict2['default'](inst);
-
-inst['default'] = inst;
-
-exports['default'] = inst;
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi9oYW5kbGViYXJzLnJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OEJBQXNCLG1CQUFtQjs7SUFBN0IsSUFBSTs7Ozs7b0NBSU8sMEJBQTBCOzs7O21DQUMzQix3QkFBd0I7Ozs7K0JBQ3ZCLG9CQUFvQjs7SUFBL0IsS0FBSzs7aUNBQ1Esc0JBQXNCOztJQUFuQyxPQUFPOztvQ0FFSSwwQkFBMEI7Ozs7O0FBR2pELFNBQVMsTUFBTSxHQUFHO0FBQ2hCLE1BQUksRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7O0FBRTFDLE9BQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZCLElBQUUsQ0FBQyxVQUFVLG9DQUFhLENBQUM7QUFDM0IsSUFBRSxDQUFDLFNBQVMsbUNBQVksQ0FBQztBQUN6QixJQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztBQUNqQixJQUFFLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixDQUFDOztBQUU3QyxJQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQztBQUNoQixJQUFFLENBQUMsUUFBUSxHQUFHLFVBQVMsSUFBSSxFQUFFO0FBQzNCLFdBQU8sT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7R0FDbkMsQ0FBQzs7QUFFRixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELElBQUksSUFBSSxHQUFHLE1BQU0sRUFBRSxDQUFDO0FBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDOztBQUVyQixrQ0FBVyxJQUFJLENBQUMsQ0FBQzs7QUFFakIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQzs7cUJBRVIsSUFBSSIsImZpbGUiOiJoYW5kbGViYXJzLnJ1bnRpbWUuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBiYXNlIGZyb20gJy4vaGFuZGxlYmFycy9iYXNlJztcblxuLy8gRWFjaCBvZiB0aGVzZSBhdWdtZW50IHRoZSBIYW5kbGViYXJzIG9iamVjdC4gTm8gbmVlZCB0byBzZXR1cCBoZXJlLlxuLy8gKFRoaXMgaXMgZG9uZSB0byBlYXNpbHkgc2hhcmUgY29kZSBiZXR3ZWVuIGNvbW1vbmpzIGFuZCBicm93c2UgZW52cylcbmltcG9ydCBTYWZlU3RyaW5nIGZyb20gJy4vaGFuZGxlYmFycy9zYWZlLXN0cmluZyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vaGFuZGxlYmFycy9leGNlcHRpb24nO1xuaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi9oYW5kbGViYXJzL3V0aWxzJztcbmltcG9ydCAqIGFzIHJ1bnRpbWUgZnJvbSAnLi9oYW5kbGViYXJzL3J1bnRpbWUnO1xuXG5pbXBvcnQgbm9Db25mbGljdCBmcm9tICcuL2hhbmRsZWJhcnMvbm8tY29uZmxpY3QnO1xuXG4vLyBGb3IgY29tcGF0aWJpbGl0eSBhbmQgdXNhZ2Ugb3V0c2lkZSBvZiBtb2R1bGUgc3lzdGVtcywgbWFrZSB0aGUgSGFuZGxlYmFycyBvYmplY3QgYSBuYW1lc3BhY2VcbmZ1bmN0aW9uIGNyZWF0ZSgpIHtcbiAgbGV0IGhiID0gbmV3IGJhc2UuSGFuZGxlYmFyc0Vudmlyb25tZW50KCk7XG5cbiAgVXRpbHMuZXh0ZW5kKGhiLCBiYXNlKTtcbiAgaGIuU2FmZVN0cmluZyA9IFNhZmVTdHJpbmc7XG4gIGhiLkV4Y2VwdGlvbiA9IEV4Y2VwdGlvbjtcbiAgaGIuVXRpbHMgPSBVdGlscztcbiAgaGIuZXNjYXBlRXhwcmVzc2lvbiA9IFV0aWxzLmVzY2FwZUV4cHJlc3Npb247XG5cbiAgaGIuVk0gPSBydW50aW1lO1xuICBoYi50ZW1wbGF0ZSA9IGZ1bmN0aW9uKHNwZWMpIHtcbiAgICByZXR1cm4gcnVudGltZS50ZW1wbGF0ZShzcGVjLCBoYik7XG4gIH07XG5cbiAgcmV0dXJuIGhiO1xufVxuXG5sZXQgaW5zdCA9IGNyZWF0ZSgpO1xuaW5zdC5jcmVhdGUgPSBjcmVhdGU7XG5cbm5vQ29uZmxpY3QoaW5zdCk7XG5cbmluc3RbJ2RlZmF1bHQnXSA9IGluc3Q7XG5cbmV4cG9ydCBkZWZhdWx0IGluc3Q7XG4iXX0=
-
-
-/***/ }),
-/* 82 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _utils = __webpack_require__(7);
-
-exports['default'] = function (instance) {
- instance.registerHelper('blockHelperMissing', function (context, options) {
- var inverse = options.inverse,
- fn = options.fn;
-
- if (context === true) {
- return fn(this);
- } else if (context === false || context == null) {
- return inverse(this);
- } else if (_utils.isArray(context)) {
- if (context.length > 0) {
- if (options.ids) {
- options.ids = [options.name];
- }
-
- return instance.helpers.each(context, options);
- } else {
- return inverse(this);
- }
- } else {
- if (options.data && options.ids) {
- var data = _utils.createFrame(options.data);
- data.contextPath = _utils.appendContextPath(options.data.contextPath, options.name);
- options = { data: data };
- }
-
- return fn(context, options);
- }
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvYmxvY2staGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBd0QsVUFBVTs7cUJBRW5ELFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLEVBQUUsVUFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ3ZFLFFBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPO1FBQzNCLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUVsQixRQUFJLE9BQU8sS0FBSyxJQUFJLEVBQUU7QUFDcEIsYUFBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDakIsTUFBTSxJQUFJLE9BQU8sS0FBSyxLQUFLLElBQUksT0FBTyxJQUFJLElBQUksRUFBRTtBQUMvQyxhQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN0QixNQUFNLElBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUMzQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQ3RCLFlBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGlCQUFPLENBQUMsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCOztBQUVELGVBQU8sUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO09BQ2hELE1BQU07QUFDTCxlQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztPQUN0QjtLQUNGLE1BQU07QUFDTCxVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLElBQUksR0FBRyxtQkFBWSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBSSxDQUFDLFdBQVcsR0FBRyx5QkFDakIsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQ3hCLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztBQUNGLGVBQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztPQUMxQjs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDN0I7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJibG9jay1oZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGVuZENvbnRleHRQYXRoLCBjcmVhdGVGcmFtZSwgaXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2Jsb2NrSGVscGVyTWlzc2luZycsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBsZXQgaW52ZXJzZSA9IG9wdGlvbnMuaW52ZXJzZSxcbiAgICAgIGZuID0gb3B0aW9ucy5mbjtcblxuICAgIGlmIChjb250ZXh0ID09PSB0cnVlKSB7XG4gICAgICByZXR1cm4gZm4odGhpcyk7XG4gICAgfSBlbHNlIGlmIChjb250ZXh0ID09PSBmYWxzZSB8fCBjb250ZXh0ID09IG51bGwpIHtcbiAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoaXNBcnJheShjb250ZXh0KSkge1xuICAgICAgaWYgKGNvbnRleHQubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICAgICAgICBvcHRpb25zLmlkcyA9IFtvcHRpb25zLm5hbWVdO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGluc3RhbmNlLmhlbHBlcnMuZWFjaChjb250ZXh0LCBvcHRpb25zKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBpbnZlcnNlKHRoaXMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuaWRzKSB7XG4gICAgICAgIGxldCBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLm5hbWVcbiAgICAgICAgKTtcbiAgICAgICAgb3B0aW9ucyA9IHsgZGF0YTogZGF0YSB9O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
-
-
-/***/ }),
-/* 83 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {
-
-exports.__esModule = true;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _utils = __webpack_require__(7);
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-exports['default'] = function (instance) {
- instance.registerHelper('each', function (context, options) {
- if (!options) {
- throw new _exception2['default']('Must pass iterator to #each');
- }
-
- var fn = options.fn,
- inverse = options.inverse,
- i = 0,
- ret = '',
- data = undefined,
- contextPath = undefined;
-
- if (options.data && options.ids) {
- contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
- }
-
- if (_utils.isFunction(context)) {
- context = context.call(this);
- }
-
- if (options.data) {
- data = _utils.createFrame(options.data);
- }
-
- function execIteration(field, index, last) {
- if (data) {
- data.key = field;
- data.index = index;
- data.first = index === 0;
- data.last = !!last;
-
- if (contextPath) {
- data.contextPath = contextPath + field;
- }
- }
-
- ret = ret + fn(context[field], {
- data: data,
- blockParams: _utils.blockParams([context[field], field], [contextPath + field, null])
- });
- }
-
- if (context && typeof context === 'object') {
- if (_utils.isArray(context)) {
- for (var j = context.length; i < j; i++) {
- if (i in context) {
- execIteration(i, i, i === context.length - 1);
- }
- }
- } else if (global.Symbol && context[global.Symbol.iterator]) {
- var newContext = [];
- var iterator = context[global.Symbol.iterator]();
- for (var it = iterator.next(); !it.done; it = iterator.next()) {
- newContext.push(it.value);
- }
- context = newContext;
- for (var j = context.length; i < j; i++) {
- execIteration(i, i, i === context.length - 1);
- }
- } else {
- (function () {
- var priorKey = undefined;
-
- Object.keys(context).forEach(function (key) {
- // We're running the iterations one step out of sync so we can detect
- // the last iteration without have to scan the object twice and create
- // an itermediate keys array.
- if (priorKey !== undefined) {
- execIteration(priorKey, i - 1);
- }
- priorKey = key;
- i++;
- });
- if (priorKey !== undefined) {
- execIteration(priorKey, i - 1, true);
- }
- })();
- }
- }
-
- if (i === 0) {
- ret = inverse(this);
- }
-
- return ret;
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvZWFjaC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLENBQUMsT0FBTyxFQUFFO0FBQ1osWUFBTSwyQkFBYyw2QkFBNkIsQ0FBQyxDQUFDO0tBQ3BEOztBQUVELFFBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTztRQUN6QixDQUFDLEdBQUcsQ0FBQztRQUNMLEdBQUcsR0FBRyxFQUFFO1FBQ1IsSUFBSSxZQUFBO1FBQ0osV0FBVyxZQUFBLENBQUM7O0FBRWQsUUFBSSxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7QUFDL0IsaUJBQVcsR0FDVCx5QkFBa0IsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztLQUNyRTs7QUFFRCxRQUFJLGtCQUFXLE9BQU8sQ0FBQyxFQUFFO0FBQ3ZCLGFBQU8sR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCOztBQUVELFFBQUksT0FBTyxDQUFDLElBQUksRUFBRTtBQUNoQixVQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xDOztBQUVELGFBQVMsYUFBYSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO0FBQ3pDLFVBQUksSUFBSSxFQUFFO0FBQ1IsWUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFDakIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7QUFDbkIsWUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ3pCLFlBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFbkIsWUFBSSxXQUFXLEVBQUU7QUFDZixjQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsR0FBRyxLQUFLLENBQUM7U0FDeEM7T0FDRjs7QUFFRCxTQUFHLEdBQ0QsR0FBRyxHQUNILEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUNYLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2QixDQUFDLFdBQVcsR0FBRyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQzVCO09BQ0YsQ0FBQyxDQUFDO0tBQ047O0FBRUQsUUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO0FBQzFDLFVBQUksZUFBUSxPQUFPLENBQUMsRUFBRTtBQUNwQixhQUFLLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUN2QyxjQUFJLENBQUMsSUFBSSxPQUFPLEVBQUU7QUFDaEIseUJBQWEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1dBQy9DO1NBQ0Y7T0FDRixNQUFNLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRTtBQUMzRCxZQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDdEIsWUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUNuRCxhQUFLLElBQUksRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsRUFBRTtBQUM3RCxvQkFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDM0I7QUFDRCxlQUFPLEdBQUcsVUFBVSxDQUFDO0FBQ3JCLGFBQUssSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3ZDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUMvQztPQUNGLE1BQU07O0FBQ0wsY0FBSSxRQUFRLFlBQUEsQ0FBQzs7QUFFYixnQkFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxHQUFHLEVBQUk7Ozs7QUFJbEMsZ0JBQUksUUFBUSxLQUFLLFNBQVMsRUFBRTtBQUMxQiwyQkFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEM7QUFDRCxvQkFBUSxHQUFHLEdBQUcsQ0FBQztBQUNmLGFBQUMsRUFBRSxDQUFDO1dBQ0wsQ0FBQyxDQUFDO0FBQ0gsY0FBSSxRQUFRLEtBQUssU0FBUyxFQUFFO0FBQzFCLHlCQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7V0FDdEM7O09BQ0Y7S0FDRjs7QUFFRCxRQUFJLENBQUMsS0FBSyxDQUFDLEVBQUU7QUFDWCxTQUFHLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3JCOztBQUVELFdBQU8sR0FBRyxDQUFDO0dBQ1osQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoiZWFjaC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFwcGVuZENvbnRleHRQYXRoLFxuICBibG9ja1BhcmFtcyxcbiAgY3JlYXRlRnJhbWUsXG4gIGlzQXJyYXksXG4gIGlzRnVuY3Rpb25cbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tICcuLi9leGNlcHRpb24nO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbihpbnN0YW5jZSkge1xuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcignZWFjaCcsIGZ1bmN0aW9uKGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ011c3QgcGFzcyBpdGVyYXRvciB0byAjZWFjaCcpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm4sXG4gICAgICBpbnZlcnNlID0gb3B0aW9ucy5pbnZlcnNlLFxuICAgICAgaSA9IDAsXG4gICAgICByZXQgPSAnJyxcbiAgICAgIGRhdGEsXG4gICAgICBjb250ZXh0UGF0aDtcblxuICAgIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5pZHMpIHtcbiAgICAgIGNvbnRleHRQYXRoID1cbiAgICAgICAgYXBwZW5kQ29udGV4dFBhdGgob3B0aW9ucy5kYXRhLmNvbnRleHRQYXRoLCBvcHRpb25zLmlkc1swXSkgKyAnLic7XG4gICAgfVxuXG4gICAgaWYgKGlzRnVuY3Rpb24oY29udGV4dCkpIHtcbiAgICAgIGNvbnRleHQgPSBjb250ZXh0LmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZGF0YSkge1xuICAgICAgZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZXhlY0l0ZXJhdGlvbihmaWVsZCwgaW5kZXgsIGxhc3QpIHtcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGRhdGEua2V5ID0gZmllbGQ7XG4gICAgICAgIGRhdGEuaW5kZXggPSBpbmRleDtcbiAgICAgICAgZGF0YS5maXJzdCA9IGluZGV4ID09PSAwO1xuICAgICAgICBkYXRhLmxhc3QgPSAhIWxhc3Q7XG5cbiAgICAgICAgaWYgKGNvbnRleHRQYXRoKSB7XG4gICAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGNvbnRleHRQYXRoICsgZmllbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0ID1cbiAgICAgICAgcmV0ICtcbiAgICAgICAgZm4oY29udGV4dFtmaWVsZF0sIHtcbiAgICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zOiBibG9ja1BhcmFtcyhcbiAgICAgICAgICAgIFtjb250ZXh0W2ZpZWxkXSwgZmllbGRdLFxuICAgICAgICAgICAgW2NvbnRleHRQYXRoICsgZmllbGQsIG51bGxdXG4gICAgICAgICAgKVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAoY29udGV4dCAmJiB0eXBlb2YgY29udGV4dCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGlmIChpc0FycmF5KGNvbnRleHQpKSB7XG4gICAgICAgIGZvciAobGV0IGogPSBjb250ZXh0Lmxlbmd0aDsgaSA8IGo7IGkrKykge1xuICAgICAgICAgIGlmIChpIGluIGNvbnRleHQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24oaSwgaSwgaSA9PT0gY29udGV4dC5sZW5ndGggLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoZ2xvYmFsLlN5bWJvbCAmJiBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKSB7XG4gICAgICAgIGNvbnN0IG5ld0NvbnRleHQgPSBbXTtcbiAgICAgICAgY29uc3QgaXRlcmF0b3IgPSBjb250ZXh0W2dsb2JhbC5TeW1ib2wuaXRlcmF0b3JdKCk7XG4gICAgICAgIGZvciAobGV0IGl0ID0gaXRlcmF0b3IubmV4dCgpOyAhaXQuZG9uZTsgaXQgPSBpdGVyYXRvci5uZXh0KCkpIHtcbiAgICAgICAgICBuZXdDb250ZXh0LnB1c2goaXQudmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnRleHQgPSBuZXdDb250ZXh0O1xuICAgICAgICBmb3IgKGxldCBqID0gY29udGV4dC5sZW5ndGg7IGkgPCBqOyBpKyspIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKGksIGksIGkgPT09IGNvbnRleHQubGVuZ3RoIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCBwcmlvcktleTtcblxuICAgICAgICBPYmplY3Qua2V5cyhjb250ZXh0KS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgLy8gV2UncmUgcnVubmluZyB0aGUgaXRlcmF0aW9ucyBvbmUgc3RlcCBvdXQgb2Ygc3luYyBzbyB3ZSBjYW4gZGV0ZWN0XG4gICAgICAgICAgLy8gdGhlIGxhc3QgaXRlcmF0aW9uIHdpdGhvdXQgaGF2ZSB0byBzY2FuIHRoZSBvYmplY3QgdHdpY2UgYW5kIGNyZWF0ZVxuICAgICAgICAgIC8vIGFuIGl0ZXJtZWRpYXRlIGtleXMgYXJyYXkuXG4gICAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGV4ZWNJdGVyYXRpb24ocHJpb3JLZXksIGkgLSAxKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJpb3JLZXkgPSBrZXk7XG4gICAgICAgICAgaSsrO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByaW9yS2V5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBleGVjSXRlcmF0aW9uKHByaW9yS2V5LCBpIC0gMSwgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaSA9PT0gMCkge1xuICAgICAgcmV0ID0gaW52ZXJzZSh0aGlzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
-
-/***/ }),
-/* 84 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-exports['default'] = function (instance) {
- instance.registerHelper('helperMissing', function () /* [args, ]options */{
- if (arguments.length === 1) {
- // A missing field in a {{foo}} construct.
- return undefined;
- } else {
- // Someone is actually trying to call something, blow up.
- throw new _exception2['default']('Missing helper: "' + arguments[arguments.length - 1].name + '"');
- }
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaGVscGVyLW1pc3NpbmcuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozt5QkFBc0IsY0FBYzs7OztxQkFFckIsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxlQUFlLEVBQUUsaUNBQWdDO0FBQ3ZFLFFBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7O0FBRTFCLGFBQU8sU0FBUyxDQUFDO0tBQ2xCLE1BQU07O0FBRUwsWUFBTSwyQkFDSixtQkFBbUIsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUNqRSxDQUFDO0tBQ0g7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJoZWxwZXItbWlzc2luZy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2hlbHBlck1pc3NpbmcnLCBmdW5jdGlvbigvKiBbYXJncywgXW9wdGlvbnMgKi8pIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgLy8gQSBtaXNzaW5nIGZpZWxkIGluIGEge3tmb299fSBjb25zdHJ1Y3QuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTb21lb25lIGlzIGFjdHVhbGx5IHRyeWluZyB0byBjYWxsIHNvbWV0aGluZywgYmxvdyB1cC5cbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oXG4gICAgICAgICdNaXNzaW5nIGhlbHBlcjogXCInICsgYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXS5uYW1lICsgJ1wiJ1xuICAgICAgKTtcbiAgICB9XG4gIH0pO1xufVxuIl19
-
-
-/***/ }),
-/* 85 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _utils = __webpack_require__(7);
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-exports['default'] = function (instance) {
- instance.registerHelper('if', function (conditional, options) {
- if (arguments.length != 2) {
- throw new _exception2['default']('#if requires exactly one argument');
- }
- if (_utils.isFunction(conditional)) {
- conditional = conditional.call(this);
- }
-
- // Default behavior is to render the positive path if the value is truthy and not empty.
- // The `includeZero` option may be set to treat the condtional as purely not empty based on the
- // behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
- if (!options.hash.includeZero && !conditional || _utils.isEmpty(conditional)) {
- return options.inverse(this);
- } else {
- return options.fn(this);
- }
- });
-
- instance.registerHelper('unless', function (conditional, options) {
- if (arguments.length != 2) {
- throw new _exception2['default']('#unless requires exactly one argument');
- }
- return instance.helpers['if'].call(this, conditional, {
- fn: options.inverse,
- inverse: options.fn,
- hash: options.hash
- });
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvaWYuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztxQkFBb0MsVUFBVTs7eUJBQ3hCLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFVBQVMsV0FBVyxFQUFFLE9BQU8sRUFBRTtBQUMzRCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztLQUMxRDtBQUNELFFBQUksa0JBQVcsV0FBVyxDQUFDLEVBQUU7QUFDM0IsaUJBQVcsR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3RDOzs7OztBQUtELFFBQUksQUFBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsV0FBVyxJQUFLLGVBQVEsV0FBVyxDQUFDLEVBQUU7QUFDdkUsYUFBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzlCLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDekI7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxXQUFXLEVBQUUsT0FBTyxFQUFFO0FBQy9ELFFBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7QUFDekIsWUFBTSwyQkFBYyx1Q0FBdUMsQ0FBQyxDQUFDO0tBQzlEO0FBQ0QsV0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3BELFFBQUUsRUFBRSxPQUFPLENBQUMsT0FBTztBQUNuQixhQUFPLEVBQUUsT0FBTyxDQUFDLEVBQUU7QUFDbkIsVUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO0tBQ25CLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlmLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSwgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCBFeGNlcHRpb24gZnJvbSAnLi4vZXhjZXB0aW9uJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2lmJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjaWYgcmVxdWlyZXMgZXhhY3RseSBvbmUgYXJndW1lbnQnKTtcbiAgICB9XG4gICAgaWYgKGlzRnVuY3Rpb24oY29uZGl0aW9uYWwpKSB7XG4gICAgICBjb25kaXRpb25hbCA9IGNvbmRpdGlvbmFsLmNhbGwodGhpcyk7XG4gICAgfVxuXG4gICAgLy8gRGVmYXVsdCBiZWhhdmlvciBpcyB0byByZW5kZXIgdGhlIHBvc2l0aXZlIHBhdGggaWYgdGhlIHZhbHVlIGlzIHRydXRoeSBhbmQgbm90IGVtcHR5LlxuICAgIC8vIFRoZSBgaW5jbHVkZVplcm9gIG9wdGlvbiBtYXkgYmUgc2V0IHRvIHRyZWF0IHRoZSBjb25kdGlvbmFsIGFzIHB1cmVseSBub3QgZW1wdHkgYmFzZWQgb24gdGhlXG4gICAgLy8gYmVoYXZpb3Igb2YgaXNFbXB0eS4gRWZmZWN0aXZlbHkgdGhpcyBkZXRlcm1pbmVzIGlmIDAgaXMgaGFuZGxlZCBieSB0aGUgcG9zaXRpdmUgcGF0aCBvciBuZWdhdGl2ZS5cbiAgICBpZiAoKCFvcHRpb25zLmhhc2guaW5jbHVkZVplcm8gJiYgIWNvbmRpdGlvbmFsKSB8fCBpc0VtcHR5KGNvbmRpdGlvbmFsKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuaW52ZXJzZSh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9wdGlvbnMuZm4odGhpcyk7XG4gICAgfVxuICB9KTtcblxuICBpbnN0YW5jZS5yZWdpc3RlckhlbHBlcigndW5sZXNzJywgZnVuY3Rpb24oY29uZGl0aW9uYWwsIG9wdGlvbnMpIHtcbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCAhPSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCcjdW5sZXNzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIHJldHVybiBpbnN0YW5jZS5oZWxwZXJzWydpZiddLmNhbGwodGhpcywgY29uZGl0aW9uYWwsIHtcbiAgICAgIGZuOiBvcHRpb25zLmludmVyc2UsXG4gICAgICBpbnZlcnNlOiBvcHRpb25zLmZuLFxuICAgICAgaGFzaDogb3B0aW9ucy5oYXNoXG4gICAgfSk7XG4gIH0pO1xufVxuIl19
-
-
-/***/ }),
-/* 86 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-exports['default'] = function (instance) {
- instance.registerHelper('log', function () /* message, options */{
- var args = [undefined],
- options = arguments[arguments.length - 1];
- for (var i = 0; i < arguments.length - 1; i++) {
- args.push(arguments[i]);
- }
-
- var level = 1;
- if (options.hash.level != null) {
- level = options.hash.level;
- } else if (options.data && options.data.level != null) {
- level = options.data.level;
- }
- args[0] = level;
-
- instance.log.apply(instance, args);
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsa0NBQWlDO0FBQzlELFFBQUksSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUM1QyxTQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7QUFDN0MsVUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN6Qjs7QUFFRCxRQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7QUFDZCxRQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRTtBQUM5QixXQUFLLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7S0FDNUIsTUFBTSxJQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO0FBQ3JELFdBQUssR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztLQUM1QjtBQUNELFFBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7O0FBRWhCLFlBQVEsQ0FBQyxHQUFHLE1BQUEsQ0FBWixRQUFRLEVBQVEsSUFBSSxDQUFDLENBQUM7R0FDdkIsQ0FBQyxDQUFDO0NBQ0oiLCJmaWxlIjoibG9nLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJIZWxwZXIoJ2xvZycsIGZ1bmN0aW9uKC8qIG1lc3NhZ2UsIG9wdGlvbnMgKi8pIHtcbiAgICBsZXQgYXJncyA9IFt1bmRlZmluZWRdLFxuICAgICAgb3B0aW9ucyA9IGFyZ3VtZW50c1thcmd1bWVudHMubGVuZ3RoIC0gMV07XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICBhcmdzLnB1c2goYXJndW1lbnRzW2ldKTtcbiAgICB9XG5cbiAgICBsZXQgbGV2ZWwgPSAxO1xuICAgIGlmIChvcHRpb25zLmhhc2gubGV2ZWwgIT0gbnVsbCkge1xuICAgICAgbGV2ZWwgPSBvcHRpb25zLmhhc2gubGV2ZWw7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zLmRhdGEgJiYgb3B0aW9ucy5kYXRhLmxldmVsICE9IG51bGwpIHtcbiAgICAgIGxldmVsID0gb3B0aW9ucy5kYXRhLmxldmVsO1xuICAgIH1cbiAgICBhcmdzWzBdID0gbGV2ZWw7XG5cbiAgICBpbnN0YW5jZS5sb2coLi4uYXJncyk7XG4gIH0pO1xufVxuIl19
-
-
-/***/ }),
-/* 87 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-exports['default'] = function (instance) {
- instance.registerHelper('lookup', function (obj, field, options) {
- if (!obj) {
- // Note for 5.0: Change to "obj == null" in 5.0
- return obj;
- }
- return options.lookupProperty(obj, field);
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvbG9va3VwLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxRQUFRLEVBQUU7QUFDaEMsVUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtBQUM5RCxRQUFJLENBQUMsR0FBRyxFQUFFOztBQUVSLGFBQU8sR0FBRyxDQUFDO0tBQ1o7QUFDRCxXQUFPLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNDLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6Imxvb2t1cC5qcyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCdsb29rdXAnLCBmdW5jdGlvbihvYmosIGZpZWxkLCBvcHRpb25zKSB7XG4gICAgaWYgKCFvYmopIHtcbiAgICAgIC8vIE5vdGUgZm9yIDUuMDogQ2hhbmdlIHRvIFwib2JqID09IG51bGxcIiBpbiA1LjBcbiAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIHJldHVybiBvcHRpb25zLmxvb2t1cFByb3BlcnR5KG9iaiwgZmllbGQpO1xuICB9KTtcbn1cbiJdfQ==
-
-
-/***/ }),
-/* 88 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _utils = __webpack_require__(7);
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-exports['default'] = function (instance) {
- instance.registerHelper('with', function (context, options) {
- if (arguments.length != 2) {
- throw new _exception2['default']('#with requires exactly one argument');
- }
- if (_utils.isFunction(context)) {
- context = context.call(this);
- }
-
- var fn = options.fn;
-
- if (!_utils.isEmpty(context)) {
- var data = options.data;
- if (options.data && options.ids) {
- data = _utils.createFrame(options.data);
- data.contextPath = _utils.appendContextPath(options.data.contextPath, options.ids[0]);
- }
-
- return fn(context, {
- data: data,
- blockParams: _utils.blockParams([context], [data && data.contextPath])
- });
- } else {
- return options.inverse(this);
- }
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2hlbHBlcnMvd2l0aC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O3FCQU1PLFVBQVU7O3lCQUNLLGNBQWM7Ozs7cUJBRXJCLFVBQVMsUUFBUSxFQUFFO0FBQ2hDLFVBQVEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLFVBQVMsT0FBTyxFQUFFLE9BQU8sRUFBRTtBQUN6RCxRQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO0FBQ3pCLFlBQU0sMkJBQWMscUNBQXFDLENBQUMsQ0FBQztLQUM1RDtBQUNELFFBQUksa0JBQVcsT0FBTyxDQUFDLEVBQUU7QUFDdkIsYUFBTyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7O0FBRUQsUUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLEVBQUUsQ0FBQzs7QUFFcEIsUUFBSSxDQUFDLGVBQVEsT0FBTyxDQUFDLEVBQUU7QUFDckIsVUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztBQUN4QixVQUFJLE9BQU8sQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUMvQixZQUFJLEdBQUcsbUJBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFlBQUksQ0FBQyxXQUFXLEdBQUcseUJBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7T0FDSDs7QUFFRCxhQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUU7QUFDakIsWUFBSSxFQUFFLElBQUk7QUFDVixtQkFBVyxFQUFFLG1CQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO09BQ2hFLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDOUI7R0FDRixDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJ3aXRoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgYXBwZW5kQ29udGV4dFBhdGgsXG4gIGJsb2NrUGFyYW1zLFxuICBjcmVhdGVGcmFtZSxcbiAgaXNFbXB0eSxcbiAgaXNGdW5jdGlvblxufSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4uL2V4Y2VwdGlvbic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKGluc3RhbmNlKSB7XG4gIGluc3RhbmNlLnJlZ2lzdGVySGVscGVyKCd3aXRoJywgZnVuY3Rpb24oY29udGV4dCwgb3B0aW9ucykge1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoICE9IDIpIHtcbiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJyN3aXRoIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50Jyk7XG4gICAgfVxuICAgIGlmIChpc0Z1bmN0aW9uKGNvbnRleHQpKSB7XG4gICAgICBjb250ZXh0ID0gY29udGV4dC5jYWxsKHRoaXMpO1xuICAgIH1cblxuICAgIGxldCBmbiA9IG9wdGlvbnMuZm47XG5cbiAgICBpZiAoIWlzRW1wdHkoY29udGV4dCkpIHtcbiAgICAgIGxldCBkYXRhID0gb3B0aW9ucy5kYXRhO1xuICAgICAgaWYgKG9wdGlvbnMuZGF0YSAmJiBvcHRpb25zLmlkcykge1xuICAgICAgICBkYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAgICAgZGF0YS5jb250ZXh0UGF0aCA9IGFwcGVuZENvbnRleHRQYXRoKFxuICAgICAgICAgIG9wdGlvbnMuZGF0YS5jb250ZXh0UGF0aCxcbiAgICAgICAgICBvcHRpb25zLmlkc1swXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZm4oY29udGV4dCwge1xuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBibG9ja1BhcmFtczogYmxvY2tQYXJhbXMoW2NvbnRleHRdLCBbZGF0YSAmJiBkYXRhLmNvbnRleHRQYXRoXSlcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb3B0aW9ucy5pbnZlcnNlKHRoaXMpO1xuICAgIH1cbiAgfSk7XG59XG4iXX0=
-
-
-/***/ }),
-/* 89 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.registerDefaultDecorators = registerDefaultDecorators;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-var _decoratorsInline = __webpack_require__(90);
-
-var _decoratorsInline2 = _interopRequireDefault(_decoratorsInline);
-
-function registerDefaultDecorators(instance) {
- _decoratorsInline2['default'](instance);
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Z0NBQTJCLHFCQUFxQjs7OztBQUV6QyxTQUFTLHlCQUF5QixDQUFDLFFBQVEsRUFBRTtBQUNsRCxnQ0FBZSxRQUFRLENBQUMsQ0FBQztDQUMxQiIsImZpbGUiOiJkZWNvcmF0b3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHJlZ2lzdGVySW5saW5lIGZyb20gJy4vZGVjb3JhdG9ycy9pbmxpbmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJEZWZhdWx0RGVjb3JhdG9ycyhpbnN0YW5jZSkge1xuICByZWdpc3RlcklubGluZShpbnN0YW5jZSk7XG59XG4iXX0=
-
-
-/***/ }),
-/* 90 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-
-var _utils = __webpack_require__(7);
-
-exports['default'] = function (instance) {
- instance.registerDecorator('inline', function (fn, props, container, options) {
- var ret = fn;
- if (!props.partials) {
- props.partials = {};
- ret = function (context, options) {
- // Create a new partials stack frame prior to exec.
- var original = container.partials;
- container.partials = _utils.extend({}, original, props.partials);
- var ret = fn(context, options);
- container.partials = original;
- return ret;
- };
- }
-
- props.partials[options.args[0]] = options.fn;
-
- return ret;
- });
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2RlY29yYXRvcnMvaW5saW5lLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQXVCLFVBQVU7O3FCQUVsQixVQUFTLFFBQVEsRUFBRTtBQUNoQyxVQUFRLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLFVBQVMsRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFO0FBQzNFLFFBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQztBQUNiLFFBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO0FBQ25CLFdBQUssQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3BCLFNBQUcsR0FBRyxVQUFTLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRS9CLFlBQUksUUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUM7QUFDbEMsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsY0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUMxRCxZQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQy9CLGlCQUFTLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztBQUM5QixlQUFPLEdBQUcsQ0FBQztPQUNaLENBQUM7S0FDSDs7QUFFRCxTQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDOztBQUU3QyxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUMsQ0FBQztDQUNKIiwiZmlsZSI6ImlubGluZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4dGVuZCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24oaW5zdGFuY2UpIHtcbiAgaW5zdGFuY2UucmVnaXN0ZXJEZWNvcmF0b3IoJ2lubGluZScsIGZ1bmN0aW9uKGZuLCBwcm9wcywgY29udGFpbmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IHJldCA9IGZuO1xuICAgIGlmICghcHJvcHMucGFydGlhbHMpIHtcbiAgICAgIHByb3BzLnBhcnRpYWxzID0ge307XG4gICAgICByZXQgPSBmdW5jdGlvbihjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgICAgIC8vIENyZWF0ZSBhIG5ldyBwYXJ0aWFscyBzdGFjayBmcmFtZSBwcmlvciB0byBleGVjLlxuICAgICAgICBsZXQgb3JpZ2luYWwgPSBjb250YWluZXIucGFydGlhbHM7XG4gICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyA9IGV4dGVuZCh7fSwgb3JpZ2luYWwsIHByb3BzLnBhcnRpYWxzKTtcbiAgICAgICAgbGV0IHJldCA9IGZuKGNvbnRleHQsIG9wdGlvbnMpO1xuICAgICAgICBjb250YWluZXIucGFydGlhbHMgPSBvcmlnaW5hbDtcbiAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgIH07XG4gICAgfVxuXG4gICAgcHJvcHMucGFydGlhbHNbb3B0aW9ucy5hcmdzWzBdXSA9IG9wdGlvbnMuZm47XG5cbiAgICByZXR1cm4gcmV0O1xuICB9KTtcbn1cbiJdfQ==
-
-
-/***/ }),
-/* 91 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.createNewLookupObject = createNewLookupObject;
-
-var _utils = __webpack_require__(7);
-
-/**
- * Create a new object with "null"-prototype to avoid truthy results on prototype properties.
- * The resulting object can be used with "object[property]" to check if a property exists
- * @param {...object} sources a varargs parameter of source objects that will be merged
- * @returns {object}
- */
-
-function createNewLookupObject() {
- for (var _len = arguments.length, sources = Array(_len), _key = 0; _key < _len; _key++) {
- sources[_key] = arguments[_key];
- }
-
- return _utils.extend.apply(undefined, [Object.create(null)].concat(sources));
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL2NyZWF0ZS1uZXctbG9va3VwLW9iamVjdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztxQkFBdUIsVUFBVTs7Ozs7Ozs7O0FBUTFCLFNBQVMscUJBQXFCLEdBQWE7b0NBQVQsT0FBTztBQUFQLFdBQU87OztBQUM5QyxTQUFPLGdDQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQUssT0FBTyxFQUFDLENBQUM7Q0FDaEQiLCJmaWxlIjoiY3JlYXRlLW5ldy1sb29rdXAtb2JqZWN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZXh0ZW5kIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBvYmplY3Qgd2l0aCBcIm51bGxcIi1wcm90b3R5cGUgdG8gYXZvaWQgdHJ1dGh5IHJlc3VsdHMgb24gcHJvdG90eXBlIHByb3BlcnRpZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9iamVjdCBjYW4gYmUgdXNlZCB3aXRoIFwib2JqZWN0W3Byb3BlcnR5XVwiIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgZXhpc3RzXG4gKiBAcGFyYW0gey4uLm9iamVjdH0gc291cmNlcyBhIHZhcmFyZ3MgcGFyYW1ldGVyIG9mIHNvdXJjZSBvYmplY3RzIHRoYXQgd2lsbCBiZSBtZXJnZWRcbiAqIEByZXR1cm5zIHtvYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOZXdMb29rdXBPYmplY3QoLi4uc291cmNlcykge1xuICByZXR1cm4gZXh0ZW5kKE9iamVjdC5jcmVhdGUobnVsbCksIC4uLnNvdXJjZXMpO1xufVxuIl19
-
-
-/***/ }),
-/* 92 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-// Build out our basic SafeString type
-
-
-exports.__esModule = true;
-function SafeString(string) {
- this.string = string;
-}
-
-SafeString.prototype.toString = SafeString.prototype.toHTML = function () {
- return '' + this.string;
-};
-
-exports['default'] = SafeString;
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3NhZmUtc3RyaW5nLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUU7QUFDMUIsTUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7Q0FDdEI7O0FBRUQsVUFBVSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsWUFBVztBQUN2RSxTQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0NBQ3pCLENBQUM7O3FCQUVhLFVBQVUiLCJmaWxlIjoic2FmZS1zdHJpbmcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCdWlsZCBvdXQgb3VyIGJhc2ljIFNhZmVTdHJpbmcgdHlwZVxuZnVuY3Rpb24gU2FmZVN0cmluZyhzdHJpbmcpIHtcbiAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG59XG5cblNhZmVTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nID0gU2FmZVN0cmluZy5wcm90b3R5cGUudG9IVE1MID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiAnJyArIHRoaXMuc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FmZVN0cmluZztcbiJdfQ==
-
-
-/***/ }),
-/* 93 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.checkRevision = checkRevision;
-exports.template = template;
-exports.wrapProgram = wrapProgram;
-exports.resolvePartial = resolvePartial;
-exports.invokePartial = invokePartial;
-exports.noop = noop;
-// istanbul ignore next
-
-function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
-// istanbul ignore next
-
-function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
-
-var _utils = __webpack_require__(7);
-
-var Utils = _interopRequireWildcard(_utils);
-
-var _exception = __webpack_require__(13);
-
-var _exception2 = _interopRequireDefault(_exception);
-
-var _base = __webpack_require__(41);
-
-var _helpers = __webpack_require__(42);
-
-var _internalWrapHelper = __webpack_require__(94);
-
-var _internalProtoAccess = __webpack_require__(44);
-
-function checkRevision(compilerInfo) {
- var compilerRevision = compilerInfo && compilerInfo[0] || 1,
- currentRevision = _base.COMPILER_REVISION;
-
- if (compilerRevision >= _base.LAST_COMPATIBLE_COMPILER_REVISION && compilerRevision <= _base.COMPILER_REVISION) {
- return;
- }
-
- if (compilerRevision < _base.LAST_COMPATIBLE_COMPILER_REVISION) {
- var runtimeVersions = _base.REVISION_CHANGES[currentRevision],
- compilerVersions = _base.REVISION_CHANGES[compilerRevision];
- throw new _exception2['default']('Template was precompiled with an older version of Handlebars than the current runtime. ' + 'Please update your precompiler to a newer version (' + runtimeVersions + ') or downgrade your runtime to an older version (' + compilerVersions + ').');
- } else {
- // Use the embedded version info since the runtime doesn't know about this revision yet
- throw new _exception2['default']('Template was precompiled with a newer version of Handlebars than the current runtime. ' + 'Please update your runtime to a newer version (' + compilerInfo[1] + ').');
- }
-}
-
-function template(templateSpec, env) {
- /* istanbul ignore next */
- if (!env) {
- throw new _exception2['default']('No environment passed to template');
- }
- if (!templateSpec || !templateSpec.main) {
- throw new _exception2['default']('Unknown template object: ' + typeof templateSpec);
- }
-
- templateSpec.main.decorator = templateSpec.main_d;
-
- // Note: Using env.VM references rather than local var references throughout this section to allow
- // for external users to override these as pseudo-supported APIs.
- env.VM.checkRevision(templateSpec.compiler);
-
- // backwards compatibility for precompiled templates with compiler-version 7 (<4.3.0)
- var templateWasPrecompiledWithCompilerV7 = templateSpec.compiler && templateSpec.compiler[0] === 7;
-
- function invokePartialWrapper(partial, context, options) {
- if (options.hash) {
- context = Utils.extend({}, context, options.hash);
- if (options.ids) {
- options.ids[0] = true;
- }
- }
- partial = env.VM.resolvePartial.call(this, partial, context, options);
-
- var extendedOptions = Utils.extend({}, options, {
- hooks: this.hooks,
- protoAccessControl: this.protoAccessControl
- });
-
- var result = env.VM.invokePartial.call(this, partial, context, extendedOptions);
-
- if (result == null && env.compile) {
- options.partials[options.name] = env.compile(partial, templateSpec.compilerOptions, env);
- result = options.partials[options.name](context, extendedOptions);
- }
- if (result != null) {
- if (options.indent) {
- var lines = result.split('\n');
- for (var i = 0, l = lines.length; i < l; i++) {
- if (!lines[i] && i + 1 === l) {
- break;
- }
-
- lines[i] = options.indent + lines[i];
- }
- result = lines.join('\n');
- }
- return result;
- } else {
- throw new _exception2['default']('The partial ' + options.name + ' could not be compiled when running in runtime-only mode');
- }
- }
-
- // Just add water
- var container = {
- strict: function strict(obj, name, loc) {
- if (!obj || !(name in obj)) {
- throw new _exception2['default']('"' + name + '" not defined in ' + obj, {
- loc: loc
- });
- }
- return obj[name];
- },
- lookupProperty: function lookupProperty(parent, propertyName) {
- var result = parent[propertyName];
- if (result == null) {
- return result;
- }
- if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
- return result;
- }
-
- if (_internalProtoAccess.resultIsAllowed(result, container.protoAccessControl, propertyName)) {
- return result;
- }
- return undefined;
- },
- lookup: function lookup(depths, name) {
- var len = depths.length;
- for (var i = 0; i < len; i++) {
- var result = depths[i] && container.lookupProperty(depths[i], name);
- if (result != null) {
- return depths[i][name];
- }
- }
- },
- lambda: function lambda(current, context) {
- return typeof current === 'function' ? current.call(context) : current;
- },
-
- escapeExpression: Utils.escapeExpression,
- invokePartial: invokePartialWrapper,
-
- fn: function fn(i) {
- var ret = templateSpec[i];
- ret.decorator = templateSpec[i + '_d'];
- return ret;
- },
-
- programs: [],
- program: function program(i, data, declaredBlockParams, blockParams, depths) {
- var programWrapper = this.programs[i],
- fn = this.fn(i);
- if (data || depths || blockParams || declaredBlockParams) {
- programWrapper = wrapProgram(this, i, fn, data, declaredBlockParams, blockParams, depths);
- } else if (!programWrapper) {
- programWrapper = this.programs[i] = wrapProgram(this, i, fn);
- }
- return programWrapper;
- },
-
- data: function data(value, depth) {
- while (value && depth--) {
- value = value._parent;
- }
- return value;
- },
- mergeIfNeeded: function mergeIfNeeded(param, common) {
- var obj = param || common;
-
- if (param && common && param !== common) {
- obj = Utils.extend({}, common, param);
- }
-
- return obj;
- },
- // An empty object to use as replacement for null-contexts
- nullContext: Object.seal({}),
-
- noop: env.VM.noop,
- compilerInfo: templateSpec.compiler
- };
-
- function ret(context) {
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-
- var data = options.data;
-
- ret._setup(options);
- if (!options.partial && templateSpec.useData) {
- data = initData(context, data);
- }
- var depths = undefined,
- blockParams = templateSpec.useBlockParams ? [] : undefined;
- if (templateSpec.useDepths) {
- if (options.depths) {
- depths = context != options.depths[0] ? [context].concat(options.depths) : options.depths;
- } else {
- depths = [context];
- }
- }
-
- function main(context /*, options*/) {
- return '' + templateSpec.main(container, context, container.helpers, container.partials, data, blockParams, depths);
- }
-
- main = executeDecorators(templateSpec.main, main, container, options.depths || [], data, blockParams);
- return main(context, options);
- }
-
- ret.isTop = true;
-
- ret._setup = function (options) {
- if (!options.partial) {
- var mergedHelpers = Utils.extend({}, env.helpers, options.helpers);
- wrapHelpersToPassLookupProperty(mergedHelpers, container);
- container.helpers = mergedHelpers;
-
- if (templateSpec.usePartial) {
- // Use mergeIfNeeded here to prevent compiling global partials multiple times
- container.partials = container.mergeIfNeeded(options.partials, env.partials);
- }
- if (templateSpec.usePartial || templateSpec.useDecorators) {
- container.decorators = Utils.extend({}, env.decorators, options.decorators);
- }
-
- container.hooks = {};
- container.protoAccessControl = _internalProtoAccess.createProtoAccessControl(options);
-
- var keepHelperInHelpers = options.allowCallsToHelperMissing || templateWasPrecompiledWithCompilerV7;
- _helpers.moveHelperToHooks(container, 'helperMissing', keepHelperInHelpers);
- _helpers.moveHelperToHooks(container, 'blockHelperMissing', keepHelperInHelpers);
- } else {
- container.protoAccessControl = options.protoAccessControl; // internal option
- container.helpers = options.helpers;
- container.partials = options.partials;
- container.decorators = options.decorators;
- container.hooks = options.hooks;
- }
- };
-
- ret._child = function (i, data, blockParams, depths) {
- if (templateSpec.useBlockParams && !blockParams) {
- throw new _exception2['default']('must pass block params');
- }
- if (templateSpec.useDepths && !depths) {
- throw new _exception2['default']('must pass parent depths');
- }
-
- return wrapProgram(container, i, templateSpec[i], data, 0, blockParams, depths);
- };
- return ret;
-}
-
-function wrapProgram(container, i, fn, data, declaredBlockParams, blockParams, depths) {
- function prog(context) {
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-
- var currentDepths = depths;
- if (depths && context != depths[0] && !(context === container.nullContext && depths[0] === null)) {
- currentDepths = [context].concat(depths);
- }
-
- return fn(container, context, container.helpers, container.partials, options.data || data, blockParams && [options.blockParams].concat(blockParams), currentDepths);
- }
-
- prog = executeDecorators(fn, prog, container, depths, data, blockParams);
-
- prog.program = i;
- prog.depth = depths ? depths.length : 0;
- prog.blockParams = declaredBlockParams || 0;
- return prog;
-}
-
-/**
- * This is currently part of the official API, therefore implementation details should not be changed.
- */
-
-function resolvePartial(partial, context, options) {
- if (!partial) {
- if (options.name === '@partial-block') {
- partial = options.data['partial-block'];
- } else {
- partial = options.partials[options.name];
- }
- } else if (!partial.call && !options.name) {
- // This is a dynamic partial that returned a string
- options.name = partial;
- partial = options.partials[partial];
- }
- return partial;
-}
-
-function invokePartial(partial, context, options) {
- // Use the current closure context to save the partial-block if this partial
- var currentPartialBlock = options.data && options.data['partial-block'];
- options.partial = true;
- if (options.ids) {
- options.data.contextPath = options.ids[0] || options.data.contextPath;
- }
-
- var partialBlock = undefined;
- if (options.fn && options.fn !== noop) {
- (function () {
- options.data = _base.createFrame(options.data);
- // Wrapper function to get access to currentPartialBlock from the closure
- var fn = options.fn;
- partialBlock = options.data['partial-block'] = function partialBlockWrapper(context) {
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
-
- // Restore the partial-block from the closure for the execution of the block
- // i.e. the part inside the block of the partial call.
- options.data = _base.createFrame(options.data);
- options.data['partial-block'] = currentPartialBlock;
- return fn(context, options);
- };
- if (fn.partials) {
- options.partials = Utils.extend({}, options.partials, fn.partials);
- }
- })();
- }
-
- if (partial === undefined && partialBlock) {
- partial = partialBlock;
- }
-
- if (partial === undefined) {
- throw new _exception2['default']('The partial ' + options.name + ' could not be found');
- } else if (partial instanceof Function) {
- return partial(context, options);
- }
-}
-
-function noop() {
- return '';
-}
-
-function initData(context, data) {
- if (!data || !('root' in data)) {
- data = data ? _base.createFrame(data) : {};
- data.root = context;
- }
- return data;
-}
-
-function executeDecorators(fn, prog, container, depths, data, blockParams) {
- if (fn.decorator) {
- var props = {};
- prog = fn.decorator(prog, props, container, depths && depths[0], data, blockParams, depths);
- Utils.extend(prog, props);
- }
- return prog;
-}
-
-function wrapHelpersToPassLookupProperty(mergedHelpers, container) {
- Object.keys(mergedHelpers).forEach(function (helperName) {
- var helper = mergedHelpers[helperName];
- mergedHelpers[helperName] = passLookupPropertyOption(helper, container);
- });
-}
-
-function passLookupPropertyOption(helper, container) {
- var lookupProperty = container.lookupProperty;
- return _internalWrapHelper.wrapHelper(helper, function (options) {
- return Utils.extend({ lookupProperty: lookupProperty }, options);
- });
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL3J1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7cUJBQXVCLFNBQVM7O0lBQXBCLEtBQUs7O3lCQUNLLGFBQWE7Ozs7b0JBTTVCLFFBQVE7O3VCQUNtQixXQUFXOztrQ0FDbEIsdUJBQXVCOzttQ0FJM0MseUJBQXlCOztBQUV6QixTQUFTLGFBQWEsQ0FBQyxZQUFZLEVBQUU7QUFDMUMsTUFBTSxnQkFBZ0IsR0FBRyxBQUFDLFlBQVksSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUssQ0FBQztNQUM3RCxlQUFlLDBCQUFvQixDQUFDOztBQUV0QyxNQUNFLGdCQUFnQiwyQ0FBcUMsSUFDckQsZ0JBQWdCLDJCQUFxQixFQUNyQztBQUNBLFdBQU87R0FDUjs7QUFFRCxNQUFJLGdCQUFnQiwwQ0FBb0MsRUFBRTtBQUN4RCxRQUFNLGVBQWUsR0FBRyx1QkFBaUIsZUFBZSxDQUFDO1FBQ3ZELGdCQUFnQixHQUFHLHVCQUFpQixnQkFBZ0IsQ0FBQyxDQUFDO0FBQ3hELFVBQU0sMkJBQ0oseUZBQXlGLEdBQ3ZGLHFEQUFxRCxHQUNyRCxlQUFlLEdBQ2YsbURBQW1ELEdBQ25ELGdCQUFnQixHQUNoQixJQUFJLENBQ1AsQ0FBQztHQUNILE1BQU07O0FBRUwsVUFBTSwyQkFDSix3RkFBd0YsR0FDdEYsaURBQWlELEdBQ2pELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FDZixJQUFJLENBQ1AsQ0FBQztHQUNIO0NBQ0Y7O0FBRU0sU0FBUyxRQUFRLENBQUMsWUFBWSxFQUFFLEdBQUcsRUFBRTs7QUFFMUMsTUFBSSxDQUFDLEdBQUcsRUFBRTtBQUNSLFVBQU0sMkJBQWMsbUNBQW1DLENBQUMsQ0FBQztHQUMxRDtBQUNELE1BQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFO0FBQ3ZDLFVBQU0sMkJBQWMsMkJBQTJCLEdBQUcsT0FBTyxZQUFZLENBQUMsQ0FBQztHQUN4RTs7QUFFRCxjQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDOzs7O0FBSWxELEtBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQzs7O0FBRzVDLE1BQU0sb0NBQW9DLEdBQ3hDLFlBQVksQ0FBQyxRQUFRLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRTFELFdBQVMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDdkQsUUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLGFBQU8sR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xELFVBQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLGVBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO09BQ3ZCO0tBQ0Y7QUFDRCxXQUFPLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDOztBQUV0RSxRQUFJLGVBQWUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUU7QUFDOUMsV0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO0FBQ2pCLHdCQUFrQixFQUFFLElBQUksQ0FBQyxrQkFBa0I7S0FDNUMsQ0FBQyxDQUFDOztBQUVILFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDcEMsSUFBSSxFQUNKLE9BQU8sRUFDUCxPQUFPLEVBQ1AsZUFBZSxDQUNoQixDQUFDOztBQUVGLFFBQUksTUFBTSxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxPQUFPLENBQzFDLE9BQU8sRUFDUCxZQUFZLENBQUMsZUFBZSxFQUM1QixHQUFHLENBQ0osQ0FBQztBQUNGLFlBQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7S0FDbkU7QUFDRCxRQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsVUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO0FBQ2xCLFlBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0IsYUFBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUM1QyxjQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVCLGtCQUFNO1dBQ1A7O0FBRUQsZUFBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0FBQ0QsY0FBTSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7T0FDM0I7QUFDRCxhQUFPLE1BQU0sQ0FBQztLQUNmLE1BQU07QUFDTCxZQUFNLDJCQUNKLGNBQWMsR0FDWixPQUFPLENBQUMsSUFBSSxHQUNaLDBEQUEwRCxDQUM3RCxDQUFDO0tBQ0g7R0FDRjs7O0FBR0QsTUFBSSxTQUFTLEdBQUc7QUFDZCxVQUFNLEVBQUUsZ0JBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUU7QUFDL0IsVUFBSSxDQUFDLEdBQUcsSUFBSSxFQUFFLElBQUksSUFBSSxHQUFHLENBQUEsQUFBQyxFQUFFO0FBQzFCLGNBQU0sMkJBQWMsR0FBRyxHQUFHLElBQUksR0FBRyxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7QUFDMUQsYUFBRyxFQUFFLEdBQUc7U0FDVCxDQUFDLENBQUM7T0FDSjtBQUNELGFBQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2xCO0FBQ0Qsa0JBQWMsRUFBRSx3QkFBUyxNQUFNLEVBQUUsWUFBWSxFQUFFO0FBQzdDLFVBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUNsQyxVQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsZUFBTyxNQUFNLENBQUM7T0FDZjtBQUNELFVBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsRUFBRTtBQUM5RCxlQUFPLE1BQU0sQ0FBQztPQUNmOztBQUVELFVBQUkscUNBQWdCLE1BQU0sRUFBRSxTQUFTLENBQUMsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLEVBQUU7QUFDdkUsZUFBTyxNQUFNLENBQUM7T0FDZjtBQUNELGFBQU8sU0FBUyxDQUFDO0tBQ2xCO0FBQ0QsVUFBTSxFQUFFLGdCQUFTLE1BQU0sRUFBRSxJQUFJLEVBQUU7QUFDN0IsVUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztBQUMxQixXQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzVCLFlBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNwRSxZQUFJLE1BQU0sSUFBSSxJQUFJLEVBQUU7QUFDbEIsaUJBQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3hCO09BQ0Y7S0FDRjtBQUNELFVBQU0sRUFBRSxnQkFBUyxPQUFPLEVBQUUsT0FBTyxFQUFFO0FBQ2pDLGFBQU8sT0FBTyxPQUFPLEtBQUssVUFBVSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsT0FBTyxDQUFDO0tBQ3hFOztBQUVELG9CQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7QUFDeEMsaUJBQWEsRUFBRSxvQkFBb0I7O0FBRW5DLE1BQUUsRUFBRSxZQUFTLENBQUMsRUFBRTtBQUNkLFVBQUksR0FBRyxHQUFHLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixTQUFHLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDdkMsYUFBTyxHQUFHLENBQUM7S0FDWjs7QUFFRCxZQUFRLEVBQUUsRUFBRTtBQUNaLFdBQU8sRUFBRSxpQkFBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUU7QUFDbkUsVUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7VUFDbkMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbEIsVUFBSSxJQUFJLElBQUksTUFBTSxJQUFJLFdBQVcsSUFBSSxtQkFBbUIsRUFBRTtBQUN4RCxzQkFBYyxHQUFHLFdBQVcsQ0FDMUIsSUFBSSxFQUNKLENBQUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxFQUNKLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQUM7T0FDSCxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUU7QUFDMUIsc0JBQWMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO09BQzlEO0FBQ0QsYUFBTyxjQUFjLENBQUM7S0FDdkI7O0FBRUQsUUFBSSxFQUFFLGNBQVMsS0FBSyxFQUFFLEtBQUssRUFBRTtBQUMzQixhQUFPLEtBQUssSUFBSSxLQUFLLEVBQUUsRUFBRTtBQUN2QixhQUFLLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztPQUN2QjtBQUNELGFBQU8sS0FBSyxDQUFDO0tBQ2Q7QUFDRCxpQkFBYSxFQUFFLHVCQUFTLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDckMsVUFBSSxHQUFHLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQzs7QUFFMUIsVUFBSSxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssS0FBSyxNQUFNLEVBQUU7QUFDdkMsV0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztPQUN2Qzs7QUFFRCxhQUFPLEdBQUcsQ0FBQztLQUNaOztBQUVELGVBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQzs7QUFFNUIsUUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSTtBQUNqQixnQkFBWSxFQUFFLFlBQVksQ0FBQyxRQUFRO0dBQ3BDLENBQUM7O0FBRUYsV0FBUyxHQUFHLENBQUMsT0FBTyxFQUFnQjtRQUFkLE9BQU8seURBQUcsRUFBRTs7QUFDaEMsUUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQzs7QUFFeEIsT0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNwQixRQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFO0FBQzVDLFVBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0tBQ2hDO0FBQ0QsUUFBSSxNQUFNLFlBQUE7UUFDUixXQUFXLEdBQUcsWUFBWSxDQUFDLGNBQWMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0FBQzdELFFBQUksWUFBWSxDQUFDLFNBQVMsRUFBRTtBQUMxQixVQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7QUFDbEIsY0FBTSxHQUNKLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUN4QixDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQUM7T0FDdEIsTUFBTTtBQUNMLGNBQU0sR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO09BQ3BCO0tBQ0Y7O0FBRUQsYUFBUyxJQUFJLENBQUMsT0FBTyxnQkFBZ0I7QUFDbkMsYUFDRSxFQUFFLEdBQ0YsWUFBWSxDQUFDLElBQUksQ0FDZixTQUFTLEVBQ1QsT0FBTyxFQUNQLFNBQVMsQ0FBQyxPQUFPLEVBQ2pCLFNBQVMsQ0FBQyxRQUFRLEVBQ2xCLElBQUksRUFDSixXQUFXLEVBQ1gsTUFBTSxDQUNQLENBQ0Q7S0FDSDs7QUFFRCxRQUFJLEdBQUcsaUJBQWlCLENBQ3RCLFlBQVksQ0FBQyxJQUFJLEVBQ2pCLElBQUksRUFDSixTQUFTLEVBQ1QsT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQ3BCLElBQUksRUFDSixXQUFXLENBQ1osQ0FBQztBQUNGLFdBQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztHQUMvQjs7QUFFRCxLQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzs7QUFFakIsS0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFTLE9BQU8sRUFBRTtBQUM3QixRQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtBQUNwQixVQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUNuRSxxQ0FBK0IsQ0FBQyxhQUFhLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDMUQsZUFBUyxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7O0FBRWxDLFVBQUksWUFBWSxDQUFDLFVBQVUsRUFBRTs7QUFFM0IsaUJBQVMsQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FDMUMsT0FBTyxDQUFDLFFBQVEsRUFDaEIsR0FBRyxDQUFDLFFBQVEsQ0FDYixDQUFDO09BQ0g7QUFDRCxVQUFJLFlBQVksQ0FBQyxVQUFVLElBQUksWUFBWSxDQUFDLGFBQWEsRUFBRTtBQUN6RCxpQkFBUyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUNqQyxFQUFFLEVBQ0YsR0FBRyxDQUFDLFVBQVUsRUFDZCxPQUFPLENBQUMsVUFBVSxDQUNuQixDQUFDO09BQ0g7O0FBRUQsZUFBUyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDckIsZUFBUyxDQUFDLGtCQUFrQixHQUFHLDhDQUF5QixPQUFPLENBQUMsQ0FBQzs7QUFFakUsVUFBSSxtQkFBbUIsR0FDckIsT0FBTyxDQUFDLHlCQUF5QixJQUNqQyxvQ0FBb0MsQ0FBQztBQUN2QyxpQ0FBa0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ25FLGlDQUFrQixTQUFTLEVBQUUsb0JBQW9CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztLQUN6RSxNQUFNO0FBQ0wsZUFBUyxDQUFDLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztBQUMxRCxlQUFTLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7QUFDcEMsZUFBUyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO0FBQ3RDLGVBQVMsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztBQUMxQyxlQUFTLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7S0FDakM7R0FDRixDQUFDOztBQUVGLEtBQUcsQ0FBQyxNQUFNLEdBQUcsVUFBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUU7QUFDbEQsUUFBSSxZQUFZLENBQUMsY0FBYyxJQUFJLENBQUMsV0FBVyxFQUFFO0FBQy9DLFlBQU0sMkJBQWMsd0JBQXdCLENBQUMsQ0FBQztLQUMvQztBQUNELFFBQUksWUFBWSxDQUFDLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNyQyxZQUFNLDJCQUFjLHlCQUF5QixDQUFDLENBQUM7S0FDaEQ7O0FBRUQsV0FBTyxXQUFXLENBQ2hCLFNBQVMsRUFDVCxDQUFDLEVBQ0QsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUNmLElBQUksRUFDSixDQUFDLEVBQ0QsV0FBVyxFQUNYLE1BQU0sQ0FDUCxDQUFDO0dBQ0gsQ0FBQztBQUNGLFNBQU8sR0FBRyxDQUFDO0NBQ1o7O0FBRU0sU0FBUyxXQUFXLENBQ3pCLFNBQVMsRUFDVCxDQUFDLEVBQ0QsRUFBRSxFQUNGLElBQUksRUFDSixtQkFBbUIsRUFDbkIsV0FBVyxFQUNYLE1BQU0sRUFDTjtBQUNBLFdBQVMsSUFBSSxDQUFDLE9BQU8sRUFBZ0I7UUFBZCxPQUFPLHlEQUFHLEVBQUU7O0FBQ2pDLFFBQUksYUFBYSxHQUFHLE1BQU0sQ0FBQztBQUMzQixRQUNFLE1BQU0sSUFDTixPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUNwQixFQUFFLE9BQU8sS0FBSyxTQUFTLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUEsQUFBQyxFQUMxRDtBQUNBLG1CQUFhLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDMUM7O0FBRUQsV0FBTyxFQUFFLENBQ1AsU0FBUyxFQUNULE9BQU8sRUFDUCxTQUFTLENBQUMsT0FBTyxFQUNqQixTQUFTLENBQUMsUUFBUSxFQUNsQixPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksRUFDcEIsV0FBVyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDeEQsYUFBYSxDQUNkLENBQUM7R0FDSDs7QUFFRCxNQUFJLEdBQUcsaUJBQWlCLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQzs7QUFFekUsTUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDakIsTUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDeEMsTUFBSSxDQUFDLFdBQVcsR0FBRyxtQkFBbUIsSUFBSSxDQUFDLENBQUM7QUFDNUMsU0FBTyxJQUFJLENBQUM7Q0FDYjs7Ozs7O0FBS00sU0FBUyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7QUFDeEQsTUFBSSxDQUFDLE9BQU8sRUFBRTtBQUNaLFFBQUksT0FBTyxDQUFDLElBQUksS0FBSyxnQkFBZ0IsRUFBRTtBQUNyQyxhQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztLQUN6QyxNQUFNO0FBQ0wsYUFBTyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzFDO0dBQ0YsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUU7O0FBRXpDLFdBQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0FBQ3ZCLFdBQU8sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0dBQ3JDO0FBQ0QsU0FBTyxPQUFPLENBQUM7Q0FDaEI7O0FBRU0sU0FBUyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUU7O0FBRXZELE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzFFLFNBQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO0FBQ3ZCLE1BQUksT0FBTyxDQUFDLEdBQUcsRUFBRTtBQUNmLFdBQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7R0FDdkU7O0FBRUQsTUFBSSxZQUFZLFlBQUEsQ0FBQztBQUNqQixNQUFJLE9BQU8sQ0FBQyxFQUFFLElBQUksT0FBTyxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUU7O0FBQ3JDLGFBQU8sQ0FBQyxJQUFJLEdBQUcsa0JBQVksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztBQUV6QyxVQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQ3BCLGtCQUFZLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxTQUFTLG1CQUFtQixDQUN6RSxPQUFPLEVBRVA7WUFEQSxPQUFPLHlEQUFHLEVBQUU7Ozs7QUFJWixlQUFPLENBQUMsSUFBSSxHQUFHLGtCQUFZLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN6QyxlQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLG1CQUFtQixDQUFDO0FBQ3BELGVBQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztPQUM3QixDQUFDO0FBQ0YsVUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0FBQ2YsZUFBTyxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztPQUNwRTs7R0FDRjs7QUFFRCxNQUFJLE9BQU8sS0FBSyxTQUFTLElBQUksWUFBWSxFQUFFO0FBQ3pDLFdBQU8sR0FBRyxZQUFZLENBQUM7R0FDeEI7O0FBRUQsTUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFO0FBQ3pCLFVBQU0sMkJBQWMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUMsQ0FBQztHQUM1RSxNQUFNLElBQUksT0FBTyxZQUFZLFFBQVEsRUFBRTtBQUN0QyxXQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7R0FDbEM7Q0FDRjs7QUFFTSxTQUFTLElBQUksR0FBRztBQUNyQixTQUFPLEVBQUUsQ0FBQztDQUNYOztBQUVELFNBQVMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUU7QUFDL0IsTUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLE1BQU0sSUFBSSxJQUFJLENBQUEsQUFBQyxFQUFFO0FBQzlCLFFBQUksR0FBRyxJQUFJLEdBQUcsa0JBQVksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLFFBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDO0dBQ3JCO0FBQ0QsU0FBTyxJQUFJLENBQUM7Q0FDYjs7QUFFRCxTQUFTLGlCQUFpQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO0FBQ3pFLE1BQUksRUFBRSxDQUFDLFNBQVMsRUFBRTtBQUNoQixRQUFJLEtBQUssR0FBRyxFQUFFLENBQUM7QUFDZixRQUFJLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FDakIsSUFBSSxFQUNKLEtBQUssRUFDTCxTQUFTLEVBQ1QsTUFBTSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFDbkIsSUFBSSxFQUNKLFdBQVcsRUFDWCxNQUFNLENBQ1AsQ0FBQztBQUNGLFNBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDO0dBQzNCO0FBQ0QsU0FBTyxJQUFJLENBQUM7Q0FDYjs7QUFFRCxTQUFTLCtCQUErQixDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUU7QUFDakUsUUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQSxVQUFVLEVBQUk7QUFDL0MsUUFBSSxNQUFNLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ3ZDLGlCQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3pFLENBQUMsQ0FBQztDQUNKOztBQUVELFNBQVMsd0JBQXdCLENBQUMsTUFBTSxFQUFFLFNBQVMsRUFBRTtBQUNuRCxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ2hELFNBQU8sK0JBQVcsTUFBTSxFQUFFLFVBQUEsT0FBTyxFQUFJO0FBQ25DLFdBQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGNBQWMsRUFBZCxjQUFjLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztHQUNsRCxDQUFDLENBQUM7Q0FDSiIsImZpbGUiOiJydW50aW1lLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgVXRpbHMgZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gJy4vZXhjZXB0aW9uJztcbmltcG9ydCB7XG4gIENPTVBJTEVSX1JFVklTSU9OLFxuICBjcmVhdGVGcmFtZSxcbiAgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OLFxuICBSRVZJU0lPTl9DSEFOR0VTXG59IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQgeyBtb3ZlSGVscGVyVG9Ib29rcyB9IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyB3cmFwSGVscGVyIH0gZnJvbSAnLi9pbnRlcm5hbC93cmFwSGVscGVyJztcbmltcG9ydCB7XG4gIGNyZWF0ZVByb3RvQWNjZXNzQ29udHJvbCxcbiAgcmVzdWx0SXNBbGxvd2VkXG59IGZyb20gJy4vaW50ZXJuYWwvcHJvdG8tYWNjZXNzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrUmV2aXNpb24oY29tcGlsZXJJbmZvKSB7XG4gIGNvbnN0IGNvbXBpbGVyUmV2aXNpb24gPSAoY29tcGlsZXJJbmZvICYmIGNvbXBpbGVySW5mb1swXSkgfHwgMSxcbiAgICBjdXJyZW50UmV2aXNpb24gPSBDT01QSUxFUl9SRVZJU0lPTjtcblxuICBpZiAoXG4gICAgY29tcGlsZXJSZXZpc2lvbiA+PSBMQVNUX0NPTVBBVElCTEVfQ09NUElMRVJfUkVWSVNJT04gJiZcbiAgICBjb21waWxlclJldmlzaW9uIDw9IENPTVBJTEVSX1JFVklTSU9OXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb21waWxlclJldmlzaW9uIDwgTEFTVF9DT01QQVRJQkxFX0NPTVBJTEVSX1JFVklTSU9OKSB7XG4gICAgY29uc3QgcnVudGltZVZlcnNpb25zID0gUkVWSVNJT05fQ0hBTkdFU1tjdXJyZW50UmV2aXNpb25dLFxuICAgICAgY29tcGlsZXJWZXJzaW9ucyA9IFJFVklTSU9OX0NIQU5HRVNbY29tcGlsZXJSZXZpc2lvbl07XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdUZW1wbGF0ZSB3YXMgcHJlY29tcGlsZWQgd2l0aCBhbiBvbGRlciB2ZXJzaW9uIG9mIEhhbmRsZWJhcnMgdGhhbiB0aGUgY3VycmVudCBydW50aW1lLiAnICtcbiAgICAgICAgJ1BsZWFzZSB1cGRhdGUgeW91ciBwcmVjb21waWxlciB0byBhIG5ld2VyIHZlcnNpb24gKCcgK1xuICAgICAgICBydW50aW1lVmVyc2lvbnMgK1xuICAgICAgICAnKSBvciBkb3duZ3JhZGUgeW91ciBydW50aW1lIHRvIGFuIG9sZGVyIHZlcnNpb24gKCcgK1xuICAgICAgICBjb21waWxlclZlcnNpb25zICtcbiAgICAgICAgJykuJ1xuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgLy8gVXNlIHRoZSBlbWJlZGRlZCB2ZXJzaW9uIGluZm8gc2luY2UgdGhlIHJ1bnRpbWUgZG9lc24ndCBrbm93IGFib3V0IHRoaXMgcmV2aXNpb24geWV0XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICdUZW1wbGF0ZSB3YXMgcHJlY29tcGlsZWQgd2l0aCBhIG5ld2VyIHZlcnNpb24gb2YgSGFuZGxlYmFycyB0aGFuIHRoZSBjdXJyZW50IHJ1bnRpbWUuICcgK1xuICAgICAgICAnUGxlYXNlIHVwZGF0ZSB5b3VyIHJ1bnRpbWUgdG8gYSBuZXdlciB2ZXJzaW9uICgnICtcbiAgICAgICAgY29tcGlsZXJJbmZvWzFdICtcbiAgICAgICAgJykuJ1xuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlbXBsYXRlKHRlbXBsYXRlU3BlYywgZW52KSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmICghZW52KSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignTm8gZW52aXJvbm1lbnQgcGFzc2VkIHRvIHRlbXBsYXRlJyk7XG4gIH1cbiAgaWYgKCF0ZW1wbGF0ZVNwZWMgfHwgIXRlbXBsYXRlU3BlYy5tYWluKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVW5rbm93biB0ZW1wbGF0ZSBvYmplY3Q6ICcgKyB0eXBlb2YgdGVtcGxhdGVTcGVjKTtcbiAgfVxuXG4gIHRlbXBsYXRlU3BlYy5tYWluLmRlY29yYXRvciA9IHRlbXBsYXRlU3BlYy5tYWluX2Q7XG5cbiAgLy8gTm90ZTogVXNpbmcgZW52LlZNIHJlZmVyZW5jZXMgcmF0aGVyIHRoYW4gbG9jYWwgdmFyIHJlZmVyZW5jZXMgdGhyb3VnaG91dCB0aGlzIHNlY3Rpb24gdG8gYWxsb3dcbiAgLy8gZm9yIGV4dGVybmFsIHVzZXJzIHRvIG92ZXJyaWRlIHRoZXNlIGFzIHBzZXVkby1zdXBwb3J0ZWQgQVBJcy5cbiAgZW52LlZNLmNoZWNrUmV2aXNpb24odGVtcGxhdGVTcGVjLmNvbXBpbGVyKTtcblxuICAvLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSBmb3IgcHJlY29tcGlsZWQgdGVtcGxhdGVzIHdpdGggY29tcGlsZXItdmVyc2lvbiA3ICg8NC4zLjApXG4gIGNvbnN0IHRlbXBsYXRlV2FzUHJlY29tcGlsZWRXaXRoQ29tcGlsZXJWNyA9XG4gICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyICYmIHRlbXBsYXRlU3BlYy5jb21waWxlclswXSA9PT0gNztcblxuICBmdW5jdGlvbiBpbnZva2VQYXJ0aWFsV3JhcHBlcihwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMuaGFzaCkge1xuICAgICAgY29udGV4dCA9IFV0aWxzLmV4dGVuZCh7fSwgY29udGV4dCwgb3B0aW9ucy5oYXNoKTtcbiAgICAgIGlmIChvcHRpb25zLmlkcykge1xuICAgICAgICBvcHRpb25zLmlkc1swXSA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHBhcnRpYWwgPSBlbnYuVk0ucmVzb2x2ZVBhcnRpYWwuY2FsbCh0aGlzLCBwYXJ0aWFsLCBjb250ZXh0LCBvcHRpb25zKTtcblxuICAgIGxldCBleHRlbmRlZE9wdGlvbnMgPSBVdGlscy5leHRlbmQoe30sIG9wdGlvbnMsIHtcbiAgICAgIGhvb2tzOiB0aGlzLmhvb2tzLFxuICAgICAgcHJvdG9BY2Nlc3NDb250cm9sOiB0aGlzLnByb3RvQWNjZXNzQ29udHJvbFxuICAgIH0pO1xuXG4gICAgbGV0IHJlc3VsdCA9IGVudi5WTS5pbnZva2VQYXJ0aWFsLmNhbGwoXG4gICAgICB0aGlzLFxuICAgICAgcGFydGlhbCxcbiAgICAgIGNvbnRleHQsXG4gICAgICBleHRlbmRlZE9wdGlvbnNcbiAgICApO1xuXG4gICAgaWYgKHJlc3VsdCA9PSBudWxsICYmIGVudi5jb21waWxlKSB7XG4gICAgICBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV0gPSBlbnYuY29tcGlsZShcbiAgICAgICAgcGFydGlhbCxcbiAgICAgICAgdGVtcGxhdGVTcGVjLmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgZW52XG4gICAgICApO1xuICAgICAgcmVzdWx0ID0gb3B0aW9ucy5wYXJ0aWFsc1tvcHRpb25zLm5hbWVdKGNvbnRleHQsIGV4dGVuZGVkT3B0aW9ucyk7XG4gICAgfVxuICAgIGlmIChyZXN1bHQgIT0gbnVsbCkge1xuICAgICAgaWYgKG9wdGlvbnMuaW5kZW50KSB7XG4gICAgICAgIGxldCBsaW5lcyA9IHJlc3VsdC5zcGxpdCgnXFxuJyk7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsID0gbGluZXMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgaWYgKCFsaW5lc1tpXSAmJiBpICsgMSA9PT0gbCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGluZXNbaV0gPSBvcHRpb25zLmluZGVudCArIGxpbmVzW2ldO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCA9IGxpbmVzLmpvaW4oJ1xcbicpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbihcbiAgICAgICAgJ1RoZSBwYXJ0aWFsICcgK1xuICAgICAgICAgIG9wdGlvbnMubmFtZSArXG4gICAgICAgICAgJyBjb3VsZCBub3QgYmUgY29tcGlsZWQgd2hlbiBydW5uaW5nIGluIHJ1bnRpbWUtb25seSBtb2RlJ1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvLyBKdXN0IGFkZCB3YXRlclxuICBsZXQgY29udGFpbmVyID0ge1xuICAgIHN0cmljdDogZnVuY3Rpb24ob2JqLCBuYW1lLCBsb2MpIHtcbiAgICAgIGlmICghb2JqIHx8ICEobmFtZSBpbiBvYmopKSB7XG4gICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1wiJyArIG5hbWUgKyAnXCIgbm90IGRlZmluZWQgaW4gJyArIG9iaiwge1xuICAgICAgICAgIGxvYzogbG9jXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9ialtuYW1lXTtcbiAgICB9LFxuICAgIGxvb2t1cFByb3BlcnR5OiBmdW5jdGlvbihwYXJlbnQsIHByb3BlcnR5TmFtZSkge1xuICAgICAgbGV0IHJlc3VsdCA9IHBhcmVudFtwcm9wZXJ0eU5hbWVdO1xuICAgICAgaWYgKHJlc3VsdCA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmVudCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuXG4gICAgICBpZiAocmVzdWx0SXNBbGxvd2VkKHJlc3VsdCwgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCwgcHJvcGVydHlOYW1lKSkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIGxvb2t1cDogZnVuY3Rpb24oZGVwdGhzLCBuYW1lKSB7XG4gICAgICBjb25zdCBsZW4gPSBkZXB0aHMubGVuZ3RoO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkrKykge1xuICAgICAgICBsZXQgcmVzdWx0ID0gZGVwdGhzW2ldICYmIGNvbnRhaW5lci5sb29rdXBQcm9wZXJ0eShkZXB0aHNbaV0sIG5hbWUpO1xuICAgICAgICBpZiAocmVzdWx0ICE9IG51bGwpIHtcbiAgICAgICAgICByZXR1cm4gZGVwdGhzW2ldW25hbWVdO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBsYW1iZGE6IGZ1bmN0aW9uKGN1cnJlbnQsIGNvbnRleHQpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgY3VycmVudCA9PT0gJ2Z1bmN0aW9uJyA/IGN1cnJlbnQuY2FsbChjb250ZXh0KSA6IGN1cnJlbnQ7XG4gICAgfSxcblxuICAgIGVzY2FwZUV4cHJlc3Npb246IFV0aWxzLmVzY2FwZUV4cHJlc3Npb24sXG4gICAgaW52b2tlUGFydGlhbDogaW52b2tlUGFydGlhbFdyYXBwZXIsXG5cbiAgICBmbjogZnVuY3Rpb24oaSkge1xuICAgICAgbGV0IHJldCA9IHRlbXBsYXRlU3BlY1tpXTtcbiAgICAgIHJldC5kZWNvcmF0b3IgPSB0ZW1wbGF0ZVNwZWNbaSArICdfZCddO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9LFxuXG4gICAgcHJvZ3JhbXM6IFtdLFxuICAgIHByb2dyYW06IGZ1bmN0aW9uKGksIGRhdGEsIGRlY2xhcmVkQmxvY2tQYXJhbXMsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICAgIGxldCBwcm9ncmFtV3JhcHBlciA9IHRoaXMucHJvZ3JhbXNbaV0sXG4gICAgICAgIGZuID0gdGhpcy5mbihpKTtcbiAgICAgIGlmIChkYXRhIHx8IGRlcHRocyB8fCBibG9ja1BhcmFtcyB8fCBkZWNsYXJlZEJsb2NrUGFyYW1zKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gd3JhcFByb2dyYW0oXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBpLFxuICAgICAgICAgIGZuLFxuICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgZGVjbGFyZWRCbG9ja1BhcmFtcyxcbiAgICAgICAgICBibG9ja1BhcmFtcyxcbiAgICAgICAgICBkZXB0aHNcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSBpZiAoIXByb2dyYW1XcmFwcGVyKSB7XG4gICAgICAgIHByb2dyYW1XcmFwcGVyID0gdGhpcy5wcm9ncmFtc1tpXSA9IHdyYXBQcm9ncmFtKHRoaXMsIGksIGZuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9ncmFtV3JhcHBlcjtcbiAgICB9LFxuXG4gICAgZGF0YTogZnVuY3Rpb24odmFsdWUsIGRlcHRoKSB7XG4gICAgICB3aGlsZSAodmFsdWUgJiYgZGVwdGgtLSkge1xuICAgICAgICB2YWx1ZSA9IHZhbHVlLl9wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfSxcbiAgICBtZXJnZUlmTmVlZGVkOiBmdW5jdGlvbihwYXJhbSwgY29tbW9uKSB7XG4gICAgICBsZXQgb2JqID0gcGFyYW0gfHwgY29tbW9uO1xuXG4gICAgICBpZiAocGFyYW0gJiYgY29tbW9uICYmIHBhcmFtICE9PSBjb21tb24pIHtcbiAgICAgICAgb2JqID0gVXRpbHMuZXh0ZW5kKHt9LCBjb21tb24sIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9iajtcbiAgICB9LFxuICAgIC8vIEFuIGVtcHR5IG9iamVjdCB0byB1c2UgYXMgcmVwbGFjZW1lbnQgZm9yIG51bGwtY29udGV4dHNcbiAgICBudWxsQ29udGV4dDogT2JqZWN0LnNlYWwoe30pLFxuXG4gICAgbm9vcDogZW52LlZNLm5vb3AsXG4gICAgY29tcGlsZXJJbmZvOiB0ZW1wbGF0ZVNwZWMuY29tcGlsZXJcbiAgfTtcblxuICBmdW5jdGlvbiByZXQoY29udGV4dCwgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGRhdGEgPSBvcHRpb25zLmRhdGE7XG5cbiAgICByZXQuX3NldHVwKG9wdGlvbnMpO1xuICAgIGlmICghb3B0aW9ucy5wYXJ0aWFsICYmIHRlbXBsYXRlU3BlYy51c2VEYXRhKSB7XG4gICAgICBkYXRhID0gaW5pdERhdGEoY29udGV4dCwgZGF0YSk7XG4gICAgfVxuICAgIGxldCBkZXB0aHMsXG4gICAgICBibG9ja1BhcmFtcyA9IHRlbXBsYXRlU3BlYy51c2VCbG9ja1BhcmFtcyA/IFtdIDogdW5kZWZpbmVkO1xuICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlRGVwdGhzKSB7XG4gICAgICBpZiAob3B0aW9ucy5kZXB0aHMpIHtcbiAgICAgICAgZGVwdGhzID1cbiAgICAgICAgICBjb250ZXh0ICE9IG9wdGlvbnMuZGVwdGhzWzBdXG4gICAgICAgICAgICA/IFtjb250ZXh0XS5jb25jYXQob3B0aW9ucy5kZXB0aHMpXG4gICAgICAgICAgICA6IG9wdGlvbnMuZGVwdGhzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVwdGhzID0gW2NvbnRleHRdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIG1haW4oY29udGV4dCAvKiwgb3B0aW9ucyovKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICAnJyArXG4gICAgICAgIHRlbXBsYXRlU3BlYy5tYWluKFxuICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgIGNvbnRhaW5lci5oZWxwZXJzLFxuICAgICAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgICAgIGRlcHRoc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIG1haW4gPSBleGVjdXRlRGVjb3JhdG9ycyhcbiAgICAgIHRlbXBsYXRlU3BlYy5tYWluLFxuICAgICAgbWFpbixcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIG9wdGlvbnMuZGVwdGhzIHx8IFtdLFxuICAgICAgZGF0YSxcbiAgICAgIGJsb2NrUGFyYW1zXG4gICAgKTtcbiAgICByZXR1cm4gbWFpbihjb250ZXh0LCBvcHRpb25zKTtcbiAgfVxuXG4gIHJldC5pc1RvcCA9IHRydWU7XG5cbiAgcmV0Ll9zZXR1cCA9IGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMucGFydGlhbCkge1xuICAgICAgbGV0IG1lcmdlZEhlbHBlcnMgPSBVdGlscy5leHRlbmQoe30sIGVudi5oZWxwZXJzLCBvcHRpb25zLmhlbHBlcnMpO1xuICAgICAgd3JhcEhlbHBlcnNUb1Bhc3NMb29rdXBQcm9wZXJ0eShtZXJnZWRIZWxwZXJzLCBjb250YWluZXIpO1xuICAgICAgY29udGFpbmVyLmhlbHBlcnMgPSBtZXJnZWRIZWxwZXJzO1xuXG4gICAgICBpZiAodGVtcGxhdGVTcGVjLnVzZVBhcnRpYWwpIHtcbiAgICAgICAgLy8gVXNlIG1lcmdlSWZOZWVkZWQgaGVyZSB0byBwcmV2ZW50IGNvbXBpbGluZyBnbG9iYWwgcGFydGlhbHMgbXVsdGlwbGUgdGltZXNcbiAgICAgICAgY29udGFpbmVyLnBhcnRpYWxzID0gY29udGFpbmVyLm1lcmdlSWZOZWVkZWQoXG4gICAgICAgICAgb3B0aW9ucy5wYXJ0aWFscyxcbiAgICAgICAgICBlbnYucGFydGlhbHNcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICh0ZW1wbGF0ZVNwZWMudXNlUGFydGlhbCB8fCB0ZW1wbGF0ZVNwZWMudXNlRGVjb3JhdG9ycykge1xuICAgICAgICBjb250YWluZXIuZGVjb3JhdG9ycyA9IFV0aWxzLmV4dGVuZChcbiAgICAgICAgICB7fSxcbiAgICAgICAgICBlbnYuZGVjb3JhdG9ycyxcbiAgICAgICAgICBvcHRpb25zLmRlY29yYXRvcnNcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29udGFpbmVyLmhvb2tzID0ge307XG4gICAgICBjb250YWluZXIucHJvdG9BY2Nlc3NDb250cm9sID0gY3JlYXRlUHJvdG9BY2Nlc3NDb250cm9sKG9wdGlvbnMpO1xuXG4gICAgICBsZXQga2VlcEhlbHBlckluSGVscGVycyA9XG4gICAgICAgIG9wdGlvbnMuYWxsb3dDYWxsc1RvSGVscGVyTWlzc2luZyB8fFxuICAgICAgICB0ZW1wbGF0ZVdhc1ByZWNvbXBpbGVkV2l0aENvbXBpbGVyVjc7XG4gICAgICBtb3ZlSGVscGVyVG9Ib29rcyhjb250YWluZXIsICdoZWxwZXJNaXNzaW5nJywga2VlcEhlbHBlckluSGVscGVycyk7XG4gICAgICBtb3ZlSGVscGVyVG9Ib29rcyhjb250YWluZXIsICdibG9ja0hlbHBlck1pc3NpbmcnLCBrZWVwSGVscGVySW5IZWxwZXJzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29udGFpbmVyLnByb3RvQWNjZXNzQ29udHJvbCA9IG9wdGlvbnMucHJvdG9BY2Nlc3NDb250cm9sOyAvLyBpbnRlcm5hbCBvcHRpb25cbiAgICAgIGNvbnRhaW5lci5oZWxwZXJzID0gb3B0aW9ucy5oZWxwZXJzO1xuICAgICAgY29udGFpbmVyLnBhcnRpYWxzID0gb3B0aW9ucy5wYXJ0aWFscztcbiAgICAgIGNvbnRhaW5lci5kZWNvcmF0b3JzID0gb3B0aW9ucy5kZWNvcmF0b3JzO1xuICAgICAgY29udGFpbmVyLmhvb2tzID0gb3B0aW9ucy5ob29rcztcbiAgICB9XG4gIH07XG5cbiAgcmV0Ll9jaGlsZCA9IGZ1bmN0aW9uKGksIGRhdGEsIGJsb2NrUGFyYW1zLCBkZXB0aHMpIHtcbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZUJsb2NrUGFyYW1zICYmICFibG9ja1BhcmFtcykge1xuICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignbXVzdCBwYXNzIGJsb2NrIHBhcmFtcycpO1xuICAgIH1cbiAgICBpZiAodGVtcGxhdGVTcGVjLnVzZURlcHRocyAmJiAhZGVwdGhzKSB7XG4gICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdtdXN0IHBhc3MgcGFyZW50IGRlcHRocycpO1xuICAgIH1cblxuICAgIHJldHVybiB3cmFwUHJvZ3JhbShcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGksXG4gICAgICB0ZW1wbGF0ZVNwZWNbaV0sXG4gICAgICBkYXRhLFxuICAgICAgMCxcbiAgICAgIGJsb2NrUGFyYW1zLFxuICAgICAgZGVwdGhzXG4gICAgKTtcbiAgfTtcbiAgcmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHdyYXBQcm9ncmFtKFxuICBjb250YWluZXIsXG4gIGksXG4gIGZuLFxuICBkYXRhLFxuICBkZWNsYXJlZEJsb2NrUGFyYW1zLFxuICBibG9ja1BhcmFtcyxcbiAgZGVwdGhzXG4pIHtcbiAgZnVuY3Rpb24gcHJvZyhjb250ZXh0LCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgY3VycmVudERlcHRocyA9IGRlcHRocztcbiAgICBpZiAoXG4gICAgICBkZXB0aHMgJiZcbiAgICAgIGNvbnRleHQgIT0gZGVwdGhzWzBdICYmXG4gICAgICAhKGNvbnRleHQgPT09IGNvbnRhaW5lci5udWxsQ29udGV4dCAmJiBkZXB0aHNbMF0gPT09IG51bGwpXG4gICAgKSB7XG4gICAgICBjdXJyZW50RGVwdGhzID0gW2NvbnRleHRdLmNvbmNhdChkZXB0aHMpO1xuICAgIH1cblxuICAgIHJldHVybiBmbihcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGNvbnRleHQsXG4gICAgICBjb250YWluZXIuaGVscGVycyxcbiAgICAgIGNvbnRhaW5lci5wYXJ0aWFscyxcbiAgICAgIG9wdGlvbnMuZGF0YSB8fCBkYXRhLFxuICAgICAgYmxvY2tQYXJhbXMgJiYgW29wdGlvbnMuYmxvY2tQYXJhbXNdLmNvbmNhdChibG9ja1BhcmFtcyksXG4gICAgICBjdXJyZW50RGVwdGhzXG4gICAgKTtcbiAgfVxuXG4gIHByb2cgPSBleGVjdXRlRGVjb3JhdG9ycyhmbiwgcHJvZywgY29udGFpbmVyLCBkZXB0aHMsIGRhdGEsIGJsb2NrUGFyYW1zKTtcblxuICBwcm9nLnByb2dyYW0gPSBpO1xuICBwcm9nLmRlcHRoID0gZGVwdGhzID8gZGVwdGhzLmxlbmd0aCA6IDA7XG4gIHByb2cuYmxvY2tQYXJhbXMgPSBkZWNsYXJlZEJsb2NrUGFyYW1zIHx8IDA7XG4gIHJldHVybiBwcm9nO1xufVxuXG4vKipcbiAqIFRoaXMgaXMgY3VycmVudGx5IHBhcnQgb2YgdGhlIG9mZmljaWFsIEFQSSwgdGhlcmVmb3JlIGltcGxlbWVudGF0aW9uIGRldGFpbHMgc2hvdWxkIG5vdCBiZSBjaGFuZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBhcnRpYWwocGFydGlhbCwgY29udGV4dCwgb3B0aW9ucykge1xuICBpZiAoIXBhcnRpYWwpIHtcbiAgICBpZiAob3B0aW9ucy5uYW1lID09PSAnQHBhcnRpYWwtYmxvY2snKSB7XG4gICAgICBwYXJ0aWFsID0gb3B0aW9ucy5kYXRhWydwYXJ0aWFsLWJsb2NrJ107XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnRpYWwgPSBvcHRpb25zLnBhcnRpYWxzW29wdGlvbnMubmFtZV07XG4gICAgfVxuICB9IGVsc2UgaWYgKCFwYXJ0aWFsLmNhbGwgJiYgIW9wdGlvbnMubmFtZSkge1xuICAgIC8vIFRoaXMgaXMgYSBkeW5hbWljIHBhcnRpYWwgdGhhdCByZXR1cm5lZCBhIHN0cmluZ1xuICAgIG9wdGlvbnMubmFtZSA9IHBhcnRpYWw7XG4gICAgcGFydGlhbCA9IG9wdGlvbnMucGFydGlhbHNbcGFydGlhbF07XG4gIH1cbiAgcmV0dXJuIHBhcnRpYWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnZva2VQYXJ0aWFsKHBhcnRpYWwsIGNvbnRleHQsIG9wdGlvbnMpIHtcbiAgLy8gVXNlIHRoZSBjdXJyZW50IGNsb3N1cmUgY29udGV4dCB0byBzYXZlIHRoZSBwYXJ0aWFsLWJsb2NrIGlmIHRoaXMgcGFydGlhbFxuICBjb25zdCBjdXJyZW50UGFydGlhbEJsb2NrID0gb3B0aW9ucy5kYXRhICYmIG9wdGlvbnMuZGF0YVsncGFydGlhbC1ibG9jayddO1xuICBvcHRpb25zLnBhcnRpYWwgPSB0cnVlO1xuICBpZiAob3B0aW9ucy5pZHMpIHtcbiAgICBvcHRpb25zLmRhdGEuY29udGV4dFBhdGggPSBvcHRpb25zLmlkc1swXSB8fCBvcHRpb25zLmRhdGEuY29udGV4dFBhdGg7XG4gIH1cblxuICBsZXQgcGFydGlhbEJsb2NrO1xuICBpZiAob3B0aW9ucy5mbiAmJiBvcHRpb25zLmZuICE9PSBub29wKSB7XG4gICAgb3B0aW9ucy5kYXRhID0gY3JlYXRlRnJhbWUob3B0aW9ucy5kYXRhKTtcbiAgICAvLyBXcmFwcGVyIGZ1bmN0aW9uIHRvIGdldCBhY2Nlc3MgdG8gY3VycmVudFBhcnRpYWxCbG9jayBmcm9tIHRoZSBjbG9zdXJlXG4gICAgbGV0IGZuID0gb3B0aW9ucy5mbjtcbiAgICBwYXJ0aWFsQmxvY2sgPSBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXSA9IGZ1bmN0aW9uIHBhcnRpYWxCbG9ja1dyYXBwZXIoXG4gICAgICBjb250ZXh0LFxuICAgICAgb3B0aW9ucyA9IHt9XG4gICAgKSB7XG4gICAgICAvLyBSZXN0b3JlIHRoZSBwYXJ0aWFsLWJsb2NrIGZyb20gdGhlIGNsb3N1cmUgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhlIGJsb2NrXG4gICAgICAvLyBpLmUuIHRoZSBwYXJ0IGluc2lkZSB0aGUgYmxvY2sgb2YgdGhlIHBhcnRpYWwgY2FsbC5cbiAgICAgIG9wdGlvbnMuZGF0YSA9IGNyZWF0ZUZyYW1lKG9wdGlvbnMuZGF0YSk7XG4gICAgICBvcHRpb25zLmRhdGFbJ3BhcnRpYWwtYmxvY2snXSA9IGN1cnJlbnRQYXJ0aWFsQmxvY2s7XG4gICAgICByZXR1cm4gZm4oY29udGV4dCwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICBpZiAoZm4ucGFydGlhbHMpIHtcbiAgICAgIG9wdGlvbnMucGFydGlhbHMgPSBVdGlscy5leHRlbmQoe30sIG9wdGlvbnMucGFydGlhbHMsIGZuLnBhcnRpYWxzKTtcbiAgICB9XG4gIH1cblxuICBpZiAocGFydGlhbCA9PT0gdW5kZWZpbmVkICYmIHBhcnRpYWxCbG9jaykge1xuICAgIHBhcnRpYWwgPSBwYXJ0aWFsQmxvY2s7XG4gIH1cblxuICBpZiAocGFydGlhbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignVGhlIHBhcnRpYWwgJyArIG9wdGlvbnMubmFtZSArICcgY291bGQgbm90IGJlIGZvdW5kJyk7XG4gIH0gZWxzZSBpZiAocGFydGlhbCBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgcmV0dXJuIHBhcnRpYWwoY29udGV4dCwgb3B0aW9ucyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vb3AoKSB7XG4gIHJldHVybiAnJztcbn1cblxuZnVuY3Rpb24gaW5pdERhdGEoY29udGV4dCwgZGF0YSkge1xuICBpZiAoIWRhdGEgfHwgISgncm9vdCcgaW4gZGF0YSkpIHtcbiAgICBkYXRhID0gZGF0YSA/IGNyZWF0ZUZyYW1lKGRhdGEpIDoge307XG4gICAgZGF0YS5yb290ID0gY29udGV4dDtcbiAgfVxuICByZXR1cm4gZGF0YTtcbn1cblxuZnVuY3Rpb24gZXhlY3V0ZURlY29yYXRvcnMoZm4sIHByb2csIGNvbnRhaW5lciwgZGVwdGhzLCBkYXRhLCBibG9ja1BhcmFtcykge1xuICBpZiAoZm4uZGVjb3JhdG9yKSB7XG4gICAgbGV0IHByb3BzID0ge307XG4gICAgcHJvZyA9IGZuLmRlY29yYXRvcihcbiAgICAgIHByb2csXG4gICAgICBwcm9wcyxcbiAgICAgIGNvbnRhaW5lcixcbiAgICAgIGRlcHRocyAmJiBkZXB0aHNbMF0sXG4gICAgICBkYXRhLFxuICAgICAgYmxvY2tQYXJhbXMsXG4gICAgICBkZXB0aHNcbiAgICApO1xuICAgIFV0aWxzLmV4dGVuZChwcm9nLCBwcm9wcyk7XG4gIH1cbiAgcmV0dXJuIHByb2c7XG59XG5cbmZ1bmN0aW9uIHdyYXBIZWxwZXJzVG9QYXNzTG9va3VwUHJvcGVydHkobWVyZ2VkSGVscGVycywgY29udGFpbmVyKSB7XG4gIE9iamVjdC5rZXlzKG1lcmdlZEhlbHBlcnMpLmZvckVhY2goaGVscGVyTmFtZSA9PiB7XG4gICAgbGV0IGhlbHBlciA9IG1lcmdlZEhlbHBlcnNbaGVscGVyTmFtZV07XG4gICAgbWVyZ2VkSGVscGVyc1toZWxwZXJOYW1lXSA9IHBhc3NMb29rdXBQcm9wZXJ0eU9wdGlvbihoZWxwZXIsIGNvbnRhaW5lcik7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBwYXNzTG9va3VwUHJvcGVydHlPcHRpb24oaGVscGVyLCBjb250YWluZXIpIHtcbiAgY29uc3QgbG9va3VwUHJvcGVydHkgPSBjb250YWluZXIubG9va3VwUHJvcGVydHk7XG4gIHJldHVybiB3cmFwSGVscGVyKGhlbHBlciwgb3B0aW9ucyA9PiB7XG4gICAgcmV0dXJuIFV0aWxzLmV4dGVuZCh7IGxvb2t1cFByb3BlcnR5IH0sIG9wdGlvbnMpO1xuICB9KTtcbn1cbiJdfQ==
-
-
-/***/ }),
-/* 94 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-exports.__esModule = true;
-exports.wrapHelper = wrapHelper;
-
-function wrapHelper(helper, transformOptionsFn) {
- if (typeof helper !== 'function') {
- // This should not happen, but apparently it does in https://github.com/wycats/handlebars.js/issues/1639
- // We try to make the wrapper least-invasive by not wrapping it, if the helper is not a function.
- return helper;
- }
- var wrapper = function wrapper() /* dynamic arguments */{
- var options = arguments[arguments.length - 1];
- arguments[arguments.length - 1] = transformOptionsFn(options);
- return helper.apply(this, arguments);
- };
- return wrapper;
-}
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL2ludGVybmFsL3dyYXBIZWxwZXIuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTyxTQUFTLFVBQVUsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLEVBQUU7QUFDckQsTUFBSSxPQUFPLE1BQU0sS0FBSyxVQUFVLEVBQUU7OztBQUdoQyxXQUFPLE1BQU0sQ0FBQztHQUNmO0FBQ0QsTUFBSSxPQUFPLEdBQUcsU0FBVixPQUFPLDBCQUFxQztBQUM5QyxRQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRCxhQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUM5RCxXQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0dBQ3RDLENBQUM7QUFDRixTQUFPLE9BQU8sQ0FBQztDQUNoQiIsImZpbGUiOiJ3cmFwSGVscGVyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHdyYXBIZWxwZXIoaGVscGVyLCB0cmFuc2Zvcm1PcHRpb25zRm4pIHtcbiAgaWYgKHR5cGVvZiBoZWxwZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgYXBwYXJlbnRseSBpdCBkb2VzIGluIGh0dHBzOi8vZ2l0aHViLmNvbS93eWNhdHMvaGFuZGxlYmFycy5qcy9pc3N1ZXMvMTYzOVxuICAgIC8vIFdlIHRyeSB0byBtYWtlIHRoZSB3cmFwcGVyIGxlYXN0LWludmFzaXZlIGJ5IG5vdCB3cmFwcGluZyBpdCwgaWYgdGhlIGhlbHBlciBpcyBub3QgYSBmdW5jdGlvbi5cbiAgICByZXR1cm4gaGVscGVyO1xuICB9XG4gIGxldCB3cmFwcGVyID0gZnVuY3Rpb24oLyogZHluYW1pYyBhcmd1bWVudHMgKi8pIHtcbiAgICBjb25zdCBvcHRpb25zID0gYXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGggLSAxXTtcbiAgICBhcmd1bWVudHNbYXJndW1lbnRzLmxlbmd0aCAtIDFdID0gdHJhbnNmb3JtT3B0aW9uc0ZuKG9wdGlvbnMpO1xuICAgIHJldHVybiBoZWxwZXIuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfTtcbiAgcmV0dXJuIHdyYXBwZXI7XG59XG4iXX0=
-
-
-/***/ }),
-/* 95 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(global) {
-
-exports.__esModule = true;
-
-exports['default'] = function (Handlebars) {
- /* istanbul ignore next */
- var root = typeof global !== 'undefined' ? global : window,
- $Handlebars = root.Handlebars;
- /* istanbul ignore next */
- Handlebars.noConflict = function () {
- if (root.Handlebars === Handlebars) {
- root.Handlebars = $Handlebars;
- }
- return Handlebars;
- };
-};
-
-module.exports = exports['default'];
-//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9oYW5kbGViYXJzL25vLWNvbmZsaWN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7cUJBQWUsVUFBUyxVQUFVLEVBQUU7O0FBRWxDLE1BQUksSUFBSSxHQUFHLE9BQU8sTUFBTSxLQUFLLFdBQVcsR0FBRyxNQUFNLEdBQUcsTUFBTTtNQUN4RCxXQUFXLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQzs7QUFFaEMsWUFBVSxDQUFDLFVBQVUsR0FBRyxZQUFXO0FBQ2pDLFFBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7QUFDbEMsVUFBSSxDQUFDLFVBQVUsR0FBRyxXQUFXLENBQUM7S0FDL0I7QUFDRCxXQUFPLFVBQVUsQ0FBQztHQUNuQixDQUFDO0NBQ0giLCJmaWxlIjoibm8tY29uZmxpY3QuanMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbihIYW5kbGViYXJzKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGxldCByb290ID0gdHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB3aW5kb3csXG4gICAgJEhhbmRsZWJhcnMgPSByb290LkhhbmRsZWJhcnM7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIEhhbmRsZWJhcnMubm9Db25mbGljdCA9IGZ1bmN0aW9uKCkge1xuICAgIGlmIChyb290LkhhbmRsZWJhcnMgPT09IEhhbmRsZWJhcnMpIHtcbiAgICAgIHJvb3QuSGFuZGxlYmFycyA9ICRIYW5kbGViYXJzO1xuICAgIH1cbiAgICByZXR1cm4gSGFuZGxlYmFycztcbiAgfTtcbn1cbiJdfQ==
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
-
-/***/ }),
-/* 96 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var getPrototypeOf = __webpack_require__(10);
-
-function _superPropBase(object, property) {
- while (!Object.prototype.hasOwnProperty.call(object, property)) {
- object = getPrototypeOf(object);
- if (object === null) break;
- }
-
- return object;
-}
-
-module.exports = _superPropBase;
-
-/***/ }),
-/* 97 */
-/***/ (function(module, exports) {
-
-function _typeof(obj) {
- "@babel/helpers - typeof";
-
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
- module.exports = _typeof = function _typeof(obj) {
- return typeof obj;
- };
- } else {
- module.exports = _typeof = function _typeof(obj) {
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
- };
- }
-
- return _typeof(obj);
-}
-
-module.exports = _typeof;
-
-/***/ }),
-/* 98 */
-/***/ (function(module, exports) {
-
-function _assertThisInitialized(self) {
- if (self === void 0) {
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- }
-
- return self;
-}
-
-module.exports = _assertThisInitialized;
-
-/***/ }),
-/* 99 */
-/***/ (function(module, exports) {
-
-function _setPrototypeOf(o, p) {
- module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
- o.__proto__ = p;
- return o;
- };
-
- return _setPrototypeOf(o, p);
-}
-
-module.exports = _setPrototypeOf;
-
-/***/ }),
-/* 100 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "requestLog", function() { return requestLog; });
-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;
-
-
-//# sourceMappingURL=index.js.map
-
-
-/***/ }),
-/* 101 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "restEndpointMethods", function() { return restEndpointMethods; });
-/* harmony import */ var deprecation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8);
-
-
-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__WEBPACK_IMPORTED_MODULE_0__["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__WEBPACK_IMPORTED_MODULE_0__["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__WEBPACK_IMPORTED_MODULE_0__["Deprecation"](`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`));
- // @ts-ignore
- return octokit[scope];
- }
- });
- });
- return {};
-}
-restEndpointMethods.VERSION = VERSION;
-
-
-//# sourceMappingURL=index.js.map
-
-
-/***/ }),
-/* 102 */
-/***/ (function(module, exports, __webpack_require__) {
-
-const factory = __webpack_require__(45);
-
-module.exports = factory();
-
-
-/***/ }),
-/* 103 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = Octokit;
-
-const { request } = __webpack_require__(180);
-const Hook = __webpack_require__(105);
-
-const parseClientOptions = __webpack_require__(109);
-
-function Octokit(plugins, options) {
- options = options || {};
- const hook = new Hook.Collection();
- const log = Object.assign(
- {
- debug: () => {},
- info: () => {},
- warn: console.warn,
- error: console.error
- },
- options && options.log
- );
- const api = {
- hook,
- log,
- request: request.defaults(parseClientOptions(options, log, hook))
- };
-
- plugins.forEach(pluginFunction => pluginFunction(api, options));
-
- return api;
-}
-
-
-/***/ }),
-/* 104 */
-/***/ (function(module, exports) {
-
-// Returns a wrapper function that returns a wrapped callback
-// The wrapper function should do some stuff, and return a
-// presumably different callback function.
-// This makes sure that own properties are retained, so that
-// decorations and such are not lost along the way.
-module.exports = wrappy
-function wrappy (fn, cb) {
- if (fn && cb) return wrappy(fn)(cb)
-
- if (typeof fn !== 'function')
- throw new TypeError('need wrapper function')
-
- Object.keys(fn).forEach(function (k) {
- wrapper[k] = fn[k]
- })
-
- return wrapper
-
- function wrapper() {
- var args = new Array(arguments.length)
- for (var i = 0; i < args.length; i++) {
- args[i] = arguments[i]
- }
- var ret = fn.apply(this, args)
- var cb = args[args.length-1]
- if (typeof ret === 'function' && ret !== cb) {
- Object.keys(cb).forEach(function (k) {
- ret[k] = cb[k]
- })
- }
- return ret
- }
-}
-
-
-/***/ }),
-/* 105 */
-/***/ (function(module, exports, __webpack_require__) {
-
-var register = __webpack_require__(106)
-var addHook = __webpack_require__(107)
-var removeHook = __webpack_require__(108)
-
-// bind with array of arguments: https://stackoverflow.com/a/21792913
-var bind = Function.bind
-var bindable = bind.bind(bind)
-
-function bindApi (hook, state, name) {
- var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state])
- hook.api = { remove: removeHookRef }
- hook.remove = removeHookRef
-
- ;['before', 'error', 'after', 'wrap'].forEach(function (kind) {
- var args = name ? [state, kind, name] : [state, kind]
- hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args)
- })
-}
-
-function HookSingular () {
- var singularHookName = 'h'
- var singularHookState = {
- registry: {}
- }
- var singularHook = register.bind(null, singularHookState, singularHookName)
- bindApi(singularHook, singularHookState, singularHookName)
- return singularHook
-}
-
-function HookCollection () {
- var state = {
- registry: {}
- }
-
- var hook = register.bind(null, state)
- bindApi(hook, state)
-
- return hook
-}
-
-var collectionHookDeprecationMessageDisplayed = false
-function Hook () {
- if (!collectionHookDeprecationMessageDisplayed) {
- console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4')
- collectionHookDeprecationMessageDisplayed = true
- }
- return HookCollection()
-}
-
-Hook.Singular = HookSingular.bind()
-Hook.Collection = HookCollection.bind()
-
-module.exports = Hook
-// expose constructors as a named property for TypeScript
-module.exports.Hook = Hook
-module.exports.Singular = Hook.Singular
-module.exports.Collection = Hook.Collection
-
-
-/***/ }),
-/* 106 */
-/***/ (function(module, exports) {
-
-module.exports = register
-
-function register (state, name, method, options) {
- if (typeof method !== 'function') {
- throw new Error('method for before hook must be a function')
- }
-
- if (!options) {
- options = {}
- }
-
- if (Array.isArray(name)) {
- return name.reverse().reduce(function (callback, name) {
- return register.bind(null, state, name, callback, options)
- }, method)()
- }
-
- return Promise.resolve()
- .then(function () {
- if (!state.registry[name]) {
- return method(options)
- }
-
- return (state.registry[name]).reduce(function (method, registered) {
- return registered.hook.bind(null, method, options)
- }, method)()
- })
-}
-
-
-/***/ }),
-/* 107 */
-/***/ (function(module, exports) {
-
-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
- })
-}
-
-
-/***/ }),
-/* 108 */
-/***/ (function(module, exports) {
-
-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)
-}
-
-
-/***/ }),
-/* 109 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = parseOptions;
-
-const { Deprecation } = __webpack_require__(8);
-const { getUserAgent } = __webpack_require__(110);
-const once = __webpack_require__(20);
-
-const pkg = __webpack_require__(111);
-
-const deprecateOptionsTimeout = once((log, deprecation) =>
- log.warn(deprecation)
-);
-const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation));
-const deprecateOptionsHeaders = once((log, deprecation) =>
- log.warn(deprecation)
-);
-
-function parseOptions(options, log, hook) {
- if (options.headers) {
- options.headers = Object.keys(options.headers).reduce((newObj, key) => {
- newObj[key.toLowerCase()] = options.headers[key];
- return newObj;
- }, {});
- }
-
- const clientDefaults = {
- headers: options.headers || {},
- request: options.request || {},
- mediaType: {
- previews: [],
- format: ""
- }
- };
-
- if (options.baseUrl) {
- clientDefaults.baseUrl = options.baseUrl;
- }
-
- if (options.userAgent) {
- clientDefaults.headers["user-agent"] = options.userAgent;
- }
-
- if (options.previews) {
- clientDefaults.mediaType.previews = options.previews;
- }
-
- if (options.timeZone) {
- clientDefaults.headers["time-zone"] = options.timeZone;
- }
-
- if (options.timeout) {
- deprecateOptionsTimeout(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request"
- )
- );
- clientDefaults.request.timeout = options.timeout;
- }
-
- if (options.agent) {
- deprecateOptionsAgent(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request"
- )
- );
- clientDefaults.request.agent = options.agent;
- }
-
- if (options.headers) {
- deprecateOptionsHeaders(
- log,
- new Deprecation(
- "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request"
- )
- );
- }
-
- const userAgentOption = clientDefaults.headers["user-agent"];
- const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`;
-
- clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent]
- .filter(Boolean)
- .join(" ");
-
- clientDefaults.request.hook = hook.bind(null, "request");
-
- return clientDefaults;
-}
-
-
-/***/ }),
-/* 110 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUserAgent", function() { return getUserAgent; });
-function getUserAgent() {
- try {
- return navigator.userAgent;
- }
- catch (e) {
- return "";
- }
-}
-
-
-//# sourceMappingURL=index.js.map
-
-
-/***/ }),
-/* 111 */
-/***/ (function(module) {
-
-module.exports = JSON.parse("{\"name\":\"@octokit/rest\",\"version\":\"16.43.1\",\"publishConfig\":{\"access\":\"public\"},\"description\":\"GitHub REST API client for Node.js\",\"keywords\":[\"octokit\",\"github\",\"rest\",\"api-client\"],\"author\":\"Gregor Martynus (https://github.com/gr2m)\",\"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\"}],\"repository\":\"https://github.com/octokit/rest.js\",\"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\"},\"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\"},\"types\":\"index.d.ts\",\"scripts\":{\"coverage\":\"nyc report --reporter=html && open coverage/index.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\",\"pretest\":\"npm run -s lint\",\"test\":\"nyc mocha test/mocha-node-setup.js \\\"test/*/**/*-test.js\\\"\",\"test:browser\":\"cypress run --browser chrome\",\"build\":\"npm-run-all build:*\",\"build:ts\":\"npm run -s update-endpoints:typescript\",\"prebuild:browser\":\"mkdirp dist/\",\"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\",\"generate-bundle-report\":\"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html\",\"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\",\"prevalidate:ts\":\"npm run -s build:ts\",\"validate:ts\":\"tsc --target es6 --noImplicitAny index.d.ts\",\"postvalidate:ts\":\"tsc --noEmit --target es6 test/typescript-validate.ts\",\"start-fixtures-server\":\"octokit-fixtures-server\"},\"license\":\"MIT\",\"files\":[\"index.js\",\"index.d.ts\",\"lib\",\"plugins\"],\"nyc\":{\"ignore\":[\"test\"]},\"release\":{\"publish\":[\"@semantic-release/npm\",{\"path\":\"@semantic-release/github\",\"assets\":[\"dist/*\",\"!dist/*.map.gz\"]}]},\"bundlesize\":[{\"path\":\"./dist/octokit-rest.min.js.gz\",\"maxSize\":\"33 kB\"}]}");
-
-/***/ }),
-/* 112 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = registerPlugin;
-
-const factory = __webpack_require__(45);
-
-function registerPlugin(plugins, pluginFunction) {
- return factory(
- plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)
- );
-}
-
-
-/***/ }),
-/* 113 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationPlugin;
-
-const { createTokenAuth } = __webpack_require__(114);
-const { Deprecation } = __webpack_require__(8);
-const once = __webpack_require__(20);
-
-const beforeRequest = __webpack_require__(115);
-const requestError = __webpack_require__(117);
-const validate = __webpack_require__(118);
-const withAuthorizationPrefix = __webpack_require__(47);
-
-const deprecateAuthBasic = once((log, deprecation) => log.warn(deprecation));
-const deprecateAuthObject = once((log, deprecation) => log.warn(deprecation));
-
-function authenticationPlugin(octokit, options) {
- // If `options.authStrategy` is set then use it and pass in `options.auth`
- if (options.authStrategy) {
- const auth = options.authStrategy(options.auth);
- octokit.hook.wrap("request", auth.hook);
- octokit.auth = auth;
- return;
- }
-
- // If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
- // is unauthenticated. The `octokit.auth()` method is a no-op and no request hook is registred.
- if (!options.auth) {
- octokit.auth = () =>
- Promise.resolve({
- type: "unauthenticated"
- });
- return;
- }
-
- const isBasicAuthString =
- typeof options.auth === "string" &&
- /^basic/.test(withAuthorizationPrefix(options.auth));
-
- // If only `options.auth` is set to a string, use the default token authentication strategy.
- if (typeof options.auth === "string" && !isBasicAuthString) {
- const auth = createTokenAuth(options.auth);
- octokit.hook.wrap("request", auth.hook);
- octokit.auth = auth;
- return;
- }
-
- // Otherwise log a deprecation message
- const [deprecationMethod, deprecationMessapge] = isBasicAuthString
- ? [
- deprecateAuthBasic,
- 'Setting the "new Octokit({ auth })" option to a Basic Auth string is deprecated. Use https://github.com/octokit/auth-basic.js instead. See (https://octokit.github.io/rest.js/#authentication)'
- ]
- : [
- deprecateAuthObject,
- 'Setting the "new Octokit({ auth })" option to an object without also setting the "authStrategy" option is deprecated and will be removed in v17. See (https://octokit.github.io/rest.js/#authentication)'
- ];
- deprecationMethod(
- octokit.log,
- new Deprecation("[@octokit/rest] " + deprecationMessapge)
- );
-
- octokit.auth = () =>
- Promise.resolve({
- type: "deprecated",
- message: deprecationMessapge
- });
-
- validate(options.auth);
-
- const state = {
- octokit,
- auth: options.auth
- };
-
- octokit.hook.before("request", beforeRequest.bind(null, state));
- octokit.hook.error("request", requestError.bind(null, state));
-}
-
-
-/***/ }),
-/* 114 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTokenAuth", function() { return createTokenAuth; });
-async function auth(token) {
- const tokenType = token.split(/\./).length === 3
- ? "app"
- : /^v\d+\./.test(token)
- ? "installation"
- : "oauth";
- return {
- type: "token",
- token: token,
- tokenType
- };
-}
-
-/**
- * Prefix token for usage in the Authorization header
- *
- * @param token OAuth token or JSON Web Token
- */
-function withAuthorizationPrefix(token) {
- if (token.split(/\./).length === 3) {
- return `bearer ${token}`;
- }
- return `token ${token}`;
-}
-
-async function hook(token, request, route, parameters) {
- const endpoint = request.endpoint.merge(route, parameters);
- endpoint.headers.authorization = withAuthorizationPrefix(token);
- return request(endpoint);
-}
-
-const createTokenAuth = function createTokenAuth(token) {
- if (!token) {
- throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
- }
- if (typeof token !== "string") {
- throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");
- }
- token = token.replace(/^(token|bearer) +/i, "");
- return Object.assign(auth.bind(null, token), {
- hook: hook.bind(null, token)
- });
-};
-
-
-//# sourceMappingURL=index.js.map
-
-
-/***/ }),
-/* 115 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationBeforeRequest;
-
-const btoa = __webpack_require__(46);
-
-const withAuthorizationPrefix = __webpack_require__(47);
-
-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);
- });
-}
-
-
-/***/ }),
-/* 116 */
-/***/ (function(module, exports) {
-
-module.exports = function _atob(str) {
- return atob(str)
-}
-
-
-/***/ }),
-/* 117 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationRequestError;
-
-const { RequestError } = __webpack_require__(9);
-
-function authenticationRequestError(state, error, options) {
- if (!error.headers) throw error;
-
- const otpRequired = /required/.test(error.headers["x-github-otp"] || "");
- // handle "2FA required" error only
- if (error.status !== 401 || !otpRequired) {
- throw error;
- }
-
- if (
- error.status === 401 &&
- otpRequired &&
- error.request &&
- error.request.headers["x-github-otp"]
- ) {
- if (state.otp) {
- delete state.otp; // no longer valid, request again
- } else {
- throw new RequestError(
- "Invalid one-time password for two-factor authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
- }
-
- if (typeof state.auth.on2fa !== "function") {
- throw new RequestError(
- "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
-
- return Promise.resolve()
- .then(() => {
- return state.auth.on2fa();
- })
- .then(oneTimePassword => {
- const newOptions = Object.assign(options, {
- headers: Object.assign(options.headers, {
- "x-github-otp": oneTimePassword
- })
- });
- return state.octokit.request(newOptions).then(response => {
- // If OTP still valid, then persist it for following requests
- state.otp = oneTimePassword;
- return response;
- });
- });
-}
-
-
-/***/ }),
-/* 118 */
-/***/ (function(module, exports) {
-
-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)}`);
-}
-
-
-/***/ }),
-/* 119 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationPlugin;
-
-const { Deprecation } = __webpack_require__(8);
-const once = __webpack_require__(20);
-
-const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
-
-const authenticate = __webpack_require__(120);
-const beforeRequest = __webpack_require__(121);
-const requestError = __webpack_require__(123);
-
-function authenticationPlugin(octokit, options) {
- if (options.auth) {
- octokit.authenticate = () => {
- deprecateAuthenticate(
- octokit.log,
- new Deprecation(
- '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor'
- )
- );
- };
- return;
- }
- const state = {
- octokit,
- auth: false
- };
- octokit.authenticate = authenticate.bind(null, state);
- octokit.hook.before("request", beforeRequest.bind(null, state));
- octokit.hook.error("request", requestError.bind(null, state));
-}
-
-
-/***/ }),
-/* 120 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticate;
-
-const { Deprecation } = __webpack_require__(8);
-const once = __webpack_require__(20);
-
-const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
-
-function authenticate(state, options) {
- deprecateAuthenticate(
- state.octokit.log,
- new Deprecation(
- '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.'
- )
- );
-
- if (!options) {
- state.auth = false;
- return;
- }
-
- switch (options.type) {
- case "basic":
- if (!options.username || !options.password) {
- throw new Error(
- "Basic authentication requires both a username and password to be set"
- );
- }
- break;
-
- case "oauth":
- if (!options.token && !(options.key && options.secret)) {
- throw new Error(
- "OAuth2 authentication requires a token or key & secret to be set"
- );
- }
- break;
-
- case "token":
- case "app":
- if (!options.token) {
- throw new Error("Token authentication requires a token to be set");
- }
- break;
-
- default:
- throw new Error(
- "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'"
- );
- }
-
- state.auth = options;
-}
-
-
-/***/ }),
-/* 121 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationBeforeRequest;
-
-const btoa = __webpack_require__(46);
-const uniq = __webpack_require__(122);
-
-function authenticationBeforeRequest(state, options) {
- if (!state.auth.type) {
- return;
- }
-
- if (state.auth.type === "basic") {
- const hash = btoa(`${state.auth.username}:${state.auth.password}`);
- options.headers.authorization = `Basic ${hash}`;
- return;
- }
-
- if (state.auth.type === "token") {
- options.headers.authorization = `token ${state.auth.token}`;
- return;
- }
-
- if (state.auth.type === "app") {
- options.headers.authorization = `Bearer ${state.auth.token}`;
- const acceptHeaders = options.headers.accept
- .split(",")
- .concat("application/vnd.github.machine-man-preview+json");
- options.headers.accept = uniq(acceptHeaders)
- .filter(Boolean)
- .join(",");
- return;
- }
-
- options.url += options.url.indexOf("?") === -1 ? "?" : "&";
-
- if (state.auth.token) {
- options.url += `access_token=${encodeURIComponent(state.auth.token)}`;
- return;
- }
-
- const key = encodeURIComponent(state.auth.key);
- const secret = encodeURIComponent(state.auth.secret);
- options.url += `client_id=${key}&client_secret=${secret}`;
-}
-
-
-/***/ }),
-/* 122 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global) {/**
- * 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 size to enable large array optimizations. */
-var LARGE_ARRAY_SIZE = 200;
-
-/** 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;
-
-/** `Object#toString` result references. */
-var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]';
-
-/**
- * Used to match `RegExp`
- * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
- */
-var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-
-/** Used to detect host constructors (Safari). */
-var reIsHostCtor = /^\[object .+?Constructor\]$/;
-
-/** 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')();
-
-/**
- * A specialized version of `_.includes` for arrays without support for
- * specifying an index to search from.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
-function arrayIncludes(array, value) {
- var length = array ? array.length : 0;
- return !!length && baseIndexOf(array, value, 0) > -1;
-}
-
-/**
- * This function is like `arrayIncludes` except that it accepts a comparator.
- *
- * @private
- * @param {Array} [array] The array to inspect.
- * @param {*} target The value to search for.
- * @param {Function} comparator The comparator invoked per element.
- * @returns {boolean} Returns `true` if `target` is found, else `false`.
- */
-function arrayIncludesWith(array, value, comparator) {
- var index = -1,
- length = array ? array.length : 0;
-
- while (++index < length) {
- if (comparator(value, array[index])) {
- return true;
- }
- }
- return false;
-}
-
-/**
- * The base implementation of `_.findIndex` and `_.findLastIndex` without
- * support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} predicate The function invoked per iteration.
- * @param {number} fromIndex The index to search from.
- * @param {boolean} [fromRight] Specify iterating from right to left.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
-function baseFindIndex(array, predicate, fromIndex, fromRight) {
- var length = array.length,
- index = fromIndex + (fromRight ? 1 : -1);
-
- while ((fromRight ? index-- : ++index < length)) {
- if (predicate(array[index], index, array)) {
- return index;
- }
- }
- return -1;
-}
-
-/**
- * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {*} value The value to search for.
- * @param {number} fromIndex The index to search from.
- * @returns {number} Returns the index of the matched value, else `-1`.
- */
-function baseIndexOf(array, value, fromIndex) {
- if (value !== value) {
- return baseFindIndex(array, baseIsNaN, fromIndex);
- }
- var index = fromIndex - 1,
- length = array.length;
-
- while (++index < length) {
- if (array[index] === value) {
- return index;
- }
- }
- return -1;
-}
-
-/**
- * The base implementation of `_.isNaN` without support for number objects.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
- */
-function baseIsNaN(value) {
- return value !== value;
-}
-
-/**
- * Checks if a cache value for `key` exists.
- *
- * @private
- * @param {Object} cache The cache to query.
- * @param {string} key The key of the entry to check.
- * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
- */
-function cacheHas(cache, key) {
- return cache.has(key);
-}
-
-/**
- * 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;
-}
-
-/**
- * Converts `set` to an array of its values.
- *
- * @private
- * @param {Object} set The set to convert.
- * @returns {Array} Returns the values.
- */
-function setToArray(set) {
- var index = -1,
- result = Array(set.size);
-
- set.forEach(function(value) {
- result[++index] = value;
- });
- 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 splice = arrayProto.splice;
-
-/* Built-in method references that are verified to be native. */
-var Map = getNative(root, 'Map'),
- Set = getNative(root, 'Set'),
- nativeCreate = getNative(Object, 'create');
-
-/**
- * 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;
-
-/**
- *
- * Creates an array cache object to store unique values.
- *
- * @private
- * @constructor
- * @param {Array} [values] The values to cache.
- */
-function SetCache(values) {
- var index = -1,
- length = values ? values.length : 0;
-
- this.__data__ = new MapCache;
- while (++index < length) {
- this.add(values[index]);
- }
-}
-
-/**
- * Adds `value` to the array cache.
- *
- * @private
- * @name add
- * @memberOf SetCache
- * @alias push
- * @param {*} value The value to cache.
- * @returns {Object} Returns the cache instance.
- */
-function setCacheAdd(value) {
- this.__data__.set(value, HASH_UNDEFINED);
- return this;
-}
-
-/**
- * Checks if `value` is in the array cache.
- *
- * @private
- * @name has
- * @memberOf SetCache
- * @param {*} value The value to search for.
- * @returns {number} Returns `true` if `value` is found, else `false`.
- */
-function setCacheHas(value) {
- return this.__data__.has(value);
-}
-
-// Add methods to `SetCache`.
-SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
-SetCache.prototype.has = setCacheHas;
-
-/**
- * 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 `_.uniqBy` without support for iteratee shorthands.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {Function} [iteratee] The iteratee invoked per element.
- * @param {Function} [comparator] The comparator invoked per element.
- * @returns {Array} Returns the new duplicate free array.
- */
-function baseUniq(array, iteratee, comparator) {
- var index = -1,
- includes = arrayIncludes,
- length = array.length,
- isCommon = true,
- result = [],
- seen = result;
-
- if (comparator) {
- isCommon = false;
- includes = arrayIncludesWith;
- }
- else if (length >= LARGE_ARRAY_SIZE) {
- var set = iteratee ? null : createSet(array);
- if (set) {
- return setToArray(set);
- }
- isCommon = false;
- includes = cacheHas;
- seen = new SetCache;
- }
- else {
- seen = iteratee ? [] : result;
- }
- outer:
- while (++index < length) {
- var value = array[index],
- computed = iteratee ? iteratee(value) : value;
-
- value = (comparator || value !== 0) ? value : 0;
- if (isCommon && computed === computed) {
- var seenIndex = seen.length;
- while (seenIndex--) {
- if (seen[seenIndex] === computed) {
- continue outer;
- }
- }
- if (iteratee) {
- seen.push(computed);
- }
- result.push(value);
- }
- else if (!includes(seen, computed, comparator)) {
- if (seen !== result) {
- seen.push(computed);
- }
- result.push(value);
- }
- }
- return result;
-}
-
-/**
- * Creates a set object of `values`.
- *
- * @private
- * @param {Array} values The values to add to the set.
- * @returns {Object} Returns the new set.
- */
-var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {
- return new Set(values);
-};
-
-/**
- * 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 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 `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 duplicate-free version of an array, using
- * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)
- * for equality comparisons, in which only the first occurrence of each
- * element is kept.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Array
- * @param {Array} array The array to inspect.
- * @returns {Array} Returns the new duplicate free array.
- * @example
- *
- * _.uniq([2, 1, 2]);
- * // => [2, 1]
- */
-function uniq(array) {
- return (array && array.length)
- ? baseUniq(array)
- : [];
-}
-
-/**
- * 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 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');
-}
-
-/**
- * This method returns `undefined`.
- *
- * @static
- * @memberOf _
- * @since 2.3.0
- * @category Util
- * @example
- *
- * _.times(2, _.noop);
- * // => [undefined, undefined]
- */
-function noop() {
- // No operation performed.
-}
-
-module.exports = uniq;
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
-
-/***/ }),
-/* 123 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = authenticationRequestError;
-
-const { RequestError } = __webpack_require__(9);
-
-function authenticationRequestError(state, error, options) {
- /* istanbul ignore next */
- if (!error.headers) throw error;
-
- const otpRequired = /required/.test(error.headers["x-github-otp"] || "");
- // handle "2FA required" error only
- if (error.status !== 401 || !otpRequired) {
- throw error;
- }
-
- if (
- error.status === 401 &&
- otpRequired &&
- error.request &&
- error.request.headers["x-github-otp"]
- ) {
- throw new RequestError(
- "Invalid one-time password for two-factor authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
-
- if (typeof state.auth.on2fa !== "function") {
- throw new RequestError(
- "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication",
- 401,
- {
- headers: error.headers,
- request: options
- }
- );
- }
-
- return Promise.resolve()
- .then(() => {
- return state.auth.on2fa();
- })
- .then(oneTimePassword => {
- const newOptions = Object.assign(options, {
- headers: Object.assign(
- { "x-github-otp": oneTimePassword },
- options.headers
- )
- });
- return state.octokit.request(newOptions);
- });
-}
-
-
-/***/ }),
-/* 124 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = paginatePlugin;
-
-const { paginateRest } = __webpack_require__(125);
-
-function paginatePlugin(octokit) {
- Object.assign(octokit, paginateRest(octokit));
-}
-
-
-/***/ }),
-/* 125 */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "paginateRest", function() { return paginateRest; });
-const VERSION = "1.1.2";
-
-/**
- * Some “list” response that can be paginated have a different response structure
- *
- * They have a `total_count` key in the response (search also has `incomplete_results`,
- * /installation/repositories also has `repository_selection`), as well as a key with
- * the list of the items which name varies from endpoint to endpoint:
- *
- * - https://developer.github.com/v3/search/#example (key `items`)
- * - https://developer.github.com/v3/checks/runs/#response-3 (key: `check_runs`)
- * - https://developer.github.com/v3/checks/suites/#response-1 (key: `check_suites`)
- * - https://developer.github.com/v3/apps/installations/#list-repositories (key: `repositories`)
- * - https://developer.github.com/v3/apps/installations/#list-installations-for-a-user (key `installations`)
- *
- * Octokit normalizes these responses so that paginated results are always returned following
- * the same structure. One challenge is that if the list response has only one page, no Link
- * header is provided, so this header alone is not sufficient to check wether a response is
- * paginated or not. For the exceptions with the namespace, a fallback check for the route
- * paths has to be added in order to normalize the response. We cannot check for the total_count
- * property because it also exists in the response of Get the combined status for a specific ref.
- */
-const REGEX = [
- /^\/search\//,
- /^\/repos\/[^/]+\/[^/]+\/commits\/[^/]+\/(check-runs|check-suites)([^/]|$)/,
- /^\/installation\/repositories([^/]|$)/,
- /^\/user\/installations([^/]|$)/,
- /^\/repos\/[^/]+\/[^/]+\/actions\/secrets([^/]|$)/,
- /^\/repos\/[^/]+\/[^/]+\/actions\/workflows(\/[^/]+\/runs)?([^/]|$)/,
- /^\/repos\/[^/]+\/[^/]+\/actions\/runs(\/[^/]+\/(artifacts|jobs))?([^/]|$)/
-];
-function normalizePaginatedListResponse(octokit, url, response) {
- const path = url.replace(octokit.request.endpoint.DEFAULTS.baseUrl, "");
- const responseNeedsNormalization = REGEX.find(regex => regex.test(path));
- if (!responseNeedsNormalization)
- return;
- // keep the additional properties intact as there is currently no other way
- // to retrieve the same information.
- const incompleteResults = response.data.incomplete_results;
- const repositorySelection = response.data.repository_selection;
- const totalCount = response.data.total_count;
- delete response.data.incomplete_results;
- delete response.data.repository_selection;
- delete response.data.total_count;
- const namespaceKey = Object.keys(response.data)[0];
- const data = response.data[namespaceKey];
- response.data = data;
- if (typeof incompleteResults !== "undefined") {
- response.data.incomplete_results = incompleteResults;
- }
- if (typeof repositorySelection !== "undefined") {
- response.data.repository_selection = repositorySelection;
- }
- response.data.total_count = totalCount;
- Object.defineProperty(response.data, namespaceKey, {
- get() {
- octokit.log.warn(`[@octokit/paginate-rest] "response.data.${namespaceKey}" is deprecated for "GET ${path}". Get the results directly from "response.data"`);
- return Array.from(data);
- }
- });
-}
-
-function iterator(octokit, route, parameters) {
- const options = octokit.request.endpoint(route, parameters);
- const method = options.method;
- const headers = options.headers;
- let url = options.url;
- return {
- [Symbol.asyncIterator]: () => ({
- next() {
- if (!url) {
- return Promise.resolve({ done: true });
- }
- return octokit
- .request({ method, url, headers })
- .then((response) => {
- normalizePaginatedListResponse(octokit, url, response);
- // `response.headers.link` format:
- // '; rel="next", ; rel="last"'
- // sets `url` to undefined if "next" URL is not present or `link` header is not set
- url = ((response.headers.link || "").match(/<([^>]+)>;\s*rel="next"/) || [])[1];
- return { value: response };
- });
- }
- })
- };
-}
-
-function paginate(octokit, route, parameters, mapFn) {
- if (typeof parameters === "function") {
- mapFn = parameters;
- parameters = undefined;
- }
- return gather(octokit, [], iterator(octokit, route, parameters)[Symbol.asyncIterator](), mapFn);
-}
-function gather(octokit, results, iterator, mapFn) {
- return iterator.next().then(result => {
- if (result.done) {
- return results;
- }
- let earlyExit = false;
- function done() {
- earlyExit = true;
- }
- results = results.concat(mapFn ? mapFn(result.value, done) : result.value.data);
- if (earlyExit) {
- return results;
- }
- return gather(octokit, results, iterator, mapFn);
- });
-}
-
-/**
- * @param octokit Octokit instance
- * @param options Options passed to Octokit constructor
- */
-function paginateRest(octokit) {
- return {
- paginate: Object.assign(paginate.bind(null, octokit), {
- iterator: iterator.bind(null, octokit)
- })
- };
-}
-paginateRest.VERSION = VERSION;
-
-
-//# sourceMappingURL=index.js.map
-
-
-/***/ }),
-/* 126 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = octokitValidate;
-
-const validate = __webpack_require__(127);
-
-function octokitValidate(octokit) {
- octokit.hook.before("request", validate.bind(null, octokit));
-}
-
-
-/***/ }),
-/* 127 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-module.exports = validate;
-
-const { RequestError } = __webpack_require__(9);
-const get = __webpack_require__(128);
-const set = __webpack_require__(129);
-
-function validate(octokit, options) {
- if (!options.request.validate) {
- return;
- }
- const { validate: params } = options.request;
-
- Object.keys(params).forEach(parameterName => {
- const parameter = get(params, parameterName);
-
- const expectedType = parameter.type;
- let parentParameterName;
- let parentValue;
- let parentParamIsPresent = true;
- let parentParameterIsArray = false;
-
- if (/\./.test(parameterName)) {
- parentParameterName = parameterName.replace(/\.[^.]+$/, "");
- parentParameterIsArray = parentParameterName.slice(-2) === "[]";
- if (parentParameterIsArray) {
- parentParameterName = parentParameterName.slice(0, -2);
- }
- parentValue = get(options, parentParameterName);
- parentParamIsPresent =
- parentParameterName === "headers" ||
- (typeof parentValue === "object" && parentValue !== null);
- }
-
- const values = parentParameterIsArray
- ? (get(options, parentParameterName) || []).map(
- value => value[parameterName.split(/\./).pop()]
- )
- : [get(options, parameterName)];
-
- values.forEach((value, i) => {
- const valueIsPresent = typeof value !== "undefined";
- const valueIsNull = value === null;
- const currentParameterName = parentParameterIsArray
- ? parameterName.replace(/\[\]/, `[${i}]`)
- : parameterName;
-
- if (!parameter.required && !valueIsPresent) {
- return;
- }
-
- // if the parent parameter is of type object but allows null
- // then the child parameters can be ignored
- if (!parentParamIsPresent) {
- return;
- }
-
- if (parameter.allowNull && valueIsNull) {
- return;
- }
-
- if (!parameter.allowNull && valueIsNull) {
- throw new RequestError(
- `'${currentParameterName}' cannot be null`,
- 400,
- {
- request: options
- }
- );
- }
-
- if (parameter.required && !valueIsPresent) {
- throw new RequestError(
- `Empty value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
-
- // parse to integer before checking for enum
- // so that string "1" will match enum with number 1
- if (expectedType === "integer") {
- const unparsedValue = value;
- value = parseInt(value, 10);
- if (isNaN(value)) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- unparsedValue
- )} is NaN`,
- 400,
- {
- request: options
- }
- );
- }
- }
-
- if (parameter.enum && parameter.enum.indexOf(String(value)) === -1) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
-
- if (parameter.validation) {
- const regex = new RegExp(parameter.validation);
- if (!regex.test(value)) {
- throw new RequestError(
- `Invalid value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- }
-
- if (expectedType === "object" && typeof value === "string") {
- try {
- value = JSON.parse(value);
- } catch (exception) {
- throw new RequestError(
- `JSON parse error of value for parameter '${currentParameterName}': ${JSON.stringify(
- value
- )}`,
- 400,
- {
- request: options
- }
- );
- }
- }
-
- set(options, parameter.mapTo || currentParameterName, value);
- });
- });
-
- return options;
-}
-
-
-/***/ }),
-/* 128 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global) {/**
- * 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;
-
-/** `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\]$/;
-
-/** 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;
-
-/**
- * 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 `_.get` without support for default values.
- *
- * @private
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @returns {*} Returns the resolved value.
- */
-function baseGet(object, path) {
- path = isKey(path, object) ? [path] : castPath(path);
-
- var index = 0,
- length = path.length;
-
- while (object != null && index < length) {
- object = object[toKey(path[index++])];
- }
- return (index && index == length) ? object : undefined;
-}
-
-/**
- * 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 `_.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 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);
-}
-
-/**
- * Gets the value at `path` of `object`. If the resolved value is
- * `undefined`, the `defaultValue` is returned in its place.
- *
- * @static
- * @memberOf _
- * @since 3.7.0
- * @category Object
- * @param {Object} object The object to query.
- * @param {Array|string} path The path of the property to get.
- * @param {*} [defaultValue] The value returned for `undefined` resolved values.
- * @returns {*} Returns the resolved value.
- * @example
- *
- * var object = { 'a': [{ 'b': { 'c': 3 } }] };
- *
- * _.get(object, 'a[0].b.c');
- * // => 3
- *
- * _.get(object, ['a', '0', 'b', 'c']);
- * // => 3
- *
- * _.get(object, 'a.b.c', 'default');
- * // => 'default'
- */
-function get(object, path, defaultValue) {
- var result = object == null ? undefined : baseGet(object, path);
- return result === undefined ? defaultValue : result;
-}
-
-module.exports = get;
-
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
-
-/***/ }),
-/* 129 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global) {/**
- * 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]) ? [] : {});
- }
+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"
+ }
}
- 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;
-});
+const VERSION = "2.4.0";
-/**
- * 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;
+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__WEBPACK_IMPORTED_MODULE_0__["Deprecation"](`[@octokit/rest] ${apiOptions.deprecated}`));
+ octokit[namespaceName][apiName] = request;
+ return request.apply(null, arguments);
+ }, request);
+ return;
+ }
+ octokit[namespaceName][apiName] = request;
+ });
+ });
}
-
-/**
- * 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 '';
+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__WEBPACK_IMPORTED_MODULE_0__["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;
}
/**
- * 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']
+ * 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.
*
- * // Replace `_.memoize.Cache`.
- * _.memoize.Cache = WeakMap;
+ * See the plan at
+ * https://github.com/octokit/plugin-rest-endpoint-methods.js/pull/1
*/
-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;
+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__WEBPACK_IMPORTED_MODULE_0__["Deprecation"](`[@octokit/plugin-rest-endpoint-methods] "octokit.${deprecatedScope}.*" methods are deprecated, use "octokit.${scope}.*" instead`));
+ // @ts-ignore
+ return octokit[scope];
+ }
+ });
+ });
+ return {};
+}
+restEndpointMethods.VERSION = VERSION;
- if (cache.has(key)) {
- return cache.get(key);
- }
- var result = func.apply(this, args);
- memoized.cache = cache.set(key, result);
- return result;
+
+//# sourceMappingURL=index.js.map
+
+
+/***/ }),
+/* 57 */
+/***/ (function(module, exports, __webpack_require__) {
+
+const factory = __webpack_require__(25);
+
+module.exports = factory();
+
+
+/***/ }),
+/* 58 */
+/***/ (function(module, exports, __webpack_require__) {
+
+module.exports = Octokit;
+
+const { request } = __webpack_require__(103);
+const Hook = __webpack_require__(60);
+
+const parseClientOptions = __webpack_require__(64);
+
+function Octokit(plugins, options) {
+ options = options || {};
+ const hook = new Hook.Collection();
+ const log = Object.assign(
+ {
+ debug: () => {},
+ info: () => {},
+ warn: console.warn,
+ error: console.error
+ },
+ options && options.log
+ );
+ const api = {
+ hook,
+ log,
+ request: request.defaults(parseClientOptions(options, log, hook))
};
- memoized.cache = new (memoize.Cache || MapCache);
- return memoized;
-}
-// Assign cache to `_.memoize`.
-memoize.Cache = MapCache;
+ plugins.forEach(pluginFunction => pluginFunction(api, options));
-/**
- * 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);
+ return api;
}
-/**
- * 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;
-}
+/***/ }),
+/* 59 */
+/***/ (function(module, exports) {
-/**
- * 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');
+// Returns a wrapper function that returns a wrapped callback
+// The wrapper function should do some stuff, and return a
+// presumably different callback function.
+// This makes sure that own properties are retained, so that
+// decorations and such are not lost along the way.
+module.exports = wrappy
+function wrappy (fn, cb) {
+ if (fn && cb) return wrappy(fn)(cb)
+
+ if (typeof fn !== 'function')
+ throw new TypeError('need wrapper function')
+
+ Object.keys(fn).forEach(function (k) {
+ wrapper[k] = fn[k]
+ })
+
+ return wrapper
+
+ function wrapper() {
+ var args = new Array(arguments.length)
+ for (var i = 0; i < args.length; i++) {
+ args[i] = arguments[i]
+ }
+ var ret = fn.apply(this, args)
+ var cb = args[args.length-1]
+ if (typeof ret === 'function' && ret !== cb) {
+ Object.keys(cb).forEach(function (k) {
+ ret[k] = cb[k]
+ })
+ }
+ return ret
+ }
}
-/**
- * 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';
+
+/***/ }),
+/* 60 */
+/***/ (function(module, exports, __webpack_require__) {
+
+var register = __webpack_require__(61)
+var addHook = __webpack_require__(62)
+var removeHook = __webpack_require__(63)
+
+// bind with array of arguments: https://stackoverflow.com/a/21792913
+var bind = Function.bind
+var bindable = bind.bind(bind)
+
+function bindApi (hook, state, name) {
+ var removeHookRef = bindable(removeHook, null).apply(null, name ? [state, name] : [state])
+ hook.api = { remove: removeHookRef }
+ hook.remove = removeHookRef
+
+ ;['before', 'error', 'after', 'wrap'].forEach(function (kind) {
+ var args = name ? [state, kind, name] : [state, kind]
+ hook[kind] = hook.api[kind] = bindable(addHook, null).apply(null, args)
+ })
}
-/**
- * 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);
+function HookSingular () {
+ var singularHookName = 'h'
+ var singularHookState = {
+ registry: {}
+ }
+ var singularHook = register.bind(null, singularHookState, singularHookName)
+ bindApi(singularHook, singularHookState, singularHookName)
+ return singularHook
}
-/**
- * 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);
+function HookCollection () {
+ var state = {
+ registry: {}
+ }
+
+ var hook = register.bind(null, state)
+ bindApi(hook, state)
+
+ return hook
}
-/**
- * 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);
+var collectionHookDeprecationMessageDisplayed = false
+function Hook () {
+ if (!collectionHookDeprecationMessageDisplayed) {
+ console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4')
+ collectionHookDeprecationMessageDisplayed = true
+ }
+ return HookCollection()
}
-module.exports = set;
+Hook.Singular = HookSingular.bind()
+Hook.Collection = HookCollection.bind()
+
+module.exports = Hook
+// expose constructors as a named property for TypeScript
+module.exports.Hook = Hook
+module.exports.Singular = Hook.Singular
+module.exports.Collection = Hook.Collection
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(5)))
/***/ }),
-/* 130 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = paginationMethodsPlugin
+/* 61 */
+/***/ (function(module, exports) {
-function paginationMethodsPlugin (octokit) {
- octokit.getFirstPage = __webpack_require__(131).bind(null, octokit)
- octokit.getLastPage = __webpack_require__(133).bind(null, octokit)
- octokit.getNextPage = __webpack_require__(134).bind(null, octokit)
- octokit.getPreviousPage = __webpack_require__(135).bind(null, octokit)
- octokit.hasFirstPage = __webpack_require__(136)
- octokit.hasLastPage = __webpack_require__(137)
- octokit.hasNextPage = __webpack_require__(138)
- octokit.hasPreviousPage = __webpack_require__(139)
-}
+module.exports = register
+function register (state, name, method, options) {
+ if (typeof method !== 'function') {
+ throw new Error('method for before hook must be a function')
+ }
-/***/ }),
-/* 131 */
-/***/ (function(module, exports, __webpack_require__) {
+ if (!options) {
+ options = {}
+ }
-module.exports = getFirstPage
+ if (Array.isArray(name)) {
+ return name.reverse().reduce(function (callback, name) {
+ return register.bind(null, state, name, callback, options)
+ }, method)()
+ }
-const getPage = __webpack_require__(25)
+ return Promise.resolve()
+ .then(function () {
+ if (!state.registry[name]) {
+ return method(options)
+ }
-function getFirstPage (octokit, link, headers) {
- return getPage(octokit, link, 'first', headers)
+ return (state.registry[name]).reduce(function (method, registered) {
+ return registered.hook.bind(null, method, options)
+ }, method)()
+ })
}
/***/ }),
-/* 132 */
+/* 62 */
/***/ (function(module, exports) {
-module.exports = class HttpError extends Error {
- constructor (message, code, headers) {
- super(message)
+module.exports = addHook
- // Maintains proper stack trace (only available on V8)
- /* istanbul ignore next */
- if (Error.captureStackTrace) {
- Error.captureStackTrace(this, this.constructor)
+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)
+ })
}
-
- this.name = 'HttpError'
- this.code = code
- this.headers = headers
}
-}
-
-
-/***/ }),
-/* 133 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = getLastPage
-const getPage = __webpack_require__(25)
-
-function getLastPage (octokit, link, headers) {
- return getPage(octokit, link, 'last', headers)
+ state.registry[name].push({
+ hook: hook,
+ orig: orig
+ })
}
/***/ }),
-/* 134 */
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = getNextPage
-
-const getPage = __webpack_require__(25)
-
-function getNextPage (octokit, link, headers) {
- return getPage(octokit, link, 'next', headers)
-}
+/* 63 */
+/***/ (function(module, exports) {
+module.exports = removeHook
-/***/ }),
-/* 135 */
-/***/ (function(module, exports, __webpack_require__) {
+function removeHook (state, name, method) {
+ if (!state.registry[name]) {
+ return
+ }
-module.exports = getPreviousPage
+ var index = state.registry[name]
+ .map(function (registered) { return registered.orig })
+ .indexOf(method)
-const getPage = __webpack_require__(25)
+ if (index === -1) {
+ return
+ }
-function getPreviousPage (octokit, link, headers) {
- return getPage(octokit, link, 'prev', headers)
+ state.registry[name].splice(index, 1)
}
/***/ }),
-/* 136 */
+/* 64 */
/***/ (function(module, exports, __webpack_require__) {
-module.exports = hasFirstPage
-
-const deprecate = __webpack_require__(21)
-const getPageLinks = __webpack_require__(22)
+module.exports = parseOptions;
-function hasFirstPage (link) {
- deprecate(`octokit.hasFirstPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).first
-}
+const { Deprecation } = __webpack_require__(4);
+const { getUserAgent } = __webpack_require__(65);
+const once = __webpack_require__(8);
+const pkg = __webpack_require__(66);
-/***/ }),
-/* 137 */
-/***/ (function(module, exports, __webpack_require__) {
+const deprecateOptionsTimeout = once((log, deprecation) =>
+ log.warn(deprecation)
+);
+const deprecateOptionsAgent = once((log, deprecation) => log.warn(deprecation));
+const deprecateOptionsHeaders = once((log, deprecation) =>
+ log.warn(deprecation)
+);
-module.exports = hasLastPage
+function parseOptions(options, log, hook) {
+ if (options.headers) {
+ options.headers = Object.keys(options.headers).reduce((newObj, key) => {
+ newObj[key.toLowerCase()] = options.headers[key];
+ return newObj;
+ }, {});
+ }
-const deprecate = __webpack_require__(21)
-const getPageLinks = __webpack_require__(22)
+ const clientDefaults = {
+ headers: options.headers || {},
+ request: options.request || {},
+ mediaType: {
+ previews: [],
+ format: ""
+ }
+ };
-function hasLastPage (link) {
- deprecate(`octokit.hasLastPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).last
-}
+ if (options.baseUrl) {
+ clientDefaults.baseUrl = options.baseUrl;
+ }
+ if (options.userAgent) {
+ clientDefaults.headers["user-agent"] = options.userAgent;
+ }
-/***/ }),
-/* 138 */
-/***/ (function(module, exports, __webpack_require__) {
+ if (options.previews) {
+ clientDefaults.mediaType.previews = options.previews;
+ }
-module.exports = hasNextPage
+ if (options.timeZone) {
+ clientDefaults.headers["time-zone"] = options.timeZone;
+ }
-const deprecate = __webpack_require__(21)
-const getPageLinks = __webpack_require__(22)
+ if (options.timeout) {
+ deprecateOptionsTimeout(
+ log,
+ new Deprecation(
+ "[@octokit/rest] new Octokit({timeout}) is deprecated. Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request"
+ )
+ );
+ clientDefaults.request.timeout = options.timeout;
+ }
-function hasNextPage (link) {
- deprecate(`octokit.hasNextPage() – You can use octokit.paginate or async iterators instead: https://github.com/octokit/rest.js#pagination.`)
- return getPageLinks(link).next
-}
+ if (options.agent) {
+ deprecateOptionsAgent(
+ log,
+ new Deprecation(
+ "[@octokit/rest] new Octokit({agent}) is deprecated. Use {request: {agent}} instead. See https://github.com/octokit/request.js#request"
+ )
+ );
+ clientDefaults.request.agent = options.agent;
+ }
+ if (options.headers) {
+ deprecateOptionsHeaders(
+ log,
+ new Deprecation(
+ "[@octokit/rest] new Octokit({headers}) is deprecated. Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request"
+ )
+ );
+ }
-/***/ }),
-/* 139 */
-/***/ (function(module, exports, __webpack_require__) {
+ const userAgentOption = clientDefaults.headers["user-agent"];
+ const defaultUserAgent = `octokit.js/${pkg.version} ${getUserAgent()}`;
-module.exports = hasPreviousPage
+ clientDefaults.headers["user-agent"] = [userAgentOption, defaultUserAgent]
+ .filter(Boolean)
+ .join(" ");
-const deprecate = __webpack_require__(21)
-const getPageLinks = __webpack_require__(22)
+ clientDefaults.request.hook = hook.bind(null, "request");
-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
+ return clientDefaults;
}
/***/ }),
-/* 140 */
-/***/ (function(module, exports, __webpack_require__) {
+/* 65 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getUserAgent", function() { return getUserAgent; });
+function getUserAgent() {
+ try {
+ return navigator.userAgent;
+ }
+ catch (e) {
+ return "";
+ }
+}
-var utf8 = __webpack_require__(17);
-var utils = __webpack_require__(1);
-var GenericWorker = __webpack_require__(6);
-var StreamHelper = __webpack_require__(57);
-var defaults = __webpack_require__(58);
-var CompressedObject = __webpack_require__(36);
-var ZipObject = __webpack_require__(160);
-var generate = __webpack_require__(161);
-var nodejsUtils = __webpack_require__(28);
-var NodejsStreamInputAdapter = __webpack_require__(173);
-
-
-/**
- * Add a file in the current folder.
- * @private
- * @param {string} name the name of the file
- * @param {String|ArrayBuffer|Uint8Array|Buffer} data the data of the file
- * @param {Object} originalOptions the options of the file
- * @return {Object} the new file.
- */
-var fileAdd = function(name, data, originalOptions) {
- // be sure sub folders exist
- var dataType = utils.getTypeOf(data),
- parent;
-
-
- /*
- * Correct options.
- */
- var o = utils.extend(originalOptions || {}, defaults);
- o.date = o.date || new Date();
- if (o.compression !== null) {
- o.compression = o.compression.toUpperCase();
- }
+//# sourceMappingURL=index.js.map
- if (typeof o.unixPermissions === "string") {
- o.unixPermissions = parseInt(o.unixPermissions, 8);
- }
- // UNX_IFDIR 0040000 see zipinfo.c
- if (o.unixPermissions && (o.unixPermissions & 0x4000)) {
- o.dir = true;
- }
- // Bit 4 Directory
- if (o.dosPermissions && (o.dosPermissions & 0x0010)) {
- o.dir = true;
- }
+/***/ }),
+/* 66 */
+/***/ (function(module) {
- if (o.dir) {
- name = forceTrailingSlash(name);
- }
- if (o.createFolders && (parent = parentFolder(name))) {
- folderAdd.call(this, parent, true);
- }
+module.exports = JSON.parse("{\"name\":\"@octokit/rest\",\"version\":\"16.43.1\",\"publishConfig\":{\"access\":\"public\"},\"description\":\"GitHub REST API client for Node.js\",\"keywords\":[\"octokit\",\"github\",\"rest\",\"api-client\"],\"author\":\"Gregor Martynus (https://github.com/gr2m)\",\"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\"}],\"repository\":\"https://github.com/octokit/rest.js\",\"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\"},\"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\"},\"types\":\"index.d.ts\",\"scripts\":{\"coverage\":\"nyc report --reporter=html && open coverage/index.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\",\"pretest\":\"npm run -s lint\",\"test\":\"nyc mocha test/mocha-node-setup.js \\\"test/*/**/*-test.js\\\"\",\"test:browser\":\"cypress run --browser chrome\",\"build\":\"npm-run-all build:*\",\"build:ts\":\"npm run -s update-endpoints:typescript\",\"prebuild:browser\":\"mkdirp dist/\",\"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\",\"generate-bundle-report\":\"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html\",\"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\",\"prevalidate:ts\":\"npm run -s build:ts\",\"validate:ts\":\"tsc --target es6 --noImplicitAny index.d.ts\",\"postvalidate:ts\":\"tsc --noEmit --target es6 test/typescript-validate.ts\",\"start-fixtures-server\":\"octokit-fixtures-server\"},\"license\":\"MIT\",\"files\":[\"index.js\",\"index.d.ts\",\"lib\",\"plugins\"],\"nyc\":{\"ignore\":[\"test\"]},\"release\":{\"publish\":[\"@semantic-release/npm\",{\"path\":\"@semantic-release/github\",\"assets\":[\"dist/*\",\"!dist/*.map.gz\"]}]},\"bundlesize\":[{\"path\":\"./dist/octokit-rest.min.js.gz\",\"maxSize\":\"33 kB\"}]}");
- var isUnicodeString = dataType === "string" && o.binary === false && o.base64 === false;
- if (!originalOptions || typeof originalOptions.binary === "undefined") {
- o.binary = !isUnicodeString;
- }
+/***/ }),
+/* 67 */
+/***/ (function(module, exports, __webpack_require__) {
+module.exports = registerPlugin;
- var isCompressedEmpty = (data instanceof CompressedObject) && data.uncompressedSize === 0;
+const factory = __webpack_require__(25);
- if (isCompressedEmpty || o.dir || !data || data.length === 0) {
- o.base64 = false;
- o.binary = true;
- data = "";
- o.compression = "STORE";
- dataType = "string";
- }
+function registerPlugin(plugins, pluginFunction) {
+ return factory(
+ plugins.includes(pluginFunction) ? plugins : plugins.concat(pluginFunction)
+ );
+}
- /*
- * Convert content to fit.
- */
- var zipObjectContent = null;
- if (data instanceof CompressedObject || data instanceof GenericWorker) {
- zipObjectContent = data;
- } else if (nodejsUtils.isNode && nodejsUtils.isStream(data)) {
- zipObjectContent = new NodejsStreamInputAdapter(name, data);
- } else {
- zipObjectContent = utils.prepareContent(name, data, o.binary, o.optimizedBinaryString, o.base64);
- }
+/***/ }),
+/* 68 */
+/***/ (function(module, exports, __webpack_require__) {
- var object = new ZipObject(name, zipObjectContent, o);
- this.files[name] = object;
- /*
- TODO: we can't throw an exception because we have async promises
- (we can have a promise of a Date() for example) but returning a
- promise is useless because file(name, data) returns the JSZip
- object for chaining. Should we break that to allow the user
- to catch the error ?
+module.exports = authenticationPlugin;
- return external.Promise.resolve(zipObjectContent)
- .then(function () {
- return object;
- });
- */
-};
+const { createTokenAuth } = __webpack_require__(69);
+const { Deprecation } = __webpack_require__(4);
+const once = __webpack_require__(8);
-/**
- * Find the parent folder of the path.
- * @private
- * @param {string} path the path to use
- * @return {string} the parent folder, or ""
- */
-var parentFolder = function (path) {
- if (path.slice(-1) === '/') {
- path = path.substring(0, path.length - 1);
- }
- var lastSlash = path.lastIndexOf('/');
- return (lastSlash > 0) ? path.substring(0, lastSlash) : "";
-};
+const beforeRequest = __webpack_require__(70);
+const requestError = __webpack_require__(72);
+const validate = __webpack_require__(73);
+const withAuthorizationPrefix = __webpack_require__(27);
-/**
- * Returns the path with a slash at the end.
- * @private
- * @param {String} path the path to check.
- * @return {String} the path with a trailing slash.
- */
-var forceTrailingSlash = function(path) {
- // Check the name ends with a /
- if (path.slice(-1) !== "/") {
- path += "/"; // IE doesn't like substr(-1)
- }
- return path;
-};
+const deprecateAuthBasic = once((log, deprecation) => log.warn(deprecation));
+const deprecateAuthObject = once((log, deprecation) => log.warn(deprecation));
-/**
- * Add a (sub) folder in the current folder.
- * @private
- * @param {string} name the folder's name
- * @param {boolean=} [createFolders] If true, automatically create sub
- * folders. Defaults to false.
- * @return {Object} the new folder.
- */
-var folderAdd = function(name, createFolders) {
- createFolders = (typeof createFolders !== 'undefined') ? createFolders : defaults.createFolders;
+function authenticationPlugin(octokit, options) {
+ // If `options.authStrategy` is set then use it and pass in `options.auth`
+ if (options.authStrategy) {
+ const auth = options.authStrategy(options.auth);
+ octokit.hook.wrap("request", auth.hook);
+ octokit.auth = auth;
+ return;
+ }
- name = forceTrailingSlash(name);
+ // If neither `options.authStrategy` nor `options.auth` are set, the `octokit` instance
+ // is unauthenticated. The `octokit.auth()` method is a no-op and no request hook is registred.
+ if (!options.auth) {
+ octokit.auth = () =>
+ Promise.resolve({
+ type: "unauthenticated"
+ });
+ return;
+ }
- // Does this folder already exist?
- if (!this.files[name]) {
- fileAdd.call(this, name, null, {
- dir: true,
- createFolders: createFolders
- });
- }
- return this.files[name];
-};
+ const isBasicAuthString =
+ typeof options.auth === "string" &&
+ /^basic/.test(withAuthorizationPrefix(options.auth));
-/**
-* Cross-window, cross-Node-context regular expression detection
-* @param {Object} object Anything
-* @return {Boolean} true if the object is a regular expression,
-* false otherwise
-*/
-function isRegExp(object) {
- return Object.prototype.toString.call(object) === "[object RegExp]";
-}
+ // If only `options.auth` is set to a string, use the default token authentication strategy.
+ if (typeof options.auth === "string" && !isBasicAuthString) {
+ const auth = createTokenAuth(options.auth);
+ octokit.hook.wrap("request", auth.hook);
+ octokit.auth = auth;
+ return;
+ }
-// return the actual prototype of JSZip
-var out = {
- /**
- * @see loadAsync
- */
- load: function() {
- throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
- },
+ // Otherwise log a deprecation message
+ const [deprecationMethod, deprecationMessapge] = isBasicAuthString
+ ? [
+ deprecateAuthBasic,
+ 'Setting the "new Octokit({ auth })" option to a Basic Auth string is deprecated. Use https://github.com/octokit/auth-basic.js instead. See (https://octokit.github.io/rest.js/#authentication)'
+ ]
+ : [
+ deprecateAuthObject,
+ 'Setting the "new Octokit({ auth })" option to an object without also setting the "authStrategy" option is deprecated and will be removed in v17. See (https://octokit.github.io/rest.js/#authentication)'
+ ];
+ deprecationMethod(
+ octokit.log,
+ new Deprecation("[@octokit/rest] " + deprecationMessapge)
+ );
+ octokit.auth = () =>
+ Promise.resolve({
+ type: "deprecated",
+ message: deprecationMessapge
+ });
- /**
- * Call a callback function for each entry at this folder level.
- * @param {Function} cb the callback function:
- * function (relativePath, file) {...}
- * It takes 2 arguments : the relative path and the file.
- */
- forEach: function(cb) {
- var filename, relativePath, file;
- for (filename in this.files) {
- if (!this.files.hasOwnProperty(filename)) {
- continue;
- }
- file = this.files[filename];
- relativePath = filename.slice(this.root.length, filename.length);
- if (relativePath && filename.slice(0, this.root.length) === this.root) { // the file is in the current root
- cb(relativePath, file); // TODO reverse the parameters ? need to be clean AND consistent with the filter search fn...
- }
- }
- },
+ validate(options.auth);
- /**
- * Filter nested files/folders with the specified function.
- * @param {Function} search the predicate to use :
- * function (relativePath, file) {...}
- * It takes 2 arguments : the relative path and the file.
- * @return {Array} An array of matching elements.
- */
- filter: function(search) {
- var result = [];
- this.forEach(function (relativePath, entry) {
- if (search(relativePath, entry)) { // the file matches the function
- result.push(entry);
- }
+ const state = {
+ octokit,
+ auth: options.auth
+ };
- });
- return result;
- },
+ octokit.hook.before("request", beforeRequest.bind(null, state));
+ octokit.hook.error("request", requestError.bind(null, state));
+}
- /**
- * Add a file to the zip file, or search a file.
- * @param {string|RegExp} name The name of the file to add (if data is defined),
- * the name of the file to find (if no data) or a regex to match files.
- * @param {String|ArrayBuffer|Uint8Array|Buffer} data The file data, either raw or base64 encoded
- * @param {Object} o File options
- * @return {JSZip|Object|Array} this JSZip object (when adding a file),
- * a file (when searching by string) or an array of files (when searching by regex).
- */
- file: function(name, data, o) {
- if (arguments.length === 1) {
- if (isRegExp(name)) {
- var regexp = name;
- return this.filter(function(relativePath, file) {
- return !file.dir && regexp.test(relativePath);
- });
- }
- else { // text
- var obj = this.files[this.root + name];
- if (obj && !obj.dir) {
- return obj;
- } else {
- return null;
- }
- }
- }
- else { // more than one argument : we have data !
- name = this.root + name;
- fileAdd.call(this, name, data, o);
- }
- return this;
- },
- /**
- * Add a directory to the zip file, or search.
- * @param {String|RegExp} arg The name of the directory to add, or a regex to search folders.
- * @return {JSZip} an object with the new directory as the root, or an array containing matching folders.
- */
- folder: function(arg) {
- if (!arg) {
- return this;
- }
+/***/ }),
+/* 69 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
- if (isRegExp(arg)) {
- return this.filter(function(relativePath, file) {
- return file.dir && arg.test(relativePath);
- });
- }
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTokenAuth", function() { return createTokenAuth; });
+async function auth(token) {
+ const tokenType = token.split(/\./).length === 3
+ ? "app"
+ : /^v\d+\./.test(token)
+ ? "installation"
+ : "oauth";
+ return {
+ type: "token",
+ token: token,
+ tokenType
+ };
+}
- // else, name is a new folder
- var name = this.root + arg;
- var newFolder = folderAdd.call(this, name);
+/**
+ * Prefix token for usage in the Authorization header
+ *
+ * @param token OAuth token or JSON Web Token
+ */
+function withAuthorizationPrefix(token) {
+ if (token.split(/\./).length === 3) {
+ return `bearer ${token}`;
+ }
+ return `token ${token}`;
+}
- // Allow chaining by returning a new object with this folder as the root
- var ret = this.clone();
- ret.root = newFolder.name;
- return ret;
- },
+async function hook(token, request, route, parameters) {
+ const endpoint = request.endpoint.merge(route, parameters);
+ endpoint.headers.authorization = withAuthorizationPrefix(token);
+ return request(endpoint);
+}
- /**
- * Delete a file, or a directory and all sub-files, from the zip
- * @param {string} name the name of the file to delete
- * @return {JSZip} this JSZip object
- */
- remove: function(name) {
- name = this.root + name;
- var file = this.files[name];
- if (!file) {
- // Look for any folders
- if (name.slice(-1) !== "/") {
- name += "/";
- }
- file = this.files[name];
- }
+const createTokenAuth = function createTokenAuth(token) {
+ if (!token) {
+ throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");
+ }
+ if (typeof token !== "string") {
+ throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");
+ }
+ token = token.replace(/^(token|bearer) +/i, "");
+ return Object.assign(auth.bind(null, token), {
+ hook: hook.bind(null, token)
+ });
+};
- if (file && !file.dir) {
- // file
- delete this.files[name];
- } else {
- // maybe a folder, delete recursively
- var kids = this.filter(function(relativePath, file) {
- return file.name.slice(0, name.length) === name;
- });
- for (var i = 0; i < kids.length; i++) {
- delete this.files[kids[i].name];
- }
- }
- return this;
- },
+//# sourceMappingURL=index.js.map
- /**
- * Generate the complete zip file
- * @param {Object} options the options to generate the zip file :
- * - compression, "STORE" by default.
- * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
- * @return {String|Uint8Array|ArrayBuffer|Buffer|Blob} the zip file
- */
- generate: function(options) {
- throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.");
- },
- /**
- * Generate the complete zip file as an internal stream.
- * @param {Object} options the options to generate the zip file :
- * - compression, "STORE" by default.
- * - type, "base64" by default. Values are : string, base64, uint8array, arraybuffer, blob.
- * @return {StreamHelper} the streamed zip file.
- */
- generateInternalStream: function(options) {
- var worker, opts = {};
- try {
- opts = utils.extend(options || {}, {
- streamFiles: false,
- compression: "STORE",
- compressionOptions : null,
- type: "",
- platform: "DOS",
- comment: null,
- mimeType: 'application/zip',
- encodeFileName: utf8.utf8encode
- });
+/***/ }),
+/* 70 */
+/***/ (function(module, exports, __webpack_require__) {
- opts.type = opts.type.toLowerCase();
- opts.compression = opts.compression.toUpperCase();
+module.exports = authenticationBeforeRequest;
- // "binarystring" is prefered but the internals use "string".
- if(opts.type === "binarystring") {
- opts.type = "string";
- }
+const btoa = __webpack_require__(26);
- if (!opts.type) {
- throw new Error("No output type specified.");
- }
+const withAuthorizationPrefix = __webpack_require__(27);
- utils.checkSupport(opts.type);
+function authenticationBeforeRequest(state, options) {
+ if (typeof state.auth === "string") {
+ options.headers.authorization = withAuthorizationPrefix(state.auth);
+ return;
+ }
- // accept nodejs `process.platform`
- if(
- opts.platform === 'darwin' ||
- opts.platform === 'freebsd' ||
- opts.platform === 'linux' ||
- opts.platform === 'sunos'
- ) {
- opts.platform = "UNIX";
- }
- if (opts.platform === 'win32') {
- opts.platform = "DOS";
- }
+ 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;
+ }
- var comment = opts.comment || this.comment || "";
- worker = generate.generateWorker(this, opts, comment);
- } catch (e) {
- worker = new GenericWorker("error");
- worker.error(e);
- }
- return new StreamHelper(worker, opts.type || "string", opts.mimeType);
- },
- /**
- * Generate the complete zip file asynchronously.
- * @see generateInternalStream
- */
- generateAsync: function(options, onUpdate) {
- return this.generateInternalStream(options).accumulate(onUpdate);
- },
- /**
- * Generate the complete zip file asynchronously.
- * @see generateInternalStream
- */
- generateNodeStream: function(options, onUpdate) {
- options = options || {};
- if (!options.type) {
- options.type = "nodebuffer";
- }
- return this.generateInternalStream(options).toNodejsStream(onUpdate);
+ 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;
}
-};
-module.exports = out;
+ options.url += options.url.indexOf("?") === -1 ? "?" : "&";
+ options.url += `client_id=${state.auth.clientId}&client_secret=${state.auth.clientSecret}`;
+ return;
+ }
-/***/ }),
-/* 141 */
-/***/ (function(module, exports, __webpack_require__) {
+ return Promise.resolve()
-"use strict";
+ .then(() => {
+ return state.auth();
+ })
+ .then(authorization => {
+ options.headers.authorization = withAuthorizationPrefix(authorization);
+ });
+}
-exports.byteLength = byteLength
-exports.toByteArray = toByteArray
-exports.fromByteArray = fromByteArray
-var lookup = []
-var revLookup = []
-var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array
+/***/ }),
+/* 71 */
+/***/ (function(module, exports) {
-var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
-for (var i = 0, len = code.length; i < len; ++i) {
- lookup[i] = code[i]
- revLookup[code.charCodeAt(i)] = i
+module.exports = function _atob(str) {
+ return atob(str)
}
-// Support decoding URL-safe base64 strings, as Node.js does.
-// See: https://en.wikipedia.org/wiki/Base64#URL_applications
-revLookup['-'.charCodeAt(0)] = 62
-revLookup['_'.charCodeAt(0)] = 63
-function getLens (b64) {
- var len = b64.length
+/***/ }),
+/* 72 */
+/***/ (function(module, exports, __webpack_require__) {
- if (len % 4 > 0) {
- throw new Error('Invalid string. Length must be a multiple of 4')
- }
+module.exports = authenticationRequestError;
- // Trim off extra bytes after placeholder bytes are found
- // See: https://github.com/beatgammit/base64-js/issues/42
- var validLen = b64.indexOf('=')
- if (validLen === -1) validLen = len
+const { RequestError } = __webpack_require__(18);
- var placeHoldersLen = validLen === len
- ? 0
- : 4 - (validLen % 4)
+function authenticationRequestError(state, error, options) {
+ if (!error.headers) throw error;
- return [validLen, placeHoldersLen]
-}
+ const otpRequired = /required/.test(error.headers["x-github-otp"] || "");
+ // handle "2FA required" error only
+ if (error.status !== 401 || !otpRequired) {
+ throw error;
+ }
-// base64 is 4/3 + up to two characters of the original data
-function byteLength (b64) {
- var lens = getLens(b64)
- var validLen = lens[0]
- var placeHoldersLen = lens[1]
- return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
-}
+ if (
+ error.status === 401 &&
+ otpRequired &&
+ error.request &&
+ error.request.headers["x-github-otp"]
+ ) {
+ if (state.otp) {
+ delete state.otp; // no longer valid, request again
+ } else {
+ throw new RequestError(
+ "Invalid one-time password for two-factor authentication",
+ 401,
+ {
+ headers: error.headers,
+ request: options
+ }
+ );
+ }
+ }
-function _byteLength (b64, validLen, placeHoldersLen) {
- return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
+ if (typeof state.auth.on2fa !== "function") {
+ throw new RequestError(
+ "2FA required, but options.on2fa is not a function. See https://github.com/octokit/rest.js#authentication",
+ 401,
+ {
+ headers: error.headers,
+ request: options
+ }
+ );
+ }
+
+ return Promise.resolve()
+ .then(() => {
+ return state.auth.on2fa();
+ })
+ .then(oneTimePassword => {
+ const newOptions = Object.assign(options, {
+ headers: Object.assign(options.headers, {
+ "x-github-otp": oneTimePassword
+ })
+ });
+ return state.octokit.request(newOptions).then(response => {
+ // If OTP still valid, then persist it for following requests
+ state.otp = oneTimePassword;
+ return response;
+ });
+ });
}
-function toByteArray (b64) {
- var tmp
- var lens = getLens(b64)
- var validLen = lens[0]
- var placeHoldersLen = lens[1]
- var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))
+/***/ }),
+/* 73 */
+/***/ (function(module, exports) {
- var curByte = 0
+module.exports = validateAuth;
- // if there are placeholders, only get up to the last complete 4 chars
- var len = placeHoldersLen > 0
- ? validLen - 4
- : validLen
+function validateAuth(auth) {
+ if (typeof auth === "string") {
+ return;
+ }
- var i
- for (i = 0; i < len; i += 4) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 18) |
- (revLookup[b64.charCodeAt(i + 1)] << 12) |
- (revLookup[b64.charCodeAt(i + 2)] << 6) |
- revLookup[b64.charCodeAt(i + 3)]
- arr[curByte++] = (tmp >> 16) & 0xFF
- arr[curByte++] = (tmp >> 8) & 0xFF
- arr[curByte++] = tmp & 0xFF
+ if (typeof auth === "function") {
+ return;
}
- if (placeHoldersLen === 2) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 2) |
- (revLookup[b64.charCodeAt(i + 1)] >> 4)
- arr[curByte++] = tmp & 0xFF
+ if (auth.username && auth.password) {
+ return;
}
- if (placeHoldersLen === 1) {
- tmp =
- (revLookup[b64.charCodeAt(i)] << 10) |
- (revLookup[b64.charCodeAt(i + 1)] << 4) |
- (revLookup[b64.charCodeAt(i + 2)] >> 2)
- arr[curByte++] = (tmp >> 8) & 0xFF
- arr[curByte++] = tmp & 0xFF
+ if (auth.clientId && auth.clientSecret) {
+ return;
}
- return arr
+ throw new Error(`Invalid "auth" option: ${JSON.stringify(auth)}`);
}
-function tripletToBase64 (num) {
- return lookup[num >> 18 & 0x3F] +
- lookup[num >> 12 & 0x3F] +
- lookup[num >> 6 & 0x3F] +
- lookup[num & 0x3F]
-}
-function encodeChunk (uint8, start, end) {
- var tmp
- var output = []
- for (var i = start; i < end; i += 3) {
- tmp =
- ((uint8[i] << 16) & 0xFF0000) +
- ((uint8[i + 1] << 8) & 0xFF00) +
- (uint8[i + 2] & 0xFF)
- output.push(tripletToBase64(tmp))
- }
- return output.join('')
-}
+/***/ }),
+/* 74 */
+/***/ (function(module, exports, __webpack_require__) {
-function fromByteArray (uint8) {
- var tmp
- var len = uint8.length
- var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
- var parts = []
- var maxChunkLength = 16383 // must be multiple of 3
+module.exports = authenticationPlugin;
- // go through the array every three bytes, we'll deal with trailing stuff later
- for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
- parts.push(encodeChunk(
- uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)
- ))
- }
+const { Deprecation } = __webpack_require__(4);
+const once = __webpack_require__(8);
- // pad the end with zeros, but make sure to not forget the extra bytes
- if (extraBytes === 1) {
- tmp = uint8[len - 1]
- parts.push(
- lookup[tmp >> 2] +
- lookup[(tmp << 4) & 0x3F] +
- '=='
- )
- } else if (extraBytes === 2) {
- tmp = (uint8[len - 2] << 8) + uint8[len - 1]
- parts.push(
- lookup[tmp >> 10] +
- lookup[(tmp >> 4) & 0x3F] +
- lookup[(tmp << 2) & 0x3F] +
- '='
- )
- }
+const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
- return parts.join('')
+const authenticate = __webpack_require__(75);
+const beforeRequest = __webpack_require__(76);
+const requestError = __webpack_require__(78);
+
+function authenticationPlugin(octokit, options) {
+ if (options.auth) {
+ octokit.authenticate = () => {
+ deprecateAuthenticate(
+ octokit.log,
+ new Deprecation(
+ '[@octokit/rest] octokit.authenticate() is deprecated and has no effect when "auth" option is set on Octokit constructor'
+ )
+ );
+ };
+ return;
+ }
+ const state = {
+ octokit,
+ auth: false
+ };
+ octokit.authenticate = authenticate.bind(null, state);
+ octokit.hook.before("request", beforeRequest.bind(null, state));
+ octokit.hook.error("request", requestError.bind(null, state));
}
/***/ }),
-/* 142 */
-/***/ (function(module, exports) {
+/* 75 */
+/***/ (function(module, exports, __webpack_require__) {
-exports.read = function (buffer, offset, isLE, mLen, nBytes) {
- var e, m
- var eLen = (nBytes * 8) - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var nBits = -7
- var i = isLE ? (nBytes - 1) : 0
- var d = isLE ? -1 : 1
- var s = buffer[offset + i]
+module.exports = authenticate;
- i += d
+const { Deprecation } = __webpack_require__(4);
+const once = __webpack_require__(8);
- e = s & ((1 << (-nBits)) - 1)
- s >>= (-nBits)
- nBits += eLen
- for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}
+const deprecateAuthenticate = once((log, deprecation) => log.warn(deprecation));
- m = e & ((1 << (-nBits)) - 1)
- e >>= (-nBits)
- nBits += mLen
- for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}
+function authenticate(state, options) {
+ deprecateAuthenticate(
+ state.octokit.log,
+ new Deprecation(
+ '[@octokit/rest] octokit.authenticate() is deprecated. Use "auth" constructor option instead.'
+ )
+ );
- if (e === 0) {
- e = 1 - eBias
- } else if (e === eMax) {
- return m ? NaN : ((s ? -1 : 1) * Infinity)
- } else {
- m = m + Math.pow(2, mLen)
- e = e - eBias
+ if (!options) {
+ state.auth = false;
+ return;
}
- return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
+
+ switch (options.type) {
+ case "basic":
+ if (!options.username || !options.password) {
+ throw new Error(
+ "Basic authentication requires both a username and password to be set"
+ );
+ }
+ break;
+
+ case "oauth":
+ if (!options.token && !(options.key && options.secret)) {
+ throw new Error(
+ "OAuth2 authentication requires a token or key & secret to be set"
+ );
+ }
+ break;
+
+ case "token":
+ case "app":
+ if (!options.token) {
+ throw new Error("Token authentication requires a token to be set");
+ }
+ break;
+
+ default:
+ throw new Error(
+ "Invalid authentication type, must be 'basic', 'oauth', 'token' or 'app'"
+ );
+ }
+
+ state.auth = options;
}
-exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
- var e, m, c
- var eLen = (nBytes * 8) - mLen - 1
- var eMax = (1 << eLen) - 1
- var eBias = eMax >> 1
- var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
- var i = isLE ? 0 : (nBytes - 1)
- var d = isLE ? 1 : -1
- var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0
- value = Math.abs(value)
+/***/ }),
+/* 76 */
+/***/ (function(module, exports, __webpack_require__) {
- if (isNaN(value) || value === Infinity) {
- m = isNaN(value) ? 1 : 0
- e = eMax
- } else {
- e = Math.floor(Math.log(value) / Math.LN2)
- if (value * (c = Math.pow(2, -e)) < 1) {
- e--
- c *= 2
- }
- if (e + eBias >= 1) {
- value += rt / c
- } else {
- value += rt * Math.pow(2, 1 - eBias)
- }
- if (value * c >= 2) {
- e++
- c /= 2
- }
+module.exports = authenticationBeforeRequest;
- if (e + eBias >= eMax) {
- m = 0
- e = eMax
- } else if (e + eBias >= 1) {
- m = ((value * c) - 1) * Math.pow(2, mLen)
- e = e + eBias
- } else {
- m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
- e = 0
- }
+const btoa = __webpack_require__(26);
+const uniq = __webpack_require__(77);
+
+function authenticationBeforeRequest(state, options) {
+ if (!state.auth.type) {
+ return;
+ }
+
+ if (state.auth.type === "basic") {
+ const hash = btoa(`${state.auth.username}:${state.auth.password}`);
+ options.headers.authorization = `Basic ${hash}`;
+ return;
}
- for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}
+ if (state.auth.type === "token") {
+ options.headers.authorization = `token ${state.auth.token}`;
+ return;
+ }
- e = (e << mLen) | m
- eLen += mLen
- for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}
+ if (state.auth.type === "app") {
+ options.headers.authorization = `Bearer ${state.auth.token}`;
+ const acceptHeaders = options.headers.accept
+ .split(",")
+ .concat("application/vnd.github.machine-man-preview+json");
+ options.headers.accept = uniq(acceptHeaders)
+ .filter(Boolean)
+ .join(",");
+ return;
+ }
- buffer[offset + i - d] |= s * 128
+ options.url += options.url.indexOf("?") === -1 ? "?" : "&";
+
+ if (state.auth.token) {
+ options.url += `access_token=${encodeURIComponent(state.auth.token)}`;
+ return;
+ }
+
+ const key = encodeURIComponent(state.auth.key);
+ const secret = encodeURIComponent(state.auth.secret);
+ options.url += `client_id=${key}&client_secret=${secret}`;
}
/***/ }),
-/* 143 */
+/* 77 */
/***/ (function(module, exports, __webpack_require__) {
-// 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.
+/* WEBPACK VAR INJECTION */(function(global) {/**
+ * 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 size to enable large array optimizations. */
+var LARGE_ARRAY_SIZE = 200;
+
+/** 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;
+
+/** `Object#toString` result references. */
+var funcTag = '[object Function]',
+ genTag = '[object GeneratorFunction]';
-module.exports = Stream;
+/**
+ * Used to match `RegExp`
+ * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).
+ */
+var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
-var EE = __webpack_require__(32).EventEmitter;
-var inherits = __webpack_require__(19);
+/** Used to detect host constructors (Safari). */
+var reIsHostCtor = /^\[object .+?Constructor\]$/;
-inherits(Stream, EE);
-Stream.Readable = __webpack_require__(33);
-Stream.Writable = __webpack_require__(151);
-Stream.Duplex = __webpack_require__(152);
-Stream.Transform = __webpack_require__(153);
-Stream.PassThrough = __webpack_require__(154);
+/** Detect free variable `global` from Node.js. */
+var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;
-// Backwards-compat with node 0.4.x
-Stream.Stream = Stream;
+/** 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')();
+/**
+ * A specialized version of `_.includes` for arrays without support for
+ * specifying an index to search from.
+ *
+ * @private
+ * @param {Array} [array] The array to inspect.
+ * @param {*} target The value to search for.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+function arrayIncludes(array, value) {
+ var length = array ? array.length : 0;
+ return !!length && baseIndexOf(array, value, 0) > -1;
+}
-// old-style streams. Note that the pipe method (the only relevant
-// part of this class) is overridden in the Readable class.
+/**
+ * This function is like `arrayIncludes` except that it accepts a comparator.
+ *
+ * @private
+ * @param {Array} [array] The array to inspect.
+ * @param {*} target The value to search for.
+ * @param {Function} comparator The comparator invoked per element.
+ * @returns {boolean} Returns `true` if `target` is found, else `false`.
+ */
+function arrayIncludesWith(array, value, comparator) {
+ var index = -1,
+ length = array ? array.length : 0;
-function Stream() {
- EE.call(this);
+ while (++index < length) {
+ if (comparator(value, array[index])) {
+ return true;
+ }
+ }
+ return false;
}
-Stream.prototype.pipe = function(dest, options) {
- var source = this;
+/**
+ * The base implementation of `_.findIndex` and `_.findLastIndex` without
+ * support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} predicate The function invoked per iteration.
+ * @param {number} fromIndex The index to search from.
+ * @param {boolean} [fromRight] Specify iterating from right to left.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+function baseFindIndex(array, predicate, fromIndex, fromRight) {
+ var length = array.length,
+ index = fromIndex + (fromRight ? 1 : -1);
- function ondata(chunk) {
- if (dest.writable) {
- if (false === dest.write(chunk) && source.pause) {
- source.pause();
- }
+ while ((fromRight ? index-- : ++index < length)) {
+ if (predicate(array[index], index, array)) {
+ return index;
}
}
+ return -1;
+}
- source.on('data', ondata);
+/**
+ * The base implementation of `_.indexOf` without `fromIndex` bounds checks.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {*} value The value to search for.
+ * @param {number} fromIndex The index to search from.
+ * @returns {number} Returns the index of the matched value, else `-1`.
+ */
+function baseIndexOf(array, value, fromIndex) {
+ if (value !== value) {
+ return baseFindIndex(array, baseIsNaN, fromIndex);
+ }
+ var index = fromIndex - 1,
+ length = array.length;
- function ondrain() {
- if (source.readable && source.resume) {
- source.resume();
+ while (++index < length) {
+ if (array[index] === value) {
+ return index;
}
}
+ return -1;
+}
+
+/**
+ * The base implementation of `_.isNaN` without support for number objects.
+ *
+ * @private
+ * @param {*} value The value to check.
+ * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.
+ */
+function baseIsNaN(value) {
+ return value !== value;
+}
+
+/**
+ * Checks if a cache value for `key` exists.
+ *
+ * @private
+ * @param {Object} cache The cache to query.
+ * @param {string} key The key of the entry to check.
+ * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.
+ */
+function cacheHas(cache, key) {
+ return cache.has(key);
+}
- dest.on('drain', ondrain);
+/**
+ * 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];
+}
- // If the 'end' option is not supplied, dest.end() will be called when
- // source gets the 'end' or 'close' events. Only dest.end() once.
- if (!dest._isStdio && (!options || options.end !== false)) {
- source.on('end', onend);
- source.on('close', onclose);
+/**
+ * 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;
+}
+
+/**
+ * Converts `set` to an array of its values.
+ *
+ * @private
+ * @param {Object} set The set to convert.
+ * @returns {Array} Returns the values.
+ */
+function setToArray(set) {
+ var index = -1,
+ result = Array(set.size);
+
+ set.forEach(function(value) {
+ result[++index] = value;
+ });
+ 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 splice = arrayProto.splice;
+
+/* Built-in method references that are verified to be native. */
+var Map = getNative(root, 'Map'),
+ Set = getNative(root, 'Set'),
+ nativeCreate = getNative(Object, 'create');
- var didOnEnd = false;
- function onend() {
- if (didOnEnd) return;
- didOnEnd = true;
+/**
+ * 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;
- dest.end();
+ 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) : {};
+}
- function onclose() {
- if (didOnEnd) return;
- didOnEnd = true;
-
- if (typeof dest.destroy === 'function') dest.destroy();
- }
+/**
+ * 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];
+}
- // don't leave dangling pipes when there are errors.
- function onerror(er) {
- cleanup();
- if (EE.listenerCount(this, 'error') === 0) {
- throw er; // Unhandled stream error in pipe.
- }
+/**
+ * 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;
+}
- source.on('error', onerror);
- dest.on('error', onerror);
-
- // remove all the event listeners that were added.
- function cleanup() {
- source.removeListener('data', ondata);
- dest.removeListener('drain', ondrain);
+/**
+ * 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);
+}
- source.removeListener('end', onend);
- source.removeListener('close', onclose);
+/**
+ * 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;
+}
- source.removeListener('error', onerror);
- dest.removeListener('error', onerror);
+// Add methods to `Hash`.
+Hash.prototype.clear = hashClear;
+Hash.prototype['delete'] = hashDelete;
+Hash.prototype.get = hashGet;
+Hash.prototype.has = hashHas;
+Hash.prototype.set = hashSet;
- source.removeListener('end', cleanup);
- source.removeListener('close', cleanup);
+/**
+ * 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;
- dest.removeListener('close', cleanup);
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
}
+}
- source.on('end', cleanup);
- source.on('close', cleanup);
-
- dest.on('close', cleanup);
-
- dest.emit('pipe', source);
-
- // Allow for unix-like usage: A.pipe(B).pipe(C)
- return dest;
-};
-
-
-/***/ }),
-/* 144 */
-/***/ (function(module, exports) {
-
-/* (ignored) */
-
-/***/ }),
-/* 145 */
-/***/ (function(module, exports, __webpack_require__) {
+/**
+ * Removes all key-value entries from the list cache.
+ *
+ * @private
+ * @name clear
+ * @memberOf ListCache
+ */
+function listCacheClear() {
+ this.__data__ = [];
+}
-"use strict";
+/**
+ * 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;
+}
-function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+/**
+ * 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);
-var Buffer = __webpack_require__(34).Buffer;
-var util = __webpack_require__(146);
+ return index < 0 ? undefined : data[index][1];
+}
-function copyBuffer(src, target, offset) {
- src.copy(target, offset);
+/**
+ * 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;
}
-module.exports = function () {
- function BufferList() {
- _classCallCheck(this, BufferList);
+/**
+ * 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);
- this.head = null;
- this.tail = null;
- this.length = 0;
+ if (index < 0) {
+ data.push([key, value]);
+ } else {
+ data[index][1] = value;
}
+ return this;
+}
- BufferList.prototype.push = function push(v) {
- var entry = { data: v, next: null };
- if (this.length > 0) this.tail.next = entry;else this.head = entry;
- this.tail = entry;
- ++this.length;
- };
-
- BufferList.prototype.unshift = function unshift(v) {
- var entry = { data: v, next: this.head };
- if (this.length === 0) this.tail = entry;
- this.head = entry;
- ++this.length;
- };
-
- BufferList.prototype.shift = function shift() {
- if (this.length === 0) return;
- var ret = this.head.data;
- if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;
- --this.length;
- return ret;
- };
+// Add methods to `ListCache`.
+ListCache.prototype.clear = listCacheClear;
+ListCache.prototype['delete'] = listCacheDelete;
+ListCache.prototype.get = listCacheGet;
+ListCache.prototype.has = listCacheHas;
+ListCache.prototype.set = listCacheSet;
- BufferList.prototype.clear = function clear() {
- this.head = this.tail = null;
- this.length = 0;
- };
+/**
+ * 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;
- BufferList.prototype.join = function join(s) {
- if (this.length === 0) return '';
- var p = this.head;
- var ret = '' + p.data;
- while (p = p.next) {
- ret += s + p.data;
- }return ret;
- };
+ this.clear();
+ while (++index < length) {
+ var entry = entries[index];
+ this.set(entry[0], entry[1]);
+ }
+}
- BufferList.prototype.concat = function concat(n) {
- if (this.length === 0) return Buffer.alloc(0);
- if (this.length === 1) return this.head.data;
- var ret = Buffer.allocUnsafe(n >>> 0);
- var p = this.head;
- var i = 0;
- while (p) {
- copyBuffer(p.data, ret, i);
- i += p.data.length;
- p = p.next;
- }
- return ret;
+/**
+ * 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
};
+}
- return BufferList;
-}();
+/**
+ * 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);
+}
-if (util && util.inspect && util.inspect.custom) {
- module.exports.prototype[util.inspect.custom] = function () {
- var obj = util.inspect({ length: this.length });
- return this.constructor.name + ' ' + obj;
- };
+/**
+ * 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);
}
-/***/ }),
-/* 146 */
-/***/ (function(module, exports) {
-
-/* (ignored) */
-
-/***/ }),
-/* 147 */
-/***/ (function(module, exports, __webpack_require__) {
-
-/* WEBPACK VAR INJECTION */(function(global, process) {(function (global, undefined) {
- "use strict";
+/**
+ * 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);
+}
- if (global.setImmediate) {
- return;
- }
+/**
+ * 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;
+}
- var nextHandle = 1; // Spec says greater than zero
- var tasksByHandle = {};
- var currentlyRunningATask = false;
- var doc = global.document;
- var registerImmediate;
+// Add methods to `MapCache`.
+MapCache.prototype.clear = mapCacheClear;
+MapCache.prototype['delete'] = mapCacheDelete;
+MapCache.prototype.get = mapCacheGet;
+MapCache.prototype.has = mapCacheHas;
+MapCache.prototype.set = mapCacheSet;
- 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++;
- }
+/**
+ *
+ * Creates an array cache object to store unique values.
+ *
+ * @private
+ * @constructor
+ * @param {Array} [values] The values to cache.
+ */
+function SetCache(values) {
+ var index = -1,
+ length = values ? values.length : 0;
- function clearImmediate(handle) {
- delete tasksByHandle[handle];
- }
+ this.__data__ = new MapCache;
+ while (++index < length) {
+ this.add(values[index]);
+ }
+}
- 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;
- }
- }
+/**
+ * Adds `value` to the array cache.
+ *
+ * @private
+ * @name add
+ * @memberOf SetCache
+ * @alias push
+ * @param {*} value The value to cache.
+ * @returns {Object} Returns the cache instance.
+ */
+function setCacheAdd(value) {
+ this.__data__.set(value, HASH_UNDEFINED);
+ return this;
+}
- 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;
- }
- }
- }
- }
+/**
+ * Checks if `value` is in the array cache.
+ *
+ * @private
+ * @name has
+ * @memberOf SetCache
+ * @param {*} value The value to search for.
+ * @returns {number} Returns `true` if `value` is found, else `false`.
+ */
+function setCacheHas(value) {
+ return this.__data__.has(value);
+}
- function installNextTickImplementation() {
- registerImmediate = function(handle) {
- process.nextTick(function () { runIfPresent(handle); });
- };
- }
+// Add methods to `SetCache`.
+SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
+SetCache.prototype.has = setCacheHas;
- 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;
- }
+/**
+ * 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;
+}
- 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, "*");
- };
- }
+/**
+ * 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));
+}
- function installMessageChannelImplementation() {
- var channel = new MessageChannel();
- channel.port1.onmessage = function(event) {
- var handle = event.data;
- runIfPresent(handle);
- };
+/**
+ * The base implementation of `_.uniqBy` without support for iteratee shorthands.
+ *
+ * @private
+ * @param {Array} array The array to inspect.
+ * @param {Function} [iteratee] The iteratee invoked per element.
+ * @param {Function} [comparator] The comparator invoked per element.
+ * @returns {Array} Returns the new duplicate free array.
+ */
+function baseUniq(array, iteratee, comparator) {
+ var index = -1,
+ includes = arrayIncludes,
+ length = array.length,
+ isCommon = true,
+ result = [],
+ seen = result;
- registerImmediate = function(handle) {
- channel.port2.postMessage(handle);
- };
+ if (comparator) {
+ isCommon = false;
+ includes = arrayIncludesWith;
+ }
+ else if (length >= LARGE_ARRAY_SIZE) {
+ var set = iteratee ? null : createSet(array);
+ if (set) {
+ return setToArray(set);
}
+ isCommon = false;
+ includes = cacheHas;
+ seen = new SetCache;
+ }
+ else {
+ seen = iteratee ? [] : result;
+ }
+ outer:
+ while (++index < length) {
+ var value = array[index],
+ computed = iteratee ? iteratee(value) : value;
- function installReadyStateChangeImplementation() {
- var html = doc.documentElement;
- registerImmediate = function(handle) {
- // Create a \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n \\n