+
    4:jҎ                     a 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt	^ RI
t	^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIH t H!t! ^ RI"H#t#H$t$ ^ RI%H&t&H't' ]#! ](4      PS                  4       PT                  ^,          t+]+R,          R,          R,          t,]PZ                  ! ]+R,          R	,          P]                  4       4      t/]+R,          R
,          t0 ! R R]14      t2R R lt3RRR^xRR/R R llt4R R lt5R R lt6R R lt7ER/R R llt8 ! R R4      t9]  ! R R 4      4       t:R! R" lt;R# R$ lt<R% R& lt=ER0R' R( llt>R) R* lt?R+ R, lt@ER1R- R. lltAR/ R0 ltBR1 R2 ltCR3 R4 ltDR5 R6 ltER7 R8 ltFR9 R: ltGR; R< ltHR= R> ltIR? R@ ltJRA RB ltKRC RD ltLRE RF ltMRG RH ltNRI RJ ltORK RL ltPRM RN ltQRO RP ltRRQ RR ltSRS RT ltTRU RV ltURW RX ltVRY RZ ltWR[ R\ ltXR] R^ ltY/ R_R`bRaRbbRcRdbReRfbRgRhbRiRjbRkRlbRmRnbRoRpbRqRrbRsRtbRuRvbRwRxbRyRzbR{R|bR}R|bR~RbRR|RRRRRRRRRRRRRR/CtZR][R&   R R lt\R R lt]R R lt^R R lt_R R lt`R R ltaR R ltbR R ltcR R ltdR R lteR R ltfR R ltgR R lthR R ltiR R ltjR R ltkR R ltlR R ltmR R ltnR R ltoR R ltpR R ltqR R ltrR R ltsR R lttR R ltuR R ltvR R ltwR R ltxR R ltyR R ltzR R lt{R R lt|R R lt}R R lt~R R ltR R ltR R ltR R ltR R lt/ R]GbR]GbR]GbR]IbR]JbR]KbR]LbR]MbR]NbR]ObR]PbR]QbR]HbR]RbR]SbR]TbR]Ub/ R]VbR]WbR]XbR]YbR]_bR]`bR]abR]bbR]cbR]dbR]ebR]fbR]gbR]hbER ]ibER]jbER]kbC/ ER]lbER]mbER]nbER]obER]pbER]qbER	]rbER
]sbER]tbER]vbER]wbER]xbER]ybER]zbER]{bER]|bER]bCtER][ER&   ]Z F  t]3ER l]]&   K  	  ]! ^^4       U u. uF  p ERV ER 2NK  	  up  F  t]3ER l]]&   K  	  ]! ^^4       U u. uF  q ^8w  g   K  ERV ER 2NK  	  up  F  t]3ER l]]&   K  	  ]! ^^4       U u. uF  p ERV ER 2NK  	  up  F  t]3ER l]]&   K  	  ER2 F  t]3ER l]]&   K  	  ]! ^^4       U u. uF  p ERV ER 2NK  	  up  F  t]3ER  l]]&   K  	  ER3 F  t]3ER! l]]&   K  	  ]! ^^4       U u. uF  p ER"V ER 2NK  	  up  F  t]3ER# l]]&   K  	  ER$ ER% ltER& ER' ltER( ER) ltER* ER+ lt]ER,8X  d   ]! ]! 4       4      hR# u up i u up i u up i u up i u up i   ]2 d(   t]! ER-] 2]EP                  ER.7       ]! ^4      hRtAii ; i(4  a  Deterministic ThemeFactory runtime verifier.

One process owns one disposable WordPress/MariaDB/Chromium fixture and executes a
semantic shard.  No test may fabricate pass evidence: each requested ID has an
explicit implementation below and every receipt includes raw assertion details.
)annotationsN)	dataclassfield)PathPurePosixPath)AnyCallableciruntimez
axe.min.jszpolicy.yamlzthemefactory-tests.jsonlc                      ] tR t^,tRtR# )TestFailure N)__name__
__module____qualname____firstlineno____static_attributes__r       P/home/user/tmp/united-pets-verifier-portability/tests/runtime/runtime_harness.pyr   r   ,   s    r   r   c               $    V ^8  d   QhRRRRRR/# )   condboolmessagestrreturnNoner   )formats   "r   __annotate__r   0   s!     # #$ # # #r   c                ,    V '       g   \        V4      hR # N)r   )r   r   s   &&r   requirer!   0   s    '"" r   cwdtimeoutcheckTc          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r   cmd	list[str]r"   Path | Noner#   intr$   r   r    subprocess.CompletedProcess[str]r   )r   s   "r   r   r   5   s0      I { C d ^~ r   c          
     :   \         P                  ! Y;'       g    \        R \         P                  \         P                  VRR7      pV'       dM   VP
                  '       d;   \        RVP
                   RRP                  V 4       RVP                  RR  24      hV# )	TFr"   textstdoutstderrr#   r$   command failed ():  
Nx)	
subprocessrunROOTPIPESTDOUT
returncoder   joinr.   )r&   r"   r#   r$   cps   &$$$ r   shr=   5   s    	4
XbXiXisz  CH  
IB,R]]O3sxx}oRPRPYPYZ_Z`PaObcddIr   c                    V ^8  d   QhRRRR/# )r   pathr   r   r   r   )r   s   "r   r   r   <   s       # r   c                &  a \         P                  ! 4       pV P                  R 4      ;_uu_ 4       o\        V3R lR4       F  pVP	                  V4       K  	  RRR4       VP                  4       #   + '       g   i     TP                  4       # ; i)rbc                 &   < S P                  R4      # )i   i   )read)fs   r   <lambda>sha256.<locals>.<lambda>?   s    !&&"5r   r   N)hashlibsha256openiterupdate	hexdigest)r?   hchunkrD   s   &  @r   rH   rH   <   sd    A	4A5s;EHHUO < 
 ;;= 
 ;;=s   )A11B	c                    V ^8  d   QhRRRR/# )r   r?   r   r   dict[str, str]r   )r   s   "r   r   r   D   s      4 N r   c                   / p\         P                  ! V 4      ;_uu_ 4       pVP                  4        F  pVP                  4       '       d   K  \	        VP
                  V9  RVP
                   24       \        P                  ! VP                  V4      4      P                  4       WP
                  &   K  	  RRR4       V#   + '       g   i     T# ; i)a-  Return archive entry content identities independent of ZIP encoding details.

Python/zlib versions can produce different DEFLATE byte streams for the same
logical archive. Release verification therefore compares the shipped tree,
then installs the tracked dist bytes as the exact artifact under test.
zduplicate archive entry: N)
zipfileZipFileinfolistis_dirr!   filenamerG   rH   rC   rL   )r?   resultarchiveinfos   &   r   zip_content_treerZ   D   s      F			'$$&D{{}}DMM/3LT]]O1\]$+NN7<<3E$F$P$P$RF==!	 ' 
 M 
	 Ms   BC  C	c                   V ^8  d   QhRR/# r   r   r)   r   )r   s   "r   r   r   U   s     ' '3 'r   c                     \         P                   ! 4       ;_uu_ 4       p V P                  R4       \        V P                  4       ^,          4      uuRRR4       #   + '       g   i     R# ; i)	127.0.0.1N)r^       )socketbindr)   getsockname)ss    r   	free_portrd   U   s;    	A	 1==?1%& 
s   1AA+	c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   methodr   urlpayloadz
Any | Noner#   r)   r   r   r   )r   s   "r   r   r   [   s0     , ,c , ,j ,# ,WZ ,r   c                   Vf   R M#\         P                  ! V4      P                  4       p\        P                  P                  WV RR/R7      p\        P                  P                  WSR7      ;_uu_ 4       pVP                  4       pR R R 4       X'       d   \         P                  ! V4      # R #   + '       g   i     L0; i)NzContent-Typezapplication/json;charset=UTF-8)datarf   headersr#   )	jsondumpsencodeurllibrequestRequesturlopenrC   loads)rf   rg   rh   r#   rj   reqresraws   &&&&    r   	http_jsonrx   [   s    ?4

7(;(B(B(DD
..
 
 YyHz
 
{C					5	5hhj 
6!4::c?+t+ 
6	5s   7B00C 	c                      ] tR t^ctR R ltRR R lltR R ltR R ltR	 R
 ltR R lt	RR R llt
RR R lltR R ltR R ltRR R lltRR R lltRtR# )	WebDriverc                   V ^8  d   QhRR/# )r   endpointr   r   )r   s   "r   r   WebDriver.__annotate__d   s     5 5 5r   c                	N    VP                  R 4      V n        RV n        . V n        R# )/N)rstripr|   sessionbrowser_logs)selfr|   s   &&r   __init__WebDriver.__init__d   s!     ,#'24r   c               $    V ^8  d   QhRRRRRR/# r   widthr)   heightr   r   r   )r   s   "r   r   r}   i   s!     ' '# 'c 'D 'r   c                	h   R RRRRRRRRR	R
V RV 2./RRRRR/RR///p\        RV P                  R,           V4      pVP                  RV4      pVP                  R4      ;'       g    VP                  R4      V n        \	        \        V P                  4      RV 24       V P                  W4       R# )capabilitiesalwaysMatchbrowserNamechromezgoog:chromeOptionsargsz--headless=newz--no-sandboxz--disable-dev-shm-usagez--disable-gpuz--window-size=,zgoog:loggingPrefsbrowserALLperformancepageLoadStrategynormalPOSTz/sessionvalue	sessionIdz$could not create WebDriver session: N)rx   r|   getr   r!   r   
set_window)r   r   r   rh   rj   r   s   &&&   r   rI   WebDriver.openi   s    ]x$v0@.Rkm|  AO  PU  OV  VW  X^  W_  `  0b  'c#iu%M"H	- 
 !;WE$'yy-FF+1FT\\"&J4&$QR&r   c                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r   r}   x   s        t  r   c                	   V P                   '       dZ   \        P                  ! \        4      ;_uu_ 4        \	        R V P
                   RV P                    24       RRR4       RV n         R# R#   + '       g   i     L; i)DELETE	/session/N)r   
contextlibsuppress	Exceptionrx   r|   r   s   &r   closeWebDriver.closex   sQ    <<<$$Y//(t}}oYt||n$MN 0DL //s   &A..A>	c                    V ^8  d   QhRRRR/# )r   suffixr   r   r   )r   s   "r   r   r}   ~   s     A A3 A3 Ar   c                	z    \        \        V P                  4      R 4       V P                   RV P                   V 2# )zwebdriver session not openr   )r!   r   r   r|   )r   r   s   &&r   _urlWebDriver._url~   s3    T\\"$@A--	$,,x@@r   c                    V ^8  d   QhRRRR/# )r   rg   r   r   r   r   )r   s   "r   r   r}      s     G GC GD Gr   c                	F    \        R V P                  R4      RV/^<R7       R# )r   /urlrg   rl   Nrx   r   )r   rg   s   &&r   navigateWebDriver.navigate   s    &$))F+eS\2Fr   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r}      s     A AS Ar   c                	X    \        \        R V P                  R4      4      R,          4      # )GETr   r   )r   rx   r   r   s   &r   current_urlWebDriver.current_url   s"    9UDIIf$56w?@@r   Nc               $    V ^8  d   QhRRRRRR/# r   scriptr   r   zlist[Any] | Noner   r   r   )r   s   "r   r   r}      s"     ! !c !)9 !S !r   c           	     	|    \        R V P                  R4      RTRT;'       g    . /^<R7      pVP                  R4      # )r   z/execute/syncr   r   rl   r   rx   r   r   r   r   r   rj   s   &&& r   executeWebDriver.execute   s?    ?!;hPVX\XbXb`b=cmopxx  r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r}      s"     ! !C !/? !3 !r   c           	     	|    \        R V P                  R4      RTRT;'       g    . /^ZR7      pVP                  R4      # )r   z/execute/asyncr   r   rl   r   r   r   s   &&& r   execute_asyncWebDriver.execute_async   s@    +;!<xQWY]YcYcac>dnpqxx  r   c               $    V ^8  d   QhRRRRRR/# r   r   )r   s   "r   r   r}      s&     i i iS iT ir   c                	N    \        R V P                  R4      R^ R^ RVRV/4       R# )r   z/window/rectxyr   r   Nr   )r   r   r   s   &&&r   r   WebDriver.set_window   s*    &$))N3c1c1guV^`f5ghr   c                   V ^8  d   QhRR/# )r   r   bytesr   )r   s   "r   r   r}      s     / /E /r   c                	r    \        R V P                  R4      4      p\        P                  ! VR,          4      # )r   z/screenshotr   )rx   r   base64	b64decode)r   rj   s   & r   
screenshotWebDriver.screenshot   s,    		- 89W..r   c                    V ^8  d   QhRRRR/# )r   kindr   r   list[dict[str, Any]]r   )r   s   "r   r   r}      s       -A r   c                	     \        R V P                  R4      RV/4      p\        VP                  R4      ;'       g    . 4      #   \         d    . u # i ; i)r   z/logtyper   )rx   r   listr   r   )r   r   rj   s   && r   logsWebDriver.logs   sR    	VTYYv%6GD)//R00 	I	s   :A A AAc               (    V ^8  d   QhRRRRRRRR/# )r   
expressionr   r#   floatintervalr   r   r   )r   s   "r   r   r}      s/     ] ]# ] ]e ]VY ]r   c                	*   \         P                   ! 4       V,           pR p\         P                   ! 4       V8  d:    V P                  RV R24      pV'       d   V#  \         P                  ! V4       KS  \	        RV RV: 24      h  \         d     L7i ; i)Nzreturn (z);z#timeout waiting for JS expression: ; last=)timer   r   sleepr   )r   r   r#   r   deadlinelasts   &&&&  r   wait_jsWebDriver.wait_js   s    99;(iikH$||hzl"$=>K  JJx ?
|7SWRZ[\\  s   B B BB)r   r|   r       r    )r   )   g?)r   r   r   r   r   rI   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rz   rz   c   sI    5
' AGA!!i/] ]r   rz   c                     ] tR t^t$ R]R&   R]R&   R]R&   RtR]R&   R	tR
]R&   R	tR
]R&   RtR]R&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   RtR]R&   ^ tR]R&   ^ tR]R&   RtR]R&   RtR]R&   R	tR]R&   RtR]R&   RtR]R&   ]! ]R7      tR]R &   ]! ]R7      tR!]R"&   R#tR$]R%&   R&tR']R(&   RtR]R)&   RtR]R*&   R#tR$]R+&   R#tR$]R,&   ]! ]R7      t R-]R.&   ^ t!R]R/&   R0^xR1R2/R3 R4 llt"R5 R6 lt#R0^xR1R2/R7 R8 llt$R0^xR1R2/R9 R: llt%RWR; R< llt&R= R> lt'R? R@ lt(RA RB lt)RC RD lt*RER2R0^/RF RG llt+RER2R0^/RH RI llt,RER2R0^/RJ RK llt-RL RM lt.RN RO lt/RP RQ lt0RR RS lt1RT RU lt2RVt3R	# )XRuntimeContextr   themedict[str, Any]contractr'   requested_idsdockerengineNr(   artifactwork prefixnetworkvolumedb_namewp_nameselenium_namer)   wp_portselenium_portbase_urlhost_urlzWebDriver | Noner   tfadmin
admin_userztfpass-Deterministic-2026admin_password)default_factoryrouteszdict[str, dict[str, Any]]
post_typesFr   importedg        r   fixture_startedrewrite_before_requestsreference_namereference_startedui_cache_readyzdict[str, list[Any]]
ui_resultsui_traversalsr#   r$   Tc               (    V ^8  d   QhRRRRRRRR/# )	r   r   r   r#   r)   r$   r   r   r*   r   )r   s   "r   r   RuntimeContext.__annotate__   s/     F F Fs F FIi Fr   c               	6    \        V P                  .VOWR 7      # )r#   r$   )r=   r   )r   r#   r$   r   s   &$$*r   r&   RuntimeContext.cmd   s    4;;&&EEr   c                    V ^8  d   QhRRRR/# )r   imager   r   r   r   )r   s   "r   r   r     s     a a# a$ ar   c                	@   V P                  R RV^RR7      pVP                  ^ 8X  d   R# \        \        P	                  R/ 4      P	                  RR4      4      pV P                  RWR	7       V P                  R RV^RR7      p\        VP                  ^ 8H  R
V 24       R# )r  inspectFr  Nr
   image_pull_timeout_secondsX  pullrl   z-runtime image unavailable after acquisition: )r&   r:   r)   POLICYr   r!   )r   r  r  r#   verifys   &&   r   ensure_imageRuntimeContext.ensure_image   s    ((7Iub(N"fjjB/334PRUVW0'9eRuM!!Q&*WX]W^(_`r   c               (    V ^8  d   QhRRRRRRRR/# )r   r   r   r#   r)   r$   r   r   r   )r   s   "r   r   r     s(     	! 	! 	!c 	! 	! 	!r   c               	   \        \        R ,          P                  RR4      4      pV P                  RRRRRV P                  RV P
                   R	2R
RV P                  ,           R
RR
RR
RVRR.VOp\        P                  ! V\        R\        P                  \        P                  VRR7      pV'       d   VP                  '       d{   VP                  VP                  '       d   VP                  '       d   RMR,           VP                  ,           RR p\        RVP                   RRP                  V4       RV 24      hVP                  P!                  4       # )r
   wp_cli_image&docker.io/library/wordpress:cli-php8.3r6   z--rmz--userz0:0	--network-v:/var/www/html-eWORDPRESS_DB_HOST=WORDPRESS_DB_USER=wpWORDPRESS_DB_PASSWORD=wpWORDPRESS_DB_NAME=wordpresswpz--allow-rootTFr,   r3   r   Nr0   r1   r2   r4   )r   r  r   r   r   r   r   r5   r6   r7   r8   r:   r.   r/   r   r;   strip)r   r#   r$   r   r  r&   r<   combineds   &$$*    r   r&  RuntimeContext.wp   sx   F9%)).:bcd{{E68UKW[`d`k`k_llz]{  ~B  DX  [_  [g  [g  Dg  im  oE  GK  Mg  im  oL  NS  UY  [i  q  lp  q ^^CTZ__U_UdUdnu  ~C  DR]]]		RYYY2999T"MPRPYPYY[`[abH 0s388C=/QST\S]^__yy  r   c               (    V ^8  d   QhRRRRRRRR/# )r   phpr   r#   r)   r$   r   r   r   )r   s   "r   r   r     s.     B B3 BC Bd Bc Br   c               	*    V P                  R WVR7      # )evalr  )r&  )r   r+  r#   r$   s   &&$$r   wp_evalRuntimeContext.wp_eval   s    wwvs5wAAr   c               $    V ^8  d   QhRRRRRR/# )r   rg   r   r#   r)   r   r   r   )r   s   "r   r   r     s&     U US U3 U Ur   c                	   \         P                   ! 4       V,           pR p\         P                   ! 4       V8  ds    \        P                  P                  V^R7      ;_uu_ 4       p^VP                  u;8:  d   R8  d   M M R R R 4       R # R R R 4       \         P                  ! R4       K  \        RV RV 24      h  + '       g   i     L9; i  \
         d   pTp R p?LNR p?ii ; i)Nrl   i  g?z$HTTP endpoint did not become ready: r   )r   rp   rq   rs   statusr   r   r   )r   rg   r#   r   r   rv   excs   &&&    r   	wait_httpRuntimeContext.wait_http   s    99;(iikH$^^++C+;;scjj.3. <;;
 JJsO@WTFSTT <;  s;   )C #B<C C <C	C C C&C!!C&c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     ;- ;-t ;-r   c                	
   \         P                   ! 4       V n        \        \        P                  ! R V P
                   R2R7      4      V n        \        P                  ! 4       P                  R,          pR\        P                  ! RRV P
                  P                  4       4       RV 2V n        V P                  R,           V n        V P                  R,           V n        V P                  R,           V n        V P                  R	,           V n        V P                  R
