华为云用户手册
-
常见问题 SDK初始化失败 SDK初始化失败,graysdk的run和debug日志会打印初始化失败原因,一般原因有如下几种: ETCD服务器配置错误(检查conf/graysdk.properties文件中server配置是否正确)。 ETCD未启动或者网络原因不可用(检查网络以及ETCD是否正常)。 ETCD中不存在此微服务名称的灰度配置。 ETCD未启用用户名/密码认证方式,但是SDK配置了认证(检查conf/graysdk.properties文件是否配置了username)。 jsonRuleFilePath没有配置。 灰度规则匹配失败 调用SDK接口执行灰度规则匹配失败,一般原因有如下几种: 实际传入的参数和值,不满足配置的微服务灰度规则。 灰度开关关闭(检查conf/graysdk.properties文件graySwitch是否为1)。 灰度规则执行异常(检查graysdk的debug日志)。 联系灰度平台开发人员定位。 灰度参数的设置 消费端需要在 CS E的invocation设置想要进行灰度的参数,有两种方法: 确定需要进行灰度的参数 ,在后端的接口中使用@RequestParam参数来指定。 业务直接在消费端设置参数,例如:ContextUtils.getInvocationContext().addContext("x-is-gray", "1")。 第一种方式直接在请求流量的URL中通过设置参数的值来标识灰度流量,第二种是业务在调用SDK之前改变invocation中参数的值来标识灰度。 后端灰度节点的判断 后端的节点在自己的microservice.yaml文件中设置参数描述(参照CSE开发网站)。 按照版本筛选灰度节点,需要在yaml中的service_description中先定义版本号,然后在管理台上选择按照版本进行灰度,填入定义的版本。 按照自定义参数筛选灰度节点,需要在yaml中的instance_description中先自定义灰度参数,并填入值,接着在管理台选择按照自定义参数进行灰度,填入自定义的参数。
-
常见问题 表1 Cloud Map常见问题 问题 报错原因 解决办法 “code”:403,no permission to access 业务没有权限访问中间件资源 登录Cloud Map管理台查看资源的授权信息。 如果自身的服务或微服务不在授权范围内,则没有访问权限,需要确认注册中间件资源时所设置的授权信息(一般是集群所属的服务才有权限)。 sds报错no permission,在sds管理台新增SDK配置时没有填写正确的微服务名。 Rainbow使用共享服务报错no permission,需要将Rainbow资源在sdk管理台注册到自己的服务下,而不是其他服务下。 微服务不为*,则只有一个微服务有权限。如果需要改成*,需要在相应管理台同步配置时不要选微服务名。 “code”:404,resource is not exist 业务要找的资源不存在 先确认资源是否存在,登录Cloud Map管理台查找资源,如果不存在,参考开发指南注册资源。 如果资源确实存在,请检查资源的属性和业务配置属性是否一致,如namespace、服务名、集群名等。 debug查看调用Cloud Map接口的数据(如serviceName)是否正常。 共享服务的,请检查配置是否正确。 检查NUWA版本是否过低,建议3.0.5.101以上。 Too many connections 低版本asynchttpclient连接数超过设置最大值(默认为cpu核数,不超过4) 升级SDK版本号。 修改asynchttpclient连接数。 父主题: Cloud Map SDK
-
初始化Cloud Map 在启动类中增加@EnableDiscoveryClient注解,同时在启动类中完成将RestTemplate放到spring容器中,后续微服务间调用就使用注册到spring容器中的RestTemplate,代码如下: package com.huawei.demo.servicea; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.context.annotation.Bean; import org.springframework.web.client.RestTemplate; import com.huawei.wisesecurity.sts.springboot.security.annotation.EnableStsAutoInitialization; @SpringBootApplication @EnableStsAutoInitialization(value = "application.properties") @EnableDiscoveryClient public class ServiceASpringbootApplication { public static void main(String[] args) { SpringApplication.run(ServiceASpringbootApplication.class, args); } @Bean @LoadBalanced public RestTemplate restTemplate() { return new RestTemplate(); } }
-
配置Cloud Map 在微服务的application.yaml配置文件中添加以下配置项: nuwa: cloudmap: read: cloudmap #使用Cloud Map方式进行微服务间通信 clusterName: clusterName-example #微服务注册到Cloud Map的集群 provider: cluster: clusterName-example #提供服务的其他同样被注册到Cloud Map的微服务集群名 serverAddr: http://10.34.32.243:80 #Cloud Map访问地址 version: 1.0.0.100 #微服务版本号 namespaceName: cn_dev_default #Cloud Map访问命名空间
-
概述 Cloud Map SDK服务软件开发工具包是对服务发现(Cloud Map)服务提供的REST API进行的封装,以简化用户的开发工作。 Cloud Map是注册发现中心,主要用于注册发现微服务、中间件/数据库、一方/二方/三方服务,单体应用无需对接Cloud Map(微服务不使用任何中间件/数据库,也不依赖任何其他服务/微服务),用户直接调用Cloud Map SDK提供的接口函数即可实现使用Cloud Map服务业务能力的目的。 父主题: Cloud Map SDK
-
AI原生应用引擎SDK功能介绍 表5 AI原生应用引擎SDK功能矩阵 接口类型 接口名 函数名 Python 大模型相关接口 文本生成 ModelRouter.chat.completion.create √ 向量生成 ModelRouter.embeddings.create √ 文生图 ModelRouter.images.generate √ 图生文 ModelRouter.images.image2text √ 知识库相关接口 知识库查询 KnowledgeRetriever.retrieve √ Filter构造 KnowledgeFilterCondition. single_filter_condition √ Filter融合 KnowledgeFilterCondition. combine_filter_condition √ Order构造 KnowledgeSortCondition. single_order_condition √ Order融合 KnowledgeSortCondition. combine_order_condition √ Prompt相关接口 生成prompt模板 PromptTemplate.from_template √ 实例化prompt模板 PromptTemplate.format √ 应用相关接口 调用应用 ApplicationCenter.get_tools √
-
运行时引擎SDK类型介绍 运行时引擎为开发者提供访问凭证管理服务(Access Credential Management Service,简称ACMS)、服务发现(NUWA Cloud Map,简称Cloud Map)、负载均衡(Software/Server Load Balancer,简称SLB)和数据库治理(WiseDBA)的SDK,方便开发者将运行时引擎的能力快速集成到自己的应用中。 表1 SDK列表 SDK分类 说明 编程语言 下载地址 参考文档 ACMS的SDK:STS SDK STS SDK(Security Token Service,简称STS)服务软件开发工具包是对访问凭据管理服务(ACMS)提供的REST API进行的封装,以简化用户的开发工作。用户直接调用SecurityTokenService SDK提供的接口函数即可实现使用ACMS业务能力的目的。 使用STS SDK即可使用运维中心ACMS的敏感配置项托管和微服务之间请求认证功能。 Java nuwa-open-sdk-1.1.0-20240204093135.zip 完整性校验nuwa-open-sdk-1.1.0-20240204093135.zip.sha256 下载包nuwa-open-sdk-1.1.0-20240204093135.zip中的文件介绍请参见表2。 STS SDK Cloud Map的SDK:Cloud Map SDK Cloud Map SDK服务软件开发工具包是对服务发现(Cloud Map)服务提供的REST API进行的封装,以简化用户的开发工作。用户直接调用Cloud Map SDK提供的接口函数即可实现使用Cloud Map服务业务能力的目的。 Java Cloud Map SDK SLB的SDK:Gray SDK Gray SDK负责业务的负载均衡,Nginx组件通过反向代理实现了业务的负载均衡,通过丰富的扩展功能,可以对HTTP消息定制丰富的控制策略。 使用Gray SDK即可使用运维中心负载均衡(SLB)的灰度管理功能。 Java Gray SDK WiseDBA的SDK:Rainbow SDK Rainbow SDK构建云原生DevOps全流程可信build-in的数据库治理解决方案。使用Rainbow SDK即可使用运维中心的数据库治理(WiseDBA)功能。 提供MySQL/Cassandra/ GaussDB /DRDS全流程设计、开发、发布、运维(管理、治理、诊断)方案。 可信build-in:过程可信,结果可信,接入安全(无人工接入密码),操作(资源高危操作)安全。 Java Rainbow SDK 表2 SDK jar包介绍 文件夹 SDK分类 对应的jar包 nuwa-cse-sdk:适用于基于NUWA框架且不使用spring boot的项目 STS SDK sts-key-sdk-1.1.17.109.jar sts-sdk-base-1.1.17.109.jar cloudsoa-security-1.1.13.100.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.1.5.100.jar Rainbow SDK rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.1.5.100.jar nuwa-core-3.1.5.100.jar nuwa-cse-foundation-3.1.5.100.jar nuwa-share-libs-3.1.5.100.jar nuwa-tenant-sdk-3.1.5.100.jar spring-cloud-sdk:适用于基于Spring Cloud框架的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-1.0.12.100.jar spring-cloud-starter-cloudmap-discovery-1.0.12.100.jar Gray SDK 不支持 Rainbow SDK gpaas-jetcd-api-2.0.0.106.jar gpaas-jetcd-v2-2.0.0.106.jar gpaas-middleware-common-2.2.6.100.jar nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-api-1.2.18.201.jar rainbow-core-1.2.18.201.jar rainbow-core-drds-1.2.18.201.jar rainbow-core-gaussdb-1.2.18.201.jar rainbow-proxy-1.2.18.201.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar spring-cse-sdk:适用于基于NUWA框架且使用spring boot的项目 STS SDK sts-key-sdk-1.1.19.100.jar sts-sdk-base-1.1.19.100.jar sts-spring-boot-1.1.19.100.jar cloudsoa-security-1.1.14.101.jar Cloud Map SDK nuwa-cloudmap-config-servicecomb-1.0.12.100.jar nuwa-cloudmap-core-1.0.12.100.jar nuwa-cloudmap-registry-cse3-1.0.12.100.jar nuwa-cloudmap-registry-servicecomb-common-1.0.12.100.jar nuwa-cloudmap-spring-boot-starter-3.2.2.100.jar nuwa-gpaas-cloudmap-3.2.2.100.jar Gray SDK graysdk-core-1.4.14.500.jar graysdk-cse3-1.4.14.500.jar nuwa-apaas-graysdk-3.2.2.100.jar nuwa-graysdk-spring-boot-starter-3.2.2.100.jar Rainbow SDK nuwa-gpaas-rainbowproxy-3.2.2.100.jar nuwa-rainbowproxy-spring-boot-starter-3.2.2.100.jar rainbow-proxy-1.2.18.102.jar gpaas-middleware-common-2.2.6.100.jar NUWA基础SDK nuwa-boot-container-3.2.2.100.jar nuwa-core-3.2.2.100.jar nuwa-core-spring-boot-starter-3.2.2.100.jar nuwa-cse-foundation-3.2.2.100.jar nuwa-cse-foundation-spring-boot-starter-3.2.2.100.jar nuwa-tenant-sdk-3.2.2.100.jar tools:configparser为自定义参数解析工具,通过NUWA部署时,解析参数模板,将模板中的参数变量,替换为实际的配置项值,具体使用方式请参见使用configparser工具优化代码。 -
-
AI原生应用引擎SDK介绍 AI原生应用引擎面向开发者提供了一套搭建原生应用的Python SDK,包含了模型调用,知识获取,工具调用等功能。开发者可以使用SDK调用AI原生应用引擎的各种能力,快速构建大模型应用。 AI原生应用引擎SDK获取地址:wiseagent-dev-sdk-python。您也可以参考下载SDK获取AI原生应用引擎SDK并进行完整性校验。 AI原生应用引擎SDK参考文档:AI原生应用引擎SDK介绍。
-
解密敏感配置 在微服务业务代码的application.yml文件中配置敏感配置项,样例如下: nuwa: security: config: sensitiveWords: spring.redis.password,org.app.protocol-login.oauth.clientSecret,org.app.jwt-key 启动敏感配置项自动解密。 在微服务的启动类中添加@EnableStsEncryptableProperties注解。
-
更多操作 表2 相关操作 操作 说明 配置流控服务 单击流控服务列表中的服务名称,在流控服务详情页面新增资源、新增流控规则、新增黑白名单及熔断规则,具体介绍请参见在SLB中配置负载均衡OLC服务。 发布流控服务 单击流控服务列表操作列的“发布”,将OLC服务应用到SLB,具体介绍请参见在SLB中发布负载均衡OLC服务。 编辑流控服务 单击流控服务列表操作列的“编辑”,在弹出的编辑窗口,单击认证密钥后的“重置”,可以重置认证密钥。 删除流控服务 单击流控服务列表操作列的“删除”,在弹出的提示框中单击“确定”,即可删除服务。
-
新增黑白名单 黑名单规则会直接流控满足规则的请求,白名单规则会放通满足规则的请求。 在流控服务详情页面,选择“黑白名单”页签,单击“新增黑白名单”。 配置黑白名单相关参数,参数说明如表6所示。配置完成后单击“保存”。 表6 新增黑白名单参数说明 参数 说明 资源名称 选择全局黑白名单或具体资源,全局黑白名单不限制微服务/接口,资源黑白名单则限制特定的微服务/接口。 参数名称 参数级规则的参数名。 字符长度0~50,可以由字母、数字、下划线、短横线、点组成,不能包含特殊字符,例:black_rule-001。 名单类型 白名单 黑名单 每个资源或全局黑白名单下,同一参数名称只支持添加黑白名单各一条。 开启黑白名单 选择是否开启黑白名单。 名单列表 黑白名单列表。如果存在多个,使用英文逗号分隔,不允许存在空格。 在弹出框中单击“确认”。
-
新增流控规则 流控规则支持针对微服务/接口的资源流控、不区分微服务接口的全局参数流控和节点级动态流控规则。 在流控服务详情页面,选择“流控规则”页签,单击“新增流控规则”。 配置流控规则相关参数,配置完成后单击“保存”。 资源流控 表3 资源流控参数说明 参数 说明 限流控制类型 选择资源流控,针对微服务/接口资源进行流控。 资源名称 选择新增资源中创建的资源名称,与微服务/接口绑定,每个资源最多创建4条规则,规则的限流控制类型和是否集群流控不能重复。 流控类别 QPS:每秒速率流控。 配额:特定时间的请求阈值。 限流阈值 流控阈值,整个微服务/接口调用总量的阈值,如果请求总量超过该阈值,后续请求会被流控;0表示不流控。 禁用时间 当限流控制类型为QPS时,显示该参数。 流控后禁用时间内的所有请求不再判断请求量,直接全部流控。 允许的突增量 当限流控制类型为QPS时,显示该参数。 流控突发量,该参数可以调整令牌桶的大小,令牌桶大小为(阈值+突增量)/时间窗口,时间窗口单位为s。 是否集群限流 选择“是”或“否”。开启后对集群内此资源的调用总量进行限制。 集群限流阈值模式 当流控类别为QPS,开启集群限流时,显示该参数。 单机均摊 总体阈值 本地配额缓存数 当流控类别为配额,开启集群限流时,显示该参数。 防止DCS热点key的参数,可以减少DCS的访问,默认值为5。 该参数需要合理配置,配置过小容易造成热点key问题,配置过大可能导致部分节点放通部分节点流控的问题。 时间窗口 填写时间,单位为秒,表示间隔多少秒允许一个请求通过。默认为1秒,取值范围为1~86400。 是否开启流控规则 选择是否开启流控规则。 新增参数 单击“新增参数”,可以根据需要新增多条流控规则。 参数名称:参数级规则的参数名。 限流阈值:默认的参数阈值,如果没有指定参数值,都按该阈值进行流控。 单击新增参数列表前的,单击“新增参数值”,可以为参数配置多条参数值。 参数值:参数级规则的参数值。 参数阈值:指定的参数值按该阈值进行流控。 全局参数流控 全局参数流控规则与资源流控的参数级规则含义类似,仅不对微服务/接口做限制。 表4 全局参数流控参数说明 参数 说明 限流控制类型 选择全局参数 参数名称 填写参数名称。 流控类别 QPS:每秒速率流控。 配额:特定时间的请求阈值。 限流阈值 流控阈值,默认的参数阈值,如果没有指定参数值,都按该阈值进行流控。 禁用时间 当限流控制类型为QPS时,显示该参数。 流控后禁用时间内的所有请求不再判断请求量,直接全部流控。 允许的突增量 当限流控制类型为QPS时,显示该参数。 流控突发量,该参数可以调整令牌桶的大小,令牌桶大小为(阈值+突增量)/时间窗口,时间窗口单位为s。 是否集群限流 选择“是”或“否”。开启后对集群内此资源的调用总量进行限制。 集群限流阈值模式 当流控类别为QPS,开启集群限流时,显示该参数。 单机均摊 总体阈值 本地配额缓存数 当流控类别为配额,开启集群限流时,显示该参数。 防止DCS热点key的参数,可以减少DCS的访问,默认值为5。 该参数需要合理配置,配置过小容易造成热点key问题,配置过大可能导致部分节点放通部分节点流控的问题。 时间窗口 填写时间,单位为秒,表示间隔多少秒允许一个请求通过。默认为1秒,取值范围为1~86400。 是否开启流控规则 选择是否开启流控规则。 新增参数 单击“新增参数值”,配置多条参数值。 参数值:参数级规则的参数值。 参数阈值:指定的参数值按该阈值进行流控。 节点级动态流控 表5 节点级动态流控参数说明 参数 说明 限流控制类型 选择节点级动态流控。 是否开启流控规则 选择是否开启流控规则。 CPU过载阈值 CPU利用率超过该值时,接口的放通比例开始降低,直到降低至最低放通比例;CPU利用率越高,接口放通比例下降越快。该阈值要求为小数,范围为0~1,支持精度为小数点后四位。 CPU恢复阈值 CPU利用率小于该值时,接口的放通比例开始恢复,直到恢复至100%;CPU利用率越低,接口放通比例恢复越快。该阈值要求为小数,范围为0~1,支持精度为小数点后四位,并且小于CPU过载阈值。 最低放通比例 配置各个接口等级对应的最低放通比例,在CPU始终处于过载状态时,仍然能放通该比例的请求。 范围为0~1,支持精度为小数点后四位。 在弹出框中单击“确认”。
-
服务资源介绍 Cloud Map根据服务注册和发现方式不同,把管理的服务资源分为三种:微服务、中间件、接入地址(URL),具体介绍如表1所示。 表1 服务资源说明 服务形态 描述 微服务 微服务之间通过微服务框架点对点通信,微服务提供方(Provider)实例节点把自己的IP和端口注册到Cloud Map,并通过心跳的方式维持注册。调用方(Consumer)实例查询Provider的所有实例列表,实现点对点调用。微服务属于一个服务,一个微服务可能有多个集群。 中间件 中间件对应一个中间件集群,Cloud Map里记录连接这个中间件集群,中间件SDK所有需要的配置,包括地址、秘钥,密码信息等。一个服务可能会申请多个中间件集群 。 说明: 当前仅支持WiseDBA管理台纳管的数据库。 接入地址 业务之间调用都是通过一个地址进行访问,对于内部服务,URL地址挂在提供方服务下面,由提供方提供。对于公有云、以及外部的服务地址,挂在使用方服务下面,由使用方自己维护。一个服务可能会开放多个接入地址,也会依赖多个接入地址。 服务资源在Cloud Map中注册和发现的方式如表2所示。 表2 服务注册和发现 场景 注册 发现 服务之间 服务提供方通过IaC注册地址。 通过Cloud Map SDK查询。 服务内部微服务之间 通过Cloud Map SDK注册机器IP,并维持心跳。 通过Cloud Map SDK发现。 数据库 通过IaC申请数据库,数据库管理台自动注册。 通过中间件SDK访问。 接口类型服务 使用方通过IaC注册地址。 通过Cloud Map SDK发现。 外部地址 使用方通过IaC注册地址。 通过Cloud Map SDK发现。 中间件 通过IaC申请中间件集群,中间件管理台自动注册。 通过中间件SDK访问。 Cloud Map SDK的使用方法请参见Cloud Map SDK。
-
流控类型介绍 支持的流控类型有节点级流控,服务级流控,接口级流控,IP流控,自定义参数流控,多参数组合流控,配额流控及并发连接流控,流控类型介绍如表1所示。每种类型的流控只能添加一次,SLB流控的顺序按照页面从上往下匹配,页面支持上下移动流控的顺序。 表1 流控类型说明 类型 流控维度 窗口类型 限制 节点级流控 所有请求 漏桶 请求速率 服务级流控 以请求的Host字段为维度 漏桶 请求速率 接口级流控 以请求的uri路径为维度 漏桶 请求速率 IP流控 以取得的请求IP为维度 漏桶 请求速率 自定义参数流控 以自定义的单个参数为维度 漏桶 请求速率 多参数组合流控 以自定义的多个参数为维度 漏桶 请求速率 配额流控 以自定义的多个参数为维度 固定窗口。 请求量。 并发连接流控 以自定义的多个参数为维度 N/A 并发量。 窗口类型 漏桶:请求被均匀地限制,支持突发量配置。一般情况下,建议业务进行评估,并加上适当突发量,突发量一般不超过1秒的量。 固定窗口:只要在窗口内部超限即可。 例如同为100个/秒的限制,滑动窗口下,第0.1秒只能有10个请求,当然,滑动窗口下有个突发量的配置,在突发量10个的情况,可以在业务瞬间突发时额外再支持10个,突发池用满以后,即不可再用,只有等请求量下滑低于正常流控量时,再慢慢恢复突发池;固定窗口下,第0.1秒也可以允许100个请求。 限制类型 请求量:并不关注请求是否为并发,例如10个请求不论到来和处理的时间是否有并发情况,都记为10个。 并发量:只看某时间点,正在处理的请求的个数。如果请求1的开始时间到响应时间这个时间段,与请求2的开始时间到响应时间的时间段并不相互交叠,则请求1和请求2不是并发。否则存在并发关系。
-
下载SDK并校验完整性 登录AI原生应用引擎,鼠标光标移至右上角登录的用户名,弹出“账户信息”页面。 单击“下载SDK”,进入下载SDK页面。 在“操作流程”区域,单击“下载SDK”,可获取完整的AI原生应用开发套件。 生成SDK包的SHA256哈希值,用于校验SDK完整性。生成方法如下: Windows系统SHA256哈希值生成方法 执行Windows+R,唤起任务调用,输入cmd打开命令行调用窗口。 执行certutil -hashfile 绝对路径下文件 校验值。 例如:certutil -hashfile C:\Users\xxxx\tcp.xml sha256 Linux系统SHA256哈希值生成方法 打开终端,进入到SDK文件所在目录。 执行sha256sum 文件名,生成该文件的SHA256。 例如:sha256sum tcp.xml Mac系统SHA256哈希值生成方法 打开终端,进入到SDK文件所在目录。 执行shasum -a 256 文件名,生成该文件的SHA256。 例如:shasum -a 256 tcp.xml 将生成的SHA256哈希值与“操作流程”区域展示的原始SHA256进行对比,验证文件的完整性。 如果两者一致,说明SDK包在下载过程中未被篡改或损坏;如果不一致,则说明存在问题,建议重新下载。
-
追加到数组变量 需要先定义一个数组变量,可将“值”内填写的数据,以字符串的形式追加到数组变量中。例如,先定义一个变量名为data的变量,类型为数组,值为【“123”】,使用追加到数组变量后,可在下拉框内选择data,传入值456,运行即可获得变量data,类型为数组,值为【“123”,“456”】。 输入参数 用户配置追加到数组变量执行动作,相关参数说明请参考表1。 表1 追加到数组变量输入参数说明 参数 说明 变量名 选择参数类型(暂无数据)。 值 设定参数的预设值。 输出参数 该执行动作无输出参数。
-
变量定义 输入参数 用户配置初始化变量执行动作,相关参数说明请参考表5。 表5 变量定义参数说明 参数 是否必填项 说明 示例 变量名 是 用于指定将要命名的变量的名称。 re 类型 是 变量的类型。目前包含字符串、整数、布尔、浮点数、数组、对象。 字符串 整数 布尔 浮点数 数组 对象 值 否 用于指定该变量的值。 这是一句话 12345 true 3.1415 [1,2,3,4,5] {"key":"value"} 输出参数 该执行动作无输出参数。
-
追加到字符串变量 需要先定义一个字符串变量,可将“值”内填写的数据,以字符串的形式追加到字符串变量中。例如,先定义一个变量名为data的变量,类型为字符串,值为Str,使用追加到字符串变量后,可在下拉框内选择data,传入值ing,运行即可获得变量data,类型为字符串,值为String。 输入参数 用户配置追加到字符串变量执行动作,相关参数说明请参考表2。 表2 追加到字符串变量输入参数说明 参数 说明 变量名 选择参数类型(暂无数据)。 值 设定参数的预设值。 输出参数 该执行动作无输出参数。
-
异常监控和处理 异常监控和处理(try-catch),左侧为try,右侧为catch。当左侧try分支出现错误时,会进入右侧catch分支,执行右侧的逻辑,如果左侧try逻辑无错误,则继续向下执行。 图11 异常监控和处理 输入参数 该执行动作无输出参数。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表14。 表14 循环输出参数说明 参数 说明 异常响应内容 左侧try分支中异常连接器节点的报错信息。 异常连接器 左侧try分支中异常连接器节点的连接器名称。 异常执行动作 左侧try分支中异常连接器节点的执行动作名称。 响应头 存放以上三个异常信息的集合。
-
流程块 流程块(flow block),流程块用来监控上个节点的状态,并进入到流程块中执行流程块里面的逻辑。 图9 流程块 输入参数 用户配置终止执行动作,相关参数说明如表10所示。 表10 流程块输入参数说明 参数 是否必填项 说明 参照对象 是 默认上个节点。 运行条件 是 执行成功/执行失败。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表11。 表11 流程块输出参数说明 参数 说明 是否执行 流程块内步骤是否执行。 异常响应内容 异常响应内容。 异常连接器 异常连接器。 异常执行动作 异常执行动作。
-
分支 用户选择分支后,画布上会展示一个分支的白色框,单击“添加分支”,添加业务场景所需要的各个分支,同时画布上会展示各个分支的信息,最多可以配置五个分支,分支里面可以再添加其他分支。以下图为例: 图6 分支 如果想对分支的当前项进行数据处理,可在分支中进行业务编排。流开始运行时,会先运行分支里面的各个执行动作,之后运行分支以外的执行动作。 输入参数 该执行动作无输入参数。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表4。 表4 分支输出参数说明 参数 说明 当前项 分支中的当前项。
-
多分支条件 用户选择多分支条件后,侧边栏会展示该动作包含的参数,画布上会展示一个多分支条件的白色框,单击“添加分支”,添加业务场景所需要的各个分支条件,同时画布上会展示各个分支条件的信息,分支条件里面可以再添加其他分支。以下图为例: 图7 多分支条件 如果想对多分支条件的当前项进行数据处理,可在多分支条件中进行业务编排。流开始运行时,会先运行多分支条件里面的各个执行动作,之后运行分支以外的执行动作。如果多分支条件运行没有结果,系统默认会按照分支默认条件去执行。 输入参数 用户配置多分支条件执行动作,相关参数说明如表7所示。 表7 多分支条件输入参数说明 参数 是否必填项 说明 多分支条件 是 多分支条件需要满足的条件。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表8。 表8 多分支条件输出参数说明 参数 说明 当前项 多分支条件中的当前项。
-
遍历集合元素 添加执行动作时,如果选择了“计划”执行动作,则流编排能映射上遍历集合元素里面需要选到遍历项的子节点。 用户选择该执行动作后,侧边栏弹出输入框: 图5 遍历集合元素 用户需在输入框内填入数组参数,如[1,2,3]或引用数组参数。 如果想对遍历的当前项进行数据处理,可在上下文引用中获取到当前项。 输入参数 用户配置遍历集合元素执行动作,相关参数说明如表2所示。 表2 遍历集合元素输入参数说明 参数 是否必填项 说明 条件 是 数据集合需要满足的条件。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表3。 表3 遍历集合元素输出参数说明 参数 说明 当前项 遍历集合元素的当前项。
-
数据分片 数据分片执行动作可以将数组类型的变量按指定策略进行分组。例如:输入参数为[1,2,3,4],按固定数量策略进行分组,期望分片数量为2,那么最终结果为[[1,2],[3,4]]。如果不能整分,则每小组数量为入参数组长度与期望分片数量相除,结果向上取整,例如:输入参数为[1,2,3,4,5],按固定数量策略进行分组,期望分片数量为2,那么最终结果为[[1,2,3],[4,5]]。 输入参数 用户配置数据分片执行动作,相关参数如表5所示。 表5 数据分片输入参数说明 参数 是否必填项 说明 分片对象 是 数组类型的自定义变量或之前节点的出参。 分片策略 是 设置分片策略,目前策略仅有“固定数量”一种。 分片数量 是 获得数组数量的期望值。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表6。 表6 数据分片输出参数说明 参数 说明 执行结果 数据分片是否运行成功。 true:表示成功。 false:表示失败。 数据分片结果 数据分片后的结果,返回值为二维数组。
-
循环 循环(while),当满足条件时,重复执行循环块内的逻辑,直到不满足条件或者超出最大循环次数,或者超出超时时间。 图10 循环 输入参数 用户配置终止执行动作,相关参数说明如表12所示。 表12 循环输入参数说明 参数 说明 条件1 是否循环的条件。 最大循环次数 默认值循环5000。 超时时间 默认值30min。 输出参数 用户可以在之后的执行动作中调用该输出参数,输出参数说明请参考表13。 表13 循环输出参数说明 参数 说明 循环次数 循环次数。
-
条件判断 用户选择条件判断后,侧边栏会展示该动作包含的参数,同时画布上会展示两条分支,以下图为例: 图2 条件判断 用户首先需要填写判断条件的相关参数,包括: 选择满足条件(全部满足/任意一项满足) 输入待判断的参数 选择判断条件(包含、不包含、等于、不等于、大于、大于等于、小于、小于或等于、为空) 输入将要判断的值 如果包含多个判断语句,可以通过单击“添加条件”按钮进行添加。 图3 条件判断 当参数填写完成后,如果逻辑判断正确,则会走向“如果是”分支,反之则会走“如果不是”分支进行后续操作。 输入参数 用户配置条件判断执行动作,相关参数说明如表1所示。 表1 条件判断输入参数说明 参数 是否必填项 说明 满足条件 是 选择满足条件(全部满足/任意一项满足)。 待判断的参数 是 输入待判断的参数。 判断条件 是 选择判断条件(包含、不包含、等于、不等于、大于、大于等于、小于、小于或等于、为空)。 将要判断的值 是 输入将要判断的值。 输出参数 该执行动作无输出参数。
-
运行动作 输入参数 用户配置运行动作的执行动作,相关参数说明如表1所示。 表1 运行动作属性配置输入参数说明 参数 是否必填项 说明 函数名称 是 选择下拉列表中的函数,一般是之前已定义保存的函数,也可以进行以下操作。 单击:可以直接在弹出的“创建函数”页面快速创建函数,参数配置完成后可单击“创建”保存函数。 单击:选择函数后,单击该图标可以在弹出的“编辑函数”页面中快速编辑函数,参数编辑完成后可单击“更新”保存函数。 单击:创建或编辑函数后,单击该图标,可刷新下拉列表中的函数列表。 单击:选择函数后,单击该图标可快速复制函数。 连接 否 可选项,选择了连接,在Code代码时可通过连接器认证参数mssiAuthData获取该连接认证信息。 创建流时,当选择该执行动作后,根据选择的函数不同,需要输入的参数不同,具体请以界面为准。 输出参数 该执行动作是根据用户定义的函数内容输出指定参数。
-
修改个人华为账号的密码 适用于修改个人华为账号(包括购买AppStage的租户开通者的个人华为账号、通过邀请成员加入组织的个人华为账号)的密码。为保障账号安全,建议定期更新密码。 鼠标光标移至右上角登录的用户名,弹出“账户信息”页面。 在“账号信息”页面,单击“修改密码”,进入华为账号的“账号与安全”页面。 在“安全中心”区域单击“重置账号密码”右侧“重置”。 在“重置账号密码”页面,输入旧密码、新密码及再次输入新密码,单击“确定”。 密码需满足以下要求: 至少8个字符。 至少包含字母和数字,不能包含空格。 密码强度:勿使用其他账号的密码。 如果忘记旧密码,可通过如下操作找回密码: 单击“忘记旧密码”。 在“找回密码”页面,输入华为账号(注册账号的手机号或邮件地址)。 输入图形验证码,单击“下一步”。 单击“获取验证码”,输入相应的邮件验证码或手机验证码,再单击“下一步”。 设置新密码并确认新密码,单击“确定”。 密码需满足以下要求: 至少8个字符。 至少包含字母和数字,不能包含空格。 密码强度:勿使用其他账号的密码。 如果您有其他设备使用此账号,设置新密码后需重新登录,以确保正常使用华为服务。
-
修改成员账号密码(通过OrgID创建的成员账号) 适用于通过添加成员加入组织的成员账号修改密码。为保障账号安全,建议定期更新密码。 登录AI原生应用引擎,鼠标光标移至右上角登录的用户名,弹出“账户信息”页面。 在“账户信息”页面,单击“修改密码”。 为确认是本人操作需进行身份验证,可选择手机短信验证码方式或邮件验证码方式。 如果该账号已同时绑定手机号码和邮箱,则可使用手机短信验证码方式或邮件验证码两种方式。 如果该账号仅绑定手机号码或邮箱其中一个,则相应的只需使用手机验证码方式或邮件验证码一种方式。 手机短信验证码验证方式的操作如下: 单击“获取验证码”。 输入手机上收到的短信验证码,单击“确定”。 邮件验证码验证方式的操作如下: 单击“选择其他验证方式”。 勾选使用邮箱的方式,单击“下一步”。 单击“获取验证码”。 输入邮箱收到的邮件验证码,单击“确定”。 在“重置账号密码”页面,输入旧密码、新密码及再次输入新密码,单击“确定”。 密码需满足以下要求: 至少8个字符。 至少包含字母和数字,不能包含空格。 密码强度:勿使用其他账号的密码。 如果忘记旧密码,可通过如下操作找回密码: 单击“忘记旧密码”。 在“找回密码”页面,输入华为账号(注册账号的手机号或邮件地址)。 输入图形验证码,单击“下一步”。 单击“获取验证码”,输入相应的邮件验证码或手机验证码,再单击“下一步”。 设置新密码并确认新密码,单击“确定”。 密码需满足以下要求: 至少8个字符。 至少包含字母和数字,不能包含空格。 密码强度:勿使用其他账号的密码。 如果您有其他设备使用此账号,设置新密码后需重新登录,以确保正常使用华为服务。
-
AI原生应用引擎基本概念 使用之前,请先了解表1中相关概念,从而更好的使用AI原生应用引擎。 表1 基本概念说明 基本概念 说明 Agent Agent指具备自主智能的实体,具有一定的智能和自主性,可以自主地发现问题、设定目标、构思策略、执行任务等。 技能 技能是在自动化和人工智能领域的应用程序。能够自动地执行一些任务或提供一些服务,如客户服务、数据分析、信息传输、智能助手、自动回复等。 智能编排 智能编排是一种基于人工智能技术的自动化流程编排工具,通过分析业务流程,自动构建流程模型,并根据预设规则自动化执行流程,从而提高工作效率和准确性。 ClickHouse ClickHouse是一个开源的分布式列式数据库管理系统,主要用于在线分析处理(OLAP)场景。它具有高性能、高可靠性、高可扩展性等特点,可以处理海量数据,支持复杂的查询和数据分析操作。ClickHouse支持SQL语言,同时还提供了许多扩展功能,如数据压缩、数据分区、分布式查询等。它被广泛应用于互联网企业、金融、电商、游戏等领域。 节点数 节点数是指在一个特定的环境中,例如测试或生产环境,需要部署的节点数量。 镜像名称 用于标识环境配置的镜像。 镜像版本 用于区分一个镜像库中不同的镜像文件所使用的标签。 资源规格 指根据不同的环境类型和用途,对服务器的 CPU 、内存、数据盘等硬件资源进行合理分配和管理的过程。例如,开发环境的资源规格可能会比生产环境的小,而性能测试环境的资源规格可能会更大,以满足其对硬件资源的需求。 容器端口 容器端口是指在容器内部运行的应用程序所监听的网络端口。容器是一种虚拟化技术,它可以将应用程序及其依赖项打包在一起,形成一个独立运行的环境。在容器内部,应用程序需要监听一个或多个网络端口,以便与外部系统进行通信。 服务端口 服务端口是计算机网络中用于标识应用程序的端口号,它是一个16位的整数,范围从0到65535。在一个计算机上,可以同时运行多个应用程序,每个应用程序都需要一个唯一的端口号来标识自己。当一个应用程序需要接受网络请求时,它会监听自己的端口号,等待来自网络的连接请求。当连接请求到达时,应用程序会接受连接并开始处理请求。 推理单元 推理单元是指计算机系统中的一个模块,用于进行逻辑推理和推断。其主要功能是根据已知的事实和规则,推导出新的结论或答案。 推理单元常常被用于解决问题、推理、诊断、规划等任务。它可以帮助计算机系统自动推理出一些结论,从而实现智能化的决策和行为。推理单元通常包括知识表示、推理机和推理策略三个部分。知识表示用于将事实和规则以一定的形式表示出来,推理机则用于实现推理过程,推理策略则用于指导推理机的搜索和推理方向。 大语言模型 大语言模型是一种能够理解和生成人类语言的人工智能模型。这些模型通常使用大量的数据进行训练,以便它们能够识别语言中的模式和规律。大语言模型的应用范围非常广泛,包括 自然语言处理 、 机器翻译 、 语音识别 、智能问答等领域。 向量化模型 向量化模型是将文本数据转换为数值向量的过程。常用于将文本转换为机器可以处理的形式,以便进行各种任务,如文本分类、情感分析、机器翻译等。 多模态模型 多模态模型是指能够处理多种类型数据(如文本、图像、音频等)的机器学习模型。这些模型可以将不同类型的数据进行融合和联合分析,从而实现更全面的理解和更准确的预测。多模态模型的应用非常广泛,例如在图像识别中,可以将图像和文本信息结合起来,提高图像识别的准确性;在自然语言处理中,可以将文本和语音信息结合起来,提高文本语义理解的准确性。 LoRA Low-Rank Adaptation,低秩适应,是一种将预训练模型权重冻结,并将可训练的秩分解矩阵注入Transformer架构每一层的技术,该技术可减少下游任务的可训练参数数量。 Loss曲线 Loss曲线是一个用于评估模型训练效果的工具,它展示了模型在训练过程中产生的损失(Loss)随时间的变化情况。通过观察Loss曲线,可以了解模型的收敛效果、参数的敏感性和有效性。 父主题: AI原生应用引擎简介
共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
推荐文章