Hi all,
I guess I need help in how to link modules to a DLL.

I have a simple module “TrialsModuleA” which I want to wrap into a DLL. This module calls procedures of two further DLLs, “TrialsDllModuleB” and “LabviewLocalStderr” (the latter being a part of my current application).

When I try to link “TrialsModuleA” to a DLL I get a Trap (NIL dereferece read). The error disappears when I comment in the line which calls TrialsDllModuleB.Value

 

MODULE TrialsModuleA;
  IMPORT LabviewLocalStderr, TrialsDllModuleB;

  PROCEDURE WriteString*;
    VAR a: INTEGER;
  BEGIN
    (* comment in the next line for the trap to disappear *)
    (*  a := TrialsDllModuleB.Value ();  *)
    LabviewLocalStderr.Ln;
  END WriteString;
END TrialsModuleA.

 

MODULE TrialsDllModuleB["TrialsModuleB"];
  PROCEDURE Value* (): INTEGER;
END TrialsDllModuleB.

 

MODULE TrialsModuleB;
  PROCEDURE Value* (): INTEGER;
  BEGIN
    RETURN 5
  END Value;
END TrialsModuleB.

 

Linker commands to create the DLLs:

DevLinker.LinkDll
TrialsModuleB.dll := TrialsModuleB # ~

DevLinker.LinkDll
TrialsModuleA.dll := Kernel + LabviewTypes LabviewLocalStderr TrialsModuleA # ~

The second command generates the trap:

 

NIL dereference (read)

 DevLinker.WriteCode   [0000379CH]
    .a                          INTEGER                              0
    .exp                      DevLinker.Export                   NIL
    .fp                         INTEGER                              1477768406
    .i                           INTEGER                              0
    .m                         DevLinker.Module                  [01179050H]
    .mod                     DevLinker.Module                  [01123500H]
    .name                   DevLinker.Name                    "Ln"   ...
    .opt                       INTEGER                              0
    .x                          INTEGER                              4
 DevLinker.WriteOut   [00004D21H]
    .codepos               INTEGER                              1024
    .conpos                 INTEGER                              2286192
    .end                      INTEGER                              0
    .exppos                 INTEGER                              1678059109
    .imppos                 INTEGER                              19590208
    .name                   Files.Name                           "TrialsModuleA.dll"   ...
    .relend                   INTEGER                              1818587694
    .relpos                   INTEGER                              2286180
    .res                       INTEGER                              66
    .rsrcpos                 INTEGER                              66
 DevLinker.LinkIt   [000058E7H]
    .S                         TextMappers.Scanner            fields
    .end                      INTEGER                              457
    .mod                     DevLinker.Module                  [01123500H]
    .name                   Files.Name                           "TrialsModuleA.dll"   ...
 DevLinker.LinkDll   [00005AFBH]

 

Code of DevLinker which traps:

IF x = mProc THEN exp := m.exp;
  WHILE exp.name # name DO exp := exp.next END;
  a := exp.adr + CodeBase + CodeSize
END

 

x = mProc; so the program enters the WHILE loop after assigning exp := m.exp

 

DevLinker.WriteCode:m^

[01179050H]              DevLinker.Module^                
      .next                   DevLinker.Module                  [0113D200H]
      .name                 Files.Name                           "LabviewLocalStderr"
      .file                     Files.File                              NIL
      .hs                      INTEGER                              0
      .ms                     INTEGER                              0
      .ds                      INTEGER                              0
      .cs                      INTEGER                              0
      .vs                      INTEGER                              0
      .ni                       INTEGER                              0
      .ma                     INTEGER                              0
      .ca                      INTEGER                              0
      .va                      INTEGER                              0
      .dll                      BOOLEAN                            TRUE
      .intf                     BOOLEAN                            FALSE
      .exp                    DevLinker.Export                   [01179290H]
      .imp                    POINTER                              NIL
      .data                   POINTER                              NIL  

 

DevLinker.WriteCode:m^.exp^

[01179290H]              DevLinker.Export^                 
      .next                   DevLinker.Export                   [01140A40H]
      .name                 DevLinker.Name                    "LabviewLocalStderr_String"
      .adr                     INTEGER                              0

 

DevLinker.WriteCode:m^.exp^.next^

[01140A40H]             DevLinker.Export^                 
      .next                   DevLinker.Export                   [0113E400H]
      .name                 DevLinker.Name                    "LabviewLocalStderr_Ln"
      .adr                     INTEGER                              6

 

