SEER 区块浏览器基本功能 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seerxiaozhushou
V2EX    2018

SEER 区块浏览器基本功能

  •  
  •   seerxiaozhushou 2018-10-27 20:34:35 +08:00 620 次点击
    这是一个创建于 2540 天前的主题,其中的信息可能已经有所发展或是发生改变。

    区块浏览器基本功能

    区块链浏览器是浏览区块链信息的主要窗口,每一个区块所记载的内容都可以从区块链浏览器上进行查阅。用户可以使用区块链浏览器查询记录在区块中的交易信息,包括转账、预测、账户管理和社区治理操作等。

    DAPP 内的信息展示部分,和区块浏览器的作用相似。

    SEER 基于石墨烯底层开发,区块链上记录的最小信息是操作( operations )。每个区块(blck)里可能有多个交易(transactions),每个交易里可能包含多个操作

    区块浏览器需要预先考虑到多语言版本的需求。

    时间显示:区块链时间为 GMT/UTC,即英国格林尼治时间 /世界标准时,考虑到 SEER 的用户遍及世界各地,以年月日时分秒显示时间时需考虑到用户所在时区的问题,使用 N 分钟前、N 小时前、N 天前的表达形式也是一个不错的选择。

    在提法上,有的地方称 1.15.N 为预测市场,有的地方又称为房间,其实是一样的。同时,1.14.N 有时称为预测市场设立者,有的时候又称为平台或是房主资质,二者也是一样的,可根据场景来介绍。

    区块浏览器的页面

    首页

    1、滚动区域显示最新区块链上的操作信息:包括类型 发起 ID (链接) 内容 被操作 ID (链接,如果有并便于排版) 时间 交易 ID (链接); 例如:

    | 类型 | 说明 | 时间 | 交易链接 | | - | - | - | - | | [派发奖励] | shehuilongge2018 对 预测市场 446 “刘强东在明尼苏达所涉...”派奖 | 10 天前 | 160d9a381a21 | | [转账] | okok 转账 1000SEER 给 else | 11 天前 | 70dd572e03f7 |

    160d9a381a21为缩写,实际的交易 ID 是160d9a381a2152d55719b0e7e4aea4aaecce06e3,链接格式为: https://seerscan.com/tx/160d9a381a2152d55719b0e7e4aea4aaecce06e3。之所以建议使用交易 ID 而不使用区块高度,是因为最新区块的信息不同于不可逆块,理论上来说在区块浏览器显示的操作信息所属区块可能在入块后会改变。而交易 id 是通过本地算法求得的,具有唯一性,更适合作为即时出现的链接地址。

    滚动区域需显示的最新操作信息,可以首先通过info获得当前块高,再通过get_block获得当前块信息,若当前块包含交易信息,则将交易内的最新操作按一定格式显示。每 3 秒以后,可以用在块号上+1 的方法再get_block获取下一个块的信息。

    若要显示历史交易信息,则需要不断存储最新块内的信息,并保存全部或一定时间范围内的非空块信息。

    2、显示区块链状态:包括最新块生产时间当前块高链号``出块时间间隔下次数据维护时间区块生产参与度,这些信息都可以通过infoget_global_properties获得;

    例如:

    | 网络状态 | | | - | - | | 最新块生产时间 | 0 秒前 | | 当前块高 | 42421333 | | 链号 | cea4fdf4f5c2278f139b22e782b308928f04008b0fc2c79970a58974a2a28f91 | | 出块时间间隔 | 3 秒 | | 下次数据维护时间 | 8 小时后 | | 区块生产参与度 | 100% |

    3、提供搜索功能:可以输入区块号帐号交易 id资产名预测市场 id等信息搜索相应的信息,进入相应的页面;

    先检测填入的数据类型,若为纯数字,则检测相应的区块和房间是否存在,若存在则下拉提示[预测市场]321416 和[区块]321416 (只提示存在的);

    分别通过get_blocklist_accountslist_assetsget_seer_room,以及查询本地存储交易信息中交易 id 获得。

    若输入的是字符串,则检测相应的帐号、交易 id、资产名是否存在,若存在则下拉提示[帐号]opc、[帐号]opc002 和[资产]opc,或[交易 id]160d9a381a2152d55719b0e7e4aea4aaecce06e3 (只提示存在的)。

    | his | | | - | - | | HIS ( UIA ) | 1.3.1 | | IOU.HIS ( UIA ) | 1.3.21 | | hiseer (账号员) | 1.2.59 | | hise01(账号) | 1.2.8872 | | hello-his(账号) | 1.2.10231 | | shis1(账号) | 1.2.56782 | | 160d9a381a2152d55719b0e7e4aea4aaecce06e3(交易) | 856782 块高 |

    用户点击后跳转到相应的页面。

    4、链接到其他页面;

    5、显示本轮活跃见证人:列表可以通过info获得,列表中的用户名(链接)点击跳转到账户相关页面;

    6、显示本轮活跃理事会:列表可以通过info获得,列表中的用户名(链接)点击跳转到账户相关页面;

    区块信息页面

    1、显示该区块块号,时间,出块见证人。

    2、该区块所包含的所有操作信息列表:包括类型 发起 ID (链接) 内容 被操作 ID (链接,如果有并便于排版) 时间 交易 ID (链接)

    3、格式化后的该区块 json 信息。

    通过get_block获得相应信息。

    链接格式为: https://seerscan.com/block/723091

    账户相关页面

    1、和该用户相关的操作列表(最近 100 个),可以通过get_relative_account_history获得:包括类型 发起 ID (链接) 内容 被操作 ID (链接,如果有并便于排版) 时间 交易 ID (链接)

    | 类型 | 说明 | 时间 | 交易链接 | | - | - | - | - | | [派发奖励] | shehuilongge2018 对 预测市场 446 “刘强东在明尼苏达所涉...”派奖,else 获得 10000SEER | 10 天前 | 160d9a381a21 | | [转账] | okok 转账 1000SEER 给 else | 11 天前 | 70dd572e03f7 | | [参与预测] | else 参与 预测市场 446 “刘强东在明尼苏达所涉...”,预测选项“不起诉”,支出 1000SEER | 15 天前 | 19b0e7e4aea4 |

    例如该账号参与过的房间房主派奖时,除显示房主派奖外,还应该显示该帐号余额的变动情况。通过op.result.deltas获取;

    例如该账号参与预测时,除显示参与预测,该帐号余额的变动情况 (通过op.result.deltas获取)、输入结果(通过op.op.inputN获取),同时显示房间号(通过op.op.room 获取,链接)

    交易 id 通过get_block op.block_num 获取该转账操作所在块的信息,再通过op.trx_in_block的数值来获取到块信息中transaction_ids数组里该转账操作对应的 txid,同一个 txid 可能对应多个操作。

    2、该账户属性:包含资产余额Object_ID帐户名推荐人注册人是否终身会员权限中显示该用户的资金账户MEMO公钥,若此用户具有预测市场设立者预言机见证人理事会等角色,或是投票给某个理事会成员 /设置了投票代理,也将其属性值列出。以侧边栏的形式出现 例如:

    | 资产余额 | | | - | - | | SEER | 1000000 | | OPC | 120000 | | PFC | 8700 |

    通过list_account_balances获取

    | 账户属性 | | | - | - | | 帐户名 | okok | | Object_ID | 1.2.30 | | 是否终身会员 | 是 | | 推荐人 | seer | | 注册人 | seer |

    | 权限| | | - | - | | OwnerKey | SEER7SQVh85z8N38jvcmYTtE7JifoRsGH5DEea6HixVdxVHTezDfHv | | ActiveKey | SEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx | | MemoKey | SEER7WyPH3aCQkGfWZkQnXuYPQNZ4ppC2n3tfA87hpAVtoqzXFh5gx |

    通过get_account获取

    3、预测市场设立者属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量,以及当前正在进行的房间和历史房间前 N 位(信息格式见预测市场列表); 例如:

    | 预测市场设立者信息 | | | - | - | | Object_ID | 1.14.6 | | 描述 | 请叫我社会哥 | | 脚本 | - | | 保证金 | 300000 | | 信誉度 | 2 | | 参与量 | 2 |

    通过get_house_by_account获取以上信息,同时可以用roomsfinished_rooms作为get_seer_room的参数获得以下数据:

    正在进行的房间

    | 类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 | | - | - | - | - | - | - | - | - | - | | [PVP] | okok | 446 | “ BTC 2018 年 10 月 21 日...” | 367 万 SEER | 5 天前 | 5 分钟后 | 70% | 币比 币圈 经济 BTC | | [高级] | okok | 486 | “曼城 VS 恒大 胜负” | 188 万 OPC | 3 天前 | 3 小时后 | 80% | 章鱼宝 体育 赛事 足球 欧亚杯 2018 |

    已结束的房间

    | 类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 | | [PVD] | okok | 526 | “刘强东在明尼苏达所涉...” | 42 万 ABC | 13 天前 | 2 天前 | 30% | 热门 社会 大佬 |

    4、预言机属性包括:Object_ID、描述、脚本、保证金、信誉度、参与量。 例如:

    | 预言机信息 | | | - | - | | Object_ID | 1.13.1 | | 描述 | 最帅预言机 | | 脚本 | - | | 保证金 | 16000 | | 信誉度 | 3 | | 参与量 | 3 |

    通过get_oracle_by_account获取

    5、见证人属性包括:Object_ID、抵押数、待领取抵押收益、抵押清单(抵押 ID+数额)、待领取出块收益、最近出块号、链接、丢块数、见证人签名公钥。

    分别通过get_witnessget_vesting_balances获取,其中get_vesting_balances返回信息中,object_id 为1.11.N的即出块收益,出块收益 id 通过get_witnesspay_vb获取。

    例如:

    | 见证人信息 | | | - | - | | Object_ID | 1.5.11 | | 抵押数 | 14000000 | | 待领取抵押收益 | 187865 | | 待领取出块收益 | 318642 | | 最近出块号 | 3216572 | | 链接 | https://baidu.com | | 丢块数 | 23 | | 见证人签名 | SEER7QatX8TjD44ZHayfqBFYENUQQtvRU9b8ykgCBxBdaFRzqagKxc | | 抵押清单 | 2.16.0、2.16.1、2.16.3 |

    6、理事会信息属性包括:Object_ID、总得票数、链接。 例如:

    | 理事会信息 | | | - | - | | Object_ID | 1.4.7 | | 总得票数 | 189765425 | | 链接 | https://baidu.com |

    通过get_committee_member获取

    链接格式为: https://seerscan.com/account/okok

    热门预测市场列表页面

    1、列出当前活跃的预测市场(房间)列表:[市场类型( PVD/高级 /PVP )] 创建者 房间号( Object_ID,链接) 描述(链接) 总参与量 开启时间 结束时间 创建者权重 标签(链接),默认按参与量排序,用户可按一定方式排序(排序方式包括总参与量、结束时间、创建者权重);

    例如:

    | 类型 | 设立者 | 市场编号 | 描述 | 总参与量 | 开启时间 | 结束时间 | 创建者权重 | 标签 | | - | - | - | - | - | - | - | - | - | | [PVP] | shehuige18 | 446 | “ BTC 2018 年 10 月 21 日...” | 367 万 SEER | 5 天前 | 5 分钟后 | 70% | 币比 币圈 经济 BTC | | [高级] | octopaul | 486 | “曼城 VS 恒大 胜负” | 188 万 OPC | 3 天前 | 3 小时后 | 80% | 章鱼宝 体育 赛事 足球 欧亚杯 2018 | | [PVD] | akira | 526 | “刘强东在明尼苏达所涉...” | 42 万 ABC | 13 天前 | 20 天后 | 30% | 热门 社会 大佬 |

    标签一栏中,根据页面显示区域显示 1 个至全部个数标签。

    2、根据用户标签历史纪录在侧边栏生成标签云,每个标签链接到相应的预测市场标签列表页面。

    3、列出活跃的预测市场设立者(按参与量排名列出前 N 位)。

    可通过lookup_house_accounts获得房主列表,再通过get_houses获得所有活跃房间和历史房间,再通过get_seer_room获得房间详细信息。

    标签云通过本地存储数据中的标签,列出使用次数最多的标签。

    | 排名 | 设立者 | 描述 | 保证金 | 信誉度 | 参与量 | | - | - | - | - | - | - | | 1 | okok | 请叫我社会哥 | 300000 | 3 | 3 | | 2 | else | 输钱福利社,输了又来的就是我。 | 500000 | 15 | 15 |

    链接格式为: https://seerscan.com/hotmarkets

    预测市场标签列表页面

    1、列出当前活跃的预测市场(房间)列表:[市场类型( PVD/高级 /PVP )] 创建者 房间号( Object_ID,链接) 描述(链接) 总参与量 开启时间 结束时间 创建者权重 标签(链接),默认按参与量排序,用户可按一定方式排序(排序方式包括总参与量、结束时间、创建者权重);

    2、显示已结束 /输入中预测市场列表,格式同上。

    3、显示标签云。

    通过get_rooms_by_label获取相应标签的房间 id,再通过get_seer_room获取这些房间的详细信息。

    标签云通过本地存储数据中的标签,列出使用次数最多的标签。

    链接格式为: https://seerscan.com/label/社会

    预测市场详情页面

    1、显示房间属性:

    通过get_seer_room获得房间详细信息,属性包括:市场 Object_ID、设立者 ID (链接)、标签(链接)、描述、市场类型( PVD/高级 /PVP )、市场状态(进行中 /未开始 /已结束 /结果输入)。

    | 描述 | 新加坡时间 2019 年 1 月 2 日 0 时整,比特币价格高于 7000 美元吗?以 coinmarketcap.com 显示价格为准。 | | - | - | | 类型 | PVD ( LMSR ) | | Object_ID | 1.15.1236 | | 设立者 | okok | | 标签 | 币比 币圈 经济 BTC 币价 USD 美元 牛市 |

    2、显示房间设置:接受资产、单次最小参与数额、单次最大参与数额;

    | 接受资产 | SEER | | - | - | | 单次最小参与数额 | 100 | | 单次最大参与数额 | 10000 |

    3、显示市场状态:开始时间、结束时间、结果输入时限、资金池(仅高级模式和 PVD 模式显示,PVD 模式的资金池通过房主设定的 L 值和选项数,根据公式资金池 F = L x ln (选项数量)计算出)、总参与量;

    | 市场状态 | 进行中 | | - | - | | 开始时间 | 2018-12-22T02:36:29 | | 结束时间 | 2019-01-01T16:00:00 | | 结果输入时限 | 12 小时 | | 资金池 | 12412984 SEER | | 总参与量 | 98372123 SEER |

    4、显示预言机设置和门槛:市场设立者权重、预言机奖励、条件达到此门槛的预言机才能参与结果输入:(名誉、保证金、参与量)

    | 市场设立者权重 | 30% | | - | - | | 每个预言机奖励 | 100 SEER | | - | - | | 条件达到此门槛的预言机才能参与结果输入 | | | 名誉 | 3 | | 保证金 | 10000 SEER | | 参与量 | 3 |

    5、房间选项:包括选项描述、参与人数和参与数量(资产或份数),非 LMSR 显示奖金倍数。

    | 选项 | 内容 | 参数人数 | 参数量 | 该选项发生概率 | | - | - | - | - | - | | 0 | 归零 | 0 次 | 0 份 | 0% | | 1 | 小于 7000 美元 | 8723 次 | 1234140 份 | 28.21% | | 2 | 等于 7000 美元 | 1 次 | 100000 份 | 0.1% | | 3 | 大于 7000 美元 | 7131 次 | 3453253 份 | 71.78% |

    6、最新参与滚动信息:

    | 类型 | 说明 | 时间 | 交易链接 | | - | - | - | - | | [派发奖励] | okok 对 预测市场 1236 派奖 | 2 天前 | ZHayfqBF8QtvR | | [输入结果] | okok 对 预测市场 1236 输入结果:选项 1 “小于 7000 美元” | 2 天前 | fqBFYENUx9a3 | | [输入结果] | else 对 预测市场 1236 输入结果:选项 1 “小于 7000 美元” | 2 天前 | d55719b0e7e4 | | [市场结算] | okok 对 预测市场 1236 结算 | 3 天前 | d9a381a2152d | | [停止参与] | okok 停止 预测市场 1236 | 3 天前 | 4aecceds06e3 | | [参与预测] | shehuilongge2018 参与 预测市场 1236,预测选项 1 “小于 7000 美元” | 4 天前 | a381a021520d | | [参与预测] | else 参与 预测市场 1236,预测选项 1 “小于 7000 美元” | 5 天前 | 160d9a381a21 |

    滚动信息包含房间参与数据,get_seer_room的参数包括房间 object_id参与记录的开始索引 start参与记录返回的最大数量 limit。例如get_seer_room 1.15.236 0 100即表示返回 236 房间的前 100 个参与记录。若要显示更多记录,需要修改 start,在当前 start 的基础上增加 limit,例如若一个房间共 200 条记录,要全部显示需要get_seer_room 1.15.236 0 100,再get_seer_room 1.15.236 100 100

    7、参与预测图表:参数包括时间、参与人次、参与数额、预测选项、选项赔率( PVD 为单份成本);

    链接格式为: https://seerscan.com/pm/3427 ( PM = prediction market )

    交易详细信息页面

    1、显示该交易时间、所属区块。

    2、显示该交易 id 下所有操作列表;

    | 类型 | 说明 | | - | - | | [转账] | okok 转账 1000ABC 给 else | | [转账] | okok 转账 1000ABC 给 alice | | [转账] | okok 转账 1000ABC 给 bob |

    3、显示格式化后的该交易 json 信息。

    通过交易 id 和本地存储数据中的交易 id 匹配,显示该交易 id 对应的交易信息。

    交易 id 有多重获取方式:

    A 通过get_block获取区块信息中该交易所在transactions中的顺序位置,对应该区块信息中"transaction_ids"字符串中该交易对应的transaction_id

    B 用户在转账操作时可以用transfer2替代transfer,这样在交易广播后,会在返回信息中直接给出该交易对应的transaction_id

    C 用户可以使用get_transaction_id在参数中传入该交易的 json 格式内容,即可生成对应的transaction_id

    D 用户在使用 RPC 方式调用get_relative_account_history时,返回信息中op.block_num即该操作的入块高度,op.trx_in_block 该操作所属交易的transaction_id在该区块transaction_ids字符串中的位置。

    链接格式为: https://seerscan.com/tx/160d9a381a2152d55719b0e7e4aea4aaecce06e3

    资产介绍页面

    1、该资产持有人列表(链接),持有占比; 2、持有分布统计饼图; 3、该资产的属性:资产代号、资产类型( CORE/UIA )、当前供应量、发行人(链接)、Object_ID、小数位数、最大供应量等(侧边栏)。 4、SEER 的资产介绍页面可以作为 SEER 持仓分布页面在首页提供链接;

    | 排名 | 账户 | 数额 | | - | - | - | | 1 | init0 | 8000000000.00000 | | 2 | okok | 100000000.00000 | | 3 | else | 300000.00000 | | 4 | alice | 5400000.00000 |

    属性:

    | 资产代号 | ABC | | - | - | | Object_ID | 1.3.10 | | 资产类型 | UIA | | 当前供应量 | 8046234175 | | 最大供应量 | 10000000000 | | 发行人 | okok | | 小数位数 | 5 |

    | 手续费汇率 | 0.56 SEER/ABC | | 资金池余额 | 88838 | | 发行人未申领收入 | 171419 |

    该资产持有人列表可使用余额快照功能,每隔一段时间对指定资产的所有用户持仓进行快照,获取持有人列表数据。 资产属性可通过get_asset获得。

    链接格式为: https://seerscan.com/assets/SEER

    预测市场排行榜页面

    1、显示预测市场设立者排行榜;

    | 排名 | 账户名 | 声誉 | 保证金 | 参与量 | 未领手续费分成奖励 | 链接 | | - | - | - | - | - | - | - | | 1 | okok | 135 | 1000000 | 135 | 345156 | http://baidu.com | | 2 | alice | 98 | 700000 | 98 | 142343 | http://google.com | | 3 | bob | 76 | 600000 | 76 | 267780 | http://facebook.com |

    默认通过声誉排序,通过lookup_house_accounts获得所有平台 id,get_houses可获得平台的详细信息列表。

    2、显示预言机排行榜。

    | 排名 | 账户名 | 声誉 | 保证金 | 参与量 | 链接 | | - | - | - | - | - | - | - | | 1 | else | 95 | 100000 | 95 | http://baidu.com | | 2 | tomato | 65 | 80000 | 65 | http://google.com | | 3 | tom | 62 | 50000 | 62 | http://facebook.com |

    默认通过声誉排序,通过lookup_oracle_accounts获得所有预言机 id,get_oracles可获得预言机的详细信息列表。

    链接格式为: https://seerscan.com/ranking

    见证人信息页面

    1、显示本轮活跃见证人列表:包括排名、账户名、上一个区块、上次生成块、缺失块数、抵押金、利息收入;

    | 排名 | 账户名 | 上一个区块 | 上次生成块 | 缺失块数 | 抵押金 | 利息收入 | | - | - | - | - | - | - | - | | 1 | okok | 1 分钟前 | 456123 | 2 | 1205616145 | 1353345 | | 2 | else | 1 分钟前 | 456121 | 1 | 21456283 | 64562 | | 3 | alice | 20 秒前 | 456126 | 1 | 5981236 | 345343 | | 4 | bob | 现在 | 456129 | 0 | 8123012 | 4081236 |

    通过list_witnesses获得所有见证人 id,get_witness可获得每个见证人的详细信息。

    按抵押金额排名前 101 位的为获息见证人,通过get_global_properties.result.active_collateral_witnesses 可以获得获息见证人列表。

    通过info获得本轮出块的 21 位活跃见证人和参与率等信息,每块奖励通过get_global_properties获得,本期剩余见证人奖励通过get_dynamic_global_properties中的witness_budget本期见证人预算总额 - 本期已出块数 * 每块奖励得出。

    2、区块生产状态:包括当前见证人、活跃见证人、参与率、每块奖励、剩余预算、计票更新时间(侧边栏显示);

    | 当前见证人 | bob | | - | - | | 活跃见证人 | 21 | | 参与率 | 100% | | 每块奖励 | 3SEER | | 本期剩余预算 | 23127SEER | | 计票更新时间 | 8 小时后 |

    3、可切换主力见证人、主力及候选见证人(获息见证人)、所有见证人(所有注册见证人资格的用户,包括未入选获息见证人的用户)。

    理事会信息页面

    1、显示排名、账户名、得票数、竞选网页。

    2、可以切换活跃理事会成员和所有(含竞选中)理事会成员页面

    | 排名 | 账户名 | 得票数 | 竞选网页 | | - | - | - | - | | 1 | okok | 65115531 | http://baidu.com | | 2 | else | 54234798 | http://baidu.com | | 3 | alice | 68633872 | http://baidu.com |

    所有理事会成员列表通过list_committee_members获得,活跃理事会成员列表通过get_global_properties.result.active_committee_members 或 info 获得,详细信息通过get_committee_member获得。

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6125 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 03:12 PVG 11:12 LAX 20:12 JFK 23:12
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86