@pikku/core 0.6.27 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/CHANGELOG.md +10 -1
  2. package/dist/channel/channel-handler.js +16 -38
  3. package/dist/channel/channel-runner.d.ts +7 -8
  4. package/dist/channel/channel-runner.js +58 -7
  5. package/dist/channel/channel.types.d.ts +14 -27
  6. package/dist/channel/local/local-channel-runner.js +9 -4
  7. package/dist/channel/log-channels.js +4 -4
  8. package/dist/channel/serverless/serverless-channel-runner.js +17 -6
  9. package/dist/function/function-runner.d.ts +12 -0
  10. package/dist/function/function-runner.js +38 -0
  11. package/dist/function/functions.types.d.ts +37 -0
  12. package/dist/function/functions.types.js +1 -0
  13. package/dist/function/index.d.ts +2 -0
  14. package/dist/function/index.js +2 -0
  15. package/dist/handle-error.d.ts +1 -1
  16. package/dist/http/http-route-runner.d.ts +3 -3
  17. package/dist/http/http-route-runner.js +60 -35
  18. package/dist/http/http-routes.types.d.ts +38 -7
  19. package/dist/http/http-runner.d.ts +90 -0
  20. package/dist/http/http-runner.js +336 -0
  21. package/dist/http/http.types.d.ts +177 -0
  22. package/dist/http/http.types.js +1 -0
  23. package/dist/http/index.d.ts +2 -2
  24. package/dist/http/index.js +1 -1
  25. package/dist/http/log-http-routes.js +7 -5
  26. package/dist/http/pikku-fetch-http-request.d.ts +1 -1
  27. package/dist/http/pikku-fetch-http-response.d.ts +4 -2
  28. package/dist/http/pikku-fetch-http-response.js +64 -12
  29. package/dist/http/pikku-http-request.d.ts +56 -0
  30. package/dist/http/pikku-http-request.js +95 -0
  31. package/dist/http/pikku-http-response.d.ts +13 -0
  32. package/dist/http/pikku-http-response.js +60 -0
  33. package/dist/index.d.ts +3 -2
  34. package/dist/index.js +3 -2
  35. package/dist/middleware/auth-apikey.js +5 -4
  36. package/dist/middleware/auth-bearer.js +5 -4
  37. package/dist/middleware/auth-cookie.js +10 -9
  38. package/dist/parse-relative-time-offset.d.ts +12 -0
  39. package/dist/parse-relative-time-offset.js +20 -0
  40. package/dist/permissions.d.ts +2 -2
  41. package/dist/pikku-func.d.ts +12 -0
  42. package/dist/pikku-func.js +39 -0
  43. package/dist/pikku-function.d.ts +1 -0
  44. package/dist/pikku-function.js +1 -0
  45. package/dist/pikku-state.d.ts +10 -5
  46. package/dist/pikku-state.js +7 -3
  47. package/dist/scheduler/scheduler-runner.d.ts +1 -1
  48. package/dist/scheduler/scheduler-runner.js +24 -6
  49. package/dist/scheduler/scheduler.types.d.ts +3 -2
  50. package/dist/services/content-service.d.ts +33 -37
  51. package/dist/types/core.types.d.ts +15 -1
  52. package/dist/types/functions.types.d.ts +11 -6
  53. package/dist/utils.d.ts +2 -0
  54. package/dist/utils.js +15 -0
  55. package/package.json +2 -1
  56. package/lcov.info +0 -4310
  57. package/src/channel/channel-handler.ts +0 -227
  58. package/src/channel/channel-runner.ts +0 -98
  59. package/src/channel/channel-store.ts +0 -29
  60. package/src/channel/channel.types.ts +0 -171
  61. package/src/channel/eventhub-service.ts +0 -30
  62. package/src/channel/eventhub-store.ts +0 -8
  63. package/src/channel/index.ts +0 -8
  64. package/src/channel/local/index.ts +0 -3
  65. package/src/channel/local/local-channel-handler.ts +0 -50
  66. package/src/channel/local/local-channel-runner.test.ts +0 -158
  67. package/src/channel/local/local-channel-runner.ts +0 -126
  68. package/src/channel/local/local-eventhub-service.test.ts +0 -95
  69. package/src/channel/local/local-eventhub-service.ts +0 -95
  70. package/src/channel/log-channels.ts +0 -20
  71. package/src/channel/pikku-abstract-channel-handler.test.ts +0 -52
  72. package/src/channel/pikku-abstract-channel-handler.ts +0 -38
  73. package/src/channel/serverless/index.ts +0 -1
  74. package/src/channel/serverless/serverless-channel-runner.ts +0 -209
  75. package/src/errors/error-handler.ts +0 -61
  76. package/src/errors/error.test.ts +0 -54
  77. package/src/errors/errors.ts +0 -339
  78. package/src/errors/index.ts +0 -2
  79. package/src/handle-error.ts +0 -73
  80. package/src/http/http-route-runner.test.ts +0 -117
  81. package/src/http/http-route-runner.ts +0 -460
  82. package/src/http/http-routes.types.ts +0 -211
  83. package/src/http/incomingmessage-to-request-convertor.ts +0 -0
  84. package/src/http/index.ts +0 -8
  85. package/src/http/log-http-routes.ts +0 -20
  86. package/src/http/pikku-fetch-http-request.test.ts +0 -237
  87. package/src/http/pikku-fetch-http-request.ts +0 -167
  88. package/src/http/pikku-fetch-http-response.test.ts +0 -82
  89. package/src/http/pikku-fetch-http-response.ts +0 -84
  90. package/src/index.ts +0 -19
  91. package/src/middleware/auth-apikey.ts +0 -65
  92. package/src/middleware/auth-bearer.ts +0 -65
  93. package/src/middleware/auth-cookie.ts +0 -98
  94. package/src/middleware/index.ts +0 -3
  95. package/src/middleware/timeout.ts +0 -13
  96. package/src/middleware-runner.ts +0 -43
  97. package/src/permissions.test.ts +0 -58
  98. package/src/permissions.ts +0 -45
  99. package/src/pikku-request.ts +0 -23
  100. package/src/pikku-response.ts +0 -5
  101. package/src/pikku-state.ts +0 -71
  102. package/src/scheduler/index.ts +0 -5
  103. package/src/scheduler/log-schedulers.ts +0 -20
  104. package/src/scheduler/scheduler-runner.ts +0 -87
  105. package/src/scheduler/scheduler.types.ts +0 -29
  106. package/src/schema.test.ts +0 -57
  107. package/src/schema.ts +0 -99
  108. package/src/services/content-service.ts +0 -72
  109. package/src/services/index.ts +0 -18
  110. package/src/services/jwt-service.ts +0 -30
  111. package/src/services/local-content.ts +0 -105
  112. package/src/services/local-secrets.ts +0 -43
  113. package/src/services/local-variables.ts +0 -17
  114. package/src/services/logger-console.ts +0 -97
  115. package/src/services/logger.ts +0 -57
  116. package/src/services/schema-service.ts +0 -26
  117. package/src/services/secret-service.ts +0 -17
  118. package/src/services/user-session-service.ts +0 -53
  119. package/src/services/variables-service.ts +0 -6
  120. package/src/time-utils.test.ts +0 -56
  121. package/src/time-utils.ts +0 -32
  122. package/src/types/core.types.ts +0 -159
  123. package/src/types/functions.types.ts +0 -63
  124. package/src/utils.ts +0 -21
  125. package/tsconfig.json +0 -13
  126. package/tsconfig.tsbuildinfo +0 -1