DevLinker.WriteCode:m^.exp^(.next^)2 

[0113E400H]             DevLinker.Export^                 
      .next                   DevLinker.Export                   NIL
      .name                 DevLinker.Name                    "LabviewLocalStderr_Int"
      .adr                     INTEGER                              12

 

Some more information:
The interface of module LabviewLocalStderr looks like:

DEFINITION LabviewLocalStderr;
PROCEDURE Int (inValue: INTEGER);
PROCEDURE Ln;
PROCEDURE String (IN string: ARRAY OF CHAR);
END LabviewLocalStderr.

This module in turn calls a dll called LabviewDllLocalStderr which looks like:

DEFINITION LabviewDllLocalStderr ["LabviewLocalStderr"];
IMPORT LabviewTypes;
TYPE
TD1 = RECORD [noalign] 
status: LabviewTypes.LVBoolean;
code: LabviewTypes.long;
string: LabviewTypes.EmptyLStrHandle
END;
PROCEDURE LabviewLocalStderr_Int (inValue: LabviewTypes.long; IN inDummy: TD1; OUT outDummy: TD1); PROCEDURE LabviewLocalStderr_Ln (IN inDummy: TD1; OUT outDummy: TD1); PROCEDURE LabviewLocalStderr_String (VAR inString: LabviewTypes.char; IN inDummy: TD1; OUT outDummy: TD1); END LabviewDllLocalStderr.

Module TrialsModuleA imports the module LabviewLocalStderr which has the same name like the DLL which is introduced by the interface module LabviewDllLocalStderr. Could this cause a name clash ?

The text below contains all modules being involved.

Thanks in advance for any help.
Best regards,
Rainer Neubauer

 

