@notidotbot/noti-api-client 1.4.12 → 1.4.13

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,204 +1,204 @@
1
1
  model KickStreamer {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- streamerUserName String
5
- guildId String
4
+ streamerUserName String
5
+ guildId String
6
6
 
7
- streamerId String? // Renamed from streamerId
8
- chatRoomId String? // Renamed from chatRoomId
7
+ streamerId String? // Renamed from streamerId
8
+ chatRoomId String? // Renamed from chatRoomId
9
9
 
10
- deleteEmbeds Boolean? // Premium
11
- sendOfflineMessage Boolean?
12
- usePerStreamerEmbeds Boolean? // Premium
13
- autoPublishIfAnnouncmentChannel Boolean? // Premium
10
+ deleteEmbeds Boolean? // Premium
11
+ sendOfflineMessage Boolean?
12
+ usePerStreamerEmbeds Boolean? // Premium
13
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
14
14
 
15
- customMessages KSCustomMessage[] // Premium
15
+ customMessages KSCustomMessage[] // Premium
16
16
 
17
- clipEnabled Boolean?
18
- clipChannelId String?
19
- clipPingRoleId String?
20
- clipperNeedsAllCategories Boolean?
21
- clipperCategories ClipperCategoryEnum[]
17
+ clipEnabled Boolean?
18
+ clipChannelId String?
19
+ clipPingRoleId String?
20
+ clipperNeedsAllCategories Boolean?
21
+ clipperCategories ClipperCategoryEnum[]
22
22
 
23
- whitelistedClipperNames String[] // Filter by clipper usernames
23
+ whitelistedClipperNames String[] // Filter by clipper usernames
24
24
 
25
- builtInClipsEnabled Boolean?
26
- builtInClipsChannelId String?
27
- builtInClipsPingRoleId String?
25
+ builtInClipsEnabled Boolean?
26
+ builtInClipsChannelId String?
27
+ builtInClipsPingRoleId String?
28
28
 
29
- vodsChannelId String?
30
- vodsPingRoleId String?
29
+ vodsChannelId String?
30
+ vodsPingRoleId String?
31
31
 
32
- notificationChannelId String?
33
- auditLogsChannelId String? // Premium
34
- auditLogsEnabled Boolean? // Premium
35
- showNotifyButton Boolean?
32
+ notificationChannelId String?
33
+ auditLogsChannelId String? // Premium
34
+ auditLogsEnabled Boolean? // Premium
35
+ showNotifyButton Boolean?
36
36
 
37
- leaderBoardChannelId String? // Internal & Premium
38
- leaderBoardMessageId String? // Internal & Premium
39
- leaderBoardTypes LeaderBoardTypesEnum[] // Premium
37
+ leaderBoardChannelId String? // Internal & Premium
38
+ leaderBoardMessageId String? // Internal & Premium
39
+ leaderBoardTypes LeaderBoardTypesEnum[] // Premium
40
40
 
41
- pingRoleId String?
42
- enableVodDownloading Boolean? // Premium
43
- customCoolDownBeforeNextLive Int? // Premium. In minutes.
41
+ pingRoleId String?
42
+ enableVodDownloading Boolean? // Premium
43
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
44
44
 
45
- usersWhoHaveRole KSRoleWithUsers[] // Internal & Premium
46
- leaderBoardSyncRoles KSLeaderBoardSyncRole[] // Premium
47
- giftedSubRoles KSGiftedSubRole[] // Premium
45
+ usersWhoHaveRole KSRoleWithUsers[] // Internal & Premium
46
+ leaderBoardSyncRoles KSLeaderBoardSyncRole[] // Premium
47
+ giftedSubRoles KSGiftedSubRole[] // Premium
48
48
 
49
- subscriberRoleId String?
50
- moderatorRoleId String?
51
- verifiedRoleId String? // Premium
52
- founderRoleId String? // Premium
53
- vipRoleId String?
54
- ogRoleId String?
49
+ subscriberRoleId String?
50
+ moderatorRoleId String?
51
+ verifiedRoleId String? // Premium
52
+ founderRoleId String? // Premium
53
+ vipRoleId String?
54
+ ogRoleId String?
55
55
 
56
- liveRoleId String?
57
- usersForLiveRole String[]
58
- usersWhoHaveLiveRole String[] // Internal
56
+ liveRoleId String?
57
+ usersForLiveRole String[]
58
+ usersWhoHaveLiveRole String[] // Internal
59
59
 
60
- statsChannelIds KSStatsChannelId? // Internal
61
- isCurrentlyLive KSCurrentlyLive? // Internal
60
+ statsChannelIds KSStatsChannelId? // Internal
61
+ isCurrentlyLive KSCurrentlyLive? // Internal
62
62
 
63
- lastLive DateTime?
63
+ lastLive DateTime?
64
64
 
65
- @@unique([streamerUserName, guildId])
65
+ @@unique([streamerUserName, guildId])
66
66
  }
