@things-factory/sales-base 5.0.13 → 5.0.15
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/dist-server/service/arrival-notice/arrival-notice-mutation.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-query.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice-types.js.map +1 -1
- package/dist-server/service/arrival-notice/arrival-notice.js.map +1 -1
- package/dist-server/service/claim/claim-mutation.js.map +1 -1
- package/dist-server/service/claim/claim-query.js.map +1 -1
- package/dist-server/service/claim/claim-types.js.map +1 -1
- package/dist-server/service/claim/claim.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-mutation.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-query.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail-types.js.map +1 -1
- package/dist-server/service/claim-detail/claim-detail.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-mutation.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-query.js.map +1 -1
- package/dist-server/service/claim-order/claim-order-types.js.map +1 -1
- package/dist-server/service/claim-order/claim-order.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-mutation.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-query.js.map +1 -1
- package/dist-server/service/collection-order/collection-order-types.js.map +1 -1
- package/dist-server/service/collection-order/collection-order.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-mutation.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-query.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order-types.js.map +1 -1
- package/dist-server/service/delivery-order/delivery-order.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-mutation.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-query.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good-type.js.map +1 -1
- package/dist-server/service/draft-release-good/draft-release-good.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-mutation.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-query.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note-types.js.map +1 -1
- package/dist-server/service/goods-receival-note/goods-receival-note.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-mutation.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-query.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check-types.js.map +1 -1
- package/dist-server/service/inventory-check/inventory-check.js.map +1 -1
- package/dist-server/service/invoice/invoice-mutation.js.map +1 -1
- package/dist-server/service/invoice/invoice-query.js.map +1 -1
- package/dist-server/service/invoice/invoice-types.js.map +1 -1
- package/dist-server/service/invoice/invoice.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-mutation.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-query.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product-types.js.map +1 -1
- package/dist-server/service/invoice-product/invoice-product.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-mutation.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-query.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet-types.js.map +1 -1
- package/dist-server/service/job-sheet/job-sheet.js.map +1 -1
- package/dist-server/service/manifest/manifest-mutation.js.map +1 -1
- package/dist-server/service/manifest/manifest-query.js.map +1 -1
- package/dist-server/service/manifest/manifest-type.js.map +1 -1
- package/dist-server/service/manifest/manifest.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-mutation.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-query.js +12 -26
- package/dist-server/service/order-inventory/order-inventory-query.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory-types.js.map +1 -1
- package/dist-server/service/order-inventory/order-inventory.js.map +1 -1
- package/dist-server/service/order-product/order-product-mutation.js.map +1 -1
- package/dist-server/service/order-product/order-product-query.js.map +1 -1
- package/dist-server/service/order-product/order-product-types.js.map +1 -1
- package/dist-server/service/order-product/order-product.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-mutation.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-query.js.map +1 -1
- package/dist-server/service/order-tote/order-tote-types.js.map +1 -1
- package/dist-server/service/order-tote/order-tote.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item-mutation.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item-query.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item-types.js.map +1 -1
- package/dist-server/service/order-tote-item/order-tote-item.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-mutation.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-query.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal-types.js.map +1 -1
- package/dist-server/service/order-tote-seal/order-tote-seal.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-mutation.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-query.js.map +1 -1
- package/dist-server/service/order-vas/order-vas-types.js.map +1 -1
- package/dist-server/service/order-vas/order-vas.js +2 -1
- package/dist-server/service/order-vas/order-vas.js.map +1 -1
- package/dist-server/service/others/other-query.js.map +1 -1
- package/dist-server/service/others/other-types.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-mutation.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-query.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order-types.js.map +1 -1
- package/dist-server/service/purchase-order/purchase-order.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-mutation.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-query.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge-types.js.map +1 -1
- package/dist-server/service/purchase-order-other-charge/purchase-order-other-charge.js.map +1 -1
- package/dist-server/service/release-good/release-good-mutation.js.map +1 -1
- package/dist-server/service/release-good/release-good-query.js.map +1 -1
- package/dist-server/service/release-good/release-good-types.js.map +1 -1
- package/dist-server/service/release-good/release-good.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-mutation.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-query.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order-types.js.map +1 -1
- package/dist-server/service/retail-replenishment-order/retail-replenishment-order.js.map +1 -1
- package/dist-server/service/return-order/return-order-mutation.js.map +1 -1
- package/dist-server/service/return-order/return-order-query.js.map +1 -1
- package/dist-server/service/return-order/return-order-types.js.map +1 -1
- package/dist-server/service/return-order/return-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-query.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order-type.js.map +1 -1
- package/dist-server/service/reverse-kitting-order/reverse-kitting-order.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-mutation.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-query.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory-type.js.map +1 -1
- package/dist-server/service/reverse-kitting-order-inventory/reverse-kitting-order-inventory.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-mutation.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-query.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order-types.js.map +1 -1
- package/dist-server/service/shipping-order/shipping-order.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-mutation.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-query.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order-types.js.map +1 -1
- package/dist-server/service/transfer-order/transfer-order.js.map +1 -1
- package/dist-server/service/vas/vas-mutation.js.map +1 -1
- package/dist-server/service/vas/vas-query.js.map +1 -1
- package/dist-server/service/vas/vas-types.js.map +1 -1
- package/dist-server/service/vas/vas.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-mutation.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-query.js.map +1 -1
- package/dist-server/service/vas-order/vas-order-types.js.map +1 -1
- package/dist-server/service/vas-order/vas-order.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -13
- package/server/service/order-inventory/order-inventory-query.ts +13 -28
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-order-query.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order-query.ts"],"names":[],"mappings":";;;;;AAAA,qEAA4D;AAC5D,yDAAgD;AAChD,uDAAkE;AAClE,iDAA8F;AAC9F,+CAA6E;AAC7E,qCAAgD;AAChD,2BAAyC;AACzC,+CAA8C;AAC9C,yDAAoD;
|
|
1
|
+
{"version":3,"file":"collection-order-query.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order-query.ts"],"names":[],"mappings":"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","sourcesContent":["import { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { convertListParams, Domain, Filter, Pagination, Sorting } from '@things-factory/shell'\nimport { Arg, Ctx, FieldResolver, Query, Resolver, Root } from 'type-graphql'\nimport { getRepository, In, Not } from 'typeorm'\nimport { CollectionOrderList } from '../'\nimport { ORDER_STATUS } from '../../constants'\nimport { CollectionOrder } from './collection-order'\n\n@Resolver(CollectionOrder)\nexport class CollectionOrderQuery {\n @Query(returns => CollectionOrder)\n async collectionOrder(@Arg('name') name: string, @Ctx() context: any): Promise<CollectionOrder> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n const foundCO = await getRepository(CollectionOrder).findOne({\n where: {\n domain,\n name,\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n },\n relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']\n })\n\n const foundAttachments = await getRepository(Attachment).find({\n where: {\n domain,\n refBy: foundCO.id\n }\n })\n\n return { ...foundCO, attachments: foundAttachments }\n }\n\n @Query(returns => CollectionOrderList)\n async collectionOrders(\n @Ctx() context: any,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]\n ): Promise<CollectionOrderList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n const convertedParams = convertListParams({ filters, pagination, sortings })\n convertedParams.where.bizplace = In(await getPermittedBizplaceIds(domain, user))\n\n const [items, total] = await getRepository(CollectionOrder).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @Query(returns => CollectionOrderList)\n async collectionOrderRequests(\n @Ctx() context: any,\n @Arg('filters', type => [Filter], { nullable: true }) filters?: [Filter],\n @Arg('pagination', type => Pagination, { nullable: true }) pagination?: Pagination,\n @Arg('sortings', type => [Sorting], { nullable: true }) sortings?: [Sorting]\n ): Promise<CollectionOrderList> {\n const { domain, user }: { domain: Domain; user: User } = context.state\n\n const convertedParams = convertListParams({ filters, pagination, sortings })\n\n if (!convertedParams.where || !convertedParams.where.status) {\n convertedParams.where.status = Not(In([ORDER_STATUS.PENDING, ORDER_STATUS.EDITING]))\n }\n convertedParams.bizplace = In(await getPermittedBizplaceIds(domain, user))\n\n const [items, total] = await getRepository(CollectionOrder).findAndCount({\n ...convertedParams,\n relations: ['domain', 'bizplace', 'arrivalNotice', 'transportDriver', 'transportVehicle', 'creator', 'updater']\n })\n\n return { items, total }\n }\n\n @FieldResolver(type => Domain)\n async domain(@Root() collectionOrder: CollectionOrder): Promise<Domain> {\n return await getRepository(Domain).findOne(collectionOrder.domainId)\n }\n\n @FieldResolver(type => User)\n async creator(@Root() collectionOrder: CollectionOrder): Promise<User> {\n return await getRepository(User).findOne(collectionOrder.creatorId)\n }\n\n @FieldResolver(type => User)\n async updater(@Root() collectionOrder: CollectionOrder): Promise<User> {\n return await getRepository(User).findOne(collectionOrder.updaterId)\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-order-types.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order-types.ts"],"names":[],"mappings":";;;;;AAAA,iDAAiD;AACjD,+CAA2E;AAC3E,yDAAoD;
|
|
1
|
+
{"version":3,"file":"collection-order-types.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order-types.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectRef } from '@things-factory/shell'\nimport { Field, Float, ID, InputType, Int, ObjectType } from 'type-graphql'\nimport { CollectionOrder } from './collection-order'\n\n@ObjectType()\nexport class CollectionOrderList {\n @Field(type => [CollectionOrder], { nullable: true })\n items: CollectionOrder[]\n\n @Field(type => Int, { nullable: true })\n total: number\n}\n\n@InputType()\nexport class NewCollectionOrder {\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n from: string\n\n @Field({ nullable: true })\n to: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n telNo: string\n\n @Field(type => Float, { nullable: true })\n loadWeight: number\n\n @Field({ nullable: true })\n urgency: Boolean\n\n @Field({ nullable: true })\n cargoType: string\n\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Field(type => ObjectRef, { nullable: true })\n arrivalNotice: ObjectRef\n\n @Field({ nullable: true })\n collectionDateTime: string\n\n @Field()\n collectionDate: string\n\n @Field({ nullable: true })\n status: string\n}\n\n@InputType()\nexport class GenerateCollectionOrder {\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n from: string\n\n @Field({ nullable: true })\n to: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field({ nullable: true })\n telNo: string\n\n @Field(type => Float, { nullable: true })\n loadWeight: number\n\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Field({ nullable: true })\n urgency: Boolean\n\n @Field({ nullable: true })\n cargoType: string\n\n @Field({ nullable: true })\n collectionDateTime: string\n\n @Field()\n collectionDate: string\n\n @Field({ nullable: true })\n status: string\n}\n\n@InputType()\nexport class CollectionOrderPatch {\n @Field(type => ID, { nullable: true })\n id: string\n\n @Field({ nullable: true })\n name: string\n\n @Field({ nullable: true })\n description: string\n\n @Field({ nullable: true })\n from: string\n\n @Field({ nullable: true })\n to: string\n\n @Field({ nullable: true })\n refNo: string\n\n @Field(type => Float, { nullable: true })\n loadWeight: number\n\n @Field({ nullable: true })\n urgency: Boolean\n\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Field({ nullable: true })\n cargoType: string\n\n @Field({ nullable: true })\n collectionDateTime: string\n\n @Field({ nullable: true })\n collectionDate: string\n\n @Field(type => ObjectRef, { nullable: true })\n arrivalNotice: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n transportDriver: ObjectRef\n\n @Field(type => ObjectRef, { nullable: true })\n transportVehicle: ObjectRef\n\n @Field({ nullable: true })\n telNo: string\n\n @Field({ nullable: true })\n remark: string\n\n @Field({ nullable: true })\n truckNo: string\n\n @Field({ nullable: true })\n status: string\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection-order.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order.ts"],"names":[],"mappings":";;;;;AAAA,qEAA4D;AAC5D,yDAAgD;AAChD,uDAAmD;AACnD,iDAA8C;AAC9C,mEAAkF;AAClF,+CAAgD;AAChD,qCAWgB;AAChB,2BAAmC;
|
|
1
|
+
{"version":3,"file":"collection-order.js","sourceRoot":"","sources":["../../../server/service/collection-order/collection-order.ts"],"names":[],"mappings":"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","sourcesContent":["import { Attachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace } from '@things-factory/biz-base'\nimport { Domain } from '@things-factory/shell'\nimport { TransportDriver, TransportVehicle } from '@things-factory/transport-base'\nimport { Field, ObjectType } from 'type-graphql'\nimport {\n Column,\n CreateDateColumn,\n Entity,\n Index,\n JoinColumn,\n ManyToOne,\n OneToOne,\n PrimaryGeneratedColumn,\n RelationId,\n UpdateDateColumn\n} from 'typeorm'\nimport { ArrivalNotice } from '../'\n\n@Entity()\n@Index('ix_collection-order_0', (collectionOrder: CollectionOrder) => [collectionOrder.domain, collectionOrder.name], {\n unique: true\n})\n@ObjectType()\nexport class CollectionOrder {\n @PrimaryGeneratedColumn('uuid')\n @Field()\n readonly id: string\n\n @ManyToOne(type => Domain)\n @Field(type => Domain, { nullable: true })\n domain: Domain\n\n @RelationId((collectionOrder: CollectionOrder) => collectionOrder.domain)\n domainId: string\n\n @ManyToOne(type => Bizplace)\n @Field(type => Bizplace, { nullable: true })\n bizplace: Bizplace\n\n @RelationId((collectionOrder: CollectionOrder) => collectionOrder.bizplace)\n bizplaceId: string\n\n @Column()\n @Field()\n name: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n from: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n to: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectionDateTime: Date\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n collectionDate: string\n\n @Column('float', { nullable: true })\n @Field({ nullable: true })\n loadWeight: Number\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n cargoType: string\n\n @OneToOne(type => TransportDriver)\n @JoinColumn()\n @Field(type => TransportDriver, { nullable: true })\n transportDriver: TransportDriver\n\n @OneToOne(type => TransportVehicle)\n @JoinColumn()\n @Field(type => TransportVehicle, { nullable: true })\n transportVehicle: TransportVehicle\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n urgency: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n looseItem: Boolean\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n refNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n truckNo: string\n\n @ManyToOne(type => ArrivalNotice)\n @Field(type => ArrivalNotice, { nullable: true })\n arrivalNotice: ArrivalNotice\n\n @RelationId((collectionOrder: CollectionOrder) => collectionOrder.arrivalNotice)\n arrivalNoticeId: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n telNo: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n remark: string\n\n @Column()\n @Field()\n status: string\n\n @Column({ nullable: true })\n @Field({ nullable: true })\n description: string\n\n @CreateDateColumn()\n @Field()\n createdAt: Date\n\n @UpdateDateColumn()\n @Field()\n updatedAt: Date\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n creator: User\n\n @RelationId((collectionOrder: CollectionOrder) => collectionOrder.creator)\n creatorId: string\n\n @ManyToOne(type => User)\n @Field(type => User, { nullable: true })\n updater: User\n\n @RelationId((collectionOrder: CollectionOrder) => collectionOrder.updater)\n updaterId: string\n\n @Field(type => Attachment, { nullable: true })\n attachments: Attachment[]\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-order-mutation.js","sourceRoot":"","sources":["../../../server/service/delivery-order/delivery-order-mutation.ts"],"names":[],"mappings":";;;;;AACA,+FAA2D;AAC3D,+CAAsE;AACtE,qCAAsE;AAEtE,qEAAgG;AAEhG,uDAA0F;AAC1F,+DAAyD;AACzD,+DAAsD;AACtD,+DAAsD;AACtD,iDAAyD;AACzD,mEAAgG;AAGhG,+CAMwB;AACxB,uEAAiE;AACjE,wEAAmE;AACnE,oFAAiG;AAEjG,qDAAgD;AAChD,iEAA6E;AAG7E,IAAa,qBAAqB,GAAlC,MAAa,qBAAqB;IAGhC,KAAK,CAAC,mBAAmB,CAChB,OAAY,EAC6C,SAA4B,EAC5B,gBAA4B,EACjB,iBAAuC,EACxD,IAAmB;QAE7E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,OAAO,MAAM,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC1G,CAAC;IAID,KAAK,CAAC,mBAAmB,CACV,IAAY,EACiB,KAAyB,EAC5D,OAAY;QAEnB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAClE,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;gBACJ,QAAQ,EAAE,IAAA,YAAE,EAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF,CAAC,CAAA;QAEF,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,+CAC5C,aAAa,GACb,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAID,KAAK,CAAC,mBAAmB,CAAc,IAAY,EAAS,OAAY;QACtE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;QACF,IAAI,OAAO,EAAE;YACX,MAAM,kBAAkB,GAAe,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;gBAChF,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;aACrC,CAAC,CAAA;YACF,IAAI,kBAAkB;gBAAE,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC5F,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;SAC/D;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAID,KAAK,CAAC,qBAAqB,CAClB,OAAY,EAC+C,SAA8B,EAChC,gBAA4B,EACjC,WAAuB,EACf,iBAA+B;QAElG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,OAAO,MAAM,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACnH,CAAC;IAID,KAAK,CAAC,oBAAoB,CAAc,IAAY,EAAS,OAAY;QACvE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,aAA4B,CAAA;QAChC,IAAI,CAAC,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAElG,4DAA4D;QAC5D,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrD,kBAAkB,KACrB,MAAM,EAAE,wBAAY,CAAC,eAAe,EACpC,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,OAAO,aAAa,CAAA;IACtB,CAAC;IAID,KAAK,CAAC,oBAAoB,CAAc,IAAY,EAAS,OAAY;QACvE,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAE7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAEvG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,aAAa,KAChB,MAAM,EAAE,wBAAY,CAAC,iBAAiB,EACtC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAID,KAAK,CAAC,mBAAmB,CAChB,OAAY,EACN,IAAY,EACqC,KAA0B;QAExF,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACvB,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;aAC/D,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAElG,IAAI,gBAAgB,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBACnF,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE;gBAC/C,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAA;YAEF,mDAAmD;YACnD,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,IACE,cAAc,CAAC,IAAI,KAAK,uBAAW,CAAC,QAAQ;oBAC5C,cAAc,CAAC,MAAM,KAAK,kCAAsB,CAAC,UAAU,EAC3D;oBACA,uCACK,cAAc,KACjB,MAAM,EAAE,kCAAsB,CAAC,IAAI,IACpC;iBACF;;oBAAM,OAAO,cAAc,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,+CACrC,aAAa,GACb,KAAK,KACR,MAAM,EAAE,wBAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAA,EAAE;gBACjC,MAAM,UAAU,GAAqB,aAAa,CAAC,gBAAgB,CAAA;gBACnE,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,UAAU,KACb,MAAM,EAAE,6BAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAID,KAAK,CAAC,qBAAqB,CAClB,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,CAAC;aAC1E,CAAC,CAAA;YAEF,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,SAAS,GAAc,cAAc,CAAC,SAAS,CAAA;gBACrD,MAAM,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc;oBACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO;wBACvC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,cAAc,CAAC,IAAI,CAChD;oBACH,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAC1C,CAAA;gBAEL,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;oBAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC3E,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,kEAAkE;YAClE,IAAI,OAAO,GAAQ,EAAE,CAAA;YACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;gBAC/B,OAAO,GAAG;oBACR,MAAM;oBACN,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oBACrC,OAAO,EAAE,SAAS,CAAC,gBAAgB;oBACnC,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,WAAW,EAAE,SAAS,CAAC,cAAc;oBACrC,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,OAAO,EAAE,IAAI;iBACd,CAAA;gBACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC7D;iBAAM;gBACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;oBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;iBACrF,CAAC,CAAA;aACH;YAED,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;gBAChE,qEAAqE;gBACrE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;aAC9C;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,iBAAiB,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EACrC,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAID,KAAK,CAAC,2BAA2B,CACxB,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAA;YAEF,kEAAkE;YAClE,IAAI,OAAO,GAAQ,EAAE,CAAA;YACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;gBAC/B,OAAO,GAAG;oBACR,MAAM;oBACN,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oBACrC,OAAO,EAAE,SAAS,CAAC,gBAAgB;oBACnC,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,WAAW,EAAE,SAAS,CAAC,cAAc;oBACrC,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,OAAO,EAAE,IAAI;iBACd,CAAA;gBACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC7D;iBAAM;gBACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;oBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE;iBAC9C,CAAC,CAAA;aACH;YAED,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAC5B,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CACvG,CAAC,MAAM,CAAA;gBAER,mDAAmD;gBACnD,IAAI,MAAM,EAAE;oBACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;iBAC/B;gBAED,+FAA+F;gBAC/F,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;oBAChE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;oBAC7C,cAAc,CAAC,MAAM,GAAG,wBAAY,CAAC,UAAU,CAAA;iBAChD;gBAED,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,iBAAiB,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EACrC,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAID,KAAK,CAAC,iBAAiB,CACd,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,CAAC;aAC1E,CAAC,CAAA;YAEF,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,SAAS,GAAc,cAAc,CAAC,SAAS,CAAA;gBACrD,MAAM,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc;oBACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO;wBACvC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,cAAc,CAAC,IAAI,CAChD;oBACH,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAC1C,CAAA;gBACL,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;oBAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC3E,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;gBAChE,qEAAqE;gBACrE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;aAC9C;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EACvC,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;QACD,OAAM;IACR,CAAC;IAID,KAAK,CAAC,mBAAmB,CACV,IAAY,EACiB,KAAyB,EAC5D,OAAY;QAEnB,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAE7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAEvG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,aAAa,KAChB,MAAM,EAAE,wBAAY,CAAC,iBAAiB,EACtC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAID,KAAK,CAAC,uBAAuB,CACpB,OAAY,EACN,IAAY,EAC+B,IAAiB;QAEzE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,OAAO,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAEnD,MAAM,eAAe,GAAe,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;SACrC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,sBAAsB;SACtC,CAAA;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAA;SACtD;aAAM;YACL,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAA;YAC7B,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC7C,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAA;SACtD;QAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCAC5C,OAAO,KACV,MAAM,EAAE,wBAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA;AA9iBC;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,yCAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDAHmB,uCAAgB,sBACT,iBAAS,oBAAT,iBAAS;;gEAO7F;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2C,yCAAkB;;gEAkBpE;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACF,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gEAc1D;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,mBAAA,IAAA,kBAAG,EAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDAHY,yCAAkB,sBACb,iBAAS,oBAAT,iBAAS,oDACnB,iBAAS,oBAAT,iBAAS;;kEAMnF;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IACP,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAoB3D;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IACP,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAqB3D;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;6DAAS,yCAAkB;;gEAmDzF;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;kEA4GjG;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;wEAsGjG;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;8DAqFjG;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2C,yCAAkB;;gEAuBpE;AAID;IAFC,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;oEAmCxD;AAhjBU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,qBAAqB,CAijBjC;AAjjBY,sDAAqB;AAmjB3B,KAAK,UAAU,mBAAmB,CACvC,SAAc,EACd,gBAA0B,EAC1B,iBAAyD,EACzD,IAAkB,EAClB,MAAc,EACd,IAAU,EACV,EAAkB;IAElB,MAAM,YAAY,GAAyB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,mBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAQ,CAAC,CAAA;IACjG,MAAM,iBAAiB,GAA8B,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,8BAAa,CAAC,KAAI,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAA;IACrH,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAC7F,MAAM,oBAAoB,GACxB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IACxE,MAAM,mBAAmB,GACvB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAe,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAe,CAAC,CAAA;IACtE,MAAM,kBAAkB,GACtB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAc,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IACpE,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAE7F,MAAM,aAAa,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;QACzD,KAAK,EAAE;YACL,EAAE,EAAE,gBAAgB,CAAC,EAAE;YACvB,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC5B;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAEzD,kDAAkD;IAClD,MAAM,WAAW,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;QACrD,KAAK,EAAE;YACL,MAAM;YACN,IAAI,EAAE,oCAAwB,CAAC,cAAc;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,GAAW,EAAE,CAAA;IAExB,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;KACzF;SAAM;QACL,OAAO,GAAG,qCAAgB,CAAC,aAAa,EAAE,CAAA;KAC3C;IAED,2EAA2E;IAC3E,IAAI,gBAAgB,GAAqB,IAAI,CAAA;IAC7C,IAAI,eAAe,GAAoB,IAAI,CAAA;IAE3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;QAC5B,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACL,MAAM;gBACN,EAAE,EAAE,SAAS,CAAC,gBAAgB;aAC/B;SACF,CAAC,CAAA;QAEF,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM;gBACN,EAAE,EAAE,SAAS,CAAC,eAAe;aAC9B;SACF,CAAC,CAAA;QAEF,gBAAgB,mCACX,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,GACd,CAAA;QAED,MAAM,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;KAClD;IAED,iEAAiE;IACjE,IAAI,OAAO,GAAiB,EAAE,CAAA;IAC9B,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;QAC/B,OAAO,GAAG;YACR,MAAM;YACN,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,SAAS,CAAC,gBAAgB;YACnC,cAAc,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB;YAC1G,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,GAAG;YACpC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,GAAG;YACpC,WAAW,EAAE,SAAS,CAAC,cAAc,IAAI,GAAG;YAC5C,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAA;QACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC7D;SAAM;QACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE;SAC5E,CAAC,CAAA;KACH;IAED,kCAAkC;IAClC,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEjE,IAAI,aAAa,GAAQ;QACvB,MAAM;QACN,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE,wBAAY,CAAC,iBAAiB;QACtC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC7B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IACD,aAAa,GAAkB,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE1E,4BAA4B;IAC5B,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,cAA8B,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE;gBACL,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;aAC9B;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAClD,uCACK,cAAc,KACjB,MAAM;YACN,OAAO,EACP,IAAI,EAAE,qCAAgB,CAAC,cAAc,EAAE,EACvC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,kCAAsB,CAAC,iBAAiB,EAChD,IAAI,EAAE,uBAAW,CAAC,QAAQ,EAC1B,aAAa,EACb,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACd;IACH,CAAC,CAAC,CACH,CAAA;IACD,MAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEhD,sBAAsB;IACtB,+DAA+D;IAC/D,eAAe;IACf,0BAA0B;IAC1B,sCAAsC;IACtC,iCAAiC;IACjC,6DAA6D;IAC7D,QAAQ;IACR,OAAO;IACP,yDAAyD;IACzD,IAAI;IAEJ,OAAO,aAAa,CAAA;AACtB,CAAC;AA/JD,kDA+JC;AAEM,KAAK,UAAU,qBAAqB,CACzC,SAA6C,EAC7C,iBAAmC,EACnC,gBAA0B,EAC1B,WAAwB,EACxB,MAAc,EACd,IAAU,EACV,EAAkB;IAElB;;OAEG;IACH,MAAM,iBAAiB,GAA8B,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,8BAAa,CAAC,KAAI,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAA;IACrH,MAAM,oBAAoB,GACxB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IACxE,MAAM,mBAAmB,GACvB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAe,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAe,CAAC,CAAA;IACtE,MAAM,kBAAkB,GACtB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAc,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IACpE,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAE7F,IAAI,gBAAgB,GAAqB,IAAI,CAAA;IAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE;QACtB,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE;SAC3C,CAAC,CAAA;KACH;IAED,IAAI,eAAe,GAAoB,IAAI,CAAA;IAC3C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,EAAE;QAC9B,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE;SACpD,CAAC,CAAA;KACH;IAED,MAAM,WAAW,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;QACrD,KAAK,EAAE;YACL,MAAM;YACN,IAAI,EAAE,oCAAwB,CAAC,cAAc;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,GAAW,EAAE,CAAA;IAExB,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;KACzF;SAAM;QACL,OAAO,GAAG,qCAAgB,CAAC,aAAa,EAAE,CAAA;KAC3C;IAED,IAAI,aAAa,GAAQ;QACvB,MAAM;QACN,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,gBAAgB;QAC1B,WAAW;QACX,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,KAAI,IAAI;QACnC,SAAS,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,KAAI,IAAI;QACvC,gBAAgB;QAChB,eAAe;QACf,MAAM,EAAE,wBAAY,CAAC,iBAAiB;QACtC,iBAAiB,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,KAAI,IAAI;QACvD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IAED,aAAa,GAAkB,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE1E,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,eAA+B,EAAE,EAAE;QAC5E,uCACK,eAAe,KAClB,aAAa,EACb,OAAO,EAAE,IAAI,IACd;IACH,CAAC,CAAC,CAAA;IACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEhD,OAAO,aAAa,CAAA;AACtB,CAAC;AA/ED,sDA+EC","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { Attachment, createAttachment, deleteAttachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { generateId } from '@things-factory/id-rule-base'\nimport { Product } from '@things-factory/product-base'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain, ObjectRef } from '@things-factory/shell'\nimport { TransportDriver, TransportVehicle, TRUCK_STATUS } from '@things-factory/transport-base'\nimport { Inventory } from '@things-factory/warehouse-base'\n\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_NUMBER_RULE_TYPE,\n ORDER_NUMBER_SETTING_KEY,\n ORDER_STATUS,\n ORDER_TYPES\n} from '../../constants'\nimport { OrderNoGenerator } from '../../utils/order-no-generator'\nimport { OrderInventory } from '../order-inventory/order-inventory'\nimport { NewOrderInventory, OrderInventoryPatch } from '../order-inventory/order-inventory-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { DeliveryOrder } from './delivery-order'\nimport { DeliveryOrderPatch, NewDeliveryOrder } from './delivery-order-types'\n\n@Resolver(DeliveryOrder)\nexport class DeliveryOrderMutation {\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async createDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => NewDeliveryOrder, { nullable: true }) orderInfo?: NewDeliveryOrder,\n @Arg('customerBizplace', type => ObjectRef, { nullable: true }) customerBizplace?: ObjectRef,\n @Arg('targetInventories', type => [NewOrderInventory], { nullable: true }) targetInventories?: NewOrderInventory[],\n @Arg('file', type => [GraphQLUpload], { nullable: true }) file?: FileUpload[]\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n return await createDeliveryOrder(orderInfo, customerBizplace, targetInventories, file, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async updateDeliveryOrder(\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch) patch: DeliveryOrderPatch,\n @Ctx() context: any\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: {\n domain,\n name,\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n }\n })\n\n return await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<boolean> {\n const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state\n\n const foundDO = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n if (foundDO) {\n const previousAttachment: Attachment = await tx.getRepository(Attachment).findOne({\n where: { domain, refBy: foundDO.id }\n })\n if (previousAttachment) await deleteAttachment(null, { id: previousAttachment.id }, context)\n await tx.getRepository(DeliveryOrder).delete({ domain, name })\n }\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async generateDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('customerBizplace', type => ObjectRef, { nullable: true }) customerBizplace?: ObjectRef,\n @Arg('releaseGood', type => ObjectRef, { nullable: true }) releaseGood?: ObjectRef,\n @Arg('targetInventories', type => [ObjectRef], { nullable: true }) targetInventories?: ObjectRef[]\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n return await generateDeliveryOrder(orderInfo, targetInventories, customerBizplace, releaseGood, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async confirmDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['creator', 'updater']\n })\n\n let deliveryOrder: DeliveryOrder\n if (!foundDeliveryOrder) throw new Error(`Delivery Order doesn't exists.`)\n if (foundDeliveryOrder.status !== ORDER_STATUS.PENDING) throw new Error('Not confirmable status.')\n\n // delivery Order Status change (PENDING => PENDING_RECEIVE)\n deliveryOrder = await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n status: ORDER_STATUS.PENDING_RECEIVE,\n updater: user\n })\n\n return deliveryOrder\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async receiveDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n updater: user\n })\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async checkDeliveredOrder(\n @Ctx() context: any,\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch, { nullable: true }) patch?: DeliveryOrderPatch\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['bizplace', 'transportDriver', 'transportVehicle']\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.DELIVERING) throw new Error(`Status is not receivable.`)\n\n let orderInventories: OrderInventory[] = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: deliveryOrder },\n relations: ['product']\n })\n\n // update order inventory status for manual DO only\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n if (\n orderInventory.type === ORDER_TYPES.DELIVERY &&\n orderInventory.status === ORDER_INVENTORY_STATUS.DELIVERING\n ) {\n return {\n ...orderInventory,\n status: ORDER_INVENTORY_STATUS.DONE\n }\n } else return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n ...patch,\n status: ORDER_STATUS.DONE,\n updater: user\n })\n\n if (!deliveryOrder?.ownCollection) {\n const foundTruck: TransportVehicle = deliveryOrder.transportVehicle\n await tx.getRepository(TransportVehicle).save({\n ...foundTruck,\n status: TRUCK_STATUS.IDLE,\n updater: user\n })\n }\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async dispatchDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['inventory', 'inventory.product', 'inventory.reusablePallet']\n })\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const inventory: Inventory = orderInventory.inventory\n const product: Product = inventory.product\n const foundItem = inventory.reusablePallet\n ? orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId &&\n item.pallet === inventory.reusablePallet.name\n )\n : orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId\n )\n\n if (foundItem[0].remark !== '') orderInventory.remark = foundItem[0].remark\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n // if there is other destination value, create a new contact point\n let foundCP: any = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundDeliveryOrder.bizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.billingAddress,\n phone: orderInfo.contactPhone,\n email: orderInfo.contactEmail,\n companyName: orderInfo.contactCompany,\n type: orderInfo.contactType,\n creator: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPoint, bizplace: foundDeliveryOrder.bizplace }\n })\n }\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n // update status to DELIVERING if current status is READY_TO_DISPATCH\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n }\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n contactPointRefId: foundCP.id || null,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundCP.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async dispatchManualDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['product']\n })\n\n // if there is other destination value, create a new contact point\n let foundCP: any = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundDeliveryOrder.bizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.billingAddress,\n phone: orderInfo.contactPhone,\n email: orderInfo.contactEmail,\n companyName: orderInfo.contactCompany,\n type: orderInfo.contactType,\n creator: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPoint }\n })\n }\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const remark = orderItems.find(\n (item: any) => item.productId === orderInventory.product.id && item.batchId === orderInventory.batchId\n ).remark\n\n // add remark if found, else remain existing remark\n if (remark) {\n orderInventory.remark = remark\n }\n\n // update status of DO and order inventory to DELIVERING if current status is READY_TO_DISPATCH\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n orderInventory.status = ORDER_STATUS.DELIVERING\n }\n\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n contactPointRefId: foundCP.id || null,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundCP.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async sendDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['inventory', 'inventory.product', 'inventory.reusablePallet']\n })\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const inventory: Inventory = orderInventory.inventory\n const product: Product = inventory.product\n const foundItem = inventory.reusablePallet\n ? orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId &&\n item.pallet === inventory.reusablePallet.name\n )\n : orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId\n )\n if (foundItem[0].remark !== '') orderInventory.remark = foundItem[0].remark\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n // update status to DELIVERING if current status is READY_TO_DISPATCH\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n }\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundDeliveryOrder.bizplace.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n return\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async rejectDeliveryOrder(\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch) patch: DeliveryOrderPatch,\n @Ctx() context: any\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n updater: user\n })\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async submitGoodsDeliveryNote(\n @Ctx() context: any,\n @Arg('name') name: string,\n @Arg('file', type => GraphQLUpload, { nullable: true }) file?: FileUpload\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const foundDO: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['bizplace']\n })\n\n if (!foundDO) throw new Error(`DO doesn't exists.`)\n\n const foundAttachment: Attachment = await tx.getRepository(Attachment).findOne({\n where: { domain, refBy: foundDO.id }\n })\n\n const attachment = {\n refType: 'DO',\n refBy: foundDO.id,\n file: file,\n category: 'DO' /* TODO use refType */\n }\n\n if (!foundAttachment) {\n await createAttachment(null, { attachment }, context)\n } else {\n const id = foundAttachment.id\n await deleteAttachment(null, { id }, context)\n await createAttachment(null, { attachment }, context)\n }\n\n return await tx.getRepository(DeliveryOrder).save({\n ...foundDO,\n status: ORDER_STATUS.DONE,\n updater: user\n })\n }\n}\n\nexport async function createDeliveryOrder(\n orderInfo: any,\n customerBizplace: Bizplace,\n targetInventories: (OrderInventory | NewOrderInventory)[],\n file: FileUpload[],\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<DeliveryOrder> {\n const bizplaceRepo: Repository<Bizplace> = tx?.getRepository(Bizplace) || getRepository(Bizplace)\n const deliveryOrderRepo: Repository<DeliveryOrder> = tx?.getRepository(DeliveryOrder) || getRepository(DeliveryOrder)\n const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)\n const transportVehicleRepo: Repository<TransportVehicle> =\n tx?.getRepository(TransportVehicle) || getRepository(TransportVehicle)\n const transportDriverRepo: Repository<TransportDriver> =\n tx?.getRepository(TransportDriver) || getRepository(TransportDriver)\n const orderInventoryRepo: Repository<OrderInventory> =\n tx?.getRepository(OrderInventory) || getRepository(OrderInventory)\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n const foundBizplace: Bizplace = await bizplaceRepo.findOne({\n where: {\n id: customerBizplace.id,\n name: customerBizplace.name\n }\n })\n\n if (!foundBizplace) throw new Error(`customer not found`)\n\n // #1 find order number setting and set as DO name\n const doNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain,\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n let orderNo: string = ''\n\n if (doNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.deliveryOrder()\n }\n\n // #2 update truck vehicle status to IN_USE (only if using warehouse truck)\n let transportVehicle: TransportVehicle = null\n let transportDriver: TransportDriver = null\n\n if (!orderInfo.ownCollection) {\n transportVehicle = await transportVehicleRepo.findOne({\n where: {\n domain,\n id: orderInfo.transportVehicle\n }\n })\n\n transportDriver = await transportDriverRepo.findOne({\n where: {\n domain,\n id: orderInfo.transportDriver\n }\n })\n\n transportVehicle = {\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n }\n\n await transportVehicleRepo.save(transportVehicle)\n }\n\n // #3 save other destination info in Contact Point if there's any\n let foundCP: ContactPoint = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundBizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.otherBillingAddress ? orderInfo.otherBillingAddress : orderInfo.otherDestination,\n phone: orderInfo.contactPhone || '-',\n email: orderInfo.contactEmail || '-',\n companyName: orderInfo.contactCompany || '-',\n type: orderInfo.contactType,\n creator: user,\n updater: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPointRefId, bizplace: foundBizplace }\n })\n }\n\n // #4 save the delivery order info\n let totalPalletQty = 0\n targetInventories.forEach(oi => (totalPalletQty += oi.palletQty))\n\n let deliveryOrder: any = {\n domain,\n name: orderNo,\n refNo: orderInfo.refNo,\n bizplace: foundBizplace,\n deliveryDate: orderInfo.deliveryDate,\n ownCollection: orderInfo.ownCollection,\n truckNo: orderInfo.truckNo,\n palletQty: totalPalletQty,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n contactPointRefId: foundCP.id,\n remark: orderInfo.remark,\n transportDriver,\n transportVehicle,\n otherDriver: orderInfo.otherDriver,\n creator: user,\n updater: user\n }\n deliveryOrder = <DeliveryOrder>await deliveryOrderRepo.save(deliveryOrder)\n\n // #5 save order inventories\n targetInventories = await Promise.all(\n targetInventories.map(async (orderInventory: OrderInventory) => {\n const product: Product = await productRepo.findOne({\n where: {\n id: orderInventory.product.id\n }\n })\n\n if (!product) throw new Error(`product not found`)\n return {\n ...orderInventory,\n domain,\n product,\n name: OrderNoGenerator.orderInventory(),\n bizplace: foundBizplace,\n status: ORDER_INVENTORY_STATUS.READY_TO_DISPATCH,\n type: ORDER_TYPES.DELIVERY,\n deliveryOrder,\n creator: user,\n updater: user\n }\n })\n )\n await orderInventoryRepo.save(targetInventories)\n\n // if (file?.length) {\n // const attachments: Attachment[] = file.map(attachment => {\n // return {\n // file: attachment,\n // refType: ATTACHMENT_TYPE.GAN,\n // refBy: deliveryOrder.id,\n // category: ATTACHMENT_TYPE.GAN /* TODO use refType */\n // }\n // })\n // await createAttachments(_, { attachments }, context)\n // }\n\n return deliveryOrder\n}\n\nexport async function generateDeliveryOrder(\n orderInfo: DeliveryOrder | DeliveryOrderPatch,\n targetInventories: OrderInventory[],\n customerBizplace: Bizplace,\n releaseGood: ReleaseGood,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<DeliveryOrder> {\n /**\n * 1. Validation for creating DO - data existing\n */\n const deliveryOrderRepo: Repository<DeliveryOrder> = tx?.getRepository(DeliveryOrder) || getRepository(DeliveryOrder)\n const transportVehicleRepo: Repository<TransportVehicle> =\n tx?.getRepository(TransportVehicle) || getRepository(TransportVehicle)\n const transportDriverRepo: Repository<TransportDriver> =\n tx?.getRepository(TransportDriver) || getRepository(TransportDriver)\n const orderInventoryRepo: Repository<OrderInventory> =\n tx?.getRepository(OrderInventory) || getRepository(OrderInventory)\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.truckNo) {\n transportVehicle = await transportVehicleRepo.findOne({\n where: { domain, name: orderInfo.truckNo }\n })\n }\n\n let transportDriver: TransportDriver = null\n if (orderInfo?.transportDriver) {\n transportDriver = await transportDriverRepo.findOne({\n where: { domain, id: orderInfo.transportDriver.id }\n })\n }\n\n const doNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain,\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n let orderNo: string = ''\n\n if (doNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.deliveryOrder()\n }\n\n let deliveryOrder: any = {\n domain,\n name: orderNo,\n bizplace: customerBizplace,\n releaseGood,\n refNo: releaseGood.refNo,\n ownCollection: orderInfo.ownCollection,\n truckNo: orderInfo?.truckNo || null,\n palletQty: orderInfo?.palletQty || null,\n transportVehicle,\n transportDriver,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n contactPointRefId: orderInfo?.contactPointRefId || null,\n creator: user,\n updater: user\n }\n\n deliveryOrder = <DeliveryOrder>await deliveryOrderRepo.save(deliveryOrder)\n\n targetInventories = targetInventories.map((targetInventory: OrderInventory) => {\n return {\n ...targetInventory,\n deliveryOrder,\n updater: user\n }\n })\n await orderInventoryRepo.save(targetInventories)\n\n return deliveryOrder\n}\n"]}
|
|
1
|
+
{"version":3,"file":"delivery-order-mutation.js","sourceRoot":"","sources":["../../../server/service/delivery-order/delivery-order-mutation.ts"],"names":[],"mappings":";;;;;AACA,+FAA2D;AAC3D,+CAAsE;AACtE,qCAAsE;AAEtE,qEAAgG;AAEhG,uDAA0F;AAC1F,+DAAyD;AACzD,+DAAsD;AACtD,+DAAsD;AACtD,iDAAyD;AACzD,mEAAgG;AAGhG,+CAMwB;AACxB,uEAAiE;AACjE,wEAAmE;AACnE,oFAAiG;AAEjG,qDAAgD;AAChD,iEAA6E;AAGtE,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAG1B,AAAN,KAAK,CAAC,mBAAmB,CAChB,OAAY,EAC6C,SAA4B,EAC5B,gBAA4B,EACjB,iBAAuC,EACxD,IAAmB;QAE7E,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,OAAO,MAAM,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAC1G,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CACV,IAAY,EACiB,KAAyB,EAC5D,OAAY;QAEnB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAClE,KAAK,EAAE;gBACL,MAAM;gBACN,IAAI;gBACJ,QAAQ,EAAE,IAAA,YAAE,EAAC,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,CAAC;aAC1D;SACF,CAAC,CAAA;QAEF,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,+CAC5C,aAAa,GACb,KAAK,KACR,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CAAc,IAAY,EAAS,OAAY;QACtE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAA0C,OAAO,CAAC,KAAK,CAAA;QAE3E,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAC5D,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;SACxB,CAAC,CAAA;QACF,IAAI,OAAO,EAAE;YACX,MAAM,kBAAkB,GAAe,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;gBAChF,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;aACrC,CAAC,CAAA;YACF,IAAI,kBAAkB;gBAAE,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC5F,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;SAC/D;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CAClB,OAAY,EAC+C,SAA8B,EAChC,gBAA4B,EACjC,WAAuB,EACf,iBAA+B;QAElG,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,OAAO,MAAM,qBAAqB,CAAC,SAAS,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACnH,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB,CAAc,IAAY,EAAS,OAAY;QACvE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;SAClC,CAAC,CAAA;QAEF,IAAI,aAA4B,CAAA;QAChC,IAAI,CAAC,kBAAkB;YAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;QAElG,4DAA4D;QAC5D,aAAa,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrD,kBAAkB,KACrB,MAAM,EAAE,wBAAY,CAAC,eAAe,EACpC,OAAO,EAAE,IAAI,IACb,CAAA;QAEF,OAAO,aAAa,CAAA;IACtB,CAAC;IAIK,AAAN,KAAK,CAAC,oBAAoB,CAAc,IAAY,EAAS,OAAY;QACvE,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAE7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAEvG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,aAAa,KAChB,MAAM,EAAE,wBAAY,CAAC,iBAAiB,EACtC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CAChB,OAAY,EACN,IAAY,EACqC,KAA0B;QAExF,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACvB,SAAS,EAAE,CAAC,UAAU,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;aAC/D,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,UAAU;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAElG,IAAI,gBAAgB,GAAqB,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBACnF,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE;gBAC/C,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAA;YAEF,mDAAmD;YACnD,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,IACE,cAAc,CAAC,IAAI,KAAK,uBAAW,CAAC,QAAQ;oBAC5C,cAAc,CAAC,MAAM,KAAK,kCAAsB,CAAC,UAAU,EAC3D;oBACA,uCACK,cAAc,KACjB,MAAM,EAAE,kCAAsB,CAAC,IAAI,IACpC;iBACF;;oBAAM,OAAO,cAAc,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,+CACrC,aAAa,GACb,KAAK,KACR,MAAM,EAAE,wBAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,IAAI,CAAC,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,aAAa,CAAA,EAAE;gBACjC,MAAM,UAAU,GAAqB,aAAa,CAAC,gBAAgB,CAAA;gBACnE,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,UAAU,KACb,MAAM,EAAE,6BAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CAClB,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,CAAC;aAC1E,CAAC,CAAA;YAEF,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,SAAS,GAAc,cAAc,CAAC,SAAS,CAAA;gBACrD,MAAM,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc;oBACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO;wBACvC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,cAAc,CAAC,IAAI,CAChD;oBACH,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAC1C,CAAA;gBAEL,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;oBAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC3E,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,kEAAkE;YAClE,IAAI,OAAO,GAAQ,EAAE,CAAA;YACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;gBAC/B,OAAO,GAAG;oBACR,MAAM;oBACN,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oBACrC,OAAO,EAAE,SAAS,CAAC,gBAAgB;oBACnC,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,WAAW,EAAE,SAAS,CAAC,cAAc;oBACrC,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,OAAO,EAAE,IAAI;iBACd,CAAA;gBACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC7D;iBAAM;gBACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;oBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;iBACrF,CAAC,CAAA;aACH;YAED,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;gBAChE,qEAAqE;gBACrE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;aAC9C;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,iBAAiB,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EACrC,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,2BAA2B,CACxB,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,SAAS,CAAC;aACvB,CAAC,CAAA;YAEF,kEAAkE;YAClE,IAAI,OAAO,GAAQ,EAAE,CAAA;YACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;gBAC/B,OAAO,GAAG;oBACR,MAAM;oBACN,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;oBACrC,OAAO,EAAE,SAAS,CAAC,gBAAgB;oBACnC,cAAc,EAAE,SAAS,CAAC,cAAc;oBACxC,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,KAAK,EAAE,SAAS,CAAC,YAAY;oBAC7B,WAAW,EAAE,SAAS,CAAC,cAAc;oBACrC,IAAI,EAAE,SAAS,CAAC,WAAW;oBAC3B,OAAO,EAAE,IAAI;iBACd,CAAA;gBACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC7D;iBAAM;gBACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;oBACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,YAAY,EAAE;iBAC9C,CAAC,CAAA;aACH;YAED,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAC5B,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CACvG,CAAC,MAAM,CAAA;gBAER,mDAAmD;gBACnD,IAAI,MAAM,EAAE;oBACV,cAAc,CAAC,MAAM,GAAG,MAAM,CAAA;iBAC/B;gBAED,+FAA+F;gBAC/F,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;oBAChE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;oBAC7C,cAAc,CAAC,MAAM,GAAG,wBAAY,CAAC,UAAU,CAAA;iBAChD;gBAED,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,iBAAiB,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,EACrC,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,OAAO,CAAC,OAAO,EACnB,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,iBAAiB,CACd,OAAY,EAC+C,SAA8B,EAC1B,UAAkC;QAExG,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAC7F,MAAM,kBAAkB,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACtF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE;gBACvC,SAAS,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAC5C,CAAC,CAAA;YAEF,IAAI,CAAC,kBAAkB;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YAC1E,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,cAAc;gBAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAExD,IAAI,mBAAmB,GAAG,kBAAkB,CAAC,MAAM,CAAA;YACnD,IAAI,gBAAkC,CAAA;YACtC,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC;gBAC7D,KAAK,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,kBAAkB,EAAE;gBACpD,SAAS,EAAE,CAAC,WAAW,EAAE,mBAAmB,EAAE,0BAA0B,CAAC;aAC1E,CAAC,CAAA;YAEF,gBAAgB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,cAA8B,EAAE,EAAE;gBACzE,MAAM,SAAS,GAAc,cAAc,CAAC,SAAS,CAAA;gBACrD,MAAM,OAAO,GAAY,SAAS,CAAC,OAAO,CAAA;gBAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,cAAc;oBACxC,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO;wBACvC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,cAAc,CAAC,IAAI,CAChD;oBACH,CAAC,CAAC,UAAU,CAAC,MAAM,CACf,CAAC,IAAS,EAAE,EAAE,CACZ,IAAI,CAAC,WAAW,KAAK,GAAG,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,WAAW,GAAG;wBAC/D,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,OAAO,CAC1C,CAAA;gBACL,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE;oBAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBAC3E,OAAO,cAAc,CAAA;YACvB,CAAC,CAAC,CAAA;YACF,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;YAE7D,IAAI,eAAe,GAAoB,IAAI,CAAA;YAC3C,IAAI,gBAAgB,GAAqB,IAAI,CAAA;YAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,EAAE;gBACxB,eAAe,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,gCAAe,CAAC,CAAC,OAAO,CAAC;oBAChE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE;iBAC7C,CAAC,CAAA;aACH;YAED,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,EAAE;gBACvB,gBAAgB,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,OAAO,CAAC;oBAClE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAC5C,CAAC,CAAA;gBAEF,MAAM,EAAE,CAAC,aAAa,CAAC,iCAAgB,CAAC,CAAC,IAAI,iCACxC,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,IACb,CAAA;aACH;YAED,IAAI,kBAAkB,CAAC,MAAM,KAAK,wBAAY,CAAC,iBAAiB,EAAE;gBAChE,qEAAqE;gBACrE,mBAAmB,GAAG,wBAAY,CAAC,UAAU,CAAA;aAC9C;YAED,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,kBAAkB,KACrB,eAAe;gBACf,gBAAgB,EAChB,WAAW,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,KAAI,IAAI,EAC3C,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ,CAAA,EACrD,EAAE,EAAE,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EACvC,YAAY,EAAE,SAAS,CAAC,YAAY,EACpC,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,MAAM,EAAE,mBAAmB,EAC3B,cAAc,EAAE,SAAS,CAAC,cAAc,EACxC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,kBAAkB,CAAA;SAC1B;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;QACD,OAAM;IACR,CAAC;IAIK,AAAN,KAAK,CAAC,mBAAmB,CACV,IAAY,EACiB,KAAyB,EAC5D,OAAY;QAEnB,IAAI;YACF,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;YAE7F,MAAM,aAAa,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;gBACjF,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;aACxB,CAAC,CAAA;YAEF,IAAI,CAAC,aAAa;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACrE,IAAI,aAAa,CAAC,MAAM,KAAK,wBAAY,CAAC,eAAe;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;YAEvG,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCACrC,aAAa,KAChB,MAAM,EAAE,wBAAY,CAAC,iBAAiB,EACtC,OAAO,EAAE,IAAI,IACb,CAAA;YAEF,OAAO,aAAa,CAAA;SACrB;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,CAAC,CAAA;SACR;IACH,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB,CACpB,OAAY,EACN,IAAY,EAC+B,IAAiB;QAEzE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAsD,OAAO,CAAC,KAAK,CAAA;QAE7F,MAAM,OAAO,GAAkB,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,OAAO,CAAC;YAC3E,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;YACvB,SAAS,EAAE,CAAC,UAAU,CAAC;SACxB,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;QAEnD,MAAM,eAAe,GAAe,MAAM,EAAE,CAAC,aAAa,CAAC,4BAAU,CAAC,CAAC,OAAO,CAAC;YAC7E,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;SACrC,CAAC,CAAA;QAEF,MAAM,UAAU,GAAG;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,OAAO,CAAC,EAAE;YACjB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI,CAAC,sBAAsB;SACtC,CAAA;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAA;SACtD;aAAM;YACL,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,CAAA;YAC7B,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;YAC7C,MAAM,IAAA,kCAAgB,EAAC,IAAI,EAAE,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC,CAAA;SACtD;QAED,OAAO,MAAM,EAAE,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC,IAAI,iCAC5C,OAAO,KACV,MAAM,EAAE,wBAAY,CAAC,IAAI,EACzB,OAAO,EAAE,IAAI,IACb,CAAA;IACJ,CAAC;CACF,CAAA;AA9iBO;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,uCAAgB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,yCAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzE,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,0BAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDAHmB,uCAAgB,sBACT,iBAAS,oBAAT,iBAAS;;gEAO7F;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2C,yCAAkB;;gEAkBpE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;IACF,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;gEAc1D;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,mBAAA,IAAA,kBAAG,EAAC,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,iBAAS,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IACzD,mBAAA,IAAA,kBAAG,EAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDAHY,yCAAkB,sBACb,iBAAS,oBAAT,iBAAS,oDACnB,iBAAS,oBAAT,iBAAS;;kEAMnF;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IACP,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAoB3D;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IACP,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IAAgB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;iEAqB3D;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;6DAAS,yCAAkB;;gEAmDzF;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;kEA4GjG;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;wEAsGjG;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;IAChE,mBAAA,IAAA,kBAAG,EAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,2CAAmB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;qDADS,yCAAkB;;8DAqFjG;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,yCAAkB,CAAC,CAAA;IACxC,mBAAA,IAAA,kBAAG,GAAE,CAAA;;qDAD2C,yCAAkB;;gEAuBpE;AAIK;IAFL,IAAA,wBAAS,EAAC,cAAc,CAAC;IACzB,IAAA,uBAAQ,EAAC,OAAO,CAAC,EAAE,CAAC,8BAAa,CAAC;IAEhC,mBAAA,IAAA,kBAAG,GAAE,CAAA;IACL,mBAAA,IAAA,kBAAG,EAAC,MAAM,CAAC,CAAA;IACX,mBAAA,IAAA,kBAAG,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,0BAAa,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;;;;oEAmCxD;AAhjBU,qBAAqB;IADjC,IAAA,uBAAQ,EAAC,8BAAa,CAAC;GACX,qBAAqB,CAijBjC;AAjjBY,sDAAqB;AAmjB3B,KAAK,UAAU,mBAAmB,CACvC,SAAc,EACd,gBAA0B,EAC1B,iBAAyD,EACzD,IAAkB,EAClB,MAAc,EACd,IAAU,EACV,EAAkB;IAElB,MAAM,YAAY,GAAyB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,mBAAQ,CAAC,KAAI,IAAA,uBAAa,EAAC,mBAAQ,CAAC,CAAA;IACjG,MAAM,iBAAiB,GAA8B,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,8BAAa,CAAC,KAAI,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAA;IACrH,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAC7F,MAAM,oBAAoB,GACxB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IACxE,MAAM,mBAAmB,GACvB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAe,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAe,CAAC,CAAA;IACtE,MAAM,kBAAkB,GACtB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAc,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IACpE,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAE7F,MAAM,aAAa,GAAa,MAAM,YAAY,CAAC,OAAO,CAAC;QACzD,KAAK,EAAE;YACL,EAAE,EAAE,gBAAgB,CAAC,EAAE;YACvB,IAAI,EAAE,gBAAgB,CAAC,IAAI;SAC5B;KACF,CAAC,CAAA;IAEF,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAA;IAEzD,kDAAkD;IAClD,MAAM,WAAW,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;QACrD,KAAK,EAAE;YACL,MAAM;YACN,IAAI,EAAE,oCAAwB,CAAC,cAAc;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,GAAW,EAAE,CAAA;IAExB,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;KACzF;SAAM;QACL,OAAO,GAAG,qCAAgB,CAAC,aAAa,EAAE,CAAA;KAC3C;IAED,2EAA2E;IAC3E,IAAI,gBAAgB,GAAqB,IAAI,CAAA;IAC7C,IAAI,eAAe,GAAoB,IAAI,CAAA;IAE3C,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE;QAC5B,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE;gBACL,MAAM;gBACN,EAAE,EAAE,SAAS,CAAC,gBAAgB;aAC/B;SACF,CAAC,CAAA;QAEF,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE;gBACL,MAAM;gBACN,EAAE,EAAE,SAAS,CAAC,eAAe;aAC9B;SACF,CAAC,CAAA;QAEF,gBAAgB,mCACX,gBAAgB,KACnB,MAAM,EAAE,6BAAY,CAAC,MAAM,EAC3B,OAAO,EAAE,IAAI,GACd,CAAA;QAED,MAAM,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;KAClD;IAED,iEAAiE;IACjE,IAAI,OAAO,GAAiB,EAAE,CAAA;IAC9B,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,gBAAgB,EAAE;QAC/B,OAAO,GAAG;YACR,MAAM;YACN,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,QAAQ,EAAE,aAAa;YACvB,OAAO,EAAE,SAAS,CAAC,gBAAgB;YACnC,cAAc,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB;YAC1G,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,GAAG;YACpC,KAAK,EAAE,SAAS,CAAC,YAAY,IAAI,GAAG;YACpC,WAAW,EAAE,SAAS,CAAC,cAAc,IAAI,GAAG;YAC5C,IAAI,EAAE,SAAS,CAAC,WAAW;YAC3B,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI;SACd,CAAA;QACD,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;KAC7D;SAAM;QACL,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,uBAAY,CAAC,CAAC,OAAO,CAAC;YACrD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,iBAAiB,EAAE,QAAQ,EAAE,aAAa,EAAE;SAC5E,CAAC,CAAA;KACH;IAED,kCAAkC;IAClC,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;IAEjE,IAAI,aAAa,GAAQ;QACvB,MAAM;QACN,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,QAAQ,EAAE,aAAa;QACvB,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,SAAS,EAAE,cAAc;QACzB,MAAM,EAAE,wBAAY,CAAC,iBAAiB;QACtC,iBAAiB,EAAE,OAAO,CAAC,EAAE;QAC7B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,eAAe;QACf,gBAAgB;QAChB,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IACD,aAAa,GAAkB,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE1E,4BAA4B;IAC5B,iBAAiB,GAAG,MAAM,OAAO,CAAC,GAAG,CACnC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,cAA8B,EAAE,EAAE;QAC7D,MAAM,OAAO,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;YACjD,KAAK,EAAE;gBACL,EAAE,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;aAC9B;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;QAClD,uCACK,cAAc,KACjB,MAAM;YACN,OAAO,EACP,IAAI,EAAE,qCAAgB,CAAC,cAAc,EAAE,EACvC,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,kCAAsB,CAAC,iBAAiB,EAChD,IAAI,EAAE,uBAAW,CAAC,QAAQ,EAC1B,aAAa,EACb,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,IAAI,IACd;IACH,CAAC,CAAC,CACH,CAAA;IACD,MAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEhD,sBAAsB;IACtB,+DAA+D;IAC/D,eAAe;IACf,0BAA0B;IAC1B,sCAAsC;IACtC,iCAAiC;IACjC,6DAA6D;IAC7D,QAAQ;IACR,OAAO;IACP,yDAAyD;IACzD,IAAI;IAEJ,OAAO,aAAa,CAAA;AACtB,CAAC;AA/JD,kDA+JC;AAEM,KAAK,UAAU,qBAAqB,CACzC,SAA6C,EAC7C,iBAAmC,EACnC,gBAA0B,EAC1B,WAAwB,EACxB,MAAc,EACd,IAAU,EACV,EAAkB;IAElB;;OAEG;IACH,MAAM,iBAAiB,GAA8B,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,8BAAa,CAAC,KAAI,IAAA,uBAAa,EAAC,8BAAa,CAAC,CAAA;IACrH,MAAM,oBAAoB,GACxB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,iCAAgB,CAAC,KAAI,IAAA,uBAAa,EAAC,iCAAgB,CAAC,CAAA;IACxE,MAAM,mBAAmB,GACvB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAe,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAe,CAAC,CAAA;IACtE,MAAM,kBAAkB,GACtB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,gCAAc,CAAC,KAAI,IAAA,uBAAa,EAAC,gCAAc,CAAC,CAAA;IACpE,MAAM,WAAW,GAAwB,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,aAAa,CAAC,sBAAO,CAAC,KAAI,IAAA,uBAAa,EAAC,sBAAO,CAAC,CAAA;IAE7F,IAAI,gBAAgB,GAAqB,IAAI,CAAA;IAC7C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,EAAE;QACtB,gBAAgB,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC;YACpD,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,EAAE;SAC3C,CAAC,CAAA;KACH;IAED,IAAI,eAAe,GAAoB,IAAI,CAAA;IAC3C,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,eAAe,EAAE;QAC9B,eAAe,GAAG,MAAM,mBAAmB,CAAC,OAAO,CAAC;YAClD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE;SACpD,CAAC,CAAA;KACH;IAED,MAAM,WAAW,GAAY,MAAM,WAAW,CAAC,OAAO,CAAC;QACrD,KAAK,EAAE;YACL,MAAM;YACN,IAAI,EAAE,oCAAwB,CAAC,cAAc;SAC9C;KACF,CAAC,CAAA;IAEF,IAAI,OAAO,GAAW,EAAE,CAAA;IAExB,IAAI,WAAW,EAAE;QACf,OAAO,GAAG,MAAM,IAAA,yBAAU,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,kCAAsB,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;KACzF;SAAM;QACL,OAAO,GAAG,qCAAgB,CAAC,aAAa,EAAE,CAAA;KAC3C;IAED,IAAI,aAAa,GAAQ;QACvB,MAAM;QACN,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,gBAAgB;QAC1B,WAAW;QACX,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,aAAa,EAAE,SAAS,CAAC,aAAa;QACtC,OAAO,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,KAAI,IAAI;QACnC,SAAS,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,KAAI,IAAI;QACvC,gBAAgB;QAChB,eAAe;QACf,MAAM,EAAE,wBAAY,CAAC,iBAAiB;QACtC,iBAAiB,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,KAAI,IAAI;QACvD,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI;KACd,CAAA;IAED,aAAa,GAAkB,MAAM,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAE1E,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,eAA+B,EAAE,EAAE;QAC5E,uCACK,eAAe,KAClB,aAAa,EACb,OAAO,EAAE,IAAI,IACd;IACH,CAAC,CAAC,CAAA;IACF,MAAM,kBAAkB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAEhD,OAAO,aAAa,CAAA;AACtB,CAAC;AA/ED,sDA+EC","sourcesContent":["import type { FileUpload } from 'graphql-upload/GraphQLUpload.js'\nimport GraphQLUpload from 'graphql-upload/GraphQLUpload.js'\nimport { Arg, Ctx, Directive, Mutation, Resolver } from 'type-graphql'\nimport { EntityManager, getRepository, In, Repository } from 'typeorm'\n\nimport { Attachment, createAttachment, deleteAttachment } from '@things-factory/attachment-base'\nimport { User } from '@things-factory/auth-base'\nimport { Bizplace, ContactPoint, getPermittedBizplaceIds } from '@things-factory/biz-base'\nimport { generateId } from '@things-factory/id-rule-base'\nimport { Product } from '@things-factory/product-base'\nimport { Setting } from '@things-factory/setting-base'\nimport { Domain, ObjectRef } from '@things-factory/shell'\nimport { TransportDriver, TransportVehicle, TRUCK_STATUS } from '@things-factory/transport-base'\nimport { Inventory } from '@things-factory/warehouse-base'\n\nimport {\n ORDER_INVENTORY_STATUS,\n ORDER_NUMBER_RULE_TYPE,\n ORDER_NUMBER_SETTING_KEY,\n ORDER_STATUS,\n ORDER_TYPES\n} from '../../constants'\nimport { OrderNoGenerator } from '../../utils/order-no-generator'\nimport { OrderInventory } from '../order-inventory/order-inventory'\nimport { NewOrderInventory, OrderInventoryPatch } from '../order-inventory/order-inventory-types'\nimport { ReleaseGood } from '../release-good/release-good'\nimport { DeliveryOrder } from './delivery-order'\nimport { DeliveryOrderPatch, NewDeliveryOrder } from './delivery-order-types'\n\n@Resolver(DeliveryOrder)\nexport class DeliveryOrderMutation {\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async createDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => NewDeliveryOrder, { nullable: true }) orderInfo?: NewDeliveryOrder,\n @Arg('customerBizplace', type => ObjectRef, { nullable: true }) customerBizplace?: ObjectRef,\n @Arg('targetInventories', type => [NewOrderInventory], { nullable: true }) targetInventories?: NewOrderInventory[],\n @Arg('file', type => [GraphQLUpload], { nullable: true }) file?: FileUpload[]\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n return await createDeliveryOrder(orderInfo, customerBizplace, targetInventories, file, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async updateDeliveryOrder(\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch) patch: DeliveryOrderPatch,\n @Ctx() context: any\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: {\n domain,\n name,\n bizplace: In(await getPermittedBizplaceIds(domain, user))\n }\n })\n\n return await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n ...patch,\n updater: user\n })\n }\n\n @Directive('@transaction')\n @Mutation(returns => Boolean)\n async deleteDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<boolean> {\n const { tx, domain }: { tx: EntityManager; domain: Domain } = context.state\n\n const foundDO = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n if (foundDO) {\n const previousAttachment: Attachment = await tx.getRepository(Attachment).findOne({\n where: { domain, refBy: foundDO.id }\n })\n if (previousAttachment) await deleteAttachment(null, { id: previousAttachment.id }, context)\n await tx.getRepository(DeliveryOrder).delete({ domain, name })\n }\n return true\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async generateDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('customerBizplace', type => ObjectRef, { nullable: true }) customerBizplace?: ObjectRef,\n @Arg('releaseGood', type => ObjectRef, { nullable: true }) releaseGood?: ObjectRef,\n @Arg('targetInventories', type => [ObjectRef], { nullable: true }) targetInventories?: ObjectRef[]\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n return await generateDeliveryOrder(orderInfo, targetInventories, customerBizplace, releaseGood, domain, user, tx)\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async confirmDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['creator', 'updater']\n })\n\n let deliveryOrder: DeliveryOrder\n if (!foundDeliveryOrder) throw new Error(`Delivery Order doesn't exists.`)\n if (foundDeliveryOrder.status !== ORDER_STATUS.PENDING) throw new Error('Not confirmable status.')\n\n // delivery Order Status change (PENDING => PENDING_RECEIVE)\n deliveryOrder = await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n status: ORDER_STATUS.PENDING_RECEIVE,\n updater: user\n })\n\n return deliveryOrder\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async receiveDeliveryOrder(@Arg('name') name: string, @Ctx() context: any): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n updater: user\n })\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async checkDeliveredOrder(\n @Ctx() context: any,\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch, { nullable: true }) patch?: DeliveryOrderPatch\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['bizplace', 'transportDriver', 'transportVehicle']\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.DELIVERING) throw new Error(`Status is not receivable.`)\n\n let orderInventories: OrderInventory[] = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: deliveryOrder },\n relations: ['product']\n })\n\n // update order inventory status for manual DO only\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n if (\n orderInventory.type === ORDER_TYPES.DELIVERY &&\n orderInventory.status === ORDER_INVENTORY_STATUS.DELIVERING\n ) {\n return {\n ...orderInventory,\n status: ORDER_INVENTORY_STATUS.DONE\n }\n } else return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n ...patch,\n status: ORDER_STATUS.DONE,\n updater: user\n })\n\n if (!deliveryOrder?.ownCollection) {\n const foundTruck: TransportVehicle = deliveryOrder.transportVehicle\n await tx.getRepository(TransportVehicle).save({\n ...foundTruck,\n status: TRUCK_STATUS.IDLE,\n updater: user\n })\n }\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async dispatchDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['inventory', 'inventory.product', 'inventory.reusablePallet']\n })\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const inventory: Inventory = orderInventory.inventory\n const product: Product = inventory.product\n const foundItem = inventory.reusablePallet\n ? orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId &&\n item.pallet === inventory.reusablePallet.name\n )\n : orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId\n )\n\n if (foundItem[0].remark !== '') orderInventory.remark = foundItem[0].remark\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n // if there is other destination value, create a new contact point\n let foundCP: any = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundDeliveryOrder.bizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.billingAddress,\n phone: orderInfo.contactPhone,\n email: orderInfo.contactEmail,\n companyName: orderInfo.contactCompany,\n type: orderInfo.contactType,\n creator: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPoint, bizplace: foundDeliveryOrder.bizplace }\n })\n }\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n // update status to DELIVERING if current status is READY_TO_DISPATCH\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n }\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n contactPointRefId: foundCP.id || null,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundCP.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async dispatchManualDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['product']\n })\n\n // if there is other destination value, create a new contact point\n let foundCP: any = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundDeliveryOrder.bizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.billingAddress,\n phone: orderInfo.contactPhone,\n email: orderInfo.contactEmail,\n companyName: orderInfo.contactCompany,\n type: orderInfo.contactType,\n creator: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPoint }\n })\n }\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const remark = orderItems.find(\n (item: any) => item.productId === orderInventory.product.id && item.batchId === orderInventory.batchId\n ).remark\n\n // add remark if found, else remain existing remark\n if (remark) {\n orderInventory.remark = remark\n }\n\n // update status of DO and order inventory to DELIVERING if current status is READY_TO_DISPATCH\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n orderInventory.status = ORDER_STATUS.DELIVERING\n }\n\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n contactPointRefId: foundCP.id || null,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundCP.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async sendDeliveryOrder(\n @Ctx() context: any,\n @Arg('orderInfo', type => DeliveryOrderPatch, { nullable: true }) orderInfo?: DeliveryOrderPatch,\n @Arg('orderItems', type => [OrderInventoryPatch], { nullable: true }) orderItems?: OrderInventoryPatch[]\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n const foundDeliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name: orderInfo.name },\n relations: ['transportVehicle', 'bizplace']\n })\n\n if (!foundDeliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (foundDeliveryOrder.status === ORDER_STATUS.PENDING_CANCEL)\n throw new Error('Release order is pending for cancel')\n\n let deliveryOrderStatus = foundDeliveryOrder.status\n let orderInventories: OrderInventory[]\n orderInventories = await tx.getRepository(OrderInventory).find({\n where: { domain, deliveryOrder: foundDeliveryOrder },\n relations: ['inventory', 'inventory.product', 'inventory.reusablePallet']\n })\n\n orderInventories = orderInventories.map((orderInventory: OrderInventory) => {\n const inventory: Inventory = orderInventory.inventory\n const product: Product = inventory.product\n const foundItem = inventory.reusablePallet\n ? orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId &&\n item.pallet === inventory.reusablePallet.name\n )\n : orderItems.filter(\n (item: any) =>\n item.productName === `${product.name} (${product.description})` &&\n item.batchId === orderInventory.batchId\n )\n if (foundItem[0].remark !== '') orderInventory.remark = foundItem[0].remark\n return orderInventory\n })\n await tx.getRepository(OrderInventory).save(orderInventories)\n\n let transportDriver: TransportDriver = null\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.ownDriver) {\n transportDriver = await tx.getRepository(TransportDriver).findOne({\n where: { domain, name: orderInfo.ownDriver }\n })\n }\n\n if (orderInfo?.ownTruck) {\n transportVehicle = await tx.getRepository(TransportVehicle).findOne({\n where: { domain, name: orderInfo.ownTruck }\n })\n\n await tx.getRepository(TransportVehicle).save({\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n })\n }\n\n if (foundDeliveryOrder.status === ORDER_STATUS.READY_TO_DISPATCH) {\n // update status to DELIVERING if current status is READY_TO_DISPATCH\n deliveryOrderStatus = ORDER_STATUS.DELIVERING\n }\n\n await tx.getRepository(DeliveryOrder).save({\n ...foundDeliveryOrder,\n transportDriver,\n transportVehicle,\n otherDriver: orderInfo?.otherDriver || null,\n truckNo: orderInfo?.otherTruck || orderInfo?.ownTruck,\n to: foundDeliveryOrder.bizplace.address,\n deliveryDate: orderInfo.deliveryDate,\n remark: orderInfo.remark,\n status: deliveryOrderStatus,\n reusablePallet: orderInfo.reusablePallet,\n updater: user\n })\n\n return foundDeliveryOrder\n } catch (e) {\n throw e\n }\n return\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async rejectDeliveryOrder(\n @Arg('name') name: string,\n @Arg('patch', type => DeliveryOrderPatch) patch: DeliveryOrderPatch,\n @Ctx() context: any\n ): Promise<DeliveryOrder> {\n try {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const deliveryOrder: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name }\n })\n\n if (!deliveryOrder) throw new Error(`Delivery order doesn't exists.`)\n if (deliveryOrder.status !== ORDER_STATUS.PENDING_RECEIVE) throw new Error(`Status is not receivable.`)\n\n await tx.getRepository(DeliveryOrder).save({\n ...deliveryOrder,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n updater: user\n })\n\n return deliveryOrder\n } catch (e) {\n throw e\n }\n }\n\n @Directive('@transaction')\n @Mutation(returns => DeliveryOrder)\n async submitGoodsDeliveryNote(\n @Ctx() context: any,\n @Arg('name') name: string,\n @Arg('file', type => GraphQLUpload, { nullable: true }) file?: FileUpload\n ): Promise<DeliveryOrder> {\n const { tx, domain, user }: { tx: EntityManager; domain: Domain; user: User } = context.state\n\n const foundDO: DeliveryOrder = await tx.getRepository(DeliveryOrder).findOne({\n where: { domain, name },\n relations: ['bizplace']\n })\n\n if (!foundDO) throw new Error(`DO doesn't exists.`)\n\n const foundAttachment: Attachment = await tx.getRepository(Attachment).findOne({\n where: { domain, refBy: foundDO.id }\n })\n\n const attachment = {\n refType: 'DO',\n refBy: foundDO.id,\n file: file,\n category: 'DO' /* TODO use refType */\n }\n\n if (!foundAttachment) {\n await createAttachment(null, { attachment }, context)\n } else {\n const id = foundAttachment.id\n await deleteAttachment(null, { id }, context)\n await createAttachment(null, { attachment }, context)\n }\n\n return await tx.getRepository(DeliveryOrder).save({\n ...foundDO,\n status: ORDER_STATUS.DONE,\n updater: user\n })\n }\n}\n\nexport async function createDeliveryOrder(\n orderInfo: any,\n customerBizplace: Bizplace,\n targetInventories: (OrderInventory | NewOrderInventory)[],\n file: FileUpload[],\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<DeliveryOrder> {\n const bizplaceRepo: Repository<Bizplace> = tx?.getRepository(Bizplace) || getRepository(Bizplace)\n const deliveryOrderRepo: Repository<DeliveryOrder> = tx?.getRepository(DeliveryOrder) || getRepository(DeliveryOrder)\n const productRepo: Repository<Product> = tx?.getRepository(Product) || getRepository(Product)\n const transportVehicleRepo: Repository<TransportVehicle> =\n tx?.getRepository(TransportVehicle) || getRepository(TransportVehicle)\n const transportDriverRepo: Repository<TransportDriver> =\n tx?.getRepository(TransportDriver) || getRepository(TransportDriver)\n const orderInventoryRepo: Repository<OrderInventory> =\n tx?.getRepository(OrderInventory) || getRepository(OrderInventory)\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n const foundBizplace: Bizplace = await bizplaceRepo.findOne({\n where: {\n id: customerBizplace.id,\n name: customerBizplace.name\n }\n })\n\n if (!foundBizplace) throw new Error(`customer not found`)\n\n // #1 find order number setting and set as DO name\n const doNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain,\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n let orderNo: string = ''\n\n if (doNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.deliveryOrder()\n }\n\n // #2 update truck vehicle status to IN_USE (only if using warehouse truck)\n let transportVehicle: TransportVehicle = null\n let transportDriver: TransportDriver = null\n\n if (!orderInfo.ownCollection) {\n transportVehicle = await transportVehicleRepo.findOne({\n where: {\n domain,\n id: orderInfo.transportVehicle\n }\n })\n\n transportDriver = await transportDriverRepo.findOne({\n where: {\n domain,\n id: orderInfo.transportDriver\n }\n })\n\n transportVehicle = {\n ...transportVehicle,\n status: TRUCK_STATUS.IN_USE,\n updater: user\n }\n\n await transportVehicleRepo.save(transportVehicle)\n }\n\n // #3 save other destination info in Contact Point if there's any\n let foundCP: ContactPoint = {}\n if (orderInfo?.otherDestination) {\n foundCP = {\n domain,\n name: orderInfo.contactName,\n bizplace: foundBizplace,\n address: orderInfo.otherDestination,\n billingAddress: orderInfo.otherBillingAddress ? orderInfo.otherBillingAddress : orderInfo.otherDestination,\n phone: orderInfo.contactPhone || '-',\n email: orderInfo.contactEmail || '-',\n companyName: orderInfo.contactCompany || '-',\n type: orderInfo.contactType,\n creator: user,\n updater: user\n }\n foundCP = await tx.getRepository(ContactPoint).save(foundCP)\n } else {\n foundCP = await tx.getRepository(ContactPoint).findOne({\n where: { domain, id: orderInfo.contactPointRefId, bizplace: foundBizplace }\n })\n }\n\n // #4 save the delivery order info\n let totalPalletQty = 0\n targetInventories.forEach(oi => (totalPalletQty += oi.palletQty))\n\n let deliveryOrder: any = {\n domain,\n name: orderNo,\n refNo: orderInfo.refNo,\n bizplace: foundBizplace,\n deliveryDate: orderInfo.deliveryDate,\n ownCollection: orderInfo.ownCollection,\n truckNo: orderInfo.truckNo,\n palletQty: totalPalletQty,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n contactPointRefId: foundCP.id,\n remark: orderInfo.remark,\n transportDriver,\n transportVehicle,\n otherDriver: orderInfo.otherDriver,\n creator: user,\n updater: user\n }\n deliveryOrder = <DeliveryOrder>await deliveryOrderRepo.save(deliveryOrder)\n\n // #5 save order inventories\n targetInventories = await Promise.all(\n targetInventories.map(async (orderInventory: OrderInventory) => {\n const product: Product = await productRepo.findOne({\n where: {\n id: orderInventory.product.id\n }\n })\n\n if (!product) throw new Error(`product not found`)\n return {\n ...orderInventory,\n domain,\n product,\n name: OrderNoGenerator.orderInventory(),\n bizplace: foundBizplace,\n status: ORDER_INVENTORY_STATUS.READY_TO_DISPATCH,\n type: ORDER_TYPES.DELIVERY,\n deliveryOrder,\n creator: user,\n updater: user\n }\n })\n )\n await orderInventoryRepo.save(targetInventories)\n\n // if (file?.length) {\n // const attachments: Attachment[] = file.map(attachment => {\n // return {\n // file: attachment,\n // refType: ATTACHMENT_TYPE.GAN,\n // refBy: deliveryOrder.id,\n // category: ATTACHMENT_TYPE.GAN /* TODO use refType */\n // }\n // })\n // await createAttachments(_, { attachments }, context)\n // }\n\n return deliveryOrder\n}\n\nexport async function generateDeliveryOrder(\n orderInfo: DeliveryOrder | DeliveryOrderPatch,\n targetInventories: OrderInventory[],\n customerBizplace: Bizplace,\n releaseGood: ReleaseGood,\n domain: Domain,\n user: User,\n tx?: EntityManager\n): Promise<DeliveryOrder> {\n /**\n * 1. Validation for creating DO - data existing\n */\n const deliveryOrderRepo: Repository<DeliveryOrder> = tx?.getRepository(DeliveryOrder) || getRepository(DeliveryOrder)\n const transportVehicleRepo: Repository<TransportVehicle> =\n tx?.getRepository(TransportVehicle) || getRepository(TransportVehicle)\n const transportDriverRepo: Repository<TransportDriver> =\n tx?.getRepository(TransportDriver) || getRepository(TransportDriver)\n const orderInventoryRepo: Repository<OrderInventory> =\n tx?.getRepository(OrderInventory) || getRepository(OrderInventory)\n const settingRepo: Repository<Setting> = tx?.getRepository(Setting) || getRepository(Setting)\n\n let transportVehicle: TransportVehicle = null\n if (orderInfo?.truckNo) {\n transportVehicle = await transportVehicleRepo.findOne({\n where: { domain, name: orderInfo.truckNo }\n })\n }\n\n let transportDriver: TransportDriver = null\n if (orderInfo?.transportDriver) {\n transportDriver = await transportDriverRepo.findOne({\n where: { domain, id: orderInfo.transportDriver.id }\n })\n }\n\n const doNoSetting: Setting = await settingRepo.findOne({\n where: {\n domain,\n name: ORDER_NUMBER_SETTING_KEY.DO_NUMBER_RULE\n }\n })\n\n let orderNo: string = ''\n\n if (doNoSetting) {\n orderNo = await generateId({ domain, type: ORDER_NUMBER_RULE_TYPE.DO_NUMBER, seed: {} })\n } else {\n orderNo = OrderNoGenerator.deliveryOrder()\n }\n\n let deliveryOrder: any = {\n domain,\n name: orderNo,\n bizplace: customerBizplace,\n releaseGood,\n refNo: releaseGood.refNo,\n ownCollection: orderInfo.ownCollection,\n truckNo: orderInfo?.truckNo || null,\n palletQty: orderInfo?.palletQty || null,\n transportVehicle,\n transportDriver,\n status: ORDER_STATUS.READY_TO_DISPATCH,\n contactPointRefId: orderInfo?.contactPointRefId || null,\n creator: user,\n updater: user\n }\n\n deliveryOrder = <DeliveryOrder>await deliveryOrderRepo.save(deliveryOrder)\n\n targetInventories = targetInventories.map((targetInventory: OrderInventory) => {\n return {\n ...targetInventory,\n deliveryOrder,\n updater: user\n }\n })\n await orderInventoryRepo.save(targetInventories)\n\n return deliveryOrder\n}\n"]}
|