CHTADMINV1.0 4-NOV-2021 10:13 VSI C V7.4-002 8 COPYRIGHT $READONLY$UTILITYiM$CODE$l $LITERAL$ $LINK$$DATA$$BSS$0 COPYRIGHT(J0LSTRSAME  ADDUSERNAME0 ADDUSERNAME  COMMANDCONFIRMED8 COMMANDCONFIRMED  CREATEDATABASE0 CREATEDATABASE  DELETEDATABASE0 DELETEDATABASE  DELETEUSERNAME0 DELETEUSERNAME  GENERATEPASSWORD8 GENERATEPASSWORD  GENERATEPIN0 GENERATEPIN  LISTBRIEF0 LISTBRIEF LISTCSV(LISTCSV   LISTDATABASE0 LISTDATABASE LISTFULL0LISTFULL   FLAGDISABLED0 FLAGDISABLED  FLAGENABLED0 FLAGENABLED FLAGREAD0FLAGREAD  FLAGNOREAD0 FLAGNOREAD  FLAGWRITE0 FLAGWRITE  FLAGNOWRITE0 FLAGNOWRITE  FLAGSSLONLY0 FLAGSSLONLY   FLAGNOSSLONLY0 FLAGNOSSLONLY   REQUIRESWRITE0 REQUIRESWRITE   SORTDATABASE0 SORTDATABASE SORTDATE0SORTDATE  SORTACCESS0 SORTACCESS  SORTCHANGE0 SORTCHANGE  SORTCOUNT0 SORTCOUNT  SORTFAILURE0! SORTFAILURE   SORTUSERNAME0" SORTUSERNAME  UPDATEUSERNAME0#UPDATEUSERNAME   CONTACTLENGTH0$ CONTACTLENGTH  EMAILLENGTH0% EMAILLENGTH  FULLNAMELENGTH0&FULLNAMELENGTH   PASWORDLENGTH0' PASWORDLENGTH  USERNAMELENGTH0(USERNAMELENGTH TIME64()TIME64 CSVCHAR(*CSVCHAR  CONTACTPTR0+ CONTACTPTR  DATABASENAMEPTR0,DATABASENAMEPTR EMAILPTR0-EMAILPTR  FULLNAMEPTR0. FULLNAMEPTR  OUTPUTPTR0/ OUTPUTPTR  PASSWORDPTR00 PASSWORDPTR  USERNAMEPTR01 USERNAMEPTR  EXPFILENAME02 EXPFILENAME  RESFILENAME03 RESFILENAME( UTILITY  HTARECORD04 HTARECORD P DATABASEFAB05 DATABASEFAB ` DATABASENAM06 DATABASENAM D DATABASERAB07 DATABASERAB  XDATABASEXABPRO08DATABASEXABPRO8J0DATABASEADDRECORD 0J+DATABASEDELETE8JX@DATABASEDELETERECORD0JP% DATABASEOPEN8JhDATABASEPRINTRECORD0JP DATABASESORT8Jp DATABASEUPDATERECORD0J86 GETPARAMETERS0J .GETSETPASSWORD(Jp MAIN0JXp(DATABASECREATE8J$DATABASEFINDRECORD0JpMSHOWHELP(J __MAIN Q=91Copyright (C) 2003-2021 Mark G.Daniel Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. k6=!20%D=!20%D (=HTADMIN =#G8^~ _#0"@^4GHcGG#]("0[8b "G@Zkb#@pBG4Gxb/@ZkcG8]@]HP#/k///#~^^~ (0޴8GG{#b~ @B4Gbx¤4@ZkP"@$,$H' //&"d" D.RSJGJRTBRUF/@ //.@B4G"HbVJJ/@Zk$,$H+@%@!F/ D. DJ_.J/B(4Gb/@Zk@¤B4G b/@Zk@B4G0¤bG@Zk@"Ѡ,H/@b#D//3 @PB¤4G4GXb/@Zkb#/!//@/b#/F@/b#/@ /c/`b#/w@G]]4G} (0ݤ8@#/k/// "(BtGBbP 2"B@ZkB&4Gb"@Zk (¦tGBbB( 6"/@ZkB&4GbH"@Zk ("tGBbB !"G@ZkB&4Gb"@Zk ¤("tGBbBƠ!"G@ZkB&4Gb"@Zk ("tGBbB!"G@ZkB&4Gb"@ZkGb#@B4G4Gb/@ZkB&4GbH"@Zk/@#^~^ ~(08޴@HP>XGG4G{#/@ b#//@8D BGG ?$tG(bz! D/bG@Zk///pBGGGtGxb@Zk$CD?&Bz"@8FF G?"@Zk%,¤%H G@C8D ///%/B G"b !Y0K'K4G@Zk .q HAP JF >E.EJCTF_.VJ>(A /& @CW/WKC 0E; //.e@KF"DTJ @F>,H"C{HE&/XKG?.J @"Cz I%F/.TJF @>W.WJ"Cy@JF /XKG?w/wKC @%F`.S`J`>p  F"@B.JCG:/.aIF"DPJ @F>,H"CvH E&.UJF>4/4K @"CqKaG/ .PJF @>.J"CuJ E g.SgJuFg>.JC @aG?'.Q'J'>0 f"@C8-8ICF;/.aHG#DVJ @F>-I#CiIF'E/ZEKIGE?.J @#C{J G/.VJF @>X.XJ#CqEJF %-I%I 1E%=X/XKC @ GG?.UJ>`b¦֢{CCvG`h") PBZ/@Xbs?'`G///"6JD &FH?&1"$ 1E$Exb#/@@/xb#/@ / xb#/@/?%)!$$?&GtGBb p 3v~JqFG p$(аG@Zk //BGGGtGb@ZkGWBBGb ")¤ GfG@ZkE/ bBGbBc/;`")!GdG@Zk1/"tGBbB "@ZkB&4GbH"@ZkB&4Gb"@ZkBG4Gb@ZkBG4Gb@ZktFSqDO/$'F$MôFMBG4Gb@Zk///#^~^ GGX{#4G@Өb#//@?$Gbz! D s"("tBC . JCF:/3/z3JD `FY3Ks"tB:G3?`/`K Cq3HF&@.WJF>/Ks"tB CrK[G/@.VJFs"tB> , H Cz3HF s/[sKzGs?.JCs"tBF.UJ4G>"B! R"#XB/D A/AKCD;//r.uRK D! @FSrJR"XBuFr>.J! CsJ;F& .TJF>.JR"XB! CqJWG/r/[rKqGR"XBr?,H! =CwHtF `R/ZRKWGR?!.!JCR"XB;G?.TJ4G> bs0"u#B/E`.JC!F< //U/rJ`Fs"FZUK"BRGU?.Js"CrH7F' /XKG?.J"Bs"CqJTG/.WJF"B>,Hs"CtHXF @U/ZUKTGU?.JC"BFG/XK4G?BR@tF4G0"B9: q F4G:b¦s`F4Gb"{`4GFXB &D4G""&s"9Q SG4Gq8¦֢w?$aG4G7 6HF4G BXR@b#//@4G0&TxHBGPbtG8 0 B5vJF 88(G@ZkX"BGb ¦XB1s: 5"`b8B@Zk3è"GB XB!p`b2"8B$G@Zk!//"tGXB`b8B "@ZkHB&4GPbH"@ZkHB&4GPb"@ZkHBG4GPb@ZkHB4G4GPb@ZkHB4GPb/@Zk///h#~^^GG{# 4GS@Hb#//@?$z! D /8"@tGBbB "@ZkB&4GbH"@ZkB&4Gb"@ZkBG4Gb@Zk B0?"GtG/@ZkBGb@ZkBG4Gb@Zk/P#$([&`^~"&h^p~Fs"x4G޴0[2G{#Gz(" }}$;D0D ҲR&@=!v>H5D&4F= =!?H!D=?/HB`"PbRs"@"O`}6B;v~K _'4GvSJD _&4@FzG} };KaG}]/H"""Pb!1s| "/ q`"7vJ'0B&4`FF`SJ =1?J F=}XB"PXG"X="GGP]"4Gb@Zkb#GG@G¤hBGGGtGpb@Zk''p HC5 @F /?//G_"b# @B"GTGb/@Zk0@¤BGGbtGG@Zk """tGHBPb<// P.PJT@Zk"p"4GHBD2B%" ]"GGGb@ZkBGX""Bb"("0"#b#"">G>~X2"(}"(>Gx"0~8G xBb@ZkxBGj4Gb/@Zk///8B"G@btGH="@Zk` /V`///0@b#G@8B"H="GtG@b/@Zk C ".J/4Gb#@"G&BtG@G@Zk BGG bG7vJF (a<@Zkn/8BG"H="tG@b@Zk` BGGG `tGb/a0@//@ZkG_BGGGtGb@ZkpTGhBpbEb¤cG G@ZkBG4Gb@Zk/HDKG`]h]p}xݤ#k/B"4Gb@ZkBG4Gb@ZkB"4Gb@ZkBG4Gb/@ZkBGb@ZkB4Gb@ZkBG4Gb@ZkBG4Gb/@ZkBG4Gb@ZkBG4Gb@ZkBG4Gb/@ZkBG4Gb@ZkB"4Gb@ZkB"4Gb/@ZkB"4Gb@Zk//#^[~& ^~;"; Gs"޴ZG GG0# ]"dAG$h }GGH }pG( Bb}  }8d"@ZkDD FF//HBGTG"Pb@Zk$G]" BGbDp" 8@ZkHDD HFFHHBGTGH"Pb@Zk$G]" BGbDp" 8@ZkhDD hFFhHBGTGh"Pb@Zk$G]" BGbDp" 8@Zk(DD (=?D&D(=HBGTG("Pb@Zkx"h""b""#X"#(bD0DCD@FPF0B2"GDGG HT#^ =BD>G4G@Zk'Ð$B"Xb" 0b""(¤BTG#H#H2F4D[";"޶~GGGGb@Zk  '"4GGGD ',1H/!DwJ .VJF>q/qKXGeqJ[qKeGq?q,1"qH?BGtGh""b@Zk0B0G"h""btGD/@Zk0d TG0BbDDDx'"`@Zk0Bh} ( B4GH"~@2"]"db@Zk¤(.( Ơ@!J4GH @@(J5!BDD//h.xB4G"bStJgJ/@Zk,H5!@DH.GsJRHJSFH> ¦F"6/h/GhKG7K/&Gq8H .PJF>X.#XJ? F.G "G! v/JuK///DrzJ,FHD<z/zKXGqH[zKqGz?Z.ZJyzJFRZJYFZ>/Z#K0F(/(K0v#GG0,H///DqH.PJF>a.! aJH.!B#X RHJ Xb"JGJ$$FJ(BF=#@("H h ~P~GG`>p>GGGb0"(08HXhx޴>@ZkG]]}ݤ#k/#~^^~ (0޴8@G {G-G/PBGGGtGXb@Zk&&Cp HC5 @2FF ?G_"xb# @/4GG]]} (0ݤ8@P#k///B"4Gb@ZkB"4Gb@Zk//(;#^~^ ~Q(GG@{@2,2H (bG`G//!!@ zZ#`/?4GbzB,C@Zk4D_" '8b#FFtGC4=T F"G4J`QHF4â6vJFCòWG:^KXGC(#0c//4BR"s"/?'GB(b8bGGtG Q0BG@Zk2 "@GHB@&'tG@G/@Zk48b""PBG7JFC4 vHD4 A2_JPF A$a<aGGXb@Zk///G]] }(0#/k///BG4Gb@ZkBG4Gb@ZkB&4GbH"/@Zk///8{#G^~G^ ~(GG> {G`///a:AC` ! /_4GBaGb,C@Zk4"D_""0"FFGGC414JF4(#01///; @11"{#/&GXBG;y `btFy tG/@ZkVHBG PbGtG@Zk?$! @8 D DLP 0vJ ?&FC44vJ_&F4@7J&F(":^K $GGG@GXCc$#Ң/4BR"Ӳs"Ң/"GB7vJbӲ1 9?K7G1GtG@Zk///G]] }(0#/k///BG4Gb@ZkBG4Gb@ZkB&4Gb"/@ZkBG4Gb@Zk//[#0G~^^~2 (GG/ A/AK@f{G//3aB 1"/4GpB,#xb@Zk4"D_"G"FFGC414JF4(01///;aC1":Z#1/&GPbtG:XBGbSFX G@ZkB,GGGtGb@Zk B*GGGtG(bG@Zk'/ BGGGtG(b0@/@Zk/b"tGBB;"b@ZkB&4GbH"@ZkBG4Gb/@ZkBG4Gb@Zk?$@B4Gb! @D2 DG@ZkB&4GbH"@Zk/X;#_&"(^~GtG0^8~![@HP޴X`GG# {G] ]0g ۤb]"@Zkð ( @BG"@tGb]"@Zk HB4GPb,$ @HH@Zk$.DD"rHGxHQ$J2F>TJ `J"7B3.WJF> ,ù5 @ @5 @ @@:GpG5@0G F0DF  /=//@.t&HUJ F>.0D"VJJ"7B/ ///of/y&H[fKyGf? 0@٠@ /?,@H<///0b`tG""BBbsR3aJsB@tBTBtBTBtBTBtBtBtBTBsBdJNJUBUBUBUB5J2uB@Zkv,Hq¤@&?D(Bpb""Gh"""h"b@&F_FF~Eb"@Zk$"TGXBG`b/@ZkHBGEGtGPb/@ZkB'TGTGb@Zk<4G(B0b0JD<G @Zk 1@XBTG`b@.PJ>&?F h "@ZkHBE@"GtGPb/@ZkB'TGTGb@Zk@(B4G@"0bD|&!>H|&@Zk 1@@&"_" b#@@.PJ@>@ƤDGi@/  ,A H'H@@D/ Y//#B4GbQ.1"RQJGJ@ZkM" à!, EHHA@! D ?B4Gb0."Q0J'J@Zk5" à!, EHHA@! D 'B4Gb0."Q0J'J@Zk , FHHD@D #B4Gb.! PJJ@Zk, H(B4G0b/@Zk@,H/,xB4G bDHH/@Zk,dHEH D<','H?(B4G0b@Zk vH4G(B0bb'HD @ZkxB vH tG"G}"GGb'HD㳼@Zk/ZG(]0]8}@HPݤX`p#/k///_R"}/#/HBGPb/@ZkHB4GPb@ZkHB&4GPb"/@ZkHB4G4GPb@ZkHB&4GPb"/@ZkHB4G4GPb@ZkXBtG`b8B@%"@ZkHB&4GPbH"/@ZktGXB`b8B  GG/@ZkHB&4GPbH"@ZkHBG4GPb/@Zk///;`#$"^~4G [ ^(~1"08@޴HPX>`^h~px޵GGb >@ZkhbxBG"GG]"bs"@Zk}#v`HBp ,A H <#.G⥐C"Q2J'J" (@b@B/¥4G/.JVJeF`>//DyHXKG?/(///N- / @c/[`KgK@@D///.8B4G#"@bPJJ/@Zk///,DHc <#,#H/?#.#J%BGq@c.cJN`/// "/ .VJJVB֢F/> //#/@bC#Y:K8B'K4G/@Zk1,H%DX$D,/ c %/C.#"QJ/@///XDF"@.JXF1".#/J1"zJY#Kc :G#?q/qK/_.PJ>1,1HC!B.Jc/cK"WvKJ[cKc?,HfG""Gb#q@/ͰXGG""b#g@///¥ΰLGGp""b#[@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.bJC4@3GG""b#@///0¥ΰGG""b#@J.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.b""Ӱ_"b#J 4GC4@4@@ .qIP JF >N..NJTJuIF>GG""b#@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.JC4@+y/GGX""b#@(¥ΰͰm/GGH""b#{@///¥ΰ`GG""b#o@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.bJC4@3$GG""b# `?=ld3@///¥ΰGGp""b#'@///Ͱ GG""b#@///¥ΰGGh""b#@ӧG""b#G @/ɰ/GG""b#@ȰGG""b#@///HͰGG""b#@ǰGG""b#@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.bJC4@3GG""b#@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.pbJC4@3\GG""b#k@6.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.bJC4@3 GG""b#/@///h¥ΰGG0""b##@///ͰGG""b#@///¥ΰGG ""b# @Ӿ.GJJ*/F D/$a.! aJCgBF/`.! JCBG/!/! !KC'CyG/ ,! HC@E/!.! !J.b8Ӱ""b#JGC4@4@@ͰÀG(""b#G@//Ͱ/xG ""b#G@//Ͱ/.,x".H/P ѰN.NJ,@///GFE/$@.!JCBF//!KCCXG/n/!nKC@E/ .!JC'@!F/ n.!nJ_.""b#GJC AAv@//ϰ]/GGP""b#k@///G""b#Gb@GG`""b#\@¥ΰD-,-H ϰ?///BҰ9/GG""b#G@ɰ0GGX""b#?@Ȱ(GG""b#7@///¥ΰGG0""b#+@///ͰGG""b#@ǰGGH""b#@N%,G%H%H*/'DE/$ N.!NJCGBF/@.!JCBF//!KCCXG/ n/!nKC@E/,!H?...JCAʱN.NJ_///.8B4G"@bWJJ/@Zk,aHFH!D<.J/GG""b#@///,HDˡ.J G////M.8B4Gm"@bRSJGJ/@Zk-a HNI!E= . J/J@.JG/.8B4G"@bVJJ/@Zk-aHMI E=.Jm/G] ](}08@ݤHPX=`]h}pxݥ#k/BG4Gb@Zkb#@B4G4Gb/@ZkX`¤GGB bB GG@ZkB&4Gb`"@ZkXb`GGB bBc GG@ZkB&4Gb`"@ZkX`GBB@ bH!8 GGG@ZkB4G4Gb/@ZkX"`B GBG bB)PJ!GG@ZkB&4Gb"/@ZkXb`GGB bBk !GG@ZkB&4Gb"@Zk/#C~^^~ (0޴8@GGGGGG///,4G0b#"Hc %D/DK @.(BPJJ/@Zk$,(BG4G0bA$H'H@ZkD//%1@C4G /G //G//.J@G]]} (0ݤ8@P#k//#;tG~^h[p{G`!"HA"@ZkG]4G #/k4QHGd DECC$MAIN4RLb# DECC$MAIN4Q`@d DECC$MAIN4lG DECC$EXIT4xb# DECC$EXIT4@ DECC$EXIT4G DECC$STRLEN 4b#p DECC$STRLEN4@ DECC$STRLEN4MtG DECC$ISALNUM4Nb#p DECC$ISALNUM4M@ DECC$ISALNUM4G DECC$STRLEN4b#p DECC$STRLEN4@ DECC$STRLEN4G( DECC$STRLEN4b#p DECC$STRLEN4$@( DECC$STRLEN48GX DECC$STRLEN4Db#p DECC$STRLEN4T@X DECC$STRLEN4OG SYS$GETTIM4Pb#p SYS$GETTIM4O@ SYS$GETTIM4GDECC$GXFPRINTF4b#p DECC$GXFPRINTF4@DECC$GXFPRINTF4G DECC$EXIT4b#p DECC$EXIT4@ DECC$EXIT4GDECC$GXFPRINTF4b#p DECC$GXFPRINTF4@DECC$GXFPRINTF4G, DECC$EXIT4 b#p DECC$EXIT4(@, DECC$EXIT48GTDECC$GXFPRINTF4<b#p DECC$GXFPRINTF4P@TDECC$GXFPRINTF4TGl DECC$EXIT4`b#p DECC$EXIT4h@l DECC$EXIT4xGDECC$GXFPRINTF4|b#p DECC$GXFPRINTF4@DECC$GXFPRINTF4G DECC$EXIT4b#p DECC$EXIT4@ DECC$EXIT4GDECC$GXFPRINTF4b#p DECC$GXFPRINTF4@DECC$GXFPRINTF4G DECC$EXIT4b#p DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b#p DECC$EXIT4@ DECC$EXIT4G, DECC$EXIT4 b#p DECC$EXIT4(@, DECC$EXIT4CG SYS$REWIND4Db# SYS$REWIND4C@ SYS$REWIND,)GSYS$GET,*b#SYS$GET,)@SYS$GET4AG<OTS$ZERO4A8@<OTS$ZERO41tG DECC$TOUPPER42b# DECC$TOUPPER41@ DECC$TOUPPER4? G SYS$UPDATE4@ b# SYS$UPDATE4? @ SYS$UPDATE,- G SYS$PUT,. b#SYS$PUT,- @ SYS$PUT4 G8 DECC$GXFPRINTF4 b#DECC$GXFPRINTF44 @8 DECC$GXFPRINTF4D G DECC$GXFPRINTF4L b#DECC$GXFPRINTF4 @ DECC$GXFPRINTF4 G DECC$GXFPRINTF4 b#DECC$GXFPRINTF4 @ DECC$GXFPRINTF 4 G DECC$EXIT4 b# DECC$EXIT4 @ DECC$EXIT4 G DECC$EXIT4 b# DECC$EXIT4 @ DECC$EXIT4 G DECC$EXIT4 b# DECC$EXIT4 @ DECC$EXIT4 G DECC$EXIT4 b# DECC$EXIT4 @ DECC$EXIT4P Gd DECC$EXIT4\ b# DECC$EXIT4` @d DECC$EXIT4?G SYS$UPDATE4@b# SYS$UPDATE4?@ SYS$UPDATE4GLDECC$GXFPRINTF4@b#DECC$GXFPRINTF4H@LDECC$GXFPRINTF4hGDECC$GXFPRINTF4xb#DECC$GXFPRINTF4@DECC$GXFPRINTF4GDECC$GXFPRINTF4b#DECC$GXFPRINTF4@DECC$GXFPRINTF4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G4 DECC$EXIT4(b# DECC$EXIT40@4 DECC$EXIT4GDECC$GXFPRINTF4b#XDECC$GXFPRINTF4@DECC$GXFPRINTF4G DECC$EXIT4b#X DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b#X DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b#X DECC$EXIT4@ DECC$EXIT4AG$OTS$ZERO4A @$OTS$ZERO4?$G8 SYS$UPDATE4@0b#X SYS$UPDATE4?4@8 SYS$UPDATE48GL DECC$EXIT4Db#X DECC$EXIT4H@L DECC$EXIT4!,GlSOR$BEGIN_SORT4"db#SOR$BEGIN_SORT4!h@lSOR$BEGIN_SORT,)GSYS$GET,*b#SYS$GET,)@SYS$GET4#GSOR$RELEASE_REC4$b#SOR$RELEASE_REC4#@SOR$RELEASE_REC4%$GD SYS$CLOSE4&4b# SYS$CLOSE4%@@D SYS$CLOSE4XG DECC$FREOPEN4\b# DECC$FREOPEN4@ DECC$FREOPEN, GSYS$FAO,b#SYS$FAO , @SYS$FAO4GXDECC$GXFPRINTF4Pb#DECC$GXFPRINTF4T@XDECC$GXFPRINTF4XGtSOR$SORT_MERGE4 hb#SOR$SORT_MERGE4p@tSOR$SORT_MERGE4'GSOR$RETURN_REC4(b#SOR$RETURN_REC4'@SOR$RETURN_REC4'GSOR$RETURN_REC4(b#SOR$RETURN_REC4'@SOR$RETURN_REC4DGXOTS$MOVE4T@XOTS$MOVE4\G SYS$CONNECT4hb# SYS$CONNECT4@ SYS$CONNECT4'GSOR$RETURN_REC4(b#SOR$RETURN_REC4'@SOR$RETURN_REC,-GSYS$PUT,.b#SYS$PUT,-@SYS$PUT4%G  SYS$CLOSE4&b# SYS$CLOSE4%@  SYS$CLOSE4GH DECC$FPUTS4b# DECC$FPUTS4D@H DECC$FPUTS4+HG\ SOR$END_SORT4,Tb# SOR$END_SORT4+X@\ SOR$END_SORT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXITD/GCMA$TIS_VMSERRNO_GET_ADDRD0b#CMA$TIS_VMSERRNO_GET_ADDRD/@CMA$TIS_VMSERRNO_GET_ADDR4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G, DECC$EXIT4$b# DECC$EXIT4(@, DECC$EXIT4,GD DECC$EXIT48b# DECC$EXIT4@@D DECC$EXIT4DGX DECC$EXIT4Pb# DECC$EXIT4T@X DECC$EXIT4XGl DECC$EXIT4db# DECC$EXIT4h@l DECC$EXIT4lG DECC$EXIT4xb# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT4G DECC$EXIT4b# DECC$EXIT4@ DECC$EXIT , GSYS$FAO,b#hSYS$FAO, @SYS$FAO4G DECC$STRCPY4b#h DECC$STRCPY4@ DECC$STRCPY, GSYS$FAO,b#hSYS$FAO, @SYS$FAO4@GX DECC$STRCPY4Pb#h DECC$STRCPY4T@X DECC$STRCPY, lGSYS$FAO,tb#hSYS$FAO, @SYS$FAO4G DECC$STRCPY4b#h DECC$STRCPY4@ DECC$STRCPY, GSYS$FAO,b#hSYS$FAO, @SYS$FAO4 G8 DECC$STRCPY40b#h DECC$STRCPY44@8 DECC$STRCPY4\b#hDECC$GXFPRINTF4GDECC$GXFPRINTF4@DECC$GXFPRINTF4GH DECC$GXFPRINTF4@ b#hDECC$GXFPRINTF4D @H DECC$GXFPRINTF4 G DECC$GXFPRINTF4 b#hDECC$GXFPRINTF4 @ DECC$GXFPRINTF4 G!DECC$GXFPRINTF4 b#hDECC$GXFPRINTF4!@!DECC$GXFPRINTF4!G8!DECC$GXFPRINTF4!b#hDECC$GXFPRINTF44!@8!DECC$GXFPRINTF4H!G|!DECC$GXFPRINTF4t!b#hDECC$GXFPRINTF4x!@|!DECC$GXFPRINTF4 !G" DECC$ISPRINT4 !b#h DECC$ISPRINT4 "@" DECC$ISPRINT4#Gl$DECC$GXFPRINTF4$b#hDECC$GXFPRINTF4h$@l$DECC$GXFPRINTF,)$G %SYS$GET,*%b#SYS$GET,)%@ %SYS$GET4%G% DECC$EXIT4%b# DECC$EXIT4%@% DECC$EXIT4%G% DECC$EXIT4%b# DECC$EXIT4%@% DECC$EXIT4H&b#P DECC$STRLEN4T&Gd& DECC$STRLEN4`&@d& DECC$STRLEN40'b#PSYS$OPEN4H'GT'SYS$OPEN4P'@T'SYS$OPEN4d'G'OTS$MOVE4'@'OTS$MOVE4'G' SYS$CONNECT4'b#P SYS$CONNECT4'@' SYS$CONNECT4 (G4( DECC$EXIT4,(b#P DECC$EXIT40(@4( DECC$EXIT44(GH( DECC$EXIT4@(b#P DECC$EXIT4D(@H( DECC$EXIT4H(Gd( DECC$EXIT4T(b#P DECC$EXIT4`(@d( DECC$EXIT4(G) DECC$STRLEN4(b#X DECC$STRLEN4)@) DECC$STRLEN 4 )G) SYS$PARSE4 )b#X SYS$PARSE4 )@) SYS$PARSE4)G) SYS$SEARCH4)b#X SYS$SEARCH4)@) SYS$SEARCH4*G* SYS$CREATE4*b#X SYS$CREATE4*@* SYS$CREATE4 +G4+ DECC$EXIT4,+b#X DECC$EXIT40+@4+ DECC$EXIT44+GH+ DECC$EXIT4@+b#X DECC$EXIT4D+@H+ DECC$EXIT4H+Gd+ DECC$EXIT4T+b#X DECC$EXIT4`+@d+ DECC$EXIT4d+Gx+ DECC$EXIT4p+b#X DECC$EXIT4t+@x+ DECC$EXIT4,G4, DECC$STRLEN4,,b# DECC$STRLEN40,@4, DECC$STRLEN4 ,G, SYS$PARSE4 ,b# SYS$PARSE4 ,@, SYS$PARSE4,G- SYS$SEARCH4 -b# SYS$SEARCH4-@- SYS$SEARCH4E-G8- SYS$ERASE4F,-b# SYS$ERASE4E4-@8- SYS$ERASE4E@-Gd- SYS$ERASE4FT-b# SYS$ERASE4E`-@d- SYS$ERASE4|-G-DECC$GXFPRINTF4-b#DECC$GXFPRINTF4-@-DECC$GXFPRINTF4-G- DECC$EXIT4-b# DECC$EXIT4-@- DECC$EXIT4-G- DECC$EXIT4-b# DECC$EXIT4-@- DECC$EXIT4-G- DECC$EXIT4-b# DECC$EXIT4-@- DECC$EXIT4-G. DECC$EXIT4-b# DECC$EXIT4.@. DECC$EXIT4.G. DECC$EXIT4.b# DECC$EXIT4.@. DECC$EXIT47L.G. MD5DIGEST48.b# MD5DIGEST47.@. MD5DIGEST47.G. MD5DIGEST48.b# MD5DIGEST47.@. MD5DIGEST4.G. DECC$TOLOWER4.b# DECC$TOLOWER4.@. DECC$TOLOWER43H0G0DECC$GXSPRINTF44L0b#DECC$GXSPRINTF430@0DECC$GXSPRINTF40G(1 DECC$FREOPEN41b# DECC$FREOPEN4$1@(1 DECC$FREOPEN4<1GT1DECC$GXFPRINTF4D1b#DECC$GXFPRINTF4P1@T1DECC$GXFPRINTF4;T1Gt1 DECC$FGETS4<h1b# DECC$FGETS4;p1@t1 DECC$FGETS45t1G1 DECC$FPUTC461b# DECC$FPUTC451@1 DECC$FPUTC 41G1 DECC$STRLEN41b# DECC$STRLEN41@1 DECC$STRLEN41G1DECC$GXFPRINTF41b#DECC$GXFPRINTF41@1DECC$GXFPRINTF4;1G2 DECC$FGETS4<2b# DECC$FGETS4;2@2 DECC$FGETS452G,2 DECC$FPUTC46$2b# DECC$FPUTC45(2@,2 DECC$FPUTC402GX2 DECC$STRLEN4<2b# DECC$STRLEN4T2@X2 DECC$STRLEN492G3 DECC$ISDIGIT4:2b# DECC$ISDIGIT493@3 DECC$ISDIGIT49D3Gd3 DECC$ISDIGIT4:L3b# DECC$ISDIGIT49`3@d3 DECC$ISDIGIT493G3 DECC$ISDIGIT4:3b# DECC$ISDIGIT493@3 DECC$ISDIGIT494G$4 DECC$ISDIGIT4: 4b# DECC$ISDIGIT49 4@$4 DECC$ISDIGIT4<4GT4 DECC$STRLEN4H4b# DECC$STRLEN4P4@T4 DECC$STRLEN41t4G4 DECC$TOUPPER424b# DECC$TOUPPER414@4 DECC$TOUPPER44G4 DECC$STRLEN44b# DECC$STRLEN44@4 DECC$STRLEN44G5 DECC$STRLEN44b# DECC$STRLEN45@5 DECC$STRLEN<= 5GL5SYS$HASH_PASSWORD<>05b#SYS$HASH_PASSWORD<=H5@L5SYS$HASH_PASSWORDD/5G5CMA$TIS_VMSERRNO_GET_ADDRD05b#CMA$TIS_VMSERRNO_GET_ADDRD/5@5CMA$TIS_VMSERRNO_GET_ADDR45G5 DECC$EXIT45b# DECC$EXIT45@5 DECC$EXIT45G5 DECC$EXIT45b# DECC$EXIT45@5 DECC$EXIT45G6 DECC$EXIT46b# DECC$EXIT46@6 DECC$EXIT46G$6 DECC$EXIT46b# DECC$EXIT4 6@$6 DECC$EXIT4$6G86 DECC$EXIT406b# DECC$EXIT446@86 DECC$EXIT4<6GX6DECC$GXFPRINTF4H6b#DECC$GXFPRINTF4T6@X6DECC$GXFPRINTF4X6Gt6 DECC$EXIT4d6b# DECC$EXIT4p6@t6 DECC$EXIT46G6DECC$GXFPRINTF46b#DECC$GXFPRINTF46@6DECC$GXFPRINTF46G6 DECC$EXIT46b# DECC$EXIT46@6 DECC$EXIT46G6 DECC$EXIT46b# DECC$EXIT46@6 DECC$EXIT4G7G\7 DECC$GETENV4HP7b#8 DECC$GETENV  4GX7@\7 DECC$GETENV4K`7G7LIB$GET_FOREIGN4L|7b#8LIB$GET_FOREIGN4K7@7LIB$GET_FOREIGN4I8G8 DECC$ISSPACE4J8b#8 DECC$ISSPACE4I8@8 DECC$ISSPACE4JD9b#8 DECC$ISSPACE4IP9Gd9 DECC$ISSPACE4I`9@d9 DECC$ISSPACE41HGH DECC$TOUPPER42Hb#8 DECC$TOUPPER41H@H DECC$TOUPPER41tIGI DECC$TOUPPER42Ib#8 DECC$TOUPPER41I@I DECC$TOUPPER41IGJ DECC$TOUPPER42Ib#8 DECC$TOUPPER41J@J DECC$TOUPPER4JGJ DECC$EXIT4Jb#8 DECC$EXIT4J@J DECC$EXIT4JGJ DECC$EXIT4Jb#8 DECC$EXIT4J@J DECC$EXIT4JGJDECC$GXFPRINTF4Jb#8DECC$GXFPRINTF4J@JDECC$GXFPRINTF4JGJ DECC$EXIT4Jb#8 DECC$EXIT4J@J DECC$EXIT4 KG,KDECC$GXFPRINTF4Kb#8DECC$GXFPRINTF4(K@,KDECC$GXFPRINTF4,KGDK DECC$EXIT48Kb#8 DECC$EXIT4@K@DK DECC$EXIT4PKG|KDECC$GXFPRINTF4\Kb#8DECC$GXFPRINTF4xK@|KDECC$GXFPRINTF4|KGK DECC$EXIT4Kb#8 DECC$EXIT4K@K DECC$EXIT4KGKDECC$GXFPRINTF4Kb#8DECC$GXFPRINTF4K@KDECC$GXFPRINTF4KGK DECC$EXIT4Kb#8 DECC$EXIT4K@K DECC$EXIT4KGLDECC$GXFPRINTF4Kb#8DECC$GXFPRINTF4L@LDECC$GXFPRINTF4LG,L DECC$EXIT4 Lb#8 DECC$EXIT4(L@,L DECC$EXIT4Lb# DECC$TOLOWER4LGL DECC$TOLOWER4L@L DECC$TOLOWER4LGL DECC$TOLOWER4Lb# DECC$TOLOWER4L@L DECC$TOLOWER4MGMDECC$GXFPRINTF4M{#DECC$GXFPRINTF4M@MDECC$GXFPRINTF H =H=%d%c%s%c%s%c%s%c%s%c%s%c%s%c%s%c%s%c%d%c%s%c%d%c%s%c%d%c%s @=@1 %-20s %7d %-20s %7d %-20s %7d %-20s x=( (no contact or email) =(%04.04d %-*s %-*s %-10s %s%s =(%04.04d %-*s %-*s %-10s %s =y--------------------------------------------------------------------------------------------------------------------- X= %s as at %s %-*s %-*s %-10s %s %-20s %-29s %-29s %-29s ----------------------------------------------------------------------------------------------------------------------  =(%%%s-E-PASSWORD, too short @=0!%%%s-E-PASSWORD, not confirmed h= Confirm password []: = Enter password []: =(%%%s-I-PIN, for %s is %s =0"%%%s-I-PASSWORD, for %s is "%s" =0!%%%s-E-USERNAME, not specified =H:%%%s-E-DELETE, confirm database deletion using /CONFIRM H= HTADMIN AXP-1.0.5`=Usage for HTADMIN Utility (%s) $ HTADMIN [] [] Allows command-line administration of WASD .$HTA authorization databases. /ADD /CONFIRM /CONTACT="" /CREATE /CSV[=TAB|char] /DATABASE= /DELETE /DISABLED /EMAIL="" /ENABLED /FULL /GENERATE /HELP /[NO]HTTPS /LIST /MODIFY /NAME="" /OUTPUT= /PASSWORD[=] /PIN /[NO]READ /SORT[=] /[NO]SSL /[NO]WRITE /UPDATE /USER= /VERSION $ HTADMIN EXAMPLE !brief list of the EXAMPLE database records $ HTADMIN EXAMPLE /FULL !full (132 column) listing $ HTADMIN EXAMPLE /CSV !comma-separated value listing $ HTADMIN EXAMPLE DANIEL !full listing of record DANIEL $ HTADMIN EXAMPLE DANIEL /ADD /NAME="Mark Daniel" !add a new record $ HTADMIN EXAMPLE DANIEL /UPDATE /EMAIL="Mark.Daniel@vsm.com.au" $ HTADMIN EXAMPLE DANIEL /UPDATE /READ /WRITE !change user access $ HTADMIN EXAMPLE DANIEL /UPDATE /PASSWORD !prompts for password $ HTADMIN EXAMPLE DANIEL /DELETE !delete the record $ HTADMIN EXAMPLE /CREATE !create a new database $ HTADMIN EXAMPLE /DELETE /CONFIRM !delete the database  =8,%%%s-E-MAXPARM, too many parameters \%s\ P=8.%%%s-E-IVQUAL, unrecognized qualifier \%s\ = %%%s-I-VERSION, %s %s=8,%%%s-E-IVKEYW, unrecognized keyword \%s\ =(%%%s-E-EMAIL, too long =(%%%s-E-CONTACT, too long  =(%%%s-E-FULLNAME, too long ( =0"%%%s-E-USERNAME, not acceptable P =$%%%s-E-USERNAME, too long 7 EXPFILENAME SYS$CREATE DECC$STRLEN7DECC$GA_RMS_NAM@ DECC$EXIT7 DATABASENAM=0"p(;=0( 7 DATABASEFAB7DATABASEXABPRO=.$HTA7DECC$GA_RMS_FAB7DECC$GA_RMS_XABPRO SYS$SEARCH SYS$PARSE= SSL-only7 LISTBRIEF DECC$ISPRINT= SSL-only=(none)none== disabled0 SYS$FAO7LISTCSVPDECC$GXFPRINTF7CSVCHAR=0";=P 7 HTARECORD7DECC$GA_STDOUT;; DECC$STRCPY= enabled= %s =write7DECC$$GL___CTYPEA7DECC$$GA___CTYPET7LISTFULL=read= read+write=0"0L;=P0 @ DECC$TOLOWER=0"%;=0$ 7 DATABASERAB7DATABASENAMEPTRSYS$OPEN7DECC$GA_RMS_RAB8OTS$MOVE SYS$CONNECT= StatusModified/Last DECC$FREOPEN= Full Name DECC$FPUTSSOR$SORT_MERGE= Failed/Last =w0!SOR$BEGIN_SORT #SOR$RELEASE_REC7 SORTCHANGE`% SYS$CLOSE7 SORTCOUNT7 USERNAMEPTR7 LISTDATABASE=0`"P;=X 7 OUTPUTPTR7 SORTUSERNAME7SORTDATE'SOR$RETURN_REC7 SORTACCESS7 SORTFAILURE7 SOR$M_STABLE)SYS$GET= User Name=Accessed/Last + SOR$END_SORT-SYS$PUT(/CMA$TIS_VMSERRNO_GET_ADDR=AccessAdded`=rh=tmo=301 DECC$TOUPPER= rop=rne3DECC$GXSPRINTF7 GENERATEPIN= %04.04d5 DECC$FPUTC7 MD5DIGEST9 DECC$ISDIGIT;=0(" .;=pH 7 PASSWORDPTR7 DECC$GA_STDIN7TIME64;@; DECC$FGETS7GENERATEPASSWORD= Yrop=tmop =SYS$HASH_PASSWORD= SYS$INPUT= ctx=rec=0"$;=P, 7USERNAMELENGTH7 FLAGNOSSLONLY7 FLAGNOWRITE7 FLAGDISABLED7FLAGREAD7 FLAGWRITE7 CONTACTPTR=0"p ;=0 7EMAILPTR7 FULLNAMEPTR7 FLAGNOREAD7 FLAGENABLED@? SYS$UPDATE7 FLAGSSLONLY=0"@;=  8OTS$ZERO=0"0;=`< C SYS$REWIND=0"+;=04 E SYS$ERASE7COMMANDCONFIRMED=0"pM;=( ( /NOREAD=/PIN =COUNT(= /MODIFY8= /NOHTTPSH= /OUTPUT=X= USERNAMEh = /NOWRITEx;=0!/USER=CHANGE/NOSSLFAILURE= /CONTACT==/CSV=G DECC$GETENV=/ADD= /HTTPS/GENERATE= /ENABLED= /DATABASE== /EMAIL= 7 SORTDATABASE7 ADDUSERNAME7DELETEUSERNAME=0"6;=h 7UPDATEUSERNAME7DELETEDATABASE7CREATEDATABASEI DECC$ISSPACE= /DISABLED= /DELETE=/HELP=/FULL KLIB$GET_FOREIGN=HTADMIN$PARAM= /CONFIRM=TAB= /CREATE=/SSL =(ACCESSMODIFY/VERSION = /WRITE/UPDATE8 = /NAME=/PASSWORD=P =/LISTX =/SORT=DATEh =/READp =0";=@(| 7 CONTACTLENGTH7FULLNAMELENGTH7 EMAILLENGTH M DECC$ISALNUMO SYS$GETTIM=08";=P0 7DECC$$SHELL_HANDLER=Q DECC$MAIN l=4=4=  ==-%$HTADMINVSI C V7.4-002 ?= p 4=TRANSFER$BREAK$GO j= 4p 4= main4=  y              Ǡ ʠ Π<   =  = 044=DatabaseAddRecord04=xp  ۠  ۠               $ ' * 0 3l 0 3 0 < = @ A !' = @ = !p 44="DatabaseUpdateRecordp 4=bZ X M X a b e i l n l p s u s w z z |                             ġ áR   á ȡ ǡ ȡ ǡ ZT$ =  = !@4X4="DatabaseDeleteRecord@4=F>= ݡ ԡ ݡ ߡ  =  q= P44= DatabaseSortP4=     $  $  & & #       ! ( * , 0 5 5 ? < > < I I S R S W Y ]  ] ` ] ` ] p r t r t z }  }   } }  }         p   ¢ â â4 3#    G =  o=  4h4=!DatabasePrintRecord4= բ բ  բ բ  բ բ բ   բ                              #   - *  * ( 1 ( *  : 8 5 8 ? A A E C I I K L, L O Q O U U0 Ul  Z  Z e Z e  W W W o W W!4 =  = $44= DatabaseFindRecord$4=h`_         8  =   = %4P4= DatabaseOpen%4=D<                            ã 8  ţ ã  ,   ( =  = p(4X4=DatabaseCreatep(4=-%  գ  գ                         ,  =  t= +44=DatabaseDelete+4=           !  "  " ! & % ' & * - /<    1  =  =  .44=GetSetPassword .4=yq M = = = =n S G F F  M P Q V [ [ \ f g f q T' T)    P               $ $  $ $   $     `     < i  $ =  q= 6484= GetParameters64=  Ԥ ʤ  ʤ Ԥ ʤ  ʤ  Ԥ ڤ ݤ    %             !   < k r y          w\ P ߤqM(  = P = 0L44= strsame0L4=VNM          4 = @ = pM44=ShowHelppM4=@87 $ ' $ $ ' A = T s= 4 4= __main4= y =  =   DECC$ISALNUM DECC$ISDIGIT DECC$ISPRINT DECC$ISSPACE DECC$TOLOWER DECC$TOUPPER DECC$$GA___CTYPET DECC$$GL___CTYPEA(CMA$TIS_VMSERRNO_GET_ADDR DECC$GA_STDINDECC$GA_STDOUTDECC$GXFPRINTF DECC$FPUTSDECC$GXSPRINTF DECC$FPUTC DECC$FREOPEN DECC$FGETS DECC$STRCPY DECC$STRLENSOR$BEGIN_SORT SOR$END_SORTSOR$RELEASE_RECSOR$RETURN_RECSOR$SORT_MERGEDECC$GA_RMS_NAMDECC$GA_RMS_FABDECC$GA_RMS_RAB DECC$GA_RMS_XABPRO DECC$EXIT DECC$GETENV SYS$GETTIM SYS$REWINDSYS$GET SYS$UPDATESYS$PUT SOR$M_STABLE SYS$CLOSESYS$FAO SYS$CONNECTSYS$OPEN SYS$PARSE SYS$SEARCH SYS$CREATE SYS$ERASE MD5DIGEST SYS$HASH_PASSWORDLIB$GET_FOREIGN DECC$MAIN DECC$$SHELL_HANDLEROTS$MOVEOTS$ZERO ) C$IS