,           V n        \'        4       V n        \'        4       V n        RV P(                   2V n        RV P"                   2V n        \1        \2        R,          P5                  RR4      4      p\1        \2        R,          P5                  RR4      4      p\1        \2        R,          P5                  RR4      4      p\1        \2        R,          P5                  RR4      4      pW#WE3 F  pV P7                  V4       K  	  V P9                  RRV P                  4       V P9                  RRV P                  4       V P9                  RRRV P                   RV P                  RRRRRR RR!VR"R#^R$7       V P9                  RRRV P"                  RV P                  R%R&V P(                   R'2R(V P                   R)2RR*V P                    2RR+RR,RR-V^R$7       V P;                  V P,                  ^ZR$7       V P=                  R.R/R0V P.                   2R1R2V P>                   2R3V P@                   2R4R5^R$7	       V P=                  R6R7R8R9^xR$7       V P=                  R:R;R<R=4       V P=                  R:R;R>R?4       V P=                  R@RAR;V P>                  RBRC4       V PC                  4       V n"        \F        PH                  ! V PJ                  RDREV P"                  RFRGRH.V PD                  PM                  4       \F        PN                  \F        PP                  RIRJ7      p\S        VPT                  ^ 8H  RKVPV                  PY                  RLRM7       24       V P=                  RNR/RORPRQ^R$7       V P[                  4        V P=                  R:RRRSRIRT7      V n.        V P9                  RRRV P$                  RV P                  RUR%R&V P*                   RV2RWRXV^R$7       V P;                  RV P*                   RY2^ZR$7       \_        RV P*                   24      V n0        V P`                  Pc                  4        V P.                  V n2        V Pg                  4       V n4        RZ# )[zthemefactory--)r   N
   Nztf-z
[^a-z0-9]+z-netz-htmlz-dbz-wpz-chromezhttp://127.0.0.1:http://r
   database_imagezdocker.io/library/mariadb:11.8wordpress_imagez-docker.io/library/wordpress:7.1-php8.3-apacher  r  selenium_imagez6docker.io/selenium/standalone-chromium:4.35.0-20250828r   creater   r6   -d--namer  r!  zMARIADB_DATABASE=wordpresszMARIADB_USER=wpzMARIADB_PASSWORD=wpzMARIADB_ROOT_PASSWORD=rootz--character-set-server=utf8mb4z%--collation-server=utf8mb4_unicode_cirl   z-pz
127.0.0.1:z:80r  r   r"  r#  r$  r%  coreinstallz--url=z--title=ThemeFactory CIz--admin_user=z--admin_password=z --admin_email=ci@example.invalidz--skip-emailrewrite	structure/%postname%/z--hardoptionrK   timezone_stringUTCblogdescriptionz"Deterministic ThemeFactory fixtureusermetashow_admin_bar_frontfalseexec-ir=   z-cz.cat > /var/www/html/themefactory-candidate.zipF)inputr.   r/   r$   z%candidate artifact injection failed: replaceerrorsr   z(/var/www/html/themefactory-candidate.zipz--force
--activater   rewrite_rulesr$   z--shm-size=2gz:4444z
--add-hostz!host.docker.internal:host-gatewayz/statusN)5r   r  r   tempfilemkdtempr   r   uuiduuid4hexresublowerr   r   r   r   r   r   rd   r   r   r   r   r   r  r   r  r&   r4  r&  r   r   _candidate_zipr   r5   r6   r   
read_bytesr8   r9   r!   r:   r.   decode_discover_post_typesr  rz   r   rI   browser_basediscover_routesr   )r   tokendb_imagewp_imager  chrome_imager  procs   &       r   setupRuntimeContext.setup   s'   #yy{))=A1NOP	

  %BFF<DJJ4D4D4FGH%Q{{V+kkG+{{U*{{U*![[94 {D$6+DLL>:!$,,0vi(,,-=?_`avi(,,->@opq6),00Aijk6),001AC{|} ,EEe$ FHdll38T[[1hk4<<3T;LdTiko  rN;=dnq 	 	s 	hk4<<QUYcdhdpdpcqqtWuw{  AE  AL  AL  @M  M[  ~\+DLL>:DBXZ^`z  }A  C`3 	 	( 	t}}b1	VDMM?#;=VZghlhwhwgxXy  ~O  PT  Pc  Pc  Od  |e  gI  KY  cf  	g	;#N($5u=($57[\ 	$//;QSZ[++- ~~[[&$dDBrs--**,Z__ZM^M^fk
 	1$(MdkkN`N`hqN`NrMs&tu$NPY[gqtu!!#'+wwxW\w']$ 	h(:(:KWfhlpz{  |N  |N  {O  OT  oUBLZ] 	 	_*4+=+=*>gFPRS #4T5G5G4H!IJ MM**,r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r  0  s       r   c           	     	   \         R ,          V P                   R2,          p\        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      pV P                  R,          q3P                  4        \         R,          V P                  ,          pW0P                  ,          p\        P                  ! WE4       \        P                  R. 4       F  pV\        \        V4      4      ,          p\        VP                  4       P                  VP                  4       4      RV 24       VP                  4       '       d   \        P                   ! V4       K  VP#                  4       '       g   K  VP%                  4        K  	  V P                  V P                   R2,          p\'        \(        P*                  \        \         R	,          R
,          4      R\        V4      \        V4      .^R7       V'       d\   VP#                  4       '       dF   \        \-        V4      \-        V4      8H  RV P                   R24       \        P.                  ! W4       V# )distz.zipc              3  t   "   T F.  qP                  R 4      ;'       g    VP                  R4      x  K0  	  R# 5i)z	TF-PKG-01zTF-REL-N)
startswith.0r   s   & r   	<genexpr>0RuntimeContext._candidate_zip.<locals>.<genexpr>2  s.     jWiRSk2MMall96MMWis   88TF	containerthemesnon_shipping_theme_filesz unsafe non-shipping theme path: toolsztheme_factory.pypackrl   z+release candidate tree does not equal dist/)r7   r   anyr   r   mkdirshutilcopytreer  r   r   r   r!   resolveis_relative_torU   rmtreeexistsunlinkr=   sys
executablerZ   copy2)	r   ro  
releaseishrv  sourcetargetrelr?   	candidates	   &        r   r`  RuntimeContext._candidate_zip0  s   f}$**T22SjW[WiWijSSSjW[WiWijj
II+	__->4::-ZZ''::8"=CM#c(33DDLLN11&..2BCGghkglEmn{{}}d# > II4::,d 33	
CNNCw1C CDfcR[n^abk^lmwz{$++--$Y/3CD3IIMxy}  zD  zD  yE  EI  LJ  KLL)r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r  F  s     / /d /r   c                	    R pV P                  V4      p\        P                  ! T;'       g    R4      V n        R#   \         d    / T n         R# i ; i)a  $out=[]; foreach(get_post_types([], 'objects') as $n=>$o){ if(in_array($n,['revision','nav_menu_item','custom_css','customize_changeset','wp_template','wp_template_part','wp_global_styles','wp_navigation','wp_font_family','wp_font_face'],true)) continue; $out[$n]=['public'=>(bool)$o->public,'has_archive'=>$o->has_archive,'rewrite'=>$o->rewrite,'rest'=>(bool)$o->show_in_rest]; } echo wp_json_encode($out);{}N)r.  rm   rt   r  r   )r   r+  rw   s   &  r   rc  #RuntimeContext._discover_post_typesF  s?     mll3#zz#++6T_.B$/.s   %; AAc                   V ^8  d   QhRR/# )r   r   r'   r   )r   s   "r   r   r  L  s     	2 	2 	2r   c                	   V P                   P                  R / 4      P                  RR4      p\        V\        4      '       d   \	        \
        P                  V4      4      # RpV P                  V4      p\        P                  ! V4      p\	        \
        P                  V4      4      R,          #   \         d    R.p L5i ; i)r
   r   autoa  $r=['/']; foreach(get_posts(['post_type'=>get_post_types(['public'=>true]),'post_status'=>'publish','posts_per_page'=>80]) as $p){ $u=get_permalink($p); if($u){$path=wp_parse_url($u,PHP_URL_PATH); if($path)$r[]=$path;} } foreach(get_post_types(['public'=>true],'objects') as $o){ if($o->has_archive){$u=get_post_type_archive_link($o->name); if($u){$path=wp_parse_url($u,PHP_URL_PATH); if($path)$r[]=$path;}} } echo wp_json_encode(array_values(array_unique($r)));r   N(   N)r   r   
isinstancer   sorteddictfromkeysr.  rm   rt   r   )r   
configuredr+  rw   r   s   &    r   re  RuntimeContext.discover_routesL  s    ]]&&y"599(FK
j$''$--
344 dll3JJsOV dmmF+,S11 &#&&s   4B/ /C ?C followc               (    V ^8  d   QhRRRRRRRR/# )	r   r?   r   r  r   r#   r)   r   ztuple[int, str]r   )r   s   "r   r   r  W  s)      s t S Ra r   c               	(   VP                  R4      '       d   TM2V P                  VP                  R4      '       d   TMRV,           ,           pRV P                  RRR\        V4      .pV'       d   VP	                  R4       VRRV.,          pV P
                  ! VR	V^
,           R
R/ pVP                  P                  R4      pRV9   d   VP                  R^4      w  rMRTr \        V	P                  4       4      p
W3#   \         d    ^ p
 Y3# i ; i)r;  r   rO  curl-sS
--max-time-L-wz
%{http_code}r#   r$   Fr3   r   r;  https://)rq  r   r   r   appendr&   r.   r   rsplitr)   r'  
ValueError)r   r?   r  r#   rg   r   r<   outbodycode_scodes   &&$$       r   
http_fetchRuntimeContext.http_fetchW  s   oo&=>>dDMM]a]l]lmp]q]qUYwz  ~B  xB  ECfe\3w<PKK'--XXt?Wr\??iit$3;::dA.LD&s&	v||~&D z  	Dz	s   #C? ?DDc               (    V ^8  d   QhRRRRRRRR/# r   r?   r   r  r   r#   r)   r   r   )r   s   "r   r   r  i  s)     
 
 
 
c 
SV 
r   c               	   VP                  R4      '       d   TM2V P                  VP                  R4      '       d   TMRV,           ,           pRV P                  RRR\        V4      RR.pV'       d   VP	                  R4       VR	R
V.,          pV P
                  ! VRV^
,           RR/ p \        VP                  P                  4       4      #   \         d     ^ # i ; i)r;  r   rO  r  r  r  z-oz	/dev/nullr  r  z%{http_code}r#   r$   Fr  )
rq  r   r   r   r  r&   r)   r.   r'  r  )r   r?   r  r#   rg   r   r<   s   &&$$   r   http_statusRuntimeContext.http_statusi  s    oo&=>>dDMM]a]l]lmp]q]qUYwz  ~B  xB  ECfe\3w<QUWbcKK~s++XXt?Wr\??	ryy()) 		s   +"C CCc               (    V ^8  d   QhRRRRRRRR/# r  r   )r   s   "r   r   r  u  s/     H Hc Hd HC HQT Hr   c               	6    V P                  WVR 7      ^,          # ))r  r#   )r  )r   r?   r  r#   s   &&$$r   	http_bodyRuntimeContext.http_bodyu  s    tGDQGGr   c                    V ^8  d   QhRRRR/# )r   r?   r   r   r   )r   s   "r   r   r  x  s     P P P Pr   c                	   VP                  R 4      '       g   VP                  R4      '       dx   \        P                  P                  V4      q P                  VP
                  ;'       g    R,           VP                  '       d   RVP                  ,           ,           # R,           # V P                  VP                  R4      '       d	   V,           # RV,           ,           # )r;  r  r   ?r   )rq  rp   parseurlsplitrd  r?   query)r   r?   parseds   && r   browser_urlRuntimeContext.browser_urlx  s    ??9%%)D)D<<((.F7H7HFKKL^L^[^7_y  zF  zF  zFdghnhthtdt  8O  1O  LN  8O  1O  DOOC,@,@DOOc$hOOr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r  }  s     G GT Gr   c                	    V P                   '       g   Q hV P                   P                  V P                  R 4      4       V P                   P                  RV P                  V P
                  .4       V P                   P                  R^R7       R# )z/wp-login.phpzdocument.getElementById('user_login').value=arguments[0]; document.getElementById('user_pass').value=arguments[1]; document.getElementById('wp-submit').click();zZlocation.pathname.indexOf('/wp-admin/')>=0 || document.body.classList.contains('wp-admin')rl   N)r   r   r  r   r   r   r   r   s   &r   login_adminRuntimeContext.login_admin}  s    ||||d..?@  @  CG  CR  CR  SW  Sf  Sf  Bg  	hy  DF  	Gr   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r    s     4H 4HT 4Hr   c                	   V P                   P                  R / 4      P                  R4      '       g   R# V P                  '       g   Q hV P                   P                  R/ 4      pVP                  R4      pV P                  4        V'       dB   V P                  P	                  V P                  RVP                  R4      ,           4      4       MV P                  P	                  V P                  R4      4       V P                  P                  R^R7       V P                  P                  R4      p\        VR	4       V P                  P                  R
^R7       VP                  R4      ;'       g    RpV P                  P                  RV.4      ;'       g    / p\        VP                  R4      RV RV 24       R\        P                  ! 4       P                  ,           pV P                  P                  RV.4      p\        VR4       V P                  P                  RV.4      p\        VRV 24       VP                  R4      '       d6   V P                  P                  R\        P                  ! V4       2^xR7       M5V P                  P                  R\        P                  ! V4       R2^xR7       V P                  P                  R
^xR7       VP                  R4      pVP                  R4      p	V'       d7   V P                  P                  R\        P                  ! V4       R2^xR7       MtV	'       d9   \        P                  ! V	4      p
V P                  P                  RV
 R2^xR7       M4VP                  R4      '       g   V P                  P                  R^xR7       R V n        V P!                  4        V P#                  4       V n        R# )!featuresdemo_importN
admin_path
/wp-admin/r   $document.querySelector('#adminmenu')rl   zconst links=[...document.querySelectorAll('#menu-appearance .wp-submenu a[href]')]; const a=links.find(x=>/import/i.test(x.textContent||'')); if(!a)return false; a.click(); return true;z-demo import Appearance submenu link not found document.readyState==='complete'button_selectorzBform input[type=submit], form button[type=submit], .button-primaryzconst e=document.querySelector(arguments[0]); if(!e)return {found:false}; const f=e.closest('form'); return {found:true,form:!!f,action:f?(f.getAttribute('action')||''):null};foundz demo import button not found at : z
tf-import-a  window.__themefactoryImportMarker=arguments[0]; window.__themefactoryImportMutated=false; if(window.__themefactoryImportObserver){window.__themefactoryImportObserver.disconnect();} window.__themefactoryImportObserver=new MutationObserver(()=>{window.__themefactoryImportMutated=true;}); window.__themefactoryImportObserver.observe(document.documentElement,{subtree:true,childList:true,attributes:true,characterData:true}); return true;z-could not arm demo-import transition observerzWvar e=document.querySelector(arguments[0]); if(!e)return false; e.click(); return true;z-demo import button disappeared before click: formz&window.__themefactoryImportMarker !== z/ || window.__themefactoryImportMutated === truecompletion_selectorcompletion_textzdocument.querySelector()z document.body.innerText.indexOf(z)>=0zC!document.querySelector('[aria-busy=true], progress:not([hidden])')T)r   r   r   r  r   r  lstripr   r   r!   rZ  r[  r\  rm   rn   r  rc  re  r   )r   rY   r?   clickedr  probemarkerarmed
completionr  needles   &          r   import_demo_browser"RuntimeContext.import_demo_browser  sa   }}  B/33MBB||||]]}R0XXl#LL!!$"2"2<C@P3P"QR LL!!$"2"2<"@ALL  !GQS TLL((  *j  kGGLMLL  !CR P!23{{7{ll""  $Z  \k  [l  m  s  s  qs		'"&FtfBN_$`a
 DJJL,,,ll""  $^  `f  _g  hFG$$%~  AP  @Q  RHHYZ[99VLL  #I$**U[J\I]!^hk l LL  #I$**U[J\I]  ^M  "N  X[   \?L8812
!23LL  #:4::j;Q:RRS!T]` a::o.FLL  #CF84!PY\ ]6"" LL  !fps t!!#1E1E1GT[r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r    s     - -> -r   c                	P    R p\         P                  ! V P                  V4      4      # )aD  $o=[]; foreach(get_post_types([], 'names') as $pt){ if(in_array($pt,['revision','customize_changeset'],true))continue; $c=wp_count_posts($pt); $sum=0; foreach((array)$c as $st=>$n){if(!in_array($st,['trash','auto-draft'],true))$sum+=(int)$n;} if($sum)$o['post_types'][$pt]=$sum;} $o['menus']=wp_get_nav_menus(); $o['menu_items']=0; foreach($o['menus'] as $m){$o['menu_items']+=count(wp_get_nav_menu_items($m->term_id));} $o['terms']=[]; foreach(get_taxonomies([], 'names') as $tx){$c=wp_count_terms(['taxonomy'=>$tx,'hide_empty'=>false]); if(!is_wp_error($c)&&$c)$o['terms'][$tx]=(int)$c;} $o['settings']=['show_on_front'=>get_option('show_on_front'),'page_on_front'=>(int)get_option('page_on_front'),'page_for_posts'=>(int)get_option('page_for_posts'),'permalink_structure'=>get_option('permalink_structure')]; echo wp_json_encode($o);)rm   rt   r.  )r   r+  s   & r   snapshot_wp_state RuntimeContext.snapshot_wp_state  s"     Xzz$,,s+,,r   c                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r    s     	B 	B 	Br   c                	   V P                   '       d   V P                   P                  4        V P                  V P                  V P                  V P
                  3 FN  pV'       g   K  \        P                  ! \        4      ;_uu_ 4        V P                  R RVR^R7       RRR4       KP  	  V P                  '       dM   \        P                  ! \        4      ;_uu_ 4        V P                  RR RV P                  R^R7       RRR4       V P                  '       dL   \        P                  ! \        4      ;_uu_ 4        V P                  RR V P                  R^R7       RRR4       V P                  '       d%   \        P                  ! V P                  RR7       R# R#   + '       g   i     EKW  ; i  + '       g   i     L; i  + '       g   i     Lp; i)	rm-fFr$   r#   Nr   r   T)ignore_errors)r   r   r  r   r   r   r   r   r   r&   r   r   r   r}  r  )r   names   & r   cleanupRuntimeContext.cleanup  s   <<<++-((););DLLVDt((33TXXd4SXacX5d33 W ;;;$$Y//(4T[[_dmo1p/<<<$$Y//)D\ajl1m/999fmmDIIDA9 433////s$   
F !"F5?!G F25G	G	)r   r   r   rd  r   r  r   r  r   r  r   r  r   r   r   r   r   r   r   )<   )4r   r   r   r   __annotations__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r	  r&   r  r&  r.  r4  rk  r`  rc  re  r  r  r  r  r  r  r  r  r   r   r   r   r   r      s   JFC Hk D+FCGSFCGSGSM3GSM3HcHc $G$J5NC5d3FI3,1$,GJ)GHd OU #%S%NC#t# ND ',T'BJ$BM3FS F Fa	!C 	!t 	!B# BT BU;-z,/	2d 2 $
t 
B 
HT H" HP
G4Hl-	B 	Br   r   c               $    V ^8  d   QhRRRRRR/# )r   r?   r   	call_namer   r   r'   r   )r   s   "r   r   r     s!     	# 	#$ 	#3 	#9 	#r   c                   Rp\        RRV\        V 4      V.^RR7      p\        VP                  ^ 8H  RV  RVP                  RR  24        \
        P                  ! VP                  ;'       g    R	4      pT Uu. uF  p\        T4      NK  	  up#   \
        P                   d(   p\        R
T  RT RTP                  RR  24      ThRp?ii ; iu upi )zEReturn named PHP function owners for calls using PHP's own tokenizer.a  $src=file_get_contents($argv[1]);$call=$argv[2];$ts=token_get_all($src);$brace=0;$pending=null;$expect=false;$stack=[];$owners=[];for($i=0,$n=count($ts);$i<$n;$i++){ $t=$ts[$i]; if(is_array($t)){ if($t[0]===T_FUNCTION){$expect=true;$pending=null;continue;} if($expect && $t[0]===T_STRING){$pending=$t[1];$expect=false;continue;} if($t[0]===T_STRING && $t[1]===$call){$owners[]=count($stack)?$stack[count($stack)-1]['name']:'<top-level>';}} else { if($expect && $t==='('){$expect=false;$pending=null;} if($t==='{'){ $brace++; if($pending!==null){$stack[]=['name'=>$pending,'depth'=>$brace];$pending=null;} } elseif($t==='}'){ if(count($stack) && $stack[count($stack)-1]['depth']===$brace){array_pop($stack);} $brace--; } } } echo json_encode($owners);r+  z-rFr  zPHP token scan failed for r  Nz[]z)PHP token scan returned invalid JSON for i0i)	r=   r   r!   r:   r.   rm   rt   JSONDecodeErrorr   )r?   r  r  r<   r   r3  r   s   &&     r   php_call_ownersr    s     AD	UD$D	95r	OBBMMQ"<TF"RYYuvEVDW XYs

299,,- ""EqCFE""  sEdV2cURTUWU^U^_d_eUfTghiorrs"s   *B :CC&"CCc                    V ^8  d   QhRRRR/# )r   rj   r   r   ztuple[int, int, bytes]r   )r   s   "r   r   r     s      U 3 r   c           	        \        V R ,          R8H  R4       ^p^ ;r#^ p^ p^ pRpV^,           \        V 4      8:  d   \        P                  ! RWV^,            4      ^ ,          qV^,           V^,            qV^,           V^,           V,            q^V,           ,          pV	R8X  d   \        P                  ! RV
4      w  r#rT rK  V	R8X  d   Wz,          pK  V	R8X  g   K   \        V^8H  ;'       d    V^ 8H  ;'       d    VR9   R	V R
V RV 24       V^8X  d   ^M^p\        P
                  ! V4      qV,          p\        W>,          4      p^ p\        V4       EF  pVV,          pV^,          p\        VVVV,            4      pVV,          pV'       d   VV^,
          V,          VV,           M
\        V4      p\        V4       EFb  pVV8  d   VVV,
          ,          M^ pV'       d
   VV,          M^ pV'       d   VV8  d   VVV,
          ,          M^ pV^8X  d   VV,          V,           ^,          VV&   Kt  V^8X  d   VV,          V,           ^,          VV&   K  V^8X  d+   VV,          VV,           ^,          ,           ^,          VV&   K  V^8X  d   VV,           V,
          p\        VV,
          4      p\        VV,
          4      p\        VV,
          4      pVV8:  d
   VV8:  d   TM
VV8:  d   TMTpVV,          V,           ^,          VV&   EKM  V^ 8w  g   EKW  \        RV 24      h	  VVVV,          V^,           V,          % EK  	  V^8X  d   W#\        V4      3# \        W#,          ^,          4      p\        W#,          4       F5  pVV^,          V^,          ^,            VV^,          V^,          ^,           % K7  	  W#\        V4      3# )N   Ns   PNG

znot PNGr   z>Is   IHDRz>IIBBBBBs   IDATs   IENDzunsupported PNG format depth=z color=z interlace=zunsupported PNG filter >   r      )r!   lenstructunpackzlib
decompress	bytearrayranger   absr   ) rj   poswrM   colordepth	interlacerw   ntypr  _bppscanstrider  srcr   ftrowprevr   abcppapbpcprrgbis    &                               r   
decode_pngr    sa   DH**I6	Cq51%5aIS
b&#d)

