@flyteorg/flyteidl2 2.0.0-alpha10
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/flyteidl2/common/authorization_pb.ts +323 -0
- package/flyteidl2/common/identifier_pb.ts +423 -0
- package/flyteidl2/common/identity_pb.ts +205 -0
- package/flyteidl2/common/list_pb.ts +232 -0
- package/flyteidl2/common/policy_pb.ts +76 -0
- package/flyteidl2/common/role_pb.ts +161 -0
- package/flyteidl2/common/runtime_version_pb.ts +76 -0
- package/flyteidl2/core/artifact_id_pb.ts +400 -0
- package/flyteidl2/core/catalog_pb.ts +215 -0
- package/flyteidl2/core/execution_pb.ts +641 -0
- package/flyteidl2/core/identifier_pb.ts +237 -0
- package/flyteidl2/core/interface_pb.ts +187 -0
- package/flyteidl2/core/literals_pb.ts +673 -0
- package/flyteidl2/core/security_pb.ts +310 -0
- package/flyteidl2/core/tasks_pb.ts +1088 -0
- package/flyteidl2/core/types_pb.ts +592 -0
- package/flyteidl2/imagebuilder/definition_pb.ts +535 -0
- package/flyteidl2/imagebuilder/payload_pb.ts +62 -0
- package/flyteidl2/imagebuilder/service_pb.ts +30 -0
- package/flyteidl2/logs/dataplane/payload_pb.ts +396 -0
- package/flyteidl2/plugins/dask_pb.ts +109 -0
- package/flyteidl2/plugins/ray_pb.ts +189 -0
- package/flyteidl2/plugins/spark_pb.ts +145 -0
- package/flyteidl2/secret/definition_pb.ts +310 -0
- package/flyteidl2/secret/payload_pb.ts +266 -0
- package/flyteidl2/secret/secret_pb.ts +63 -0
- package/flyteidl2/task/common_pb.ts +319 -0
- package/flyteidl2/task/environment_pb.ts +36 -0
- package/flyteidl2/task/run_pb.ts +177 -0
- package/flyteidl2/task/task_definition_pb.ts +417 -0
- package/flyteidl2/task/task_service_pb.ts +248 -0
- package/flyteidl2/trigger/trigger_definition_pb.ts +283 -0
- package/flyteidl2/trigger/trigger_service_pb.ts +451 -0
- package/flyteidl2/workflow/queue_service_pb.ts +245 -0
- package/flyteidl2/workflow/run_definition_pb.ts +1192 -0
- package/flyteidl2/workflow/run_logs_service_pb.ts +106 -0
- package/flyteidl2/workflow/run_service_pb.ts +870 -0
- package/flyteidl2/workflow/state_service_pb.ts +310 -0
- package/flyteidl2/workflow/translator_service_pb.ts +174 -0
- package/package.json +18 -0
|
@@ -0,0 +1,323 @@
|
|
|
1
|
+
// @generated by protoc-gen-es v2.2.5 with parameter "target=ts,import_extension=.ts"
|
|
2
|
+
// @generated from file flyteidl2/common/authorization.proto (package flyteidl2.common, syntax proto3)
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
|
|
6
|
+
import { enumDesc, fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
|
|
7
|
+
import { file_buf_validate_validate } from "../../buf/validate/validate_pb.ts";
|
|
8
|
+
import type { ClusterIdentifier } from "./identifier_pb.ts";
|
|
9
|
+
import { file_flyteidl2_common_identifier } from "./identifier_pb.ts";
|
|
10
|
+
import type { Message } from "@bufbuild/protobuf";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Describes the file flyteidl2/common/authorization.proto.
|
|
14
|
+
*/
|
|
15
|
+
export const file_flyteidl2_common_authorization: GenFile = /*@__PURE__*/
|
|
16
|
+
fileDesc("CiRmbHl0ZWlkbDIvY29tbW9uL2F1dGhvcml6YXRpb24ucHJvdG8SEGZseXRlaWRsMi5jb21tb24iJQoMT3JnYW5pemF0aW9uEhUKBG5hbWUYASABKAlCB7pIBHICEAEiVAoGRG9tYWluEgwKBG5hbWUYASABKAkSPAoMb3JnYW5pemF0aW9uGAIgASgLMh4uZmx5dGVpZGwyLmNvbW1vbi5Pcmdhbml6YXRpb25CBrpIA8gBASJSCgdQcm9qZWN0EhUKBG5hbWUYASABKAlCB7pIBHICEAESMAoGZG9tYWluGAIgASgLMhguZmx5dGVpZGwyLmNvbW1vbi5Eb21haW5CBrpIA8gBASJVCghXb3JrZmxvdxIVCgRuYW1lGAEgASgJQge6SARyAhABEjIKB3Byb2plY3QYAiABKAsyGS5mbHl0ZWlkbDIuY29tbW9uLlByb2plY3RCBrpIA8gBASJXCgpMYXVuY2hQbGFuEhUKBG5hbWUYASABKAlCB7pIBHICEAESMgoHcHJvamVjdBgCIAEoCzIZLmZseXRlaWRsMi5jb21tb24uUHJvamVjdEIGukgDyAEBIsUCCghSZXNvdXJjZRI2Cgxvcmdhbml6YXRpb24YASABKAsyHi5mbHl0ZWlkbDIuY29tbW9uLk9yZ2FuaXphdGlvbkgAEioKBmRvbWFpbhgCIAEoCzIYLmZseXRlaWRsMi5jb21tb24uRG9tYWluSAASLAoHcHJvamVjdBgDIAEoCzIZLmZseXRlaWRsMi5jb21tb24uUHJvamVjdEgAEi4KCHdvcmtmbG93GAQgASgLMhouZmx5dGVpZGwyLmNvbW1vbi5Xb3JrZmxvd0gAEjMKC2xhdW5jaF9wbGFuGAUgASgLMhwuZmx5dGVpZGwyLmNvbW1vbi5MYXVuY2hQbGFuSAASNgoHY2x1c3RlchgGIAEoCzIjLmZseXRlaWRsMi5jb21tb24uQ2x1c3RlcklkZW50aWZpZXJIAEIKCghyZXNvdXJjZSJlCgpQZXJtaXNzaW9uEiwKCHJlc291cmNlGAEgASgLMhouZmx5dGVpZGwyLmNvbW1vbi5SZXNvdXJjZRIpCgdhY3Rpb25zGAIgAygOMhguZmx5dGVpZGwyLmNvbW1vbi5BY3Rpb24qlAQKBkFjdGlvbhIPCgtBQ1RJT05fTk9ORRAAEhUKDUFDVElPTl9DUkVBVEUQARoCCAESEwoLQUNUSU9OX1JFQUQQAhoCCAESFQoNQUNUSU9OX1VQREFURRADGgIIARIVCg1BQ1RJT05fREVMRVRFEAQaAggBEh8KG0FDVElPTl9WSUVXX0ZMWVRFX0lOVkVOVE9SWRAFEiAKHEFDVElPTl9WSUVXX0ZMWVRFX0VYRUNVVElPTlMQBhIjCh9BQ1RJT05fUkVHSVNURVJfRkxZVEVfSU5WRU5UT1JZEAcSIgoeQUNUSU9OX0NSRUFURV9GTFlURV9FWEVDVVRJT05TEAgSHQoZQUNUSU9OX0FETUlOSVNURVJfUFJPSkVDVBAJEh0KGUFDVElPTl9NQU5BR0VfUEVSTUlTU0lPTlMQChIdChlBQ1RJT05fQURNSU5JU1RFUl9BQ0NPVU5UEAsSGQoVQUNUSU9OX01BTkFHRV9DTFVTVEVSEAwSLAooQUNUSU9OX0VESVRfRVhFQ1VUSU9OX1JFTEFURURfQVRUUklCVVRFUxANEioKJkFDVElPTl9FRElUX0NMVVNURVJfUkVMQVRFRF9BVFRSSUJVVEVTEA4SIQodQUNUSU9OX0VESVRfVU5VU0VEX0FUVFJJQlVURVMQDxIeChpBQ1RJT05fU1VQUE9SVF9TWVNURU1fTE9HUxAQQsMBChRjb20uZmx5dGVpZGwyLmNvbW1vbkISQXV0aG9yaXphdGlvblByb3RvSAJQAVo0Z2l0aHViLmNvbS9mbHl0ZW9yZy9mbHl0ZS92Mi9nZW4vZ28vZmx5dGVpZGwyL2NvbW1vbqICA0ZDWKoCEEZseXRlaWRsMi5Db21tb27KAhBGbHl0ZWlkbDJcQ29tbW9u4gIcRmx5dGVpZGwyXENvbW1vblxHUEJNZXRhZGF0YeoCEUZseXRlaWRsMjo6Q29tbW9uYgZwcm90bzM", [file_buf_validate_validate, file_flyteidl2_common_identifier]);
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @generated from message flyteidl2.common.Organization
|
|
20
|
+
*/
|
|
21
|
+
export type Organization = Message<"flyteidl2.common.Organization"> & {
|
|
22
|
+
/**
|
|
23
|
+
* @generated from field: string name = 1;
|
|
24
|
+
*/
|
|
25
|
+
name: string;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Describes the message flyteidl2.common.Organization.
|
|
30
|
+
* Use `create(OrganizationSchema)` to create a new message.
|
|
31
|
+
*/
|
|
32
|
+
export const OrganizationSchema: GenMessage<Organization> = /*@__PURE__*/
|
|
33
|
+
messageDesc(file_flyteidl2_common_authorization, 0);
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @generated from message flyteidl2.common.Domain
|
|
37
|
+
*/
|
|
38
|
+
export type Domain = Message<"flyteidl2.common.Domain"> & {
|
|
39
|
+
/**
|
|
40
|
+
* @generated from field: string name = 1;
|
|
41
|
+
*/
|
|
42
|
+
name: string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* @generated from field: flyteidl2.common.Organization organization = 2;
|
|
46
|
+
*/
|
|
47
|
+
organization?: Organization;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Describes the message flyteidl2.common.Domain.
|
|
52
|
+
* Use `create(DomainSchema)` to create a new message.
|
|
53
|
+
*/
|
|
54
|
+
export const DomainSchema: GenMessage<Domain> = /*@__PURE__*/
|
|
55
|
+
messageDesc(file_flyteidl2_common_authorization, 1);
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* @generated from message flyteidl2.common.Project
|
|
59
|
+
*/
|
|
60
|
+
export type Project = Message<"flyteidl2.common.Project"> & {
|
|
61
|
+
/**
|
|
62
|
+
* @generated from field: string name = 1;
|
|
63
|
+
*/
|
|
64
|
+
name: string;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* @generated from field: flyteidl2.common.Domain domain = 2;
|
|
68
|
+
*/
|
|
69
|
+
domain?: Domain;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Describes the message flyteidl2.common.Project.
|
|
74
|
+
* Use `create(ProjectSchema)` to create a new message.
|
|
75
|
+
*/
|
|
76
|
+
export const ProjectSchema: GenMessage<Project> = /*@__PURE__*/
|
|
77
|
+
messageDesc(file_flyteidl2_common_authorization, 2);
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* @generated from message flyteidl2.common.Workflow
|
|
81
|
+
*/
|
|
82
|
+
export type Workflow = Message<"flyteidl2.common.Workflow"> & {
|
|
83
|
+
/**
|
|
84
|
+
* @generated from field: string name = 1;
|
|
85
|
+
*/
|
|
86
|
+
name: string;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* @generated from field: flyteidl2.common.Project project = 2;
|
|
90
|
+
*/
|
|
91
|
+
project?: Project;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Describes the message flyteidl2.common.Workflow.
|
|
96
|
+
* Use `create(WorkflowSchema)` to create a new message.
|
|
97
|
+
*/
|
|
98
|
+
export const WorkflowSchema: GenMessage<Workflow> = /*@__PURE__*/
|
|
99
|
+
messageDesc(file_flyteidl2_common_authorization, 3);
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* @generated from message flyteidl2.common.LaunchPlan
|
|
103
|
+
*/
|
|
104
|
+
export type LaunchPlan = Message<"flyteidl2.common.LaunchPlan"> & {
|
|
105
|
+
/**
|
|
106
|
+
* @generated from field: string name = 1;
|
|
107
|
+
*/
|
|
108
|
+
name: string;
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* @generated from field: flyteidl2.common.Project project = 2;
|
|
112
|
+
*/
|
|
113
|
+
project?: Project;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Describes the message flyteidl2.common.LaunchPlan.
|
|
118
|
+
* Use `create(LaunchPlanSchema)` to create a new message.
|
|
119
|
+
*/
|
|
120
|
+
export const LaunchPlanSchema: GenMessage<LaunchPlan> = /*@__PURE__*/
|
|
121
|
+
messageDesc(file_flyteidl2_common_authorization, 4);
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* @generated from message flyteidl2.common.Resource
|
|
125
|
+
*/
|
|
126
|
+
export type Resource = Message<"flyteidl2.common.Resource"> & {
|
|
127
|
+
/**
|
|
128
|
+
* @generated from oneof flyteidl2.common.Resource.resource
|
|
129
|
+
*/
|
|
130
|
+
resource: {
|
|
131
|
+
/**
|
|
132
|
+
* @generated from field: flyteidl2.common.Organization organization = 1;
|
|
133
|
+
*/
|
|
134
|
+
value: Organization;
|
|
135
|
+
case: "organization";
|
|
136
|
+
} | {
|
|
137
|
+
/**
|
|
138
|
+
* @generated from field: flyteidl2.common.Domain domain = 2;
|
|
139
|
+
*/
|
|
140
|
+
value: Domain;
|
|
141
|
+
case: "domain";
|
|
142
|
+
} | {
|
|
143
|
+
/**
|
|
144
|
+
* @generated from field: flyteidl2.common.Project project = 3;
|
|
145
|
+
*/
|
|
146
|
+
value: Project;
|
|
147
|
+
case: "project";
|
|
148
|
+
} | {
|
|
149
|
+
/**
|
|
150
|
+
* @generated from field: flyteidl2.common.Workflow workflow = 4;
|
|
151
|
+
*/
|
|
152
|
+
value: Workflow;
|
|
153
|
+
case: "workflow";
|
|
154
|
+
} | {
|
|
155
|
+
/**
|
|
156
|
+
* @generated from field: flyteidl2.common.LaunchPlan launch_plan = 5;
|
|
157
|
+
*/
|
|
158
|
+
value: LaunchPlan;
|
|
159
|
+
case: "launchPlan";
|
|
160
|
+
} | {
|
|
161
|
+
/**
|
|
162
|
+
* @generated from field: flyteidl2.common.ClusterIdentifier cluster = 6;
|
|
163
|
+
*/
|
|
164
|
+
value: ClusterIdentifier;
|
|
165
|
+
case: "cluster";
|
|
166
|
+
} | { case: undefined; value?: undefined };
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Describes the message flyteidl2.common.Resource.
|
|
171
|
+
* Use `create(ResourceSchema)` to create a new message.
|
|
172
|
+
*/
|
|
173
|
+
export const ResourceSchema: GenMessage<Resource> = /*@__PURE__*/
|
|
174
|
+
messageDesc(file_flyteidl2_common_authorization, 5);
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Defines a set of allowed actions on a specific authorization resource.
|
|
178
|
+
*
|
|
179
|
+
* @generated from message flyteidl2.common.Permission
|
|
180
|
+
*/
|
|
181
|
+
export type Permission = Message<"flyteidl2.common.Permission"> & {
|
|
182
|
+
/**
|
|
183
|
+
* @generated from field: flyteidl2.common.Resource resource = 1;
|
|
184
|
+
*/
|
|
185
|
+
resource?: Resource;
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* @generated from field: repeated flyteidl2.common.Action actions = 2;
|
|
189
|
+
*/
|
|
190
|
+
actions: Action[];
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Describes the message flyteidl2.common.Permission.
|
|
195
|
+
* Use `create(PermissionSchema)` to create a new message.
|
|
196
|
+
*/
|
|
197
|
+
export const PermissionSchema: GenMessage<Permission> = /*@__PURE__*/
|
|
198
|
+
messageDesc(file_flyteidl2_common_authorization, 6);
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* @generated from enum flyteidl2.common.Action
|
|
202
|
+
*/
|
|
203
|
+
export enum Action {
|
|
204
|
+
/**
|
|
205
|
+
* @generated from enum value: ACTION_NONE = 0;
|
|
206
|
+
*/
|
|
207
|
+
NONE = 0,
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* @generated from enum value: ACTION_CREATE = 1 [deprecated = true];
|
|
211
|
+
* @deprecated
|
|
212
|
+
*/
|
|
213
|
+
CREATE = 1,
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* @generated from enum value: ACTION_READ = 2 [deprecated = true];
|
|
217
|
+
* @deprecated
|
|
218
|
+
*/
|
|
219
|
+
READ = 2,
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @generated from enum value: ACTION_UPDATE = 3 [deprecated = true];
|
|
223
|
+
* @deprecated
|
|
224
|
+
*/
|
|
225
|
+
UPDATE = 3,
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* @generated from enum value: ACTION_DELETE = 4 [deprecated = true];
|
|
229
|
+
* @deprecated
|
|
230
|
+
*/
|
|
231
|
+
DELETE = 4,
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Read Flyte workflows, tasks and launch plans
|
|
235
|
+
*
|
|
236
|
+
* @generated from enum value: ACTION_VIEW_FLYTE_INVENTORY = 5;
|
|
237
|
+
*/
|
|
238
|
+
VIEW_FLYTE_INVENTORY = 5,
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* View Flyte executions
|
|
242
|
+
*
|
|
243
|
+
* @generated from enum value: ACTION_VIEW_FLYTE_EXECUTIONS = 6;
|
|
244
|
+
*/
|
|
245
|
+
VIEW_FLYTE_EXECUTIONS = 6,
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Register new versions of Flyte workflows, tasks and launch plans
|
|
249
|
+
*
|
|
250
|
+
* @generated from enum value: ACTION_REGISTER_FLYTE_INVENTORY = 7;
|
|
251
|
+
*/
|
|
252
|
+
REGISTER_FLYTE_INVENTORY = 7,
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Create new Flyte workflow and task executions
|
|
256
|
+
*
|
|
257
|
+
* @generated from enum value: ACTION_CREATE_FLYTE_EXECUTIONS = 8;
|
|
258
|
+
*/
|
|
259
|
+
CREATE_FLYTE_EXECUTIONS = 8,
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Create new projects and update project descriptions
|
|
263
|
+
*
|
|
264
|
+
* @generated from enum value: ACTION_ADMINISTER_PROJECT = 9;
|
|
265
|
+
*/
|
|
266
|
+
ADMINISTER_PROJECT = 9,
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* Add users, roles and update role assignments.
|
|
270
|
+
*
|
|
271
|
+
* @generated from enum value: ACTION_MANAGE_PERMISSIONS = 10;
|
|
272
|
+
*/
|
|
273
|
+
MANAGE_PERMISSIONS = 10,
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Manage billing, account-wide settings
|
|
277
|
+
*
|
|
278
|
+
* @generated from enum value: ACTION_ADMINISTER_ACCOUNT = 11;
|
|
279
|
+
*/
|
|
280
|
+
ADMINISTER_ACCOUNT = 11,
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Operations for clusters
|
|
284
|
+
*
|
|
285
|
+
* @generated from enum value: ACTION_MANAGE_CLUSTER = 12;
|
|
286
|
+
*/
|
|
287
|
+
MANAGE_CLUSTER = 12,
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Edit execution related attributes, including TASK_RESOURCE, WORKFLOW_EXECUTION_CONFIG, and EXTERNAL_RESOURCE
|
|
291
|
+
*
|
|
292
|
+
* @generated from enum value: ACTION_EDIT_EXECUTION_RELATED_ATTRIBUTES = 13;
|
|
293
|
+
*/
|
|
294
|
+
EDIT_EXECUTION_RELATED_ATTRIBUTES = 13,
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* Edit cluster related attributes, including CLUSTER_RESOURCE and CLUSTER_ASSIGNMENT
|
|
298
|
+
*
|
|
299
|
+
* @generated from enum value: ACTION_EDIT_CLUSTER_RELATED_ATTRIBUTES = 14;
|
|
300
|
+
*/
|
|
301
|
+
EDIT_CLUSTER_RELATED_ATTRIBUTES = 14,
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Edit unused attributes, including EXECUTION_QUEUE, EXECUTION_CLUSTER_LABEL, QUALITY_OF_SERVICE_SPECIFICATION, and PLUGIN_OVERRIDE
|
|
305
|
+
*
|
|
306
|
+
* @generated from enum value: ACTION_EDIT_UNUSED_ATTRIBUTES = 15;
|
|
307
|
+
*/
|
|
308
|
+
EDIT_UNUSED_ATTRIBUTES = 15,
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* View system logs
|
|
312
|
+
*
|
|
313
|
+
* @generated from enum value: ACTION_SUPPORT_SYSTEM_LOGS = 16;
|
|
314
|
+
*/
|
|
315
|
+
SUPPORT_SYSTEM_LOGS = 16,
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Describes the enum flyteidl2.common.Action.
|
|
320
|
+
*/
|
|
321
|
+
export const ActionSchema: GenEnum<Action> = /*@__PURE__*/
|
|
322
|
+
enumDesc(file_flyteidl2_common_authorization, 0);
|
|
323
|
+
|