4 gh i ,j ,k ,l mno p qr s ,tu vwx yz{ p| p} ~ i  q  p    v v  , , v   x  4  4      4     4 4 4  4 4 4  S v   v  kp   dp  x x x x xp x   , v ,g  , , , k    `,              ,  v   x    Sp      !" p i  # $ %& '( ,) *+,- p. /01 q2 3 p 456 78 9 :;< ,=>?@ A ,B  CD KEF G H IH JK' LMN OP QRS TUVWXYZ[ \]^_`abc 4d ,e fg 4h i b 4 jkl ,m Sno p qr ,s ,tu ,v ,w x yz xq {  |}~   K  ,  , ,   ,  , 7 9i   = , , , , D7 DH G Ii I I I I ,     J ,   Gi   _i          , ,   ,  _ _ _6   , , ,    v    K    loggerLjava/util/logging/Logger;listingEntriesLjava/util/Map; SignatureDirectoryEntry InnerClassesWLjava/util/Map;listingEntryFreshness3Ljava/util/Map;cookieLjava/lang/String;(Ljava/net/URI;Ljava/io/File;)VCodeLineNumberTableLocalVariableTablethis)Lorg/das2/util/filesystem/HttpFileSystem;rootLjava/net/URI; localRootLjava/io/File; getCookie()Ljava/lang/String;createHttpFileSystem9(Ljava/net/URI;)Lorg/das2/util/filesystem/HttpFileSystem;iIrooturi2exLjava/net/URISyntaxException;userInfoLjava/lang/StringBuilder;parent3Lorg/das2/util/monitor/CancelledOperationException;encodeLjava/io/IOException;!Ljava/net/SocketTimeoutException;msgex2code rootAuthUriportrootAuthLjava/net/URL;urlcLjava/net/HttpURLConnection; responseCodelocalauthss[Ljava/lang/String;doCheckZ parentURIofflineofflineMessageofflineResponseCoderesulterooturi StackMapTable"|1 ExceptionswaitDownloadExternalF(Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Z Ljava/lang/InterruptedException;fpartFilemonitor'Lorg/das2/util/monitor/ProgressMonitor; reduceMeta)(Ljava/net/URLConnection;)Ljava/util/Map;connectLjava/net/URLConnection;LocalVariableTypeTable5Ljava/util/Map;O(Ljava/net/URLConnection;)Ljava/util/Map; doTryDownload(Ljava/net/URLConnection;Ljava/net/URL;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;dLjava/util/Date; ageMillisJLjava/lang/Exception;contentLocation contentTypedoUnziptotalBytesReadoutLjava/io/FileOutputStream; remoteURLfilenameinLjava/io/InputStream;hurlcsdLjava/util/List;expectedContentLength$Ljava/util/List; 6M(Ljava/net/URLConnection;Ljava/net/URL;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; doDownloadt(Ljava/lang/String;Ljava/net/URL;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;!Ljava/lang/IllegalStateException;ex1theUrl newConnectionhaveItoldurlck(Ljava/lang/String;Ljava/net/URL;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; downloadFilef(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map;exgzLjava/io/FileNotFoundException; targetFilelock!Ljava/util/concurrent/locks/Lock;meta(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/Map; getHeadMeta#(Ljava/lang/String;)Ljava/util/Map;ur Ljava/net/MalformedURLException;5Ljava/util/Map;nI(Ljava/lang/String;)Ljava/util/Map; isDirectory(Ljava/lang/String;)ZlookForlist1 parentFilelisthideExtensions()Ljava/util/List;&()Ljava/util/List; listDirectory'(Ljava/lang/String;)[Ljava/lang/String;[Ljava/net/URL;urlnfinLjava/io/FileInputStream;de14Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;listingf1[Ljava/io/File;result1$Ljava/lang/IllegalArgumentException;hidesmetaznewlistLjava/util/ArrayList; localFile directorycached5[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;successOrCancel?z isRegexNoWildregex9(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;cpatternLjava/util/regex/Pattern;maybeUpdateDirectoryEntryI(Ljava/lang/String;Z)Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;deodateosizeforcefreshLjava/lang/Long;()V SourceFileHttpFileSystem.java java/util/HashMap d    java/net/MalformedURLException-URL does not contain authority, check for ///  $Y  -somehow template leaked into FileSystem code. @ 5"java/lang/IllegalArgumentException8user info section can contain at most two at (@) symbolsjava/lang/StringBuilder%40  java/net/URI :// java/net/URISyntaxExceptionunable to handle:   6See https://www.draw.io/#G0B1Ywc5_Vexx1d3ctdGZxZDNkM3M URL Reference: {0}   'org/das2/util/filesystem/HttpFileSystem "parent is offline, do not check...      java/net/HttpURLConnection     Check keychain:   1org/das2/util/monitor/CancelledOperationException"user cancelled credentials for {0}     AuthorizationBasic !" CookieVerify Credentials {0}: #urlc={0}1userInfo does not appear to contain password: {0}userInfo.length={0} $% &' d (0made connection, now consume rest of stream: {0} )*+ ,-java/io/IOExceptionorg/das2/util/filesystem/FileSystem$FileSystemOfflineExceptionFileSystemOfflineException 8: truejava.awt.headless9 :; <=&Headless mode means we have to give up.root returns 404, indicating it does not exist >? @ java/net/URL A://user@ B C DEjava/lang/RuntimeException F G Hinitializing httpfs {0} at {1} I&initializing httpfs {0} in applet mode Jfilesystem is offline: {0}   java/net/UnknownHostException Kwaiting for other process load L M NO PO+org/das2/util/filesystem/FileSystemSettingsQ RS T,waiting for external process to download {0} $O US Vjava/lang/InterruptedException*timeout waiting for partFile to be deleted5successfully waited for external download to complete0part file removed but complete file is not found$org/das2/util/filesystem/WebProtocolETag W; XY ContentType _ResponseCode &Z [ \ ]^ _/ `,GET to get listing {0}GET to get data {0} {0} URL: {1} not found:  ab Last-Modified cdjava/util/List ejava/util/Date cfjava/lang/String gO hS ij make dirs {0} klpartFile exists {0} m njava/io/InterruptedIOException9interrupt while waiting for external process to download 1timeout waiting for external process to download o=Unable to delete part file {0}, using new name for part file. java/io/File.part. p qtransferring bytes of {0}java/io/FileOutputStream ldownloading file r sdContent-Location Content-Type .gzapplication/x-gzipjava/util/zip/GZIPInputStream - tu v0fewer bytes downloaded than expected: {0} of {1} &w3fewer bytes in HTTP response than stated in header. xd yd zO&org/das2/util/filesystem/WebFileSystem {|java/lang/Exceptionunable to setLastModified +file was once a directory.} ~'unable to folder to make way for file:  )another thread must have downloaded file.Hexisting file didn't have a proper timetag, copy timetag from part file."unable to set last modified on {0}unable to delete 3another thread must have downloaded different file.deleting old file {0} rename failed {0} to {1}rename failed  to "deleting partial download file {0}could not create local file: doDownload {0}open connection to {0}   #user cancelled at credentials entry "  java/lang/IllegalStateExceptionVWe are already connected, so resetting credentials would cause Already connected error   user:pass  +not closing, because it was a listing file.  ;*downloadFile {0}, using temporary file {1} _  Z d  EXISTexist , & ContentLength  LastModified    45 ,.css.php.jnlp.part ** listDirectory({0}{1})   +org/das2/util/filesystem/AppletHttpProtocol&org/das2/util/filesystem/WebFileObject )org/das2/util/monitor/NullProgressMonitor ) java/lang/Throwable F  ; ,using cached listing for {0} java/io/FileInputStreamjava/util/LinkedHashMap 2org/das2/util/filesystem/FileSystem$DirectoryEntryjava/lang/Long    e      j4this filesystem is offline, using local listing: {0} unable to list  when offlinejava/util/ArrayList %expected resource to be a directory: .listing  =    list {0}   failed to setLastModified: {0} ; 12user cancelled at credentials6** using local listing because remote is not available or some other error occurred. ** 0should not get here screen.pnglistDirectory({0},{1})  +,is not a directory: R, $%      O dDateContent-Length YZdas2.filesystem.httpjava/util/logging/Loggerjava/util/logging/Leveljava/net/URLConnection java/util/Mapjava/io/InputStream%org/das2/util/monitor/ProgressMonitorjava/util/concurrent/locks/Lockjava/util/Iteratorjava/util/regex/Pattern getAuthority(Ljava/lang/String;)VtoStringcontains(Ljava/lang/CharSequence;)Zfinesplitappend-(Ljava/lang/String;)Ljava/lang/StringBuilder; getSchemegetPath-(Ljava/lang/Object;)Ljava/lang/StringBuilder;toURL()Ljava/net/URL;FINERLjava/util/logging/Level;log.(Ljava/util/logging/Level;Ljava/lang/String;)V@(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V'org/das2/util/filesystem/FileSystemUtil getParentUri(Ljava/net/URI;)Ljava/net/URI;peek5(Ljava/net/URI;)Lorg/das2/util/filesystem/FileSystem; isOffline()Zfiner#org/das2/util/filesystem/FileSystemsettings/()Lorg/das2/util/filesystem/FileSystemSettings;openConnection()Ljava/net/URLConnection;getConnectTimeoutMs()IsetConnectTimeout(I)VgetReadTimeoutMssetReadTimeout!org/das2/util/filesystem/KeyChain getDefault%()Lorg/das2/util/filesystem/KeyChain; getUserInfo"(Ljava/net/URL;)Ljava/lang/String;org/das2/util/Base64 getEncoderEncoder ()Lorg/das2/util/Base64$Encoder;getBytes()[Borg/das2/util/Base64$EncoderencodeToString([B)Ljava/lang/String;setRequestProperty'(Ljava/lang/String;Ljava/lang/String;)VINFOlengthjava/lang/IntegervalueOf(I)Ljava/lang/Integer;getResponseCodegetInputStream()Ljava/io/InputStream;!org/das2/util/filesystem/HttpUtil consumeStream(Ljava/io/InputStream;)V disconnectgetErrorStreamgetResponseMessageSEVERE getMessageC(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)Vformat9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;isAllowOfflineinfo(I)Ljava/lang/StringBuilder;java/lang/System getProperty&(Ljava/lang/String;)Ljava/lang/String;equals(Ljava/lang/Object;)ZclearUserPassword(Ljava/net/URL;)VgetPort getProtocolgetHostgetFiletoURI()Ljava/net/URI;(Ljava/lang/Throwable;)VhasAllPermission(Ljava/net/URI;)Ljava/io/File;A(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)VWARNING&(Ljava/io/IOException;Ljava/net/URI;)VsetProgressMessageexistscurrentTimeMillis()J lastModifiedjava/lang/Threadsleep(J)VFINESTsetTaskProgress isCancelledgetHeaderFieldput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(I)Ljava/lang/String; loggerUrlFINE isLoggable(Ljava/util/logging/Level;)ZgetURLendsWithgetHeaderFields()Ljava/util/Map;get&(Ljava/lang/Object;)Ljava/lang/Object;size(I)Ljava/lang/Object;getContentLengthLong setTaskSize getParentFile()Ljava/io/File; maybeMkdirs(Ljava/io/File;)Vjava/util/Collections EMPTY_MAPdelete(J)Ljava/lang/StringBuilder; createNewFilesetLabelstarted copyStreamU(Ljava/io/InputStream;Ljava/io/OutputStream;Lorg/das2/util/monitor/ProgressMonitor;)JgetContentLength(J)Ljava/lang/Long;finishedclosegetTimesetLastModified(J)Zorg/das2/util/FileUtildeleteFileTree(Ljava/io/File;)Zorg/das2/util/OsUtil contentEquals(Ljava/io/File;Ljava/io/File;)ZrenameTo setUseCaches(Z)V"(Ljava/net/URI;)Ljava/lang/String;addRequestProperty checkRedirect2(Ljava/net/URLConnection;)Ljava/net/URLConnection; checkUserInfogetCause()Ljava/lang/Throwable;4(Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;copyConnectProperties;(Ljava/net/HttpURLConnection;Ljava/net/HttpURLConnection;)VgetDownloadLockj(Ljava/lang/String;Ljava/io/File;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/util/concurrent/locks/Lock;toCanonicalFilename"(Ljava/lang/String;)Ljava/net/URL; substringunlock getMetadata.(Ljava/net/URL;Ljava/util/Map;)Ljava/util/Map;putAll(Ljava/util/Map;)Vjava/lang/Boolean parseBoolean(Z)Ljava/lang/Boolean; parseLong(Ljava/lang/String;)J#(Ljava/io/File;Ljava/lang/String;)V getLocalName"(Ljava/io/File;)Ljava/lang/String; startsWithjava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;listDirectoryFromMemoryI(Ljava/lang/String;)[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry; getListingJ([Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;)[Ljava/lang/String;protocol&Lorg/das2/util/filesystem/WebProtocol;M(Lorg/das2/util/filesystem/WebFileSystem;Ljava/lang/String;Ljava/util/Date;)Vf(Lorg/das2/util/filesystem/WebFileObject;Lorg/das2/util/monitor/ProgressMonitor;)Ljava/io/InputStream;!org/das2/util/filesystem/HtmlUtilgetDirectoryListing4(Ljava/net/URL;Ljava/io/InputStream;)[Ljava/net/URL; addSuppressedtoCanonicalFolderNameisListingCached listingFile"(Ljava/lang/String;)Ljava/io/File;modifiednametypeCaddRoCacheEntries2(Ljava/lang/String;Ljava/util/Map;)Ljava/util/Map;values()Ljava/util/Collection;java/util/CollectiontoArray(([Ljava/lang/Object;)[Ljava/lang/Object; cacheListingJ(Ljava/lang/String;[Lorg/das2/util/filesystem/FileSystem$DirectoryEntry;)V$(Ljava/util/Map;)[Ljava/lang/String;getCanonicalFileisEmpty listFiles()[Ljava/io/File;getName(C)Ljava/lang/StringBuilder;additerator()Ljava/util/Iterator;hasNextnext()Ljava/lang/Object;charAt(I)C getPartFile(Ljava/io/File;)Ljava/io/File;parseInt(Ljava/lang/String;)I uriEncode()[Ljava/lang/String;(II)Ljava/lang/String;TRUELjava/lang/Boolean;java/lang/Class getLogger.(Ljava/lang/String;)Ljava/util/logging/Logger;compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;java/util/regex/Matchermatches longValueremoveorg/das2/util/LoggerManager!,p"*+,*Y*Y*[QR^!\ """/*e   U*L+ Y *  +M, Y,Y,2:6,2W,2LYY*+* :K :YY"*#*$N%&'%(-)6**:%+,:-./660:6: 12-34:  156 178%9-):-;: : %=*)] +> ?@:  AYB C:-D:   E C6 %F ) * G HI )HJ )%K  LM) N O6 %P ) QR : T%U' V66W/: Y/ ZR6 [:66w: \/6 O6 ]::^_`_: ZR.^abYMSY-SYSc ` d2e:^fbYMSY-SYSc `6jb^gbYMSY-SYSc `1hijbkYY0lmnopqrJ Es/1hijkYY0lmnL:6  dYtu  ȟ   :-v -w0YG-wl: xYY-yz-{ -|}:~:K*$N:Y  6 66S$*: %bY-SY S: %-),Y* : *)      L+LkY+* r!Rgj<08;ScfXcSS!FGkFGdFGFJSBtu vyz'}.4>DPnr "%3<GR^gjlx{#08;=EPUX[cfhpx} /5=bksv    *27>!C"h#%&'+)*,-.037;<=?@ BDE(H/I6J=KDMGOHPJQKRt%SP|g l  = h! g=r  hP < {W   B.v\V,("%%" H 0 HK U/l@K lD l,; l lc `el:6@%-% +UEl  &Bkd<-,Q,eB,)-,-:^`, /+ //DHNabd$e0f:gChElHjJkZl]ndolpnrus}tvw4J  >C++bY+SbY+S+:+4:  O<HbY OMSY,SdYY,#u OȟQHbY OMSY,SSYY Olm ],#+:  , "Y  d: Y: +7  Ķ%Ķ)ĸ%)e7V*șɰYY˶#̿SYYͶ#Κ6H)YYѶҶӶ:ՙm%-)Y:ٹ+ܶ:+ݶ:*+:-߶ r ߶6Y:*7+䅔,bYSY SSY aW:^`//˻YY#p^/ %/H)ΚYY#/%)ΚYY#CbYSYSYY##L:%)'ΚYY# SYY#RISFIS^W4JPVa1:@ITdlt#+7BKRZbi$,4P^hpz  FIKPUcs.  ZbiKGBPPeV_ :{  @u *i 4OX=   19%:g   @?b ;K#0I      E         S I!,):,),34:156178:*:: SY+>?@: AYB C*E* :  4:  K:  :9>?@: AYB C: j6  *,+-:6 :   < O Y:OW : : v: ::   34:  >?@: AYBCV : 74M,5V-:4 ,VBNQ<Sdy|<>. /12&314<7B;N>Q<S=^?c@pADEHIKLMNPSQRYZ\]v_`/a2c=dKe]fdhliyl|j~kmnopqrstvyz{}yz {}NS  p  ) ~ d_ 8 $  !!!!!!&^  Q  ,T   Y0  DG!   Sd *+,:ɰ:+L%bY+SY-S*+:*+,-:L:+AxYY* +߶}:*+,-W: :  <ILdd5V 5<ILNWf  NG<Y    W!8 !"C  !""I S#$%ʻxYY*$+L ++}M,NY:- -!"#W!-!"#W$-$%W&-&%WMY,'. 28AIf>2&8 A '8 A(7')S<*+, *( +Y*(+)M,,+,N*-*:Y:*+:+,Y+:Y+::66   2:  r R"'027>H^fo\ - . 7/>fh0.-+  +,l lS12J Y-SY.SY/SY0S1   345p2bY*SY+S*+3M,,4*5*56*57Y*+Y89Y:;::*+<4:::!:>:Y'-:+L66--2:*?S+@L*+A.%B+)*+C:DYE::*+<:UFH:><F4::: !F:  >F :Y'GYHN+L6:66  N 2: IYJ:  LN * ?O fP LQ- O W *+-RN*+-S-TIUVW-X6*-Y*(+)Y:%Z)*+GY[RN/-\&kYY]#^n_Y`:a: YYb#:6 6   X 2:  cd: %Y c/efW cfW -Sg:h{iI:PdUOL6  $O dj/OfW"YO/efWOfWklt%m+)*+C:*+*n9Y:o:: p*+: : vq)DYE: : *+ <: U  FH:   >< F4:  :  :  !  F:   > F +rL6 _Y`: *s: :  6 6  2:6|5 t:h"i:|6*? :6:6  uW|  vxwxx:GY[N:  6 6 N 2:IYJ:LN*? OfPLQ-OW*+-RN*+-S-TIUVW-X:SYy:*-)zj{jY*(+):|Y}Suz}=`k=`k=;<LQT=6Bh=6Bq}=hsq(<=u=u=LhkK&<N%&<K3SN%3S!%* ;"`#k$"$&$%)*+,-+/2 67!9(<6=B>h<q>@>?BCDEFGHIJDMO:Q?TBVIWZXhZu\^`abcfghi8kEfKpnqxrstvxy{|,<CKNYgu  9ILYehkmp}!&(35<EN\be3k&06]e06 7#606/)8B&063f9:06 5;< >7 (=068H> =?E8 ni><Z=@uzC  &06rf9: 9YmA pB sC5;<>7=D,E8 <EF 61 N06( \G50ppH!OIJB.K>=@uzD61 B*VRVx VHV VxV xl"LVxL VLH VL VxV x VxxQ'Vi9M M) V NOO V^ V+ VxL  VLH VL  Vx#VxPx&N%BQ (VxPxQ'VL.S R,2*~r  S4TS $bY+SY,S,,,LdM+L*+YY+,I*Y+,N-! Y,SN,^-`*++N,:_Y`:-:66I2:  :   Ldj/  Ld:    uWvwll]<Z-2:V]!t"#'%&*+,-./01 -4f t 5U 9C $$H$S{=uVWlF t (7 -(8B lXPl1SYZ *+KN-PY-e픜*+I*Y:*+W*+Wç :*+:IYJ:::+dfP^YYN%Q*Y:*+W*+YWç :  *+:*+;TWW\W_ < <bBCD(E6G;HFIQJ_NfOoP~QRSTUVWXYZ\ ^ _\ f o[<~\|] ^_` f ( 6a ab=aOOaOOW aObaScd" LefI k