--Tc!e_
-a
03q5Q6G#SVWXSXY\]^Y^_`Y`Nahjklhlclcf<v}}ZPT7U6U1Y'\393'\5E1H88A88%5.<YZ_Y``ghmgnny  {D  zE  ;F  GAX1C4??3#7d#9UVU]K^sde`c1X9c1fc)DSZ,@"Ac3;3+,S!A#vah'%-vAsFc!C%jAT!Wq1STYZ\_Y_D3Kef!1uc!fQh^c!fQAq#~AQA1q 136AQA#a%C!HQqSbc!A#h2BSUWYSY1egikek`aqrAr	3AQk,CB4*HII  $'AfHac6\"  axE#J&!#a%C13ZAaC!AQqS1QZuSz>r   c               $    V ^8  d   QhRRRRRR/# )r   r  r   r  r   r   r   )r   s   "r   r   r     s!     ? ?% ?5 ?U ?r   c                    \        V 4      w  r#p\        V4      w  rVp\        W#3WV38H  R W#3 RWV3 24       \        R \        WG4       4       4      \	        V4      R,          ,          # )zscreenshot dimensions differ  vs c              3  H   "   T F  w  r\        W,
          4      x  K  	  R # 5ir    )r  )rs  r   r   s   &  r   rt  image_diff.<locals>.<genexpr>  s     .:CAs13xx:s    "g     o@)r  r!   sumzipr  )r  r  wahar  wbhbr  s   &&      r   
image_diffr#    sb    ]HB"Z]HB"RGbW<bWIT2'ST.3r:..B>>r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   ctxr   router   r   r)   r   r   r   r   )r   s   "r   r   r     s0      ~ c # c \j r   c                    V P                   qD'       g   Q hVP                  W#4       VP                  V P                  V4      4       VP	                  R ^R7       RpVP                  V4      # )r  rl   aq  return (()=>{ const de=document.documentElement,b=document.body; const imgs=[...document.images].filter(i=>{const r=i.getBoundingClientRect(); return r.width>0&&r.height>0}); return {title:document.title,h1:document.querySelectorAll('h1').length,scrollWidth:Math.max(de.scrollWidth,b?b.scrollWidth:0),clientWidth:de.clientWidth,brokenImages:imgs.filter(i=>!i.complete||i.naturalWidth===0).map(i=>i.currentSrc||i.src),bodyText:(b?b.innerText:'').slice(0,20000),headers:document.querySelectorAll('header').length,footers:document.querySelectorAll('footer').length,ids:[...document.querySelectorAll('[id]')].map(e=>e.id)}; })();)r   r   r   r  r   r   )r%  r&  r   r   r  r   s   &&&&  r   page_snapshotr(    sY    	kkA!8!LL

3??5+A BAIINpy{ID| D
F99Vr   c               $    V ^8  d   QhRRRRRR/# )r   entriesr   origin_netlocr   r   z tuple[list[dict[str, Any]], int]r   )r   s   "r   r   r     s#     !  ! *> ! s ! Ww ! r   c           	        / p. p^ pV  EF4  p \         P                  ! \        VP                  RR4      4      4      pVP                  RV4      pVP                  R4      pVP                  R/ 4      p	TR8X  dc   T	P                  R/ 4      p
\        T
P                  RR4      4      p\        T	P                  R	R4      4      pT'       d   T'       d   YT&   K  K  K  TR
8X  d   T	P                  R/ 4      p\        TP                  RR4      4      p\
        P                  P                  T4      P                  T8w  d   EK7  T^,          p\        \        TP                  R^ 4      ;'       g    ^ 4      4      pTR8  d   TP                  RTRTRR/4       EK  EK  TR8X  g   EK  \        T	P                  R	R4      4      pTP                  TR4      pT'       g   EK  \
        P                  P                  T4      P                  T8X  g   EK  T^,          pTP                  RTRT	P                  R4      RR/4       EK7  	  W43#   \         d     EKK  i ; i)r_   r   r  rf   paramszNetwork.requestWillBeSentrq   rg   r   	requestIdzNetwork.responseReceivedresponser2    r   zNetwork.loadingFailederror	errorTextloadingFailed)rm   rt   r   r   r   rp   r  urlparsenetlocr)   r   r  )r*  r+  requestsfailures
local_seenentryoutermsgrf   r-  rq   rg   ridr/  r2  s   &&             r   performance_network_failuresr=    s   !H%'HJ	JJs599Y#=>?E))Iu-CWWX&FWWXr*F 00jjB/Ggkk%,-Cfjjb12Cs # s11zz*b1Hhll5"-.C||$$S)00MA!OJx||Ha8==A>?F}Xvvz RS ..fjjb12C,,sB'Csv||,,S188MIa
Wfjj6MvWf gh9 : /  		s   A$IIIc                    V ^8  d   QhRRRR/# )r   r%  r   r   r'   r   )r   s   "r   r   r   &  s      n  r   c                  a V P                   q'       g   Q h. pVP                  R 4       F  p\        VP                  RR4      4      R	9   g   K%  \        VP                  RR4      4      o\        ;QJ d:    V3R l\
        R,          P                  R. 4       4       F  '       g   K   RM/	  RM+! V3R l\
        R,          P                  R. 4       4       4      '       d   K  VP                  S4       K  	  V# )
r   levelr   r   c              3  ,   <"   T F	  qS9   x  K  	  R # 5ir    r   )rs  hostr;  s   & r   rt  'local_console_errors.<locals>.<genexpr>,  s     ]+\43;+\   r
   third_party_blocklistTF>   ERRORSEVERE)r   r   r   r   r{  r  r  )r%  r  rT  r9  r;  s   &   @r   local_console_errorsrH  &  s    	kkA!8!F	"uyy$%);;EIIi+,Cs]6)+<+@+@AXY[+\]sss]6)+<+@+@AXY[+\]]]_gMM#	 #
 Mr   c               $    V ^8  d   QhRRRRRR/# )r   r%  r   widthszlist[int] | Noner   z%list[tuple[str, int, dict[str, Any]]]r   )r   s   "r   r   r   1  s#      n .> Jl r   c                    T;'       g    R R.p. pV P                    F1  pV F(  qBP                  Y4\        YYDR8  d   RMR4      34       K*  	  K3  	  V# )  r   r  L  r   )r   r  r(  )r%  rJ  r  r&  r   s   &&   r   route_matrixrN  1  sS    c$ZF
CEZZ]3U`cZcSVil5m(noV Jr   c                    V ^8  d   QhRRRR/# r   r%  r   r   r   r   )r   s   "r   r   r   9  s     ) )N )t )r   c                    V P                   q'       g   Q hVP                  R 4      '       d   R# \        P                  4       pVP                  VR,           4       R# )zreturn !!window.axe;Nz; return true;)r   r   AXE_JS	read_text)r%  r  r  s   &  r   
inject_axerT  9  sC    	kkA!8!yy'((&FIIf''(r   c                    V ^8  d   QhRRRR/# )r   r%  r   r   r   r   )r   s   "r   r   r   @  s     S S S+> Sr   c                d    V P                   q'       g   Q h\        V 4       VP                  R 4      # )zvar done=arguments[arguments.length-1]; axe.run(document,{runOnly:{type:'tag',values:['wcag2a','wcag2aa','wcag21a','wcag21aa','wcag22aa']}}).then(r=>done(r.violations)).catch(e=>done([{id:'axe-error',impact:'critical',description:String(e)}]));)r   rT  r   )r%  r  s   & r   axe_violationsrW  @  s0    	kkA!8!Z_??  R  S  Sr   c                    V ^8  d   QhRRRR/# )r   r%  r   r   r)   r   )r   s   "r   r   r   E  s      ~ # r   c           	         V P                  R RRRRRR4      pVP                  4        Uu. uF3  q"P                  4       P                  4       '       g   K(  \	        V4      NK5  	  pp\        VR4       V^ ,          # u upi )postr   --post_type=page--post_status=publish
--field=IDz--orderby=IDz--order=ASCzno published page found)r&  
splitlinesr'  isdigitr)   r!   )r%  rw   r   idss   &   r   first_page_idra  E  sl    vf/0GUcdqrC)A)AWWY->->-@Q)CAC)*q6M 	Bs   %A:A:c               $    V ^8  d   QhRRRRRR/# )r   r%  r   post_idr)   r   r   r   )r   s   "r   r   r   L  s&     n n^ nc nd nr   c                    V P                   q"'       g   Q hV P                  4        VP                  V P                  R V R24      4       VP	                  R^R7       VP	                  R^R7       R# )/wp-admin/post.php?post=z&action=editzDwindow.wp && wp.data && document.body.classList.contains('wp-admin')rl   zQwp.data.select('core/editor') && wp.data.select('core/editor').getCurrentPostId()N)r   r  r   r  r   )r%  rc  r  s   && r   open_editorrf  L  s_    	kkA!8!S__.

3??MefmennzK{;|0}IIT]_I`IIajlImr   c                    V ^8  d   QhRRRR/# rP  r   )r   s   "r   r   r   S  s     " "^ " "r   c                    V P                   P                  R / 4      P                  R4      '       d'   V P                  '       g   V P                  4        R# R# R# )r  r  N)r   r   r  r  r%  s   &r   ensure_demo_contentrj  S  sB    
||
2&**=99#,,,! CO9r   c                    V ^8  d   QhRRRR/# r   r%  r   r   r   r   )r   s   "r   r   r   Y  s     R R RM Rr   c                R   V P                  R RRR4      p\        V P                  P                  4       P	                  RR4      VP                  4       P	                  RR4      9   ;'       g    VP                  4       R4       RVP                  4       R\        V P                  4      /# )	r   r   z--status=activez--field=namer  r8  z'no active theme after exact ZIP installactive_themeartifact_sha256)r&  r!   r   r_  rR  r'  rH   r   )r%  actives   & r   t_fresh_installrq  Y  s    66'&!2>BFCIIOO%%c#.&,,.2H2HS2QQccU[UaUaUc  eN  O6<<>*;F3<<<PQQr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   _  s     "B "B> "Bm "Br   c                  a \        V P                  R RR4      P                  4       R8H  R4       V P                  P	                  R/ 4      P	                  R4      '       d#   V P
                  '       g   V P                  4        . p. pV P                  R,           FA  pV P                  V4      pVP                  W434       VR8  g   K/  VP                  W434       KC  	  \        V'       * R	V 24       V P                  R RR
RR7      p. pV P                  P                  4        F  w  rxVP	                  R4      '       d   VR9   d   K%  VP	                  R4      p	\        V	\        4      '       d   V	P	                  R4      MRp
V
'       g   Ki  VP                  V
4       \        W9   RV RV
 24       K  	  . p. p\        R,          V P                  ,          P!                  R4       F  pVP#                  RR7      pRV9  d   K  \%        VR4       F  pVP'                  4       oVP                  VP)                  \        4       RV 24       \*        ;QJ d    V3R lR  4       F  '       g   K   RM	  RM! V3R lR  4       4      '       d   K~  VP                  VP)                  \        4       RV 24       K  	  K  	  \        V'       * RV 24       RVRVRVRR/# )!rG  r   permalink_structurerF  z5pretty permalink was not configured before activationr  r  r  r0  z3pretty permalink routes fail without manual flush: rV  FrW  publicrD  slugNz,rewrite_rules missing custom post type base :rw  *.phprR  rS  flush_rewrite_rulesc              3  ,   <"   T F	  qS9   x  K  	  R # 5ir    r   )rs  kowners   & r   rt  $t_permalink_flush.<locals>.<genexpr>~  s     d+caEz+crD  TzAflush_rewrite_rules appears in normal/non-lifecycle function(s): r   custom_rewrite_basesflush_call_ownersmanual_flush_after_activation>   pagerZ  
