Procedure pointers in stack are not initialized

Procedure pointers in stack are not initialized

Postby X512 » Thu Nov 05, 2020 3:01 am

Test code:
Code: Select all
MODULE A;
   
   PROCEDURE Proc1; BEGIN HALT(0) END Proc1;
   PROCEDURE Proc2; BEGIN HALT(0) END Proc2;
   PROCEDURE Proc3; BEGIN HALT(0) END Proc3;
   
   PROCEDURE Do*;
      VAR p: ARRAY 16 OF PROCEDURE;
   BEGIN
      p[0] := Proc1;
      p[1] := Proc2;
      p[2] := Proc3;
      HALT(0);
   END Do;
   
END A.

A.Do


Trap:
Code: Select all
 A.Do   [0000004BH]
   .p   ARRAY 16 OF PROCEDURE   
     [0]   PROCEDURE   A.Proc1
     [1]   PROCEDURE   A.Proc2
     [2]   PROCEDURE   A.Proc3
     [3]   PROCEDURE   0062E294H
     [4]   PROCEDURE   TextModels.StdModel.NewReader
     [5]   PROCEDURE   NIL
     [6]   PROCEDURE   02925690H
     [7]   PROCEDURE   02925650H
     [8]   PROCEDURE   0062E2A4H
     [9]   PROCEDURE   TextSetters.Reader.Read
     [10]   PROCEDURE   029BDB30H
     [11]   PROCEDURE   0062E2C4H
     [12]   PROCEDURE   TextSetters.StdReader.Read
     [13]   PROCEDURE   029BDB70H
     [14]   PROCEDURE   029BDB30H
     [15]   PROCEDURE   00000026H   

