@projectqai/proto 0.0.50 → 0.0.51
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/world_pb.d.ts +292 -28
- package/dist/world_pb.js +113 -64
- package/package.json +1 -1
package/dist/world_pb.d.ts
CHANGED
|
@@ -139,37 +139,30 @@ export declare type Entity = Message<"world.Entity"> & {
|
|
|
139
139
|
*/
|
|
140
140
|
gnss?: GnssComponent;
|
|
141
141
|
|
|
142
|
-
/**
|
|
143
|
-
* experimental, dont use yet externally
|
|
144
|
-
*
|
|
145
|
-
* @generated from field: optional world.TaskableComponent taskable = 23;
|
|
146
|
-
*/
|
|
147
|
-
taskable?: TaskableComponent;
|
|
148
|
-
|
|
149
142
|
/**
|
|
150
143
|
* @generated from field: optional world.DeviceComponent device = 50;
|
|
151
144
|
*/
|
|
152
145
|
device?: DeviceComponent;
|
|
153
146
|
|
|
154
147
|
/**
|
|
155
|
-
* @generated from field: optional world.
|
|
148
|
+
* @generated from field: optional world.LinkComponent link = 32;
|
|
156
149
|
*/
|
|
157
|
-
|
|
150
|
+
link?: LinkComponent;
|
|
158
151
|
|
|
159
152
|
/**
|
|
160
|
-
* @generated from field: optional world.
|
|
153
|
+
* @generated from field: optional world.PoseComponent pose = 38;
|
|
161
154
|
*/
|
|
162
|
-
|
|
155
|
+
pose?: PoseComponent;
|
|
163
156
|
|
|
164
157
|
/**
|
|
165
|
-
* @generated from field: optional world.
|
|
158
|
+
* @generated from field: optional world.TargetPoseComponent target_pose = 62;
|
|
166
159
|
*/
|
|
167
|
-
|
|
160
|
+
targetPose?: TargetPoseComponent;
|
|
168
161
|
|
|
169
162
|
/**
|
|
170
|
-
* @generated from field: optional world.
|
|
163
|
+
* @generated from field: optional world.LocalShapeComponent local_shape = 29;
|
|
171
164
|
*/
|
|
172
|
-
|
|
165
|
+
localShape?: LocalShapeComponent;
|
|
173
166
|
|
|
174
167
|
/**
|
|
175
168
|
* @generated from field: optional world.MetricComponent metric = 36;
|
|
@@ -177,25 +170,37 @@ export declare type Entity = Message<"world.Entity"> & {
|
|
|
177
170
|
metric?: MetricComponent;
|
|
178
171
|
|
|
179
172
|
/**
|
|
180
|
-
* @generated from field: optional world.
|
|
173
|
+
* @generated from field: optional world.ConfigurationComponent config = 51;
|
|
181
174
|
*/
|
|
182
|
-
|
|
175
|
+
config?: ConfigurationComponent;
|
|
183
176
|
|
|
184
177
|
/**
|
|
185
|
-
* @generated from field: optional world.
|
|
178
|
+
* @generated from field: optional world.ConfigurableComponent configurable = 52;
|
|
186
179
|
*/
|
|
187
|
-
|
|
180
|
+
configurable?: ConfigurableComponent;
|
|
188
181
|
|
|
189
182
|
/**
|
|
190
|
-
*
|
|
183
|
+
* experimental, dont use yet externally
|
|
184
|
+
*
|
|
185
|
+
* @generated from field: optional world.TaskableComponent taskable = 23;
|
|
191
186
|
*/
|
|
192
|
-
|
|
187
|
+
taskable?: TaskableComponent;
|
|
193
188
|
|
|
194
189
|
/**
|
|
195
190
|
* @generated from field: optional world.TaskExecutionComponent task_execution = 41;
|
|
196
191
|
*/
|
|
197
192
|
taskExecution?: TaskExecutionComponent;
|
|
198
193
|
|
|
194
|
+
/**
|
|
195
|
+
* @generated from field: optional world.MissionComponent mission = 31;
|
|
196
|
+
*/
|
|
197
|
+
mission?: MissionComponent;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* @generated from field: optional world.SensorComponent sensor = 37;
|
|
201
|
+
*/
|
|
202
|
+
sensor?: SensorComponent;
|
|
203
|
+
|
|
199
204
|
/**
|
|
200
205
|
* @generated from field: optional world.InteractivityComponent interactivity = 60;
|
|
201
206
|
*/
|
|
@@ -206,11 +211,6 @@ export declare type Entity = Message<"world.Entity"> & {
|
|
|
206
211
|
*/
|
|
207
212
|
artifact?: ArtifactComponent;
|
|
208
213
|
|
|
209
|
-
/**
|
|
210
|
-
* @generated from field: optional world.TargetPoseComponent target_pose = 62;
|
|
211
|
-
*/
|
|
212
|
-
targetPose?: TargetPoseComponent;
|
|
213
|
-
|
|
214
214
|
/**
|
|
215
215
|
* @generated from field: optional world.ChatComponent chat = 39;
|
|
216
216
|
*/
|
|
@@ -220,6 +220,11 @@ export declare type Entity = Message<"world.Entity"> & {
|
|
|
220
220
|
* @generated from field: optional world.AssemblyComponent assembly = 40;
|
|
221
221
|
*/
|
|
222
222
|
assembly?: AssemblyComponent;
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* @generated from field: optional world.MapLayerComponent map_layer = 63;
|
|
226
|
+
*/
|
|
227
|
+
mapLayer?: MapLayerComponent;
|
|
223
228
|
};
|
|
224
229
|
|
|
225
230
|
/**
|
|
@@ -1130,14 +1135,55 @@ export declare type TaskableAssignee = Message<"world.TaskableAssignee"> & {
|
|
|
1130
1135
|
*/
|
|
1131
1136
|
export declare const TaskableAssigneeSchema: GenMessage<TaskableAssignee>;
|
|
1132
1137
|
|
|
1138
|
+
/**
|
|
1139
|
+
* @generated from message world.TaskableTarget
|
|
1140
|
+
*/
|
|
1141
|
+
export declare type TaskableTarget = Message<"world.TaskableTarget"> & {
|
|
1142
|
+
/**
|
|
1143
|
+
* if set, the task prefers entities in this list as target.
|
|
1144
|
+
*
|
|
1145
|
+
* @generated from field: optional world.EntityFilter filter = 1;
|
|
1146
|
+
*/
|
|
1147
|
+
filter?: EntityFilter;
|
|
1148
|
+
|
|
1149
|
+
/**
|
|
1150
|
+
* if set, the task prefers entities (or positions) that are inside the geo regions defined by these entities
|
|
1151
|
+
*
|
|
1152
|
+
* @generated from field: repeated string within = 2;
|
|
1153
|
+
*/
|
|
1154
|
+
within: string[];
|
|
1155
|
+
|
|
1156
|
+
/**
|
|
1157
|
+
* maximum number of targets per execution. default = 1
|
|
1158
|
+
*
|
|
1159
|
+
* @generated from field: optional uint32 max_targets = 3;
|
|
1160
|
+
*/
|
|
1161
|
+
maxTargets?: number;
|
|
1162
|
+
|
|
1163
|
+
/**
|
|
1164
|
+
* if set, the task accepts an arbitrary geo position
|
|
1165
|
+
*
|
|
1166
|
+
* @generated from field: optional bool position = 4;
|
|
1167
|
+
*/
|
|
1168
|
+
position?: boolean;
|
|
1169
|
+
};
|
|
1170
|
+
|
|
1171
|
+
/**
|
|
1172
|
+
* Describes the message world.TaskableTarget.
|
|
1173
|
+
* Use `create(TaskableTargetSchema)` to create a new message.
|
|
1174
|
+
*/
|
|
1175
|
+
export declare const TaskableTargetSchema: GenMessage<TaskableTarget>;
|
|
1176
|
+
|
|
1133
1177
|
/**
|
|
1134
1178
|
* @generated from message world.TaskableComponent
|
|
1135
1179
|
*/
|
|
1136
1180
|
export declare type TaskableComponent = Message<"world.TaskableComponent"> & {
|
|
1137
1181
|
/**
|
|
1138
|
-
*
|
|
1182
|
+
* priority for which task should be shown first. higher = more important
|
|
1183
|
+
*
|
|
1184
|
+
* @generated from field: optional uint32 priority = 1;
|
|
1139
1185
|
*/
|
|
1140
|
-
|
|
1186
|
+
priority?: number;
|
|
1141
1187
|
|
|
1142
1188
|
/**
|
|
1143
1189
|
* @generated from field: optional string label = 2;
|
|
@@ -1163,6 +1209,40 @@ export declare type TaskableComponent = Message<"world.TaskableComponent"> & {
|
|
|
1163
1209
|
* @generated from field: world.TaskableMode mode = 6;
|
|
1164
1210
|
*/
|
|
1165
1211
|
mode: TaskableMode;
|
|
1212
|
+
|
|
1213
|
+
/**
|
|
1214
|
+
* @generated from field: optional world.TaskableTarget target = 7;
|
|
1215
|
+
*/
|
|
1216
|
+
target?: TaskableTarget;
|
|
1217
|
+
|
|
1218
|
+
/**
|
|
1219
|
+
* @generated from field: optional string icon = 8;
|
|
1220
|
+
*/
|
|
1221
|
+
icon?: string;
|
|
1222
|
+
|
|
1223
|
+
/**
|
|
1224
|
+
* a human or LLM readable description of the effect this task will have.
|
|
1225
|
+
* similar to llm tool descriptions, i.e. "power up the sensor", "closes the entry gate"
|
|
1226
|
+
*
|
|
1227
|
+
* @generated from field: optional string effect = 9;
|
|
1228
|
+
*/
|
|
1229
|
+
effect?: string;
|
|
1230
|
+
|
|
1231
|
+
/**
|
|
1232
|
+
* this can be used by task providers to emit multiple alternative options of the same task ranked by priority
|
|
1233
|
+
* for example [ {grouping: target.gate, assignee: camera1, grouping_priority: 1000 } ,
|
|
1234
|
+
* {grouping: target.gate, assignee: camera2, grouping_priority:1001 }]
|
|
1235
|
+
* would show only the camera thats closer or less busy as option first _after_ determining if the task is shown at all
|
|
1236
|
+
* a ui might also decide to display all alternatives.
|
|
1237
|
+
*
|
|
1238
|
+
* @generated from field: optional string grouping = 10;
|
|
1239
|
+
*/
|
|
1240
|
+
grouping?: string;
|
|
1241
|
+
|
|
1242
|
+
/**
|
|
1243
|
+
* @generated from field: optional uint32 grouping_priority = 11;
|
|
1244
|
+
*/
|
|
1245
|
+
groupingPriority?: number;
|
|
1166
1246
|
};
|
|
1167
1247
|
|
|
1168
1248
|
/**
|
|
@@ -1176,6 +1256,27 @@ export declare const TaskableComponentSchema: GenMessage<TaskableComponent>;
|
|
|
1176
1256
|
* Created by RunTask, referencing a TaskableComponent entity as the definition.
|
|
1177
1257
|
* The controller that owns the taskable watches for these and executes them.
|
|
1178
1258
|
*
|
|
1259
|
+
* @generated from message world.TaskExecutionTarget
|
|
1260
|
+
*/
|
|
1261
|
+
export declare type TaskExecutionTarget = Message<"world.TaskExecutionTarget"> & {
|
|
1262
|
+
/**
|
|
1263
|
+
* @generated from field: repeated string entity = 1;
|
|
1264
|
+
*/
|
|
1265
|
+
entity: string[];
|
|
1266
|
+
|
|
1267
|
+
/**
|
|
1268
|
+
* @generated from field: optional world.Geometry position = 2;
|
|
1269
|
+
*/
|
|
1270
|
+
position?: Geometry;
|
|
1271
|
+
};
|
|
1272
|
+
|
|
1273
|
+
/**
|
|
1274
|
+
* Describes the message world.TaskExecutionTarget.
|
|
1275
|
+
* Use `create(TaskExecutionTargetSchema)` to create a new message.
|
|
1276
|
+
*/
|
|
1277
|
+
export declare const TaskExecutionTargetSchema: GenMessage<TaskExecutionTarget>;
|
|
1278
|
+
|
|
1279
|
+
/**
|
|
1179
1280
|
* @generated from message world.TaskExecutionComponent
|
|
1180
1281
|
*/
|
|
1181
1282
|
export declare type TaskExecutionComponent = Message<"world.TaskExecutionComponent"> & {
|
|
@@ -1213,6 +1314,11 @@ export declare type TaskExecutionComponent = Message<"world.TaskExecutionCompone
|
|
|
1213
1314
|
* @generated from field: optional uint32 priority = 5;
|
|
1214
1315
|
*/
|
|
1215
1316
|
priority?: number;
|
|
1317
|
+
|
|
1318
|
+
/**
|
|
1319
|
+
* @generated from field: optional world.TaskExecutionTarget target = 6;
|
|
1320
|
+
*/
|
|
1321
|
+
target?: TaskExecutionTarget;
|
|
1216
1322
|
};
|
|
1217
1323
|
|
|
1218
1324
|
/**
|
|
@@ -2370,6 +2476,102 @@ export declare type AssemblyComponent = Message<"world.AssemblyComponent"> & {
|
|
|
2370
2476
|
*/
|
|
2371
2477
|
export declare const AssemblyComponentSchema: GenMessage<AssemblyComponent>;
|
|
2372
2478
|
|
|
2479
|
+
/**
|
|
2480
|
+
* Toggleable overlays over the base map
|
|
2481
|
+
*
|
|
2482
|
+
* @generated from message world.MapLayerComponent
|
|
2483
|
+
*/
|
|
2484
|
+
export declare type MapLayerComponent = Message<"world.MapLayerComponent"> & {
|
|
2485
|
+
/**
|
|
2486
|
+
* @generated from field: int32 z_index = 1;
|
|
2487
|
+
*/
|
|
2488
|
+
zIndex: number;
|
|
2489
|
+
|
|
2490
|
+
/**
|
|
2491
|
+
* @generated from field: float opacity = 2;
|
|
2492
|
+
*/
|
|
2493
|
+
opacity: number;
|
|
2494
|
+
|
|
2495
|
+
/**
|
|
2496
|
+
* @generated from oneof world.MapLayerComponent.source
|
|
2497
|
+
*/
|
|
2498
|
+
source: {
|
|
2499
|
+
/**
|
|
2500
|
+
* @generated from field: world.MapLayerComponent.Tile tiles = 10;
|
|
2501
|
+
*/
|
|
2502
|
+
value: MapLayerComponent_Tile;
|
|
2503
|
+
case: "tiles";
|
|
2504
|
+
} | {
|
|
2505
|
+
/**
|
|
2506
|
+
* @generated from field: world.MapLayerComponent.Image image = 11;
|
|
2507
|
+
*/
|
|
2508
|
+
value: MapLayerComponent_Image;
|
|
2509
|
+
case: "image";
|
|
2510
|
+
} | { case: undefined; value?: undefined };
|
|
2511
|
+
};
|
|
2512
|
+
|
|
2513
|
+
/**
|
|
2514
|
+
* Describes the message world.MapLayerComponent.
|
|
2515
|
+
* Use `create(MapLayerComponentSchema)` to create a new message.
|
|
2516
|
+
*/
|
|
2517
|
+
export declare const MapLayerComponentSchema: GenMessage<MapLayerComponent>;
|
|
2518
|
+
|
|
2519
|
+
/**
|
|
2520
|
+
* XYZ tile template e.g. "https://.../{z}/{x}/{y}.png"
|
|
2521
|
+
*
|
|
2522
|
+
* @generated from message world.MapLayerComponent.Tile
|
|
2523
|
+
*/
|
|
2524
|
+
export declare type MapLayerComponent_Tile = Message<"world.MapLayerComponent.Tile"> & {
|
|
2525
|
+
/**
|
|
2526
|
+
* @generated from field: string url = 1;
|
|
2527
|
+
*/
|
|
2528
|
+
url: string;
|
|
2529
|
+
};
|
|
2530
|
+
|
|
2531
|
+
/**
|
|
2532
|
+
* Describes the message world.MapLayerComponent.Tile.
|
|
2533
|
+
* Use `create(MapLayerComponent_TileSchema)` to create a new message.
|
|
2534
|
+
*/
|
|
2535
|
+
export declare const MapLayerComponent_TileSchema: GenMessage<MapLayerComponent_Tile>;
|
|
2536
|
+
|
|
2537
|
+
/**
|
|
2538
|
+
* single bitmap covering [west, south, east, north] in WGS84.
|
|
2539
|
+
*
|
|
2540
|
+
* @generated from message world.MapLayerComponent.Image
|
|
2541
|
+
*/
|
|
2542
|
+
export declare type MapLayerComponent_Image = Message<"world.MapLayerComponent.Image"> & {
|
|
2543
|
+
/**
|
|
2544
|
+
* @generated from field: string url = 1;
|
|
2545
|
+
*/
|
|
2546
|
+
url: string;
|
|
2547
|
+
|
|
2548
|
+
/**
|
|
2549
|
+
* @generated from field: double west = 2;
|
|
2550
|
+
*/
|
|
2551
|
+
west: number;
|
|
2552
|
+
|
|
2553
|
+
/**
|
|
2554
|
+
* @generated from field: double south = 3;
|
|
2555
|
+
*/
|
|
2556
|
+
south: number;
|
|
2557
|
+
|
|
2558
|
+
/**
|
|
2559
|
+
* @generated from field: double east = 4;
|
|
2560
|
+
*/
|
|
2561
|
+
east: number;
|
|
2562
|
+
|
|
2563
|
+
/**
|
|
2564
|
+
* @generated from field: double north = 5;
|
|
2565
|
+
*/
|
|
2566
|
+
north: number;
|
|
2567
|
+
};
|
|
2568
|
+
|
|
2569
|
+
/**
|
|
2570
|
+
* Describes the message world.MapLayerComponent.Image.
|
|
2571
|
+
* Use `create(MapLayerComponent_ImageSchema)` to create a new message.
|
|
2572
|
+
*/
|
|
2573
|
+
export declare const MapLayerComponent_ImageSchema: GenMessage<MapLayerComponent_Image>;
|
|
2574
|
+
|
|
2373
2575
|
/**
|
|
2374
2576
|
* @generated from message world.EntityFilter
|
|
2375
2577
|
*/
|
|
@@ -3072,6 +3274,11 @@ export declare type RunTaskRequest = Message<"world.RunTaskRequest"> & {
|
|
|
3072
3274
|
* @generated from field: optional uint32 priority = 2;
|
|
3073
3275
|
*/
|
|
3074
3276
|
priority?: number;
|
|
3277
|
+
|
|
3278
|
+
/**
|
|
3279
|
+
* @generated from field: optional world.TaskExecutionTarget target = 6;
|
|
3280
|
+
*/
|
|
3281
|
+
target?: TaskExecutionTarget;
|
|
3075
3282
|
};
|
|
3076
3283
|
|
|
3077
3284
|
/**
|
|
@@ -3134,6 +3341,48 @@ export declare type HardResetResponse = Message<"world.HardResetResponse"> & {
|
|
|
3134
3341
|
*/
|
|
3135
3342
|
export declare const HardResetResponseSchema: GenMessage<HardResetResponse>;
|
|
3136
3343
|
|
|
3344
|
+
/**
|
|
3345
|
+
* @generated from message world.TimeSyncRequest
|
|
3346
|
+
*/
|
|
3347
|
+
export declare type TimeSyncRequest = Message<"world.TimeSyncRequest"> & {
|
|
3348
|
+
/**
|
|
3349
|
+
* @generated from field: google.protobuf.Timestamp t1 = 1;
|
|
3350
|
+
*/
|
|
3351
|
+
t1?: Timestamp;
|
|
3352
|
+
};
|
|
3353
|
+
|
|
3354
|
+
/**
|
|
3355
|
+
* Describes the message world.TimeSyncRequest.
|
|
3356
|
+
* Use `create(TimeSyncRequestSchema)` to create a new message.
|
|
3357
|
+
*/
|
|
3358
|
+
export declare const TimeSyncRequestSchema: GenMessage<TimeSyncRequest>;
|
|
3359
|
+
|
|
3360
|
+
/**
|
|
3361
|
+
* @generated from message world.TimeSyncResponse
|
|
3362
|
+
*/
|
|
3363
|
+
export declare type TimeSyncResponse = Message<"world.TimeSyncResponse"> & {
|
|
3364
|
+
/**
|
|
3365
|
+
* @generated from field: google.protobuf.Timestamp t1 = 1;
|
|
3366
|
+
*/
|
|
3367
|
+
t1?: Timestamp;
|
|
3368
|
+
|
|
3369
|
+
/**
|
|
3370
|
+
* @generated from field: google.protobuf.Timestamp t2 = 2;
|
|
3371
|
+
*/
|
|
3372
|
+
t2?: Timestamp;
|
|
3373
|
+
|
|
3374
|
+
/**
|
|
3375
|
+
* @generated from field: google.protobuf.Timestamp t3 = 3;
|
|
3376
|
+
*/
|
|
3377
|
+
t3?: Timestamp;
|
|
3378
|
+
};
|
|
3379
|
+
|
|
3380
|
+
/**
|
|
3381
|
+
* Describes the message world.TimeSyncResponse.
|
|
3382
|
+
* Use `create(TimeSyncResponseSchema)` to create a new message.
|
|
3383
|
+
*/
|
|
3384
|
+
export declare const TimeSyncResponseSchema: GenMessage<TimeSyncResponse>;
|
|
3385
|
+
|
|
3137
3386
|
/**
|
|
3138
3387
|
* @generated from enum world.Priority
|
|
3139
3388
|
*/
|
|
@@ -4075,6 +4324,11 @@ export enum EntityComponent {
|
|
|
4075
4324
|
* @generated from enum value: EntityComponentTargetPose = 62;
|
|
4076
4325
|
*/
|
|
4077
4326
|
EntityComponentTargetPose = 62,
|
|
4327
|
+
|
|
4328
|
+
/**
|
|
4329
|
+
* @generated from enum value: EntityComponentMapLayer = 63;
|
|
4330
|
+
*/
|
|
4331
|
+
EntityComponentMapLayer = 63,
|
|
4078
4332
|
}
|
|
4079
4333
|
|
|
4080
4334
|
/**
|
|
@@ -4198,5 +4452,15 @@ export declare const WorldService: GenService<{
|
|
|
4198
4452
|
input: typeof HardResetRequestSchema;
|
|
4199
4453
|
output: typeof HardResetResponseSchema;
|
|
4200
4454
|
},
|
|
4455
|
+
/**
|
|
4456
|
+
* NTP-style time synchronization for federation clock offset estimation
|
|
4457
|
+
*
|
|
4458
|
+
* @generated from rpc world.WorldService.TimeSync
|
|
4459
|
+
*/
|
|
4460
|
+
timeSync: {
|
|
4461
|
+
methodKind: "unary";
|
|
4462
|
+
input: typeof TimeSyncRequestSchema;
|
|
4463
|
+
output: typeof TimeSyncResponseSchema;
|
|
4464
|
+
},
|
|
4201
4465
|
}>;
|
|
4202
4466
|
|
package/dist/world_pb.js
CHANGED
|
@@ -11,7 +11,7 @@ import { file_metrics } from "./metrics_pb.js";
|
|
|
11
11
|
* Describes the file world.proto.
|
|
12
12
|
*/
|
|
13
13
|
export const file_world = /*@__PURE__*/
|
|
14
|
-
fileDesc("Cgt3b3JsZC5wcm90bxIFd29ybGQizRIKBkVudGl0eRIKCgJpZBgBIAEoCRISCgVsYWJlbBgCIAEoCUgAiAEBEioKCmNvbnRyb2xsZXIYAyABKAsyES53b3JsZC5Db250cm9sbGVySAGIAQESJgoIbGlmZXRpbWUYBCABKAsyDy53b3JsZC5MaWZldGltZUgCiAEBEiYKCHByaW9yaXR5GAUgASgOMg8ud29ybGQuUHJpb3JpdHlIA4gBARIgCgVsZWFzZRgGIAEoCzIMLndvcmxkLkxlYXNlSASIAQESJAoHcm91dGluZxgHIAEoCzIOLndvcmxkLlJvdXRpbmdIBYgBARIsCgNnZW8YCyABKAsyGi53b3JsZC5HZW9TcGF0aWFsQ29tcG9uZW50SAaIAQESKwoGc3ltYm9sGAwgASgLMhYud29ybGQuU3ltYm9sQ29tcG9uZW50SAeIAQESKwoGY2FtZXJhGA8gASgLMhYud29ybGQuQ2FtZXJhQ29tcG9uZW50SAiIAQESMQoJZGV0ZWN0aW9uGBAgASgLMhkud29ybGQuRGV0ZWN0aW9uQ29tcG9uZW50SAmIAQESLQoHYmVhcmluZxgRIAEoCzIXLndvcmxkLkJlYXJpbmdDb21wb25lbnRICogBARIpCgV0cmFjaxgVIAEoCzIVLndvcmxkLlRyYWNrQ29tcG9uZW50SAuIAQESLQoHbG9jYXRvchgWIAEoCzIXLndvcmxkLkxvY2F0b3JDb21wb25lbnRIDIgBARIzCgpraW5lbWF0aWNzGBggASgLMhoud29ybGQuS2luZW1hdGljc0NvbXBvbmVudEgNiAEBEiwKBXNoYXBlGBkgASgLMhgud29ybGQuR2VvU2hhcGVDb21wb25lbnRIDogBARI7Cg5jbGFzc2lmaWNhdGlvbhgaIAEoCzIeLndvcmxkLkNsYXNzaWZpY2F0aW9uQ29tcG9uZW50SA+IAQESNQoLdHJhbnNwb25kZXIYGyABKAsyGy53b3JsZC5UcmFuc3BvbmRlckNvbXBvbmVudEgQiAEBEjsKDmFkbWluaXN0cmF0aXZlGBwgASgLMh4ud29ybGQuQWRtaW5pc3RyYXRpdmVDb21wb25lbnRIEYgBARI1CgtvcmllbnRhdGlvbhgeIAEoCzIbLndvcmxkLk9yaWVudGF0aW9uQ29tcG9uZW50SBKIAQESMwoKbmF2aWdhdGlvbhgiIAEoCzIaLndvcmxkLk5hdmlnYXRpb25Db21wb25lbnRIE4gBARIpCgVwb3dlchghIAEoCzIVLndvcmxkLlBvd2VyQ29tcG9uZW50SBSIAQESLQoHY2FwdHVyZRgjIAEoCzIXLndvcmxkLkNhcHR1cmVDb21wb25lbnRIFYgBARInCgRnbnNzGCogASgLMhQud29ybGQuR25zc0NvbXBvbmVudEgWiAEBEi8KCHRhc2thYmxlGBcgASgLMhgud29ybGQuVGFza2FibGVDb21wb25lbnRIF4gBARIrCgZkZXZpY2UYMiABKAsyFi53b3JsZC5EZXZpY2VDb21wb25lbnRIGIgBARIyCgZjb25maWcYMyABKAsyHS53b3JsZC5Db25maWd1cmF0aW9uQ29tcG9uZW50SBmIAQESNwoMY29uZmlndXJhYmxlGDQgASgLMhwud29ybGQuQ29uZmlndXJhYmxlQ29tcG9uZW50SBqIAQESLQoHbWlzc2lvbhgfIAEoCzIXLndvcmxkLk1pc3Npb25Db21wb25lbnRIG4gBARInCgRsaW5rGCAgASgLMhQud29ybGQuTGlua0NvbXBvbmVudEgciAEBEisKBm1ldHJpYxgkIAEoCzIWLndvcmxkLk1ldHJpY0NvbXBvbmVudEgdiAEBEisKBnNlbnNvchglIAEoCzIWLndvcmxkLlNlbnNvckNvbXBvbmVudEgeiAEBEjQKC2xvY2FsX3NoYXBlGB0gASgLMhoud29ybGQuTG9jYWxTaGFwZUNvbXBvbmVudEgfiAEBEicKBHBvc2UYJiABKAsyFC53b3JsZC5Qb3NlQ29tcG9uZW50SCCIAQESOgoOdGFza19leGVjdXRpb24YKSABKAsyHS53b3JsZC5UYXNrRXhlY3V0aW9uQ29tcG9uZW50SCGIAQESOQoNaW50ZXJhY3Rpdml0eRg8IAEoCzIdLndvcmxkLkludGVyYWN0aXZpdHlDb21wb25lbnRIIogBARIvCghhcnRpZmFjdBg9IAEoCzIYLndvcmxkLkFydGlmYWN0Q29tcG9uZW50SCOIAQESNAoLdGFyZ2V0X3Bvc2UYPiABKAsyGi53b3JsZC5UYXJnZXRQb3NlQ29tcG9uZW50SCSIAQESJwoEY2hhdBgnIAEoCzIULndvcmxkLkNoYXRDb21wb25lbnRIJYgBARIvCghhc3NlbWJseRgoIAEoCzIYLndvcmxkLkFzc2VtYmx5Q29tcG9uZW50SCaIAQFCCAoGX2xhYmVsQg0KC19jb250cm9sbGVyQgsKCV9saWZldGltZUILCglfcHJpb3JpdHlCCAoGX2xlYXNlQgoKCF9yb3V0aW5nQgYKBF9nZW9CCQoHX3N5bWJvbEIJCgdfY2FtZXJhQgwKCl9kZXRlY3Rpb25CCgoIX2JlYXJpbmdCCAoGX3RyYWNrQgoKCF9sb2NhdG9yQg0KC19raW5lbWF0aWNzQggKBl9zaGFwZUIRCg9fY2xhc3NpZmljYXRpb25CDgoMX3RyYW5zcG9uZGVyQhEKD19hZG1pbmlzdHJhdGl2ZUIOCgxfb3JpZW50YXRpb25CDQoLX25hdmlnYXRpb25CCAoGX3Bvd2VyQgoKCF9jYXB0dXJlQgcKBV9nbnNzQgsKCV90YXNrYWJsZUIJCgdfZGV2aWNlQgkKB19jb25maWdCDwoNX2NvbmZpZ3VyYWJsZUIKCghfbWlzc2lvbkIHCgVfbGlua0IJCgdfbWV0cmljQgkKB19zZW5zb3JCDgoMX2xvY2FsX3NoYXBlQgcKBV9wb3NlQhEKD190YXNrX2V4ZWN1dGlvbkIQCg5faW50ZXJhY3Rpdml0eUILCglfYXJ0aWZhY3RCDgoMX3RhcmdldF9wb3NlQgcKBV9jaGF0QgsKCV9hc3NlbWJseUoECAgQCUoECAkQCkoECAoQCyJgCgpDb250cm9sbGVyEg8KAmlkGAEgASgJSACIAQESEQoEbm9kZRgCIAEoCUgBiAEBEhMKBm9yaWdpbhgDIAEoCUgCiAEBQgUKA19pZEIHCgVfbm9kZUIJCgdfb3JpZ2luIlkKBUxlYXNlEhIKCmNvbnRyb2xsZXIYASABKAkSMAoHZXhwaXJlcxgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIKCghfZXhwaXJlcyKvAgoITGlmZXRpbWUSLQoEZnJvbRgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBARIuCgV1bnRpbBgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAYgBARIuCgVmcmVzaBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBARIzCgpjb21wb25lbnRzGAQgAygLMh8ud29ybGQuTGlmZXRpbWUuQ29tcG9uZW50c0VudHJ5GkIKD0NvbXBvbmVudHNFbnRyeRILCgNrZXkYASABKAUSHgoFdmFsdWUYAiABKAsyDy53b3JsZC5MaWZldGltZToCOAFCBwoFX2Zyb21CCAoGX3VudGlsQggKBl9mcmVzaCIXCgdDaGFubmVsEgwKBG5hbWUYASABKAkiKwoHUm91dGluZxIgCghjaGFubmVscxgBIAMoCzIOLndvcmxkLkNoYW5uZWwinwEKE0dlb1NwYXRpYWxDb21wb25lbnQSEQoJbG9uZ2l0dWRlGAEgASgBEhAKCGxhdGl0dWRlGAIgASgBEhUKCGFsdGl0dWRlGAMgASgBSACIAQESMAoKY292YXJpYW5jZRgEIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhIAYgBAUILCglfYWx0aXR1ZGVCDQoLX2NvdmFyaWFuY2UihQIKDUduc3NDb21wb25lbnQSKQoIZml4X3R5cGUYASABKA4yEi53b3JsZC5HbnNzRml4VHlwZUgAiAEBEh8KEnNhdGVsbGl0ZXNfdmlzaWJsZRgCIAEoDUgBiAEBEhwKD3NhdGVsbGl0ZXNfdXNlZBgDIAEoDUgCiAEBEhEKBGhkb3AYBCABKAJIA4gBARIRCgR2ZG9wGAUgASgCSASIAQESEQoEcGRvcBgGIAEoAkgFiAEBQgsKCV9maXhfdHlwZUIVChNfc2F0ZWxsaXRlc192aXNpYmxlQhIKEF9zYXRlbGxpdGVzX3VzZWRCBwoFX2hkb3BCBwoFX3Zkb3BCBwoFX3Bkb3AiJgoPU3ltYm9sQ29tcG9uZW50EhMKC21pbFN0ZDI1MjVDGAEgASgJImIKFkludGVyYWN0aXZpdHlDb21wb25lbnQSEQoEaWNvbhgBIAEoCUgAiAEBEhoKDXJlZmVyZW5jZV91cmwYAyABKAlIAYgBAUIHCgVfaWNvbkIQCg5fcmVmZXJlbmNlX3VybCLKAQoLTWVkaWFTdHJlYW0SDQoFbGFiZWwYASABKAkSCwoDdXJsGAIgASgJEiwKCHByb3RvY29sGAMgASgOMhoud29ybGQuTWVkaWFTdHJlYW1Qcm90b2NvbBIkCgRyb2xlGAkgASgOMhYud29ybGQuTWVkaWFTdHJlYW1Sb2xlEg0KBWNvZGVjGAogASgJEhIKBXdpZHRoGAsgASgFSACIAQESEwoGaGVpZ2h0GAwgASgFSAGIAQFCCAoGX3dpZHRoQgkKB19oZWlnaHQijgIKD0NhbWVyYUNvbXBvbmVudBIjCgdzdHJlYW1zGAEgAygLMhIud29ybGQuTWVkaWFTdHJlYW0SGAoLZm9jYWxfcG9pbnQYAiABKAlIAIgBARIQCgNmb3YYAyABKAFIAYgBARIWCglyYW5nZV9taW4YBCABKAFIAogBARIWCglyYW5nZV9tYXgYBSABKAFIA4gBARIVCghmb3Zfd2lkZRgGIAEoAUgEiAEBEhUKCGZvdl90ZWxlGAcgASgBSAWIAQFCDgoMX2ZvY2FsX3BvaW50QgYKBF9mb3ZCDAoKX3JhbmdlX21pbkIMCgpfcmFuZ2VfbWF4QgsKCV9mb3Zfd2lkZUILCglfZm92X3RlbGUiHwoQQXJ0aWZhY3RMb2NhdGlvbhILCgN1cmwYASABKAkiqAEKEUFydGlmYWN0Q29tcG9uZW50EgoKAmlkGAEgASgJEhQKDGNvbnRlbnRfdHlwZRgCIAEoCRIpCghsb2NhdGlvbhgDIAMoCzIXLndvcmxkLkFydGlmYWN0TG9jYXRpb24SFwoKc2l6ZV9ieXRlcxgEIAEoA0gAiAEBEhMKBnNoYTI1NhgFIAEoCUgBiAEBQg0KC19zaXplX2J5dGVzQgkKB19zaGEyNTYi0gEKEkRldGVjdGlvbkNvbXBvbmVudBIdChBkZXRlY3RvckVudGl0eUlkGAEgASgJSACIAQESGwoOY2xhc3NpZmljYXRpb24YAiABKAlIAYgBARI1CgxsYXN0TWVhc3VyZWQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESEAoIZXZpZGVuY2UYBCADKAlCEwoRX2RldGVjdG9yRW50aXR5SWRCEQoPX2NsYXNzaWZpY2F0aW9uQg8KDV9sYXN0TWVhc3VyZWQiWgoQQmVhcmluZ0NvbXBvbmVudBIUCgdhemltdXRoGAEgASgBSACIAQESFgoJZWxldmF0aW9uGAIgASgBSAGIAQFCCgoIX2F6aW11dGhCDAoKX2VsZXZhdGlvbiIjCg9TZW5zb3JDb21wb25lbnQSEAoIY292ZXJhZ2UYAiADKAkiOAoKUXVhdGVybmlvbhIJCgF4GAEgASgBEgkKAXkYAiABKAESCQoBehgDIAEoARIJCgF3GAQgASgBIq4BChBDb3ZhcmlhbmNlTWF0cml4EhAKA214eBgBIAEoAUgAiAEBEhAKA214eRgCIAEoAUgBiAEBEhAKA214ehgDIAEoAUgCiAEBEhAKA215eRgEIAEoAUgDiAEBEhAKA215ehgFIAEoAUgEiAEBEhAKA216ehgGIAEoAUgFiAEBQgYKBF9teHhCBgoEX214eUIGCgRfbXh6QgYKBF9teXlCBgoEX215ekIGCgRfbXp6IswBCg9DYXJ0ZXNpYW5PZmZzZXQSDgoGZWFzdF9tGAEgASgBEg8KB25vcnRoX20YAiABKAESEQoEdXBfbRgDIAEoAUgAiAEBEjAKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SAGIAQESKwoLb3JpZW50YXRpb24YBSABKAsyES53b3JsZC5RdWF0ZXJuaW9uSAKIAQFCBwoFX3VwX21CDQoLX2NvdmFyaWFuY2VCDgoMX29yaWVudGF0aW9uIoIDCgtQb2xhck9mZnNldBIPCgdhemltdXRoGAEgASgBEhYKCWVsZXZhdGlvbhgCIAEoAUgAiAEBEhIKBXJhbmdlGAMgASgBSAGIAQESNAoKY292YXJpYW5jZRgEIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhCAhgBSAKIAQESHgoRYXppbXV0aF9lcnJvcl9kZWcYCiABKAFIA4gBARIgChNlbGV2YXRpb25fZXJyb3JfZGVnGAsgASgBSASIAQESGgoNcmFuZ2VfZXJyb3JfbRgMIAEoAUgFiAEBEisKC29yaWVudGF0aW9uGAUgASgLMhEud29ybGQuUXVhdGVybmlvbkgGiAEBQgwKCl9lbGV2YXRpb25CCAoGX3JhbmdlQg0KC19jb3ZhcmlhbmNlQhQKEl9hemltdXRoX2Vycm9yX2RlZ0IWChRfZWxldmF0aW9uX2Vycm9yX2RlZ0IQCg5fcmFuZ2VfZXJyb3JfbUIOCgxfb3JpZW50YXRpb24iewoNUG9zZUNvbXBvbmVudBIOCgZwYXJlbnQYASABKAkSKwoJY2FydGVzaWFuGAIgASgLMhYud29ybGQuQ2FydGVzaWFuT2Zmc2V0SAASIwoFcG9sYXIYAyABKAsyEi53b3JsZC5Qb2xhck9mZnNldEgAQggKBm9mZnNldCJxChNUYXJnZXRQb3NlQ29tcG9uZW50EisKCWNhcnRlc2lhbhgBIAEoCzIWLndvcmxkLkNhcnRlc2lhbk9mZnNldEgAEiMKBXBvbGFyGAIgASgLMhIud29ybGQuUG9sYXJPZmZzZXRIAEIICgZvZmZzZXQiSgoPQW5ndWxhclZlbG9jaXR5EhEKCXJvbGxfcmF0ZRgBIAEoARISCgpwaXRjaF9yYXRlGAIgASgBEhAKCHlhd19yYXRlGAMgASgBIn8KFE9yaWVudGF0aW9uQ29tcG9uZW50EiYKC29yaWVudGF0aW9uGAEgASgLMhEud29ybGQuUXVhdGVybmlvbhIwCgpjb3ZhcmlhbmNlGAIgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEgAiAEBQg0KC19jb3ZhcmlhbmNlIpABCg5UcmFja0NvbXBvbmVudBIUCgd0cmFja2VyGAEgASgJSACIAQESFAoHaGlzdG9yeRgCIAEoCUgBiAEBEhcKCnByZWRpY3Rpb24YAyABKAlIAogBARISCgpkZXRlY3Rpb25zGAQgAygJQgoKCF90cmFja2VyQgoKCF9oaXN0b3J5Qg0KC19wcmVkaWN0aW9uIisKEExvY2F0b3JDb21wb25lbnQSFwoPbG9jYXRlZEVudGl0eUlkGAEgASgJIjUKD1Rhc2thYmxlQ29udGV4dBIVCghlbnRpdHlJZBgBIAEoCUgAiAEBQgsKCV9lbnRpdHlJZCI2ChBUYXNrYWJsZUFzc2lnbmVlEhUKCGVudGl0eUlkGAEgASgJSACIAQFCCwoJX2VudGl0eUlkIvUBChFUYXNrYWJsZUNvbXBvbmVudBIVCghyZXNlcnZlZBgBIAEoCUgAiAEBEhIKBWxhYmVsGAIgASgJSAGIAQESJwoHY29udGV4dBgDIAMoCzIWLndvcmxkLlRhc2thYmxlQ29udGV4dBIpCghhc3NpZ25lZRgEIAMoCzIXLndvcmxkLlRhc2thYmxlQXNzaWduZWUSJwoGc2NoZW1hGAUgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIhCgRtb2RlGAYgASgOMhMud29ybGQuVGFza2FibGVNb2RlQgsKCV9yZXNlcnZlZEIICgZfbGFiZWwi1QEKFlRhc2tFeGVjdXRpb25Db21wb25lbnQSDAoEdGFzaxgBIAEoCRIwCgpwYXJhbWV0ZXJzGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdEgAiAEBEigKBXN0YXRlGAMgASgOMhkud29ybGQuVGFza0V4ZWN1dGlvblN0YXRlEhMKBnJlYXNvbhgEIAEoCUgBiAEBEhUKCHByaW9yaXR5GAUgASgNSAKIAQFCDQoLX3BhcmFtZXRlcnNCCQoHX3JlYXNvbkILCglfcHJpb3JpdHkiogEKDUtpbmVtYXRpY3NFbnUSEQoEZWFzdBgBIAEoAUgAiAEBEhIKBW5vcnRoGAIgASgBSAGIAQESDwoCdXAYAyABKAFIAogBARIwCgpjb3ZhcmlhbmNlGAQgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEgDiAEBQgcKBV9lYXN0QggKBl9ub3J0aEIFCgNfdXBCDQoLX2NvdmFyaWFuY2Ui7wEKE0tpbmVtYXRpY3NDb21wb25lbnQSLgoLdmVsb2NpdHlFbnUYASABKAsyFC53b3JsZC5LaW5lbWF0aWNzRW51SACIAQESMgoPYWNjZWxlcmF0aW9uRW51GAIgASgLMhQud29ybGQuS2luZW1hdGljc0VudUgBiAEBEjgKE2FuZ3VsYXJWZWxvY2l0eUJvZHkYAyABKAsyFi53b3JsZC5Bbmd1bGFyVmVsb2NpdHlIAogBAUIOCgxfdmVsb2NpdHlFbnVCEgoQX2FjY2VsZXJhdGlvbkVudUIWChRfYW5ndWxhclZlbG9jaXR5Qm9keSJCCghHZW9tZXRyeRIPCgN3a2IYASABKAxCAhgBEiUKBnBsYW5hchgCIAEoCzIVLndvcmxkLlBsYW5hckdlb21ldHJ5IkgKEUdlb1NoYXBlQ29tcG9uZW50EiYKCGdlb21ldHJ5GAEgASgLMg8ud29ybGQuR2VvbWV0cnlIAIgBAUILCglfZ2VvbWV0cnkiZAoTTG9jYWxTaGFwZUNvbXBvbmVudBITCgtyZWxhdGl2ZV90bxgCIAEoCRIrCghnZW9tZXRyeRgBIAEoCzIULndvcmxkLkxvY2FsR2VvbWV0cnlIAIgBAUILCglfZ2VvbWV0cnkiqAEKF0NsYXNzaWZpY2F0aW9uQ29tcG9uZW50EjwKCWRpbWVuc2lvbhgBIAEoDjIkLndvcmxkLkNsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uSACIAQESNAoIaWRlbnRpdHkYAiABKA4yHS53b3JsZC5DbGFzc2lmaWNhdGlvbklkZW50aXR5SAGIAQFCDAoKX2RpbWVuc2lvbkILCglfaWRlbnRpdHkilAEKDlRyYW5zcG9uZGVyQUlTEhEKBG1tc2kYASABKA1IAIgBARIQCgNpbW8YAiABKA1IAYgBARIVCghjYWxsc2lnbhgDIAEoCUgCiAEBEhgKC3Zlc3NlbF9uYW1lGAQgASgJSAOIAQFCBwoFX21tc2lCBgoEX2ltb0ILCglfY2FsbHNpZ25CDgoMX3Zlc3NlbF9uYW1lImMKD1RyYW5zcG9uZGVyQURTQhIZCgxpY2FvX2FkZHJlc3MYASABKA1IAIgBARIWCglmbGlnaHRfaWQYAiABKAlIAYgBAUIPCg1faWNhb19hZGRyZXNzQgwKCl9mbGlnaHRfaWQiewoUVHJhbnNwb25kZXJDb21wb25lbnQSJwoDYWlzGAEgASgLMhUud29ybGQuVHJhbnNwb25kZXJBSVNIAIgBARIpCgRhZHNiGAIgASgLMhYud29ybGQuVHJhbnNwb25kZXJBRFNCSAGIAQFCBgoEX2Fpc0IHCgVfYWRzYiKhAwoXQWRtaW5pc3RyYXRpdmVDb21wb25lbnQSDwoCaWQYASABKAlIAIgBARIRCgRmbGFnGAIgASgJSAGIAQESEgoFb3duZXIYAyABKAlIAogBARIZCgxtYW51ZmFjdHVyZXIYBCABKAlIA4gBARISCgVtb2RlbBgFIAEoCUgEiAEBEhcKCnllYXJfYnVpbHQYBiABKA1IBYgBARIVCghsZW5ndGhfbRgHIAEoAkgGiAEBEhQKB3dpZHRoX20YCiABKAJIB4gBARIVCghoZWlnaHRfbRgLIAEoAkgIiAEBEhcKCnRvbm5hZ2VfZ3QYCCABKAJICYgBARIcCg9lbmdpbmVfcG93ZXJfa3cYCSABKAJICogBAUIFCgNfaWRCBwoFX2ZsYWdCCAoGX293bmVyQg8KDV9tYW51ZmFjdHVyZXJCCAoGX21vZGVsQg0KC195ZWFyX2J1aWx0QgsKCV9sZW5ndGhfbUIKCghfd2lkdGhfbUILCglfaGVpZ2h0X21CDQoLX3Rvbm5hZ2VfZ3RCEgoQX2VuZ2luZV9wb3dlcl9rdyLwAQoTTmF2aWdhdGlvbkNvbXBvbmVudBIoCgRtb2RlGAEgASgOMhUud29ybGQuTmF2aWdhdGlvbk1vZGVIAIgBARISCgVhcm1lZBgCIAEoCEgBiAEBEhYKCWVtZXJnZW5jeRgDIAEoCEgCiAEBEh0KEHdheXBvaW50X2N1cnJlbnQYBCABKA1IA4gBARIbCg53YXlwb2ludF90b3RhbBgFIAEoDUgEiAEBQgcKBV9tb2RlQggKBl9hcm1lZEIMCgpfZW1lcmdlbmN5QhMKEV93YXlwb2ludF9jdXJyZW50QhEKD193YXlwb2ludF90b3RhbCKtAQoQTWlzc2lvbkNvbXBvbmVudBIPCgdtZW1iZXJzGAEgAygJEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQESGAoLZGVzdGluYXRpb24YAyABKAlIAYgBARIsCgNldGEYBCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCDgoMX2Rlc2NyaXB0aW9uQg4KDF9kZXN0aW5hdGlvbkIGCgRfZXRhIqwECg1MaW5rQ29tcG9uZW50EiYKBnN0YXR1cxgBIAEoDjIRLndvcmxkLkxpbmtTdGF0dXNIAIgBARIVCghyc3NpX2RibRgCIAEoEUgBiAEBEhMKBnNucl9kYhgDIAEoEUgCiAEBEhAKA3ZpYRgFIAEoCUgDiAEBEhwKD2xhc3RfbGF0ZW5jeV9tcxgGIAEoDUgEiAEBEhsKDmF2Z19sYXRlbmN5X21zGAcgASgNSAWIAQESMgoJbGFzdF9zZWVuGAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgGiAEBEiEKFGxpbmtfcXVhbGl0eV9wZXJjZW50GAkgASgNSAeIAQESGAoLdHhfcG93ZXJfbXcYCiABKA1ICIgBARIbCg5hY3RpdmVfYW50ZW5uYRgLIAEoDUgJiAEBEhQKB3JmX21vZGUYDCABKAlICogBARIbCg5wYWNrZXRfcmF0ZV9oehgNIAEoDUgLiAEBQgkKB19zdGF0dXNCCwoJX3Jzc2lfZGJtQgkKB19zbnJfZGJCBgoEX3ZpYUISChBfbGFzdF9sYXRlbmN5X21zQhEKD19hdmdfbGF0ZW5jeV9tc0IMCgpfbGFzdF9zZWVuQhcKFV9saW5rX3F1YWxpdHlfcGVyY2VudEIOCgxfdHhfcG93ZXJfbXdCEQoPX2FjdGl2ZV9hbnRlbm5hQgoKCF9yZl9tb2RlQhEKD19wYWNrZXRfcmF0ZV9oeiL9AQoQQ2FwdHVyZUNvbXBvbmVudBIUCgdwYXlsb2FkGAEgASgMSACIAQESEQoEcG9ydBgCIAEoDUgBiAEBEhkKDGNvbnRlbnRfdHlwZRgDIAEoCUgCiAEBEhgKC2NhcHR1cmVkX2J5GAQgASgJSAOIAQESNAoLY2FwdHVyZWRfYXQYBSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSASIAQESDwoHY29udGVudBgGIAMoCUIKCghfcGF5bG9hZEIHCgVfcG9ydEIPCg1fY29udGVudF90eXBlQg4KDF9jYXB0dXJlZF9ieUIOCgxfY2FwdHVyZWRfYXQiiAIKDlBvd2VyQ29tcG9uZW50EiUKGGJhdHRlcnlfY2hhcmdlX3JlbWFpbmluZxgBIAEoAkgAiAEBEhQKB3ZvbHRhZ2UYAiABKAJIAYgBARIeChFyZW1haW5pbmdfc2Vjb25kcxgDIAEoDUgCiAEBEhYKCWN1cnJlbnRfYRgEIAEoAkgDiAEBEh4KEWNhcGFjaXR5X3VzZWRfbWFoGAUgASgCSASIAQFCGwoZX2JhdHRlcnlfY2hhcmdlX3JlbWFpbmluZ0IKCghfdm9sdGFnZUIUChJfcmVtYWluaW5nX3NlY29uZHNCDAoKX2N1cnJlbnRfYUIUChJfY2FwYWNpdHlfdXNlZF9tYWgiMQoRRGV2aWNlQ2xhc3NPcHRpb24SDQoFY2xhc3MYASABKAkSDQoFbGFiZWwYAiABKAki6gIKFUNvbmZpZ3VyYWJsZUNvbXBvbmVudBInCgZzY2hlbWEYASABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiYKBXZhbHVlGAIgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgVzdGF0ZRgDIAEoDjIYLndvcmxkLkNvbmZpZ3VyYWJsZVN0YXRlEhIKBWVycm9yGAQgASgJSACIAQESEgoFbGFiZWwYBSABKAlIAYgBARIXCg9hcHBsaWVkX3ZlcnNpb24YBiABKAQSOgoYc3VwcG9ydGVkX2RldmljZV9jbGFzc2VzGAcgAygLMhgud29ybGQuRGV2aWNlQ2xhc3NPcHRpb24SNQoMc2NoZWR1bGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBQggKBl9lcnJvckIICgZfbGFiZWxCDwoNX3NjaGVkdWxlZF9hdCKUBQoPRGV2aWNlQ29tcG9uZW50EhMKBnBhcmVudBgBIAEoCUgAiAEBEhMKC2NvbXBvc2l0aW9uGAIgAygJEh8KEnVuaXF1ZV9oYXJkd2FyZV9pZBgEIAEoCUgBiAEBEiEKBXN0YXRlGAYgASgOMhIud29ybGQuRGV2aWNlU3RhdGUSEgoFZXJyb3IYByABKAlIAogBARISCgVjbGFzcxgKIAEoCUgDiAEBEhUKCGNhdGVnb3J5GA0gASgJSASIAQESJAoEbm9kZRgUIAEoCzIRLndvcmxkLk5vZGVEZXZpY2VIBYgBARIiCgN1c2IYFSABKAsyEC53b3JsZC5Vc2JEZXZpY2VIBogBARIgCgJpcBgWIAEoCzIPLndvcmxkLklwRGV2aWNlSAeIAQESKAoGc2VyaWFsGBcgASgLMhMud29ybGQuU2VyaWFsRGV2aWNlSAiIAQESLAoIZXRoZXJuZXQYGCABKAsyFS53b3JsZC5FdGhlcm5ldERldmljZUgJiAEBEiYKBWxwd2FuGBkgASgLMhIud29ybGQuTFBXQU5EZXZpY2VICogBARIwCgptZXNodGFzdGljGBogASgLMhcud29ybGQuTWVzaHRhc3RpY0RldmljZUgLiAEBEiIKA2JsZRgbIAEoCzIQLndvcmxkLkJsZURldmljZUgMiAEBQgkKB19wYXJlbnRCFQoTX3VuaXF1ZV9oYXJkd2FyZV9pZEIICgZfZXJyb3JCCAoGX2NsYXNzQgsKCV9jYXRlZ29yeUIHCgVfbm9kZUIGCgRfdXNiQgUKA19pcEIJCgdfc2VyaWFsQgsKCV9ldGhlcm5ldEIICgZfbHB3YW5CDQoLX21lc2h0YXN0aWNCBgoEX2JsZSJtCgpNaXNzaW9uS2l0Ei8KB2xheW91dHMYASADKAsyHi53b3JsZC5NaXNzaW9uS2l0LkxheW91dHNFbnRyeRouCgxMYXlvdXRzRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgJOgI4ASLdAgoKTm9kZURldmljZRIVCghob3N0bmFtZRgBIAEoCUgAiAEBEg8KAm9zGAIgASgJSAGIAQESEQoEYXJjaBgDIAEoCUgCiAEBEhQKB251bV9jcHUYBCABKA1IA4gBARIXCgpvc192ZXJzaW9uGAUgASgJSASIAQESGwoOaHlkcmlzX3ZlcnNpb24YBiABKAlIBYgBARIkChdoeWRyaXNfdXBkYXRlX2F2YWlsYWJsZRgHIAEoCUgGiAEBEisKC21pc3Npb25fa2l0GAggASgLMhEud29ybGQuTWlzc2lvbktpdEgHiAEBQgsKCV9ob3N0bmFtZUIFCgNfb3NCBwoFX2FyY2hCCgoIX251bV9jcHVCDQoLX29zX3ZlcnNpb25CEQoPX2h5ZHJpc192ZXJzaW9uQhoKGF9oeWRyaXNfdXBkYXRlX2F2YWlsYWJsZUIOCgxfbWlzc2lvbl9raXQi+QIKCVVzYkRldmljZRIWCgl2ZW5kb3JfaWQYASABKA1IAIgBARIXCgpwcm9kdWN0X2lkGAIgASgNSAGIAQESGQoMZGV2aWNlX2NsYXNzGAMgASgNSAKIAQESHAoPZGV2aWNlX3N1YmNsYXNzGAQgASgNSAOIAQESHAoPZGV2aWNlX3Byb3RvY29sGAUgASgNSASIAQESHgoRbWFudWZhY3R1cmVyX25hbWUYBiABKAlIBYgBARIZCgxwcm9kdWN0X25hbWUYByABKAlIBogBARIaCg1zZXJpYWxfbnVtYmVyGAggASgJSAeIAQFCDAoKX3ZlbmRvcl9pZEINCgtfcHJvZHVjdF9pZEIPCg1fZGV2aWNlX2NsYXNzQhIKEF9kZXZpY2Vfc3ViY2xhc3NCEgoQX2RldmljZV9wcm90b2NvbEIUChJfbWFudWZhY3R1cmVyX25hbWVCDwoNX3Byb2R1Y3RfbmFtZUIQCg5fc2VyaWFsX251bWJlciJCCghJcERldmljZRIRCgRob3N0GAEgASgJSACIAQESEQoEcG9ydBgCIAEoDUgBiAEBQgcKBV9ob3N0QgcKBV9wb3J0IloKDkV0aGVybmV0RGV2aWNlEhgKC21hY19hZGRyZXNzGAEgASgJSACIAQESEwoGdmVuZG9yGAIgASgJSAGIAQFCDgoMX21hY19hZGRyZXNzQgkKB192ZW5kb3IiUAoMU2VyaWFsRGV2aWNlEhEKBHBhdGgYASABKAlIAIgBARIWCgliYXVkX3JhdGUYAiABKA1IAYgBAUIHCgVfcGF0aEIMCgpfYmF1ZF9yYXRlItwBChBNZXNodGFzdGljRGV2aWNlEhUKCG5vZGVfbnVtGAEgASgNSACIAQESFgoJbG9uZ19uYW1lGAIgASgJSAGIAQESFwoKc2hvcnRfbmFtZRgDIAEoCUgCiAEBEhsKDmhhcmR3YXJlX21vZGVsGAQgASgJSAOIAQESFwoKcHVibGljX2tleRgFIAEoDEgEiAEBQgsKCV9ub2RlX251bUIMCgpfbG9uZ19uYW1lQg0KC19zaG9ydF9uYW1lQhEKD19oYXJkd2FyZV9tb2RlbEINCgtfcHVibGljX2tleSJJCgtMUFdBTkRldmljZRIQCgNldWkYASABKAlIAIgBARIUCgdhZGRyZXNzGAIgASgJSAGIAQFCBgoEX2V1aUIKCghfYWRkcmVzcyJgCglCbGVEZXZpY2USFAoHYWRkcmVzcxgBIAEoCUgAiAEBEhEKBG5hbWUYAiABKAlIAYgBARIVCg1zZXJ2aWNlX3V1aWRzGAQgAygJQgoKCF9hZGRyZXNzQgcKBV9uYW1lIlEKFkNvbmZpZ3VyYXRpb25Db21wb25lbnQSJgoFdmFsdWUYAyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB3ZlcnNpb24YBSABKAQioAEKDUNoYXRDb21wb25lbnQSEwoGc2VuZGVyGAEgASgJSACIAQESDwoCdG8YAyABKAlIAYgBARIPCgdtZXNzYWdlGAQgASgJEhUKCHJlcGx5X3RvGAUgASgJSAKIAQESFQoIcmVhY3Rpb24YBiABKAhIA4gBAUIJCgdfc2VuZGVyQgUKA190b0ILCglfcmVwbHlfdG9CCwoJX3JlYWN0aW9uIkQKEUFzc2VtYmx5Q29tcG9uZW50EhMKBnBhcmVudBgBIAEoCUgAiAEBEg8KB291dGxpbmUYAiADKAlCCQoHX3BhcmVudCLVBAoMRW50aXR5RmlsdGVyEg8KAmlkGAEgASgJSACIAQESEgoFbGFiZWwYAiABKAlIAYgBARIiCgNnZW8YAyABKAsyEC53b3JsZC5HZW9GaWx0ZXJIAogBARIsCgh0YXNrYWJsZRgEIAEoCzIVLndvcmxkLlRhc2thYmxlRmlsdGVySAOIAQESEQoJY29tcG9uZW50GAUgAygNEjAKCmNvbnRyb2xsZXIYByABKAsyFy53b3JsZC5Db250cm9sbGVyRmlsdGVySASIAQESJgoFdHJhY2sYCCABKAsyEi53b3JsZC5UcmFja0ZpbHRlckgFiAEBEioKB21pc3Npb24YCSABKAsyFC53b3JsZC5NaXNzaW9uRmlsdGVySAaIAQESKgoHY2hhbm5lbBgKIAEoCzIULndvcmxkLkNoYW5uZWxGaWx0ZXJIB4gBARIoCgZkZXZpY2UYMiABKAsyEy53b3JsZC5EZXZpY2VGaWx0ZXJICIgBARIvCgZjb25maWcYMyABKAsyGi53b3JsZC5Db25maWd1cmF0aW9uRmlsdGVySAmIAQESHwoCb3IYZCADKAsyEy53b3JsZC5FbnRpdHlGaWx0ZXISIAoDbm90GGUgASgLMhMud29ybGQuRW50aXR5RmlsdGVyQgUKA19pZEIICgZfbGFiZWxCBgoEX2dlb0ILCglfdGFza2FibGVCDQoLX2NvbnRyb2xsZXJCCAoGX3RyYWNrQgoKCF9taXNzaW9uQgoKCF9jaGFubmVsQgkKB19kZXZpY2VCCQoHX2NvbmZpZyIqChBDb250cm9sbGVyRmlsdGVyEg8KAmlkGAEgASgJSACIAQFCBQoDX2lkIi8KC1RyYWNrRmlsdGVyEhQKB3RyYWNrZXIYASABKAlIAIgBAUIKCghfdHJhY2tlciJdCg1NaXNzaW9uRmlsdGVyEhcKCm1pc3Npb25faWQYASABKAlIAIgBARIWCgltZW1iZXJfaWQYAiABKAlIAYgBAUINCgtfbWlzc2lvbl9pZEIMCgpfbWVtYmVyX2lkIocBCg5UYXNrYWJsZUZpbHRlchIsCgdjb250ZXh0GAEgASgLMhYud29ybGQuVGFza2FibGVDb250ZXh0SACIAQESLgoIYXNzaWduZWUYAiABKAsyFy53b3JsZC5UYXNrYWJsZUFzc2lnbmVlSAGIAQFCCgoIX2NvbnRleHRCCwoJX2Fzc2lnbmVlIk4KCUdlb0ZpbHRlchIjCghnZW9tZXRyeRgBIAEoCzIPLndvcmxkLkdlb21ldHJ5SAASFQoLZ2VvRW50aXR5SWQYAiABKAlIAEIFCgNnZW8i9gEKDERldmljZUZpbHRlchITCgZwYXJlbnQYASABKAlIAIgBARIfChJ1bmlxdWVfaGFyZHdhcmVfaWQYBCABKAlIAYgBARIZCgxkZXZpY2VfY2xhc3MYBSABKAlIAogBARIoCgNibGUYBiABKAsyFi53b3JsZC5CbGVEZXZpY2VGaWx0ZXJIA4gBARIoCgN1c2IYByABKAsyFi53b3JsZC5Vc2JEZXZpY2VGaWx0ZXJIBIgBAUIJCgdfcGFyZW50QhUKE191bmlxdWVfaGFyZHdhcmVfaWRCDwoNX2RldmljZV9jbGFzc0IGCgRfYmxlQgYKBF91c2IiZgoPQmxlRGV2aWNlRmlsdGVyEhQKB2FkZHJlc3MYASABKAlIAIgBARIRCgRuYW1lGAIgASgJSAGIAQESFQoNc2VydmljZV91dWlkcxgEIAMoCUIKCghfYWRkcmVzc0IHCgVfbmFtZSL/AgoPVXNiRGV2aWNlRmlsdGVyEhYKCXZlbmRvcl9pZBgBIAEoDUgAiAEBEhcKCnByb2R1Y3RfaWQYAiABKA1IAYgBARIZCgxkZXZpY2VfY2xhc3MYAyABKA1IAogBARIcCg9kZXZpY2Vfc3ViY2xhc3MYBCABKA1IA4gBARIcCg9kZXZpY2VfcHJvdG9jb2wYBSABKA1IBIgBARIeChFtYW51ZmFjdHVyZXJfbmFtZRgGIAEoCUgFiAEBEhkKDHByb2R1Y3RfbmFtZRgHIAEoCUgGiAEBEhoKDXNlcmlhbF9udW1iZXIYCCABKAlIB4gBAUIMCgpfdmVuZG9yX2lkQg0KC19wcm9kdWN0X2lkQg8KDV9kZXZpY2VfY2xhc3NCEgoQX2RldmljZV9zdWJjbGFzc0ISChBfZGV2aWNlX3Byb3RvY29sQhQKEl9tYW51ZmFjdHVyZXJfbmFtZUIPCg1fcHJvZHVjdF9uYW1lQhAKDl9zZXJpYWxfbnVtYmVyIhUKE0NvbmZpZ3VyYXRpb25GaWx0ZXIiHQoNQ2hhbm5lbEZpbHRlchIMCgRuYW1lGAEgASgJIpMBCgpTb3J0T3B0aW9uEh8KBWZpZWxkGAEgASgOMhAud29ybGQuU29ydEZpZWxkEhIKCmRlc2NlbmRpbmcYAiABKAgSEwoJbWV0cmljX2lkGBQgASgNSAASKAoLbWV0cmljX2tpbmQYFSABKA4yES53b3JsZC5NZXRyaWNLaW5kSABCEQoPbWV0cmljX3NlbGVjdG9yIrQBCg1XYXRjaEJlaGF2aW9yEhgKC21heF9yYXRlX2h6GAEgASgCSACIAQESKgoMbWluX3ByaW9yaXR5GAMgASgOMg8ud29ybGQuUHJpb3JpdHlIAYgBARIiChVrZWVwYWxpdmVfaW50ZXJ2YWxfbXMYBCABKA1IAogBAUIOCgxfbWF4X3JhdGVfaHpCDwoNX21pbl9wcmlvcml0eUIYChZfa2VlcGFsaXZlX2ludGVydmFsX21zIp0BChNMaXN0RW50aXRpZXNSZXF1ZXN0EiMKBmZpbHRlchgCIAEoCzITLndvcmxkLkVudGl0eUZpbHRlchIfCgRzb3J0GAMgAygLMhEud29ybGQuU29ydE9wdGlvbhIsCgliZWhhdmlvdXIYBCABKAsyFC53b3JsZC5XYXRjaEJlaGF2aW9ySACIAQFCDAoKX2JlaGF2aW91ckoECAEQAiI3ChRMaXN0RW50aXRpZXNSZXNwb25zZRIfCghlbnRpdGllcxgBIAMoCzINLndvcmxkLkVudGl0eSJaChNFbnRpdHlDaGFuZ2VSZXF1ZXN0Eh4KB2NoYW5nZXMYASADKAsyDS53b3JsZC5FbnRpdHkSIwoMcmVwbGFjZW1lbnRzGAIgAygLMg0ud29ybGQuRW50aXR5IiEKE0V4cGlyZUVudGl0eVJlcXVlc3QSCgoCaWQYASABKAkiFgoURXhwaXJlRW50aXR5UmVzcG9uc2UiNwoURW50aXR5Q2hhbmdlUmVzcG9uc2USEAoIYWNjZXB0ZWQYASABKAgSDQoFZGVidWcYAiABKAkiUgoRRW50aXR5Q2hhbmdlRXZlbnQSHQoGZW50aXR5GAEgASgLMg0ud29ybGQuRW50aXR5Eh4KAXQYAiABKA4yEy53b3JsZC5FbnRpdHlDaGFuZ2UiPQoRRW50aXR5Q2hhbmdlQmF0Y2gSKAoGZXZlbnRzGAEgAygLMhgud29ybGQuRW50aXR5Q2hhbmdlRXZlbnQiHgoQR2V0RW50aXR5UmVxdWVzdBIKCgJpZBgBIAEoCSIyChFHZXRFbnRpdHlSZXNwb25zZRIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkiFQoTR2V0TG9jYWxOb2RlUmVxdWVzdCJGChRHZXRMb2NhbE5vZGVSZXNwb25zZRIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkSDwoHbm9kZV9pZBgCIAEoCSIRCg9PYnNlcnZlclJlcXVlc3QicwoNT2JzZXJ2ZXJTdGF0ZRIcCgNnZW8YASABKAsyDy53b3JsZC5HZW9tZXRyeRI0Cgt2aWV3SGlzdG9yeRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAIgBAUIOCgxfdmlld0hpc3RvcnkiRgoOUnVuVGFza1JlcXVlc3QSEAoIZW50aXR5SWQYASABKAkSFQoIcHJpb3JpdHkYAiABKA1IAIgBAUILCglfcHJpb3JpdHkigwEKD1J1blRhc2tSZXNwb25zZRITCgtleGVjdXRpb25JZBgBIAEoCRIhCgZzdGF0dXMYAiABKA4yES53b3JsZC5UYXNrU3RhdHVzEiAKE2h1bWFuUmVhZGFibGVSZWFzb24YAyABKAlIAIgBAUIWChRfaHVtYW5SZWFkYWJsZVJlYXNvbiI6ChBIYXJkUmVzZXRSZXF1ZXN0EhcKCm1pc3Npb25faWQYASABKAlIAIgBAUINCgtfbWlzc2lvbl9pZCITChFIYXJkUmVzZXRSZXNwb25zZSpiCghQcmlvcml0eRIXChNQcmlvcml0eVVuc3BlY2lmaWVkEAASEwoPUHJpb3JpdHlSb3V0aW5lEAESFQoRUHJpb3JpdHlJbW1lZGlhdGUQAhIRCg1Qcmlvcml0eUZsYXNoEAMqjwEKC0duc3NGaXhUeXBlEhMKD0duc3NGaXhUeXBlTm9uZRAAEhEKDUduc3NGaXhUeXBlMkQQARIRCg1HbnNzRml4VHlwZTNEEAISEwoPR25zc0ZpeFR5cGVER1BTEAMSFwoTR25zc0ZpeFR5cGVSdGtGbG9hdBAEEhcKE0duc3NGaXhUeXBlUnRrRml4ZWQQBSrsAQoTTWVkaWFTdHJlYW1Qcm90b2NvbBIiCh5NZWRpYVN0cmVhbVByb3RvY29sVW5zcGVjaWZpZWQQABIdChlNZWRpYVN0cmVhbVByb3RvY29sV2VicnRjEAESGgoWTWVkaWFTdHJlYW1Qcm90b2NvbEhscxACEhwKGE1lZGlhU3RyZWFtUHJvdG9jb2xNanBlZxADEhwKGE1lZGlhU3RyZWFtUHJvdG9jb2xJbWFnZRAEEh0KGU1lZGlhU3RyZWFtUHJvdG9jb2xJZnJhbWUQBRIbChdNZWRpYVN0cmVhbVByb3RvY29sUnRzcBAGKn8KD01lZGlhU3RyZWFtUm9sZRIeChpNZWRpYVN0cmVhbVJvbGVVbnNwZWNpZmllZBAAEhcKE01lZGlhU3RyZWFtUm9sZU1haW4QARIWChJNZWRpYVN0cmVhbVJvbGVTdWIQAhIbChdNZWRpYVN0cmVhbVJvbGVTbmFwc2hvdBADKnoKDFRhc2thYmxlTW9kZRIZChVUYXNrYWJsZU1vZGVFeGNsdXNpdmUQABIZChVUYXNrYWJsZU1vZGVSZWNvbmNpbGUQARIVChFUYXNrYWJsZU1vZGVTcGF3bhACEh0KGVRhc2thYmxlTW9kZVByaW9yaXR5UXVldWUQAyqRAQoSVGFza0V4ZWN1dGlvblN0YXRlEh0KGVRhc2tFeGVjdXRpb25TdGF0ZVBlbmRpbmcQABIdChlUYXNrRXhlY3V0aW9uU3RhdGVSdW5uaW5nEAESHwobVGFza0V4ZWN1dGlvblN0YXRlQ29tcGxldGVkEAISHAoYVGFza0V4ZWN1dGlvblN0YXRlRmFpbGVkEAMqjAIKFkNsYXNzaWZpY2F0aW9uSWRlbnRpdHkSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eUludmFsaWQQABIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5UGVuZGluZxABEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlVbmtub3duEAISIAocQ2xhc3NpZmljYXRpb25JZGVudGl0eUZyaWVuZBADEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlOZXV0cmFsEAQSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eUhvc3RpbGUQBRIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5U3VzcGVjdBAGKsQCCh1DbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbhIoCiRDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkludmFsaWQQABIoCiRDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvblVua25vd24QARImCiJDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvblNwYWNlEAISJAogQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25BaXIQAxInCiNDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkdyb3VuZBAEEisKJ0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU2VhU3VyZmFjZRAFEisKJ0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU3Vic3VyZmFjZRAGKvYBCg5OYXZpZ2F0aW9uTW9kZRIdChlOYXZpZ2F0aW9uTW9kZVVuc3BlY2lmaWVkEAASGQoVTmF2aWdhdGlvbk1vZGVQbGFubmVkEAESHAoYTmF2aWdhdGlvbk1vZGVTdGF0aW9uYXJ5EAISGgoWTmF2aWdhdGlvbk1vZGVVbmRlcndheRADEhwKGE5hdmlnYXRpb25Nb2RlQXV0b25vbW91cxAEEhgKFE5hdmlnYXRpb25Nb2RlR3VpZGVkEAUSGwoXTmF2aWdhdGlvbk1vZGVMb2l0ZXJpbmcQBhIbChdOYXZpZ2F0aW9uTW9kZVJldHVybmluZxAHKmwKCkxpbmtTdGF0dXMSGQoVTGlua1N0YXR1c1Vuc3BlY2lmaWVkEAASFwoTTGlua1N0YXR1c0Nvbm5lY3RlZBABEhYKEkxpbmtTdGF0dXNEZWdyYWRlZBACEhIKDkxpbmtTdGF0dXNMb3N0EAMqUwoLRGV2aWNlU3RhdGUSFgoSRGV2aWNlU3RhdGVQZW5kaW5nEAASFQoRRGV2aWNlU3RhdGVBY3RpdmUQARIVChFEZXZpY2VTdGF0ZUZhaWxlZBACKsoBChFDb25maWd1cmFibGVTdGF0ZRIdChlDb25maWd1cmFibGVTdGF0ZUluYWN0aXZlEAASHQoZQ29uZmlndXJhYmxlU3RhdGVTdGFydGluZxABEhsKF0NvbmZpZ3VyYWJsZVN0YXRlQWN0aXZlEAISGwoXQ29uZmlndXJhYmxlU3RhdGVGYWlsZWQQAxIdChlDb25maWd1cmFibGVTdGF0ZUNvbmZsaWN0EAQSHgoaQ29uZmlndXJhYmxlU3RhdGVTY2hlZHVsZWQQBSqeCAoJU29ydEZpZWxkEhgKFFNvcnRGaWVsZFVuc3BlY2lmaWVkEAASEgoOU29ydEZpZWxkTGFiZWwQARIVChFTb3J0RmllbGRQcmlvcml0eRACEhkKFVNvcnRGaWVsZExpZmV0aW1lRnJvbRAKEhoKFlNvcnRGaWVsZExpZmV0aW1lVW50aWwQCxIaChZTb3J0RmllbGRMaWZldGltZUZyZXNoEAwSGAoUU29ydEZpZWxkR2VvTGF0aXR1ZGUQFBIZChVTb3J0RmllbGRHZW9Mb25naXR1ZGUQFRIYChRTb3J0RmllbGRHZW9BbHRpdHVkZRAWEiMKH1NvcnRGaWVsZENsYXNzaWZpY2F0aW9uSWRlbnRpdHkQHhIkCiBTb3J0RmllbGRDbGFzc2lmaWNhdGlvbkRpbWVuc2lvbhAfEhsKF1NvcnRGaWVsZEJlYXJpbmdBemltdXRoEDISHQoZU29ydEZpZWxkQmVhcmluZ0VsZXZhdGlvbhAzEiEKHVNvcnRGaWVsZEFkbWluaXN0cmF0aXZlTGVuZ3RoEEYSIAocU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVXaWR0aBBHEiEKHVNvcnRGaWVsZEFkbWluaXN0cmF0aXZlSGVpZ2h0EEgSIgoeU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVUb25uYWdlEEkSJgoiU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVFbmdpbmVQb3dlchBKEiQKIFNvcnRGaWVsZEFkbWluaXN0cmF0aXZlWWVhckJ1aWx0EEsSFQoRU29ydEZpZWxkTGlua1Jzc2kQWhIUChBTb3J0RmllbGRMaW5rU25yEFsSHAoYU29ydEZpZWxkTGlua0xhc3RMYXRlbmN5EFwSGwoXU29ydEZpZWxkTGlua0F2Z0xhdGVuY3kQXRIYChRTb3J0RmllbGRMaW5rUXVhbGl0eRBeEhkKFVNvcnRGaWVsZExpbmtMYXN0U2VlbhBfEhsKF1NvcnRGaWVsZExpbmtQYWNrZXRSYXRlEGASHwobU29ydEZpZWxkUG93ZXJCYXR0ZXJ5Q2hhcmdlEGQSGQoVU29ydEZpZWxkUG93ZXJWb2x0YWdlEGUSIgoeU29ydEZpZWxkUG93ZXJSZW1haW5pbmdTZWNvbmRzEGYSGQoVU29ydEZpZWxkUG93ZXJDdXJyZW50EGcSHgoaU29ydEZpZWxkUG93ZXJDYXBhY2l0eVVzZWQQaBIZChRTb3J0RmllbGREZXZpY2VTdGF0ZRCCARIZChRTb3J0RmllbGRNZXRyaWNWYWx1ZRCWARIeChlTb3J0RmllbGRNZXRyaWNNZWFzdXJlZEF0EJcBEh4KGVNvcnRGaWVsZE1ldHJpY0FsZXJ0TGV2ZWwQmAEqdQoMRW50aXR5Q2hhbmdlEhcKE0VudGl0eUNoYW5nZUludmFsaWQQABIXChNFbnRpdHlDaGFuZ2VVcGRhdGVkEAESFwoTRW50aXR5Q2hhbmdlRXhwaXJlZBACEhoKFkVudGl0eUNoYW5nZVVub2JzZXJ2ZWQQAyr1CAoPRW50aXR5Q29tcG9uZW50Eh4KGkVudGl0eUNvbXBvbmVudFVuc3BlY2lmaWVkEAASGAoURW50aXR5Q29tcG9uZW50TGFiZWwQAhIdChlFbnRpdHlDb21wb25lbnRDb250cm9sbGVyEAMSGwoXRW50aXR5Q29tcG9uZW50TGlmZXRpbWUQBBIbChdFbnRpdHlDb21wb25lbnRQcmlvcml0eRAFEhgKFEVudGl0eUNvbXBvbmVudExlYXNlEAYSGgoWRW50aXR5Q29tcG9uZW50Um91dGluZxAHEhYKEkVudGl0eUNvbXBvbmVudEdlbxALEhkKFUVudGl0eUNvbXBvbmVudFN5bWJvbBAMEhkKFUVudGl0eUNvbXBvbmVudENhbWVyYRAPEhwKGEVudGl0eUNvbXBvbmVudERldGVjdGlvbhAQEhoKFkVudGl0eUNvbXBvbmVudEJlYXJpbmcQERIYChRFbnRpdHlDb21wb25lbnRUcmFjaxAVEhoKFkVudGl0eUNvbXBvbmVudExvY2F0b3IQFhIbChdFbnRpdHlDb21wb25lbnRUYXNrYWJsZRAXEh0KGUVudGl0eUNvbXBvbmVudEtpbmVtYXRpY3MQGBIYChRFbnRpdHlDb21wb25lbnRTaGFwZRAZEiEKHUVudGl0eUNvbXBvbmVudENsYXNzaWZpY2F0aW9uEBoSHgoaRW50aXR5Q29tcG9uZW50VHJhbnNwb25kZXIQGxIhCh1FbnRpdHlDb21wb25lbnRBZG1pbmlzdHJhdGl2ZRAcEh0KGUVudGl0eUNvbXBvbmVudExvY2FsU2hhcGUQHRIeChpFbnRpdHlDb21wb25lbnRPcmllbnRhdGlvbhAeEhoKFkVudGl0eUNvbXBvbmVudE1pc3Npb24QHxIXChNFbnRpdHlDb21wb25lbnRMaW5rECASGAoURW50aXR5Q29tcG9uZW50UG93ZXIQIRIdChlFbnRpdHlDb21wb25lbnROYXZpZ2F0aW9uECISGgoWRW50aXR5Q29tcG9uZW50Q2FwdHVyZRAjEhkKFUVudGl0eUNvbXBvbmVudE1ldHJpYxAkEhkKFUVudGl0eUNvbXBvbmVudFNlbnNvchAlEhcKE0VudGl0eUNvbXBvbmVudFBvc2UQJhIXChNFbnRpdHlDb21wb25lbnRDaGF0ECcSIAocRW50aXR5Q29tcG9uZW50VGFza0V4ZWN1dGlvbhApEhcKE0VudGl0eUNvbXBvbmVudEduc3MQKhIZChVFbnRpdHlDb21wb25lbnREZXZpY2UQMhIZChVFbnRpdHlDb21wb25lbnRDb25maWcQMxIfChtFbnRpdHlDb21wb25lbnRDb25maWd1cmFibGUQNBIgChxFbnRpdHlDb21wb25lbnRJbnRlcmFjdGl2aXR5EDwSGwoXRW50aXR5Q29tcG9uZW50QXJ0aWZhY3QQPRIdChlFbnRpdHlDb21wb25lbnRUYXJnZXRQb3NlED4qaQoKVGFza1N0YXR1cxIVChFUYXNrU3RhdHVzSW52YWxpZBAAEhUKEVRhc2tTdGF0dXNSdW5uaW5nEAESFwoTVGFza1N0YXR1c0NvbXBsZXRlZBACEhQKEFRhc2tTdGF0dXNGYWlsZWQQAzKtBAoMV29ybGRTZXJ2aWNlEkcKDExpc3RFbnRpdGllcxIaLndvcmxkLkxpc3RFbnRpdGllc1JlcXVlc3QaGy53b3JsZC5MaXN0RW50aXRpZXNSZXNwb25zZRI+CglHZXRFbnRpdHkSFy53b3JsZC5HZXRFbnRpdHlSZXF1ZXN0Ghgud29ybGQuR2V0RW50aXR5UmVzcG9uc2USRwoNV2F0Y2hFbnRpdGllcxIaLndvcmxkLkxpc3RFbnRpdGllc1JlcXVlc3QaGC53b3JsZC5FbnRpdHlDaGFuZ2VFdmVudDABEj8KBFB1c2gSGi53b3JsZC5FbnRpdHlDaGFuZ2VSZXF1ZXN0Ghsud29ybGQuRW50aXR5Q2hhbmdlUmVzcG9uc2USRwoMRXhwaXJlRW50aXR5Ehoud29ybGQuRXhwaXJlRW50aXR5UmVxdWVzdBobLndvcmxkLkV4cGlyZUVudGl0eVJlc3BvbnNlEkcKDEdldExvY2FsTm9kZRIaLndvcmxkLkdldExvY2FsTm9kZVJlcXVlc3QaGy53b3JsZC5HZXRMb2NhbE5vZGVSZXNwb25zZRI4CgdSdW5UYXNrEhUud29ybGQuUnVuVGFza1JlcXVlc3QaFi53b3JsZC5SdW5UYXNrUmVzcG9uc2USPgoJSGFyZFJlc2V0Ehcud29ybGQuSGFyZFJlc2V0UmVxdWVzdBoYLndvcmxkLkhhcmRSZXNldFJlc3BvbnNlQiBaHmdpdGh1Yi5jb20vcHJvamVjdHFhaS9wcm90by9nb2IGcHJvdG8z", [file_geometry, file_google_protobuf_struct, file_google_protobuf_timestamp, file_metrics]);
|
|
14
|
+
fileDesc("Cgt3b3JsZC5wcm90bxIFd29ybGQijRMKBkVudGl0eRIKCgJpZBgBIAEoCRISCgVsYWJlbBgCIAEoCUgAiAEBEioKCmNvbnRyb2xsZXIYAyABKAsyES53b3JsZC5Db250cm9sbGVySAGIAQESJgoIbGlmZXRpbWUYBCABKAsyDy53b3JsZC5MaWZldGltZUgCiAEBEiYKCHByaW9yaXR5GAUgASgOMg8ud29ybGQuUHJpb3JpdHlIA4gBARIgCgVsZWFzZRgGIAEoCzIMLndvcmxkLkxlYXNlSASIAQESJAoHcm91dGluZxgHIAEoCzIOLndvcmxkLlJvdXRpbmdIBYgBARIsCgNnZW8YCyABKAsyGi53b3JsZC5HZW9TcGF0aWFsQ29tcG9uZW50SAaIAQESKwoGc3ltYm9sGAwgASgLMhYud29ybGQuU3ltYm9sQ29tcG9uZW50SAeIAQESKwoGY2FtZXJhGA8gASgLMhYud29ybGQuQ2FtZXJhQ29tcG9uZW50SAiIAQESMQoJZGV0ZWN0aW9uGBAgASgLMhkud29ybGQuRGV0ZWN0aW9uQ29tcG9uZW50SAmIAQESLQoHYmVhcmluZxgRIAEoCzIXLndvcmxkLkJlYXJpbmdDb21wb25lbnRICogBARIpCgV0cmFjaxgVIAEoCzIVLndvcmxkLlRyYWNrQ29tcG9uZW50SAuIAQESLQoHbG9jYXRvchgWIAEoCzIXLndvcmxkLkxvY2F0b3JDb21wb25lbnRIDIgBARIzCgpraW5lbWF0aWNzGBggASgLMhoud29ybGQuS2luZW1hdGljc0NvbXBvbmVudEgNiAEBEiwKBXNoYXBlGBkgASgLMhgud29ybGQuR2VvU2hhcGVDb21wb25lbnRIDogBARI7Cg5jbGFzc2lmaWNhdGlvbhgaIAEoCzIeLndvcmxkLkNsYXNzaWZpY2F0aW9uQ29tcG9uZW50SA+IAQESNQoLdHJhbnNwb25kZXIYGyABKAsyGy53b3JsZC5UcmFuc3BvbmRlckNvbXBvbmVudEgQiAEBEjsKDmFkbWluaXN0cmF0aXZlGBwgASgLMh4ud29ybGQuQWRtaW5pc3RyYXRpdmVDb21wb25lbnRIEYgBARI1CgtvcmllbnRhdGlvbhgeIAEoCzIbLndvcmxkLk9yaWVudGF0aW9uQ29tcG9uZW50SBKIAQESMwoKbmF2aWdhdGlvbhgiIAEoCzIaLndvcmxkLk5hdmlnYXRpb25Db21wb25lbnRIE4gBARIpCgVwb3dlchghIAEoCzIVLndvcmxkLlBvd2VyQ29tcG9uZW50SBSIAQESLQoHY2FwdHVyZRgjIAEoCzIXLndvcmxkLkNhcHR1cmVDb21wb25lbnRIFYgBARInCgRnbnNzGCogASgLMhQud29ybGQuR25zc0NvbXBvbmVudEgWiAEBEisKBmRldmljZRgyIAEoCzIWLndvcmxkLkRldmljZUNvbXBvbmVudEgXiAEBEicKBGxpbmsYICABKAsyFC53b3JsZC5MaW5rQ29tcG9uZW50SBiIAQESJwoEcG9zZRgmIAEoCzIULndvcmxkLlBvc2VDb21wb25lbnRIGYgBARI0Cgt0YXJnZXRfcG9zZRg+IAEoCzIaLndvcmxkLlRhcmdldFBvc2VDb21wb25lbnRIGogBARI0Cgtsb2NhbF9zaGFwZRgdIAEoCzIaLndvcmxkLkxvY2FsU2hhcGVDb21wb25lbnRIG4gBARIrCgZtZXRyaWMYJCABKAsyFi53b3JsZC5NZXRyaWNDb21wb25lbnRIHIgBARIyCgZjb25maWcYMyABKAsyHS53b3JsZC5Db25maWd1cmF0aW9uQ29tcG9uZW50SB2IAQESNwoMY29uZmlndXJhYmxlGDQgASgLMhwud29ybGQuQ29uZmlndXJhYmxlQ29tcG9uZW50SB6IAQESLwoIdGFza2FibGUYFyABKAsyGC53b3JsZC5UYXNrYWJsZUNvbXBvbmVudEgfiAEBEjoKDnRhc2tfZXhlY3V0aW9uGCkgASgLMh0ud29ybGQuVGFza0V4ZWN1dGlvbkNvbXBvbmVudEggiAEBEi0KB21pc3Npb24YHyABKAsyFy53b3JsZC5NaXNzaW9uQ29tcG9uZW50SCGIAQESKwoGc2Vuc29yGCUgASgLMhYud29ybGQuU2Vuc29yQ29tcG9uZW50SCKIAQESOQoNaW50ZXJhY3Rpdml0eRg8IAEoCzIdLndvcmxkLkludGVyYWN0aXZpdHlDb21wb25lbnRII4gBARIvCghhcnRpZmFjdBg9IAEoCzIYLndvcmxkLkFydGlmYWN0Q29tcG9uZW50SCSIAQESJwoEY2hhdBgnIAEoCzIULndvcmxkLkNoYXRDb21wb25lbnRIJYgBARIvCghhc3NlbWJseRgoIAEoCzIYLndvcmxkLkFzc2VtYmx5Q29tcG9uZW50SCaIAQESMAoJbWFwX2xheWVyGD8gASgLMhgud29ybGQuTWFwTGF5ZXJDb21wb25lbnRIJ4gBAUIICgZfbGFiZWxCDQoLX2NvbnRyb2xsZXJCCwoJX2xpZmV0aW1lQgsKCV9wcmlvcml0eUIICgZfbGVhc2VCCgoIX3JvdXRpbmdCBgoEX2dlb0IJCgdfc3ltYm9sQgkKB19jYW1lcmFCDAoKX2RldGVjdGlvbkIKCghfYmVhcmluZ0IICgZfdHJhY2tCCgoIX2xvY2F0b3JCDQoLX2tpbmVtYXRpY3NCCAoGX3NoYXBlQhEKD19jbGFzc2lmaWNhdGlvbkIOCgxfdHJhbnNwb25kZXJCEQoPX2FkbWluaXN0cmF0aXZlQg4KDF9vcmllbnRhdGlvbkINCgtfbmF2aWdhdGlvbkIICgZfcG93ZXJCCgoIX2NhcHR1cmVCBwoFX2duc3NCCQoHX2RldmljZUIHCgVfbGlua0IHCgVfcG9zZUIOCgxfdGFyZ2V0X3Bvc2VCDgoMX2xvY2FsX3NoYXBlQgkKB19tZXRyaWNCCQoHX2NvbmZpZ0IPCg1fY29uZmlndXJhYmxlQgsKCV90YXNrYWJsZUIRCg9fdGFza19leGVjdXRpb25CCgoIX21pc3Npb25CCQoHX3NlbnNvckIQCg5faW50ZXJhY3Rpdml0eUILCglfYXJ0aWZhY3RCBwoFX2NoYXRCCwoJX2Fzc2VtYmx5QgwKCl9tYXBfbGF5ZXJKBAgIEAlKBAgJEApKBAgKEAsiYAoKQ29udHJvbGxlchIPCgJpZBgBIAEoCUgAiAEBEhEKBG5vZGUYAiABKAlIAYgBARITCgZvcmlnaW4YAyABKAlIAogBAUIFCgNfaWRCBwoFX25vZGVCCQoHX29yaWdpbiJZCgVMZWFzZRISCgpjb250cm9sbGVyGAEgASgJEjAKB2V4cGlyZXMYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQFCCgoIX2V4cGlyZXMirwIKCExpZmV0aW1lEi0KBGZyb20YASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSACIAQESLgoFdW50aWwYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAGIAQESLgoFZnJlc2gYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQESMwoKY29tcG9uZW50cxgEIAMoCzIfLndvcmxkLkxpZmV0aW1lLkNvbXBvbmVudHNFbnRyeRpCCg9Db21wb25lbnRzRW50cnkSCwoDa2V5GAEgASgFEh4KBXZhbHVlGAIgASgLMg8ud29ybGQuTGlmZXRpbWU6AjgBQgcKBV9mcm9tQggKBl91bnRpbEIICgZfZnJlc2giFwoHQ2hhbm5lbBIMCgRuYW1lGAEgASgJIisKB1JvdXRpbmcSIAoIY2hhbm5lbHMYASADKAsyDi53b3JsZC5DaGFubmVsIp8BChNHZW9TcGF0aWFsQ29tcG9uZW50EhEKCWxvbmdpdHVkZRgBIAEoARIQCghsYXRpdHVkZRgCIAEoARIVCghhbHRpdHVkZRgDIAEoAUgAiAEBEjAKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SAGIAQFCCwoJX2FsdGl0dWRlQg0KC19jb3ZhcmlhbmNlIoUCCg1HbnNzQ29tcG9uZW50EikKCGZpeF90eXBlGAEgASgOMhIud29ybGQuR25zc0ZpeFR5cGVIAIgBARIfChJzYXRlbGxpdGVzX3Zpc2libGUYAiABKA1IAYgBARIcCg9zYXRlbGxpdGVzX3VzZWQYAyABKA1IAogBARIRCgRoZG9wGAQgASgCSAOIAQESEQoEdmRvcBgFIAEoAkgEiAEBEhEKBHBkb3AYBiABKAJIBYgBAUILCglfZml4X3R5cGVCFQoTX3NhdGVsbGl0ZXNfdmlzaWJsZUISChBfc2F0ZWxsaXRlc191c2VkQgcKBV9oZG9wQgcKBV92ZG9wQgcKBV9wZG9wIiYKD1N5bWJvbENvbXBvbmVudBITCgttaWxTdGQyNTI1QxgBIAEoCSJiChZJbnRlcmFjdGl2aXR5Q29tcG9uZW50EhEKBGljb24YASABKAlIAIgBARIaCg1yZWZlcmVuY2VfdXJsGAMgASgJSAGIAQFCBwoFX2ljb25CEAoOX3JlZmVyZW5jZV91cmwiygEKC01lZGlhU3RyZWFtEg0KBWxhYmVsGAEgASgJEgsKA3VybBgCIAEoCRIsCghwcm90b2NvbBgDIAEoDjIaLndvcmxkLk1lZGlhU3RyZWFtUHJvdG9jb2wSJAoEcm9sZRgJIAEoDjIWLndvcmxkLk1lZGlhU3RyZWFtUm9sZRINCgVjb2RlYxgKIAEoCRISCgV3aWR0aBgLIAEoBUgAiAEBEhMKBmhlaWdodBgMIAEoBUgBiAEBQggKBl93aWR0aEIJCgdfaGVpZ2h0Io4CCg9DYW1lcmFDb21wb25lbnQSIwoHc3RyZWFtcxgBIAMoCzISLndvcmxkLk1lZGlhU3RyZWFtEhgKC2ZvY2FsX3BvaW50GAIgASgJSACIAQESEAoDZm92GAMgASgBSAGIAQESFgoJcmFuZ2VfbWluGAQgASgBSAKIAQESFgoJcmFuZ2VfbWF4GAUgASgBSAOIAQESFQoIZm92X3dpZGUYBiABKAFIBIgBARIVCghmb3ZfdGVsZRgHIAEoAUgFiAEBQg4KDF9mb2NhbF9wb2ludEIGCgRfZm92QgwKCl9yYW5nZV9taW5CDAoKX3JhbmdlX21heEILCglfZm92X3dpZGVCCwoJX2Zvdl90ZWxlIh8KEEFydGlmYWN0TG9jYXRpb24SCwoDdXJsGAEgASgJIqgBChFBcnRpZmFjdENvbXBvbmVudBIKCgJpZBgBIAEoCRIUCgxjb250ZW50X3R5cGUYAiABKAkSKQoIbG9jYXRpb24YAyADKAsyFy53b3JsZC5BcnRpZmFjdExvY2F0aW9uEhcKCnNpemVfYnl0ZXMYBCABKANIAIgBARITCgZzaGEyNTYYBSABKAlIAYgBAUINCgtfc2l6ZV9ieXRlc0IJCgdfc2hhMjU2ItIBChJEZXRlY3Rpb25Db21wb25lbnQSHQoQZGV0ZWN0b3JFbnRpdHlJZBgBIAEoCUgAiAEBEhsKDmNsYXNzaWZpY2F0aW9uGAIgASgJSAGIAQESNQoMbGFzdE1lYXN1cmVkGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgCiAEBEhAKCGV2aWRlbmNlGAQgAygJQhMKEV9kZXRlY3RvckVudGl0eUlkQhEKD19jbGFzc2lmaWNhdGlvbkIPCg1fbGFzdE1lYXN1cmVkIloKEEJlYXJpbmdDb21wb25lbnQSFAoHYXppbXV0aBgBIAEoAUgAiAEBEhYKCWVsZXZhdGlvbhgCIAEoAUgBiAEBQgoKCF9hemltdXRoQgwKCl9lbGV2YXRpb24iIwoPU2Vuc29yQ29tcG9uZW50EhAKCGNvdmVyYWdlGAIgAygJIjgKClF1YXRlcm5pb24SCQoBeBgBIAEoARIJCgF5GAIgASgBEgkKAXoYAyABKAESCQoBdxgEIAEoASKuAQoQQ292YXJpYW5jZU1hdHJpeBIQCgNteHgYASABKAFIAIgBARIQCgNteHkYAiABKAFIAYgBARIQCgNteHoYAyABKAFIAogBARIQCgNteXkYBCABKAFIA4gBARIQCgNteXoYBSABKAFIBIgBARIQCgNtenoYBiABKAFIBYgBAUIGCgRfbXh4QgYKBF9teHlCBgoEX214ekIGCgRfbXl5QgYKBF9teXpCBgoEX216eiLMAQoPQ2FydGVzaWFuT2Zmc2V0Eg4KBmVhc3RfbRgBIAEoARIPCgdub3J0aF9tGAIgASgBEhEKBHVwX20YAyABKAFIAIgBARIwCgpjb3ZhcmlhbmNlGAQgASgLMhcud29ybGQuQ292YXJpYW5jZU1hdHJpeEgBiAEBEisKC29yaWVudGF0aW9uGAUgASgLMhEud29ybGQuUXVhdGVybmlvbkgCiAEBQgcKBV91cF9tQg0KC19jb3ZhcmlhbmNlQg4KDF9vcmllbnRhdGlvbiKCAwoLUG9sYXJPZmZzZXQSDwoHYXppbXV0aBgBIAEoARIWCgllbGV2YXRpb24YAiABKAFIAIgBARISCgVyYW5nZRgDIAEoAUgBiAEBEjQKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4QgIYAUgCiAEBEh4KEWF6aW11dGhfZXJyb3JfZGVnGAogASgBSAOIAQESIAoTZWxldmF0aW9uX2Vycm9yX2RlZxgLIAEoAUgEiAEBEhoKDXJhbmdlX2Vycm9yX20YDCABKAFIBYgBARIrCgtvcmllbnRhdGlvbhgFIAEoCzIRLndvcmxkLlF1YXRlcm5pb25IBogBAUIMCgpfZWxldmF0aW9uQggKBl9yYW5nZUINCgtfY292YXJpYW5jZUIUChJfYXppbXV0aF9lcnJvcl9kZWdCFgoUX2VsZXZhdGlvbl9lcnJvcl9kZWdCEAoOX3JhbmdlX2Vycm9yX21CDgoMX29yaWVudGF0aW9uInsKDVBvc2VDb21wb25lbnQSDgoGcGFyZW50GAEgASgJEisKCWNhcnRlc2lhbhgCIAEoCzIWLndvcmxkLkNhcnRlc2lhbk9mZnNldEgAEiMKBXBvbGFyGAMgASgLMhIud29ybGQuUG9sYXJPZmZzZXRIAEIICgZvZmZzZXQicQoTVGFyZ2V0UG9zZUNvbXBvbmVudBIrCgljYXJ0ZXNpYW4YASABKAsyFi53b3JsZC5DYXJ0ZXNpYW5PZmZzZXRIABIjCgVwb2xhchgCIAEoCzISLndvcmxkLlBvbGFyT2Zmc2V0SABCCAoGb2Zmc2V0IkoKD0FuZ3VsYXJWZWxvY2l0eRIRCglyb2xsX3JhdGUYASABKAESEgoKcGl0Y2hfcmF0ZRgCIAEoARIQCgh5YXdfcmF0ZRgDIAEoASJ/ChRPcmllbnRhdGlvbkNvbXBvbmVudBImCgtvcmllbnRhdGlvbhgBIAEoCzIRLndvcmxkLlF1YXRlcm5pb24SMAoKY292YXJpYW5jZRgCIAEoCzIXLndvcmxkLkNvdmFyaWFuY2VNYXRyaXhIAIgBAUINCgtfY292YXJpYW5jZSKQAQoOVHJhY2tDb21wb25lbnQSFAoHdHJhY2tlchgBIAEoCUgAiAEBEhQKB2hpc3RvcnkYAiABKAlIAYgBARIXCgpwcmVkaWN0aW9uGAMgASgJSAKIAQESEgoKZGV0ZWN0aW9ucxgEIAMoCUIKCghfdHJhY2tlckIKCghfaGlzdG9yeUINCgtfcHJlZGljdGlvbiIrChBMb2NhdG9yQ29tcG9uZW50EhcKD2xvY2F0ZWRFbnRpdHlJZBgBIAEoCSI1Cg9UYXNrYWJsZUNvbnRleHQSFQoIZW50aXR5SWQYASABKAlIAIgBAUILCglfZW50aXR5SWQiNgoQVGFza2FibGVBc3NpZ25lZRIVCghlbnRpdHlJZBgBIAEoCUgAiAEBQgsKCV9lbnRpdHlJZCKjAQoOVGFza2FibGVUYXJnZXQSKAoGZmlsdGVyGAEgASgLMhMud29ybGQuRW50aXR5RmlsdGVySACIAQESDgoGd2l0aGluGAIgAygJEhgKC21heF90YXJnZXRzGAMgASgNSAGIAQESFQoIcG9zaXRpb24YBCABKAhIAogBAUIJCgdfZmlsdGVyQg4KDF9tYXhfdGFyZ2V0c0ILCglfcG9zaXRpb24iwgMKEVRhc2thYmxlQ29tcG9uZW50EhUKCHByaW9yaXR5GAEgASgNSACIAQESEgoFbGFiZWwYAiABKAlIAYgBARInCgdjb250ZXh0GAMgAygLMhYud29ybGQuVGFza2FibGVDb250ZXh0EikKCGFzc2lnbmVlGAQgAygLMhcud29ybGQuVGFza2FibGVBc3NpZ25lZRInCgZzY2hlbWEYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EiEKBG1vZGUYBiABKA4yEy53b3JsZC5UYXNrYWJsZU1vZGUSKgoGdGFyZ2V0GAcgASgLMhUud29ybGQuVGFza2FibGVUYXJnZXRIAogBARIRCgRpY29uGAggASgJSAOIAQESEwoGZWZmZWN0GAkgASgJSASIAQESFQoIZ3JvdXBpbmcYCiABKAlIBYgBARIeChFncm91cGluZ19wcmlvcml0eRgLIAEoDUgGiAEBQgsKCV9wcmlvcml0eUIICgZfbGFiZWxCCQoHX3RhcmdldEIHCgVfaWNvbkIJCgdfZWZmZWN0QgsKCV9ncm91cGluZ0IUChJfZ3JvdXBpbmdfcHJpb3JpdHkiWgoTVGFza0V4ZWN1dGlvblRhcmdldBIOCgZlbnRpdHkYASADKAkSJgoIcG9zaXRpb24YAiABKAsyDy53b3JsZC5HZW9tZXRyeUgAiAEBQgsKCV9wb3NpdGlvbiKRAgoWVGFza0V4ZWN1dGlvbkNvbXBvbmVudBIMCgR0YXNrGAEgASgJEjAKCnBhcmFtZXRlcnMYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0SACIAQESKAoFc3RhdGUYAyABKA4yGS53b3JsZC5UYXNrRXhlY3V0aW9uU3RhdGUSEwoGcmVhc29uGAQgASgJSAGIAQESFQoIcHJpb3JpdHkYBSABKA1IAogBARIvCgZ0YXJnZXQYBiABKAsyGi53b3JsZC5UYXNrRXhlY3V0aW9uVGFyZ2V0SAOIAQFCDQoLX3BhcmFtZXRlcnNCCQoHX3JlYXNvbkILCglfcHJpb3JpdHlCCQoHX3RhcmdldCKiAQoNS2luZW1hdGljc0VudRIRCgRlYXN0GAEgASgBSACIAQESEgoFbm9ydGgYAiABKAFIAYgBARIPCgJ1cBgDIAEoAUgCiAEBEjAKCmNvdmFyaWFuY2UYBCABKAsyFy53b3JsZC5Db3ZhcmlhbmNlTWF0cml4SAOIAQFCBwoFX2Vhc3RCCAoGX25vcnRoQgUKA191cEINCgtfY292YXJpYW5jZSLvAQoTS2luZW1hdGljc0NvbXBvbmVudBIuCgt2ZWxvY2l0eUVudRgBIAEoCzIULndvcmxkLktpbmVtYXRpY3NFbnVIAIgBARIyCg9hY2NlbGVyYXRpb25FbnUYAiABKAsyFC53b3JsZC5LaW5lbWF0aWNzRW51SAGIAQESOAoTYW5ndWxhclZlbG9jaXR5Qm9keRgDIAEoCzIWLndvcmxkLkFuZ3VsYXJWZWxvY2l0eUgCiAEBQg4KDF92ZWxvY2l0eUVudUISChBfYWNjZWxlcmF0aW9uRW51QhYKFF9hbmd1bGFyVmVsb2NpdHlCb2R5IkIKCEdlb21ldHJ5Eg8KA3drYhgBIAEoDEICGAESJQoGcGxhbmFyGAIgASgLMhUud29ybGQuUGxhbmFyR2VvbWV0cnkiSAoRR2VvU2hhcGVDb21wb25lbnQSJgoIZ2VvbWV0cnkYASABKAsyDy53b3JsZC5HZW9tZXRyeUgAiAEBQgsKCV9nZW9tZXRyeSJkChNMb2NhbFNoYXBlQ29tcG9uZW50EhMKC3JlbGF0aXZlX3RvGAIgASgJEisKCGdlb21ldHJ5GAEgASgLMhQud29ybGQuTG9jYWxHZW9tZXRyeUgAiAEBQgsKCV9nZW9tZXRyeSKoAQoXQ2xhc3NpZmljYXRpb25Db21wb25lbnQSPAoJZGltZW5zaW9uGAEgASgOMiQud29ybGQuQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25IAIgBARI0CghpZGVudGl0eRgCIAEoDjIdLndvcmxkLkNsYXNzaWZpY2F0aW9uSWRlbnRpdHlIAYgBAUIMCgpfZGltZW5zaW9uQgsKCV9pZGVudGl0eSKUAQoOVHJhbnNwb25kZXJBSVMSEQoEbW1zaRgBIAEoDUgAiAEBEhAKA2ltbxgCIAEoDUgBiAEBEhUKCGNhbGxzaWduGAMgASgJSAKIAQESGAoLdmVzc2VsX25hbWUYBCABKAlIA4gBAUIHCgVfbW1zaUIGCgRfaW1vQgsKCV9jYWxsc2lnbkIOCgxfdmVzc2VsX25hbWUiYwoPVHJhbnNwb25kZXJBRFNCEhkKDGljYW9fYWRkcmVzcxgBIAEoDUgAiAEBEhYKCWZsaWdodF9pZBgCIAEoCUgBiAEBQg8KDV9pY2FvX2FkZHJlc3NCDAoKX2ZsaWdodF9pZCJ7ChRUcmFuc3BvbmRlckNvbXBvbmVudBInCgNhaXMYASABKAsyFS53b3JsZC5UcmFuc3BvbmRlckFJU0gAiAEBEikKBGFkc2IYAiABKAsyFi53b3JsZC5UcmFuc3BvbmRlckFEU0JIAYgBAUIGCgRfYWlzQgcKBV9hZHNiIqEDChdBZG1pbmlzdHJhdGl2ZUNvbXBvbmVudBIPCgJpZBgBIAEoCUgAiAEBEhEKBGZsYWcYAiABKAlIAYgBARISCgVvd25lchgDIAEoCUgCiAEBEhkKDG1hbnVmYWN0dXJlchgEIAEoCUgDiAEBEhIKBW1vZGVsGAUgASgJSASIAQESFwoKeWVhcl9idWlsdBgGIAEoDUgFiAEBEhUKCGxlbmd0aF9tGAcgASgCSAaIAQESFAoHd2lkdGhfbRgKIAEoAkgHiAEBEhUKCGhlaWdodF9tGAsgASgCSAiIAQESFwoKdG9ubmFnZV9ndBgIIAEoAkgJiAEBEhwKD2VuZ2luZV9wb3dlcl9rdxgJIAEoAkgKiAEBQgUKA19pZEIHCgVfZmxhZ0IICgZfb3duZXJCDwoNX21hbnVmYWN0dXJlckIICgZfbW9kZWxCDQoLX3llYXJfYnVpbHRCCwoJX2xlbmd0aF9tQgoKCF93aWR0aF9tQgsKCV9oZWlnaHRfbUINCgtfdG9ubmFnZV9ndEISChBfZW5naW5lX3Bvd2VyX2t3IvABChNOYXZpZ2F0aW9uQ29tcG9uZW50EigKBG1vZGUYASABKA4yFS53b3JsZC5OYXZpZ2F0aW9uTW9kZUgAiAEBEhIKBWFybWVkGAIgASgISAGIAQESFgoJZW1lcmdlbmN5GAMgASgISAKIAQESHQoQd2F5cG9pbnRfY3VycmVudBgEIAEoDUgDiAEBEhsKDndheXBvaW50X3RvdGFsGAUgASgNSASIAQFCBwoFX21vZGVCCAoGX2FybWVkQgwKCl9lbWVyZ2VuY3lCEwoRX3dheXBvaW50X2N1cnJlbnRCEQoPX3dheXBvaW50X3RvdGFsIq0BChBNaXNzaW9uQ29tcG9uZW50Eg8KB21lbWJlcnMYASADKAkSGAoLZGVzY3JpcHRpb24YAiABKAlIAIgBARIYCgtkZXN0aW5hdGlvbhgDIAEoCUgBiAEBEiwKA2V0YRgEIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIAogBAUIOCgxfZGVzY3JpcHRpb25CDgoMX2Rlc3RpbmF0aW9uQgYKBF9ldGEirAQKDUxpbmtDb21wb25lbnQSJgoGc3RhdHVzGAEgASgOMhEud29ybGQuTGlua1N0YXR1c0gAiAEBEhUKCHJzc2lfZGJtGAIgASgRSAGIAQESEwoGc25yX2RiGAMgASgRSAKIAQESEAoDdmlhGAUgASgJSAOIAQESHAoPbGFzdF9sYXRlbmN5X21zGAYgASgNSASIAQESGwoOYXZnX2xhdGVuY3lfbXMYByABKA1IBYgBARIyCglsYXN0X3NlZW4YCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAaIAQESIQoUbGlua19xdWFsaXR5X3BlcmNlbnQYCSABKA1IB4gBARIYCgt0eF9wb3dlcl9tdxgKIAEoDUgIiAEBEhsKDmFjdGl2ZV9hbnRlbm5hGAsgASgNSAmIAQESFAoHcmZfbW9kZRgMIAEoCUgKiAEBEhsKDnBhY2tldF9yYXRlX2h6GA0gASgNSAuIAQFCCQoHX3N0YXR1c0ILCglfcnNzaV9kYm1CCQoHX3Nucl9kYkIGCgRfdmlhQhIKEF9sYXN0X2xhdGVuY3lfbXNCEQoPX2F2Z19sYXRlbmN5X21zQgwKCl9sYXN0X3NlZW5CFwoVX2xpbmtfcXVhbGl0eV9wZXJjZW50Qg4KDF90eF9wb3dlcl9td0IRCg9fYWN0aXZlX2FudGVubmFCCgoIX3JmX21vZGVCEQoPX3BhY2tldF9yYXRlX2h6Iv0BChBDYXB0dXJlQ29tcG9uZW50EhQKB3BheWxvYWQYASABKAxIAIgBARIRCgRwb3J0GAIgASgNSAGIAQESGQoMY29udGVudF90eXBlGAMgASgJSAKIAQESGAoLY2FwdHVyZWRfYnkYBCABKAlIA4gBARI0CgtjYXB0dXJlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBIBIgBARIPCgdjb250ZW50GAYgAygJQgoKCF9wYXlsb2FkQgcKBV9wb3J0Qg8KDV9jb250ZW50X3R5cGVCDgoMX2NhcHR1cmVkX2J5Qg4KDF9jYXB0dXJlZF9hdCKIAgoOUG93ZXJDb21wb25lbnQSJQoYYmF0dGVyeV9jaGFyZ2VfcmVtYWluaW5nGAEgASgCSACIAQESFAoHdm9sdGFnZRgCIAEoAkgBiAEBEh4KEXJlbWFpbmluZ19zZWNvbmRzGAMgASgNSAKIAQESFgoJY3VycmVudF9hGAQgASgCSAOIAQESHgoRY2FwYWNpdHlfdXNlZF9tYWgYBSABKAJIBIgBAUIbChlfYmF0dGVyeV9jaGFyZ2VfcmVtYWluaW5nQgoKCF92b2x0YWdlQhQKEl9yZW1haW5pbmdfc2Vjb25kc0IMCgpfY3VycmVudF9hQhQKEl9jYXBhY2l0eV91c2VkX21haCIxChFEZXZpY2VDbGFzc09wdGlvbhINCgVjbGFzcxgBIAEoCRINCgVsYWJlbBgCIAEoCSLqAgoVQ29uZmlndXJhYmxlQ29tcG9uZW50EicKBnNjaGVtYRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJgoFdmFsdWUYAiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EicKBXN0YXRlGAMgASgOMhgud29ybGQuQ29uZmlndXJhYmxlU3RhdGUSEgoFZXJyb3IYBCABKAlIAIgBARISCgVsYWJlbBgFIAEoCUgBiAEBEhcKD2FwcGxpZWRfdmVyc2lvbhgGIAEoBBI6ChhzdXBwb3J0ZWRfZGV2aWNlX2NsYXNzZXMYByADKAsyGC53b3JsZC5EZXZpY2VDbGFzc09wdGlvbhI1CgxzY2hlZHVsZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wSAKIAQFCCAoGX2Vycm9yQggKBl9sYWJlbEIPCg1fc2NoZWR1bGVkX2F0IpQFCg9EZXZpY2VDb21wb25lbnQSEwoGcGFyZW50GAEgASgJSACIAQESEwoLY29tcG9zaXRpb24YAiADKAkSHwoSdW5pcXVlX2hhcmR3YXJlX2lkGAQgASgJSAGIAQESIQoFc3RhdGUYBiABKA4yEi53b3JsZC5EZXZpY2VTdGF0ZRISCgVlcnJvchgHIAEoCUgCiAEBEhIKBWNsYXNzGAogASgJSAOIAQESFQoIY2F0ZWdvcnkYDSABKAlIBIgBARIkCgRub2RlGBQgASgLMhEud29ybGQuTm9kZURldmljZUgFiAEBEiIKA3VzYhgVIAEoCzIQLndvcmxkLlVzYkRldmljZUgGiAEBEiAKAmlwGBYgASgLMg8ud29ybGQuSXBEZXZpY2VIB4gBARIoCgZzZXJpYWwYFyABKAsyEy53b3JsZC5TZXJpYWxEZXZpY2VICIgBARIsCghldGhlcm5ldBgYIAEoCzIVLndvcmxkLkV0aGVybmV0RGV2aWNlSAmIAQESJgoFbHB3YW4YGSABKAsyEi53b3JsZC5MUFdBTkRldmljZUgKiAEBEjAKCm1lc2h0YXN0aWMYGiABKAsyFy53b3JsZC5NZXNodGFzdGljRGV2aWNlSAuIAQESIgoDYmxlGBsgASgLMhAud29ybGQuQmxlRGV2aWNlSAyIAQFCCQoHX3BhcmVudEIVChNfdW5pcXVlX2hhcmR3YXJlX2lkQggKBl9lcnJvckIICgZfY2xhc3NCCwoJX2NhdGVnb3J5QgcKBV9ub2RlQgYKBF91c2JCBQoDX2lwQgkKB19zZXJpYWxCCwoJX2V0aGVybmV0QggKBl9scHdhbkINCgtfbWVzaHRhc3RpY0IGCgRfYmxlIm0KCk1pc3Npb25LaXQSLwoHbGF5b3V0cxgBIAMoCzIeLndvcmxkLk1pc3Npb25LaXQuTGF5b3V0c0VudHJ5Gi4KDExheW91dHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIt0CCgpOb2RlRGV2aWNlEhUKCGhvc3RuYW1lGAEgASgJSACIAQESDwoCb3MYAiABKAlIAYgBARIRCgRhcmNoGAMgASgJSAKIAQESFAoHbnVtX2NwdRgEIAEoDUgDiAEBEhcKCm9zX3ZlcnNpb24YBSABKAlIBIgBARIbCg5oeWRyaXNfdmVyc2lvbhgGIAEoCUgFiAEBEiQKF2h5ZHJpc191cGRhdGVfYXZhaWxhYmxlGAcgASgJSAaIAQESKwoLbWlzc2lvbl9raXQYCCABKAsyES53b3JsZC5NaXNzaW9uS2l0SAeIAQFCCwoJX2hvc3RuYW1lQgUKA19vc0IHCgVfYXJjaEIKCghfbnVtX2NwdUINCgtfb3NfdmVyc2lvbkIRCg9faHlkcmlzX3ZlcnNpb25CGgoYX2h5ZHJpc191cGRhdGVfYXZhaWxhYmxlQg4KDF9taXNzaW9uX2tpdCL5AgoJVXNiRGV2aWNlEhYKCXZlbmRvcl9pZBgBIAEoDUgAiAEBEhcKCnByb2R1Y3RfaWQYAiABKA1IAYgBARIZCgxkZXZpY2VfY2xhc3MYAyABKA1IAogBARIcCg9kZXZpY2Vfc3ViY2xhc3MYBCABKA1IA4gBARIcCg9kZXZpY2VfcHJvdG9jb2wYBSABKA1IBIgBARIeChFtYW51ZmFjdHVyZXJfbmFtZRgGIAEoCUgFiAEBEhkKDHByb2R1Y3RfbmFtZRgHIAEoCUgGiAEBEhoKDXNlcmlhbF9udW1iZXIYCCABKAlIB4gBAUIMCgpfdmVuZG9yX2lkQg0KC19wcm9kdWN0X2lkQg8KDV9kZXZpY2VfY2xhc3NCEgoQX2RldmljZV9zdWJjbGFzc0ISChBfZGV2aWNlX3Byb3RvY29sQhQKEl9tYW51ZmFjdHVyZXJfbmFtZUIPCg1fcHJvZHVjdF9uYW1lQhAKDl9zZXJpYWxfbnVtYmVyIkIKCElwRGV2aWNlEhEKBGhvc3QYASABKAlIAIgBARIRCgRwb3J0GAIgASgNSAGIAQFCBwoFX2hvc3RCBwoFX3BvcnQiWgoORXRoZXJuZXREZXZpY2USGAoLbWFjX2FkZHJlc3MYASABKAlIAIgBARITCgZ2ZW5kb3IYAiABKAlIAYgBAUIOCgxfbWFjX2FkZHJlc3NCCQoHX3ZlbmRvciJQCgxTZXJpYWxEZXZpY2USEQoEcGF0aBgBIAEoCUgAiAEBEhYKCWJhdWRfcmF0ZRgCIAEoDUgBiAEBQgcKBV9wYXRoQgwKCl9iYXVkX3JhdGUi3AEKEE1lc2h0YXN0aWNEZXZpY2USFQoIbm9kZV9udW0YASABKA1IAIgBARIWCglsb25nX25hbWUYAiABKAlIAYgBARIXCgpzaG9ydF9uYW1lGAMgASgJSAKIAQESGwoOaGFyZHdhcmVfbW9kZWwYBCABKAlIA4gBARIXCgpwdWJsaWNfa2V5GAUgASgMSASIAQFCCwoJX25vZGVfbnVtQgwKCl9sb25nX25hbWVCDQoLX3Nob3J0X25hbWVCEQoPX2hhcmR3YXJlX21vZGVsQg0KC19wdWJsaWNfa2V5IkkKC0xQV0FORGV2aWNlEhAKA2V1aRgBIAEoCUgAiAEBEhQKB2FkZHJlc3MYAiABKAlIAYgBAUIGCgRfZXVpQgoKCF9hZGRyZXNzImAKCUJsZURldmljZRIUCgdhZGRyZXNzGAEgASgJSACIAQESEQoEbmFtZRgCIAEoCUgBiAEBEhUKDXNlcnZpY2VfdXVpZHMYBCADKAlCCgoIX2FkZHJlc3NCBwoFX25hbWUiUQoWQ29uZmlndXJhdGlvbkNvbXBvbmVudBImCgV2YWx1ZRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHdmVyc2lvbhgFIAEoBCKgAQoNQ2hhdENvbXBvbmVudBITCgZzZW5kZXIYASABKAlIAIgBARIPCgJ0bxgDIAEoCUgBiAEBEg8KB21lc3NhZ2UYBCABKAkSFQoIcmVwbHlfdG8YBSABKAlIAogBARIVCghyZWFjdGlvbhgGIAEoCEgDiAEBQgkKB19zZW5kZXJCBQoDX3RvQgsKCV9yZXBseV90b0ILCglfcmVhY3Rpb24iRAoRQXNzZW1ibHlDb21wb25lbnQSEwoGcGFyZW50GAEgASgJSACIAQESDwoHb3V0bGluZRgCIAMoCUIJCgdfcGFyZW50IoUCChFNYXBMYXllckNvbXBvbmVudBIPCgd6X2luZGV4GAEgASgFEg8KB29wYWNpdHkYAiABKAISLgoFdGlsZXMYCiABKAsyHS53b3JsZC5NYXBMYXllckNvbXBvbmVudC5UaWxlSAASLwoFaW1hZ2UYCyABKAsyHi53b3JsZC5NYXBMYXllckNvbXBvbmVudC5JbWFnZUgAGhMKBFRpbGUSCwoDdXJsGAEgASgJGk4KBUltYWdlEgsKA3VybBgBIAEoCRIMCgR3ZXN0GAIgASgBEg0KBXNvdXRoGAMgASgBEgwKBGVhc3QYBCABKAESDQoFbm9ydGgYBSABKAFCCAoGc291cmNlItUECgxFbnRpdHlGaWx0ZXISDwoCaWQYASABKAlIAIgBARISCgVsYWJlbBgCIAEoCUgBiAEBEiIKA2dlbxgDIAEoCzIQLndvcmxkLkdlb0ZpbHRlckgCiAEBEiwKCHRhc2thYmxlGAQgASgLMhUud29ybGQuVGFza2FibGVGaWx0ZXJIA4gBARIRCgljb21wb25lbnQYBSADKA0SMAoKY29udHJvbGxlchgHIAEoCzIXLndvcmxkLkNvbnRyb2xsZXJGaWx0ZXJIBIgBARImCgV0cmFjaxgIIAEoCzISLndvcmxkLlRyYWNrRmlsdGVySAWIAQESKgoHbWlzc2lvbhgJIAEoCzIULndvcmxkLk1pc3Npb25GaWx0ZXJIBogBARIqCgdjaGFubmVsGAogASgLMhQud29ybGQuQ2hhbm5lbEZpbHRlckgHiAEBEigKBmRldmljZRgyIAEoCzITLndvcmxkLkRldmljZUZpbHRlckgIiAEBEi8KBmNvbmZpZxgzIAEoCzIaLndvcmxkLkNvbmZpZ3VyYXRpb25GaWx0ZXJICYgBARIfCgJvchhkIAMoCzITLndvcmxkLkVudGl0eUZpbHRlchIgCgNub3QYZSABKAsyEy53b3JsZC5FbnRpdHlGaWx0ZXJCBQoDX2lkQggKBl9sYWJlbEIGCgRfZ2VvQgsKCV90YXNrYWJsZUINCgtfY29udHJvbGxlckIICgZfdHJhY2tCCgoIX21pc3Npb25CCgoIX2NoYW5uZWxCCQoHX2RldmljZUIJCgdfY29uZmlnIioKEENvbnRyb2xsZXJGaWx0ZXISDwoCaWQYASABKAlIAIgBAUIFCgNfaWQiLwoLVHJhY2tGaWx0ZXISFAoHdHJhY2tlchgBIAEoCUgAiAEBQgoKCF90cmFja2VyIl0KDU1pc3Npb25GaWx0ZXISFwoKbWlzc2lvbl9pZBgBIAEoCUgAiAEBEhYKCW1lbWJlcl9pZBgCIAEoCUgBiAEBQg0KC19taXNzaW9uX2lkQgwKCl9tZW1iZXJfaWQihwEKDlRhc2thYmxlRmlsdGVyEiwKB2NvbnRleHQYASABKAsyFi53b3JsZC5UYXNrYWJsZUNvbnRleHRIAIgBARIuCghhc3NpZ25lZRgCIAEoCzIXLndvcmxkLlRhc2thYmxlQXNzaWduZWVIAYgBAUIKCghfY29udGV4dEILCglfYXNzaWduZWUiTgoJR2VvRmlsdGVyEiMKCGdlb21ldHJ5GAEgASgLMg8ud29ybGQuR2VvbWV0cnlIABIVCgtnZW9FbnRpdHlJZBgCIAEoCUgAQgUKA2dlbyL2AQoMRGV2aWNlRmlsdGVyEhMKBnBhcmVudBgBIAEoCUgAiAEBEh8KEnVuaXF1ZV9oYXJkd2FyZV9pZBgEIAEoCUgBiAEBEhkKDGRldmljZV9jbGFzcxgFIAEoCUgCiAEBEigKA2JsZRgGIAEoCzIWLndvcmxkLkJsZURldmljZUZpbHRlckgDiAEBEigKA3VzYhgHIAEoCzIWLndvcmxkLlVzYkRldmljZUZpbHRlckgEiAEBQgkKB19wYXJlbnRCFQoTX3VuaXF1ZV9oYXJkd2FyZV9pZEIPCg1fZGV2aWNlX2NsYXNzQgYKBF9ibGVCBgoEX3VzYiJmCg9CbGVEZXZpY2VGaWx0ZXISFAoHYWRkcmVzcxgBIAEoCUgAiAEBEhEKBG5hbWUYAiABKAlIAYgBARIVCg1zZXJ2aWNlX3V1aWRzGAQgAygJQgoKCF9hZGRyZXNzQgcKBV9uYW1lIv8CCg9Vc2JEZXZpY2VGaWx0ZXISFgoJdmVuZG9yX2lkGAEgASgNSACIAQESFwoKcHJvZHVjdF9pZBgCIAEoDUgBiAEBEhkKDGRldmljZV9jbGFzcxgDIAEoDUgCiAEBEhwKD2RldmljZV9zdWJjbGFzcxgEIAEoDUgDiAEBEhwKD2RldmljZV9wcm90b2NvbBgFIAEoDUgEiAEBEh4KEW1hbnVmYWN0dXJlcl9uYW1lGAYgASgJSAWIAQESGQoMcHJvZHVjdF9uYW1lGAcgASgJSAaIAQESGgoNc2VyaWFsX251bWJlchgIIAEoCUgHiAEBQgwKCl92ZW5kb3JfaWRCDQoLX3Byb2R1Y3RfaWRCDwoNX2RldmljZV9jbGFzc0ISChBfZGV2aWNlX3N1YmNsYXNzQhIKEF9kZXZpY2VfcHJvdG9jb2xCFAoSX21hbnVmYWN0dXJlcl9uYW1lQg8KDV9wcm9kdWN0X25hbWVCEAoOX3NlcmlhbF9udW1iZXIiFQoTQ29uZmlndXJhdGlvbkZpbHRlciIdCg1DaGFubmVsRmlsdGVyEgwKBG5hbWUYASABKAkikwEKClNvcnRPcHRpb24SHwoFZmllbGQYASABKA4yEC53b3JsZC5Tb3J0RmllbGQSEgoKZGVzY2VuZGluZxgCIAEoCBITCgltZXRyaWNfaWQYFCABKA1IABIoCgttZXRyaWNfa2luZBgVIAEoDjIRLndvcmxkLk1ldHJpY0tpbmRIAEIRCg9tZXRyaWNfc2VsZWN0b3IitAEKDVdhdGNoQmVoYXZpb3ISGAoLbWF4X3JhdGVfaHoYASABKAJIAIgBARIqCgxtaW5fcHJpb3JpdHkYAyABKA4yDy53b3JsZC5Qcmlvcml0eUgBiAEBEiIKFWtlZXBhbGl2ZV9pbnRlcnZhbF9tcxgEIAEoDUgCiAEBQg4KDF9tYXhfcmF0ZV9oekIPCg1fbWluX3ByaW9yaXR5QhgKFl9rZWVwYWxpdmVfaW50ZXJ2YWxfbXMinQEKE0xpc3RFbnRpdGllc1JlcXVlc3QSIwoGZmlsdGVyGAIgASgLMhMud29ybGQuRW50aXR5RmlsdGVyEh8KBHNvcnQYAyADKAsyES53b3JsZC5Tb3J0T3B0aW9uEiwKCWJlaGF2aW91chgEIAEoCzIULndvcmxkLldhdGNoQmVoYXZpb3JIAIgBAUIMCgpfYmVoYXZpb3VySgQIARACIjcKFExpc3RFbnRpdGllc1Jlc3BvbnNlEh8KCGVudGl0aWVzGAEgAygLMg0ud29ybGQuRW50aXR5IloKE0VudGl0eUNoYW5nZVJlcXVlc3QSHgoHY2hhbmdlcxgBIAMoCzINLndvcmxkLkVudGl0eRIjCgxyZXBsYWNlbWVudHMYAiADKAsyDS53b3JsZC5FbnRpdHkiIQoTRXhwaXJlRW50aXR5UmVxdWVzdBIKCgJpZBgBIAEoCSIWChRFeHBpcmVFbnRpdHlSZXNwb25zZSI3ChRFbnRpdHlDaGFuZ2VSZXNwb25zZRIQCghhY2NlcHRlZBgBIAEoCBINCgVkZWJ1ZxgCIAEoCSJSChFFbnRpdHlDaGFuZ2VFdmVudBIdCgZlbnRpdHkYASABKAsyDS53b3JsZC5FbnRpdHkSHgoBdBgCIAEoDjITLndvcmxkLkVudGl0eUNoYW5nZSI9ChFFbnRpdHlDaGFuZ2VCYXRjaBIoCgZldmVudHMYASADKAsyGC53b3JsZC5FbnRpdHlDaGFuZ2VFdmVudCIeChBHZXRFbnRpdHlSZXF1ZXN0EgoKAmlkGAEgASgJIjIKEUdldEVudGl0eVJlc3BvbnNlEh0KBmVudGl0eRgBIAEoCzINLndvcmxkLkVudGl0eSIVChNHZXRMb2NhbE5vZGVSZXF1ZXN0IkYKFEdldExvY2FsTm9kZVJlc3BvbnNlEh0KBmVudGl0eRgBIAEoCzINLndvcmxkLkVudGl0eRIPCgdub2RlX2lkGAIgASgJIhEKD09ic2VydmVyUmVxdWVzdCJzCg1PYnNlcnZlclN0YXRlEhwKA2dlbxgBIAEoCzIPLndvcmxkLkdlb21ldHJ5EjQKC3ZpZXdIaXN0b3J5GAIgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcEgAiAEBQg4KDF92aWV3SGlzdG9yeSKCAQoOUnVuVGFza1JlcXVlc3QSEAoIZW50aXR5SWQYASABKAkSFQoIcHJpb3JpdHkYAiABKA1IAIgBARIvCgZ0YXJnZXQYBiABKAsyGi53b3JsZC5UYXNrRXhlY3V0aW9uVGFyZ2V0SAGIAQFCCwoJX3ByaW9yaXR5QgkKB190YXJnZXQigwEKD1J1blRhc2tSZXNwb25zZRITCgtleGVjdXRpb25JZBgBIAEoCRIhCgZzdGF0dXMYAiABKA4yES53b3JsZC5UYXNrU3RhdHVzEiAKE2h1bWFuUmVhZGFibGVSZWFzb24YAyABKAlIAIgBAUIWChRfaHVtYW5SZWFkYWJsZVJlYXNvbiI6ChBIYXJkUmVzZXRSZXF1ZXN0EhcKCm1pc3Npb25faWQYASABKAlIAIgBAUINCgtfbWlzc2lvbl9pZCITChFIYXJkUmVzZXRSZXNwb25zZSI5Cg9UaW1lU3luY1JlcXVlc3QSJgoCdDEYASABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIooBChBUaW1lU3luY1Jlc3BvbnNlEiYKAnQxGAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBImCgJ0MhgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASJgoCdDMYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wKmIKCFByaW9yaXR5EhcKE1ByaW9yaXR5VW5zcGVjaWZpZWQQABITCg9Qcmlvcml0eVJvdXRpbmUQARIVChFQcmlvcml0eUltbWVkaWF0ZRACEhEKDVByaW9yaXR5Rmxhc2gQAyqPAQoLR25zc0ZpeFR5cGUSEwoPR25zc0ZpeFR5cGVOb25lEAASEQoNR25zc0ZpeFR5cGUyRBABEhEKDUduc3NGaXhUeXBlM0QQAhITCg9HbnNzRml4VHlwZURHUFMQAxIXChNHbnNzRml4VHlwZVJ0a0Zsb2F0EAQSFwoTR25zc0ZpeFR5cGVSdGtGaXhlZBAFKuwBChNNZWRpYVN0cmVhbVByb3RvY29sEiIKHk1lZGlhU3RyZWFtUHJvdG9jb2xVbnNwZWNpZmllZBAAEh0KGU1lZGlhU3RyZWFtUHJvdG9jb2xXZWJydGMQARIaChZNZWRpYVN0cmVhbVByb3RvY29sSGxzEAISHAoYTWVkaWFTdHJlYW1Qcm90b2NvbE1qcGVnEAMSHAoYTWVkaWFTdHJlYW1Qcm90b2NvbEltYWdlEAQSHQoZTWVkaWFTdHJlYW1Qcm90b2NvbElmcmFtZRAFEhsKF01lZGlhU3RyZWFtUHJvdG9jb2xSdHNwEAYqfwoPTWVkaWFTdHJlYW1Sb2xlEh4KGk1lZGlhU3RyZWFtUm9sZVVuc3BlY2lmaWVkEAASFwoTTWVkaWFTdHJlYW1Sb2xlTWFpbhABEhYKEk1lZGlhU3RyZWFtUm9sZVN1YhACEhsKF01lZGlhU3RyZWFtUm9sZVNuYXBzaG90EAMqegoMVGFza2FibGVNb2RlEhkKFVRhc2thYmxlTW9kZUV4Y2x1c2l2ZRAAEhkKFVRhc2thYmxlTW9kZVJlY29uY2lsZRABEhUKEVRhc2thYmxlTW9kZVNwYXduEAISHQoZVGFza2FibGVNb2RlUHJpb3JpdHlRdWV1ZRADKpEBChJUYXNrRXhlY3V0aW9uU3RhdGUSHQoZVGFza0V4ZWN1dGlvblN0YXRlUGVuZGluZxAAEh0KGVRhc2tFeGVjdXRpb25TdGF0ZVJ1bm5pbmcQARIfChtUYXNrRXhlY3V0aW9uU3RhdGVDb21wbGV0ZWQQAhIcChhUYXNrRXhlY3V0aW9uU3RhdGVGYWlsZWQQAyqMAgoWQ2xhc3NpZmljYXRpb25JZGVudGl0eRIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5SW52YWxpZBAAEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlQZW5kaW5nEAESIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eVVua25vd24QAhIgChxDbGFzc2lmaWNhdGlvbklkZW50aXR5RnJpZW5kEAMSIQodQ2xhc3NpZmljYXRpb25JZGVudGl0eU5ldXRyYWwQBBIhCh1DbGFzc2lmaWNhdGlvbklkZW50aXR5SG9zdGlsZRAFEiEKHUNsYXNzaWZpY2F0aW9uSWRlbnRpdHlTdXNwZWN0EAYqxAIKHUNsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uEigKJENsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uSW52YWxpZBAAEigKJENsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uVW5rbm93bhABEiYKIkNsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uU3BhY2UQAhIkCiBDbGFzc2lmaWNhdGlvbkJhdHRsZURpbWVuc2lvbkFpchADEicKI0NsYXNzaWZpY2F0aW9uQmF0dGxlRGltZW5zaW9uR3JvdW5kEAQSKwonQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25TZWFTdXJmYWNlEAUSKwonQ2xhc3NpZmljYXRpb25CYXR0bGVEaW1lbnNpb25TdWJzdXJmYWNlEAYq9gEKDk5hdmlnYXRpb25Nb2RlEh0KGU5hdmlnYXRpb25Nb2RlVW5zcGVjaWZpZWQQABIZChVOYXZpZ2F0aW9uTW9kZVBsYW5uZWQQARIcChhOYXZpZ2F0aW9uTW9kZVN0YXRpb25hcnkQAhIaChZOYXZpZ2F0aW9uTW9kZVVuZGVyd2F5EAMSHAoYTmF2aWdhdGlvbk1vZGVBdXRvbm9tb3VzEAQSGAoUTmF2aWdhdGlvbk1vZGVHdWlkZWQQBRIbChdOYXZpZ2F0aW9uTW9kZUxvaXRlcmluZxAGEhsKF05hdmlnYXRpb25Nb2RlUmV0dXJuaW5nEAcqbAoKTGlua1N0YXR1cxIZChVMaW5rU3RhdHVzVW5zcGVjaWZpZWQQABIXChNMaW5rU3RhdHVzQ29ubmVjdGVkEAESFgoSTGlua1N0YXR1c0RlZ3JhZGVkEAISEgoOTGlua1N0YXR1c0xvc3QQAypTCgtEZXZpY2VTdGF0ZRIWChJEZXZpY2VTdGF0ZVBlbmRpbmcQABIVChFEZXZpY2VTdGF0ZUFjdGl2ZRABEhUKEURldmljZVN0YXRlRmFpbGVkEAIqygEKEUNvbmZpZ3VyYWJsZVN0YXRlEh0KGUNvbmZpZ3VyYWJsZVN0YXRlSW5hY3RpdmUQABIdChlDb25maWd1cmFibGVTdGF0ZVN0YXJ0aW5nEAESGwoXQ29uZmlndXJhYmxlU3RhdGVBY3RpdmUQAhIbChdDb25maWd1cmFibGVTdGF0ZUZhaWxlZBADEh0KGUNvbmZpZ3VyYWJsZVN0YXRlQ29uZmxpY3QQBBIeChpDb25maWd1cmFibGVTdGF0ZVNjaGVkdWxlZBAFKp4ICglTb3J0RmllbGQSGAoUU29ydEZpZWxkVW5zcGVjaWZpZWQQABISCg5Tb3J0RmllbGRMYWJlbBABEhUKEVNvcnRGaWVsZFByaW9yaXR5EAISGQoVU29ydEZpZWxkTGlmZXRpbWVGcm9tEAoSGgoWU29ydEZpZWxkTGlmZXRpbWVVbnRpbBALEhoKFlNvcnRGaWVsZExpZmV0aW1lRnJlc2gQDBIYChRTb3J0RmllbGRHZW9MYXRpdHVkZRAUEhkKFVNvcnRGaWVsZEdlb0xvbmdpdHVkZRAVEhgKFFNvcnRGaWVsZEdlb0FsdGl0dWRlEBYSIwofU29ydEZpZWxkQ2xhc3NpZmljYXRpb25JZGVudGl0eRAeEiQKIFNvcnRGaWVsZENsYXNzaWZpY2F0aW9uRGltZW5zaW9uEB8SGwoXU29ydEZpZWxkQmVhcmluZ0F6aW11dGgQMhIdChlTb3J0RmllbGRCZWFyaW5nRWxldmF0aW9uEDMSIQodU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVMZW5ndGgQRhIgChxTb3J0RmllbGRBZG1pbmlzdHJhdGl2ZVdpZHRoEEcSIQodU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVIZWlnaHQQSBIiCh5Tb3J0RmllbGRBZG1pbmlzdHJhdGl2ZVRvbm5hZ2UQSRImCiJTb3J0RmllbGRBZG1pbmlzdHJhdGl2ZUVuZ2luZVBvd2VyEEoSJAogU29ydEZpZWxkQWRtaW5pc3RyYXRpdmVZZWFyQnVpbHQQSxIVChFTb3J0RmllbGRMaW5rUnNzaRBaEhQKEFNvcnRGaWVsZExpbmtTbnIQWxIcChhTb3J0RmllbGRMaW5rTGFzdExhdGVuY3kQXBIbChdTb3J0RmllbGRMaW5rQXZnTGF0ZW5jeRBdEhgKFFNvcnRGaWVsZExpbmtRdWFsaXR5EF4SGQoVU29ydEZpZWxkTGlua0xhc3RTZWVuEF8SGwoXU29ydEZpZWxkTGlua1BhY2tldFJhdGUQYBIfChtTb3J0RmllbGRQb3dlckJhdHRlcnlDaGFyZ2UQZBIZChVTb3J0RmllbGRQb3dlclZvbHRhZ2UQZRIiCh5Tb3J0RmllbGRQb3dlclJlbWFpbmluZ1NlY29uZHMQZhIZChVTb3J0RmllbGRQb3dlckN1cnJlbnQQZxIeChpTb3J0RmllbGRQb3dlckNhcGFjaXR5VXNlZBBoEhkKFFNvcnRGaWVsZERldmljZVN0YXRlEIIBEhkKFFNvcnRGaWVsZE1ldHJpY1ZhbHVlEJYBEh4KGVNvcnRGaWVsZE1ldHJpY01lYXN1cmVkQXQQlwESHgoZU29ydEZpZWxkTWV0cmljQWxlcnRMZXZlbBCYASp1CgxFbnRpdHlDaGFuZ2USFwoTRW50aXR5Q2hhbmdlSW52YWxpZBAAEhcKE0VudGl0eUNoYW5nZVVwZGF0ZWQQARIXChNFbnRpdHlDaGFuZ2VFeHBpcmVkEAISGgoWRW50aXR5Q2hhbmdlVW5vYnNlcnZlZBADKpIJCg9FbnRpdHlDb21wb25lbnQSHgoaRW50aXR5Q29tcG9uZW50VW5zcGVjaWZpZWQQABIYChRFbnRpdHlDb21wb25lbnRMYWJlbBACEh0KGUVudGl0eUNvbXBvbmVudENvbnRyb2xsZXIQAxIbChdFbnRpdHlDb21wb25lbnRMaWZldGltZRAEEhsKF0VudGl0eUNvbXBvbmVudFByaW9yaXR5EAUSGAoURW50aXR5Q29tcG9uZW50TGVhc2UQBhIaChZFbnRpdHlDb21wb25lbnRSb3V0aW5nEAcSFgoSRW50aXR5Q29tcG9uZW50R2VvEAsSGQoVRW50aXR5Q29tcG9uZW50U3ltYm9sEAwSGQoVRW50aXR5Q29tcG9uZW50Q2FtZXJhEA8SHAoYRW50aXR5Q29tcG9uZW50RGV0ZWN0aW9uEBASGgoWRW50aXR5Q29tcG9uZW50QmVhcmluZxAREhgKFEVudGl0eUNvbXBvbmVudFRyYWNrEBUSGgoWRW50aXR5Q29tcG9uZW50TG9jYXRvchAWEhsKF0VudGl0eUNvbXBvbmVudFRhc2thYmxlEBcSHQoZRW50aXR5Q29tcG9uZW50S2luZW1hdGljcxAYEhgKFEVudGl0eUNvbXBvbmVudFNoYXBlEBkSIQodRW50aXR5Q29tcG9uZW50Q2xhc3NpZmljYXRpb24QGhIeChpFbnRpdHlDb21wb25lbnRUcmFuc3BvbmRlchAbEiEKHUVudGl0eUNvbXBvbmVudEFkbWluaXN0cmF0aXZlEBwSHQoZRW50aXR5Q29tcG9uZW50TG9jYWxTaGFwZRAdEh4KGkVudGl0eUNvbXBvbmVudE9yaWVudGF0aW9uEB4SGgoWRW50aXR5Q29tcG9uZW50TWlzc2lvbhAfEhcKE0VudGl0eUNvbXBvbmVudExpbmsQIBIYChRFbnRpdHlDb21wb25lbnRQb3dlchAhEh0KGUVudGl0eUNvbXBvbmVudE5hdmlnYXRpb24QIhIaChZFbnRpdHlDb21wb25lbnRDYXB0dXJlECMSGQoVRW50aXR5Q29tcG9uZW50TWV0cmljECQSGQoVRW50aXR5Q29tcG9uZW50U2Vuc29yECUSFwoTRW50aXR5Q29tcG9uZW50UG9zZRAmEhcKE0VudGl0eUNvbXBvbmVudENoYXQQJxIgChxFbnRpdHlDb21wb25lbnRUYXNrRXhlY3V0aW9uECkSFwoTRW50aXR5Q29tcG9uZW50R25zcxAqEhkKFUVudGl0eUNvbXBvbmVudERldmljZRAyEhkKFUVudGl0eUNvbXBvbmVudENvbmZpZxAzEh8KG0VudGl0eUNvbXBvbmVudENvbmZpZ3VyYWJsZRA0EiAKHEVudGl0eUNvbXBvbmVudEludGVyYWN0aXZpdHkQPBIbChdFbnRpdHlDb21wb25lbnRBcnRpZmFjdBA9Eh0KGUVudGl0eUNvbXBvbmVudFRhcmdldFBvc2UQPhIbChdFbnRpdHlDb21wb25lbnRNYXBMYXllchA/KmkKClRhc2tTdGF0dXMSFQoRVGFza1N0YXR1c0ludmFsaWQQABIVChFUYXNrU3RhdHVzUnVubmluZxABEhcKE1Rhc2tTdGF0dXNDb21wbGV0ZWQQAhIUChBUYXNrU3RhdHVzRmFpbGVkEAMy6gQKDFdvcmxkU2VydmljZRJHCgxMaXN0RW50aXRpZXMSGi53b3JsZC5MaXN0RW50aXRpZXNSZXF1ZXN0Ghsud29ybGQuTGlzdEVudGl0aWVzUmVzcG9uc2USPgoJR2V0RW50aXR5Ehcud29ybGQuR2V0RW50aXR5UmVxdWVzdBoYLndvcmxkLkdldEVudGl0eVJlc3BvbnNlEkcKDVdhdGNoRW50aXRpZXMSGi53b3JsZC5MaXN0RW50aXRpZXNSZXF1ZXN0Ghgud29ybGQuRW50aXR5Q2hhbmdlRXZlbnQwARI/CgRQdXNoEhoud29ybGQuRW50aXR5Q2hhbmdlUmVxdWVzdBobLndvcmxkLkVudGl0eUNoYW5nZVJlc3BvbnNlEkcKDEV4cGlyZUVudGl0eRIaLndvcmxkLkV4cGlyZUVudGl0eVJlcXVlc3QaGy53b3JsZC5FeHBpcmVFbnRpdHlSZXNwb25zZRJHCgxHZXRMb2NhbE5vZGUSGi53b3JsZC5HZXRMb2NhbE5vZGVSZXF1ZXN0Ghsud29ybGQuR2V0TG9jYWxOb2RlUmVzcG9uc2USOAoHUnVuVGFzaxIVLndvcmxkLlJ1blRhc2tSZXF1ZXN0GhYud29ybGQuUnVuVGFza1Jlc3BvbnNlEj4KCUhhcmRSZXNldBIXLndvcmxkLkhhcmRSZXNldFJlcXVlc3QaGC53b3JsZC5IYXJkUmVzZXRSZXNwb25zZRI7CghUaW1lU3luYxIWLndvcmxkLlRpbWVTeW5jUmVxdWVzdBoXLndvcmxkLlRpbWVTeW5jUmVzcG9uc2VCIFoeZ2l0aHViLmNvbS9wcm9qZWN0cWFpL3Byb3RvL2dvYgZwcm90bzM", [file_geometry, file_google_protobuf_struct, file_google_protobuf_timestamp, file_metrics]);
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Describes the message world.Entity.
|
|
@@ -216,446 +216,495 @@ export const TaskableContextSchema = /*@__PURE__*/
|
|
|
216
216
|
export const TaskableAssigneeSchema = /*@__PURE__*/
|
|
217
217
|
messageDesc(file_world, 28);
|
|
218
218
|
|
|
219
|
+
/**
|
|
220
|
+
* Describes the message world.TaskableTarget.
|
|
221
|
+
* Use `create(TaskableTargetSchema)` to create a new message.
|
|
222
|
+
*/
|
|
223
|
+
export const TaskableTargetSchema = /*@__PURE__*/
|
|
224
|
+
messageDesc(file_world, 29);
|
|
225
|
+
|
|
219
226
|
/**
|
|
220
227
|
* Describes the message world.TaskableComponent.
|
|
221
228
|
* Use `create(TaskableComponentSchema)` to create a new message.
|
|
222
229
|
*/
|
|
223
230
|
export const TaskableComponentSchema = /*@__PURE__*/
|
|
224
|
-
messageDesc(file_world,
|
|
231
|
+
messageDesc(file_world, 30);
|
|
232
|
+
|
|
233
|
+
/**
|
|
234
|
+
* Describes the message world.TaskExecutionTarget.
|
|
235
|
+
* Use `create(TaskExecutionTargetSchema)` to create a new message.
|
|
236
|
+
*/
|
|
237
|
+
export const TaskExecutionTargetSchema = /*@__PURE__*/
|
|
238
|
+
messageDesc(file_world, 31);
|
|
225
239
|
|
|
226
240
|
/**
|
|
227
241
|
* Describes the message world.TaskExecutionComponent.
|
|
228
242
|
* Use `create(TaskExecutionComponentSchema)` to create a new message.
|
|
229
243
|
*/
|
|
230
244
|
export const TaskExecutionComponentSchema = /*@__PURE__*/
|
|
231
|
-
messageDesc(file_world,
|
|
245
|
+
messageDesc(file_world, 32);
|
|
232
246
|
|
|
233
247
|
/**
|
|
234
248
|
* Describes the message world.KinematicsEnu.
|
|
235
249
|
* Use `create(KinematicsEnuSchema)` to create a new message.
|
|
236
250
|
*/
|
|
237
251
|
export const KinematicsEnuSchema = /*@__PURE__*/
|
|
238
|
-
messageDesc(file_world,
|
|
252
|
+
messageDesc(file_world, 33);
|
|
239
253
|
|
|
240
254
|
/**
|
|
241
255
|
* Describes the message world.KinematicsComponent.
|
|
242
256
|
* Use `create(KinematicsComponentSchema)` to create a new message.
|
|
243
257
|
*/
|
|
244
258
|
export const KinematicsComponentSchema = /*@__PURE__*/
|
|
245
|
-
messageDesc(file_world,
|
|
259
|
+
messageDesc(file_world, 34);
|
|
246
260
|
|
|
247
261
|
/**
|
|
248
262
|
* Describes the message world.Geometry.
|
|
249
263
|
* Use `create(GeometrySchema)` to create a new message.
|
|
250
264
|
*/
|
|
251
265
|
export const GeometrySchema = /*@__PURE__*/
|
|
252
|
-
messageDesc(file_world,
|
|
266
|
+
messageDesc(file_world, 35);
|
|
253
267
|
|
|
254
268
|
/**
|
|
255
269
|
* Describes the message world.GeoShapeComponent.
|
|
256
270
|
* Use `create(GeoShapeComponentSchema)` to create a new message.
|
|
257
271
|
*/
|
|
258
272
|
export const GeoShapeComponentSchema = /*@__PURE__*/
|
|
259
|
-
messageDesc(file_world,
|
|
273
|
+
messageDesc(file_world, 36);
|
|
260
274
|
|
|
261
275
|
/**
|
|
262
276
|
* Describes the message world.LocalShapeComponent.
|
|
263
277
|
* Use `create(LocalShapeComponentSchema)` to create a new message.
|
|
264
278
|
*/
|
|
265
279
|
export const LocalShapeComponentSchema = /*@__PURE__*/
|
|
266
|
-
messageDesc(file_world,
|
|
280
|
+
messageDesc(file_world, 37);
|
|
267
281
|
|
|
268
282
|
/**
|
|
269
283
|
* Describes the message world.ClassificationComponent.
|
|
270
284
|
* Use `create(ClassificationComponentSchema)` to create a new message.
|
|
271
285
|
*/
|
|
272
286
|
export const ClassificationComponentSchema = /*@__PURE__*/
|
|
273
|
-
messageDesc(file_world,
|
|
287
|
+
messageDesc(file_world, 38);
|
|
274
288
|
|
|
275
289
|
/**
|
|
276
290
|
* Describes the message world.TransponderAIS.
|
|
277
291
|
* Use `create(TransponderAISSchema)` to create a new message.
|
|
278
292
|
*/
|
|
279
293
|
export const TransponderAISSchema = /*@__PURE__*/
|
|
280
|
-
messageDesc(file_world,
|
|
294
|
+
messageDesc(file_world, 39);
|
|
281
295
|
|
|
282
296
|
/**
|
|
283
297
|
* Describes the message world.TransponderADSB.
|
|
284
298
|
* Use `create(TransponderADSBSchema)` to create a new message.
|
|
285
299
|
*/
|
|
286
300
|
export const TransponderADSBSchema = /*@__PURE__*/
|
|
287
|
-
messageDesc(file_world,
|
|
301
|
+
messageDesc(file_world, 40);
|
|
288
302
|
|
|
289
303
|
/**
|
|
290
304
|
* Describes the message world.TransponderComponent.
|
|
291
305
|
* Use `create(TransponderComponentSchema)` to create a new message.
|
|
292
306
|
*/
|
|
293
307
|
export const TransponderComponentSchema = /*@__PURE__*/
|
|
294
|
-
messageDesc(file_world,
|
|
308
|
+
messageDesc(file_world, 41);
|
|
295
309
|
|
|
296
310
|
/**
|
|
297
311
|
* Describes the message world.AdministrativeComponent.
|
|
298
312
|
* Use `create(AdministrativeComponentSchema)` to create a new message.
|
|
299
313
|
*/
|
|
300
314
|
export const AdministrativeComponentSchema = /*@__PURE__*/
|
|
301
|
-
messageDesc(file_world,
|
|
315
|
+
messageDesc(file_world, 42);
|
|
302
316
|
|
|
303
317
|
/**
|
|
304
318
|
* Describes the message world.NavigationComponent.
|
|
305
319
|
* Use `create(NavigationComponentSchema)` to create a new message.
|
|
306
320
|
*/
|
|
307
321
|
export const NavigationComponentSchema = /*@__PURE__*/
|
|
308
|
-
messageDesc(file_world,
|
|
322
|
+
messageDesc(file_world, 43);
|
|
309
323
|
|
|
310
324
|
/**
|
|
311
325
|
* Describes the message world.MissionComponent.
|
|
312
326
|
* Use `create(MissionComponentSchema)` to create a new message.
|
|
313
327
|
*/
|
|
314
328
|
export const MissionComponentSchema = /*@__PURE__*/
|
|
315
|
-
messageDesc(file_world,
|
|
329
|
+
messageDesc(file_world, 44);
|
|
316
330
|
|
|
317
331
|
/**
|
|
318
332
|
* Describes the message world.LinkComponent.
|
|
319
333
|
* Use `create(LinkComponentSchema)` to create a new message.
|
|
320
334
|
*/
|
|
321
335
|
export const LinkComponentSchema = /*@__PURE__*/
|
|
322
|
-
messageDesc(file_world,
|
|
336
|
+
messageDesc(file_world, 45);
|
|
323
337
|
|
|
324
338
|
/**
|
|
325
339
|
* Describes the message world.CaptureComponent.
|
|
326
340
|
* Use `create(CaptureComponentSchema)` to create a new message.
|
|
327
341
|
*/
|
|
328
342
|
export const CaptureComponentSchema = /*@__PURE__*/
|
|
329
|
-
messageDesc(file_world,
|
|
343
|
+
messageDesc(file_world, 46);
|
|
330
344
|
|
|
331
345
|
/**
|
|
332
346
|
* Describes the message world.PowerComponent.
|
|
333
347
|
* Use `create(PowerComponentSchema)` to create a new message.
|
|
334
348
|
*/
|
|
335
349
|
export const PowerComponentSchema = /*@__PURE__*/
|
|
336
|
-
messageDesc(file_world,
|
|
350
|
+
messageDesc(file_world, 47);
|
|
337
351
|
|
|
338
352
|
/**
|
|
339
353
|
* Describes the message world.DeviceClassOption.
|
|
340
354
|
* Use `create(DeviceClassOptionSchema)` to create a new message.
|
|
341
355
|
*/
|
|
342
356
|
export const DeviceClassOptionSchema = /*@__PURE__*/
|
|
343
|
-
messageDesc(file_world,
|
|
357
|
+
messageDesc(file_world, 48);
|
|
344
358
|
|
|
345
359
|
/**
|
|
346
360
|
* Describes the message world.ConfigurableComponent.
|
|
347
361
|
* Use `create(ConfigurableComponentSchema)` to create a new message.
|
|
348
362
|
*/
|
|
349
363
|
export const ConfigurableComponentSchema = /*@__PURE__*/
|
|
350
|
-
messageDesc(file_world,
|
|
364
|
+
messageDesc(file_world, 49);
|
|
351
365
|
|
|
352
366
|
/**
|
|
353
367
|
* Describes the message world.DeviceComponent.
|
|
354
368
|
* Use `create(DeviceComponentSchema)` to create a new message.
|
|
355
369
|
*/
|
|
356
370
|
export const DeviceComponentSchema = /*@__PURE__*/
|
|
357
|
-
messageDesc(file_world,
|
|
371
|
+
messageDesc(file_world, 50);
|
|
358
372
|
|
|
359
373
|
/**
|
|
360
374
|
* Describes the message world.MissionKit.
|
|
361
375
|
* Use `create(MissionKitSchema)` to create a new message.
|
|
362
376
|
*/
|
|
363
377
|
export const MissionKitSchema = /*@__PURE__*/
|
|
364
|
-
messageDesc(file_world,
|
|
378
|
+
messageDesc(file_world, 51);
|
|
365
379
|
|
|
366
380
|
/**
|
|
367
381
|
* Describes the message world.NodeDevice.
|
|
368
382
|
* Use `create(NodeDeviceSchema)` to create a new message.
|
|
369
383
|
*/
|
|
370
384
|
export const NodeDeviceSchema = /*@__PURE__*/
|
|
371
|
-
messageDesc(file_world,
|
|
385
|
+
messageDesc(file_world, 52);
|
|
372
386
|
|
|
373
387
|
/**
|
|
374
388
|
* Describes the message world.UsbDevice.
|
|
375
389
|
* Use `create(UsbDeviceSchema)` to create a new message.
|
|
376
390
|
*/
|
|
377
391
|
export const UsbDeviceSchema = /*@__PURE__*/
|
|
378
|
-
messageDesc(file_world,
|
|
392
|
+
messageDesc(file_world, 53);
|
|
379
393
|
|
|
380
394
|
/**
|
|
381
395
|
* Describes the message world.IpDevice.
|
|
382
396
|
* Use `create(IpDeviceSchema)` to create a new message.
|
|
383
397
|
*/
|
|
384
398
|
export const IpDeviceSchema = /*@__PURE__*/
|
|
385
|
-
messageDesc(file_world,
|
|
399
|
+
messageDesc(file_world, 54);
|
|
386
400
|
|
|
387
401
|
/**
|
|
388
402
|
* Describes the message world.EthernetDevice.
|
|
389
403
|
* Use `create(EthernetDeviceSchema)` to create a new message.
|
|
390
404
|
*/
|
|
391
405
|
export const EthernetDeviceSchema = /*@__PURE__*/
|
|
392
|
-
messageDesc(file_world,
|
|
406
|
+
messageDesc(file_world, 55);
|
|
393
407
|
|
|
394
408
|
/**
|
|
395
409
|
* Describes the message world.SerialDevice.
|
|
396
410
|
* Use `create(SerialDeviceSchema)` to create a new message.
|
|
397
411
|
*/
|
|
398
412
|
export const SerialDeviceSchema = /*@__PURE__*/
|
|
399
|
-
messageDesc(file_world,
|
|
413
|
+
messageDesc(file_world, 56);
|
|
400
414
|
|
|
401
415
|
/**
|
|
402
416
|
* Describes the message world.MeshtasticDevice.
|
|
403
417
|
* Use `create(MeshtasticDeviceSchema)` to create a new message.
|
|
404
418
|
*/
|
|
405
419
|
export const MeshtasticDeviceSchema = /*@__PURE__*/
|
|
406
|
-
messageDesc(file_world,
|
|
420
|
+
messageDesc(file_world, 57);
|
|
407
421
|
|
|
408
422
|
/**
|
|
409
423
|
* Describes the message world.LPWANDevice.
|
|
410
424
|
* Use `create(LPWANDeviceSchema)` to create a new message.
|
|
411
425
|
*/
|
|
412
426
|
export const LPWANDeviceSchema = /*@__PURE__*/
|
|
413
|
-
messageDesc(file_world,
|
|
427
|
+
messageDesc(file_world, 58);
|
|
414
428
|
|
|
415
429
|
/**
|
|
416
430
|
* Describes the message world.BleDevice.
|
|
417
431
|
* Use `create(BleDeviceSchema)` to create a new message.
|
|
418
432
|
*/
|
|
419
433
|
export const BleDeviceSchema = /*@__PURE__*/
|
|
420
|
-
messageDesc(file_world,
|
|
434
|
+
messageDesc(file_world, 59);
|
|
421
435
|
|
|
422
436
|
/**
|
|
423
437
|
* Describes the message world.ConfigurationComponent.
|
|
424
438
|
* Use `create(ConfigurationComponentSchema)` to create a new message.
|
|
425
439
|
*/
|
|
426
440
|
export const ConfigurationComponentSchema = /*@__PURE__*/
|
|
427
|
-
messageDesc(file_world,
|
|
441
|
+
messageDesc(file_world, 60);
|
|
428
442
|
|
|
429
443
|
/**
|
|
430
444
|
* Describes the message world.ChatComponent.
|
|
431
445
|
* Use `create(ChatComponentSchema)` to create a new message.
|
|
432
446
|
*/
|
|
433
447
|
export const ChatComponentSchema = /*@__PURE__*/
|
|
434
|
-
messageDesc(file_world,
|
|
448
|
+
messageDesc(file_world, 61);
|
|
435
449
|
|
|
436
450
|
/**
|
|
437
451
|
* Describes the message world.AssemblyComponent.
|
|
438
452
|
* Use `create(AssemblyComponentSchema)` to create a new message.
|
|
439
453
|
*/
|
|
440
454
|
export const AssemblyComponentSchema = /*@__PURE__*/
|
|
441
|
-
messageDesc(file_world,
|
|
455
|
+
messageDesc(file_world, 62);
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Describes the message world.MapLayerComponent.
|
|
459
|
+
* Use `create(MapLayerComponentSchema)` to create a new message.
|
|
460
|
+
*/
|
|
461
|
+
export const MapLayerComponentSchema = /*@__PURE__*/
|
|
462
|
+
messageDesc(file_world, 63);
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* Describes the message world.MapLayerComponent.Tile.
|
|
466
|
+
* Use `create(MapLayerComponent_TileSchema)` to create a new message.
|
|
467
|
+
*/
|
|
468
|
+
export const MapLayerComponent_TileSchema = /*@__PURE__*/
|
|
469
|
+
messageDesc(file_world, 63, 0);
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Describes the message world.MapLayerComponent.Image.
|
|
473
|
+
* Use `create(MapLayerComponent_ImageSchema)` to create a new message.
|
|
474
|
+
*/
|
|
475
|
+
export const MapLayerComponent_ImageSchema = /*@__PURE__*/
|
|
476
|
+
messageDesc(file_world, 63, 1);
|
|
442
477
|
|
|
443
478
|
/**
|
|
444
479
|
* Describes the message world.EntityFilter.
|
|
445
480
|
* Use `create(EntityFilterSchema)` to create a new message.
|
|
446
481
|
*/
|
|
447
482
|
export const EntityFilterSchema = /*@__PURE__*/
|
|
448
|
-
messageDesc(file_world,
|
|
483
|
+
messageDesc(file_world, 64);
|
|
449
484
|
|
|
450
485
|
/**
|
|
451
486
|
* Describes the message world.ControllerFilter.
|
|
452
487
|
* Use `create(ControllerFilterSchema)` to create a new message.
|
|
453
488
|
*/
|
|
454
489
|
export const ControllerFilterSchema = /*@__PURE__*/
|
|
455
|
-
messageDesc(file_world,
|
|
490
|
+
messageDesc(file_world, 65);
|
|
456
491
|
|
|
457
492
|
/**
|
|
458
493
|
* Describes the message world.TrackFilter.
|
|
459
494
|
* Use `create(TrackFilterSchema)` to create a new message.
|
|
460
495
|
*/
|
|
461
496
|
export const TrackFilterSchema = /*@__PURE__*/
|
|
462
|
-
messageDesc(file_world,
|
|
497
|
+
messageDesc(file_world, 66);
|
|
463
498
|
|
|
464
499
|
/**
|
|
465
500
|
* Describes the message world.MissionFilter.
|
|
466
501
|
* Use `create(MissionFilterSchema)` to create a new message.
|
|
467
502
|
*/
|
|
468
503
|
export const MissionFilterSchema = /*@__PURE__*/
|
|
469
|
-
messageDesc(file_world,
|
|
504
|
+
messageDesc(file_world, 67);
|
|
470
505
|
|
|
471
506
|
/**
|
|
472
507
|
* Describes the message world.TaskableFilter.
|
|
473
508
|
* Use `create(TaskableFilterSchema)` to create a new message.
|
|
474
509
|
*/
|
|
475
510
|
export const TaskableFilterSchema = /*@__PURE__*/
|
|
476
|
-
messageDesc(file_world,
|
|
511
|
+
messageDesc(file_world, 68);
|
|
477
512
|
|
|
478
513
|
/**
|
|
479
514
|
* Describes the message world.GeoFilter.
|
|
480
515
|
* Use `create(GeoFilterSchema)` to create a new message.
|
|
481
516
|
*/
|
|
482
517
|
export const GeoFilterSchema = /*@__PURE__*/
|
|
483
|
-
messageDesc(file_world,
|
|
518
|
+
messageDesc(file_world, 69);
|
|
484
519
|
|
|
485
520
|
/**
|
|
486
521
|
* Describes the message world.DeviceFilter.
|
|
487
522
|
* Use `create(DeviceFilterSchema)` to create a new message.
|
|
488
523
|
*/
|
|
489
524
|
export const DeviceFilterSchema = /*@__PURE__*/
|
|
490
|
-
messageDesc(file_world,
|
|
525
|
+
messageDesc(file_world, 70);
|
|
491
526
|
|
|
492
527
|
/**
|
|
493
528
|
* Describes the message world.BleDeviceFilter.
|
|
494
529
|
* Use `create(BleDeviceFilterSchema)` to create a new message.
|
|
495
530
|
*/
|
|
496
531
|
export const BleDeviceFilterSchema = /*@__PURE__*/
|
|
497
|
-
messageDesc(file_world,
|
|
532
|
+
messageDesc(file_world, 71);
|
|
498
533
|
|
|
499
534
|
/**
|
|
500
535
|
* Describes the message world.UsbDeviceFilter.
|
|
501
536
|
* Use `create(UsbDeviceFilterSchema)` to create a new message.
|
|
502
537
|
*/
|
|
503
538
|
export const UsbDeviceFilterSchema = /*@__PURE__*/
|
|
504
|
-
messageDesc(file_world,
|
|
539
|
+
messageDesc(file_world, 72);
|
|
505
540
|
|
|
506
541
|
/**
|
|
507
542
|
* Describes the message world.ConfigurationFilter.
|
|
508
543
|
* Use `create(ConfigurationFilterSchema)` to create a new message.
|
|
509
544
|
*/
|
|
510
545
|
export const ConfigurationFilterSchema = /*@__PURE__*/
|
|
511
|
-
messageDesc(file_world,
|
|
546
|
+
messageDesc(file_world, 73);
|
|
512
547
|
|
|
513
548
|
/**
|
|
514
549
|
* Describes the message world.ChannelFilter.
|
|
515
550
|
* Use `create(ChannelFilterSchema)` to create a new message.
|
|
516
551
|
*/
|
|
517
552
|
export const ChannelFilterSchema = /*@__PURE__*/
|
|
518
|
-
messageDesc(file_world,
|
|
553
|
+
messageDesc(file_world, 74);
|
|
519
554
|
|
|
520
555
|
/**
|
|
521
556
|
* Describes the message world.SortOption.
|
|
522
557
|
* Use `create(SortOptionSchema)` to create a new message.
|
|
523
558
|
*/
|
|
524
559
|
export const SortOptionSchema = /*@__PURE__*/
|
|
525
|
-
messageDesc(file_world,
|
|
560
|
+
messageDesc(file_world, 75);
|
|
526
561
|
|
|
527
562
|
/**
|
|
528
563
|
* Describes the message world.WatchBehavior.
|
|
529
564
|
* Use `create(WatchBehaviorSchema)` to create a new message.
|
|
530
565
|
*/
|
|
531
566
|
export const WatchBehaviorSchema = /*@__PURE__*/
|
|
532
|
-
messageDesc(file_world,
|
|
567
|
+
messageDesc(file_world, 76);
|
|
533
568
|
|
|
534
569
|
/**
|
|
535
570
|
* Describes the message world.ListEntitiesRequest.
|
|
536
571
|
* Use `create(ListEntitiesRequestSchema)` to create a new message.
|
|
537
572
|
*/
|
|
538
573
|
export const ListEntitiesRequestSchema = /*@__PURE__*/
|
|
539
|
-
messageDesc(file_world,
|
|
574
|
+
messageDesc(file_world, 77);
|
|
540
575
|
|
|
541
576
|
/**
|
|
542
577
|
* Describes the message world.ListEntitiesResponse.
|
|
543
578
|
* Use `create(ListEntitiesResponseSchema)` to create a new message.
|
|
544
579
|
*/
|
|
545
580
|
export const ListEntitiesResponseSchema = /*@__PURE__*/
|
|
546
|
-
messageDesc(file_world,
|
|
581
|
+
messageDesc(file_world, 78);
|
|
547
582
|
|
|
548
583
|
/**
|
|
549
584
|
* Describes the message world.EntityChangeRequest.
|
|
550
585
|
* Use `create(EntityChangeRequestSchema)` to create a new message.
|
|
551
586
|
*/
|
|
552
587
|
export const EntityChangeRequestSchema = /*@__PURE__*/
|
|
553
|
-
messageDesc(file_world,
|
|
588
|
+
messageDesc(file_world, 79);
|
|
554
589
|
|
|
555
590
|
/**
|
|
556
591
|
* Describes the message world.ExpireEntityRequest.
|
|
557
592
|
* Use `create(ExpireEntityRequestSchema)` to create a new message.
|
|
558
593
|
*/
|
|
559
594
|
export const ExpireEntityRequestSchema = /*@__PURE__*/
|
|
560
|
-
messageDesc(file_world,
|
|
595
|
+
messageDesc(file_world, 80);
|
|
561
596
|
|
|
562
597
|
/**
|
|
563
598
|
* Describes the message world.ExpireEntityResponse.
|
|
564
599
|
* Use `create(ExpireEntityResponseSchema)` to create a new message.
|
|
565
600
|
*/
|
|
566
601
|
export const ExpireEntityResponseSchema = /*@__PURE__*/
|
|
567
|
-
messageDesc(file_world,
|
|
602
|
+
messageDesc(file_world, 81);
|
|
568
603
|
|
|
569
604
|
/**
|
|
570
605
|
* Describes the message world.EntityChangeResponse.
|
|
571
606
|
* Use `create(EntityChangeResponseSchema)` to create a new message.
|
|
572
607
|
*/
|
|
573
608
|
export const EntityChangeResponseSchema = /*@__PURE__*/
|
|
574
|
-
messageDesc(file_world,
|
|
609
|
+
messageDesc(file_world, 82);
|
|
575
610
|
|
|
576
611
|
/**
|
|
577
612
|
* Describes the message world.EntityChangeEvent.
|
|
578
613
|
* Use `create(EntityChangeEventSchema)` to create a new message.
|
|
579
614
|
*/
|
|
580
615
|
export const EntityChangeEventSchema = /*@__PURE__*/
|
|
581
|
-
messageDesc(file_world,
|
|
616
|
+
messageDesc(file_world, 83);
|
|
582
617
|
|
|
583
618
|
/**
|
|
584
619
|
* Describes the message world.EntityChangeBatch.
|
|
585
620
|
* Use `create(EntityChangeBatchSchema)` to create a new message.
|
|
586
621
|
*/
|
|
587
622
|
export const EntityChangeBatchSchema = /*@__PURE__*/
|
|
588
|
-
messageDesc(file_world,
|
|
623
|
+
messageDesc(file_world, 84);
|
|
589
624
|
|
|
590
625
|
/**
|
|
591
626
|
* Describes the message world.GetEntityRequest.
|
|
592
627
|
* Use `create(GetEntityRequestSchema)` to create a new message.
|
|
593
628
|
*/
|
|
594
629
|
export const GetEntityRequestSchema = /*@__PURE__*/
|
|
595
|
-
messageDesc(file_world,
|
|
630
|
+
messageDesc(file_world, 85);
|
|
596
631
|
|
|
597
632
|
/**
|
|
598
633
|
* Describes the message world.GetEntityResponse.
|
|
599
634
|
* Use `create(GetEntityResponseSchema)` to create a new message.
|
|
600
635
|
*/
|
|
601
636
|
export const GetEntityResponseSchema = /*@__PURE__*/
|
|
602
|
-
messageDesc(file_world,
|
|
637
|
+
messageDesc(file_world, 86);
|
|
603
638
|
|
|
604
639
|
/**
|
|
605
640
|
* Describes the message world.GetLocalNodeRequest.
|
|
606
641
|
* Use `create(GetLocalNodeRequestSchema)` to create a new message.
|
|
607
642
|
*/
|
|
608
643
|
export const GetLocalNodeRequestSchema = /*@__PURE__*/
|
|
609
|
-
messageDesc(file_world,
|
|
644
|
+
messageDesc(file_world, 87);
|
|
610
645
|
|
|
611
646
|
/**
|
|
612
647
|
* Describes the message world.GetLocalNodeResponse.
|
|
613
648
|
* Use `create(GetLocalNodeResponseSchema)` to create a new message.
|
|
614
649
|
*/
|
|
615
650
|
export const GetLocalNodeResponseSchema = /*@__PURE__*/
|
|
616
|
-
messageDesc(file_world,
|
|
651
|
+
messageDesc(file_world, 88);
|
|
617
652
|
|
|
618
653
|
/**
|
|
619
654
|
* Describes the message world.ObserverRequest.
|
|
620
655
|
* Use `create(ObserverRequestSchema)` to create a new message.
|
|
621
656
|
*/
|
|
622
657
|
export const ObserverRequestSchema = /*@__PURE__*/
|
|
623
|
-
messageDesc(file_world,
|
|
658
|
+
messageDesc(file_world, 89);
|
|
624
659
|
|
|
625
660
|
/**
|
|
626
661
|
* Describes the message world.ObserverState.
|
|
627
662
|
* Use `create(ObserverStateSchema)` to create a new message.
|
|
628
663
|
*/
|
|
629
664
|
export const ObserverStateSchema = /*@__PURE__*/
|
|
630
|
-
messageDesc(file_world,
|
|
665
|
+
messageDesc(file_world, 90);
|
|
631
666
|
|
|
632
667
|
/**
|
|
633
668
|
* Describes the message world.RunTaskRequest.
|
|
634
669
|
* Use `create(RunTaskRequestSchema)` to create a new message.
|
|
635
670
|
*/
|
|
636
671
|
export const RunTaskRequestSchema = /*@__PURE__*/
|
|
637
|
-
messageDesc(file_world,
|
|
672
|
+
messageDesc(file_world, 91);
|
|
638
673
|
|
|
639
674
|
/**
|
|
640
675
|
* Describes the message world.RunTaskResponse.
|
|
641
676
|
* Use `create(RunTaskResponseSchema)` to create a new message.
|
|
642
677
|
*/
|
|
643
678
|
export const RunTaskResponseSchema = /*@__PURE__*/
|
|
644
|
-
messageDesc(file_world,
|
|
679
|
+
messageDesc(file_world, 92);
|
|
645
680
|
|
|
646
681
|
/**
|
|
647
682
|
* Describes the message world.HardResetRequest.
|
|
648
683
|
* Use `create(HardResetRequestSchema)` to create a new message.
|
|
649
684
|
*/
|
|
650
685
|
export const HardResetRequestSchema = /*@__PURE__*/
|
|
651
|
-
messageDesc(file_world,
|
|
686
|
+
messageDesc(file_world, 93);
|
|
652
687
|
|
|
653
688
|
/**
|
|
654
689
|
* Describes the message world.HardResetResponse.
|
|
655
690
|
* Use `create(HardResetResponseSchema)` to create a new message.
|
|
656
691
|
*/
|
|
657
692
|
export const HardResetResponseSchema = /*@__PURE__*/
|
|
658
|
-
messageDesc(file_world,
|
|
693
|
+
messageDesc(file_world, 94);
|
|
694
|
+
|
|
695
|
+
/**
|
|
696
|
+
* Describes the message world.TimeSyncRequest.
|
|
697
|
+
* Use `create(TimeSyncRequestSchema)` to create a new message.
|
|
698
|
+
*/
|
|
699
|
+
export const TimeSyncRequestSchema = /*@__PURE__*/
|
|
700
|
+
messageDesc(file_world, 95);
|
|
701
|
+
|
|
702
|
+
/**
|
|
703
|
+
* Describes the message world.TimeSyncResponse.
|
|
704
|
+
* Use `create(TimeSyncResponseSchema)` to create a new message.
|
|
705
|
+
*/
|
|
706
|
+
export const TimeSyncResponseSchema = /*@__PURE__*/
|
|
707
|
+
messageDesc(file_world, 96);
|
|
659
708
|
|
|
660
709
|
/**
|
|
661
710
|
* Describes the enum world.Priority.
|