67
67
 
68
68
  model KSCustomMessage {
69
- dbId String @id @default(uuid())
69
+ dbId String @id @default(uuid())
70
70
 
71
- type StreamerMessageTypeEnum
72
- content String? @db.VarChar(2000)
71
+ type StreamerMessageTypeEnum
72
+ content String? @db.VarChar(2000)
73
73
 
74
- embed KSMessageEmbed?
75
- buttons KSMessageButton[]
76
- webhook KSMessageWebhook?
74
+ embed KSMessageEmbed?
75
+ buttons KSMessageButton[]
76
+ webhook KSMessageWebhook?
77
77
 
78
- kickStreamerId String
79
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
78
+ kickStreamerId String
79
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
80
80
 
81
- @@unique([kickStreamerId, type])
81
+ @@unique([kickStreamerId, type])
82
82
  }
83
83
 
84
84
  model KSMessageEmbed {
85
- dbId String @id @default(uuid())
86
-
87
- title String? @db.VarChar(256)
88
- url String?
89
- description String @db.VarChar(2048)
90
- color String? @db.VarChar(10)
91
- footer String? @db.VarChar(1024)
92
- footerIcon String?
93
- image String?
94
- thumbnail String?
95
- author String? @db.VarChar(256)
96
- authorIcon String?
97
- fields KSEmbedField[]
98
-
99
- ksCustomMessageId String @unique
100
- ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
85
+ dbId String @id @default(uuid())
86
+
87
+ title String? @db.VarChar(256)
88
+ url String?
89
+ description String @db.VarChar(2048)
90
+ color String? @db.VarChar(10)
91
+ footer String? @db.VarChar(1024)
92
+ footerIcon String?
93
+ image String?
94
+ thumbnail String?
95
+ author String? @db.VarChar(256)
96
+ authorIcon String?
97
+ fields KSEmbedField[]
98
+
99
+ ksCustomMessageId String @unique
100
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
101
101
  }
102
102
 
