@esengine/network 2.1.0 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,12 +1,76 @@
1
1
  /**
2
2
  * @zh 网络插件
3
3
  * @en Network Plugin
4
+ *
5
+ * @zh 提供基于 @esengine/rpc 的网络同步功能,支持客户端预测和断线重连
6
+ * @en Provides @esengine/rpc based network synchronization with client prediction and reconnection
4
7
  */
5
8
  import { type IPlugin, Core, type ServiceContainer } from '@esengine/ecs-framework';
6
9
  import { GameNetworkService, type NetworkServiceOptions } from './services/NetworkService';
7
- import { NetworkSyncSystem } from './systems/NetworkSyncSystem';
10
+ import { NetworkSyncSystem, type NetworkSyncConfig } from './systems/NetworkSyncSystem';
8
11
  import { NetworkSpawnSystem, type PrefabFactory } from './systems/NetworkSpawnSystem';
9
- import { NetworkInputSystem } from './systems/NetworkInputSystem';
12
+ import { NetworkInputSystem, type NetworkInputConfig } from './systems/NetworkInputSystem';
13
+ import { NetworkPredictionSystem, type NetworkPredictionConfig } from './systems/NetworkPredictionSystem';
14
+ import { NetworkAOISystem, type NetworkAOIConfig } from './systems/NetworkAOISystem';
15
+ /**
16
+ * @zh 网络插件配置
17
+ * @en Network plugin configuration
18
+ */
19
+ export interface NetworkPluginConfig {
20
+ /**
21
+ * @zh 是否启用客户端预测
22
+ * @en Whether to enable client prediction
23
+ */
24
+ enablePrediction: boolean;
25
+ /**
26
+ * @zh 是否启用自动重连
27
+ * @en Whether to enable auto reconnection
28
+ */
29
+ enableAutoReconnect: boolean;
30
+ /**
31
+ * @zh 重连最大尝试次数
32
+ * @en Maximum reconnection attempts
33
+ */
34
+ maxReconnectAttempts: number;
35
+ /**
36
+ * @zh 重连间隔(毫秒)
37
+ * @en Reconnection interval in milliseconds
38
+ */
39
+ reconnectInterval: number;
40
+ /**
41
+ * @zh 同步系统配置
42
+ * @en Sync system configuration
43
+ */
44
+ syncConfig?: Partial<NetworkSyncConfig>;
45
+ /**
46
+ * @zh 输入系统配置
47
+ * @en Input system configuration
48
+ */
49
+ inputConfig?: Partial<NetworkInputConfig>;
50
+ /**
51
+ * @zh 预测系统配置
52
+ * @en Prediction system configuration
53
+ */
54
+ predictionConfig?: Partial<NetworkPredictionConfig>;
55
+ /**
56
+ * @zh 是否启用 AOI 兴趣管理
57
+ * @en Whether to enable AOI interest management
58
+ */
59
+ enableAOI: boolean;
60
+ /**
61
+ * @zh AOI 系统配置
62
+ * @en AOI system configuration
63
+ */
64
+ aoiConfig?: Partial<NetworkAOIConfig>;
65
+ }
66
+ /**
67
+ * @zh 连接选项
68
+ * @en Connection options
69
+ */
70
+ export interface ConnectOptions extends NetworkServiceOptions {
71
+ playerName: string;
72
+ roomId?: string;
73
+ }
10
74
  /**
11
75
  * @zh 网络插件
12
76
  * @en Network plugin
@@ -19,7 +83,10 @@ import { NetworkInputSystem } from './systems/NetworkInputSystem';
19
83
  * import { Core } from '@esengine/ecs-framework'
20
84
  * import { NetworkPlugin } from '@esengine/network'
21
85
  *
22
- * const networkPlugin = new NetworkPlugin()
86
+ * const networkPlugin = new NetworkPlugin({
87
+ * enablePrediction: true,
88
+ * enableAutoReconnect: true
89
+ * })
23
90
  * await Core.installPlugin(networkPlugin)
24
91
  *
25
92
  * // 连接到服务器
@@ -34,12 +101,19 @@ import { NetworkInputSystem } from './systems/NetworkInputSystem';
34
101
  */
