516 lines
19 KiB
Erlang
516 lines
19 KiB
Erlang
|
|
%%----------------------------------------------------
|
||
|
|
%% 个人空间
|
||
|
|
%%
|
||
|
|
%% @author liufenglin 240039421@qq.com
|
||
|
|
%%----------------------------------------------------
|
||
|
|
-module(proto_258).
|
||
|
|
-export([info/0, cfg/0]).
|
||
|
|
-include("protocol.hrl").
|
||
|
|
|
||
|
|
info() -> {
|
||
|
|
"勇者夺宝"
|
||
|
|
,["common.hrl", "role_room.hrl", "quest.hrl"]
|
||
|
|
}.
|
||
|
|
|
||
|
|
cfg() ->
|
||
|
|
[
|
||
|
|
#rpc{
|
||
|
|
code = 25800
|
||
|
|
,log_title = "设置城市信息"
|
||
|
|
,req_desc = "设置城市信息"
|
||
|
|
,req = [
|
||
|
|
{uint32, city_id, "城市id"}
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint8, code, "标志(0:失败 1:成功)"}
|
||
|
|
,{string, msg, "提示信息"}
|
||
|
|
,{uint32, city_id, "城市id"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25801
|
||
|
|
,log_title = "关注/取消关注"
|
||
|
|
,req_desc = "关注/取消关注"
|
||
|
|
,req = [
|
||
|
|
{tuple, id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint8, code, "标志(0:失败 1:成功)"}
|
||
|
|
,{string, msg, "提示信息"}
|
||
|
|
,{uint8, flag, "0:未关注 1:关注"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25802
|
||
|
|
,log_title = "排行榜"
|
||
|
|
,req_desc = "排行榜"
|
||
|
|
,req = [
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint16, rank, "自己名次"}
|
||
|
|
,{array, room_rank_info, rank_list, "排行榜", [
|
||
|
|
{tuple, id, [
|
||
|
|
{uint32, rid, "角色ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
]}
|
||
|
|
,{string, name, "名字"}
|
||
|
|
,{uint16, lev, "等级"}
|
||
|
|
,{uint32, face, "头像"}
|
||
|
|
,{uint16, rank, "排名"}
|
||
|
|
,{uint32, avatar_bid, "头像框"}
|
||
|
|
,{uint32, fans_num, "粉丝数量"}
|
||
|
|
,{uint32, look_id, "形象id"}
|
||
|
|
|
||
|
|
,{uint32, face_update_time, "自定义头像时间"}
|
||
|
|
,{string, face_file, "自定义头像"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25805
|
||
|
|
,log_title = "设置徽章使用"
|
||
|
|
,req_desc = "设置徽章使用"
|
||
|
|
,req = [
|
||
|
|
{uint8, pos, "位置"}
|
||
|
|
,{uint32, id, "徽章id"}
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint8, code, "标志(0:失败 1:成功)"}
|
||
|
|
,{string, msg, "提示信息"}
|
||
|
|
,{uint8, pos, "位置"}
|
||
|
|
,{uint32, id, "徽章id"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25806
|
||
|
|
,log_title = "请求所有徽章"
|
||
|
|
,req_desc = "请求所有徽章"
|
||
|
|
,req = [
|
||
|
|
{tuple, id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint32, point, "徽章点数"}
|
||
|
|
,{array, room_honor_badges, honor_badges, "已激活的所有徽章", [
|
||
|
|
{uint32, id, id, "徽章id"}
|
||
|
|
,{uint32, time, time, "激活时间"}
|
||
|
|
]}
|
||
|
|
,{array, tuple, use_badges, "使用中的徽章", [
|
||
|
|
{uint8, pos, "位置"}
|
||
|
|
,{uint32, id, "徽章id"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25807
|
||
|
|
,log_title = "推送徽章激活"
|
||
|
|
,req_desc = "推送徽章激活"
|
||
|
|
,req = [
|
||
|
|
]
|
||
|
|
,reply = [
|
||
|
|
{uint32, id, "徽章id"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25810
|
||
|
|
,log_title = "已接成就列表"
|
||
|
|
, req_desc = "已接成就列表"
|
||
|
|
, req = []
|
||
|
|
, reply_desc = "已接成就列表"
|
||
|
|
, reply = [
|
||
|
|
{array, quest, feat_list, "已接列表", [
|
||
|
|
{uint32, id, "成就ID"}
|
||
|
|
, {uint8, finish, "是否已完成(0:未完成 1:已完成 2:已奖励, 3:已过期)"}
|
||
|
|
, {uint32, end_time, "结束时间(0:无限制 1:unixtime)"}
|
||
|
|
, {uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
, {array, quest_progress, progress, "进度",[
|
||
|
|
{uint16, id, "进度ID"}
|
||
|
|
, {uint8, finish, "是否已完成(0:未完成 1:已完成 2:已奖励, 3:已过期)"}
|
||
|
|
, {uint32, target, "目标需求值(需求类型)"}
|
||
|
|
, {uint32, target_val, "目标值"}
|
||
|
|
, {uint32, value, "当前值"}
|
||
|
|
]}
|
||
|
|
]}
|
||
|
|
,{array, tuple, finish_list, "已完成列表", [
|
||
|
|
{uint32, id, "成就ID"}
|
||
|
|
,{uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
, #rpc{
|
||
|
|
code = 25811
|
||
|
|
,log_title = "已接成就列表"
|
||
|
|
, req_desc = "已接成就列表"
|
||
|
|
, req = []
|
||
|
|
, reply_desc = "更新成就进度(没有表示新增加的)"
|
||
|
|
, reply = [
|
||
|
|
{array, quest, feat_list, "更新列表",[
|
||
|
|
{uint32, id, "任务ID"}
|
||
|
|
, {uint8, finish, "是否已完成(0:未完成 1:已完成 2:已奖励, 3:已过期)"}
|
||
|
|
, {uint32, end_time, "结束时间(0:无限制 1:unixtime)"}
|
||
|
|
, {uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
, {array, quest_progress, progress, "进度",[
|
||
|
|
{uint16, id, "进度ID"}
|
||
|
|
, {uint8, finish, "是否已完成"}
|
||
|
|
, {uint32, target, "目标需求值(需求类型)"}
|
||
|
|
, {uint32, target_val, "目标值"}
|
||
|
|
, {uint32, value, "当前值"}
|
||
|
|
]}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
, #rpc{
|
||
|
|
code = 25812
|
||
|
|
,log_title = {"领取成就奖励:~w", [id_list]}
|
||
|
|
, req_desc = {"领取成就奖励:~w", [id_list]}
|
||
|
|
, req = [{uint32, id, "ID"}]
|
||
|
|
, reply_desc = {"领取结果[~w]", [code]}
|
||
|
|
, reply =[
|
||
|
|
{uint8, code, "结果,1:成功,0:失败"}
|
||
|
|
,{string, msg, "附加信息"}
|
||
|
|
,{uint32, id, "ID"}
|
||
|
|
,{uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25813
|
||
|
|
,log_title = {"点击了隐藏成就:~w", [id_list]}
|
||
|
|
,req_desc = {"点击了隐藏成就:~w", [id_list]}
|
||
|
|
,req = [
|
||
|
|
{uint32, id, "ID"}
|
||
|
|
]
|
||
|
|
,reply_desc = {"点击了隐藏成就[~w]", [code]}
|
||
|
|
,reply =[
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25814
|
||
|
|
,log_title = {"请求要不要弹隐藏成就信息隐藏成就:~w", [id_list]}
|
||
|
|
,req_desc = {"请求要不要弹隐藏成就信息隐藏成就:~w", [id_list]}
|
||
|
|
,req = [
|
||
|
|
]
|
||
|
|
,reply_desc = {"领取结果[~w]", [code]}
|
||
|
|
,reply =[
|
||
|
|
{uint8, result, "0不用弹窗 1 要弹窗"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25815
|
||
|
|
,log_title = "徽章分享"
|
||
|
|
,req_desc = ""
|
||
|
|
,req = [
|
||
|
|
{uint32, id, "徽章id"}
|
||
|
|
,{uint16, channel, "频道"}
|
||
|
|
]
|
||
|
|
,reply_desc = "徽章分享"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25816
|
||
|
|
,log_title = "查看徽章分享"
|
||
|
|
,req_desc = ""
|
||
|
|
,req = [
|
||
|
|
{uint32, share_id, "分享ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
]
|
||
|
|
,reply_desc = "查看徽章分享"
|
||
|
|
,reply = [
|
||
|
|
{uint32, id, "ID"}
|
||
|
|
,{uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
,{uint32, share_id, "分享ID"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25817
|
||
|
|
,log_title = "成就分享"
|
||
|
|
,req_desc = ""
|
||
|
|
,req = [
|
||
|
|
{uint32, id, "成就id"}
|
||
|
|
,{uint16, channel, "频道"}
|
||
|
|
]
|
||
|
|
,reply_desc = "成就分享"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25818
|
||
|
|
,log_title = "查看成就分享"
|
||
|
|
,req_desc = "查看成就分享"
|
||
|
|
,req = [
|
||
|
|
{uint32, share_id, "分享ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
]
|
||
|
|
,reply_desc = "查看成就分享"
|
||
|
|
,reply = [
|
||
|
|
{uint32, id, "ID"}
|
||
|
|
,{uint32, finish_time, "完成时间(unixtime)"}
|
||
|
|
,{uint32, share_id, "分享ID"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25819
|
||
|
|
,log_title = "荣誉分享"
|
||
|
|
,req_desc = "荣誉分享"
|
||
|
|
,req = [
|
||
|
|
{uint16, channel, "频道"}
|
||
|
|
]
|
||
|
|
,reply_desc = "荣誉分享"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25820
|
||
|
|
,log_title = "查看荣誉分享"
|
||
|
|
,req_desc = "查看荣誉分享"
|
||
|
|
,req = [
|
||
|
|
{uint32, share_id, "分享ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
]
|
||
|
|
,reply_desc = "查看成就分享"
|
||
|
|
,reply = [
|
||
|
|
{uint32, point, "徽章点数"}
|
||
|
|
,{uint32, num, "已收集数量"}
|
||
|
|
,{uint32, share_id, "分享ID"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25830
|
||
|
|
,log_title = "查看成长之路"
|
||
|
|
,req_desc = "查看成长之路"
|
||
|
|
,req = [
|
||
|
|
{uint16, start, "开始位置"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
]
|
||
|
|
,reply_desc = "查看成就分享"
|
||
|
|
,reply = [
|
||
|
|
{uint16, start, "开始位置"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
,{uint32, max_num, "记录总数"}
|
||
|
|
,{array, room_grow, progress, "进度",[
|
||
|
|
{uint32, id, "记录ID"}
|
||
|
|
,{uint32, order, "序号"}
|
||
|
|
,{uint32, time, "完成时间戳"}
|
||
|
|
,{array, tuple, arge, "参数",[
|
||
|
|
{uint8, pos, "参数序号"}
|
||
|
|
,{string, val, "记录数据"}
|
||
|
|
]}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25831
|
||
|
|
,log_title = "成长之路分享"
|
||
|
|
,req_desc = "成长之路分享"
|
||
|
|
,req = [
|
||
|
|
{uint16, channel, "频道"}
|
||
|
|
]
|
||
|
|
,reply_desc = "成长之路分享"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25832
|
||
|
|
,log_title = "查看成长之路分享"
|
||
|
|
,req_desc = "查看成长之路分享"
|
||
|
|
,req = [
|
||
|
|
{uint32, rid, "角色ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
,{uint16, start, "开始位置"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
]
|
||
|
|
,reply_desc = "查看成就分享"
|
||
|
|
,reply = [
|
||
|
|
{uint32, rid, "角色ID"}
|
||
|
|
,{string, srv_id, "服务器ID"}
|
||
|
|
,{uint16, start, "开始位置"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
,{uint16, max_num, "记录总数"}
|
||
|
|
,{array, room_grow, room_grow_info, "进度",[
|
||
|
|
{uint32, id, "记录ID"}
|
||
|
|
,{uint32, order, "序号"}
|
||
|
|
,{uint32, time, "完成时间戳"}
|
||
|
|
,{array, tuple, arge, "参数",[
|
||
|
|
{uint8, pos, "参数序号"}
|
||
|
|
,{string, val, "记录数据"}
|
||
|
|
]}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25833
|
||
|
|
,log_title = "成长之路嘉年华数据"
|
||
|
|
,req_desc = "成长之路嘉年华数据"
|
||
|
|
,req = [
|
||
|
|
]
|
||
|
|
,reply_desc = "成长之路嘉年华数据"
|
||
|
|
,reply = [
|
||
|
|
{uint32, id, "记录ID(没有为0)"}
|
||
|
|
,{string, name, "英雄名"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25835
|
||
|
|
,log_title = "留言板留言"
|
||
|
|
,req_desc = "留言板留言"
|
||
|
|
,req = [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
,{string, msg, "留言信息"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25836
|
||
|
|
,log_title = "留言板留言回复"
|
||
|
|
,req_desc = "留言板留言回复"
|
||
|
|
,req = [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
,{uint32, bbs_id, "留言板id"}
|
||
|
|
,{string, msg, "留言信息"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言回复"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25837
|
||
|
|
,log_title = "留言板留言信息"
|
||
|
|
,req_desc = "留言板留言信息"
|
||
|
|
,req = [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
,{uint16, start, "开始位置(0:从最新的开始计数)"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言信息"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
,{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
,{uint16, start, "开始位置"}
|
||
|
|
,{uint8, num, "数据量"}
|
||
|
|
,{uint32, max_num, "总留言量"}
|
||
|
|
,{array, room_bbs_message, room_bbs_info, "留言内容",[
|
||
|
|
{uint32, bbs_id, "留言ID"}
|
||
|
|
,{uint32, bbs_type, "留言内容(1:留言 2:回复)"}
|
||
|
|
,{string, reply_name, "回复对象名(留言为<<>>)"}
|
||
|
|
,{string, msg, "回复/留言内容"}
|
||
|
|
,{uint32, time, "留言时间戳"}
|
||
|
|
|
||
|
|
,{tuple, tar_id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
,{uint32, face_id, "头像id"}
|
||
|
|
,{uint32, avatar_id, "头像框id"}
|
||
|
|
,{uint16, lev, "等级"}
|
||
|
|
,{uint8, sex, "性别"}
|
||
|
|
,{string, name, "名字"}
|
||
|
|
|
||
|
|
,{uint32, face_update_time, "自定义头像时间"}
|
||
|
|
,{string, face_file, "自定义头像"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25838
|
||
|
|
,log_title = "删除留言板信息"
|
||
|
|
,req_desc = "删除留言板信息"
|
||
|
|
,req = [
|
||
|
|
{uint32, bbs_id, "留言板id"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言回复"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
,{uint32, bbs_id, "留言板id"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25839
|
||
|
|
,log_title = "设置留言板回复权限"
|
||
|
|
,req_desc = "设置留言板回复权限"
|
||
|
|
,req = [
|
||
|
|
{uint8, type, "留言板设置信息(1:所有人可留言 2:仅好友可留言)"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言回复"
|
||
|
|
,reply = [
|
||
|
|
{uint8, result, "1:成功 2 失败"}
|
||
|
|
,{string, msg, "消息"}
|
||
|
|
,{uint8, type, "留言板设置信息(1:所有人可留言 2:仅好友可留言)"}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25840
|
||
|
|
,log_title = "点击自身留言板灯泡或主动打开空间留言板后请求(用于后端计算灯泡提示)"
|
||
|
|
,req_desc = "点击自身留言板灯泡或主动打开空间留言板后请求"
|
||
|
|
,req = [
|
||
|
|
{tuple, tar_id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
,{uint32, bbs_id, "留言ID"}
|
||
|
|
]
|
||
|
|
,reply_desc = "留言板留言回复"
|
||
|
|
,reply = [
|
||
|
|
]
|
||
|
|
}
|
||
|
|
,#rpc{
|
||
|
|
code = 25841
|
||
|
|
,log_title = "新增留言推送"
|
||
|
|
,req_desc = "新增留言推送"
|
||
|
|
,req = [
|
||
|
|
]
|
||
|
|
,reply_desc = "新增留言推送"
|
||
|
|
,reply = [
|
||
|
|
{uint32, max_num, "总留言量"}
|
||
|
|
,{tuple, tar_id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
,{array, room_bbs_message, room_bbs_info, "留言内容",[
|
||
|
|
{uint32, bbs_id, "留言ID"}
|
||
|
|
,{uint32, bbs_type, "留言内容(1:留言 2:回复)"}
|
||
|
|
,{string, reply_name, "回复对象名(留言为<<>>)"}
|
||
|
|
,{string, msg, "回复/留言内容"}
|
||
|
|
,{uint32, time, "留言时间戳"}
|
||
|
|
|
||
|
|
,{tuple, tar_id, [
|
||
|
|
{uint32, rid, "玩家id"}
|
||
|
|
,{string, srv_id, "玩家服务器ID"}
|
||
|
|
]}
|
||
|
|
,{uint32, face_id, "头像id"}
|
||
|
|
,{uint32, avatar_id, "头像框id"}
|
||
|
|
,{uint16, lev, "等级"}
|
||
|
|
,{uint8, sex, "性别"}
|
||
|
|
,{string, name, "名字"}
|
||
|
|
|
||
|
|
,{uint32, face_update_time, "自定义头像时间"}
|
||
|
|
,{string, face_file, "自定义头像"}
|
||
|
|
]}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
].
|