Socket
Socket
Sign inDemoInstall

ts-essentials

Package Overview
Dependencies
Maintainers
3
Versions
59
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-essentials - npm Package Compare versions

Comparing version 9.4.2 to 10.0.0

dist/path-value/index.d.ts

21

CHANGELOG.md
# ts-essentials
## 10.0.0
### Major Changes
- b127a8a: Use TypeScript@^4.2.0 because of excessively deep and possibly infinite type instantiation limitation for
`PathValue` and `Paths`
- 26be790: Fixed assignability of Mark\* utility types which required removing support of TypeScript@<4.5
- 9935d80: Added `StrictDeepOmit` and `StrictDeepPick` that support generic type and removed generic constraint on the
second type parameter of `DeepOmit` and `DeepPick`
### Minor Changes
- 5b7650a: Add variadic XOR, up to 50 generic types
- b127a8a: Implement `Paths` and `PathValue` to access object properties, array/tuple indices
### Patch Changes
- d2dbcf9: Added `CONVENTIONS.md` for reliable, consistent and predictable development
- ed57101: Add support for types which explicitly extend Array inside types passed to `DeepRequired`.
- 25f3f60: Add support of union types for arrays, tuples, objects and primitive in `isExact`
## 9.4.2

@@ -4,0 +25,0 @@

2

dist/any-array/index.d.ts

@@ -1,1 +0,1 @@

export declare type AnyArray<Type = any> = Array<Type> | ReadonlyArray<Type>;
export type AnyArray<Type = any> = Array<Type> | ReadonlyArray<Type>;

@@ -1,1 +0,1 @@

export declare type AnyFunction<Args extends any[] = any[], ReturnType = any> = (...args: Args) => ReturnType;
export type AnyFunction<Args extends any[] = any[], ReturnType = any> = (...args: Args) => ReturnType;
import { KeyofBase } from "./key-of-base";
export declare type AnyRecord<T = any> = Record<KeyofBase, T>;
export type AnyRecord<T = any> = Record<KeyofBase, T>;

@@ -1,1 +0,1 @@

export declare type ArrayOrSingle<Type> = Type | Type[];
export type ArrayOrSingle<Type> = Type | Type[];
import { AsyncOrSync } from "../async-or-sync";
export declare type AsyncOrSyncType<AsyncOrSyncType> = AsyncOrSyncType extends AsyncOrSync<infer Type> ? Type : never;
export type AsyncOrSyncType<AsyncOrSyncType> = AsyncOrSyncType extends AsyncOrSync<infer Type> ? Type : never;

@@ -1,1 +0,1 @@

export declare type AsyncOrSync<Type> = PromiseLike<Type> | Type;
export type AsyncOrSync<Type> = PromiseLike<Type> | Type;
/** @deprecated please use builtin `Awaited` */
export declare type Awaited<Type> = Type extends PromiseLike<infer Value> ? Value : never;
export type Awaited<Type> = Type extends PromiseLike<infer Value> ? Value : never;
import { DeepPartial } from "../deep-partial";
import { DeepWritable } from "../deep-writable";
export declare type Buildable<Type> = DeepPartial<DeepWritable<Type>>;
export type Buildable<Type> = DeepPartial<DeepWritable<Type>>;
import { Primitive } from "../primitive";
export declare type Builtin = Primitive | Function | Date | Error | RegExp;
export type Builtin = Primitive | Function | Date | Error | RegExp;

@@ -1,17 +0,17 @@

