rez_core 2.0.10 → 2.0.12
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/core.module.js +2 -6
- package/dist/core.module.js.map +1 -1
- package/dist/module/auth/strategies/jwt.strategy.d.ts +3 -5
- package/dist/module/auth/strategies/jwt.strategy.js +4 -21
- package/dist/module/auth/strategies/jwt.strategy.js.map +1 -1
- package/dist/module/layout/controller/layout.controller.js +2 -2
- package/dist/module/layout/controller/layout.controller.js.map +1 -1
- package/dist/module/layout/layout.module.js +5 -1
- package/dist/module/layout/layout.module.js.map +1 -1
- package/dist/module/user/service/user-session.service.js +6 -1
- package/dist/module/user/service/user-session.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core.module.ts +13 -6
- package/src/module/auth/strategies/jwt.strategy.ts +14 -18
- package/src/module/layout/controller/layout.controller.ts +23 -8
- package/src/module/layout/layout.module.ts +5 -1
- package/src/module/user/service/user-session.service.ts +6 -1
package/dist/core.module.js
CHANGED
|
@@ -28,10 +28,8 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
28
28
|
config_1.ConfigModule.forRoot({ isGlobal: true }),
|
|
29
29
|
dbModule,
|
|
30
30
|
entity_module_1.EntityModule,
|
|
31
|
-
enterprise_module_1.EnterpriseModule,
|
|
32
31
|
utils_module_1.UtilsModule,
|
|
33
32
|
notification_module_1.NotificationModule,
|
|
34
|
-
layout_module_1.LayoutModule,
|
|
35
33
|
listmaster_module_1.ListMasterModule,
|
|
36
34
|
filter_module_1.FilterModule,
|
|
37
35
|
];
|
|
@@ -39,16 +37,14 @@ let CoreModule = CoreModule_1 = class CoreModule {
|
|
|
39
37
|
config_1.ConfigModule,
|
|
40
38
|
dbModule,
|
|
41
39
|
entity_module_1.EntityModule,
|
|
42
|
-
enterprise_module_1.EnterpriseModule,
|
|
43
40
|
utils_module_1.UtilsModule,
|
|
44
41
|
notification_module_1.NotificationModule,
|
|
45
|
-
layout_module_1.LayoutModule,
|
|
46
42
|
listmaster_module_1.ListMasterModule,
|
|
47
43
|
filter_module_1.FilterModule,
|
|
48
44
|
];
|
|
49
45
|
if (isSso) {
|
|
50
|
-
importsArray.push(user_module_1.UserModule, module_module_1.ModuleModule);
|
|
51
|
-
exportsArray.push(user_module_1.UserModule, module_module_1.ModuleModule);
|
|
46
|
+
importsArray.push(user_module_1.UserModule, module_module_1.ModuleModule, layout_module_1.LayoutModule, enterprise_module_1.EnterpriseModule);
|
|
47
|
+
exportsArray.push(user_module_1.UserModule, module_module_1.ModuleModule, layout_module_1.LayoutModule, enterprise_module_1.EnterpriseModule);
|
|
52
48
|
}
|
|
53
49
|
return {
|
|
54
50
|
module: CoreModule_1,
|
package/dist/core.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,2CAA8C;AAE9C,6EAAyE;AACzE,uDAAmD;AACnD,2DAAuD;AACvD,+DAA2D;AAC3D,iEAA6D;AAC7D,mFAA+E;AAC/E,iEAA6D;AAC7D,6EAAyE;AACzE,iEAA6D;AAItD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,YAAY,CAAC,QAAuB,EAAE,KAAc;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG;YACnB,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,QAAQ;YACR,4BAAY;YACZ,
|
|
1
|
+
{"version":3,"file":"core.module.js","sourceRoot":"","sources":["../src/core.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA+D;AAC/D,2CAA8C;AAE9C,6EAAyE;AACzE,uDAAmD;AACnD,2DAAuD;AACvD,+DAA2D;AAC3D,iEAA6D;AAC7D,mFAA+E;AAC/E,iEAA6D;AAC7D,6EAAyE;AACzE,iEAA6D;AAItD,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,MAAM,CAAC,YAAY,CAAC,QAAuB,EAAE,KAAc;QACzD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAY,GAAG;YACnB,qBAAY,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YACxC,QAAQ;YACR,4BAAY;YACZ,0BAAW;YACX,wCAAkB;YAClB,oCAAgB;YAChB,4BAAY;SACb,CAAC;QAEF,MAAM,YAAY,GAAG;YACnB,qBAAY;YACZ,QAAQ;YACR,4BAAY;YAEZ,0BAAW;YACX,wCAAkB;YAClB,oCAAgB;YAChB,4BAAY;SACb,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CACf,wBAAU,EACV,4BAAY,EACZ,4BAAY,EACZ,oCAAgB,CACjB,CAAC;YACF,YAAY,CAAC,IAAI,CACf,wBAAU,EACV,4BAAY,EACZ,4BAAY,EACZ,oCAAgB,CACjB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,OAAO,EAAE,YAAY;YACrB,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;CACF,CAAA;AAhDY,gCAAU;qBAAV,UAAU;IAFtB,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAgDtB"}
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
-
import { UserSession } from 'src/module/user/entity/user-session.entity';
|
|
2
|
-
import { Repository } from 'typeorm';
|
|
3
1
|
import { ConfigService } from '@nestjs/config';
|
|
4
2
|
declare const JwtStrategy_base: new (...args: any) => any;
|
|
5
3
|
export declare class JwtStrategy extends JwtStrategy_base {
|
|
6
|
-
private
|
|
7
|
-
|
|
8
|
-
constructor(userSessionRepository: Repository<UserSession>, configService: ConfigService);
|
|
4
|
+
private readonly configService;
|
|
5
|
+
constructor(configService: ConfigService);
|
|
9
6
|
validate(payload: any): Promise<{
|
|
10
7
|
userId: any;
|
|
11
8
|
sessionToken: any;
|
|
12
9
|
appcode: any;
|
|
10
|
+
email_id: any;
|
|
13
11
|
}>;
|
|
14
12
|
}
|
|
15
13
|
export {};
|
|
@@ -8,46 +8,29 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
exports.JwtStrategy = void 0;
|
|
16
13
|
const passport_jwt_1 = require("passport-jwt");
|
|
17
14
|
const passport_1 = require("@nestjs/passport");
|
|
18
15
|
const common_1 = require("@nestjs/common");
|
|
19
|
-
const typeorm_1 = require("@nestjs/typeorm");
|
|
20
|
-
const user_session_entity_1 = require("../../user/entity/user-session.entity");
|
|
21
|
-
const typeorm_2 = require("typeorm");
|
|
22
16
|
const config_1 = require("@nestjs/config");
|
|
23
17
|
let JwtStrategy = class JwtStrategy extends (0, passport_1.PassportStrategy)(passport_jwt_1.Strategy) {
|
|
24
|
-
constructor(
|
|
18
|
+
constructor(configService) {
|
|
25
19
|
super({
|
|
26
20
|
jwtFromRequest: passport_jwt_1.ExtractJwt.fromAuthHeaderAsBearerToken(),
|
|
27
21
|
ignoreExpiration: false,
|
|
28
22
|
secretOrKey: configService.get('SECRET_KEY'),
|
|
29
23
|
});
|
|
30
|
-
this.userSessionRepository = userSessionRepository;
|
|
31
24
|
this.configService = configService;
|
|
32
25
|
}
|
|
33
26
|
async validate(payload) {
|
|
34
|
-
const { userId, sessionToken, appcode } = payload;
|
|
35
|
-
|
|
36
|
-
where: { session_key: sessionToken },
|
|
37
|
-
});
|
|
38
|
-
if (!userSession ||
|
|
39
|
-
userSession.is_session_loggedout ||
|
|
40
|
-
new Date(userSession.expiry_date) < new Date()) {
|
|
41
|
-
throw new common_1.UnauthorizedException('Invalid or expired session');
|
|
42
|
-
}
|
|
43
|
-
return { userId, sessionToken, appcode };
|
|
27
|
+
const { userId, sessionToken, appcode, email_id } = payload;
|
|
28
|
+
return { userId, sessionToken, appcode, email_id };
|
|
44
29
|
}
|
|
45
30
|
};
|
|
46
31
|
exports.JwtStrategy = JwtStrategy;
|
|
47
32
|
exports.JwtStrategy = JwtStrategy = __decorate([
|
|
48
33
|
(0, common_1.Injectable)(),
|
|
49
|
-
|
|
50
|
-
__metadata("design:paramtypes", [typeorm_2.Repository,
|
|
51
|
-
config_1.ConfigService])
|
|
34
|
+
__metadata("design:paramtypes", [config_1.ConfigService])
|
|
52
35
|
], JwtStrategy);
|
|
53
36
|
//# sourceMappingURL=jwt.strategy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../src/module/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jwt.strategy.js","sourceRoot":"","sources":["../../../../src/module/auth/strategies/jwt.strategy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAAoD;AACpD,+CAAoD;AACpD,2CAAmE;AAKnE,2CAA+C;AAGxC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,2BAAgB,EAAC,uBAAQ,CAAC;IACzD,YAA6B,aAA4B;QACvD,KAAK,CAAC;YACJ,cAAc,EAAE,yBAAU,CAAC,2BAA2B,EAAE;YACxD,gBAAgB,EAAE,KAAK;YACvB,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC;SAC7C,CAAC,CAAC;QALwB,kBAAa,GAAb,aAAa,CAAe;IAMzD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAO;QACpB,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAe5D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;CACF,CAAA;AA3BY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;qCAEiC,sBAAa;GAD9C,WAAW,CA2BvB"}
|
|
@@ -31,13 +31,13 @@ let LayoutController = class LayoutController {
|
|
|
31
31
|
return res.json({
|
|
32
32
|
success: true,
|
|
33
33
|
data: response,
|
|
34
|
-
message: 'Header fetched successfully'
|
|
34
|
+
message: 'Header fetched successfully',
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
38
|
return res.status(common_1.HttpStatus.BAD_REQUEST).json({
|
|
39
39
|
success: false,
|
|
40
|
-
message: 'User data not found'
|
|
40
|
+
message: 'User data not found',
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.controller.js","sourceRoot":"","sources":["../../../../src/module/layout/controller/layout.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"layout.controller.js","sourceRoot":"","sources":["../../../../src/module/layout/controller/layout.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQwB;AACxB,2DAA2D;AAC3D,8EAAyE;AAEzE,kEAA8D;AAC9D,uEAAoE;AAI7D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,oBAA0C,EACnB,WAAwB;QAD/C,yBAAoB,GAApB,oBAAoB,CAAsB;QACnB,gBAAW,GAAX,WAAW,CAAa;IAC/D,CAAC;IAGE,AAAN,KAAK,CAAC,SAAS,CAAQ,GAA4B,EAAS,GAAa;QACvE,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,iCAAe,EACf,MAAM,CACP,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,oBAAoB,CACjE,QAAQ,CAAC,eAAe,CACzB,CAAC;YACF,OAAO,GAAG,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,MAAM,CAAC,mBAAU,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;gBAC7C,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAA;AA7BY,4CAAgB;AAOrB;IADL,IAAA,YAAG,EAAC,QAAQ,CAAC;IACG,WAAA,IAAA,YAAG,GAAE,CAAA;IAAgC,WAAA,IAAA,YAAG,GAAE,CAAA;;;;iDAqB1D;2BA5BU,gBAAgB;IAF5B,IAAA,mBAAU,EAAC,QAAQ,CAAC;IACpB,IAAA,kBAAS,EAAC,wBAAY,CAAC;IAInB,WAAA,IAAA,eAAM,EAAC,aAAa,CAAC,CAAA;qCADiB,6CAAoB;QACN,0BAAW;GAHvD,gBAAgB,CA6B5B"}
|
|
@@ -23,7 +23,11 @@ exports.LayoutModule = LayoutModule = __decorate([
|
|
|
23
23
|
(0, common_1.Module)({
|
|
24
24
|
imports: [typeorm_1.TypeOrmModule.forFeature([header_section_entity_1.HeaderSection, header_items_entity_1.HeaderItems]), user_module_1.UserModule],
|
|
25
25
|
controllers: [layout_controller_1.LayoutController],
|
|
26
|
-
providers: [
|
|
26
|
+
providers: [
|
|
27
|
+
header_items_repository_1.HeaderItemsRepository,
|
|
28
|
+
header_section_repository_1.HeaderSectionRepository,
|
|
29
|
+
header_section_service_1.HeaderSectionService,
|
|
30
|
+
],
|
|
27
31
|
exports: [],
|
|
28
32
|
})
|
|
29
33
|
], LayoutModule);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.module.js","sourceRoot":"","sources":["../../../src/module/layout/layout.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,0EAA+D;AAC/D,sEAA2D;AAC3D,kFAA6E;AAC7E,sFAAiF;AACjF,sEAAkE;AAClE,qDAAiD;AACjD,6EAAwE;
|
|
1
|
+
{"version":3,"file":"layout.module.js","sourceRoot":"","sources":["../../../src/module/layout/layout.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,0EAA+D;AAC/D,sEAA2D;AAC3D,kFAA6E;AAC7E,sFAAiF;AACjF,sEAAkE;AAClE,qDAAiD;AACjD,6EAAwE;AAYjE,IAAM,YAAY,GAAlB,MAAM,YAAY;CAAG,CAAA;AAAf,oCAAY;uBAAZ,YAAY;IAVxB,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,uBAAa,CAAC,UAAU,CAAC,CAAC,qCAAa,EAAE,iCAAW,CAAC,CAAC,EAAE,wBAAU,CAAC;QAC7E,WAAW,EAAE,CAAC,oCAAgB,CAAC;QAC/B,SAAS,EAAE;YACT,+CAAqB;YACrB,mDAAuB;YACvB,6CAAoB;SACrB;QACD,OAAO,EAAE,EAAE;KACZ,CAAC;GACW,YAAY,CAAG"}
|
|
@@ -33,7 +33,12 @@ let UserSessionService = class UserSessionService {
|
|
|
33
33
|
const expiryTokenInHours = this.configService.get('TOKEN_EXPIRY') || 1;
|
|
34
34
|
userSession.expiry_date = new Date(Date.now() + expiryTokenInHours * 60 * 60 * 1000);
|
|
35
35
|
await this.userSessionRepository.saveSession(userSession);
|
|
36
|
-
const payload = {
|
|
36
|
+
const payload = {
|
|
37
|
+
userId: user.id,
|
|
38
|
+
sessionToken,
|
|
39
|
+
appcode: appcode,
|
|
40
|
+
email_id: user.email_id,
|
|
41
|
+
};
|
|
37
42
|
const accessToken = this.jwtAuthService.generateJwt(payload);
|
|
38
43
|
userSession.access_token = accessToken;
|
|
39
44
|
await this.userSessionRepository.saveSession(userSession);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-session.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-session.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4D;AAC5D,0FAAkF;AAClF,2CAA4C;AAC5C,iFAA6E;AAC7E,iEAAsE;AACtE,2CAA+C;AAGxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,qBAA4C,EAC5C,cAA8B,EAC9B,iBAAoC,EAC7C,aAA4B;QAHnB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC7C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IACJ,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAgB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAQ,IAAI,iCAAW,EAAE,CAAC;QAC3C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC;QACvC,WAAW,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACrC,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,WAAW,CAAC,WAAW,GAAG,IAAI,IAAI,CAChC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACjD,CAAC;QAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"file":"user-session.service.js","sourceRoot":"","sources":["../../../../src/module/user/service/user-session.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uEAA4D;AAC5D,0FAAkF;AAClF,2CAA4C;AAC5C,iFAA6E;AAC7E,iEAAsE;AACtE,2CAA+C;AAGxC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,YACmB,qBAA4C,EAC5C,cAA8B,EAC9B,iBAAoC,EAC7C,aAA4B;QAHnB,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QAC9B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC7C,kBAAa,GAAb,aAAa,CAAe;IACnC,CAAC;IACJ,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAgB;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAQ,IAAI,iCAAW,EAAE,CAAC;QAC3C,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC;QACvC,WAAW,CAAC,oBAAoB,GAAG,CAAC,CAAC;QACrC,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACvE,WAAW,CAAC,WAAW,GAAG,IAAI,IAAI,CAChC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CACjD,CAAC;QAEF,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,EAAE;YACf,YAAY;YACZ,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE7D,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC;QACvC,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAE1D,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB;QACvC,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QAC1C,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC;CACF,CAAA;AA3CY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;qCAG+B,8CAAqB;QAC5B,4BAAc;QACX,0CAAiB;QAC9B,sBAAa;GAL3B,kBAAkB,CA2C9B"}
|