StdCoder.Decode ..,1 ..N0....deQHPMNvQtOHT9NtOHT9Nf9P9PERtP7vMGJta4UQZcgZhB
 xhYhC8ILyKmC4.6LPWp,Ea4KlOroKqvmpayaQZdjRgVZhHZiYhgmJiiwB..Y6morC4...UIBjk
 hgnpZjZgX,JU1...  1Ak...oO....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.4H1
 U.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.z
 P,A,wi3E.0E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.1N,E.CcIhgsNHT
 9N9ntQ8qorG4704D.CbB,708T1U.kJC.T.5t.2U.2.of,U00.bnUGLu8ro8quGrmCLWKqtE0E.
 kHU.EBU.U,U.I3,DX1.0E65.28AU0KyB.,UgU.UO.,6f6.c8.2UwK.616.v.3cUZT16.,U0,,U
 O.,E.12,Ue.E.07MCk0E,KG.6.100.uFq8Ua5V0cUXDF9fR5uPPPP1fP7PNZvQRtIdHf.2Ulbc
 ZpC.c9h0E.8z,U.EEE.E1U.M3cCE.ED.cwR.0..o.6.K,84yzayIWKJaKIEGJtaqkmqtqorGqu
 mqm4oRqk2aoa0pb8Je0Ga4KlOro6HTvM19Pb8R7PNZfQN76deQH178PNPHT9NfX0RbBgV72eGx
 d1hc2heGhcUwemBhohgHZimBhixgeQbBAV7oe,JeUAgu2Y7pdIhc5hcGRbBAV0hc5BdChV7AVc
 IZUQgjhB9fP0mouKEGLoKKEuqmWLu0GqaKrKKEOqr8LEGLoMNZfQTfQ,lr0Gmaqt4Ks0rm4Kt0
 GJam4ak2W0,NM,dCv76deQ..oZKBgghiZ3YcAZv2YUIZdg,mok8Kv..c9NePrN1HMFR8F,tJZP
 O.QbBgV3pd27JZ1q2MERN1Pc.7ONh9HHfPLPNZf9NOORHWmKqqEe8ro44.3GmmKq0GRqHE..2Y
 X2YyhVB.km.G2..4YYZhg,LONZfP99P,t8,7H1fMEeaLsKqt0Ga446H.EEGJta4.2YX2YydUXD
 J99SCoruKuwhgZhZJinpZHlVGLtmKWKqtCK.4Te..c95uPR9R.7ONbvM,kVkkEt.85...CLL.U
 2V.Iy2U.UIU.U76.0E..k.AyIVGhighgmRiiQ88pum470,Mwd0UnpZGhighA70,cw5.,6.QJw.
 QI2U.sU.ktumdsIdPSNPN7ONbH.4D.o3aLq.,cwD.0.E22.p0,6.IE.EL4Iu.6F6.G.0..676.
 16.6.665hKE.SoA5UTyB4.4.0E.cUZT1E..UO.,.1.e0.,6Y1.0.UA2Tm.mmBjZ92T,eUXDFTX
 hVntET1.UG.,..W.0.A,,U.yen7Crsc0MyfU.az86.r8OWPDW7Mt1...
 1Ak...2G....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.4E0
 E.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.T
 u.A,wc1E.0E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.Xj.E.CcIhgsNHT
 9N9ntQ8qorG4704D.CbB,708T1U.kxl5ktF.0.QFcU.ktAcoZimBhWhiohgnZcZRCY.2.w26.I
 16.M.,U.I3,DX1.0E65.g4AU0KyBU.2..c4E.m80.e0.,6j3.O.Q2wzBxd2heAhcUYemBhVZhn
 ZcgZhBxhYhighg0RfWYemBhVlayKmK58miin4aEc8pbCoWGoe8pW0Gf4KqKrmeGEWmIeHEaIbG
 pWSoW8pRqkWuIW0Ge8roEW.EL8ssHpmsETfPdnrmKqKKtCLLCJuQcoJigZcZRiX3Ul1.UiQcjp
 ho,YcZRiX3.5011.85...CLL.U2V.IS6.636.M00.,..1ksHpmcIf9P9fQbf9bWGhigFWE.4Te
 .sQRdIf9P9HWE.8z,E.0.L3D.53,6.C6.QiiQ8CJuaLqKKWKqt2Ul1.RVtZBE.8z1U..2,I96.
 IE.EL4IuElU2V.6,6..UYU.AU.U.UUQoO,,sFnQ.ytrM.M.6.,U0KyB.,..e,2.A.c8.2UEC.6
 ..mEw7169rwKiEw3c0Cy2,U1xB..0,0..606.k22.0sfCbsQXX8Utj00MyfU.Qfc7ix6a.nu0.
 ..  1Ak...3H....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.8I0
 E.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.V
 w.A,,E2D.,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.Ia1U.2U18J99S
 qorGqmQCbWBxhYFWUl1UnNHEWUmr.6.Yb,k5EO4.,6.,.9486.QC18RdfQHfMf9R9vQ7ONb17.
 ,.D,,6.I16.M.EJ2wAC.6.VQ.kEk.8Mtr.0E.696.c4E.m80.e0.,6j3.O.w0IU0KyB.,..e,2
 .AU.Ue.E.m9c,kEkzrobGoemoW0Ge8ro4KqCrayKmKLqKKVin4aEc8pbCoWGoe8pW0Gf4KqKrm
 eGEWmIeHEaIbGpWSoW8pRqk28oWSoYuo4ak28pWGpe8Jb0mOqk2KIbGIEOpkm4rN19eH7Ge8ro
 .UiIklbeZlVyKrGbjZhghgmRiiQeotEdfQN9F9vQ59.X5..RtETfPd16F9vQ59.C244.IC...Q
 ii..70,cwE.E8E.k22.,6..M.3QwdONIepZhZJinpZHFdKLq6F6.XDJ.QiiIepZhZ7F6.Zz.6.
 ,UfW5UXW.2.52.CLLC3b8Rn9P99F9vQ0ks,Uikwm46.Zz,2.,.60cKE.cU.UiAco,EWE.Y.2..
 EGE.4E.E.EECOhU.wcNC.zwPA.A.2U.E,9z4U...p.0.4.I3.0E65.2..N6yY,YZPS9L6y0I,5
 TW.kVy4..V.,..2,2.M00.,wJbHQilF3kwL,,AzJE.iJo2rS2H.Z,1...
 1Ak...75,...58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.Oo6
 U.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.d
 A2A,YlEE.0.8cIhgsZiKBhZxintId9NhOO9HWUlbeZ3Dkto8Y6cw3.0.k1EP0,,6.CcIhgsNHT
 9N9ntQ8qorG4704D.CbB,708T1U.EUu.T.ld12.,.dR,cU.ktAcoZimBhWhiohgnZcZRCY.2.Q
 42U.EBU.U,U.I3,DX1.0E65.o16.6hFg1OS28U0CyHZiYReoBgh3inpZHFf.k,U.kF5.2.fQ.E
 ,aV8qj.zjUUypZ96M7UQywMgmNUlpZ9c,3Uxw19846QRt0Gx,6bDbLUBpZ9M,7UqIU,xgKURoZ
 9sv5UlgQpP3M3Rt0CE0sjp7fvg22UFoZ9My1UnYwqwaFUEoZ9cZ3UCYWLTcE6.,cyPt08M,suT
 6eje1MyPt04H0s2p7DJe,swPt0OG,sonPmxQ,cwPt0ms,cVFCmHC,2UjjZ9sS3Ukqefwo,UijZ
 9ca5.,6..............................rN.AU0KyBU.2.WH.6.c46.,6f6.c8.2UE0W,0
 EZ4.2.8Fu4Uwpr,cUXzIocjZhYRiiocjZhYZcZRiX,6.gDY,wB6.M.0k,9z3U..w,A80E.0.oa
 .U0KyB.,..e,2.A.0Ue.E.07M2,UzTccBgm3YXxhipiZJinBhjphn323.3cUZT16.,UKV.2.e,
 2.,AE0E.c8.2UE0m10k4k.u.wV,E,m10k4UHU.AX,U.2.8,.Zz1E.s561M2E.AU.A.06,.c1s.
 3gwP.0.N0,.p.,6.N3,.J,6.0ES9.g.cT,U1Q.0E.44Ck1UMB.2U.EDmK,ow6.7ONhvETPPPPM
 R9N9fQbf9b8R.6.XDF9fR.ELO3U.ISE.662U.U4.,k80U.o26.s1hN.OS28...oZHlWuKmOpoK
 46.X5.ELKIrGKf.2Um10.t.,.36.6.8.2.o1.8T6E.EEE.E1U.M3c5,.,.T..ZU.6.Y12.I.6.
 4U.6.,.x6P.202.222.o.6.K,K,0E.k5.E7U.ECE.E,U.M.E.ED.E6E.EEE.E1U.M3M76.,.T.
 .Z.0..I.6.4.yzayIWKJaKIEmok8Kva4NuP5PMNvId9N9fQZvCPM1PM03M1PM0HOHVuHZ8J,tI
 nuIdOFP89,7H1fMEWmKqmorCqk.YZUYdV,Gpw0rmCrRqk4aEf4Idqk2akouKaCLu8LR0Ga4Kl.
 ELKoq0LuaLaCJu8rRqk2ako.V8RZPEZfQp76N0...V0Q5H.7ORPPPnfC,7H11Y6..R7J7OArN1
 PM0HsPf9RNuQdfQp,UI,.kRkr.03cC...UE,i1EWKrqq4.Y6...qk4aEc8pbCoWGoe8pW0mdKK
 uKLsKoq0LugcmJijJi1ZhpRiohgmRivgV7Ic3xc7pdBAV7EaELCKrGLEenS0GMin4ak2a46IUP
 3aR3YugbUQeNR8oZ,ZcG3YcAhiZdnlIin4ak26FELCLu8rouqn0GRqHE...03M8rN1..19RfvQ
 ,dCvFa446JUApe0xhjZhZBgipcVZhnhgvgV7.UXxhYhgUIbx6AgV7.N0R,,,M0y4Ec.r0sI..U
 d.6FUndQ....03M8PM09eH786bONd1...qk4aE,AVcIZUQgj,d96BfQTPP,tPRPN,dMn9R9965
 9O1fQ1vMdPNZHEGrr0meuoYCobGoW0mlW4.emIqk4aEc.kVyKrO5GprCIo4aU2Z7pdUAhiBcmJ
 iVBju2Y,JeGBcN3YDpcUQe6xdGZe13d,Jev2YDheI3YjhioBcmJiV,.Qc6B6HtCPUKB6,NON76
 5vPffPdfC,NGR8J9uF9eIrN1HcE.CqrKLr2YuEaKIb0GIaa,,7N8rN1HkUCpdKIdGJEWmlyquE
 S0GaKIbsPf9RUdAZvgVBA,BuHZ86H96pND0HEGpb0mlyqukK0mM0GWyo4ak2akrMEkhaqi0GRq
 Xdph,,M1HM09eHin4aUj,klyquuaR3YuEMWp4akWuYUQcjpB.sCPM1qUcI3.00MJROG.MM.dXj
 phZ,..e028.00UItIFvPZ9R58O1fQ,,.I5..i1...kd.M8Ef..p,...66pVA,H167U,,.6D.T1
 kI.O2.V76.M9.A,.ipo22Qe6x70GIaKr.M8PM0HMFQ5wB.C4RniUk29EE...iX7IUBgVBA,.2Y
 7phoJZU2ZddJ19PfPNp76HeHUdQ582UABgWpCY6.Um7H1fMh1N0.ypYuKu0GIa4EK0mouKWK5m
 GEyquY6M8PM090HePdvCPM1PM0.EauKJin4aEV..6F..u0UA,.z8HR96FNOG2Y3.A3UAphvgVB
 ..QeoJCIZU2Z7ltGLta4p761eI.C2U7o8YhZphbZicJbUA7Uvk2akk8Lt4au6ITOGR8J9eI,7J
 T861eIZ0sIkVkRqU0,6P9fPDXUIbx6HktGLtEGamRq.ROFj86FNMZfQYZUYhZpBs8,NAHtCPM0
 CoruKv..66C569,NMZfQAZvg,m2EW..o3.N0.ypdGLta4,7811iJMqJK0mo.mWj,M8.b8RZ1rN
 1PcE9uFkdKKuK5..ktiX3pd27H11..Zf9PM1Pc.7ONh9F9fMfvNRNJR9PTPM79JFPOb96NOM31
 ..3M1Pc.37H1fM..c9HePd96,78ZNBHd63M136H1fM..EauK,qE,8Ga...CJuUU2YcwYchichi
 bAZWIUBIklbeZ3D5uPR9RZvPN9P9fQbf9bW1ZimZh2hgn7.XDJ..oZ1xhiZCU2hgnRg.sEYiV,
 u0IC...Qii..70,cw7.,.d.,.HE.2U..U,Iklb8IepZhZJinpZHFdKLq6F6.XDJ.QiiIepZhZ7
 F6.Zz.E.ses,0UX4.0E.QE.sQRtIQ8n9P99F9vQ0ks,Uikwm46.Zz,E..WU.cKE.cUX5.umUGL
 u.Y62.7.,..YY.E.4E.E.EECOh6.0kXat.wnj7.1.1.,6.Ikm10..I16.M.EJ.6.VQ.E..YVsH
 4EKithQVs9E3Qw7uPgBkVy4..h.0..2,2.61,E.0E.Tpt2bPQI,AzJE.nT32UP3Blh5l2gI,..
 .  1Ak...8d....58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.Sw2
 U.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.f
 M0A,gV7E.0E.cUGpmWLuOpoKqvCbHZiYpedhA704TeKKw.bHfEWUmL.6..D.jB06.CcIhgsNHT
 9N9ntQ8qorG4704D.CbB,708T1U.ERS.T.Zt,2U.2.2o2U00.bnUGLu8ro8quGrmCLWKqtE0E.
 kNU.EBU.U,.JFkns.U.2m,.h,0.GP2vUa5V0cUXzId9Nb8R1PPVvQRtIo8.Q.6.wp,.,k85.IU
 NM7hDiJf7cTRt04K0M5pMyt762UBpZ9s.7UYQqBJnTURoZ9Mv5UQIm9AfSUJoZ9se5UZDv4DjP
 UEoZ9sR5U2arFafNUujZ9cU3UyIdwxwMUtjZ96076.4za4STD,,swPt0OG,setSVVd2cwPt0qp
 ,cYd7z3Q2svPt08L,sgdOwDC22UijZ9Mv5UrzqEaYBUhjZ9c37Uhqg4Dh3URjZ96f3UIKjv2e1
 E.mxKiUZQ.0E.0.............................ktU..JNRf6JFi,8ssH38pumqm8rtumd
 GbGhigFWKqtCK.4D.CLL8pumqmY62Um10.14D.b3,6.C6.QiiQ8CZtZhZZcZRC,Mw.ELMSN12U
 mz.6..F.J1,6.IE.EL4Iu..0U2E.0..6B2U.A.,E.0.0mFf32U5Bn,sbTX,U,U26UZd.gg26Uj
 g,0IYuU.E,0E.0k.8Mtr.0E.cJ6.,UO.,.16.c8,.E.mP,U26.,6.h.1s,EDU32.21AU5.D,0.
 IZp,IyD.,UrV5Ud,,k,9z6U..2,w72U.E,9z7U...d,,M.,.,.,tcE.0kX..1.7E.FkiNF2sxw
 3,So,W.2U9U0Ikmj,6.2c.6.EBU.YJ2.IZ..6.t3212UIF.8k9E.G18kBUY2.CE,9z4U...p.0
 U.460.J,U.2Gk3U2VzjdDZcJZd33YABgWpidVgZhAxhXBggReoZgZJimRfWYdVJgqVAxhXBA.3
 NLrN1PM03M1PM1HMGP8ITeId86NOM31Gpw0rmCrRqEIem2qEuaLsYgZpgUQioJipRgo3YvhV7Y
 dKJcjxhghgVphUQioBgohinRbBAVgxhixgUQgjZgZRbBAVAReoJi6BgiZgghgUQijhimRgZRbB
 AVx3YIZclQbBIZdgVBAVIBfEhcBIU7AVIZclIZUgbUIe3RcDJe2RfixhVZhdxgihfBAV7AVnZi
 VZCeGEen2mok8Kv.QiiYdKJcj,in4ak2aklyKmKKJen2mok..NvPRvNrN1HM0CbmBhixgeIb7Y
 7.U3hhkZitZdHZC.PM0HMFR8FrN1Pc.H6IZuH5OF7OJZOF,7H11Y7.sLHePdf8H68HfPhOMNPR
 9fCH6H11Y8Eq.AdC3Ydph2hihhhtJbUAVIZclQ5HM0TOJd86TPRd9FfPPP1kIin4qUEJeD,.Ea
 ..NePJN0FNGR86H1k2GJW4nR...M8.....sIdfQk2WGf4Id0mouqdGLta4p76H6H1fMEe.59O1
 fQr76H68J761eIZOEn86JN8PM0HMGEW.kR...M8gcCZcUYdV,G2.UiIklbeZlVyKrGLtyKqmqm
 8rtumdYg1ZimZh2hgnRg.AS..oZ1xhiZCU2V.sEMM.Et...ktu0.Y62Um1,.d.,.HE.6..M.3o
 5U.kkk1kgE.0U102.U66.yX.6.,U002..676.16.6.66.,sF.U,U.2.8cB.,..e,2.A.c8.2UE
 C.6..mEw7169rwKiEw3c0Cy2,U1xB..O,2..606.k22.0sfCbsQXX8Utj00MyfU.Qfc7ix6a.R
 ,....  1Ak...RK,...58FTuPE,5TWyqlKrqKKrGrtumdGLmGorCquU2hgnRAXDFTvMUn7FTvMf1G2sET
 fPdPMHfP9fQbf9hOO9vR7ONbvMoedhgrRiioedFWUkTeoxhmhgnpZHZijJC7ONbvM0.,.S.el8
 U.QklbcjRAktgdjZgZZh2hgnlsDor.kay4.qorGqmQiig76FUHZijJCbnWmqmqKWKqtcw7.,.F
 93A,2gIE.0.8cIhgsZiKBhZxintId9NhOO9HWUlbeZ3Dkto8Y6cw3.0.k1E3G,0U18J99SqorG
 qmQCbWBxhYFWUl1UnNHEWUmr.6.glGk5k09,,E.krS.86.QC18RdfQHfMf9R9vQ7ONb17.,.b,
 ,6.IX.U.U,U.I3,DX1.0E65.w06.6hFg1OS28U0CyHZiYReoBgh3inpZHFf.k,U.kL5.2.fQ.E
 ,aVzwaaRoBVfqZ96b3UoQfqLt8VdqZ9Mb3UMKt1yi3V.qZ9si3UEImRRe2VypZ9cK3U6Rj1ij1
 VrpZ9sr3U9xoTpx,VlpZ96e3E.aTd5NAr10LLiUlT.uRBaLKn1mJLiUmK.mIWKu2j1iGLiUrK.
 4NjbxSe1OGLiUUS.GMeGvqW1KFLiU.L.WnLOO7T14FLiUvI.eSRbT2K10FLiUIK.uEouu9H1Oz
 KiUbJ.0GuiSbC1,MxPt0CE0s,pPMlN96xPt0KF0cIDvzpN5swPt0Op,67TxT3y0cvPt0ix,sjr
 OyDt,MvPt0ax,64V6ivR.6rPt0mk,6.,6..............ZU.2U..JNRf6JFi,8ssH38pumqm
 8rtumdGbGhigFWKqtCK.4D.CLL8pumqmY62UmX.6.AMwU.2.bZ.2U.sU.ktumdsIaLqKKWKqt2
 Ul1.RVtZBE.8z1U..2,,EpU.E,,.RNEd1.6.G.0..6B2U.A.,E.0.0mFf32U5Bn,sbTX,U,U26
 UZd.gg266Hw00GQX,0E,0E.0k.8Mtr.0E.cE6.,UO.,E.12,Ue2..,6YULA.o.,k.K20E22.,.
 IZp,IyD.,UnV5UZ,,k,9z6U..2,Q72U.E,9z7U...V,,M.,.,.,tcE.0kX..1.5E.9H,.,AYt.
 ,c.0U0Ikmj,2U.Ev1.,6.I16.M.EJ0.U.Yr0.R.aU.c.T..7.,M0k8E.U,A02.c.JE.61c.96.
 2UAU0A,62c.B6.s1c.9..D.,61c.B.4F.c.9.,.8k30.y.8E60U.2UDU021,E.y.g,2.k7E.U0
 212UD.9.U.2.c8f1.6.QG,6.D.910U102.U6U9V.2.86E..UkU.AU.U.UUQIE.S2.M.s.0MN.Y
 z8.36.,k.GA,6.7E.AUX.0.,6.EJ..2.eAS.K42.526..F.L0,6.IEU...V7.2U,.,.,tcE.0k
 X..1.5E.,sZB.8U.c.J6.2UKU0Y.2U82.4EJE.U0g,2UZU02W.E.W08.2UfU,A22U1.9P.A.6.
 JNR.U.2.W5S.K42.526..F.L0,6.IEU...V,,M.,.,.,tcE.0kX..1.5E.,.AUhK.w,QU0KyBU
 .2..c46.,6f6.c8,6s.,6jUDU.A5,E,O.Y0I.EPk,u.0kY.k3E,.X,zTHT8Ff8H986NOM3fRHX
 IBjkhgnRbBgV7IUBAV7hdExdGZeUQeNReIhcBRbBgV0AV72Ze2Y33jXhgm3io3YaJijhhUYfEJ
 ijxgmBgh3Y4BhghgnZfCBgoBhjphVZhUAdiRioJiphhZpBmJa4KlOpYKof0mPuGMmplaKrGrry
 KqCLiKKwGrlyKmKKLWq4ak2Grw0bYhgaBVpBdiZisAVApe0xhjZhZBgiRbBAV7QYYhgaBhihg7
 YdKJ6UIJiphg72ZcYdKJcj,amMam4ak2C0..ocVZhnhg72Zc.Ud2adgV7A,.6JZOJ9O0NeJ306
 Jk2akLeGEOqr8LECoYuIEKrtKKtCLEemLqk2a..oc,ZdHhc7YdKJ6U4,,76,d8HN1PM1PM0H68
 JloGqmuKuaKnaqm8rt0mk8rm0mtKKqQgohgY3YVRgXxhmZgdphb3YoxhUoZc3YaBhghA,dNZvP
 QcUQgjhhkBhghgmpZUIZdgV7QcDpdHZeBIU7AVAp8.d0JN0,ND,NArN1HM0NeJ.O2IZ7220nRq
 k2aEbaKqem20mS.KKt8rr8rdGLtaKrSqa4KwmomuqnGLoem200f7AVtC,78J76JPRb9R,tNfPN
 bvQ,d8HN1PM0dOKVOFPM0H6H.IZ72YxcEn8J9uCPM08qwGrmem200.QicxhmZi7phoJZ722CJY
 yIdGpYuIein4aUdphoRamIZ722aIbGpWSoW8pRqk2YhjphbJZ72Yx..YgjhiWZhZJZ7UGhc,Zd
 vgV7MR58O1fQJN0,VH,58G1eIrN1QgcBgm,..Y7ZONBfHfPPhOOJN0,V7,..kt4Kf8HOem2...
 UHZimBBaIrGqoCqkGrr8LJ....BOONPNJN0...kVyKrOqoSKXaKqK4...EeCKsCoruKrKqlGro
 yKraImem200.UEBgo3heA,.UBgV0A,FV3,22EiuokG544..U3,ggsZC..66b9RZPR59R,tSPM0
 a4AVXphoRb7wZe2YihihJgZJiUwha3YWBjohgn3Yo3hVZiUogjZhgxhr3Yew3gCM0b9RZvKXNL
 rN0Td8CKrGLE8qwG5emLky0GaCJu8LK0GJmodGLt0Ju8LK0WeYdHZCFOMR9NNPNrN1HEJam4qU
 723Gpw0rmCLEOqr8b3hdEZeN3YZJimxB,tMNPRb9R9fQ,d8HN13M0Koq0LuaLaCJu8LJ0mS0Gd
 QcDJe2RfixhVZhdxgihfBAV7AVXphoJZu2Y7AhiZCiHEWGJohp,.Eu..FNORNNR76VN8,d8HN1
 HM09eH7uCPU3hB.VWe220pbaIbGpW8phKLrGrkSqnKKmqJEGpb0mWqKsG5sCPM0.EcMEZfQJ76
 vlU8Jd4ogipuuKu.AaUwd43Y3hhk,Uvg,.EY.J76v76V0..Y8.EcMEQbUAV72Ze6ITOGEEGpb0
 GcyoY.6Hb8R0GEemIgVB2Ze2Y2hc0he5JbUogwLiUohdRgcZiUYhZhgmhgi32ZfQ.k4ak2G5G4
 ..NGV.0mtGrkGruCrRqk2aEqEECqrGqmin46Hb8RW266bvPffQ5PNrN1HkyYe2JavgVBM0d06H
 c8cI..U7.YdVJgq,sQRNOR9Rb,.31T1Uo,.emIA,CLu8LJeHE4Id83.Un2Yf2Yl2YDFa44.MR5
 8O1nR0GIsMRHE.emIkWu26H6GUeU7V5VUUEx7cIEc.UAVU.Pc.Ye2Jae2283..M0AgoFJeHEm2
 .EaOJVy4sCM05vP7PNJdC,7H..NvPRvNrN1HUnxhpJCeGR0WHZCF0gV7AV3,PM0VeITuE98Ffe
 I9869eQZvPCIqK5IZvgV7cJ1eIPM0HM0F,EEemIA,H6Pb9RZvETPRR9Rp76HeHdmXk4aU7Qio,
 p763uHT8H9OERuCPM0QAIbUAdC,.bvPER0mU830mMWnM0mbsEFOE.FV3pd23Y2hc0,gV7A,N1p
 76NOMU2ZhgBdoBgXpZAReotCa.EccC,NGR0.8rmCqr8LmeHEmok..Ye2JavEVKoXaIbqk2aEqE
 LCKrGLEenS0GOin46P6I2YugbUQeNR8qIL4IW8JEWGqCLu8rIin4aUm,umtyqu85,dCv76..Ec
 M8rl4ak2mok8Kv..9eQZ1.,78ZPN5vPAZvgVBEY4IaGJEWGMamRqk2Qio,,dCv76NOMUI,0pkC
 rl4Kq8oryKqEEWGt.RFu4KuM8rN1HklEEenSIiZRAsMT9N9vC6PsEEEe1NvQdHLkRqk2Qcjphq
 hgmZiIxh13hV76F7PktGLtmWnxhpVdQbBg,9eH0mW8Lt.kRqEEKIbGY2,UBgV728.0Ga44cETv
 PN1J76FNORfJ19PfPNp763uHUdIbUYdKJ6Uv..HeF,NORfJEEGJYKIb0GdKIeKJduIEmIf.Y82
 Y3ZdHhcUIe3Z8..B00mWuYBAV3p7mok84.sCq..Ec4qtC4.e0.eXA,kIeHE82kR...66v76NeJ
 306JEe..deIfOF,Fa.U4BcAR8KIb.2eVRC.sCgcCZ6N06JU0CyIhACoruKu8rrmKqKKtCLLCZY
 RcoJigZcZRiX3Ul1.UiQcjpho,Y62.5uPR9R11.85...CLL.U2V.IS6.636.M06.,..1cUy.0E
 .MMs,MK6.,k,,0.E26.zF.2U.E,F.6..EGE.4E.E.EEI90U.w60..1.,6.IEPE.6..EBU.U,.J
 ,U.2m,.,.E4WDN.Ntarm3Wj.Jklb6.umVy4..h.0..2,2.M00.,wJbHQilF3kwL,,AzJE.iJo2
 rS2H.aS1...
 --- end of encoding ---
ion