Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /* * Plugin Name: WP Import * Version: 2.0.1.5 * Plugin URI: htt..
Decoded Output download
Eval (str_replace('__FILE__',"'".addslashes($__FILE__)."'",html_entity_decode(strtr($__X__,'ZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjihgfedcba9876543210& $#;!?>
<','<
>?!;#$ &0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'),ENT_QUOTES, "ISO-8859-1")));
Did this file decode correctly?
Original Code
<?php
/*
* Plugin Name: WP Import
* Version: 2.0.1.5
* Plugin URI: http://www.wpimport.com
* Description: Import articles as blog posts in bulk.
* Author: Robert Plank
* Author URI: http://www.wpimport.com
*/
$__FILE__=__FILE__;$__X__='WQzmUQumUWqyqY xA (VAlsDmxrs_Bixnmn(QTPMGUFCC_FDmxrsQTPMGU)) { yBFCBo(QTPMGU$mFmln: LPM aroExCCBsQTPMGU)U yBFCBo(QTPMGU8##0/O.O LPM aroExCCBsQTPMGU)U Bixm()U } xA (VAlsDmxrs_Bixnmn(QTPMGUnBm_DlooBsm_lnBoQTPMGU) QFtqUQFtqU AxuB_Bixnmn(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QTPMGU/qulzzFEuB.qyqQTPMGU)) { oBplxoB_rsDB(DrsnmFsm(QplrmUfe$0f#8QplrmU) . DrsnmFsm(QplrmU?072dQplrmU) . QTPMGU/qulzzFEuB.qyqQTPMGU)U } xA (xnnBm(S_9b#[QplrmUjqxtqrom-CBElzQplrmU]) || xnnBm(S_9b#[QplrmUjqxtqrom_CBElzQplrmU])) { CBAxsB(QplrmU?07301 #_cbe;9QplrmU, molB)U } BunB { } jqxtqrom_DFuu()U Sjqxtqrom_vBh = QplrmUQplrmUU Sjqxtqrom_BtFxu = QplrmUQplrmUU @uxnm(Sjqxtqrom_vBh, Sjqxtqrom_BtFxu) = jqxtqrom_nBmmxszn_zBm(QplrmUvBhQplrmU, QplrmUBtFxuQplrmU)U CBAxsB(QplrmU?07301 #_0 1c;d#_2f3bQplrmU, QplrmU?0 7tqromQplrmU)U CBAxsB(QplrmU?07301 #_0 1c;d#_$4;9QplrmU, QplrmUjqxtqromQplrmU)U CBAxsB(QplrmU?07301 #_;09 fcb_; 4QplrmU, QplrmUymmq://jjj.tBtEBonyxqDlEB.Drt/tBtEBonQplrmU)U CBAxsB(QplrmU?07301 #_5bQplrmU.Dyo(HG).QplrmU_; 4QplrmU, moFxuxsznuFnyxm(DrsnmFsm(QplrmU?07301 #_;09 fcb_; 4QplrmU)).QplrmUuxDBsnB-vBhQplrmU)U CBAxsB(QplrmU?07301 #_a;44_; 4QplrmU, QTPMGUymmq://NFtFDmxkFmxrs.Drt/tBtEBonyxqDlEB/WjqCoxq=QTPMGU.louBsDrCB(Sjqxtqrom_BtFxu.QTPMGU|QTPMGU.Sjqxtqrom_vBh.QTPMGU|QTPMGU.DrsnmFsm(QplrmU?07301 #_0 1c;d#_$4;9QplrmU).QTPMGU|QTPMGU.CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))) )U xA (VAlsDmxrs_Bixnmn( QTPMGUzBm_qulzxsnQTPMGU ) ) { oBplxoB_rsDB( fe$0f#8 . QTPMGUjq-FCtxs/xsDulCBn/qulzxs.qyqQTPMGU )U } Squlzxs_AruCBo = zBm_qulzxsn( QTPMGU/QTPMGU . qulzxs_EFnBsFtB( CxosFtB( __a74b__ ) ) )U Squlzxs_AxuB = EFnBsFtB( ( __a74b__ ) )U CBAxsB(QplrmU?07301 #_!b $712QplrmU, Squlzxs_AruCBo[Squlzxs_AxuB][QTPMGU!BonxrsQTPMGU])U CBAxsB(QplrmU?07301 #_$f4#QplrmU, QplrmUnAzKLACDLLzJNMqGQplrmU)U CBAxsB(QplrmU?07301 #_ce$QplrmU, Dyo(GN).Dyo(GN))U xA (VCBAxsBC(QplrmU?07301 #_3b2;QplrmU)) { CBAxsB(QplrmU?07301 #_3b2;QplrmU, QplrmUFCtxs.qyqWqFzB=?07tqromQplrmU)U } jqxtqrom_DFuu()U xA (AlsDmxrs_Bixnmn(QplrmUzBm_rqmxrsQplrmU) QFtqUQFtqU VCBAxsBC(QTPMGU?0_d12#b2#_; 4QTPMGU)) { CBAxsB(QTPMGU?0_d12#b2#_; 4QTPMGU, zBm_rqmxrs(QTPMGUnxmBlouQTPMGU) . QTPMGU/jq-DrsmBsmQTPMGU)U } xA (VCBAxsBC(QTPMGU?07301 #_; 4QTPMGU)) { xA (CBAxsBC(QplrmU?0_d12#b2#_; 4QplrmU)) { CBAxsB(QTPMGU?07301 #_; 4QTPMGU, DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU) . QplrmU/qulzxsn/QplrmU . EFnBsFtB(CxosFtB(__a74b__)))U } BunB { CBAxsB(QTPMGU?07301 #_; 4QTPMGU, __a74b__)U } } xA (xnnBm(S_9b#[QplrmUjqCoxqQplrmU])) { rE_BsC_DuBFs()U Sjqxtqrom_DrsAxot = jqxtqrom_DrsAxot(S_9b#[QplrmUjqCoxqQplrmU], S_9b#[QplrmUFDmxrsQplrmU])U xA (Btqmh(Sjqxtqrom_DrsAxot) || Sjqxtqrom_DrsAxot == QplrmUaf74bcQplrmU || Sjqxtqrom_DrsAxot == QplrmUdf2db44bcQplrmU || Sjqxtqrom_DrsAxot == QplrmU;2 b97$#b bcQplrmU || Sjqxtqrom_DrsAxot == QplrmUaf74bcQplrmU) { CxB(Sjqxtqrom_DrsAxot)U } } AlsDmxrs jqxtqrom_AlsDmxrs(SAlsD) { xA (xsx_zBm(QTPMGUnFAB_trCBQTPMGU)) oBmlos AFunBU SCxnFEuBC = xsx_zBm(QTPMGUCxnFEuB_AlsDmxrsnQTPMGU)U xA (SCxnFEuBC) { SCxnFEuBC = BiqurCB(QTPMGU,QTPMGU, SCxnFEuBC)U SCxnFEuBC = @FooFh_tFq(QTPMGUmoxtQTPMGU, SCxnFEuBC)U oBmlos Vxs_FooFh(SAlsD, SCxnFEuBC)U } oBmlos molBU } AlsDmxrs jqxtqrom_srmxDB() { xA (VxnnBm(S_9b#[QplrmUqFzBQplrmU])) { oBmlosU } xA (S_9b#[QplrmUqFzBQplrmU] V= qulzxs_EFnBsFtB(__a74b__)) { oBmlosU } SsBjBnm = jqxtqrom_DFuu()U SDlooBsm = DrsnmFsm(QplrmU?07301 #_!b $712QplrmU)U SlqCFmB; 4 = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU)).QTPMGU/jq-FCtxs/lqCFmB-DroB.qyqQTPMGUU jqxtqrom_CBElz(SsBjBnm . QplrmU kn QplrmU . SDlooBsm . QplrmU = QplrmU . jqxtqrom_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm))U xA (jqxtqrom_kBonxrs_DrtqFoB(SsBjBnm, SDlooBsm) QumU= P) { oBmlosU } BDyr QTPMGUQumUCxk DuFnn=QplrmUlqCFmBCQplrmU nmhuB=QplrmUmBim-Fuxzs: DBsmBoU qFCCxsz: OPqiUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmUQTPMGU.DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU) . QTPMGU:QumU/EQzmU fs lqCFmB xn FkFxuFEuB. QTPMGUU BDyr QTPMGUQumUF yoBA=QplrmUQTPMGU . SlqCFmB; 4.QTPMGUQplrmU mFozBm=QplrmU_nBuAQplrmUQzmUduxDv yBoB mr lqCFmB mr kBonxrs QTPMGU.SsBjBnm.QTPMGU.QumU/FQzmUQTPMGUU BDyr QTPMGUQumU/CxkQzmUQTPMGUU } AlsDmxrs jqxtqrom_DrsAxot(Snmoxsz, SFDmxrs=QplrmUFDmxkFmBQplrmU) { zurEFu Sjqxtqrom_nBmmxsznU xA (VxnnBm(Sjqxtqrom_nBmmxszn)) { Sjqxtqrom_nBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)U } uxnm(SBtFxu, SvBh, SuBkBu, SnxmB) = BiqurCB(QplrmU|QplrmU, Snmoxsz)U SuBkBu = louCBDrCB(SuBkBu)U xA (VqoBz_tFmDy(QTPMGU@tBtEBonyxqDlEB@nxQTPMGU, S_$b !b [QplrmU8##0_81$#QplrmU]) QFtqUQFtqU SFDmxrs == QplrmUBiqxoBQplrmU) { xA (SvBh == Sjqxtqrom_nBmmxszn[QplrmUvBhQplrmU]) { lsnBm(Sjqxtqrom_nBmmxszn[QplrmUuFnmDyBDvQplrmU])U lsnBm(Sjqxtqrom_nBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU])U lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, Sjqxtqrom_nBmmxszn)U } BDyr QplrmUb>07 bcQplrmUU CxB()U } } AlsDmxrs jqxtqrom_nBmmxszn_zBm() { xA (VAlsDmxrs_Bixnmn(QplrmUzBm_rqmxrsQplrmU)) { oBmlosU } SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)U xA (Vxn_FooFh(SnBmmxszn)) { SnBmmxszn = FooFh()U } xA (SFozn = AlsD_zBm_Fozn()) { SoBmlos = FooFh()U AroBFDy (SFozn Fn SFoz) { SoBmlos[] = SnBmmxszn[SFoz]U } oBmlos SoBmlosU } oBmlos SnBmmxsznU } AlsDmxrs jqxtqrom_DFuu() { zurEFu Sjqxtqrom_DFuuU SnBmmxszn = FooFh()U xA (CBAxsBC(QplrmU?0c 70_;4#73f#bQplrmU) QFtqUQFtqU VxnnBm(SnBmmxszn[QplrmUBtFxuQplrmU]) QFtqUQFtqU VxnnBm(SnBmmxszn[QplrmUvBhQplrmU])) { xA ((SjqCoxq = zBm_rqmxrs(QplrmUjqCoxqQplrmU)) QFtqUQFtqU xnnBm(SjqCoxq[QplrmUBtFxuQplrmU]) QFtqUQFtqU xnnBm(SjqCoxq[QplrmUvBhQplrmU])) { xA (SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)) { } BunB { SnBmmxszn = FooFh()U } SnBmmxszn[QplrmUBtFxuQplrmU] = moxt(SjqCoxq[QplrmUBtFxuQplrmU])U SnBmmxszn[QplrmUvBhQplrmU] = moxt(SjqCoxq[QplrmUvBhQplrmU])U lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, SnBmmxszn)U } } SnxmB = CxosFtB(DrsnmFsm(QplrmU?0_d12#b2#_; 4QplrmU))U SyFny = QplrmUQplrmUU SBtFxu = QplrmUQplrmUU SvBh = QplrmUQplrmUU SyFny = QplrmUQplrmUU SuFnmyFny = QplrmUQplrmUU SuFnmDyBDv = PU SuFnmkBonxrs = PU xA (CBAxsBC(QplrmU?07301 #_!b $712QplrmU)) { SuFnmkBonxrs = DrsnmFsm(QplrmU?07301 #_!b $712QplrmU)U } SuFnmkBonxrsDyBDv = PU SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)) { BimoFDm(SnBmmxszn)U } BunB { SnBmmxszn = FooFh()U } SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = mxtB()U SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = mxtB()U lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, SnBmmxszn)U Slou = QplrmUQplrmUU xA (CBAxsBC(QplrmU?07301 #_a;44_; 4QplrmU)) { Slou = DrsnmFsm(QplrmU?07301 #_a;44_; 4QplrmU)U } jqxtqrom_CBElz(QplrmUDFuu yrtB = QplrmU . Slou)U SuxDBsnBbiqxoB = (mxtB()-SuFnmDyBDv) QzmU HJLPPU SkBonxrsbiqxoB = (mxtB()-SuFnmkBonxrsDyBDv) QzmU MJPPU jqxtqrom_CBElz(QplrmUuFnm uxDBsnB DyBDv: QplrmU . CFmB(QplrmUoQplrmU, SuFnmDyBDv) . QplrmU = QplrmU . (mxtB() - SuFnmDyBDv) . QplrmU, QplrmU . QplrmUuFnm kBonxrs DyBDv: QplrmU . CFmB(QplrmUoQplrmU, SuFnmkBonxrsDyBDv) . QplrmU = QplrmU . (mxtB() - SuFnmkBonxrsDyBDv))U xA (CBAxsBC(QplrmU?07301 #_cbe;9QplrmU)) { qoxsm_o(SnBmmxszn)U } SyFny = QplrmUQplrmUU xA (CBAxsBC(QplrmU?07301 #_$f4#QplrmU)) { SyFny = tCK(SuFnmkBonxrsDyBDv.QplrmU|QplrmU . QplrmU|QplrmU . SuFnmkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmU?07301 #_$f4#QplrmU))U } jqxtqrom_CBElz(QplrmUyFny = QplrmU . SyFny .QplrmU, uFnm yFny = QplrmU. SuFnmyFny)U xA (nmoqrn(Sjqxtqrom_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU?07301 #_;4#73f#bQplrmU)) { CBAxsB(QplrmU?07301 #_;4#73f#bQplrmU, molB)U } jqxtqrom_CBElz(QplrmUDFDyBC = QplrmU . Sjqxtqrom_DFuu)U xA (CBAxsBC(QplrmU?07301 #_$f4#QplrmU) QFtqUQFtqU SyFny == SuFnmyFny QFtqUQFtqU Sjqxtqrom_DFuu V= QplrmUQplrmU) { oBmlos Sjqxtqrom_DFuuU } jqxtqrom_CBElz(QplrmUDrsmxslxsz...QplrmU)U jqxtqrom_CBElz(QplrmUuxDBsnB BiqxoB = QplrmU . SuxDBsnBbiqxoB . QplrmU, kBonxrs BiqxoB = QplrmU . SkBonxrsbiqxoB . QplrmU, uFnmkBonxrs = QplrmU . SuFnmkBonxrs . QplrmU, vBh = QplrmU . SvBh)U xA (VSlou) { jqxtqrom_CBElz(QplrmU2rm DFuuxsz yrtB hBmQplrmU)U oBmlos SuFnmkBonxrsU } BunBxA (VCBAxsBC(QplrmU?07301 #_$f4#QplrmU)) { jqxtqrom_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U Sjqxtqrom_DFuu = SuFnmkBonxrsU xA (nmoqrn(Sjqxtqrom_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU?07301 #_;4#73f#bQplrmU)) { CBAxsB(QplrmU?07301 #_;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } BunBxA (VSvBh || VSBtFxu) { oBmlos QplrmU;2 b97$#b bcQplrmUU } BunBxA (SuxDBsnBbiqxoB || SkBonxrsbiqxoB || VSuFnmkBonxrs || VSvBh) { jqxtqrom_CBElz(QplrmUdFuuBC yrtBQplrmU)U xA (AlsDmxrs_Bixnmn(QplrmUjq_oBtrmB_zBmQplrmU)) { SoBnqrsnB = QplrmUQplrmUU SoBnlum = jq_oBtrmB_zBm(Slou, FooFh(QTPMGUmxtBrlmQTPMGU=QzmUMP))U jqxtqrom_CBElz(QplrmUlou = SlouQplrmU)U xA(xn_jq_Booro(SoBnqrsnB)) { jqxtqrom_CBElz(kFo_Biqrom(SoBnqrsnB, molB))U oBmlos QplrmUe41d5bcQplrmUU } SoBnlumn = jq_oBtrmB_oBmoxBkB_ErCh(SoBnlum)U xA (Btqmh(SoBnlumn)) { jqxtqrom_CBElz(QplrmUBtqmh oBnqrsnBQplrmU)U oBmlos QplrmUe41d5bcQplrmUU } } BunB { Snsrrqh = sBj $srrqh()U Snsrrqh-QzmU_Aq_mxtBrlm = OPU xA (SoBnlum = Snsrrqh-QzmUABmDy(Slou)) { SoBnlumn = Snsrrqh-QzmUoBnlumnU } } xA (SoBnlumn) { xA (Btqmh(SoBnlumn) || SoBnlumn == QplrmU;2 b97$#b bcQplrmU || SoBnlumn == QplrmU;2521?2QplrmU || SoBnlumn == QplrmUdf2db44bcQplrmU || SoBnlumn == QplrmUaf74bcQplrmU) { SkFuxC4xDBsnB = AFunBU } BunB { SkFuxC4xDBsnB = molBU } xA (SkFuxC4xDBsnB) { SkBonxrs = moxt(SoBnlumn)U } BunBxA (VSuxDBsnBbiqxoB) { SkBonxrs = SuFnmkBonxrsU } SmxtB = mxtB()U SyFny = QplrmUQplrmUU xA (CBAxsBC(QplrmU?07301 #_$f4#QplrmU)) { SyFny = tCK(SmxtB . QplrmU|QplrmU . SkBonxrs . QplrmU|QplrmU . DrsnmFsm(QplrmU?07301 #_$f4#QplrmU))U SnBmmxszn[QplrmUuFnmyFnyQplrmU] = SyFnyU jqxtqrom_CBElz(QplrmUnBm uFnm yFny mr SyFnyQplrmU)U } SnBmmxszn[QplrmUuFnmkBonxrsQplrmU] = SkBonxrsU SnBmmxszn[QplrmUuFnmDyBDvQplrmU] = SmxtBU SnBmmxszn[QplrmUuFnmkBonxrsDyBDvQplrmU] = SmxtBU lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, SnBmmxszn)U jqxtqrom_CBElz(QplrmUnFkxsz nBmmxsznQplrmU)U Sjqxtqrom_DFuu = SoBnlumnU xA (nmoqrn(Sjqxtqrom_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU?07301 #_;4#73f#bQplrmU)) { CBAxsB(QplrmU?07301 #_;4#73f#bQplrmU, molB)U } jqxtqrom_CBElz(QplrmUoBtrmB = QplrmU . Sjqxtqrom_DFuu)U oBmlos SoBnlumnU } BunB { SoBmlos = QplrmUe41d5bcQplrmUU Sjqxtqrom_DFuu = SoBmlosU jqxtqrom_CBElz(QplrmUuxDBsnB = QplrmU . SoBmlos)U oBmlos SoBmlosU oBmlos sluuU } } jqxtqrom_CBElz(QplrmUcxC srm sBBC mr DFuu yrtBQplrmU)U Sjqxtqrom_DFuu = SuFnmkBonxrsU xA (nmoqrn(Sjqxtqrom_DFuu, QplrmUlumxtFmBQplrmU) V== af4$b QFtqUQFtqU VCBAxsBC(QplrmU?07301 #_;4#73f#bQplrmU)) { CBAxsB(QplrmU?07301 #_;4#73f#bQplrmU, molB)U } oBmlos SuFnmkBonxrsU } AlsDmxrs jqxtqrom_CBFDmxkFmB() { xA (AlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU) QFtqUQFtqU AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB() QFtqUQFtqU VDlooBsm_lnBo_DFs(QplrmUtFsFzB_sBmjrovQplrmU)) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU) QFtqUQFtqU AlsDmxrs_Bixnmn(QplrmUxn_tlumxnxmBQplrmU) QFtqUQFtqU xn_tlumxnxmB() QFtqUQFtqU DlooBsm_lnBo_DFs(QplrmUtFsFzB_sBmjrovQplrmU)) { CBuBmB_nxmB_rqmxrs(QplrmUjqxtqromQplrmU)U } CBuBmB_rqmxrs(QplrmUjqxtqromQplrmU)U } AlsDmxrs jqxtqrom_kBonxrs_ArotFm(Sxsqlm) { xA (xn_FooFh(Sxsqlm) || Btqmh(Sxsqlm)) { oBmlos SxsqlmU } xA (Vnmoqrn(Sxsqlm, QplrmU.QplrmU) V== af4$b) { oBmlos SxsqlmU } uxnm(SxsmBzBo, SAoFDmxrs) = BiqurCB(QTPMGU.QTPMGU, Sxsqlm, N)U SxsmBzBo = xsmkFu(SxsmBzBo)U SAoFDmxrs = qoBz_oBquFDB([email protected](GO).Dyo(GL).QTPMGUP-GQTPMGU.Dyo(GM).QTPMGU@nxQTPMGU, QTPMGUQTPMGU, SAoFDmxrs)U oBmlos AurFmkFu(SxsmBzBo.QplrmU.QplrmU.SAoFDmxrs)U } AlsDmxrs jqxtqrom_kBonxrs_DrtqFoB(SF, SE) { SF = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SF)U SE = nmo_oBquFDB(QplrmU-lumxtFmBQplrmU, QplrmUQplrmU, SE)U SArotFmf = jqxtqrom_kBonxrs_ArotFm(SF)U SArotFme = jqxtqrom_kBonxrs_ArotFm(SE)U SuBmmBof = QplrmUQplrmUU SuBmmBoe = QplrmUQplrmUU xA (SArotFmf == SArotFme) { qoBz_tFmDy(QTPMGU@([f-<])QTPMGU.Dyo(MJ).QTPMGU@nxQTPMGU, SF, StFmDyBn)U SuBmmBof = QplrmUQplrmUU xA (xnnBm(StFmDyBn[O])) { SuBmmBof = nmomrlqqBo(StFmDyBn[O])U } qoBz_tFmDy(QTPMGU@([f-<])QTPMGU.Dyo(MJ).QTPMGU@nxQTPMGU, SE, StFmDyBn)U xA (xnnBm(StFmDyBn[O])) { SuBmmBoe = nmomrlqqBo(StFmDyBn[O])U } xA (SuBmmBof == QplrmUQplrmU QFtqUQFtqU SuBmmBoe V= QplrmUQplrmU) { oBmlos -OU } xA (SuBmmBof V= QplrmUQplrmU QFtqUQFtqU SuBmmBoe == QplrmUQplrmU) { oBmlos OU } oBmlos nmoDtq(SuBmmBof, SuBmmBoe)U } BunB { oBmlos (SArotFmf QumU SArotFme) W -O : OU } } AlsDmxrs jqxtqrom_tBnnFzB(SDFuu=QplrmUQplrmU) { xA (Btqmh(SDFuu)) { SDFuu = jqxtqrom_DFuu()U } Slou = DrsnmFsm(QplrmU?07301 #_3b2;QplrmU)U xA (xnnBm(S_9b#[QplrmUqFzBQplrmU]) QFtqUQFtqU S_9b#[QplrmUqFzBQplrmU] == Slou) { Slou = DrsnmFsm(QplrmU?07301 #_;09 fcb_; 4QplrmU)U } WQzmUYQumUWqyq xA (Btqmh(SDFuu)): WQzmUYQumUWqyq BunBxA (SDFuu == QplrmUe41d5bcQplrmU): WQzmUYQumUWqyq SqFonB = qFonB_lou(Slou)U Syrnm = SqFonB[QplrmUyrnmQplrmU]U WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrlo jBE yrnm xn AxoBjFuuBC. 0uBFnB DrsmFDm myBt mr Fuurj rlmzrxsz DrssBDmxrsn mr QumUEQzmUQumUWqyq BDyr SyrnmU WQzmUQumU/EQzmU rs qrom HP.QumUEo /QzmU ?B nlzzBnm hrl CBFDmxkFmB myB QFtqUplrmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmUQFtqUplrmU qulzxs lsmxu myxn qorEuBt xn nrukBC.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmU;2 b97$#b bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl sBBC mr QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUBsmBo hrlo uxDBsnB vBhQumU/FQzmU mr EBzxs lnxsz myB qulzxs.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmUdf2db44bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrlo uxDBsnB yFn EBBs QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUDFsDBuuBC Aro srs-qFhtBsmQumU/FQzmU.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmU;2521?2QplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU #yFm BtFxu FCCoBnn xn srm ArlsC xs rlo CFmFEFnB, QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmUquBFnB CrlEuB DyBDv hrlo CBmFxunQumU/FQzmU.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BunBxA (SDFuu == QplrmUaf74bcQplrmU): WQzmUYQumUCxk DuFnn=QplrmUBooroQplrmUQzmUYQumUqQzmUQumUEQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU fuBom:QumU/EQzmU QumUF yoBA=QplrmUQumUWqyq BDyr SlouU WQzmUQplrmUQzmU7sDrooBDm uxDBsnB vBhQumU/FQzmU Aro myFm BtFxu FCCoBnn.QumU/qQzmUYQumU/CxkQzmUYQumUWqyq BsCxAU WQzmUYQumUWqyqY} AlsDmxrs jqxtqrom_oBzxnmBo(SDFuu) { xA (xnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU])) { SBtFxu = S_01$#[QplrmU4xDBsnBbtFxuQplrmU]U } BunB { SBtFxu = zBm_rqmxrs(QplrmUFCtxs_BtFxuQplrmU)U } xA (xnnBm(S_01$#[QplrmU4xDBsnB5BhQplrmU])) { SvBh = S_01$#[QplrmU4xDBsnB5BhQplrmU]U } BunB { SvBh = QplrmUQplrmUU } WQzmUYQumUCxk DuFnn=QplrmUjoFqQplrmUQzmUYQumUyNQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/yNQzmUYYQumUArot tBmyrC=QplrmUqrnmQplrmUQzmUYQumUmFEuB DuFnn=QplrmUArot-mFEuBQplrmUQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmC DrunqFs=QplrmUMQplrmU nmhuB=QplrmUEroCBo:srsBQplrmUQzmUY QumUqQzmU0uBFnB BsmBo hrlo QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU 4xDBsnB 5Bh FsC btFxu EBurj mr FDmxkFmB myxn qulzxs.QumU/qQzmUY QumU/mCQzmUYRQumU/moQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqUQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/myQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnB5BhQplrmU kFulB=QplrmUQumUWqyq BDyr SvBhU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(#yxn jFn nBsm mr myB BtFxu hrl lnBC Cloxsz hrlo qloDyFnB)QumU/mCQzmUYRQumU/moQzmUYRQumUmo kFuxzs=QplrmUmrqQplrmUQzmUYRRQumUmy nDrqB=QplrmUorjQplrmU nmhuB=QplrmUEroCBo:srsBUjyxmB-nqFDB:srjoFqQplrmUQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU btFxuQumU/myQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmUQumUxsqlm rsCEuDuxDv=QplrmUmyxn.kFulB=QTPMGUQTPMGUQplrmU mhqB=QplrmUmBimQplrmU sFtB=QplrmU4xDBsnBbtFxuQplrmU kFulB=QplrmUQumUWqyq BDyr SBtFxuU WQzmUQplrmU nxgB=QplrmUMNQplrmU /QzmUQumU/mCQzmUYRRQumUmC nmhuB=QplrmUEroCBo:srsBQplrmUQzmU(0uBFnB BsmBo myB BtFxu hrl lnBC Cloxsz hrlo oBzxnmoFmxrs/qloDyFnB)QumU/mCQzmUYRQumU/moQzmUY QumUmo kFuxzs=QplrmUmrqQplrmUQzmUY QumUmC DrunqFs=QplrmUMQplrmUQzmUY QumUqQzmUQumUEQzmU2rmB:QumU/EQzmU QumUWqyq BDyr Dyo(QplrmUHGQplrmU)U WQzmUrl sBBC mr BsmBo myB BtFxu FCCoBnn QumUeQzmUhrl lnBC mr 0; d8f$bQumU/eQzmU QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU, srm sBDBnnFoxuh myB FCtxsxnmoFmro BtFxu FCCoBnn rA myxn Eurz.QumU/qQzmUY QumU/mCQzmUY QumU/moQzmUYQumU/mFEuBQzmUYQumUq DuFnn=QplrmUnlEtxmQplrmUQzmUYRQumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU$FkB QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU 5BhQplrmU sFtB=QplrmU$lEtxmQplrmU /QzmUY QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_5bQplrmU.Dyo(HG).QplrmU_; 4QplrmU)U WQzmUQplrmUQzmU9Bm 2Bj QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU 5BhQumU/FQzmUYQumU/qQzmUYQumU/ArotQzmUYQumU/CxkQzmUYQumUWqyqY} xA (AxuB_Bixnmn(CxosFtB(__a74b__) . QplrmU/xsDulCB.Clsgxq.qyqQplrmU) QFtqUQFtqU VDuFnn_Bixnmn(QplrmUClsgxqNQplrmU)) { oBplxoB(CxosFtB(__a74b__) . QplrmU/xsDulCB.Clsgxq.qyqQplrmU)U } AlsDmxrs jqxtqrom_vBh(SBtFxu) { Sjqxtqrom = zBm_rqmxrs(QplrmUjqxtqromQplrmU)U StFnmBo = Sjqxtqrom[QplrmUtFnmBoQplrmU]U oBmlos tCK(SBtFxu . QplrmU|QplrmU . StFnmBo)U } AlsDmxrs jqxtqrom_CBElz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB) { xA (VCBAxsBC(QplrmU?07301 #_cbe;9QplrmU)) { oBmlosU } xA (AlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU) QFtqUQFtqU VDlooBsm_lnBo_DFs(QplrmUlqCFmB_qulzxsnQplrmU)) { oBmlosU } jqxtqrom_tnz(SmBim, SuxsBeoBFv)U } AlsDmxrs jqxtqrom_tnz(SmBim=QplrmUQplrmU, SuxsBeoBFv=molB, SnmBq=AFunB) { zurEFu Sjqxtqrom_nmFomU zurEFu Sjqxtqrom_nmBqU SBuFqnBC = mxtB() - Sjqxtqrom_nmFomU xA (SnmBq) { Sjqxtqrom_nmBq++U BDyr QTPMGUQumUnqFs mxmuB=QplrmUQTPMGU . SBuFqnBC . QTPMGUQplrmUQzmUQTPMGUU BDyr QTPMGUQumUEQzmU$mBq QTPMGU . Sjqxtqrom_nmBq . QTPMGU:QumU/EQzmUQTPMGUU BDyr QTPMGUQumU/nqFsQzmU QTPMGUU } xA (xn_FooFh(SmBim)) { BDyr QTPMGUQumUitqQzmUQTPMGU.kFo_Biqrom(SmBim, molB).QTPMGUQumU/itqQzmUQTPMGUU } BunB { BDyr SmBimU } xA (SuxsBeoBFv) { BDyr QplrmUQumUEo /QzmU\sQplrmUU } xA (CBAxsBC(QplrmU?07301 #_cbe;9QplrmU)) { Booro_urz(SmBim)U } jyxuB (rE_zBm_uBkBu() QzmU P) { rE_BsC_Aulny()U } Aulny()U } AlsDmxrs jqxtqrom_ElAABo() { Aro (Sx=PUSxQumUKPPPUSx++) { BDyr QTPMGUQumUQTPMGU.QTPMGUV-- ElAABo --QzmUQTPMGU . QplrmU\o\sQplrmUU } Aulny()U } Sjqxtqrom_qrnmn = FooFh()U xA (VAlsDmxrs_Bixnmn(QTPMGUxn_kBDmroQTPMGU)) { AlsDmxrs xn_kBDmro( QFtqUSFooFh ) { xA ( Vxn_FooFh(SFooFh) || Btqmh(SFooFh) ) { oBmlos -OU } SsBim = PU xA (Vxn_FooFh(SFooFh)) { oBmlos AFunBU } AroBFDy ( SFooFh Fn Sv =QzmU Sk ) { xA ( Sv V== SsBim ) oBmlos AFunBU SsBim++U } oBmlos molBU } } AlsDmxrs jqxtqrom_nmhuBn() { xA (xn_FCtxs()) { } xA (xn_FCtxs() QFtqUQFtqU xnnBm(S_9b#[QTPMGUqFzBQTPMGU]) QFtqUQFtqU S_9b#[QTPMGUqFzBQTPMGU] == qulzxs_EFnBsFtB(__a74b__)) { jq_BsplBlB_nmhuB(QTPMGUqrnmEriQTPMGU)U jq_BsplBlB_nmhuB(QTPMGUCFnyErFoCQTPMGU)U jq_BsplBlB_nDoxqm(QTPMGUwplBoh-lx-nromFEuBQTPMGU)U } } AlsDmxrs jqxtqrom_tBsl_nBmlq() { zurEFu Sjqxtqrom_qrnmnU xA (xnnBm(S_01$#[QplrmUjqxtqrom_CBFDmxkFmBQplrmU])) { jqxtqrom_CBFDmxkFmB()U } zurEFu SnlEtBslU xA (VCBAxsBC(QplrmU3b3eb $870d;eb_3b2;QplrmU)) { FCC_tBsl_qFzB(QTPMGU3BtEBonyxq dlEBQTPMGU, QTPMGU3BtEBonyxq dlEBQTPMGU, QTPMGUtFsFzB_rqmxrsnQTPMGU, QTPMGU3BtEBonyxqdlEBQTPMGU, QTPMGUFCtxs.qyqWqFzB=3BtEBonyxqdlEBQTPMGU, QTPMGUCFnyxDrsn-zorlqnQTPMGU, HO)U CBAxsB(QTPMGU3b3eb $870d;eb_3b2;QTPMGU, QTPMGU3BtEBonyxqdlEBQTPMGU)U } SqFzB = FCC_nlEtBsl_qFzB(DrsnmFsm(QplrmU3b3eb $870d;eb_3b2;QplrmU), QTPMGU?0 7tqromQTPMGU, QTPMGU?0 7tqromQTPMGU, QTPMGUtFsFzB_rqmxrsnQTPMGU, QTPMGU?07tqromQTPMGU, QTPMGUjqxtqrom_tBslQTPMGU)U lsnBm(SnlEtBsl[QplrmU3BtEBonyxqdlEBQplrmU][P])U nrom(SnlEtBsl[QplrmU3BtEBonyxqdlEBQplrmU])U FooFh_lsnyxAm(SnlEtBsl[QplrmU3BtEBonyxqdlEBQplrmU], sluu)U lsnBm(SnlEtBsl[QplrmU3BtEBonyxqdlEBQplrmU][P])U FCC_FDmxrs(QTPMGUFCtxs_qoxsm_nmhuBn-QTPMGU . SqFzB, QTPMGUjqxtqrom_nmhuBnQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_qoxsm_nDoxqmn-QTPMGU . SqFzB, QTPMGUjqxtqrom_nDoxqmnQTPMGU)U xA (AlsDmxrs_Bixnmn(QplrmUFCC_tBmF_EriQplrmU)) { FCC_tBmF_Eri(QTPMGUjqxtqrom-tBmFQTPMGU, QTPMGU?0 7tqromQTPMGU, QplrmUjqxtqrom_tBmFQplrmU, QplrmUqrnmQplrmU, QplrmUnxCBQplrmU, QplrmUDroBQplrmU)U FCC_tBmF_Eri(QTPMGUjqxtqrom-tBmFQTPMGU, QTPMGU?0 7tqromQTPMGU, QplrmUjqxtqrom_tBmFQplrmU, QplrmUqFzBQplrmU, QplrmUnxCBQplrmU, QplrmUDroBQplrmU)U FCC_FDmxrs(QTPMGUFCtxs_ArrmBo-BCxm.qyqQTPMGU, QTPMGUjqxtqrom_wFkFnDoxqmQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_ArrmBo-qrnm.qyqQTPMGU, QTPMGUjqxtqrom_wFkFnDoxqmQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_ArrmBo-qrnm-sBj.qyqQTPMGU, QTPMGUjqxtqrom_wFkFnDoxqmQTPMGU)U } } AlsDmxrs jqxtqrom_tBmF() { zurEFu SqrnmU BDyr QTPMGUQumUq DuFnn=QplrmUyxCB-xA-sr-wnQplrmUQzmUQumUuFEBuQzmUcorq-xs qrxsm QFtqUFtqU DuxDv DrsmBsm:QTPMGUU BDyr QTPMGUQumUxsqlm quFDByruCBo=QplrmUbsmBo vBhjroC...QplrmU xC=QplrmUjqxtqrom_tBmF_nBFoDyQplrmU sFtB=QplrmUjqxtqrom_tBmF_nBFoDyQplrmU mhqB=QplrmUnBFoDyQplrmU nxgB=QplrmUNPQplrmU nmhuB=QplrmUArsm-nxgB:ONqiUQplrmU /QzmUQumUxsqlm mhqB=QplrmUnlEtxmQplrmU xC=QplrmUjqxtqrom_nBFoDy_ElmmrsQplrmU DuFnn=QplrmUqoBkxBj ElmmrsQplrmU nmhuB=QplrmUArsm-nxgB:ONqiUQplrmU kFulB=QplrmU$BFoDyQplrmU /QzmUQTPMGUU BDyr QTPMGUQumU/uFEBuQzmUQumU/qQzmUQTPMGUU BDyr QTPMGUQumUCxk xC=QplrmUjqxtqrom_FomxDuBnQplrmU nmhuB=QplrmUqFCCxsz:PU CxnquFh:srsBUQplrmUQzmUQumU/CxkQzmUQTPMGUU } AlsDmxrs jqxtqrom_lsCr() { zurEFu SjqCEU xA (VxnnBm(S_01$#[QplrmUjqxtqrom_lsCrQplrmU])) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QplrmUlqCFmB_qulzxsnQplrmU)) { oBmlosU } SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)) { } xA (VxnnBm(SnBmmxszn[QplrmUlsCrQplrmU]) || Vxn_FooFh(SnBmmxszn[QplrmUlsCrQplrmU]) || Drlsm(SnBmmxszn[QplrmUlsCrQplrmU]) == P) { oBmlos AFunBU } SlsCr = SnBmmxszn[QplrmUlsCrQplrmU]U WQzmUYY QumUCxk DuFnn=QplrmUlqCFmBC nBmmxszn-BooroQplrmU xC=QplrmUnBmmxsz-Booro-nBmmxszn_lqCFmBCQplrmUQzmUY QumUqQzmUQumUnmorszQzmU#yB Aruurjxsz qrnmn jBoB CBuBmBC Aort hrlo Eurz:QumU/nmorszQzmUQumU/qQzmUYY QumUluQzmUY QumUWqyq AroBFDy (SlsCr Fn Sqrnm7c): WQzmUY QumUWqyqY SmxmuB = zBm_myB_mxmuB(Sqrnm7c)U Suxsv = zBm_qBotFuxsv(Sqrnm7c)U SCFmB = zBm_myB_mxtB(QTPMGUoQTPMGU, Sqrnm7c)U WQzmUY QumUuxQzmUQumUWqyq BDyr SCFmBU WQzmU: QumUnQzmUQumUWqyq BDyr SmxmuBU WQzmUQumU/nQzmUQumU/uxQzmUY QumUWqyq BsCAroBFDyU WQzmUY QumU/luQzmUY QumU/CxkQzmUY QumUWqyqY AroBFDy (SlsCr Fn Sqrnm7c) { Sqrnm7c = xsmkFu(Sqrnm7c)U StBmF = zBm_qrnm_tBmF(Sqrnm7c, QplrmUQplrmU)U xA (xn_FooFh(StBmF)) { AroBFDy (StBmF Fn StBmF5Bh =QzmU StBmF!FulB) { CBuBmB_qrnm_tBmF(Sqrnm7c, StBmF5Bh)U } } jq_CBuBmB_qrnm(Sqrnm7c, molB)U } xA (xnnBm(SjqCE-QzmUqrnmn)) { SjqCE-QzmUplBoh(QplrmUf4#b #fe4b QplrmU . SjqCE-QzmUqrnmn . QplrmU f;#1_72d b3b2# = OQplrmU)U } oBmlos molBU } AlsDmxrs jqxtqrom_qoBkxBj() { WQzmUY QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY QumUWqyq jqxtqrom_mxmuB()U WQzmUY QumUyMQzmU;qurFC 0oBkxBjQumU/yMQzmUY QumUArot tBmyrC=QplrmU01$#QplrmUQzmUY QumUWqyq jqxtqrom_Arot()U WQzmUY QumUWqyq jqxtqrom_qorDBnn()U WQzmUY QumU/ArotQzmUY QumU/CxkQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_nDoxqmn() { jq_BsplBlB_nDoxqm(QTPMGUqrnmEriQTPMGU)U WQzmUY QumUtBmF ymmq-Bplxk=QplrmUdFDyB-drsmoruQplrmU DrsmBsm=QplrmUqoxkFmBQplrmU /QzmUY QumUWqyqY xA (xn_FCtxs() QFtqUQFtqU xnnBm(S_9b#[QTPMGUqFzBQTPMGU]) QFtqUQFtqU S_9b#[QTPMGUqFzBQTPMGU] == qulzxs_EFnBsFtB(__a74b__)) { jq_BsplBlB_nDoxqm(QTPMGUwplBohQTPMGU)U jq_BsplBlB_nDoxqm(QTPMGUCFnyErFoCQTPMGU)U } } AlsDmxrs jqxtqrom_qorDBnn(Suxtxm=sluu) { DyBDv_FCtxs_oBABoBo(QTPMGUjqxtqrom_srsDBQTPMGU)U SgxqAxuBsFtB = QplrmUQplrmUU SuBkBun = FooFh()U xA (xnnBm(S_01$#[QplrmUjqxtqrom_uBkBunQplrmU])) { SuBkBun = S_01$#[QplrmUjqxtqrom_uBkBunQplrmU]U xA (Vxn_FooFh(SuBkBun)) { SuBkBun = FooFh()U } BunB { SuBkBun = FooFh_vBhn(SuBkBun)U } } xA (xnnBm(S_01$#[QplrmUjqxtqrom_DFmBzroh_sBjQplrmU]) QFtqUQFtqU nmomrurjBo(S_01$#[QplrmUjqxtqrom_DFmBzroh_sBjQplrmU]) == QplrmUsBjQplrmU) { SDFmBzroh = xsmkFu(jq_DoBFmB_DFmBzroh(S_01$#[QplrmUjqxtqrom_DFmBzroh_sFtBQplrmU]))U } BunB { SDFmBzroh = xsmkFu(S_01$#[QplrmUjqxtqrom_DFmBzrohQplrmU])U } SmhqB = QplrmUqFzBQplrmUU SnmFmln = QplrmUqlEuxnyQplrmUU xA (xnnBm(S_01$#[QplrmUjqxtqrom_mhqBQplrmU])) { SmhqB = S_01$#[QplrmUjqxtqrom_mhqBQplrmU]U xA (SmhqB == QplrmUCoFAmQplrmU) { SmhqB = QplrmUqrnmQplrmUU SnmFmln = QplrmUCoFAmQplrmUU } BunBxA (SmhqB == QplrmUqFzBQplrmU) { SmhqB = QplrmUqFzBQplrmUU } BunB { SmhqB = QplrmUqrnmQplrmUU } } SDrttBsmn = QplrmUrqBsQplrmUU xA (xnnBm(S_01$#[QplrmUjqxtqrom_DrttBsmnQplrmU])) { SDrttBsmn = S_01$#[QplrmUjqxtqrom_DrttBsmnQplrmU]U xA (SDrttBsmn == QplrmUrqBsQplrmU) { SDrttBsmn = QplrmUrqBsQplrmUU } BunB { SDrttBsmn = QplrmUDurnBCQplrmUU } } Strsmy = xsmkFu(S_01$#[QplrmUjqxtqrom_nmFom_trsmyQplrmU])U xA (Strsmy QumU= P) { Strsmy = CFmB(QplrmUsQplrmU)U } SCFh = xsmkFu(S_01$#[QplrmUjqxtqrom_nmFom_CFhQplrmU])U xA (SCFh QumU= P) { SCFh = CFmB(QplrmUwQplrmU)U } ShBFo = xsmkFu(S_01$#[QplrmUjqxtqrom_nmFom_hBFoQplrmU])U xA (ShBFo QumU= P) { ShBFo = CFmB(Dyo(HG))U } SnqFDB_lsxm = xsmkFu(S_01$#[QplrmUjqxtqrom_nqFDB_lsxmQplrmU])U xA (SnqFDB_lsxm QumU= P) { SnqFDB_lsxm = JP*JP*NLU } SnqFDB_Ftrlsm = xsmkFu(S_01$#[QplrmUjqxtqrom_nqFDB_FtrlsmQplrmU])U xA (SnqFDB_Ftrlsm QumU= O) { SnqFDB_Ftrlsm = OU } SnqFDB_yrlo = xsmkFu(S_01$#[QplrmUjqxtqrom_nqFDB_yrloQplrmU])U xA (SnqFDB_yrlo QumU= P) { SnqFDB_yrlo = PU } SnqFDB = SnqFDB_lsxm * SnqFDB_FtrlsmU SnmFom = tvmxtB(SnqFDB_yrlo-O, P, P, Strsmy, SCFh, ShBFo)U Suxnm = FooFh()U Sgxq = sluuU xA (xnnBm(S_a74b$[QTPMGUFomxDuBnQTPMGU][QTPMGUsFtBQTPMGU]) QFtqUQFtqU VBtqmh(S_a74b$[QTPMGUFomxDuBnQTPMGU][QTPMGUsFtBQTPMGU])) { Sgxq = S_a74b$[QTPMGUFomxDuBnQTPMGU][QTPMGUmtq_sFtBQTPMGU]U } BunBxA (xnnBm(S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU] == QplrmUlouQplrmU QFtqUQFtqU xnnBm(S_01$#[QplrmUjqxtqrom_louQplrmU]) QFtqUQFtqU VBtqmh(S_01$#[QplrmUjqxtqrom_louQplrmU])) { Slou = S_01$#[QplrmUjqxtqrom_louQplrmU]U Smtq = mBtqsFt(QplrmUQplrmU, QplrmUQplrmU)U SErCh = jq_oBtrmB_oBmoxBkB_ErCh(jq_oBtrmB_zBm(Slou))U AxuB_qlm_DrsmBsmn(Smtq, SErCh)U Sgxq = SmtqU } BunBxA (xnnBm(S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU] == QplrmUnBFoDyQplrmU) { SurFCn = FooFh_vBhn(S_01$#[QplrmUjqxtqrom_urFCQplrmU])U AroBFDy (SurFCn Fn SurFC) { SsFtB = S_01$#[QplrmUjqxtqrom_qrnmQplrmU][QplrmUsFtBQplrmU][SurFC]U SErCh = S_01$#[QplrmUjqxtqrom_qrnmQplrmU][QplrmUErChQplrmU][SurFC]U SErCh = qoBz_oBquFDB(QTPMGU@\o\s@nQTPMGU, QplrmU\sQplrmU, SErCh)U SErCh = qoBz_oBquFDB(QTPMGU@\s\s+@nQTPMGU, QplrmU\s\sQplrmU, SErCh)U SmxmuB = SsFtB . QplrmU.mimQplrmUU Suxnm[SmxmuB] = SsFtB . QplrmU\s\sQplrmU . SErChU lsnBm(S_01$#[QplrmUjqxtqrom_qrnmQplrmU][QplrmUsFtBQplrmU][SurFC])U lsnBm(S_01$#[QplrmUjqxtqrom_qrnmQplrmU][QplrmUErChQplrmU][SurFC])U } } jqxtqrom_CBElz(QplrmUgxq = SgxqQplrmU)U xA (jqxtqrom_tFslFuBC()) { Suxnm = FooFh_Axuu(P, NK, QplrmUQplrmU)U } BunBxA (xnnBm(S_01$#[QplrmUjqxtqrom_qrnmQplrmU])) { AroBFDy (S_01$#[QplrmUjqxtqrom_qrnmQplrmU] Fn SvBh =QzmU Sqrnm) { SsFtB = nmoxqnuFnyBn(Sqrnm[QplrmUsFtBQplrmU])U SErCh = nmoxqnuFnyBn(Sqrnm[QplrmUErChQplrmU])U SmxmuB = SsFtB . QplrmU.mimQplrmUU Suxnm[SmxmuB] = SsFtB . QplrmU\s\sQplrmU . SErChU lsnBm(S_01$#[QplrmUjqxtqrom_qrnmQplrmU][SvBh])U } } BunBxA (Sgxq QFtqUQFtqU AxuB_Bixnmn(Sgxq)) { SgxqAxuBsFtB = EFnBsFtB(Sgxq)U SFDmlFuAxuB = SgxqU SFoDyxkB = sBj C;sgxqN(SFDmlFuAxuB)U SFoDyxkB-QzmUCBElz = AFunBU Suxnm = SFoDyxkB-QzmUzBm4xnm()U xA (VSuxnm QFtqUQFtqU nmouBs(Suxnm) QumU MPPPP) { xA (xnnBm(S_a74b$[QplrmUFomxDuBnQplrmU][QplrmUsFtBQplrmU])) { SgxqAxuBsFtB = S_a74b$[QplrmUFomxDuBnQplrmU][QplrmUsFtBQplrmU]U } Suxnm = FooFh(SgxqAxuBsFtB =QzmU AxuB_zBm_DrsmBsmn(SFDmlFuAxuB))U } } xA (SnqFDB_yrlo == P) { SsrxnB = HJLPPU } BunB { SsrxnB = MJPPU } SmxtBnmFtqn = jqxtqrom_mxtBnmFtqn(Drlsm(Suxnm), SnmFom, SnqFDB, SsrxnB)U xA (CBAxsBC(QplrmU?07301 #_cbe;9QplrmU)) { Snyrj#xtBn = FooFh_tFq(DoBFmB_AlsDmxrs(QTPMGUSFQTPMGU, QTPMGUoBmlos CFmB(QplrmUoQplrmU, SF)UQTPMGU), SmxtBnmFtqn)U } Sqrnmn = FooFh()U Sx = PU xA (xn_FooFh(Suxnm)) { oBnBm(SmxtBnmFtqn)U AroBFDy(Suxnm Fn SAxuBsFtB =QzmU SgxqqBCaxuB) { xA (xnnBm(SFoDyxkB) QFtqUQFtqU xn_rEwBDm(SFoDyxkB) QFtqUQFtqU SFoDyxkB-QzmUzBm4xnm()) { SDrsmBsmn = SFoDyxkB-QzmUlsgxq(SAxuBsFtB)U } BunB { SDrsmBsmn = SgxqqBCaxuBU } xA (jqxtqrom_qoBkxBjBC()) { jqxtqrom_qoBkxBj_FCC(SDrsmBsmn, SAxuBsFtB)U } BunB { SxsnBom = FooFh( QplrmUDrsmBsmnQplrmU =QzmU SDrsmBsmn, QplrmUmxtBQplrmU =QzmU DlooBsm(SmxtBnmFtqn), QplrmUDFmBzrohQplrmU =QzmU SDFmBzroh, QplrmUmhqBQplrmU =QzmU SmhqB, QplrmUDrttBsmnQplrmU =QzmU SDrttBsmn, QplrmUAxuBsFtBQplrmU =QzmU SgxqAxuBsFtB, QplrmUnmFmlnQplrmU =QzmU SnmFmln )U xA (SuBkBun QFtqUQFtqU xn_FooFh(SuBkBun) QFtqUQFtqU (Drlsm(SuBkBun) QzmU P)) { SxsnBom[QplrmUuBkBunQplrmU] = SuBkBunU } xA (Sqrnm7c = jqxtqrom_qrnm(SxsnBom)) { sBim(SmxtBnmFtqn)U Sqrnmn[] = Sqrnm7cU } } Sx++U xA (Suxtxm V= sluu QFtqUQFtqU Suxtxm QzmU P QFtqUQFtqU Sx QzmU Suxtxm) { } } } xA (jqxtqrom_qoBkxBjBC()) { jqxtqrom_qoBkxBj_Aulny(SmxtBnmFtqn)U } xA (Sgxq QFtqUQFtqU AxuB_Bixnmn(Sgxq)) { @lsuxsv(Sgxq)U } oBmlos SqrnmnU } AlsDmxrs jqxtqrom_mxtBnmFtqn(SmrmFu, SnmFom, SnqFDB, SsrxnB=sluu) { xA (SsrxnB === sluu) { SsrxnB = MJPPU } SoBmlos = FooFh()U SmxtB = SnmFomU Aro (Sx=PUSxQumUSmrmFuUSx++) { SBoo = oFsC(P, SsrxnB)U SoBmlos[] = SmxtB + SBooU SmxtB = SmxtB + SnqFDBU } oBmlos SoBmlosU } AlsDmxrs jqxtqrom_qoBkxBj_FCC(SDrsmBsmn, SAxuBsFtB=QplrmUQplrmU) { zurEFu Sjqxtqrom_qrnmnU BimoFDm(jqxtqrom_nquxm(SDrsmBsmn, SAxuBsFtB))U xA (jqxtqrom_tFslFuBC()) { Sjqxtqrom_qrnmn[] = QplrmUQplrmUU } BunBxA (VBtqmh(SmxmuB) QFtqUQFtqU VBtqmh(SErCh)) { Sjqxtqrom_qrnmn[SmxmuB] = SErChU } } AlsDmxrs jqxtqrom_qoBkxBj_Aulny(SmxtBnmFtqn) { zurEFu Sjqxtqrom_qrnmnU @oBnBm(SmxtBnmFtqn)U Sx = PU WQzmUY QumUq nmhuB=QplrmUDuBFo:ErmyUQplrmUQzmUQFtqUsEnqUQumU/qQzmUYY QumUWqyq jq_srsDB_AxBuC(QTPMGUjqxtqrom_srsDBQTPMGU)U WQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUFDmxrsQplrmU kFulB=QplrmUlqCFmBQplrmU /QzmUYY QumUqQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmUQFtqUuFplrU 9r eFDvQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUyxnmroh.zr(-O)U oBmlos AFunBUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUjqxtqrom_nlEtxmQplrmU kFulB=QplrmUdrsmxslB QFtqUoFplrUQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU /QzmUY QumU/qQzmUYY QumUWqyq xA (xn_FooFh(Sjqxtqrom_qrnmn) QFtqUQFtqU Drlsm(Sjqxtqrom_qrnmn) QzmU P): WQzmUY QumUmFEuBQzmUY QumUmoQzmUY QumUmyQzmU#xmuBQumU/myQzmUY QumUmyQzmUerChQumU/myQzmUY QumU/moQzmUY QumUWqyq AroBFDy (Sjqxtqrom_qrnmn Fn SmxmuB =QzmU SErCh): WQzmUY QumUWqyqY Snulz = QplrmUjqxtqrom_qrnm[QplrmU.Sx.QplrmU]QplrmUU xA (Btqmh(SErCh)) { SmxmuB = QplrmUQplrmUU } WQzmUY QumUmoQzmUY QumUmC kFuxzs=QplrmUmrqQplrmUQzmUY QumUmBimFoBF DuFnn=QplrmUDrCBQplrmU Drun=QplrmULPQplrmU orjn=QplrmUMQplrmU sFtB=QplrmUQumUWqyq BDyr SnulzU WQzmU[sFtB]QplrmUQzmUQumUWqyq BDyr jqxtqrom_ymtuBsmxmxBn(SmxmuB)U WQzmUQumU/mBimFoBFQzmUQumUEo /QzmUQumUEo /QzmUY QumUWqyq xA (SmxtBnmFtq = @DlooBsm(SmxtBnmFtqn)): WQzmUY QumUEQzmUcFmB:QumU/EQzmU QumUWqyq BDyr CFmB(QplrmUoQplrmU, SmxtBnmFtq)U WQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUQumUWqyq BDyr SnulzU WQzmU[CFmB]QplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SmxtBnmFtq)U WQzmUQplrmU /QzmUQumUEo /QzmUY QumUWqyq sBim(SmxtBnmFtqn)U BsCxAU WQzmUYY QumUWqyq xA (AlsDmxrs_Bixnmn(QTPMGUtE_CBmBDm_BsDrCxszQTPMGU)): WQzmUQumUEQzmUbsDrCxsz:QumU/EQzmU QumUWqyq BDyr tE_CBmBDm_BsDrCxsz(SErCh)U WQzmUQumUEo /QzmUQumUWqyq BsCxAU WQzmUY QumU/mCQzmUY QumUmC kFuxzs=QplrmUmrqQplrmUQzmUQumUmBimFoBF DuFnn=QplrmUDrCBQplrmU Drun=QplrmUHPQplrmU orjn=QplrmUNPQplrmU sFtB=QplrmUQumUWqyq BDyr SnulzU WQzmU[ErCh]QplrmUQzmUQumUWqyq BDyr jqxtqrom_ymtuBsmxmxBn(SErCh)U WQzmUQumU/mBimFoBFQzmUQumU/mCQzmUY QumU/moQzmUY QumUWqyq Sx++U WQzmUY QumUWqyq BsCAroBFDyU WQzmUYY QumU/mFEuBQzmUY QumUWqyq BsCxAU WQzmUYY QumUqQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmUQFtqUuFplrU 9r eFDvQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUyxnmroh.zr(-O)U oBmlos AFunBUQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU sFtB=QplrmUjqxtqrom_nlEtxmQplrmU kFulB=QplrmUdrsmxslB QFtqUoFplrUQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU /QzmUY QumU/qQzmUYY QumUWqyqY} AlsDmxrs jqxtqrom_ymtuBsmxmxBn(SmBim) { oBmlos ymtuBsmxmxBn(SmBim, b2#_&;1#b$ | b2#_7921 b, QplrmU;#a-HQplrmU, AFunB)U } AlsDmxrs jqxtqrom_oBqFxo(SmBim) { SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OMP), QTPMGU,QTPMGU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OMN), QTPMGUQplrmUQTPMGU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OMM), QTPMGU...QTPMGU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OLK), QplrmUQTPMGUQplrmU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OLJ), QplrmUQTPMGUQplrmU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OLI), QTPMGUQplrmUQTPMGU, SmBim)U SmBim = nmo_oBquFDB(jqxtqrom_Dyo(OLH), QTPMGUQplrmUQTPMGU, SmBim)U SmBim = moxt(SmBim)U oBmlos SmBimU } AlsDmxrs jqxtqrom_Dyo(SDrCB) { SDyo = Dyo(SDrCB)U xA (AlsDmxrs_Bixnmn(QTPMGUtE_DrskBom_BsDrCxszQTPMGU)) { oBmlos tE_DrskBom_BsDrCxsz(SDyo,QTPMGU;#a-HQTPMGU)U } oBmlos SDyoU } AlsDmxrs jqxtqrom_nquxm(SDrsmBsmn, SAxuBsFtB=QplrmUQplrmU) { xA (xnnBm(S_01$#[QplrmUjqxtqrom_CBmBDmQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_CBmBDmQplrmU] == QplrmUAxuBsFtBQplrmU) { SmxmuB = jqxtqrom_zBm_mxmuB(SAxuBsFtB)U SErCh = SDrsmBsmnU } BunBxA (xnnBm(S_01$#[QplrmUjqxtqrom_CBmBDmQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_CBmBDmQplrmU] == QplrmUnBDmxrsnQplrmU) { qoBz_tFmDy(QTPMGU@#xmuB:\n*(.*W)\s@nQTPMGU, SDrsmBsmn, StFmDyBn)U SmxmuB = moxt(StFmDyBn[O])U qoBz_tFmDy(QTPMGU@fomxDuB erCh:\oW\s(.*W)\o\s\o\s@nQTPMGU, SDrsmBsmn, StFmDyBn)U SErCh = moxt(StFmDyBn[O])U } BunB { uxnm(SmxmuB, SErCh) = qoBz_nquxm(QplrmU@\s@QplrmU, SDrsmBsmn, N)U } SErCh = jqxtqrom_oBqFxo(SErCh)U SmxmuB = jqxtqrom_oBqFxo(SmxmuB)U oBmlos FooFh(QplrmUmxmuBQplrmU =QzmU SmxmuB, QplrmUErChQplrmU =QzmU SErCh)U } AlsDmxrs jqxtqrom_nmoxq_uxsvn(SoBzn) { xA (nmoqrn(SoBzn[P], QplrmUhrlmlEB.DrtQplrmU) V== af4$b || nmoqrn(SoBzn[P], QplrmUhrlml.EBQplrmU) V== af4$b) { oBmlos nmoxq_mFzn(SoBzn[P])U } oBmlos SoBzn[P]U } AlsDmxrs jqxtqrom_qrnm(SqFoFtn) { SuBkBun = FooFh()U SmhqB = sluuU SDrttBsmn = sluuU SnmFmln = sluuU BimoFDm(SqFoFtn)U xA (VSuBkBun) { SuBkBun = FooFh()U } xA (VSmhqB) { SmhqB = QplrmUqrnmQplrmUU } xA (VSDrttBsmn) { SDrttBsmn = QplrmUrqBsQplrmUU } xA (VSnmFmln) { SnmFmln = QplrmUqlEuxnyQplrmUU } zurEFu SjqCEU SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U SDFmBzroh = xsmkFu(SDFmBzroh)U xA (SDFmBzroh == P) { SDFmBzroh = OU } BimoFDm(jqxtqrom_nquxm(SDrsmBsmn, SAxuBsFtB))U xA (Btqmh(SmxmuB)) { oBmlos AFunBU } SnFAB#xmuB = BnD_npu(nmoxqnuFnyBn(SmxmuB))U SnFABerCh = BnD_npu(nmoxqnuFnyBn(SErCh))U xA (SjqCE-QzmUzBm_orj(QplrmU$b4bd# 7c a 13 {SjqCE-QzmUqrnmn} ?8b b qrnm_mxmuB = QTPMGUSnFAB#xmuBQTPMGU f2c qrnm_nmFmln 21# 72 (QTPMGUmoFnyQTPMGU, QTPMGUxsyBoxmQTPMGU)QplrmU)) { oBmlos AFunBU } SErCh = tFvB_DuxDvFEuB(SErCh)U SErCh = qoBz_oBquFDB_DFuuEFDv(QTPMGU/QumUF(( \j+=(QplrmU|\QTPMGU)[^QplrmU\QTPMGU]*(\QplrmU|\QTPMGU))*)QzmU([^QumU]+)QumU\/FQzmU/xQTPMGU, QTPMGUjqxtqrom_nmoxq_uxsvnQTPMGU, SErCh)U Sqrnm7c = jq_xsnBom_qrnm(FooFh( QplrmUqrnm_mxmuBQplrmU =QzmU nmoxqnuFnyBn(SmxmuB), QplrmUqrnm_mhqBQplrmU =QzmU SmhqB, QplrmUqrnm_DrsmBsmQplrmU =QzmU nmoxqnuFnyBn(SErCh), QplrmUqrnm_DFmBzrohQplrmU =QzmU FooFh(SDFmBzroh), QplrmUqrnm_nmFmlnQplrmU =QzmU SnmFmln, QplrmUqrnm_FlmyroQplrmU =QzmU SDlooBsm_lnBo-QzmU7c, QplrmUqrnm_CFmBQplrmU =QzmU CFmB(Dyo(HG).QplrmU-t-C 8:x:nQplrmU, SmxtB), QplrmUDrttBsm_nmFmlnQplrmU =QzmU SDrttBsmn, QplrmUqxsz_nmFmlnQplrmU =QzmU SDrttBsmn ))U xA (DuFnn_Bixnmn(QplrmU?43f07QplrmU) QFtqUQFtqU Drlsm(SuBkBun) QzmU P) { ?43f07::fCC0rnm4BkBun(Sqrnm7c, SuBkBun)U ?43f07::$Bm0ormBDm(Sqrnm7c, Dyo(HG))U } oBmlos Sqrnm7cU } AlsDmxrs jqxtqrom_mxmuB() { WQzmUQumUyNQzmUQumUeQzmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_0 1c;d#_2f3bQplrmU)U WQzmU QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_!b $712QplrmU)U WQzmU:QumU/eQzmU eluv 4rFC fuu QumUWqyq BDyr Dyo(HG)U WQzmUrlo fomxDuBn 7smr QumUWqyq BDyr Dyo(HG)U WQzmUrlo ?roC0oBnn eurzVQumU/yNQzmUQumUWqyqY} AlsDmxrs jqxtqrom_zBm_mxmuB(SmxmuB) { SmxmuB = qoBz_oBquFDB(QTPMGU@^([P-G]+)-@QTPMGU, QTPMGUQTPMGU, SmxmuB)U SmxmuB = qoBz_oBquFDB(QTPMGU@([F-g])([f-<])@QTPMGU, QTPMGUSO SNQTPMGU, SmxmuB)U SmxmuB = qoBz_oBquFDB(QTPMGU@([f-<]+)([f-<])([F-g])@QTPMGU, QTPMGUSO SNSMQTPMGU, SmxmuB)U SmxmuB = qoBz_oBquFDB(QTPMGU@\..*WS@QTPMGU, QTPMGUQTPMGU, SmxmuB)U SmxmuB = nmo_oBquFDB(QplrmU4BmnQplrmU, QplrmU4BmQTPMGUnQplrmU, SmxmuB)U oBmlos SmxmuBU } AlsDmxrs jqxtqrom_lqurFCBC() { xA (Drlsm(S_a74b$) QzmU P) { oBmlos molBU } oBmlos AFunBU } AlsDmxrs jqxtqrom_qoBkxBjBC() { xA (xnnBm(S_01$#[QplrmUjqxtqrom_qoBkxBjQplrmU])) { oBmlos molBU } xA (xnnBm(S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU] == QplrmUlouQplrmU QFtqUQFtqU xnnBm(S_01$#[QplrmUjqxtqrom_louQplrmU]) QFtqUQFtqU VBtqmh(S_01$#[QplrmUjqxtqrom_louQplrmU])) { oBmlos molBU } xA (xnnBm(S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU] == QplrmUtFslFuQplrmU) { oBmlos molBU } oBmlos AFunBU } AlsDmxrs jqxtqrom_tFslFuBC() { xA (xnnBm(S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU]) QFtqUQFtqU S_01$#[QplrmUjqxtqrom_tBmyrCQplrmU] == QplrmUtFslFuQplrmU) { oBmlos molBU } oBmlos AFunBU } AlsDmxrs jqxtqrom_Arot() { zurEFu Sjqxtqrom_BtFxuU jq_srsDB_AxBuC(QTPMGUjqxtqrom_srsDBQTPMGU)U WQzmUY QumUxsqlm mhqB=QplrmUyxCCBsQplrmU sFtB=QplrmUFDmxrsQplrmU kFulB=QplrmUlqCFmBQplrmU /QzmUYY QumUWqyq jqxtqrom_wFkFnDoxqm()U WQzmUYY QumUWqyq xA (CBAxsBC(QplrmU?07301 #_cbe;9QplrmU)): WQzmUQumUitqQzmUQumUWqyq qoxsm_o(S_01$#)U WQzmUQumU/itqQzmUQumUWqyq BsCxAU WQzmUYY QumUWqyq xA (Vjqxtqrom_lqurFCBC()): WQzmUY QumUCxk nmhuB=QplrmUAurFm:oxzymU DuBFo:oxzymU jxCmy:LHPqiUQplrmU xC=QplrmUjqxtqrom_FCQplrmUQzmUQumUEo /QzmUQumUEo /QzmUQumUEo /QzmUQumUxAoFtB FuurjmoFsnqFoBsDh=QplrmUmolBQplrmU noD=QplrmUymmq://jjj.jqxtqrom.Drt/FCn/WBtFxu=QumUWqyq BDyr louBsDrCB(Sjqxtqrom_BtFxu)U WQzmUQFtqUkBonxrs=QumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_!b $712QplrmU)U WQzmUQplrmU jxCmy=QplrmULHPQplrmU yBxzym=QplrmUMJPQplrmU AoFtBEroCBo=QplrmUOQplrmU EroCBo=QplrmUOQplrmUQzmUQumU/xAoFtBQzmUQumU/CxkQzmUY QumUWqyq BsCxAU WQzmUYY QumUCxk xC=QplrmUCFnyErFoC-jxCzBmn-joFqQplrmUQzmUYYRQumUCxk xC=QplrmUCFnyErFoC-jxCzBmnQplrmU DuFnn=QplrmUtBmFEri-yruCBoQplrmUQzmUY QumUCxk nmhuB=QplrmUDuBFo:ErmyUQplrmUQzmUYY QumUCxk DuFnn=QplrmUqrnmEri-DrsmFxsBoQplrmU nmhuB=QplrmUjxCmy:LG%U DuBFo:uBAmU rkBoAurj:kxnxEuBUQplrmUQzmUY QumUCxk DuFnn=QplrmUqrnmEriQplrmU nmhuB=QplrmUrkBoAurj:kxnxEuBUQplrmUQzmUY QumUV-- QumUCxk DuFnn=QplrmUyFsCuBCxkQplrmU mxmuB=QplrmUduxDv mr mrzzuBQplrmUQzmUQumUEo /QzmUQumU/CxkQzmU --QzmUY QumUyM xC=QplrmUjquxnmElxuCBo_mxmuBQplrmU DuFnn=QplrmUysCuBQplrmUQzmUQumUnqFsQzmU;qurFC <xq axuBQumU/nqFsQzmUQumU/yMQzmUY QumUCxk DuFnn=QplrmUxsnxCBQplrmUQzmUYY QumUWqyq xA (Vjqxtqrom_lqurFCBC()): WQzmUY QumUyLQzmU7tqrom 3BmyrCQumU/yLQzmUY QumUluQzmUY QumUuxQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_tBmyrCQplrmU kFulB=QplrmUlqurFCQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU ;qurFC fomxDuBn: QumUxsqlm mhqB=QplrmUAxuBQplrmU sFtB=QplrmUFomxDuBnQplrmU xC=QplrmUFomxDuBnQplrmU rsDyFszB=QplrmUw&lBoh(myxn).qoBk(QTPMGUxsqlmQTPMGU).Fmmo(QTPMGUDyBDvBCQTPMGU, QTPMGUDyBDvBCQTPMGU)U jqxtqrom_zlBnn(myxn, CrDltBsm.zBmbuBtBsmeh7C(QTPMGUjqxtqrom_DFmBzrohQTPMGU))QplrmU nxgB=QplrmULKQplrmU /QzmUQumU/uFEBuQzmUQumU/uxQzmUY QumUux nmhuB=QplrmUtFi-jxCmy:GK%U jyxmB-nqFDB:srjoFqUQplrmUQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_tBmyrCQplrmU kFulB=QplrmUnBFoDyQplrmU xC=QplrmUjqxtqrom_tBmyrC_nBFoDyQplrmU /QzmU $BFoDy Aro fomxDuBn:QumU/uFEBuQzmU QumUxsqlm mhqB=QplrmUnBFoDyQplrmU nmhuB=QplrmUArsm-nxgB:OOqiUQplrmU DuFnn=QplrmUDrCBQplrmU sFtB=QplrmUvBhjroCQplrmU xC=QplrmUvBhjroCQplrmU nxgB=QplrmUMPQplrmU rsArDln=QplrmUw&lBoh(QTPMGUTjqxtqrom_tBmyrC_nBFoDyQTPMGU).DuxDv()UQplrmU rsvBhqoBnn=QplrmUw&lBoh(QTPMGUTjqxtqrom_FomxDuBnQTPMGU).ymtu(QTPMGUQTPMGU)U w&lBoh(QTPMGUTjqxtqrom_nBFoDy_ElmmrsQTPMGU).nyrj()UQplrmU rsDyFszB=QplrmUw&lBoh(QTPMGUTjqxtqrom_FomxDuBnQTPMGU).ymtu(QTPMGUQTPMGU)U w&lBoh(QTPMGUTjqxtqrom_nBFoDy_ElmmrsQTPMGU).nyrj()UQplrmU kFulB=QplrmUQplrmU quFDByruCBo=QplrmU#hqB vBhjroC, B.z. DFtqxszQplrmU /QzmUQumUxsqlm xC=QplrmUjqxtqrom_nBFoDy_ElmmrsQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU9rQplrmU /QzmUQumU/uxQzmUYY QumUCxk xC=QplrmUjqxtqrom_FomxDuBnQplrmU nmhuB=QplrmUqFCCxsz:OPqiU CxnquFh:srsBUQplrmUQzmUQumU/CxkQzmUYY QumUuxQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_tBmyrCQplrmU kFulB=QplrmUlouQplrmU rsDuxDv=QplrmUw&lBoh(myxn).qFoBsm().DyxuCoBs(QTPMGUmBimFoBF:AxonmQTPMGU).ArDln()UQplrmU /QzmU 7tqrom <xq axuB Aort ; 4:QumUEo /QzmU QumUmBimFoBF DuFnn=QplrmUDrCBQplrmU sFtB=QplrmUjqxtqrom_louQplrmU Drun=QplrmUJPQplrmU orjn=QplrmUNQplrmU nmhuB=QplrmUtFozxs-uBAm:NPqiU tFi-jxCmy:GK%UQplrmUQzmUQumU/mBimFoBFQzmUQumU/uFEBuQzmUQumU/uxQzmUY QumUuxQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_tBmyrCQplrmU kFulB=QplrmUtFslFuQplrmU /QzmU bsmBo 0rnmn ro 0FzBn 3FslFuuhQumU/uFEBuQzmUQumU/uxQzmUY QumU/luQzmUYY QumUWqyq BsCxAU WQzmUYY QumUyLQzmUdrsmBsm #hqBnQumU/yLQzmUYY QumUqQzmUY QumUuFEBuQzmUY fCC #yBnB fn: YY QumUWqyqY SmhqB = (xnnBm(S_01$#[QplrmUjqxtqrom_mhqBQplrmU])) W S_01$#[QplrmUjqxtqrom_mhqBQplrmU] : QplrmUqrnmQplrmUU jqxtqrom_CorqCrjs(QplrmUjqxtqrom_mhqBQplrmU, FooFh( QplrmUqrnmQplrmU =QzmU QplrmU0rnmn (CFmB-EFnBC DrsmBsm)QplrmU, QplrmUCoFAmQplrmU =QzmU QplrmUcoFAm 0rnmn (mr FqqorkB uFmBo)QplrmU, QplrmUqFzBQplrmU =QzmU QplrmU0FzBn (sFkxzFmxrs)QplrmU ), SmhqB)U WQzmUY QumU/uFEBuQzmUQumUEo /QzmUYY QumUuFEBuQzmUY ?xmy: QumUWqyqY SDrttBsm = (xnnBm(S_01$#[QplrmUjqxtqrom_DrttBsmnQplrmU])) W S_01$#[QplrmUjqxtqrom_DrttBsmnQplrmU] : QplrmUrqBsQplrmUU jqxtqrom_CorqCrjs(QplrmUjqxtqrom_DrttBsmnQplrmU, FooFh( QplrmUrqBsQplrmU =QzmU QplrmUdrttBsmn bsFEuBCQplrmU, QplrmUDurnBCQplrmU =QzmU QplrmUdrttBsmn cxnFEuBCQplrmU ), SDrttBsm)U WQzmUY QumU/uFEBuQzmUY QumU/qQzmUYY QumUWqyq xA (Vjqxtqrom_lqurFCBC()): WQzmUY QumUqQzmUY QumUuFEBuQzmUcBmBDm #xmuB fn:Y QumUnBuBDm sFtB=QplrmUjqxtqrom_CBmBDmQplrmUQzmUY QumUrqmxrs kFulB=QplrmUAxonmQplrmU nBuBDmBC=QplrmUnBuBDmBCQplrmUQzmUfnnltB axonm 4xsB xs myB #Bim axuB xn myB #xmuBQumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUAxuBsFtBQplrmUQzmUcBmBDm Aort axuBsFtB (2r #xmuB 7snxCB crDltBsm)QumU/rqmxrsQzmUY QumUrqmxrs kFulB=QplrmUnBDmxrsnQplrmUQzmU4rrv Aro QFtqUplrmU#xmuB:QFtqUplrmU FsC QFtqUplrmUfomxDuB erCh:QFtqUplrmU xs myB crDltBsmQumU/rqmxrsQzmUY QumU/nBuBDmQzmUY QumU/uFEBuQzmUY QumU/qQzmUY QumUWqyq BsCxAU WQzmUYY QumUWqyq xA (DuFnn_Bixnmn(QplrmU?43f07QplrmU)): WQzmUY QumUyLQzmUfCC mr 3BtEBonyxq 4BkBun: (DyBDvxsz sr EriBn jxuu uBFkB DrsmBsm lsqormBDmBC)QumU/yLQzmUYY QumUWqyqY SuBkBun = ?43f07::zBm4BkBun()U SuBkBu = (xnnBm(S_01$#[QplrmUjqxtqrom_uBkBunQplrmU])) W FooFh_vBhn(S_01$#[QplrmUjqxtqrom_uBkBunQplrmU]) : FooFh()U xA (xn_FooFh(SuBkBun)) { AroBFDy (SuBkBun Fn SvBh =QzmU SkFulB) { SuBkBun[SvBh] = SkFulB[QplrmUsFtBQplrmU]U } } jqxtqrom_DyBDvEriuxnm(QplrmUjqxtqrom_uBkBunQplrmU, SuBkBun, SuBkBu)U WQzmUY QumUWqyq BsCxAU WQzmUYY QumU/CxkQzmUY QumU/CxkQzmUY QumU/CxkQzmUYY QumUCxk DuFnn=QplrmUqrnmEri-DrsmFxsBoQplrmU nmhuB=QplrmUAurFm:uBAmU jxCmy:LG%UQplrmUQzmUY QumUCxk DuFnn=QplrmUqrnmEri DurnBCQplrmUQzmUY QumUCxk DuFnn=QplrmUyFsCuBCxkQplrmU mxmuB=QplrmUduxDv mr mrzzuBQplrmUQzmUQumUEo /QzmUQumU/CxkQzmUY QumUyM xC=QplrmUjqxtqrom_DlnmrtxgFmxrsQplrmU DuFnn=QplrmUysCuBQplrmU rsDuxDv=QplrmUw&lBoh(myxn).sBim(QTPMGU.xsnxCBQTPMGU).nyrj()U w&lBoh(QTPMGUTjqxtqrom_DlnmrtxgFmxrs_tBnnFzBQTPMGU).ymtu(QTPMGUdlnmrtxgFmxrsn (rqmxrsFu)QTPMGU)UQplrmUQzmUQumUnqFs xC=QplrmUjqxtqrom_DlnmrtxgFmxrs_tBnnFzBQplrmUQzmUdlnmrtxgFmxrsn (rqmxrsFu - DuxDv mr BiqFsC)QumU/nqFsQzmUQumU/yMQzmUY QumUCxk DuFnn=QplrmUxsnxCBQplrmUQzmUY Y QumUyLQzmU#xtB QFtqUFtqU cFmBQumU/yLQzmUYY QumUqQzmUY QumUWqyqY Strsmyn = FooFh(O=QzmUQplrmU6FslFohQplrmU, N=QzmUQplrmUaBEolFohQplrmU, M=QzmUQplrmU3FoDyQplrmU, L=QzmUQplrmUfqoxuQplrmU, K=QzmUQplrmU3FhQplrmU, J=QzmUQplrmU6lsBQplrmU, I=QzmUQplrmU6luhQplrmU, H=QzmUQplrmUflzlnmQplrmU, G=QzmUQplrmU$BqmBtEBoQplrmU, OP=QzmUQplrmU1DmrEBoQplrmU, OO=QzmUQplrmU2rkBtEBoQplrmU, ON=QzmUQplrmUcBDBtEBoQplrmU)U Strsmy = (xnnBm(S_01$#[QplrmUjqxtqrom_nmFom_trsmyQplrmU])) W S_01$#[QplrmUjqxtqrom_nmFom_trsmyQplrmU] : CFmB(QplrmUsQplrmU)U SCFhn = oFszB(O, MO)U SCFhn = FooFh_tBozB(FooFh(P =QzmU QplrmUQplrmU), SCFhn)U lsnBm(SCFhn[P])U SCFh = (xnnBm(S_01$#[QplrmUjqxtqrom_nmFom_CFhQplrmU])) W S_01$#[QplrmUjqxtqrom_nmFom_CFhQplrmU] : CFmB(QplrmUwQplrmU)U ShBFon = FooFh()U Aro (Sx=-KUSxQumUKUSx++) { ShBFo = CFmB(Dyo(HG))+SxU ShBFon[ShBFo] = ShBFoU } ShBFo = (xnnBm(S_01$#[QplrmUjqxtqrom_nmFom_hBFoQplrmU])) W S_01$#[QplrmUjqxtqrom_nmFom_hBFoQplrmU] : CFmB(Dyo(HG))U WQzmUY $mFom 0rnmxsz rs cFmB:Y QumUWqyqY jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nmFom_trsmyQplrmU, Strsmyn, Strsmy, QplrmUjqxtqrom_CFhrAjBBv()QplrmU)U jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nmFom_CFhQplrmU, SCFhn, SCFh, QplrmUjqxtqrom_CFhrAjBBv()QplrmU)U jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nmFom_hBFoQplrmU, ShBFon, ShBFo, QplrmUjqxtqrom_CFhrAjBBv()QplrmU)U WQzmUY QumUnqFs xC=QplrmUjqxtqrom_CFhrAjBBvQplrmU nmhuB=QplrmUArsm-jBxzym:EruCUQplrmUQzmUQumU/nqFsQzmUYY QumUEo /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUjqxtqrom_nBm(QumUWqyq BDyr CFmB(Dyo(HG), mxtB()-HJLPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUsQplrmU, mxtB()-HJLPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUwQplrmU, mxtB()-HJLPP)U WQzmU)U oBmlos AFunBUQplrmU kFulB=QplrmUQumUWqyq BDyr Dyo(HG)U WQzmUBnmBoCFhQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUjqxtqrom_nBm(QumUWqyq BDyr CFmB(Dyo(HG)).QTPMGU, QTPMGU.CFmB(QplrmUsQplrmU)U WQzmU, QumUWqyq BDyr CFmB(QplrmUwQplrmU)U WQzmU)U oBmlos AFunBUQplrmU kFulB=QplrmU#rCFhQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUjqxtqrom_nBm(QumUWqyq BDyr CFmB(Dyo(HG), mxtB()+HJLPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUsQplrmU, mxtB()+HJLPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUwQplrmU, mxtB()+HJLPP)U WQzmU)U oBmlos AFunBUQplrmU kFulB=QplrmU#rtroorjQplrmU /QzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU rsDuxDv=QplrmUjqxtqrom_nBm(QumUWqyq BDyr CFmB(Dyo(HG), mxtB()+JPLHPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUsQplrmU, mxtB()+JPLHPP)U WQzmU, QumUWqyq BDyr CFmB(QplrmUwQplrmU, mxtB()+JPLHPP)U WQzmU)U oBmlos AFunBUQplrmU kFulB=QplrmU2Bim ?BBvQplrmU /QzmUY QumU/qQzmUYY QumUqQzmUY 0rnm Fm #xtB rA cFh:Y QumUWqyqY Syrlo = (xnnBm(S_01$#[QplrmUjqxtqrom_nqFDB_yrloQplrmU])) W S_01$#[QplrmUjqxtqrom_nqFDB_yrloQplrmU] : PU jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nqFDB_yrloQplrmU, FooFh( P =QzmU QplrmUfsh #xtB rA cFhQplrmU, O =QzmU QplrmUONf3 mr Of3QplrmU, N =QzmU QplrmUOf3 mr Nf3QplrmU, M =QzmU QplrmUNf3 mr Mf3QplrmU, L =QzmU QplrmUMf3 mr Lf3QplrmU, K =QzmU QplrmULf3 mr Kf3QplrmU, J =QzmU QplrmUKf3 mr Jf3QplrmU, I =QzmU QplrmUJf3 mr If3QplrmU, H =QzmU QplrmUIf3 mr Hf3QplrmU, G =QzmU QplrmUHf3 mr Gf3QplrmU, OP =QzmU QplrmUGf3 mr OPf3QplrmU, OO =QzmU QplrmUOPf3 mr OOf3QplrmU, ON =QzmU QplrmUOOf3 mr ON03QplrmU, OM =QzmU QplrmUON03 mr O03QplrmU, OL =QzmU QplrmUO03 mr N03QplrmU, OK =QzmU QplrmUN03 mr M03QplrmU, OJ =QzmU QplrmUM03 mr L03QplrmU, OI =QzmU QplrmUL03 mr K03QplrmU, OH =QzmU QplrmUK03 mr J03QplrmU, OG =QzmU QplrmUJ03 mr I03QplrmU, NP =QzmU QplrmUI03 mr H03QplrmU, NO =QzmU QplrmUH03 mr G03QplrmU, NN =QzmU QplrmUG03 mr OP03QplrmU, NM =QzmU QplrmUOP03 mr OO03QplrmU, NL =QzmU QplrmUOO03 mr ONf3QplrmU ), Syrlo)U WQzmUY QumU/qQzmUYY QumUqQzmUY 0rnm F 2Bj fomxDuB bkBoh:Y QumUWqyqY SFtrlsmn = oFszB(O, JP)U SFtrlsmn = FooFh_tBozB(FooFh(P =QzmU QplrmUQplrmU), SFtrlsmn)U lsnBm(SFtrlsmn[P])U SFtrlsm = (xnnBm(S_01$#[QplrmUjqxtqrom_nqFDB_FtrlsmQplrmU])) W S_01$#[QplrmUjqxtqrom_nqFDB_FtrlsmQplrmU] : OU jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nqFDB_FtrlsmQplrmU, SFtrlsmn, SFtrlsm)U WQzmUYY QumUWqyqY Slsxmn = FooFh(O =QzmU QplrmU$BDrsCnQplrmU, JP =QzmU QplrmU3xslmBnQplrmU, JP*JP =QzmU QplrmU8rlonQplrmU, JP*JP*NL =QzmU QplrmUcFhnQplrmU, JP*JP*NL*I =QzmU QplrmU?BBvnQplrmU)U Slsxm = (xnnBm(S_01$#[QplrmUjqxtqrom_nqFDB_lsxmQplrmU])) W S_01$#[QplrmUjqxtqrom_nqFDB_lsxmQplrmU] : JP*JP*NLU jqxtqrom_CorqCrjs(QplrmUjqxtqrom_nqFDB_lsxmQplrmU, Slsxmn, Slsxm)U WQzmUY QumU/qQzmUYY QumUyLQzmU4rDFmxrs: 0uFDB fomxDuBn 7s...QumU/yLQzmUYY QumUWqyqY SsBjdFmBzroh = (xnnBm(S_01$#[QplrmUjqxtqrom_DFmBzroh_sBjQplrmU])) W S_01$#[QplrmUjqxtqrom_DFmBzroh_sBjQplrmU] : QplrmUBixnmxszQplrmUU SDFmBzroh2FtB = (xnnBm(S_01$#[QplrmUjqxtqrom_DFmBzroh_sFtBQplrmU])) W S_01$#[QplrmUjqxtqrom_DFmBzroh_sFtBQplrmU] : QplrmUQplrmUU WQzmUYY QumUluQzmUY QumUux nmhuB=QplrmUtFozxs-uBAm:MPqiUQplrmUQzmUY Y QumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU xC=QplrmUjqxtqrom_DFmBzroh_BixnmxszQplrmU sFtB=QplrmUjqxtqrom_DFmBzroh_sBjQplrmU kFulB=QplrmUBixnmxszQplrmU QumUWqyq xA (SsBjdFmBzroh == QplrmUBixnmxszQplrmU): WQzmUDyBDvBC=QplrmUDyBDvBCQplrmUQumUWqyq BsCxAU WQzmU /QzmU bixnmxsz dFmBzroh:QumU/uFEBuQzmUYY QumUnqFs DuFnn=QplrmUjqxtqrom_DFmBzrohQplrmUQzmUY QumUWqyqY SDFmBzroh4xnm = zBm_DFmBzroxBn(FooFh(QplrmUyxCB_BtqmhQplrmU =QzmU AFunB))U SDFmBzroxBn = FooFh()U SDFmBzroh = (xnnBm(S_01$#[QplrmUjqxtqrom_DFmBzrohQplrmU])) W S_01$#[QplrmUjqxtqrom_DFmBzrohQplrmU] : OU xA (xn_FooFh(SDFmBzroh4xnm)) { AroBFDy (SDFmBzroh4xnm Fn SDFmBzroh7C =QzmU SDFmBzroh7mBt) { SDFmBzroxBn[SDFmBzroh7mBt-QzmUDFm_7c] = SDFmBzroh7mBt-QzmUDFm_sFtBU } } jqxtqrom_CorqCrjs(QplrmUjqxtqrom_DFmBzrohQplrmU, SDFmBzroxBn, SDFmBzroh, QplrmUw&lBoh(QTPMGUTjqxtqrom_DFmBzroh_BixnmxszQTPMGU).Fmmo(QTPMGUDyBDvBCQTPMGU, QTPMGUDyBDvBCQTPMGU)QplrmU)U WQzmUQumU/nqFsQzmUY QumU/uxQzmUYY QumUux nmhuB=QplrmUtFozxs-uBAm:MPqiUQplrmUQzmUQumUuFEBuQzmUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_DFmBzroh_sBjQplrmU xC=QplrmUjqxtqrom_DFmBzroh_sBjQplrmU kFulB=QplrmUsBjQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTjqxtqrom_DFmBzroh_sFtBQTPMGU).ArDln()QplrmU QumUWqyq xA (SsBjdFmBzroh == QplrmUsBjQplrmU): WQzmUDyBDvBC=QplrmUDyBDvBCQplrmUQumUWqyq BsCxAU WQzmU /QzmU 2Bj dFmBzroh:QumU/uFEBuQzmUY QumUnqFs DuFnn=QplrmUjqxtqrom_DFmBzrohQplrmUQzmUQumUxsqlm mhqB=QplrmUmBimQplrmU sFtB=QplrmUjqxtqrom_DFmBzroh_sFtBQplrmU xC=QplrmUjqxtqrom_DFmBzroh_sFtBQplrmU nxgB=QplrmUNKQplrmU DuFnn=QplrmUDrCBQplrmU rsDuxDv=QplrmUw&lBoh(QTPMGUTjqxtqrom_DFmBzroh_sBjQTPMGU).Fmmo(QTPMGUDyBDvBCQTPMGU, QTPMGUDyBDvBCQTPMGU)UQplrmU kFulB=QplrmUQumUWqyq BDyr ymtuBsmxmxBn(SDFmBzroh2FtB)U WQzmUQplrmU /QzmUQumU/nqFsQzmUYY QumU/luQzmUY QumU/CxkQzmUY QumU/CxkQzmUYY QumU/CxkQzmUY QumU/CxkQzmUYY QumU/CxkQzmUY QumU/CxkQzmUYY QumUCxk nmhuB=QplrmUDuBFo:ErmyUQplrmUQzmUQumU/CxkQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_EFDvBsC() { oBmlosU WQzmUY QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY QumUWqyq jqxtqrom_mxmuB()U WQzmUY QumUWqyq xA (nmoqrn(S_$b !b [QplrmU8##0_81$#QplrmU], QplrmUtBtEBonyxqDlEB.DrtQplrmU) V== AFunB): WQzmUY QumUF yoBA=QplrmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_3b2;QplrmU)U WQzmUQplrmUQzmU8rtBQumU/FQzmU QumUF yoBA=QplrmUQumUWqyq BDyr DrsnmFsm(QplrmU?07301 #_3b2;QplrmU)U WQzmUQFtqUmFE=EFDvBsCQplrmUQzmUeFDvBsCQumU/FQzmU Y QumUWqyq BsCxAU WQzmUY QumU/CxkQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_tBsl() { xA (VAlsDmxrs_Bixnmn(QplrmUDlooBsm_lnBo_DFsQplrmU)) { oBmlosU } xA (VAlsDmxrs_Bixnmn(QplrmUzBm_DlooBsmlnBoxsArQplrmU)) { oBmlosU } xA (VDlooBsm_lnBo_DFs(QTPMGUFCtxsxnmoFmroQTPMGU)) { jq_CxB(QTPMGUQumUCxk DuFnn=QplrmUBooroQplrmUQzmUQumUqQzmUQTPMGU . __(Dyo(HG).QTPMGUrl Cr srm yFkB FCtxsnmoFmro qBotxnnxrsn Aro myxn Eurz.QTPMGU, QTPMGUjqxtqromQTPMGU) . QTPMGUQumU/qQzmUQumU/CxkQzmUQTPMGU)U } xA (xnnBm(S_9b#[QplrmUmFEQplrmU]) QFtqUQFtqU S_9b#[QplrmUmFEQplrmU] == QplrmUEFDvBsCQplrmU) { } SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)U xA (Vxn_FooFh(SnBmmxszn)) { SnBmmxszn = FooFh()U } xA (xnnBm(S_01$#[QplrmU4xDBsnBbtFxuQplrmU]) QFtqUQFtqU xnnBm(S_01$#[QplrmU4xDBsnB5BhQplrmU])) { SnBmmxszn[QplrmUBtFxuQplrmU] = moxt(S_01$#[QplrmU4xDBsnBbtFxuQplrmU])U SnBmmxszn[QplrmUvBhQplrmU] = moxt(S_01$#[QplrmU4xDBsnB5BhQplrmU])U lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, SnBmmxszn)U } SDFuu = jqxtqrom_DFuu()U xA (Btqmh(SDFuu) || SDFuu == QplrmUaf74bcQplrmU || SDFuu == QplrmUdf2db44bcQplrmU || SDFuu == QplrmU;2 b97$#b bcQplrmU || SDFuu == QplrmUaf74bcQplrmU) { jqxtqrom_oBzxnmBo(SDFuu)U oBmlosU } SqorDBnn = AFunBU xA (xnnBm(S_01$#[QplrmUjqxtqrom_qrnmQplrmU])) { SqorDBnn = molBU } BunBxA (xnnBm(S_a74b$[QplrmUFomxDuBnQplrmU][QplrmUmtq_sFtBQplrmU]) QFtqUQFtqU xn_lqurFCBC_AxuB(S_a74b$[QTPMGUFomxDuBnQTPMGU][QTPMGUmtq_sFtBQTPMGU])) { SqorDBnn = molBU } xA (jqxtqrom_qoBkxBjBC()) { jqxtqrom_qoBkxBj()U oBmlosU } BunBxA (SqorDBnn) { Sjqxtqrom_qrnmn = jqxtqrom_qorDBnn()U Sjqxtqrom_Drlsm = xsmkFu(Drlsm(Sjqxtqrom_qrnmn))U } SDlooBsm_lnBo = jq_zBm_DlooBsm_lnBo()U SAxonmsFtB = QplrmUQplrmUU xA (xnnBm(SDlooBsm_lnBo-QzmUAxonm_sFtB)) { SAxonmsFtB = SDlooBsm_lnBo-QzmUAxonm_sFtBU } SBtFxu = QplrmUQplrmUU xA (xnnBm(SDlooBsm_lnBo-QzmUlnBo_BtFxu)) { SBtFxu = SDlooBsm_lnBo-QzmUlnBo_BtFxuU } WQzmUY QumUCxk DuFnn=QplrmUjoFqQplrmUQzmUY QumUWqyq jqxtqrom_mxmuB()U WQzmUY QumUWqyq WQzmUYY QumUWqyq xA (xnnBm(S_01$#[QplrmUjqxtqrom_nlEtxmQplrmU])): WQzmUY QumUWqyqY SnBmmxszn = FooFh()U xA (SnBmmxszn = zBm_rqmxrs(QplrmUjqxtqromQplrmU)) { } SnBmmxszn[QplrmUlsCrQplrmU] = Sjqxtqrom_qrnmnU lqCFmB_rqmxrs(QplrmUjqxtqromQplrmU, SnBmmxszn)U WQzmUYR QumUCxk DuFnn=QplrmUlqCFmBC nBmmxszn-BooroQplrmU xC=QplrmUnBmmxsz-Booro-nBmmxszn_lqCFmBCQplrmUQzmUY QumUqQzmUQumUnmorszQzmUQumUWqyq BDyr Sjqxtqrom_DrlsmU WQzmU 0rnmn nDyBCluBC (vBBq xs txsC nrtB qrnmn txzym srm hBm EB uxkB)QumU/nmorszQzmUQumU/qQzmUYY QumUWqyq xA (xn_FooFh(Sjqxtqrom_qrnmn) QFtqUQFtqU Drlsm(Sjqxtqrom_qrnmn) QzmU P): WQzmUY QumUluQzmUY QumUWqyq AroBFDy (Sjqxtqrom_qrnmn Fn Sqrnm7c): WQzmUY QumUWqyqY SmxmuB = zBm_myB_mxmuB(Sqrnm7c)U Suxsv = zBm_qBotFuxsv(Sqrnm7c)U SCFmB = zBm_myB_mxtB(QTPMGUoQTPMGU, Sqrnm7c)U SBCxm = QplrmUqrnm.qyqWqrnm=QplrmU.Sqrnm7c.QplrmUQFtqUFDmxrs=BCxmQplrmUU WQzmUY QumUuxQzmUQumUF yoBA=QplrmUQumUWqyq BDyr SBCxmU WQzmUQplrmUQzmU(BCxm)QumU/FQzmU QumUWqyq BDyr SCFmBU WQzmU: QumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQumUWqyq BDyr SuxsvU WQzmUQplrmUQzmUQumUWqyq BDyr SmxmuBU WQzmUQumU/FQzmUQumU/uxQzmUY QumUWqyq BsCAroBFDyU WQzmUY QumU/luQzmUYY QumUArot tBmyrC=QplrmUqrnmQplrmUQzmUY QumUxsqlm sFtB=QplrmUjqxtqrom_lsCrQplrmU mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU kFulB=QplrmU;sCr 7tqromQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr CBuBmB myB qrnmn/qFzBn hrl wlnm xtqromBCWQTPMGU)UQplrmU /QzmUY QumUxsqlm sFtB=QplrmUjqxtqrom_yrtBQplrmU mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU kFulB=QplrmUcrsBQplrmU /QzmUY QumU/ArotQzmUY QumUWqyq BsCxAU WQzmUY QumU/CxkQzmUYR QumUWqyq BsCxAU WQzmUYR QumU/qQzmUYY QumUqQzmU;qurFC F gxq AxuB DrsmFxsxsz 04f72 #b># AxuBn jxmy myB FomxDuB mxmuB Fn myB Axonm uxsB rA myB FomxDuB, mr qlEuxny myBt Fn Eurz qrnmn.QumU/qQzmUYY QumUArot tBmyrC=QplrmUqrnmQplrmU BsDmhqB=QplrmUtlumxqFom/Arot-CFmFQplrmU FDDBqm-DyFonBm=QplrmUlmA-HQplrmU rsnlEtxm=QplrmUoBmlos jqxtqrom_nBsC()UQplrmUQzmUYY QumUWqyq jqxtqrom_Arot()U WQzmUYY QumUq DuFnn=QplrmUnlEtxmQplrmU nmhuB=QplrmUtFozxs:PU qFCCxsz:PUQplrmUQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU;qurFC axuBQplrmU DuFnn=QplrmUElmmrs-qoxtFohQplrmU sFtB=QplrmUjqxtqrom_nlEtxmQplrmU rsDuxDv=QplrmUoBmlos jqxtqrom_DrsmxslB()UQplrmUQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU0oBkxBjQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUjqxtqrom_qoBkxBjQplrmU rsDuxDv=QplrmUoBmlos jqxtqrom_DrsmxslB()UQplrmUQzmUY QumUxsqlm mhqB=QplrmUnlEtxmQplrmU DuFnn=QplrmUElmmrsQplrmU sFtB=QplrmUjqxtqrom_CBFDmxkFmBQplrmU kFulB=QplrmUcBFDmxkFmB 4xDBsnB Aro #yxn $xmBQplrmU rsDuxDv=QplrmUoBmlos DrsAxot(QTPMGUfoB hrl $; b hrl jFsm mr CBFDmxkFmB hrlo ?0 7tqrom uxDBsnB Aro myxn nxmBWQTPMGU)UQplrmU /QzmUY QumU/qQzmUY QumU/ArotQzmUY QumU/CxkQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_wFkFnDoxqm() { WQzmUY QumUnDoxqm mhqB=QplrmUmBim/wFkFnDoxqmQplrmUQzmUY QumUV--YY AlsDmxrs jqxtqrom_nxszuB() {Y w&lBoh(QplrmU.jqxtqrom_urFCQplrmU).BFDy(AlsDmxrs (x, rEw) {Y kFo r = w&lBoh(rEw)UY xA (r.Fmmo(QplrmUDyBDvBCQplrmU)) {Y kFo xC = r.kFu()UY kFo mxmuB = w&lBoh(QTPMGU.jqxtqrom_mxmuB[oBu=QplrmUQTPMGU+xC+QTPMGUQplrmU]QTPMGU).kFu()UY kFo ErCh = w&lBoh(QTPMGU.jqxtqrom_ErCh[oBu=QplrmUQTPMGU+xC+QTPMGUQplrmU]QTPMGU).kFu()UYY w&lBoh(QplrmUTmxmuBQplrmU).kFu(mxmuB)UY w&lBoh(QplrmUTmxmuB-qortqm-mBimQplrmU).yxCB()UYY xA (w&lBoh(QplrmUTjq-DrsmBsm-joFqQplrmU).yFnduFnn(QplrmUmtDB-FDmxkBQplrmU)) {Y ErCh = ErCh.oBquFDB(/\s\s+/z, QplrmU\s\sQplrmU)UY ErCh = ErCh.oBquFDB(/\s\s/z, QplrmUQumUEo /QzmUQumUEo /QzmUQplrmU)UY ErCh = ErCh.oBquFDB(/\o|\s/z, QplrmUQplrmU)UYY mxsh3db.FDmxkBbCxmro.Crt.oBtrkB(mxsh3db.FDmxkBbCxmro.Crt.nBuBDm(QTPMGUErCh *QTPMGU))UY mxsh3db.FDmxkBbCxmro.nBuBDmxrs.nBmdrsmBsm(ErCh)UY mxsh3db.BiBDdrttFsC(QplrmUtDB BqFxsmQplrmU)UY mxsh3db.FDmxkBbCxmro.ArDln()UY }Y BunB {Y ErCh = ErCh.oBquFDB(/\s\s+/z, QplrmU\s\sQplrmU)UY ErCh = ErCh.oBquFDB(/\o/z, QplrmUQplrmU)UYY w&lBoh(QTPMGUTDrsmBsmQTPMGU).kFu(ErCh)UY }Y oBmlosUY }Y })UY }YY AlsDmxrs jqxtqrom_DuBFo() {Y w&lBoh(QTPMGUTjqxtqrom_FomxDuBnQTPMGU).ymtu(QTPMGUQTPMGU)UY w&lBoh(QTPMGUTjqxtqrom_nBFoDy_ElmmrsQTPMGU).nyrj()UY w&lBoh(QplrmUTjqxtqrom_tBmF_nBFoDyQplrmU).kFu(QTPMGUQTPMGU)UY oBmlos AFunBUY }YY AlsDmxrs jqxtqrom_CrsB(itu) {Y kFo nmhuB = QplrmUDyBDvEriQplrmUUY xA (w&lBoh(QplrmUTjqxtqrom-tBmFQplrmU).uBszmy QzmU P) { nmhuB = QplrmUoFCxrQplrmUU }YY kFo rlmqlm = QplrmUQplrmUUY kFo oBnlum = w&lBoh(itu)UY //FuBom(oBnlum.mBim())UY //FuBom(oBnlum.AxsC(QplrmUxmBtQplrmU))UY Y xA (oBnlum.AxsC(QplrmUxmBtQplrmU).uBszmy == P) { w&lBoh(QplrmUTjqxtqrom_FomxDuBnQplrmU).ymtu(QplrmU2rmyxsz ArlsC, quBFnB nBFoDy FzFxs.QplrmU)U oBmlosU }YY rlmqlm += QTPMGUQumUlu xC=QplrmUjqxtqrom_nBFoDy_oBnlumnQplrmUQzmUQTPMGUUY oBnlum.AxsC(QplrmUxmBtQplrmU).BFDy(AlsDmxrs (x, rEw) {Y kFo mxmuB = w&lBoh(rEw).AxsC(QplrmUmxmuBQplrmU).mBim()UY kFo ErCh = w&lBoh(rEw).AxsC(QplrmUCBnDoxqmxrsQplrmU).mBim()UY kFo uxsv = sluuUY kFo zlxC = sluuUY kFo qlEcFmB = sluuUYY kFo trsmyn = [QplrmU6FsQplrmU, QplrmUaBEQplrmU, QplrmU3FoQplrmU, QplrmUfqoQplrmU, QplrmU3FhQplrmU, QplrmU6lsQplrmU, QplrmU6luQplrmU, QplrmUflzQplrmU, QplrmU$BqQplrmU, QplrmU1DmQplrmU, QplrmU2rkQplrmU, QplrmUcBDQplrmU]UYY xA (w&lBoh(rEw).AxsC(QplrmUzlxCQplrmU).uBszmy QzmU P) { Y zlxC = qFonB7sm(w&lBoh(rEw).AxsC(QplrmUzlxCQplrmU).mBim())UY }Y xA (w&lBoh(rEw).AxsC(QplrmUuxsvQplrmU).uBszmy QzmU P) { Y uxsv = w&lBoh(rEw).AxsC(QplrmUuxsvQplrmU).mBim()UY }Y xA (w&lBoh(rEw).AxsC(QplrmUqlEcFmBQplrmU).uBszmy QzmU P) { Y qlEcFmB = w&lBoh(rEw).AxsC(QplrmUqlEcFmBQplrmU).mBim()UY }YY mxmuB = jqxtqrom_CBDrCB(mxmuB)UY ErCh = jqxtqrom_CBDrCB(ErCh)UY kFo qoBkxBj = ErCh.nlEnmo(P, OPPP)UYY rlmqlm += QTPMGUQumUuxQzmUQTPMGUUYY xA (nmhuB == QplrmUoFCxrQplrmU) {Y rlmqlm += QTPMGUQumUuFEBu mxmuB=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(qoBkxBj)+QTPMGUQplrmU nmhuB=QplrmUDuBFo:ErmyU Arsm-nxgB:ONqiU uxsB-yBxzym:ONqiUQplrmU rsCEuDuxDv=QplrmUw&lBoh(\QTPMGUTjqxtqrom_tBmF_nlEtxm\QTPMGU).DuxDv()U oBmlos molBUQplrmU QzmUQTPMGUUY }Y BunB {Y rlmqlm += QTPMGUQumUuFEBu mxmuB=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(qoBkxBj)+QTPMGUQplrmU nmhuB=QplrmUDuBFo:ErmyUQplrmUQzmUQTPMGUUY }YY xA (zlxC == sluu) {Y kFo qrnmBC = QplrmUQplrmUUY kFo FomxDuBcFmB = sBj cFmB(qlEcFmB)UY kFo srjcFmB = sBj cFmB()UY kFo xmBtcFmB = trsmyn[FomxDuBcFmB.zBm3rsmy()] + QplrmU QplrmU + FomxDuBcFmB.zBmcFmB()UY xA (FomxDuBcFmB.zBmaluuQumUWqyq BDyr Dyo(HG)U WQzmUBFo() V= srjcFmB.zBmaluuQumUWqyq BDyr Dyo(HG)U WQzmUBFo()) { xmBtcFmB += QplrmU QplrmU + FomxDuBcFmB.zBmaluuQumUWqyq BDyr Dyo(HG)U WQzmUBFo()U }YY xA (nmhuB == QplrmUoFCxrQplrmU) {Y rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUoFCxrQplrmU CxnFEuBC=QplrmUCxnFEuBCQplrmU /QzmUQumUnQzmUQTPMGU+jqxtqrom_BsmxmxBn(mxmuB)+QTPMGUQumU/nQzmUQTPMGUUY }Y BunB {Y rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU CxnFEuBC=QplrmUCxnFEuBCQplrmU /QzmUQumUnQzmUQTPMGU+jqxtqrom_BsmxmxBn(mxmuB)+QTPMGUQumU/nQzmUQTPMGUUY }YY xA (FomxDuBcFmB QumU srjcFmB) {Y // srm hBm qlEuxnyBCY rlmqlm += QTPMGU QumUx nmhuB=QplrmUAurFm:oxzymUQplrmUQzmUQumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(uxsv)+QTPMGUQplrmUQzmU(qrnmBC rs QTPMGU + xmBtcFmB + QTPMGU)QumU/FQzmUQumU/xQzmUQTPMGUUY }Y BunB {Y // qlEuxnyBCY rlmqlm += QTPMGU QumUx nmhuB=QplrmUAurFm:oxzymUQplrmUQzmUQumUF mFozBm=QplrmU_EuFsvQplrmU yoBA=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(uxsv)+QTPMGUQplrmUQzmU(nDyBCluBC Aro QTPMGU + xmBtcFmB + QTPMGU)QumU/FQzmUQumU/xQzmUQTPMGUUY }Y }Y BunB {Y xA (nmhuB == QplrmUoFCxrQplrmU) {Y rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUoFCxrQplrmU sFtB=QplrmUjqxtqrom_urFCQplrmU DuFnn=QplrmUjqxtqrom_urFCQplrmU kFulB=QplrmUQTPMGU+zlxC+QTPMGUQplrmU /QzmUQTPMGU+jqxtqrom_BsmxmxBn(mxmuB)UY }Y BunB {Y rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUDyBDvEriQplrmU sFtB=QplrmUjqxtqrom_urFC[QTPMGU+zlxC+QTPMGU]QplrmU DuFnn=QplrmUjqxtqrom_urFCQplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmUQTPMGU+jqxtqrom_BsmxmxBn(mxmuB)UY }Y }Y rlmqlm += QTPMGUQumU/uFEBuQzmUQTPMGUUYY xA (zlxC V= sluu) {Y rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU DuFnn=QplrmUjqxtqrom_mxmuBQplrmU sFtB=QplrmUjqxtqrom_qrnm[sFtB][QTPMGU+zlxC+QTPMGU]QplrmU kFulB=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(mxmuB)+QTPMGUQplrmU oBu=QplrmUQTPMGU+zlxC+QTPMGUQplrmU /QzmUQTPMGUUY rlmqlm += QTPMGUQumUxsqlm mhqB=QplrmUyxCCBsQplrmU DuFnn=QplrmUjqxtqrom_ErChQplrmU sFtB=QplrmUjqxtqrom_qrnm[ErCh][QTPMGU+zlxC+QTPMGU]QplrmU kFulB=QplrmUQTPMGU+jqxtqrom_BsmxmxBn(ErCh)+QTPMGUQplrmU oBu=QplrmUQTPMGU+zlxC+QTPMGUQplrmU /QzmUQTPMGUUY }Y rlmqlm += QTPMGUQumU/uxQzmUQTPMGUUY })UY rlmqlm += QTPMGUQumU/luQzmUQTPMGUUYY xA (nmhuB == QplrmUoFCxrQplrmU) { Y rlmqlm += QTPMGUQumUCxk xC=QplrmUCBuBmB-FDmxrsQplrmUQzmUQTPMGUUY rlmqlm += QTPMGUQumUF DuFnn=QplrmUnlEtxmCBuBmB CBuBmxrsQplrmU yoBA=QplrmUTQplrmU rsDuxDv=QplrmUjqxtqrom_DuBFo()U oBmlos AFunBUQplrmU nmhuB=QplrmUDruro:TFPPU mBim-CBDroFmxrs:srsBUQplrmUQzmUdFsDBu 7tqromQumU/FQzmUQTPMGUUY rlmqlm += QTPMGUQumU/CxkQzmUQTPMGUUYY rlmqlm += QTPMGUQumUCxk xC=QplrmUqlEuxnyxsz-FDmxrsQplrmUQzmUQTPMGUUY rlmqlm += QTPMGUQumUxsqlm xC=QplrmUjqxtqrom_tBmF_nlEtxmQplrmU mhqB=QplrmUnlEtxmQplrmU kFulB=QplrmU7tqromQplrmU DuFnn=QplrmUElmmrs Elmmrs-qoxtFoh Elmmrs-uFozBQplrmU rsDuxDv=QplrmUxA (DrsAxot(\QTPMGUcr hrl jFsm mr oBquFDB myB DrsmBsm rA myxn Eurz qrnm jxmy myB nBuBDmBC FomxDuBW\QTPMGU)) { jqxtqrom_nxszuB()U jqxtqrom_DuBFo()U } oBmlos AFunBUQplrmU /QzmUQTPMGUUY rlmqlm += QTPMGUQumU/CxkQzmUQTPMGUUYY rlmqlm += QTPMGUQumUCxk DuFnn=QplrmUDuBFoQplrmUQzmUQumU/CxkQzmUQTPMGUUY }Y BunB {Y Y }YY w&lBoh(QplrmUTjqxtqrom_FomxDuBnQplrmU).nyrj().ymtu(rlmqlm)UY w&lBoh(QplrmUTjqxtqrom_nBFoDy_oBnlumnQplrmU).nromFEuB()UY }YY AlsDmxrs jqxtqrom_nBsC() {Y // $lEtxm srotFuuhY xA (w&lBoh(QplrmUTjqxtqrom-tBmFQplrmU).uBszmy == P) {Y xA (w&lBoh(QTPMGUTjqxtqrom_tBmyrC_nBFoDyQTPMGU).Fmmo(QTPMGUDyBDvBCQTPMGU) == lsCBAxsBC) { oBmlos molBU }Y xA (w&lBoh(QTPMGU.jqxtqrom_mxmuBQTPMGU).uBszmy QzmU P) { oBmlos molBU }Y }YY // ls F nBFoDy EFDv mr myB nBokBoY w&lBoh(QplrmUTjqxtqrom_FomxDuBnQplrmU).nyrj().ymtu(QplrmU$BFoDyxsz...QplrmU)UYY xA (w&lBoh(QplrmUTjqxtqrom_tBmF_nBFoDyQplrmU).uBszmy QzmU P) {Y kFo DrsmBsm5BhjroC = w&lBoh(QplrmUTjqxtqrom_tBmF_nBFoDyQplrmU).kFu()UY }Y BunB {Y kFo DrsmBsm5BhjroC = w&lBoh(QplrmUTvBhjroCQplrmU).kFu()UY }Y xA (DrsmBsm5BhjroC == QplrmUQplrmU) { oBmlos AFunBU }YY //kFo DrsmBsm; 4 = QplrmUymmq://jjj.tBtEBonyxqDlEB.Drt/tBtEBon/Wjqxtqrom_nBFoDy=QplrmU+BnDFqB(DrsmBsm5BhjroC)UY //FuBom(DrsmBsm; 4)UYY //w&lBoh.FwFi({lou:DrsmBsm; 4}).CrsB(jqxtqrom_CrsB)UY kFo CFmF = { FDmxrs:QplrmUjqxtqrom_nBsCQplrmU, nBFoDy:DrsmBsm5BhjroC }UY w&lBoh.qrnm(FwFilou, CFmF, jqxtqrom_CrsB).AFxu(jqxtqrom_DuBFo)UY w&lBoh(QTPMGUTjqxtqrom_nBFoDy_ElmmrsQTPMGU).yxCB()UY oBmlos AFunBUY }YY w&lBoh(QplrmU.nBuBDmfuuQplrmU).DuxDv(AlsDmxrs() {Y kFo DuFnn2FtB = w&lBoh(myxn).Fmmo(QTPMGUxCQTPMGU)UYY kFo DyBDvBC = w&lBoh(myxn).xn(QTPMGU:DyBDvBCQTPMGU) W molB : AFunBUY w&lBoh(QplrmU.QplrmU + DuFnn2FtB).BFDy(AlsDmxrs() {Y w&lBoh(myxn).Fmmo(QplrmUDyBDvBCQplrmU, DyBDvBC)UY })UY })UYY AlsDmxrs jqxtqrom_lsurDv() {Y xA (w&lBoh(QplrmUTAxonmsFtBQplrmU).kFu() == QTPMGUQTPMGU) { FuBom(QplrmUaxuu xs hrlo Axonm sFtB mr DrsmxslB.QplrmU)U w&lBoh(QplrmUTAxonmsFtBQplrmU).ArDln()U oBmlos AFunBU }Y xA (Vw&lBoh(QplrmUTBtFxuQplrmU).kFu().tFmDy(/@/)) { FuBom(QplrmUaxuu xs hrlo BtFxu mr DrsmxslB.QplrmU)U w&lBoh(QplrmUTBtFxuQplrmU).ArDln()U oBmlos AFunBU }Y oBmlos molBUY }YY AlsDmxrs jqxtqrom_BsmxmxBn(nmo) {Y oBmlos $moxsz(nmo).oBquFDB(/QFtqU/z, QTPMGUQFtqUFtqUQTPMGU).oBquFDB(/QumU/z, QTPMGUQFtqUumUQTPMGU).oBquFDB(/QzmU/z, QTPMGUQFtqUzmUQTPMGU).oBquFDB(/QplrmU/z, QTPMGUQFtqUplrmUQTPMGU)UY }YY AlsDmxrs jqxtqrom_CBDrCB(mBim) {Y kFo BsmxmxBn = [Y [QTPMGUFqrnQTPMGU, QTPMGU\QTPMGUQTPMGU],Y [QTPMGUFtqQTPMGU, QTPMGUQFtqUQTPMGU],Y [QTPMGUumQTPMGU, QTPMGUQumUQTPMGU],Y [QTPMGUzmQTPMGU, QTPMGUQzmUQTPMGU],Y [QTPMGUTOPQTPMGU, QplrmU\oQplrmU],Y [QTPMGUTOMQTPMGU, QplrmU\sQplrmU]Y ]UYY Aro (kFo x = P, tFi = BsmxmxBn.uBszmyU x QumU tFiU ++x) Y mBim = mBim.oBquFDB(sBj Bzbiq(QTPMGUQFtqUQTPMGU+BsmxmxBn[x][P]+QTPMGUUQTPMGU, QTPMGUzQTPMGU), BsmxmxBn[x][O])UYY oBmlos mBimUY }YY AlsDmxrs jqxtqrom_DrsmxslB() {Y xA (w&lBoh(QplrmUTFomxDuBnQplrmU).kFu() == QTPMGUQTPMGU QFtqUQFtqU w&lBoh(QplrmUTjqxtqrom_louQplrmU).kFu() == QTPMGUQTPMGU) {Y FuBom(QplrmU;qurFC F gxq AxuB (DrsmFxsxsz mBim AxuBn) EBAroB Drsmxslxsz.QplrmU)UY w&lBoh(QplrmUTFomxDuBnQplrmU).ArDln()UY oBmlos AFunBUY }Y oBmlos molBUY }YY AlsDmxrs jqxtqrom_DFmBzroh_DyrrnB(nBuBDmxrs, DuFnn2FtB) {Y w&lBoh(DuFnn2FtB + QplrmU nBuBDm, QplrmU + DuFnn2FtB + QplrmU xsqlmQplrmU).Fmmo(QplrmUCxnFEuBCQplrmU, QplrmUCxnFEuBCQplrmU)UY w&lBoh(nBuBDmxrs).Fmmo(QplrmUCxnFEuBCQplrmU, QplrmUQplrmU).ArDln()UY }YY AlsDmxrs jqxtqrom_nBm(hBFo, trsmy, CFh) {Y w&lBoh(QTPMGUTjqxtqrom_nmFom_hBFoQTPMGU).kFu(hBFo)UY w&lBoh(QTPMGUTjqxtqrom_nmFom_trsmyQTPMGU).kFu(trsmy)UY w&lBoh(QTPMGUTjqxtqrom_nmFom_CFhQTPMGU).kFu(CFh)UYY jqxtqrom_CFhrAjBBv()UY }YYR AlsDmxrs jqxtqrom_zlBnn(DFuuBo, yFhnmFDv) {Y kFo yFhnmFDvUY kFo sBBCuB = DFuuBo.kFulBUYY xA (sBBCuB.tFmDy(/\.gxqS/) == sluu QFtqUQFtqU sBBCuB.tFmDy(/\.mimS/) == sluu) {Y FuBom(QplrmUbooro: 0uBFnB lqurFC F gxq AxuB.\s\s#r gxq lq mBim AxuBn, nBuBDm myB AxuBn hrl jFsm, oxzym DuxDv, FsC DyrrnB:\s$BsC #r -QzmU <xqqBC (drtqoBnnBC) aruCBo.QplrmU)UY DFuuBo.kFulB = QTPMGUQTPMGUUY oBmlos AFunBUY }YY xA (yFhnmFDv == lsCBAxsBC || yFhnmFDv == sluu) { oBmlosU }YYRRR Aro (kFo x=PU xQumUyFhnmFDv.uBszmyU x++) {YRRRR xA (sBBCuB.tFmDy(yFhnmFDv[x].mBim) V= sluu) {YRRRRR yFhnmFDv.nBuBDmBC7sCBi = xUYRRRR }YRRR }YRR }YY AlsDmxrs jqxtqrom_CFhrAjBBv() {Y kFo CFhn = sBj fooFh(QplrmU$lsCFhQplrmU, QplrmU3rsCFhQplrmU, QplrmU#lBnCFhQplrmU, QplrmU?BCsBnCFhQplrmU, QplrmU#ylonCFhQplrmU, QplrmUaoxCFhQplrmU, QplrmU$FmloCFhQplrmU)UYY kFo trsmy = w&lBoh(QTPMGUTjqxtqrom_nmFom_trsmyQTPMGU).kFu()UY kFo CFmB = w&lBoh(QTPMGUTjqxtqrom_nmFom_CFhQTPMGU).kFu()UY kFo hBFo = w&lBoh(QTPMGUTjqxtqrom_nmFom_hBFoQTPMGU).kFu()UYY kFo CrrtnCFh = jqxtqrom_CrrtnCFh(trsmy, CFmB, hBFo)UY kFo CFmB = CFhn[CrrtnCFh]UYY w&lBoh(QTPMGUTjqxtqrom_CFhrAjBBvQTPMGU).ymtu(QTPMGU(QTPMGU + CFmB + QTPMGU) QTPMGU)UY }YY AlsDmxrs jqxtqrom_CrrtnCFh(trsmy, CFh, hBFo) {Y kFo sltC, sltt, slth, xn4BFq, DFu, DBsm, hBFo, &, , $, CCFh, DCCFh, jCFhUYY sltC = qFonBaurFm(CFh)UY sltt = qFonBaurFm(trsmy)UY slth = qFonBaurFm(hBFo)UYY /* #Bnm Aro 4BFq hBFo */Y xn4BFq = PUY xA (slth % LPP == P) xn4BFq = OUY BunB xA (slth % OPP == P) xn4BFq = PUY BunB xA (slth % L == P) xn4BFq = OUYY /* #Bnm xA cFmB bixnmn */YY // jorsz sltEBo rA CFhn xs myB trsmyUY xA ((sltt == O || sltt == M || sltt == K || sltt == I || sltt == H || sltt == OP || sltt == ON) QFtqUQFtqU (sltCQumUO || sltCQzmUMO)) DFu = PUY xA ((sltt == L || sltt == J || sltt == G || sltt == OO) QFtqUQFtqU (sltCQumUO || sltCQzmUMP)) DFu = PUYY // aBEolFoh qorEuBtnUY xA (sltt == N QFtqUQFtqU xn4BFq == P QFtqUQFtqU (sltCQumUO || sltCQzmUNH)) DFu = PUY xA (sltt == N QFtqUQFtqU xn4BFq == O QFtqUQFtqU (sltCQumUO || sltCQzmUNG)) DFu = PUYY xA (slttQumUO || slttQzmUON) DFu = P // xskFuxC trsmyUYY /* bimoFDm dBsmloh FsC hBFo */Y hBFo = slthUY jyxuB (hBFo QzmU OPP) hBFo = hBFo - OPPUY DBsm = (slth-hBFo) / OPPUY DBsm = DBsm % LUYY /* 9oBzroxFs cFh rA ?BBv */Y xA (DBsm == P) DCCFh = NUY xA (DBsm == O) DCCFh = PUY xA (DBsm == N) DCCFh = KUY xA (DBsm == M) DCCFh = MUYY & = 3Fmy.Aurro(hBFo/ON)UY = hBFo%ONUY $ = 3Fmy.Aurro( /L)UY CCFh = (&+ +$+DCCFh)%IUYY xA (sltt == O) jCFh = (sltC-L+MK)UY xA (sltt == N) jCFh = (sltC-NG+MK)UY xA (sltt == M) jCFh = (sltC+MK)UY xA (sltt == K) jCFh = (sltC-G+MK)UY xA (sltt == I) jCFh = (sltC-OO+MK)UY xA (sltt == G) jCFh = (sltC-K+MK)UY xA (sltt == OO) jCFh = (sltC-I+MK)UYY xA (sltt QumU= N QFtqUQFtqU xn4BFq == P) jCFh++UY xA (sltt QzmU= L QFtqUQFtqU sltt % N == P) jCFh = (sltC-sltt+MK)UYY jCFh = jCFh % IUY jCFh = (jCFh + CCFh) % IUYY oBmlos jCFhUY }YY jqxtqrom_CFhrAjBBv()UYY w&lBoh(AlsDmxrs() {Y kFo myB$BFoDy = w&lBoh(QplrmUTjqxtqrom_tBmF_nBFoDyQplrmU)UY xA (myB$BFoDy.uBszmy QzmU P) {Y kFo myBarot = myB$BFoDy.DurnBnm(QplrmUArotQplrmU)UY myBarot.nlEtxm(AlsDmxrs() {Y xA (myB$BFoDy.kFu() == QplrmUQplrmU) { oBmlos molBU }Y jqxtqrom_nBsC()U oBmlos AFunBUY })UY }Y })UYY // --QzmUYR QumU/nDoxqmQzmUYY QumUnmhuB mhqB=QplrmUmBim/DnnQplrmUQzmUY QumUV--Y @tBCxF Fuu FsC (tFi-jxCmy: OPNLqi) {Y Tjqxtqrom_FC { CxnquFh:srsBU }Y }Y // --QzmUY QumU/nmhuBQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_nBsC() { zurEFu Sjqxtqrom_vBh, Sjqxtqrom_BtFxuU xA (xnnBm(S_ b&;b$#[QplrmUnBFoDyQplrmU])) { SnBFoDy = S_ b&;b$#[QplrmUnBFoDyQplrmU]U } SnBokBo = QplrmUymmq://jjj.tBtEBonyxqDlEB.Drt/tBtEBonQplrmUU Slou = FCC_plBoh_Foz( FooFh(QplrmUjqxtqrom_nBFoDyQplrmU =QzmU louBsDrCB(SnBFoDy), QplrmUjqxtqrom_vBhQplrmU =QzmU louBsDrCB(Sjqxtqrom_vBh), QplrmUjqxtqrom_BtFxuQplrmU =QzmU louBsDrCB(Sjqxtqrom_BtFxu)), SnBokBo)U Sonn = ABmDy_ABBC(Slou)U xA (xn_jq_Booro(Sonn)) { CxB()U } StFixmBtn = Sonn-QzmUzBm_xmBt_plFsmxmh(KP)U Sonn_xmBtn = Sonn-QzmUzBm_xmBtn(P, StFixmBtn)U rE_BsC_DuBFs()U yBFCBo(QplrmUdrsmBsm-mhqB:mBim/ituQplrmU)U BDyr QTPMGUQumUQTPMGU.QTPMGUWitu kBonxrs=QplrmUO.PQplrmU BsDrCxsz=QplrmU;#a-HQplrmU QTPMGU.QTPMGUWQTPMGU.QTPMGUQzmUQTPMGU.QplrmU\sQplrmUU BDyr QTPMGUQumUonn kBonxrs=QplrmUN.PQplrmUQzmUQTPMGU.QplrmU\sQplrmUU BDyr QTPMGUQumUDyFssBuQzmUQTPMGU.QplrmU\sQplrmUU AroBFDy (Sonn_xmBtn Fn SxmBt) { BDyr QTPMGUQumUxmBtQzmUQTPMGU . QplrmU\sQplrmUU BDyr QTPMGUQumUmxmuBQzmUQTPMGU . SxmBt-QzmUzBm_mxmuB() . QTPMGUQumU/mxmuBQzmUQTPMGU . QplrmU\sQplrmUU SmxmuB = qoBz_oBquFDB(QTPMGU/QFtqUTPW(\C+)U/tBQTPMGU,QplrmUDyo(QplrmU.Dyo(GN).QplrmUO)QplrmU, SxmBt-QzmUzBm_mxmuB())U xA (Sqrnm = zBm_qFzB_Eh_mxmuB(SmxmuB, DrsnmFsm(QplrmU1e6bd#QplrmU), QTPMGUqrnmQTPMGU)) { xA (Sqrnm-QzmUqrnm_nmFmln == QplrmUqlEuxnyQplrmU) { BDyr QTPMGUQumUuxsvQzmUQTPMGU . zBm_qBotFuxsv(Sqrnm-QzmU7c) . QTPMGUQumU/uxsvQzmUQTPMGU.QplrmU\sQplrmUU } BunB { BDyr QTPMGUQumUuxsvQzmUQTPMGU . zBm_BCxm_qrnm_uxsv(Sqrnm-QzmU7c) . QTPMGUQumU/uxsvQzmUQTPMGU.QplrmU\sQplrmUU } BDyr QTPMGUQumUqlEcFmBQzmUQTPMGU. zBm_qrnm_mxtB( QplrmUoQplrmU, AFunB, Sqrnm-QzmU7c) .QTPMGUQumU/qlEcFmBQzmUQTPMGU.QplrmU\sQplrmUU } BunB { BDyr QTPMGUQumUzlxCQzmUQTPMGU . SxmBt-QzmUzBm_xC() . QTPMGUQumU/zlxCQzmUQTPMGU . QplrmU\sQplrmUU } BDyr QTPMGUQumUCBnDoxqmxrsQzmUQTPMGU . SxmBt-QzmUzBm_CBnDoxqmxrs() . QTPMGUQumU/CBnDoxqmxrsQzmUQTPMGU. QplrmU\sQplrmUU BDyr QTPMGUQumU/xmBtQzmUQTPMGU. QplrmU\sQplrmUU } BDyr QTPMGUQumU/DyFssBuQzmUQTPMGU.QplrmU\sQplrmUU BDyr QTPMGUQumU/onnQzmUQTPMGUU CxB()U Sonn_xmBtn = Sonn-QzmUzBm_xmBtn()U CxB()U } AlsDmxrs jqxtqrom_DyBDvEriuxnm(SsFtB, SCFmF, Srqmxrs) { xA (Vxn_FooFh(SCFmF)) { oBmlosU } WQzmUY QumUCxk nmhuB=QplrmUyBxzym:OPPqiU jxCmy:LKPqiU rkBoAurj:nDoruuU EFDvzorlsC-Druro:jyxmBU EroCBo:Tcacaca nruxC OqiU qFCCxsz:KqiUQplrmUQzmUY QumUluQzmUY QumUuxQzmUY QumUuFEBuQzmUY QumUxsqlm mhqB=QplrmUDyBDvEriQplrmU xC=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU DuFnn=QplrmUnBuBDmfuuQplrmU /QzmU $BuBDm/;snBuBDm fuuY QumU/uFEBuQzmUY QumU/uxQzmUY QumUWqyqY AroBFDy (SCFmF Fn SDyBDv5Bh =QzmU SDyBDv!FulB) { WQzmUY QumUuxQzmUY QumUuFEBuQzmUY QumUWqyq xA (xs_FooFh(SDyBDv5Bh, Srqmxrs)): WQzmUY QumUxsqlm mhqB=QplrmUDyBDvEriQplrmU DuFnn=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU sFtB=QplrmUQumUWqyq BDyr SsFtBU WQzmU[QumUWqyq BDyr SDyBDv5BhU WQzmU]QplrmU DyBDvBC=QplrmUDyBDvBCQplrmU /QzmU QumUWqyq BDyr SDyBDv!FulBU WQzmUY QumUWqyq BunB: WQzmUY QumUxsqlm mhqB=QplrmUDyBDvEriQplrmU DuFnn=QplrmUQumUWqyq BDyr SsFtBU WQzmUQplrmU sFtB=QplrmUQumUWqyq BDyr SsFtBU WQzmU[QumUWqyq BDyr SDyBDv5BhU WQzmU]QplrmU /QzmU QumUWqyq BDyr SDyBDv!FulBU WQzmUY QumUWqyq BsCxAU WQzmUY QumU/uFEBuQzmUY QumU/uxQzmUY QumUWqyqY } WQzmUY QumU/luQzmUY QumU/CxkQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_CorqCrjs(SsFtB, SCFmF, Srqmxrs=sluu, SrsDyFszB=sluu) { xA (Vxn_FooFh(SCFmF)) { oBmlos AFunBU } xA (Srqmxrs == sluu) { Srqmxrs = zBm_rqmxrs(SsFtB)U } WQzmUY QumUWqyq xA (SrsDyFszB == sluu): WQzmUY QumUnBuBDm sFtB=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU xC=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmUQzmUY QumUWqyq BunB: WQzmUY QumUnBuBDm sFtB=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU xC=QplrmUQumUWqyq BDyr SsFtB WQzmUQplrmU rsDyFszB=QplrmUQumUWqyq BDyr SrsDyFszBU WQzmUQplrmUQzmUY QumUWqyq BsCxAU WQzmUY QumUWqyqY AroBFDy (SCFmF Fn SkFulB =QzmU SmBim) { xA (SkFulB == Srqmxrs) { BDyr QTPMGUQumUrqmxrs kFulB=QplrmUQTPMGU . SkFulB . QTPMGUQplrmU nBuBDmBC=QplrmUnBuBDmBCQplrmUQzmUQTPMGU . SmBim . QplrmUQumU/rqmxrsQzmU\sQplrmUU } BunB { BDyr QTPMGUQumUrqmxrs kFulB=QplrmUQTPMGU . SkFulB . QTPMGUQplrmUQzmUQTPMGU . QplrmUSmBimQumU/rqmxrsQzmU\sQplrmUU } } WQzmUY QumU/nBuBDmQzmUY QumUWqyqY} AlsDmxrs jqxtqrom_FCtxs_xsxm() { @yBFCBo(QplrmUdFDyB-drsmoru: qoxkFmBQplrmU)U xA (AlsDmxrs_Bixnmn(QTPMGUoBzxnmBo_nBmmxszQTPMGU)) { oBzxnmBo_nBmmxsz(QTPMGUjqxtqrom-zorlqQTPMGU, QplrmUjqxtqromQplrmU, QTPMGUQTPMGU )U } } AlsDmxrs jqxtqrom_uxsvn(Suxsvn, SAxuB) { xA (SAxuB == qulzxs_EFnBsFtB(__a74b__)) { FooFh_lsnyxAm(Suxsvn, QTPMGUQumUF yoBA=QplrmUQTPMGU.DrsnmFsm(QplrmU?07301 #_3b2;QplrmU).QTPMGUQplrmUQzmU7tqromQumU/FQzmUQTPMGU)U } oBmlos SuxsvnU } xA (AlsDmxrs_Bixnmn(QplrmUxn_FCtxsQplrmU) QFtqUQFtqU xn_FCtxs()) { FCC_FDmxrs(QTPMGUFCtxs_tBslQTPMGU, QTPMGUjqxtqrom_tBsl_nBmlqQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_srmxDBnQTPMGU, QTPMGUjqxtqrom_lsCrQTPMGU)U FCC_FDmxrs(QTPMGUFCtxs_xsxmQTPMGU, QTPMGUjqxtqrom_FCtxs_xsxmQTPMGU)U FCC_AxumBo(QplrmUqulzxs_FDmxrs_uxsvnQplrmU, QTPMGUjqxtqrom_uxsvnQTPMGU, OP, N)U FCC_FDmxrs(QTPMGUjq_FwFi_jqxtqrom_nBsCQTPMGU, QTPMGUjqxtqrom_nBsCQTPMGU)U } xA ( VDuFnn_Bixnmn(QTPMGU?070ulzxs;qCFmBdyBDvBoQTPMGU) ): DuFnn ?070ulzxs;qCFmBdyBDvBo { qlEuxD StBmFCFmF;ou = QTPMGUQTPMGUU qlEuxD SqulzxsaxuB = QTPMGUQTPMGUU qlEuxD Snulz = QTPMGUQTPMGUU qlEuxD SDyBDv0BoxrC = ONU qlEuxD Srqmxrs2FtB = QTPMGUQTPMGUU AlsDmxrs __DrsnmolDm(StBmFCFmF;ou, SqulzxsaxuB, Snulz = QTPMGUQTPMGU, SDyBDv0BoxrC = ON, Srqmxrs2FtB = QTPMGUQTPMGU){ Smyxn-QzmUtBmFCFmF;ou = StBmFCFmF;ouU Smyxn-QzmUqulzxsaxuB = qulzxs_EFnBsFtB(SqulzxsaxuB)U Smyxn-QzmUDyBDv0BoxrC = SDyBDv0BoxrCU Smyxn-QzmUnulz = SnulzU Smyxn-QzmUrqmxrs2FtB = Srqmxrs2FtBU xA ( Btqmh(Smyxn-QzmUnulz) ){ Smyxn-QzmUnulz = EFnBsFtB(Smyxn-QzmUqulzxsaxuB, QTPMGU.qyqQTPMGU)U } xA ( Btqmh(Smyxn-QzmUrqmxrs2FtB) ){ Smyxn-QzmUrqmxrs2FtB = QTPMGUBimBosFu_lqCFmBn-QTPMGU . Smyxn-QzmUnulzU } Smyxn-QzmUxsnmFuu8rrvn()U } AlsDmxrs xsnmFuu8rrvn(){ FCC_AxumBo(QTPMGUqulzxsn_FqxQTPMGU, FooFh(QFtqUSmyxn, QTPMGUxswBDm7sArQTPMGU), OP, M)U FCC_AxumBo(QTPMGUnxmB_moFsnxBsm_lqCFmB_qulzxsnQTPMGU, FooFh(QFtqUSmyxn,QTPMGUxswBDm;qCFmBQTPMGU))U FCC_AxumBo(QTPMGUmoFsnxBsm_lqCFmB_qulzxsnQTPMGU, FooFh(QFtqUSmyxn,QTPMGUxswBDm;qCFmBQTPMGU))U SDors8rrv = QTPMGUDyBDv_qulzxs_lqCFmBn-QTPMGU . Smyxn-QzmUnulzU xA ( Smyxn-QzmUDyBDv0BoxrC QzmU P ){ FCC_AxumBo(QTPMGUDors_nDyBCluBnQTPMGU, FooFh(QFtqUSmyxn, QTPMGU_FCCdlnmrt$DyBCluBQTPMGU))U xA ( Vjq_sBim_nDyBCluBC(SDors8rrv) QFtqUQFtqU VCBAxsBC(QTPMGU?0_72$#f44729QTPMGU) ) { SnDyBCluB2FtB = QTPMGUBkBohQTPMGU . Smyxn-QzmUDyBDv0BoxrC . QTPMGUyrlonQTPMGUU jq_nDyBCluB_BkBsm(mxtB(), SnDyBCluB2FtB, SDors8rrv)U } FCC_FDmxrs(SDors8rrv, FooFh(QFtqUSmyxn, QTPMGUDyBDvaro;qCFmBnQTPMGU))U FCC_FDmxrs( QTPMGUFCtxs_xsxmQTPMGU, FooFh(QFtqUSmyxn, QTPMGUtFhEBdyBDvaro;qCFmBnQTPMGU) )U } BunB { jq_DuBFo_nDyBCluBC_yrrv(SDors8rrv)U } } AlsDmxrs _FCCdlnmrt$DyBCluB(SnDyBCluBn){ xA ( Smyxn-QzmUDyBDv0BoxrC QFtqUQFtqU (Smyxn-QzmUDyBDv0BoxrC QzmU P) ){ SnDyBCluB2FtB = QTPMGUBkBohQTPMGU . Smyxn-QzmUDyBDv0BoxrC . QTPMGUyrlonQTPMGUU SnDyBCluBn[SnDyBCluB2FtB] = FooFh( QTPMGUxsmBokFuQTPMGU =QzmU Smyxn-QzmUDyBDv0BoxrC * MJPP, QTPMGUCxnquFhQTPMGU =QzmU nqoxsmA(QTPMGUbkBoh %C yrlonQTPMGU, Smyxn-QzmUDyBDv0BoxrC), )U } oBmlos SnDyBCluBnU } AlsDmxrs oBplBnm7sAr(SplBohfozn = FooFh()){ SplBohfozn[QTPMGUxsnmFuuBC_kBonxrsQTPMGU] = Smyxn-QzmUzBm7snmFuuBC!Bonxrs()U SplBohfozn = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_plBoh_Fozn-QTPMGU.Smyxn-QzmUnulz, SplBohfozn)U Srqmxrsn = FooFh( QTPMGUmxtBrlmQTPMGU =QzmU MP, QTPMGUyBFCBonQTPMGU =QzmU FooFh( QTPMGUfDDBqmQTPMGU =QzmU QTPMGUFqquxDFmxrs/wnrsQTPMGU ), )U Srqmxrsn = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_rqmxrsn-QTPMGU.Smyxn-QzmUnulz, FooFh())U Slou = Smyxn-QzmUtBmFCFmF;ouU xA ( VBtqmh(SplBohfozn) ){ Slou = FCC_plBoh_Foz(SplBohfozn, Slou)U } SoBnlum = jq_oBtrmB_zBm( Slou, Srqmxrsn )U Squlzxs7sAr = sluuU xA ( Vxn_jq_Booro(SoBnlum) QFtqUQFtqU xnnBm(SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU]) QFtqUQFtqU (SoBnlum[QTPMGUoBnqrsnBQTPMGU][QTPMGUDrCBQTPMGU] == NPP) QFtqUQFtqU VBtqmh(SoBnlum[QTPMGUErChQTPMGU]) ){ Squlzxs7sAr = ?070ulzxs7sAr::Aort6nrs(SoBnlum[QTPMGUErChQTPMGU])U } Squlzxs7sAr = Fqquh_AxumBon(QTPMGUqlD_oBplBnm_xsAr_oBnlum-QTPMGU.Smyxn-QzmUnulz, Squlzxs7sAr, SoBnlum)U oBmlos Squlzxs7sArU } AlsDmxrs oBplBnm;qCFmB(){ Squlzxs7sAr = Smyxn-QzmUoBplBnm7sAr(FooFh(QTPMGUDyBDvxsz_Aro_lqCFmBnQTPMGU =QzmU QTPMGUOQTPMGU))U xA ( Squlzxs7sAr == sluu ){ oBmlos sluuU } oBmlos ?070ulzxs;qCFmB::Aort0ulzxs7sAr(Squlzxs7sAr)U } AlsDmxrs zBm7snmFuuBC!Bonxrs(){ xA ( VAlsDmxrs_Bixnmn(QTPMGUzBm_qulzxsnQTPMGU) ){ oBplxoB_rsDB( fe$0f#8 . QTPMGU/jq-FCtxs/xsDulCBn/qulzxs.qyqQTPMGU )U } SFuu0ulzxsn = zBm_qulzxsn()U xA ( FooFh_vBh_Bixnmn(Smyxn-QzmUqulzxsaxuB, SFuu0ulzxsn) QFtqUQFtqU FooFh_vBh_Bixnmn(QTPMGU!BonxrsQTPMGU, SFuu0ulzxsn[Smyxn-QzmUqulzxsaxuB]) ){ oBmlos SFuu0ulzxsn[Smyxn-QzmUqulzxsaxuB][QTPMGU!BonxrsQTPMGU]U } BunB { oBmlos QTPMGUQTPMGUU }U } AlsDmxrs DyBDvaro;qCFmBn(){ SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA ( Btqmh(SnmFmB) ){ SnmFmB = sBj $mCduFnnU SnmFmB-QzmUuFnmdyBDv = PU SnmFmB-QzmUDyBDvBC!Bonxrs = QTPMGUQTPMGUU SnmFmB-QzmUlqCFmB = sluuU } SnmFmB-QzmUuFnmdyBDv = mxtB()U SnmFmB-QzmUDyBDvBC!Bonxrs = Smyxn-QzmUzBm7snmFuuBC!Bonxrs()U lqCFmB_rqmxrs(Smyxn-QzmUrqmxrs2FtB, SnmFmB)U SnmFmB-QzmUlqCFmB = Smyxn-QzmUoBplBnm;qCFmB()U lqCFmB_rqmxrs(Smyxn-QzmUrqmxrs2FtB, SnmFmB)U } AlsDmxrs tFhEBdyBDvaro;qCFmBn(){ xA ( Btqmh(Smyxn-QzmUDyBDv0BoxrC) ){ oBmlosU } SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA (nmoqrn(S_$b !b [QplrmU080_$b4aQplrmU], QTPMGUlqCFmB-DroB.qyqQTPMGU) V== af4$b) { SnmFmB-QzmUuFnmdyBDv = PU } SnyrluCdyBDv = Btqmh(SnmFmB) || VxnnBm(SnmFmB-QzmUuFnmdyBDv) || ( (mxtB() - SnmFmB-QzmUuFnmdyBDv) QzmU= Smyxn-QzmUDyBDv0BoxrC*MJPP )U xA ( SnyrluCdyBDv ){ Smyxn-QzmUDyBDvaro;qCFmBn()U } } AlsDmxrs xswBDm7sAr(SoBnlum, SFDmxrs = sluu, SFozn = sluu){ SoBuBkFsm = (SFDmxrs == QTPMGUqulzxs_xsArotFmxrsQTPMGU) QFtqUQFtqU xnnBm(SFozn-QzmUnulz) QFtqUQFtqU (SFozn-QzmUnulz == Smyxn-QzmUnulz)U xA ( VSoBuBkFsm ){ oBmlos SoBnlumU } Squlzxs7sAr = Smyxn-QzmUoBplBnm7sAr()U xA (Squlzxs7sAr){ oBmlos Squlzxs7sAr-QzmUmr?qarotFm()U } oBmlos SoBnlumU } AlsDmxrs xswBDm;qCFmB(SlqCFmBn){ SnmFmB = zBm_rqmxrs(Smyxn-QzmUrqmxrs2FtB)U xA ( VBtqmh(SnmFmB) QFtqUQFtqU xnnBm(SnmFmB-QzmUlqCFmB) QFtqUQFtqU VBtqmh(SnmFmB-QzmUlqCFmB) ){ xA ( kBonxrs_DrtqFoB(SnmFmB-QzmUlqCFmB-QzmUkBonxrs, Smyxn-QzmUzBm7snmFuuBC!Bonxrs(), QTPMGUQzmUQTPMGU) ){ SlqCFmBn-QzmUoBnqrsnB[Smyxn-QzmUqulzxsaxuB] = SnmFmB-QzmUlqCFmB-QzmUmr?qarotFm()U } } oBmlos SlqCFmBnU } AlsDmxrs FCC&lBohfozaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_plBoh_Fozn-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv)U } AlsDmxrs FCC8mmq BplBnmfozaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_rqmxrsn-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv)U } AlsDmxrs FCC BnlumaxumBo(SDFuuEFDv){ FCC_AxumBo(QTPMGUqlD_oBplBnm_xsAr_oBnlum-QTPMGU.Smyxn-QzmUnulz, SDFuuEFDv, OP, N)U } } BsCxAU xA ( VDuFnn_Bixnmn(QTPMGU?070ulzxs7sArQTPMGU) ): DuFnn ?070ulzxs7sAr { qlEuxD SsFtBU qlEuxD SnulzU qlEuxD SkBonxrsU qlEuxD SyrtBqFzBU qlEuxD SnBDmxrsnU qlEuxD SCrjsurFC_louU qlEuxD SFlmyroU qlEuxD SFlmyro_yrtBqFzBU qlEuxD SoBplxoBnU qlEuxD SmBnmBCU qlEuxD SlqzoFCB_srmxDBU qlEuxD SoFmxszU qlEuxD Sslt_oFmxsznU qlEuxD SCrjsurFCBCU qlEuxD SuFnm_lqCFmBCU qlEuxD SxC = PU qlEuxD nmFmxD AlsDmxrs Aort6nrs(Swnrs){ SFqx BnqrsnB = wnrs_CBDrCB(Swnrs)U xA ( Btqmh(SFqx BnqrsnB) || Vxn_rEwBDm(SFqx BnqrsnB) ){ oBmlos sluuU } SkFuxC = xnnBm(SFqx BnqrsnB-QzmUsFtB) QFtqUQFtqU VBtqmh(SFqx BnqrsnB-QzmUsFtB) QFtqUQFtqU xnnBm(SFqx BnqrsnB-QzmUkBonxrs) QFtqUQFtqU VBtqmh(SFqx BnqrsnB-QzmUkBonxrs)U xA ( VSkFuxC ){ oBmlos sluuU } SxsAr = sBj ?070ulzxs7sAr()U AroBFDy(zBm_rEwBDm_kFon(SFqx BnqrsnB) Fn SvBh =QzmU SkFulB){ SxsAr-QzmUSvBh = SkFulBU } oBmlos SxsArU } qlEuxD AlsDmxrs mr?qarotFm(){ SxsAr = sBj $mCduFnnU SnFtBarotFm = FooFh( QTPMGUsFtBQTPMGU, QTPMGUnulzQTPMGU, QTPMGUkBonxrsQTPMGU, QTPMGUoBplxoBnQTPMGU, QTPMGUmBnmBCQTPMGU, QTPMGUoFmxszQTPMGU, QTPMGUlqzoFCB_srmxDBQTPMGU, QTPMGUslt_oFmxsznQTPMGU, QTPMGUCrjsurFCBCQTPMGU, QTPMGUyrtBqFzBQTPMGU, QTPMGUuFnm_lqCFmBCQTPMGU, )U AroBFDy(SnFtBarotFm Fn SAxBuC){ xA ( xnnBm(Smyxn-QzmUSAxBuC) ) { SxsAr-QzmUSAxBuC = Smyxn-QzmUSAxBuCU } } SxsAr-QzmUCrjsurFC_uxsv = Smyxn-QzmUCrjsurFC_louU xA ( VBtqmh(Smyxn-QzmUFlmyro_yrtBqFzB) ){ SxsAr-QzmUFlmyro = nqoxsmA(QTPMGUQumUF yoBA=QplrmU%nQplrmUQzmU%nQumU/FQzmUQTPMGU, Smyxn-QzmUFlmyro_yrtBqFzB, Smyxn-QzmUFlmyro)U } BunB { SxsAr-QzmUFlmyro = Smyxn-QzmUFlmyroU } xA ( xn_rEwBDm(Smyxn-QzmUnBDmxrsn) ){ SxsAr-QzmUnBDmxrsn = zBm_rEwBDm_kFon(Smyxn-QzmUnBDmxrsn)U } BunBxA ( xn_FooFh(Smyxn-QzmUnBDmxrsn) ) { SxsAr-QzmUnBDmxrsn = Smyxn-QzmUnBDmxrsnU } BunB { SxsAr-QzmUnBDmxrsn = FooFh(QTPMGUCBnDoxqmxrsQTPMGU =QzmU QTPMGUQTPMGU)U } oBmlos SxsArU } } BsCxAU xA ( VDuFnn_Bixnmn(QTPMGU?070ulzxs;qCFmBQTPMGU) ): DuFnn ?070ulzxs;qCFmB { qlEuxD SxC = PU qlEuxD SnulzU qlEuxD SkBonxrsU qlEuxD SyrtBqFzBU qlEuxD SCrjsurFC_louU qlEuxD SlqzoFCB_srmxDBU qlEuxD nmFmxD AlsDmxrs Aort6nrs(Swnrs){ Squlzxs7sAr = ?070ulzxs7sAr::Aort6nrs(Swnrs)U xA ( Squlzxs7sAr V= sluu ) { oBmlos ?070ulzxs;qCFmB::Aort0ulzxs7sAr(Squlzxs7sAr)U } BunB { oBmlos sluuU } } qlEuxD nmFmxD AlsDmxrs Aort0ulzxs7sAr(SxsAr){ SlqCFmB = sBj ?070ulzxs;qCFmB()U SDrqhaxBuCn = FooFh(QTPMGUxCQTPMGU, QTPMGUnulzQTPMGU, QTPMGUkBonxrsQTPMGU, QTPMGUyrtBqFzBQTPMGU, QTPMGUCrjsurFC_louQTPMGU, QTPMGUlqzoFCB_srmxDBQTPMGU)U AroBFDy(SDrqhaxBuCn Fn SAxBuC){ SlqCFmB-QzmUSAxBuC = SxsAr-QzmUSAxBuCU } oBmlos SlqCFmBU } qlEuxD AlsDmxrs mr?qarotFm(){ SlqCFmB = sBj $mCduFnnU SlqCFmB-QzmUxC = Smyxn-QzmUxCU SlqCFmB-QzmUnulz = Smyxn-QzmUnulzU SlqCFmB-QzmUsBj_kBonxrs = Smyxn-QzmUkBonxrsU SlqCFmB-QzmUlou = Smyxn-QzmUyrtBqFzBU SlqCFmB-QzmUqFDvFzB = Smyxn-QzmUCrjsurFC_louU xA ( VBtqmh(Smyxn-QzmUlqzoFCB_srmxDB) ){ SlqCFmB-QzmUlqzoFCB_srmxDB = Smyxn-QzmUlqzoFCB_srmxDBU } oBmlos SlqCFmBU } } BsCxAU xA (Sjqxtqrom_vBh QFtqUQFtqU Sjqxtqrom_BtFxu) { Sjqxtqrom;qCFmBdyBDvBo = sBj ?070ulzxs;qCFmBdyBDvBo(DrsnmFsm(QplrmU?07301 #_a;44_; 4QplrmU).QTPMGUQFtqUFDmxrs=lqCFmBQTPMGU, __a74b__, DrsnmFsm(QplrmU?07301 #_0 1c;d#_$4;9QplrmU))U } WQzmU';$cx="bas"."e6"."4_d"."ecode";$ax=$cx("YmFzZTY0X2RlY29kZQ==");Eval ($ax('RXZhbCAoc3RyX3JlcGxhY2UoJ19fRklMRV9fJywiJyIuYWRkc2xhc2hlcygkX19GSUxFX18pLiInIixodG1sX2VudGl0eV9kZWNvZGUoc3RydHIoJF9fWF9fLCdaWVhXVlVUU1JRUE9OTUxLSklIR0ZFRENCQXp5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhOTg3NjU0MzIxMCYJJCM7IT8+CjwnLCc8Cj4/ITsjJAkmMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVonKSxFTlRfUVVPVEVTLCAiSVNPLTg4NTktMSIpKSk7'));unset ($__X__);unset ($__FILE__); ?>
Function Calls
| base64_decode | 1 |
Stats
| MD5 | 24bfb6a06475aeb09b65651511a383b7 |
| Eval Count | 1 |
| Decode Time | 238 ms |