华为云用户手册
-
组成部分 全球加速实例:全球加速实例是一个运行的全球加速服务。使用全球加速服务前,需要先创建全球加速实例,选择加速区域,全球加速实例会为相应加速区域分配一个Anycast IP,客户端流量根据监听器配置通过Anycast IP就近从接入点接入华为云骨干网络,将客户端的访问请求分发至最佳终端节点。 加速区域:需要进行访问加速的区域,分为中国大陆和中国大陆以外,您可以根据自己的用户所在地选择加速区域,为用户提供全球加速服务。 监听器:负责检查连接请求,根据您指定的端口和协议处理来自客户端的连接请求,每个监听器通过指定要分发流量的区域与终端节点组关联。关联后,全球加速服务将流量分配至与监听器关联的终端节点组内的最佳终端节点。 终端节点组:配置监听器后,您需要为监听器添加终端节点组,从而将流量定向分配到该终端节点组。每个终端节点组都与特定的区域关联,终端节点组在区域内包含一个或多个终端节点。 终端节点:客户端请求访问的目标主机,目前终端节点支持的后端服务类型包含弹性公网IP(EIP)、弹性云服务器(E CS )、弹性负载均衡(ELB)、自定义IP、自定义 域名 、自定义EIP。 云内资源加速支持选择EIP、ECS、ELB、自定义EIP。 云外资源加速支持选择自定义IP、自定义域名。 不同类型的终端节点已支持的区域详细请参见下表。 表1 全球加速支持终端节点类型 终端节点类型 说明 上线区域 EIP 本账号中的弹性公网IP。 所有区域 自定义EIP 本区域中的弹性公网IP,包括其他账号中的弹性公网IP。 所有区域 ECS 本账号中私网ECS、私网ELB实例,可以不绑定弹性公网IP。 华东-上海一、华北-北京四、华南-广州、中国-香港、亚太-新加坡、土耳其-伊斯坦布尔 ELB 自定义IP 云外第三方业务。 自定义域名
-
服务韧性 DBSS提供四层可靠性架构,通过检测、承受、恢复和适应四个方面保障系统在收到攻击后可以手动、自动恢复服务能力,保障服务和数据的持久性和可靠性。 表1 DBSS可信架构分类 可信架构分类 可信架构能力项 目标 分类 检测 入侵检测 支持主机异常检测,部署主机安全服务,检测率准确率98%以上。检测时长1分钟 安全 监控 针对微服务的异常日志出对应的告警 系统 承受 数据备份 支持关键数据100%备份,即使数据库遭到完全损坏,也可以根据以前备份数据恢复业务。 用户业务日志备份到OBS 系统 快速响应 AZ级或Region级服务故障时,快速检测和恢复。DBSS本身属于旁路业务,不会影响业务系统。 系统 服务解耦 微服务化,微服务独立部署和启停 系统 恢复 虚机级恢复 虚机级恢复:单虚拟机故障,支持自动重建和手工重建 系统 系统级恢复 系统级的恢复:自动恢复和系统手工恢复能力。 系统 适应 密钥自动轮转 SCC密钥动态轮转 安全 证书自动轮转 内部微服务通信证书动态轮转 安全 账号口令自动轮转 服务账号口令动态轮转 安全 父主题: 安全
-
审计与日志 审计 DBSS向用户提供数据库审计功能,可以对普通用户、管理员账户的所有活动情况进行审计,并生成合规性报告。DBSS通过记录流量、入侵、异常监控、数据脱敏、远程工作等日志,锁定异常操作到人,对特定事件实时告警,对TOP活动进行可视化呈现,满足ISO27001、信息安全等级保护测评等合规场景下对数据库审计的要求。 表1 DBSS审计功能 功能特性 功能详情 系统行为审计 系统操作行为全纪录,针对您设置的高、中、低风险行为、发送告警通知。 SQL注入检测:DBSS提供“添加SQL注入规则”,您可根据需要自定义添加对应的SQL规则,添加后可以对成功连接数据库安全审计的所有数据进行安全审计。 风险操作检测:DBSS内置了“数据库拖库检测”、“数据库慢SQL检测”、“批量数据篡改检测”和“批量数据删除检测”四条检测规则,帮助您及时发现数据库安全风险。同时,您也可以通过添加风险操作,自定义数据库需要审计的风险操作规则。 告警通知:通过配置系统告警,针对系统操作和系统环境制定不同告警方式和告警级别,以邮件方式和系统消息方式推送告警通知,以便及时发现系统异常和用户异常操作。 同时DBSS已经接入 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录DBSS的管理事件用于审计。 CTS的详细介绍和开通配置方法,请参见CTS快速入门。 CTS支持追踪的DBSS操作列表,请参见云审计服务支持的DBSS操作列表。 日志 出于分析或审计等目的,用户开启了云审计服务后,系统开始记录DBSS资源的操作。云审计服务管理控制台保存最近7天的操作记录。 关于DBSS云审计日志的查看,请参见如何查看云审计日志。 父主题: 安全
-
数据保护技术 DBSS通过多种数据保护手段和特性,保证审计、存储在DBSS中的数据安全可靠。 表1 DBSS的数据保护手段和特性 数据保护手段 简要说明 详细介绍 传输加密(HTTPS) DBSS支持HTTP和HTTPS两种传输协议,为保证数据传输的安全性,推荐您使用更加安全的HTTPS协议。 构造请求 个人数据保护 DBSS通过控制个人数据访问权限以及记录操作日志等方法防止个人数据泄露,保证您的个人数据安全。 个人数据保护机制 隐私数据保护 DBSS会对存储的用户审计数据进行敏感数据脱敏。 管理隐私数据保护规则 数据备份 DBSS支持用户手动、自动备份审计日志。备份日志后,审计日志将备份到OBS中。 备份和恢复数据库审计日志 数据销毁 DBSS在用户主动删除实例,或用户销户的情况下,会删除对应用户的审计实例。 - 父主题: 安全
-
身份认证与访问控制 身份认证 用户访问DBSS的方式有多种,包括DBSS控制台、API、SDK,无论访问方式封装成何种形式,其本质都是通过DBSS提供的REST风格的API接口进行请求。 DBSS的接口需要经过认证请求后才可以访问成功。DBSS支持如下认证方式: Token认证:通过Token认证调用请求,访问DBSS控制台默认使用Token认证机制。 AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。 关于认证鉴权的详细介绍及获取方式,请参见认证鉴权。 访问控制 DBSS支持通过权限控制( IAM 权限)进行访问控制。 表1 DBSS访问控制 访问控制方式 简要说明 详细介绍 权限控制 IAM权限 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限。 IAM权限介绍 DBSS权限管理 DBSS权限管理(细粒度) 父主题: 安全
-
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
-
服务版本规格 数据库安全审计提供了入门版、基础版、专业版和高级版四种服务版本。您可以根据业务需求选择相应的服务版本。 各版本的性能规格说明如表1所示。 表1 数据库安全服务版本规格说明 版本 支持的数据库实例 性能参数 入门版 最多支持1个数据库实例 吞吐量峰值:1,000条/秒 入库速率:120万条/小时 在线SQL语句存储:1亿条 基础版 最多支持3个数据库实例 吞吐量峰值:3,000条/秒 入库速率:360万条/小时 在线SQL语句存储:4亿条 专业版 最多支持6个数据库实例 吞吐量峰值:6,000条/秒 入库速率:720万条/小时 在线SQL语句存储:6亿条 高级版 最多支持30个数据库实例 吞吐量峰值:30,000条/秒 入库速率:1,080万条/小时 在线SQL语句存储:15亿条 数据库实例通过数据库IP+数据库端口计量。 如果同一数据库IP具有多个数据库端口,数据库实例数为数据库端口数。1个数据库IP只有1个数据库端口,即为一个数据库实例;1个数据库IP具有N个数据库端口,即为N个数据库实例。 例如:用户有2个数据库资产分别为IP1和IP2,IP1有一个数据库端口,则为1个数据库实例;IP2有3个数据库端口,则为3个数据库实例。IP1和IP2合计为4个数据库实例,选择服务版本规格时需要大于或等于4个数据库实例,即选用专业版(最多支持审计6个数据库实例)。 不支持修改规格。若要修改,请退订后重购。 云原生版仅支持在RDS控制台购买。 本表中的系统资源要求,是指购买数据库安全审计实例时会消耗的系统资源。购买时,用户的系统需要满足审计版本对应的配置。 本表中在线SQL语句的条数,是按照每条SQL语句的容量为1KB来计算的。 数据库安全加密提供了1资产量、3资产量、6资产量和10资产量四种服务版本。您可以根据业务需求选择相应的服务版本。 版本性能规格如表2所示。 表2 数据库安全加密版本性能规格说明 版本 支持的数据库实例 系统资源要求 性能参数 1资产量 只支持1个数据库 CPU:8U 内存:16GB 加解密性能:20000QPS 最大并发连接数:1500 3资产量 最多支持3个数据库 CPU:8U 内存:16GB 加解密性能:20000QPS 最大并发连接数:1500 6资产量 最多支持6个数据库 CPU:16U 内存:32GB 加解密性能:40000QPS 最大并发连接数:3000 10资产量 最多支持10个数据库 CPU:16U 内存:32GB 加解密性能:40000QPS 最大并发连接数:3000 数据库安全运维提供了1资产量、3资产量、6资产量和10资产量四种服务版本。您可以根据业务需求选择相应的服务版本。 版本性能规格如表3所示。 表3 数据库安全运维版本性能规格说明 版本 支持的数据库实例 系统资源要求 性能参数 1资产量 只支持1个数据库 CPU:4U 内存:8GB 性能:25000QPS 最大并发连接数:3000 3资产量 最多支持3个数据库 CPU:4U 内存:8GB 性能:25000QPS 最大并发连接数:3000 6资产量 最多支持6个数据库 CPU:8U 内存:16GB 性能:35000QPS 最大并发连接数:5000 10资产量 最多支持10个数据库 CPU:8U 内存:16GB 性能:35000QPS 最大并发连接数:5000
-
DBSS权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 DBSS部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问DBSS时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对ECS服务,管理员能够控制IAM用户仅能对某一类云服务器资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,权限的最小粒度为API授权项(action),DBSS支持的API授权项请参见策略支持的授权项。 如表1所示,包括了DBSS的所有系统角色。 表1 DBSS系统角色 角色名称 描述 依赖关系 DBSS System Administrator (数据库安全服务系统管理员,拥有操作数据库安全服务系统资源的权限) 数据库安全审计操作权限: 购买实例。 开启、关闭、重启实例。 获取实例列表。 获取基本信息。 获取审计概况。 获取监控信息。 获取操作日志。 数据库管理。 Agent管理。 邮件设置。 备份与恢复。 进行付费操作(例如,购买DBSS实例、续费)时需要同时具有BSS Administrator角色、VPC Administrator角色和ECS Administrator角色。 VPC Administrator:对虚拟私有云的所有执行权限。项目级角色,在同项目中勾选。 BSS Administrator:对账号中心、费用中心、资源中心中的所有菜单项执行任意操作。项目级角色,在同项目中勾选。 ECS Administrator:对弹性云服务器的所有执行权限。项目级角色,在同项目中勾选。 DBSS Audit Administrator (数据库安全服务审计管理员,拥有审核数据库安全服务日志信息的权限) 数据库安全审计操作权限: 获取实例列表。 获取基本信息。 获取审计概况。 获取报表结果。 获取规则信息。 获取语句信息。 获取会话信息。 获取监控信息。 获取操作日志。 获取数据库列表。 报表管理。 无 DBSS Security Administrator (数据库安全服务安全管理员,拥有设置数据库安全服务安全策略的权限) 数据库安全审计操作权限: 获取实例列表。 获取基本信息。 获取审计概况。 获取报表结果。 获取规则信息。 获取语句信息。 获取会话信息。 获取监控信息。 获取操作日志。 获取数据库列表。 审计规则设置。 告警通知设置。 报表管理。 无 表2列出了DBSS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表2 常用操作与系统权限的关系 子服务 操作 DBSS System Administrator DBSS Audit Administrator DBSS Security Administrator 数据库安全审计 购买实例 √ × × 开启、关闭、重启实例 √ × × 获取实例列表 √ √ √ 获取基本信息 √ √ √ 获取审计概况 √ √ √ 获取监控信息 √ √ √ 获取操作日志 √ √ √ 数据库管理 √ × × Agent管理 √ × × 邮件设置 √ × × 备份与恢复 √ × × 获取报表结果 × √ √ 获取规则信息 × √ √ 获取语句信息 × √ √ 获取会话信息 × √ √ 获取数据库列表 √ √ √ 报表管理 × √ √ 审计规则设置 × × √ 告警通知设置 × × √
-
数据库安全审计 数据库安全审计提供的旁路模式数据库审计功能,可以对风险行为进行实时告警。同时,通过生成满足数据安全标准的合规报告,可以对数据库的内部违规和不正当操作进行定位追责,保障数据资产安全。 部署简单 采用数据库旁路部署方式,操作简单,快速上手。 全量审计 支持对华为云上的RDS、ECS/BMS自建的数据库进行审计。 快速识别 实现99%+的应用关联审计、完整的SQL解析、精确的协议分析。 高效分析 每秒万次入库、海量存储、亿级数据秒级响应。 多种合规 满足等保三级数据库审计需求。 满足网安法,SOX等国内外法案。 三权分立 系统管理员,安全管理员,审计管理员权限分离,满足审计安全需求。 细粒度和运维权限管控 数据库运维安全管理系统访问控制基于主体、客体和行为三元组进行设置,每个类别之下再细分多种维度。策略组合种类多达数百种,能够精准实现各种数据级的访问控制。 主体颗粒度可细化至用户、IP、主机、程序、时间、频次等。 客体颗粒度可达针对表、列、行数等。 行为颗粒度可达操作、特权操作、SQL语句、异常、存储过程等。 强大的内置威胁特征库 数据库运维安全管理系统内置丰富的数据库漏洞信息、SQL注入攻击、以及其它高危风险操作特征模板(其中数据库漏洞数超过600个,高危操作、SQL注入攻击特征超过200个,数据库风险配置策略超过200个),能够精准检测数据库风险操作,并定位至具体用户、实时阻断,保障客户数据资产安全。 灵活的保护对象及策略 数据库运维安全管理系统支持针对数据资产进行分级管控。通过策略配置,使得用户可以灵活定义被保护的对象,包括库、表、字段、记录、关键字、条件等。可以针对上述被保护的对象设置严格管控策略,非经审批不可改、不可删甚至不可见。
-
数据库安全加密 数据加密 系统支持对数据进行加密和完整性校验,满足等保、分保等评测要求,同时也满足商用密码系统应用与安全性评估的存储数据完整性和机密性保障的评测要求。 加密算法:支持AES算法和SM4国密算法。 完整性校验算法:支持AES-GCM算法和SM3-HMAC算法。 访问控制 系统具有独立于数据库的访问授权机制,拥有合法访问权限可以访问加密数据,非授权用户无法访问加密数据,从而有效防止管理员越权访问及黑客拖库。 系统支持系统管理员,安全管理员,审计管理员的三权分立管理,增强数据库使用的安全合规性
-
数据库安全审计 数据库安全审计提供用户行为发现审计、多维度分析、实时告警和报表功能。 用户行为发现审计 关联应用层和数据库层的访问操作。 提供内置或自定义隐私数据保护规则,防止审计日志中的隐私数据(例如,账号密码)在控制台上以明文显示。 多维度线索分析 行为线索 支持审计时长、语句总量、风险总量、风险分布、会话统计、SQL分布等多维度的快速分析。 会话线索 支持根据时间、数据库用户、客户端等多角度进行分析。 语句线索 提供时间、风险等级、数据用户、客户端IP、数据库IP、操作类型、规则等多种语句搜索条件。 风险操作、SQL注入实时告警 风险操作 支持通过操作类型、操作对象、风险等级等多种元素细粒度定义要求监控的风险操作行为。 SQL注入 数据库安全审计提供SQL注入库,可以基于SQL命令特征或风险等级,发现数据库异常行为立即告警。 系统资源 当系统资源(CPU、内存和磁盘)占用率达到设置的告警阈值时立即告警。 针对各种异常行为提供精细化报表 会话行为 提供客户端和数据库用户会话分析报表。 风险操作 提供风险分布情况分析报表。 合规报表 提供满足数据安全标准(例如Sarbanes-Oxley)的合规报告。
-
支持的数据库 数据库安全审计仅支持对华为云上的以下数据库提供旁路模式的数据库审计功能: 云数据库 弹性云服务器(Elastic Cloud Server ,ECS)的自建数据库 裸金属服务器(Bare Metal Server,BMS)的自建数据库 部分数据库类型及版本支持免安装Agent方式,如表1所示。 表1 支持免Agent安装的关系型数据库 数据库类型 支持的版本 GaussDB for MySQL 默认都支持 RDS for SQLServer (华为云审计实例:23.02.27.182148 及其之后的版本支持) 默认都支持 RDS for MySQL 5.6(5.6.51.1及以上版本) 5.7(5.7.29.2及以上版本) 8.0(8.0.20.3及以上版本) GaussDB(DWS) 8.2.0.100及以上版本 PostgreSQL (华为云审计实例:23.04.17.123301 及其之后的版本支持) 须知: 当SQL语句大小超过4KB审计时会被截断,会导致审计到的SQL语句不完整。 14(14.4及以上版本) 13(13.6及以上版本) 12(12.10及上版本) 11(11.15及以上版本) 9.6(9.6.24及以上版本) 9.5(9.5.25及以上版本) RDS for MariaDB 默认都支持 数据库安全审计支持数据库类型及版本如表2所示。 表2 数据库安全审计支持的数据库类型和版本 数据库类型 版本 MySQL 5.0、5.1、5.5、5.6、5.7 8.0(8.0.11及以前的子版本) 8.0.30 8.0.35 8.1.0 8.2.0 Oracle 11g 11.1.0.6.0 、11.2.0.1.0 、11.2.0.2.0、11.2.0.3.0、11.2.0.4.0 12c 12.1.0.2.0 、12.2.0.1.0 19c PostgreSQL 7.4 8.0、8.1、8.2、8.3、8.4 9.0、9.1、9.2、9.3、9.4、9.5、9.6 10.0、10.1、10.2、10.3、10.4、10.5 11 12 13 14 SQL Server 2008 2012 2014 2016 2017 GaussDB(for MySQL) 8.0 DWS 1.5 8.1 DAMENG DM8 KINGBASE V8 SHENTONG V7.0 GBase 8a V8.5 GBase 8s V8.8 Gbase XDM Cluster V8.0 Greenplum V6.0 HighGo V6.0 GaussDB 1.3企业版 1.4企业版 2.8企业版 3.223企业版 MongoDB V5.0 DDS 4.0 Hbase (华为云审计实例:23.02.27.182148 及其之后的版本支持) 1.3.1 2.2.3 Hive (华为云审计实例:23.02.27.182148 及其之后的版本支持) 1.2.2 2.3.9 3.1.2 3.1.3 MariaDB 10.6 TDSQL 10.3.17.3.0 Vastbase G100 V2.2 TiDB V4 V5 V6 V7 V8 数据库安全加密支持的数据库类型和版本如表3所示: 表3 数据库安全加密支持的数据库类型和版本 数据库类型 版本 MySQL 5.5、5.6、5.7 8.0 Oracle 11g 12c PostgreSQL 9.4 11.5 SQL Server 2012 DAMENG DM6 DM7.6 DM8.1 KINGBASE V8R3 V8R6 TBASE V2.15 HOTDB 2.5.6 GaussDB A TDSQL 10.3 数据库安全运维支持的数据库类型和版本如表4所示: 表4 数据库安全运维支持的数据库类型和版本 数据库类型 版本 MySQL 5.5、5.6、5.7.29、5.7.32、5.7.36 8.0.21、8.0.22、8.0.27、8.0.28 Oracle 11g 11.1.0.60、11.2.0.1、11.2.0.4 12c 12.1.0.2、12.2.0.1 19c PostgreSQL 9.6.6 10 12.2、12.3、12.4 SQL Server 2008 2014 2019 DAMENG DM7.1.2 DM8.1.2.84 KINGBASE 7.1.2.0480 TBASE V2.15.17.3.6 Hive 1.1 2.1.1 DB2 8 10 GaussDB 100 200 GreemPlum 4.3.8.1 TDSQL 10.3.14.6.0
-
服务特点 助力企业满足等保合规要求 满足等保测评数据库审计需求 满足国内外安全法案合规需求,提供满足数据安全标准(例如Sarbanes-Oxley)的合规报告 支持备份和恢复数据库审计日志,满足审计数据保存期限要求 支持风险分布、会话统计、会话分布、SQL分布的实时监控能力 提供风险行为和攻击行为实时告警能力,及时响应数据库攻击 帮助您对内部违规和不正当操作进行定位追责,保障数据资产安全 数据库安全审计采用数据库旁路部署方式,在不影响用户业务的前提下,可以对数据库进行灵活的审计。 基于数据库风险操作,监视数据库登录、操作类型(数据定义、数据操作和数据控制)和操作对象,有效对数据库进行审计。 从风险、会话、SQL注入等多个维度进行分析,帮助您及时了解数据库状况。 提供审计报表模板库,可以生成日报、周报或月报审计报表(可设置报表生成频率)。同时,支持发送报表生成的实时告警通知,帮助您及时获取审计报表。
-
使用DataArts创建Hudi表 DataArts支持通过Spark JDBC方式和Spark API方式操作Hudi表: Spark JDBC方式使用公用资源,不用单独起Spark作业,但是不能指定执行SQL所需要的资源以及配置参数,因此建议用来做建表操作或小数据量的查询操作。 Spark API方式执行的SQL独立起Spark作业,有一定的耗时,但是可以通过配置运行程序参数来指定作业所需要的资源等参数,建议批量导入等 作业使用API方式来指定资源运行,防止占用jdbc资源长时间阻塞其他任务。 DataArts使用Spark API方式操作Hudi表,必须要添加参数--conf spark.support.hudi=true,并且通过执行调度来运行作业。
-
实例架构设计 DCS的Redis单机实例架构,如图1所示。 Redis 3.0和Redis 6.0企业版实例不支持定义端口,端口固定为6379,Redis 4.0及以上版本的基础版实例支持自定义端口,如果不自定义端口,则使用默认端口6379。以下图中以默认端口6379为例,如果已自定义端口,请根据实际情况替换。 不支持Redis版本的升级,例如,不支持Redis 4.0单机升级为Redis 5.0单机实例。如果需要使用高版本Redis单机实例,建议重新创建高版本Redis单机实例,然后将原有Redis实例的数据迁移到高版本实例上。 图1 Redis单机实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 客户应用 运行在ECS上的客户应用程序,即实例的客户端。 Redis实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。 DCS缓存实例 DCS单机实例只有1个节点,1个Redis进程。
-
运行函数时报错error while loading shared libraries时如何处理? 出现如图1报错,说明依赖包没有把程序运行所需的动态链接库打包进去。 图1 error while loading shared libraries 针对该问题有以下两种处理方案: 代码逻辑较为复杂的情况下建议使用自定义镜像函数,创建自定义镜像函数详情请参见使用容器镜像创建函数。 制作依赖包时,把动态链接库一同复制到依赖包最外层。 如图2是chrome内核所需的动态链接库。 图2 chrome内核动态链接库 系统默认动态链接库路径:“/lib64:/usr/lib64”。 父主题: 调用函数
-
添加签名信息到请求头 在计算签名后,将它添加到Authorization的HTTP消息头。Authorization消息头未包含在已签名消息头中,主要用于身份验证。 伪代码如下: Authorization header创建伪码: Authorization: algorithm Access=Access key, SignedHeaders=SignedHeaders, Signature=signature 需要注意的是算法与Access之前有空格但没有逗号,但是SignedHeaders与Signature之前需要使用逗号隔开。 得到的签名消息头为: SDK-HMAC-SHA256 Access=QTWA***KYUC, SignedHeaders=content-type;host;x-sdk-date, Signature=f12f84a5ecf9eff3206499c4a55b13d1adad745dc8624a2e31f15c6b381d5b80 得到签名消息头后,将其增加到原始HTTP请求内容中,请求将被发送给云服务API网关,由API网关完成身份认证。身份认证通过后,该请求才会发送给具体的云服务进行业务处理。 包含签名信息的完整请求如下: GET /v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=2&; marker=13551d6b-755d-4757-b956-536f674975c0 HTTP/1.1 Host: service.region.example.com Content-Type: application/json x-sdk-date: 20191115T033655Z Authorization: SDK-HMAC-SHA256 Access=QTWA***KYUC, SignedHeaders=content-type;host;x-sdk-date, Signature=f12f84a5ecf9eff3206499c4a55b13d1adad745dc8624a2e31f15c6b381d5b80 Curl方式样例如下: curl -X GET "https://service.region.example.com/v1/77b6a44cba5143ab91d13ab9a8ff44fd/vpcs?limit=2&marker=13551d6b-755d-4757-b956-536f674975c0" -H "content-type: application/json" -H "X-Sdk-Date: 20191115T033655Z" -H "host: service.region.example.com" -H "Authorization: SDK-HMAC-SHA256 Access=QTWA***KYUC, SignedHeaders=content-type;host;x-sdk-date, Signature=f12f84a5ecf9eff3206499c4a55b13d1adad745dc8624a2e31f15c6b381d5b80" -d $'' 父主题: AK/SK签名认证算法详解
-
计算签名 将SK(Secret Access Key)和创建的待签字符串作为加密哈希函数的输入,计算签名,将二进制值转换为十六进制表示形式。 伪代码如下: signature = HexEncode(HMAC(Secret Access Key, string to sign)) 其中HMAC指密钥相关的哈希运算,HexEncode指转十六进制。伪代码中参数说明如表1所示。 表1 参数说明 参数名称 参数解释 Secret Access Key 签名密钥 string to sign 创建的待签字符串 假设Secret Access Key为MFyf***VmHc,则计算得到的signature为: f12f84a5ecf9eff3206499c4a55b13d1adad745dc8624a2e31f15c6b381d5b80 父主题: AK/SK签名认证算法详解
-
自定义镜像函数执行失败报“CrashLoopBackOff” 若出现“CrashLoopBackOff: The application inside the container keeps crashing”错误字段: 请根据页面提示信息诊断原因。 图1 查看执行结果 请参见使用容器镜像部署函数章节进行容器镜像自验证。 排查镜像是否为x86 linux架构,目前仅支持x86 linux架构镜像。 父主题: 调用函数
-
Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题? args的区别 V1使用的语法: args = parser.parse_args() 如果迁移到V2,需修改为: args = parser.parse_args(args=[]) 因为V1和V2 python runtime的sys.argv不一样。 V2是['/home/snuser/runtime/python3.6/server.py', '127.0.0.1:31536', '/opt/function/code'],比v1多了后面2个参数。 asyncio的区别 V1使用的语法: loop = asyncio.get_event_loop() loop.run_until_complete(func(arg1, arg2)) loop.close() 如果迁移到V2,需修改为: loop_tmp = asyncio.new_event_loop() asyncio.set_event_loop(loop_tmp) loop = asyncio.get_event_loop() loop.run_until_complete(func(arg1, arg2)) loop.close() 因为asyncio.get_event_loop()是从OS线程(主线程)获取当前事件循环,而V2的Python runtime不是在主线程运行用户函数,所以函数内asyncio.get_event_loop()会抛出RuntimeError。 V2使用asyncio需要新建并设置事件循环。 父主题: 产品咨询
-
函数如何获取APIG触发器中的请求路径或请求参数? 请求路径或请求参数默认携带在event的入参中,FunctionGraph函数对APIG调用的传入值为函数自带的事件模板,请参考APIG事件源中的示例事件查看事件模板内容。 获取方式: 从event对象获取APIG请求路径和请求参数的格式如下: 获取请求路径的格式:event['path'] 获取请求参数的格式:event['queryStringParameters']['具体参数名'] 调用方式: 您可以直接通过请求路径调用:https://464d86ec641d45a683c5919ac57f3823.apig.projectID.huaweicloudapis.com/apig-demo/subpath 也可以通过添加请求参数调用:https://464d86ec641d45a683c5919ac57f3823.apig.projectID.huaweicloudapis.com/apig-demo/subpath?a=1&b=2 表1 请求路径和请求参数说明 参数 说明 queryStringParameters 请求参数。 GET请求中URL后面要带的参数,当发起一次GET请求时,参数会以URL string的形式进行传递。即?后的字符串则为其请求参数,并以&作为分隔符。 path 请求路径。 API访问地址。 父主题: 配置触发器
-
为函数挂载文件系统时,报“failed to mount exist system path” 您可以将文件重新挂载在新的路径下。 用户/用户组ID: 可设置为1000之外的其他数字id,如果为-1默认设置为1003。用户/用户组ID用于对访问远端文件系统的目录权限进行控制。 文件系统/云服务器名称:选择创建的文件系统或者云服务器资源,注意函数配置的VPC和委托要有访问权限。 共享目录路径:如果选择ECS挂载需要配置远端共享目录,请参见ECS创建nfs共享目录。 函数访问路径:为本地文件系统挂载目录,不能是系统已存在目录。建议使用/mnt/ 下二级子目录,例如/mnt/test。 父主题: 配置函数
-
FunctionGraph如何通过域名访问专享版APIG中注册的接口? 以域名www.test.com为例,具体请参考如下步骤。 图1 域名示例 登录API网关控制台,在左侧导航栏选择“专享版”,单击实例名称,进入“实例概览”页面,在“入口地址”区域查看“弹性IP地址”,获取APIG的访问地址(ip格式)。 图2 获取APIG访问地址 在DNS控制台,配置用户域名www.test.com解析到apig地址的ipv4规则,可参考网站解析至IP地址。 图3 配置ipv4规则 最后在函数服务配置该域名的解析配置(可参考FunctionGraph如何实现域名解析?),这样就能在函数中通过域名(www.test.com)访问专享版APIG中注册的接口了。 父主题: 配置函数
-
如何制作基于ODBC驱动的Python语言函数依赖包? 对于依赖操作系统的包(以unixODBC为例),需要下载源码编译制作依赖包: 通过ecs控制台页面登录ecs机器(确保gcc、make工具安装完成),执行如下命令下载相关源码包。 wget 源码路径 若下载包为zip文件,执行如下命令进行解压: unzip xxx/xx.zip 若下载包为tar.gz文件,执行如下命令进行解压: tar -zxvf xxx/xx.tar.gz 执行如下命令,创建/opt/function/code目录。 mkdir /opt/function/code 进入解压目录执行如下命令 ./configure --prefix=/opt/function/code --sysconfdir=/opt/function/code;make;make install 进入/opt/function/code/lib/pkgconfig检查配置,确认prefix目录是/opt/function/code。 cd /opt/function/code/lib/pkgconfig 将/opt/function/code/lib中的文件都拷到/opt/function/code。 cp -r /opt/function/code/lib/* /opt/function/code 切换到/opt/function/code目录下,将/opt/function/code下的文件都打入xxx.zip,依赖包制作完成。 cd /opt/function/code zip -r xxx.zip * 父主题: 配置依赖包
-
解决方案 与客户确认问题现象,Redis1在VPC1中,Redis2在VPC2中,Redis客户端代码是同一套代码。 查看连接报错信息如下,通过VPC2连接Redis2时,Redis IP地址变成乱码。 分析Redis1与Redis2除了IP地址和密码不一样之外,其他没有什么不同,让客户比较两个Redis密码后发现,Redis2的密码中含有@符号,导致请求redis的时候IP地址截取有误变成乱码了。 修改Redis2的密码后正常。
-
为什么首次调用函数时速度会比较慢? 因为函数是冷启动的,所以如果有初始化或者函数中有第一次执行比较耗时的操作(例如加载函数代码及依赖包),第一次请求会比较慢,后面接着的请求就会很快,因为此时容器还没有销毁。如果间隔一分钟没有请求,容器就会销毁。 如果您使用的是C#或者Go语言,因为机制原因,启动速度会比其他语言慢。此时,您可以通过以下设置,增加运行速度。 适当增加函数的内存。 精简函数代码,例如:删除不必要的依赖包。 使用C#语言时,除了以上两种方法,在非并发场景下,您还可以通过以下方法增加运行速度。 创建一个一分钟一次的定时触发器,确保至少有一个存活的实例。 父主题: 调用函数
-
Python语言的函数中,中文注释报乱码错误 使用Python语言在线编辑代码,需要输出中文时,请在编辑器中增加如下代码: # -*- coding:utf-8 -*- import json def handler (event, context): output = 'Hello message: ' + json.dumps(event,ensure_ascii=False) return output 父主题: 配置函数
-
为PHP函数制作依赖包 制作函数依赖包推荐在Huawei Cloud EulerOS 2.0环境中进行。 为php7.3通过composer安装protobuf3.19依赖包,默认环境中已经安装了composer和对应版本的php。 新建一个composer.json文件,在composer.json中填入以下内容。 { "require": { "google/protobuf": "^3.19" } } 执行如下命令。 Composer install 可以看到当前目录底下生成一个vendor文件夹,文件夹中有autoload.php、composer 和google三个文件夹。 Linux系统 Linux系统下可以使用以下命令生成zip包。 zip –rq vendor.zip vendor windows系统 用压缩软件将vendor目录压缩成zip文件即可。 如果要安装多个依赖包,在composer.json文件中指定需要的依赖,把生成的vendor文件整体打包成zip上传。 php工程代码中使用通过composer下载的第三方依赖时,需要通过require "./vendor/autoload.php" 加载,平台默认把上传的zip包解压后的内容置于项目代码的同级目录下。
-
搭建EulerOS环境 EulerOS是基于开源技术的企业级Linux操作系统软件,具备高安全性、高可扩展性、高性能等技术特性,能够满足客户IT基础设施和云计算服务等多业务场景需求。此处推荐Huawei Cloud EulerOS。 在华为云购买一台EulerOS的ECS弹性云服务器,请参见购买并登录Linux弹性云服务器。在基础配置环节选择公共镜像时,选择Huawei Cloud EulerOS操作系统和具体的镜像版本。 下载EulerOS镜像,在本地使用虚拟化软件搭建EulerOS系统的虚拟机。
-
为Nodejs函数制作依赖包 需要先保证环境中已经安装了对应版本的Nodejs。 为Nodejs 8.10安装MySQL依赖包,可以执行如下命令。 npm install mysql --save 可以看到当前目录下会生成一个node_modules文件夹。 Linux系统 Linux系统下可以使用以下命令生成zip包。 zip -rq mysql-node8.10.zip node_modules 即可生成最终需要的依赖包。 windows系统 用压缩软件将node_modules目录压缩成zip文件即可。 如果需要安装多个依赖包,也可以先新建一个package.json文件,例如在package.json中填入如下内容后,执行如下命令。 { "name": "test", "version": "1.0.0", "dependencies": { "redis": "~2.8.0", "mysql": "~2.17.1" } } npm install --save 不要使用CNPM命令制作nodejs依赖包。 然后将node_modules打包成zip即可生成一个既包含MySQL也包含redis的依赖包。 Nodejs其他版本制作依赖包过程与上述相同。
共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