attachment)activswitchimportmigratrD  rC  )r!   r&  r'  r   r   r  r  r   r  r  r  itemsr  r  r7   r   rglobrS  r  r_  relative_tor{  )r%  r7  checkedr&  r  rulescustomr  objrwrv  hitsowners_seenr  r-   	owner_rawr|  s   &               @r   t_permalink_flushr  _  s|   CFF8E"78>>@.P  RI  J
||
2&**=99#,,,!HCu%|$9hooul3 ! LNxjYZ
&&%e&
<EFNN((*wwx  D,H$H(779)"T22RVVF^4MM$DM$PQUPVVWX\W]"^_ + 
DK8mCII%,,W5[[	[* ,(,ABI//#E!--"5!6a	{CD3d+cd333d+cdddq}}T231YK@A	 C	 6 HXY]X^_`W3F;N{[z  |A  B  Br   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     & &. &] &r   c                    \        V 4       . pV P                   F/  pV P                  V4      pVR 8  g   K  VP                  W#.4       K1  	  \	        V'       * RV 24       R\        V P                  4      /# )r0  zroute failures: r   )rj  r   r  r  r!   r  )r%  r7  r&  r  s   &   r   t_routesr    sh    Hu%9hooul3  L+H:67S_%%r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s      ~ - r   c                   \        V 4       V P                  q'       g   Q h. pV P                  R ,           F|  pVP                  V P	                  V4      4       VP                  R4       TP                  \        V 4       Uu. uF#  pRV9   g   RV9   g   RV9   g
   RV9   g   K!  VNK%  	  up4       K~  	  \        V'       * RVR ,           24       R^ /# u upi )Nr   Nr  UncaughtSyntaxErrorReferenceError	TypeErrorzpage exceptions: page_errors	rj  r   r   r   r  r   extendrH  r!   )r%  r  rT  r&  es   &    r   t_page_errorsr    s    	kkA!8!BVC	

3??5)*AII6X,Y"6s";  S";QzQR_cdRdhx|}h}  BM  QR  BRqq";  S  	T ! J*6#;-89! Ss   C
%C
c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s        >  m  r   c                N   \        V 4       V P                  q'       g   Q h. pV P                  R ,           FN  pVP                  V P	                  V4      4       VP                  R4       VP                  \        V 4      4       KP  	  \        V'       * RVR ,           24       R^ /# )r  r  zconsole errors: console_errorsr  )r%  r  rT  r&  s   &   r   	t_consoler    s    	kkA!8!BVC	

3??5)*AII6X,Y[a[h[hi}  B  jC  \D !J)&+78Qr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     L L> Lm Lr   c           	     t   \        V 4       V P                  q'       g   Q h. p^ p\        P                  P	                  V P                  R4      4      P                  pV P                  R,           F  pVP                  R4       VP                  V P                  V4      4       VP                  R4       \        VP                  R4      V4      w  rgW7,          pTP                  V Uu. uF  p/ VCRV/CNK  	  up4       K  	  \        V^ 8  R4       \        V'       * RVR,           24       R^ R	V/# u upi )
r_   r   r  r   r  r&  z?Chrome performance log produced no same-origin network evidencezfailed local resources: failed_local_resourcesobserved_local_responses)rj  r   rp   r  r4  r  r5  r   r   r   r   r=  r  r!   )	r%  r  r7  observedoriginr&  badseenitems	   &        r   	t_networkr    s   	kkA!8!bX1(<<  !56==FC	}	

3??5)*AII6X,Y01FO	C@CD/D//C@A ! HQJXYL3HSM?CD$Q'A(KK As   )D5
c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     f f. f] fr   c           	        \        V 4       V P                  q'       g   Q h. p^ p\        4       pV P                  R,           F  pR F  pTP	                  YfR8  d   RMR4       VP                  V P                  V4      4       VP                  R^R7       VP                  R4      pT;'       g	    R^ R	. R
. /pV\        VP                  R^ 4      4      ,          pVP                  R VP                  R	. 4       4       4       VP                  R
. 4       F  qP                  WVV.4       K  	  K  	  K  	  \        V'       * RVR,           24       \        P                  P!                  V P                  R4      4      P"                  p	. p
^ p\%        V4       F  p\        P                  P!                  V4      pVP&                  R9  g   VP"                  V	8w  d   KF  V^,          pVP(                  ;'       g    RVP*                  '       d   RVP*                  ,           MR,           pV P-                  V^
R7      pV^8  g
   VR8  g   K  V
P                  W.4       K  	  \        V
'       * RV
R,           24       R^ RVRV/# )r_   r  r  rM  r   r  rl   a  const done=arguments[arguments.length-1]; const rendered=e=>{const s=getComputedStyle(e);if(s.display==='none'||s.visibility==='hidden'||parseFloat(s.opacity||'1')===0)return false;let r=e.getBoundingClientRect(),l=r.left,t=r.top,rr=r.right,bb=r.bottom;if(r.width<=0||r.height<=0)return false;for(let p=e.parentElement;p&&p!==document.body;p=p.parentElement){const ps=getComputedStyle(p),pr=p.getBoundingClientRect();if(ps.display==='none'||ps.visibility==='hidden')return false;if(/hidden|clip|auto|scroll/.test(ps.overflowX)){l=Math.max(l,pr.left);rr=Math.min(rr,pr.right)}if(/hidden|clip|auto|scroll/.test(ps.overflowY)){t=Math.max(t,pr.top);bb=Math.min(bb,pr.bottom)}if(rr<=l||bb<=t)return false}return true}; const imgs=[...document.images].filter(rendered); const pending=imgs.filter(i=>!i.complete||i.naturalWidth===0); for(const i of pending){try{i.scrollIntoView({block:'center',inline:'nearest'});}catch(e){}} const settle=img=>new Promise(resolve=>{if(img.complete)return resolve();let fired=false;const end=()=>{if(fired)return;fired=true;resolve()};img.addEventListener('load',end,{once:true});img.addEventListener('error',end,{once:true});setTimeout(end,4000)}); const bgs=[]; for(const e of document.querySelectorAll('body *')){if(!rendered(e))continue;const value=getComputedStyle(e).backgroundImage||'';for(const m of value.matchAll(/url\(["']?([^"')]+)["']?\)/g)){bgs.push(m[1])}} Promise.all(pending.map(settle)).then(()=>done({checked:imgs.length,backgrounds:[...new Set(bgs)],broken:imgs.filter(i=>rendered(i)&&(!i.complete||i.naturalWidth===0)).map(i=>({src:i.currentSrc||i.src,loading:i.loading||'',complete:i.complete,naturalWidth:i.naturalWidth}))}));r  backgroundsbrokenc              3  J   "   T F  q'       g   K  \        V4      x  K  	  R # 5ir    )r   rr  s   & r   rt  t_images.<locals>.<genexpr>  s     Q/K!qvs1vv/Ks   	##z.broken visible images after lazy-load settle: r   r  r   r0  z"broken local CSS background URLs: broken_imageschecked_imageschecked_background_urlsrL  r   )httphttps)rj  r   setr   r   r   r  r   r   r)   r   rK   r  r!   rp   r  r  r5  r  schemer?   r  r  )r%  r  r  r  r  r&  r   rW   r  r  bad_backgroundschecked_backgroundsrg   r  r?   r2  s   &               r   t_imagesr    s%   	kkA!8!BVsu;CELLCisS9JJsu-.		:\eg	0h??  $w  xFGGi-8BGFs6::i233GQvzz-/KQQ

8B/D?Q1R/   ! JGs}UV<<  !56==FOk"||$$S)== 00FMM64Iq kk  S6<<<c&,,&6RPtB/#:""C<0 # "D_UXEYDZ [\A.w7PQdeer   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     ) )n ) )r   c                   \        V 4       . pV P                  P                  R / 4      P                  R/ 4      p\        V RR.4       FL  w  r4p\	        VP                  V^4      4      pVR,          V8w  g   K1  VP                  W4VR,          V.4       KN  	  \        V'       * RV 24       R\        V P                  4      ^,          /# )seoh1_exceptionsrL  r   h1zH1 invariant failures: r  )	rj  r   r   rN  r)   r  r!   r  r   )r%  r  
exceptionsr&  r   snapexpecteds   &      r   t_h1r    s    
C||b)--obAJ(c$Z8DZ^^E!,-:xUdH,M!N 9 G-cU34c#**oa'((r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     m m mM mr   c           	        \        V 4       V P                  q'       g   Q h. pV P                  P                  R / 4      p\	        VP                  R4      ;'       g    R4      p\	        VP                  R4      ;'       g    R4      pV P
                   F  pR F  pTP                  YwR8  d   RMR4       VP                  V P                  V4      4       VP                  R4       VP                  R	WE.4      ;'       g    ^ ^ .pV^ ,          ^8w  g   V^,          ^8w  g   K  VP                  WgV^ ,          V^,          .4       K  	  K  	  \        V'       * R
V: RV: RV 24       R\        V P
                  4      ^,          RVRV/# )shellheader_selectorheaderfooter_selectorzbody > footerr  rM  r   r  zgreturn [document.querySelectorAll(arguments[0]).length,document.querySelectorAll(arguments[1]).length];z'global shell count failures selectors=(r   r1   r  r  )rj  r   r   r   r   r   r   r   r  r   r   r  r!   r  )	r%  r  r  r  r  r  r&  r   countss	   &        r   t_shellr    s   	kkA!8!S
,,

72
&E		"34@@AO		"34GGHOELLCisS91::cooV[F\;]_`_h_h  jL  `M99  G  IX  Hi  j  s  s  op  qr  nsFay!|vay!|SZZVAYvVWy8Y-Z   
 G=o=PPQRaQddghkglmnc#**oa'(9/J[\kllr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s      n  r   c                |   \        V 4       V P                  q'       g   Q hVP                  V P                  R 4      4       VP	                  R4      ;'       g    . p\        VR4       V Uu. uF  q3P                  R4      '       d   K  VNK  	  pp\        V'       * RVR,           24       R\        V4      /# u upi )r   a9  return [...document.querySelectorAll('nav a[href], header a[href]')].map(a=>({href:a.href,text:a.textContent.trim(),name:(a.getAttribute('aria-label')||a.getAttribute('title')||a.querySelector('img[alt]')?.getAttribute('alt')||a.textContent||'').trim(),current:a.getAttribute('aria-current')})).filter(x=>x.href);z no navigation/header links foundr  zunnamed navigation links: r9  links)rj  r   r   r  r   r!   r   r  )r%  r  rj   r   emptys   &    r   t_navigationr    s    	kkA!8!QZZ(<=	
  T  
U  
[  
[  Y[DD34
0d%%-11dE
0I25:,?@CI 1s   ,B9	B9c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     	 	n 	 	r   c                V   \        V 4       . p\        P                  ! R \        P                  4      pV P                  R,           FI  pV P                  V4      w  rEV^ 8X  d   K  VP                  V4      '       g   K8  VP                  V4       KK  	  \        V'       * RV 24       R^ /# )z2(?:PHP )?(Warning|Notice|Fatal error|Parse error)::N   Nz#PHP/debug output leaked on routes: leaks)	rj  r]  compileIr   r  searchr  r!   )r%  r  sigr&  r  r  s   &     r   t_php_outputr    s    
C


HNCC^^E*
19h::dSZZ. ! G9#?@A;r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     	" 	"~ 	"- 	"r   c                   \        V 4       V P                  q'       g   Q h. pV P                  R ,           F  pVP                  V P	                  V4      4       VP                  R4       \        V 4      pV Uu. uF  qUP                  R4      R9   g   K  VNK  	  ppV'       g   Kq  TP                  RTRV Uu. uF  qUP                  R4      NK  	  up/4       K  	  \        V'       * RVR ,           24       R^ /# u upi u upi )	r  r  impactr&  
violationsidzaxe WCAG AA violations: serious_critical>   seriouscritical)
rj  r   r   r   r  r   rW  r   r  r!   )r%  r  r  r&  r  vseveres   &      r   t_axer    s    	kkA!8!SC	

3??5)*AII6X,Y!#&
%S:ax<R)R:S63::wu\PV:WPV155;PV:WXY	 !
 G.s3xj9:q!! T:Ws   9C=C=9Dc                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   
  s      ^  r   c                    \        V 4       V P                  q'       g   Q hVP                  V P                  R 4      4       VP	                  R4      p\        T;'       d    VP                  R4      RV 24       V# )r   aU  const a=document.querySelector('a[href^="#"]'); if(!a)return {ok:false,why:'missing'}; a.focus(); const id=(a.getAttribute('href')||'').slice(1); const target=document.getElementById(id); if(!target)return {ok:false,why:'target'}; a.click(); return {ok:document.activeElement===target || location.hash==='#'+id, href:a.getAttribute('href')};okzskip link failure: rj  r   r   r  r   r!   r   r%  r  rW   s   &  r   t_skip_linkr  
  sj    	kkA!8!QZZ(<=99  r  sFF''vzz$'*=fX(FGMr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s       = r   c                    \        V 4       V P                  q'       g   Q hVP                  V P                  R 4      4       VP	                  R4      p\        T;'       d    VP                  R4      RV 24       V# )r   a  const done=arguments[arguments.length-1]; const a=document.querySelector('nav .menu-item-has-children > a, nav [aria-haspopup=true], header .dropdown-toggle'); if(!a){done({ok:true,na:true});return;} a.focus(); a.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',code:'Enter',bubbles:true})); setTimeout(()=>{const expanded=a.getAttribute('aria-expanded'); const menu=a.parentElement.querySelector('ul,.dropdown-menu'); const shown=menu ? (getComputedStyle(menu).display!=='none' && menu.getBoundingClientRect().height>0) : expanded==='true'; a.dispatchEvent(new KeyboardEvent('keydown',{key:'Escape',code:'Escape',bubbles:true})); setTimeout(()=>done({ok:shown,expanded,focus:document.activeElement===a}),100);},250);r  zdesktop keyboard nav failed: )rj  r   r   r  r   r!   r   r  s   &  r   t_keyboard_navr    sj    	kkA!8!QZZ(<=??  v  wFF''vzz$'*Gx(PQMr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s      n  r   c                   \        V 4       V P                  q'       g   Q hVP                  R R4       VP                  V P	                  R4      4       VP                  R4      p\        T;'       d    VP                  R4      RV 24       V# )rL  rM  r   a  const done=arguments[arguments.length-1]; const a=document.querySelector('.navbar-toggler,.menu-toggle,[aria-controls][aria-expanded]'); if(!a){done({ok:true,na:true});return;} a.focus(); a.dispatchEvent(new KeyboardEvent('keydown',{key:'Enter',code:'Enter',bubbles:true})); a.click(); setTimeout(()=>{const ex=a.getAttribute('aria-expanded'); done({ok:ex==='true'||ex===true,expanded:ex});},500);r  zmobile keyboard nav failed: )rj  r   r   r   r  r   r!   r   r  s   &  r   t_mobile_navr    sw    	kkA!8!Q\\#c2AJJss?S4T??  p  qFF''vzz$'*Fvh(OPMr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   "  s      ~ - r   c                f   \        V 4       V P                  q'       g   Q h. pV P                  R ,           Fa  pVP                  V P	                  V4      4       VP                  R4      ;'       g    . pV'       g   KH  VP                  W4R,          .4       Kc  	  \        V'       * RV 24       R^ /# )r  aq  return [...document.querySelectorAll('input:not([type=hidden]),select,textarea,button')].filter(e=>{if(e.disabled)return false; const id=e.id; return !(e.getAttribute('aria-label')||e.getAttribute('aria-labelledby')||(id&&document.querySelector('label[for="'+CSS.escape(id)+'"]'))||e.closest('label')||e.textContent.trim()||e.value);}).map(e=>e.outerHTML.slice(0,200));r9  zunlabelled form controls: 
unlabelledrj  r   r   r   r  r   r  r!   )r%  r  r  r&  	unlabeleds   &    r   t_form_labelsr  "  s    	kkA!8!SC	

3??5)*))  U  V  \  \  Z\	9cjj%#!78 ! G067r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   -  s     
& 
&~ 
&- 
&r   c                   \        V 4       V P                  q'       g   Q hVP                  R R4       . pV P                  R,           F  pVP	                  V P                  V4      4       VP                  R4      ;'       g    . pV Uu. uF"  qUR,          ^8  g   VR,          ^8  g   K   VNK$  	  ppV'       g   Kv  VP                  W6.4       K  	  \        V'       * RV 24       R^ /# u upi )rL  rM  :N   Na*  return [...document.querySelectorAll('a,button,input[type=button],input[type=submit],[role=button]')].filter(e=>{if(e.matches('.screen-reader-text,.sr-only,.visually-hidden')||e.closest('[hidden],[inert],[aria-hidden=true]'))return false;const s=getComputedStyle(e),r=e.getBoundingClientRect();return r.width>0&&r.height>0&&s.visibility!=='hidden'&&s.display!=='none';}).map(e=>{const r=e.getBoundingClientRect();return {w:r.width,h:r.height,t:(e.textContent||e.getAttribute('aria-label')||'').trim().slice(0,40)}}).filter(x=>x.w<24||x.h<24).slice(0,30);r  rM   znear-zero interactive targets: severe_small_targets)	rj  r   r   r   r   r  r   r  r!   )r%  r  r  r&  valsr   r  s   &      r   t_target_sizer  -  s    	kkA!8!Q\\#c2CC	