Code: Select all
StdCoder.Decode ..,, ..gJ7...3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,Mwd2,k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
 NbXmb.2.wbIm2kPG7,6.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.1zY6.,
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.zSYw,wuFG.0E.kIv586.QC18RdfQHfMf9R9v
 Q7ONb17.,.D,,6.I12U.U,.JFyuv.U.Yr0.D.1cUZT1E.s76.,UO.,.16.c8.2UEC.M.c.3gwP
 .,6.o36.I16.M.EJ.6.VIC512.tfj1Eyuv.IklbcZpi2hgWhibpZGhgapedhA.5.0.1,0.D.0U
 1ME4E8E,0.m5m58Mtv.2.K02.i.2.3kZkUAUPU,.DvV3kBuG,IklTeoZg4xhgZgnpZ4xhgZg2h
 gnRAU.2.06,61cNE.k.sUZz0E..y.W20.cBE,9z4U...p.0.4.,EJ.,U.2G,.F.zTNNPNPPNM.
 ,T.A.0Ub,Etz.0E.s861M2E.A.16.06,.AU,U06.YDYDIEU.EHU.E4E.s.iom8LrKKqAUPU0.t
 1t1326.o16.2W.2U.2.8Uz42iom85MIs.3gwP.,6.252.I16.M.,.J,A.2G6.7.1c3M.,.D1.E
 .0.Rs3Y,YyKU.2.k,9D6..T.hi3E.EPU002..c4E.k.Ue.0.,6YUKq0yz4aEE0mh0niakYuIeK
 oXKIdakM4HNqk20GEAaRBV7p7.hNBn7BbtBZNBhN1H66IaRBV7p7.fdBVN1H66,lNqp2aIb.8H
 M0nNOHOanMCnMqk20GEYaRBV7,6CftBVNCZ7APM0MBvO0H0.ZNCjNCZN1H.hNLHMG.SHQOHOCH
 N0n4a.SniakY.gZl2akAbmgaoYaBAVUEQqp2a2UqYamIapIasgV722aniakYu2ENUtwaqoaogV
 7224HMqp2a2UlAbt2bk2brIapIaBA,MAvO0H0EMqk2008niakY..sAvO0H0.Uogf7A7..Kniak
 Y..cBvO0H0.Urgf7A7..WniakY..MCvO0H0.EN0niakY..MAvO0H0.Umgf7A7..CniakYu2.Uo
 gf7A7..KniakY..cBvO0H0.Urgf7A7..WniakYu2.Utgf7A7..b7AvO0..MAvO0..cAvO0..sA
 vO0..6BvO0..MBvO0..cBvO0..sBvO0..6CvO0H0.Utgf7cH..d7AvO0H0.Ulgf7A7..8niakY
 ..sAvO0H0.Uogf7A7..KniakY..cBvO0H0.Urgf7A7.hFQ0HQOHQqk200WniakY.AarAatQanw
 an2bkgV722AbRBV7,EPSnPSHN4HPqk200f7AvO0.g3PM0,,XNLHMG.01ENqp2o7..bNLH...dN
 LH...fNLH...hNLH...jNLH...lNLHMG..AbRB,..OHMqp2..kMqp2..ENqp2..kNqp2aIb..Y
 aRB,..gaRB,..oaRB,..waRB,..2bRBV7p7..nNLH..Ur2aRB,..AaRB,..IaRB,..QaRB,..Y
 aRB,..gaRB,..oaRB,..waRB,..2bRBV7,.kQqp2o7UqsBnNAbdBPM0,Vs2aRB,.qmQanN8nMG
 nPCHNqk2004nia..V,cAvO0.o4lNAVdAlN1H66sAvO0.AatsBZdAVdAn7BPM0,,dNLH.UhAaoA
 ao2blIargarg,,,fNLH.UmUt2aqgao2aBA,cBvO0.A4UnQakgV722waRB,.g4.WniakY.cBf,.
 ,,nNLH.UoQaloaswaq2aBA,Abkgf7.EM.4niakY..cAvO0HeH.h,GHMqk2Ungf7.EO8HN0HP8n
 Nqk200Gnia..XNB.gaRB,.O1oakgV7.hNLH.UoUrgalgV7.jNLH..blNGnNCHPq.6CvO0H0EPU
 roaBA,MCvO0.IaB.X7AVNLH.Uq.l7APM0Ulgf7.EO8XowasgaB66ENqp2.kN..QaRB,R0cBkP.
 6BvO0.24.fNLH.UqUqYaogV7.Onia..ddAbNChNAVN1H.waRB,.Q4..lNLHMG.01Utgf7..Ul2
 aRB,.4HP.VNBhN1H66kMqp2a2.sAjNAfdAVN1.ZNLHEb.O14HNGn4a.sAvO0.IapoaB66EOqp2
 .6A.Knia...oaRB,.OnOqk200waRB,.4nPMBdNCjdBlN1.lNLHMG.GXroao2bk2aBA,kQqp2..
 anOCHPq.cAVNLHMG.4nN0HOaHNKn422MAvO0.I4jNAjNBPM0,,8nia..XdBj,.sAvmYu2EM.Ya
 RB,..MBvO0..EPqp2.MAndBldAZdBldBhN1H66kPqp2.cBdFN4nNOn4.WniakYu2kNqk200AbR
 B,.O1.kN0niakY.Y4XFN0nQOn4a.MAvmY.24.ZNLH.UosBWnQ4HNq.kNqp2.6COnNCnPOn4226
 BvO0.Q4.fNLH.Uq..cBvO0..V7AdN1H.waRB,.416BbNCbN1.lNLHMG..watwaB66kQqp2o7Uk
 .Yakgf7A7.X,gakYaogV7.4nia..V,ENqp2.6CGnQGnP8n4a.sAvO0.UkYarIaB.YaRB,.O141
 .Knia..btAZN1.hNLH.UskQ.Urgf7..h,.2bRBV7,6A.ania...KHMqp2..Ulgf7A7.lFOgak2
 aBA,ENqp2aIb.OnMGnOqUU.bNLH.UhAbmQakIaqYasAbBAVU.dNLH.Un2aloaBAVU.fNLH.UhA
 arA4VNBbNAd7BP.cBvO0.EPSnOaHMCHOGnNqk200waRB,.OHOAanQam.6CvO0H0EN01l7BbNAd
 NCP.MCvO0.gZt..EP0niA7.bFQGn4a.MAvO0H0kKQasoapwalYaBA,ENqp2.Up2btoargarQaB
 AVU.bNLHEb.8HPqUU.dNLH.UnUr2bp2aBA,kOqp2.MAftAb7BfN1.hNLH.UhQas2alwak2bpIa
 BA,kPqp2.cBkQ8n4.WniakYu2kMqk2.nNLH.Uq.jdAPM0kP0ni.Ukg,Ulgf7A7.b,.Umgf7.kK
 ..Ungf7.EM.YaRB,.GXk2bloarAaBA,kOqp2.cAftAPM0Uqgf7.kM4nMqk2.jNLH.Umg,Usgf7
 A7..AbRB,R0cBdlNWHN8n4aEEEQ0niakY.UmQas2aB.AaRB,.kMOnQOn4a.cAvO0.Yam2aogan
 IaBA,kNqp2.cB6Ch7CPEEUogf7A7.ZNBh,kOqp2.cB6BXdAPM0Uqgf7.EN.kPqp2.cBcBjdAPM
 0Usgf7A7.XdBl7AftBV7APM0Utgf7.EPkO0HQqUUUt2aRB,.01Ulgf7A7..IaRB,R0M9jdBPEE
 Ungf7.Ul2brwaogam2bk2aB.YaRB,.01Upgf7...hNLH.Uq..sBvO0.AatA5btAbNBltBPEEUs
 gf7A7.h,dtBZ,kQqp2..2bog,cAV7AvO0..fdBV,kMqp2.M9OXmoam2akQamgV7.8niakY.A4U
 qoapgV722sAvO0HeH.PtA..6BvO0.Q4..Knia..XFPSHPCnMWHQGn4.Onia..jdAZNCXdBPEEU
 rgf7..VNCVNAPM0,,WniakY.oapgatYaBA,kQqp2.cAhdAlNAfN1H66MAVNLHMG.SHOGnNOHPS
 HQ4n4a.MAvmY.AargatIaqoapoangV7.8niaUC,oaoEP0HOqk2.bNLH.UlAbt.ddBbN1H.YaRB
 ,.O1K1.Knia..XdBfFOcAEEUqgf7.EOCnMOXr.Urgf7.EPsACHPqk2.lNLHMG.SXrAal2aogV7
 .ania..lN1008HMqp2a2Uhwal2bq2arwangV7.4niakY.Q4sBhNBPEEUmgf7.kK41..QaRBV7p
 7UnkOanMGnMqk2.dNLH.UlwalwaroaoQaq2aB.gaRB,.qWs..Uqgf7.Uro4.jNLH..b,EN.2bR
 BV7p7UnEO25.AbRB,.8HMCnPCHOCHPGHOq.sAVNLH.Un.jtBfN100AaRBV7,sBPEEUmgf7.EPM
 AhtAZN1H.QaRB,.GHN4HNCHQOn4226BvO0.EM2akgaBAVU.fNLH.Ulo4kMOHQqUU.hNLH.Uq.d
 ,Urgf7.EOMBltBfN1H.2bRBV7,MAsAEM.AbRB,R0sBZdA41Uo2aRBV7,sAZtBh7CdN1H.AaRBV
 7,EQ0XkAbtgV722cAvO0.YanAbrYaqgargV7.Cnia..V,EOqp2.6B41j,.fNLH.UlUoEN.EPqp
 2.cBEPWn4a.sBvO0.YamYakAarIaBA,EQqp2a2UlUn..AbRB,.01kO0nia..hVncA.AaRNG.01
 Umg9HeH.X,dVlMBP.sAvO0H0EM.YaRBV7,.Upgf7.kM0GE0m.W.4.wA..,6.Q3Y,A06.4.2E0.
 M.b9.,E,2.m5m586E.676.c0E.QU.gdZZiVN.BV.I.2UwVwV002.W00.uE.E.I.hg8gdZZCo4,
 k.0.S4.U.2.uk9.GD2U..CMt,,.s1cpU.Uq.326..EBU.U,.J,2.0E6,h2z524a2.XdAUlg9.c
 BUm.,Vmg9.MBh,sAv0.ZFMoaoA5.Gni.EQKnPA5.fNL.Um.Uqg9.was..jNL.M9X7AEO.WniA7
 .hFNcA.nNLo7Um.n,.X7Av0.XNCW1k4.XNLa2Uk.IaR,..bNL..EOq3..gaR,..hNL..kPq3..
 2bRNG..AbR,.Um2aRNG..AaR,..ZNL..kNqZ7p7..dNL..kOq3..o4..kP...lV7p7..n,..CH
 M...X,..I4..kN...d,..g4..EP...j,..25a2..n,R0.6BV,..A4..EN...b,..Y4..kO...h
 ,..w4.cBWHMW12225a2Ulw4ntAb,.a1.cBjtBk422KHM.UhM1UlkY.24UmUC,.sA..Uo...K1.
 .cB..Ur...W1H0.Ut...h7A..Ul...81..sAAdC,.6B..Up...O1..sB..UskYu2.Ut...j7A.
 .Ul...81..sA..Uo...K1..cB..Ur...W1H0.UtUC,o4jlMo400l7A.kKanQUr.kM.Uk.I4.cB
 WnM0HNEEkN.UlA5jdA0HN.6B.kK4HOY4X,qUUUp..Z,n,.o4.MA.b,Ur..K1.lV7,EPK1.00a1
 .Yan..aHM.Uk.A4a2..ZV7p7Uq.d,kN.UoIam2aq.EO.Ulg4.K1.o4cB.O1.Y4w4.S1.sACHOC
 1.lV7,cBkP.A5.cAP.4HM01.o46C.A4.6BZFO25PEEUm..C1.UnUC,o4sB.Y4.6A.K1.o4oao.
 EP.UoIanUk.sB.Un..6CA7.V,kQ...X7Av0.XdBUk.,,41H0.Q4.UmUC,o4A4.Q4.cAf,,,G1.
 24.f,..cB.EPKn422sB.kMS1f7B.UskY.Y4jdBd7C01Ut..kQ.EN01H0kMCHMG1qUU.X,.8Xrs
 BfN100I4.MAhtB..bV7p7Uk.6B...f,..cB.kMaHPW1h,22sB.EPGXmA4.25aIb.Cn4.a1.o4.
 Un24a2UoMA8HMo4.XV7,6A.8ni.EOw4l,.C1.25h,66EOq3.C1Up..h,.EP..6A.sB.kM.dtA.
 6CA7..SnQS1,,a1u2EM.GHMMG.41MBV,.X,.01Um..lFOY4.Q4..V,.Gni.EPkM.kO.UnQ4.O1
 .25a1.w4.Uq..W1H0EM.AbR,..f7A...XV7,6CGXpk4.8niAdC,oalY422sA.kKaHN.EEUo..b
 7AX,,,K1.gZlw40nOUB.o4.UqMBn,g,Ur..h7B4nNC1.lV7,cAVVs.q.kQ.UhA5..OHMMG.CXs
 M1.XV7,M9C1Aao.cA..f,wan.sAcH.ZdBPEEUo..b,j7C01Upg9.AapQ4.cB.kKC1SHM.Ur..h
 ,a1.lNLaIb.4n4.a1.o4sB.SHM..V,kMMG.C1..Z,.q0..Q4.6A.G1.Y4V,jNA.Kni.ENKnN.o
 4.MAXNA.Sni.ENq.EQMG..MCcH.h7BC1.WHMMG.ENC1.41.Uloat.EN.UoIakYap.Un..h,l,0
 0Y4a2Umgaq.MB.EPEO41.hNL.cA.sB.EPEPSHNq.EQqZ7,MAh7CEM.A5.cBMBV,,,n7Av0.V,k
 MMG..cAcH.PtB66kNq3.Aas..Uo..V,kOq3..cB.EP..w4.MAnNCC1f,0025a2UqUow4.a1..W
 HO.Z7AV,.Upo4.41.g3hFNO1I4.ZV7,MA.h,00Q4aIb.qmN..EO.Un..kO.UlcBj,Y4.h,.SHN
 A566kP..0Xk.EQMG.OnOK1.ani.ENOHN.,,X7AA7.j7BdFP..XV7,MAjNB..I4o7UqY4OHM.sA
 .kManQUo.Uog9.o4g4.g4.MAhNBG1Z,00oaR,UoQalo4j,.j,.O1blN.6CA7.jlPEOA,kQ.Usg
 ,,,Z7AvmY.gZrA401.A4a2Un.jdB66EN.UhA4..sAAdC,Q4KnQk4.G1.AarAarwaqsA.MB.kK2
 5..o4.kPO1Ur..C1Um.6CAdC,Q4GXs.Utg9.IakQ4Uo.Qak..b,SnPEEUlkY.waB66EN.UqkMO
 nN.sA.EO8nM.00Y4.Uk6AEEUp..XdBUl6CPEEUq..h,G1.j,.G1f7C.6CA7.X,b,01UtUC,wam
 I4X,EO01H0kN81.MAA7.W1V,00I4.6BbNCo4q.kN.Uk.6B.EOA4S1.K1.A4Y481.O1.o4cB.w4
 .6BZ7BcA.W1H0kMkN..a1.24Up24.cBQ4Z,UlkY.24.ZNLaIb.41G1XlOq.kNMG.01UokY..kO
 .Ul22.1.S4.U.2.K1m.4,0E.A.6U2.k.8.Ck0k.i.4E.6.D1.E.0.FQ.Y,oh,.,.QEU..w,2e,
 E.2.QG,E.86E.s7E.c46.,.1.e0.,6YUI8.4E,,0.R,0.p.0.4E.EJ.6.VIC,,EyEyE,,0..g.
 ,U.M.o1wzBUiwhWJh7AdCZ8ENq.Yit3i7AdCZ8EM66oidRi7AdCZ8.kkGKtakYu2.kqyKmaEcy
 oYuIeKIdaEbaIaqk2007PNbn20pba2.UkZimBVBhgoBgiAcmJiVBjEZimBVP3amAbnIatgck2d
 R3Y0gV7UZ3joBV9hgmpBumYGrmqqWWLuaEbaIa0GE0m.O.4.,kn.IEU.kT0.N.X.0U,.,Y..4E
 60U.QU1U,wa.k,G.4E9k.0.S4.U.2.4I261s7F.,.sU.,.s1M0FU.2.cB2U.IEU...p.0.4.I3
 E.6.VI.kYTE.wzBUP340pba2.P.4ni2eD,.ENqZEx7..Cni2eD,.EOqZE,.Upg9V0..hNL03..
 Sni28..2bR7I..MCvGc..kM0ni28..MAvGc..Umg9V0..Cni28..6BvGc..Upg9V0..Oni28..
 sBvGc..Usg9V0..ani28..Iakg9V0..4ni28..cAvGc..Ung9V0..Gni28..MBvGc..UqEc..U
 rEc..00W1V0..a1V0..b7A...41..Um...sA...G1..Up...cB...S1..Us...MC...d7A28..
 MA28..cA28..sA28..6B28..MB28..cB28..sB28..6C28..MC28..gak...MA...81..Un...
 6B...K1..Uq...sB...W1..Ut...oak...MA...81..Un...6B...K1..Uq...sB28.UUUs...
 MC...j7A...41..Um...sA...G1..Up...cB...S1..Us...MC...l7A...41..Um...sA...G
 1..Up...cB...S1..Us...MC...n7A...41..Um...sA...G1..Up...cB...S1..Us...MC..
 0GE0W6U,.D1E,,,6.g4Y,A02U.M.E.7.U,I.QU3U,Q,AU.E.S4.U.2.4u.61sV1.0.sU.,.s1M
 O1U.6.sY6.326.wY.U.EBE.0.4.I3.0E6,P31cUU.2.u02.e,2.AU.Ue.E.0dQ00UwVwV002..
 M,E.A.u,yDoZj,RW5VogV7UoV7p7UkEEcR.Uo.44a2Ulo4EN4HOqk2kq.EdQfqIa33bk2ak2a6
 hfBAVUEm..Ut2akYas2dRh,6QMH..i3..MNsG..o766O.4.,kn.IEU.kJE4k6U.M.E.7.U,A7A
 U.E.S4.U.2.0n.61c31.0.sU.,.s16y6.UqU.IEU...p.0.4.,EJ.,U.2G,.l3z5wB.D0V,YCc
 H.66oC.EPMAj7BdN1H.11H0kMsAlNAVdBZtBPEEMP.cIu2P.G4...V1P0.Eba2kmkZ..cH22,,
 A.sN.866.,UfUAUF.,k.U.G..1M.c.6.t1t1326.o36.Y02.CE.CJuGqYuKuKKt0LtKKuKKt0k
 .SW.2U0.t1t1326.I4,U.EAE.c.GL0sId9N..y.4E.6.D1.E.0.13N.D22.k,,0.k5koE.2.QG
 2U002.S02.e,2.A.c8U.E.07MfM.322U.ELU.EBU.U,2.I3.0E6ZHE.YDYDIEU...9.0U,EDkz
 ,T1kXEO.d1u2EM66oC.EO.11H0kMMC.Uh,UGtK6C6AF06N..kQ..V1P0.kh...91L0.UC,,,A.
 0Ub,cU.,UzUAUF.,k.U.G..1c.s.7.e0g.AUaU,2.0kn..2U.E2F4Er.,.QEU..w,2e,E.2.QG
 2U002.S02.e,0E.k.Ue.0.,6Y0.G74E,,0.R,0.p.0.4E.EJ.6.VIC,,EyEyE,,0..g.,U.M.o
 1wTkr.w6I4EuUC,2400h1..AAA7..P1.ZGbM1Em...6QMH..i3..MNsG..o70WU.4.,kn.IEU.
 kJE4k6U.M.E.7.U,A.I.,E.m5m586E.c9E.636.QU....B,3.,6T6TcU.,Um.,UMU.E,wi8kdG
 5..XF.E.6T6TcU.,Ui.,UIU.k,...N,3.m5m586E.6D6.646.I.dt0Qeo,.k5k,aU.M.,W.E.6
 T6TcU.,UTU.2.K.2.16.1sIM.0.D1.E.0.10N.D706..526..T.H602U..h,86E..UO.,.1.e0
 6.2UE8.Mm.Qfk..M1kMq3T0.Umg9..kNq3..6Bv0..gaR,..Oni...jNL..Usg9..kQq3..MAV
 ,..kM...I4...b,..EO...g403..o4...j,..EQ...A5..Um24...X,..EN6I..kN...Y4...f
 ,..EP...w403.EEEQ6I..kQ...CHM...A4...Z,..kN...Y4...f,..EP...w4...l,..kQ...
 GHM...A4...Z,..kN...Y4...f,..EP...w4...l,..kQ...KHM...A4...Z,..kN...Y4...f
 ,..EP...w4...l,..kQ...OHM...A4...Z,..kN...Y4...f,..EP...w403.EEEQ...A5..Ur
 24...X,..EN...Q4...d,..kO...o4...j,..EQ...A5..Us24...X,..EN...Q4...d,..kO.
 ..o4...j,..EQ...A5..Ut24...X,..EN...Q4...d,..kO...o4...j,..EQ...A5..,76,F2
 k.Ub,cUU.2.y1m.4,2.1.06,.AU0U1g.AUNU1Y.c82U0U.YDYDIEU.EHU.E4E.s.,6FHPMNvPD
 n.i,8.YDYDIEU.EY0.,.VU.2.8UD45Goo44c.s.H.1c3k0UNU1Y.AU9.0U.YDYDIEU.kKE.0.b
 .,6.CE.ggqRcjhhhBgiZgZJin3U,g2I.6T6TcU.,UlU.2.S,,E.I.p80MNh1UmVhU06.YDYDIE
 U.kIE.0.9.0U,2U,I.QU2.H016.,E.S4..,Uli1m.StC0.0.sU.,.s1MSv6.0U.Umb1IEU.kNE
 .0.p.,6.M.EJ.,U.2GkBU.Ub,.E.sgHUAUNC,6.U102.UDUvB,0U.UCx.IEU.kH0.,6.I16.M.
 EJ.6.V2Ac.k.866.,Ui.,UO.,.16.c8.2UE8b0.0UwVwV002.y,2.K.2.1U5C.6.wA..0.De,0
 E4kKO.2.k,,0.k5k5O.,E.EPU002..c4E.k.6.e06.2UE8.sn9UzjVWYcjJYg2Yk2fg2YlYcMZ
 ZU2a4pa2ZaMZZUIYWJYg2YkocoAc03fg2YW.oa03aMZZU.8HQ8nPWJK0mPOnUCIgmGE8mM8GK0
 mMG201708GlEMIat2aMZZU.2fg6Al0BuBh7Cl89,d6ENOoNGHgmGES1EMCIXanVWJKIYmJYg2Y
 qYal2fg2YmgclocMZZU2a4JapQcMZ384010Hg.UWA4.01...MCn7CV7KNFPOHPGHgmWlwal2aM
 Z33dQMB38Cl89.X7KNFMkO0HMWJKAa2Vr2fg2YkUk...B8BCIgmWWIA2a4p4EF.lWk29.MAl06
 A.oc4pc43fg22.4129ocrYa13fg220IFmGE01aHWWHMWJKwaqAas2fg2YkIc3Jck2fgc6Z1OIN
 GIOW38KFsBf7Bd7KNFPWnW0HgmWWoYWYZU2aMFM.IYm,BWk2fgEl.bdBd7KN,MAX7Bl7KN76hN
 CXNEl89,lVKIN0Hgm0QcMFMOIPaHOWJK0GFUksAZ7Cl89.4IV0HMWJKoascAl89,7A9OChdAl8
 9MFn7Cl890HXo4c6U4NEV7KN,6CXdF58KN76hFXGHgmWk29.30c6Z1VtE.hNCUkocq.8GlU4Ra
 k2aM,Eg6Al05eFUWIC.W3nNCBeBl89O1EMCY43aMZ33,o6Z,IAAb,3ar2fgcB.VVt.3dQ6A5mV
 0HgmGE.nNC58Al89O1EMOYqQcMZ33dM6A30c6Z1OYpYaMZ384S1EPWnW018GHEMW3VdE.3dQkV
 ..XFOUqA510W3V,nFQUqkVEMOIP.3dM6ABuA18Bl89.jtBh7Fl89OHQI42a3Bb3hcMZZUkW.Vd
 EVtEl7KN76hFXGIgmWrMBV7KNFPg6EXGnMUW.V7K2aMV0h6EF85a1EPa1EXO1c631X7AV7K2aM
 V13akQcMZ33dQ6BV7AV7KNVM,.OoNKnVWJKcMMCddFf7KNFOSnV8HgmGEcBh7Cl89802a0Za23
 aMZ3h7CGHgmWsIa,JaMZ3ldBV7AlWkcFKIgmGE01O28GE8GK0WMFFCmF8GK0W4Zao2bMZ384SH
 N8HMW3ldAl89,NCZtAlWrw4B03N6379,7AlWk29.5OF3uEl89kWEFWHFmGE.l0...4nNWHMWJK
 w4Ul290141UkAc43bMFQ0Hgc6,e6N,2aM,IYV.6ABmMCIgmWWIAYarAc03fgsBCHWW3fNBV7KA
 ap2fg2YWA2.f,A4MAlWm2al2fg6AlWioZiYZU24,76,7.5E.2U.Ub,Et,,UfUAUF.,k.U.G..C
 04.YDYDIEU...9.0U,kMkzB,0GEumr0LuCr2CpWGp2irNmGEOnyqk200IidZgZJi7YeZ3DMNNX
 GhgVZgZJCr8AanU8oVCHMWoi00.dPSKq2aIbsFcAVN1.b9R1fQdP0HeH.WHNqk200YhdphZRi7
 A7.V,Es4Kt4qtakY..klWqk8r2CIY4IdaEFuGFqk2.HfPdP0H0kNCHP4nQaHPan422cM1vQ9P0
 HeH.PNAP.6PYi7YdDpd5BdCZe7waqAc0BbnAbm2akoamocqYco2dBAVU.ZPN19PHcI9OENO0RP
 MR96,78BeFBGXEM0HPcAh7AFO8PEEUWxhjZh7IcDxdAhc,pd7giiZgZpgdphZZgu2YlwalgV7.
 CrmGr2CpWG3X79,dAN76j79,NAV79,NAZ79,NAd79,NAf79,NAj79,NAl79,dAZ79,dAb79,tA
 XNTPEEUghgiBV7p7Umg,UnZimBhixg7YeZ3D4Ks0rm8rtumdGLta48GWyaU2YUIUioZiIUBA,E
 vgAHcJHPNC5Ka7QfkIatIarAcp2a6h9.wi7AdC,Aar6Bf7AP.6OHMGR0EOOHMKHM0GE0G.O.2.
 wA..,6.Q3Y,A02U.M.2.,I.0.kFE.0.S4..,Uzo.m.KG12.0.sU.,.s1,U5o.0U.Uq.326..EB
 U.U,.J,2.0E6,DS,0.3NE379,7AmWkocp2ak298Gl80fdA1uElWrEVWJK2a,hclYaMZ3VtEdtE
 58KN76fFMkM29o6UW.KnO4HgmGES1kO8HW0HgsB.X7Af7KN76ZNFUk29GHM.XtAl7Cl890nV0X
 k298mE.2a,pcmgcMZ3jtAldFl89,FXGHV0Hgc631htEd7AlWqIatwaMZZU2a1Bb3RaMZ3jFQUn
 Qcs2fg6Cd7KNlN.l,0HXKHQCIgmWW.V,W3376.01.5OFUrwaq.VdFdNCV7KNFF84Uk29Yctoak
 2fgsBbNCb7KNFMW3V,XFQ01SnP.EM..37Q379,,0HXO2lWk.Eg.8GE.2a4Za1RcMFF84G1kPQa
 2VpgakUnAalgaMZ3376.KHMUlYcMVMFN0nMEMW3V,4IVCIWW3GoV8oUWJK0mOSHXSHgmWqga,x
 aMZ33,.l0EXKHV0Hgc631fdA10S130VNEnNEd7KNFMCIO.fNBkMK10HX.80MBf,S1kO8HWUr.A
 a0haMZ3ZNFUk29G1kMCHQW10nV01c6,,EP8oVKHgmWpAbnocMZZUcFBmWEMEX.fdBd7KIYWVog
 coA6w4Upw4EPK16AlWkUWA2.fNBV,XNBMAlWm24Uk2aMFFSGFmGE4Hg6AMAhNAl898nW..K1an
 OOIMWJKw4jdAl898GG8GK00AaMFMEM..EF05Ukoc4,01...MBVdF38KNlPQ4MBfNBkP.0Hg..M
 AXtEl7KNlNWJK.V,..kMCHOWHgmWn.6AcBVNAV7K2bk2akUk.MAlWkUpw4EPK16A6A.Uq24EQ.
 01UpgakUlg4.d7KNFM.cFh7Ad7KNFF84OHPCIMW3jV2VqI6kOa1U4NF6AcFUqAao2980Y4d,S1
 30ftBUqg4EMW3V,376.KHM014HWUMFN0nM.V,8mH.24IalAaMZ3ZNF.UlY6A529SXr.nNFf7Al
 Wlgas2fg6A5uBB8Al89SXnAcMZ3V7KY424..gap24A4l06AEXKHWGHgmWWIAAb3,4XsUkcBh7A
 lWW.h,sBY6oa0Bcp2fgMBn,24BmWEMEX.hNBV7KI20GE0G.C.0E.kn.cwU.kJE4k6U.M.E.7..
 JF.6.sN..0E.MxLUAUPT,6.U102.UDUxS,,6.,6.cBE,,0..I16.M.EJYDU.2Gkyi.z5R7FTf6
 NFMkPwal2fgkWGnWSHgmWrsA30OYn2bMFFIYgMAl7KNFMW3.oalgak29S170V,...waloc23fg
 kPI6Abrwa03fgsB.V,V,l7KNFMkNOX13fgkO4nOW3j7FbtAl89QasQaMZ3V,V,Z7KN,wa1Jcr2
 94HQKoWW3V,V,jFP8HgmWrQ4EMEMEF00Up24MA70W3Z7AX,ftBUqg4EMCoM0Hg6Al0sABuA10V
 ,V,htEX7Fl89SnP.f7Al7KNlOWJK.V,f7AV,X7F6A506K.kO.X,0HW0nNKIgmWs2a1paMZ3VdF
 OIOW33dMcBBeEd7KwaqAc03fg.78BlWW.n7FjtEl89SXl.VtEdNBV7KNFFaLFmGEWnPWHMW3jN
 BfNBl890nU8INGHgmWkQ650OHM.W3f,A46AB8CB8Bc631V,WLFm06AlWp.412br.4nOKHgEXSX
 s298GlkNGnUOHgmWrw4kNGHWW3ZNFO20Xs.802a1x4EPOHP69CHP4HXWJKw4Uooc43aMFQ2fg6
 ASHNWHgc6U3RcswaMZ3jdBn7Cl89CnWKIOWJKwapoas2fg6A50cB.X7B3OEl89SnNWnPW30HVO
 IgMAl,2a435EF.50cB.V,EFUm2ap2fgEgsAdVgcA.VdFhdFV7KI2,f6NVMFM2bl2aMFFI20HX.
 .YcnAaMlPCXnUkcF..4HO.sBsAZ7CV7KNlP.0Hg6A.oc,346K.bV43fgsB.EMU0xa33bMZ3h,6
 Al0..B8CCIgc6kP8nQ0HgsBQ42aMFM..X7K242a4dFEF.BOF38KAas.kWG1.ZFM.D,W3b7KYak
 Abm2fg6A3eF58F6ABuB58Bl898GlEMGIOOIVW3jdBXtEl890138Bl0kMW3W3b7A1eBl0jtBU1h
 ak2fgsB0HWWJK2a4p6EM.IYoIYg22l0SHWWHgc631l7K2aM,.OIQ.3,81Ub.5eB38Kw4UkMCV7
 AlWWIAwaMVMFM.cF.3,0HXWHO.EPKnWOIgEP.Z7AZ7KNFMW3V,kM82Aa3ZcMFOOIOOHgm03mVU
 lwa33bMlPSnNUl290HgMAjdBV,j,cBVdBd7KNFPGnUOHg6Bj,w4G20HX2bk29802a3Jc,3aMlP
 C16AOIXUk.UsY4c6.1uA58KwarcEEg6AMAl06ABGXUW.nNB38AlWrsBZ,.I26ABmQWHgm0kQGo
 M01SHPYcMFMW3..O2V7KI26A98BjNAl89SnPC16KQaMlMEMEMOY4,3,SHMOIMW3jtAC10nVanO
 WJKIa3,o69080I4UMFMOY4,3,0HXa1.6K2aMV43bq2aMFF.6Al0BGWWHgc6EPOnVUrw470fNBB
 8Fl0n,Ia4Za139SXrA42a3dA98KNlPQa0Vko638AlWW.X7ClWk29....octYcs2fgc6EMEMW3.
 .EFW1Uk.kWKnOWHgMCl89,7AlWk.BGPWHgc631ftAj7Fl89SXr.2b3,3FM8GK.XdAnNBl89CnN
 0nMW3X,6AlWkoctwaoUWc6wa3hc439SXpIcMlM.290HXgas29802a4NEV7KN,Eg6AlWq24Uo.8
 Hg6A6A.WHO0HgmWqIa3xaMZ3V,V,.AaM,24.4IN4oWWJKw4b,o67080Aap29aHMW3XdAUn.244
 2I26CfNCd7KNlPg4MA.W3VdFK1I26ABmU.UMFMW3h7A.d,MAl89a1AakIcMZ3V,8Hgm06AB8KN
 VMFFKqG9GK0mM8nQUkoc4Ran29EX..Qcl.V7KQ4Ul29W1cBZ,.V,XNB6ABGM0Hg6Ao6..l0MCk
 M4HMWJK24..Aam.C1EPWJK.01.8Hg.0HXW3W33,2a4Bb0ZaMVWVooatAbMZZUwapAas2fgMAa1
 Q4Ulg4A56BX7B98KIY7JYg22Yc1398GlkN0HNKHgmWqYatocMZ3XdAUn.AapUt.X7K242a4NEE
 FUlAaMlQUlI4kN.WnU4IMW3ZNCWJK6K2aMFMOoU2bMFF.b7F18KNFP8HVKIgMCXNCV7KNFN.h7
 K2aMlM01.W1014nM4IgmWkUkoc4,.Eg.o6V,EXUmgangaMZ3W3XlPWJK242a0Zal24IatIcMZ3
 V7FXtAV7KN,kM2bt2fU2YU.2.wA.8D6..N.X.0U,.,Y..QU.kzB,,d9bP0dONEs0bmVXBgiphZ
 Ji7IUaBhZZhYRi0gV7UdZgZphoBV,JeGBcN3Ymgaq2YDpcUQc6BcGlU8GE0GE8..4ruMO7PNR1
 UpAal2YDpcU.c966.0GE0m.O.4.wA..,6.Q3Y,A06.4.2E0.M.3,3E.2UwVwV002.y,0E.M,E.
 AU.AUME.8.YDYDIEU.kK0.0.b.0U16F.Et2.5,3.m5m586E.MAE.s36.,E,on76.7ONh1UmVn6
 .8U.EyEyE,,0.z.,6.g.6.4.T,3.m5m586E.s56.,U3.,k.cT0U0U.YDYDIEU.kDU.k0U.M.25
 I.6T6TcU.,Uh.,UH.,k,...c.EyEyE,,0.X,0.j.,6.8UDR,GomO5.Z1v6.I.,UwVwV002.C12
 .K.0E.A.8.CE1k.4,CE0UK.,6.0kn..6.Av.E4kTV..QEU..w,Ao.2.,6.EPE.86E..UO.,.1.
 e06.2UE044yDcQ9PQfPNb9RBuP5PRbP03uHT0aEX4IaCpWqUUEwakYu2D0jNCbtBfN1H66Aj7A
 dC,2bpwamgaB66gBaKnaqm8rtakdK2oax76,N.k.E.S4.U.2.i0m.4,2.1.06,.AUb2.8.0EyE
 yE,,0.z.,6.g.6.4E.4k.E,UwVwV002.KG.6.,U9E.2.56.hOOQi.AUYU0.t1t1326.A30U.k5
 U.c.0PHcJHPNEM2U.I.,UwVwV002.y,2.K.2.1Uo2U.c.EyEyE,,0.H,0.9.0U,E96.56,E9k.
 0E.sN..2.aBm.y92.U102.UDUVW.2.cB6.326..EBU.U,.J,2.0E6,11z5IC....Us,Ur.Ut,U
 s.Uh,...M.6.D1.E.0.LF.Y,A06.4.2E0.M.z,3.,6T6TcU.,UTU.2.K.2.16.1M.c.EyEyE,,
 0.9,,6.Q,6.CE..Y2I.6T6TcU.,Ud.,UD.,E,QhbEfa46A2U06.YDYDIEU.kDU.k0U.M.22I.6
 T6TcU.,UT.,U3.,k.M5,U0.t1t1326.w16.g.2U.M..3.m5m586E.M86.,U3.,k.c.s.7.O,4E
 .0.D1.U.kgF4kTV..QEU..w,AI2U..h,,cU.,..e,2.A.c8U.E.07MMszUm,....2D.w4.AD.2
 5.gB....1.,sN..0E.s861M2E.A.6U2.k.y18.0EyEyE,,0.z.,6.g.6.4E.4k.E,UwVwV002.
 K00E.s0E.QU..67c.EyEyE,,0.H,0.T.0U0sO.EM6.3E.6T6TcU.,UT.,U3.,k.66c.EyEyE,,
 0.z.0.9.0U,kM0.3.m5m586E.M86.,U3.,k.c.s.7.O,4E.0.D1.U.kgF4kTV..QEU..w,AI2U
 ..h,,cU.,..e,2.A.c8U.E.07MMszUm,....2D.w4.AD.25.gB....1.,sN..0E.s861M2E.A.
 6U2.k.y18.0EyEyE,,0.z.,6.g.6.4E.4k.E,UwVwV002.S02.q.0E.QU.wedphYxhrRC1M9c.
 EyEyE,,0.fV.2U.k6U.c.yO,sJHfP.3.56,M.h.16.,Ub,.E.Mq61sjE..C6E..y.480E.UqU.
 IEU...p.0.4.I3E.6.V2AAwTEt....EE6S.sB.MS.6C.MP....4.0kn..2U.kJE4k6U.M.E.7.
 U,2Y.6.3E.2UwVwV002.y,2.K.2.16.1.8.YDYDIEU.kJU.k6E.0U12U6xhnZiLBhi,A4I.6T6
 TcU.,UtU.2.K,2.3kHPF.0EYyqt.UIU1Y.AUKU,2U.kn..6.APY,wL6..526..T.13,6.EPE.8
 6E..UO.,.1.e06.2UE044yDcQ.....l1.j,.n1.l,.P1...k.E.S4.U.2.i0m.4,2.1.06,.AU
 uE.8U.6.t1t1326.w12U.k0U.M.,M.E,UwVwV002.i02.4,0E.QU...69c.EyEyE,,0.T,0.f.
 0U0swrU6xB.Enk.2.S4..,UNXAUz0,.sU.,.s1Mc6.,.O10E,,0..I16.M.EJ.,U.2Gkkkz,Z1
 ....6S.sB.MS.6C.MP....4.0kn..2U.kJE4k6U.M.E.7.U,Y2I.,E.m5m586E.s56.,U3.,k.
 0k.008.YDYDIEU.kJU.k6U.s...w2I.6T6TcU.,UjU.2.K,2.3kH9H.0EY..ac.c.0.t1t1326
 .w16.g.2U.M.Q7,6.3.m5m586E.c7E.616.Q.L02.pE.I.2UwVwV002.e02.0F.6.I.HdFQdZ,
 2A0.,UwVwV002.i02.4,2.5EY..a08.YDYDIEU.kLU.k8E.0U0sFxF.W2.kG5.3E.6T6TcUE.2
 .a02.y.2.5.gdZphpRC1c50U0U.YDYDIEU.kKU.k7U.c.qxS6GT1.xG.I.,E.m5m586E.c7E.6
 16.Q.L0ECE,UwVwV002..626.I.bsB0kZK4kEkzHJd4Ic0GMqk48EE4ILGor0GE0mh0HM0HM0X
 oIc6hfUI.Hc9VP01eIkMOHEy2VeITuE98FfeI9O03M1HUP3aR7IZuH50MER7IZvP5PAPM0MAvW
 G,.ENq.IaRFd..sAPM0sAvWG,EM0HP8nW8nQGHYqUUEOqZE,UIhgslrgAQ87PHT1RdH9vRZON1
 9Ng,,Vpg9.EbaIaq.oaR,.0HNaHNKHPaHMWo4Urg9..kO0HYq.2bR,.24MEd7GP.ani..d0bON
 d9R9fQbf9ZON11RdI9PMq.AakEc.83VdA8IW8oN0HYq.MA..01Qco2dB.81.Ee.d1bndGbGhgV
 ZgZd9k4.bVE,I80HNUr2a6h,,,d,..sA.g4..V7AV7A8HPWIE0GE8k48EEiomUiQcVZhg3YU2Y
 P7A6A3eFFOL,,RNM7fQHMGRW5Vlo4G1UiQhdphYBV7p7Um24bNCndAZNBlN1uGrakYu2EMc9Vn
 Yu2.MMZP01eIZ0Z,MGR8J908kmmqmq4IUBc9ZP0ZOF1WooZpAbkAamAap2atoaswakoargcfAa
 sgaBc9bPODP0VuHMFZO0r0.c9IjZBV7p7S28HOqUiQikBV7p7UlQam2bqYaBA,dPSVP0VuHEdo
 7IUUgdZV7ZiZd9VOMZPMPvE19PNfJ19P,76,,MEndBFOL,,44o7S2o4.AViYgVZiVBV,JeG,..
 I..ELGqmCLuakaKKu44M03cNH1g,u4.01yqpaEVy2M0deIfOFPM0R7QH..6Q19NZXC,A4CnPCn
 OanMOn4oZkdQ.4HM0HEyIX0GcyoYu2ZG,..RFtyqlakaKKu...8rmGr2mob.H6AVdBwatYak2a
 k246GPM0CroS4kWsKg6Y4UsBVBhA..E,0mdG5ggm,9HLCokmaEJij76,76UkYarYa6hfUI.Ah7
 gdZZC..M0qqrGq2.8nO.50c6PM0y4.keUkV7AcGJ8..6FTn4aELGr2qom..UBI...krqqqEE0G
 E.VNEjtBFOL,d.6P9fNdP0LONUCBghhg7IY,J2IidxgcZi7Q7.U2xB8EE..UVFYyqriKLCokma
 U.6A3uAd7Gv0QgcBV13d,FMWp4oZZJimxhmhdnxg7AcG,0mbO2EF0GFqk2uGoyqrAVHZiYB7..
 27sKVVswa33bk2dR32MOaIbsFMBPELaKmakZ..U7cPfPPVOMZP0HeH.VN12iVlU.XFMUEFbcI8
 ..A,VfQMEUp2YDp650AciEFEtKqta.w6.dPSK4R0sAPELWb7p7Ukc.,7FHHqc95OM22.b7CldF
 FOLELK4..Zlb.66Es.Up..10EtUC,.KKv.ggmRC98S9vMf9R996,76r00HQKnUWoi0G,ElKqna
 kYu2ENWHOqUiQghZg72eD,Zmh01ZtB78CV7Gv0ggiZg7cHw6kOqk22ijRi7AdC,sBnN1Hc9Z1.
 24HktaEWKKvC2.QeX,Z1.PUoBVIhgsNHgggRCPuPKa7QfkI43mMCHMWoi00giiZhjBgYBV0x7k
 2O2c.,7FO5.ZXIJiVRgf3YU22EManQKIYqJEUWhioZijphnBVH,M1Qg7gdjZgZtQCoruKuKKwG
 r2iJM6BV7Bf7AFOLUZ,.8HQUaBVKBhZFLOIt4qqKaP3amcAnNAb7AFGEUcBV7p7UlY4M1AhiBV
 0xdD,H6J.HHMaEVy2..b9FTvRRP03uH.B0A,PP0bOFdWxhV7oZqBV2hgq,.O3jP0UrA6W2kvak
 Y.sBG16S.sBw4aELar2a2Usg4KX022O5q4ICCJuo8oZ6BgiZgghg1ZimZhBRib3YU22EM8IOOI
 Yq3cNUn,.Abl..TvMcJH1O3aEbaIaAVighnxg7QcjpBZvPN9P9fQbHeUBRibBV0ogd,Ev..kd.
 Q9sB10E,oedltocjJirBgmZg1ZimZB22.ZdB38AFGEM04q2OpoK4O3aEb.BP0ktocm,Ut..BvP
 .Efk2.Sq2O3Cb4,.dtB78AFOLUcdJHPN.cHH0q4HsE.UI,E,.Uj3i7A7.V,ZnsaEVyobU7.Evo
 ed,h0HsKkP.c.UndFT1.66.waqIc6hfUk2AA.h0HcHUaB,sQOItUP,d,.Oqr.UKV7Q9sB.kn.b
 HX.Ukgcn2a6,2B..Ut..PX7Q6.Ee.c..kr..cQ.k2..UKV7.CHMOHMWoiE,.bHXy4.EE..U7MM
 .O3aEb.BP0ktocm,Uk..BvP.Efk2i3Q4.sNUndFUC,W4.UP,d,.q4HsE.UI,E,.UjN0..Z1.a.
 ..o8A,EQOnP0HYq38ULBhitPoZLBhiZAuGXy4.EE.2amAc43dR32aUhl2C2.6J.I..sRHsJHfP
 7Xn,M0r8AkPCIMWoiE,2djRCjGrkt.o3..00Uloa,xa6hfUk2Yg7IcD,a..PX7Q6.Ee.c..EtQ
 C.oaocBl7CdN1wCFuPb9R.b1k2..c..Un,c9PuPfvQ99FTvRR96,76r0Ic4Ra6hfUk2ghjNOBX
 m,MAg,0LoakYu2ENaHMqk22irBV7,cBfdBPUoBhhhg7AdC,24YimBgXN05uP..MH..wC.kt.A,
 .EEUsB,.4nOqUiAj7.ENSHPqE,00.QCFOMkayquCbU2YU.CHN4oPW2ElakdKIe.PUaB,sQO2cH
 Ub,..MOU7.M0d06PVOMZPMakYu2kMWHMWXtgalgV7oZr,.sJU7.w466kv0pk8rk.UmgargV7oZ
 rphYBV7p7UlAbkAasIaogV76SH..f,n1.ZtBkZ.GJtaLE0GE.ddBZNCFOL,,4a7p7UlA5.8a7p
 7Umg4sMHMG.4HQ.c9FHc8pb6FEYyqt.QCF0.qE,27.EWyaLBhi3dVpBIiU22Ungcowa6hfUUiY
 gsBV7p7Uh.7PSHMGR0MAnNCYan2bmYaBEq.a2.l,.PPNbvQ1vN9P0HeH.fNAbN1Hc9Z1u2EMkt
 Gr2CpWEMmGE8HKYag2YtYZUAamY3YZUAaqoZiAasYZUIanoZiIapYZUIasoZiQakgjBc9bnwmq
 makdK2q5Sr2..S3M0ROGkv03Eb.4n4Er..n7A.W5R0MBZN1ttQnvQdPNPfD,76,78VvMvtBjtA
 78BjNE18GNFEOKsqHM0HPoc1Bc13ddgVwQit,.U0hamAc03dg66.Yct2a6BZBY5..UoQa4Z6NF
 E.MFV7BFO8P...UlYc43dg..4HMWoIIUU.PONc9NuPT9Q,76,tKU2Zc23dR32kruqmaEVy2EX.
 uGnQe3VkoZigaxhV7oZiB,.0185..Sr2UL,jvQ.a.I.L0sIdPMZHE0GE.SnMCHYqJEUXxhYhg7
 2eGV2,ka.k48ssHpmWb1xhiZCUntIQcoJC7ONbvM,MwK4.UiQcj,EWKqtCK.Q6AAsQUm,..Unp
 3.6F6.ZD,6.632U.U72U.6.,E02.,.1cUXDJcIf9P9fQbf9bWGhigFWE.4Te.sQRdIf9P9HWE.
 8z,0.0.j3D6.wJ2U.sUX5.bf9bWHZitFWKqtCK.4D.o3aLq.,cwDU.6..F.B10.3Qw.EL4IuG5
 31G20U2U...0H.6.16.0U.U.ywAV.6TsbTX,U,U16UZd.0oK9V.IyfE.8Mt3.0E..UO.,.1.eW
 wV.E.0t.2.0.UA2Tm.msjrY92T,eUXDFTnu.RtE..c22.,..WU.6.A.N.,6RvuQ0mHCe.az86U
 tj0GTkWK.0OJW7IG,...
 --- end of encoding ---