103
103
  model KSEmbedField {
104
- dbId String @id @default(uuid())
104
+ dbId String @id @default(uuid())
105
105
 
106
- name String @db.VarChar(256)
107
- value String? @db.VarChar(1024)
108
- inline Boolean?
106
+ name String @db.VarChar(256)
107
+ value String? @db.VarChar(1024)
108
+ inline Boolean?
109
109
 
110
- ksMessageEmbedId String
111
- ksMessageEmbed KSMessageEmbed? @relation(fields: [ksMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
110
+ ksMessageEmbedId String
111
+ ksMessageEmbed KSMessageEmbed? @relation(fields: [ksMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
112
112
  }
113
113
 
114
114
  model KSMessageButton {
115
- dbId String @id @default(uuid())
115
+ dbId String @id @default(uuid())
116
116
 
117
- title String @db.VarChar(80)
118
- url String?
117
+ title String @db.VarChar(80)
118
+ url String?
119
119
 
120
- emojiUnicodeOrId String?
120
+ emojiUnicodeOrId String?
121
121
 
122
- ksCustomMessageId String
123
- ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
122
+ ksCustomMessageId String
123
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
124
124
  }
125
125
 
126
126
  model KSMessageWebhook {
127
- dbId String @id @default(uuid())
127
+ dbId String @id @default(uuid())
128
128
 
129
- enabled Boolean?
130
- username String?
131
- avatarUrl String?
129
+ enabled Boolean?
130
+ username String?
131
+ avatarUrl String?
132
132
 
133
- ksCustomMessageId String @unique
134
- ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
133
+ ksCustomMessageId String @unique
134
+ ksCustomMessage KSCustomMessage? @relation(fields: [ksCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
135
135
  }
136
136
 
137
137
  model KSRoleWithUsers {
138
- dbId String @id @default(uuid())
138
+ dbId String @id @default(uuid())
139
139
 
140
- roleId String
141
- userIds String[]
140
+ roleId String
141
+ userIds String[]
142
142
 
143
- kickStreamerId String
144
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
143
+ kickStreamerId String
144
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
145
145
 
146
- @@unique([roleId, kickStreamerId])
146
+ @@unique([roleId, kickStreamerId])
147
147
  }
148
148
 
149
149
  model KSLeaderBoardSyncRole {
150
- dbId String @id @default(uuid())
150
+ dbId String @id @default(uuid())
151
151
 
152
- type LeaderBoardTypesEnum
153
- roles KSLeaderBoardRole[]
152
+ type LeaderBoardTypesEnum
153
+ roles KSLeaderBoardRole[]
154
154
 
155
- kickStreamerId String
156
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
155
+ kickStreamerId String
156
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
157
157
 
158
- @@unique([type, kickStreamerId])
158
+ @@unique([type, kickStreamerId])
159
159
  }
160
160
 
161
161
  model KSLeaderBoardRole {
162
- dbId String @id @default(uuid())
162
+ dbId String @id @default(uuid())
163
163
 
164
- roleId String
165
- position Int
164
+ roleId String
165
+ position Int
166
166
 
167
- ksLeaderBoardSyncRoleId String
168
- ksLeaderBoardSyncRole KSLeaderBoardSyncRole? @relation(fields: [ksLeaderBoardSyncRoleId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
167
+ ksLeaderBoardSyncRoleId String
168
+ ksLeaderBoardSyncRole KSLeaderBoardSyncRole? @relation(fields: [ksLeaderBoardSyncRoleId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
169
169
 
170
- @@unique([roleId, ksLeaderBoardSyncRoleId])
170
+ @@unique([roleId, ksLeaderBoardSyncRoleId])
171
171
  }
172
172
 
173
173
  model KSGiftedSubRole {
174
- dbId String @id @default(uuid())
174
+ dbId String @id @default(uuid())
175
175
 
176
- roleId String
177
- giftedSubs Int
176
+ roleId String
177
+ giftedSubs Int
178
178
 
179
- kickStreamerId String
180
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
179
+ kickStreamerId String
180
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
181
181
 
182
- @@unique([roleId, kickStreamerId])
182
+ @@unique([roleId, kickStreamerId])
183
183
  }
184
184
 
185
185
  model KSStatsChannelId {
186
- dbId String @id @default(uuid())
186
+ dbId String @id @default(uuid())
187
187
 
188
- followers String?
189
- isLive String?
188
+ followers String?
189
+ isLive String?
190
190
 
191
- kickStreamerId String @unique
192
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
191
+ kickStreamerId String @unique
192
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
193
193
  }
194
194
 
195
195
  model KSCurrentlyLive {
196
- dbId String @id @default(uuid())
196
+ dbId String @id @default(uuid())
197
197
 
198
- correct Boolean?
199
- channelId String?
200
- messageId String?
198
+ correct Boolean?
199
+ channelId String?
200
+ messageId String?
201
201
 
202
- kickStreamerId String @unique
203
- kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
202
+ kickStreamerId String @unique
203
+ kickStreamer KickStreamer? @relation(fields: [kickStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
204
204
  }
@@ -1,10 +1,10 @@
1
1
  model Member {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- userId String
5
- guildId String
4
+ userId String
5
+ guildId String
6
6
 
7
- messagesSent Int @default(0)
7
+ messagesSent Int @default(0)
8
8
 
9
- @@unique([userId, guildId])
9
+ @@unique([userId, guildId])
10
10
  }
@@ -1,22 +1,24 @@
1
1
  model R2Storage {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- key String @unique
4
+ key String @unique
5
5
 
6
- tempUrl String?
7
- urlExpiresAt DateTime?
6
+ tempUrl String?
7
+ urlExpiresAt DateTime?
8
+ thumbnail String?
9
+ streamDate DateTime?
8
10
 
9
- guilds R2StorageGuild[]
11
+ guilds R2StorageGuild[]
10
12
  }
11
13
 
12
14
  model R2StorageGuild {
13
- dbId String @id @default(uuid())
15
+ dbId String @id @default(uuid())
14
16
 
15
- guildId String
16
- allowedUntil DateTime?
17
+ guildId String
18
+ allowedUntil DateTime?
17
19
 
18
- r2StorageId String
19
- r2Storage R2Storage? @relation(fields: [r2StorageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
20
+ r2StorageId String
21
+ r2Storage R2Storage? @relation(fields: [r2StorageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
20
22
 
21
- @@unique([guildId, r2StorageId])
23
+ @@unique([guildId, r2StorageId])
22
24
  }
@@ -1,121 +1,121 @@
1
1
  model RumbleStreamer {
2
- dbId String @id @default(uuid())
2
+ dbId String @id @default(uuid())
3
3
 
4
- streamerUserName String
5
- guildId String
4
+ streamerUserName String
5
+ guildId String
6
6
 
7
- type RumbleTypeEnum // Renamed from type
7
+ type RumbleTypeEnum // Renamed from type
8
8
 
9
- deleteEmbeds Boolean? // Premium
10
- sendOfflineMessage Boolean?
11
- usePerStreamerEmbeds Boolean? // Premium
12
- autoPublishIfAnnouncmentChannel Boolean? // Premium
9
+ deleteEmbeds Boolean? // Premium
10
+ sendOfflineMessage Boolean?
11
+ usePerStreamerEmbeds Boolean? // Premium
12
+ autoPublishIfAnnouncmentChannel Boolean? // Premium
13
13
 
14
- customMessages RSCustomMessage[] // Premium
14
+ customMessages RSCustomMessage[] // Premium
15
15
 
16
- notificationChannelId String?
17
- showNotifyButton Boolean?
16
+ notificationChannelId String?
17
+ showNotifyButton Boolean?
18
18
 
19
- pingRoleId String?
20
- customCoolDownBeforeNextLive Int? // Premium. In minutes.
19
+ pingRoleId String?
20
+ customCoolDownBeforeNextLive Int? // Premium. In minutes.
21
21
 
22
- liveRoleId String?
23
- usersForLiveRole String[]
24
- usersWhoHaveLiveRole String[] // Internal
22
+ liveRoleId String?
23
+ usersForLiveRole String[]
24
+ usersWhoHaveLiveRole String[] // Internal
25
25
 
26
- statsChannelIds RSStatsChannelId? // Internal
27
- isCurrentlyLive RSCurrentlyLive? // Internal
26
+ statsChannelIds RSStatsChannelId? // Internal
27
+ isCurrentlyLive RSCurrentlyLive? // Internal
28
28
 
29
- lastLive DateTime?
29
+ lastLive DateTime?
30
30
 
31
- @@unique([streamerUserName, guildId])
31
+ @@unique([streamerUserName, guildId])
32
32
  }
33
33
 
34
34
  model RSCustomMessage {
35
- dbId String @id @default(uuid())
35
+ dbId String @id @default(uuid())
36
36
 
37
- type StreamerMessageTypeEnum
38
- content String? @db.VarChar(2000)
37
+ type StreamerMessageTypeEnum
38
+ content String? @db.VarChar(2000)
39
39
 
40
- embed RSMessageEmbed?
41
- buttons RSMessageButton[]
42
- webhook RSMessageWebhook?
40
+ embed RSMessageEmbed?
41
+ buttons RSMessageButton[]
42
+ webhook RSMessageWebhook?
43
43
 
44
- rumbleStreamerId String
45
- rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
44
+ rumbleStreamerId String
45
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
46
46
 
47
- @@unique([rumbleStreamerId, type])
47
+ @@unique([rumbleStreamerId, type])
48
48
  }
49
49
 
50
50
  model RSMessageEmbed {
51
- dbId String @id @default(uuid())
52
-
53
- title String? @db.VarChar(256)
54
- url String?
55
- description String @db.VarChar(2048)
56
- color String? @db.VarChar(10)
57
- footer String? @db.VarChar(1024)
58
- footerIcon String?
59
- image String?
60
- thumbnail String?
61
- author String? @db.VarChar(256)
62
- authorIcon String?
63
- fields RSEmbedField[]
64
-
65
- rsCustomMessageId String @unique
66
- rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
51
+ dbId String @id @default(uuid())
52
+
53
+ title String? @db.VarChar(256)
54
+ url String?
55
+ description String @db.VarChar(2048)
56
+ color String? @db.VarChar(10)
57
+ footer String? @db.VarChar(1024)
58
+ footerIcon String?
59
+ image String?
60
+ thumbnail String?
61
+ author String? @db.VarChar(256)
62
+ authorIcon String?
63
+ fields RSEmbedField[]
64
+
65
+ rsCustomMessageId String @unique
66
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
67
67
  }
68
68
 
69
69
  model RSEmbedField {
70
- dbId String @id @default(uuid())
70
+ dbId String @id @default(uuid())
71
71
 
72
- name String @db.VarChar(256)
73
- value String? @db.VarChar(1024)
74
- inline Boolean?
72
+ name String @db.VarChar(256)
73
+ value String? @db.VarChar(1024)
74
+ inline Boolean?
75
75
 
76
- rsMessageEmbedId String
77
- rsMessageEmbed RSMessageEmbed? @relation(fields: [rsMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
76
+ rsMessageEmbedId String
77
+ rsMessageEmbed RSMessageEmbed? @relation(fields: [rsMessageEmbedId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
78
78
  }
79
79
 
80
80
  model RSMessageButton {
81
- dbId String @id @default(uuid())
81
+ dbId String @id @default(uuid())
82
82
 
83
- title String @db.VarChar(80)
84
- url String?
83
+ title String @db.VarChar(80)
84
+ url String?
85
85
 
86
- emojiUnicodeOrId String?
86
+ emojiUnicodeOrId String?
87
87
 
88
- rsCustomMessageId String
89
- rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
88
+ rsCustomMessageId String
89
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
90
90
  }
91
91
 
92
92
  model RSMessageWebhook {
93
- dbId String @id @default(uuid())
93
+ dbId String @id @default(uuid())
94
94
 
95
- enabled Boolean?
96
- username String?
97
- avatarUrl String?
95
+ enabled Boolean?
96
+ username String?
97
+ avatarUrl String?
98
98
 
99
- rsCustomMessageId String @unique
100
- rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
99
+ rsCustomMessageId String @unique
100
+ rsCustomMessage RSCustomMessage? @relation(fields: [rsCustomMessageId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
101
101
  }
102
102
 
103
103
  model RSStatsChannelId {
104
- dbId String @id @default(uuid())
104
+ dbId String @id @default(uuid())
105
105
 
106
- isLive String?
106
+ isLive String?
107
107
 
108
- rumbleStreamerId String @unique
109
- rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
108
+ rumbleStreamerId String @unique
109
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
110
110
  }
111
111
 
112
112
  model RSCurrentlyLive {
113
- dbId String @id @default(uuid())
113
+ dbId String @id @default(uuid())
114
114
 
115
- correct Boolean?
116
- channelId String?
117
- messageId String?
115
+ correct Boolean?
116
+ channelId String?
117
+ messageId String?
118
118
 
119
- rumbleStreamerId String @unique
120
- rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
119
+ rumbleStreamerId String @unique
120
+ rumbleStreamer RumbleStreamer? @relation(fields: [rumbleStreamerId], references: [dbId], onUpdate: Cascade, onDelete: Cascade)
121
121
  }