sync proto

This commit is contained in:
Yuuki 2024-06-05 00:22:10 +08:00
parent 7ac18a1ad6
commit 8b3ee4ab88
32 changed files with 139 additions and 381 deletions

View File

@ -12311,7 +12311,7 @@ message EHANPEDDIBP {
}
// CmdId: 2232
message DMAPLFFFILP {
message AvatarPromoteReq {
uint64 guid = 14;
}
@ -26549,8 +26549,8 @@ message PlayerNicknameNotify {
}
// CmdId: 7078
message HOOLAGBCPDI {
repeated uint32 GJEKMNDEHGF = 1;
message GetAllUnlockNameCardRsp {
repeated uint32 name_card_list = 1;
int32 retcode = 13;
}

View File

@ -1,8 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// Obf: OPOPDLFAGAO
message AiSyncInfo {
uint32 entity_id = 9;
bool has_path_to_target = 10;
bool is_self_killing = 11;
bool has_path_to_target = 3;
bool is_self_killing = 9;
uint32 entity_id = 12;
}

View File

@ -1,22 +1,8 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: HHHCEHIOMEP
// 4.6.0
// Obf: NBLPDJLFIOM
message AiThreatInfo {
map<uint32, uint32> ai_threat_map = 12;
map<uint32, uint32> ai_threat_map = 13;
}

View File

@ -1,23 +1,8 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 23288
// Obf: MLDPIPBFIKB
// 4.6.0
// CmdId: 2232
message AvatarPromoteReq {
uint64 guid = 5;
uint64 guid = 14;
}

View File

@ -1,9 +1,10 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
//AvatarPromoteRsp
// 4.6.0
// CmdId: 24702
// Obf: ???
// CmdId: 3564
message AvatarPromoteRsp {
uint64 guid = 1;
int32 retcode = 5;
}
uint64 guid = 13;
int32 retcode = 15;
}

View File

@ -1,13 +1,14 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "PropChangeReason.proto";
// 4.6.0
// CmdId: 5955
// Obf: ???
message AvatarPropChangeReasonNotify {
PropChangeReason reason = 15;
uint32 prop_type = 2;
float cur_value = 11;
uint64 avatar_guid = 3;
float cur_value = 11;
float old_value = 13;
}
PropChangeReason reason = 15;
}

View File

@ -1,23 +1,8 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 2606
// Obf: FPIKKIKFHDA
// Obf: KCBLONBAAEL
// CmdId: 29500
message EntityAiKillSelfNotify {
uint32 entity_id = 12;
uint32 entity_id = 9;
}

View File

@ -1,8 +1,12 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AiSyncInfo.proto";
// 4.6.0
// Obf: EPKLOEEJJLA
// CmdId: 6518
message EntityAiSyncNotify {
repeated uint32 local_avatar_alerted_monster_list = 12;
repeated AiSyncInfo info_list = 8;
repeated AiSyncInfo info_list = 12;
repeated uint32 local_avatar_alerted_monster_list = 14;
}

View File

@ -1,24 +1,11 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "AiThreatInfo.proto";
// CmdId: 7714
// Obf: HHOBKODCGBH
// 4.6.0
// Obf: CMLBBABLKPB
// CmdId: 28434
message EvtAiSyncCombatThreatInfoNotify {
map<uint32, AiThreatInfo> combat_threat_info_map = 15;
map<uint32, AiThreatInfo> combat_threat_info_map = 5;
}

View File

@ -1,9 +1,9 @@
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// 4.6.0
// CmdId: 7078
// Obf: ???
message GetAllUnlockNameCardRsp {
repeated uint32 name_card_list = 1;
int32 retcode = 13;
}
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 5653
// Obf: DHIJINKFIHD
// 4.6.0
// Obf: JCAHJIAMECH
// CmdId: 2113
message GetHomeLevelUpRewardReq {
uint32 level = 12;
uint32 level = 10;
}

View File