35
102
  export declare class NetworkPlugin implements IPlugin {
36
103
  readonly name = "@esengine/network";
37
- readonly version = "2.0.0";
104
+ readonly version = "2.1.0";
105
+ private readonly _config;
38
106
  private _networkService;
39
107
  private _syncSystem;
40
108
  private _spawnSystem;
41
109
  private _inputSystem;
110
+ private _predictionSystem;
111
+ private _aoiSystem;
42
112
  private _localPlayerId;
113
+ private _reconnectState;
114
+ private _reconnectTimer;
115
+ private _lastConnectOptions;
116
+ constructor(config?: Partial<NetworkPluginConfig>);
43
117
  /**
44
118
  * @zh 网络服务
45
119
  * @en Network service
@@ -60,6 +134,16 @@ export declare class NetworkPlugin implements IPlugin {
60
134
  * @en Input system
61
135
  */
62
136
  get inputSystem(): NetworkInputSystem;
137
+ /**
138
+ * @zh 预测系统
139
+ * @en Prediction system
140
+ */
141
+ get predictionSystem(): NetworkPredictionSystem | null;
142
+ /**
143
+ * @zh AOI 系统
144
+ * @en AOI system
145
+ */
146
+ get aoiSystem(): NetworkAOISystem | null;
63
147
  /**
64
148
  * @zh 本地玩家 ID
65
149
  * @en Local player ID
@@ -70,6 +154,21 @@ export declare class NetworkPlugin implements IPlugin {
70
154
  * @en Is connected
71
155
  */
72
156
  get isConnected(): boolean;
157
+ /**
158
+ * @zh 是否正在重连
159
+ * @en Is reconnecting
160
+ */
161
+ get isReconnecting(): boolean;
162
+ /**
163
+ * @zh 是否启用预测
164
+ * @en Is prediction enabled
165
+ */
166
+ get isPredictionEnabled(): boolean;
167
+ /**
168
+ * @zh 是否启用 AOI
169
+ * @en Is AOI enabled
170
+ */
171
+ get isAOIEnabled(): boolean;
73
172
  /**
74
173
  * @zh 安装插件
75
174
  * @en Install plugin
@@ -86,15 +185,18 @@ export declare class NetworkPlugin implements IPlugin {
86
185
  * @zh 连接到服务器
87
186
  * @en Connect to server
88
187
  */
89
- connect(options: NetworkServiceOptions & {
90
- playerName: string;
91
- roomId?: string;
92
- }): Promise<boolean>;
188
+ connect(options: ConnectOptions): Promise<boolean>;
93
189
  /**
94
190
  * @zh 断开连接
95
191
  * @en Disconnect
96
192
  */
97
193
  disconnect(): Promise<void>;
194
+ private _handleDisconnect;
195
+ private _attemptReconnect;
196
+ private _handleFullState;
197
+ private _clearReconnectTimer;
198
+ private _generateReconnectToken;
199
+ private _cleanup;
98
200
  /**
99
201
  * @zh 注册预制体工厂
100
202
  * @en Register prefab factory
@@ -110,5 +212,45 @@ export declare class NetworkPlugin implements IPlugin {
110
212
  * @en Send action input
111
213
  */
112
214
  sendActionInput(action: string): void;
215
+ /**
216
+ * @zh 设置本地玩家网络 ID(用于预测)
217
+ * @en Set local player network ID (for prediction)
218
+ */
219
+ setLocalPlayerNetId(netId: number): void;
220
+ /**
221
+ * @zh 启用/禁用预测
222
+ * @en Enable/disable prediction
223
+ */
224
+ setPredictionEnabled(enabled: boolean): void;
225
+ /**
226
+ * @zh 添加 AOI 观察者(玩家)
227
+ * @en Add AOI observer (player)
228
+ */
229
+ addAOIObserver(netId: number, x: number, y: number, viewRange?: number): void;
230
+ /**
231
+ * @zh 移除 AOI 观察者
232
+ * @en Remove AOI observer
233
+ */
234
+ removeAOIObserver(netId: number): void;
235
+ /**
236
+ * @zh 更新 AOI 观察者位置
237
+ * @en Update AOI observer position
238
+ */
239
+ updateAOIObserverPosition(netId: number, x: number, y: number): void;
240
+ /**
241
+ * @zh 获取观察者可见的实体
242
+ * @en Get entities visible to observer
243
+ */
244
+ getVisibleEntities(observerNetId: number): number[];
245
+ /**
246
+ * @zh 检查是否可见
247
+ * @en Check if visible
248
+ */
249
+ canSee(observerNetId: number, targetNetId: number): boolean;
250
+ /**
251
+ * @zh 启用/禁用 AOI
252
+ * @en Enable/disable AOI
253
+ */
254
+ setAOIEnabled(enabled: boolean): void;
113
255
  }