declare type IsStringLiteral<Type> = Type extends string ? (string extends Type ? false : true) : false;
declare type WordInCamelCase<Type, Word extends string = ""> = Type extends `${Word}${infer NextCharacter}${infer _}` ? NextCharacter extends Capitalize<NextCharacter> ? Word : WordInCamelCase<Type, `${Word}${NextCharacter}`> : Word;
declare type Separator = "_" | "-";
declare type IncludesSeparator<Type> = Type extends `${string}${Separator}${string}` ? true : false;
declare type IsOneWord<Type> = Type extends Lowercase<Type & string> ? true : Type extends Uppercase<Type & string> ? true : false;
declare type IsCamelCase<Type> = Type extends Uncapitalize<Type & string> ? true : false;
declare type IsPascalCase<Type> = Type extends Capitalize<Type & string> ? true : false;
type IsStringLiteral<Type> = Type extends string ? (string extends Type ? false : true) : false;
type WordInCamelCase<Type, Word extends string = ""> = Type extends `${Word}${infer NextCharacter}${infer _}` ? NextCharacter extends Capitalize<NextCharacter> ? Word : WordInCamelCase<Type, `${Word}${NextCharacter}`> : Word;
type Separator = "_" | "-";
type IncludesSeparator<Type> = Type extends `${string}${Separator}${string}` ? true : false;
type IsOneWord<Type> = Type extends Lowercase<Type & string> ? true : Type extends Uppercase<Type & string> ? true : false;
type IsCamelCase<Type> = Type extends Uncapitalize<Type & string> ? true : false;
type IsPascalCase<Type> = Type extends Capitalize<Type & string> ? true : false;
/** snake_case, CONSTANT_CASE, kebab-case or COBOL-CASE */
declare type SeparatorCaseParser<Type, Tuple extends readonly any[] = []> = Type extends `${infer Word}${Separator}${infer Tail}` ? SeparatorCaseParser<Tail, [...Tuple, Lowercase<Word>]> : Type extends `${infer Word}` ? [...Tuple, Lowercase<Word>] : Tuple;
declare type CamelCaseParser<Type, Tuple extends readonly any[] = []> = Type extends "" ? Tuple : Type extends `${WordInCamelCase<Type>}${infer Tail}` ? Type extends `${infer Word}${Tail}` ? CamelCaseParser<Uncapitalize<Tail>, [...Tuple, Lowercase<Word>]> : never : never;
declare type PascalCaseParser<Type> = Type extends string ? CamelCaseParser<Uncapitalize<Type>> : never;
declare type SplitAnyCase<Type> = IncludesSeparator<Type> extends true ? SeparatorCaseParser<Type> : IsOneWord<Type> extends true ? [Lowercase<Type & string>] : IsCamelCase<Type> extends true ? CamelCaseParser<Type> : IsPascalCase<Type> extends true ? PascalCaseParser<Type> : [];
declare type PascalCapitalizer<Type, Tuple extends readonly any[] = []> = Type extends [infer Head, ...infer Tail] ? Head extends string ? PascalCapitalizer<Tail, [...Tuple, Capitalize<Head>]> : PascalCapitalizer<Tail, Tuple> : Tuple;
declare type CamelCapitalizer<Type> = Type extends [infer First, ...infer Tail] ? PascalCapitalizer<Tail, [First]> : [];
declare type Join<Type, JoinedString extends string = ""> = Type extends [infer Head, ...infer Tail] ? Head extends string ? Join<Tail, `${JoinedString}${Head}`> : Join<Tail> : JoinedString;
export declare type CamelCase<Type> = IsStringLiteral<Type> extends true ? Join<CamelCapitalizer<SplitAnyCase<Type>>> : Type;
type SeparatorCaseParser<Type, Tuple extends readonly any[] = []> = Type extends `${infer Word}${Separator}${infer Tail}` ? SeparatorCaseParser<Tail, [...Tuple, Lowercase<Word>]> : Type extends `${infer Word}` ? [...Tuple, Lowercase<Word>] : Tuple;
type CamelCaseParser<Type, Tuple extends readonly any[] = []> = Type extends "" ? Tuple : Type extends `${WordInCamelCase<Type>}${infer Tail}` ? Type extends `${infer Word}${Tail}` ? CamelCaseParser<Uncapitalize<Tail>, [...Tuple, Lowercase<Word>]> : never : never;
type PascalCaseParser<Type> = Type extends string ? CamelCaseParser<Uncapitalize<Type>> : never;
type SplitAnyCase<Type> = IncludesSeparator<Type> extends true ? SeparatorCaseParser<Type> : IsOneWord<Type> extends true ? [Lowercase<Type & string>] : IsCamelCase<Type> extends true ? CamelCaseParser<Type> : IsPascalCase<Type> extends true ? PascalCaseParser<Type> : [];
type PascalCapitalizer<Type, Tuple extends readonly any[] = []> = Type extends [infer Head, ...infer Tail] ? Head extends string ? PascalCapitalizer<Tail, [...Tuple, Capitalize<Head>]> : PascalCapitalizer<Tail, Tuple> : Tuple;
type CamelCapitalizer<Type> = Type extends [infer First, ...infer Tail] ? PascalCapitalizer<Tail, [First]> : [];
type Join<Type, JoinedString extends string = ""> = Type extends [infer Head, ...infer Tail] ? Head extends string ? Join<Tail, `${JoinedString}${Head}`> : Join<Tail> : JoinedString;
export type CamelCase<Type> = IsStringLiteral<Type> extends true ? Join<CamelCapitalizer<SplitAnyCase<Type>>> : Type;
export {};
import { CamelCase } from "../camel-case";
export declare type DeepCamelCaseProperties<Type> = Type extends Record<string, unknown> ? {
export type DeepCamelCaseProperties<Type> = Type extends Record<string, unknown> ? {
[Key in keyof Type as CamelCase<Key>]: DeepCamelCaseProperties<Type[Key]>;
} : Type;
import { AnyRecord } from "./any-record";
import { NonUndefinable } from "./non-undefinable";
export declare type DeepModify<Type> =
export type DeepModify<Type> =
| (Type extends AnyRecord

@@ -5,0 +5,0 @@ ? {

import { Builtin } from "../built-in";
export declare type DeepNonNullable<Type> = Type extends Builtin ? NonNullable<Type> : Type extends Map<infer Keys, infer Values> ? Map<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends Set<infer Values> ? Set<DeepNonNullable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepNonNullable<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepNonNullable<Values>> : Type extends Promise<infer Values> ? Promise<DeepNonNullable<Values>> : Type extends {} ? {
export type DeepNonNullable<Type> = Type extends Builtin ? NonNullable<Type> : Type extends Map<infer Keys, infer Values> ? Map<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepNonNullable<Keys>, DeepNonNullable<Values>> : Type extends Set<infer Values> ? Set<DeepNonNullable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepNonNullable<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepNonNullable<Values>> : Type extends Promise<infer Values> ? Promise<DeepNonNullable<Values>> : Type extends {} ? {
[Key in keyof Type]: DeepNonNullable<Type[Key]>;
} : NonNullable<Type>;
import { Builtin } from "../built-in";
import { IsTuple } from "../is-tuple";
export declare type DeepNullable<Type> = Type extends Builtin ? Type | null : Type extends Map<infer Keys, infer Values> ? Map<DeepNullable<Keys>, DeepNullable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepNullable<Keys>, DeepNullable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? DeepNullable<Keys> extends object ? WeakMap<DeepNullable<Keys>, DeepNullable<Values>> : never : Type extends Set<infer Values> ? Set<DeepNullable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepNullable<Values>> : Type extends WeakSet<infer Values> ? DeepNullable<Values> extends object ? WeakSet<DeepNullable<Values>> : never : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
export type DeepNullable<Type> = Type extends Builtin ? Type | null : Type extends Map<infer Keys, infer Values> ? Map<DeepNullable<Keys>, DeepNullable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepNullable<Keys>, DeepNullable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? DeepNullable<Keys> extends object ? WeakMap<DeepNullable<Keys>, DeepNullable<Values>> : never : Type extends Set<infer Values> ? Set<DeepNullable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepNullable<Values>> : Type extends WeakSet<infer Values> ? DeepNullable<Values> extends object ? WeakSet<DeepNullable<Values>> : never : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
[Key in keyof Type]: DeepNullable<Type[Key]> | null;

@@ -5,0 +5,0 @@ } : Type extends Array<Values> ? Array<DeepNullable<Values>> : ReadonlyArray<DeepNullable<Values>> : Type extends Promise<infer Value> ? Promise<DeepNullable<Value>> : Type extends {} ? {

import { AnyRecord } from "../any-record";
import { Builtin } from "../built-in";
import { DeepModify } from "../deep-modify";
export declare type DeepOmit<Type, Filter extends DeepModify<Type>> = Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Filter extends Map<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? Map<Keys, DeepOmit<Values, FilterValues>> : Type : Type : Type extends ReadonlyMap<infer Keys, infer Values> ? Filter extends ReadonlyMap<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? ReadonlyMap<Keys, DeepOmit<Values, FilterValues>> : Type : Type : Type extends WeakMap<infer Keys, infer Values> ? Filter extends WeakMap<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? WeakMap<Keys, DeepOmit<Values, FilterValues>> : Type : Type : Type extends Set<infer Values> ? Filter extends Set<infer FilterValues> ? FilterValues extends DeepModify<Values> ? Set<DeepOmit<Values, FilterValues>> : Type : Type : Type extends ReadonlySet<infer Values> ? Filter extends ReadonlySet<infer FilterValues> ? FilterValues extends DeepModify<Values> ? ReadonlySet<DeepOmit<Values, FilterValues>> : Type : Type : Type extends WeakSet<infer Values> ? Filter extends WeakSet<infer FilterValues> ? FilterValues extends DeepModify<Values> ? WeakSet<DeepOmit<Values, FilterValues>> : Type : Type : Type extends Array<infer Values> ? Filter extends Array<infer FilterValues> ? FilterValues extends DeepModify<Values> ? Array<DeepOmit<Values, FilterValues>> : Type : Type : Type extends Promise<infer Value> ? Filter extends Promise<infer FilterValue> ? FilterValue extends DeepModify<Value> ? Promise<DeepOmit<Value, FilterValue>> : Type : Type : Filter extends AnyRecord ? {
[Key in keyof Type as Key extends keyof Filter ? Filter[Key] extends true ? never : Key : Key]: Key extends keyof Filter ? Filter[Key] extends DeepModify<Type[Key]> ? DeepOmit<Type[Key], Filter[Key]> : Type[Key] : Type[Key];
export type DeepOmit<Type, Filter> = Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Filter extends Map<Keys, infer FilterValues> ? Map<Keys, DeepOmit<Values, FilterValues>> : Type : Type extends ReadonlyMap<infer Keys, infer Values> ? Filter extends ReadonlyMap<Keys, infer FilterValues> ? ReadonlyMap<Keys, DeepOmit<Values, FilterValues>> : Type : Type extends WeakMap<infer Keys, infer Values> ? Filter extends WeakMap<Keys, infer FilterValues> ? WeakMap<Keys, DeepOmit<Values, FilterValues>> : Type : Type extends Set<infer Values> ? Filter extends Set<infer FilterValues> ? Set<DeepOmit<Values, FilterValues>> : Type : Type extends ReadonlySet<infer Values> ? Filter extends ReadonlySet<infer FilterValues> ? ReadonlySet<DeepOmit<Values, FilterValues>> : Type : Type extends WeakSet<infer Values> ? Filter extends WeakSet<infer FilterValues> ? WeakSet<DeepOmit<Values, FilterValues>> : Type : Type extends Array<infer Values> ? Filter extends Array<infer FilterValues> ? Array<DeepOmit<Values, FilterValues>> : Type : Type extends Promise<infer Value> ? Filter extends Promise<infer FilterValue> ? Promise<DeepOmit<Value, FilterValue>> : Type : Filter extends AnyRecord ? {
[Key in keyof Type as Key extends keyof Filter ? Filter[Key] extends true ? never : Key : Key]: Key extends keyof Filter ? DeepOmit<Type[Key], Filter[Key]> : Type[Key];
} : never;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1vbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlSZWNvcmQgfSBmcm9tIFwiLi4vYW55LXJlY29yZFwiO1xuaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuaW1wb3J0IHsgRGVlcE1vZGlmeSB9IGZyb20gXCIuLi9kZWVwLW1vZGlmeVwiO1xuXG5leHBvcnQgdHlwZSBEZWVwT21pdDxUeXBlLCBGaWx0ZXIgZXh0ZW5kcyBEZWVwTW9kaWZ5PFR5cGU+PiA9IFR5cGUgZXh0ZW5kcyBCdWlsdGluXG4gID8gVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIE1hcDxLZXlzLCBpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBGaWx0ZXJWYWx1ZXMgZXh0ZW5kcyBEZWVwTW9kaWZ5PFZhbHVlcz5cbiAgICAgID8gTWFwPEtleXMsIERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seU1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgUmVhZG9ubHlNYXA8S2V5cywgaW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IFJlYWRvbmx5TWFwPEtleXMsIERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrTWFwPGluZmVyIEtleXMsIGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBXZWFrTWFwPEtleXMsIGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IEZpbHRlclZhbHVlcyBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWVzPlxuICAgICAgPyBXZWFrTWFwPEtleXMsIERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFNldDxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBGaWx0ZXJWYWx1ZXMgZXh0ZW5kcyBEZWVwTW9kaWZ5PFZhbHVlcz5cbiAgICAgID8gU2V0PERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seVNldDxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgUmVhZG9ubHlTZXQ8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IFJlYWRvbmx5U2V0PERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IEZpbHRlclZhbHVlcyBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWVzPlxuICAgICAgPyBXZWFrU2V0PERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBBcnJheTxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgQXJyYXk8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IEFycmF5PERlZXBPbWl0PFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFZhbHVlPlxuICA/IEZpbHRlciBleHRlbmRzIFByb21pc2U8aW5mZXIgRmlsdGVyVmFsdWU+XG4gICAgPyBGaWx0ZXJWYWx1ZSBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWU+XG4gICAgICA/IFByb21pc2U8RGVlcE9taXQ8VmFsdWUsIEZpbHRlclZhbHVlPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IEZpbHRlciBleHRlbmRzIEFueVJlY29yZFxuICA/IHtcbiAgICAgIFtLZXkgaW4ga2V5b2YgVHlwZSBhcyBLZXkgZXh0ZW5kcyBrZXlvZiBGaWx0ZXJcbiAgICAgICAgPyBGaWx0ZXJbS2V5XSBleHRlbmRzIHRydWVcbiAgICAgICAgICA/IG5ldmVyXG4gICAgICAgICAgOiBLZXlcbiAgICAgICAgOiBLZXldOiBLZXkgZXh0ZW5kcyBrZXlvZiBGaWx0ZXJcbiAgICAgICAgPyBGaWx0ZXJbS2V5XSBleHRlbmRzIERlZXBNb2RpZnk8VHlwZVtLZXldPlxuICAgICAgICAgID8gRGVlcE9taXQ8VHlwZVtLZXldLCBGaWx0ZXJbS2V5XT5cbiAgICAgICAgICA6IFR5cGVbS2V5XVxuICAgICAgICA6IFR5cGVbS2V5XTtcbiAgICB9XG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1vbWl0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlSZWNvcmQgfSBmcm9tIFwiLi4vYW55LXJlY29yZFwiO1xuaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuXG5leHBvcnQgdHlwZSBEZWVwT21pdDxUeXBlLCBGaWx0ZXI+ID0gVHlwZSBleHRlbmRzIEJ1aWx0aW5cbiAgPyBUeXBlXG4gIDogVHlwZSBleHRlbmRzIE1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgTWFwPEtleXMsIGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IE1hcDxLZXlzLCBEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFJlYWRvbmx5TWFwPGluZmVyIEtleXMsIGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBSZWFkb25seU1hcDxLZXlzLCBpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBSZWFkb25seU1hcDxLZXlzLCBEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFdlYWtNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFdlYWtNYXA8S2V5cywgaW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gV2Vha01hcDxLZXlzLCBEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFNldDxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgU2V0PGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IFNldDxEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFJlYWRvbmx5U2V0PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBSZWFkb25seVNldDxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBSZWFkb25seVNldDxEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFdlYWtTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFdlYWtTZXQ8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gV2Vha1NldDxEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIEFycmF5PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBBcnJheTxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBBcnJheTxEZWVwT21pdDxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFByb21pc2U8aW5mZXIgVmFsdWU+XG4gID8gRmlsdGVyIGV4dGVuZHMgUHJvbWlzZTxpbmZlciBGaWx0ZXJWYWx1ZT5cbiAgICA/IFByb21pc2U8RGVlcE9taXQ8VmFsdWUsIEZpbHRlclZhbHVlPj5cbiAgICA6IFR5cGVcbiAgOiBGaWx0ZXIgZXh0ZW5kcyBBbnlSZWNvcmRcbiAgPyB7XG4gICAgICBbS2V5IGluIGtleW9mIFR5cGUgYXMgS2V5IGV4dGVuZHMga2V5b2YgRmlsdGVyXG4gICAgICAgID8gRmlsdGVyW0tleV0gZXh0ZW5kcyB0cnVlXG4gICAgICAgICAgPyBuZXZlclxuICAgICAgICAgIDogS2V5XG4gICAgICAgIDogS2V5XTogS2V5IGV4dGVuZHMga2V5b2YgRmlsdGVyID8gRGVlcE9taXQ8VHlwZVtLZXldLCBGaWx0ZXJbS2V5XT4gOiBUeXBlW0tleV07XG4gICAgfVxuICA6IG5ldmVyO1xuIl19
import { Builtin } from "../built-in";
import { IsTuple } from "../is-tuple";
import { IsUnknown } from "../is-unknown";
export declare type DeepPartial<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Keys, infer Values> ? Map<DeepPartial<Keys>, DeepPartial<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepPartial<Keys>, DeepPartial<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepPartial<Keys>, DeepPartial<Values>> : Type extends Set<infer Values> ? Set<DeepPartial<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepPartial<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepPartial<Values>> : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
export type DeepPartial<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Keys, infer Values> ? Map<DeepPartial<Keys>, DeepPartial<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepPartial<Keys>, DeepPartial<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepPartial<Keys>, DeepPartial<Values>> : Type extends Set<infer Values> ? Set<DeepPartial<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepPartial<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepPartial<Values>> : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
[Key in keyof Type]?: DeepPartial<Type[Key]>;

@@ -6,0 +6,0 @@ } : Type extends Array<Values> ? Array<DeepPartial<Values> | undefined> : ReadonlyArray<DeepPartial<Values> | undefined> : Type extends Promise<infer Value> ? Promise<DeepPartial<Value>> : Type extends {} ? {

import { AnyRecord } from "../any-record";
import { Builtin } from "../built-in";
import { DeepModify } from "../deep-modify";
export declare type DeepPick<Type, Filter extends DeepModify<Type>> = Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Filter extends Map<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? Map<Keys, DeepPick<Values, FilterValues>> : Type : Type : Type extends ReadonlyMap<infer Keys, infer Values> ? Filter extends ReadonlyMap<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? ReadonlyMap<Keys, DeepPick<Values, FilterValues>> : Type : Type : Type extends WeakMap<infer Keys, infer Values> ? Filter extends WeakMap<Keys, infer FilterValues> ? FilterValues extends DeepModify<Values> ? WeakMap<Keys, DeepPick<Values, FilterValues>> : Type : Type : Type extends Set<infer Values> ? Filter extends Set<infer FilterValues> ? FilterValues extends DeepModify<Values> ? Set<DeepPick<Values, FilterValues>> : Type : Type : Type extends ReadonlySet<infer Values> ? Filter extends ReadonlySet<infer FilterValues> ? FilterValues extends DeepModify<Values> ? ReadonlySet<DeepPick<Values, FilterValues>> : Type : Type : Type extends WeakSet<infer Values> ? Filter extends WeakSet<infer FilterValues> ? FilterValues extends DeepModify<Values> ? WeakSet<DeepPick<Values, FilterValues>> : Type : Type : Type extends Array<infer Values> ? Filter extends Array<infer FilterValues> ? FilterValues extends DeepModify<Values> ? Array<DeepPick<Values, FilterValues>> : Type : Type : Type extends Promise<infer Value> ? Filter extends Promise<infer FilterValue> ? FilterValue extends DeepModify<Value> ? Promise<DeepPick<Value, FilterValue>> : Type : Type : Filter extends AnyRecord ? {
[Key in keyof Type as Key extends keyof Filter ? Key : never]: Filter[Key & keyof Filter] extends true ? Type[Key] : Key extends keyof Filter ? Filter[Key] extends DeepModify<Type[Key]> ? DeepPick<Type[Key], Filter[Key]> : never : never;
export type DeepPick<Type, Filter> = Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Filter extends Map<Keys, infer FilterValues> ? Map<Keys, DeepPick<Values, FilterValues>> : Type : Type extends ReadonlyMap<infer Keys, infer Values> ? Filter extends ReadonlyMap<Keys, infer FilterValues> ? ReadonlyMap<Keys, DeepPick<Values, FilterValues>> : Type : Type extends WeakMap<infer Keys, infer Values> ? Filter extends WeakMap<Keys, infer FilterValues> ? WeakMap<Keys, DeepPick<Values, FilterValues>> : Type : Type extends Set<infer Values> ? Filter extends Set<infer FilterValues> ? Set<DeepPick<Values, FilterValues>> : Type : Type extends ReadonlySet<infer Values> ? Filter extends ReadonlySet<infer FilterValues> ? ReadonlySet<DeepPick<Values, FilterValues>> : Type : Type extends WeakSet<infer Values> ? Filter extends WeakSet<infer FilterValues> ? WeakSet<DeepPick<Values, FilterValues>> : Type : Type extends Array<infer Values> ? Filter extends Array<infer FilterValues> ? Array<DeepPick<Values, FilterValues>> : Type : Type extends Promise<infer Value> ? Filter extends Promise<infer FilterValue> ? Promise<DeepPick<Value, FilterValue>> : Type : Filter extends AnyRecord ? {
[Key in keyof Type as Key extends keyof Filter ? Key : never]: Filter[Key & keyof Filter] extends true ? Type[Key] : Key extends keyof Filter ? DeepPick<Type[Key], Filter[Key]> : never;
} : never;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1waWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlSZWNvcmQgfSBmcm9tIFwiLi4vYW55LXJlY29yZFwiO1xuaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuaW1wb3J0IHsgRGVlcE1vZGlmeSB9IGZyb20gXCIuLi9kZWVwLW1vZGlmeVwiO1xuXG5leHBvcnQgdHlwZSBEZWVwUGljazxUeXBlLCBGaWx0ZXIgZXh0ZW5kcyBEZWVwTW9kaWZ5PFR5cGU+PiA9IFR5cGUgZXh0ZW5kcyBCdWlsdGluXG4gID8gVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIE1hcDxLZXlzLCBpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBGaWx0ZXJWYWx1ZXMgZXh0ZW5kcyBEZWVwTW9kaWZ5PFZhbHVlcz5cbiAgICAgID8gTWFwPEtleXMsIERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seU1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgUmVhZG9ubHlNYXA8S2V5cywgaW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IFJlYWRvbmx5TWFwPEtleXMsIERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrTWFwPGluZmVyIEtleXMsIGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBXZWFrTWFwPEtleXMsIGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IEZpbHRlclZhbHVlcyBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWVzPlxuICAgICAgPyBXZWFrTWFwPEtleXMsIERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFNldDxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBGaWx0ZXJWYWx1ZXMgZXh0ZW5kcyBEZWVwTW9kaWZ5PFZhbHVlcz5cbiAgICAgID8gU2V0PERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seVNldDxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgUmVhZG9ubHlTZXQ8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IFJlYWRvbmx5U2V0PERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IEZpbHRlclZhbHVlcyBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWVzPlxuICAgICAgPyBXZWFrU2V0PERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBBcnJheTxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgQXJyYXk8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gRmlsdGVyVmFsdWVzIGV4dGVuZHMgRGVlcE1vZGlmeTxWYWx1ZXM+XG4gICAgICA/IEFycmF5PERlZXBQaWNrPFZhbHVlcywgRmlsdGVyVmFsdWVzPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFZhbHVlPlxuICA/IEZpbHRlciBleHRlbmRzIFByb21pc2U8aW5mZXIgRmlsdGVyVmFsdWU+XG4gICAgPyBGaWx0ZXJWYWx1ZSBleHRlbmRzIERlZXBNb2RpZnk8VmFsdWU+XG4gICAgICA/IFByb21pc2U8RGVlcFBpY2s8VmFsdWUsIEZpbHRlclZhbHVlPj5cbiAgICAgIDogVHlwZVxuICAgIDogVHlwZVxuICA6IEZpbHRlciBleHRlbmRzIEFueVJlY29yZFxuICA/IHtcbiAgICAgIC8vIGl0ZXJhdGUgb3ZlciBrZXlzIG9mIFR5cGUsIHdoaWNoIGtlZXBzIHRoZSBpbmZvcm1hdGlvbiBhYm91dCBrZXlzOiBvcHRpb25hbCwgcmVxdWlyZWQgb3IgcmVhZG9ubHlcbiAgICAgIFtLZXkgaW4ga2V5b2YgVHlwZSBhcyBLZXkgZXh0ZW5kcyBrZXlvZiBGaWx0ZXIgPyBLZXkgOiBuZXZlcl06IEZpbHRlcltLZXkgJiBrZXlvZiBGaWx0ZXJdIGV4dGVuZHMgdHJ1ZVxuICAgICAgICA/IFR5cGVbS2V5XVxuICAgICAgICA6IEtleSBleHRlbmRzIGtleW9mIEZpbHRlclxuICAgICAgICA/IEZpbHRlcltLZXldIGV4dGVuZHMgRGVlcE1vZGlmeTxUeXBlW0tleV0+XG4gICAgICAgICAgPyBEZWVwUGljazxUeXBlW0tleV0sIEZpbHRlcltLZXldPlxuICAgICAgICAgIDogbmV2ZXJcbiAgICAgICAgOiBuZXZlcjtcbiAgICB9XG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1waWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBbnlSZWNvcmQgfSBmcm9tIFwiLi4vYW55LXJlY29yZFwiO1xuaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuXG5leHBvcnQgdHlwZSBEZWVwUGljazxUeXBlLCBGaWx0ZXI+ID0gVHlwZSBleHRlbmRzIEJ1aWx0aW5cbiAgPyBUeXBlXG4gIDogVHlwZSBleHRlbmRzIE1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgTWFwPEtleXMsIGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IE1hcDxLZXlzLCBEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFJlYWRvbmx5TWFwPGluZmVyIEtleXMsIGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBSZWFkb25seU1hcDxLZXlzLCBpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBSZWFkb25seU1hcDxLZXlzLCBEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFdlYWtNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFdlYWtNYXA8S2V5cywgaW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gV2Vha01hcDxLZXlzLCBEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFNldDxpbmZlciBWYWx1ZXM+XG4gID8gRmlsdGVyIGV4dGVuZHMgU2V0PGluZmVyIEZpbHRlclZhbHVlcz5cbiAgICA/IFNldDxEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFJlYWRvbmx5U2V0PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBSZWFkb25seVNldDxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBSZWFkb25seVNldDxEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFdlYWtTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IEZpbHRlciBleHRlbmRzIFdlYWtTZXQ8aW5mZXIgRmlsdGVyVmFsdWVzPlxuICAgID8gV2Vha1NldDxEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIEFycmF5PGluZmVyIFZhbHVlcz5cbiAgPyBGaWx0ZXIgZXh0ZW5kcyBBcnJheTxpbmZlciBGaWx0ZXJWYWx1ZXM+XG4gICAgPyBBcnJheTxEZWVwUGljazxWYWx1ZXMsIEZpbHRlclZhbHVlcz4+XG4gICAgOiBUeXBlXG4gIDogVHlwZSBleHRlbmRzIFByb21pc2U8aW5mZXIgVmFsdWU+XG4gID8gRmlsdGVyIGV4dGVuZHMgUHJvbWlzZTxpbmZlciBGaWx0ZXJWYWx1ZT5cbiAgICA/IFByb21pc2U8RGVlcFBpY2s8VmFsdWUsIEZpbHRlclZhbHVlPj5cbiAgICA6IFR5cGVcbiAgOiBGaWx0ZXIgZXh0ZW5kcyBBbnlSZWNvcmRcbiAgPyB7XG4gICAgICAvLyBpdGVyYXRlIG92ZXIga2V5cyBvZiBUeXBlLCB3aGljaCBrZWVwcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQga2V5czogb3B0aW9uYWwsIHJlcXVpcmVkIG9yIHJlYWRvbmx5XG4gICAgICBbS2V5IGluIGtleW9mIFR5cGUgYXMgS2V5IGV4dGVuZHMga2V5b2YgRmlsdGVyID8gS2V5IDogbmV2ZXJdOiBGaWx0ZXJbS2V5ICYga2V5b2YgRmlsdGVyXSBleHRlbmRzIHRydWVcbiAgICAgICAgPyBUeXBlW0tleV1cbiAgICAgICAgOiBLZXkgZXh0ZW5kcyBrZXlvZiBGaWx0ZXJcbiAgICAgICAgPyBEZWVwUGljazxUeXBlW0tleV0sIEZpbHRlcltLZXldPlxuICAgICAgICA6IG5ldmVyO1xuICAgIH1cbiAgOiBuZXZlcjtcbiJdfQ==

@@ -5,3 +5,3 @@ import { AnyArray } from "../any-array";

import { IsUnknown } from "../is-unknown";
export declare type DeepReadonly<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Keys, infer Values> ? ReadonlyMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends Set<infer Values> ? ReadonlySet<DeepReadonly<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepReadonly<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepReadonly<Values>> : Type extends Promise<infer Value> ? Promise<DeepReadonly<Value>> : Type extends AnyArray<infer Values> ? Type extends IsTuple<Type> ? {
export type DeepReadonly<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Keys, infer Values> ? ReadonlyMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepReadonly<Keys>, DeepReadonly<Values>> : Type extends Set<infer Values> ? ReadonlySet<DeepReadonly<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepReadonly<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepReadonly<Values>> : Type extends Promise<infer Value> ? Promise<DeepReadonly<Value>> : Type extends AnyArray<infer Values> ? Type extends IsTuple<Type> ? {
readonly [Key in keyof Type]: DeepReadonly<Type[Key]>;

@@ -8,0 +8,0 @@ } : ReadonlyArray<DeepReadonly<Values>> : Type extends {} ? {

import { Builtin } from "../built-in";
export declare type DeepRequired<Type> = Type extends Error ? Required<Type> : Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Map<DeepRequired<Keys>, DeepRequired<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepRequired<Keys>, DeepRequired<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepRequired<Keys>, DeepRequired<Values>> : Type extends Set<infer Values> ? Set<DeepRequired<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepRequired<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepRequired<Values>> : Type extends Promise<infer Value> ? Promise<DeepRequired<Value>> : Type extends {} ? {
import { IsTuple } from "../is-tuple";
export type DeepRequired<Type> = Type extends Error ? Required<Type> : Type extends Builtin ? Type : Type extends Map<infer Keys, infer Values> ? Map<DeepRequired<Keys>, DeepRequired<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepRequired<Keys>, DeepRequired<Values>> : Type extends WeakMap<infer Keys, infer Values> ? WeakMap<DeepRequired<Keys>, DeepRequired<Values>> : Type extends Set<infer Values> ? Set<DeepRequired<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepRequired<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepRequired<Values>> : Type extends Promise<infer Value> ? Promise<DeepRequired<Value>> : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
[Key in keyof Type]-?: DeepRequired<Type[Key]>;
} : Type extends Array<Values> ? Array<Exclude<DeepRequired<Values>, undefined>> : ReadonlyArray<Exclude<DeepRequired<Values>, undefined>> : Type extends {} ? {
[Key in keyof Type]-?: DeepRequired<Type[Key]>;
} : Required<Type>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1yZXF1aXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuXG5leHBvcnQgdHlwZSBEZWVwUmVxdWlyZWQ8VHlwZT4gPSBUeXBlIGV4dGVuZHMgRXJyb3JcbiAgPyBSZXF1aXJlZDxUeXBlPlxuICA6IFR5cGUgZXh0ZW5kcyBCdWlsdGluXG4gID8gVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IE1hcDxEZWVwUmVxdWlyZWQ8S2V5cz4sIERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seU1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gUmVhZG9ubHlNYXA8RGVlcFJlcXVpcmVkPEtleXM+LCBEZWVwUmVxdWlyZWQ8VmFsdWVzPj5cbiAgOiBUeXBlIGV4dGVuZHMgV2Vha01hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gV2Vha01hcDxEZWVwUmVxdWlyZWQ8S2V5cz4sIERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IFNldDxEZWVwUmVxdWlyZWQ8VmFsdWVzPj5cbiAgOiBUeXBlIGV4dGVuZHMgUmVhZG9ubHlTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IFJlYWRvbmx5U2V0PERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIFZhbHVlcz5cbiAgPyBXZWFrU2V0PERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFZhbHVlPlxuICA/IFByb21pc2U8RGVlcFJlcXVpcmVkPFZhbHVlPj5cbiAgOiBUeXBlIGV4dGVuZHMge31cbiAgPyB7IFtLZXkgaW4ga2V5b2YgVHlwZV0tPzogRGVlcFJlcXVpcmVkPFR5cGVbS2V5XT4gfVxuICA6IFJlcXVpcmVkPFR5cGU+O1xuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZGVlcC1yZXF1aXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVpbHRpbiB9IGZyb20gXCIuLi9idWlsdC1pblwiO1xuaW1wb3J0IHsgSXNUdXBsZSB9IGZyb20gXCIuLi9pcy10dXBsZVwiO1xuXG5leHBvcnQgdHlwZSBEZWVwUmVxdWlyZWQ8VHlwZT4gPSBUeXBlIGV4dGVuZHMgRXJyb3JcbiAgPyBSZXF1aXJlZDxUeXBlPlxuICA6IFR5cGUgZXh0ZW5kcyBCdWlsdGluXG4gID8gVHlwZVxuICA6IFR5cGUgZXh0ZW5kcyBNYXA8aW5mZXIgS2V5cywgaW5mZXIgVmFsdWVzPlxuICA/IE1hcDxEZWVwUmVxdWlyZWQ8S2V5cz4sIERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBSZWFkb25seU1hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gUmVhZG9ubHlNYXA8RGVlcFJlcXVpcmVkPEtleXM+LCBEZWVwUmVxdWlyZWQ8VmFsdWVzPj5cbiAgOiBUeXBlIGV4dGVuZHMgV2Vha01hcDxpbmZlciBLZXlzLCBpbmZlciBWYWx1ZXM+XG4gID8gV2Vha01hcDxEZWVwUmVxdWlyZWQ8S2V5cz4sIERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IFNldDxEZWVwUmVxdWlyZWQ8VmFsdWVzPj5cbiAgOiBUeXBlIGV4dGVuZHMgUmVhZG9ubHlTZXQ8aW5mZXIgVmFsdWVzPlxuICA/IFJlYWRvbmx5U2V0PERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBXZWFrU2V0PGluZmVyIFZhbHVlcz5cbiAgPyBXZWFrU2V0PERlZXBSZXF1aXJlZDxWYWx1ZXM+PlxuICA6IFR5cGUgZXh0ZW5kcyBQcm9taXNlPGluZmVyIFZhbHVlPlxuICA/IFByb21pc2U8RGVlcFJlcXVpcmVkPFZhbHVlPj5cbiAgOiBUeXBlIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBWYWx1ZXM+XG4gID8gVHlwZSBleHRlbmRzIElzVHVwbGU8VHlwZT5cbiAgICA/IHsgW0tleSBpbiBrZXlvZiBUeXBlXS0/OiBEZWVwUmVxdWlyZWQ8VHlwZVtLZXldPiB9XG4gICAgOiBUeXBlIGV4dGVuZHMgQXJyYXk8VmFsdWVzPlxuICAgID8gQXJyYXk8RXhjbHVkZTxEZWVwUmVxdWlyZWQ8VmFsdWVzPiwgdW5kZWZpbmVkPj5cbiAgICA6IFJlYWRvbmx5QXJyYXk8RXhjbHVkZTxEZWVwUmVxdWlyZWQ8VmFsdWVzPiwgdW5kZWZpbmVkPj5cbiAgOiBUeXBlIGV4dGVuZHMge31cbiAgPyB7IFtLZXkgaW4ga2V5b2YgVHlwZV0tPzogRGVlcFJlcXVpcmVkPFR5cGVbS2V5XT4gfVxuICA6IFJlcXVpcmVkPFR5cGU+O1xuIl19
import { Builtin } from "../built-in";
import { IsTuple } from "../is-tuple";
export declare type DeepUndefinable<Type> = Type extends Builtin ? Type | undefined : Type extends Map<infer Keys, infer Values> ? Map<DeepUndefinable<Keys>, DeepUndefinable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepUndefinable<Keys>, DeepUndefinable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? DeepUndefinable<Keys> extends object ? WeakMap<DeepUndefinable<Keys>, DeepUndefinable<Values>> : never : Type extends Set<infer Values> ? Set<DeepUndefinable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepUndefinable<Values>> : Type extends WeakSet<infer Values> ? DeepUndefinable<Values> extends object ? WeakSet<DeepUndefinable<Values>> : never : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
export type DeepUndefinable<Type> = Type extends Builtin ? Type | undefined : Type extends Map<infer Keys, infer Values> ? Map<DeepUndefinable<Keys>, DeepUndefinable<Values>> : Type extends ReadonlyMap<infer Keys, infer Values> ? ReadonlyMap<DeepUndefinable<Keys>, DeepUndefinable<Values>> : Type extends WeakMap<infer Keys, infer Values> ? DeepUndefinable<Keys> extends object ? WeakMap<DeepUndefinable<Keys>, DeepUndefinable<Values>> : never : Type extends Set<infer Values> ? Set<DeepUndefinable<Values>> : Type extends ReadonlySet<infer Values> ? ReadonlySet<DeepUndefinable<Values>> : Type extends WeakSet<infer Values> ? DeepUndefinable<Values> extends object ? WeakSet<DeepUndefinable<Values>> : never : Type extends ReadonlyArray<infer Values> ? Type extends IsTuple<Type> ? {
[Key in keyof Type]: DeepUndefinable<Type[Key]> | undefined;

@@ -5,0 +5,0 @@ } : Type extends Array<Values> ? Array<DeepUndefinable<Values>> : ReadonlyArray<DeepUndefinable<Values>> : Type extends Promise<infer Value> ? Promise<DeepUndefinable<Value>> : Type extends {} ? {

import { Builtin } from "../built-in";
import { IsUnknown } from "../is-unknown";
export declare type DeepWritable<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Key, infer Value> ? Map<DeepWritable<Key>, DeepWritable<Value>> : Type extends ReadonlyMap<infer Key, infer Value> ? Map<DeepWritable<Key>, DeepWritable<Value>> : Type extends WeakMap<infer Key, infer Value> ? WeakMap<DeepWritable<Key>, DeepWritable<Value>> : Type extends Set<infer Values> ? Set<DeepWritable<Values>> : Type extends ReadonlySet<infer Values> ? Set<DeepWritable<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepWritable<Values>> : Type extends Promise<infer Value> ? Promise<DeepWritable<Value>> : Type extends {} ? {
export type DeepWritable<Type> = Type extends Exclude<Builtin, Error> ? Type : Type extends Map<infer Key, infer Value> ? Map<DeepWritable<Key>, DeepWritable<Value>> : Type extends ReadonlyMap<infer Key, infer Value> ? Map<DeepWritable<Key>, DeepWritable<Value>> : Type extends WeakMap<infer Key, infer Value> ? WeakMap<DeepWritable<Key>, DeepWritable<Value>> : Type extends Set<infer Values> ? Set<DeepWritable<Values>> : Type extends ReadonlySet<infer Values> ? Set<DeepWritable<Values>> : Type extends WeakSet<infer Values> ? WeakSet<DeepWritable<Values>> : Type extends Promise<infer Value> ? Promise<DeepWritable<Value>> : Type extends {} ? {
-readonly [Key in keyof Type]: DeepWritable<Type[Key]>;
} : IsUnknown<Type> extends true ? unknown : Type;

@@ -1,1 +0,1 @@

export declare type DictionaryValues<Type> = Type[keyof Type];
export type DictionaryValues<Type> = Type[keyof Type];
import { KeyofBase } from "../key-of-base";
export declare type Dictionary<Type, Keys extends KeyofBase = string> = {
export type Dictionary<Type, Keys extends KeyofBase = string> = {
[key in Keys]: Type;
};

@@ -1,1 +0,1 @@

export declare type ElementOf<Type extends readonly any[]> = Type extends readonly (infer Values)[] ? Values : never;
export type ElementOf<Type extends readonly any[]> = Type extends readonly (infer Values)[] ? Values : never;

@@ -1,1 +0,37 @@

export declare type Exact<Type, Shape> = Type extends Shape ? Exclude<keyof Type, keyof Shape> extends never ? Type : never : never;
import { AnyRecord } from "../any-record";
import { IsNever } from "../is-never";
type IsUnion<TUnion> = UnionToTuple<TUnion>["length"] extends 1 ? false : true;
type UnionToFunctionInsertion<TUnion> = (TUnion extends any ? (arg: () => TUnion) => any : never) extends (arg: infer TParam) => any ? TParam : never;
type UnionToTuple<TUnion> = UnionToFunctionInsertion<TUnion> extends () => infer TReturnType ? [...UnionToTuple<Exclude<TUnion, TReturnType>>, TReturnType] : [];
type ExactUnionLength<TValue, TShape, TValueLength = UnionToTuple<TValue>["length"], TShapeLength = UnionToTuple<TShape>["length"]> = TValueLength extends TShapeLength ? true : false;
type Xor<T, U> = T extends true ? (U extends true ? true : false) : U extends false ? true : false;
type And<TTuple> = TTuple extends [infer Head, ...infer Rest] ? Head extends true ? And<Rest> : false : TTuple extends [] ? true : false;
type ObjectKeyExact<TValue, TShape> = And<[
IsNever<Exclude<keyof TValue, keyof TShape>>,
IsNever<Exclude<keyof TShape, keyof TValue>>
]>;
type ObjectValueDiff<TValue, TShape> = {
[TKey in keyof TValue]: Exclude<TValue[TKey], TShape[TKey & keyof TShape]>;
}[keyof TValue];
type ObjectValueExact<TValue, TShape> = And<[
IsNever<ObjectValueDiff<TValue, TShape>>,
IsNever<ObjectValueDiff<TShape, TValue>>
]>;
type ObjectExact<TValue, TShape> = [TValue] extends [TShape] ? And<[
Xor<IsUnion<TValue>, IsUnion<TShape>>,
ExactUnionLength<TValue, TShape>,
ObjectKeyExact<TValue, TShape>,
ObjectValueExact<TValue, TShape>
]> extends true ? TValue : never : never;
type IsArray<TValue> = [TValue] extends [readonly any[]] ? true : false;
type IsReadonly<TArray> = Readonly<TArray> extends TArray ? true : false;
type SameLength<TValue extends readonly any[], TShape extends readonly any[]> = IsNever<PrimitiveExact<TValue["length"], TShape["length"]>> extends true ? false : true;
type ArrayExact<TValue extends readonly any[], TShape extends readonly any[]> = And<[
IsArray<TValue>,
IsArray<TShape>,
SameLength<TValue, TShape>,
Xor<IsReadonly<TValue>, IsReadonly<TShape>>
]> extends true ? [TValue, TShape] extends [readonly (infer TValueElement)[], readonly (infer TShapeElement)[]] ? Exact<TValueElement, TShapeElement> extends TValueElement ? TValue : never : never : never;
type PrimitiveExact<TValue, TShape> = [TValue] extends [TShape] ? ([TShape] extends [TValue] ? TValue : never) : never;
export type Exact<TValue, TShape> = [TValue] extends [readonly any[]] ? [TShape] extends [readonly any[]] ? ArrayExact<TValue, TShape> : never : [TValue] extends [AnyRecord] ? ObjectExact<TValue, TShape> : PrimitiveExact<TValue, TShape>;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXhhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEV4YWN0PFR5cGUsIFNoYXBlPiA9IFR5cGUgZXh0ZW5kcyBTaGFwZVxuICA/IEV4Y2x1ZGU8a2V5b2YgVHlwZSwga2V5b2YgU2hhcGU+IGV4dGVuZHMgbmV2ZXJcbiAgICA/IFR5cGVcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvZXhhY3QvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFueVJlY29yZCB9IGZyb20gXCIuLi9hbnktcmVjb3JkXCI7XG5pbXBvcnQgeyBJc05ldmVyIH0gZnJvbSBcIi4uL2lzLW5ldmVyXCI7XG5cbnR5cGUgSXNVbmlvbjxUVW5pb24+ID0gVW5pb25Ub1R1cGxlPFRVbmlvbj5bXCJsZW5ndGhcIl0gZXh0ZW5kcyAxID8gZmFsc2UgOiB0cnVlO1xuXG50eXBlIFVuaW9uVG9GdW5jdGlvbkluc2VydGlvbjxUVW5pb24+ID0gKFRVbmlvbiBleHRlbmRzIGFueSA/IChhcmc6ICgpID0+IFRVbmlvbikgPT4gYW55IDogbmV2ZXIpIGV4dGVuZHMgKFxuICBhcmc6IGluZmVyIFRQYXJhbSxcbikgPT4gYW55XG4gID8gVFBhcmFtXG4gIDogbmV2ZXI7XG5cbnR5cGUgVW5pb25Ub1R1cGxlPFRVbmlvbj4gPSBVbmlvblRvRnVuY3Rpb25JbnNlcnRpb248VFVuaW9uPiBleHRlbmRzICgpID0+IGluZmVyIFRSZXR1cm5UeXBlXG4gID8gWy4uLlVuaW9uVG9UdXBsZTxFeGNsdWRlPFRVbmlvbiwgVFJldHVyblR5cGU+PiwgVFJldHVyblR5cGVdXG4gIDogW107XG5cbnR5cGUgRXhhY3RVbmlvbkxlbmd0aDxcbiAgVFZhbHVlLFxuICBUU2hhcGUsXG4gIFRWYWx1ZUxlbmd0aCA9IFVuaW9uVG9UdXBsZTxUVmFsdWU+W1wibGVuZ3RoXCJdLFxuICBUU2hhcGVMZW5ndGggPSBVbmlvblRvVHVwbGU8VFNoYXBlPltcImxlbmd0aFwiXSxcbj4gPSBUVmFsdWVMZW5ndGggZXh0ZW5kcyBUU2hhcGVMZW5ndGggPyB0cnVlIDogZmFsc2U7XG5cbnR5cGUgWG9yPFQsIFU+ID0gVCBleHRlbmRzIHRydWUgPyAoVSBleHRlbmRzIHRydWUgPyB0cnVlIDogZmFsc2UpIDogVSBleHRlbmRzIGZhbHNlID8gdHJ1ZSA6IGZhbHNlO1xuXG50eXBlIEFuZDxUVHVwbGU+ID0gVFR1cGxlIGV4dGVuZHMgW2luZmVyIEhlYWQsIC4uLmluZmVyIFJlc3RdXG4gID8gSGVhZCBleHRlbmRzIHRydWVcbiAgICA/IEFuZDxSZXN0PlxuICAgIDogZmFsc2VcbiAgOiBUVHVwbGUgZXh0ZW5kcyBbXVxuICA/IHRydWVcbiAgOiBmYWxzZTtcblxudHlwZSBPYmplY3RLZXlFeGFjdDxUVmFsdWUsIFRTaGFwZT4gPSBBbmQ8XG4gIFtJc05ldmVyPEV4Y2x1ZGU8a2V5b2YgVFZhbHVlLCBrZXlvZiBUU2hhcGU+PiwgSXNOZXZlcjxFeGNsdWRlPGtleW9mIFRTaGFwZSwga2V5b2YgVFZhbHVlPj5dXG4+O1xuXG50eXBlIE9iamVjdFZhbHVlRGlmZjxUVmFsdWUsIFRTaGFwZT4gPSB7XG4gIFtUS2V5IGluIGtleW9mIFRWYWx1ZV06IEV4Y2x1ZGU8VFZhbHVlW1RLZXldLCBUU2hhcGVbVEtleSAmIGtleW9mIFRTaGFwZV0+O1xufVtrZXlvZiBUVmFsdWVdO1xuXG50eXBlIE9iamVjdFZhbHVlRXhhY3Q8VFZhbHVlLCBUU2hhcGU+ID0gQW5kPFxuICBbSXNOZXZlcjxPYmplY3RWYWx1ZURpZmY8VFZhbHVlLCBUU2hhcGU+PiwgSXNOZXZlcjxPYmplY3RWYWx1ZURpZmY8VFNoYXBlLCBUVmFsdWU+Pl1cbj47XG5cbnR5cGUgT2JqZWN0RXhhY3Q8VFZhbHVlLCBUU2hhcGU+ID0gW1RWYWx1ZV0gZXh0ZW5kcyBbVFNoYXBlXVxuICA/IEFuZDxcbiAgICAgIFtcbiAgICAgICAgWG9yPElzVW5pb248VFZhbHVlPiwgSXNVbmlvbjxUU2hhcGU+PixcbiAgICAgICAgRXhhY3RVbmlvbkxlbmd0aDxUVmFsdWUsIFRTaGFwZT4sXG4gICAgICAgIE9iamVjdEtleUV4YWN0PFRWYWx1ZSwgVFNoYXBlPixcbiAgICAgICAgT2JqZWN0VmFsdWVFeGFjdDxUVmFsdWUsIFRTaGFwZT4sXG4gICAgICBdXG4gICAgPiBleHRlbmRzIHRydWVcbiAgICA/IFRWYWx1ZVxuICAgIDogbmV2ZXJcbiAgOiBuZXZlcjtcblxudHlwZSBJc0FycmF5PFRWYWx1ZT4gPSBbVFZhbHVlXSBleHRlbmRzIFtyZWFkb25seSBhbnlbXV0gPyB0cnVlIDogZmFsc2U7XG5cbnR5cGUgSXNSZWFkb25seTxUQXJyYXk+ID0gUmVhZG9ubHk8VEFycmF5PiBleHRlbmRzIFRBcnJheSA/IHRydWUgOiBmYWxzZTtcblxudHlwZSBTYW1lTGVuZ3RoPFRWYWx1ZSBleHRlbmRzIHJlYWRvbmx5IGFueVtdLCBUU2hhcGUgZXh0ZW5kcyByZWFkb25seSBhbnlbXT4gPSBJc05ldmVyPFxuICBQcmltaXRpdmVFeGFjdDxUVmFsdWVbXCJsZW5ndGhcIl0sIFRTaGFwZVtcImxlbmd0aFwiXT5cbj4gZXh0ZW5kcyB0cnVlXG4gID8gZmFsc2VcbiAgOiB0cnVlO1xuXG50eXBlIEFycmF5RXhhY3Q8VFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgYW55W10sIFRTaGFwZSBleHRlbmRzIHJlYWRvbmx5IGFueVtdPiA9IEFuZDxcbiAgW1xuICAgIC8vIGJvdGggYXJyYXlzXG4gICAgSXNBcnJheTxUVmFsdWU+LFxuICAgIElzQXJyYXk8VFNoYXBlPixcbiAgICAvLyBzYW1lIGxlbmd0aFxuICAgIFNhbWVMZW5ndGg8VFZhbHVlLCBUU2hhcGU+LFxuICAgIC8vIGJvdGggcmVhZG9ubHkgb3Igbm90XG4gICAgWG9yPElzUmVhZG9ubHk8VFZhbHVlPiwgSXNSZWFkb25seTxUU2hhcGU+PixcbiAgXVxuPiBleHRlbmRzIHRydWVcbiAgPyBbVFZhbHVlLCBUU2hhcGVdIGV4dGVuZHMgW3JlYWRvbmx5IChpbmZlciBUVmFsdWVFbGVtZW50KVtdLCByZWFkb25seSAoaW5mZXIgVFNoYXBlRWxlbWVudClbXV1cbiAgICA/IEV4YWN0PFRWYWx1ZUVsZW1lbnQsIFRTaGFwZUVsZW1lbnQ+IGV4dGVuZHMgVFZhbHVlRWxlbWVudFxuICAgICAgPyBUVmFsdWVcbiAgICAgIDogbmV2ZXJcbiAgICA6IG5ldmVyXG4gIDogbmV2ZXI7XG5cbnR5cGUgUHJpbWl0aXZlRXhhY3Q8VFZhbHVlLCBUU2hhcGU+ID0gW1RWYWx1ZV0gZXh0ZW5kcyBbVFNoYXBlXSA/IChbVFNoYXBlXSBleHRlbmRzIFtUVmFsdWVdID8gVFZhbHVlIDogbmV2ZXIpIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEV4YWN0PFRWYWx1ZSwgVFNoYXBlPiA9IFtUVmFsdWVdIGV4dGVuZHMgW3JlYWRvbmx5IGFueVtdXVxuICA/IFtUU2hhcGVdIGV4dGVuZHMgW3JlYWRvbmx5IGFueVtdXVxuICAgID8gQXJyYXlFeGFjdDxUVmFsdWUsIFRTaGFwZT5cbiAgICA6IG5ldmVyXG4gIDogW1RWYWx1ZV0gZXh0ZW5kcyBbQW55UmVjb3JkXVxuICA/IE9iamVjdEV4YWN0PFRWYWx1ZSwgVFNoYXBlPlxuICA6IFByaW1pdGl2ZUV4YWN0PFRWYWx1ZSwgVFNoYXBlPjtcbiJdfQ==
import { Exact } from "../../exact";
export declare const isExact: <Expected>() => <Actual>(actual: Exact<Actual, Expected>) => Expected;
export declare const isExact: <ExpectedShape>() => <ActualShape>(x: Exact<ActualShape, ExpectedShape>) => ExpectedShape;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.isExact = void 0;
const isExact = () => (actual) => {
return actual;
};
const isExact = () => (x) => x;
exports.isExact = isExact;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZnVuY3Rpb25zL2lzLWV4YWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sT0FBTyxHQUNsQixHQUFhLEVBQUUsQ0FDZixDQUFTLE1BQStCLEVBQVksRUFBRTtJQUNwRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDLENBQUM7QUFKUyxRQUFBLE9BQU8sV0FJaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFeGFjdCB9IGZyb20gXCIuLi8uLi9leGFjdFwiO1xuXG5leHBvcnQgY29uc3QgaXNFeGFjdCA9XG4gIDxFeHBlY3RlZD4oKSA9PlxuICA8QWN0dWFsPihhY3R1YWw6IEV4YWN0PEFjdHVhbCwgRXhwZWN0ZWQ+KTogRXhwZWN0ZWQgPT4ge1xuICAgIHJldHVybiBhY3R1YWw7XG4gIH07XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvZnVuY3Rpb25zL2lzLWV4YWN0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLE1BQU0sT0FBTyxHQUNsQixHQUFrQixFQUFFLENBQ3BCLENBQWMsQ0FBb0MsRUFBRSxFQUFFLENBQ3BELENBQWtCLENBQUM7QUFIVixRQUFBLE9BQU8sV0FHRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4YWN0IH0gZnJvbSBcIi4uLy4uL2V4YWN0XCI7XG5cbmV4cG9ydCBjb25zdCBpc0V4YWN0ID1cbiAgPEV4cGVjdGVkU2hhcGU+KCkgPT5cbiAgPEFjdHVhbFNoYXBlPih4OiBFeGFjdDxBY3R1YWxTaGFwZSwgRXhwZWN0ZWRTaGFwZT4pID0+XG4gICAgeCBhcyBFeHBlY3RlZFNoYXBlO1xuIl19
import { AnyArray } from "../any-array";
export declare type Head<Type extends AnyArray> = Type["length"] extends 0 ? never : Type[0];
export type Head<Type extends AnyArray> = Type["length"] extends 0 ? never : Type[0];

@@ -18,3 +18,6 @@ export * from "./primitive";

export * from "./opaque";
export * from "./path-value";
export * from "./paths";
export * from "./pick-properties";
export * from "./prettify";
export * from "./safe-dictionary";

@@ -31,4 +34,6 @@ export * from "./union-to-intersection";

export * from "./deep-nullable";
export * from "./strict-deep-omit";
export * from "./deep-omit";
export * from "./deep-partial";
export * from "./strict-deep-pick";
export * from "./deep-pick";

@@ -35,0 +40,0 @@ export * from "./deep-readonly";

@@ -36,3 +36,6 @@ "use strict";

__exportStar(require("./opaque"), exports);
__exportStar(require("./path-value"), exports);
__exportStar(require("./paths"), exports);
__exportStar(require("./pick-properties"), exports);
__exportStar(require("./prettify"), exports);
__exportStar(require("./safe-dictionary"), exports);

@@ -51,4 +54,6 @@ __exportStar(require("./union-to-intersection"), exports);

__exportStar(require("./deep-nullable"), exports);
__exportStar(require("./strict-deep-omit"), exports);
__exportStar(require("./deep-omit"), exports);
__exportStar(require("./deep-partial"), exports);
__exportStar(require("./strict-deep-pick"), exports);
__exportStar(require("./deep-pick"), exports);

@@ -96,2 +101,2 @@ __exportStar(require("./deep-readonly"), exports);

__exportStar(require("./awaited"), exports);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUiw4Q0FBNEI7QUFDNUIsNkNBQTJCO0FBQzNCLGdEQUE4QjtBQUM5QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUM5Qiw2Q0FBMkI7QUFFM0IsZ0JBQWdCO0FBRWhCLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHNEQUFvQztBQUNwQywwQ0FBd0I7QUFDeEIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiw4Q0FBNEI7QUFDNUIsb0RBQWtDO0FBQ2xDLDJDQUF5QjtBQUN6QixvREFBa0M7QUFDbEMsb0RBQWtDO0FBQ2xDLDBEQUF3QztBQUN4Qyw2Q0FBMkI7QUFDM0Isd0NBQXNCO0FBRXRCLHFCQUFxQjtBQUVyQixrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxrREFBZ0M7QUFFaEMscUJBQXFCO0FBRXJCLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEMsa0RBQWdDO0FBQ2hDLDhDQUE0QjtBQUM1QixpREFBK0I7QUFDL0IsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxrREFBZ0M7QUFDaEMscURBQW1DO0FBQ25DLGtEQUFnQztBQUVoQyxZQUFZO0FBRVosa0RBQWdDO0FBQ2hDLDhDQUE0QjtBQUM1QixrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUVoQyxnQkFBZ0I7QUFFaEIsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6Qiw2Q0FBMkI7QUFDM0IsK0NBQTZCO0FBQzdCLDZDQUEyQjtBQUMzQixxREFBbUM7QUFFbkMsb0JBQW9CO0FBRXBCLDhDQUE0QjtBQUM1QixvREFBa0M7QUFDbEMsK0NBQTZCO0FBQzdCLHlDQUF1QjtBQUN2QixvREFBa0M7QUFDbEMsNkRBQTJDO0FBQzNDLHlDQUF1QjtBQUN2QiwwQ0FBd0I7QUFFeEIsY0FBYztBQUVkLCtDQUE2QjtBQUM3QiwrREFBNkM7QUFFN0MsaUJBQWlCO0FBRWpCLGlEQUErQjtBQUMvQix1REFBcUM7QUFDckMsbURBQWlDO0FBRWpDLG9CQUFvQjtBQUVwQixxRUFBbUQ7QUFDbkQscURBQW1DO0FBQ25DLDZFQUEyRDtBQUMzRCx1REFBcUM7QUFDckMsbURBQWlDO0FBRWpDLGlCQUFpQjtBQUVqQiw0Q0FBMEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCYXNpY1xuXG5leHBvcnQgKiBmcm9tIFwiLi9wcmltaXRpdmVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1aWx0LWluXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9rZXktb2YtYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyaWN0LWV4Y2x1ZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmljdC1leHRyYWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJpY3Qtb21pdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3JpdGFibGVcIjtcblxuLy8gVXRpbGl0eSB0eXBlc1xuXG5leHBvcnQgKiBmcm9tIFwiLi9hc3luYy1vci1zeW5jXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9hc3luYy1vci1zeW5jLXR5cGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpY3Rpb25hcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpY3Rpb25hcnktdmFsdWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXJnZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWVyZ2UtblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbmV3YWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9uLW5ldmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vbWl0LXByb3BlcnRpZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29wYXF1ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGljay1wcm9wZXJ0aWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zYWZlLWRpY3Rpb25hcnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3VuaW9uLXRvLWludGVyc2VjdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmFsdWUtb2ZcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3hvclwiO1xuXG4vLyBNYXJrIHdyYXBwZXIgdHlwZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vbWFyay1vcHRpb25hbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFyay1yZWFkb25seVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFyay1yZXF1aXJlZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFyay13cml0YWJsZVwiO1xuXG4vLyBEZWVwIHdyYXBwZXIgdHlwZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vYnVpbGRhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWVwLW5vbi1udWxsYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1udWxsYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1vbWl0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWVwLXBhcnRpYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtcGlja1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1yZWFkb25seVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1yZXF1aXJlZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC11bmRlZmluYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC13cml0YWJsZVwiO1xuXG4vLyBLZXkgdHlwZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vb3B0aW9uYWwta2V5c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGljay1rZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWFkb25seS1rZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZXF1aXJlZC1rZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi93cml0YWJsZS1rZXlzXCI7XG5cbi8vIFR5cGUgY2hlY2tlcnNcblxuZXhwb3J0ICogZnJvbSBcIi4vZXhhY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzLWFueVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaXMtbmV2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzLXVua25vd25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzLXR1cGxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub24tZW1wdHktb2JqZWN0XCI7XG5cbi8vIEFycmF5cyBhbmQgVHVwbGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FueS1hcnJheVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXJyYXktb3Itc2luZ2xlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9lbGVtZW50LW9mXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9oZWFkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub24tZW1wdHktYXJyYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3JlYWRvbmx5LWFycmF5LW9yLXNpbmdsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFpbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHVwbGVcIjtcblxuLy8gQ2hhbmdlIGNhc2VcblxuZXhwb3J0ICogZnJvbSBcIi4vY2FtZWwtY2FzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1jYW1lbC1jYXNlLXByb3BlcnRpZXNcIjtcblxuLy8gRnVuY3Rpb24gdHlwZXNcblxuZXhwb3J0ICogZnJvbSBcIi4vYW55LWZ1bmN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVkaWNhdGUtZnVuY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ByZWRpY2F0ZS10eXBlXCI7XG5cbi8vIFV0aWxpdHkgZnVuY3Rpb25zXG5cbmV4cG9ydCAqIGZyb20gXCIuL2Z1bmN0aW9ucy91bnJlYWNoYWJsZS1jYXNlLWVycm9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvYXNzZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvY3JlYXRlLWZhY3Rvcnktd2l0aC1jb25zdHJhaW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvaXMtZXhhY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Z1bmN0aW9ucy9ub29wXCI7XG5cbi8vIEJ1aWxkLWluIHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2F3YWl0ZWRcIjtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLFFBQVE7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUiw4Q0FBNEI7QUFDNUIsNkNBQTJCO0FBQzNCLGdEQUE4QjtBQUM5QixtREFBaUM7QUFDakMsbURBQWlDO0FBQ2pDLGdEQUE4QjtBQUM5Qiw2Q0FBMkI7QUFFM0IsZ0JBQWdCO0FBRWhCLGtEQUFnQztBQUNoQyx1REFBcUM7QUFDckMsK0NBQTZCO0FBQzdCLHNEQUFvQztBQUNwQywwQ0FBd0I7QUFDeEIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiw4Q0FBNEI7QUFDNUIsb0RBQWtDO0FBQ2xDLDJDQUF5QjtBQUN6QiwrQ0FBNkI7QUFDN0IsMENBQXdCO0FBQ3hCLG9EQUFrQztBQUNsQyw2Q0FBMkI7QUFDM0Isb0RBQWtDO0FBQ2xDLDBEQUF3QztBQUN4Qyw2Q0FBMkI7QUFDM0Isd0NBQXNCO0FBRXRCLHFCQUFxQjtBQUVyQixrREFBZ0M7QUFDaEMsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxrREFBZ0M7QUFFaEMscUJBQXFCO0FBRXJCLDhDQUE0QjtBQUM1QixzREFBb0M7QUFDcEMsa0RBQWdDO0FBQ2hDLHFEQUFtQztBQUNuQyw4Q0FBNEI7QUFDNUIsaURBQStCO0FBQy9CLHFEQUFtQztBQUNuQyw4Q0FBNEI7QUFDNUIsa0RBQWdDO0FBQ2hDLGtEQUFnQztBQUNoQyxxREFBbUM7QUFDbkMsa0RBQWdDO0FBRWhDLFlBQVk7QUFFWixrREFBZ0M7QUFDaEMsOENBQTRCO0FBQzVCLGtEQUFnQztBQUNoQyxrREFBZ0M7QUFDaEMsa0RBQWdDO0FBRWhDLGdCQUFnQjtBQUVoQiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDZDQUEyQjtBQUMzQiwrQ0FBNkI7QUFDN0IsNkNBQTJCO0FBQzNCLHFEQUFtQztBQUVuQyxvQkFBb0I7QUFFcEIsOENBQTRCO0FBQzVCLG9EQUFrQztBQUNsQywrQ0FBNkI7QUFDN0IseUNBQXVCO0FBQ3ZCLG9EQUFrQztBQUNsQyw2REFBMkM7QUFDM0MseUNBQXVCO0FBQ3ZCLDBDQUF3QjtBQUV4QixjQUFjO0FBRWQsK0NBQTZCO0FBQzdCLCtEQUE2QztBQUU3QyxpQkFBaUI7QUFFakIsaURBQStCO0FBQy9CLHVEQUFxQztBQUNyQyxtREFBaUM7QUFFakMsb0JBQW9CO0FBRXBCLHFFQUFtRDtBQUNuRCxxREFBbUM7QUFDbkMsNkVBQTJEO0FBQzNELHVEQUFxQztBQUNyQyxtREFBaUM7QUFFakMsaUJBQWlCO0FBRWpCLDRDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEJhc2ljXG5cbmV4cG9ydCAqIGZyb20gXCIuL3ByaW1pdGl2ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYnVpbHQtaW5cIjtcbmV4cG9ydCAqIGZyb20gXCIuL2tleS1vZi1iYXNlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJpY3QtZXhjbHVkZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3RyaWN0LWV4dHJhY3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmljdC1vbWl0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi93cml0YWJsZVwiO1xuXG4vLyBVdGlsaXR5IHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FzeW5jLW9yLXN5bmNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FzeW5jLW9yLXN5bmMtdHlwZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGljdGlvbmFyeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGljdGlvbmFyeS12YWx1ZXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lcmdlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZXJnZS1uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uZXdhYmxlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9ub24tbmV2ZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL29taXQtcHJvcGVydGllc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vb3BhcXVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXRoLXZhbHVlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wYXRoc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcGljay1wcm9wZXJ0aWVzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmV0dGlmeVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc2FmZS1kaWN0aW9uYXJ5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi91bmlvbi10by1pbnRlcnNlY3Rpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL3ZhbHVlLW9mXCI7XG5leHBvcnQgKiBmcm9tIFwiLi94b3JcIjtcblxuLy8gTWFyayB3cmFwcGVyIHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL21hcmstb3B0aW9uYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hcmstcmVhZG9ubHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hcmstcmVxdWlyZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hcmstd3JpdGFibGVcIjtcblxuLy8gRGVlcCB3cmFwcGVyIHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2J1aWxkYWJsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1ub24tbnVsbGFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtbnVsbGFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3N0cmljdC1kZWVwLW9taXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtb21pdFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZGVlcC1wYXJ0aWFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zdHJpY3QtZGVlcC1waWNrXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kZWVwLXBpY2tcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtcmVhZG9ubHlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtcmVxdWlyZWRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtdW5kZWZpbmFibGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtd3JpdGFibGVcIjtcblxuLy8gS2V5IHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL29wdGlvbmFsLWtleXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BpY2sta2V5c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVhZG9ubHkta2V5c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmVxdWlyZWQta2V5c1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vd3JpdGFibGUta2V5c1wiO1xuXG4vLyBUeXBlIGNoZWNrZXJzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2V4YWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pcy1hbnlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzLW5ldmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pcy11bmtub3duXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9pcy10dXBsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9uLWVtcHR5LW9iamVjdFwiO1xuXG4vLyBBcnJheXMgYW5kIFR1cGxlc1xuXG5leHBvcnQgKiBmcm9tIFwiLi9hbnktYXJyYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2FycmF5LW9yLXNpbmdsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZWxlbWVudC1vZlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaGVhZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbm9uLWVtcHR5LWFycmF5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9yZWFkb25seS1hcnJheS1vci1zaW5nbGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhaWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3R1cGxlXCI7XG5cbi8vIENoYW5nZSBjYXNlXG5cbmV4cG9ydCAqIGZyb20gXCIuL2NhbWVsLWNhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlZXAtY2FtZWwtY2FzZS1wcm9wZXJ0aWVzXCI7XG5cbi8vIEZ1bmN0aW9uIHR5cGVzXG5cbmV4cG9ydCAqIGZyb20gXCIuL2FueS1mdW5jdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJlZGljYXRlLWZ1bmN0aW9uXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcmVkaWNhdGUtdHlwZVwiO1xuXG4vLyBVdGlsaXR5IGZ1bmN0aW9uc1xuXG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvdW5yZWFjaGFibGUtY2FzZS1lcnJvclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb25zL2Fzc2VydFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb25zL2NyZWF0ZS1mYWN0b3J5LXdpdGgtY29uc3RyYWludFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZnVuY3Rpb25zL2lzLWV4YWN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mdW5jdGlvbnMvbm9vcFwiO1xuXG4vLyBCdWlsZC1pbiB0eXBlc1xuXG5leHBvcnQgKiBmcm9tIFwiLi9hd2FpdGVkXCI7XG4iXX0=

@@ -1,1 +0,1 @@

export declare type IsAny<Type> = 0 extends 1 & Type ? true : false;
export type IsAny<Type> = 0 extends 1 & Type ? true : false;

@@ -1,2 +0,2 @@

export declare type IsEqualConsideringWritability<OriginalType, WritableType> = (<Type>() => Type extends OriginalType
export type IsEqualConsideringWritability<OriginalType, WritableType> = (<Type>() => Type extends OriginalType
? 1

@@ -3,0 +3,0 @@ : 2) extends <Type>() => Type extends WritableType ? 1 : 2

import { IsEqualConsideringWritability } from "./is-equal-considering-writability";
import { Writable } from "./writable";
export declare type IsFullyWritable<Type extends object> = IsEqualConsideringWritability<
export type IsFullyWritable<Type extends object> = IsEqualConsideringWritability<
{

@@ -5,0 +5,0 @@ [Key in keyof Type]: Type[Key];

@@ -1,1 +0,1 @@

export declare type IsNever<Type> = [Type] extends [never] ? true : false;
export type IsNever<Type> = [Type] extends [never] ? true : false;

@@ -1,1 +0,1 @@

export declare type IsTuple<Type> = Type extends readonly any[] ? (any[] extends Type ? never : Type) : never;
export type IsTuple<Type> = Type extends readonly any[] ? (any[] extends Type ? never : Type) : never;
import { IsAny } from "../is-any";
export declare type IsUnknown<Type> = IsAny<Type> extends true ? false : unknown extends Type ? true : false;
export type IsUnknown<Type> = IsAny<Type> extends true ? false : unknown extends Type ? true : false;

@@ -1,1 +0,1 @@

export declare type KeyofBase = keyof any;
export type KeyofBase = keyof any;

@@ -1,1 +0,1 @@

export declare type MarkOptional<Type, Keys extends keyof Type> = Type extends Type ? Omit<Type, Keys> & Partial<Pick<Type, Keys>> : never;
export type MarkOptional<Type, Keys extends keyof Type> = Type extends Type ? Omit<Type, Keys> & Partial<Pick<Type, Keys>> : never;

@@ -1,1 +0,3 @@

export declare type MarkReadonly<Type, Keys extends keyof Type> = Type extends Type ? Omit<Type, Keys> & Readonly<Pick<Type, Keys>> : never;
import { ReadonlyKeys } from "../readonly-keys";
import { Writable } from "../writable";
export type MarkReadonly<Type, Keys extends keyof Type> = Type extends Type ? Readonly<Type> & Writable<Pick<Type, Exclude<keyof Type, Keys | (Type extends object ? ReadonlyKeys<Type> : never)>>> : never;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay1yZWFkb25seS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWFya1JlYWRvbmx5PFR5cGUsIEtleXMgZXh0ZW5kcyBrZXlvZiBUeXBlPiA9IFR5cGUgZXh0ZW5kcyBUeXBlXG4gID8gT21pdDxUeXBlLCBLZXlzPiAmIFJlYWRvbmx5PFBpY2s8VHlwZSwgS2V5cz4+XG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay1yZWFkb25seS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhZG9ubHlLZXlzIH0gZnJvbSBcIi4uL3JlYWRvbmx5LWtleXNcIjtcbmltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSBcIi4uL3dyaXRhYmxlXCI7XG5cbmV4cG9ydCB0eXBlIE1hcmtSZWFkb25seTxUeXBlLCBLZXlzIGV4dGVuZHMga2V5b2YgVHlwZT4gPSBUeXBlIGV4dGVuZHMgVHlwZVxuICA/IFJlYWRvbmx5PFR5cGU+ICZcbiAgICAgIFdyaXRhYmxlPFBpY2s8VHlwZSwgRXhjbHVkZTxrZXlvZiBUeXBlLCBLZXlzIHwgKFR5cGUgZXh0ZW5kcyBvYmplY3QgPyBSZWFkb25seUtleXM8VHlwZT4gOiBuZXZlcik+Pj5cbiAgOiBuZXZlcjtcbiJdfQ==

@@ -1,1 +0,1 @@

export declare type MarkRequired<Type, Keys extends keyof Type> = Type extends Type ? Omit<Type, Keys> & Required<Pick<Type, Keys>> : never;
export type MarkRequired<Type, Keys extends keyof Type> = Type extends Type ? Type & Required<Pick<Type, Keys>> : never;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay1yZXF1aXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWFya1JlcXVpcmVkPFR5cGUsIEtleXMgZXh0ZW5kcyBrZXlvZiBUeXBlPiA9IFR5cGUgZXh0ZW5kcyBUeXBlXG4gID8gT21pdDxUeXBlLCBLZXlzPiAmIFJlcXVpcmVkPFBpY2s8VHlwZSwgS2V5cz4+XG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay1yZXF1aXJlZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTWFya1JlcXVpcmVkPFR5cGUsIEtleXMgZXh0ZW5kcyBrZXlvZiBUeXBlPiA9IFR5cGUgZXh0ZW5kcyBUeXBlID8gVHlwZSAmIFJlcXVpcmVkPFBpY2s8VHlwZSwgS2V5cz4+IDogbmV2ZXI7XG4iXX0=
import { Writable } from "../writable";
export declare type MarkWritable<Type, Keys extends keyof Type> = Type extends Type ? Omit<Type, Keys> & Writable<Pick<Type, Keys>> : never;
import { WritableKeys } from "../writable-keys";
export type MarkWritable<Type, Keys extends keyof Type> = Type extends Type ? Readonly<Type> & Writable<Pick<Type, (Type extends object ? WritableKeys<Type> : never) | Keys>> : never;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay13cml0YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV3JpdGFibGUgfSBmcm9tIFwiLi4vd3JpdGFibGVcIjtcblxuZXhwb3J0IHR5cGUgTWFya1dyaXRhYmxlPFR5cGUsIEtleXMgZXh0ZW5kcyBrZXlvZiBUeXBlPiA9IFR5cGUgZXh0ZW5kcyBUeXBlXG4gID8gT21pdDxUeXBlLCBLZXlzPiAmIFdyaXRhYmxlPFBpY2s8VHlwZSwgS2V5cz4+XG4gIDogbmV2ZXI7XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvbWFyay13cml0YWJsZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV3JpdGFibGUgfSBmcm9tIFwiLi4vd3JpdGFibGVcIjtcbmltcG9ydCB7IFdyaXRhYmxlS2V5cyB9IGZyb20gXCIuLi93cml0YWJsZS1rZXlzXCI7XG5cbmV4cG9ydCB0eXBlIE1hcmtXcml0YWJsZTxUeXBlLCBLZXlzIGV4dGVuZHMga2V5b2YgVHlwZT4gPSBUeXBlIGV4dGVuZHMgVHlwZVxuICA/IFJlYWRvbmx5PFR5cGU+ICYgV3JpdGFibGU8UGljazxUeXBlLCAoVHlwZSBleHRlbmRzIG9iamVjdCA/IFdyaXRhYmxlS2V5czxUeXBlPiA6IG5ldmVyKSB8IEtleXM+PlxuICA6IG5ldmVyO1xuIl19
import { Merge } from "../merge";
declare type _MergeN<Tuple extends readonly any[], Result> = Tuple extends readonly [infer Head, ...infer Tail] ? _MergeN<Tail, Merge<Result, Head>> : Result;
export declare type MergeN<Tuple extends readonly any[]> = _MergeN<Tuple, {}>;
type _MergeN<Tuple extends readonly any[], Result> = Tuple extends readonly [infer Head, ...infer Tail] ? _MergeN<Tail, Merge<Result, Head>> : Result;
export type MergeN<Tuple extends readonly any[]> = _MergeN<Tuple, {}>;
export {};

@@ -1,1 +0,1 @@

export declare type Merge<Object1, Object2> = Omit<Object1, keyof Object2> & Object2;
export type Merge<Object1, Object2> = Omit<Object1, keyof Object2> & Object2;

@@ -1,1 +0,1 @@

export declare type NonEmptyArray<Type> = [Type, ...Type[]];
export type NonEmptyArray<Type> = [Type, ...Type[]];
import { AnyRecord } from "../any-record";
export declare type NonEmptyObject<Object extends AnyRecord> = keyof Object extends never ? never : Object;
export type NonEmptyObject<Object extends AnyRecord> = keyof Object extends never ? never : Object;

@@ -1,3 +0,3 @@

export declare type NonNever<Type extends {}> = Pick<Type, {
export type NonNever<Type extends {}> = Pick<Type, {
[Key in keyof Type]: Type[Key] extends never ? never : Key;
}[keyof Type]>;

@@ -1,1 +0,1 @@

export declare type NonUndefinable<Type> = Type extends undefined ? never : Type;
export type NonUndefinable<Type> = Type extends undefined ? never : Type;
import { PickKeysByValue } from "../pick-keys-by-value";
export declare type OmitProperties<Type, Value> = Omit<Type, PickKeysByValue<Type, Value>>;
export type OmitProperties<Type, Value> = Omit<Type, PickKeysByValue<Type, Value>>;

@@ -1,7 +0,7 @@

declare type StringLiteral<Type> = Type extends string ? (string extends Type ? never : Type) : never;
type StringLiteral<Type> = Type extends string ? (string extends Type ? never : Type) : never;
declare const __OPAQUE_TYPE__: unique symbol;
export declare type WithOpaque<Token extends string> = {
export type WithOpaque<Token extends string> = {
readonly [__OPAQUE_TYPE__]: Token;
};
export declare type Opaque<Type, Token extends string> = Token extends StringLiteral<Token> ? Type & WithOpaque<Token> : never;
export type Opaque<Type, Token extends string> = Token extends StringLiteral<Token> ? Type & WithOpaque<Token> : never;
export {};

@@ -1,2 +0,2 @@

export declare type OptionalKeys<Type> = Type extends unknown ? {
export type OptionalKeys<Type> = Type extends unknown ? {
[Key in keyof Type]-?: undefined extends {

@@ -3,0 +3,0 @@ [Key2 in keyof Type]: Key2;

@@ -1,3 +0,3 @@

export declare type PickKeysByValue<Type, Value> = {
export type PickKeysByValue<Type, Value> = {
[Key in keyof Type]: Type[Key] extends Value ? Key : never;
}[keyof Type];
import { PickProperties } from "../pick-properties";
export declare type PickKeys<Type, Value> = Exclude<keyof PickProperties<Type, Value>, undefined>;
export type PickKeys<Type, Value> = Exclude<keyof PickProperties<Type, Value>, undefined>;
import { PickKeysByValue } from "../pick-keys-by-value";
export declare type PickProperties<Type, Value> = Pick<Type, PickKeysByValue<Type, Value>>;
export type PickProperties<Type, Value> = Pick<Type, PickKeysByValue<Type, Value>>;

@@ -1,1 +0,1 @@

export declare type PredicateFunction = (x: any, ..._z: any[]) => x is any;
export type PredicateFunction = (x: any, ..._z: any[]) => x is any;
import { PredicateFunction } from "../predicate-function";
export declare type PredicateType<Type extends PredicateFunction> = Type extends (target: any, ...rest: any[]) => target is infer NarrowedType ? NarrowedType : never;
export type PredicateType<Type extends PredicateFunction> = Type extends (target: any, ...rest: any[]) => target is infer NarrowedType ? NarrowedType : never;

@@ -1,1 +0,1 @@

export declare type Primitive = string | number | boolean | bigint | symbol | undefined | null;
export type Primitive = string | number | boolean | bigint | symbol | undefined | null;

@@ -1,1 +0,1 @@

export declare type ReadonlyArrayOrSingle<Type> = Type | readonly Type[];
export type ReadonlyArrayOrSingle<Type> = Type | readonly Type[];
import { IsFullyWritable } from "../is-fully-writable";
export declare type ReadonlyKeys<Type extends object> = {
export type ReadonlyKeys<Type extends object> = {
[Key in keyof Type]-?: IsFullyWritable<Pick<Type, Key>> extends true ? never : Key;
}[keyof Type];
import { OptionalKeys } from "../optional-keys";
export declare type RequiredKeys<Type> = Type extends unknown ? Exclude<keyof Type, OptionalKeys<Type>> : never;
export type RequiredKeys<Type> = Type extends unknown ? Exclude<keyof Type, OptionalKeys<Type>> : never;
import { KeyofBase } from "../key-of-base";
export declare type SafeDictionary<Type, Keys extends KeyofBase = string> = {
export type SafeDictionary<Type, Keys extends KeyofBase = string> = {
[key in Keys]?: Type;
};

@@ -1,1 +0,1 @@

export declare type StrictExclude<UnionType, ExcludedMembers extends UnionType> = Exclude<UnionType, ExcludedMembers>;
export type StrictExclude<UnionType, ExcludedMembers extends UnionType> = Exclude<UnionType, ExcludedMembers>;

@@ -1,1 +0,1 @@

export declare type StrictExtract<Type, Union extends Partial<Type>> = Extract<Type, Union>;
export type StrictExtract<Type, Union extends Partial<Type>> = Extract<Type, Union>;
import { AnyArray } from "../any-array";
import { AnyRecord } from "../any-record";
export declare type StrictOmit<Type extends AnyRecord, Keys extends keyof Type> = Type extends AnyArray ? never : Omit<Type, Keys>;
export type StrictOmit<Type extends AnyRecord, Keys extends keyof Type> = Type extends AnyArray ? never : Omit<Type, Keys>;
import { AnyArray } from "../any-array";
export declare type Tail<Type extends AnyArray> = Type extends [any, ...infer Rest] ? Rest : never;
export type Tail<Type extends AnyArray> = Type extends [any, ...infer Rest] ? Rest : never;

@@ -1,1 +0,1 @@

export declare type Tuple<Type = any> = [Type?, ...Type[]];
export type Tuple<Type = any> = [Type?, ...Type[]];

@@ -1,1 +0,1 @@

export declare type UnionToIntersection<Union> = (Union extends any ? (arg: Union) => void : never) extends (arg: infer Intersection) => void ? Intersection : never;
export type UnionToIntersection<Union> = (Union extends any ? (arg: Union) => void : never) extends (arg: infer Intersection) => void ? Intersection : never;
import { AnyArray } from "../any-array";
import { AnyFunction } from "../any-function";
import { Primitive } from "../primitive";
export declare type ValueOf<Type> = Type extends Primitive ? Type : Type extends AnyArray ? Type[number] : Type extends AnyFunction ? ReturnType<Type> : Type[keyof Type];
export type ValueOf<Type> = Type extends Primitive ? Type : Type extends AnyArray ? Type[number] : Type extends AnyFunction ? ReturnType<Type> : Type[keyof Type];
import { IsFullyWritable } from "../is-fully-writable";
export declare type WritableKeys<Type extends {}> = {
export type WritableKeys<Type extends {}> = {
[Key in keyof Type]-?: IsFullyWritable<Pick<Type, Key>> extends true ? Key : never;
}[keyof Type];

@@ -1,3 +0,3 @@

export declare type Writable<Type> = {
export type Writable<Type> = {
-readonly [Key in keyof Type]: Type[Key];
};

@@ -1,5 +0,6 @@

declare type Without<Type1, Type2> = {
import { Prettify } from "../prettify";
type Without<Type1, Type2> = {
[P in Exclude<keyof Type1, keyof Type2>]?: never;
};
export declare type XOR<Type1, Type2> = Type1 | Type2 extends object ? (Without<Type1, Type2> & Type2) | (Without<Type2, Type1> & Type1) : Type1 | Type2;
export type XOR<Type1, Type2, Type3 = unknown, Type4 = unknown, Type5 = unknown, Type6 = unknown, Type7 = unknown, Type8 = unknown, Type9 = unknown, Type10 = unknown, Type11 = unknown, Type12 = unknown, Type13 = unknown, Type14 = unknown, Type15 = unknown, Type16 = unknown, Type17 = unknown, Type18 = unknown, Type19 = unknown, Type20 = unknown, Type21 = unknown, Type22 = unknown, Type23 = unknown, Type24 = unknown, Type25 = unknown, Type26 = unknown, Type27 = unknown, Type28 = unknown, Type29 = unknown, Type30 = unknown, Type31 = unknown, Type32 = unknown, Type33 = unknown, Type34 = unknown, Type35 = unknown, Type36 = unknown, Type37 = unknown, Type38 = unknown, Type39 = unknown, Type40 = unknown, Type41 = unknown, Type42 = unknown, Type43 = unknown, Type44 = unknown, Type45 = unknown, Type46 = unknown, Type47 = unknown, Type48 = unknown, Type49 = unknown, Type50 = unknown> = Prettify<(Without<Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type1> & Type1) | (Without<Type1 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type2> & Type2) | (Without<Type1 & Type2 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type3> & Type3) | (Without<Type1 & Type2 & Type3 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type4> & Type4) | (Without<Type1 & Type2 & Type3 & Type4 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type5> & Type5) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type6> & Type6) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type7> & Type7) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type8> & Type8) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type9> & Type9) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type10> & Type10) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type11> & Type11) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type12> & Type12) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type13> & Type13) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type14> & Type14) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type15> & Type15) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type16> & Type16) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type17> & Type17) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type18> & Type18) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type19> & Type19) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type20> & Type20) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type21> & Type21) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type22> & Type22) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type23> & Type23) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type24> & Type24) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type25> & Type25) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type26> & Type26) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type27> & Type27) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type28> & Type28) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type29> & Type29) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type30> & Type30) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type31> & Type31) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type32> & Type32) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type33> & Type33) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type34> & Type34) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type35> & Type35) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type36> & Type36) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type37> & Type37) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type38> & Type38) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type39> & Type39) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type40> & Type40) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type41> & Type41) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type42> & Type42) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type43> & Type43) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type45 & Type46 & Type47 & Type48 & Type49 & Type50, Type44> & Type44) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type46 & Type47 & Type48 & Type49 & Type50, Type45> & Type45) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type47 & Type48 & Type49 & Type50, Type46> & Type46) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type48 & Type49 & Type50, Type47> & Type47) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type49 & Type50, Type48> & Type48) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type50, Type49> & Type49) | (Without<Type1 & Type2 & Type3 & Type4 & Type5 & Type6 & Type7 & Type8 & Type9 & Type10 & Type11 & Type12 & Type13 & Type14 & Type15 & Type16 & Type17 & Type18 & Type19 & Type20 & Type21 & Type22 & Type23 & Type24 & Type25 & Type26 & Type27 & Type28 & Type29 & Type30 & Type31 & Type32 & Type33 & Type34 & Type35 & Type36 & Type37 & Type38 & Type39 & Type40 & Type41 & Type42 & Type43 & Type44 & Type45 & Type46 & Type47 & Type48 & Type49, Type50> & Type50)>;
export {};
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIveG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFdpdGhvdXQ8VHlwZTEsIFR5cGUyPiA9IHsgW1AgaW4gRXhjbHVkZTxrZXlvZiBUeXBlMSwga2V5b2YgVHlwZTI+XT86IG5ldmVyIH07XG5cbmV4cG9ydCB0eXBlIFhPUjxUeXBlMSwgVHlwZTI+ID0gVHlwZTEgfCBUeXBlMiBleHRlbmRzIG9iamVjdFxuICA/IChXaXRob3V0PFR5cGUxLCBUeXBlMj4gJiBUeXBlMikgfCAoV2l0aG91dDxUeXBlMiwgVHlwZTE+ICYgVHlwZTEpXG4gIDogVHlwZTEgfCBUeXBlMjtcbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIveG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmV0dGlmeSB9IGZyb20gXCIuLi9wcmV0dGlmeVwiO1xuXG50eXBlIFdpdGhvdXQ8VHlwZTEsIFR5cGUyPiA9IHsgW1AgaW4gRXhjbHVkZTxrZXlvZiBUeXBlMSwga2V5b2YgVHlwZTI+XT86IG5ldmVyIH07XG5cbi8vIFRoaXMgdXRpbGl0eSB0eXBlIGJvZHkgaXMgYXV0b2dlbmVyYXRlZCBpbiBKUyBieSBydW5uaW5nOlxuLy8gY29uc3QgdHlwZXMgPSBBcnJheSg1MCkuZmlsbCgwKS5tYXAoKF8sIGluZGV4KSA9PiBgVHlwZSR7aW5kZXggKyAxfWApXG4vLyB0eXBlcy5tYXAodHlwZSA9PiBgV2l0aG91dDwke3R5cGVzLmZpbHRlcih0ID0+IHQgIT09IHR5cGUpLmpvaW4oJyYnKX0sICR7dHlwZX0+ICYgJHt0eXBlfWApLmpvaW4oJ3wnKVxuZXhwb3J0IHR5cGUgWE9SPFxuICBUeXBlMSxcbiAgVHlwZTIsXG4gIFR5cGUzID0gdW5rbm93bixcbiAgVHlwZTQgPSB1bmtub3duLFxuICBUeXBlNSA9IHVua25vd24sXG4gIFR5cGU2ID0gdW5rbm93bixcbiAgVHlwZTcgPSB1bmtub3duLFxuICBUeXBlOCA9IHVua25vd24sXG4gIFR5cGU5ID0gdW5rbm93bixcbiAgVHlwZTEwID0gdW5rbm93bixcbiAgVHlwZTExID0gdW5rbm93bixcbiAgVHlwZTEyID0gdW5rbm93bixcbiAgVHlwZTEzID0gdW5rbm93bixcbiAgVHlwZTE0ID0gdW5rbm93bixcbiAgVHlwZTE1ID0gdW5rbm93bixcbiAgVHlwZTE2ID0gdW5rbm93bixcbiAgVHlwZTE3ID0gdW5rbm93bixcbiAgVHlwZTE4ID0gdW5rbm93bixcbiAgVHlwZTE5ID0gdW5rbm93bixcbiAgVHlwZTIwID0gdW5rbm93bixcbiAgVHlwZTIxID0gdW5rbm93bixcbiAgVHlwZTIyID0gdW5rbm93bixcbiAgVHlwZTIzID0gdW5rbm93bixcbiAgVHlwZTI0ID0gdW5rbm93bixcbiAgVHlwZTI1ID0gdW5rbm93bixcbiAgVHlwZTI2ID0gdW5rbm93bixcbiAgVHlwZTI3ID0gdW5rbm93bixcbiAgVHlwZTI4ID0gdW5rbm93bixcbiAgVHlwZTI5ID0gdW5rbm93bixcbiAgVHlwZTMwID0gdW5rbm93bixcbiAgVHlwZTMxID0gdW5rbm93bixcbiAgVHlwZTMyID0gdW5rbm93bixcbiAgVHlwZTMzID0gdW5rbm93bixcbiAgVHlwZTM0ID0gdW5rbm93bixcbiAgVHlwZTM1ID0gdW5rbm93bixcbiAgVHlwZTM2ID0gdW5rbm93bixcbiAgVHlwZTM3ID0gdW5rbm93bixcbiAgVHlwZTM4ID0gdW5rbm93bixcbiAgVHlwZTM5ID0gdW5rbm93bixcbiAgVHlwZTQwID0gdW5rbm93bixcbiAgVHlwZTQxID0gdW5rbm93bixcbiAgVHlwZTQyID0gdW5rbm93bixcbiAgVHlwZTQzID0gdW5rbm93bixcbiAgVHlwZTQ0ID0gdW5rbm93bixcbiAgVHlwZTQ1ID0gdW5rbm93bixcbiAgVHlwZTQ2ID0gdW5rbm93bixcbiAgVHlwZTQ3ID0gdW5rbm93bixcbiAgVHlwZTQ4ID0gdW5rbm93bixcbiAgVHlwZTQ5ID0gdW5rbm93bixcbiAgVHlwZTUwID0gdW5rbm93bixcbj4gPSBQcmV0dGlmeTxcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMVxuICAgID4gJlxuICAgICAgVHlwZTEpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTJcbiAgICA+ICZcbiAgICAgIFR5cGUyKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUzXG4gICAgPiAmXG4gICAgICBUeXBlMylcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlNFxuICAgID4gJlxuICAgICAgVHlwZTQpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTVcbiAgICA+ICZcbiAgICAgIFR5cGU1KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU2XG4gICAgPiAmXG4gICAgICBUeXBlNilcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlN1xuICAgID4gJlxuICAgICAgVHlwZTcpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZThcbiAgICA+ICZcbiAgICAgIFR5cGU4KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU5XG4gICAgPiAmXG4gICAgICBUeXBlOSlcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUxMFxuICAgID4gJlxuICAgICAgVHlwZTEwKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTExXG4gICAgPiAmXG4gICAgICBUeXBlMTEpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMTJcbiAgICA+ICZcbiAgICAgIFR5cGUxMilcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUxM1xuICAgID4gJlxuICAgICAgVHlwZTEzKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTE0XG4gICAgPiAmXG4gICAgICBUeXBlMTQpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMTVcbiAgICA+ICZcbiAgICAgIFR5cGUxNSlcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUxNlxuICAgID4gJlxuICAgICAgVHlwZTE2KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTE3XG4gICAgPiAmXG4gICAgICBUeXBlMTcpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMThcbiAgICA+ICZcbiAgICAgIFR5cGUxOClcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUxOVxuICAgID4gJlxuICAgICAgVHlwZTE5KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTIwXG4gICAgPiAmXG4gICAgICBUeXBlMjApXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMjFcbiAgICA+ICZcbiAgICAgIFR5cGUyMSlcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUyMlxuICAgID4gJlxuICAgICAgVHlwZTIyKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTIzXG4gICAgPiAmXG4gICAgICBUeXBlMjMpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMjRcbiAgICA+ICZcbiAgICAgIFR5cGUyNClcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUyNVxuICAgID4gJlxuICAgICAgVHlwZTI1KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTI2XG4gICAgPiAmXG4gICAgICBUeXBlMjYpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMjdcbiAgICA+ICZcbiAgICAgIFR5cGUyNylcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUyOFxuICAgID4gJlxuICAgICAgVHlwZTI4KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTI5XG4gICAgPiAmXG4gICAgICBUeXBlMjkpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMzBcbiAgICA+ICZcbiAgICAgIFR5cGUzMClcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUzMVxuICAgID4gJlxuICAgICAgVHlwZTMxKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTMyXG4gICAgPiAmXG4gICAgICBUeXBlMzIpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMzNcbiAgICA+ICZcbiAgICAgIFR5cGUzMylcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUzNFxuICAgID4gJlxuICAgICAgVHlwZTM0KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTM1XG4gICAgPiAmXG4gICAgICBUeXBlMzUpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMzZcbiAgICA+ICZcbiAgICAgIFR5cGUzNilcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGUzN1xuICAgID4gJlxuICAgICAgVHlwZTM3KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTM4XG4gICAgPiAmXG4gICAgICBUeXBlMzgpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlMzlcbiAgICA+ICZcbiAgICAgIFR5cGUzOSlcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU0MFxuICAgID4gJlxuICAgICAgVHlwZTQwKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTQxXG4gICAgPiAmXG4gICAgICBUeXBlNDEpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlNDJcbiAgICA+ICZcbiAgICAgIFR5cGU0MilcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU0M1xuICAgID4gJlxuICAgICAgVHlwZTQzKVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTQ0XG4gICAgPiAmXG4gICAgICBUeXBlNDQpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDggJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlNDVcbiAgICA+ICZcbiAgICAgIFR5cGU0NSlcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU0OSAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU0NlxuICAgID4gJlxuICAgICAgVHlwZTQ2KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5ICZcbiAgICAgICAgVHlwZTUwLFxuICAgICAgVHlwZTQ3XG4gICAgPiAmXG4gICAgICBUeXBlNDcpXG4gIHwgKFdpdGhvdXQ8XG4gICAgICBUeXBlMSAmXG4gICAgICAgIFR5cGUyICZcbiAgICAgICAgVHlwZTMgJlxuICAgICAgICBUeXBlNCAmXG4gICAgICAgIFR5cGU1ICZcbiAgICAgICAgVHlwZTYgJlxuICAgICAgICBUeXBlNyAmXG4gICAgICAgIFR5cGU4ICZcbiAgICAgICAgVHlwZTkgJlxuICAgICAgICBUeXBlMTAgJlxuICAgICAgICBUeXBlMTEgJlxuICAgICAgICBUeXBlMTIgJlxuICAgICAgICBUeXBlMTMgJlxuICAgICAgICBUeXBlMTQgJlxuICAgICAgICBUeXBlMTUgJlxuICAgICAgICBUeXBlMTYgJlxuICAgICAgICBUeXBlMTcgJlxuICAgICAgICBUeXBlMTggJlxuICAgICAgICBUeXBlMTkgJlxuICAgICAgICBUeXBlMjAgJlxuICAgICAgICBUeXBlMjEgJlxuICAgICAgICBUeXBlMjIgJlxuICAgICAgICBUeXBlMjMgJlxuICAgICAgICBUeXBlMjQgJlxuICAgICAgICBUeXBlMjUgJlxuICAgICAgICBUeXBlMjYgJlxuICAgICAgICBUeXBlMjcgJlxuICAgICAgICBUeXBlMjggJlxuICAgICAgICBUeXBlMjkgJlxuICAgICAgICBUeXBlMzAgJlxuICAgICAgICBUeXBlMzEgJlxuICAgICAgICBUeXBlMzIgJlxuICAgICAgICBUeXBlMzMgJlxuICAgICAgICBUeXBlMzQgJlxuICAgICAgICBUeXBlMzUgJlxuICAgICAgICBUeXBlMzYgJlxuICAgICAgICBUeXBlMzcgJlxuICAgICAgICBUeXBlMzggJlxuICAgICAgICBUeXBlMzkgJlxuICAgICAgICBUeXBlNDAgJlxuICAgICAgICBUeXBlNDEgJlxuICAgICAgICBUeXBlNDIgJlxuICAgICAgICBUeXBlNDMgJlxuICAgICAgICBUeXBlNDQgJlxuICAgICAgICBUeXBlNDUgJlxuICAgICAgICBUeXBlNDYgJlxuICAgICAgICBUeXBlNDcgJlxuICAgICAgICBUeXBlNDkgJlxuICAgICAgICBUeXBlNTAsXG4gICAgICBUeXBlNDhcbiAgICA+ICZcbiAgICAgIFR5cGU0OClcbiAgfCAoV2l0aG91dDxcbiAgICAgIFR5cGUxICZcbiAgICAgICAgVHlwZTIgJlxuICAgICAgICBUeXBlMyAmXG4gICAgICAgIFR5cGU0ICZcbiAgICAgICAgVHlwZTUgJlxuICAgICAgICBUeXBlNiAmXG4gICAgICAgIFR5cGU3ICZcbiAgICAgICAgVHlwZTggJlxuICAgICAgICBUeXBlOSAmXG4gICAgICAgIFR5cGUxMCAmXG4gICAgICAgIFR5cGUxMSAmXG4gICAgICAgIFR5cGUxMiAmXG4gICAgICAgIFR5cGUxMyAmXG4gICAgICAgIFR5cGUxNCAmXG4gICAgICAgIFR5cGUxNSAmXG4gICAgICAgIFR5cGUxNiAmXG4gICAgICAgIFR5cGUxNyAmXG4gICAgICAgIFR5cGUxOCAmXG4gICAgICAgIFR5cGUxOSAmXG4gICAgICAgIFR5cGUyMCAmXG4gICAgICAgIFR5cGUyMSAmXG4gICAgICAgIFR5cGUyMiAmXG4gICAgICAgIFR5cGUyMyAmXG4gICAgICAgIFR5cGUyNCAmXG4gICAgICAgIFR5cGUyNSAmXG4gICAgICAgIFR5cGUyNiAmXG4gICAgICAgIFR5cGUyNyAmXG4gICAgICAgIFR5cGUyOCAmXG4gICAgICAgIFR5cGUyOSAmXG4gICAgICAgIFR5cGUzMCAmXG4gICAgICAgIFR5cGUzMSAmXG4gICAgICAgIFR5cGUzMiAmXG4gICAgICAgIFR5cGUzMyAmXG4gICAgICAgIFR5cGUzNCAmXG4gICAgICAgIFR5cGUzNSAmXG4gICAgICAgIFR5cGUzNiAmXG4gICAgICAgIFR5cGUzNyAmXG4gICAgICAgIFR5cGUzOCAmXG4gICAgICAgIFR5cGUzOSAmXG4gICAgICAgIFR5cGU0MCAmXG4gICAgICAgIFR5cGU0MSAmXG4gICAgICAgIFR5cGU0MiAmXG4gICAgICAgIFR5cGU0MyAmXG4gICAgICAgIFR5cGU0NCAmXG4gICAgICAgIFR5cGU0NSAmXG4gICAgICAgIFR5cGU0NiAmXG4gICAgICAgIFR5cGU0NyAmXG4gICAgICAgIFR5cGU0OCAmXG4gICAgICAgIFR5cGU1MCxcbiAgICAgIFR5cGU0OVxuICAgID4gJlxuICAgICAgVHlwZTQ5KVxuICB8IChXaXRob3V0PFxuICAgICAgVHlwZTEgJlxuICAgICAgICBUeXBlMiAmXG4gICAgICAgIFR5cGUzICZcbiAgICAgICAgVHlwZTQgJlxuICAgICAgICBUeXBlNSAmXG4gICAgICAgIFR5cGU2ICZcbiAgICAgICAgVHlwZTcgJlxuICAgICAgICBUeXBlOCAmXG4gICAgICAgIFR5cGU5ICZcbiAgICAgICAgVHlwZTEwICZcbiAgICAgICAgVHlwZTExICZcbiAgICAgICAgVHlwZTEyICZcbiAgICAgICAgVHlwZTEzICZcbiAgICAgICAgVHlwZTE0ICZcbiAgICAgICAgVHlwZTE1ICZcbiAgICAgICAgVHlwZTE2ICZcbiAgICAgICAgVHlwZTE3ICZcbiAgICAgICAgVHlwZTE4ICZcbiAgICAgICAgVHlwZTE5ICZcbiAgICAgICAgVHlwZTIwICZcbiAgICAgICAgVHlwZTIxICZcbiAgICAgICAgVHlwZTIyICZcbiAgICAgICAgVHlwZTIzICZcbiAgICAgICAgVHlwZTI0ICZcbiAgICAgICAgVHlwZTI1ICZcbiAgICAgICAgVHlwZTI2ICZcbiAgICAgICAgVHlwZTI3ICZcbiAgICAgICAgVHlwZTI4ICZcbiAgICAgICAgVHlwZTI5ICZcbiAgICAgICAgVHlwZTMwICZcbiAgICAgICAgVHlwZTMxICZcbiAgICAgICAgVHlwZTMyICZcbiAgICAgICAgVHlwZTMzICZcbiAgICAgICAgVHlwZTM0ICZcbiAgICAgICAgVHlwZTM1ICZcbiAgICAgICAgVHlwZTM2ICZcbiAgICAgICAgVHlwZTM3ICZcbiAgICAgICAgVHlwZTM4ICZcbiAgICAgICAgVHlwZTM5ICZcbiAgICAgICAgVHlwZTQwICZcbiAgICAgICAgVHlwZTQxICZcbiAgICAgICAgVHlwZTQyICZcbiAgICAgICAgVHlwZTQzICZcbiAgICAgICAgVHlwZTQ0ICZcbiAgICAgICAgVHlwZTQ1ICZcbiAgICAgICAgVHlwZTQ2ICZcbiAgICAgICAgVHlwZTQ3ICZcbiAgICAgICAgVHlwZTQ4ICZcbiAgICAgICAgVHlwZTQ5LFxuICAgICAgVHlwZTUwXG4gICAgPiAmXG4gICAgICBUeXBlNTApXG4+O1xuIl19

