@appconda/sdk 1.0.194 → 1.0.409
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/autoclose.yml +11 -0
- package/.github/workflows/publish.yml +42 -0
- package/.travis.yml +32 -0
- package/CHANGELOG.md +1 -0
- package/LICENSE +12 -0
- package/README.md +0 -0
- package/dist/actions/_authOptions.d.ts +5 -0
- package/dist/actions/_authOptions.js +235 -0
- package/dist/actions/actionClient.d.ts +10 -0
- package/dist/actions/actionClient.js +41 -0
- package/dist/actions/auth.d.ts +1 -0
- package/dist/actions/auth.js +7 -0
- package/dist/actions/authOptions.d.ts +5 -0
- package/dist/actions/authOptions.js +133 -0
- package/dist/actions/index.d.ts +3 -0
- package/dist/actions/index.js +4 -0
- package/dist/actions/nextAuthHandler.d.ts +1 -0
- package/dist/actions/nextAuthHandler.js +6 -0
- package/dist/client.d.ts +141 -0
- package/dist/client.js +335 -0
- package/dist/decorators/Cache.d.ts +1 -0
- package/dist/decorators/Cache.js +79 -0
- package/dist/decorators/CacheKey.d.ts +1 -0
- package/dist/decorators/CacheKey.js +9 -0
- package/dist/decorators/Invalidate.d.ts +1 -0
- package/dist/decorators/Invalidate.js +47 -0
- package/dist/enums/api-service.d.ts +13 -0
- package/dist/enums/api-service.js +15 -0
- package/dist/enums/api.d.ts +5 -0
- package/dist/enums/api.js +7 -0
- package/dist/enums/auth-method.d.ts +9 -0
- package/dist/enums/auth-method.js +11 -0
- package/dist/enums/browser.d.ts +16 -0
- package/dist/enums/browser.js +18 -0
- package/dist/enums/compression.d.ts +5 -0
- package/dist/enums/compression.js +7 -0
- package/dist/enums/credit-card.d.ts +18 -0
- package/dist/enums/credit-card.js +20 -0
- package/dist/enums/database-usage-range.d.ts +5 -0
- package/dist/enums/database-usage-range.js +7 -0
- package/dist/enums/email-template-locale.d.ts +133 -0
- package/dist/enums/email-template-locale.js +135 -0
- package/dist/enums/email-template-type.d.ts +9 -0
- package/dist/enums/email-template-type.js +11 -0
- package/dist/enums/entities/EntityLimitType.d.ts +4 -0
- package/dist/enums/entities/EntityLimitType.js +6 -0
- package/dist/enums/entities/PropertyAttributeName.d.ts +27 -0
- package/dist/enums/entities/PropertyAttributeName.js +29 -0
- package/dist/enums/entities/PropertyCondition.d.ts +7 -0
- package/dist/enums/entities/PropertyCondition.js +10 -0
- package/dist/enums/entities/PropertyType.d.ts +12 -0
- package/dist/enums/entities/PropertyType.js +18 -0
- package/dist/enums/entities/PropertyValueType.d.ts +6 -0
- package/dist/enums/entities/PropertyValueType.js +8 -0
- package/dist/enums/entities/RowAccess.d.ts +2 -0
- package/dist/enums/entities/RowAccess.js +2 -0
- package/dist/enums/entities/ViewFilterCondition.d.ts +12 -0
- package/dist/enums/entities/ViewFilterCondition.js +14 -0
- package/dist/enums/execution-method.d.ts +8 -0
- package/dist/enums/execution-method.js +10 -0
- package/dist/enums/flag.d.ts +197 -0
- package/dist/enums/flag.js +199 -0
- package/dist/enums/function-usage-range.d.ts +5 -0
- package/dist/enums/function-usage-range.js +7 -0
- package/dist/enums/image-format.d.ts +7 -0
- package/dist/enums/image-format.js +9 -0
- package/dist/enums/image-gravity.d.ts +11 -0
- package/dist/enums/image-gravity.js +13 -0
- package/dist/enums/index-type.d.ts +5 -0
- package/dist/enums/index-type.js +7 -0
- package/dist/enums/messaging-provider-type.d.ts +5 -0
- package/dist/enums/messaging-provider-type.js +7 -0
- package/dist/enums/name.d.ts +14 -0
- package/dist/enums/name.js +16 -0
- package/dist/enums/o-auth-provider copy.d.ts +41 -0
- package/dist/enums/o-auth-provider copy.js +43 -0
- package/dist/enums/password-hash.d.ts +13 -0
- package/dist/enums/password-hash.js +15 -0
- package/dist/enums/platform-type.d.ts +17 -0
- package/dist/enums/platform-type.js +19 -0
- package/dist/enums/project-usage-range.d.ts +4 -0
- package/dist/enums/project-usage-range.js +6 -0
- package/dist/enums/region.d.ts +4 -0
- package/dist/enums/region.js +6 -0
- package/dist/enums/relation-mutate.d.ts +5 -0
- package/dist/enums/relation-mutate.js +7 -0
- package/dist/enums/relationship-type.d.ts +6 -0
- package/dist/enums/relationship-type.js +8 -0
- package/dist/enums/resource-type.d.ts +4 -0
- package/dist/enums/resource-type.js +6 -0
- package/dist/enums/runtime.d.ts +48 -0
- package/dist/enums/runtime.js +50 -0
- package/dist/enums/s-m-t-p-secure.d.ts +3 -0
- package/dist/enums/s-m-t-p-secure.js +5 -0
- package/dist/enums/shared/ApplicationLayout.d.ts +4 -0
- package/dist/enums/shared/ApplicationLayout.js +6 -0
- package/dist/enums/shared/Colors.d.ts +24 -0
- package/dist/enums/shared/Colors.js +26 -0
- package/dist/enums/shared/InputType.d.ts +6 -0
- package/dist/enums/shared/InputType.js +8 -0
- package/dist/enums/shared/Periodicity.d.ts +7 -0
- package/dist/enums/shared/Periodicity.js +9 -0
- package/dist/enums/shared/SvgIcon.d.ts +37 -0
- package/dist/enums/shared/SvgIcon.js +39 -0
- package/dist/enums/shared/Theme.d.ts +4 -0
- package/dist/enums/shared/Theme.js +6 -0
- package/dist/enums/sms-template-locale.d.ts +133 -0
- package/dist/enums/sms-template-locale.js +135 -0
- package/dist/enums/sms-template-type.d.ts +6 -0
- package/dist/enums/sms-template-type.js +8 -0
- package/dist/enums/smtp-encryption.d.ts +5 -0
- package/dist/enums/smtp-encryption.js +7 -0
- package/dist/enums/storage-usage-range.d.ts +5 -0
- package/dist/enums/storage-usage-range.js +7 -0
- package/dist/enums/subscriptions/PricingModel.d.ts +11 -0
- package/dist/enums/subscriptions/PricingModel.js +12 -0
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.d.ts +10 -0
- package/dist/enums/subscriptions/SubscriptionBillingPeriod.js +11 -0
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.d.ts +10 -0
- package/dist/enums/subscriptions/SubscriptionFeatureLimitType.js +13 -0
- package/dist/enums/subscriptions/SubscriptionPriceType.d.ts +7 -0
- package/dist/enums/subscriptions/SubscriptionPriceType.js +8 -0
- package/dist/enums/tenants/LinkedAccountStatus.d.ts +5 -0
- package/dist/enums/tenants/LinkedAccountStatus.js +7 -0
- package/dist/enums/tenants/TenantUserJoined.d.ts +6 -0
- package/dist/enums/tenants/TenantUserJoined.js +8 -0
- package/dist/enums/tenants/TenantUserStatus.d.ts +6 -0
- package/dist/enums/tenants/TenantUserStatus.js +8 -0
- package/dist/enums/tenants/TenantUserType.d.ts +5 -0
- package/dist/enums/tenants/TenantUserType.js +7 -0
- package/dist/enums/user-usage-range.d.ts +5 -0
- package/dist/enums/user-usage-range.js +7 -0
- package/dist/getAppcondaClient.d.ts +3 -0
- package/dist/getAppcondaClient.js +71 -0
- package/dist/getSDKForCurrentUser.d.ts +59 -0
- package/dist/getSDKForCurrentUser.js +100 -0
- package/dist/getSDKForService.d.ts +18 -0
- package/dist/getSDKForService.js +67 -0
- package/dist/getSDKForTenant.d.ts +20 -0
- package/dist/getSDKForTenant.js +44 -0
- package/dist/id.d.ts +20 -0
- package/dist/id.js +45 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/inputFile.d.ts +6 -0
- package/dist/inputFile.js +17 -0
- package/dist/lib/Cache/Adapter.d.ts +10 -0
- package/dist/lib/Cache/Adapter.js +2 -0
- package/dist/lib/Cache/Adapters/Filesystem.d.ts +16 -0
- package/dist/lib/Cache/Adapters/Filesystem.js +103 -0
- package/dist/lib/Cache/Adapters/Memory.d.ts +18 -0
- package/dist/lib/Cache/Adapters/Memory.js +47 -0
- package/dist/lib/Cache/Adapters/None.d.ts +12 -0
- package/dist/lib/Cache/Adapters/None.js +28 -0
- package/dist/lib/Cache/Adapters/Sharding.d.ts +17 -0
- package/dist/lib/Cache/Adapters/Sharding.js +73 -0
- package/dist/lib/Cache/Cache.d.ts +16 -0
- package/dist/lib/Cache/Cache.js +52 -0
- package/dist/lib/Cache/index.d.ts +4 -0
- package/dist/lib/Cache/index.js +5 -0
- package/dist/lib/Cache/test.d.ts +0 -0
- package/dist/lib/Cache/test.js +1 -0
- package/dist/lib/Registry/Registry.d.ts +38 -0
- package/dist/lib/Registry/Registry.js +56 -0
- package/dist/lib/Registry/index.d.ts +1 -0
- package/dist/lib/Registry/index.js +2 -0
- package/dist/lib/Services.d.ts +6 -0
- package/dist/lib/Services.js +14 -0
- package/dist/lib/crypto.d.ts +23 -0
- package/dist/lib/crypto.js +78 -0
- package/dist/lib/env.d.ts +1 -0
- package/dist/lib/env.js +137 -0
- package/dist/lib/errors.d.ts +70 -0
- package/dist/lib/errors.js +79 -0
- package/dist/lib/index.d.ts +0 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/jwt.d.ts +12 -0
- package/dist/lib/jwt.js +103 -0
- package/dist/lib/types.d.ts +5 -0
- package/dist/lib/types.js +2 -0
- package/dist/models.d.ts +3272 -0
- package/dist/models.js +2 -0
- package/dist/modules/account/actions.d.ts +11 -0
- package/dist/modules/account/actions.js +49 -0
- package/dist/modules/account/enums/authentication-factor.d.ts +6 -0
- package/dist/modules/account/enums/authentication-factor.js +8 -0
- package/dist/modules/account/enums/authenticator-type.d.ts +3 -0
- package/dist/modules/account/enums/authenticator-type.js +5 -0
- package/dist/modules/account/enums/o-auth-provider.d.ts +41 -0
- package/dist/modules/account/enums/o-auth-provider.js +43 -0
- package/dist/modules/account/index.d.ts +2 -0
- package/dist/modules/account/index.js +3 -0
- package/dist/modules/account/schema.d.ts +7 -0
- package/dist/modules/account/schema.js +8 -0
- package/dist/modules/account/service.d.ts +530 -0
- package/dist/modules/account/service.js +1263 -0
- package/dist/modules/account/types.d.ts +411 -0
- package/dist/modules/account/types.js +2 -0
- package/dist/modules/accounv1/action.d.ts +9 -0
- package/dist/modules/accounv1/action.js +88 -0
- package/dist/modules/accounv1/index.d.ts +3 -0
- package/dist/modules/accounv1/index.js +4 -0
- package/dist/modules/accounv1/schema.d.ts +43 -0
- package/dist/modules/accounv1/schema.js +44 -0
- package/dist/modules/accounv1/service.d.ts +14 -0
- package/dist/modules/accounv1/service.js +28 -0
- package/dist/modules/accounv1/types.d.ts +14 -0
- package/dist/modules/accounv1/types.js +2 -0
- package/dist/modules/acl/service.d.ts +26 -0
- package/dist/modules/acl/service.js +27 -0
- package/dist/modules/agent/action.d.ts +29 -0
- package/dist/modules/agent/action.js +53 -0
- package/dist/modules/agent/index.d.ts +4 -0
- package/dist/modules/agent/index.js +5 -0
- package/dist/modules/agent/schema.d.ts +20 -0
- package/dist/modules/agent/schema.js +21 -0
- package/dist/modules/agent/service.d.ts +12 -0
- package/dist/modules/agent/service.js +22 -0
- package/dist/modules/agent/types.d.ts +11 -0
- package/dist/modules/agent/types.js +2 -0
- package/dist/modules/ai/index.d.ts +1 -0
- package/dist/modules/ai/index.js +2 -0
- package/dist/modules/ai/node/actions.d.ts +4 -0
- package/dist/modules/ai/node/actions.js +14 -0
- package/dist/modules/ai/node/index.d.ts +2 -0
- package/dist/modules/ai/node/index.js +3 -0
- package/dist/modules/ai/node/service.d.ts +5 -0
- package/dist/modules/ai/node/service.js +12 -0
- package/dist/modules/bpm/action.d.ts +7 -0
- package/dist/modules/bpm/action.js +60 -0
- package/dist/modules/bpm/index.d.ts +3 -0
- package/dist/modules/bpm/index.js +4 -0
- package/dist/modules/bpm/schema.d.ts +18 -0
- package/dist/modules/bpm/schema.js +19 -0
- package/dist/modules/bpm/service.d.ts +11 -0
- package/dist/modules/bpm/service.js +19 -0
- package/dist/modules/bpm/types.d.ts +9 -0
- package/dist/modules/bpm/types.js +2 -0
- package/dist/modules/builder/action.d.ts +18 -0
- package/dist/modules/builder/action.js +214 -0
- package/dist/modules/builder/index.d.ts +4 -0
- package/dist/modules/builder/index.js +5 -0
- package/dist/modules/builder/schema.d.ts +80 -0
- package/dist/modules/builder/schema.js +81 -0
- package/dist/modules/builder/service.d.ts +22 -0
- package/dist/modules/builder/service.js +52 -0
- package/dist/modules/builder/types.d.ts +62 -0
- package/dist/modules/builder/types.js +2 -0
- package/dist/modules/datasource/action.d.ts +14 -0
- package/dist/modules/datasource/action.js +172 -0
- package/dist/modules/datasource/index.d.ts +4 -0
- package/dist/modules/datasource/index.js +5 -0
- package/dist/modules/datasource/schema.d.ts +55 -0
- package/dist/modules/datasource/schema.js +56 -0
- package/dist/modules/datasource/service.d.ts +19 -0
- package/dist/modules/datasource/service.js +43 -0
- package/dist/modules/datasource/types.d.ts +28 -0
- package/dist/modules/datasource/types.js +2 -0
- package/dist/modules/emploid/action.d.ts +73 -0
- package/dist/modules/emploid/action.js +984 -0
- package/dist/modules/emploid/index.d.ts +4 -0
- package/dist/modules/emploid/index.js +5 -0
- package/dist/modules/emploid/schema.d.ts +386 -0
- package/dist/modules/emploid/schema.js +331 -0
- package/dist/modules/emploid/service.d.ts +77 -0
- package/dist/modules/emploid/service.js +217 -0
- package/dist/modules/emploid/types.d.ts +114 -0
- package/dist/modules/emploid/types.js +2 -0
- package/dist/modules/google/action.d.ts +5 -0
- package/dist/modules/google/action.js +46 -0
- package/dist/modules/google/index.d.ts +4 -0
- package/dist/modules/google/index.js +5 -0
- package/dist/modules/google/schema.d.ts +13 -0
- package/dist/modules/google/schema.js +14 -0
- package/dist/modules/google/service.d.ts +10 -0
- package/dist/modules/google/service.js +16 -0
- package/dist/modules/google/types.d.ts +12 -0
- package/dist/modules/google/types.js +2 -0
- package/dist/modules/hooks/index.d.ts +3 -0
- package/dist/modules/hooks/index.js +4 -0
- package/dist/modules/hooks/lib/Hooks.d.ts +32 -0
- package/dist/modules/hooks/lib/Hooks.js +64 -0
- package/dist/modules/hooks/lib/handler.d.ts +12 -0
- package/dist/modules/hooks/lib/handler.js +23 -0
- package/dist/modules/hooks/lib/jobs/index.d.ts +2 -0
- package/dist/modules/hooks/lib/jobs/index.js +3 -0
- package/dist/modules/hooks/lib/jobs/job1.d.ts +1 -0
- package/dist/modules/hooks/lib/jobs/job1.js +16 -0
- package/dist/modules/hooks/lib/jobs/log-job.d.ts +1 -0
- package/dist/modules/hooks/lib/jobs/log-job.js +9 -0
- package/dist/modules/hooks/lib/wait.d.ts +8 -0
- package/dist/modules/hooks/lib/wait.js +13 -0
- package/dist/modules/index.d.ts +17 -0
- package/dist/modules/index.js +18 -0
- package/dist/modules/mail/action.d.ts +3 -0
- package/dist/modules/mail/action.js +18 -0
- package/dist/modules/mail/index.d.ts +4 -0
- package/dist/modules/mail/index.js +5 -0
- package/dist/modules/mail/schema.d.ts +6 -0
- package/dist/modules/mail/schema.js +7 -0
- package/dist/modules/mail/service.d.ts +8 -0
- package/dist/modules/mail/service.js +10 -0
- package/dist/modules/mail/types.d.ts +6 -0
- package/dist/modules/mail/types.js +2 -0
- package/dist/modules/notion/action.d.ts +5 -0
- package/dist/modules/notion/action.js +46 -0
- package/dist/modules/notion/index.d.ts +4 -0
- package/dist/modules/notion/index.js +5 -0
- package/dist/modules/notion/schema.d.ts +13 -0
- package/dist/modules/notion/schema.js +14 -0
- package/dist/modules/notion/service.d.ts +10 -0
- package/dist/modules/notion/service.js +19 -0
- package/dist/modules/notion/types.d.ts +11 -0
- package/dist/modules/notion/types.js +2 -0
- package/dist/modules/organization/action.d.ts +7 -0
- package/dist/modules/organization/action.js +60 -0
- package/dist/modules/organization/index.d.ts +4 -0
- package/dist/modules/organization/index.js +5 -0
- package/dist/modules/organization/schema.d.ts +24 -0
- package/dist/modules/organization/schema.js +20 -0
- package/dist/modules/organization/service.d.ts +11 -0
- package/dist/modules/organization/service.js +19 -0
- package/dist/modules/organization/types.d.ts +11 -0
- package/dist/modules/organization/types.js +2 -0
- package/dist/modules/scheduled-job/action.d.ts +70 -0
- package/dist/modules/scheduled-job/action.js +173 -0
- package/dist/modules/scheduled-job/index.d.ts +7 -0
- package/dist/modules/scheduled-job/index.js +8 -0
- package/dist/modules/scheduled-job/lib/Schedules.d.ts +34 -0
- package/dist/modules/scheduled-job/lib/Schedules.js +65 -0
- package/dist/modules/scheduled-job/lib/handler.d.ts +13 -0
- package/dist/modules/scheduled-job/lib/handler.js +23 -0
- package/dist/modules/scheduled-job/lib/jobs/index.d.ts +1 -0
- package/dist/modules/scheduled-job/lib/jobs/index.js +2 -0
- package/dist/modules/scheduled-job/lib/jobs/job1.d.ts +1 -0
- package/dist/modules/scheduled-job/lib/jobs/job1.js +10 -0
- package/dist/modules/scheduled-job/lib/wait.d.ts +8 -0
- package/dist/modules/scheduled-job/lib/wait.js +13 -0
- package/dist/modules/scheduled-job/schema.d.ts +39 -0
- package/dist/modules/scheduled-job/schema.js +40 -0
- package/dist/modules/scheduled-job/service.d.ts +20 -0
- package/dist/modules/scheduled-job/service.js +46 -0
- package/dist/modules/scheduled-job/types.d.ts +66 -0
- package/dist/modules/scheduled-job/types.js +2 -0
- package/dist/modules/task/action.d.ts +64 -0
- package/dist/modules/task/action.js +758 -0
- package/dist/modules/task/index.d.ts +4 -0
- package/dist/modules/task/index.js +5 -0
- package/dist/modules/task/schema.d.ts +355 -0
- package/dist/modules/task/schema.js +371 -0
- package/dist/modules/task/service.d.ts +69 -0
- package/dist/modules/task/service.js +193 -0
- package/dist/modules/task/types.d.ts +293 -0
- package/dist/modules/task/types.js +37 -0
- package/dist/modules/tenant/actions.d.ts +10 -0
- package/dist/modules/tenant/actions.js +160 -0
- package/dist/modules/tenant/index.d.ts +3 -0
- package/dist/modules/tenant/index.js +4 -0
- package/dist/modules/tenant/schema.d.ts +26 -0
- package/dist/modules/tenant/schema.js +28 -0
- package/dist/modules/tenant/service.d.ts +14 -0
- package/dist/modules/tenant/service.js +28 -0
- package/dist/modules/tenant/tenant.d.ts +32 -0
- package/dist/modules/tenant/tenant.js +125 -0
- package/dist/modules/tenant/types.d.ts +20 -0
- package/dist/modules/tenant/types.js +2 -0
- package/dist/modules/waitlist/action.d.ts +6 -0
- package/dist/modules/waitlist/action.js +78 -0
- package/dist/modules/waitlist/index.d.ts +4 -0
- package/dist/modules/waitlist/index.js +5 -0
- package/dist/modules/waitlist/schema.d.ts +17 -0
- package/dist/modules/waitlist/schema.js +18 -0
- package/dist/modules/waitlist/service.d.ts +13 -0
- package/dist/modules/waitlist/service.js +28 -0
- package/dist/modules/waitlist/types.d.ts +14 -0
- package/dist/modules/waitlist/types.js +2 -0
- package/dist/permission.d.ts +43 -0
- package/dist/permission.js +54 -0
- package/dist/query.d.ts +194 -0
- package/dist/query.js +204 -0
- package/dist/role.d.ts +70 -0
- package/dist/role.js +94 -0
- package/dist/schemas/nodes.d.ts +0 -0
- package/dist/schemas/nodes.js +1 -0
- package/dist/service-client.d.ts +8 -0
- package/dist/service-client.js +22 -0
- package/dist/service.d.ts +11 -0
- package/dist/service.js +23 -0
- package/dist/services/applets.d.ts +9 -0
- package/dist/services/applets.js +40 -0
- package/dist/services/avatars.d.ts +115 -0
- package/dist/services/avatars.js +251 -0
- package/dist/services/chat-flow.d.ts +7 -0
- package/dist/services/chat-flow.js +26 -0
- package/dist/services/community.d.ts +19 -0
- package/dist/services/community.js +69 -0
- package/dist/services/configuration.d.ts +5 -0
- package/dist/services/configuration.js +11 -0
- package/dist/services/databases.d.ts +613 -0
- package/dist/services/databases.js +1736 -0
- package/dist/services/functions.d.ts +319 -0
- package/dist/services/functions.js +810 -0
- package/dist/services/graphql.d.ts +25 -0
- package/dist/services/graphql.js +57 -0
- package/dist/services/health.d.ts +231 -0
- package/dist/services/health.js +463 -0
- package/dist/services/locale.d.ts +80 -0
- package/dist/services/locale.js +144 -0
- package/dist/services/messaging.d.ts +685 -0
- package/dist/services/messaging.js +1920 -0
- package/dist/services/permissions.d.ts +20 -0
- package/dist/services/permissions.js +90 -0
- package/dist/services/pricing.d.ts +15 -0
- package/dist/services/pricing.js +21 -0
- package/dist/services/projects.d.ts +542 -0
- package/dist/services/projects.js +1526 -0
- package/dist/services/roles.d.ts +19 -0
- package/dist/services/roles.js +72 -0
- package/dist/services/schema.d.ts +17 -0
- package/dist/services/schema.js +48 -0
- package/dist/services/storage.d.ts +189 -0
- package/dist/services/storage.js +474 -0
- package/dist/services/subscription.d.ts +15 -0
- package/dist/services/subscription.js +30 -0
- package/dist/services/teams.d.ts +167 -0
- package/dist/services/teams.js +395 -0
- package/dist/services/tenant-subscription.d.ts +12 -0
- package/dist/services/tenant-subscription.js +52 -0
- package/dist/services/users.d.ts +499 -0
- package/dist/services/users.js +1283 -0
- package/docs/examples/account/create-anonymous-session.md +11 -0
- package/docs/examples/account/create-email-password-session.md +14 -0
- package/docs/examples/account/create-email-token.md +15 -0
- package/docs/examples/account/create-j-w-t.md +11 -0
- package/docs/examples/account/create-magic-u-r-l-token.md +16 -0
- package/docs/examples/account/create-mfa-authenticator.md +13 -0
- package/docs/examples/account/create-mfa-challenge.md +13 -0
- package/docs/examples/account/create-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/create-o-auth2session.md +15 -0
- package/docs/examples/account/create-o-auth2token.md +15 -0
- package/docs/examples/account/create-phone-token.md +14 -0
- package/docs/examples/account/create-phone-verification.md +11 -0
- package/docs/examples/account/create-push-target.md +15 -0
- package/docs/examples/account/create-recovery.md +14 -0
- package/docs/examples/account/create-session.md +14 -0
- package/docs/examples/account/create-verification.md +13 -0
- package/docs/examples/account/create.md +16 -0
- package/docs/examples/account/delete-identity.md +13 -0
- package/docs/examples/account/delete-mfa-authenticator.md +13 -0
- package/docs/examples/account/delete-push-target.md +13 -0
- package/docs/examples/account/delete-session.md +13 -0
- package/docs/examples/account/delete-sessions.md +11 -0
- package/docs/examples/account/delete.md +11 -0
- package/docs/examples/account/get-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/get-prefs.md +11 -0
- package/docs/examples/account/get-session.md +13 -0
- package/docs/examples/account/get.md +11 -0
- package/docs/examples/account/list-identities.md +13 -0
- package/docs/examples/account/list-logs.md +13 -0
- package/docs/examples/account/list-mfa-factors.md +11 -0
- package/docs/examples/account/list-sessions.md +11 -0
- package/docs/examples/account/update-email.md +14 -0
- package/docs/examples/account/update-m-f-a.md +13 -0
- package/docs/examples/account/update-magic-u-r-l-session.md +14 -0
- package/docs/examples/account/update-mfa-authenticator.md +14 -0
- package/docs/examples/account/update-mfa-challenge.md +14 -0
- package/docs/examples/account/update-mfa-recovery-codes.md +11 -0
- package/docs/examples/account/update-name.md +13 -0
- package/docs/examples/account/update-password.md +14 -0
- package/docs/examples/account/update-phone-session.md +14 -0
- package/docs/examples/account/update-phone-verification.md +14 -0
- package/docs/examples/account/update-phone.md +14 -0
- package/docs/examples/account/update-prefs.md +13 -0
- package/docs/examples/account/update-push-target.md +14 -0
- package/docs/examples/account/update-recovery.md +15 -0
- package/docs/examples/account/update-session.md +13 -0
- package/docs/examples/account/update-status.md +11 -0
- package/docs/examples/account/update-verification.md +14 -0
- package/docs/examples/assistant/chat.md +13 -0
- package/docs/examples/avatars/get-browser.md +16 -0
- package/docs/examples/avatars/get-credit-card.md +16 -0
- package/docs/examples/avatars/get-favicon.md +13 -0
- package/docs/examples/avatars/get-flag.md +16 -0
- package/docs/examples/avatars/get-image.md +15 -0
- package/docs/examples/avatars/get-initials.md +16 -0
- package/docs/examples/avatars/get-q-r.md +16 -0
- package/docs/examples/console/variables.md +11 -0
- package/docs/examples/databases/create-boolean-attribute.md +18 -0
- package/docs/examples/databases/create-collection.md +18 -0
- package/docs/examples/databases/create-datetime-attribute.md +18 -0
- package/docs/examples/databases/create-document.md +17 -0
- package/docs/examples/databases/create-email-attribute.md +18 -0
- package/docs/examples/databases/create-enum-attribute.md +19 -0
- package/docs/examples/databases/create-float-attribute.md +20 -0
- package/docs/examples/databases/create-index.md +18 -0
- package/docs/examples/databases/create-integer-attribute.md +20 -0
- package/docs/examples/databases/create-ip-attribute.md +18 -0
- package/docs/examples/databases/create-relationship-attribute.md +20 -0
- package/docs/examples/databases/create-string-attribute.md +20 -0
- package/docs/examples/databases/create-url-attribute.md +18 -0
- package/docs/examples/databases/create.md +15 -0
- package/docs/examples/databases/delete-attribute.md +15 -0
- package/docs/examples/databases/delete-collection.md +14 -0
- package/docs/examples/databases/delete-document.md +15 -0
- package/docs/examples/databases/delete-index.md +15 -0
- package/docs/examples/databases/delete.md +13 -0
- package/docs/examples/databases/get-attribute.md +15 -0
- package/docs/examples/databases/get-collection-usage.md +15 -0
- package/docs/examples/databases/get-collection.md +14 -0
- package/docs/examples/databases/get-database-usage.md +14 -0
- package/docs/examples/databases/get-document.md +16 -0
- package/docs/examples/databases/get-index.md +15 -0
- package/docs/examples/databases/get-usage.md +13 -0
- package/docs/examples/databases/get.md +13 -0
- package/docs/examples/databases/list-attributes.md +15 -0
- package/docs/examples/databases/list-collection-logs.md +15 -0
- package/docs/examples/databases/list-collections.md +15 -0
- package/docs/examples/databases/list-document-logs.md +16 -0
- package/docs/examples/databases/list-documents.md +15 -0
- package/docs/examples/databases/list-indexes.md +15 -0
- package/docs/examples/databases/list-logs.md +14 -0
- package/docs/examples/databases/list.md +14 -0
- package/docs/examples/databases/update-boolean-attribute.md +17 -0
- package/docs/examples/databases/update-collection.md +18 -0
- package/docs/examples/databases/update-datetime-attribute.md +17 -0
- package/docs/examples/databases/update-document.md +17 -0
- package/docs/examples/databases/update-email-attribute.md +17 -0
- package/docs/examples/databases/update-enum-attribute.md +18 -0
- package/docs/examples/databases/update-float-attribute.md +19 -0
- package/docs/examples/databases/update-integer-attribute.md +19 -0
- package/docs/examples/databases/update-ip-attribute.md +17 -0
- package/docs/examples/databases/update-relationship-attribute.md +16 -0
- package/docs/examples/databases/update-string-attribute.md +17 -0
- package/docs/examples/databases/update-url-attribute.md +17 -0
- package/docs/examples/databases/update.md +15 -0
- package/docs/examples/functions/create-build.md +15 -0
- package/docs/examples/functions/create-deployment.md +17 -0
- package/docs/examples/functions/create-execution.md +19 -0
- package/docs/examples/functions/create-variable.md +15 -0
- package/docs/examples/functions/create.md +34 -0
- package/docs/examples/functions/delete-deployment.md +14 -0
- package/docs/examples/functions/delete-execution.md +14 -0
- package/docs/examples/functions/delete-variable.md +14 -0
- package/docs/examples/functions/delete.md +13 -0
- package/docs/examples/functions/get-deployment-download.md +14 -0
- package/docs/examples/functions/get-deployment.md +14 -0
- package/docs/examples/functions/get-execution.md +14 -0
- package/docs/examples/functions/get-function-usage.md +14 -0
- package/docs/examples/functions/get-template.md +13 -0
- package/docs/examples/functions/get-usage.md +13 -0
- package/docs/examples/functions/get-variable.md +14 -0
- package/docs/examples/functions/get.md +13 -0
- package/docs/examples/functions/list-deployments.md +15 -0
- package/docs/examples/functions/list-executions.md +15 -0
- package/docs/examples/functions/list-runtimes.md +11 -0
- package/docs/examples/functions/list-specifications.md +11 -0
- package/docs/examples/functions/list-templates.md +16 -0
- package/docs/examples/functions/list-variables.md +13 -0
- package/docs/examples/functions/list.md +14 -0
- package/docs/examples/functions/update-deployment-build.md +14 -0
- package/docs/examples/functions/update-deployment.md +14 -0
- package/docs/examples/functions/update-variable.md +16 -0
- package/docs/examples/functions/update.md +30 -0
- package/docs/examples/graphql/mutation.md +13 -0
- package/docs/examples/graphql/query.md +13 -0
- package/docs/examples/health/get-antivirus.md +11 -0
- package/docs/examples/health/get-cache.md +11 -0
- package/docs/examples/health/get-certificate.md +13 -0
- package/docs/examples/health/get-d-b.md +11 -0
- package/docs/examples/health/get-failed-jobs.md +14 -0
- package/docs/examples/health/get-pub-sub.md +11 -0
- package/docs/examples/health/get-queue-builds.md +13 -0
- package/docs/examples/health/get-queue-certificates.md +13 -0
- package/docs/examples/health/get-queue-databases.md +14 -0
- package/docs/examples/health/get-queue-deletes.md +13 -0
- package/docs/examples/health/get-queue-functions.md +13 -0
- package/docs/examples/health/get-queue-logs.md +13 -0
- package/docs/examples/health/get-queue-mails.md +13 -0
- package/docs/examples/health/get-queue-messaging.md +13 -0
- package/docs/examples/health/get-queue-migrations.md +13 -0
- package/docs/examples/health/get-queue-usage-dump.md +13 -0
- package/docs/examples/health/get-queue-usage.md +13 -0
- package/docs/examples/health/get-queue-webhooks.md +13 -0
- package/docs/examples/health/get-queue.md +11 -0
- package/docs/examples/health/get-storage-local.md +11 -0
- package/docs/examples/health/get-storage.md +11 -0
- package/docs/examples/health/get-time.md +11 -0
- package/docs/examples/health/get.md +11 -0
- package/docs/examples/locale/get.md +11 -0
- package/docs/examples/locale/list-codes.md +11 -0
- package/docs/examples/locale/list-continents.md +11 -0
- package/docs/examples/locale/list-countries-e-u.md +11 -0
- package/docs/examples/locale/list-countries-phones.md +11 -0
- package/docs/examples/locale/list-countries.md +11 -0
- package/docs/examples/locale/list-currencies.md +11 -0
- package/docs/examples/locale/list-languages.md +11 -0
- package/docs/examples/messaging/create-apns-provider.md +20 -0
- package/docs/examples/messaging/create-email.md +24 -0
- package/docs/examples/messaging/create-fcm-provider.md +16 -0
- package/docs/examples/messaging/create-mailgun-provider.md +22 -0
- package/docs/examples/messaging/create-msg91provider.md +18 -0
- package/docs/examples/messaging/create-push.md +28 -0
- package/docs/examples/messaging/create-sendgrid-provider.md +20 -0
- package/docs/examples/messaging/create-sms.md +19 -0
- package/docs/examples/messaging/create-smtp-provider.md +26 -0
- package/docs/examples/messaging/create-subscriber.md +15 -0
- package/docs/examples/messaging/create-telesign-provider.md +18 -0
- package/docs/examples/messaging/create-textmagic-provider.md +18 -0
- package/docs/examples/messaging/create-topic.md +15 -0
- package/docs/examples/messaging/create-twilio-provider.md +18 -0
- package/docs/examples/messaging/create-vonage-provider.md +18 -0
- package/docs/examples/messaging/delete-provider.md +13 -0
- package/docs/examples/messaging/delete-subscriber.md +14 -0
- package/docs/examples/messaging/delete-topic.md +13 -0
- package/docs/examples/messaging/delete.md +13 -0
- package/docs/examples/messaging/get-message.md +13 -0
- package/docs/examples/messaging/get-provider.md +13 -0
- package/docs/examples/messaging/get-subscriber.md +14 -0
- package/docs/examples/messaging/get-topic.md +13 -0
- package/docs/examples/messaging/list-message-logs.md +14 -0
- package/docs/examples/messaging/list-messages.md +14 -0
- package/docs/examples/messaging/list-provider-logs.md +14 -0
- package/docs/examples/messaging/list-providers.md +14 -0
- package/docs/examples/messaging/list-subscriber-logs.md +14 -0
- package/docs/examples/messaging/list-subscribers.md +15 -0
- package/docs/examples/messaging/list-targets.md +14 -0
- package/docs/examples/messaging/list-topic-logs.md +14 -0
- package/docs/examples/messaging/list-topics.md +14 -0
- package/docs/examples/messaging/update-apns-provider.md +20 -0
- package/docs/examples/messaging/update-email.md +24 -0
- package/docs/examples/messaging/update-fcm-provider.md +16 -0
- package/docs/examples/messaging/update-mailgun-provider.md +22 -0
- package/docs/examples/messaging/update-msg91provider.md +18 -0
- package/docs/examples/messaging/update-push.md +28 -0
- package/docs/examples/messaging/update-sendgrid-provider.md +20 -0
- package/docs/examples/messaging/update-sms.md +19 -0
- package/docs/examples/messaging/update-smtp-provider.md +26 -0
- package/docs/examples/messaging/update-telesign-provider.md +18 -0
- package/docs/examples/messaging/update-textmagic-provider.md +18 -0
- package/docs/examples/messaging/update-topic.md +15 -0
- package/docs/examples/messaging/update-twilio-provider.md +18 -0
- package/docs/examples/messaging/update-vonage-provider.md +18 -0
- package/docs/examples/migrations/create-appwrite-migration.md +16 -0
- package/docs/examples/migrations/create-firebase-migration.md +14 -0
- package/docs/examples/migrations/create-firebase-o-auth-migration.md +14 -0
- package/docs/examples/migrations/create-n-host-migration.md +20 -0
- package/docs/examples/migrations/create-supabase-migration.md +19 -0
- package/docs/examples/migrations/delete-firebase-auth.md +11 -0
- package/docs/examples/migrations/delete.md +13 -0
- package/docs/examples/migrations/get-appwrite-report.md +16 -0
- package/docs/examples/migrations/get-firebase-report-o-auth.md +14 -0
- package/docs/examples/migrations/get-firebase-report.md +14 -0
- package/docs/examples/migrations/get-n-host-report.md +20 -0
- package/docs/examples/migrations/get-supabase-report.md +19 -0
- package/docs/examples/migrations/get.md +13 -0
- package/docs/examples/migrations/list-firebase-projects.md +11 -0
- package/docs/examples/migrations/list.md +14 -0
- package/docs/examples/migrations/retry.md +13 -0
- package/docs/examples/project/create-variable.md +14 -0
- package/docs/examples/project/delete-variable.md +13 -0
- package/docs/examples/project/get-usage.md +15 -0
- package/docs/examples/project/get-variable.md +13 -0
- package/docs/examples/project/list-variables.md +11 -0
- package/docs/examples/project/update-variable.md +15 -0
- package/docs/examples/projects/create-j-w-t.md +15 -0
- package/docs/examples/projects/create-key.md +16 -0
- package/docs/examples/projects/create-platform.md +18 -0
- package/docs/examples/projects/create-smtp-test.md +22 -0
- package/docs/examples/projects/create-webhook.md +20 -0
- package/docs/examples/projects/create.md +25 -0
- package/docs/examples/projects/delete-email-template.md +15 -0
- package/docs/examples/projects/delete-key.md +14 -0
- package/docs/examples/projects/delete-platform.md +14 -0
- package/docs/examples/projects/delete-sms-template.md +15 -0
- package/docs/examples/projects/delete-webhook.md +14 -0
- package/docs/examples/projects/delete.md +13 -0
- package/docs/examples/projects/get-email-template.md +15 -0
- package/docs/examples/projects/get-key.md +14 -0
- package/docs/examples/projects/get-platform.md +14 -0
- package/docs/examples/projects/get-sms-template.md +15 -0
- package/docs/examples/projects/get-webhook.md +14 -0
- package/docs/examples/projects/get.md +13 -0
- package/docs/examples/projects/list-keys.md +13 -0
- package/docs/examples/projects/list-platforms.md +13 -0
- package/docs/examples/projects/list-webhooks.md +13 -0
- package/docs/examples/projects/list.md +14 -0
- package/docs/examples/projects/update-api-status-all.md +14 -0
- package/docs/examples/projects/update-api-status.md +15 -0
- package/docs/examples/projects/update-auth-duration.md +14 -0
- package/docs/examples/projects/update-auth-limit.md +14 -0
- package/docs/examples/projects/update-auth-password-dictionary.md +14 -0
- package/docs/examples/projects/update-auth-password-history.md +14 -0
- package/docs/examples/projects/update-auth-sessions-limit.md +14 -0
- package/docs/examples/projects/update-auth-status.md +15 -0
- package/docs/examples/projects/update-email-template.md +20 -0
- package/docs/examples/projects/update-key.md +17 -0
- package/docs/examples/projects/update-mock-numbers.md +14 -0
- package/docs/examples/projects/update-o-auth2.md +17 -0
- package/docs/examples/projects/update-personal-data-check.md +14 -0
- package/docs/examples/projects/update-platform.md +18 -0
- package/docs/examples/projects/update-service-status-all.md +14 -0
- package/docs/examples/projects/update-service-status.md +15 -0
- package/docs/examples/projects/update-session-alerts.md +14 -0
- package/docs/examples/projects/update-sms-template.md +16 -0
- package/docs/examples/projects/update-smtp.md +22 -0
- package/docs/examples/projects/update-team.md +14 -0
- package/docs/examples/projects/update-webhook-signature.md +14 -0
- package/docs/examples/projects/update-webhook.md +21 -0
- package/docs/examples/projects/update.md +23 -0
- package/docs/examples/proxy/create-rule.md +15 -0
- package/docs/examples/proxy/delete-rule.md +13 -0
- package/docs/examples/proxy/get-rule.md +13 -0
- package/docs/examples/proxy/list-rules.md +14 -0
- package/docs/examples/proxy/update-rule-verification.md +13 -0
- package/docs/examples/storage/create-bucket.md +22 -0
- package/docs/examples/storage/create-file.md +16 -0
- package/docs/examples/storage/delete-bucket.md +13 -0
- package/docs/examples/storage/delete-file.md +14 -0
- package/docs/examples/storage/get-bucket-usage.md +14 -0
- package/docs/examples/storage/get-bucket.md +13 -0
- package/docs/examples/storage/get-file-download.md +14 -0
- package/docs/examples/storage/get-file-preview.md +25 -0
- package/docs/examples/storage/get-file-view.md +14 -0
- package/docs/examples/storage/get-file.md +14 -0
- package/docs/examples/storage/get-usage.md +13 -0
- package/docs/examples/storage/list-buckets.md +14 -0
- package/docs/examples/storage/list-files.md +15 -0
- package/docs/examples/storage/update-bucket.md +22 -0
- package/docs/examples/storage/update-file.md +16 -0
- package/docs/examples/teams/create-membership.md +19 -0
- package/docs/examples/teams/create.md +15 -0
- package/docs/examples/teams/delete-membership.md +14 -0
- package/docs/examples/teams/delete.md +13 -0
- package/docs/examples/teams/get-membership.md +14 -0
- package/docs/examples/teams/get-prefs.md +13 -0
- package/docs/examples/teams/get.md +13 -0
- package/docs/examples/teams/list-logs.md +14 -0
- package/docs/examples/teams/list-memberships.md +15 -0
- package/docs/examples/teams/list.md +14 -0
- package/docs/examples/teams/update-membership-status.md +16 -0
- package/docs/examples/teams/update-membership.md +15 -0
- package/docs/examples/teams/update-name.md +14 -0
- package/docs/examples/teams/update-prefs.md +14 -0
- package/docs/examples/users/create-argon2user.md +16 -0
- package/docs/examples/users/create-bcrypt-user.md +16 -0
- package/docs/examples/users/create-j-w-t.md +15 -0
- package/docs/examples/users/create-m-d5user.md +16 -0
- package/docs/examples/users/create-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/create-p-h-pass-user.md +16 -0
- package/docs/examples/users/create-s-h-a-user.md +17 -0
- package/docs/examples/users/create-scrypt-modified-user.md +19 -0
- package/docs/examples/users/create-scrypt-user.md +21 -0
- package/docs/examples/users/create-session.md +13 -0
- package/docs/examples/users/create-target.md +18 -0
- package/docs/examples/users/create-token.md +15 -0
- package/docs/examples/users/create.md +17 -0
- package/docs/examples/users/delete-identity.md +13 -0
- package/docs/examples/users/delete-mfa-authenticator.md +14 -0
- package/docs/examples/users/delete-session.md +14 -0
- package/docs/examples/users/delete-sessions.md +13 -0
- package/docs/examples/users/delete-target.md +14 -0
- package/docs/examples/users/delete.md +13 -0
- package/docs/examples/users/get-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/get-prefs.md +13 -0
- package/docs/examples/users/get-target.md +14 -0
- package/docs/examples/users/get-usage.md +13 -0
- package/docs/examples/users/get.md +13 -0
- package/docs/examples/users/list-identities.md +14 -0
- package/docs/examples/users/list-logs.md +14 -0
- package/docs/examples/users/list-memberships.md +13 -0
- package/docs/examples/users/list-mfa-factors.md +13 -0
- package/docs/examples/users/list-sessions.md +13 -0
- package/docs/examples/users/list-targets.md +14 -0
- package/docs/examples/users/list.md +14 -0
- package/docs/examples/users/update-email-verification.md +14 -0
- package/docs/examples/users/update-email.md +14 -0
- package/docs/examples/users/update-labels.md +14 -0
- package/docs/examples/users/update-mfa-recovery-codes.md +13 -0
- package/docs/examples/users/update-mfa.md +14 -0
- package/docs/examples/users/update-name.md +14 -0
- package/docs/examples/users/update-password.md +14 -0
- package/docs/examples/users/update-phone-verification.md +14 -0
- package/docs/examples/users/update-phone.md +14 -0
- package/docs/examples/users/update-prefs.md +14 -0
- package/docs/examples/users/update-status.md +14 -0
- package/docs/examples/users/update-target.md +17 -0
- package/docs/examples/vcs/create-repository-detection.md +15 -0
- package/docs/examples/vcs/create-repository.md +15 -0
- package/docs/examples/vcs/delete-installation.md +13 -0
- package/docs/examples/vcs/get-installation.md +13 -0
- package/docs/examples/vcs/get-repository-contents.md +15 -0
- package/docs/examples/vcs/get-repository.md +14 -0
- package/docs/examples/vcs/list-installations.md +14 -0
- package/docs/examples/vcs/list-repositories.md +14 -0
- package/docs/examples/vcs/list-repository-branches.md +14 -0
- package/docs/examples/vcs/update-external-deployments.md +15 -0
- package/package.json +38 -141
- package/publish.sh +4 -0
- package/src/client.ts +397 -0
- package/src/enums/api-service.ts +13 -0
- package/src/enums/api.ts +5 -0
- package/src/enums/auth-method.ts +9 -0
- package/src/enums/browser.ts +16 -0
- package/src/enums/compression.ts +5 -0
- package/src/enums/credit-card.ts +18 -0
- package/src/enums/database-usage-range.ts +5 -0
- package/src/enums/email-template-locale.ts +133 -0
- package/src/enums/email-template-type.ts +9 -0
- package/src/enums/entities/EntityLimitType.ts +4 -0
- package/src/enums/entities/PropertyAttributeName.ts +27 -0
- package/src/enums/entities/PropertyCondition.ts +8 -0
- package/src/enums/entities/PropertyType.ts +16 -0
- package/src/enums/entities/PropertyValueType.ts +6 -0
- package/src/enums/entities/RowAccess.ts +2 -0
- package/src/enums/entities/ViewFilterCondition.ts +12 -0
- package/src/enums/execution-method.ts +8 -0
- package/src/enums/flag.ts +197 -0
- package/src/enums/function-usage-range.ts +5 -0
- package/src/enums/image-format.ts +7 -0
- package/src/enums/image-gravity.ts +11 -0
- package/src/enums/index-type.ts +5 -0
- package/src/enums/messaging-provider-type.ts +5 -0
- package/src/enums/name.ts +14 -0
- package/src/enums/o-auth-provider copy.ts +41 -0
- package/src/enums/password-hash.ts +13 -0
- package/src/enums/platform-type.ts +17 -0
- package/src/enums/project-usage-range.ts +4 -0
- package/src/enums/region.ts +4 -0
- package/src/enums/relation-mutate.ts +5 -0
- package/src/enums/relationship-type.ts +6 -0
- package/src/enums/resource-type.ts +4 -0
- package/src/enums/runtime.ts +48 -0
- package/src/enums/s-m-t-p-secure.ts +3 -0
- package/src/enums/shared/ApplicationLayout.ts +4 -0
- package/src/enums/shared/Colors.ts +24 -0
- package/src/enums/shared/InputType.ts +6 -0
- package/src/enums/shared/Periodicity.ts +7 -0
- package/src/enums/shared/SvgIcon.ts +37 -0
- package/src/enums/shared/Theme.ts +4 -0
- package/src/enums/sms-template-locale.ts +133 -0
- package/src/enums/sms-template-type.ts +6 -0
- package/src/enums/smtp-encryption.ts +5 -0
- package/src/enums/storage-usage-range.ts +5 -0
- package/src/enums/subscriptions/PricingModel.ts +14 -0
- package/src/enums/subscriptions/SubscriptionBillingPeriod.ts +15 -0
- package/src/enums/subscriptions/SubscriptionFeatureLimitType.ts +16 -0
- package/src/enums/subscriptions/SubscriptionPriceType.ts +10 -0
- package/src/enums/tenants/LinkedAccountStatus.ts +5 -0
- package/src/enums/tenants/TenantUserJoined.ts +6 -0
- package/src/enums/tenants/TenantUserStatus.ts +6 -0
- package/src/enums/tenants/TenantUserType.ts +5 -0
- package/src/enums/user-usage-range.ts +5 -0
- package/src/getAppcondaClient.ts +75 -0
- package/src/getSDKForService.ts +71 -0
- package/src/id.ts +47 -0
- package/src/index.ts +3 -0
- package/src/inputFile.ts +23 -0
- package/src/lib/errors.ts +141 -0
- package/src/lib/index.ts +0 -0
- package/src/lib/types.ts +7 -0
- package/src/models.ts +3339 -0
- package/src/modules/account/enums/authentication-factor.ts +6 -0
- package/src/modules/account/enums/authenticator-type.ts +3 -0
- package/src/modules/account/enums/o-auth-provider.ts +41 -0
- package/src/modules/account/index.ts +3 -0
- package/src/modules/account/schema.ts +8 -0
- package/src/modules/account/service.ts +1648 -0
- package/src/modules/account/types.ts +426 -0
- package/src/modules/accounv1/index.ts +4 -0
- package/src/modules/accounv1/schema.ts +50 -0
- package/src/modules/accounv1/service.ts +43 -0
- package/src/modules/accounv1/types.ts +16 -0
- package/src/modules/acl/service.ts +55 -0
- package/src/modules/agent/action.ts +66 -0
- package/src/modules/agent/index.ts +4 -0
- package/src/modules/agent/schema.ts +25 -0
- package/src/modules/agent/service.ts +34 -0
- package/src/modules/agent/types.ts +15 -0
- package/src/modules/ai/index.ts +1 -0
- package/src/modules/ai/node/actions.ts +14 -0
- package/src/modules/ai/node/index.ts +2 -0
- package/src/modules/ai/node/service.ts +18 -0
- package/src/modules/bpm/index.ts +3 -0
- package/src/modules/bpm/schema.ts +23 -0
- package/src/modules/bpm/service.ts +28 -0
- package/src/modules/bpm/types.ts +11 -0
- package/src/modules/builder/action.ts +234 -0
- package/src/modules/builder/index.ts +4 -0
- package/src/modules/builder/schema.ts +95 -0
- package/src/modules/builder/service.ts +74 -0
- package/src/modules/builder/types.ts +68 -0
- package/src/modules/datasource/action.ts +189 -0
- package/src/modules/datasource/index.ts +4 -0
- package/src/modules/datasource/schema.ts +69 -0
- package/src/modules/datasource/service.ts +58 -0
- package/src/modules/datasource/types.ts +31 -0
- package/src/modules/emploid/action.ts +1063 -0
- package/src/modules/emploid/index.ts +4 -0
- package/src/modules/emploid/schema.ts +405 -0
- package/src/modules/emploid/service.ts +295 -0
- package/src/modules/emploid/types.ts +132 -0
- package/src/modules/google/action.ts +54 -0
- package/src/modules/google/index.ts +4 -0
- package/src/modules/google/schema.ts +19 -0
- package/src/modules/google/service.ts +23 -0
- package/src/modules/google/types.ts +15 -0
- package/src/modules/hooks/index.ts +5 -0
- package/src/modules/hooks/lib/Hooks.ts +103 -0
- package/src/modules/hooks/lib/handler.ts +27 -0
- package/src/modules/hooks/lib/jobs/index.ts +2 -0
- package/src/modules/hooks/lib/jobs/job1.ts +20 -0
- package/src/modules/hooks/lib/jobs/log-job.ts +10 -0
- package/src/modules/hooks/lib/wait.ts +17 -0
- package/src/modules/index.ts +17 -0
- package/src/modules/mail/action.ts +22 -0
- package/src/modules/mail/index.ts +4 -0
- package/src/modules/mail/schema.ts +9 -0
- package/src/modules/mail/service.ts +15 -0
- package/src/modules/mail/types.ts +11 -0
- package/src/modules/notion/action.ts +53 -0
- package/src/modules/notion/index.ts +4 -0
- package/src/modules/notion/schema.ts +21 -0
- package/src/modules/notion/service.ts +26 -0
- package/src/modules/notion/types.ts +14 -0
- package/src/modules/organization/action.ts +71 -0
- package/src/modules/organization/index.ts +4 -0
- package/src/modules/organization/schema.ts +23 -0
- package/src/modules/organization/service.ts +32 -0
- package/src/modules/organization/types.ts +15 -0
- package/src/modules/scheduled-job/action.ts +212 -0
- package/src/modules/scheduled-job/index.ts +8 -0
- package/src/modules/scheduled-job/lib/Schedules.ts +105 -0
- package/src/modules/scheduled-job/lib/handler.ts +27 -0
- package/src/modules/scheduled-job/lib/jobs/index.ts +2 -0
- package/src/modules/scheduled-job/lib/jobs/job1.ts +12 -0
- package/src/modules/scheduled-job/lib/wait.ts +17 -0
- package/src/modules/scheduled-job/schema.ts +62 -0
- package/src/modules/scheduled-job/service.ts +63 -0
- package/src/modules/scheduled-job/types.ts +79 -0
- package/src/modules/task/action.ts +819 -0
- package/src/modules/task/index.ts +4 -0
- package/src/modules/task/schema.ts +455 -0
- package/src/modules/task/service.ts +268 -0
- package/src/modules/task/types.ts +325 -0
- package/src/modules/tenant/actions.ts +173 -0
- package/src/modules/tenant/index.ts +3 -0
- package/src/modules/tenant/schema.ts +32 -0
- package/src/modules/tenant/service.ts +43 -0
- package/src/modules/tenant/tenant.ts +193 -0
- package/src/modules/tenant/types.ts +22 -0
- package/src/modules/waitlist/action.ts +93 -0
- package/src/modules/waitlist/index.ts +4 -0
- package/src/modules/waitlist/schema.ts +24 -0
- package/src/modules/waitlist/service.ts +41 -0
- package/src/modules/waitlist/types.ts +18 -0
- package/src/permission.ts +57 -0
- package/src/query.ts +261 -0
- package/src/role.ts +100 -0
- package/src/service-client.ts +40 -0
- package/src/service.ts +30 -0
- package/src/services/applets.ts +75 -0
- package/src/services/avatars.ts +314 -0
- package/src/services/chat-flow.ts +32 -0
- package/src/services/community.ts +102 -0
- package/src/services/configuration.ts +15 -0
- package/src/services/databases.ts +2037 -0
- package/src/services/functions.ts +986 -0
- package/src/services/graphql.ts +75 -0
- package/src/services/health.ts +629 -0
- package/src/services/locale.ts +205 -0
- package/src/services/messaging.ts +2247 -0
- package/src/services/permissions.ts +131 -0
- package/src/services/pricing.ts +30 -0
- package/src/services/projects.ts +1901 -0
- package/src/services/roles.ts +101 -0
- package/src/services/schema.ts +65 -0
- package/src/services/storage.ts +576 -0
- package/src/services/subscription.ts +39 -0
- package/src/services/teams.ts +490 -0
- package/src/services/tenant-subscription.ts +93 -0
- package/src/services/users.ts +1584 -0
- package/tsconfig.json +32 -0
- package/index.d.ts +0 -3367
- package/index.js +0 -407
|
@@ -0,0 +1,758 @@
|
|
|
1
|
+
'use server';
|
|
2
|
+
import { AppcondaException } from '../../client';
|
|
3
|
+
import { getSDKForCurrentUser } from '../../getSDKForCurrentUser';
|
|
4
|
+
export const CreateProject = async (parsedInput) => {
|
|
5
|
+
try {
|
|
6
|
+
const { task } = await getSDKForCurrentUser();
|
|
7
|
+
//@ts-ignore
|
|
8
|
+
const project = await task.CreateProject(parsedInput);
|
|
9
|
+
const view = await CreateView({
|
|
10
|
+
id: `${project.id}-default`,
|
|
11
|
+
title: 'Backlog',
|
|
12
|
+
projectId: project.id
|
|
13
|
+
});
|
|
14
|
+
return project;
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
if (error instanceof AppcondaException) {
|
|
18
|
+
throw new Error(error.message);
|
|
19
|
+
}
|
|
20
|
+
throw error;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
export const UpdateProject = async (parsedInput) => {
|
|
24
|
+
try {
|
|
25
|
+
const { task } = await getSDKForCurrentUser();
|
|
26
|
+
return await task.UpdateProject(parsedInput);
|
|
27
|
+
}
|
|
28
|
+
catch (error) {
|
|
29
|
+
if (error instanceof AppcondaException) {
|
|
30
|
+
throw new Error(error.message);
|
|
31
|
+
}
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
export const GetProject = async (parsedInput) => {
|
|
36
|
+
try {
|
|
37
|
+
const { task } = await getSDKForCurrentUser();
|
|
38
|
+
return await task.GetProject(parsedInput);
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
if (error instanceof AppcondaException) {
|
|
42
|
+
throw new Error(error.message);
|
|
43
|
+
}
|
|
44
|
+
throw error;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const ListProjects = async (parsedInput) => {
|
|
48
|
+
try {
|
|
49
|
+
const { task } = await getSDKForCurrentUser();
|
|
50
|
+
//@ts-ignore
|
|
51
|
+
return await task.ListProjects(parsedInput);
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (error instanceof AppcondaException) {
|
|
55
|
+
throw new Error(error.message);
|
|
56
|
+
}
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
export const GetTask = async (parsedInput) => {
|
|
61
|
+
try {
|
|
62
|
+
const { task } = await getSDKForCurrentUser();
|
|
63
|
+
return await task.GetTask(parsedInput);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof AppcondaException) {
|
|
67
|
+
throw new Error(error.message);
|
|
68
|
+
}
|
|
69
|
+
throw error;
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
export const ChangeTaskStatus = async (parsedInput) => {
|
|
73
|
+
try {
|
|
74
|
+
const { task } = await getSDKForCurrentUser();
|
|
75
|
+
return await task.ChangeTaskStatus(parsedInput);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
if (error instanceof AppcondaException) {
|
|
79
|
+
throw new Error(error.message);
|
|
80
|
+
}
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
export const CreateTaskList = async (parsedInput) => {
|
|
85
|
+
try {
|
|
86
|
+
const { task } = await getSDKForCurrentUser();
|
|
87
|
+
return await task.CreateTaskList(parsedInput);
|
|
88
|
+
}
|
|
89
|
+
catch (error) {
|
|
90
|
+
if (error instanceof AppcondaException) {
|
|
91
|
+
throw new Error(error.message);
|
|
92
|
+
}
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
export const GetTaskList = async (parsedInput) => {
|
|
97
|
+
try {
|
|
98
|
+
const { task } = await getSDKForCurrentUser();
|
|
99
|
+
return await task.GetTaskList(parsedInput);
|
|
100
|
+
}
|
|
101
|
+
catch (error) {
|
|
102
|
+
if (error instanceof AppcondaException) {
|
|
103
|
+
throw new Error(error.message);
|
|
104
|
+
}
|
|
105
|
+
throw error;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
export const ListTaskLists = async (parsedInput) => {
|
|
109
|
+
try {
|
|
110
|
+
const { task } = await getSDKForCurrentUser();
|
|
111
|
+
return await task.ListTaskLists(parsedInput);
|
|
112
|
+
}
|
|
113
|
+
catch (error) {
|
|
114
|
+
if (error instanceof AppcondaException) {
|
|
115
|
+
throw new Error(error.message);
|
|
116
|
+
}
|
|
117
|
+
throw error;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
export const UpdateTaskList = async (parsedInput) => {
|
|
121
|
+
try {
|
|
122
|
+
const { task } = await getSDKForCurrentUser();
|
|
123
|
+
return await task.UpdateTaskList(parsedInput);
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
if (error instanceof AppcondaException) {
|
|
127
|
+
throw new Error(error.message);
|
|
128
|
+
}
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
export const DeleteTaskList = async (parsedInput) => {
|
|
133
|
+
try {
|
|
134
|
+
const { task } = await getSDKForCurrentUser();
|
|
135
|
+
return await task.DeleteTaskList(parsedInput);
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
if (error instanceof AppcondaException) {
|
|
139
|
+
throw new Error(error.message);
|
|
140
|
+
}
|
|
141
|
+
throw error;
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
export const CreateSprint = async (parsedInput) => {
|
|
145
|
+
try {
|
|
146
|
+
const { task } = await getSDKForCurrentUser();
|
|
147
|
+
return await task.CreateSprint(parsedInput);
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
if (error instanceof AppcondaException) {
|
|
151
|
+
throw new Error(error.message);
|
|
152
|
+
}
|
|
153
|
+
throw error;
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
export const GetSprint = async (parsedInput) => {
|
|
157
|
+
try {
|
|
158
|
+
const { task } = await getSDKForCurrentUser();
|
|
159
|
+
return await task.GetSprint(parsedInput);
|
|
160
|
+
}
|
|
161
|
+
catch (error) {
|
|
162
|
+
if (error instanceof AppcondaException) {
|
|
163
|
+
throw new Error(error.message);
|
|
164
|
+
}
|
|
165
|
+
throw error;
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
//@ts-ignore
|
|
169
|
+
export const ListSprints = async (parsedInput) => {
|
|
170
|
+
try {
|
|
171
|
+
const { task } = await getSDKForCurrentUser();
|
|
172
|
+
return await task.ListSprints(parsedInput);
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
if (error instanceof AppcondaException) {
|
|
176
|
+
throw new Error(error.message);
|
|
177
|
+
}
|
|
178
|
+
throw error;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
181
|
+
export const UpdateSprint = async (parsedInput) => {
|
|
182
|
+
try {
|
|
183
|
+
const { task } = await getSDKForCurrentUser();
|
|
184
|
+
return await task.UpdateSprint(parsedInput);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
if (error instanceof AppcondaException) {
|
|
188
|
+
throw new Error(error.message);
|
|
189
|
+
}
|
|
190
|
+
throw error;
|
|
191
|
+
}
|
|
192
|
+
};
|
|
193
|
+
export const DeleteSprint = async (parsedInput) => {
|
|
194
|
+
try {
|
|
195
|
+
const { task } = await getSDKForCurrentUser();
|
|
196
|
+
return await task.DeleteSprint(parsedInput);
|
|
197
|
+
}
|
|
198
|
+
catch (error) {
|
|
199
|
+
if (error instanceof AppcondaException) {
|
|
200
|
+
throw new Error(error.message);
|
|
201
|
+
}
|
|
202
|
+
throw error;
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
export const CreateList = async (parsedInput) => {
|
|
206
|
+
try {
|
|
207
|
+
const { task } = await getSDKForCurrentUser();
|
|
208
|
+
return await task.CreateList(parsedInput);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
if (error instanceof AppcondaException) {
|
|
212
|
+
throw new Error(error.message);
|
|
213
|
+
}
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
export const UpdateList = async (parsedInput) => {
|
|
218
|
+
try {
|
|
219
|
+
const { task } = await getSDKForCurrentUser();
|
|
220
|
+
return await task.UpdateList(parsedInput);
|
|
221
|
+
}
|
|
222
|
+
catch (error) {
|
|
223
|
+
if (error instanceof AppcondaException) {
|
|
224
|
+
throw new Error(error.message);
|
|
225
|
+
}
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
export const ListTasksInList = async (parsedInput) => {
|
|
230
|
+
try {
|
|
231
|
+
const { task } = await getSDKForCurrentUser();
|
|
232
|
+
return await task.ListTasksInList(parsedInput);
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
if (error instanceof AppcondaException) {
|
|
236
|
+
throw new Error(error.message);
|
|
237
|
+
}
|
|
238
|
+
throw error;
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
export const CreateTask = async (parsedInput) => {
|
|
242
|
+
try {
|
|
243
|
+
const { task } = await getSDKForCurrentUser();
|
|
244
|
+
return await task.CreateTask(parsedInput);
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
if (error instanceof AppcondaException) {
|
|
248
|
+
throw new Error(error.message);
|
|
249
|
+
}
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
export const MoveTask = async (parsedInput) => {
|
|
254
|
+
try {
|
|
255
|
+
const { task } = await getSDKForCurrentUser();
|
|
256
|
+
return await task.MoveTask(parsedInput);
|
|
257
|
+
}
|
|
258
|
+
catch (error) {
|
|
259
|
+
if (error instanceof AppcondaException) {
|
|
260
|
+
throw new Error(`Error in MoveTask : ${error.toString()}`);
|
|
261
|
+
}
|
|
262
|
+
throw error;
|
|
263
|
+
}
|
|
264
|
+
};
|
|
265
|
+
export const CreateView = async (parsedInput) => {
|
|
266
|
+
try {
|
|
267
|
+
const { task } = await getSDKForCurrentUser();
|
|
268
|
+
return await task.CreateView(parsedInput);
|
|
269
|
+
}
|
|
270
|
+
catch (error) {
|
|
271
|
+
if (error instanceof AppcondaException) {
|
|
272
|
+
throw new Error(error.message);
|
|
273
|
+
}
|
|
274
|
+
throw error;
|
|
275
|
+
}
|
|
276
|
+
};
|
|
277
|
+
export const UpdateView = async (parsedInput) => {
|
|
278
|
+
try {
|
|
279
|
+
const { task } = await getSDKForCurrentUser();
|
|
280
|
+
return await task.UpdateView(parsedInput);
|
|
281
|
+
}
|
|
282
|
+
catch (error) {
|
|
283
|
+
if (error instanceof AppcondaException) {
|
|
284
|
+
throw new Error(error.message);
|
|
285
|
+
}
|
|
286
|
+
throw error;
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
export const ListViews = async (parsedInput) => {
|
|
290
|
+
try {
|
|
291
|
+
const { task } = await getSDKForCurrentUser();
|
|
292
|
+
return await task.ListViews(parsedInput);
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (error instanceof AppcondaException) {
|
|
296
|
+
throw new Error(error.message);
|
|
297
|
+
}
|
|
298
|
+
throw error;
|
|
299
|
+
}
|
|
300
|
+
};
|
|
301
|
+
export const ListTasks = async (parsedInput) => {
|
|
302
|
+
try {
|
|
303
|
+
const { task } = await getSDKForCurrentUser();
|
|
304
|
+
return await task.ListTasks(parsedInput);
|
|
305
|
+
}
|
|
306
|
+
catch (error) {
|
|
307
|
+
if (error instanceof AppcondaException) {
|
|
308
|
+
throw new Error(error.message);
|
|
309
|
+
}
|
|
310
|
+
throw error;
|
|
311
|
+
}
|
|
312
|
+
};
|
|
313
|
+
// Feedback modülü action fonksiyonları
|
|
314
|
+
export const ChangePostCategory = async (parsedInput) => {
|
|
315
|
+
try {
|
|
316
|
+
const { task } = await getSDKForCurrentUser();
|
|
317
|
+
return await task.ChangePostCategory(parsedInput);
|
|
318
|
+
}
|
|
319
|
+
catch (error) {
|
|
320
|
+
if (error instanceof AppcondaException) {
|
|
321
|
+
throw new Error(error.message);
|
|
322
|
+
}
|
|
323
|
+
throw error;
|
|
324
|
+
}
|
|
325
|
+
};
|
|
326
|
+
export const ChangePostStatus = async (parsedInput) => {
|
|
327
|
+
try {
|
|
328
|
+
const { task } = await getSDKForCurrentUser();
|
|
329
|
+
return await task.ChangePostStatus(parsedInput);
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
if (error instanceof AppcondaException) {
|
|
333
|
+
throw new Error(error.message);
|
|
334
|
+
}
|
|
335
|
+
throw error;
|
|
336
|
+
}
|
|
337
|
+
};
|
|
338
|
+
export const CreateBoard = async (parsedInput) => {
|
|
339
|
+
try {
|
|
340
|
+
const { task } = await getSDKForCurrentUser();
|
|
341
|
+
return await task.CreateBoard(parsedInput);
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
if (error instanceof AppcondaException) {
|
|
345
|
+
throw new Error(error.message);
|
|
346
|
+
}
|
|
347
|
+
throw error;
|
|
348
|
+
}
|
|
349
|
+
};
|
|
350
|
+
export const GetBoard = async (parsedInput) => {
|
|
351
|
+
try {
|
|
352
|
+
const { task } = await getSDKForCurrentUser();
|
|
353
|
+
return await task.GetBoard(parsedInput);
|
|
354
|
+
}
|
|
355
|
+
catch (error) {
|
|
356
|
+
if (error instanceof AppcondaException) {
|
|
357
|
+
throw new Error(error.message);
|
|
358
|
+
}
|
|
359
|
+
throw error;
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
export const ListBoards = async (parsedInput) => {
|
|
363
|
+
try {
|
|
364
|
+
const { task } = await getSDKForCurrentUser();
|
|
365
|
+
return await task.ListBoards(parsedInput);
|
|
366
|
+
}
|
|
367
|
+
catch (error) {
|
|
368
|
+
if (error instanceof AppcondaException) {
|
|
369
|
+
throw new Error(error.message);
|
|
370
|
+
}
|
|
371
|
+
throw error;
|
|
372
|
+
}
|
|
373
|
+
};
|
|
374
|
+
export const DeleteBoard = async (parsedInput) => {
|
|
375
|
+
try {
|
|
376
|
+
const { task } = await getSDKForCurrentUser();
|
|
377
|
+
return await task.DeleteBoard(parsedInput);
|
|
378
|
+
}
|
|
379
|
+
catch (error) {
|
|
380
|
+
if (error instanceof AppcondaException) {
|
|
381
|
+
throw new Error(error.message);
|
|
382
|
+
}
|
|
383
|
+
throw error;
|
|
384
|
+
}
|
|
385
|
+
};
|
|
386
|
+
export const CreateChangelog = async (parsedInput) => {
|
|
387
|
+
try {
|
|
388
|
+
const { task } = await getSDKForCurrentUser();
|
|
389
|
+
return await task.CreateChangelog(parsedInput);
|
|
390
|
+
}
|
|
391
|
+
catch (error) {
|
|
392
|
+
if (error instanceof AppcondaException) {
|
|
393
|
+
throw new Error(error.message);
|
|
394
|
+
}
|
|
395
|
+
throw error;
|
|
396
|
+
}
|
|
397
|
+
};
|
|
398
|
+
export const CreateComment = async (parsedInput) => {
|
|
399
|
+
try {
|
|
400
|
+
const { task } = await getSDKForCurrentUser();
|
|
401
|
+
return await task.CreateComment(parsedInput);
|
|
402
|
+
}
|
|
403
|
+
catch (error) {
|
|
404
|
+
if (error instanceof AppcondaException) {
|
|
405
|
+
throw new Error(error.message);
|
|
406
|
+
}
|
|
407
|
+
throw error;
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
export const CreatePost = async (parsedInput) => {
|
|
411
|
+
try {
|
|
412
|
+
const { task } = await getSDKForCurrentUser();
|
|
413
|
+
return await task.CreatePost(parsedInput);
|
|
414
|
+
}
|
|
415
|
+
catch (error) {
|
|
416
|
+
if (error instanceof AppcondaException) {
|
|
417
|
+
throw new Error(error.message);
|
|
418
|
+
}
|
|
419
|
+
throw error;
|
|
420
|
+
}
|
|
421
|
+
};
|
|
422
|
+
export const CreatePostCategory = async (parsedInput) => {
|
|
423
|
+
try {
|
|
424
|
+
const { task } = await getSDKForCurrentUser();
|
|
425
|
+
return await task.CreatePostCategory(parsedInput);
|
|
426
|
+
}
|
|
427
|
+
catch (error) {
|
|
428
|
+
if (error instanceof AppcondaException) {
|
|
429
|
+
throw new Error(error.message);
|
|
430
|
+
}
|
|
431
|
+
throw error;
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
export const CreateRoadmap = async (parsedInput) => {
|
|
435
|
+
try {
|
|
436
|
+
const { task } = await getSDKForCurrentUser();
|
|
437
|
+
return await task.CreateRoadmap(parsedInput);
|
|
438
|
+
}
|
|
439
|
+
catch (error) {
|
|
440
|
+
if (error instanceof AppcondaException) {
|
|
441
|
+
throw new Error(error.message);
|
|
442
|
+
}
|
|
443
|
+
throw error;
|
|
444
|
+
}
|
|
445
|
+
};
|
|
446
|
+
export const CreateStatusChange = async (parsedInput) => {
|
|
447
|
+
try {
|
|
448
|
+
const { task } = await getSDKForCurrentUser();
|
|
449
|
+
return await task.CreateStatusChange(parsedInput);
|
|
450
|
+
}
|
|
451
|
+
catch (error) {
|
|
452
|
+
if (error instanceof AppcondaException) {
|
|
453
|
+
throw new Error(error.message);
|
|
454
|
+
}
|
|
455
|
+
throw error;
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
export const CreateTag = async (parsedInput) => {
|
|
459
|
+
try {
|
|
460
|
+
const { task } = await getSDKForCurrentUser();
|
|
461
|
+
return await task.CreateTag(parsedInput);
|
|
462
|
+
}
|
|
463
|
+
catch (error) {
|
|
464
|
+
if (error instanceof AppcondaException) {
|
|
465
|
+
throw new Error(error.message);
|
|
466
|
+
}
|
|
467
|
+
throw error;
|
|
468
|
+
}
|
|
469
|
+
};
|
|
470
|
+
export const CreateVote = async (parsedInput) => {
|
|
471
|
+
try {
|
|
472
|
+
const { task } = await getSDKForCurrentUser();
|
|
473
|
+
return await task.CreateVote(parsedInput);
|
|
474
|
+
}
|
|
475
|
+
catch (error) {
|
|
476
|
+
if (error instanceof AppcondaException) {
|
|
477
|
+
throw new Error(error.message);
|
|
478
|
+
}
|
|
479
|
+
throw error;
|
|
480
|
+
}
|
|
481
|
+
};
|
|
482
|
+
export const DeleteComment = async (parsedInput) => {
|
|
483
|
+
try {
|
|
484
|
+
const { task } = await getSDKForCurrentUser();
|
|
485
|
+
return await task.DeleteComment(parsedInput);
|
|
486
|
+
}
|
|
487
|
+
catch (error) {
|
|
488
|
+
if (error instanceof AppcondaException) {
|
|
489
|
+
throw new Error(error.message);
|
|
490
|
+
}
|
|
491
|
+
throw error;
|
|
492
|
+
}
|
|
493
|
+
};
|
|
494
|
+
export const DeletePostCategory = async (parsedInput) => {
|
|
495
|
+
try {
|
|
496
|
+
const { task } = await getSDKForCurrentUser();
|
|
497
|
+
return await task.DeletePostCategory(parsedInput);
|
|
498
|
+
}
|
|
499
|
+
catch (error) {
|
|
500
|
+
if (error instanceof AppcondaException) {
|
|
501
|
+
throw new Error(error.message);
|
|
502
|
+
}
|
|
503
|
+
throw error;
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
export const DeleteVote = async (parsedInput) => {
|
|
507
|
+
try {
|
|
508
|
+
const { task } = await getSDKForCurrentUser();
|
|
509
|
+
return await task.DeleteVote(parsedInput);
|
|
510
|
+
}
|
|
511
|
+
catch (error) {
|
|
512
|
+
if (error instanceof AppcondaException) {
|
|
513
|
+
throw new Error(error.message);
|
|
514
|
+
}
|
|
515
|
+
throw error;
|
|
516
|
+
}
|
|
517
|
+
};
|
|
518
|
+
export const GetChangeLog = async (parsedInput) => {
|
|
519
|
+
try {
|
|
520
|
+
const { task } = await getSDKForCurrentUser();
|
|
521
|
+
return await task.GetChangeLog(parsedInput);
|
|
522
|
+
}
|
|
523
|
+
catch (error) {
|
|
524
|
+
if (error instanceof AppcondaException) {
|
|
525
|
+
throw new Error(error.message);
|
|
526
|
+
}
|
|
527
|
+
throw error;
|
|
528
|
+
}
|
|
529
|
+
};
|
|
530
|
+
export const GetComment = async (parsedInput) => {
|
|
531
|
+
try {
|
|
532
|
+
const { task } = await getSDKForCurrentUser();
|
|
533
|
+
return await task.GetComment(parsedInput);
|
|
534
|
+
}
|
|
535
|
+
catch (error) {
|
|
536
|
+
if (error instanceof AppcondaException) {
|
|
537
|
+
throw new Error(error.message);
|
|
538
|
+
}
|
|
539
|
+
throw error;
|
|
540
|
+
}
|
|
541
|
+
};
|
|
542
|
+
export const GetPost = async (parsedInput) => {
|
|
543
|
+
try {
|
|
544
|
+
const { task } = await getSDKForCurrentUser();
|
|
545
|
+
return await task.GetPost(parsedInput);
|
|
546
|
+
}
|
|
547
|
+
catch (error) {
|
|
548
|
+
if (error instanceof AppcondaException) {
|
|
549
|
+
throw new Error(error.message);
|
|
550
|
+
}
|
|
551
|
+
throw error;
|
|
552
|
+
}
|
|
553
|
+
};
|
|
554
|
+
export const GetPostCategory = async (parsedInput) => {
|
|
555
|
+
try {
|
|
556
|
+
const { task } = await getSDKForCurrentUser();
|
|
557
|
+
return await task.GetPostCategory(parsedInput);
|
|
558
|
+
}
|
|
559
|
+
catch (error) {
|
|
560
|
+
if (error instanceof AppcondaException) {
|
|
561
|
+
throw new Error(error.message);
|
|
562
|
+
}
|
|
563
|
+
throw error;
|
|
564
|
+
}
|
|
565
|
+
};
|
|
566
|
+
export const GetRoadmap = async (parsedInput) => {
|
|
567
|
+
try {
|
|
568
|
+
const { task } = await getSDKForCurrentUser();
|
|
569
|
+
return await task.GetRoadmap(parsedInput);
|
|
570
|
+
}
|
|
571
|
+
catch (error) {
|
|
572
|
+
if (error instanceof AppcondaException) {
|
|
573
|
+
throw new Error(error.message);
|
|
574
|
+
}
|
|
575
|
+
throw error;
|
|
576
|
+
}
|
|
577
|
+
};
|
|
578
|
+
export const GetTag = async (parsedInput) => {
|
|
579
|
+
try {
|
|
580
|
+
const { task } = await getSDKForCurrentUser();
|
|
581
|
+
return await task.GetTag(parsedInput);
|
|
582
|
+
}
|
|
583
|
+
catch (error) {
|
|
584
|
+
if (error instanceof AppcondaException) {
|
|
585
|
+
throw new Error(error.message);
|
|
586
|
+
}
|
|
587
|
+
throw error;
|
|
588
|
+
}
|
|
589
|
+
};
|
|
590
|
+
export const GetVote = async (parsedInput) => {
|
|
591
|
+
try {
|
|
592
|
+
const { task } = await getSDKForCurrentUser();
|
|
593
|
+
return await task.GetVote(parsedInput);
|
|
594
|
+
}
|
|
595
|
+
catch (error) {
|
|
596
|
+
if (error instanceof AppcondaException) {
|
|
597
|
+
throw new Error(error.message);
|
|
598
|
+
}
|
|
599
|
+
throw error;
|
|
600
|
+
}
|
|
601
|
+
};
|
|
602
|
+
export const ListChangeLogs = async (parsedInput) => {
|
|
603
|
+
try {
|
|
604
|
+
const { task } = await getSDKForCurrentUser();
|
|
605
|
+
return await task.ListChangeLogs(parsedInput);
|
|
606
|
+
}
|
|
607
|
+
catch (error) {
|
|
608
|
+
if (error instanceof AppcondaException) {
|
|
609
|
+
throw new Error(error.message);
|
|
610
|
+
}
|
|
611
|
+
throw error;
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
export const ListComments = async (parsedInput) => {
|
|
615
|
+
try {
|
|
616
|
+
const { task } = await getSDKForCurrentUser();
|
|
617
|
+
return await task.ListComments(parsedInput);
|
|
618
|
+
}
|
|
619
|
+
catch (error) {
|
|
620
|
+
if (error instanceof AppcondaException) {
|
|
621
|
+
throw new Error(error.message);
|
|
622
|
+
}
|
|
623
|
+
throw error;
|
|
624
|
+
}
|
|
625
|
+
};
|
|
626
|
+
export const ListPostCategories = async (parsedInput) => {
|
|
627
|
+
try {
|
|
628
|
+
const { task } = await getSDKForCurrentUser();
|
|
629
|
+
return await task.ListPostCategories(parsedInput);
|
|
630
|
+
}
|
|
631
|
+
catch (error) {
|
|
632
|
+
if (error instanceof AppcondaException) {
|
|
633
|
+
throw new Error(error.message);
|
|
634
|
+
}
|
|
635
|
+
throw error;
|
|
636
|
+
}
|
|
637
|
+
};
|
|
638
|
+
export const ListPosts = async (parsedInput) => {
|
|
639
|
+
try {
|
|
640
|
+
const { task } = await getSDKForCurrentUser();
|
|
641
|
+
return await task.ListPosts(parsedInput);
|
|
642
|
+
}
|
|
643
|
+
catch (error) {
|
|
644
|
+
if (error instanceof AppcondaException) {
|
|
645
|
+
throw new Error(error.message);
|
|
646
|
+
}
|
|
647
|
+
throw error;
|
|
648
|
+
}
|
|
649
|
+
};
|
|
650
|
+
export const ListRoadmaps = async () => {
|
|
651
|
+
try {
|
|
652
|
+
const { task } = await getSDKForCurrentUser();
|
|
653
|
+
return await task.ListRoadmaps();
|
|
654
|
+
}
|
|
655
|
+
catch (error) {
|
|
656
|
+
if (error instanceof AppcondaException) {
|
|
657
|
+
throw new Error(error.message);
|
|
658
|
+
}
|
|
659
|
+
throw error;
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
export const ListStatusChanges = async () => {
|
|
663
|
+
try {
|
|
664
|
+
const { task } = await getSDKForCurrentUser();
|
|
665
|
+
return await task.ListStatusChanges();
|
|
666
|
+
}
|
|
667
|
+
catch (error) {
|
|
668
|
+
if (error instanceof AppcondaException) {
|
|
669
|
+
throw new Error(error.message);
|
|
670
|
+
}
|
|
671
|
+
throw error;
|
|
672
|
+
}
|
|
673
|
+
};
|
|
674
|
+
export const ListTags = async (parsedInput) => {
|
|
675
|
+
try {
|
|
676
|
+
const { task } = await getSDKForCurrentUser();
|
|
677
|
+
return await task.ListTags(parsedInput);
|
|
678
|
+
}
|
|
679
|
+
catch (error) {
|
|
680
|
+
if (error instanceof AppcondaException) {
|
|
681
|
+
throw new Error(error.message);
|
|
682
|
+
}
|
|
683
|
+
throw error;
|
|
684
|
+
}
|
|
685
|
+
};
|
|
686
|
+
export const ListVotes = async (parsedInput) => {
|
|
687
|
+
try {
|
|
688
|
+
const { task } = await getSDKForCurrentUser();
|
|
689
|
+
return await task.ListVotes(parsedInput);
|
|
690
|
+
}
|
|
691
|
+
catch (error) {
|
|
692
|
+
if (error instanceof AppcondaException) {
|
|
693
|
+
throw new Error(error.message);
|
|
694
|
+
}
|
|
695
|
+
throw error;
|
|
696
|
+
}
|
|
697
|
+
};
|
|
698
|
+
export const MoveView = async (parsedInput) => {
|
|
699
|
+
try {
|
|
700
|
+
const { task } = await getSDKForCurrentUser();
|
|
701
|
+
return await task.MoveView(parsedInput);
|
|
702
|
+
}
|
|
703
|
+
catch (error) {
|
|
704
|
+
if (error instanceof AppcondaException) {
|
|
705
|
+
throw new Error(error.message);
|
|
706
|
+
}
|
|
707
|
+
throw error;
|
|
708
|
+
}
|
|
709
|
+
};
|
|
710
|
+
export const CreateLabel = async (parsedInput) => {
|
|
711
|
+
try {
|
|
712
|
+
const { task } = await getSDKForCurrentUser();
|
|
713
|
+
return await task.CreateLabel(parsedInput);
|
|
714
|
+
}
|
|
715
|
+
catch (error) {
|
|
716
|
+
if (error instanceof AppcondaException) {
|
|
717
|
+
throw new Error(error.message);
|
|
718
|
+
}
|
|
719
|
+
throw error;
|
|
720
|
+
}
|
|
721
|
+
};
|
|
722
|
+
export const ListLabels = async (parsedInput) => {
|
|
723
|
+
try {
|
|
724
|
+
const { task } = await getSDKForCurrentUser();
|
|
725
|
+
return await task.ListLabels(parsedInput);
|
|
726
|
+
}
|
|
727
|
+
catch (error) {
|
|
728
|
+
if (error instanceof AppcondaException) {
|
|
729
|
+
throw new Error(error.message);
|
|
730
|
+
}
|
|
731
|
+
throw error;
|
|
732
|
+
}
|
|
733
|
+
};
|
|
734
|
+
export const DeleteLabel = async (parsedInput) => {
|
|
735
|
+
try {
|
|
736
|
+
const { task } = await getSDKForCurrentUser();
|
|
737
|
+
return await task.DeleteLabel(parsedInput);
|
|
738
|
+
}
|
|
739
|
+
catch (error) {
|
|
740
|
+
if (error instanceof AppcondaException) {
|
|
741
|
+
throw new Error(error.message);
|
|
742
|
+
}
|
|
743
|
+
throw error;
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
export const UpdateLabel = async (parsedInput) => {
|
|
747
|
+
try {
|
|
748
|
+
const { task } = await getSDKForCurrentUser();
|
|
749
|
+
return await task.UpdateLabel(parsedInput);
|
|
750
|
+
}
|
|
751
|
+
catch (error) {
|
|
752
|
+
if (error instanceof AppcondaException) {
|
|
753
|
+
throw new Error(error.message);
|
|
754
|
+
}
|
|
755
|
+
throw error;
|
|
756
|
+
}
|
|
757
|
+
};
|
|
758
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZHVsZXMvdGFzay9hY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDO0FBR2IsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2xFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLEVBQUUsV0FBZ0QsRUFBRSxFQUFFO0lBQ3BGLElBQUksQ0FBQztRQUNELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLG9CQUFvQixFQUFFLENBQUM7UUFDOUMsWUFBWTtRQUNaLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxNQUFNLElBQUksR0FBRyxNQUFNLFVBQVUsQ0FBQztZQUMxQixFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsRUFBRSxVQUFVO1lBQzNCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtTQUN4QixDQUFDLENBQUM7UUFDSCxPQUFPLE9BQU8sQ0FBQztJQUNuQixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksS0FBSyxZQUFZLGlCQUFpQixFQUFFLENBQUM7WUFDckMsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDO0lBQ2hCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsS0FBSyxFQUFFLFdBQWdELEVBQUUsRUFBRTtJQUNwRixJQUFJLENBQUM7UUFDRCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLE9BQU8s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LENBQUM7QUFDTCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHNlcnZlcic7XG5cbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgQXBwY29uZGFFeGNlcHRpb24gfSBmcm9tICcuLi8uLi9jbGllbnQnO1xuaW1wb3J0IHsgZ2V0U0RLRm9yQ3VycmVudFVzZXIgfSBmcm9tICcuLi8uLi9nZXRTREtGb3JDdXJyZW50VXNlcic7XG5pbXBvcnQgeyBDaGFuZ2VQb3N0Q2F0ZWdvcnlTY2hlbWEsIENoYW5nZVBvc3RTdGF0dXNTY2hlbWEsIENoYW5nZVRhc2tTdGF0dXNTY2hlbWEsIENyZWF0ZUJvYXJkU2NoZW1hLCBDcmVhdGVDaGFuZ2Vsb2dTY2hlbWEsIENyZWF0ZUNvbW1lbnRTY2hlbWEsIENyZWF0ZUxhYmVsU2NoZW1hLCBDcmVhdGVMaXN0U2NoZW1hLCBDcmVhdGVQb3N0Q2F0ZWdvcnlTY2hlbWEsIENyZWF0ZVBvc3RTY2hlbWEsIENyZWF0ZVByb2plY3RTY2hlbWEsIENyZWF0ZVJvYWRtYXBTY2hlbWEsIENyZWF0ZVNwcmludFNjaGVtYSwgQ3JlYXRlU3RhdHVzQ2hhbmdlU2NoZW1hLCBDcmVhdGVUYWdTY2hlbWEsIENyZWF0ZVRhc2tMaXN0U2NoZW1hLCBDcmVhdGVUYXNrU2NoZW1hLCBDcmVhdGVWaWV3U2NoZW1hLCBDcmVhdGVWb3RlU2NoZW1hLCBEZWxldGVCb2FyZFNjaGVtYSwgRGVsZXRlQ29tbWVudFNjaGVtYSwgRGVsZXRlTGFiZWxTY2hlbWEsIERlbGV0ZVBvc3RDYXRlZ29yeVNjaGVtYSwgRGVsZXRlU3ByaW50U2NoZW1hLCBEZWxldGVUYXNrTGlzdFNjaGVtYSwgRGVsZXRlVm90ZVNjaGVtYSwgR2V0Qm9hcmRTY2hlbWEsIEdldENoYW5nZUxvZ1NjaGVtYSwgR2V0Q29tbWVudFNjaGVtYSwgR2V0UG9zdENhdGVnb3J5U2NoZW1hLCBHZXRQb3N0U2NoZW1hLCBHZXRQcm9qZWN0U2NoZW1hLCBHZXRSb2FkbWFwU2NoZW1hLCBHZXRTcHJpbnRTY2hlbWEsIEdldFRhZ1NjaGVtYSwgR2V0VGFza0xpc3RTY2hlbWEsIEdldFRhc2tTY2hlbWEsIEdldFZvdGVTY2hlbWEsIExpc3RCb2FyZHNTY2hlbWEsIExpc3RDaGFuZ2VMb2dzU2NoZW1hLCBMaXN0Q29tbWVudHNTY2hlbWEsIExpc3RMYWJlbHNTY2hlbWEsIExpc3RQb3N0Q2F0ZWdvcmllc1NjaGVtYSwgTGlzdFBvc3RzU2NoZW1hLCBMaXN0UHJvamVjdHNTY2hlbWEsIExpc3RUYWdzU2NoZW1hLCBMaXN0VGFza0xpc3RzU2NoZW1hLCBMaXN0VGFza3NJbkxpc3RTY2hlbWEsIExpc3RUYXNrc1NjaGVtYSwgTGlzdFZpZXdzU2NoZW1hLCBMaXN0Vm90ZXNTY2hlbWEsIE1vdmVUYXNrU2NoZW1hLCBNb3ZlVmlld1NjaGVtYSwgVXBkYXRlTGFiZWxTY2hlbWEsIFVwZGF0ZUxpc3RTY2hlbWEsIFVwZGF0ZVByb2plY3RTY2hlbWEsIFVwZGF0ZVNwcmludFNjaGVtYSwgVXBkYXRlVGFza0xpc3RTY2hlbWEsIFVwZGF0ZVZpZXdTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVQcm9qZWN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVQcm9qZWN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGNvbnN0IHByb2plY3QgPSBhd2FpdCB0YXNrLkNyZWF0ZVByb2plY3QocGFyc2VkSW5wdXQpO1xuICAgICAgICBjb25zdCB2aWV3ID0gYXdhaXQgQ3JlYXRlVmlldyh7XG4gICAgICAgICAgICBpZDogYCR7cHJvamVjdC5pZH0tZGVmYXVsdGAsXG4gICAgICAgICAgICB0aXRsZTogJ0JhY2tsb2cnLFxuICAgICAgICAgICAgcHJvamVjdElkOiBwcm9qZWN0LmlkXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcHJvamVjdDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVByb2plY3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVByb2plY3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVQcm9qZWN0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFByb2plY3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFByb2plY3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRQcm9qZWN0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RQcm9qZWN0cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFByb2plY3RzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RQcm9qZWN0cyhwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFRhc2sgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFRhc2tTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRUYXNrKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENoYW5nZVRhc2tTdGF0dXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENoYW5nZVRhc2tTdGF0dXNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DaGFuZ2VUYXNrU3RhdHVzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTsgIFxuXG5leHBvcnQgY29uc3QgQ3JlYXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFRhc2tMaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRUYXNrTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFRhc2tMaXN0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuXG5cbmV4cG9ydCBjb25zdCBMaXN0VGFza0xpc3RzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza0xpc3RzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza0xpc3RzKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVGFza0xpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZVRhc2tMaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVUYXNrTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZVRhc2tMaXN0ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVUYXNrTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlVGFza0xpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVTcHJpbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVNwcmludFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0U3ByaW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRTcHJpbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFNwcmludChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuLy9AdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlzdFNwcmludHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RTcHJpbnRzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0U3ByaW50cyhwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZVNwcmludCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlU3ByaW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVTcHJpbnQocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVTcHJpbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVNwcmludFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suRGVsZXRlU3ByaW50KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlTGlzdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuXG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlTGlzdChwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IFVwZGF0ZUxpc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIFVwZGF0ZUxpc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcblxuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZUxpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cblxuZXhwb3J0IGNvbnN0IExpc3RUYXNrc0luTGlzdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFRhc2tzSW5MaXN0U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza3NJbkxpc3QocGFyc2VkSW5wdXQpO1xuXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYXNrID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVUYXNrU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVUYXNrKHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTW92ZVRhc2sgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIE1vdmVUYXNrU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5Nb3ZlVGFzayhwYXJzZWRJbnB1dCk7XG5cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFcnJvciBpbiBNb3ZlVGFzayA6ICR7ZXJyb3IudG9TdHJpbmcoKX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVWaWV3ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVWaWV3U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG5cbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVWaWV3KHBhcnNlZElucHV0KTtcblxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVXBkYXRlVmlldyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlVmlld1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLlVwZGF0ZVZpZXcocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFZpZXdzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Vmlld3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Vmlld3MocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFRhc2tzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFza3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0VGFza3MocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG4vLyBGZWVkYmFjayBtb2TDvGzDvCBhY3Rpb24gZm9ua3NpeW9ubGFyxLFcbmV4cG9ydCBjb25zdCBDaGFuZ2VQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENoYW5nZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNoYW5nZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhbmdlUG9zdFN0YXR1cyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ2hhbmdlUG9zdFN0YXR1c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNoYW5nZVBvc3RTdGF0dXMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUJvYXJkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVCb2FyZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUJvYXJkKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRCb2FyZCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Qm9hcmRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRCb2FyZChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdEJvYXJkcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdEJvYXJkc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RCb2FyZHMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUJvYXJkID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVCb2FyZFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZUJvYXJkKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVDaGFuZ2Vsb2cgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZUNoYW5nZWxvZ1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUNoYW5nZWxvZyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlQ29tbWVudCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlQ29tbWVudFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUNvbW1lbnQocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVBvc3QgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVBvc3RTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5DcmVhdGVQb3N0KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlUm9hZG1hcCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlUm9hZG1hcFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVJvYWRtYXAocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVN0YXR1c0NoYW5nZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlU3RhdHVzQ2hhbmdlU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suQ3JlYXRlU3RhdHVzQ2hhbmdlKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBDcmVhdGVUYWcgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIENyZWF0ZVRhZ1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVRhZyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgQ3JlYXRlVm90ZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgQ3JlYXRlVm90ZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZVZvdGUocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUNvbW1lbnQgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZUNvbW1lbnRTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5EZWxldGVDb21tZW50KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBEZWxldGVQb3N0Q2F0ZWdvcnkgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIERlbGV0ZVBvc3RDYXRlZ29yeVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVBvc3RDYXRlZ29yeShwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgRGVsZXRlVm90ZSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgRGVsZXRlVm90ZVNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZVZvdGUocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldENoYW5nZUxvZyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0Q2hhbmdlTG9nU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Q2hhbmdlTG9nKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRDb21tZW50ID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRDb21tZW50U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Q29tbWVudChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0UG9zdCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0UG9zdFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkdldFBvc3QocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFBvc3RDYXRlZ29yeSA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgR2V0UG9zdENhdGVnb3J5U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0UG9zdENhdGVnb3J5KHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBHZXRSb2FkbWFwID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRSb2FkbWFwU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suR2V0Um9hZG1hcChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgR2V0VGFnID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBHZXRUYWdTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRUYWcocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IEdldFZvdGUgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIEdldFZvdGVTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5HZXRWb3RlKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Q2hhbmdlTG9ncyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdENoYW5nZUxvZ3NTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Q2hhbmdlTG9ncyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdENvbW1lbnRzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0Q29tbWVudHNTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0Q29tbWVudHMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RQb3N0Q2F0ZWdvcmllcyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdFBvc3RDYXRlZ29yaWVzU2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFBvc3RDYXRlZ29yaWVzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0UG9zdHMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RQb3N0c1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RQb3N0cyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFJvYWRtYXBzID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTGlzdFJvYWRtYXBzKCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTGlzdFN0YXR1c0NoYW5nZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5MaXN0U3RhdHVzQ2hhbmdlcygpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IExpc3RUYWdzID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBMaXN0VGFnc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RUYWdzKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBMaXN0Vm90ZXMgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIExpc3RWb3Rlc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RWb3RlcyhwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgTW92ZVZpZXcgPSBhc3luYyAocGFyc2VkSW5wdXQ6IHouaW5mZXI8dHlwZW9mIE1vdmVWaWV3U2NoZW1hPikgPT4ge1xuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHsgdGFzayB9ID0gYXdhaXQgZ2V0U0RLRm9yQ3VycmVudFVzZXIoKTtcbiAgICAgICAgcmV0dXJuIGF3YWl0IHRhc2suTW92ZVZpZXcocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IENyZWF0ZUxhYmVsID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBDcmVhdGVMYWJlbFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkNyZWF0ZUxhYmVsKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG4gICAgXG5leHBvcnQgY29uc3QgTGlzdExhYmVscyA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgTGlzdExhYmVsc1NjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkxpc3RMYWJlbHMocGFyc2VkSW5wdXQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEFwcGNvbmRhRXhjZXB0aW9uKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IERlbGV0ZUxhYmVsID0gYXN5bmMgKHBhcnNlZElucHV0OiB6LmluZmVyPHR5cGVvZiBEZWxldGVMYWJlbFNjaGVtYT4pID0+IHtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCB7IHRhc2sgfSA9IGF3YWl0IGdldFNES0ZvckN1cnJlbnRVc2VyKCk7XG4gICAgICAgIHJldHVybiBhd2FpdCB0YXNrLkRlbGV0ZUxhYmVsKHBhcnNlZElucHV0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBBcHBjb25kYUV4Y2VwdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVMYWJlbCA9IGFzeW5jIChwYXJzZWRJbnB1dDogei5pbmZlcjx0eXBlb2YgVXBkYXRlTGFiZWxTY2hlbWE+KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgeyB0YXNrIH0gPSBhd2FpdCBnZXRTREtGb3JDdXJyZW50VXNlcigpO1xuICAgICAgICByZXR1cm4gYXdhaXQgdGFzay5VcGRhdGVMYWJlbChwYXJzZWRJbnB1dCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQXBwY29uZGFFeGNlcHRpb24pIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG59OyJdfQ==
|