114
256
  //# sourceMappingURL=NetworkPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkPlugin.d.ts","sourceRoot":"","sources":["../src/NetworkPlugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,OAAO,EAAE,IAAI,EAAE,KAAK,gBAAgB,EAAc,MAAM,yBAAyB,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAC1F,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,8BAA8B,CAAA;AACrF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAc,YAAW,OAAO;IACzC,SAAgB,IAAI,uBAAsB;IAC1C,SAAgB,OAAO,WAAU;IAEjC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAY;IAElC;;;OAGG;IACH,IAAI,cAAc,IAAI,kBAAkB,CAEvC;IAED;;;OAGG;IACH,IAAI,UAAU,IAAI,iBAAiB,CAElC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,kBAAkB,CAEpC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,kBAAkB,CAEpC;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,GAAG,IAAI;IASvD;;;OAGG;IACH,SAAS,IAAI,IAAI;IAIjB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACU,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBhH;;;OAGG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IASxC;;;OAGG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAIvE;;;OAGG;IACI,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD;;;OAGG;IACI,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG/C"}
1
+ {"version":3,"file":"NetworkPlugin.d.ts","sourceRoot":"","sources":["../src/NetworkPlugin.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -7,20 +7,25 @@
7
7
  */
8
8
  export { rpc } from '@esengine/rpc';
9
9
  export type { ProtocolDef, ApiDef, MsgDef, ApiInput, ApiOutput, MsgData, ApiNames, MsgNames, RpcError, } from '@esengine/rpc';
10
- export { gameProtocol, type GameProtocol, type PlayerInput, type EntitySyncState, type SyncData, type SpawnData, type DespawnData, type JoinRequest, type JoinResponse, } from './protocol';
11
- export { NetworkServiceToken, NetworkSyncSystemToken, NetworkSpawnSystemToken, NetworkInputSystemToken, } from './tokens';
10
+ export { gameProtocol, type GameProtocol, type PlayerInput, type EntitySyncState, type SyncData, type SpawnData, type DespawnData, type FullStateData, type JoinRequest, type JoinResponse, type ReconnectRequest, type ReconnectResponse, } from './protocol';
11
+ export { NetworkServiceToken, NetworkSyncSystemToken, NetworkSpawnSystemToken, NetworkInputSystemToken, NetworkPredictionSystemToken, NetworkAOISystemToken, } from './tokens';
12
12
  export { NetworkPlugin } from './NetworkPlugin';
13
13
  export { RpcService, GameNetworkService, NetworkService, NetworkState, createNetworkService, } from './services/NetworkService';
14
14
  export type { NetworkServiceOptions } from './services/NetworkService';
15
15
  export { NetworkIdentity } from './components/NetworkIdentity';
16
16
  export { NetworkTransform } from './components/NetworkTransform';
17
17
  export { NetworkSyncSystem } from './systems/NetworkSyncSystem';
18
- export type { SyncMessage } from './systems/NetworkSyncSystem';
18
+ export type { SyncMessage, NetworkSyncConfig } from './systems/NetworkSyncSystem';
19
19
  export { NetworkSpawnSystem } from './systems/NetworkSpawnSystem';
20
20
  export type { PrefabFactory, SpawnMessage, DespawnMessage } from './systems/NetworkSpawnSystem';
21
- export { NetworkInputSystem } from './systems/NetworkInputSystem';
21
+ export { NetworkInputSystem, createNetworkInputSystem } from './systems/NetworkInputSystem';
22
+ export type { NetworkInputConfig } from './systems/NetworkInputSystem';
23
+ export { NetworkPredictionSystem, createNetworkPredictionSystem, } from './systems/NetworkPredictionSystem';
24
+ export type { NetworkPredictionConfig, MovementInput, PredictedTransform, } from './systems/NetworkPredictionSystem';
25
+ export { NetworkAOISystem, createNetworkAOISystem, } from './systems/NetworkAOISystem';
26
+ export type { NetworkAOIConfig, NetworkAOIEvent, NetworkAOIEventType, NetworkAOIEventListener, } from './systems/NetworkAOISystem';
22
27
  export type { IStateSnapshot, ITransformState, ITransformStateWithVelocity, ISnapshotBufferConfig, ISnapshotBuffer, } from './sync';
23
- export type { IInterpolator, IExtrapolator, IInputSnapshot, IPredictedState, IPredictor, ClientPredictionConfig, } from './sync';
24
- export { lerp, lerpAngle, smoothDamp, SnapshotBuffer, createSnapshotBuffer, TransformInterpolator, HermiteTransformInterpolator, createTransformInterpolator, createHermiteTransformInterpolator, ClientPrediction, createClientPrediction, } from './sync';
28
+ export type { IInterpolator, IExtrapolator, IInputSnapshot, IPredictedState, IPredictor, ClientPredictionConfig, EntityDeltaState, DeltaSyncData, DeltaCompressionConfig, } from './sync';
29
+ export { lerp, lerpAngle, smoothDamp, SnapshotBuffer, createSnapshotBuffer, TransformInterpolator, HermiteTransformInterpolator, createTransformInterpolator, createHermiteTransformInterpolator, ClientPrediction, createClientPrediction, DeltaFlags, StateDeltaCompressor, createStateDeltaCompressor, } from './sync';
25
30
  export { IsLocalPlayerTemplate, IsServerTemplate, HasAuthorityTemplate, GetNetworkIdTemplate, GetLocalPlayerIdTemplate, IsLocalPlayerExecutor, IsServerExecutor, HasAuthorityExecutor, GetNetworkIdExecutor, GetLocalPlayerIdExecutor, NetworkNodeDefinitions, } from './nodes';
26
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,YAAY,EACR,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,GACX,MAAM,eAAe,CAAA;AAMtB,OAAO,EACH,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,YAAY,GACpB,MAAM,YAAY,CAAA;AAMnB,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,UAAU,CAAA;AAMjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,OAAO,EACH,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,oBAAoB,GACvB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAMtE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAMhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,YAAY,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAMjE,YAAY,EACR,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,GAClB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,sBAAsB,GACzB,MAAM,QAAQ,CAAA;AAEf,OAAO,EACH,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,gBAAgB,EAChB,sBAAsB,GACzB,MAAM,QAAQ,CAAA;AAMf,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AACnC,YAAY,EACR,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,QAAQ,GACX,MAAM,eAAe,CAAA;AAMtB,OAAO,EACH,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,GACzB,MAAM,YAAY,CAAA;AAMnB,OAAO,EACH,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,GACxB,MAAM,UAAU,CAAA;AAMjB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAM/C,OAAO,EACH,UAAU,EACV,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,oBAAoB,GACvB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AAMtE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAMhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAC3F,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,EACH,uBAAuB,EACvB,6BAA6B,GAChC,MAAM,mCAAmC,CAAA;AAC1C,YAAY,EACR,uBAAuB,EACvB,aAAa,EACb,kBAAkB,GACrB,MAAM,mCAAmC,CAAA;AAC1C,OAAO,EACH,gBAAgB,EAChB,sBAAsB,GACzB,MAAM,4BAA4B,CAAA;AACnC,YAAY,EACR,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,uBAAuB,GAC1B,MAAM,4BAA4B,CAAA;AAMnC,YAAY,EACR,cAAc,EACd,eAAe,EACf,2BAA2B,EAC3B,qBAAqB,EACrB,eAAe,GAClB,MAAM,QAAQ,CAAA;AAEf,YAAY,EACR,aAAa,EACb,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,GACzB,MAAM,QAAQ,CAAA;AAEf,OAAO,EACH,IAAI,EACJ,SAAS,EACT,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,QAAQ,CAAA;AAMf,OAAO,EACH,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,qBAAqB,EACrB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,GACzB,MAAM,SAAS,CAAA"}