华为云用户手册
-
Step1 创建OBS桶和文件夹 在OBS服务中创建桶和文件夹,用于存放样例数据集以及训练代码。需要创建的文件夹列表如表1所示,示例中的桶名称“test-modelarts” 和文件夹名称均为举例,请替换为用户自定义的名称。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。 请确保您使用的OBS与ModelArts在同一区域。 表1 OBS桶文件夹列表 文件夹名称 用途 “obs://test-modelarts/tensorflow/code/” 用于存储训练脚本文件。 “obs://test-modelarts/tensorflow/data/” 用于存储数据集文件。 “obs://test-modelarts/tensorflow/log/” 用于存储训练日志文件。
-
Step1 创建OBS桶和文件夹 在OBS服务中创建桶和文件夹,用于存放样例数据集以及训练代码。如下示例中,请创建命名为“test-modelarts”的桶,并创建如表1所示的文件夹。 创建OBS桶和文件夹的操作指导请参见创建桶和新建文件夹。 请确保您使用的OBS与ModelArts在同一区域。 表1 OBS桶文件夹列表 文件夹名称 用途 obs://test-modelarts/ascend/demo-code/ 用于存储Ascend训练脚本文件。 obs://test-modelarts/ascend/demo-code/run_ascend/ 用于存储Ascend训练脚本的启动脚本。 obs://test-modelarts/ascend/log/ 用于存储训练日志文件。
-
创建项目 您可以在“项目管理”页面创建一个新的项目。 在“项目管理”页面单击“创建项目”。 配置项目信息。 表1 参数说明 参数 说明 项目名称 项目名称长度限制3-45,以小写字母数字开头结尾,全文包含数字、小写字母、下划线、中划线。 核心项目 如果设置该项目为核心项目,不支持立即删除,会进入待删除项目列表。删除项目需要等待7天保留期,到期后系统自动删除。 说明: 一旦设置为核心项目,不可变为非核心项目,非核心项目支持变为核心项目。 标签 设置项目标签。 描述 设置项目描述。 数据保护策略 数据保护策略介绍请参见数据控制与数据审计。 图1 创建项目 单击“确认”,创建一个新的项目。 项目的创建者默认拥有项目的完整权限,同时项目可以分享给其他用户,并限定其他用户的访问权限。项目角色为项目粒度权限控制,同一用户在不同的项目上可能拥有不同的角色。 创建的项目配额请参见配额管理进行查询。详细添加项目成员并分配角色的方法请参见添加项目成员。 父主题: 项目管理
-
镜像用途 用于创建分析应用 应用是生物信息学软件的镜像封装。例如,您可将Cell Ranger软件封装为镜像,并上传至 EIHealth 平台。通过应用把镜像引入,利用应用搭建分析流程,执行分析作业。 用于创建Notebook Notebook是一个交互式应用程序,用于代码的编写、调试、运行。创建Notebook时,您可以选择系统镜像。当系统镜像无法满足您的开发需求时,您可以基于EIHealth提供的基础镜像包制作 自定义镜像 ,并上传至平台。您可以在EIHealth平台“开发环境”中使用此自定义镜像创建Notebook。 创建Notebook时,如果使用自定义镜像。该自定义镜像,需要基于EIHealth平台提供的基础镜像进行制作。
-
聚类分析 目前分子优化返回的结果小分子数较多,无法进行批量分析,通过一些聚类的辅助方式能更好的选择分子。从每个类里挑选出一两个分子进行后续分析和验证,提高分析的效率和分析质量。也可以通过聚类找出一些关键的骨架,来进行下游分析或者优化等。 在输出结果页面左上角单击“聚类分析”后,系统开始进行分析,同时显示“聚类分析中”。 图16 聚类分析 待聚类分析完成后,单击“查看聚类结果”。进入聚类结果页。 在聚类结果页面,可以查看每个聚类的分子数量等信息。 图17 查看聚类结果 单击某个聚类的操作列的“查看详情”,即可进入聚类详情页面,聚类详情页支持以卡片、列表以及3D的形式查看。默认展示卡片页面,用户可自行进行切换。 每个结果页面只用进行一次聚类分析操作。 聚类结果是存成文件,如果文件被删或者获取不到的话会有警告, 聚类结果不存在。此时可以单击“重新聚类分析”。 如果聚类失败,根据提示失败原因解决问题后,可单击“重新聚类分析”。
-
Dockerfile基本语法 FROM 指定待扩展的父级镜像(基础镜像)。除了注释以外,在文件的开头必须是一个FROM指令,后面的指令便在这个父级镜像的环境中运行,直到遇到下一个FROM指令。通过添加多个FROM命令,可以在同一个Dockerefile文件中创建多个镜像。 MAINTAINER 声明创建镜像的作者信息:用户名、邮箱,非必须参数。 RUN 用来修改镜像的命令,常用来安装库、程序以及配置程序。一条RUN指令执行完毕后,会在当前镜像上创建一个新的镜像层,接下来的指令会在新的镜像上继续执行。 RUN 语句具有以下形式。 RUN yum update:在/bin/sh路径中执行的指令命令。 RUN ["yum", "update"]:直接使用系统调用exec来执行。 RUN yum update && yum install nginx:使用&&符号将多条命令连接在同一条RUN语句中。 EXPOSE 用来指明容器内进程对外开放的端口,多个端口之间使用空格隔开。运行容器时,通过参数-P(大写)即可将EXPOSE里所指定的端口映射到主机上另外的随机端口,其他容器或主机就可以通过映射后的端口与此容器通信。您也可以通过-p(小写)参数将Dockerfile中EXPOSE中没有列出的端口设置成公开的。 COPY 将本地的文件或目录复制到镜像中。 ADD 向新镜像中添加文件,这个文件可以是主机文件、网络文件或文件夹。 第一个参数:源文件(夹)。 如果是相对路径,必须是相对于Dockerfile所在目录的相对路径。 如果是URL,会将文件先下载下来,然后再添加到镜像里。 第二个参数:目标路径。 如果源文件是主机上的zip或者tar形式的压缩文件,Docker会先解压缩,然后将文件添加到镜像的指定位置。 如果源文件是一个通过URL指定的网络压缩文件,则不会解压。 VOLUME 在镜像里创建一个指定路径(文件或文件夹)的挂载点,这个容器可以来自主机或者其它容器。多个容器可以通过同一个挂载点共享数据,即便其中一个容器已经停止,挂载点也仍然可以访问。 WORKDIR 为接下来执行的指令指定一个新的工作目录,这个目录可以使绝对目录,也可以是相对目录。根据需要,WORKDIR可以被多次指定。当启动一个容器时,最后一条WORKDIR指令所指的目录将作为容器运行的当前工作目录。 ENV 设置容器运行的环境变量。在运行容器的时候,通过设置-e参数可以修改这个环境变量值,也可以添加新的环境变量。 例如: docker run -e WEBAPP_PORT=8000 -e WEBAPP_HOST=www.example.com ... CMD 用来设置启动容器时默认运行的命令。 ENTRYPOINT 用来指定容器启动时的默认运行的命令,与CMD类似。区别在于:运行容器时添加在镜像之后的参数,对ENTRYPOINT是拼接,CMD是覆盖。 若在DockerFile中指定了容器启动时的默认运行命令为ls -l,则运行容器时默认启动命令为ls -l。 ENTRYPOINT [ "ls", "-l"]:指定容器启动时的程序及参数为ls -l。 docker run centos:当运行centos容器时,默认执行的命令是docker run centos ls -l。 docker run centos -a:当运行centos容器时拼接了-a参数,则默认运行的命令是docker run centos ls -l -a。 若在DockerFile中指定了容器启动时的默认运行命令为--entrypoint,则在运行容器时若需要替换默认运行命令,可以通过添加--entrypoint参数来替换Dockerfile中的指定。 docker run gutianlangyu/test --entrypoint echo "hello world" USER 为容器的运行及RUN、CMD、ENTRYPOINT等指令的运行指定用户或UID。 ONBUILD 触发器指令。构建镜像时,Docker的镜像构建器会将所有的ONBUILD指令指定的命令保存到镜像的元数据中,这些命令在当前镜像的构建过程中并不会执行。只有新的镜像使用FROM指令指定父镜像为当前镜像时,才会触发执行。 使用FROM以这个Dockerfile构建出的镜像为父镜像,构建子镜像时: ONBUILD ADD . /app/src:自动执行ADD . /app/src
-
快照方式制作镜像 如果后续镜像没有变化,可通过快照方式制作镜像。 快照方式制作镜像示例: 本示例中使用华为云弹性云服务器服务(E CS )创建一台云服务器,并使用快照方式制作bwa镜像。 购买弹性云服务器。 云服务器创建成功后,在云服务器列表页,选中待登录的弹性云服务器。单击“远程登录”,输入ECS初始账号,登录ECS。 图1 云服务器列表 安装容器引擎。 启动一个空白的基础容器,并进入容器。 例如,启动一个CentOS容器。 docker run -it centos 安装依赖包。 yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm yum -y install git yum -y install gcc automake autoconf libtool make yum install -y zlib zlib-devel 安装bwa软件,在github上下载bwa的源代码,并使用make编译。 yum install bwa git clone https://github.com/lh3/bwa.git cd bwa;make 请预先安装好Git,并检查本机是否有ssh key设置。 输入exit退出容器。 查询容器id。 docker ps -a 制作快照。 docker commit -m "xx" -a "tsj" container-id tsj/image:tag 例如:docker commit -m "test" -a "username" adb1127979a1 bwa:v0.7 -a:提交的镜像作者,例如tsj。 container-id:容器id。 -m:提交时的说明文字,例如xx。 tsj/image:tag:仓库名/镜像名:TAG名,名称可自定义。 执行docker images命令查看制作完成的Docker镜像。
-
工具管理简介 EIHealth中的每一个分析作业都依托于应用运行。应用可以组合形成分析流程。 应用是生物信息学软件的镜像封装。您可以将软件制作成镜像,并将镜像上传至EIHealth平台,通过应用引入镜像。制作好的应用可以单独使用,也可以将多个应用编排入流程串联使用。在“项目管理”页面“工具”页签中,以列表形式展示了项目中的应用。您可以新建应用、导入应用或上传应用,并查看应用详情、版本、创建者、修改和创建时间,可以对名称、创建者、修改时间、创建时间、源项目进行排序。并可执行查询、修改和删除应用的操作。 图1 应用列表 流程包含分析过程中所需应用的执行信息和数据的输入、输出等参数定义。流程通过流程设计器创建,创建好的流程将存储于“项目管理”页面“工具”页签中。在该页签中,以列表形式展示了项目中的流程。您可以新建流程、导入流程或上传流程,并查看流程详情、版本、创建者、修改和创建时间,可以对名称、创建者、修改时间、创建时间、源项目进行排序。并可执行查询、编辑修改流程、删除操作和基于该流程创建分析作业。 图2 流程列表 父主题: 工具管理
-
SPONGE 分子模拟是指利用计算机以原子水平的分子模型来模拟分子结构与行为,进而模拟分子体系的各种物理、化学性质的方法。它是在实验基础上,通过基本原理,构筑起一套模型和算法,从而计算出合理的分子结构与分子行为。SPONGE(Simulation Package tOward Next GEneration)是由北京大学高毅勤教授课题组与华为团队联合开发的新一代分子动力学模拟程序,具有高性能、模块化等特性,是一个完全自主研发的分子模拟软件库。基于高毅勤教授课题组和华为团队的技术支持,已经实现自由能微扰加速10倍以上。测试
-
自由能微扰 自由能微扰基于纯国产分子动力学模拟库SPONGE,产生自动化FEP工作流,端到端计算配体修饰造成的亲和能改变。 单击“自由能微扰”功能卡片,进入上传文件页面。 在上传页面右侧,选择上传受体,上传配体,选择中心配体。 上传受体:受体仅支持PDB格式的文件。 上传配体:配体仅支持SDF、MOL2、PDB格式文件,且只支持3D结构。 选择参考配体:当前自由能微扰支持自动规划路径,选择参考配体后系统自动计算,用户也可自主添加或删除配体对。 图1 上传文件 引用外部桶时,需要确保所引用的数据不超过45层级的目录。 单击“下一步”,选择配体对。 页面显示:正在规划自动路径,您也可以直接选择配体对后进行下一步。 待计算路径:选择待计算的路径。待计算路径起点是中心配体名称,终点是其他配体的名称。在相似度计算完成之前默认未勾选。您也可以添加路径或者重置路径。添加路径和重置路径可以通过单击右边的“添加路径”或者“重置”进行操作。添加路径也可以在左侧微扰图中直接通过两个分子之间进行连线添加。可以在微扰图中单击某条待计算路径上的,删除该条待计算路径。 图2 添加或者删除待计算路径 图3 选择配体对 返回相似度后默认全勾选,您可以进行勾选或去除勾选要计算的路径,如果未勾选,则后面就不会对其进行FEP计算。在相似度返回之前,您也可以直接选择配体对进入下一步。 图4 选择计算路径 单击“下一步”,进入FEP设置页面,设置相关参数。 时间步长:默认值:0.002,取值范围:0.001 ≤ dt ≤ 0.005,单位:ps。分子动力学模拟的步长,建议不超过0.002ps,步长越大,越难收敛。 预平衡时长:默认值:100ps,取值范围:0-200ps。对体系进行预平衡模拟,使体系温度、压强、密度等达到平衡状态。预平衡模拟时长=预平衡步数×时间步长。时长增加,作业运行时间延长。 平衡时长:默认值:1ns,取值范围:0-10ns。平衡阶段的模拟,用于自由能微扰计算。平衡模拟时长=时间步长×平衡步数/1000,单位为ns。时长增加,作业运行时间延长。 λ个数:默认值20,输入范围为2-30。自由能微扰的窗口数量。 名称:可修改,修改后左上角也同步修改。长度为5~64个字符;仅可以使用字母、数字、下划线“_”、中划线“-”和空格;首位只能以数字或字母开头。 标签:设置任务标签。 功能调用消耗:每一对会消耗一次功能调用,因此计算几条路线就显示调用几次。 图5 设置FEP参数 单击“提交”,可在作业中心查看该作业的运行情况。 查看运行结果。 输出每对配体的相对结合自由能、分子图、相似性等。也可以单击右边“查看轨迹”,下载运动轨迹。结果页面支持Pair和Ligand两种查看方式。 也可以下载输出结果文件包含小分子的基本信息和属性。 下载操作将会产生流量费用,具体可参考计费说明。 图6 查看结果(1) 图7 查看结果(2) 图8 查看结果(3) 单击查看全部展示收敛性分析、 RMS F和RMSD结果。 图9 查看结果(4) 单击查看轨迹预览轨迹动图。 图10 查看结果(5) 父主题: 先导化合物优化
-
导入流程 导入流程是将隶属于其他项目中流程导入至本项目中,流程所依托的应用和镜像会同步导入。 使用“导入流程”功能,用户需是其他项目中的成员,且为其他项目的“所有者”或“管理员”。 单击“导入流程”,进入导入流程页面。 图1 导入流程 选择需要引用的项目以及项目中的流程,选择流程的版本。“导入流程名称”是选填项,可以使用原有名称,或自定义。 图2 导入流程 单击“确定”,导入流程。 父主题: 工具管理
-
步骤4:使用AutoGenome Notebook包含了端到端使用AutoGenome的代码,您可以使用Notebook案例复现AutoGenome示例的结果。 以“pbmc_res_vae.ipynb”为例,用户可以打开相应的代码集,直接运行该Notebook,也可以调整代码集中的代码,进行二次开发。 图2 基于Res-VAE和表达谱对单细胞数据降维 使用该Notebook时需要运行相应的代码模块,运行步骤如下所示。 环境配置:加载AutoGenome以及辅助绘图的软件包。 读取配置文件:通过json文件配置输入和输出路径。 模型训练:针对提供的数据和模型参数,AutoGenome会搜索得到最优的神经网络结构。训练过程经过模型搜索阶段和模型训练阶段,在模型搜索阶段,根据json文件中的配置参数,对于选定的模型参数会训练一定步数,搜索得到较好结果的参数进行后续训练。训练过程中可选择在验证数据集上进行评估,评估结果更好的模型参数将会保留。 提取降维之后数据:完成模型训练后,生成降维后的结果数据。 当您在运行AutoGenome示例出现“Warning:restart the kernel and run the notebook again!”时,请单击Notebook工具栏中的按钮,重启Notebook环境,并重新执行出现告警的代码。 您可以在Notebook工作目录中上传数据,使用AutoGenome工具。数据上传下载请参见数据的上传和下载。 对于非挂载目录以外的目录下的文件,重启Notebook后会消失。例如,上传文件至Notebook的根目录下,该文件并不在被挂载的obs路径中,重启Notebook,该文件会消失。 图3 Upload上传数据
-
步骤3:预览AutoGenome案例 打开创建的Notebook。 在Notebook的根目录下的“AutoGenome-Examples”文件夹中,包含使用AutoGenome进行分析的示例,可供参考。 图1 AutoGenome-Examples 表2 AutoGenome示例 示例名称 说明 single_cell_rfcn_densenet.ipynb 基于RFCN-DenseNet和表达谱对单细胞发育时期进行分类。 pbmc_res_vae.ipynb 基于Res-VAE和表达谱对单细胞数据降维。
-
公共资产列表 表1 资产列表 分类 资产名称 说明 镜像 image-stitching 针对TB级3D鼠脑稀疏标记成像数据的全自动拼接软件,减少数据分析50%的错误率,节省20%的时间,助力脑科学研究的效率提升。 AutoGenome AutoGenome为Notebook镜像,是一个利用AutoML等技术帮助科研工作者在基因组学数据上端到端实现深度学习网络搜索,训练,评估,预测和解释的工具包。 数据 人基因组数据 GRch38-reference数据集为人类基因参考基因组,广泛用于人类基因组分析中,如WGS、callvariants 等。数据集总大小约 13GB。 NGS大数据集 NA24385-raw数据集为NGS流程测试数据集,作为该流程的原始输入。数据集总大小约 186.2GB。 NGS小数据集 NA12878-small数据集为NGS流程测试数据集,作为该流程的原始输入。数据集总大小约 216MB。 docking summary测试数据 配体文件:小分子化合物SMILES结构式文件。 受体文件:蛋白3D结构PDB文件。 RNA-Seq测试数据及参考基因组数据集 RNA-Seq-Dataset数据集包含RNA-Seq分析流程的测试数据(fastq)和流程包含软件STAR依赖的参考基因组。 流程 Variant Calling Based On NGS 二代基因组测序即Next Generation Sequencing (NGS)是一种基于边合成边测序的方式。NGS在保持了测序高准确度的同时,大幅的提高了测序速度。目前NGS已经普遍的应用于全基因组测序、全外显子测序、转录组测序、表观遗传学等领域。 该流程以NGS得到的fastq作为输入,通过质控,比对,得到比对后的bam文件,及对fastq和bam文件的质控报告。 Docking Summary 对一组小分子化合物配体和一组蛋白受体进行分子对接,汇总分子对接结果,用于可视化展示。 该流程主要完成的功能包括:整合分子对接结果,生成结合能矩阵、整合受体与分子对接产生的配体构象,进行可视化展示、对配体分子进行注释,包括:DrugBank编号、分类、化学式、X LOG P3、TPSA、靶点、Csp3比例、分子量、可旋转键数目。 RNA-Seq Analysis Based on STAR 二代基因组测序即Next Generation Sequencing (NGS)是一种基于边合成边测序的方式。NGS在保持了测序高准确度的同时,大幅的提高了测序速度。目前NGS已经普遍的应用于全基因组测序、全外显子测序、转录组测序和表观遗传学等领域。 该流程以NGS得到的fastq作为输入,通过质控,比对等步骤,输出针对fastq的qc报告,输出STAR比对得到的bam文件。 MetaGenome Kraken2 pipeline 宏基因组 ( Metagenome)(也称微生物环境基因组Microbial Environmental Genome,或元基因组)是由 Handelsman 等1998年提出的新名词,其定义为“the genomes of the total microbiota found in nature”,即环境中全部微小生物遗传物质的总和。它包含了可培养的和未可培养的微生物的基因,目前主要指环境样品中的细菌和真菌的基因组总和。宏基因组学(或元基因组学,metagenomics)是一种以环境样品中的微生物群体基因组为研究对象,以功能基因筛选和/或测序分析为研究手段,以微生物多样性、种群结构、进化关系、功能活性、相互协作关系及与环境之间的关系为研究目的的新的微生物研究方法。一般包括从环境样品中提取基因组DNA, 进行高通量测序分析,或克隆DNA到合适的载体,导入宿主菌体,筛选目的转化子等工作。 该流程主要基于Kraken2构建,跟进数据库进行物种注释。 RNA Cufflinks transcriptome analysis process 二代基因组测序即Next Generation Sequencing (NGS)是一种基于边合成边测序的方式。NGS在保持了测序高准确度的同时,大幅的提高了测序速度。目前NGS已经普遍的应用于全基因组测序、全外显子测序、转录组测序和表观遗传学等领域。 该流程以NGS得到的SRA文件作为输入,通过拆分reads、fastqc质控、tophat2比对,然后 Cufflinks 利用Tophat比对的结果(alignments)来组装转录本,估计这些转录本的丰度,并且检测样本间的差异表达及可变剪接。 RNA Hisat2-Stringtie analysis process 二代基因组测序即Next Generation Sequencing (NGS)是一种基于边合成边测序的方式。NGS在保持了测序高准确度的同时,大幅的提高了测序速度。目前NGS已经普遍的应用于全基因组测序、全外显子测序、转录组测序和表观遗传学等领域。 该流程以NGS得到的fast.gz文件作为输入,流程去接头、比对、转录组表达定量等步骤。 Human NGS data CNV detection 部分癌症患者会出现基因的大片段增删突变,甚至染色体水平上的缺失或扩增性突变,因此Copy Number Variation(CNV)可以作为检测是否患癌的指标。本流程使用患者的NGS测序数据,进行CNV变异筛查,进而判断取样者是否有患癌风险。 该流程以CNVkit为核心,基于输入的fastq,以hg38人基因组数据生成的参考基因拷贝数分布为参考基线,能够自动的完成输入数据的比对排序,以及拷贝数分布计算,并输出可视化图表以供查看。
-
添加项目成员 前提条件 平台管理员首先通过“用户管理”功能添加平台用户,才能将该用户添加至项目中。 创建用户的详细方法请参见创建平台用户。 存在一个创建好的项目。 操作步骤 添加项目成员有两种不同的方法,请任选其中一种方法操作。 方法一 单击项目名称,进入项目“设置”页。 单击“添加”,添加成员。 图1 添加成员 输入已添加至平台的用户的全称。 图2 输入用户名全称 单击“添加”,设置用户角色。详细成员角色介绍请参见表1。 图3 设置成员角色 单击“确认”,将用户添加至项目中。 方法二 在项目列表中,单击“操作”列“分享”。 图4 分享项目 输入已添加至平台的用户的全称。 图5 输入用户名全称 单击“添加”,设置用户角色。详细成员角色介绍请参见表1。 图6 设置成员角色 单击“确认”,将用户添加至项目中。
-
引用数据 将其他项目或OBS桶中的数据,引用到本项目,不可在本项目中操作该数据。 单击数据中心右上角“引用”。 选择需要引用的项目以及项目中的数据,或者选择待引用的OBS桶路径,先选择OBS桶所在区域,再选择OBS桶名称,支持选择不在同一区域的OBS桶。 图3 引用数据 单击“确定”,引用其他项目中的数据至本项目。 引用的数据和项目将显示在左侧的数据列表中。 图4 引用的数据 引用OBS类型数据时,如果数据在OBS中的存储类型为“归档存储”,则将该数据引用过来后,该数据不能用于创建作业,并不可下载。 平台系统管理员在自己的所有者、管理员、操作者项目可以引用OBS类型数据。平台系统管理员在自己的所有者、管理员、操作者项目可以解除引用OBS类型数据。其他角色的用户仅能使用引用进来的OBS类型数据。
-
镜像导入 镜像按照项目进行划分和管理,隶属于不同项目的镜像可以使用“镜像导入”,导入到本项目中,进行使用。 使用“镜像导入”功能,用户需是其他项目中的成员,且为其他项目的“所有者”或“管理员”。 单击项目名称,进入所选项目,并选择“镜像”,进入镜像管理页面。 单击“镜像导入”。并选择镜像所在的项目、镜像和镜像版本。 图1 镜像导入 单击“确定”,完成镜像导入。 从其他项目导入的镜像,在镜像列表“源项目”列中,显示所属的项目。
-
清理历史命令 为防止配置文件中的敏感信息泄露,建议使用health config clear命令定时清除本地配置文件。 对于执行的历史命令,可通过以下方法清除。 Linux:执行history -c命令清除历史记录,重新登录命令行工具后,记录可恢复。执行rm -f $HOME/.bash_history命令,可删除记录文件,清空历史。 macOS系统:执行ps -p $$命令检查shell类型。 类型为bash:操作与Linux系统相同。 类型为zsh:执行history -p命令清除历史记录,重新登录命令行工具后,记录可恢复。执行rm -rf ~/.zsh_history命令,退出终端后再次执行history -p命令可删除记录文件,清空历史。 Windows系统:对于当前执行的命令,可通过关闭cmd窗口实现历史命令的清理。
-
步骤1:下载eihealth-toolkit 针对不同操作系统,eihealth-toolkit下载地址如下所示。 表1 下载列表 支持平台 下载地址 Windows 64位 health-windows-x86_64.zip、health-windows-x86_64.zip.sha256 Linux ARM 64位 health-linux-aarch64.tar、health-linux-aarch64.tar.sha256 Linux AMD 64位 health-linux-x86_64.tar、health-linux-x86_64.tar.sha256 macOS health-macOS-x86_64.tar、health-macOS-x86_64.tar.sha256 本页面命令行工具下载后,在使用时,需用到您 注册华为账号 并开通华为云时提供的用户名等信息,用于登录并操作EIHealth平台的项目、数据等资产。这些信息的处理将遵循您已接收的《华为云用户协议》及《隐私政策声明》约束。
-
步骤2:安装eihealth-toolkit 本示例中以Windows系统为例,介绍安装命令行工具的方法。 下载Windows版本的客户端,得到health.exe文件,health文件无需安装,放置在任一文件夹中即可。 图1 下载命令行工具 使用win键+R,输入cmd打开windows的cmd窗口。进入工具所在的目录,输入health命令,即可使用。 如果cmd窗口显示目录不是health文件所在目录,请使用cd命令切换路径。例如,切换至D盘: cd /d d: 图2 客户端 使用Linux版本命令行工具时,您需要在本地搭建Linux环境,并将下载的health文件放置所需的目录下,例如: 如果当前目录为health所在目录,可以使用./health命令执行命令行工具。 如果当前目录不是health所在目录,需要使用绝对路径。如当前目录为/opt,假设health存放在/root/health-toolkit/下,需要指定/root/health-toolkit/health路径进行使用。 如果无法运行,使用chmod 755 health命令设置执行权限。
-
步骤3:初始化配置 在使用命令行工具前,需要初始化配置信息,通过config命令对eihealth-toolkit进行初始化配置。本节以Windows为例介绍配置过程,Linux和macOS环境配置过程相同。 命令结构 执行health config add命令配置AK、SK、region、platform-id信息,获取方法请参见获取认证信息。 health config add [flags] 表2 参数说明 参数 简写 是否必选 说明 --domain-name -d 是 与管理员(购买平台的账户)的账号名一致。 --user-name -u 是 子用户的用户名。 管理员(购买平台的账户)登录时,user-name和domain-name一致。 --password -w 是 密码。 --ak -a 是 AK(Access Key ID):访问密钥ID。 --sk -s 是 SK(Secret Access Key):与访问密钥ID结合使用的密钥。 --region -r 是 服务区 域名 称。 --platform-id -i 是 平台ID,获取方法请参见获取认证信息。 --iam-endpoint -m 否 IAM 终端节点名称,请在地区与终端节点中获取。 --health-endpoint -e 否 EIHealth终端节点名称,请在地区与终端节点中获取。 --swr-endpoint -t 否 SWR镜像仓库地址。 获取方式: 登录 容器镜像服务 管理控制台。 单击界面右侧“登录指令”,获取内网登录指令末尾的SWR镜像仓库地址。例如100.78.15.50:20202。 --log-path -l 否 日志路径,不填写时默认为命令行工具当前路径下healthcli.log文件。 路径设置格式: Windows系统为“路径\文件名”。 Linux系统格式为“路径/文件名”。 --http-proxy -p 否 HTTP代理配置,格式为“http://username:password@your-proxy:your-port”。 --obs-endpoint -o 否 OBS终端节点名称,请在地区与终端节点中获取。 --obs-install-path -q 否 设置obsutil安装路径,默认安装在当前运行目录。 设置时,该路径必须为obsutil运行文件名,如/home/path/obsutil、/home/path/obsutil-1.1.1 --obs_down_load_url -D 否 obsutil下载链接,obsutil将下载到obs-install-path上。 参数有改动时才会触发下载。 下载链接的内容可以是zip、tar.gz文件、二进制文件,如果是压缩文件,文件夹内的obsutil必须命名为obsutil(和obsutil官方链接保持一致)。 --force -f 否 强制操作。如果下载obsutil时,指定的obs-install-path上已经有同名文件,不带-f时会提示用户,带上-f会直接覆盖原文件。 命令示例 health config add -d xxx -u xxx -w xxx -i xxx -r cn-north-4 -o obs.cn-north-4.myhuaweicloud.com -a xxx -s xxx -D https://obs-wwx-2022.obs.cn-north-4.myhuaweicloud.com/obsuti-windows/obsutil.exe -q obsutil-linux/obsutil.exe –f -m xxx -e xxx -t xxx # 执行成功返回结果如下 add ak successfully! add sk successfully! add region successfully! add platform-id successfully! add user-name successfully! add password successfully! add domain-name successfully! add obs-endpoint successfully! add obs_install_path successfully! add obs_down_load_url successfully! add iam-endpoint successfully! add health-endpoint successfully! add swr-endpoint successfully! 图3 命令示例 执行以上命令行,会在系统所在的用户目录下自动生成一个.health文件夹,文件夹中包含config.ini配置文件,用于存储任务执行所涉及到的配置,如密钥、区域、当前项目等信息。 生成的配置文件不建议直接修改,如需改动请使用命令行工具修改。 配置文件中保存有用户的AK、SK信息,为了避免密钥泄露,会对文件中的SK进行加密以保护密钥安全。 清空配置请执行health config clear命令。
-
作业管理简介 在作业中心页面,可以创建分子对接、分子优化、自由能微扰、合成路径规划功能的作业。 在“作业中心”页面,以列表形式展示了项目中作业的运行状态。您可以查看作业的名称、创建时间、运行状态、总时长、运行时长、已运行时间、预计还需时间。对于列表中的作业,支持通过作业名称、状态、类型、标签、创建时间和完成时间进行快速搜索。也可以根据创建时间顺序、总时间顺序、总时长顺序、完成时间顺序等进行排序。 图1 作业中心 父主题: 作业管理
-
合成路径规划 合成路径规划基于盘古药物分子大模型,根据给定的目标分子,可以设计出完整且合理的合成路径。 单击“合成路径规划”功能卡片,进入配置页面。 在配置页面,可以在左侧绘制分子,也可以通过上传分子文件方式上传分子或者在白框内输入小分子SMILES表达式。 上传分子文件:支持SDF、MOL2、PDB、SMI格式文件。 最大搜索路径个数:合成路径规划的路径数量。路径数量增加,将展示更多的合理合成路径;路径数量减少,可能会有部分合理路径未展示。默认值50,取值范围1-50。 最大搜索深度:深度增加,每一个路径可进行搜索的深度限制增加,作业运行时间可能延长;深度减少,部分路径可能在还未搜索完成时被终止。默认值5,取值范围3-12。 最大搜索时间:合成路径规划的搜索时间限制,到达限制时间会返回已经搜索完成的路径。搜索时间增加,作业运行时间延长;搜索时间减少,可能会有部分合理路径未能开始搜索。默认值30min,取值范围5-60。 每个产物最大反应数量:合成路径中每一个中间产物最多有多少种可能的反应,按照反应置信度从高到低排序。最大反应数量增加,每个中间产物的可搜索反应范围数量增加,作业运行时间延长;最大反应数量减少,可能会有部分合理反应未能纳入搜索。默认20,取值范围2-20。 作业名称:可修改,修改后左上角也同步修改。长度为5~64个字符;仅可以使用字母、数字、下划线“_”、中划线“-”和空格;首位只能以数字或字母开头。 标签:设置作业标签。 功能调用次数:合成路径规划目前是一个运行成功得作业消耗一次功能调用次数。 图1 分子合成路径 引用外部桶时,需要确保所引用的数据不超过45层级的目录。 单击“提交”。可在作业中心查看该作业的运行情况。 运行完成后,可在作业中心单击该作业查看输出结果,输出结果缩略图。 图2 查看运行结果(1) 单击查看路径,查看输出结果详情。 可以单击左上角“下载”,下载当前的输出结果。 下载操作将会产生流量费用,具体可参考计费说明。 图3 查看运行结果(2) 父主题: 先导化合物优化
-
操作步骤 登录华为云管理控制台,鼠标指向页面右上角的用户名,在下拉列表中单击“我的凭证”。 图1 我的凭证入口 在“我的凭证”页面中选择“访问密钥”页签。单击“新增访问密钥”,按操作指引获取认证账号的AK/SK,请妥善保管AK/SK信息。 图2 访问密钥 每个用户仅允许新增两个访问密钥。 为保证访问密钥的安全,访问密钥仅在初次生成时自动下载,后续不可再次通过管理控制台页面获取。请在生成后妥善保管。
-
用户管理介绍 EIHealth平台支持两种类型的用户管理,可以帮助您安全地控制平台的访问和使用权限。 表1 用户管理类型 类型 说明 系统级别用户管理 系统级的角色配置,可创建平台的子用户,并为其分配权限。 项目级别用户管理 资源级的角色配置,以项目为粒度对数据、分析作业、开发环境和镜像进行分组,以便用户通过项目进行资源的访问、共享和协作。详细介绍请参见项目管理,项目级用户不同角色对应的权限请参考成员角色和权限。 图1 系统级别用户管理 图2 项目级别用户管理 购买平台的账号是资源的归属以及使用计费的主体,对其所拥有的资源具有完全控制权限。 在您购买了平台后,所属账户即为平台的管理员账户。可以使用“用户管理”功能,创建子用户,并给子用户分配管理员或操作员权限。不同用户权限如表 用户权限所示。 表2 用户权限 用户角色 权限说明 管理员 拥有平台所有的权限,并进行用户管理,在平台添加子用户,以及对资源管理权限,包含有存储计算资源的购买和删除,自动扩缩容的策略配置权限。 操作员 拥有除用户管理、系统设置、设置商标、购买系统资源之外的所有权限。 购买平台的账户为管理员账户,该账户不可被删除。 管理员可以创建子用户,并将子用户授权为管理员。子管理员同样具备“用户管理”功能。 对于系统级别的管理员用户(购买平台的账户),可以在平台右上角用户名中选择“用户管理”,在“操作”列中选择“安全设置”,重置其他用户的邮箱、手机和密码信息。 单击“重置邮箱”后,可以选择清除邮箱或绑定新邮箱。 单击“重置手机号”后,可以选择清除手机号或绑定新手机号。 单击“重置密码”后,输入新密码和确认密码。用户密码重置成功后,首次登录成功需要再次修改密码。 父主题: 用户管理
-
创建药物虚拟筛选任务 虚拟药物筛选支持使用资产市场中预置的“Docking Summary”流程对小分子化合物配体和蛋白受体进行对接。该流程可以实现以下功能。 整合分子对接结果,生成结合能矩阵。 整合受体与分子对接产生的配体构象,用于可视化展示。 对配体分子进行注释,包括DrugBank编号、分类、化学式、XLOGP3、TPSA、靶点、Csp3比例、分子量、可旋转键数目。 使用步骤如下所示。 在“资产市场”中订阅版本为1.0.0“Docking Summary”流程至所需的项目中。 进入“专题”页签,单击“新建研究”。 填写任务的基本信息,包括选择任务所属项目,研究的名称和描述。 图1 基本信息 选择配体分子和受体蛋白。 作业名称:自定义名称。 类型:选择小分子化合物。 流程:选择从资产市场中订阅的“Docking Summary”流程。 配体分子:配体分子文件,支持SMILES、3D SDF、PDB、MOL2格式。 受体蛋白:受体蛋白文件,支持PDB格式。 图2 选择配体分子和受体蛋白 设置数据库。 数据库功能可以将任务运行过程中产生的数据文件按照模板生成数据库。 数据库名称:数据库的名称。 输出文件格式:可以将流程生成的分子对接结果,保存为.txt、.csv或.vcf格式。使用“Docking Summary”流程时,保存格式为.txt。 相对路径:流程运行完成后,会按照流程子任务的名称生成数据文件,相对路径指按照哪个数据路径中的结果文件生成数据库。 对于“Docking Summary”流程,包含5个子任务,默认在task-5-docking summary中保存有汇总的数据文件。 task-1-ligand 3dsdf to pdbqt:将配体的sdf文件转换为pdbqt文件。 task-2-ligand smiles to 3dsdf:将配体的smiles文件转换为3dsdf文件。 task-3-receptor pdb to pdbqt:将受体的pdb文件转换为pdbqt文件。 task-4-qvina-w:分子对接。 task-5-docking summary:汇总分子对接结果。 图3 数据路径和流程图 图4 设置数据库 设置完成后,单击“提交”,执行药物虚拟筛选任务。 对于“运行中”的任务,单击图标,允许取消、强制停止或删除。 对于“已取消”、“运行失败”的任务,单击图标,允许修改任务参数,再次提交任务。 图5 运行状态
-
场景6 作业投递后运行失败,日志显示File name too long。 图12 运行出错的应用日志 排查思路 检查输入文件的路径单级名称长度是否超过255个字符。若单级名称长度未超过255个字符请联系技术支持。 解决方案 单级目录名称长度超过255个字符。 不使用SFS或者EVS加速。 若必须进行IO加速,则更改输入文件的路径为单级目录名称不超过255字符的路径。 若单级名称长度未超过255个字符请联系技术支持。
-
场景7 同时复制多个文件,日志中显示cp: will not create hard link相关错误信息 图13 输入输出参数信息 图14 应用信息 图15 失败日志信息 排查思路 检查作业是否存在文件或目录类型的输入参数,并且未开启并发,同时改输入参数还填入了多个值,并且路径存在包含关系,如上图所示。 假定镜像命令为cp -rf ${input} ${output},变量替换后实际执行命令为cp -rf /test/sub /test /output,此时会触发cp: will not create hard link的错误。若不符合上述场景,请联系技术支持。 解决方案 首先排查业务场景是否需要涉及并发,若涉及,请前往应用详情页面开启并发选项即可,则不会出现本问题场景。 图16 开启并发 若不涉及并发,则优先排查镜像启动命令设置是否合理、是否确实需要复制路径存在包含关系的多个文件或目录。若不存在相关场景,根据实际业务需求,修改镜像启动命令即可。 若确实存在路径需要包含多个文件或目录,可参考如下方案解决。 以下图为例,首先调整应用的输入参数为input-a和input-b,分别表示两个路径存在包含关系的目录(/test/sub和/test )。 然后修改应用的镜像启动命令如下即可。 cp -rf ${input-a} ${output}; cp -rf ${input-b} ${output}; # 变量替换后实际执行命令会是 cp -rf /test/sub /output; cp -rf /test /output;
-
场景2 作业投递后处于运行中,但是无日志打印,也没有任何符合预期的输出文件生成。 排查思路 首先需要用户自行确认一下投递的作业是否会在控制台打印日志,如果是有重定向日志输出到具体文件的话,此处无日志为正常现象。 子任务的事件中,确认作业子任务的实例是否有正常创建。 图2 子任务的事件 查看实例的事件,查看实例是否有正常创建。 图3 实例的事件 解决方法 若子任务未正常创建,请联系服务技术支持解决。 若子任务正常创建,但是实例未正常创建,可以通过事件信息分析,常见有以下问题场景和对应解决方案。 0/4 nodes are available: XXX Insufficient cpu 或者 XXX Insufficient memory。该场景表示当前集群中无充足的计算资源,可以根据实际需要提前结束掉其他作业或notebook来释放资源,也可以进入系统资源页面购买新节点。 0/4 nodes are available: XXX node(s) didn't match node selector。该场景表示当前集群中无计算资源满足标签要求,用户可以进入系统资源页面,选择节点,通过标签管理给节点添加标签。 其他场景可以联系服务技术支持解决。
-
场景5 并发投递多个作业后,部分作业运行失败,日志中显示IO读写相关错误。 图8 运行出错的应用日志 排查思路 检查同一时刻投递作业的输出路径是否存在重复。若存在重复,则很有可能是并发写入同一个文件导致的异常,若不存在请联系服务技术支持解决。 解决方案 平台提供了作业级输出路径,流程级输出路径,子任务级输出路径用于做不同层级的文件隔离。如下图所示,如果三者填写的路径相同,请修改输出路径后重试,如果填写的不同,请联系服务技术支持解决。当三者均不填写时,平台会自动生成随机路径。 图9 作业级输出路径 图10 流程级输出路径 图11 子任务级输出路径
共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
推荐文章