X512
 
Posts: 53
Joined: Sat Feb 07, 2015 2:51 pm

Re: Procedure pointers in stack are not initialized

Postby adimetrius » Thu Nov 05, 2020 1:18 pm

It seems to me that the problem is in DevCPC486.FindPtrs. It has the following line inside a branch checking local arrays:

Code: Select all
   IF (btyp.form = Pointer) OR (btyp.comp = Record) THEN


Seemingly, it has to be changed to include procedural types as follows:
Code: Select all
   IF (btyp.form IN {Pointer, ProcTyp}) OR (btyp.comp = Record) THEN


I've done a few checks after applying this patch, it seems to have worked. Although testing is somewhat tricky, because it depends on the undefined stack bytes. Here's what I've used:
Code: Select all
MODULE X512Bug;

   PROCEDURE P*;
      VAR a: ARRAY 32 OF PROCEDURE;
   BEGIN
      a[0] := P; HALT(0)
   END P;
   
   PROCEDURE PrepStack;
      VAR s: ARRAY 128 OF CHAR;
   BEGIN
      s := "This is some gibberish to fill the stack before testing procedure initialization"
   END PrepStack;
   
   PROCEDURE Do*;
   BEGIN
      PrepStack;
      P
   END Do;

END X512Bug.


Shows garbage values without the proposed fix, shows clean NILs with the fix.
User avatar
adimetrius
 
