H HTTP2REQUESTV1.0 4-NOV-2021 09:59 VSI C V7.4-002 ` $READONLY$i&$CODE$' $LITERAL$$LINK$8JHTTP2REQUESTBEGIN8JXHTTP2REQUESTBEGIN28JHTTP2REQUESTCANCEL8J HTTP2REQUESTDATA8JpP!HTTP2REQUESTEND28J"HTTP2REQUESTEND58J`HTTP2REQUESTPROCESS8J !HTTP2REQUESTRESETSTREAM8J HTTP2RESPONSEDICTHEADER @6= =#x(;&~^^~ (0޴8GGG#G8[H;"@bPP.S/$J4GX KF VJCFG4GGh"@ZkG/x"("8B@bPQ.Sq.`H"GCDQJS qJSFGTG&V#JF H""@ZkGj/l#H""xB("8B@b5@ Pr.S./`CDrJT JtF("G&GVCJF@tG/@ZkGJ/#xBGH""8B@b@Pr.S.//`ârJT JtFCD&(VCJFGG@>G@ZkG*/ "XB4G`b0B@ZkXBGGTGtG`b@ZkB4G"bG@ZkhBGTG"pb@ZkxBG"TGb@ZkGGGb# @GG]]} (0ݤ8@#k/#TGtG4G^~H[^ ~(08޴@GGGG Pb(p800"^/@ZkG?"TGBbDGC@ZkBGd"TGLtGb@ZkGcC(ĢŰŲP8,S.X.x.8H[ J[G8HP J8B@bC0DXJS xJGSF9#?G4G// @ZkBG4Gb@Zk(BG?"TG0b@Zk /(BG?"0bTGvH/@ZkDhBGGpbGG0F($&4&@Zkd0`@0@`@ddXB 4G4G`b@ZkŠ,,/&,,f Q #HHFA #H@H0B JpJ1DD/&<,<E0.3/JU KFC@ HX KyHG/`0.WJ3?F0>Bxb4G4Gb/@ZkcBG4Gb`/@ZkG]] }(08ݤ@P#k/#4G0^P[~8^@~HPXGGG4G#Xb@ZkBG4GTGb@ZkB4G4Gb@ZkPD.Sd.4G@BHbDJP dJ0DDJS dJGCSF D //@Zk B(]"b"(bG!H !@pBPBpBPBpBPBpBpBpBPBaB"$HQBQ1BQ1BQ?B5@G@Zk(0B""B"LTG8b"G5vH@ZkT`<CP$,G⦰Bb$HCD!F"" cG4_"xs"~4G"@ZkP,<4Gd"pBTGxbHPDD #P"/ Cd.g.JV JFЄB@ZkP,<4GBbHDDG/@ZkG/`<#/GBD_"GGb""G" /@ZkB %TG(b@Zk,$,G `BBGGhb"HA %HDC/cDG @ZkBG GP"B"Gb@ZkðBG4Gb@ZkG0]8]@}HPX`#k//#^~^ ~(08޴@HP>X^`~hpGGGG#d= ///ŠFRG/@ŠFŠfrF`/ 0 |@B""@B"GHbP"/@Zk? BGD"@B"bG/ D%// @ZkDHL峐Ǡ[$0J vHF/g0?"3JqFg BG4G(b@ZkG/]D GHEL% AF@d.d!dJ3B$1`B/ @GGHP'GGXGb,H",C@#LCHP'GXG0EB2DB0E$5B$/âN$C@Zk0B4GlSIF1HG4G@@E '@/ /@Zk BG(b@Zk0ŠBGGbGGC%0E@Zk//X DA`BG #TGhbG@Zk/ApBG@b" $"Gxb 0AGG@ZkGp" ¦`c0BGG8bP.S!."CDJQ !JFG@""&V#HAF(_" ^>/@Zk0B A1HGG G/@Zk$ŠBGGDHL%@@b&D 07B0$#$$CG$#NGG$C/@Zkݠ G/$/Z@ 'GvS@I2_JAA4@F4G`F//aS H8vKG'0BR JG@ZkǠHeG0BRH+fAAHe/`RH1DA1!J@Zkp `@""0Bn_"&8bP.S5,"CDJA 5HGFV#HF 'R K^>G@ZkHŠBGGbGG0//C%0E@Zk BG4G(b@Zk3/c BG4G(b$c `$H#v`HD@Zk$//$Ǡ BG4G(b G&vH*_I FE =G/@Zk//$ Bp G(b4G@@ՠ@ ,E%E/g+I cEg@Zk vHG]] }(08ݤ@HP=X]`}hp#/k///0p#0"~^G0"^~4G$`F8[ (GGG@bB8D%`/$$Ѳ/@ZkCGHb#"G_GG]b#]} (0#//G]]} (0#/k///8ـ@//// 1?1?(BG4G0b@Zk?$HG0! PbXTG$$G]]} (0#/k///0#CxP^~X^`~hpx޴>^~޵GG#8S=/ @s4CsFNքJ6CtFXFB 4Gb@Zk]BG= (`b@Zkr(B4GG0bTGGH 0L@Zk(BTG8""0bL@Zk/ TG8""(B0b @L@@/@ZkXBGB"G"G`b@ZkXB""B"L GG @L`b@Zk/G8/=GA.sJRAJSFA>" 4/zJY4K:G4?}{#}(.J(/]D .vJUJF>" / K 4.p4K Q4J0F4>]R"].J aJ R/ZRKAGR?".JHBGGGGGGPb TG@Zk(BGTG] G0bL@Zk(BTG8""0bL@ZkC" p" (=A L 0/$@ (/.JUBF 2 /B4Gb K@Zk//) GG/'C/ -.-JP0BVJpD/ //m.B4GbmJ@ZkC`D.1A!`-,-HX'D $1AM!CqD`]@HBGBGGGGG@BPb G]G@Zkݡ//B="GGGbG.,pIA.H0DG.<@ZkHBGGGGGGPb@Zk--G.".(INIJQ"JEFaD j....jJTJtFJ2OJWJF5JUF0@///B/b/-cHG ]BK[bK[G9#KE" h.o".JQ"JFG.I E/hb.o.bJTJtFaD/ ..R/r/RK[rKJUJ[GF2GJ5JB8G4GX%@BGG="GbmpI@G'CG/3///-NIE=G@Zk}BG="GGbGG-ncIMI E= @ZkB="GGGGGb@ZkBGGGGGGb/@Zk,//}B="GGGGbG-MI=@Zk/ݡBG="GGbGG,GH<!/@ZkBG="GGGGb@Zk}0"B"Bbx"G"g@`@Zk(BTG8""0bL@Zk&]""$BhxBL *DA9Ib/AIXJA AXC!ešm@XCH Ae8Kű:Pr.S.rJT JFBtFCD&"VCJFGUFG(@8@=8@=^_"G[[`X[HH@Zk=p") X E 8 EoE'E G/š/GxB"""G_"GGGb@Zk}4GBb"`P-<+GIDD/ @ZkݡG`<Π/GhxB""G_"G bG"/@ZkB #TG(b@Zk8BIAIݡ4GOAC!w,h.IFHD<D ,D!alI@ HD <E0.E"rPIQ0J2F0>}F.Fs"usHTJGF>ݢG.G"xvHWJF>=9]Hz/#Ko:K[zKoGHz?ݠƠI(-I!HI(InH .E(==Ja-J! HKaIlH lEa==KQ.K1"sJRQJSFQ>ݡ}]nC" N0N8<G@04///4`G/g=xB 4GGTG-Ib,@Zk`hGp'x!J! -A A`hGp'x@ 4G4GGL!/8GXBB"G"`bG 4G4aE G@A DG*QA/@ZkC ,HC!HpID@"E"F#trHwHG`#A(Hz8IC0DmIC E.VJFE>F /Y8K:GF ?@G ,A;H-DG <H@.R@JI "J !K JsJL"SFH@>I.UJG AJvJ1H =FI>J/JyJX KGC"L"J?]ZK-MI{AKxB EK=@Zkݢ 8<0G04//4 Dz,GGxBbTG&H/@Zk`'hpgx)!!f@@`'hpgxzBG=#"GB"b@Zk4GGP]X]`}hpxݤ=]}ݥ#k// 0GGGG({k///#PG"~^G^~ (GGGp{#_4G 0B8b4G/ ## @ @FG/ ///@ZkL!@$ 0 P@PptBp (b4GPpBpGG]]} (0#/k///G]]} (0#/k///#{;"^~G^ ~(0GG#G<PS.[bSJCF4GF"/ @ТG_"x"޶@Zk0B4G8b@Zk BTG#"(bd"@Zk/ 1@0B4G4G8b@Zk"l! Ht!.{A.t"|"TPJ0JtFRPJQ0J`B pJspJTF3F{A>t!>p|./ZKJ5J:G5CXK6KWJ"y6KGF?|>|d.!.S JJ;aKSFQ JPJ[B@Jr@J3FF!>>..J4Jl"YJWJGVJCKxKFF>>`Dl!.sA.d"0J AK[PJRPJ{FQ0J`BpJspJ[F3FsA>l!>Xd.k/@KJ5J G5CXKWJ6Ky6KGFk?d>PD\TBX`dBPD\./BQKJ1GXKWJ;Cb!Ky!KGF4G?>d,.RJHFPJ@HBJtJFD><4G@Zklp|䳀䳐vJ<㳰âݲG4GPBXb@ZkdG4G@Hb^ D G]] }(0@#k/G]] }(0@#/k4DG WATCHTHIS4Lb# WATCHTHIS4@ WATCHTHIS4G WATCHTHIS4b# WATCHTHIS4@ WATCHTHIS44G WATCHTHIS48b# WATCHTHIS4@ WATCHTHIS4G WATCHTHIS4b# WATCHTHIS4@ WATCHTHIS4$GD VMGETREQUEST40b# VMGETREQUEST4@@D VMGETREQUEST4DGd LISTADDHEAD4Xb# LISTADDHEAD4`@d LISTADDHEAD4dG| SYS$GETTIM4pb# SYS$GETTIM4x@| SYS$GETTIM4|G SYS$NUMTIM4b# SYS$NUMTIM4@ SYS$NUMTIM<GHTTPGMTIMESTRING<b#HTTPGMTIMESTRING<@HTTPGMTIMESTRING,GTVMGET,8b#XVMGET,P@TVMGET4hG DICTCREATE4lb#X DICTCREATE4@ DICTCREATE4G LISTADDHEAD4b#X LISTADDHEAD4@ LISTADDHEAD< G8WATCHFILTERHTTPPROTOCOL<b#XWATCHFILTERHTTPPROTOCOL< 4@8WATCHFILTERHTTPPROTOCOLD8GLWATCHFILTERCLIENTSERVICEDDb#XWATCHFILTERCLIENTSERVICEDH@LWATCHFILTERCLIENTSERVICE 4 PGh WATCHSETWATCH4 `b#X WATCHSETWATCH4 d@h WATCHSETWATCH4 tG WATCHSETWATCH4 b#X WATCHSETWATCH4 @ WATCHSETWATCH<GHTTP2WINDOWUPDATE<b#XHTTP2WINDOWUPDATE<@HTTP2WINDOWUPDATE<GINSTANCEMUTEXLOCK<b#XINSTANCEMUTEXLOCK<@INSTANCEMUTEXLOCK<GINSTANCEMUTEXUNLOCK<b#XINSTANCEMUTEXUNLOCK<@INSTANCEMUTEXUNLOCK4 G HTTPDTICK4 b#X HTTPDTICK4 @ HTTPDTICK< GHINSTANCEMUTEXLOCK<@b#`INSTANCEMUTEXLOCK<D@HINSTANCEMUTEXLOCK<]HGdNETUPDATEPROCESSING<^Xb#`NETUPDATEPROCESSING<]`@dNETUPDATEPROCESSING<dGxINSTANCEMUTEXUNLOCK<pb#`INSTANCEMUTEXUNLOCK<t@xINSTANCEMUTEXUNLOCKDcGWATCHFILTERREQUESTHEADERDdb#`WATCHFILTERREQUESTHEADERDc@WATCHFILTERREQUESTHEADER4_G< FAOTOBUFFER4`b#` FAOTOBUFFER4_8@< FAOTOBUFFER4a@Gh DICTINSERT4bTb#` DICTINSERT4ad@h DICTINSERT4|G WATCHTHIS4b#` WATCHTHIS4@ WATCHTHIS<gG$WATCHDATAFORMATTED<hb#`WATCHDATAFORMATTED<g @$WATCHDATAFORMATTED<Y0GTREQUESTDICTHEADER<Z4b#`REQUESTDICTHEADER<YP@TREQUESTDICTHEADER4xG WATCHTHIS4b#` WATCHTHIS4@ WATCHTHIS4MG WATCHDATA4Nb#` WATCHDATA4M@ WATCHDATA4eG SYS$SETIMR4fb#` SYS$SETIMR4e @ SYS$SETIMR<+ G< ERROREXITVMSSTATUS<,4 b#`ERROREXITVMSSTATUS<+8 @< ERROREXITVMSSTATUS<[@ GT REQUESTPARSEDICTIONARY<\L b#`REQUESTPARSEDICTIONARY<[P @T REQUESTPARSEDICTIONARY<+P Gt ERROREXITVMSSTATUS<,d b#ERROREXITVMSSTATUS<+p @t ERROREXITVMSSTATUS41| G VMFREEFROMHEAP42 b#VMFREEFROMHEAP41 @ VMFREEFROMHEAP4' G NETIOREADAST4( b# NETIOREADAST4' @ NETIOREADAST< b#HTTP2WINDOWUPDATE< G HTTP2WINDOWUPDATE< @ HTTP2WINDOWUPDATE 4) G4 OTS$MOVE4)0 @4 OTS$MOVE4'4 GD NETIOREADAST4(< b# NETIOREADAST4'@ @D NETIOREADAST<H Gt HTTP2WINDOWUPDATE<T b#HTTP2WINDOWUPDATE<p @t HTTP2WINDOWUPDATE4- G VMGETHEAP4. b# VMGETHEAP4- @ VMGETHEAP4/ G VMREALLOCHEAP40 b# VMREALLOCHEAP4/ @ VMREALLOCHEAP4 GT WATCHTHIS4 b# WATCHTHIS4P @T WATCHTHIS4)T Gt OTS$MOVE4)p @t OTS$MOVE<x G HTTP2WINDOWUPDATE< b#HTTP2WINDOWUPDATE< @ HTTP2WINDOWUPDATE4)XGlOTS$MOVE4)h@lOTS$MOVE4)xGOTS$MOVE4)@OTS$MOVE4G WATCHTHIS4b# WATCHTHIS4@ WATCHTHIS<GTHTTP2WINDOWUPDATE<$b#HTTP2WINDOWUPDATE<P@THTTP2WINDOWUPDATE4'TGh NETIOREADAST4(`b# NETIOREADAST4'd@h NETIOREADAST4'tG NETIOREADAST4(b# NETIOREADAST4'@ NETIOREADAST4'G NETIOREADAST4(b# NETIOREADAST4'@ NETIOREADAST4'G8 NETIOREADAST4(b# NETIOREADAST4'4@8 NETIOREADAST<UGHTTP2NETCANCELWRITE<Vb#HTTP2NETCANCELWRITE<U@HTTP2NETCANCELWRITE4SGREQUESTRUNDOWN4Tb#REQUESTRUNDOWN4S@REQUESTRUNDOWN4WG SYSDCLAST4Xb# SYSDCLAST4W SYSDCLAST<=GRESPONSEDICTHEADER<>b#RESPONSEDICTHEADER<=@RESPONSEDICTHEADER4;G NETIOWRITE4<b# NETIOWRITE4;@ NETIOWRITE4EG, DICTITERATE4Fb# DICTITERATE4E(@, DICTITERATE4E0GH DICTITERATE4F<b# DICTITERATE4ED@H DICTITERATE4EdG DICTITERATE4Fhb# DICTITERATE4E@ DICTITERATE<IGHTTP2GETWRITESTRUCT<Jb#HTTP2GETWRITESTRUCT<I@HTTP2GETWRITESTRUCT49G DICTLOOKUP4:b# DICTLOOKUP49@ DICTLOOKUP<GGHPACKFINDINTABLE <Hb#HPACKFINDINTABLE<G@HPACKFINDINTABLE4EG8 DICTITERATE4F,b# DICTITERATE4E4@8 DICTITERATE4E<GT DICTITERATE4FHb# DICTITERATE4EP@T DICTITERATE4?G DECC$ISDIGIT4@b# DECC$ISDIGIT4?@ DECC$ISDIGIT4?4GH DECC$ISDIGIT4@<b# DECC$ISDIGIT4?D@H DECC$ISDIGIT<GGHPACKFINDINTABLE<Hb#HPACKFINDINTABLE<G@HPACKFINDINTABLE<AG HPACKENCODEINT32<Bb#HPACKENCODEINT32<A@ HPACKENCODEINT32<GG4HPACKFINDINTABLE<H,b#HPACKFINDINTABLE<G0@4HPACKFINDINTABLE<ApGHPACKENCODEINT32<Bb#HPACKENCODEINT32<A@HPACKENCODEINT32<CGHPACKENCODESTRING<Db#HPACKENCODESTRING<C@HPACKENCODESTRING<CG<HPACKENCODESTRING<D4b#HPACKENCODESTRING<C8@<HPACKENCODESTRING4Q<GdHPACKADDTOTABLE4RXb#HPACKADDTOTABLE4Q`@dHPACKADDTOTABLE<AxGHPACKENCODEINT32<Bb#HPACKENCODEINT32<A@HPACKENCODEINT32<CGHPACKENCODESTRING<Db#HPACKENCODESTRING<C@HPACKENCODESTRING<CGHPACKENCODESTRING<Db#HPACKENCODESTRING<C@HPACKENCODESTRING<+(GHERROREXITVMSSTATUS<,,b#ERROREXITVMSSTATUS<+D@HERROREXITVMSSTATUS4ELGd DICTITERATE4FXb# DICTITERATE4E`@d DICTITERATE4Gh WATCHTHIS4b# WATCHTHIS4d@h WATCHTHIS4G WATCHTHIS4b# WATCHTHIS4@ WATCHTHIS<=GRESPONSEDICTHEADER<>b#RESPONSEDICTHEADER<=@RESPONSEDICTHEADER4(GT WATCHTHIS4@b# WATCHTHIS4P@T WATCHTHIS4MTGl WATCHDATA4Ndb# WATCHDATA4Mh@l WATCHDATA<KG<HTTP2NETQUEUEWRITE<L0b#HTTP2NETQUEUEWRITE<K8@<HTTP2NETQUEUEWRITE<IGHTTP2GETWRITESTRUCT<Jb#HTTP2GETWRITESTRUCT<I@HTTP2GETWRITESTRUCT4)G OTS$MOVE 04) @ OTS$MOVE<K\ Gt HTTP2NETQUEUEWRITE<L` b#HTTP2NETQUEUEWRITE<Kp @t HTTP2NETQUEUEWRITE<O G HTTP2FREEWRITESTRUCT<P b#HTTP2FREEWRITESTRUCT<O @ HTTP2FREEWRITESTRUCT<7 !GD!HTTP2RESETSTREAM<8!UL !UL%='HTTP/2 begin !UL with !AZ,!UL (WATCHFILTERCLIENTSERVICE INSTANCEMUTEXUNLOCK DICTCREATE LISTADDHEAD HTTPDTICK7WATCH=00;=P8| 7 ACCOUNTINGPTR WATCHSETWATCH( WATCHFILTERHTTPPROTOCOLVMGET INSTANCEMUTEXLOCK HTTP2WINDOWUPDATE7 HTTPDTICKING=02;=@4| 7CONNECTCOUNTTOTAL; WATCHTHIS=HTTP2REQUEST0 VMGETREQUEST SYS$NUMTIM HTTPGMTIMESTRING7 REQUESTLISTp SYS$GETTIM=00";=@0  LISTREMOVE!NETIOEND #HTTP2CLOSECONNECTION% REQUESTEND5=02 ;=@ ' NETIOREADAST8OTS$MOVE=  +ERROREXITVMSSTATUS7ERRORSANITYCHECK@- VMGETHEAP/ VMREALLOCHEAP1VMFREEFROMHEAP=00P!;=00 3 REQUESTEND2 5HTTP2NETWRITEEND=0 !; 7HTTP2RESETSTREAM=high9 DICTLOOKUP=etag=low=> ף ; NETIOWRITE=$87 HTTP2NET_WRITE_NO_AST=content-length =RESPONSEDICTHEADER? DECC$ISDIGIT AHPACKENCODEINT32 CHPACKENCODESTRING7DECC$$GL___CTYPEA=0P2 ;=T 7DECC$$GA___CTYPETE DICTITERATE=< GHPACKFINDINTABLE IHTTP2GETWRITESTRUCT=last-modified KHTTP2NETQUEUEWRITEM WATCHDATA= response_statusP OHTTP2FREEWRITESTRUCT QHPACKADDTOTABLE=datex= WRITE queue !AZ=normal=00;=0D SREQUESTRUNDOWN UHTTP2NETCANCELWRITEW SYSDCLAST7 REQUESTEND2 YREQUESTDICTHEADER [REQUESTPARSEDICTIONARY7 REQUESTPARSEDICTIONARY= !UL.!3ZL@ ]NETUPDATEPROCESSING= http2_ping`=000;=`,< _ FAOTOBUFFERa DICTINSERT(cWATCHFILTERREQUESTHEADER=|!#*+ e SYS$SETIMR gWATCHDATAFORMATTED7 DELTA01SEC  DECC$ISDIGIT DECC$$GA___CTYPET DECC$$GL___CTYPEA INSTANCEMUTEXLOCK INSTANCEMUTEXUNLOCK NETUPDATEPROCESSINGNETIOEND NETIOREADAST NETIOWRITE DICTCREATE DICTINSERT DICTITERATE DICTLOOKUP ERROREXITVMSSTATUS FAOTOBUFFERHPACKADDTOTABLE HPACKENCODEINT32 HPACKENCODESTRING HPACKFINDINTABLE HTTP2CLOSECONNECTION HTTP2RESETSTREAM HTTP2WINDOWUPDATE HTTP2GETWRITESTRUCT HTTP2FREEWRITESTRUCT HTTP2NETQUEUEWRITE HTTP2NETWRITEEND HTTP2NET_WRITE_NO_AST HTTPDTICK REQUESTEND2 REQUESTEND5 REQUESTDICTHEADER REQUESTPARSEDICTIONARY RESPONSEDICTHEADER LISTADDHEAD LISTREMOVE HTTPGMTIMESTRINGVMGET VMGETREQUEST VMGETHEAPVMFREEFROMHEAP VMREALLOCHEAP WATCHDATA WATCHDATAFORMATTED(WATCHFILTERCLIENTSERVICE WATCHFILTERHTTPPROTOCOL(WATCHFILTERREQUESTHEADER WATCHSETWATCH WATCHTHIS HTTPDTICKING DELTA01SEC CONNECTCOUNTTOTAL ERRORSANITYCHECK ACCOUNTINGPTR REQUESTLISTWATCH SYS$GETTIM SYS$NUMTIM SYS$SETIMR HTTP2NETCANCELWRITEREQUESTRUNDOWN SYSDCLASTOTS$MOVE 4C$IS