@ -1,24 +1,10 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 7279
// Obf: OPPDHBNPFDI
// 4.6.0
// Obf: OCMCFFLPLDH
// CmdId: 21591
message GetHomeLevelUpRewardRsp {
int32 retcode = 8;
uint32 level = 15;
int32 retcode = 6;
uint32 level = 12;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 23471
// Obf: OLKBNMDBLPN
// 4.6.0
// Obf: JCFCMHLOEAE
// CmdId: 4053
message HomeAllUnlockedBgmIdListNotify {
repeated uint32 all_unlocked_bgm_id_list = 1;
repeated uint32 all_unlocked_bgm_id_list = 4;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// Obf: HLKGIAEKCLP
// 4.6.0
// Obf: PLMLBCAEFDB
message HomeAvatarTalkFinishInfo {
repeated uint32 finish_talk_id_list = 4;
uint32 avatar_id = 8;
uint32 avatar_id = 11;
repeated uint32 finish_talk_id_list = 13;
}

View File

@ -1,24 +1,11 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeAvatarTalkFinishInfo.proto";
// CmdId: 1817
// Obf: NBLCEJMJBPL
// 4.6.0
// Obf: DJPAKLKHNIM
// CmdId: 20101
message HomeAvatarTalkFinishInfoNotify {
repeated HomeAvatarTalkFinishInfo avatar_talk_info_list = 12;
repeated HomeAvatarTalkFinishInfo avatar_talk_info_list = 14;
}

View File

@ -1,25 +1,12 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeAvatarTalkFinishInfo.proto";
// CmdId: 1147
// Obf: BMKBKBJBHLM
// 4.6.0
// Obf: OCCCHPCLAMM
// CmdId: 23974
message HomeAvatarTalkRsp {
int32 retcode = 15;
HomeAvatarTalkFinishInfo avatar_talk_info = 11;
HomeAvatarTalkFinishInfo avatar_talk_info = 5;
int32 retcode = 12;
}

View File

@ -4,6 +4,6 @@ option java_package = "emu.grasscutter.net.proto";
//obf: IEKCEGFNINF
message HomeBlockDotPattern {
bytes data = 5;
uint32 width = 9;
uint32 height = 11;
uint32 height = 9;
uint32 width = 11;
}

View File

@ -6,9 +6,9 @@ import "HomeBlockSubFieldData.proto";
//obf: ECDJBCPLCNO
message HomeBlockFieldData {
uint32 furniture_id = 4;
uint32 guid = 4;
repeated HomeBlockSubFieldData sub_field_list = 7;
uint32 guid = 9;
uint32 furniture_id = 9;
Vector rot = 11;
Vector pos = 14;
}

View File

@ -5,6 +5,6 @@ import "Vector.proto";
//obf: DLGDKPKEOEG
message HomeBlockSubFieldData {
Vector rot = 8;
Vector pos = 13;
Vector pos = 8;
Vector rot = 13;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 2031
// Obf: HIJFHJEALCJ
// 4.6.0
// Obf: GCCDDDLMHBJ
// CmdId: 4213
message HomeChangeBgmNotify {
uint32 bgm_id = 2;
uint32 bgm_id = 5;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 28739
// Obf: EONIDLEEINE
// 4.6.0
// Obf: JLPKIHPFKEI
// CmdId: 26137
message HomeChangeBgmReq {
uint32 bgm_id = 1;
uint32 bgm_id = 15;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 27692
// Obf: KNOGFPMPFGK
// 4.6.0
// Obf: LEHAIFPOFJI
// CmdId: 4142
message HomeModuleSeenReq {
repeated uint32 seen_module_id_list = 8;
repeated uint32 seen_module_id_list = 14;
}

View File

@ -1,24 +1,10 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 3944
// Obf: IAGPCJIHFMC
// 4.6.0
// Obf: BMAJEDLDBNC
// CmdId: 24843
message HomeModuleSeenRsp {
repeated uint32 seen_module_id_list = 2;
int32 retcode = 15;
int32 retcode = 5;
repeated uint32 seen_module_id_list = 13;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 1089
// Obf: DPKKONFHIHC
// 4.6.0
// Obf: LHCCCGLEGBA
// CmdId: 9140
message HomeNewUnlockedBgmIdListNotify {
repeated uint32 new_unlocked_bgm_id_list = 6;
repeated uint32 new_unlocked_bgm_id_list = 5;
}

View File

@ -6,7 +6,7 @@ import "Vector.proto";
//obf: EGLCPDHFGPB
message HomeNpcData {
Vector spawnRot = 2;
uint32 avatar_id = 5;
uint32 costume_id = 5;
Vector spawn_pos = 7;
uint32 costume_id = 8;
uint32 avatar_id = 8;
}

View File

@ -2,7 +2,7 @@ syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
message HomeResource {
uint32 store_value = 5;
uint32 store_limit = 9;
uint32 store_limit = 5;
uint32 store_value = 9;
fixed32 next_refresh_time = 13;
}

View File

@ -5,6 +5,6 @@ import "HomeResource.proto";
// CmdId: 21381
message HomeResourceNotify {
HomeResource fetter_exp = 7;
HomeResource home_coin = 10;
HomeResource home_coin = 7;
HomeResource fetter_exp = 10;
}

View File

@ -1,25 +1,12 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
import "HomeResource.proto";
// CmdId: 6329
// Obf: PCJPOGJJIOH
// 4.6.0
// Obf: EMIEOHBGPEH
// CmdId: 841
message HomeResourceTakeHomeCoinRsp {
HomeResource home_coin = 8;
int32 retcode = 15;
int32 retcode = 2;
HomeResource home_coin = 4;
}

View File

@ -1,23 +1,9 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 2482
// Obf: DIFFHJFFHGE
// 4.6.0
// Obf: ACEKKHALOID
// CmdId: 24159
message HomeSceneJumpReq {
bool is_enter_room_scene = 12;
bool is_enter_room_scene = 10;
}

View File

@ -1,24 +1,10 @@
// https://github.com/SlushinPS/beach-simulator
// Copyright (C) 2023 Slushy Team
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
syntax = "proto3";
option java_package = "emu.grasscutter.net.proto";
// CmdId: 22825
// Obf: OEJJANGAIPG
// 4.6.0
// Obf: NPOEELOKDIC
// CmdId: 8266
message HomeSceneJumpRsp {
int32 retcode = 14;
bool is_enter_room_scene = 8;
bool is_enter_room_scene = 5;
int32 retcode = 10;
}

View File

@ -5,7 +5,7 @@ import "FriendEnterHomeOption.proto";
message PlayerHomeCompInfo {
FriendEnterHomeOption friend_enter_home_option = 7;
repeated uint32 seen_module_id_list = 9;
repeated uint32 levelup_reward_got_level_list = 13;
repeated uint32 levelup_reward_got_level_list = 9;
repeated uint32 seen_module_id_list = 13;
repeated uint32 unlocked_module_id_list = 15;
}

View File

@ -5,6 +5,6 @@ import "Vector.proto";
//obf: NPLBBAJDIOM
message WeekendDjinnInfo {
Vector pos = 13;
Vector rot = 14;
Vector rot = 13;
Vector pos = 14;
}