Posts: 35
Joined: Sun Aug 04, 2019 1:02 pm

Re: Procedure pointers in stack are not initialized

Postby X512 » Sun Nov 08, 2020 2:50 am

Proposed fix is confirmed
Code: Select all
 A.Do   [00000057H]
   .p   ARRAY 16 OF PROCEDURE   
     [0]   PROCEDURE   A.Proc1
     [1]   PROCEDURE   A.Proc2
     [2]   PROCEDURE   A.Proc3
     [3]   PROCEDURE   NIL
     [4]   PROCEDURE   NIL
     [5]   PROCEDURE   NIL
     [6]   PROCEDURE   NIL
     [7]   PROCEDURE   NIL
     [8]   PROCEDURE   NIL
     [9]   PROCEDURE   NIL
     [10]   PROCEDURE   NIL
     [11]   PROCEDURE   NIL
     [12]   PROCEDURE   NIL
     [13]   PROCEDURE   NIL
     [14]   PROCEDURE   NIL
     [15]   PROCEDURE   NIL

Code: Select all
PROCEDURE Do;

    VAR p: ARRAY 16 OF PROCEDURE (); -72
F200002E:     PUSH    EBP      55
F200002F:     MOV     EBP,ESP      8BEC
F2000031:     PUSH    EDI      57
F2000032:     PUSH    ESI      56
F2000033:     ADD     ESP,-64      83C4C0
(* array initialization *)
F2000036:     XOR     EAX,EAX      31C0
F2000038:     LEA     EDI,[EBP,-72]      8D7DB8
F200003B:     MOV     ECX,16      B910000000
F2000040:     REPE:STOS       F3AB

F2000042:     MOV     [EBP,-72],$F2000001      C745B8010000F2   >>>
F2000049:     MOV     [EBP,-68],$F2000010      C745BC100000F2   >>>
F2000050:     MOV     [EBP,-64],$F200001F      C745C01F0000F2   >>>
F2000057:     HALT    0      8DF000   >>>
F200005A:     LEA     ESP,[EBP,-8]      8D65F8   >>>
F200005D:     POP     ESI      5E
F200005E:     POP     EDI      5F
F200005F:     POP     EBP      5D
F2000060:     RET      C3
F2000061:     NOP      90
F2000062:     NOP      90
F2000063:     NOP      90
X512
 
Posts: 53
Joined: Sat Feb 07, 2015 2:51 pm


Return to Bug

Who is online

Users browsing this forum: No registered users and 1 guest