@@ -1,57 +0,0 @@
1
- export enum LogLevel {
2
- 'trace', // Add this level
3
- 'debug',
4
- 'info',
5
- 'warn',
6
- 'error',
7
- 'critical',
8
- }
9
-
10
- /**
11
- * Interface for logging messages at various levels.
12
- */
13
- export interface Logger {
14
- /**
15
- * Logs an informational message.
16
- * @param messageOrObj - The message or object to log.
17
- * @param meta - Additional metadata to log.
18
- */
19
- info(messageOrObj: string | Record<string, any>, ...meta: any[]): void
20
-
21
- /**
22
- * Logs a warning message.
23
- * @param messageOrObj - The message or object to log.
24
- * @param meta - Additional metadata to log.
25
- */
26
- warn(messageOrObj: string | Record<string, any>, ...meta: any[]): void
27
-
28
- /**
29
- * Logs an error message.
30
- * @param messageOrObj - The message, object, or error to log.
31
- * @param meta - Additional metadata to log.
32
- */
33
- error(
34
- messageOrObj: string | Record<string, any> | Error,
35
- ...meta: any[]
36
- ): void
37
-
38
- /**
39
- * Logs a debug message.
40
- * @param message - The message to log.
41
- * @param meta - Additional metadata to log.
42
- */
43
- debug(message: string, ...meta: any[]): void
44
-
45
- /**
46
- * Logs a trace message.
47
- * @param message - The message to log.
48
- * @param meta - Additional metadata to log.
49
- */
50
- trace?(message: string, ...meta: any[]): void
51
-
52
- /**
53
- * Sets the logging level.
54
- * @param level - The logging level to set.
55
- */
56
- setLevel(level: LogLevel): void
57
- }
@@ -1,26 +0,0 @@
1
- /**
2
- * Interface for a schema service that handles schema compilation, validation, and management.
3
- */
4
- export interface SchemaService {
5
- /**
6
- * Compiles a schema with the provided name and value, making it available for use.
7
- * @param {string} name - The unique name for the schema.
8
- * @param {any} value - The schema definition or configuration to be compiled.
9
- * @returns {Promise<void> | void} A promise if asynchronous, or void if synchronous.
10
- */
11
- compileSchema: (name: string, value: any) => Promise<void> | void
12
-
13
- /**
14
- * Validates data against a specified schema.
15
- * @param {string} schema - The name of the schema to validate against.
16
- * @param {any} data - The data to validate against the schema.
17
- * @returns {Promise<void> | void} A promise if asynchronous, or void if synchronous.
18
- */
19
- validateSchema: (schema: string, data: any) => Promise<void> | void
20
-
21
- /**
22
- * Retrieves a set of all registered schema names.
23
- * @returns {Set<string>} A set containing the names of all available schemas.
24
- */
25
- getSchemaNames: () => Set<string>
26
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Interface for retrieving secrets.
3
- */
4
- export interface SecretService {
5
- /**
6
- * Retrieves a secret by key.
7
- * @param key - The key of the secret to retrieve.
8
- * @returns A promise that resolves to the secret value.
9
- */
10
- getSecretJSON<Return = {}>(key: string): Promise<Return>
11
- /**
12
- * Retrieves a secret by key.
13
- * @param key - The key of the secret to retrieve.
14
- * @returns A promise that resolves to the secret value.
15
- */
16
- getSecret(key: string): Promise<string>
17
- }
@@ -1,53 +0,0 @@
1
- import { ChannelStore } from '../channel/channel-store.js'
2
- import { CoreUserSession } from '../types/core.types.js'
3
-
4
- export interface UserSessionService<UserSession extends CoreUserSession> {
5
- sessionChanged: boolean
6
- setInitial(session: UserSession): void
7
- set(session: UserSession): Promise<void> | void
8
- clear(): Promise<void> | void
9
- get(): Promise<UserSession | undefined> | UserSession | undefined
10
- }
11
-
12
- export class PikkuUserSessionService<UserSession extends CoreUserSession>
13
- implements UserSessionService<UserSession>
14
- {
15
- public sessionChanged = false
16
- private session: UserSession | undefined
17
- constructor(
18
- private channelStore?: ChannelStore<unknown, unknown, UserSession>,
19
- private channelId?: string
20
- ) {
21
- if (channelStore && !channelId) {
22
- throw new Error('Channel ID is required when using channel store')
23
- }
24
- }
25
-
26
- public setInitial(session: UserSession) {
27
- this.session = session
28
- }
29
-
30
- public set(session: UserSession) {
31
- this.sessionChanged = true
32
- this.session = session
33
- return this.channelStore?.setUserSession(this.channelId!, session)
34
- }
35
-
36
- public clear() {
37
- this.sessionChanged = true
38
- this.session = undefined
39
- return this.channelStore?.setUserSession(this.channelId!, null)
40
- }
41
-
42
- public get(): Promise<UserSession> | UserSession | undefined {
43
- if (this.channelStore) {
44
- const channel = this.channelStore.getChannelAndSession(this.channelId!)
45
- if (channel instanceof Promise) {
46
- return channel.then(({ session }) => session)
47
- } else {
48
- return channel.session
49
- }
50
- }
51
- return this.session
52
- }
53
- }
@@ -1,6 +0,0 @@
1
- export interface VariablesService {
2
- get: (name: string) => Promise<string | undefined> | string | undefined
3
- getAll: () =>
4
- | Promise<Record<string, string | undefined>>
5
- | Record<string, string | undefined>
6
- }
@@ -1,56 +0,0 @@
1
- import { describe, test } from 'node:test'
2
- import assert from 'node:assert/strict'
3
-
4
- import {
5
- getRelativeTimeOffset,
6
- getRelativeTimeOffsetFromNow,
7
- RelativeTimeInput,
8
- } from './time-utils'
9
-
10
- const approxEqual = (a: number, b: number, delta: number = 10): boolean =>
11
- Math.abs(a - b) <= delta
12
-
13
- describe('Time Utils', () => {
14
- const offsetCases: Array<{ input: RelativeTimeInput; expected: number }> = [
15
- { input: { value: 1, unit: 'second' }, expected: 1000 },
16
- { input: { value: 2, unit: 'minute' }, expected: 120000 },
17
- { input: { value: 1.5, unit: 'hour' }, expected: 5400000 },
18
- { input: { value: -1, unit: 'day' }, expected: -86400000 },
19
- { input: { value: 1, unit: 'week' }, expected: 604800000 },
20
- {
21
- input: { value: 2, unit: 'year' },
22
- expected: Math.round(2 * 365.25 * 86400 * 1000),
23
- },
24
- ]
25
-
26
- describe('getRelativeTimeOffset', () => {
27
- for (const { input, expected } of offsetCases) {
28
- test(`returns ${expected} ms for ${input.value} ${input.unit}`, () => {
29
- const actual = getRelativeTimeOffset(input)
30
- assert.strictEqual(actual, expected)
31
- })
32
- }
33
- })
34
-
35
- describe('getRelativeTimeOffsetFromNow', () => {
36
- test('returns a Date ~1 minute in the future', () => {
37
- const now = Date.now()
38
- const result = getRelativeTimeOffsetFromNow({ value: 1, unit: 'minute' })
39
- const delta = result.getTime() - now
40
- assert.ok(
41
- approxEqual(delta, 60000),
42
- `Expected ~60000ms ahead, got ${delta}ms`
43
- )
44
- })
45
-
46
- test('returns a Date ~2 hours in the past', () => {
47
- const now = Date.now()
48
- const result = getRelativeTimeOffsetFromNow({ value: -2, unit: 'hour' })
49
- const delta = now - result.getTime()
50
- assert.ok(
51
- approxEqual(delta, 7200000),
52
- `Expected ~7200000ms ago, got ${delta}ms`
53
- )
54
- })
55
- })
56
- })
package/src/time-utils.ts DELETED
@@ -1,32 +0,0 @@
1
- type TimeUnit = 'second' | 'minute' | 'hour' | 'day' | 'week' | 'year'
2
-
3
- export interface RelativeTimeInput {
4
- value: number // negative = in the past
5
- unit: TimeUnit
6
- }
7
-
8
- const multipliers: Record<TimeUnit, number> = {
9
- second: 1,
10
- minute: 60,
11
- hour: 60 * 60,
12
- day: 60 * 60 * 24,
13
- week: 60 * 60 * 24 * 7,
14
- year: Math.round(365.25 * 60 * 60 * 24),
15
- }
16
-
17
- export const getRelativeTimeOffset = ({
18
- value,
19
- unit,
20
- }: RelativeTimeInput): number => {
21
- return Math.round(value * multipliers[unit]) * 1000 // convert to milliseconds
22
- }
23
-
24
- /**
25
- * Returns a Unix timestamp (in seconds) offset from now by the given duration.
26
- * e.g. value = -1 and unit = 'day' => 1 day ago => now - 86400 seconds
27
- */
28
- export const getRelativeTimeOffsetFromNow = (
29
- relativeTime: RelativeTimeInput
30
- ): Date => {
31
- return new Date(Date.now() + getRelativeTimeOffset(relativeTime))
32
- }
@@ -1,159 +0,0 @@
1
- import type { Logger, LogLevel } from '../services/logger.js'
2
- import { VariablesService } from '../services/variables-service.js'
3
- import { EventHubService } from '../channel/eventhub-service.js'
4
- import { SchemaService } from '../services/schema-service.js'
5
- import { PikkuHTTP } from '../http/http-routes.types.js'
6
- import { UserSessionService } from '../services/user-session-service.js'
7
- import { JWTService } from '../services/jwt-service.js'
8
- import { SecretService } from '../services/secret-service.js'
9
-
10
- export type MakeRequired<T, K extends keyof T> = Omit<T, K> &
11
- Required<Pick<T, K>>
12
-
13
- /**
14
- * Represents a JSON primitive type which can be a string, number, boolean, null, or undefined.
15
- */
16
- export type JSONPrimitive = string | number | boolean | null | undefined
17
-
18
- /**
19
- * Represents a JSON value which can be a primitive, an array, or an object.
20
- */
21
- export type JSONValue =
22
- | JSONPrimitive
23
- | JSONValue[]
24
- | {
25
- [key: string]: JSONValue
26
- }
27
-
28
- /**
29
- * Utility type for making certain keys required and leaving the rest as optional.
30
- */
31
- export type PickRequired<T, K extends keyof T> = Required<Pick<T, K>> &
32
- Partial<T>
33
-
34
- /**
35
- * Utility type for making certain keys optional while keeping the rest required.
36
- */
37
- export type PickOptional<T, K extends keyof T> = Partial<T> & Pick<T, K>
38
-
39
- /**
40
- * Utility type that ensures at least one key in the given type `T` is required.
41
- */
42
- export type RequireAtLeastOne<T> = {
43
- [K in keyof T]-?: Required<Pick<T, K>> & Partial<Pick<T, Exclude<keyof T, K>>>
44
- }[keyof T]
45
-
46
- /**
47
- * Interface for the core configuration settings of Pikku.
48
- */
49
- export type CoreConfig<Config extends Record<string, unknown> = {}> = {
50
- /** The log level for the application. */
51
- logLevel?: LogLevel
52
- /** Secrets used by the application (optional). */
53
- secrets?: {}
54
- } & Config
55
-
56
- /**
57
- * Represents a core user session, which can be extended for more specific session information.
58
- */
59
- export interface CoreUserSession {}
60
-
61
- /**
62
- * Interface for core singleton services provided by Pikku.
63
- */
64
- export interface CoreSingletonServices<Config extends CoreConfig = CoreConfig> {
65
- /** JWT Service */
66
- jwt?: JWTService
67
- /** The schema library used to validate data */
68
- schema?: SchemaService
69
- /** The core configuration for the application. */
70
- config: Config
71
- /** The logger used by the application. */
72
- logger: Logger
73
- /** The variable service to be used */
74
- variables: VariablesService
75
- /** The subscription service that is passed to streams */
76
- eventHub?: EventHubService<unknown>
77
- /** SecretServce */
78
- secrets?: SecretService
79
- }
80
-
81
- /**
82
- * Represents different forms of interaction within Pikku and the outside world.
83
- */
84
- export interface PikkuInteraction {
85
- http?: PikkuHTTP
86
- }
87
-
88
- /**
89
- * A function that can wrap an interaction and be called before or after
90
- */
91
- export type PikkuMiddleware<
92
- SingletonServices extends CoreSingletonServices = CoreSingletonServices,
93
- UserSession extends CoreUserSession = CoreUserSession,
94
- > = (
95
- services: SingletonServices & {
96
- userSession: UserSessionService<UserSession>
97
- },
98
- interactions: PikkuInteraction,
99
- next: () => Promise<void>
100
- ) => Promise<void>
101
-
102
- /**
103
- * Represents the core services used by Pikku, including singleton services and the request/response interaction.
104
- */
105
- export type CoreServices<
106
- SingletonServices = CoreSingletonServices,
107
- UserSession extends CoreUserSession = CoreUserSession,
108
- CoreServices extends Record<string, unknown> = {},
109
- > = SingletonServices &
110
- PikkuInteraction & {
111
- userSession?: UserSessionService<UserSession>
112
- } & CoreServices
113
-
114
- export type SessionServices<
115
- SingletonServices extends CoreSingletonServices = CoreSingletonServices,
116
- Services = CoreServices<SingletonServices>,
117
- > = Omit<Services, keyof SingletonServices | keyof PikkuInteraction | 'session'>
118
-
119
- /**
120
- * Defines a function type for creating singleton services from the given configuration.
121
- */
122
- export type CreateSingletonServices<
123
- Config extends CoreConfig,
124
- SingletonServices extends CoreSingletonServices,
125
- > = (
126
- config: Config,
127
- existingServices?: Partial<SingletonServices>
128
- ) => Promise<SingletonServices>
129
-
130
- /**
131
- * Defines a function type for creating session-specific services.
132
- */
133
- export type CreateSessionServices<
134
- SingletonServices extends CoreSingletonServices = CoreSingletonServices,
135
- Services extends
136
- CoreServices<SingletonServices> = CoreServices<SingletonServices>,
137
- UserSession extends CoreUserSession = CoreUserSession,
138
- > = (
139
- services: SingletonServices,
140
- interaction: PikkuInteraction,
141
- session: UserSession | undefined
142
- ) => Promise<SessionServices<Services, SingletonServices>>
143
-
144
- /**
145
- * Defines a function type for creating config.
146
- */
147
- export type CreateConfig<Config extends CoreConfig> = (
148
- variables?: VariablesService
149
- ) => Promise<Config>
150
-
151
- /**
152
- * Represents the documentation for a route, including summary, description, tags, and errors.
153
- */
154
- export type APIDocs = {
155
- summary?: string
156
- description?: string
157
- tags?: string[]
158
- errors?: string[]
159
- }
@@ -1,63 +0,0 @@
1
- import { PikkuChannel } from '../channel/channel.types.js'
2
- import type {
3
- CoreServices,
4
- CoreSingletonServices,
5
- CoreUserSession,
6
- } from './core.types.js'
7
-
8
- /**
9
- * Represents a core API function that performs an operation using core services and a user session.
10
- *
11
- * @template In - The input type.
12
- * @template Out - The output type.
13
- * @template Services - The services type, defaults to `CoreServices`.
14
- * @template Session - The session type, defaults to `CoreUserSession`.
15
- */
16
- export type CoreAPIFunction<
17
- In,
18
- Out,
19
- Services extends CoreSingletonServices = CoreServices & {
20
- channel?: PikkuChannel<unknown, Out>
21
- },
22
- Session extends CoreUserSession = CoreUserSession,
23
- Channel extends boolean = false,
24
- > = (
25
- services: Services,
26
- data: In,
27
- session: Session
28
- ) => Channel extends true ? Promise<Out> | Promise<void> : Promise<Out>
29
-
30
- /**
31
- * Represents a core API function that can be used without a session.
32
- *
33
- * @template In - The input type.
34
- * @template Out - The output type.
35
- * @template Services - The services type, defaults to `CoreServices`.
36
- * @template Session - The session type, defaults to `CoreUserSession`.
37
- */
38
- export type CoreAPIFunctionSessionless<
39
- In,
40
- Out,
41
- Services extends CoreSingletonServices = CoreServices & {
42
- channel?: PikkuChannel<unknown, Out>
43
- },
44
- Session extends CoreUserSession = CoreUserSession,
45
- Channel extends boolean = false,
46
- > = (
47
- services: Services,
48
- data: In,
49
- session?: Session
50
- ) => Channel extends true ? Promise<Out> | Promise<void> : Promise<Out>
51
-
52
- /**
53
- * Represents a function that checks permissions for a given API operation.
54
- *
55
- * @template In - The input type.
56
- * @template Services - The services type, defaults to `CoreServices`.
57
- * @template Session - The session type, defaults to `CoreUserSession`.
58
- */
59
- export type CoreAPIPermission<
60
- In = any,
61
- Services extends CoreSingletonServices = CoreServices,
62
- Session extends CoreUserSession = CoreUserSession,
63
- > = (services: Services, data: In, session?: Session) => Promise<boolean>
package/src/utils.ts DELETED
@@ -1,21 +0,0 @@
1
- import { Logger } from './services/logger.js'
2
-
3
- // TODO: SessionServices probably needs it's own type
4
- // but is an issue for the future and will be tackled
5
- // with dependency injection
6
- export const closeSessionServices = async (
7
- logger: Logger,
8
- sessionServices: Record<string, any>
9
- ) => {
10
- await Promise.all(
11
- Object.values(sessionServices).map(async (service) => {
12
- if (service?.close) {
13
- try {
14
- await service.close()
15
- } catch (e: any) {
16
- logger.error(e)
17
- }
18
- }
19
- })
20
- )
21
- }
package/tsconfig.json DELETED
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "../tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": "./src",
5
- "composite": true,
6
- "module": "Node16",
7
- "outDir": "dist",
8
- "target": "esnext",
9
- "moduleResolution": "node16"
10
- },
11
- "exclude": ["**/*.test.ts", "node_modules", "dist"],
12
- "references": []
13
- }
@@ -1 +0,0 @@
1
- {"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../node_modules/typescript/lib/lib.dom.asynciterable.d.ts","../../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../node_modules/typescript/lib/lib.scripthost.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.esnext.array.d.ts","../../node_modules/typescript/lib/lib.esnext.collection.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../node_modules/typescript/lib/lib.esnext.iterator.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../node_modules/typescript/lib/lib.esnext.full.d.ts","../../node_modules/cookie/dist/index.d.ts","./src/services/logger.ts","./src/services/variables-service.ts","./src/channel/eventhub-service.ts","./src/services/schema-service.ts","./src/channel/channel-store.ts","./src/services/user-session-service.ts","./src/time-utils.ts","./src/services/jwt-service.ts","./src/services/secret-service.ts","./src/types/core.types.ts","./src/types/functions.types.ts","./src/http/http-routes.types.ts","./src/channel/channel.types.ts","./src/scheduler/scheduler.types.ts","./src/pikku-state.ts","./src/errors/error-handler.ts","./src/errors/errors.ts","./src/handle-error.ts","./src/pikku-request.ts","./src/pikku-response.ts","./src/services/content-service.ts","./src/services/logger-console.ts","./src/services/local-content.ts","./src/services/local-variables.ts","./src/services/local-secrets.ts","./src/services/index.ts","../../node_modules/picoquery/lib/shared.d.ts","../../node_modules/picoquery/lib/parse.d.ts","../../node_modules/picoquery/lib/stringify.d.ts","../../node_modules/picoquery/lib/main.d.ts","./src/http/pikku-fetch-http-request.ts","./src/http/pikku-fetch-http-response.ts","./src/http/incomingmessage-to-request-convertor.ts","./src/http/log-http-routes.ts","./src/permissions.ts","../../node_modules/path-to-regexp/dist/index.d.ts","./src/utils.ts","./src/schema.ts","./src/middleware-runner.ts","./src/http/http-route-runner.ts","./src/http/index.ts","./src/channel/channel-runner.ts","./src/channel/log-channels.ts","./src/channel/pikku-abstract-channel-handler.ts","./src/channel/eventhub-store.ts","./src/channel/index.ts","./src/scheduler/scheduler-runner.ts","./src/scheduler/log-schedulers.ts","./src/scheduler/index.ts","./src/errors/index.ts","./src/middleware/auth-apikey.ts","./src/middleware/auth-cookie.ts","./src/middleware/auth-bearer.ts","./src/middleware/index.ts","./src/index.ts","./src/channel/channel-handler.ts","./src/channel/local/local-channel-handler.ts","./src/channel/local/local-channel-runner.ts","./src/channel/local/local-eventhub-service.ts","./src/channel/local/index.ts","./src/channel/serverless/serverless-channel-runner.ts","./src/channel/serverless/index.ts","./src/middleware/timeout.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","../../node_modules/buffer/index.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/dom-events.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts"],"fileIdsList":[[152,195],[110,111,112,152,195],[110,152,195],[152,192,195],[152,194,195],[195],[152,195,200,230],[152,195,196,201,207,208,215,227,238],[152,195,196,197,207,215],[147,148,149,152,195],[152,195,198,239],[152,195,199,200,208,216],[152,195,200,227,235],[152,195,201,203,207,215],[152,194,195,202],[152,195,203,204],[152,195,207],[152,195,205,207],[152,194,195,207],[152,195,207,208,209,227,238],[152,195,207,208,209,222,227,230],[152,190,195,243],[152,190,195,203,207,210,215,227,238],[152,195,207,208,210,211,215,227,235,238],[152,195,210,212,227,235,238],[150,151,152,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244],[152,195,207,213],[152,195,214,238],[152,195,203,207,215,227],[152,195,216],[152,195,217],[152,194,195,218],[152,192,193,194,195,196,197,198,199,200,201,202,203,204,205,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244],[152,195,220],[152,195,221],[152,195,207,222,223],[152,195,222,224,239,241],[152,195,207,227,228,229,230],[152,195,227,229],[152,195,227,228],[152,195,230],[152,195,231],[152,192,195,227],[152,195,207,233,234],[152,195,233,234],[152,195,200,215,227,235],[152,195,236],[152,195,215,237],[152,195,210,221,238],[152,195,200,239],[152,195,227,240],[152,195,214,241],[152,195,242],[152,195,200,207,209,218,227,238,241,243],[152,195,227,244],[152,162,166,195,238],[152,162,195,227,238],[152,157,195],[152,159,162,195,235,238],[152,195,215,235],[152,195,245],[152,157,195,245],[152,159,162,195,215,238],[152,154,155,158,161,195,207,227,238],[152,162,169,195],[152,154,160,195],[152,162,183,184,195],[152,158,162,195,230,238,245],[152,183,195,245],[152,156,157,195,245],[152,162,195],[152,156,157,158,159,160,161,162,163,164,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,184,185,186,187,188,189,195],[152,162,177,195],[152,162,169,170,195],[152,160,162,170,171,195],[152,161,195],[152,154,157,162,195],[152,162,166,170,171,195],[152,166,195],[152,160,162,165,195,238],[152,154,159,162,169,195],[152,195,227],[152,157,162,183,195,243,245],[93,96,98,118,152,195],[89,96,98,100,119,121,152,195],[93,152,195],[93,94,95,99,152,195],[86,88,96,125,126,127,128,152,195],[140,141,142,152,195],[127,152,195],[89,93,95,96,101,120,122,123,125,139,140,152,195],[86,96,152,195],[98,109,152,195],[96,152,195],[144,152,195],[88,89,93,95,96,98,101,114,120,122,123,125,139,152,195],[98,152,195],[99,152,195],[99,100,152,195],[84,95,99,100,152,195],[89,93,95,98,100,101,114,115,118,119,120,121,122,152,195],[83,93,94,99,152,195],[95,114,115,116,117,123,152,195],[83,95,100,113,152,195],[83,95,152,195],[90,93,94,98,102,103,109,122,123,124,125,129,130,132,133,137,152,195],[89,93,152,195],[93,100,152,195],[83,90,93,152,195],[134,135,136,152,195],[93,94,152,195],[93,95,96,97,99,152,195],[97,130,131,152,195],[93,94,97,98,99,120,152,195],[84,87,98,100,152,195],[152,195,208,227],[84,85,87,89,91,92,104,105,106,107,108,152,195],[90,152,195],[109,152,195,208,209,227,228],[85,92,107,152,195],[85,152,195],[84,152,195],[88,93,152,195],[84,85,86,87,89,91,92,95,152,195],[93,96,152,195]],"fileInfos":[{"version":"e41c290ef7dd7dab3493e6cbe5909e0148edf4a8dad0271be08edec368a0f7b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"e12a46ce14b817d4c9e6b2b478956452330bf00c9801b79de46f7a1815b5bd40","impliedFormat":1},{"version":"4fd3f3422b2d2a3dfd5cdd0f387b3a8ec45f006c6ea896a4cb41264c2100bb2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"69e65d976bf166ce4a9e6f6c18f94d2424bf116e90837ace179610dbccad9b42","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7a3c8b952931daebdfc7a2897c53c0a1c73624593fa070e46bd537e64dcd20a","affectsGlobalScope":true,"impliedFormat":1},{"version":"80e18897e5884b6723488d4f5652167e7bb5024f946743134ecc4aa4ee731f89","affectsGlobalScope":true,"impliedFormat":1},{"version":"cd034f499c6cdca722b60c04b5b1b78e058487a7085a8e0d6fb50809947ee573","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"62bb211266ee48b2d0edf0d8d1b191f0c24fc379a82bd4c1692a082c540bc6b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"f1e2a172204962276504466a6393426d2ca9c54894b1ad0a6c9dad867a65f876","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"b5ce7a470bc3628408429040c4e3a53a27755022a32fd05e2cb694e7015386c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"bab26767638ab3557de12c900f0b91f710c7dc40ee9793d5a27d32c04f0bf646","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"61d6a2092f48af66dbfb220e31eea8b10bc02b6932d6e529005fd2d7b3281290","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"bde31fd423cd93b0eff97197a3f66df7c93e8c0c335cbeb113b7ff1ac35c23f4","impliedFormat":1},{"version":"5a7ebcf5fe8ac590dd03af1bbe426dfed639a3490fb1e5d6b934e45643b8ea1b","impliedFormat":1},{"version":"0c9b1eda8101fd8bf376fad28c6fabf20acfc30d6402a94ee46453a4ee1d5b04","signature":"d6d8e1704f13488e91b5ae6209958d3d76afc84d7e583670f1666371022ea603","impliedFormat":99},{"version":"f460dc79f7250fa2dd7f9d7f15ad9c18168289524b94eee4d63d1a0bd8f66fdb","signature":"07ae4cece96eb084ea1ea8f92dae8106a6ef555cd859211a406a9efb6ab62c0d","impliedFormat":99},{"version":"eae5739206d003069a28b7d894dc9bc2712d5a2459298dce210114de6a512630","signature":"69246ea7d84fde6b17161d65cd5246196a46284d64e12c846ee5eb38efc22f1e","impliedFormat":99},{"version":"7b8c33cc83ddb335bbff1339d2798355ef151f6346490fb7937c542766c966b6","signature":"bdd61b3cc3ff69aa7b588eefcfb7965ef108cf78e273ed2b06b1af9ff3e8895b","impliedFormat":99},{"version":"189ac1e713c72a4c4775b2e300d252c47389b2eec6f8a13b0934263e6ffa6d68","signature":"f0136cccbf1eca046090fe63f450d21946bf67b21352c4b5a436d5adfd4640d5","impliedFormat":99},{"version":"9f3114fcfc075b1d767198ad4d447cc72b7397d245914dd3830dc9232ce82de4","signature":"3ee6cb10da36d74ab7e056df51bb65f41e20df94cffcf813ba688c1411876c12","impliedFormat":99},{"version":"06b2b49bbdc07806329bfd74f324a073f0ea1349596c8efcb21378ef31c7b0c6","signature":"b5e406dcf54e8f52eb702a9e8ae640ed5482759a1d9acf74958ec18cadc480bf","impliedFormat":99},{"version":"c0607865181a590858fb3e828dc6e81cc5597eeeb6974e9f099283357d2c9583","signature":"62986f8902b52095026bdba058ff44392c0ec26c78d4768f7aab31e78d965f20","impliedFormat":99},{"version":"f34bba872994525b166d1168c033c6c4a9d275f030c517a4932a3d96466df721","signature":"d293df64831379effa58ef7c63edf7b96e59e2f85739d5ac91ac8f27cd772df0","impliedFormat":99},{"version":"397e7c1d98bd86ef0eca68fc48519214978e05f5893d84bb7132e83ec16a732d","signature":"9de547790bd68998cc092708edc991efe88c8db194ded298e4eabfe6b450cb9c","impliedFormat":99},{"version":"1633ea5ae726d45cfb6001b47d56da665741c1631e72f0560ce0ff2d1789c6e1","signature":"2a1cc5358d50e9152c92bfc484d25675f5984922b54f68a6c6ff4ae4d3563086","impliedFormat":99},{"version":"f0e45fd6ad06501f8492b334e63c6321504ed120e446c48b5536008b4ba89d01","signature":"3e2a4846238282eba0f098c8c303076ab3748fc026eec9c4a68ea8deccd7df00","impliedFormat":99},{"version":"747be1e63045b414fe65b0eae689362cfe9cd68d9d3a9f5fa15d5ac3acad9994","signature":"a11f5458ed40fbbd221716097d5b1f92dbe7fa4088fd6db6fade1da35fe9d1db","impliedFormat":99},{"version":"286e09cf3c4f29724ecac6008501593c60dba91d81b8e1f9fe22881a75cbbcb7","signature":"d38c56b8e2b832569b826ad8962e57889091d6478f120a7ff29132d64d7a1875","impliedFormat":99},{"version":"c8196ff02c752392fcb9a58a474e7cfa57d8c947e4a77ca0ee3be72d891c34c4","signature":"4d72606689dd705e0100c44b469c08792cebbc2d85106f8e54285447de56a249","impliedFormat":99},{"version":"63e858abbf63ff09c4d88d8a03bb09a28b16aff73ac85ec4e8831319f54b5f69","signature":"fc229cda030c2974a05e03c5c86eb2c32d26f58b6f49b1b610c431f9159d81e6","impliedFormat":99},{"version":"a862d1db2db80c379ed34d906072a4bee7194bd2674f28a59c9a782c334e0dc6","signature":"5861423c8f263f4d91a00297b6d74669596935b8f31f29a94847a056aac13a6f","impliedFormat":99},{"version":"d8650f40cb31973b401695017cfed0289f8ace9f3db1bd4bff0e6a0d22c2159f","signature":"c9fdf0f6f37a42b2269625e430e98baba9337e89d1b70a4e4ae1142ab39ed16d","impliedFormat":99},{"version":"95aab46e25cd2603c59dcba5903a7dac51524975a59775d46da09917b7fa7a86","signature":"fd757c959e0c11a7265b85e84f793fb96d140ab58300ff12e5302f708c12df8f","impliedFormat":99},{"version":"fbf264ed1294a2377313139a7ffbc1c7c0a1245641fe27c7111b7294123aceed","signature":"4642b2ac614eb714017f6e7f630342cb93c3631d606771b201d560bc8f6c2ee3","impliedFormat":99},{"version":"3b89b239b9a3ea81cf30fede2ea0bf42ac1adea2d8b3faf23f4dd573c248019c","signature":"b5326896ff0ec58bf93cdb3d1491f52a0b9363c099d50a68fdc9c410caa6a081","impliedFormat":99},{"version":"4c450f5553dd582c8e148c7522dab4dc20a25dbbceb00c21307ca3141a937bd6","signature":"2435079d0ee60718fb4b36adbd00a33649ec2ef6b7d2119fd8525307af38827b","impliedFormat":99},{"version":"750d07b9e8172e54412da2dcb10a9b35f4aa5766a7f082cc5a708e8947e6326d","signature":"cbedc32ba9fe3f82407e0ec882edeaf8020394e154a8c21d1d8a2c21ea4c436e","impliedFormat":99},{"version":"46e36680394e51afe9bb5ecf8313d1f77ae93604388f169ce93ee6614b1fc837","signature":"4bfbe6eec6d673e4ec5e99b0a30fbee091958e5f3198d67604de383bb11a8e6b","impliedFormat":99},{"version":"7afcf38a3914fcda859cecef32c3c8d43facafd28bb2d28fce95dcfddd2085db","signature":"80ec71c3f5586270693412ea3547a6200fc799b5b7fa35b156c9f1984c66ab2b","impliedFormat":99},{"version":"83670d98afc2399eea25b08a8eec4e0028ef7f46e8b18f9a16889b283f0e8b48","signature":"9e79eea004bdfc9ae838daac09c29b19e6277393bd528e6cc4a346f61734d2dc","impliedFormat":99},{"version":"b79c47c1952deb44203c7ad5e85ecc60e3eab751edcfae2eb39bddffdb2addc6","impliedFormat":99},{"version":"0fdeb386d5e17483c2b152f6b0f369ff234f57a4e333c44cb18f63480237aa0e","impliedFormat":99},{"version":"b170d7755fa9def5551bf76252d06e7f63d7ad46457f735688233499bd215f0e","impliedFormat":99},{"version":"a798b0af0f2c819bfba03f97cb2027676c06e5d259bb9eb948061d0c98ad887c","impliedFormat":99},{"version":"f694438b5a385e12c04aa767c094506d87b74b772700c85a74e847f01b552edb","signature":"a6f23c9db5bb94c55c4520e93c32fe2ee8964d986244b1f4e9db2bd8375b3270","impliedFormat":99},{"version":"722a0f06fcc3963e532d8051d7c1f869855eb7f64093e94d88333f513b66cb67","signature":"af588397446849841e3123bb5ce1f3e9179206c476fd3a834118a5bf56ac88dd","impliedFormat":99},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"7c34c6a5f0d2764736a15cad253671882fec460a261e050cc203ee0f9d18de55","signature":"439cd298e3a7f9cd1fdbfa31d1ca8942192b3accbcf369586aabf533d02bdd73","impliedFormat":99},{"version":"75dbf3fa97d4604233f841d980cc4d1b84d519a3d5c89e34949e9a860a59a38e","signature":"cf21e19ef3f9a12497bf12504a455b299c456f7aa4f44eff54202636c0fe0c8d","impliedFormat":99},{"version":"ba82ccb10b660ba4e631cab0de696935ae02ffc54bc1693f821d577e6b17165b","impliedFormat":1},{"version":"902534fcb369bcf61b2afb1a07294096d820c431e3929b3f19cc9f5f050f76cb","signature":"9179b87d0dae14402bedfde99dbc42b824cf4652faa92d7358af232eef2e3efe","impliedFormat":99},{"version":"03bced0d9bccd4699977433ade88e0feb302222bc177f21b2a53a6d9e5019164","signature":"cea0b7a9e97b5082d471c1b9772acaa3bbe3cc1f8717827893e94b276952c0d6","impliedFormat":99},{"version":"d6d158bea01b6ef28b7748f03a69e65d36b3aa04853a25b08921c787e6b9dfcf","signature":"e9b54b66f6786269ba3d7cab22d3c92c398a238a67f29f5197a9a9a5bb2627db","impliedFormat":99},{"version":"3900b4e982524183c01c615d4bdb1e50c677bf680285be0b0aa917842fbdccdf","signature":"74ef054f97b516e9cbe8598269bb83af0ee44c34ddc0ca0c04d91f9725d6b752","impliedFormat":99},{"version":"f8ce0f9982fd48bf82cbf851f405c31907d076e3a3e6e51556648c543cd70d35","signature":"5e95a59e877fee0fc0541fc51a4a7d101e00d555fd34ae2ca427b1662e4e7417","impliedFormat":99},{"version":"13ed990579e253422ee8217ad95da1ef604dcbdc5a75e067c787a43bb21ceeed","signature":"3c1c88b46049c3e88edbc2bf2c5c5e019afed7dd916779a3dbd7769cffca4642","impliedFormat":99},{"version":"f4bd0319ee19dec80db2df9e2833fa3ae75ea666617156c6ba22b0b5dfe722a2","signature":"fc7c785f58fc7994ebbd05ff48e90eb7820bbd2d6c106e87b77aa92ce1a8491a","impliedFormat":99},{"version":"e0fc1faa7b927923cca0635dbc2890e153d3ace8c532660c45eb826dfc1c0c39","signature":"620b7cf8b66911c558f2484fdeea68036aaec51c1d47301484904af255588107","impliedFormat":99},{"version":"e98ad6a408069d53689fa0eb977800ff020aea09782c7f1d0da6f9826fd37c07","signature":"0e84d0bd49e4d406121663f461a18b30d22553c3aca066b82281a641e4b3fa9c","impliedFormat":99},{"version":"f3c158a49f42dd80b528fd11e9366b325cbca9205482e3c07a80298e04bac6ae","signature":"ed437b1ff58b402d1f24bcbf6f4be362176ba5e8abbca4a7a41cf91dccc9df99","impliedFormat":99},{"version":"89dc4033302baf1f59785f361fbb1dd95da6ec5dc55714b5ea2da8fe4bd63480","signature":"0367f8989065ce1c3e65f4edd612e17e52d9bbded86ddea05136ca3a09fc21a3","impliedFormat":99},{"version":"687c1b6a1e893fb3bc932269827bcedd8b8ca8d65a7fe449a0fb20147dbb538d","signature":"813c86102644d3be59ce59e4a5192abe43983a186f72f2f0dd56f44d37cac4fe","impliedFormat":99},{"version":"0b688277a5a64522078804983d6869e308bd2e983f48871159f132c7ff7657c4","signature":"772fa2af8f8569c42f9c77211726e0e7f9b6d11f661bc7274393386db74a22a4","impliedFormat":99},{"version":"5a02696ef43cc74d954594dd09bbdb416498de3ec8b6abe0db2a80677b99fd22","signature":"89aa3cc6438ab46c2edcf993c04143579ee7f39809972d3fae22ad37f7e420dc","impliedFormat":99},{"version":"317f3b641e3ab1874491987a705491bb5ffb0e6c36adbecfcf0e6064f9c15db5","signature":"e3418c0cf118a1a58c6fa84806cd714e0d69db94a5deff6d501b61d475b091dc","impliedFormat":99},{"version":"3d3de07fc7df084a2c7e419c80dde45db2b00ef18fe4592a7561d3b38bb7fb18","signature":"c76871b0e812849e53baa7f64cab69e26a3d098784ee29a1a61eaf76e90ecae7","impliedFormat":99},{"version":"166bffd3fa42e07a1dda6acf18cd2c68e02d344b853894cc25375389f45788d3","signature":"b1df0819322860c218cc6221fff5eedb9fc72521fd4b39b8843aeb679a95e514","impliedFormat":99},{"version":"6c0b9557f49259d0373c3cd59ca5cf976f72b4c840e02ae9f166188044f2383f","signature":"1c05860f01c02b7a57388de5b5291906b10cb0cc64bab56bcc4e42625f637c66","impliedFormat":99},{"version":"4c91e36d9ae709ec60546a0003838e181ea57cce8049d85f7f2e792d30eacf9e","signature":"7b98c588c4bccf6f15731d1a947ddaa8a8dd59407b22c1edb0df32c45d51719f","impliedFormat":99},{"version":"cbdcfe5ab85b91c6fe771c18bb30173162212a8a49e5f18ca5f9eacec5889d6a","signature":"0154121b973f6ef0781cd9069ffd4564703a1ac5355f8e4599ee0031c5faba4a","impliedFormat":99},{"version":"665bb85ac0c6de975c461361ffec7c51352732c3f8183e1e01f87acd64e4b2c9","signature":"aee5f94c785a2411c367ab415b76f851bc39b0f7a9493bf9db97477484747828","impliedFormat":99},{"version":"b939a045d2ccd16b3713a968cb5e9899d3f35907b2532bed2cb1d9248791164b","signature":"3e8337e16ee7698a3193a643a8826337c38038e392ba2f2ea8837101e9cf5e7e","impliedFormat":99},{"version":"5750cf945b62afe4bab47b5fd7f8017b461af5e4cc937e45d1ac2f6e0d24846d","signature":"2d5742531c4f0d0fffd5af8625a171c9fae960e0802d8d4023426dcd07f72620","impliedFormat":99},{"version":"61f99efd21d9abbb8c6ac936298b0ff114c5df78aece35b862bce8d1de964f2c","signature":"595aae9166f140eb6396b5b1d8e9d56dc75e48d4c6b4d7209d8d6a3b3af268df","impliedFormat":99},{"version":"2fa019a0982d30097178fae0a3b9413887d704bfdda0d4b6dccb004787a4db20","signature":"f8900d0ae5cf0dfb2ba857320a6407d71dd47c3d7ac79f34fdf5c3817352bca9","impliedFormat":99},{"version":"acaac745478015289e38774deb5266dcaa63a9bbc01d09a4d134b6f372e2562e","signature":"3051f2c4dd86ce70a144a506e1dffbcbf7739fe84b6bd5dbe57e44457b7ae5e9","impliedFormat":99},{"version":"774eb3b1162c49abb6d1b08908302fbc917f3bd9d22527f2cf61d3d55dfec249","signature":"d88c59d124b3d55eb0c36b85ffb82180a2a947adf56de16a532efe8a2bae545a","impliedFormat":99},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"030e350db2525514580ed054f712ffb22d273e6bc7eddc1bb7eda1e0ba5d395e","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"13af9e8fb6757946c48117315866177b95e554d1e773577bb6ca6e40083b6d73","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"24bd580b5743dc56402c440dc7f9a4f5d592ad7a419f25414d37a7bfe11e342b","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"6bdc71028db658243775263e93a7db2fd2abfce3ca569c3cca5aee6ed5eb186d","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"d2bc987ae352271d0d615a420dcf98cc886aa16b87fb2b569358c1fe0ca0773d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f550093acc8ad4f64ad1c7e96153615f3351b81919dae5473375b81e1e8f272c","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"76103716ba397bbb61f9fa9c9090dca59f39f9047cb1352b2179c5d8e7f4e8d0","impliedFormat":1},{"version":"53eac70430b30089a3a1959d8306b0f9cfaf0de75224b68ef25243e0b5ad1ca3","affectsGlobalScope":true,"impliedFormat":1},{"version":"4314c7a11517e221f7296b46547dbc4df047115b182f544d072bdccffa57fc72","impliedFormat":1},{"version":"115971d64632ea4742b5b115fb64ed04bcaae2c3c342f13d9ba7e3f9ee39c4e7","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"86956cc2eb9dd371d6fab493d326a574afedebf76eef3fa7833b8e0d9b52d6f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"19d5f8d3930e9f99aa2c36258bf95abbe5adf7e889e6181872d1cdba7c9a7dd5","impliedFormat":1},{"version":"e6f5a38687bebe43a4cef426b69d34373ef68be9a6b1538ec0a371e69f309354","impliedFormat":1},{"version":"a6bf63d17324010ca1fbf0389cab83f93389bb0b9a01dc8a346d092f65b3605f","impliedFormat":1},{"version":"e009777bef4b023a999b2e5b9a136ff2cde37dc3f77c744a02840f05b18be8ff","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"ee1ee365d88c4c6c0c0a5a5701d66ebc27ccd0bcfcfaa482c6e2e7fe7b98edf7","affectsGlobalScope":true,"impliedFormat":1},{"version":"88bc59b32d0d5b4e5d9632ac38edea23454057e643684c3c0b94511296f2998c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ff5a53a58e756d2661b73ba60ffe274231a4432d21f7a2d0d9e4f6aa99f4283","impliedFormat":1},{"version":"1e289f30a48126935a5d408a91129a13a59c9b0f8c007a816f9f16ef821e144e","impliedFormat":1},{"version":"2ea254f944dfe131df1264d1fb96e4b1f7d110195b21f1f5dbb68fdd394e5518","impliedFormat":1},{"version":"5135bdd72cc05a8192bd2e92f0914d7fc43ee077d1293dc622a049b7035a0afb","impliedFormat":1},{"version":"4f80de3a11c0d2f1329a72e92c7416b2f7eab14f67e92cac63bb4e8d01c6edc8","impliedFormat":1},{"version":"6d386bc0d7f3afa1d401afc3e00ed6b09205a354a9795196caed937494a713e6","impliedFormat":1},{"version":"fcc4b974b1cf7eca347490f11143ab2f5bc3c449b2073eb4d9494f6a16651e75","affectsGlobalScope":true,"impliedFormat":1},{"version":"23459c1915878a7c1e86e8bdb9c187cddd3aea105b8b1dfce512f093c969bc7e","impliedFormat":1},{"version":"b1b6ee0d012aeebe11d776a155d8979730440082797695fc8e2a5c326285678f","impliedFormat":1},{"version":"45875bcae57270aeb3ebc73a5e3fb4c7b9d91d6b045f107c1d8513c28ece71c0","impliedFormat":1},{"version":"1dc73f8854e5c4506131c4d95b3a6c24d0c80336d3758e95110f4c7b5cb16397","affectsGlobalScope":true,"impliedFormat":1},{"version":"5f6f1d54779d0b9ed152b0516b0958cd34889764c1190434bbf18e7a8bb884cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"c6b4e0a02545304935ecbf7de7a8e056a31bb50939b5b321c9d50a405b5a0bba","impliedFormat":1},{"version":"fab29e6d649aa074a6b91e3bdf2bff484934a46067f6ee97a30fcd9762ae2213","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"e1120271ebbc9952fdc7b2dd3e145560e52e06956345e6fdf91d70ca4886464f","impliedFormat":1},{"version":"814118df420c4e38fe5ae1b9a3bafb6e9c2aa40838e528cde908381867be6466","impliedFormat":1},{"version":"1cbae62b67f180291d211f0e1045fb923a8ec800cfbf9caa13223d769013dae2","impliedFormat":1},{"version":"553870e516f8c772b89f3820576152ebc70181d7994d96917bb943e37da7f8a7","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"745c4240220559bd340c8aeb6e3c5270a709d3565e934dc22a69c304703956bc","affectsGlobalScope":true,"impliedFormat":1},{"version":"2754d8221d77c7b382096651925eb476f1066b3348da4b73fe71ced7801edada","impliedFormat":1},{"version":"92949391eab12082218333a61b9070996f404ad662ff488d48ebb09564963d2b","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef91efa0baea5d0e0f0f27b574a8bc100ce62a6d7e70220a0d58af6acab5e89","affectsGlobalScope":true,"impliedFormat":1},{"version":"282fd2a1268a25345b830497b4b7bf5037a5e04f6a9c44c840cb605e19fea841","impliedFormat":1},{"version":"5360a27d3ebca11b224d7d3e38e3e2c63f8290cb1fcf6c3610401898f8e68bc3","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"7d6ff413e198d25639f9f01f16673e7df4e4bd2875a42455afd4ecc02ef156da","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb094bb347d7df3380299eb69836c2c8758626ecf45917577707c03cf816b6f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"f689c4237b70ae6be5f0e4180e8833f34ace40529d1acc0676ab8fb8f70457d7","impliedFormat":1},{"version":"ae25afbbf1ed5df63a177d67b9048bf7481067f1b8dc9c39212e59db94fc9fc6","impliedFormat":1},{"version":"ac5ed35e649cdd8143131964336ab9076937fa91802ec760b3ea63b59175c10a","impliedFormat":1},{"version":"52a8e7e8a1454b6d1b5ad428efae3870ffc56f2c02d923467f2940c454aa9aec","affectsGlobalScope":true,"impliedFormat":1},{"version":"78dc0513cc4f1642906b74dda42146bcbd9df7401717d6e89ea6d72d12ecb539","impliedFormat":1},{"version":"ad90122e1cb599b3bc06a11710eb5489101be678f2920f2322b0ac3e195af78d","impliedFormat":1}],"root":[[84,109],[114,118],[120,146]],"options":{"allowJs":false,"composite":true,"declaration":true,"emitDecoratorMetadata":false,"experimentalDecorators":false,"importHelpers":false,"module":100,"noImplicitAny":false,"noUnusedLocals":true,"outDir":"./dist","removeComments":false,"rootDir":"./src","skipLibCheck":true,"sourceMap":false,"strict":true,"strictNullChecks":true,"target":99,"useUnknownInCatchVariables":false},"referencedMap":[[153,1],[83,1],[119,1],[113,2],[111,3],[110,1],[112,3],[80,1],[81,1],[15,1],[13,1],[14,1],[19,1],[18,1],[2,1],[20,1],[21,1],[22,1],[23,1],[24,1],[25,1],[26,1],[27,1],[3,1],[28,1],[29,1],[4,1],[30,1],[34,1],[31,1],[32,1],[33,1],[35,1],[36,1],[37,1],[5,1],[38,1],[39,1],[40,1],[41,1],[6,1],[45,1],[42,1],[43,1],[44,1],[46,1],[7,1],[47,1],[52,1],[53,1],[48,1],[49,1],[50,1],[51,1],[8,1],[57,1],[54,1],[55,1],[56,1],[58,1],[9,1],[59,1],[60,1],[61,1],[63,1],[62,1],[64,1],[65,1],[10,1],[66,1],[67,1],[68,1],[11,1],[69,1],[70,1],[71,1],[72,1],[73,1],[1,1],[74,1],[75,1],[12,1],[78,1],[77,1],[82,1],[76,1],[79,1],[17,1],[16,1],[192,4],[193,4],[194,5],[152,6],[195,7],[196,8],[197,9],[147,1],[150,10],[148,1],[149,1],[198,11],[199,12],[200,13],[201,14],[202,15],[203,16],[204,16],[206,17],[205,18],[207,19],[208,20],[209,21],[191,22],[151,1],[210,23],[211,24],[212,25],[245,26],[213,27],[214,28],[215,29],[216,30],[217,31],[218,32],[219,33],[220,34],[221,35],[222,36],[223,36],[224,37],[225,1],[226,1],[227,38],[229,39],[228,40],[230,41],[231,42],[232,43],[233,44],[234,45],[235,46],[236,47],[237,48],[238,49],[239,50],[240,51],[241,52],[242,53],[243,54],[244,55],[169,56],[179,57],[168,56],[189,58],[160,59],[159,60],[188,61],[182,62],[187,63],[162,64],[176,65],[161,66],[185,67],[157,68],[156,61],[186,69],[158,70],[163,71],[164,1],[167,71],[154,1],[190,72],[180,73],[171,74],[172,75],[174,76],[170,77],[173,78],[183,61],[165,79],[166,80],[175,81],[155,82],[178,73],[177,71],[181,1],[184,83],[139,84],[125,85],[88,86],[96,87],[86,1],[128,1],[129,88],[143,89],[140,90],[141,91],[142,92],[126,93],[127,94],[145,95],[144,96],[99,97],[100,98],[133,99],[101,100],[123,101],[95,102],[116,1],[124,103],[117,93],[114,104],[115,105],[138,106],[122,107],[134,86],[136,108],[135,109],[137,110],[146,108],[118,111],[102,1],[103,1],[98,112],[132,113],[131,93],[130,114],[97,111],[121,115],[104,116],[109,117],[91,118],[106,119],[108,120],[107,121],[105,122],[84,1],[87,1],[92,1],[89,123],[85,1],[90,1],[93,124],[94,125],[120,122]],"latestChangedDtsFile":"./dist/middleware/timeout.d.ts","version":"5.7.3"}