3??5)*YY  I	  J	  P	  P	  N	P	:4aS6"9#r	4:63::un- ! G5cU;<"1%% ;s   
C,,C,c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   :         M r   c                   \        V 4       V P                  q'       g   Q hVP                  V P                  R 4      4       VP	                  R4      p\        T;'       d    VP                  R4      '       * RV 24       V# )r   a  const candidates=[...document.querySelectorAll('a[href],button,input:not([type=hidden]),select,textarea,[tabindex]:not([tabindex="-1"])')].filter(e=>!e.disabled&&!e.closest('[hidden],[inert],[aria-hidden=true]')).slice(0,30); const bad=[]; let checked=0; for(const e of candidates){e.focus(); if(document.activeElement!==e)continue; checked++; const r=e.getBoundingClientRect(),s=getComputedStyle(e); if(r.width<=0||r.height<=0||r.bottom<0||r.top>innerHeight||r.right<0||r.left>innerWidth)bad.push({kind:'offscreen',el:e.outerHTML.slice(0,120)}); if(s.outlineStyle==='none'&&s.boxShadow==='none'&&s.borderStyle==='none')bad.push({kind:'indicator',el:e.outerHTML.slice(0,120)});} return {count:checked,bad};r  zfocus visibility failures: r  r  s   &  r   t_focus_visibler  :  sm    	kkA!8!QZZ(<=99  _  `FF,,6::e,,/J6(-STMr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   B  r  r   c                    \        V 4       V P                  q'       g   Q hVP                  V P                  R 4      4       VP	                  R4      p\        T;'       d    VR,          VR,          8H  RV 24       V# )r   zconst es=[...document.querySelectorAll('a[href],button,input,select,textarea,[tabindex]:not([tabindex="-1"])')].filter(e=>{const r=e.getBoundingClientRect();return r.width>0&&r.height>0}); return {focusables:es.length,unique:new Set(es).size};
focusablesuniquez%duplicate focus target list anomaly: )rj  r   r   r  r   r!   r  s   &  r   t_keyboard_trapr  B  sr    	kkA!8!QZZ(<=99  P  QFF==vl+VH-==@eflem>noMr   z	TF-UI-001zreturn document.documentElement.scrollWidth>document.documentElement.clientWidth+1?[{scrollWidth:document.documentElement.scrollWidth,clientWidth:document.documentElement.clientWidth}]:[];z	TF-UI-002a  const bad=[];const prev=document.activeElement;for(const e of document.querySelectorAll('button,a[href],input:not([type=hidden]),select,textarea')){if(e.tabIndex<0||e.disabled||e.closest('[hidden],[inert],[aria-hidden=true]'))continue;let hidden=false;for(let p=e;p&&p!==document.body;p=p.parentElement){const s=getComputedStyle(p);if(s.display==='none'||s.visibility==='hidden'){hidden=true;break}}if(hidden)continue;const s=getComputedStyle(e),r=e.getBoundingClientRect();if(r.width<=0||r.height<=0||s.visibility==='hidden'||s.display==='none'||!(r.right<-2||r.left>innerWidth+2))continue;try{e.focus({preventScroll:true})}catch(_){}if(document.activeElement===e)bad.push(e.outerHTML.slice(0,120));if(bad.length>=20)break}try{if(prev&&prev!==document.body&&prev.focus){prev.focus({preventScroll:true})}else if(document.activeElement&&document.activeElement.blur){document.activeElement.blur()}}catch(_){}return bad;z	TF-UI-003aY  const es=[...document.querySelectorAll('button,input,select,textarea,a.button,[role=button]')].filter(e=>{const r=e.getBoundingClientRect();return r.width>4&&r.height>4}); const bad=[]; for(let i=0;i<es.length;i++){const a=es[i].getBoundingClientRect();for(let j=i+1;j<es.length;j++){const b=es[j].getBoundingClientRect();const x=Math.max(0,Math.min(a.right,b.right)-Math.max(a.left,b.left)),y=Math.max(0,Math.min(a.bottom,b.bottom)-Math.max(a.top,b.top));if(x*y>Math.min(a.width*a.height,b.width*b.height)*.35&&!es[i].contains(es[j])&&!es[j].contains(es[i]))bad.push([i,j]);}} return bad.slice(0,20);z	TF-UI-004a  const texts=[...document.querySelectorAll('p,h1,h2,h3,h4,h5,h6')].filter(e=>{const r=e.getBoundingClientRect(),s=getComputedStyle(e);return r.width>8&&r.height>8&&s.display!=='none'&&s.visibility!=='hidden'&&(e.textContent||'').trim()}); const media=[...document.querySelectorAll('img,figure,video,iframe')].filter(e=>{const r=e.getBoundingClientRect(),s=getComputedStyle(e);return r.width>8&&r.height>8&&s.display!=='none'&&s.visibility!=='hidden'}); const comp=e=>e.closest('a,figure,[role=figure],.leaflet-container,[class*=card],[class*=box],[class*=caption],[class*=call-]'); const info=e=>{const r=e.getBoundingClientRect();return {tag:e.tagName,cls:String(e.className||'').slice(0,80),text:(e.textContent||e.getAttribute('alt')||'').trim().slice(0,80),rect:[Math.round(r.left),Math.round(r.top),Math.round(r.width),Math.round(r.height)]}}; const candidates=[]; for(const t of texts.slice(0,120)){const tr=t.getBoundingClientRect(),td={l:tr.left+scrollX,r:tr.right+scrollX,t:tr.top+scrollY,b:tr.bottom+scrollY};for(const m of media.slice(0,120)){if(t.contains(m)||m.contains(t))continue;const ct=comp(t),cm=comp(m);if(ct&&ct===cm)continue;const mr=m.getBoundingClientRect(),md={l:mr.left+scrollX,r:mr.right+scrollX,t:mr.top+scrollY,b:mr.bottom+scrollY};const x=Math.max(0,Math.min(td.r,md.r)-Math.max(td.l,md.l)),y=Math.max(0,Math.min(td.b,md.b)-Math.max(td.t,md.t));if(x*y>Math.min(tr.width*tr.height,mr.width*mr.height)*.6)candidates.push([t,m]);if(candidates.length>=30)break;}if(candidates.length>=30)break;} const sy=scrollY,bad=[]; for(const [t,m] of candidates){const docTop=t.getBoundingClientRect().top+scrollY;window.scrollTo(0,Math.max(0,docTop-innerHeight/2));const tr=t.getBoundingClientRect(),mr=m.getBoundingClientRect();const l=Math.max(tr.left,mr.left),r=Math.min(tr.right,mr.right),top=Math.max(tr.top,mr.top),bottom=Math.min(tr.bottom,mr.bottom);if(r<=l||bottom<=top)continue;const pts=[[l+(r-l)/2,top+(bottom-top)/2],[l+(r-l)*.25,top+(bottom-top)*.5],[l+(r-l)*.75,top+(bottom-top)*.5]];const covered=pts.some(([x,y])=>{if(x<0||y<0||x>=innerWidth||y>=innerHeight)return false;const e=document.elementFromPoint(x,y);return !!e&&(e===m||m.contains(e))&&!(e===t||t.contains(e));});if(covered)bad.push([info(t),info(m)]);if(bad.length>=12)break;} window.scrollTo(0,sy); return bad;z	TF-UI-005a  return [...document.querySelectorAll('body *')].filter(e=>{const s=getComputedStyle(e),r=e.getBoundingClientRect(); if(r.width<20||r.height<20||s.pointerEvents==='none'||s.visibility==='hidden'||s.display==='none')return false; const op=parseFloat(s.opacity||'1'); return op<.05&&['fixed','absolute'].includes(s.position)&&parseInt(s.zIndex||'0')>10;}).slice(0,20).map(e=>e.className||e.id||e.tagName);z	TF-UI-006a  return [...document.querySelectorAll('.modal-backdrop,.offcanvas-backdrop,[data-overlay],.overlay')].filter(e=>{const s=getComputedStyle(e),r=e.getBoundingClientRect(),z=parseInt(s.zIndex||'0');const blocking=['fixed','absolute'].includes(s.position)&&s.pointerEvents!=='none'&&z>=50&&r.width>innerWidth*.8&&r.height>innerHeight*.8;return blocking&&!document.querySelector('.modal.show,.offcanvas.show,[aria-modal=true]');}).map(e=>e.className||e.id||e.tagName);z	TF-UI-007zconst s=getComputedStyle(document.body); return ((s.overflow==='hidden'||s.position==='fixed')&&!document.querySelector('.modal.show,.offcanvas.show,[aria-modal=true]'))?[{overflow:s.overflow,position:s.position}]:[];z	TF-UI-008ax  const out=[]; for(const e of document.querySelectorAll('p,h1,h2,h3,h4,h5,h6,a,button')){const s=getComputedStyle(e); if(!/break-all|anywhere/.test(s.wordBreak+' '+s.overflowWrap))continue; const w=document.createTreeWalker(e,NodeFilter.SHOW_TEXT); let n; while((n=w.nextNode())){const text=n.nodeValue||''; const re=/\p{L}{9,}/gu; let m; while((m=re.exec(text))){const r=document.createRange(); r.setStart(n,m.index); r.setEnd(n,m.index+m[0].length); const tops=[...r.getClientRects()].filter(x=>x.width>0&&x.height>0).map(x=>Math.round(x.top)); if(new Set(tops).size>1){out.push(m[0]); if(out.length>=20)return out;}}}} return out;z	TF-UI-009a  return [...document.querySelectorAll('button,a,label,h1,h2,h3,h4')].filter(e=>{if(e.matches('.screen-reader-text,.sr-only,.visually-hidden')||e.closest('[aria-hidden=true],[hidden]'))return false;const s=getComputedStyle(e),r=e.getBoundingClientRect();return r.width>2&&r.height>2&&s.visibility!=='hidden'&&s.display!=='none'&&s.overflow==='hidden'&&e.scrollWidth>e.clientWidth+2&&!/ellipsis/.test(s.textOverflow);}).slice(0,20).map(e=>(e.textContent||'').trim().slice(0,80));z	TF-UI-010a)  return [...document.querySelectorAll('body *')].filter(e=>{const s=getComputedStyle(e),r=e.getBoundingClientRect(); return e!==document.scrollingElement&&/auto|scroll/.test(s.overflowY)&&e.scrollHeight>e.clientHeight+30&&r.height>innerHeight*.6;}).slice(0,20).map(e=>e.className||e.id||e.tagName);z	TF-UI-011ah  const bad=[];for(const e of document.querySelectorAll('a[href],button,input:not([type=hidden]),select,textarea,[tabindex]')){if(e.tabIndex<0||e.disabled||e.closest('[hidden],[inert],[aria-hidden=true]'))continue;let hiddenAncestor=false;for(let p=e;p&&p!==document.body;p=p.parentElement){const s=getComputedStyle(p);if(s.display==='none'||s.visibility==='hidden'){hiddenAncestor=true;break}}if(hiddenAncestor)continue;const r=e.getBoundingClientRect();if(r.width>0&&r.height>0)continue;const visibleDesc=[...e.querySelectorAll('*')].some(c=>{const cs=getComputedStyle(c),cr=c.getBoundingClientRect();return cs.visibility!=='hidden'&&cs.display!=='none'&&cr.width>0&&cr.height>0});if(visibleDesc)continue;try{e.focus({preventScroll:true})}catch(_){}if(document.activeElement===e)bad.push(e.outerHTML.slice(0,120));try{e.blur()}catch(_){}if(bad.length>=20)break}return bad;z	TF-UI-012a  const bad=[];const es=[...document.querySelectorAll('a[href],button,input:not([type=hidden]),select,textarea,[tabindex]:not([tabindex="-1"])')].filter(e=>!e.disabled&&!e.closest('[hidden],[inert],[aria-hidden=true]'));for(const e of es.slice(0,80)){try{e.focus({preventScroll:true})}catch(_){}if(document.activeElement!==e)continue;const r=e.getBoundingClientRect();if(r.width<=0||r.height<=0){try{e.blur()}catch(_){}continue}let l=r.left,t=r.top,rr=r.right,bb=r.bottom,clipped=false;for(let p=e.parentElement;p&&p!==document.body;p=p.parentElement){const s=getComputedStyle(p),pr=p.getBoundingClientRect();if(/hidden|clip|auto|scroll/.test(s.overflowX)){const nl=Math.max(l,pr.left),nr=Math.min(rr,pr.right);if(nr-nl<r.width*.7)clipped=true;l=nl;rr=nr}if(/hidden|clip|auto|scroll/.test(s.overflowY)){const nt=Math.max(t,pr.top),nb=Math.min(bb,pr.bottom);if(nb-nt<r.height*.7)clipped=true;t=nt;bb=nb}}if(clipped)bad.push(e.outerHTML.slice(0,120));try{e.blur()}catch(_){}if(bad.length>=20)break}return bad;z	TF-UI-013a  const fixed=[...document.querySelectorAll('body *')].filter(e=>{const s=getComputedStyle(e),r=e.getBoundingClientRect();return ['fixed','sticky'].includes(s.position)&&r.width>100&&r.height>20}); const bad=[]; for(const e of fixed){const r=e.getBoundingClientRect(); const p=document.elementFromPoint(Math.min(innerWidth-1,Math.max(1,r.left+r.width/2)),Math.min(innerHeight-1,Math.max(1,r.bottom+2))); if(p&&p!==e&&e.contains(p))bad.push(e.className||e.id);} return bad;z	TF-UI-014zconst m=document.querySelector('[aria-modal=true],.modal.show,.offcanvas.show'); if(!m)return []; const dismiss=m.querySelector('button,[data-dismiss],[data-bs-dismiss]'); return dismiss?[]:['modal lacks dismiss control'];z	TF-UI-015z
return [];	TF-UI-016z	TF-UI-017a  return [...document.querySelectorAll('main section,main .section')].filter(e=>{const r=e.getBoundingClientRect(),txt=(e.innerText||'').trim();return r.height>innerHeight*.75&&txt.length<8&&e.querySelectorAll('img,video,iframe').length===0;}).slice(0,10).map(e=>e.className||e.id);z	TF-UI-018z	TF-UI-019aD  return [...document.images].filter(i=>{const r=i.getBoundingClientRect();if(!i.naturalWidth||!i.naturalHeight||!r.width||!r.height)return false;const a=i.naturalWidth/i.naturalHeight,b=r.width/r.height,s=getComputedStyle(i);return s.objectFit==='fill'&&Math.abs(Math.log(a/b))>.25;}).slice(0,20).map(i=>i.currentSrc||i.src);z	TF-UI-020zreturn [...document.querySelectorAll(':disabled,[aria-disabled=true]')].filter(e=>e.getAttribute('aria-disabled')==='true'&&e.tabIndex>=0&&e.tagName==='A').slice(0,20).map(e=>e.outerHTML.slice(0,120));z	TF-UI-021zconst ids=[...document.querySelectorAll('[id]')].map(e=>e.id),c={};ids.forEach(x=>c[x]=(c[x]||0)+1);return Object.entries(c).filter(x=>x[1]>1).slice(0,30);z	TF-UI-022aP  return [...document.querySelectorAll('body *')].filter(e=>{const s=getComputedStyle(e),r=e.getBoundingClientRect(),z=parseInt(s.zIndex||'0'); return ['absolute','fixed'].includes(s.position)&&z>9999&&r.width* r.height>innerWidth*innerHeight*.4&&!e.closest('[aria-modal=true],.modal,.offcanvas');}).slice(0,20).map(e=>e.className||e.id);z	TF-UI-023zreturn [...document.querySelectorAll('[onmouseover],[onmouseenter]')].filter(e=>!e.hasAttribute('onfocus')&&!e.matches('a[href],button,input,select,textarea')).slice(0,20).map(e=>e.outerHTML.slice(0,120));z	TF-UI-024zmreturn document.documentElement.scrollWidth>document.documentElement.clientWidth+1?['gutenberg overflow']:[];z	TF-UI-025a  return [...document.querySelectorAll('input:not([type=hidden]),select,textarea,table')].filter(e=>{if(e.tagName!=='TABLE'&&(e.tabIndex<0||e.disabled||e.closest('[hidden],[inert],[aria-hidden=true]')))return false;const s=getComputedStyle(e),r=e.getBoundingClientRect();return s.visibility!=='hidden'&&s.display!=='none'&&(r.right>innerWidth+2||r.left<-2);}).slice(0,20).map(e=>e.outerHTML.slice(0,120));rP   UI_JSc               $    V ^8  d   QhRRRRRR/# )r   r   r'   declared_pathsr   r   )r   s   "r   r   r   h  s!      Y 	 i r   c                ~  a \        \        P                  V 4      4      pV Uu. uF  q3V9   g   K  VNK  	  pp. pR V9   d   VP                  R 4       V F  pW59  g   K  VP                  V4       K  	  V Uu. uF  q3V9  g   K  VR 8w  g   K  VNK  	  pp. p\	        4       pV F  p	V	P                  R 4      P                  R 4       U
u. uF  q'       g   K  V
NK  	  pp
V'       g   KE  VP                  W34       \        V4      ^8  g   Ki  VP                  V^ ,          4       K  	  / pV FP  w  r\        V4      ^8  g   V^ ,          V9   d
   V^ ,          MRpVP                  V. 4      P                  W34       KR  	  \        V4       F  p\        W,          R R7      pV^ ,          ^ ,          V9  d    VP                  V^ ,          ^ ,          4       \        V^ ,          ^,          4      o\        V3R lV 4       R4      pV'       g   K  W9  g   K  VP                  V4       K  	  V# u upi u upi u up
i )r   __root_singular__c                8    \        V ^,          4      V ^ ,          3# )   r  )r   s   &r   rE   *representative_ui_routes.<locals>.<lambda>  s    s1Q4y1.>r   )keyc              3  P   <"   T F  w  r\        V4      S8  g   K  Vx  K  	  R # 5ir    r  )rs  r?   parts	min_depths   &  r   rt  +representative_ui_routes.<locals>.<genexpr>  s      JEjdSZ	5ITTEs   &
&N)r   r  r  r  r  r'  splitr  add
setdefaultr  next)r   r  	availabler  declaredchosen	remainingr  nested_by_firstr?   r   r  groupsr  r  deeperr  s   &&              @r   representative_ui_routesr&  h  s   4==()I':A	>aaH:F
ic?MM!  $B)Qq1c6qq)IBFEO**S///4:4Qqq4:tl#u:a<a)  24F
E
1aO(CE!HI\#b!(($6  f~V[%>?8A;f$MM%(1+&eAhqk"	JEJ4P6f*MM&!  M; ; C ;s(   H0H09H5H5H5
	H:H:c               $    V ^8  d   QhRRRRRR/# )r   r%  r   required_tidr   r   r   r   )r   s   "r   r   r     s!     # #N ## #$ #r   c                j   V P                   '       d   R # \        V 4       V P                  q"'       g   Q hV P                   Uu. uF  q3\        9   g   K  VNK  	  ppW9  d   VP                  V4       \        \        P                  V4      4      pV Uu/ uF  q3. bK  	  ppV P                  P                  R/ 4      pV P                  P                  R/ 4      P                  4        Uu. uFN  p\        V\        4      '       g   K  VP                  R4      '       g   K4  \        VP                  R4      4      NKP  	  pp\        V P                  V4      p	^ p
V P                  P                  R/ 4      P                  R\         P                  RRR.4      4       EF  pVR	8  d   R
MRpV	 EF  pV
^,          p
VP#                  \%        V4      V4       VP'                  V P)                  V4      4       VP+                  R4       V EF/  p VR8X  d   VP-                  4        F  w  rVP                  R4      '       g   K  VP/                  RVR,          .4      ;'       g    . p\1        V4      ^8  g   KT  \3        V4      \5        V4      ,
          \7        VP                  R^4      4      8  g   K  WS,          P                  WV\5        V4      \3        V4      .4       K  	  K  VP/                  \        V,          4      ;'       g    . pV'       d$   WS,          P                  WVR,          .4       EK/  EK2  	  EK  	  EK  	  WPn        Wn         RV n         R # u upi u upi u upi   \8         d@   pYS,          P                  YR\;        T4      P<                   RT 2/.4        R p?EK  R p?ii ; i)N
componentspagesr?   r
   	viewportsdefault_viewportsrL  r   r  rM  r   r  r  equal_heightzreturn [...document.querySelectorAll(arguments[0])].filter(e=>{const r=e.getBoundingClientRect();return r.width>0&&r.height>0}).map(e=>e.getBoundingClientRect().height);selectortolerance_pxr9  script_errorr  T)!r  rj  r   r   r  r  r   r  r  r   r   valuesr  r   r&  r   r  r   r)   r   r  r   r  r   r  maxminr   r   r   r   r  r	  )r%  r(  r  tidselectedr  r*  rY   r  	ui_routes
traversalsr   r   r&  r  r  r  r3  s   &&                r   prepare_ui_resultsr9    s-   
	kkA!8! ..?.c,cc.H?#%$--)*H089"fC9||R0J69ll6F6Fwr6R6Y6Y6[  K6[d_ijnos_t)y}  zB  zB  CI  zJ)C()6[N  K&szz.AIJ!!)B/33KL_adei`jAklCisSE!OJLLUF+QZZ8N-OQRQZQZ[}Q~cK'&0&6&6&8FD#$55#8#8(!"  ,W  YZ  [e  Yf  Xg  "h  "n  "n  lnD"4y{s4yT/B5~^_I`Ca/a #T#d)CPTI0V W	 '9 YYuSz288b%d3i1H!I4    m$ N C= @
 : K& ! cHOOU.DIDVDVCWWYZ]Y^A_1`$abbcsa   MMM*M#M# M#AM(!M(66M(11M($"M(
M( M((N2	33N-	-N2	c               $    V ^8  d   QhRRRRRR/# r   r%  r   r5  r   r   r   r   )r   s   "r   r   r     s&     k kn k3 k= kr   c                    \        W4       V P                  P                  V. 4      p\        V'       * V R VR,           24       R^ RV P                  R\        V P                  4      /# )z invariant failures: N   Nr  shared_traversalsbatched_invariants)r9  r  r   r!   r	  r  )r%  r5  r  s   && r   t_uirA    sd    s3r"CGse0S
;<.s/@/@AUVYZ]ZhZhVijjr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     ) ) )= )r   c           
     2   V P                   P                  R / 4      P                  R4      '       d#   V P                  '       g   V P                  4        V P	                  RRRRR4      P                  4        Uu. uF3  qP                  4       P                  4       '       g   K(  \        V4      NK5  	  pp\        VR4       V P                  q3'       g   Q h. pVR,           F  p\        W4       VP                  R	4      ;'       g    R
p\        V 4      p. ROpV U	u. uF  qV9   g   K  V	NK  	  p
p	V
'       g   V'       g   Kc  VP                  RVRV
RVR,          /4       K  	  \        V'       * RVR,           24       R\        V4      R^ /# u upi u up	i )r  r  rZ  r   r[  r\  r]  zno imported pages to editr=  return document.body.innerText;r   markersconsole:N   NzGutenberg editor failures: r  r+  rT  )zError loading blockz)The response is not a valid JSON responsez1This block contains unexpected or invalid contentzAttempt Block Recovery)r   r   r  r  r&  r^  r'  r_  r)   r!   r   rf  r   rH  r  r  )r%  r   r`  r  r7  pidr-   r   rE  mr  s   &          r   t_editor_cleanrJ    sr   
||
2&**=99#,,,PSPgPgPiv.@AXYefqqs  	LsAw~w~  xA  xI  xI  xKQsC  	LC+,	kkA!8!bX3xxC199-N#O#U#USUd\pqt\uW[ a!/'Q$Yqq'/DD(//6#iiPTUWPX*YZ	 
 L6x}oFGCHXa(( 	L 0s   9%F#FF)Fc                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     , ,~ ,- ,r   c                   V P                   P                  R / 4      P                  R4      '       d#   V P                  '       g   V P                  4        \	        V 4      qP                  RR\        V4      R4      p\        W4       V P                  q3'       g   Q hR\        P                  ! 4       P                  R,          ,           pVP                  RV.4      p\        T;'       d    VP                  R4      R	V 24       \        P                  ! 4       ^,           pR
p\        P                  ! 4       V8  d^    V P                  \         P"                  P%                  V4      P&                  ^R7      pWH9   d   RpM \        P*                  ! R4       Kw  \        VR4       VP                  RVR,          .4       RVRR/#   \(         d     LQi ; i)r  r  rZ  r   --field=urlTF_EDIT_:N   Na  const done=arguments[arguments.length-1],sent=arguments[0]; try{const ed=wp.data.dispatch('core/block-editor'); const block=wp.blocks.createBlock('core/paragraph',{content:sent}); ed.insertBlocks(block); wp.data.dispatch('core/editor').savePost().then(()=>done({ok:true,clientId:block.clientId})).catch(e=>done({ok:false,error:String(e)}));}catch(e){done({ok:false,error:String(e)})}r  z$could not edit/save Gutenberg page: Frl   Tg333333?z3saved Gutenberg sentinel did not appear on frontendzconst done=arguments[arguments.length-1],id=arguments[0]; try{wp.data.dispatch('core/block-editor').removeBlock(id); wp.data.dispatch('core/editor').savePost().then(()=>done(true)).catch(()=>done(false));}catch(e){done(false)}clientIdrc  	roundtrip)r   r   r  r  ra  r&  r   rf  r   rZ  r[  r\  r   r!   r   r  rp   r  r  r?   r   r   )	r%  rH  	permalinkr  sentinelrW   r   r  r  s	   &        r   t_editabilityrT    s   
||
2&**=99#,,,PSPgPgPicCffVE#c(=&QICKK!

((--H??  b  dl  cm  nFF''vzz$'*Nvh(WXYY[^H5U
))+h
	v||44Y?DDQODtU

2EGHOO  ~  @F  GQ  @R  S  Tc+d++ $s   <AG GGc                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s      ^  r   c                   V P                   P                  R / 4      p. pVP                  4        F  w  r4VP                  R. 4      pV'       g   K!  R\        P                  ! V4      ,           R,           p\        P
                  ! V P                  V4      4      pV F  pW9  g   K  VP                  W8.4       K  	  K  	  \        V'       * RV 24       R^ /# )r+  expected_blocks$p=get_page_by_path(zs); if(!$p){echo "[]";return;} $b=parse_blocks($p->post_content); echo wp_json_encode(array_column($b,"blockName"));z"expected editable blocks missing: missing)	r   r   r  rm   rn   rt   r.  r  r!   )	r%  r  rY  rv  rY   blocksr+  namesr  s	   &        r   t_editable_coverage_runtimer\    s    \\gb)HG^^%	xx)"-x"4::d#33  5j  jjjS)*D '..$"=  & K<WIFGa=r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     / /n / /r   c                >   \         R ,          V P                  ,          R,          p\        VP                  4       R4       Rp\        P
                  ! V P                  V4      4      p\        \        V\        4      ;'       d    TR4       R\        V4      R,          /# )rw  z
theme.jsonztheme.json missingz.echo wp_json_encode(wp_get_global_settings());z#WordPress global settings are emptysettings_keysr  )
r7   r   r!   r  rm   rt   r.  r  r  r  )r%  r?   r+  rj   s   &   r   t_theme_json_runtimer`    sr    	hsyy	 	-Dwt{{}EY/Z8C	CKK$	%Dwz$t/D/M/MNs'tF4L-..r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     : :n : :r   c                  a \         P                  ! R R4      pRp\        \        P                  ! T P                  T4      4      4      o\        4       pT P                  P                  R/ 4      P                  4        F#  qCP                  TP                  R. 4      4       K%  	  \        T3R lT 4       4      p\        T'       * RT 24       R\!        T4      /# )z?(?:register_block_type|registerBlockType)\s*\(\s*['\"]([^'\"]+)r   z^echo wp_json_encode(array_keys(WP_Block_Type_Registry::get_instance()->get_all_registered()));r+  rW  c              3  8   <"   T F  qS9  g   K  Vx  K  	  R # 5ir    r   )rs  r   
registereds   & r   rt  't_block_registration.<locals>.<genexpr>  s     G/J3F11/s   
zcustom blocks not registered: registered_expected)r]  findallr7   r   joinpathrS  r  rm   rt   r.  r   r   r2  rK   r  r!   r  )r%  r[  r+  contract_expectedr  rY  rd  s   &     @r   t_block_registrationrj    s    
**W  xz  {EhC4::ckk#./0Je  ,3357O7OPTPXPXYjkmPn7o5G/GGGK8	BC!#&7"899r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     & &N &} &r   c                    R p\         P                  ! V P                  V4      4      p\        \	        V\
        4      R4       R\        V4      /# )zbecho wp_json_encode(array_keys(WP_Block_Patterns_Registry::get_instance()->get_all_registered()));zpattern registry unavailablepatterns)rm   rt   r.  r!   r  r   r  )r%  r+  rm  s   &  r   
t_patternsrn    s>    lCZZC()H7:ht3LMk+ls8}%%r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r      s     ' ' 'M 'r   c                T   V P                   P                  R / 4      P                  R4      '       d#   V P                  '       g   V P                  4        \	        V 4      p\        W4       V P                  q"'       g   Q hVP                  R4      ;'       g    . p\        VR4       RV/# )r  r  zFreturn wp.data.select('core/block-editor').getBlocks().map(b=>b.name);zeditor contains no blockstop_level_blocks)	r   r   r  r  ra  rf  r   r   r!   )r%  rH  r  rZ  s   &   r   t_editor_parityrr     s    
||
2&**=99#,,,PSPgPgPicCK0CKK!99]^ddbdFF./v&&r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s      . ] r   c                    \        V 4      p\        W4       V P                  q"'       g   Q hVP                  R 4      ;'       g    . p\	        V'       * RV 24       R^ /# )z\return wp.data.select('core/block-editor').getBlocks().filter(b=>!b.isValid).map(b=>b.name);zinvalid Gutenberg blocks: invalid)ra  rf  r   r   r!   )r%  rH  r  ru  s   &   r   t_block_validityrv    sW    cCK0CKK!IItu{{y{GK4WI>?a=r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     	# 	#~ 	#- 	#r   c                $   V P                   P                  R / 4      p\        V P                   P                  R. 4      4      pVP                  R VP	                  4        4       4       VP                  R4       V'       g   RR/# Rp\        P                  ! V P                  V4      4      p\        V\        4      '       d   \        VP                  4       4      pM
\        4       p\        W%,
          4      p\        V'       * RV RV 24       R	V/# )
r+  page_template_filesc              3  t   "   T F.  qP                  R 4      '       g   K  VP                  R 4      x  K0  	  R# 5i)templateNr   )rs  r  s   & r   rt  (t_template_registered.<locals>.<genexpr>  s(     PNqeeJ>O"z""Ns   88NnaTz:echo wp_json_encode(wp_get_theme()->get_page_templates());zpage templates not registered: z; got=	templates)r   r   r  rK   r2  discardrm   rt   r.  r  r  keysr  r!   )r%  r+  filesr+  r  rd  rY  s   &      r   t_template_registeredr    s    
,,

72
&Ec#,,2B2BCXY[2\.]	LLPELLNPPRWR_R_`dRe$t$DCjjS)*I)T""s9>>3C/DJU*5#$Gg'k<[\c[ddjktju:v&w	""r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     
 
