JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr O6ufdddlZddlZddlZddlZddlZddlmZddlmZm Z m Z Gddee Z y)N)partial)Plugin RedHatPlugin PluginOptcfeZdZdZdZdZeddededd d gZd Z d Z dZ dZ dZ dZy)Jarsz1Collect information about available Java archivesjars)javaappend-locationsz,colon-delimited list of additional JAR paths)defaultval_typedescall-known-locationsFzscan all known paths)r r)z/usr/share/javaz /usr/lib/java)z/optz /usr/localz/var/libcdgi}g}ttj}|jdr|ttjz }|jd}|r||j dz }|D]\}t j|D]B\}}}|D]7} |j|| } |j| s'|j| 9D^|D]C} |j| } |j| } | s| s*| | | d}|dj|Etj|dd}|j|d d y) Nr rr :)pathsha1maven_id),: )indent separatorsz jars.jsonT)plug_dir)listr jar_locations get_optionextra_jar_locationssplitoswalk path_joinis_jarappend get_maven_id get_jar_idjsondumpsadd_string_as_file)selfresults jar_paths locationsuser_locationslocationdirpath_ filenamesfilenamerjar_pathrjar_idrecord results_strs 9/usr/lib/python3/dist-packages/sos/report/plugins/jars.pysetupz Jars.setup1sU2, ++, ??0 1 d667 7I);<  --c2 2I" /H)+): /%I )/H>>'8>$ G$6$6t$< __T*$d-@#$$@$$ W//0 -dV;seD  s;A? A3A?)A?3A<8A?<A??B9B44B9c2i} tj|5}tjd}|j Dcgc]}|j |s|}}t |dk7r dddy|j|d5}|jD]|}|j}|jdr% |jd\} } | jdj} | jdj} | || <~ dddddd|Scc}w#t$rYddddddywxYw#1swY8xYw#1swY|SxYw#t$r"} |jd|d | Yd} ~ |Sd} ~ wwxYw) zExtract Maven coordinates from a given JAR file, if possible. JARs build by Maven (most popular Java build system) contain 'pom.properties' file. We can extract Maven coordinates from there. z*META-INF/maven/[^/]+/[^/]+/pom.properties$Nr#=utf8z)Could not extract Maven coordinates from r)r>r@recompilerAmatchlenopen readlinesstrip startswithr decode ValueErrorrBrD) r+r5propsrErgxxresultprops_flinekeyvaluerFs r9r&zJars.get_maven_ides * ,djj!MN%)]]_E ! !EEv;!#  , , YYvay) ,W ' 1 1 3 ,#zz|#t4,/3zz$/? e&)jj&8&>&>&@(- V(<(B(B(D-2c  , ,  ,( %F$.,'+ ,  , ,, , ,  ,(   NN;H:RuM    sE+(ED-D-E-E+6E 5EAD2EE#E+-E2 E ;E=EE+E EE EE(#E+(E++ F4FFcbd} t|d5}tj}tt |j ddD]}|j | dddj}|S#1swYxYw#t$r"}|jd|d|Yd}~|Sd}~wwxYw) zHCompute JAR id. Returns sha1 hash of a given JAR file. r rb)modeir;NzCould not compute JAR id for r) rPhashlibriterrreadupdate hexdigestrBrD)r+r5r6rEdigestbufrFs r9r'zJars.get_jar_ids  NhT* 'd  4 8#>'CMM#&' '%%'F  ' '  N NN:8*BseL M M  Ns/ BA A7B7B<B B. B))B.N)__name__ __module__ __qualname__ short_desc plugin_nameprofilesrstr option_listrrr:r$r&r'r;r9rrs`DJKH$b3E G'- /KM !IF">r;r) rar(r!rLr> functoolsrsos.report.pluginsrrrrrpr;r9rss/ >>~6<~r;