华为云用户手册
-
变更配置后对计费的影响 如果您在购买按需计费集群后变更了集群配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了集群配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 HBase、Doris和ClickHouse组件是按照小时收费的,CU未满1小时,按照1小时收费。 按需产品周期结算说明: 按小时结算:华为云会每小时根据您的使用量计算费用,并到账户中进行扣费。例如,8:00~9:00期间产生的费用,通常会在10:00以前完成扣费。 按月结算:华为云会根据您的使用量计算费用,每月月初对前一月使用量进行扣费。例如,2019-04-01 00:00:00 至2019-04-30 23:59:59期间产生的费用,通常会在2019-05-01 01:00:00左右完成扣费。
-
适用计费项 按需计费包含以下计费项。 HBase组件 表1 HBase适用计费项 计费项 说明 计算规格 节点的计算规格。 存储规格 节点的存储规格以及容量。 节点数量 节点的数量。 假设您计划购买一个HBase集群,在 购买云服务器 页面底部,您将看到所需费用的明细,如图1所示。 图1 HBase集群配置费用示例 Doris组件 表2 Doris适用计费项 计费项 说明 计算规格 节点的计算规格。 存储规格 节点的存储规格以及容量。 节点数量 节点的数量。 假设您计划购买一个Doris集群,在购买云服务器页面底部,您将看到所需费用的明细,如图2所示。 图2 Doris集群配置费用示例 配置费用将包括以下部分: 节点费用:根据所选节点规格和节点数量计算的费用。 存储费用:根据所选存储规格、容量以及节点数量计算的费用。 ClickHouse组件 表3 ClickHouse适用计费项 计费项 说明 计算规格 节点的计算规格。 存储规格 节点的存储规格以及容量。 节点数量 节点的数量。 假设您计划购买一个ClickHouse集群,在购买云服务器页面底部,您将看到所需费用的明细,如图3所示。 图3 ClickHouse集群配置费用示例 配置费用将包括以下部分: 节点费用:根据所选节点规格和节点数量计算的费用。 存储费用:根据所选存储规格、容量以及节点数量计算的费用。
-
计费说明 表格存储服务 器的计费项由集群规格费用组成。 HBase、Doris、ClickHouse计费项 表1 HBase/Doris/ClickHouse计费项 计费项 计费项说明 适用的计费模式 计费公式 计算规格 计费因子:vCPU和内存,不同规格的实例类型提供不同的计算和存储能力。 按需计费、包年/包月 集群节点规格单价 * 购买时长 * 节点数量 实例规格单价请参见表格服务器价格详情中的“规格价格”。 数据存储 计费因子:存储空间,按统一标准进行计费 按需计费、包年/包月 存储单价 * 购买时长 * 存储容量 * 节点数量
-
计费场景 按需计费场景:某用户于2023/03/18 15:00:00购买了一个HBase集群,集群使用时间为1小时。使用0.5个小时后对Core节点进行扩容(3节点变为6节点)。由于该集群要长期使用,所以2023/03/18 15:59:59将集群计费模式转为包年/包月计费,购买时长为1个月,那么3~4月份,该集群总共产生多少费用?规格配置如下: Master节点 计算规格:4U16G。 存储规格:超高IO,容量200GB/节点。 节点数量:3个(集群默认配置为高可用,使用2个master节点,额外免费赠送1个master,用于集群监控)。 Core节点 计算规格:4U16G。 存储规格:高IO,容量400GB/节点。 节点数量:3个。
-
计费构成分析 用了一段时间后,用户发现云服务器当前规格无法满足业务需要,于2023/03/18 15:30:00对集群扩容,扩容规格如下: 表1 变更计费模式 计费模式 计算规则 付费周期 费用计算 按需计费(节点扩容前) CU费用:CU单价 x 节点数 平均每小时的费用 Master节点CU费用:1.3(CU单价:元/小时)x 2(节点)x 1小时 = 2.60元 Core节点CU费用:1.3(CU单价:元/小时)x 3(节点)x 1小时= 3.90元 磁盘费用: 磁盘单价 x 容量 x 节点 Core节点磁盘费用:0.00048(磁盘单价:元/小时)x 400(容量:GB)x 3(节点)x 0.5小时=0.288元 总费用:6.788 元 按需计费(节点扩容后) CU费用:CU单价 x 节点数 平均每小时的费用 Master节点CU费用:1.3(CU单价:元/小时)x 2(节点)x 1小时 = 2.60元 Core节点CU费用:1.3(CU单价:元/小时)x 6(节点)x 1小时 = 7.80元 磁盘费用: 磁盘单价 x 容量 x 节点 Core节点磁盘费用:0.00048(磁盘单价:元/小时)x 400(容量:GB)x 6(节点)x 1小时=1.152元 总费用:11.552 元 包年/包月 CU费用:CU单价 x 节点数 平均每月的费用 Master节点CU费用:616(CU单价:元/月)x 2(节点) = 1232元 Core节点CU费用:616(CU单价:元/月)x 6(节点) = 3696元 磁盘费用: 磁盘单价 x 容量 x 节点 Core节点磁盘费用:0.32(磁盘单价:元/月)x 400(容量:GB)x 6(节点)=768元 合计 总费用:5696元 由此可见,在3~4月份,该HBase集群总共产生费用为:11.552+5696=5707.552元。 HBase组件是按照小时收费的,CU未满1小时,按照1小时收费。 按需产品周期结算说明: 按小时结算:华为云会每小时根据您的使用量计算费用,并到账户中进行扣费。例如,8:00~9:00期间产生的费用,通常会在10:00以前完成扣费。 按月结算:华为云会根据您的使用量计算费用,每月月初对前一月使用量进行扣费。例如,2019-04-01 00:00:00 至2019-04-30 23:59:59期间产生的费用,通常会在2019-05-01 01:00:00左右完成扣费。
-
计费构成分析 基于此样例,可以详细计算出变更规格前后的消费情况。 表1 变更计费模式 计费模式 计算规则 付费周期 费用计算 按需计费(变更规格前) CU费用:CU单价 x 节点数 平均每小时的费用 计算节点CU费用:1.4(CU单价:元/小时)x 2(节点)x 1小时 = 2.80元 ZooKeeper节点CU费用:1.4(CU单价:元/小时)x 3(节点)x 1小时= 4.20元 磁盘费用: 磁盘单价 x 容量 x 节点 计算节点磁盘费用:0.00097(磁盘单价:元/小时)x 500(容量:GB)x 2(节点)x 0.5小时=0.485元 ZooKeeper节点磁盘费用:0 总费用:7.485元 按需计费(变更规格后) CU费用:CU单价 x 节点数 平均每小时的费用 计算节点CU费用:1.4(CU单价:元/小时)x 2(节点)x 1小时= 2.80元 ZooKeeper节点CU费用:2.8(CU单价:元/小时)x 3(节点)x 1小时 = 8.40元 磁盘费用: 磁盘单价 x 容量 x 节点 计算节点磁盘费用:0.00097(磁盘单价:元/小时)x 500(容量:GB)x 2(节点)x 1小时=0.97元 ZooKeeper节点磁盘费用:0 总费用:12.17元 包年/包月 CU费用:CU单价 x 节点数 平均每月的费用 计算节点CU费用:680(CU单价:元/月)x 2(节点) = 1360元 ZooKeeper节点CU费用:1360(CU单价:元/月)x 3(节点) = 4080元 磁盘费用: 磁盘单价 x 容量 x 节点 计算节点磁盘费用:0.35(磁盘单价:元/月)x 500(容量:GB)x 2(节点)=350元 ZooKeeper节点磁盘费用:0 合计 总费用:5790元 Doris和ClickHouse组件是按照小时收费的,CU未满1小时,按照1小时收费。 按需产品周期结算说明: 按小时结算:华为云会每小时根据您的使用量计算费用,并到账户中进行扣费。例如,8:00~9:00期间产生的费用,通常会在10:00以前完成扣费。 按月结算:华为云会根据您的使用量计算费用,每月月初对前一月使用量进行扣费。例如,2019-04-01 00:00:00 至2019-04-30 23:59:59期间产生的费用,通常会在2019-05-01 01:00:00左右完成扣费。 由此可见,在3~4月份,该ClickHouse集群总共产生费用为:12.17+5790=5802.17元。
-
计费模式概述 表格存储 服务器(CloudTable)当前支持按需计费和包年/包月以满足不同场景下的用户需求。 按需计费:一种后付费模式,即先使用再付费,按照云服务器实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 包年/包月:根据集群购买时长,一次性支付集群费用。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费。 按照订单的购买周期结算。 后付费 按照CloudTable实际使用时长计费。 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 适用计费项 HBase:计算规格、存储规格、节点数量。 Doris:计算规格、存储规格、节点数量。 ClickHouse:计算规格、存储规格、节点数量。 HBase:计算规格、存储规格、节点数量。 Doris:计算规格、存储规格、节点数量。 ClickHouse:计算规格、存储规格、节点数量。 变更计费模式 暂不支持包年/包月转按需。 支持按需变更为包年/包月模式。 变更规格 HBase支持节点数量变更。 Doris支持计算规格、存储规格、节点数量变更。 ClickHouse支持节点数量变更。 支持变更实例规格,变更规格后影响集群计费。 HBase支持节点数量变更。 Doris支持计算规格、存储规格、节点数量变更。 ClickHouse支持算规格、存储规格、节点数量变更。 适用场景 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
-
适用计费项 以下计费项支持包年/包月。 表1 适用计费项 计费项 说明 计算规格 节点的计算规格。 存储规格 节点的存储规格以及容量。 节点数量 节点的数量。 假设您计划购买一个HBase/Doris/ClickHouse集群,在购买云服务器页面底部,您将看到所需费用的明细,如下图所示。 图1 HBase集群配置费用示例 图2 Doris集群配置费用示例 图3 ClickHouse集群配置费用示例 配置费用将包括以下部分: 节点费用:根据所选节点规格和节点数量计算的费用。 存储费用:根据选择的存储规格和容量计算的费用
-
适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等。 业务高峰预测:如果能预测到业务高峰期,如电商促销季、节假日等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。
-
计费示例 假设您在2023/03/08 15:50:04购买了一台云服务器,计费资源包括计算单元、数据存储。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59。 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59。 您需要为每个计费周期预先付费,计费公式如表2所示。 表2 计费公式 资源类型 计费公式 资源单价 计算规格 节点规格单价 * 购买时长*节点数量 以控制台实际显示价格为主。 存储费用 数据存储单价*数据存储容量*节点个数*购买时长 以控制台实际显示价格为主。 图中价格仅供参考,实际计算请以表格存储服务器价格详情中的价格为准。 图4 包年/包月HBase费用计算示例 图5 包年/包月Doris费用计算示例 图6 包年/包月ClickHouse费用计算示例
-
到期后影响 图3 包年/包月CloudTable资源生命周期描述了包年/包月CloudTable资源各个阶段的状态。购买后,在计费周期内资源正常运行,此阶段为有效期;资源到期而未续费时,将陆续进入宽限期和保留期。 图7 包年/包月CloudTable资源生命周期 到期预警 包年/包月CloudTable资源在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月CloudTable资源到期未续费,首先会进入宽限期,资源状态变为“已过期”。宽限期内您可以正常访问云服务器。 如果您在宽限期内仍未续费包年/包月CloudTable资源,那么就会进入保留期,资源状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期到期后,如果包年/包月CloudTable资源仍未续费,那么计算资源(vCPU和内存)、云硬盘和弹性公网IP都将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
-
部署服务相关权限说明 部署服务各维度的操作权限说明如下表所示。 应用默认权限说明 角色/动作 默认权限 创建 查看 修改 删除 执行 复制 禁用 新建环境 权限管理 应用创建者 - 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目管理员 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目经理 有权限 有权限 有权限 有权限 有权限 有权限 有权限 有权限 有权限 产品经理 有权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 测试经理 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 运维经理 无权限 有权限 无权限 无权限 无权限 无权限 无权限 有权限 无权限 系统工程师 有权限 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 Committer 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 无权限 开发人员 有权限 有权限 有权限 有权限 有权限 有权限 无权限 无权限 无权限 测试人员 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 参与者 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 浏览者 无权限 有权限 无权限 无权限 无权限 无权限 无权限 无权限 无权限 主机集群默认权限说明 角色/权限 查看 编辑 删除 添加主机 复制主机 权限管理 主机集群创建者 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目创建者 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 有权限且不可修改 项目经理 有权限 有权限 有权限 有权限 有权限 有权限 产品经理 有权限 无权限 无权限 无权限 无权限 无权限 测试经理 有权限 无权限 无权限 无权限 有权限 无权限 运维经理 有权限 无权限 无权限 无权限 有权限 无权限 系统工程师 有权限 无权限 无权限 无权限 无权限 无权限 Committer 有权限 无权限 无权限 无权限 无权限 无权限 开发人员 有权限 有权限 有权限 有权限 有权限 无权限 测试人员 有权限 无权限 无权限 无权限 有权限 无权限 参与者 有权限 无权限 无权限 无权限 有权限 无权限 浏览者 有权限 无权限 无权限 无权限 有权限 无权限 部署模板 操作 权限设定 系统模板 自定义模板 查看 所有用户 同租户下用户创建的 创建 所有用户都没权限 项目创建者、项目经理、开发人员 修改 所有用户都没权限 模板创建者、租户管理员 删除 所有用户都没权限 模板创建者、租户管理员
-
通用型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 1 2 178.71 3574.29 请参见关于IOPS 2 4 372.52 7450.35 4 8 848.15 16963.08 8 16 1505.10 30101.94 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 425.26 8505.16 请参见关于IOPS 4 16 879.52 17590.53 8 32 1764.29 35285.91
-
通用型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 1 2 176.26 3525.27 请参见关于IOPS 2 4 385.70 7713.97 4 8 784.54 15690.82 8 16 1560.41 31208.18 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 429.02 8580.42 请参见关于IOPS 4 16 999.26 19985.14 8 32 1788.29 35765.97
-
通用型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 1 2 172.88 3457.69 请参见关于IOPS 2 4 387.63 7752.63 4 8 823.89 16477.76 8 16 1538.08 30761.58 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 461.22 9224.35 请参见关于IOPS 4 16 843.00 16860.02 8 32 1786.72 35734.52
-
独享型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 2 4 373.53 7470.64 请参见关于IOPS 4 8 748.80 14976.09 8 16 1563.35 31266.94 16 32 1873.68 37473.69 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 472.01 9440.15 请参见关于IOPS 4 16 994.46 19889.28 8 32 1806.45 36129.18 16 64 2551.62 51032.43 表3 CPU:内存=1:8 CPU(Core) 内存(GB) TPS QPS IOPS 2 16 463.48 9269.67 请参见关于IOPS 4 32 1103.30 22065.92 8 64 1996.53 39930.74 16 128 3778.67 75573.89
-
独享型实例测试列表 表1 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 437.45 8748.99 请参见关于IOPS 4 16 896.84 17936.72 8 32 1819.93 36398.77 16 64 2600.93 52018.73 32 128 5428.06 108572.08 64 256 12102.77 242079.30 表2 CPU:内存=1:8 CPU(Core) 内存(GB) TPS QPS IOPS 2 16 528.85 10577.07 请参见关于IOPS 4 32 1002.06 20041.23 8 64 1904.04 38080.91 16 128 3928.59 78572.08 64 512 7485.78 149732.20
-
独享型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 2 4 378.99 7579.83 请参见关于IOPS 4 8 838.37 16767.38 8 16 1577.04 31540.74 16 32 1850.72 37014.46 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 465.93 9318.54 请参见关于IOPS 4 16 994.98 19899.65 8 32 1825.27 36505.56 16 64 2582.68 51653.81 表3 CPU:内存=1:8 CPU(Core) 内存(GB) TPS QPS IOPS 2 16 495.95 9919.00 请参见关于IOPS 4 32 1096.84 21936.72 8 64 1924.42 38488.57 16 128 3943.78 78875.96
-
通用型实例测试列表 表1 CPU:内存=1:2 CPU(Core) 内存(GB) TPS QPS IOPS 1 2 185.21 3704.27 请参见关于IOPS 2 4 371.97 7439.43 4 8 821.00 16420.05 8 16 1517.95 30358.98 表2 CPU:内存=1:4 CPU(Core) 内存(GB) TPS QPS IOPS 2 8 431.72 8634.30 请参见关于IOPS 4 16 926.94 18538.85 8 32 1827.36 36547.27
-
授权项 表1 资源访问管理 授权项 权限 对应API接口 授权项(Action) IAM 项目(Project) 企业项目(Enterprise Project) 检索共享资源权限列表 GET /v1/permissions ram:permissions:list × × 检索共享资源权限内容 GET /v1/permissions/{permission_id} ram:permissions:get × × 获取权限的所有版本 GET /v1/permissions/{permission_id}/versions ram:permissions:listVersions × × 创建资源共享实例 POST /v1/resource-shares ram:resourceShares:create × × 检索资源共享实例 POST /v1/resource-shares/search ram:resourceShares:search × × 更新资源共享实例 PATCH /v1/resource-shares/{resource_share_id} ram:resourceShares:update × × 删除资源共享实例 DELETE /v1/resource-shares/{resource_share_id} ram:resourceShares:delete × × 绑定资源使用者和共享资源 POST /v1/resource-shares/{resource_share_id}/associate ram:resourceShares:associate × × 移除资源使用者和共享资源 POST /v1/resource-shares/{resource_share_id}/disassociate ram:resourceShares:disassociate × × 检索绑定的资源使用者和共享资源 POST /v1/resource-share-associations/search ram:resourceShares:searchResourceShareAssociations × × 绑定或替换共享资源权限 POST /v1/resource-shares/{resource_share_id}/associate-permission ram:resourceShares:associatePermission × × 移除共享资源权限 POST /v1/resource-shares/{resource_share_id}/disassociate-permission ram:resourceShares:disassociatePermission × × 检索绑定的共享资源权限 GET /v1/resource-shares/{resource_share_id}/associated-permissions ram:resourceShares:listAssociatedPermissions × × 查询已使用的标签列表 GET /v1/resource-shares/tags ram:resourceShares:listTags × × 根据标签信息查询实例列表 POST /v1/resource-shares/resource-instances/filter ram:resourceShares:listResourceSharesByTag × × 根据标签信息查询实例数量 POST /v1/resource-shares/resource-instances/count ram:resourceShares:searchResourceShareCountByTag × × 资源共享实例增加标签 POST /v1/resource-shares/{resource_share_id}/tags/create ram:resourceShares:tag × × 删除资源共享实例的标签 POST /v1/resource-shares/{resource_share_id}/tags/delete ram:resourceShares:untag × × 检索共享的资源 POST /v1/shared-resources/search ram:sharedResources:search × × 检索资源使用者 POST /v1/shared-principals/search ram:sharedPrincipals:search × × 接受共享邀请 POST /v1/resource-share-invitations/{resource_share_invitation_id}/accept ram:resourceShareinvitations:accept × × 拒绝共享邀请 POST /v1/resource-share-invitations/{resource_share_invitation_id}/reject ram:resourceShareinvitations:reject × × 检索共享邀请 POST /v1/resource-share-invitations/search ram:resourceShareinvitations:search × × 启用与组织共享 POST /v1/resource-shares/enable-sharing-with-organization ram:resourceShares:enableSharingWithOrganization × × 关闭与组织共享 POST /v1/resource-shares/disable-sharing-with-organization ram:resourceShares:disableSharingWithOrganization × × 检索是否启用与组织共享 POST /v1/resource-shares/search-enabled-sharing-with-organization ram:resourceShares:searchEnableSharingWithOrganization × × 查询 RAM 配额 GET /v1/resource-shares/quotas ram:resourceShares:listQuota × × 检索云服务资源类型 GET /v1/resource-types ram:resourceTypes:list × × 父主题: 权限和授权项
-
步骤2:创建待签字符串 对HTTP请求进行规范并取得请求的哈希值后,将其与签名算法、签名时间一起组成待签名字符串。 StringToSign = Algorithm + \n + RequestDateTime + \n + HashedCanonicalRequest 伪代码中参数说明如下。 Algorithm 签名算法。对于SHA 256,算法为SDK-HMAC-SHA256。 RequestDateTime 请求时间戳。与请求消息头X-Sdk-Date的值相同,格式为YYYYMMDDTHHMMSSZ。 HashedCanonicalRequest 经过哈希处理的规范请求。 上述例子得到的待签字符串为: SDK-HMAC-SHA256 20180330T123600Z 4bd8e1afe76738a332ecff075321623fb90ebb181fe79ec3e23dcb081ef15906
-
步骤4:添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm Access=APP key, SignedHeaders=SignedHeaders, Signature=signature 需要注意的是算法与Access之前没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: Authorization: SDK-HMAC-SHA256 Access=071fe245-9cf6-4d75-822d-c29945a1e06a, SignedHeaders=host;x-sdk-date, Signature=cb978df7c06ac242bab1d1b39d697ef7df4806664a6e09d5f5308a6b25043ea2 得到签名消息头后,将其分别以Authorization和x-Authorization参数增加到原始HTTP请求头内容中,请求将被发送给API网关,由API网关完成身份认证。身份认证通过后,该请求才会发送给后端服务进行业务处理。
-
步骤3:计算签名 将APP secret和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(APP secret, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明 参数名称 参数解释 APP secret 签名密钥,认证用的ak和sk编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 string to sign 创建的待签字符串 假设APP secret为12345678-1234-1234-1234-123456781234,则计算得到的signature为: cb978df7c06ac242bab1d1b39d697ef7df4806664a6e09d5f5308a6b25043ea2
-
APP认证工作原理 构造规范请求。 将待发送的请求内容按照与API网关后台约定的规则组装,确保客户端签名、API网关后台认证时使用的请求内容一致。 使用规范请求和其他信息创建待签字符串。 使用AK/SK和待签字符串计算签名。 将生成的签名信息作为请求消息头添加到HTTP请求中,或者作为查询字符串参数添加到HTTP请求中。 API网关收到请求后,执行1~3,计算签名。 将3中的生成的签名与5中生成的签名进行比较,如果签名匹配,则处理请求,否则将拒绝请求。 APP签名仅支持Body体12M及以下的请求签名。
-
步骤1:构造规范请求 使用APP方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与API网关使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest = HTTPRequestMethod + '\n' + CanonicalURI + '\n' + CanonicalQueryString + '\n' + CanonicalHeaders + '\n' + SignedHeaders + '\n' + HexEncode(Hash(RequestPayload)) 可以通过以下示例来说明规范请求的构造步骤。 假设原始请求如下: GET https://c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com/app1?b=2&a=1 HTTP/1.1 Host: c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com X-Sdk-Date: 20180330T123600Z 构造HTTP请求方法(HTTPRequestMethod),以换行符结束。 HTTP请求方法,如GET、PUT、POST等。请求方法示例: GET 添加规范URI参数(CanonicalURI),以换行符结束。 释义: 规范URI,即请求资源路径,是URI的绝对路径部分的URI编码。 格式: 根据RFC 3986标准化URI路径,移除冗余和相对路径部分,路径中每个部分必须为URI编码。如果URI路径不以“/”结尾,则在尾部添加“/”。 举例: 示例中的URI:/app1,此时规范的URI编码为: GET /app1/ 计算签名时,URI必须以“/”结尾。发送请求时,可以不以“/”结尾。 添加规范查询字符串(CanonicalQueryString),以换行符结束。 释义: 查询字符串,即查询参数。如果没有查询参数,则为空字符串,即规范后的请求为空行。 格式: 规范查询字符串需要满足以下要求: 根据以下规则对每个参数名和值进行URI编码: 请勿对RFC 3986定义的任何非预留字符进行URI编码,这些字符包括:A-Z、a-z、0-9、-、_、.和~。 使用%XY对所有非预留字符进行百分比编码,其中X和Y为十六进制字符(0-9和A-F)。例如,空格字符必须编码为%20,扩展UTF-8字符必须采用“%XY%ZA%BC”格式。 对于每个参数,追加“URI编码的参数名称=URI编码的参数值”。如果没有参数值,则以空字符串代替,但不能省略“=”。 例如以下含有两个参数,其中第二个参数parm2的值为空。 parm1=value1&parm2= 按照字符代码以升序顺序对参数名进行排序。例如,以大写字母F开头的参数名排在以小写字母b开头的参数名之前。 以排序后的第一个参数名开始,构造规范查询字符串。 举例: 示例中包含两个可选参数:a、b GET /app1/ a=1&b=2 添加规范消息头(CanonicalHeaders),以换行符结束。 释义: 规范消息头,即请求消息头列表。包括签名请求中的所有HTTP消息头列表。消息头必须包含X-Sdk-Date,用于校验签名时间,格式为ISO8601标准的UTC时间格式:YYYYMMDDTHHMMSSZ。如果API发布到非RELEASE环境时,需要增加自定义的环境名称。 格式: CanonicalHeaders由多个请求消息头共同组成,CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ...,其中每个请求消息头(CanonicalHeadersEntry)的格式为Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\n' Lowercase表示将所有字符转换为小写字母的函数。 Trimall表示删除值前后的多余空格的函数。 最后一个请求消息头也会携带一个换行符。叠加规范中CanonicalHeaders自身携带的换行符,因此会出现一个空行。 举例: GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com x-sdk-date:20180330T123600Z 规范消息头需要满足以下要求: 将消息头名称转换为小写形式,并删除前导空格和尾随空格。 按照字符代码对消息头名称进行升序排序。 例如原始消息头为: Host: c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com\n Content-Type: application/json;charset=utf8\n My-header1: a b c \n X-Sdk-Date:20180330T123600Z\n My-Header2: "a b c" \n 规范消息头为: content-type:application/json;charset=utf8\n host:c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com\n my-header1:a b c\n my-header2:"a b c"\n x-sdk-date:20180330T123600Z\n 添加用于签名的消息头声明(SignedHeaders),以换行符结束。 释义: 用于签名的请求消息头列表。通过添加此消息头,向API网关告知请求中哪些消息头是签名过程的一部分,以及在验证请求时API网关可以忽略哪些消息头。X-Sdk-date必须作为已签名的消息头。 格式: SignedHeaders = Lowercase(HeaderName0) + ';' + Lowercase(HeaderName1) + ";" + ... 已签名的消息头需要满足以下要求:将已签名的消息头名称转换为小写形式,按照字符代码对消息头进行排序,并使用“;”来分隔多个消息头。 Lowercase表示将所有字符转换为小写字母。 举例: 以下表示有两个消息头参与签名:host、x-sdk-date GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com x-sdk-date:20180330T123600Z host;x-sdk-date 使用SHA 256哈希函数以基于HTTP或HTTPS请求正文中的body体(RequestPayload),创建哈希值。 释义: 请求消息体。消息体需要做两层转换:HexEncode(Hash(RequestPayload)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。例如,HexEncode("m") 返回值为“6d”而不是“6D”。输入的每一个字节都表示为两个十六进制字符。 计算RequestPayload的哈希值时,对于“RequestPayload==null”的场景,直接使用空字符串""来计算。 举例: 本示例为GET方法,body体为空。经过哈希处理的body(空字符串)如下: GET /app1/ a=1&b=2 host:c967a237-cd6c-470e-906f-a8655461897e.apigw.cn-north-1.huaweicloud.com x-sdk-date:20180330T123600Z host;x-sdk-date e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 对构造好的规范请求进行哈希处理,算法与对RequestPayload哈希处理的算法相同。经过哈希处理的规范请求必须以小写十六进制字符串形式表示。 算法伪代码:Lowercase(HexEncode(Hash.SHA256(CanonicalRequest))) 经过哈希处理的规范请求示例: 4bd8e1afe76738a332ecff075321623fb90ebb181fe79ec3e23dcb081ef15906
-
认证前准备 通过SDK调用API前,需要获取如下认证信息: 访问服务前,首先需要得到API的ID、请求URL和请求方法 在数据服务的“API目录”页面,单击API名称,在“完整信息”页面查看API的ID、请求URL和请求方法。 图1 API基础定义 对于APP认证的API,您必须提供有效的AppKey、AppSecret才能够生成认证签名。 在“应用管理”中生成一个APP,并将APP绑定到API,就可以使用APP对应的AppKey和AppSecret访问该API。可在应用详细信息中查看AppKey和AppSecret。 图2 查看AppKey和AppSecret AppKey:APP访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 AppSecret:与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 发送API请求时,需要将当前时间置于HTTP的X-Sdk-Date头,将签名信息置于Authorization头。签名只在一个有限的时间内是有效的,超时即无效。 父主题: 使用APP认证调用API
-
状态码 状态码4xx:由于明显的客户端错误(例如,格式错误的请求语法、参数错误等),华为云会返回4xx错误码,请及时检查请求消息的正确性,重新发起请求。 状态码5xx:由于华为云系统原因,导致无法完成明显有效请求的处理,可及时联系华为云客服处理。 HTTP状态码 错误码 描述 400 CBC.0100 参数错误。 400 CBC.99000037 您没有操作该云经销商的权限。 403 CBC.0151 访问拒绝。 500 CBC.0999 其他错误。
-
URI GET /v3/accounts/partner-accounts/adjust-records 表1 查询参数 参数 是否必选 参数类型 取值范围 描述 customer_id 否 String 最大长度:64 客户账号ID。您可以调用查询客户列表接口获取customer_id。 为空表示查询所有的调账记录。 不为空表示仅查询与该客户相关的调账记录。 此参数不携带或携带值为空时,默认查询所有客户的调账记录。 说明: 此处的客户包含伙伴的子客户,以及华为云总经销商关联的云经销商(二级经销商)。 operation_type 否 String 最大长度:64 操作类型。 SOURCE_OPERATION_BEADJUST:拨款 SOURCE_OPERATION_BERETRIEVE:回收 SOURCE_OPERATION_BEUNBIND:解绑回收 此参数不携带或携带值为空时,默认查询所有类型。 operation_time_begin 否 String 最大长度:20 调账起始时间。 UTC时间,格式为:2016-03-28T14:45:38Z。 此参数不携带或携带值为空时,不作为筛选条件。 operation_time_end 否 String 最大长度:20 调账截止时间。 UTC时间,格式为:2016-03-28T14:45:38Z。 此参数不携带或携带值为空时,不作为筛选条件。 trans_id 否 String 最大长度:128 事务ID。 此参数不携带或携带值为空时,不作为筛选条件。 offset 否 Integer [0-最大整数] 偏移量,从0开始。默认值为0。 说明: offset用于分页处理,如不涉及分页,请使用默认值0。offset表示相对于满足条件的第一个数据的偏移量。如offset = 1,则返回满足条件的第二个数据至最后一个数据。 示例1,满足查询条件的结果共10条数据,limit取值为10,offset取值为1,则返回的数据为2~10,第一条数据不返回。 示例2,查询总数20条,期望每页返回10条数据,则获取第一页数据,入参offset填写0,limit填写10;获取第二页数据,入参offset填写10,limit填写10。 limit 否 Integer [1-100] 每页的显示条数。默认值为10。 indirect_partner_id 否 String 最大长度:64 云经销商ID。获取方法请参见查询云经销商列表。 华为云总经销商(一级经销商)查询云经销商(二级经销商)的子客户调账记录时,需携带此参数;除此之外,此参数不做处理。否则只能查询自己的子客户调账记录。
-
请求消息 请求参数 无。 请求示例 GET https://bss.myhuaweicloud.com/v3/accounts/partner-accounts/adjust-records?indirect_partner_id=051a8a834180d3fb0f25c006b1998800&offset=0&limit=10&operation_type=SOURCE_OPERATION_BEADJUST&customer_id=051a8a834180d3fb0f25c006b1998801&operation_time_begin=2016-03-28T14:45:38Z&operation_time_end=2016-03-28T14:45:38Z&trans_id=AD2020061504210203c128 HTTP/1.1 Content-Type: application/json X-Auth-Token:MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
-
请求消息 请求参数 无。 请求示例 GET https://bss.myhuaweicloud.com/v2/accounts/partner-accounts/balances?indirect_partner_id=0977ffa9f20010790f0fc003f6900520 HTTP/1.1 Content-Type: application/json X-Auth-Token:MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- ...
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章