^ 
 
r   c                4   V P                   P                  R / 4      P                  R4      '       d#   V P                  '       g   V P                  4        . pV P                   P                  R/ 4      P	                  4        F~  w  r#VP                  R4      pV'       g   K   R\
        P                  ! V4      ,           R,           pV P                  V4      P                  4       pWd8w  g   Kk  VP                  W&V.4       K  	  \        V'       * RV 24       R^ /# )r  r  r+  r{  rX  zH); echo $p?get_post_meta($p->ID,"_wp_page_template",true):"__missing__";z*imported page template assignments wrong: r  )r   r   r  r  r  rm   rn   r.  r'  r  r!   )r%  r  rv  rY   r  r+  actuals   &      r   t_template_assignedr    s    
||
2&**=99#,,,PSPgPgPi
C\\%%gb1779	*%"4::d#334~~{{3%%'SZZX(>? : G@FG!9r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   (  s       = r   c                  a a S P                   P                  R / 4      p. p. pVP                  4        EF|  w  opVP                  R. 4      pV'       g   K#  Rp\        P                  ! S P                  V4      4       Uu. uF  p\        V4      NK  	  ppR\        P                  ! S4      ,           R,           p	\        P                  ! S P                  V	4      4      qP                  S4       V F  pW9  g   K  VP                  SV.4       K   	  \        ;QJ d     V V3R lV 4       F  '       g   K   RM	  RM! V V3R lV 4       4      '       d   EK$  \        R,          S P                  ,          R	,          R
,          P                  4       pV'       d   EKi  VP                  SR.4       EK  	  \        V'       * RV 24       RV/# u upi )r+  rW  z$ps=WP_Block_Patterns_Registry::get_instance()->get_all_registered(); $names=[]; foreach((array)$ps as $k=>$v){ if(is_string($k))$names[]=$k; elseif(is_array($v)&&isset($v["name"]))$names[]=$v["name"]; } echo wp_json_encode($names);rX  zl); if(!$p){echo "[]";return;} echo wp_json_encode(array_column(parse_blocks($p->post_content),"blockName"));c              3  \   <"   T F!  pSV9   ;'       g    SP                   V9   x  K#  	  R # 5ir    )r   )rs  r   r%  rv  s   & r   rt  )t_template_composition.<locals>.<genexpr>5  s(     A1419..		Q.s   ,,TFrw  inczpage-layouts.phpzreusable pattern/editor helperz,template editable compositions unavailable: r  )r   r   r  rm   rt   r.  r   rn   r  r{  r7   r   r  r!   )r%  r+  r  rY  rY   r  r+  r   rm  pphpr[  r  helperrv  s   f            @r   t_template_compositionr  (  sa   
,,

72
&EBG[[]	T+B/ w"&**S[[-=">?">Q#a&">?#DJJt$44  6d  djjT*+^^D-AD '..$t"= sAAsssAAAAM#))+E12DDLLNF67>>40P*QR # KFwiPQg @s   ?Gc                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   =  s      . ] r   c                    \        V 4      # r    )r  ri  s   &r   t_template_shellr  =  s    3<r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   A  s      ~ - r   c                d   V P                   q'       g   Q hV P                  4        VP                  V P                  R 4      4       VP	                  R4      ;'       g    . p\        VR4       \        \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      RV 24       RV/# )z/wp-admin/themes.phpzreturn [...document.querySelectorAll('.notice')].map(n=>({text:n.innerText,href:(n.querySelector('a[href]')||{}).href||''})).filter(x=>/import/i.test(x.text));z)activation notice with import CTA missingc              3  b   "   T F%  pR VR,          9   ;'       g    RVR,          9   x  K'  	  R# 5i)z
themes.phphrefz/themes.phpNr   rr  s   & r   rt   t_demo_notice.<locals>.<genexpr>E  s/     VQUA&	)GG]ai-GGQUs   //TFz$import CTA is not under Appearance: notices)r   r  r   r  r   r!   r{  r%  r  rj   s   &  r   t_demo_noticer  A  s    	kkA!8!S__.

3??Ka;b0c	
  u  
v  
|  
|  z|DD<=CCVQUVCCCVQUVVY}  C  ~D  XE  Fdr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   I  s     	 	n 	 	r   c                \   V P                   q'       g   Q hV P                  4        VP                  V P                  R 4      4       VP	                  R^R7       VP                  R4      p\        T;'       d
    VR,          RV 24       \        VR,          '       * RVR,           24       V# )r  r  rl   aR  return {
      top:[...document.querySelectorAll('#adminmenu > li > a .wp-menu-name')].map(e=>e.textContent.trim()).filter(x=>/import/i.test(x)),
      appearance:[...document.querySelectorAll('#menu-appearance .wp-submenu a')].map(e=>({text:e.textContent.trim(),href:e.getAttribute('href')||''})).filter(x=>/import/i.test(x.text))
    };
appearancez#Appearance import submenu missing: topz!top-level Import menu forbidden: )r   r  r   r  r   r   r!   r  s   &  r   t_demo_menu_locationr  I  s    	kkA!8!OOqzz#//,"?@!))Lr{})B~	
 
 
D D''T,'*MdV(TUUO?U}MNKr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   U  s     , , ,M ,r   c                   R P                  R \        R,          V P                  ,          P                  R4       4       4      p\	        \
        P                  ! RV4      R4       \	        \
        P                  ! RV4      R4       RR	R
R	/# )r3   c              3  D   "   T F  qP                  R R7      x  K  	  R# 5irR  rS  NrS  rs  r  s   & r   rt  "t_demo_security.<locals>.<genexpr>W       c:bQ;;i;00:b    rw  rx  current_user_can|user_canz(importer lacks capability check evidencez6check_admin_referer|check_ajax_referer|wp_verify_noncez#importer lacks nonce check evidence
capabilityTnoncer;   r7   r   r  r!   r]  r  r%  r-   s   & r   t_demo_securityr  U  sm    	c4=;R:Y:YZa:bc	cDBII2489cdBIIOPTUV{|gd++r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   ]  s     @ @N @} @r   c                    V P                  4        V P                  4       qP                  4        V P                  4       p\        W8H  R V RV 24       RV/# )zdemo importer not idempotent
A=z
B=state)r  r  r!   )r%  r  r  s   &  r   t_demo_idempotencer  ]  s    !6!6!8q:Q:Q:SWZWlWlWnUVpwxyx|  @`  ab  `c  cg  hi  gj  ~k  ql  v}  ~  u@  n@r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   a  s       = r   c                    V P                   '       g   V P                  4        V P                  4       p\        VP	                  R 4      R4       V# )r  z#demo import created no post content)r  r  r  r!   r   )r%  r  s   & r   t_demo_contentr  a  s<    <<<002



!E7599\+BCh#iLr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   g  s     ( ( (= (r   c                2   \        V 4       R P                  R \        R,          V P                  ,          P	                  R4       4       4      p\        RV9   ;'       g    RV9   ;'       g    RV9   R4       \        RVP                  4       9  R	4       R
R/# )r3   c              3  D   "   T F  qP                  R R7      x  K  	  R# 5ir  r  r  s   & r   rt  !t_forms_submit.<locals>.<genexpr>j  r  r  rw  rx  wp_mail
admin_postwp_ajaxz3declared form has no WordPress-controlled transportzsendmail.phpz'legacy direct sendmail endpoint presentwordpress_transportT)rj  r;   r7   r   r  r!   r_  r  s   & r   t_forms_submitr  g  s    	c4=;R:Y:YZa:bc	cDIJJ!5JJd9J  LA  BN$**,./XY!$''r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   p  s      N } r   c                .    \        V 4       \        V 4      # r    )rj  r  ri  s   &r   t_forms_validationr  p  s    r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   u  s     ! !N !} !r   c                
   \        V 4       V P                  q'       g   Q hV P                   FN  pVP                  V P	                  V4      4       VP                  R 4      ;'       g    ^ pV'       g   KH  RVRR/u # 	  R^ RR/# )z0return document.querySelectorAll('form').length;formsguardznonce/validation testedr~  T)rj  r   r   r   r  r   )r%  r  r&  r  s   &   r   t_duplicate_submitr  u  sx    	kkA!8!	

3??5)*iiJKPPq5'%0IJJ  Ad4  r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s        ~  -  r   c                    R P                  R \        R,          V P                  ,          P                  R4       4       4      pRV9   g   RV9   d"   \	        \
        P                  ! RV4      R4       RR	/# )
r3   c              3  D   "   T F  qP                  R R7      x  K  	  R# 5ir  r  r  s   & r   rt   t_admin_authz.<locals>.<genexpr>  r  r  rw  rx  admin_post_wp_ajax_r  z4privileged handler without capability check evidenceauthz_guardTr  r  s   & r   t_admin_authzr    s`    	c4=;R:Y:YZa:bc	cD
d 2		6t<=st$r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     Z Z Z= Zr   c                    \        V 4      # r    )r  ri  s   &r   t_structured_responsesr    s    VYIZBZr   c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!      ~ C M r   c           	     p   \        V 4       V P                  q"'       g   Q hVP                  V P                  R 4      4       VP	                  R4       VP                  R4      ;'       g    . p/ \        P                  R/ 4      CV P                  P                  R/ 4      CpVR8X  d   \        R V 4       4      p\        R V 4       4      p\        V\        VP                  RR4      4      8*  R	V 24       \        V\        VP                  R
R4      4      8*  RV 24       RVRV/# VR8X  dK   \        \        V4      \        VP                  R^x4      4      8*  R\        V4       24       R\        V4      /# VR8X  dA   VP                  R4      p\        V\        VP                  RR4      4      8*  RV 24       RV/# VR8X  d4   VP                  R4      ;'       g    . p\        V'       * RV 24       R^ /# VR8X  d   V U	u. uFI  qR,          R8X  g   K  \        P                  ! RV	R,          \        P                  4      '       g   KG  V	NKK  	  p
p	\        \        V
4      \        VP                  R ^4      4      8*  R!\        V
4       24       R"\        V
4      /# VP                  R#4      pV# u up	i )$r   r  zreturn performance.getEntriesByType('resource').map(e=>({name:e.name,transfer:e.transferSize||0,decoded:e.decodedBodySize||0,initiator:e.initiatorType}));budgetszTF-PERF-001c              3     "   T F4  p\         P                  ! R VR,          4      '       g   K)  VR,          x  K6  	  R# 5i)z\.js(?:\?|$)r  transferNr]  r  rs  r  s   & r   rt   t_performance.<locals>.<genexpr>  s)     Vg?1V91U}q}}g   &>>c              3     "   T F4  p\         P                  ! R VR,          4      '       g   K)  VR,          x  K6  	  R# 5i)z\.css(?:\?|$)r  r  Nr  r  s   & r   rt  r    s\       `iw~rs  CE  CL  CL  M]  ^_  `f  ^g  Ch`m`abl`m`mw~r  js_bytesi@w zJS budget exceeded 	css_bytesiO zCSS budget exceeded jscsszTF-PERF-002first_party_requestszrequest budget exceeded r6  zTF-PERF-003z1return document.getElementsByTagName('*').length;	dom_nodesi  zDOM node budget exceeded zTF-PERF-004zreturn [...document.images].filter(i=>i.naturalWidth&&(!i.getAttribute('width')||!i.getAttribute('height'))).slice(0,40).map(i=>i.currentSrc||i.src);zimages missing width/height: r  zTF-PERF-005	initiatorz\.(woff2?|ttf|otf)(?:\?|$)r  font_requestszfont budget exceeded fontszpreturn {navigation:performance.getEntriesByType('navigation')[0]?.duration||null, cls:null, lcp:null, inp:null};)rj  r   r   r  r   r   r  r   r   r  r!   r)   r  r]  r  r  )r%  r5  r  r*  r  r  r  r  r  r  r  r  s   &&          r   t_performancer    s*   	kkA!8!QZZ(<=qyyIk?lII  s  t  z  z  xzGIvzz)B'I#,,*:*:9R*HIG
MVgVV\_  `iw~  `i  ]iX[CJw788;Nrd9STV]^acfgngrgrs~  @G  hH  dI  _I  L`  ad  `e  Jf  Wg  qu  vx  y~  B  pC  iC
M73w<W[[AWX[5\1]#]`xy|  ~E  zF  yG  _H  I  S]  ^a  bi  ^j  Rk  Kk
MQYY'Z[1]defhklslwlw  yD  EI  mJ  iK  fK  Ng  hi  gj  Lk  ^l  vA  BC  uD  nD
Mqyy  *A   B   H   H  FH3  JQ  VY  RY  \y  z}  y~  Z  J@  JO  PQ  IR  BR
MW  "KW+8M!RTR[R[\yz{  }C  {D  EG  EI  EI  SJ!!W5  "K  MT  UX  Y^  U_  ad  el  ep  ep  q@  AC  eD  aE  UE  H]  ^a  bg  ^h  ]i  Fj  Mk  u|  }@  AF  }G  tH  mH	
  F  
GDK "Ks   J30J3J3c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     C CN C} Cr   c                   \        V 4       V P                  q'       g   Q h. pV P                  R ,           Fy  pVP                  V P	                  V4      4       VP                  R4      pVR,          '       g   VP                  VR.4       VR,          ^8  g   Kf  VP                  VR.4       K{  	  \        V'       * RV 24       R^ /# )r  zreturn {title:document.title,canonical:document.querySelectorAll('link[rel=canonical]').length,desc:document.querySelector('meta[name=description]')?.content||''};title	canonicalzcanonical-duplicatezSEO meta failures: r  r  )r%  r  r  r&  rj   s   &    r   
t_seo_metar    s    	kkA!8!SC	

3??5)*  <a  2bDG}}cjj%9Q

E2G+H I ! G)#/0%2Br   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     	H 	H> 	Hm 	Hr   c           	        \        V 4       V P                  q'       g   Q h. p^ pV P                  R,           Ff  pVP                  V P	                  V4      4       VP                  R4      ;'       g    . pV F"  pV^,          p\        P                  ! V4       K$  	  Kh  	  \        V'       * RV 24       RV/#   \         d(   pTP                  T\        T4      .4        Rp?Ko  Rp?ii ; i)r_   r  zbreturn [...document.querySelectorAll('script[type="application/ld+json"]')].map(s=>s.textContent);Nzinvalid JSON-LD: jsonld)rj  r   r   r   r  r   rm   rt   r   r  r   r!   )r%  r  r  countr&  r  rw   r  s   &       r   t_structured_datar    s    	kkA!8!S1UC	

3??5)*  <b  2c  2i  2i  giDC1HEC  ! G'u-.7G0G =3::uSVn#=#==s   B::C,C''C,c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     ) )~ )- )r   c                &   \        V 4       V P                  q'       g   Q h^ pV P                  R,           FF  pVP                  V P	                  V4      4       VP                  R4      ;'       g    ^ qBV,          pKH  	  \        V^ 8  R4       RV/# )r_   r  zRreturn document.querySelectorAll('[aria-label*=breadcrumb i],.breadcrumb').length;z&breadcrumbs declared but none renderedbreadcrumb_surfaces)rj  r   r   r   r  r   r!   )r%  r  r  r&  r  s   &    r   t_breadcrumbsr    s    	kkA!8!1UC	

3??5)*aii  9M  /N  /S  /S  RSA  \]  U]  UZ !E!G<=!%((r   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     S S SM Sr   c                    \        V 4      # r    )r  ri  s   &r   t_classic_menusr    s    ,sBS;Sr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     j j> jm jr   c                p    R p\         P                  ! V P                  V4      4      p\        VR4       RV/# )zYglobal $wp_registered_sidebars; echo wp_json_encode(array_keys($wp_registered_sidebars));z+widgets declared but no sidebars registeredsidebars)rm   rt   r.  r!   )r%  r+  r  s   &  r   t_classic_widgetsr    sq    cCnrnxnxy|  zE  zE  FI  zJ  oKem  MT  U]  ^K  ML  V`  ai  Uj  Njr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     H Hn H Hr   c                *   V P                   q'       g   Q hV P                  4        VP                  V P                  R 4      4       VP	                  R^R7       VP                  R4      ;'       g    Rp\        RVP                  4       9  R4       RR/# )	z/wp-admin/customize.php1document.body && document.body.innerText.length>0rl   rD  r   zfatal errorzCustomizer fatal errorloadedT)r   r  r   r  r   r   r!   r_  )r%  r  r-   s   &  r   t_customizerr    s    	kkA!8!S__.

3??Kd;e0fhihqhq  sf  oqhq  ir  yz  yB  yB  Cd  ye  yk  yk  ik  tx  mt  uB  JN  JT  JT  JV  uV  Wo  mp  zB  CG  yH  rHr   c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r     s     C C> Cm Cr   c           
        \        V 4       \        V 4      pR \        P                  ! 4       P                  R,          ,           q P                  RR\        V4      R4      q0P                  RR\        V4      RV RV R24       V P                  RR\        V4      R	4      q@P                  \        P                  P                  V4      P                  4      qPP                  RR\        V4      RV 24       \        W%9   R
4       RR/# )TF_CLASSIC_r  rZ  r   z--field=post_contentrK   z--post_content=z<p>z</p>rM  z#classic editor content not renderedrQ  T)rj  ra  rZ  r[  r\  r&  r   r  rp   r  r  r?   r!   )r%  rH  r  oldrg   r  s   &     r   t_classic_contentr    s   cC=1A1A"1E#EF66RXY^_bcf_gh~Ks  BH  BH  IO  PX  Y\  ]`  Ya  ds  tw  sx  x{  |B  {C  CG  bH  BI  OR  OU  OU  V\  ]b  cf  gj  ck  ly  Oz  KN  AN  AN  OU  O[  O[  Od  Od  eh  Oi  On  On  Ao  |@  qw  qw  x~  G  HK  LO  HP  Sb  cf  bg  Qh  qi  kr  sy  sA  Bg  kh  r}  ~B  qC  jCr   c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!     
 
~ 
C 
M 
r   c                   V P                   q"'       g   Q hVR 8X  d   RR/# V P                  4        VR8X  d]   VP                  V P                  R4      4       VP	                  R^4       \        \        V 4      '       * R\        V 4       24       RR/# VR8X  d*   V P                  R	4      pR
\        P                  ! V4      /# VR8X  d*   V P                  R4      pR\        P                  ! V4      /# VR8X  d&   Rq@P                  R4      p\        VR8g  R4       RR/# VR8X  d   \        R,          V P                  ,          R,          P                  4       '       d>   \        \        R,          V P                  ,          R,          P                  R4      4      M. qf Uu. uF'  p\        P                  ! VP                  4       4      NK)  	   pR\!        V4      /# \#        V4      hu upi )z
TF-FSE-001static_ownedTz
TF-FSE-002z/wp-admin/site-editor.phpr  zSite Editor errors: r  z
TF-FSE-003zHecho wp_json_encode(array_keys(get_block_templates([], 'wp_template')));r  z
TF-FSE-004zMecho wp_json_encode(array_keys(get_block_templates([], 'wp_template_part')));r  z
TF-FSE-005r  z^$t=get_block_template(get_stylesheet()."//header","wp_template_part"); echo $t?$t->content:"";r   zheader template part missingtemplate_part_editablez
TF-FSE-006rw  stylesz*.json
variations)r   r  r   r  r   r!   rH  r.  rm   rt   r7   r   r  r   globrS  r  r   )r%  r5  r  rw   rv  r  r
  r  s   &&      r   t_fser    s   	kkA!8!
L.!66OO
L!**S__5P%QRTUT]T]  _R  SU  UV  X_  dx  y|  d}  `}  @T  Ui  jm  Un  To  ~p  Xq  {C  DH  zI  sI
Lckk*tu#  @K  LP  LV  LV  WZ  L[  \  x\
Lckk*yz#  EL  MQ  MW  MW  X[  M\  D]  }]
L;;  (H  Is  KR  SV  XZ  SZ  [y  Kz  D\  ]a  Cb  |b
Laefnanoroxoxax  zB  bB  aJ  aJ  aL  aLT4=+B8+K*Q*QRZ*[%\  RT*  zD  VE  zD  uv  W[  Wa  Wa  bc  bm  bm  bo  Wp  zD  VE  O[  \_  `j  \k  Nl  Gl
c
 VEs   "-G)c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!     &8 &8n &83 &8= &8r   c                   \        V 4       \        R ,          \        V P                  P	                  R 4      4      ,          p\        VP                  4       R4       \        VP                  R4       Uu. uF  q3P                  4       '       g   K  VNK  	  up4      p\        VR4       V P                  R,           p\        \        R,          P	                  RR4      4      pWPn        V P                  '       Eg?   V P                  V4       V P                  RR	R
VRV P                   V4        \"        P$                  ! RR\        V4      RRR.\"        P&                  \"        P&                  RR7      p\        VP(                  ^ 8H  RVP*                  P-                  RR7       24       \"        P$                  ! V P.                  RRVRRRRR.	VP0                  \"        P&                  \"        P2                  R7      p\        VP(                  ^ 8H  RVP0                  P-                  RR7       24       RV n        V P6                  q'       g   Q hV P                  P	                  R 4      ;'       g    R R!R"R#/.p
. pV
R$,           EF  pR%pV	P9                  R&R'4       V	P;                  R(V,           VR ,          ,           4       V	P=                  R)4       V	P?                  R*4      ;'       g    ^ qPA                  4       qP?                  V4      ;'       g    . pV	P;                  V PC                  VR",          4      4       V	P=                  R)4       V	P?                  R*4      ;'       g    ^ pV	PA                  4       pV	P?                  V4      ;'       g    . pVR+8X  dE   \        \E        VV,
          4      \G        VP	                  R,^4      4      8*  R-V R.V R/V 24       EK\  VR08X  Ed   V Uu/ uF  pVR1,          VbK  	  ppV Uu/ uF  pVR1,          VbK  	  pp\        \I        V4      \I        V4      ,          4      p\        TR2V Uu. uF  pVR1,          NK  	  up R3V Uu. uF  pVR1,          NK  	  up 24       V Uu. uF  p\E        VV,          R4,          ^,          VV,          R4,          ^,          ,
          4      \E        VV,          R4,          ^,          VV,          R4,          ^,          ,
          4      ,           NK  	  pp\        \K        V4      \M        V4      ,          \O        VP	                  R5^x4      4      8*  R6\K        V4      \M        V4      ,          R7 R8\M        V4       R924       EK  VR:8X  dP   \Q        VV4      p\        V\O        VP	                  R;R<4      4      8*  R=VR> R?24       VPS                  R@V/4       EKJ  VRA8X  g   EKT  V	P?                  RB4      pV	P;                  R(V,           VR ,          ,           4       V	P?                  RB4      pV	P;                  V PC                  VR",          4      4       V	P?                  RB4      p\        \E        VRC,          VRC,          ,
          4      ^8*  RDV R/V 24       EK
  	  RE\M        V
4      RFV/# u upi   \4         d    T P                  RRTR^R7       h i ; iu upi u upi u upi u upi u upi )G	referencezreference missingz*.htmlzreference has no HTMLz-refr
   reference_imagez#docker.io/library/nginx:1.27-alpiner6   r@  rA  r  tarz-Cz-cfr8  .F)r.   r/   r$   zreference tar failed: rR  rS  rO  rP  z/usr/share/nginx/htmlz-xf)rQ  r.   r/   zreference copy failed: Tr  r  r  visual_mappingsz/index.htmlr&  r   r  a  return [...document.querySelectorAll('nav[id],section[id],footer[id],body > footer')].slice(0,100).map(e=>{const r=e.getBoundingClientRect();const cls=[...e.classList].slice(0,3).join('.');return {key:e.id?('#'+e.id):(e.tagName+':'+cls),tag:e.tagName,rect:[r.x,r.y,r.width,r.height]};});r   r   r;  r  z3return document.querySelectorAll('section').length;zTF-CONV-001section_tolerancezstructural section mismatch r  r  zTF-CONV-002r  z#no shared geometry anchors: source=z wp=rectgeometry_tolerance_pxzgeometry mean delta too high: z.2fz across z shared anchorszTF-CONV-003pixel_mean_toleranceg
ףp=
?zscreenshot mean pixel diff z.4f exceeds tolerancediffzTF-CONV-004zreturn {links:document.querySelectorAll('a[href]').length,forms:document.forms.length,buttons:document.querySelectorAll('button,[role=button]').length};r  z form behavior surface mismatch: mappingsdetails)*rj  r7   r   r   r   r!   r  r  r  is_filer   r  r  r  r  r&   r   r5   r6   r8   r:   r/   rb  r   r.   r9   r   r   r   r   r   r   r   r  r  r)   r  r  r  r   r#  r  )r%  r5  refr  htmlsr  r  r<   rj  r  r  r  rI  	anchor_jssrc_sectionssrc_shot	src_boxeswp_sectionswp_shotwp_boxesr   src_bywp_byr  r{  diffsr  r	  refintwpints   &&                            r   t_conversionr+    s	   [S\\--k:;;CWSZZ\Re=f
SYYx0@0IIK!!0@
AE75QhCi	F	D#fY&7&;&;<MNs&t"uE   d8DS[[G		~~uT#c(5SA`j`o`ov{|BBMM1$'=bii>N>NV_>N>`=a%bcF4U4H_`efi jqsqzqz  CM  CR  CR  Zd  Zk  Zk  lDDOOQ&)@ASAS[dASAe@f'gh"&C! 
kkA!8!\\/0]]k-PWX[5\4]HGc]] y		T#

9T>!K.+H I199UwKx  HI  HQ  HQ  RG  HH  HM  HM  LM  {G  Xd  Xd  Xf  OW  r{  r{  |E  rF  rL  rL  JL  hq	

3??1W:./;]1^lmlulu  wl  mm  mr  mr  qr`k  |}  |H  |H  |J  t{  UV  U^  U^  _h  Ui  Uo  Uo  mo  LTws<+C'Dc!%%PcdeJfFg'g  kG  HI  GJ  JL  MY  LZ  Z^  _j  ^k  il   m-(12	1AeHQJ	F2x:Xx!1U8A:xE:X_efijpfqruv{r|f|_}Z^  @G  HL  Or  FO  sP  FO  AB  tu  v{  t|  t|  FO  sP  rQ  QU  iq  Vr  iq  de  WX  Y^  W_  W_  iq  Vr  Us  Mt  @u  cg  }h  cg  ^_  ~A  BH  IJ  BK  LR  BS  TU  BV  W\  ]^  W_  `f  Wg  hi  Wj  Bj  ~k  lo  pv  wx  py  z@  pA  BC  pD  EJ  KL  EM  NT  EU  VW  EX  pX  lY  ~Y  ~Y  cg  w|  }h  jq  ru  v{  r|  }@  AF  }G  rG  IN  OP  OT  OT  Ul  mp  Oq  Ir  rr  uS  TW  X]  T^  _b  ch  _i  Ti  jm  Sn  nv  wz  {  w@  vA  AP  sQ  jR-HW-DwtU155I_`dCe=f7f  jE  FJ  KN  EO  Oa  hb  0c  el  es  es  u{  |@  tA  eB-		  u  vCJJy~an45aii  Ic  ?dv  fg  fp  fp  qt  q@  q@  AB  CJ  AK  qL  fM  UV  U^  U^  _y  Uz  OT  |C  DG  HN  OV  HW  X]  ^e  Xf  Hf  Dg  ij  Dj  mM  NT  MU  UY  Z_  Y`  ka  |b  s8}Yw77G A  	GGDdrG:	 3:X  sP  Vr  }hs8   4ZZ.DZ# +[	[["[B[##[c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!      . s } r   c           
        \        V 4       V P                  P                  R / 4      q"P                  R. 4      p\        W1 R24       V P                  qD'       g   Q h. pV EF  p\
        VR,          ,          p\        VP                  4       RV 24       VP                  \        VP                  RR4      4      \        VP                  RR4      4      4       VP                  V P                  VP                  R	R
4      4      4       VP                  4       p\        VP                  4       V4      p	\        V	\        VP                  RR4      4      8*  RV	 R24       VP                  V	4       EK  	  RV/# )visual_baselinescreenshotsz+: no approved screenshot baselines declaredfilezbaseline missing r   r   r   r   r&  r   mean_tolerancegQ?zbaseline screenshot diff r  r(  )rj  r   r   r!   r   r7   r  r   r)   r   r  r   r#  ra  r   r  )
r%  r5  baselineimagesr  resultsr  r?   gotr  s
   &&        r   t_visualr6    sC   \\/3HLLWY<ZVFUEFG	kkA!8!RW$v,9J4&7Q RTUT`T`adeiememnuvze{a|  ~A  BF  BJ  BJ  KS  TW  BX  ~Y  UZ  \]  \f  \f  gj  gv  gv  w{  w  w  @G  HK  wL  gM  \N  TU  T`  T`  Tb  PS  is  tx  tC  tC  tE  FI  iJ  dh  LS  TX  Z_  `d  `h  `h  iy  z~  `  Z@  T@  C\  ]a  \b  bt  Au  Lv  x  xF  xF  GK  xL Gr   c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!      ~ C M r   c           	     @   \        R  V P                  P                  R. 4       4       \        R,          P                  RR4      4      p\	        V RR4      '       g5   V P                  RRRR	V 2R
^R7       V P                  R^xR7       RV n        V P                  q3'       g   Q hVR8X  d%   V P                  R4      p\        VR8H  R4       RV/# VR8X  dM   VP                  V P                  R4      4       \        RVP                  R4      ;'       g    R9   R4       RR/# V P                  R4      pVR8X  dh   VP                  V P                  V4      4       VP                  R4      ;'       g    Rp\        RV9   ;'       d    VP                  R4      R4       RR/# VR8X  d   V P                  R 4      qsP                  V P                  R!V 24      4       VP                  V P                  R"4      4       VP                  R4      ;'       g    Rp\        RV9   R#4       R$R/# VR%8X  dR   VP                  R&R'4       VP                  V P                  R"4      4       \        VP                  R(4      R)4       R*R/# VR+8X  dG   VP                  V P                  R,4      4       \        VP                  R-4      R.4       \        V 4      # VR/8X  d@   VP                  V P                  R04      4       \        VP                  R14      R24       R3R/# \        V4      h)4c              3  r   "   T F-  qP                  R 4      R8X  g   K  VP                  R4      x  K/  	  R# 5i)rv  woocommerceversionNr|  r  s   & r   rt   t_woocommerce.<locals>.<genexpr>	  s0     k,JqeeTZm]jNj"!%%	"",Js   77pluginsr
   r:  z11.0.1	woo_readyFpluginrC  
--version=rU  rl   zif(!get_page_by_title('TF Product',OBJECT,'product')){ $p=new WC_Product_Simple();$p->set_name('TF Product');$p->set_regular_price('12.34');$p->set_status('publish');$p->set_catalog_visibility('visible');$p->save(); }Tz
TF-WOO-001z3echo current_theme_supports('woocommerce')?'1':'0';1ztheme lacks WooCommerce supportr;  z
TF-WOO-002z/shop/z
TF ProductrD  r   zshop product missingshopzg$p=get_page_by_title('TF Product',OBJECT,'product'); echo wp_parse_url(get_permalink($p),PHP_URL_PATH);z
TF-WOO-003zareturn !!document.querySelector('form.cart,button[name=add-to-cart],.single_add_to_cart_button');z!product commerce controls missingproductz
TF-WOO-004z@$p=get_page_by_title('TF Product',OBJECT,'product');echo $p->ID;z/?add-to-cart=z/cart/zadd-to-cart did not update cartcart_updatedz
TF-WOO-005rL  rM  zTreturn document.documentElement.scrollWidth<=document.documentElement.clientWidth+1;zcart horizontal overflow
responsivez
TF-WOO-006z
/checkout/zDreturn !!document.querySelector('form.checkout,.wc-block-checkout');zcheckout form missingz
TF-WOO-007z/my-account/zGreturn !!document.querySelector('form,.woocommerce-MyAccount-content');zaccount/login surface missingaccount)r  r   r   r  getattrr&  r.  r>  r   r!   r   r  r   r   r  r   )r%  r5  r;  r  supportproduct_pathtxtrH  s   &&      r   t_woocommercerK    s   kCLL,<,<Yr,Jklrs|l}  mB  mB  CP  QY  mZ  [G3{5))x	-*WI0F|\_`  p  y|  	}	kkA!8!
L#++.c"d'fmnuwznz  |]  g^  hq  ry  gz  `z
L!**S__X%>?Z[ZcZc  eF  [G  [M  [M  KM  JN  Oe  Bf  pv  w{  o|  h|  G  HL
L!**S__\%BCStIuI{I{y{S  ~E  FR  VY  FY  FL  FL  ^_  ^g  ^g  hK  ^L  Mp  ~q  {D  EI  zJ  sJ
LKKZ[]g]ghkhwhw  {I  JM  IN  yO  iP  ^Q  ST  S]  S]  ^a  ^m  ^m  nv  ^w  Sx  ~  ~G  ~G  Hi  ~j  ~p  ~p  np  z}  ry  zF  JM  zM  No  rp  zH  IM  yN  rN
L!,,s3/COOH<U1VX_`a`i`i  kA  aB  C]  Y^  ht  uy  gz  `z
L!**S__\%BCWQYY  X^  N_  `w  Fx  AN  OR  AS  zS
L!**S__^%DEwqyy  Zc  Pd  eD  HE  OX  Y]  N^  G^
c
r   c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r     s!      ^ # - r   c                N  a
a \        R  V P                  P                  R. 4       4       R4      p\        VR4       \	        V RR4      '       g)   V P                  RRRR	VR
,           2R^R7       RV n        V P                  q3'       g   Q hVR8X  d   R
VR
,          /# \        V 4      pVR8X  dq   V P                  4        VP                  V P                  RV R24      4       VP                  R^4       \        \        V 4      '       * R\        V 4       24       RR/# VR8X  dK   V P                  RRRRR7      p\        VP                  4       P                  4       R4       R\!        V4      /# VR8X  d   RV P                  P                  R. 4      /# VR8X  EdQ   V P                  R R!R\#        V4      R"RR7      p\        VP                  4       R#4       \$        P&                  ! V4      pR$\(        P*                  ! 4       P,                  R%,          ,           oV
V3R& lo
\        S
! V4      R'4       V P                  R R!R(\#        V4      R"\$        P.                  ! VR2R)7      4       V P                  R R\#        V4      R*4      qP1                  \2        P4                  P7                  V4      P8                  4      qP                  R R!R(\#        V4      R"V4       \        SV	9   R+4       R,R/# VR-8X  d   R.R/# VR/8X  d   R0\;        VP                  R14      4      /# \=        V4      h)3c              3  T   "   T F  qP                  R 4      R8X  g   K  Vx  K   	  R# 5i)rv  	elementorNr|  r  s   & r   rt  t_elementor.<locals>.<genexpr>  s!     Y:qeeFm[>X:s   (
(r=  Nz%Elementor profile must declare pluginelementor_readyFr?  rC  rO  r@  r;  rU  rl   T	TF-EL-001	TF-EL-002re  z&action=elementorr  zElementor editor errors: editor	TF-EL-003rG  r   elementor_active_kitrW  zElementor active kit missingkit	TF-EL-004theme_builder_contractelementor_templates	TF-EL-005rZ  rL  _elementor_dataz(no Elementor document data for roundtripTF_EL_r  c                   < V  FR  pVP                  R 4      R8X  d   SVP                  R/ 4      R&    R# S! VP                  R. 4      4      '       g   KQ   R# 	  R# )
widgetTypeheadingsettingsr  TelementsF)r   r  )nodesr  mutaterS  s   & r   rd  t_elementor.<locals>.mutate)  sS    55&	1X`1<<
23Nw3Wim!%%
2.//  r   zno heading widget to editrK   )
separatorsrM  z#Elementor edit not visible frontendrQ  	TF-EL-006dynamic_tags	TF-EL-008dependency_requiredrequired)r   rw  )r  r   r   r!   rG  r&  rQ  r   ra  r  r   r  r   rH  r'  r_  r)   r   rm   rt   rZ  r[  r\  rn   r  rp   r  r  r?   r   r   )r%  r5  r?  r  rH  rW  rw   rj   rg   r  rd  rS  s   &&        @@r   t_elementorrl    s   YCLL,,Yr:YZ^_Fahio  qX  bY3(//;YcdjktducvWw  yE  NQ  2R  hl  TW  Tg	kkA!8!
K6)+< ==cC
K*AJJsIabeaffwGx7y,z|}  }F  }F  Gz  {}  }~  @G  L`  ad  Le  He  hA  BV  WZ  B[  A\  f]  @^  hp  qu  gv  `v
KSVVHU3IPUVVX_`c`i`i`k`s`s`u  wU  YV  `e  fi  jm  fn  _o  Xo
K!9#,,:J:JK`ac:d ee
KFF6&s3x0AFNPWX[XaXaXc  eO  QP  W[  Wa  Wa  be  Wf  RV  qy  z~  zD  zD  zF  zJ  zJ  KM  zN  qN  hp	
 	t89366&PXY\]`Yabstxt~t~  @D  PY  uZ  <[  ad  ag  ag  hn  ot  ux  y|  u}  ~K  aL  ]`  S`  S`  ag  am  am  av  av  wz  a{  a@  a@  SA  NR  CI  CI  JP  QW  X`  ad  eh  ai  j{  |  C@  BI  JR  VZ  JZ  [@  BA  KV  W[  J\  C\
K 55
K!6tFJJz<R7S TT
c
r   c               $    V ^8  d   QhRRRRRR/# r;  r   )r   s   "r   r   r   4  s!     + +. +s +} +r   c                N   V P                  R R4      q P                  R4      pVR8X  dN   RV P                  P                  R. 4       Uu. uF$  qDP                  R4      '       d   K  VR,          NK&  	  up/# VR8X  d   R	V P                  P                  R. 4      /# R
VRV/# u upi )rB  r;  zecho PHP_VERSION;zTF-COMPAT-003optional_plugins_declaredr=  rk  rv  zTF-COMPAT-004boundary_metadata	wordpressr+  )r&  r.  r   r   )r%  r5  r;  r+  r  s   &&   r   t_compatrr  4  s    FF6)$G++6I*Jc
O%@UXUaUaUeUefoprUs  BNUsPQ  |A  |A  BL  |M)!F))Us  BN  %O  O
O%89I9I)TV9W$XXc** BNs   	B"&B"c                    V ^8  d   QhRRRR/# rl  r   )r   s   "r   r   r   <  s     
5 
5> 
5m 
5r   c           
     6  a \        V 4       V P                  P                  R . 4      p. pV P                  q3'       g   Q hV P                  R,           F<  qCP                  V P                  V4      4       VP                  \        V 4      4       K>  	  V Fz  pVR,          qb Uu. uF#  p\        P                  ! Wg4      '       g   K!  VNK%  	  pp\        \        V4      \        VP                  R^4      4      8H  RV R\        V4       24       K|  	  V Uau. uFG  o\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   KE  SNKI  	  p	p\        V	'       * R	V	R,           24       R
\        V4      R^ /# u upi u upi )expected_errorsr  patternr  z,expected-error declaration stale/mismatched z: got c              3  `   <"   T F#  p\         P                  ! VR ,          S4      x  K%  	  R# 5i)rv  Nr  )rs  r  r   s   & r   rt  $t_expected_errors.<locals>.<genexpr>D  s%     .[RZQryy9a/H/HRZs   +.TFzunexpected console errors: r   
unexpected)rj  r   r   r   r   r   r  r  rH  r]  r  r!   r  r)   r{  )
r%  r   r  r  r&  r  patr   matchesry  s
   &      `  r   t_expected_errorsr|  <  sH   \\/3HbX	kkA!8!C**S__U-C"DhooVjknVoFpO%NARYYs=MaaW%NGc$((71"5669efiejjpqtu|q}p~7  	A  $\8a33.[RZ.[333.[RZ.[+[8J\
N8C8IJKs8}\!44	 &O\s$   $FFF(F?FFz
TF-PKG-015z
TF-PKG-016zTF-RUNTIME-001zTF-RUNTIME-002zTF-RUNTIME-003zTF-RUNTIME-004zTF-RUNTIME-005zTF-RUNTIME-006zTF-RUNTIME-007zTF-RUNTIME-008zTF-RUNTIME-009zTF-RUNTIME-010zTF-INSTALL-001zTF-A11Y-001zTF-A11Y-002zTF-A11Y-003zTF-A11Y-004zTF-A11Y-005zTF-A11Y-006zTF-A11Y-007zTF-A11Y-008zTF-EDITOR-001zTF-EDITABILITY-001zTF-EDITABILITY-002z	TF-GB-001z	TF-GB-002z	TF-GB-003z	TF-GB-004z	TF-GB-006zTF-TEMPLATE-001zTF-TEMPLATE-002zTF-TEMPLATE-003zTF-TEMPLATE-004zTF-DEMO-001zTF-DEMO-002zTF-DEMO-003zTF-DEMO-004zTF-DEMO-005zTF-FORM-001zTF-FORM-002zTF-FORM-003z
TF-SEC-001z
TF-SEC-002z
TF-SEO-001z
TF-SEO-002z
TF-SEO-003zTF-CLASSIC-002zTF-CLASSIC-003zTF-CLASSIC-004zTF-CLASSIC-005z
TF-REL-005z5dict[str, Callable[[RuntimeContext], dict[str, Any]]]TESTSc                    \        W4      # r    )rA  r%  r5  s   &&r   rE   rE   ~  s    Sr   zTF-PERF-03dc                    \        W4      # r    )r  r  s   &&r   rE   rE     s    S`adSir   zTF-FSE-c                    \        W4      # r    )r  r  s   &&r   rE   rE     s    Z_`cZhr   zTF-CONV-c                    \        W4      # r    )r+  r  s   &&r   rE   rE     s    S_`cShr   c                    \        W4      # r    )r6  r  s   &&r   rE   rE     s	    hsFWr   zTF-WOO-c                    \        W4      # r    )rK  r  s   &&r   rE   rE     s    R_`cRhr   c                    \        W4      # r    )rl  r  s   &&r   rE   rE     s      AL  MP  AUr   z
TF-COMPAT-c                    \        W4      # r    )rr  r  s   &&r   rE   rE     s    U]^aUfr   c                   V ^8  d   QhRR/# )r   r   zset[str]r   )r   s   "r   r   r     s     q qH qr   c                 >   \         P                  4       P                  4        U u. uF0  q P                  4       '       g   K  \        P
                  ! V 4      NK2  	  pp V Uu0 uF+  q"R ,          R8X  g   K  VR,          R9   g   K"  VR,          kK-  	  up# u up i u upi )runnerr
   phaser  >   releaser
   	scheduled)LEDGERrS  r^  r'  rm   rt   )r   rowsrs      r   ledger_runtime_idsr    sw    !'!1!1!3!>!>!@	N!@AGGI-$**Q-!@D	N!pTx[)%;G'
No@oGAdGGTpp 
Ops   BB!B5BBc                   V ^8  d   QhRR/# r   r   )r   s   "r   r   r     s     [ [T [r   c                     \        \        4       \        \        4      ,
          4      p V '       d   \	        R V  24      hR# )z+runtime ledger IDs without implementation: N)r  r  r  r}  r   )rY  s    r   self_check_registryr    s1    %'E
23Gk$OPWy"YZZwr   c                    V ^8  d   QhRRRR/# )r   r   r   r   r   r   )r   s   "r   r   r     s     - - - -r   c           
     @   . ROpV Uu/ uF)  q"\        \        R,          P                  VR4      4      bK+  	  ppVP                  4        FG  w  rE\	        RV9   ;'       d&    \        VP                  R^4      ^,          4      ^@8H  RV RV 24       KI  	  RV RV/# u upi )	r=  r
   r   z@sha256:z$runtime image is not digest pinned: =r   r3  )r=  r  r<  r>  r  )r   r  r   r  r!   r  r  )r   r  r{  r3  r  r  s   &     r   runtime_environmentr    s    	_D8<=1c&#''"-..F=<<>
c!JJc#**Z*B1*E&F&JMqruqvvwx{w|K}~ "VHV,, >s   /Bc                   V ^8  d   QhRR/# r\   r   )r   s   "r   r   r     s      c r   c                    \         P                  ! 4       q P                  R RR7       V P                  RRRR7       V P                  R\        RR7       V P                  R\        P
                  P                  R	R
4      R7       V P                  RRR7       V P                  4       pVP                  '       d   \        4        \        R4       ^ # VP                  P                  R4      '       d+   \        VP                  R,          4      P                  4       MVP                  p\        P                  ! V4      p\!        \#        V\$        4      ;'       d    TR4       \        4        V Uu. uF  qD\&        9  g   K  VNK  	  pp\!        V'       * RV 24       \        P                  ! \(        R,          VP*                  ,          R,          P                  4       4      p\-        VP*                  WcVP.                  R7      p. p\0        P0                  ! 4       p	/ p
 VP3                  4        R\5        VP6                  4      RR/p
V F  p\0        P0                  ! 4       pRp/ pRp\&        V,          ! V4      ;'       g    / pVP?                  RVRVR\A        \0        P0                  ! 4       V,
          R ,          ^4      R!VR"V/4       K  	  \B        PD                  ! \8        4      ;_uu_ 4        TPG                  4        RRR4       R$^R%TP*                  R&R'R(\        P
                  P                  R)R*4      R+\        P
                  P                  R,R-4      R.TR/T Uu. uF  pTR,          NK  	  upR0TR1T
R2\I        TP.                  4      R\A        \0        P0                  ! 4       T	,
          R ,          ^4      R\J        ;QJ d    R3 T 4       F  '       d   K   R4M	  RM! R3 T 4       4      '       d   RMR/pTPL                  PN                  PQ                  RRR57       TPL                  PS                  \        PT                  ! T^R67      R7,           4       T Uu. uF  pTR,          R8w  g   K  TNK  	  ppT'       dX   \        \        PT                  ! RT Uu. uF  pRTR,          R"TR",          /NK  	  up/^R67      \V        PX                  R87       ^# ^ # u upi   \8         d(   pRp\;        T4      P<                   RT 2p Rp?ELRp?ii ; i  \8         dp   pT Uu0 uF  pTR,          kK  	  Mu upi ppT F@  pTT9  g   K  TP?                  RTRRR^ R!/ R"R#\;        T4      P<                   RT 2/4       KB  	   Rp?ELRp?ii ; i  + '       g   i     EL; i  \B        PD                  ! \8        4      ;_uu_ 4        TPG                  4        RRR4       i   + '       g   i     i ; i; iu upi u upi u upi )9z--themeT)rk  z--testszJSON array or @file)rk  helpz--out)r   rk  z--engineTHEMEFACTORY_CONTAINER_ENGINEr   )defaultz--self-check
store_true)actionzruntime registry complete@:r  NNz-runtime shard must contain nonempty test listz%unknown/unimplemented runtime tests: rw  ztheme-test.yaml)r   rH   freshInstallpassedNfailedr  r  r2  duration_msi  detailr1  z	fixture: schemar   r  r
   shard_idTHEMEFACTORY_SHARD_IDzruntime-localtreeTHEMEFACTORY_TREEr   expected_idsexecuted_idsr4  r   environmentc              3  8   "   T F  qR ,          R8H  x  K  	  R# 5i)r2  r  Nr   )rs  r  s   & r   rt  main.<locals>.<genexpr>  s=       Rz  ry  mn  U]  S^  `h  Sh  rys   F)parentsexist_ok)indentr3   r0  )-argparseArgumentParseradd_argumentr   osenvironr   
parse_args
self_checkr  printtestsrq  rS  rm   rt   r!   r  r   r}  r7   r   r   r   r   rk  rH   r   r   r   r   r  roundr   r   r  r  allr  parentr|  
write_textrn   r  r/   )apr   rw   	requestedr   unknownr   r%  r4  startedr   r5  t0r2  r  r1  r3  r  donereceiptr  s                        r   mainr    sR    B//)T/"JBOO\eos  zOO  MP  RT  Ra  Ra  bi  os  }A  Ra  RB  DF  DS  DS  T^  gi  gq  gq  gu  gu  vU  V^  g_  DS  D`  bd  bq  bq  r@  HT  bq  bU  \^  \i  \i  \k  W[+-u5P/QZ[,0JJ,A,A#,F,FTZZ^&&(DJJCbfblblmpbqXasz  |F  GP  QU  |V  |d  |d  [d  eT  tU  Wj  Wl  BK  v^  BK  }~  X]  O]  wx  wx  BK  nu  v^  `g  ls  hs  v[  \c  [d  te  `fZZhtzz12CCNNPQHWefjfpfpqy  LP  LW  LW  XXSV  bd  Za  nr  nw  nw  ny  fm  DF  {C;		xs||(<^DQXCyy{B8FBVdc
3--2NNDXf]5$))+VX.Z^I^_`Cabjkqryz  A  B	    ++S[[]+a

8IjXop  JA  BH  IK  IS  IS  IW  IW  Xk  ln  Io  p~  H  IW  jq  Xr  jq  ef  YZ  [_  Y`  Y`  jq  Xr  s|  }D  EO  PX  Yf  gz  {  {F  {F  gG  HU  V[  ]a  ]f  ]f  ]h  ip  ]p  rv  \v  wx  Vy  zB  OR  OR  Rz  ry  Rz  OR  OR  OR  Rz  ry  Rz  Oz  Oz  CK  @H  IGHHOO$5txx7J7J4::V]efKghlKl7m8w!!H+x"7AAwF8djj(v#Vv!T!D''!G*$Ev#VW_`agjgqgqr{|+ v^ ZHVtCy?Q?Q>RRTUXTY<ZeZ Y&'w!aggw''C$S(=YZ[cdfgnqz{  AD  |E  |N  |N  {O  OQ  RU  QV  pW  0X  !Y Y ,++Z  ++S[[]++++ Xr8#Vs   0SS A	T )S"A
T 2V"W;X 4X X"T-T	T TT V"V&T98V8VV( VV( V%	(#W8W%		W8%W50W8__main__zruntime-harness: r  )Nr>  r   r    )z
TF-VIS-002z
TF-VIS-003)rR  rS  rU  rX  r[  rg  ri  )__conditional_annotations____doc__
__future__r   r  r   r   rG   http.cookiejarr  http.serverrm   mathr  randomr]  r}  r`   r  r5   r  rX  	threadingr   urllib.errorrp   urllib.parseurllib.requestrZ  r  rR   dataclassesr   r   pathlibr   r   typingr   r   __file__r  r  r7   rR  rt   rS  r  r  RuntimeErrorr   r!   r=   rH   rZ   rd   rx   rz   r   r  r  r#  r(  r=  rH  rN  rT  rW  ra  rf  rj  rq  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r&  r9  rA  rJ  rT  r\  r`  rj  rn  rr  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r+  r6  rK  rl  rr  r|  r}  r5  r  r  r  r  r  r   
SystemExitr3  r  r/   )r  r  s   0@r   <module>r     sq   #         	  	     
          ( '  H~''*	y	 <	/	TD[=0;;=	>	1	1	, 	#
T # UY "', ,F] F]R YB YB YBz	#<? ! H )S
n"R"BJ& Lf:)m		"
&   L   j   n	   S$	
   g   c   n   M
   q   ~   }   B   k   s \  \!"   m#$ \   Y   ^   p   e   b |   h3} :D#Lk),(/:&'	#
*	,@(
!  ["C	H) TjHC

&8R*.+
54=/4=/4= o4= h	4=
 m4= i4= i4= h4= d4= g4= l4= l4= '4= 54= ;4=  >!4=" <#4=$ =%4=& ='4=( ?)4=* ?+4=, ^-4=. -/4=0 514=2 %34=4 %54=6 74=8 94=: !;4=< ,=4=> *?4=@ -A4=B 'C4=D =E4=F 'G4=H ?I4=J %K4=L >M4=N >O4=P %Q4=R %S4=T -U4=V (W4=X *Y4=Z #[4=\ -]4=^ o_4=` 'a4=b lc4=d 'e4=f #g4=9 4j CC=%*5(-a
3
1hqg
3Cs@iU3Z3',Qqz:z!TgaWz:CVYGhE#J:(-a
3
1hqg
3Cs@hU3Z3&C#3Wc
&',Qqz2z!gaWz2Cc?hE#J2`C|  nUbghkbl`*/!*5*Qj3 *5CQTBfuSz5q
[
-4 Z$&!	! k 4:325b du'8%>CJJOWabcWdQdds<   ,U8U=)U=VVV)V V?"V::V?