@congminh1254/shopee-sdk 0.10.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +172 -36
  2. package/lib/fetch.js +6 -0
  3. package/lib/fetch.js.map +1 -1
  4. package/lib/managers/add-on-deal.manager.d.ts +140 -0
  5. package/lib/managers/add-on-deal.manager.js +240 -0
  6. package/lib/managers/add-on-deal.manager.js.map +1 -0
  7. package/lib/managers/ads.manager.d.ts +217 -1
  8. package/lib/managers/ads.manager.js +312 -0
  9. package/lib/managers/ads.manager.js.map +1 -1
  10. package/lib/managers/bundle-deal.manager.d.ts +106 -0
  11. package/lib/managers/bundle-deal.manager.js +178 -0
  12. package/lib/managers/bundle-deal.manager.js.map +1 -0
  13. package/lib/managers/discount.manager.d.ts +102 -0
  14. package/lib/managers/discount.manager.js +167 -0
  15. package/lib/managers/discount.manager.js.map +1 -0
  16. package/lib/managers/fbs.manager.d.ts +115 -0
  17. package/lib/managers/fbs.manager.js +145 -0
  18. package/lib/managers/fbs.manager.js.map +1 -0
  19. package/lib/managers/first-mile.manager.d.ts +150 -0
  20. package/lib/managers/first-mile.manager.js +264 -0
  21. package/lib/managers/first-mile.manager.js.map +1 -0
  22. package/lib/managers/follow-prize.manager.d.ts +108 -0
  23. package/lib/managers/follow-prize.manager.js +152 -0
  24. package/lib/managers/follow-prize.manager.js.map +1 -0
  25. package/lib/managers/global-product.manager.d.ts +664 -0
  26. package/lib/managers/global-product.manager.js +904 -0
  27. package/lib/managers/global-product.manager.js.map +1 -0
  28. package/lib/managers/index.d.ts +17 -1
  29. package/lib/managers/index.js +17 -1
  30. package/lib/managers/index.js.map +1 -1
  31. package/lib/managers/livestream.manager.d.ts +377 -0
  32. package/lib/managers/livestream.manager.js +529 -0
  33. package/lib/managers/livestream.manager.js.map +1 -0
  34. package/lib/managers/logistics.manager.d.ts +267 -1
  35. package/lib/managers/logistics.manager.js +544 -0
  36. package/lib/managers/logistics.manager.js.map +1 -1
  37. package/lib/managers/media-space.manager.d.ts +179 -0
  38. package/lib/managers/media-space.manager.js +220 -0
  39. package/lib/managers/media-space.manager.js.map +1 -0
  40. package/lib/managers/media.manager.d.ts +226 -0
  41. package/lib/managers/media.manager.js +274 -0
  42. package/lib/managers/media.manager.js.map +1 -0
  43. package/lib/managers/merchant.manager.d.ts +100 -0
  44. package/lib/managers/merchant.manager.js +144 -0
  45. package/lib/managers/merchant.manager.js.map +1 -0
  46. package/lib/managers/order.manager.d.ts +213 -1
  47. package/lib/managers/order.manager.js +305 -0
  48. package/lib/managers/order.manager.js.map +1 -1
  49. package/lib/managers/payment.manager.d.ts +186 -1
  50. package/lib/managers/payment.manager.js +288 -0
  51. package/lib/managers/payment.manager.js.map +1 -1
  52. package/lib/managers/returns.manager.d.ts +200 -0
  53. package/lib/managers/returns.manager.js +300 -0
  54. package/lib/managers/returns.manager.js.map +1 -0
  55. package/lib/managers/sbs.manager.d.ts +112 -0
  56. package/lib/managers/sbs.manager.js +149 -0
  57. package/lib/managers/sbs.manager.js.map +1 -0
  58. package/lib/managers/shop-category.manager.d.ts +207 -0
  59. package/lib/managers/shop-category.manager.js +258 -0
  60. package/lib/managers/shop-category.manager.js.map +1 -0
  61. package/lib/managers/shop-flash-sale.manager.d.ts +242 -0
  62. package/lib/managers/shop-flash-sale.manager.js +321 -0
  63. package/lib/managers/shop-flash-sale.manager.js.map +1 -0
  64. package/lib/managers/shop.manager.d.ts +173 -0
  65. package/lib/managers/shop.manager.js +217 -0
  66. package/lib/managers/shop.manager.js.map +1 -0
  67. package/lib/managers/top-picks.manager.d.ts +62 -0
  68. package/lib/managers/top-picks.manager.js +91 -0
  69. package/lib/managers/top-picks.manager.js.map +1 -0
  70. package/lib/schemas/add-on-deal.d.ts +390 -0
  71. package/lib/schemas/add-on-deal.js +45 -0
  72. package/lib/schemas/add-on-deal.js.map +1 -0
  73. package/lib/schemas/ads.d.ts +437 -0
  74. package/lib/schemas/bundle-deal.d.ts +300 -0
  75. package/lib/schemas/bundle-deal.js +27 -0
  76. package/lib/schemas/bundle-deal.js.map +1 -0
  77. package/lib/schemas/discount.d.ts +334 -0
  78. package/lib/schemas/discount.js +15 -0
  79. package/lib/schemas/discount.js.map +1 -0
  80. package/lib/schemas/fbs.d.ts +117 -0
  81. package/lib/schemas/fbs.js +2 -0
  82. package/lib/schemas/fbs.js.map +1 -0
  83. package/lib/schemas/first-mile.d.ts +551 -0
  84. package/lib/schemas/first-mile.js +2 -0
  85. package/lib/schemas/first-mile.js.map +1 -0
  86. package/lib/schemas/follow-prize.d.ts +198 -0
  87. package/lib/schemas/follow-prize.js +27 -0
  88. package/lib/schemas/follow-prize.js.map +1 -0
  89. package/lib/schemas/global-product.d.ts +1127 -0
  90. package/lib/schemas/global-product.js +2 -0
  91. package/lib/schemas/global-product.js.map +1 -0
  92. package/lib/schemas/index.d.ts +13 -0
  93. package/lib/schemas/index.js +17 -0
  94. package/lib/schemas/index.js.map +1 -1
  95. package/lib/schemas/livestream.d.ts +649 -0
  96. package/lib/schemas/livestream.js +2 -0
  97. package/lib/schemas/livestream.js.map +1 -0
  98. package/lib/schemas/logistics.d.ts +979 -0
  99. package/lib/schemas/logistics.js +13 -0
  100. package/lib/schemas/logistics.js.map +1 -1
  101. package/lib/schemas/media-space.d.ts +189 -0
  102. package/lib/schemas/media-space.js +2 -0
  103. package/lib/schemas/media-space.js.map +1 -0
  104. package/lib/schemas/media.d.ts +230 -0
  105. package/lib/schemas/media.js +2 -0
  106. package/lib/schemas/media.js.map +1 -0
  107. package/lib/schemas/merchant.d.ts +236 -0
  108. package/lib/schemas/merchant.js +2 -0
  109. package/lib/schemas/merchant.js.map +1 -0
  110. package/lib/schemas/order.d.ts +431 -0
  111. package/lib/schemas/payment.d.ts +397 -0
  112. package/lib/schemas/returns.d.ts +632 -0
  113. package/lib/schemas/returns.js +63 -0
  114. package/lib/schemas/returns.js.map +1 -0
  115. package/lib/schemas/sbs.d.ts +484 -0
  116. package/lib/schemas/sbs.js +2 -0
  117. package/lib/schemas/sbs.js.map +1 -0
  118. package/lib/schemas/shop-category.d.ts +176 -0
  119. package/lib/schemas/shop-category.js +2 -0
  120. package/lib/schemas/shop-category.js.map +1 -0
  121. package/lib/schemas/shop-flash-sale.d.ts +473 -0
  122. package/lib/schemas/shop-flash-sale.js +43 -0
  123. package/lib/schemas/shop-flash-sale.js.map +1 -0
  124. package/lib/schemas/shop.d.ts +250 -0
  125. package/lib/schemas/shop.js +2 -0
  126. package/lib/schemas/shop.js.map +1 -0
  127. package/lib/schemas/top-picks.d.ts +99 -0
  128. package/lib/schemas/top-picks.js +2 -0
  129. package/lib/schemas/top-picks.js.map +1 -0
  130. package/lib/sdk.d.ts +34 -0
  131. package/lib/sdk.js +34 -0
  132. package/lib/sdk.js.map +1 -1
  133. package/lib/version.d.ts +1 -0
  134. package/lib/version.js +3 -0
  135. package/lib/version.js.map +1 -0
  136. package/package.json +4 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"first-mile.manager.js","sourceRoot":"","sources":["../../src/managers/first-mile.manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import { ShopeeConfig } from "../sdk.js";
2
+ import { BaseManager } from "./base.manager.js";
3
+ import { AddFollowPrizeParams, AddFollowPrizeResponse, DeleteFollowPrizeParams, DeleteFollowPrizeResponse, EndFollowPrizeParams, EndFollowPrizeResponse, GetFollowPrizeDetailParams, GetFollowPrizeDetailResponse, GetFollowPrizeListParams, GetFollowPrizeListResponse, UpdateFollowPrizeParams, UpdateFollowPrizeResponse } from "../schemas/follow-prize.js";
4
+ export declare class FollowPrizeManager extends BaseManager {
5
+ constructor(config: ShopeeConfig);
6
+ /**
7
+ * Add a new follow prize activity
8
+ * @param {AddFollowPrizeParams} params - Parameters for creating a new follow prize
9
+ * @returns {Promise<AddFollowPrizeResponse>} The response containing the created follow prize ID
10
+ *
11
+ * The follow prize allows shops to reward followers with vouchers when they follow the shop.
12
+ *
13
+ * @throws {Error} When the API request fails or returns an error
14
+ * - follow_prize.campaign_num_max_limit: Max number of follow prizes reached (1000 ongoing and upcoming)
15
+ * - follow_prize.campaign_overlap: Another follow prize already exists during this time period
16
+ * - follow_prize.name_length_limit: Please input up to 20 characters
17
+ * - follow_prize.percentage_RANGE: Please enter a value between 1 and 99
18
+ * - follow_prize.end_time_min_limit: End time must be at least 1 day after start time
19
+ * - follow_prize.quota_out_range: Please enter a value between 1 and 200000
20
+ * - follow_prize.start_time_min_limit: Start time must be later than current time
21
+ * - follow_prize.time_future_limit: Start/end time should not exceed 2037-12-31 23:59:59
22
+ */
23
+ addFollowPrize(params: AddFollowPrizeParams): Promise<AddFollowPrizeResponse>;
24
+ /**
25
+ * Delete an existing follow prize activity
26
+ * @param {DeleteFollowPrizeParams} params - Parameters for deleting a follow prize
27
+ * @returns {Promise<DeleteFollowPrizeResponse>} The response containing the deleted follow prize ID
28
+ *
29
+ * @throws {Error} When the API request fails or returns an error
30
+ * - follow_prize.campaign_none: The promotion id does not exist
31
+ * - follow_prize.delete_type: Only upcoming promotions can be deleted
32
+ */
33
+ deleteFollowPrize(params: DeleteFollowPrizeParams): Promise<DeleteFollowPrizeResponse>;
34
+ /**
35
+ * End an ongoing follow prize activity immediately
36
+ * @param {EndFollowPrizeParams} params - Parameters for ending a follow prize
37
+ * @returns {Promise<EndFollowPrizeResponse>} The response containing the ended follow prize ID
38
+ *
39
+ * @throws {Error} When the API request fails or returns an error
40
+ * - follow_prize.campaign_none: The promotion id does not exist
41
+ * - follow_prize.end_type: Only ongoing follow prizes can be ended
42
+ */
43
+ endFollowPrize(params: EndFollowPrizeParams): Promise<EndFollowPrizeResponse>;
44
+ /**
45
+ * Get detailed information about a follow prize activity
46
+ * @param {GetFollowPrizeDetailParams} params - Parameters for getting follow prize details
47
+ * @returns {Promise<GetFollowPrizeDetailResponse>} The response containing comprehensive follow prize information
48
+ *
49
+ * The response includes:
50
+ * - campaign_status: The status of the follow prize (upcoming/ongoing/expired)
51
+ * - campaign_id: The unique identifier for the follow prize
52
+ * - follow_prize_name: The name of the follow prize
53
+ * - start_time: When the follow prize becomes valid
54
+ * - end_time: When the follow prize expires
55
+ * - usage_quantity: The total quantity available
56
+ * - min_spend: Minimum basket price required
57
+ * - reward_type: Type of reward (1: fix amount, 2: percentage, 3: coin cash back)
58
+ * - discount_amount/percentage/max_price: Reward details based on reward_type
59
+ *
60
+ * @throws {Error} When the API request fails or returns an error
61
+ * - follow_prize.campaign_none: The promotion id does not exist
62
+ */
63
+ getFollowPrizeDetail(params: GetFollowPrizeDetailParams): Promise<GetFollowPrizeDetailResponse>;
64
+ /**
65
+ * Get a list of follow prize activities with pagination
66
+ * @param {GetFollowPrizeListParams} params - Parameters for retrieving follow prize list
67
+ * @param {FollowPrizeStatus} params.status - Filter by follow prize status (upcoming/ongoing/expired/all)
68
+ * @param {number} [params.page_no] - Page number to retrieve (default: 1)
69
+ * @param {number} [params.page_size] - Number of items per page (default: 20, max: 100)
70
+ * @returns {Promise<GetFollowPrizeListResponse>} The response containing a paginated list of follow prizes
71
+ *
72
+ * The response includes:
73
+ * - more: Boolean indicating if there are more pages
74
+ * - follow_prize_list: Array of follow prize information containing:
75
+ * - campaign_id: The unique identifier
76
+ * - campaign_status: Current status
77
+ * - follow_prize_name: Name of the follow prize
78
+ * - start_time/end_time: Validity period
79
+ * - usage_quantity: Total quantity
80
+ * - claimed: Quantity already claimed
81
+ */
82
+ getFollowPrizeList(params: GetFollowPrizeListParams): Promise<GetFollowPrizeListResponse>;
83
+ /**
84
+ * Update an existing follow prize activity
85
+ * @param {UpdateFollowPrizeParams} params - Parameters for updating a follow prize
86
+ * @returns {Promise<UpdateFollowPrizeResponse>} The response containing the updated follow prize ID
87
+ *
88
+ * Update restrictions:
89
+ * - Cannot rename ongoing follow prizes
90
+ * - Cannot update minimum basket price for ongoing follow prizes
91
+ * - Cannot update start time for ongoing follow prizes
92
+ * - Start time can only be changed to a later timing (for upcoming)
93
+ * - End time can only be changed to an earlier timing
94
+ * - Cannot reduce dispatch quantity
95
+ * - Cannot update expired follow prizes
96
+ *
97
+ * @throws {Error} When the API request fails or returns an error
98
+ * - follow_prize.campaign_none: The promotion id does not exist
99
+ * - follow_prize.update_expired_campaign: Cannot update expired follow prizes
100
+ * - follow_prize.update_prize_name_ongoing: Cannot rename ongoing follow prizes
101
+ * - follow_prize.update_min_spend_ongoing: Cannot update minimum basket price for ongoing
102
+ * - follow_prize.update_start_time_ongoing: Cannot update start time for ongoing
103
+ * - follow_prize.update_start_time_earlier: Start time can only be changed to later
104
+ * - follow_prize.update_end_time_later: End time can only be changed to earlier
105
+ * - follow_prize.update_quantity_reduce: Cannot reduce dispatch quantity
106
+ */
107
+ updateFollowPrize(params: UpdateFollowPrizeParams): Promise<UpdateFollowPrizeResponse>;
108
+ }
@@ -0,0 +1,152 @@
1
+ import { BaseManager } from "./base.manager.js";
2
+ import { ShopeeFetch } from "../fetch.js";
3
+ export class FollowPrizeManager extends BaseManager {
4
+ constructor(config) {
5
+ super(config);
6
+ }
7
+ /**
8
+ * Add a new follow prize activity
9
+ * @param {AddFollowPrizeParams} params - Parameters for creating a new follow prize
10
+ * @returns {Promise<AddFollowPrizeResponse>} The response containing the created follow prize ID
11
+ *
12
+ * The follow prize allows shops to reward followers with vouchers when they follow the shop.
13
+ *
14
+ * @throws {Error} When the API request fails or returns an error
15
+ * - follow_prize.campaign_num_max_limit: Max number of follow prizes reached (1000 ongoing and upcoming)
16
+ * - follow_prize.campaign_overlap: Another follow prize already exists during this time period
17
+ * - follow_prize.name_length_limit: Please input up to 20 characters
18
+ * - follow_prize.percentage_RANGE: Please enter a value between 1 and 99
19
+ * - follow_prize.end_time_min_limit: End time must be at least 1 day after start time
20
+ * - follow_prize.quota_out_range: Please enter a value between 1 and 200000
21
+ * - follow_prize.start_time_min_limit: Start time must be later than current time
22
+ * - follow_prize.time_future_limit: Start/end time should not exceed 2037-12-31 23:59:59
23
+ */
24
+ async addFollowPrize(params) {
25
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/add_follow_prize", {
26
+ method: "POST",
27
+ auth: true,
28
+ body: params,
29
+ });
30
+ return response;
31
+ }
32
+ /**
33
+ * Delete an existing follow prize activity
34
+ * @param {DeleteFollowPrizeParams} params - Parameters for deleting a follow prize
35
+ * @returns {Promise<DeleteFollowPrizeResponse>} The response containing the deleted follow prize ID
36
+ *
37
+ * @throws {Error} When the API request fails or returns an error
38
+ * - follow_prize.campaign_none: The promotion id does not exist
39
+ * - follow_prize.delete_type: Only upcoming promotions can be deleted
40
+ */
41
+ async deleteFollowPrize(params) {
42
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/delete_follow_prize", {
43
+ method: "POST",
44
+ auth: true,
45
+ body: params,
46
+ });
47
+ return response;
48
+ }
49
+ /**
50
+ * End an ongoing follow prize activity immediately
51
+ * @param {EndFollowPrizeParams} params - Parameters for ending a follow prize
52
+ * @returns {Promise<EndFollowPrizeResponse>} The response containing the ended follow prize ID
53
+ *
54
+ * @throws {Error} When the API request fails or returns an error
55
+ * - follow_prize.campaign_none: The promotion id does not exist
56
+ * - follow_prize.end_type: Only ongoing follow prizes can be ended
57
+ */
58
+ async endFollowPrize(params) {
59
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/end_follow_prize", {
60
+ method: "POST",
61
+ auth: true,
62
+ body: params,
63
+ });
64
+ return response;
65
+ }
66
+ /**
67
+ * Get detailed information about a follow prize activity
68
+ * @param {GetFollowPrizeDetailParams} params - Parameters for getting follow prize details
69
+ * @returns {Promise<GetFollowPrizeDetailResponse>} The response containing comprehensive follow prize information
70
+ *
71
+ * The response includes:
72
+ * - campaign_status: The status of the follow prize (upcoming/ongoing/expired)
73
+ * - campaign_id: The unique identifier for the follow prize
74
+ * - follow_prize_name: The name of the follow prize
75
+ * - start_time: When the follow prize becomes valid
76
+ * - end_time: When the follow prize expires
77
+ * - usage_quantity: The total quantity available
78
+ * - min_spend: Minimum basket price required
79
+ * - reward_type: Type of reward (1: fix amount, 2: percentage, 3: coin cash back)
80
+ * - discount_amount/percentage/max_price: Reward details based on reward_type
81
+ *
82
+ * @throws {Error} When the API request fails or returns an error
83
+ * - follow_prize.campaign_none: The promotion id does not exist
84
+ */
85
+ async getFollowPrizeDetail(params) {
86
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/get_follow_prize_detail", {
87
+ method: "GET",
88
+ auth: true,
89
+ params,
90
+ });
91
+ return response;
92
+ }
93
+ /**
94
+ * Get a list of follow prize activities with pagination
95
+ * @param {GetFollowPrizeListParams} params - Parameters for retrieving follow prize list
96
+ * @param {FollowPrizeStatus} params.status - Filter by follow prize status (upcoming/ongoing/expired/all)
97
+ * @param {number} [params.page_no] - Page number to retrieve (default: 1)
98
+ * @param {number} [params.page_size] - Number of items per page (default: 20, max: 100)
99
+ * @returns {Promise<GetFollowPrizeListResponse>} The response containing a paginated list of follow prizes
100
+ *
101
+ * The response includes:
102
+ * - more: Boolean indicating if there are more pages
103
+ * - follow_prize_list: Array of follow prize information containing:
104
+ * - campaign_id: The unique identifier
105
+ * - campaign_status: Current status
106
+ * - follow_prize_name: Name of the follow prize
107
+ * - start_time/end_time: Validity period
108
+ * - usage_quantity: Total quantity
109
+ * - claimed: Quantity already claimed
110
+ */
111
+ async getFollowPrizeList(params) {
112
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/get_follow_prize_list", {
113
+ method: "GET",
114
+ auth: true,
115
+ params,
116
+ });
117
+ return response;
118
+ }
119
+ /**
120
+ * Update an existing follow prize activity
121
+ * @param {UpdateFollowPrizeParams} params - Parameters for updating a follow prize
122
+ * @returns {Promise<UpdateFollowPrizeResponse>} The response containing the updated follow prize ID
123
+ *
124
+ * Update restrictions:
125
+ * - Cannot rename ongoing follow prizes
126
+ * - Cannot update minimum basket price for ongoing follow prizes
127
+ * - Cannot update start time for ongoing follow prizes
128
+ * - Start time can only be changed to a later timing (for upcoming)
129
+ * - End time can only be changed to an earlier timing
130
+ * - Cannot reduce dispatch quantity
131
+ * - Cannot update expired follow prizes
132
+ *
133
+ * @throws {Error} When the API request fails or returns an error
134
+ * - follow_prize.campaign_none: The promotion id does not exist
135
+ * - follow_prize.update_expired_campaign: Cannot update expired follow prizes
136
+ * - follow_prize.update_prize_name_ongoing: Cannot rename ongoing follow prizes
137
+ * - follow_prize.update_min_spend_ongoing: Cannot update minimum basket price for ongoing
138
+ * - follow_prize.update_start_time_ongoing: Cannot update start time for ongoing
139
+ * - follow_prize.update_start_time_earlier: Start time can only be changed to later
140
+ * - follow_prize.update_end_time_later: End time can only be changed to earlier
141
+ * - follow_prize.update_quantity_reduce: Cannot reduce dispatch quantity
142
+ */
143
+ async updateFollowPrize(params) {
144
+ const response = await ShopeeFetch.fetch(this.config, "/follow_prize/update_follow_prize", {
145
+ method: "POST",
146
+ auth: true,
147
+ body: params,
148
+ });
149
+ return response;
150
+ }
151
+ }
152
+ //# sourceMappingURL=follow-prize.manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow-prize.manager.js","sourceRoot":"","sources":["../../src/managers/follow-prize.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAehD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,MAAoB;QAC9B,KAAK,CAAC,MAAM,CAAC,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,gCAAgC,EAChC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,mCAAmC,EACnC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,cAAc,CAAC,MAA4B;QAC/C,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,gCAAgC,EAChC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,oBAAoB,CACxB,MAAkC;QAElC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,uCAAuC,EACvC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM;SACP,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAgC;QACvD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,qCAAqC,EACrC;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI;YACV,MAAM;SACP,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QACrD,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,KAAK,CACtC,IAAI,CAAC,MAAM,EACX,mCAAmC,EACnC;YACE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,MAAM;SACb,CACF,CAAC;QAEF,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}