@@ -14,3 +14,3 @@ {

],
"version": "9.4.2",
"version": "10.0.0",
"main": "dist/index.js",

@@ -35,3 +35,3 @@ "types": "dist/index.d.ts",

"peerDependencies": {
"typescript": ">=4.1.0"
"typescript": ">=4.5.0"
},

@@ -50,4 +50,4 @@ "peerDependenciesMeta": {

"rimraf": "^3.0.2",
"typescript": "^4.1.0"
"typescript": "^4.5.0"
}
}

@@ -20,3 +20,3 @@ <p align="center">

πŸ‘‰ We require `typescript>=4.1`. If you're looking for support for older TS versions, please have a look at the
πŸ‘‰ We require `typescript>=4.5`. If you're looking for support for older TS versions, please have a look at the
[TypeScript dependency table](https://github.com/ts-essentials/ts-essentials/tree/master#TypeScript-dependency-table)

@@ -36,2 +36,3 @@

[`keyofStringsOnly`](https://www.typescriptlang.org/tsconfig#keyofStringsOnly)-tolerant analogue for `PropertyKey`
- [`Prettify<Type>`](/lib/prettify/) - flattens type and makes it more readable on the hover in your IDE
- [`Primitive`](/lib/primitive) - Matches any

@@ -68,2 +69,4 @@ [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive)

`Token`
- [`PathValue<Type, Path>`](/lib/path-value) - Constructs a path value for type `Type` and path `Path`
- [`Paths<Type>`](/lib/paths) - Constructs a union type by picking all possible paths for type `Type`
- [`PickProperties<Type, Value>`](/lib/pick-properties) - Constructs a type by picking all properties from type `Type`

@@ -76,3 +79,4 @@ which values equal to `Value`

elements for arrays, function return type for functions or object property values for objects
- [`XOR<Type1, Type2>`](/lib/xor) - Construct a type which is assignable to either type `Type1` or `Type2` but not both
- [`XOR<Type1, Type2, Type3?, ..., Type50?>`](/lib/xor) - Construct a type which is assignable to either type `Type1`,
`Type2` but not both. Starting in ts-essentials@10, it supports up to 50 generic types.

@@ -101,3 +105,4 @@ ### Mark wrapper types

- [`DeepOmit<Type, Filter>`](/lib/deep-omit) - Constructs a type by picking all properties from type `Type` and removing
properties which values are `never` or `true` in type `Filter`
properties which values are `never` or `true` in type `Filter`. If you'd like type `Filter` to be validated against a
structure of `Type`, please use [`StrictDeepOmit<Type, Filter>`](./lib/strict-deep-omit/).
- [`DeepPartial<Type>`](/lib/deep-partial) - Constructs a type by picking all properties from type `Type` recursively

@@ -107,3 +112,4 @@ and setting them as optional, meaning they aren't required. To make properties optional on one level, use

- [`DeepPick<Type, Filter>`](/lib/deep-pick) - Constructs a type by picking set of properties, which have property
values `never` or `true` in type `Filter`, from type `Type`
values `never` or `true` in type `Filter`, from type `Type`. If you'd like type `Filter` to be validated against a
structure of `Type`, please use [`StrictDeepPick<Type, Filter>`](./lib/strict-deep-pick/).
- [`DeepReadonly<Type>`](/lib/deep-readonly) - Constructs a type by picking all properties from type `Type` recursively

@@ -120,2 +126,8 @@ and setting `readonly` modifier, meaning they cannot be reassigned. To make properties `readonly` on one level, use

`Writable<Type>`
- [`StrictDeepOmit<Type, Filter>`](/lib/strict-deep-omit) - Constructs a type by picking all properties from type `Type`
and removing properties which values are `never` or `true` in type `Filter`. The type `Filter` is validated against a
structure of `Type`.
- [`StrictDeepPick<Type, Filter>`](/lib/strict-deep-pick) - Constructs a type by picking set of properties, which have
property values `never` or `true` in type `Filter`, from type `Type`. The type `Filter` is validated against a
structure of `Type`.

@@ -190,2 +202,16 @@ ### Key types

## Search
When one of utility types is known by a different name, kindly ask adding it here for the better search.
- `ArrayValues` - [`ValueOf<Type>`](/lib/value-of)
- `Branded` - [`Opaque<Type, Token>`](/lib/opaque)
- `ConditionalKeys` - [`PickKeys<Type, Value>`](/lib/pick-keys)
- `Except` - [`StrictOmit<Type, Keys>`](/lib/strict-omit)
- `Get` - [`PathValue<Type, Path>`](/lib/path-value)
- `Mutable` - [`Writable<Type>`](/lib/writable)
- `Nominal` - [`Opaque<Type, Token>`](/lib/opaque)
- `Set*`, e.g. `SetOptional` - `Mark*`, e.g. [`MarkReadonly<Type, Keys>`](/lib/mark-readonly)
- `Unwrap` - [`Prettify<Type>`](/lib/prettify/)
## Built-in types

@@ -238,2 +264,3 @@

| --------------- | ------------------------------------------------------------------------------------- |
| `^10.0.0` | `^4.5.0` / [peer optional](https://github.com/ts-essentials/ts-essentials/issues/370) |
| `^9.4.0` | `^4.1.0` / [peer optional](https://github.com/ts-essentials/ts-essentials/issues/370) |

@@ -240,0 +267,0 @@ | `^8.0.0` | `^4.1.0` / peer |

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚑️ by Socket Inc