
    Jj                      d Z ddlmZ ddlZddlZddlZddlmZ ddlm	Z	  ee
      j                         j                  d   Zedz  Zdd	d
ddddZd%d&dZd'dZd(dZd)dZd*dZd+dZd,dZd-dZd.dZd.dZd.dZd.dZd/dZd0dZd1dZd0dZ	 	 	 d2	 	 	 	 	 	 	 	 	 	 	 	 	 d3dZ d4d Z!d4d!Z"edfd5d"Z#d6d#Z$e%d$k(  r e$        yy)7z4Consolidate predecessor fill-site execution context.    )annotationsN)Path)Any   outzBroot-entry execution path from 0x00478364 to 0x004844d0/0x004844d8zTdescriptor-boundary bridge from predecessor root stop through fill to current readerz\runtime proof that predecessor fill stream executes through the save-selector dispatch slicezIruntime branch-state observation matching the predecessor fill hypothesiszEpredecessor-to-current route order proof before the 0x00542b0c readerzVclosed selector-merge proof connecting predecessor 1:0 and source 0:0 into current 2:0)root-entry-to-filldescriptor-boundary-bridgedispatch-slice-runtime-proofruntime-fill-observedroute-orderselector-merge-closedc                x    | j                         s|i S |S t        j                  | j                  d            S )Nutf-8encoding)existsjsonloads	read_text)pathfallbacks     \/home/exedev/hwanse/tools/summarize_save_selector_predecessor_fill_site_execution_context.py	load_jsonr      s5    ;;=%r383::dnngn677    c                B    dj                  d | xs g D              xs dS )N,c              3  2   K   | ]  }t        |        y wN)str).0values     r   	<genexpr>zcsv.<locals>.<genexpr>    s     95CJ9s   -)join)valuess    r   csvr&      s     889FLb99@S@r   c                *    t        t        |             S r   )r   bool)r!   s    r   	bool_textr)   #   s    tE{r   c                h    d}| D ]  }	 |t        |xs d      z  } |S # t        t        f$ r Y +w xY w)Nr   )int	TypeError
ValueError)r%   totalr!   s      r   int_sumr/   '   sM    E 	S!_$E
 L :& 		s   11c                \    t        |D cg c]  }| j                  |       c}      S c c}w r   r/   get)hitslabelslabels      r   target_hit_sumr6   1   s#    8DHHUO8998   )c           	     H    ddddddddd	}|j                  ||          xs i S )
NruntimeBranchStateSplit,leftOverrunActivationRuntimeBranchStateSplit"nearestExitRuntimeBranchStateSplit%reciprocalExitRuntimeBranchStateSplit!coordinateRuntimeBranchStateSplit!trailStartRuntimeBranchStateSplit'trailLeftOverrunRuntimeBranchStateSplit$highFrequencyRuntimeBranchStateSplit)direction-sweepleft-overrun-activationnearest-exitreciprocal-exits
coordinatetrail-starttrail-left-overrunhigh-frequencyr2   )row_namebranch_state_execution_gapkey_by_names      r   	split_forrM   5   s>    4#Q<C9:G@	K &))+h*?@FBFr   c                v   |xs i }| |j                  d      du |j                  d      |j                  d      |j                  d      |j                  d      xs g |j                  d      xs g |j                  d      du |j                  d	      du |j                  d
      du |j                  d      dS )N	availableTstagedSaveKindsequenceCountsampleCountobservedSelectorsobservedPublicSaveSelectorsanyReachedPublicSaveSelectoranyReachedCurrentRootanyReachedRouteSelectorContextpromotionStatus)namerO   rP   rQ   rR   rS   rT   publicPredecessorReachedcurrentRootReachedrouteSelectorReachedrX   rI   )rY   polls     r   compact_selector_pollr^   C   s    :2DXXk*d2((#34/2xx.!XX&9:@b'+xx0M'N'TRT$(HH-K$LPT$T"hh'>?4G $)I Jd R88$56 r   c                :   |xs i }|xs i }i d| d|j                  d      du d|j                  d      d|j                  d      d|j                  d      d|j                  d      xs g d|j                  d      xs g d	|j                  d
      du d|j                  d      du d|j                  d      du d|j                  d      d|j                  d      xs g d|j                  d      du d|j                  d      du d|j                  d      d|j                  d      d|j                  d      |j                  d      |j                  d      |j                  d      |j                  d      |j                  d      dS )NrY   rO   TrP   rQ   rR   rS   rT   rZ   rU   r[   rV   r\   rW   activeSelectionFlagHexsecondaryBranchStateHexessecondaryBranchStateAllZero matchesPredecessorFillHypothesissplitClassificationclassificationsplitNextProofFocusnextProofFocuscoordinateTargetObservedcoordinateAnyTargetTileObservedtrailAnyTargetTileObservedtrailAnyTrailMovementObservedcameraTargetObservedactorTargetObservedtrailTargetObserved)trailStartTargetObservedtrailStartMovementObserved$trailLeftOverrunCameraTargetObserved#trailLeftOverrunActorTargetObserved#trailLeftOverrunTrailTargetObservedrI   )rY   r]   splits      r   compact_branch_state_pollru   T   s   :2DKRETXXk*d2 	$((#34 	/2	
 	txx. 	TXX&9:@b 	&txx0M'N'TRT 	#DHH-K$LPT$T 	dhh'>?4G 	)I Jd R 	!$((+C"D 	$TXX.I%J%Pb 	&txx0M'NRV'V 	+DHH5W,X\`,` 	uyy)9:  	uyy)9:!" 	#EII.O$P#$ %*II.J$K&+ii0O&P05		:P0Q/4yy9N/O/4yy9N/O- r   c                ,     t         fddD              S )Nc              3  D   K   | ]  }j                  |      d u   ywTNrI   r    keyrows     r   r"   z-branch_row_target_observed.<locals>.<genexpr>r   s&      	 		    )rh   ro   rq   rr   rs   anyr{   s   `r   branch_row_target_observedr   q   s     	
	 	 	r   c                ,     t         fddD              S )Nc              3  D   K   | ]  }j                  |      d u   ywrx   rI   ry   s     r   r"   z<branch_row_actor_or_trail_target_observed.<locals>.<genexpr>   s&       	r|   )rh   ro   rr   rs   r}   r   s   `r   )branch_row_actor_or_trail_target_observedr   ~   s     
  r   c                |    | j                  d      du xr( | j                  d      duxr | j                  d      duS )Nrq   Trr   rs   rI   r   s    r   &branch_row_camera_only_target_observedr      sI    674? 	GGG9:$F	GGG9:$Fr   c                B    | j                  d      du xs t        |       S )Nrp   T)r2   r   r   s    r   &branch_row_movement_or_target_observedr      s#    77/0D8[<VWZ<[[r   c                \    t        | D cg c]  }|j                  d       c}      S c c}w )NrR   r1   )rowsr{   s     r   sum_samplesr      s$    d;sCGGM*;<<;r7   c                r    | xs i j                  d      xs g D ]  }|j                  d      dk(  s|c S  i S )N	snapshotsphasefinalrI   )scanr{   s     r   final_snapshotr      sB    
,2 777w&J Ir   c                    | xs i j                  d      xs g D ])  }|j                  d      |k(  s|j                  d      c S  y )NimagePairHitsrY   hitCountCappedrI   )r   rY   r{   s      r   image_hit_countr      sJ    
06B -776?d"77+,,- r   c                0   | xs i } i }i }d}g }| j                  d      xs g D ]  }d}i }i }|j                  d      xs i j                  d      xs g D ]  }	|dz  }|	j                  d      xs i j                  d      xs d	}
|j                  |
d      dz   ||
<   |j                  |
d      dz   ||
<   |	j                  d
      xs i }|j                  d       d|j                  d       }|j                  |d      dz   ||<   |j                  |d      dz   ||<   |
dk(  sd} |r |j                  |j                  d             |j                  d|       |j                  d|       |j                  dt        |j	                                      |j                  d|        | j                  d|      | j                  dt        |            | j                  d      xs || j                  d      xs || j                  d      xs |dS )Nr   r   Fr   r   r   selectedPointerContextselectorr#   
cameraTilexr   yz2:0TrY   snapshotSelectorCountssnapshotCameraTileCountssnapshotCountsnapshotRouteCandidatesnapshotRouteCandidateCountsnapshotRouteCandidateNames)r   r   r   r   r   )r2   append
setdefaultsumr%   len)r   selector_countscamera_countssnapshot_countroute_candidate_namessequence_rowsequence_has_routerow_selector_countsrow_camera_countssnapshotr   camera
camera_keys                r   %computed_field_entry_snapshot_contextr      sD   :2D&(O$&MN(.B N".0,.%))&17R<<[IOR 
	*HaN %=>D"II*U\Y\H(7(;(;Ha(H1(LOH%,?,C,CHa,PST,T)\\,/52F"JJsO,Afjjo->?J(5(9(9*a(H1(LM*%,=,A,A*a,PST,Tj)5 %)"
	* !(()9)9&)AB 8:MN :<MN5H5O5O5Q1RS 8:LM)N, />B'+xx)%&(
 (,xx0M'N'gRg"&((+C"D"W$(HH-G$H$YM	 	r   c           *     >O   | j                  d      xs |j                  d      }| j                  d      xs |j                  d      }|xs i }|xs i }|xs i }|j                  d      |k7  s|j                  d      |k7  ri }|j                  d      xs g }|j                  d      xs g }	t        d|j                  d            t        d|j                  d            g}
t        d|j                  d	      t        d|            t        d
|j                  d      t        d
|            t        d|j                  d      t        d|            t        d|j                  d      t        d|            t        d|j                  d      t        d|            t        d|j                  d      t        d|            t        d|j                  d      t        d|            t        d|j                  d      t        d|            g}|D cg c]
  }|d   s	| }}t	        d |
D              }t	        d |D              }t	        d |D              }t	        d |D              }t	        d |D              }t	        d |D              }t	        d |D              }t	        d  |D              }|D cg c]  }t        |      s| }}|D cg c]  }t        |      s| }}|D cg c]  }t        |      s| }}|D cg c]  }t        |      s| }}|r:|s8t        d! |D              s&t        d" |D              st        d# |D              sd$n|rd%nd&}t        |      }i d'|j                  d'      d(|j                  d(      d)|j                  d)      d*|j                  d+      xs i j                  d,      d-|j                  d.      xs i d/|j                  d/      xs g d0|j                  d0      d1|j                  d1      d2|j                  d2      d3|j                  d3t        |d4            d5|j                  d5      d6|j                  d6      d7|j                  d7      d8|j                  d8      d9|j                  d9t        |d:            d;|j                  d;      d<|j                  d<      |j                  d=      |j                  d>      |j                  d?      |j                  d@      xs g |j                  dA      dB}i dC|j                  dC      dD|j                  dD      dE|j                  dE      xs g dF|j                  dF      xs i dG|j                  dG      xs i dH|j                  dH      xs i dI|j                  dI      xs i d)|j                  d)      dJ|j                  dJ      dK|j                  dK      dL|j                  dL      dM|j                  dM      dN|j                  dN      dO|j                  dO      dP|j                  dP      dQ|j                  dQ      xs g dR|j                  dR      xs g |j                  d@      xs g |j                  dS      xs g |j                  dT      |j                  dA      dU}|j                  t        |             | j                  dV      xs i }|j                  dW      xs g }|r|dX   ni } | j                  dY      xs i }!| j                  dZ      xs i }"| j                  d[      xs i }#|#j                  d\      xs i }$|j                  d]      xs i }%|j                  d^      xs i }&|j                  d_      xs i }'|j                  d`      xs i }(|%j                  da      xs i })|&j                  da      xs i }*dbdcg}+t        |)|+      },t        |*|+      }-| j                  dd      deu }.|j                  df      deu }/| j                  dg      deu }0| j                  dh      deu xs |j                  di      deu xs |dXkD  }1| j                  dj      deu }2| j                  dk      dlu }3| j                  dm      xs i }4| j                  dn      xs |4j                  dn      xs g }5| j                  do      xs i }6| j                  dp      xs i }7|.xr |/xr |0xr
 |1xr |2xr |3}8dq|.|.rdrndsdt|j                  du       dvt        |j                  dw      xs g        dxt        |j                  dy      xs g        dz| j                  d{       d|| j                  d}       
d~d|/|/rdrndsdj!                  g d|%j                  du       d|, d|)j                  d       d|&j                  du       d|*j                  d       d|'j                  d'       d|'j                  d       d|'j                  d       d|'j                  d       d|'j                  d       d|(j                  d       d|(j                  d       d|(j                  d'       d|j                  dJ       dt        |j                  d             dt#        |j                  dR      xs g        d|j                  dT             d~d|0|0rdrndsdj!                  g d| j                  dg       d| j                  d       dt        | j                  d             dt#        | j                  d      xs g        d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d|4j                  d'             d~d|1|1rdrndsdt#        |       d| d| d| d| d| d~d|2|2rdrndsd|2 d~d|3|3rdrndsd|3  d~g}9t	        d |9D              }:t#        |9      |:z
  };|9D cg c]  }|d   	 }<}|9D ci c]  }|d   |d    }=}|9D cg c]  }|dr   deus|d    }>}|>D ?cg c]  }?t$        j                  |?|?       }@}?dg dâdĜdg dƢdĜdg dȢdĜdg dʢdĜdg d̢dĜdg d΢dĜg}Ad| j                  dЫ      deu rdndd| j                  dԫ       dt        | j                  d֫      xs g        dz| j                  d׫       d| j                  d٫       d| j                  d۫       
dܜdq|.sdndd| j                  d       d|. d| j                  d       dܜd|!j                  d'      xs dd|!j                  d       d|!j                  d       d|!j                  d       d|!j                  d       d|!j                  d       d|!j                  d       dܜd|"j                  d'      xs dd|"j                  d       d|"j                  d       d|"j                  d       d|"j                  d       d|"j                  d       d|"j                  d       d|"j                  d       dܜd|#j                  d'      xs ddj!                  g d|#j                  d       d|#j                  d       d|#j                  d        d|#j                  d       d|#j                  d       d|#j                  d       d|#j                  d       d|#j                  d       d	|#j                  d
       d|#j                  d       d|#j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|#j                  d      xs i j                  d       d|$j                  d       d|$j                  d             dܜd|/sdndd|j                  d       d |j                  d!       d"|%j                  du       d#|&j                  du       d|'j                  d'       
dܜd$|'j                  d'      xs dd%|'j                  d       d|'j                  d       d|'j                  d       d|'j                  d       d&|'j                  d'       d(|'j                  d)       d*|'j                  d+       dܜd,|(j                  d'      xs dd-|(j                  d       d.|(j                  d/       d|(j                  d0       d|(j                  d       dv|(j                  d1       d|(j                  d2       dܜd| j                  dg      dlu r| j                  d      deu rd3nd4dj!                  g d| j                  dg       d| j                  d       dt        | j                  d             dt#        | j                  d      xs g        d| j                  d       d| j                  d       d| j                  d5       d6| j                  d7       d8| j                  d9       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d:t        | j                  d;             d| j                  d       d| j                  d       d| j                  d       d|4j                  d'       d<|4j                  d=       d>t        |4j                  d?                   dܜd@|4j                  d'      xs ddA|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       dB|4j                  dC       d<|4j                  d=       d:t        |4j                  d;             d>t        |4j                  d?             dD|4j                  d       dܜdE|6j                  d'      xs ddF|6j                  dG       dH|6j                  dI       dJ|6j                  dK       dL|6j                  dM       d|6j                  dN       d|6j                  dO       dP|6j                  dQ       d|6j                  dR       dS|6j                  dT       d|6j                  dU       dV|6j                  dJ       dW|7j                  dX       d|7j                  dY       d|7j                  dZ       dܜd[|r|sd\nd]dt#        |       d| d| d| d^| d_| d| d| dܜd`|dat#        |       dbt'        |       dct#        |       ddt'        |       det#        |       dft#        |       dgt	        dh |D               dit	        dj |D               dkt	        dl |D               dmt	        dn |D               dܜdo|j                  dD      dXk(  rdpndqdj!                  g dr|j                  d'       ds|j                  d*       dt|j                  dC       du|j                  dD       dv|j                  dF       dw|j                  dG       dx|j                  dy       dz|j                  d{       d||j                  d}       d~|j                  d       d|j                  dH       d|j                  dJ       d|j                  dK       dt        |j                  dQ             d|j                  dT       dt)        d |D        d              dܜddd| j                  d       d| j                  d       d| j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       dt        |       dt        |	       d|2 d|3 dܜg}Bdt#        |       d}Ci d|d|d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d֫      xs g d|j                  d      xs i j                  d      xs g d|
d|d|dt#        |      d|d|d|d|i d|d|d|dt#        |      dt'        |      dt	        d |D              dt	        d |D              dt#        |      dt'        |      dt	        d |D              dt	        d |D              dt	        d |D              dt	        d |D              dt#        |      dt#        |      d|d| j                  dԫ      i d| j                  d׫      d| j                  d٫      d| j                  dī      d| j                  dЫ      d| j                  d۫      d|j                  du      d|dd| j                  dd      d| j                  d      xs i dY|!d|!j                  d      d|!j                  d      d|!j                  d      d|!j                  d      d|!j                  d      d|!j                  d'      dZ|"i d|"j                  d'      d|"j                  dϫ      d|"j                  d      d|"j                  d      d|"j                  d      d|"j                  d      d|"j                  d      d|"j                  d      d[|#d| j                  d֫      d|#j                  d      d|#j                  d       d|#j                  d      d|#j                  d      d|#j                  d      d|#j                  dݫ      d|#j                  d      i d|#j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      d| j                  d      i d|$j                  d      d|$j                  d      d|j                  d      d!|j                  d!      df|/d|j                  d      xs g d|j                  dR      xs g d|j                  dT      d_|'d|'j                  d'      d|'j                  d'      d|'j                  d      d|'j                  d      d|'j                  d      d|'j                  d      d|'j                  d      d|'j                  d      i d|'j                  d)      xs g d |'j                  d+      xs g d`|(d|(j                  d'      d|(j                  d      d|(j                  d/      d|(j                  d0      d|(j                  d      d|(j                  d1      xs i d|(j                  d2      xs i dg| j                  dg      d| j                  d      d| j                  d      xs g d| j                  d      xs g d| j                  d      d| j                  d      d5| j                  d5      i d7| j                  d7      d9| j                  d9      d| j                  d      d| j                  d      d| j                  d      d| j                  d      dC| j                  dC      d| j                  d      d;| j                  d;      xs g d| j                  d      xs g d| j                  d      d=| j                  d=      d?| j                  d?      xs g d	| j                  d	      xs g d| j                  d      d| j                  d      d| j                  d      i d
| j                  d
      d| j                  d      xs g dm|4d|4j                  d'      dt#        |5      do|6dp|7d|6j                  d'      d|6j                  dJ      d|6j                  dG      d|6j                  dI      d|6j                  dK      d|6j                  dM      d|6j                  dN      d|6j                  dO      d|6j                  dQ      d|6j                  dR      i d|6j                  dT      d|6j                  dU      d|7j                  dX      d|7j                  dY      d|7j                  dZ      d|%j                  du      d|%j                  d      d|,d |)j                  d      d!|&j                  du      d"|&j                  d      d#|-d$|*j                  d      d%|1d&| j                  d&      d'|d(|i d| j                  d      d| j                  d      d| j                  d      d)|j                  d      d*|j                  d      d+|j                  d      d,|j                  d      d-|j                  d      d.|d/|	d0|j                  d      d1|j                  d2      d3|j                  d4      dj|2dk| j                  dk      d5|9d6t#        |9      i d7|:d8|;d9|<d:|=d;|>d<t#        |9      dXkD  xr |:dXk(  dJ|8d=|>dR@dSAdTt#        |A      d>|8d)|8rd?ndsd@Bd@g dAdACS c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}?w (B  Nsourcetarget$postWriterOtherOffsetWriteOffsetsHexinvalidSecondaryFillOffsetsHexprogresspredecessorProgressPollrA   predecessorDirectionSweepPollpredecessorBranchStatePollrB   /predecessorLeftOverrunActivationBranchStatePollrC   %predecessorNearestExitBranchStatePollrD   (predecessorReciprocalExitBranchStatePollrE   $predecessorCoordinateBranchStatePollrF   $predecessorTrailStartBranchStatePollrG   *predecessorTrailLeftOverrunBranchStatePollrH   'predecessorHighFrequencyBranchStatePollrO   c              3  d   K   | ](  }|d    s	t        |j                  d      xs d       * yw)rO   rR   r   Nr+   r2   r    r{   s     r   r"   z build_summary.<locals>.<genexpr>  s/      )-0#kJZCGGM"'a()s   
0#0c              3  X   K   | ]"  }t        |j                  d       xs d       $ yw)rR   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>  s(      $-0CGGM"'a($   (*c              3  X   K   | ]"  }t        |j                  d       xs d       $ yw)rQ   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>"  s(      &/2CGGO$)*&r   c              3  ,   K   | ]  }|d    s	d  ywrb   r   N r   s     r   r"   z build_summary.<locals>.<genexpr>%  s      &c2O.P&   
c              3  ,   K   | ]  }|d    s	d  ywrc   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>(  s      (c2T.U(r   c              3  ,   K   | ]  }|d    s	d  yw)rZ   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>+  s      (c2L.M(r   c              3  ,   K   | ]  }|d    s	d  ywr\   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>.  s      'c2H.I'r   c              3  ,   K   | ]  }|d    s	d  ywr[   r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>1  s      .c2F.G.r   c              3  &   K   | ]	  }|d      yw)rc   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>E  s     pC>?p   c              3  &   K   | ]	  }|d      yw)r\   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>F  s     d23dr   c              3  &   K   | ]	  }|d      yw)r[   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>G  s     bc01br   z$camera-target-only-fill-not-observedzactor-or-trail-target-observedztarget-not-observedre   'coordinateSourceRejectionClassificationrX   finalSelectorr   r   finalCameraTiler   pairHitSummaryRows'publicSaveStartPointerTableTileHitCount!publicSaveStartStaticBaseHitCount publicSaveStartTrailRingHitCountpublicSaveStartImageHitCountzpublic-save-start'publicSaveStartKnownGlobalImageHitCount%observedTrailPointerTableTileHitCountobservedTrailStaticBaseHitCountobservedTrailTrailRingHitCountobservedTrailImageHitCountzobserved-trail%observedTrailKnownGlobalImageHitCount"reciprocalPointerTableTileHitCountreciprocalStaticBaseHitCountreciprocalTrailRingHitCountreciprocalImageHitCountremainingProofs
conclusion)r   r   r   r   r   rQ   fieldEntryCandidateCountfieldEntryCandidateNamesfinalSelectorCountsfinalCameraTileCountsclassificationCountsactiveOrderPatternCounts
proofFoundpredecessorFieldEntryProofFoundfieldEntryRouteCandidateFoundselector2FinalObservedselector2SnapshotObserved#routeRelevantRuntimeObjectTileFoundselectedRootExecutionProofFound"failedPredecessorFieldEntryGateIdsmissingEvidenceevidenceRefsevidenceRefCount)r   r   r   r   rootEntryFixedTraversalstopRowsr   encodedFillEntryCandidateScanencodedRawScalarRejectionrootTailIsolationScanimmediatePredecessorRowrootStopDescriptorClosurefillStopDescriptorClosuredescriptorEdgeRejectiondescriptorEncodedTargetScantargetEdgeHitszpredecessor-fill-site-0zpredecessor-fill-site-1)rootEntryFixedTraversalFillSitesReachableTdescriptorBridgeProofFound)predecessorDispatchSliceRuntimeProofFoundruntimeObservedFillruntimePredecessorFillObservedrouteOrderProvenselectorMergeGapOpenF%predecessorDispatchTableBaseRejection%predecessorDispatchTableBaseAuditRowsrawGenericCallGraphContrast#rawGenericCallGraphDepthSensitivityr   passedblockedzvisited=visitedNodeCountz
; targets=targetHexesz
; reached=reachableTargetHexesz; stop=vaHex:reason)gater  statusdetailr	    z
rootNodes=z; rootFillEdges=z; rootReaderEdges=zcurrent-readerz; fillNodes=z; fillReaderEdges=z; edgeReject=z; descriptorEdges=rootDescriptorTargetEdgeCount/fillDescriptorTargetEdgeCountz; routeEdges=!rootRouteExecutionTargetEdgeCount!fillRouteExecutionTargetEdgeCountz; encodedRouteTargets=rawScalarCandidateCountpromotingCandidateCountz; encodedClass=z; bridgeProof=z; bridgeFailedGates=failedDescriptorBridgeGateIdsz; bridgeMissingEvidenceCount=z; bridgeEvidenceRefs=r
   zsliceRuntimeProof=z; dispatchTableProof="predecessorDispatchTableProofFoundz; dispatchFailedGates=%predecessorDispatchTableFailedGateIdsz; dispatchMissingEvidenceCount='predecessorDispatchTableMissingEvidencez; dispatchEvidenceRefs=(predecessorDispatchTableEvidenceRefCountz; descriptorDependsOnSlice=4predecessorDescriptorDependsOnSaveSelectorSliceModelz; rawDiffers=2predecessorDispatchRawGeneralDiffersFromSliceCountz; byteReachable=1predecessorDispatchSliceGenericByteReachableCountz; requiresTableBase=4predecessorDispatchSliceRequiresTableBaseSwitchCountz; dynamicDispatches=1predecessorDispatchDynamicIndexedDispatchRowCount1predecessorDispatchDynamicScopeTableCallbackCount=predecessorDispatchDynamicSaveSelectorTableImmediateNearCountz; dynamicTableBaseCandidate=IpredecessorDispatchDynamicSaveSelectorTableBaseSwitchStaticCandidateFoundz; tableBaseArithmetic=:predecessorDispatchSaveSelectorTableBaseArithmeticRowCount@predecessorDispatchSaveSelectorTableBaseArithmeticCandidateCountz; tableBaseReject=r   zpolls=z; seq=z
; samples=z; publicHits=z; fillMatches=z
; allZero=r   zrouteOrderProven=r   zselectorMergeGapOpen=c              3  ,   K   | ]  }|d    s	d  yw)r  r   Nr   r   s     r   r"   z build_summary.<locals>.<genexpr>3  s     (\scRZm(\r   r  r  z;out/save_selector_predecessor_fill_execution_order_gap.json)"localFillTraceContainsAllFillSites"localFillTraceReachesCurrentReaderr  r  r  predecessorFillProofGateRowsr   )r   fieldsz=out/save_selector_predecessor_branch_state_execution_gap.json)r   r9   #publicPredecessorBranchStateAllZerobranchStateExecutionProofFoundr
  z8out/save_selector_predecessor_descriptor_bridge_gap.json)r   r$  r   r   %descriptorEdgeRejectionClassificationrootStopToFillBridgeFoundfillStopToCurrentBridgeFoundr  z3out/runtime_predecessor_coordinate_source_scan.json)
re   r   r   r   r   r   r   r   r   r   z6out/runtime_predecessor_field_entry_sequence_scan.json)rQ   r   r   r   r   r   r   r   r   r   r   rX   z.out/save_selector_branch_gate_consistency.json)"knownOpcodeStatePreservationStatussameTableAndOffsetsameSelectionBufferOffsetHexpostWriterSameOffsetWriteCountpostWriterSameOffsetReadCountpostWriterOtherOffsetWriteCountr   zlocal-fill-fragmentr4  zlocal-fragment-onlyzfill-fragment-missingzstart=localFillTraceStartHexz; fills=	fillSiteslocalFillTraceStopHexz reason=localFillTraceStopReasonz; reachesReader=r5  )kindr  r  zfill-sites-not-reachedzfill-sites-reachedzroot=predecessorRootHexz; rootEntryReachable=z; directFillRefs=directFillSiteRefCountszencoded-fill-entry-candidatesznot-availablezrange=scanRangeHexz; rawScalars=z; rootTailRawScalars=rootTailRawScalarCandidateCountz; branchAttached=branchAttachedEncodedFieldCountz; modeledControlFlow= modeledControlFlowCandidateCountz; promoting=zencoded-raw-scalar-rejectionzrawScalars=z; kinds=rawScalarKindCountsz; sections=rawScalarHandlerSectionCountsz-; noFixed/noBranch/branchAttached/scalarOnly=rawScalarNoFixedAdvanceCountrawScalarNoBranchJumpCountrawScalarBranchAttachedCountrawScalarScalarOnlyCountzroot-tail-isolationrangeHexz; distance=distanceHexz; rows=
dwordCountz; handlers=textHandlerRowCountdataHandlerRowCountotherHandlerRowCountz; branchTargetClasses=branchTargetClassCountsz; branchTargetSections=branchTargetSectionCountsz; branchToFill=branchToFillFragmentCountz; branchToReader=branchToCurrentReaderCountz; fixedToFill=fixedFallthroughToFillCountz; branchClosure=branchClosurebranchSeedCount	edgeCountbranchSeedReachFillCount!branchSeedReachCurrentReaderCountz; branchClosureOutside=outsideSuccessorCountoutsideSuccessorClassCountsoutsideSuccessorSectionCountsz; immediateBeforeFill=handlerSectionhandlerVaHexzno-execution-bridgezbridge-foundzrootStopBridge=r;  z; fillStopBridge=r<  z; rootClosureNodes=z; fillClosureNodes=zdescriptor-edge-rejectionzdescriptorEdges=z; allTargetSectionsData=allTargetSectionsDataz; rootLabels=rootDescriptorOnlyTargetLabelsz; fillLabels=fillDescriptorOnlyTargetLabelszdescriptor-encoded-target-scanzraw=z; root/fill=rootRawScalarCandidateCountfillRawScalarCandidateCounttargetLabelCounts
kindCountszslice-runtime-proof-missingzreview-required predecessorDispatchSliceRowCountz; sliceData=+predecessorDispatchSliceDataDescriptorCountz
; rawCode=&predecessorDispatchRawGeneralCodeCountz; scopeSites=1predecessorDispatchDynamicScopeTableCallbackSitesz; tableBaseCandidates==predecessorDispatchDynamicSaveSelectorTableBaseCandidateCountz; tableBaseCandidateSites==predecessorDispatchDynamicSaveSelectorTableBaseCandidateSiteszdispatch-table-base-rejectionzrequiresTableBase=z; dwordScaled=5predecessorDispatchDynamicDwordScaledDispatchRowCountz; tableBaseStaticCandidate=zraw-generic-callgraph-contrastzdepth=maxDepthz; functions=reachableFunctionCountz; edges=directCallEdgeCountz; route/fill/currentImm=routeImmediateHitCountfillImmediateHitCountcurrentImmediateHitCountz; selected/branchImm= selectedPointerImmediateHitCountbranchStateImmediateHitCountz; route/fillTransfers=routeDirectTransferHitCountfillDirectTransferHitCountz; proof=z; depthSensitivity=maxDepthCheckedproofAbsentAcrossCheckedDepths#countsStableAtAndBeyondDefaultDepthzruntime-branch-state-pollsz$public-predecessor-fill-not-observedznot-classifiedz; routeHits=z; currentRootHits=zruntime-target-observationzmovementOrTargetPolls=z; movementOrTargetSamples=z; targetPolls=z; targetSamples=z; cameraOnly=z; actorOrTrailTarget=z; targetFillMatches=c              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>s  s     tSCPrLsqtr   z; targetAllZero=c              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>t  s     $}3Z]^{Z|Q$}r   z; targetRouteHits=c              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>u  s     &xS\_`v\wq&xr   z; targetCurrentHits=c              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>v  s     (xs^abv^w(xr   zruntime-field-entry-inputzfield-entry-not-foundzfield-entry-candidate-foundzcoordinateClass=z; finalSelector=z; sequenceCount=z; fieldEntryCandidates=z; finalSelectors=z; finalCameras=z; snapshots=r   z; snapshotRouteCandidates=r   z; snapshotSelectors=r   z; snapshotCameras=r   z
; classes=z; proofFound=z; candidateProof=z; failedGates=; evidenceRefs=z; trailLeftOverrunCameraTarget=c              3  P   K   | ]  }|d    dk(  s|j                  d         yw)rY   rG   rq   NrI   r   s     r   r"   z build_summary.<locals>.<genexpr>  s7       SSnqrxny  ~R  oR!GH  Ss   &&zstate-preservation-vs-executionz(preservation-narrowed-execution-unprovenzstaticNoLocalTailReset=staticNoLocalTailResetz; staticResetScopeClosed=staticResetScopeClosedz; selectorOrderResetGapClosed=selectorOrderResetGapClosedz; branchGatePreserve=r=  z; branchGateSameOffset=r>  r?  z ; branchGateSameOffsetWriteRead=r@  rA  z; branchGateOtherWrites=rB  @z; branchGateInvalidFillOffsets=z; routeOrder=z; mergeClosed=a(  The predecessor 1:0 fill fragment is a real local fragment, but it is still not proven to execute on the normal path before the current 0x00542b0c reader. Root-entry fixed traversal does not reach 0x004844d0/0x004844d8, descriptor-boundary closure does not bridge into the fill/current path, and zz branch-state runtime poll families reach the public predecessor without observing the expected secondaryBranchState fill.predecessorSelectorcurrentSelectorcurrentRootHexcurrentReaderHexexpectedBranchStateHexesr9   expectedFillHexesselectorProgressPollsselectorProgressSampleCountbranchStatePollsbranchStatePollCountbranchStatePollSequenceCountbranchStatePollSampleCount(branchStatePollPublicPredecessorHitCount"branchStatePollCurrentRootHitCount$branchStatePollRouteSelectorHitCountbranchStatePollAllZeroCountbranchStatePollFillMatchCount$branchStatePollMovementOrTargetCount*branchStatePollMovementOrTargetSampleCount-branchStatePollMovementOrTargetFillMatchCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      =
EgAhA=
r   +branchStatePollMovementOrTargetAllZeroCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      ;
EbAcA;
r   %branchStatePollTargetObservationCount+branchStatePollTargetObservationSampleCount.branchStatePollTargetObservationFillMatchCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      >
EgAhA>
r   ,branchStatePollTargetObservationAllZeroCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      <
EbAcA<
r   5branchStatePollTargetObservationRouteSelectorHitCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      E
E[A\AE
r   3branchStatePollTargetObservationCurrentRootHitCountc              3  ,   K   | ]  }|d    s	d  ywr   r   r   s     r   r"   z build_summary.<locals>.<genexpr>  s      C
EYAZAC
r   $branchStatePollCameraOnlyTargetCount&branchStatePollActorOrTrailTargetCount&branchStatePollTargetObservationStatuslocalFillTraceStopHandlerHex'rootEntryFixedTraversalVisitedNodeCountrootEntryFixedTraversalStopRows'encodedFillEntryRawScalarCandidateCount/encodedFillEntryRootTailRawScalarCandidateCount/encodedFillEntryBranchAttachedEncodedFieldCount0encodedFillEntryModeledControlFlowCandidateCount'encodedFillEntryPromotingCandidateCountencodedFillEntryClassification'encodedRawScalarRejectionClassificationencodedRawScalarAllScalarOnlyrawScalarAllScalarOnly#encodedRawScalarNoFixedAdvanceCount!encodedRawScalarNoBranchJumpCount#encodedRawScalarBranchAttachedCountencodedRawScalarScalarOnlyCountencodedRawScalarKindCounts$encodedRawScalarHandlerSectionCountsrootTailDescriptorIsolatedrootTailDistanceHexrootTailDwordCountrootTailTextHandlerRowCountrootTailDataHandlerRowCountrootTailOtherHandlerRowCountrootTailBranchCapableRowCountbranchCapableRowCountrootTailBranchTargetClassCounts!rootTailBranchTargetSectionCounts!rootTailBranchToFillFragmentCount"rootTailBranchToCurrentReaderCount#rootTailFixedFallthroughToFillCount#rootTailBranchClosureClassificationrootTailBranchClosureNodeCount$rootTailBranchClosureBranchSeedCountrootTailBranchClosureEdgeCount+rootTailBranchClosureTailNodeReachFillCount4rootTailBranchClosureTailNodeReachCurrentReaderCount-rootTailBranchClosureBranchSeedReachFillCount6rootTailBranchClosureBranchSeedReachCurrentReaderCountrootTailBranchClosureProofFound*rootTailBranchClosureOutsideSuccessorCount0rootTailBranchClosureOutsideSuccessorClassCounts2rootTailBranchClosureOutsideSuccessorSectionCounts/rootTailBranchClosureOutsideSuccessorSampleRows*rootTailImmediatePredecessorHandlerSection&rootTailImmediatePredecessorHandlerHexdescriptorBridgeFailedGateIdsdescriptorBridgeMissingEvidence descriptorBridgeEvidenceRefCountr:  #descriptorEdgeAllTargetSectionsData'descriptorEdgeDescriptorTargetEdgeCountdescriptorTargetEdgeCount+descriptorEdgeRouteExecutionTargetEdgeCountrouteExecutionTargetEdgeCount+descriptorEdgeRootDescriptorTargetEdgeCount+descriptorEdgeFillDescriptorTargetEdgeCount/descriptorEdgeRootRouteExecutionTargetEdgeCount/descriptorEdgeFillRouteExecutionTargetEdgeCount,descriptorEdgeRootDescriptorOnlyTargetLabels,descriptorEdgeFillDescriptorOnlyTargetLabels%descriptorEncodedTargetClassification.descriptorEncodedTargetRawScalarCandidateCount2descriptorEncodedTargetRootRawScalarCandidateCount2descriptorEncodedTargetFillRawScalarCandidateCount.descriptorEncodedTargetPromotingCandidateCount"descriptorEncodedTargetLabelCounts!descriptorEncodedTargetKindCounts0predecessorDispatchDynamicScopeTableCallbackRows<predecessorDispatchDynamicSaveSelectorTableBaseCandidateRows@predecessorDispatchSaveSelectorTableBaseArithmeticCandidateFound?predecessorDispatchSaveSelectorTableBaseArithmeticCandidateRows3predecessorDispatchTableBaseRejectionClassification)predecessorDispatchTableBaseAuditRowCount!rawGenericCallGraphClassificationrawGenericCallGraphProofFoundrawGenericCallGraphMaxDepth)rawGenericCallGraphReachableFunctionCount&rawGenericCallGraphDirectCallEdgeCount)rawGenericCallGraphRouteImmediateHitCount(rawGenericCallGraphFillImmediateHitCount+rawGenericCallGraphCurrentImmediateHitCount3rawGenericCallGraphSelectedPointerImmediateHitCount/rawGenericCallGraphBranchStateImmediateHitCount.rawGenericCallGraphRouteDirectTransferHitCount-rawGenericCallGraphFillDirectTransferHitCount2rawGenericCallGraphDepthSensitivityMaxDepthCheckedArawGenericCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsFrawGenericCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepth%descriptorRootClosureVisitedNodeCountdescriptorRootClosureEdgeCount)descriptorRootClosureFillSiteEdgeHitCount.descriptorRootClosureCurrentReaderEdgeHitCount%descriptorFillClosureVisitedNodeCountdescriptorFillClosureEdgeCount)descriptorFillClosureFillSiteEdgeHitCount.descriptorFillClosureCurrentReaderEdgeHitCountruntimeFillObservedruntimeBranchStateAllZerocoordinateSourceContextfieldEntrySequenceContextbranchGateSameTableAndOffset&branchGateSameSelectionBufferOffsetHex(branchGatePostWriterSameOffsetWriteCount'branchGatePostWriterSameOffsetReadCount)branchGatePostWriterOtherOffsetWriteCount.branchGatePostWriterOtherOffsetWriteOffsetsHex(branchGateInvalidSecondaryFillOffsetsHex,branchGateKnownOpcodeStatePreservationStatus%branchGateSlotPreservedByKnownOpcodesstatePreservedByKnownOpcodes/branchGateBranchStateValueStillRuntimeDependent%branchStateValueStillRuntimeDependentrequiredProofGatesrequiredProofGateCountrequiredProofGatePassCountrequiredProofGateFailCountrequiredProofGateStatusOrderrequiredProofGateStatusesrequiredProofGateFailIdsrequiredProofGateAllBlockedfailedPredecessorFillGateIdsfillSiteExecutionContextProvenzready-for-reviewevidence)zPcapture execution at 0x004844d0/0x004844d8 on the public route before 0x00542b0czJdecode the non-linear root-entry path from 0x00478364 to the fill fragmentzYreplace public-predecessor all-zero branch-state polls with a fill-observed runtime tracezAprove predecessor-to-current route order and close selector merge)r2   r^   ru   rM   r   r   r   r   r   r~   r   r   updater   r6   r&   r$   r   "PRED_FILL_MISSING_EVIDENCE_BY_GATEr   next)Dfill_execution_order_gaprK   descriptor_bridge_gapcoordinate_source_scanfield_entry_sequence_scanbranch_gate_consistencyr   r   branch_gate_other_write_offsets branch_gate_invalid_fill_offsetsselector_poll_rowsbranch_state_poll_rowsr{   available_branch_rowsselector_progress_sample_countbranch_state_sample_countbranch_state_sequence_countbranch_state_all_zero_countbranch_state_fill_match_countbranch_state_public_hit_countbranch_state_route_hit_count#branch_state_current_root_hit_count$branch_state_target_observation_rows'branch_state_actor_or_trail_target_rows$branch_state_camera_only_target_rows$branch_state_movement_or_target_rows&branch_state_target_observation_statusfinal_coordinate_snapshotcoordinate_contextfield_entry_contextroot_entry_traversalroot_entry_stop_rowsroot_entry_stopencoded_fill_entryencoded_raw_scalar_rejectionroot_tail_isolationroot_tail_immediate_predecessordescriptor_root_closuredescriptor_fill_closuredescriptor_edge_rejectiondescriptor_encoded_target_scandescriptor_root_edge_hitsdescriptor_fill_edge_hitsfill_site_target_labels(descriptor_root_fill_site_edge_hit_count(descriptor_fill_fill_site_edge_hit_countroot_entry_reaches_filldescriptor_bridge_proofdispatch_slice_runtime_proofruntime_fill_observedroute_order_provenselector_merge_closeddispatch_table_base_rejectiondispatch_table_base_audit_rowsraw_generic_call_graphraw_generic_call_graph_depth"fill_site_execution_context_provenrequired_proof_gatesrequired_proof_gate_pass_countrequired_proof_gate_fail_count required_proof_gate_status_orderrequired_proof_gate_statusesrequired_proof_gate_fail_idsgate_idmissing_evidenceevidence_refsevidence_rowsr   sD                                                                       r   build_summaryro     s<    &))(3_7Q7U7UV^7_F%))(3_7Q7U7UV^7_F39r 9 ?R5;##H-7"&&x0F:"$##$JKQr $ 	 ##$DEK % 	&**+DE	
 	&**+JK	
	 	"&**+GH')CD	

 	"%&**+\]/1KL	

 	"&**+RSn&@A	

 	"&**+UV(*DE	

 	"&**+QRl$>?	

 	"&**+QRm%?@	

 	" &**+WX*,FG	

 	"&**+TU&(BC	
I)T -CWSc+FVSWW%( )4F) &" !$ $4I$ ! #& &6K& # #& &*& # %( (*( %! %( (*( %! $' '*' $  +. .*. +' -,0J30O,( , -/0YZ]0^/+ / -,0VWZ0[,( , -,0VWZ0[,( , 1;pKoppd?cddb=abb 	/ 3 ." + !//E F10445EF113I3M3M54
1
 	1556GH1 	3778PQWUW\\]gh1 	488FL"1 	4889MNTRT1 	23I3M3M54
1 	,-C-G-G/.
1 	+,B,F,F.-
1$ 	'(>(B(B*24GH)
%1, 	23I3M3M54
-12 	01G1K1K32
318 	*+A+E+E-,
91> 	)*@*D*D,+
?1D 	%&<&@&@(24DE'
E1L 	01G1K1K32
M1R 	-.D.H.H0/
S1X )?(B(BCa(b'='A'AB_'`#9#=#=>W#X1556GHNB,00>a1d!266G!"$=$A$AB\$]! 	#$=$A$AB\$]$cac! 	8<<=RSYWY	!
 	 !:!>!>?V!W!][]! 	 9 = =>T U [Y[! 	#$=$A$AB\$]$cac! 	4889JK! 	/33LA! 	*+D+H+H-,
! 	()B)F)F+*
!  	!";"?"?@X"Y!!" 	$%>%B%BC^%_#!$ 	./H/L/L10
%!* 	*+D+H+H-,
+!0 	-.G.K.K0/
 / 7!8 	4889JKQr9!: 5889JKQr155nEK599:LM/33LAA!D DE^_`3778QRXVX/33J?E21E*1-2O1556UV\Z\#;#?#?@[#\#b`b 2667NOUSU&9&=&=>W&X&^\^#3778STZXZ3778STZXZ 5 9 9:S T ZXZ%:%>%>?\%]%cac" 7 ; ;<L M SQS 7 ; ;<L M SQS8:ST/=!0, 0>!0, 7::;fgkoo3778TUY]] $$%PQUYY ! 	!$$%:;tC 	-%))*JKtS	-(1, 
 2556HITQ4889OPTYY $$%LMSQS " 	!$$%LM 	(,,-TU	 #
 699:WX^\^ $$%JKQr ! 	  	"#	"(	" "	" 		"
 " ' )-"9hy/334FGH I377FL"MN O3778NOUSUVW X'++G45Q7J7J87T6UW
	
 1-"9hyV V* V4889KLM V N! V!I JVK#V#<#@#@AQ#R"SVTV 5889KLMVN#V $=#@#@AQ#R"S	VT	V
 8;;<LMNV
O#V -001PQRV STV -001PQRVSV -001TUVV WXV -001TUVVW'V 2556OPQV RSV 2556OPQVR V !? B BCS TUVVV   588FG!V H%!V$ ,001PQRS%V$T.%V( ,001BCIrJK)V(L&)V* '<&?&?@R&S%T+V	
< 32">hIY Y$ Y%=%A%ABm%n$o Y p& Y&>&B&BCg&h%iYj'Y /334[\]^Y_0Y
 /334]^dbdefY
g(Y )A(D(DEo(p'qYr,Y -E,H,HI  -A  ,BYBY 7::;opqYr!Y ":!=!=>q!r sYt%Y &>%A%ABx%y$zY{%Y &>%A%ABu%v$wY xyY ,//0cdeY fgY ,//0opqYr-Y ,//0{|}Y~'Y  (@'C'C  EA  (B  'C!Y  CD!Y" ,//0rst#Y"u##Y$ $A#D#DEU#V"W%Y	
6 ,+"7hY234F;V:W X45]C`Ba b<=ZHcGdf		
 "("4h))*<)=>		
 ,+"7hY-2G.G-HI		
gYt &)(\6J(\%\"%()=%>A_%_"?S'TF'T$'T.B$'*FS]"$  $  4$s8}D7PF$  $
 4 	+..w@  R	
 T		
 O		
 J	
  M	
$ E	
IPMf *'++,PQUYY ,(1556NOP Q599+FL"MN O0445LMN O2667QRS T!!9!=!=>b!c d	f	
 )6M.Sg0445IJK L&&=%> ?"":">">?X"Y!Z\		
 4(,,-=>Q/+//?@ A0445NOP Q&&8&<&<=^&_%` a""4"8"89Z"[!\ ]&&8&<&<=_&`%a b/334MNOQ		
 32667GH[O:>>?XYZ [599:OPQ R8<<=\]^ _>/334RSTTU/334PQRRS/334RSTTU/334NOPR		
 *)--.>?R?I I& I,00<= I > I/33MBCIDI+//=>I?I '**+@AB	I CD	I
 '**+@ABI
 CDI '**+ABCID'I (;'>'>?X'Y&ZI[(I )<(?(?@[(\']I^ I !4 7 78S TUIV"I #6"9"9:V"W!XIYI  3667TUVIW!I (++O<BGGHYZ[I \]I (++O<BGGTUI VWI (++O<BGGHbcdI efI  (++O<BGGHklm!I n(!I$ (++O<BGGH_`a%I$ bc%I& (++O<BGGHefg'I& hi'I( (++O<BGGHghi)I(j')I, 3667GHI-I, JK-I. 366~FG/I		
> 13J+P^!"7";";<W"X!Y Z""7";";<Z"[!\ ]$$;$?$?@R$S#T U$$;$?$?@R$S#T U7;;<LMN	P	
	
 0/334DEX",001PQRRS,001PQR S,001TUVVW,001TUV W))B)F)FG^)_(` a7;;<\]^ _7;;<\]^`		
  54889IJ]o599:STU V;??@]^__`1556STU V;??@YZ[ \9==>QRS T7;;LIJL		
 3 ,//0[\`ee,001ghlpp . '} }$ }%=%A%ABm%n$o } p& }&>&B&BCg&h%i}j'} /334[\]^}_0}
 /334]^dbdef}
g(} )A(D(DEo(p'q}r,} -E,H,HI  -A  ,B}B} 1445WXY}Z} 699:ghi}j} 4778`ab}c} 7::;opq}r!} ":!=!=>q!r s}t%} &>%A%ABx%y$z}{%} &>%A%ABu%v$w} xy} ,//0cde} fg}  ,//0opq!} r!}$ /334ghij%}$k-%}( ,//0{|})}(~')}* (@'C'C  EA  (B  'C+}* CD+}, ,//0rst-},u#-}. $A#D#DEU#V"W/}.X'/}0 (E'H'H  JI  (J  'K1}0K+1}4 4889xyz{5}%	
N 43778HI\_$0445klm n!0445hij k%0445hijjk0445hijjk0445tuv w0445lmn o'0445tuv w4889lmno p+4889xyz{ |,044  6A  B  C#D		
2 5,001ABUo/33J?@ A3778PQR S/334IJK L))--.FGH)--.EFGq)--.HIJ K&)--.PQRRS)--.LMN O')--.KLMQ)--.JKL M/33LAB C$/334EFGq/334TUVVW/334YZ[#]		
2 1,5R =!234F;V:W X45]C`Ba b9::LMpLq r<=ZHcGdf	
 1<(-Q)R(S T++67[+\*] ^"#GHI J!!,-Q!R S T!"FGH I&&)*Q&R%S T%t$Httu v!!$$}2V$}!} ~ ##&&x4X&x#x"y z%%((x6Z(x%x$y
{		
$ 0"&&'ABaG ..\ \" \#5#9#9:J#K"L \ M! \!3!7!7!H I\J!\!4!8!8!I J\K(\ )<(?(?@Z(['\\]"\ #6"9"9:O"P!Q	\R 	\
 !4 7 78O PQ\
R\ 144_EF\G+\ ,?+B+BC`+a*b\c%\ &9%<%<=U%V$W\X#\ $7#:#:;U#V"W\X\ /223IJK\L\ 255lCD\E"\ #6"9"9:["\!]\^\  ##6#:#:;_#`ab\c \ !4 7 78J KL\M0\    STj  S  UY  Z  [!\	
4 6@)*B*F*FG_*`)a b**B*F*FG_*`)a b//G/K/KLi/j.k l&*../STU V(*../CDEQ*../MNO P1*../OPQQR*../NOP Q)*../PQRRS678 90789 :01@U?V!X		
CXMt	n $%
& '<	< t&t&t 	7;;<QRt 	6::;OP	t
 	3778IJt 	2667GHt 	4889KLt 	-11+>D"t 	#%?%C%CD]%^%dbd$i$i%
 % t 	 !3t 	&'Et 	2t  	$9 :!t" 	'(C#t$ 	%&?%t& 	34Q't( 	-.Q)t* 	/0L+t, 	&'B-t. 	()F/t0 	/4X0Y1t2 	5kBf6g3t4 	8 =
==
 :
5t: 	6s ;
=;
 8
;t@ 	05Y1ZAtB 	6{Cg7hCtD 	9# >
=>
 ;
EtJ 	7 <
=<
 9
KtP 	@ E
=E
 B
QtV 	>s C
=C
 @
Wt\ 	/4X0Y]t^ 	1#6]2^_t` 	12Xatb 	!":">">?W"Xctd 	 !9!=!=>U!Vetf 	#$<$@$@A[$\gth 	'(@(D(DEc(ditj 	-.F.J.J0/
ktp 	-.F.J.J0/
qtv 	23G3K3KL^3_wtx 	*+?ytz 	45M5Q5Q76
{t@ 	"#;#?#?@Y#Z#`^`AtB 	();CtD 	23E3I3IJc3dEtF 	:;M;Q;Q-<
GtL 	:;M;Q;Q-<
MtR 	;<N<R<R.=
StX 	23E3I3IJc3dYtZ 	)*<*@*@AQ*R[t\ 	$%A]t^ 	23O3S3STd3e_t` 	()E)I)IJb)catb 	./K/O/O*0
cth 	,-I-M-M(.
itn 	./K/O/O*0
ott 	*+G+K+K&,
utz 	%&B&F&FG\&]{t| 	/0L0P0P+1
}tB 	 !4CtD 	%&>&B&BC_&`EtF 	266}EGtH 	155lCItJ 	&':'>'>?T'UKtL 	&':'>'>?T'UMtN 	'(;(?(?@V(WOtP 	()<)@)@AX)YQtR 	*+>+B+BC\+]StT 	,-@-D-DE`-aUtV 	,-E-I-I/.
Wt\ 	-.F.J.J0/
]tb 	./G/K/K10
cth 	./G/K/K10
itn 	)*B*F*F,+
ott 	/0H0L0L21
utz 	)*B*F*F,+
{t@ 	67O7S7S98
AtF 	?@X@\@\BA
GtL 	89Q9U9U;:
MtR 	ABZB^B^DC
StX 	*+C+G+G-,
Yt^ 	56N6R6R87
_td 	;<T<X<X>=
etj 	=>V>Z>Z@?
ktp 	:;S;W;W=<
qtv 	56U6Y6Y7
wt| 	12Q2U2U3
}tB 	$%:%>%>?Z%[CtD 	'(=(A(AB`(aEtF 	%&=GtH 	()>)B)B+*
 * OtP 	*+@+D+DEV+W+][]QtR 	+,A,E,EFX,YStT 	"#<UtV 	01J1N1NO_1`WtX 	./H/L/L#0
Yt^ 	23L3P3P'4
_td 	67P7T7T+8
etj 	67P7T7T+8
ktp 	67P7T7T+8
qtv 	:;T;X;X/<
wt| 	:;T;X;X/<
}tB 	78Q8U8U,9
 9 ItJ 	78Q8U8U,9
 9 QtR 	&'EStT 	01O1S1S2
UtZ 	9:X:\:\%;
[t` 	=>\>`>`)?
atf 	=>\>`>`)?
gtl 	9:X:\:\%;
mtr 	-.L.P.PQd.e /utv 	,-K-O-OP\-] .ytz 	45M5Q5Q76
{t@ 	-.F.J.J0/
AtF 	01I1M1M32
 2 MtN 	23K3O3O54
 4 UtV 	34L4P4P65
Wt\ 	?@X@\@\BA
]tb 	+,D,H,H.-
cth 	67O7S7S98
itn 	12J2N2N43
ott 	=>V>Z>Z@?
utz 	<=U=Y=Y?>
{t@ 	?@X@\@\BA
AtF 	<=U=Y=Y?>
GtL 	@AYA]A]CB
MtR 	<=U=Y=Y?>
StX 	<=U=Y=Y?>
 >]t^ 	;<T<X<X>=
 =ctd 	HIaIeIeKJ
etj 	H$((Omtt 	H$((O  }t@	 	G$((N  I	tL	 	T$(([O	tV	 	E$((LY	t`	 	K$((Rc	tj	 	K$((Rm	tt	 	J$((Q  }	t@
 	01NA
tB
 	>)--.>?E
tH
 	4S9W5XI
tJ
 	&'=K
tL
 	./KM
tN
 	,-C-G-GHX-YO
tP
 	()?)C)CL)QQ
tR
 	&'='A'A*'MS
tT
 	45K5O5O$6
U
tZ
 	12H2L2L!3
[
t`
 	45K5O5O$6
a
tf
 	34J4N4N#5
g
tl
 	67M7Q7Q&8
m
tr
 	>?U?Y?Y.@
s
tx
 	:;Q;U;U*<
y
t~
 	9:P:T:T);

tD 	89O9S9S(:
EtJ 	=>Z>^>^?
KtP 	L(,,-MNStV 	Q(,,-RSYt\ 	01H1L1LM_1`]t^ 	)*A*E*Ek*R_t` 	45]atb 	9:S:W:W;
cth 	01H1L1LM_1`itj 	)*A*E*Ek*Rktl 	45]mtn 	9:S:W:W;
ott 	4utv 	$%=%A%AB]%^wtx 	"#5ytz 	$%8{t| 	!":">">?W"X}t~ 	!":">">?W"Xt@ 	&'?'C'CDa'bAtB 	'(?(C(CDX(YCtD 	12I2M2M*3
EtJ 	34K4O4O,5
KtP 	23J3N3N+4
QtV 	45L5P5P-6
Wt\ 	9:Y]t^ 	34T_t` 	78O8S8S09
atf 	01H1L1L*2
gtl 	:;R;V;V3<
mtr 	.stt 	 8 < <=S Tutv 	2wtx 	!#&:";ytz 	%&D{t| 	%&D}t~ 	'(Ht@ 	$%AAtB 	#$@CtD 	&$%)Q.LPQ.QGtJ 	8KtL 	'(DMtN 	+OtP 	QtR 	C.StT 	)*LUtV 	1S-YbWtX 	MYtZ 	 
[tf 	jgt tm X2,/,,p (U$$si   
B]2B]28B]7	B]7B]<$B]<.B^?B^	B^B^B^#B^9B^B^B^c           !        g dd| d   dd| d    d| d    dd	| d
    d| d    dd| d    d| d    d| d    ddt        | j                  d             dd| j                  d       dt        | j                  d             ddt        | j                  d      xs g        d| d    d| d    d| d    d d!| d"    d#| d$    d%| d&    d'| d(    d%| d)    d*| d+    d| d,    d d-| d.    d| d/    d d0| d1    d%| d2    d%| d3    d4| d5    d%| d6    d7| d8    dd9| d:    d;| d<    d%t        | j                  d=      xs g        d>| d?    d@| dA    dB| dC    dD| dE    dF| j                  dG       ddH| j                  dI       d%| j                  dJ       d%| j                  dK       d%| j                  dL       dM| dN    d%| dO    dP| dQ    dR| dS    d%| dT    dU| j                  dV       dW| j                  dX       dY| j                  dZ       dd[| d\    d]t        | j                  d^             dd_t        | j                  d`      xs g        d%| j                  da       db| j                  dc       ddd| j                  de       d%| j                  df       dg| j                  dh       d%| j                  di       dj	dk| j                  dl       d%| j                  dm       d%| j                  dn       d%| j                  do       dp| j                  dq       ddj                  g dr| j                  ds       dt| j                  du       dvt        | j                  dw             dxt        | j                  dy      xs g        dz| j                  d{       d|| j                  d}       d~| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       dt        | j                  d             d| j                  d       dt        | j                  d             d| j                  d       d| j                  d       d| j                  d             d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| d    d%| d    d| j                  d      xs i j                  d       d| j                  d      xs i j                  d       d| j                  d      xs i j                  d       d%| j                  d      xs i j                  d       dt        | j                  d      xs i j                  d             d| j                  d      xs i j                  d       d| j                  d      xs i j                  d       dd| j                  d      xs i j                  d       d| j                  d      xs i j                  dë       d| j                  d      xs i j                  dū       d| j                  d      xs i j                  dƫ       d| j                  d      xs i j                  dǫ       d| j                  d      xs i j                  dȫ       d| j                  d      xs i j                  dʫ       d| j                  d      xs i j                  d˫       d| j                  d      xs i j                  d̫       d| j                  d      xs i j                  dͫ       d| j                  d      xs i j                  dϫ       d| j                  d      xs i j                  dЫ       d| j                  d      xs i j                  dѫ       d| j                  d      xs i j                  dҫ       d| j                  dԫ       dd| j                  d֫       d| j                  d׫       d| j                  d٫       d| j                  dګ       d| j                  d۫       dt        | j                  dݫ             dt        | j                  d߫             d| d    d%| d    d| j                  d       dt        | j                  d             dd| j                  d       d| d    d| d    d| d    dddd| j                  d      xs g D cg c]  }d| 	 c}ddddd}| j                  d      xs g D ]&  }|j	                  d|d    d|d    d|d    d       ( |j                  g d       | j                  d      xs g D ]P  }|j	                  d|d    d|j                  d       d|j                  d       d|j                  d       d	       R |j                  g d       | j                  d      xs g D ]E  }|j	                  d|j                  d        dt        |j                  d             d       G |j                  g d       | j                  d      xs g D ]  }|j	                  d|d    d|j                  d       dt        |j                  d             d	|j                  d
       d|j                  d       d|j                  d       d|j                  d       d|j                  d      xs d d        |j                  g d       |j                  d | j                  d      xs g D               |j	                  d       dj                  |      S c c}w (  Nz7# Save Selector Predecessor Fill Site Execution Contextr  r   z
- route: `r   z -> r   `z- predecessor: `r  z` root `rH  z- current: `r  r  z
` reader `r  z- fill sites: `rD  z- proof found: r   z"- failed predecessor fill gates: `r*  z- missing evidence count: r   z- branch-state poll coverage: r  z polls, r   sequences, r  z samplesz - public predecessor poll hits: r  z1- current/root route hits in branch-state polls: r   / r  z!- fill matches / all-zero polls: r  r  z$- movement-or-target poll coverage: r  r  z- target-observation polls: r  r  z.- target-observation fill/current/route hits: r  r  r  z3- target-observation camera-only / actor-or-trail: r  r  z- target-observation status: `r  z!- root-entry reaches fill sites: r  z&- root-entry traversal visited/stops: r  r  z!- encoded fill-entry candidates: r   raw r  z / root-tail r  z / promoting r  z!- encoded raw scalar rejection: `r  zE- encoded raw scalar no-fixed/no-branch/branch-attached/scalar-only: r  r  r  r  z- root-tail isolation: r  r  z rows; descriptor isolated r  z(- root-tail branch/fallthrough to fill: r  r  z/- root-tail branch closure outside successors: r  z
 classes `r  z` sections `r  z!- descriptor bridge proof found: r  z#- descriptor bridge failed gates: `r  z3- descriptor bridge missing evidence count / refs: r  r  z- descriptor edge rejection: `r:  z,- descriptor / route execution edge counts: r  r  z (root/fill route r  r  )z5- descriptor encoded target raw/root/fill/promoting: r  r  r  r  z-- descriptor encoded target classification: `r  z;- predecessor dispatch slice dependency: sliceRuntimeProof=r  z dispatchTableProof=r%  z dispatchFailedGates=r&  z dispatchMissingEvidenceCount=r'  z dispatchEvidenceRefs=r(  z descriptorDependsOnSlice=r)  z rows=rp  z sliceData=rq  z rawDiffers=r*  z byteReachable=r+  z requiresTableBase=r,  z dynamicDispatches=r-  r  r.  r/  z dynamicScopeSites=rs  z dynamicTableBaseCandidate=r0  z  dynamicTableBaseCandidateSites=ru  z tableBaseArithmetic=r1  r2  z tableBaseReject=r  z- raw generic call graph: r  z depth=r  z functions/edges=r  r  z route/fill/currentImm=r   r  r  z selected/branchImm=r  r  z route/fillTransfers=r  r  z depthSensitivity=r  r  r	  z proof=r  z&- descriptor closure nodes root/fill: r
  r  z"- field-entry sequence snapshots: r  r   z snapshots; route candidates r   z- field-entry proof: r   z	 failed=`r   z` evidenceRefs=r   z#- field-entry snapshot selectors: `r   z- coordinate source: class=r  re   z reject=r   z! startPointer/static/trail/image=r   r   r   r   z! trailPointer/static/trail/image=r   r   r   r   z& reciprocalPointer/static/trail/image=r   r   r   r   z- branch gate preservation: `r  zQ- branch gate same-slot / same-offset write-read / other writes / invalid fills: r  r  z; r  r  r  r  r  z
; invalid r  z&- required proof gates passed/failed: r$  r%  z$- required proof gates all blocked: r)  z#- required proof gate failed ids: `r(  z- evidence refs: z- runtime fill observed: r  z&- fill-site execution context proven: r+  z- promotion status: `rX   z## Missing Evidence- z## Evidencez| kind | status | detail |z| --- | --- | --- |r,  z| rG  z | r  r  z |)r  z## Required Proof Gatesr  z#| gate | passed | status | detail |z| --- | --- | --- | --- |r"  r  r  )r  z## Source Evidence Refsr  z| path | fields |z| --- | --- |r   r   z | `r7  z` |)r  z## Branch-State Pollsr  zO| poll | samples | selectors | public | route | fill match | all zero | split |z2| --- | ---: | --- | --- | --- | --- | --- | --- |r  rY   rR   rS   z` | rZ   r\   rc   rb   rd   r#   )r  z## Remaining Proofsr  c              3  &   K   | ]	  }d |   yw)rv  Nr   r    items     r   r"   zmarkdown.<locals>.<genexpr>9  s     N2dVNr   r   
)r&   r2   r   r$   r   extend)summaryry  linesr{   refs        r   markdownr  h  s   jAj
j 	j 		j
 WX&'tGH,=+>a@j 7#89:(7K_C`Baabcj w012(7CS;T:UU_`ghz`{_||}~j #gkk+678:j '++l345j -S=[1\-],^^_`j %S5F)G)M2%N$OPj )1G)H(IRYZxRyQz  {G  HO  Pl  Hm  Gn  nv  	wj +73]+^*_`j <GDh<i;jjmnu  w]  o^  n_  	`j ,G4S,T+UUXY`a~Y  YA  	Bj  /w7]/^.__gho  q]  i^  h_  _g  	h!j" 'w/V'W&XX`ah  jW  bX  aY  Ya  	b#j$ 9Aq9r8ssvw~  @u  xv  ww  wz  {B  Cz  {{  z|  	}%j& >gFl>m=nnqry  {c  sd  re  	f'j( )1Y)Z([[\])j* ,G4_,`+ab+j, 19b1c0ddghklslwlw  yZ  m[  ma  _a  ib  hc  	d-j. ,G4T,U+VV[\c  eN  ]O  \P  P]  ^e  fW  ^X  ]Y  Yf  gn  oX  gY  fZ  	[/j0 ,GKK8a,b+ccde1j4 T{{@AB#{{>?@{{@AB#{{<=>	@5j@ "'*?"@!AWMaEbDcc~  @G  Hd  @e  f  	gAjB 37;^3_2``cdk  mR  eS  dT  	UCjF >{{GHI J$VWX Y %YZ[[\^GjP ,G4P,Q+RSQjTGKK ?@AB!EUj\ B7;;@AGRHI{{=>?A]jd )5\)](^^_`ejh ;{{DEFc{{HIJ K  ',] ^__b{{LMNa	Qijv D{{KLMS{{OPQQT{{OPQQT{{KLM	OwjB 8Dk8l7mmnoCjFd d ! d!(-X!Y Zd["d")++.R"S!TdU#d $'w{{3Z'[#\"]d^,d -0<e0f0ljl,m+n	do$	d
 %,KK0Z$[#\d
](d )04j(k'ldmd KK BCDdEd !%RSTdUd "++&Z[\d]d %[[)\]^d_!d ")-c!d edf!d ")-`!a bd cdd {{NOPd QRd {{Z[\d]!d "%W[[1d%e!f gdh)d" {{fgh#d"i.#d$ /2'++>}2~.  .A%d$A#%d& $+;;/k#l"m'd& no'd( {{]^_)d(`)d*  '{{+`ab+dGjv ){{>?@ A[[!>?@ A&{{+VWXXY{{CDE F%{{FGH{{EFGq{{HIJ K"{{PQRRS{{LMN O#{{KLMQ{{JKL M {{OPQQR{{^_``a{{cde f[[!@AB'Dwj` 19`1a0bbefm  oV  gW  fX  	Yajb -gkk:U.V.\Z\-a-abq-r,s  tQ  SZ  S^  S^  _z  S{  SA  A  RF  RF  Gd  Re  Qf  	gcjf $78>BCCLQRRU78>BCCDefg hW[[!<=CHHImnop q$[[)DEKPPQcdeggjt .w{{;V/W/][].b.bc{.|-}}~ujx{{#<=CHHIYZ\ ]$=>D"IIJstv w/67=2BBClmoop67=2BBCfgiij67=2BBCefhhi67=2BBCabd e/67=2BBCjkmmn67=2BBCdeggh67=2BBCcdffg67=2BBC_`b c467=2BBCghjjk67=2BBCabdde67=2BBC`accd67=2BBC\]_#ayj^ (4b(c'ddef_jb `{{9:;1{{CDER{{EFGq{{DEFb{{FGH7;;OPQR S7;;'QRSTVcjt 19U1V0WWZ[bc  \A  [B  	Cujv /w{{;X/Y.Z[wjx .c'++>X2Y.Z-[[\]yjz GKK(:;<={j| $G,A$B#CD}j~ 19Y1Z0[\j@  (9 :;1=AjB 	CjD 	EjF 	GjH #*++.?"@"FB	G$Btf+	GIjJ 	KjL 	MjN 	OjP 	%QjR 	SjEV {{:&," Or#f+c#h-CM?"MNO	LL   {{/06B 
VS!2 33swwx7H6ISWWU]M^L__ab	

 
LL   {{>*0b Lr#''&/*$s37783D/E.FcJKL	LL   {{-.4" 
VS!7 8SI\A]=^<__cww1233sww?U7V6WWZww9:;3swwGd?e>ffiww,-45R9	

 
LL01	LLN5F)G)M2NN	LL99U] 
Hs   tc                    dj                  d | j                  d      xs g D              }dj                  d | j                  d      xs g D              }dj                  d | j                  d      xs g D              }dj                  d | j                  d	      xs g D              }dj                  d
 | j                  d      xs g D              }dj                  d | j                  d      xs g D              }dj                  ddddddddddt        j                  | d          ddt        j                  | d          dt        j                  | d          dt        j                  t	        | d                d t        j                  t	        | d!                d"t        j                  t	        | d#                d$d%j                  g d&| d'    d(| d)    d*| d+    d,| d-    d.| d/    d0| d1    d2| d3    d4| d5    d6| d7    d8| d9    d:| d;    d<| d=    d>| d?    d>| d@    dA| dB    d>| dC    dDt        j                  | dE          dF| j                  dG      xs i j                  dH       dI| j                  dG      xs i j                  dJ       dKt        | j                  dG      xs i j                  dL             d>t        | j                  dG      xs i j                  dM             dNt        j                  t        | j                  dG      xs i j                  dO                   dPt        j                  t	        | j                  dG      xs i j                  dQ                   dRt        j                  t	        | j                  dS      xs i j                  dT                   dUt        j                  t	        | j                  dS      xs i j                  dV                   dWt        j                  t	        | j                  dS      xs i j                  dX                   dUt        j                  t	        | j                  dS      xs i j                  dY                   dUt        j                  t	        | j                  dS      xs i j                  dZ                   dUt        j                  t	        | j                  dS      xs i j                  d[                   d\t        j                  t	        | j                  dS      xs i j                  d]                   dUt        j                  t	        | j                  dS      xs i j                  d^                   dUt        j                  t	        | j                  dS      xs i j                  d_                   dUt        j                  t	        | j                  dS      xs i j                  d`                   da      d%j                  g dbt        | dc          ddt        j                  t	        | de                dft        j                  t	        | dg                dht        j                  t	        | di                djt        j                  t	        | j                  dk                   dlt        j                  t	        | j                  dm                   d>t        j                  t	        | j                  dn                   d>t        j                  t	        | j                  do                   d>t        j                  t	        | j                  dp                   dqt        j                  t	        | dr                d>t        j                  t	        | ds                dtt        | du          dvt        | dw          dxt        j                  t        | j                  dy                   dzt        j                  t	        t        | j                  d{      xs g                    d|t        j                  t	        | j                  d}                   d~t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t        | j                  d                   dt        j                  t	        t        | j                  d      xs g                    dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   d>t        j                  t	        | j                  d                   dt        j                  t	        | j                  d                   dt        j                  t        | j                  d                   dt        j                  t        | j                  d                   dt        | d          d| d    d| d    dt        j                  t	        | j                  dQ                   dt        | j                  d             dt        | j                  dL             dt        j                  t        | j                  d                   dt        | j                  d      xs g        dt        | d          dt        j                  | d          d$      dd| dƝdd| dɝdd| dɝdd| dɝdd| dɝdd| dƝddd%g      S )Nrz  c           
   3     K   | ]R  }d t        j                  |d          dt        j                  |d          dt        j                  |d          d T yw)<tr><td>rG  	</td><td>r  r  
</td></tr>Nhtmlescaper   s     r   r"   zhtml_page.<locals>.<genexpr>?  sg       	{{3v;'( ){{3x=)* +{{3x=)* +	s   AAr,  c              3  L  K   | ]  }d t        j                  |d          dt        j                  t        |j                  d                   dt        j                  t	        |j                  d                   dt        |j                  d             dt        |j                  d             dt        |j                  d	             dt        |j                  d
             dt        j                  t        |j                  d      xs d             d  yw)r  rY   r  rR   z</td><td><code>rS   z</code></td><td>rZ   r\   rc   rb   rd   r#   r  N)r  r  r   r2   r&   r)   r   s     r   r"   zhtml_page.<locals>.<genexpr>G  s      	{{3v;'( ){{3sww}5678 9[[SWW-@%A!BCD E!;<=> ?!789: ;!CDEF G!>?@A B{{3sww'<=DEFG H		s   D"D$r  c              3  B  K   | ]  }d t        j                  |d          dt        |j                  d             dt        j                  t	        |j                  d                   dt        j                  t	        |j                  d                   d	  yw)r  r  r  r  r  r  r  N)r  r  r)   r2   r   r   s     r   r"   zhtml_page.<locals>.<genexpr>T  s        	{{3v;'( )*+, -{{3swwx0123 4{{3swwx0123 4		 s   BBr"  c              3  N   K   | ]  }d t        j                  |       d  ywz<li>z</li>Nr  rx  s     r   r"   zhtml_page.<locals>.<genexpr>]  s(      ,0$t{{4 !'   #%r   c              3  N   K   | ]  }d t        j                  |       d  ywr  r  rx  s     r   r"   zhtml_page.<locals>.<genexpr>`  s(      ',0$t{{4 !''r  r   c              3     K   | ]c  }d t        j                  t        |j                  d                   dt        j                  t	        |j                  d                   d e yw)z<tr><td><code>r   z</code></td><td><code>r7  z</code></td></tr>N)r  r  r   r2   r&   )r    r~  s     r   r"   zhtml_page.<locals>.<genexpr>c  sb      "
 		[[SWWV_!567 8[[SWWX%6!789 :	"s   A)A+r   z<!doctype html>z<html lang="en">z<head>z  <meta charset="utf-8">zF  <title>Save Selector Predecessor Fill Site Execution Context</title>a    <style>body{font-family:system-ui,sans-serif;margin:24px;line-height:1.45;max-width:1200px}table{border-collapse:collapse;width:100%;margin:16px 0}td,th{border:1px solid #ddd;padding:6px 8px;text-align:left;vertical-align:top}th{background:#f5f5f5}code{white-space:nowrap}</style>z</head>z<body>z@  <h1>Save Selector Predecessor Fill Site Execution Context</h1>z  <p>r   z</p>z  <p><b>Route:</b> <code>r   z -&gt; r   z</code>; predecessor <code>r  z</code> root <code>rH  z</code>; current reader <code>r  z</code>.</p>r  z  <p><b>Runtime coverage:</b> r  z branch-state polls, r  rr  r  z samples; public hits r  z; route hits r  z; fill matches r  z; all-zero polls r  z#; movement-or-target poll coverage r  z polls (r  z$ samples); target-observation polls r  z (r  z6 samples); target-observation fill/current/route hits r  r  r  r  z2; target-observation camera-only / actor-or-trail r  r  z"; target-observation status <code>r  z(</code>; field-entry sequence snapshots r  r   z with route candidates r   z; field-entry proof r   r   z; failed gates r   r  r   z; coordinate source r  re   rs  r   z#; start pointer/static/trail/image r   r   r   r   z(; reciprocal pointer/static/trail/image r   r   r   r   z.</p>z6  <p><b>Execution proof:</b> root-entry reaches fills r  z; encoded entry r  rt  r  z promoting r  z; raw scalar rejection <code>r  z7</code> no-fixed/no-branch/branch-attached/scalar-only r  r  r  r  z; root-tail r  r  z rows isolated r  z; descriptor bridge r  z!; descriptor bridge failed gates r  z+; descriptor bridge missing evidence count r  z"; descriptor bridge evidence refs r  z"; descriptor edge rejection <code>r:  z2</code>; descriptor / route execution edge counts r  r  z4; descriptor encoded target raw/root/fill/promoting r  r  r  r  z1; descriptor encoded target classification <code>r  z</code>; dispatch table proof r%  z; dispatch failed gates r&  z"; dispatch missing evidence count r'  z; dispatch evidence refs r(  z; table-base rejection <code>r  z/</code>; table-base arithmetic rows/candidates r1  r2  z; raw generic call graph <code>r  z</code> depth r  z functions/edges r  r  z route/fill/current immediates r   r  r  z; depth sensitivity r  r  r	  z!; branch gate preservation <code>r  z+</code> same-slot/write-read/other/invalid r  r   r  r  r  r  r  z	 invalid r  z; runtime fill r  z; proof gates r$  z
 passed / r%  z failed; evidence refs z; all blocked r)  z; proof found z&; failed predecessor fill gates <code>r*  z </code>; missing evidence count z; context proven r+  z; promotion status <code>rX   z  <h2>Missing Evidence</h2>z  <ul>z</ul>z  <h2>Evidence</h2>zS  <table><thead><tr><th>kind</th><th>status</th><th>detail</th></tr></thead><tbody>z</tbody></table>z  <h2>Required Proof Gates</h2>zb  <table><thead><tr><th>gate</th><th>passed</th><th>status</th><th>detail</th></tr></thead><tbody>z  <h2>Source Evidence Refs</h2>zD  <table><thead><tr><th>path</th><th>fields</th></tr></thead><tbody>z  <h2>Branch-State Polls</h2>z  <table><thead><tr><th>poll</th><th>samples</th><th>selectors</th><th>public</th><th>route</th><th>fill match</th><th>all zero</th><th>split</th></tr></thead><tbody>z  <h2>Remaining Proofs</h2>z</body>z</html>)r$   r2   r  r  r   r)   r&   r   )r|  rn  	poll_rowsproof_gate_rowsproof_itemsmissing_evidence_itemsevidence_ref_rowss          r   	html_pager  >  s(   II  ;;z*0b M 		  ;;128b I ii   ;;34:  O )) 4;KK@Q4R4XVX K "YY '4;KK@Q4R4XVX'  		 "
 ;;~.4""  99"P 	eJ
GL12348[[!234GDKKPXHY<Z;[ \!!%S9N1O-P!Q R S++c'2F*G&HIJ K$$(KKG<N4O0P$Q#RR^	`+v +v, +v-./+v/D+v567+v7C+v 345+v6+v ##MNO	+vP	+v
 ""HIJ+v
K+v $$CDE+vF+v &&CDE+vF0+v 188^0_/`+va+v DEF+vG(+v )00W(X'Y+vZ+v EFG+vH:+v GHI+v JK+v LMN+v OP+v NOP+vQ?+v" =>?#+v" @A#+v$ ?@A%+v$B/%+v& 04{{7Ck;l/m.n'+v&o.'+v* 78>BCCOTU++v*V%++v. 78>BCCDabc/+v.d!/+v2 '++&ABHbMMl[\]3+v2 ^_3+v4 '++&ABHbMMNopqr5+v4s5+v8 {{3,G H NBSSTxyz{|9+v8}9+v< {{3,G H NBSSTfghij=+v<k!=+v@ {{3,E F L"QQRbcdefA+v@ gjA+vB {{3,E F L"QQR{|}~C+vB@0C+vF {{3,E F L"QQR{|}~G+vF @CG+vH {{3,E F L"QQRuvwxyI+vH z}I+vJ {{3,E F L"QQRtuvwxK+vJ y|K+vL {{3,E F L"QQRpqrstM+vLu5M+vP {{3,E F L"QQRvwxyzQ+vP {~Q+vR {{3,E F L"QQRpqrstS+vR uxS+vT {{3,E F L"QQRopqrsU+vT twU+vV {{3,E F L"QQRklmnoW+vV puW+v\R\ R\ ( R\(1':e2f(g'hR\iR\![[W5U-V)WXYR\ZR\ ;;s7+T#UVWXR\YR\ S1Z)[%\]^	R\_	R\ [[W[[1Z%[!\]^R\_>R\ {{3w{{+PQRSTR\ UVR\ {{3w{{+NOPQRR\ STR\ {{3w{{+PQRSTR\ UVR\ {{3w{{+LMNOPR\QR\ S1F)G%HIJR\ KLR\ {{3w';<=>?R\@R\ "'*F"GHIR\J!R\ "+73O+P!Q RR\S.R\" {{3w{{+JKLMN#R\"O8#R\& {{3s7;;/P#Q#WUWXYZ['R\&\/'R\* {{3w{{+MNOPQ+R\*R+R\. [[W[[1X%Y!Z[\/R\.]8/R\2 {{3w{{+TUVWX3R\2 YZ3R\4 {{3w{{+XYZ[\5R\4]A5R\8 {{3w{{+[\]^_9R\8 `a9R\: {{3w{{+_`abc;R\: de;R\< {{3w{{+_`abc=R\< de=R\> {{3w{{+[\]^_?R\>`?R\B [[W[[1X%Y!Z[\CR\B]$CR\F {{3w{{+OPQRSGR\FT%GR\J {{3w{{+RSTUVKR\JW/KR\N {{3s7;;/X#Y#_]_`abcOR\Nd&OR\R {{3w{{+UVWXYSR\RZSR\V [[W[[1f%g!hijWR\Vk5WR\Z {{3w{{+ghijk[R\Z lm[R\\ {{3w{{+mnopq]R\\r]R\` [[W[[1T%U!VWXaR\`YaR\d {{3w{{+HIJKLeR\dMeR\h {{3w{{+VWXYZiR\h [\iR\j {{3w{{+STUVWkR\jX-kR\n {{3w{{+VWXYZoR\n [\oR\p {{3w{{+UVWXYqR\p Z[qR\r {{3w{{+XYZ[\sR\r]!sR\v {{3w{{+_`abcwR\v dewR\x {{3w{{+nopqryR\x styR\z {{3w{{+stuvw{R\zx{R\~ [[W[[1_%`!abcR\~d2R\B {{3w{{+IJKLMCR\B NOCR\D {{3w{{+STUVWER\D XYER\F {{3w{{+UVWXYGR\F Z[GR\H {{3w{{+TUVWXIR\H YZIR\J {{3w{{+VWXYZKR\J [\KR\L {{3w{{+[\]^_MR\L`MR\N {{3w{{3]'^#_`aOR\NbOR\P &g.C&DEFQR\PGQR\R ##?@ASR\R BLSR\T 345UR\T6UR\V "[[W[[9K-L)MNOWR\VPWR\X %W[[1N%OPQYR\XRYR\Z %W[[%>?@[R\ZA[R\^ [[W[[1O%P!QRS_R\^T&_R\` '*'++6G*H*NB&O%PaR\`QaR\b (0P(QRScR\bT&cR\d '+kk':K2L&M%NeR\d O[eR\h 	&
'(.
]^k]ll|})
lm|l}  ~N  	O)
NO`Naaqr' q  r{  q|  |L  	M%
U#
Gd d dr   c                   |j                  dd       |dz  }|j                  t        j                  | dd      dz   d	       |9|j                  j                  dd       |j                  t        |       d	       |S )
NT)parentsexist_okz:save_selector_predecessor_fill_site_execution_context.jsonF   )ensure_asciiindentrz  r   r   )mkdir
write_textr   dumpsparentr  )r|  out_dirhtml_outjson_outs       r   write_outputsr    s    MM$M.UUH

7q9D@   dT:Ig.AOr   c            
        t        j                  t              } | j                  dt        t
               | j                  dt        t
        dz         | j                  dt        t
        dz         | j                  dt        t
        d	z         | j                  d
t        t
        dz         | j                  dt        t
        dz         | j                  dt        t
        dz         | j                  dt               | j                         }t        t        |j                        t        |j                        t        |j                        t        |j                        t        |j                        t        |j                              }t        ||j                   |j"                        }t%        d|        y )N)descriptionz	--out-dir)typedefaultz--fill-execution-order-gapz7save_selector_predecessor_fill_execution_order_gap.jsonz--branch-state-execution-gapz9save_selector_predecessor_branch_state_execution_gap.jsonz--descriptor-bridge-gapz4save_selector_predecessor_descriptor_bridge_gap.jsonz--coordinate-source-scanz/runtime_predecessor_coordinate_source_scan.jsonz--field-entry-sequence-scanz2runtime_predecessor_field_entry_sequence_scan.jsonz--branch-gate-consistencyz*save_selector_branch_gate_consistency.jsonz
--html-out)r  z1wrote predecessor fill-site execution context -> )argparseArgumentParser__doc__add_argumentr   OUT
parse_argsro  r   r0  rK   r1  r2  r3  r4  r  r  r  print)parserargsr|  r  s       r   mainr    s   $$9F
$<
$OO  
 &QQ  
 !LL  
 "GG  
 %JJ  
 #BB  
 40D$//0$112$,,-$--.$001$../G WdllDMMBH	;*	r   __main__r   )r   r   r   z
Any | Nonereturnr   )r%   zlist[Any] | Noner  r   )r!   r   r  r   )r%   z	list[Any]r  r+   )r3   dictr4   z	list[str]r  r+   )rJ   r   rK   r  r  r  )rY   r   r]   dict | Noner  r  )rY   r   r]   r  rt   r  r  r  )r{   r  r  r(   )r   z
list[dict]r  r+   )r   r  r  r  )r   r  rY   r   r  z
int | None)NNN)r0  r  rK   r  r1  r  r2  r  r3  r  r4  r  r  r  )r|  r  r  r   )r|  r  r  r   r  zPath | Noner  r   )r  None)&r  
__future__r   r  r  r   pathlibr   typingr   __file__resolver  ROOTr  r.  r   r&   r)   r/   r6   rM   r^   ru   r   r   r   r   r   r   r   r   ro  r  r  r  r  __name__r   r   r   <module>r     sE   : "      H~''*
Ul _"x %ChZu& "8A:G":
	\=$V +/-1+/V"V $V  V (	V
  +V )V 
Vr$SlPf 25d 
/d zF r   