
    <Jj,s                      d Z ddlmZ ddlZddlZddlZddlmZ  ee      j                         j                  d   Zedz  ZdZdZd	Zd.d
Zd/d0dZd1dZd2dZ	 	 	 	 	 	 	 	 	 	 	 	 d3dZd4dZd5dZd5dZd6dZd5dZd6dZd7dZd8dZd9d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)d>d$Z*d?d%Z+d@d&Z,dAd'Z-	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dB	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dCd(Z.dDd)Z/dDd*Z0efdEd+Z1dFd,Z2e3d-k(  r e2        yy)Gz<Summarize end-goal completion evidence for the browser port.    )annotationsN)Path   outmap1_01amap2_02dzPpython3 tools/refresh_savedata_route_proof.py --search-root <file-or-dir-or-zip>c                    	 t        j                  | j                  d            S # t        t         j                  f$ r |cY S w xY wNutf-8encoding)jsonloads	read_textFileNotFoundErrorJSONDecodeError)pathdefaults     7/home/exedev/hwanse/tools/summarize_completion_audit.pyload_json_optionalr      s@    zz$..'.:;;t334 s   $' AAc                t   | j                         D ch c]8  }|j                  d      dk(  r"|j                  d      r|j                  d      : }}| j                         D ch c]K  }|j                  d      dk(  r5|j                  d      r$dj                  |j                  d      xs g       M }}|xs g }|r7t        d |D              }t        d |D              }t        d	 |D              }nt	        |      }d
}t        d
||z
        }t	        |      t	        |      |||||z   |dS c c}w c c}w )NstateacceptedmapfamilyDefault,tilesetsc              3  J   K   | ]  }|j                  d       dk(  sd  yw)renderSourcer   r   Nget.0rows     r   	<genexpr>z)render_review_coverage.<locals>.<genexpr>&   !     ^S8OS]8]q^   ##c              3  J   K   | ]  }|j                  d       dk(  sd  yw)r   zfamily defaultr   Nr    r"   s     r   r%   z)render_review_coverage.<locals>.<genexpr>'   s!     $j3cggn>UYi>iQ$jr'   c              3  J   K   | ]  }|j                  d       dk(  sd  yw)r   fallbackr   Nr    r"   s     r   r%   z)render_review_coverage.<locals>.<genexpr>(   r&   r'   r   )acceptedMapCountfamilyDefaultSourceCountacceptedAppliedCountfamilyDefaultAppliedCountfallbackAppliedCount coveredByAcceptedOrFamilyDefaultmapCount)valuesr!   joinsumlenmax)	map_render_reviews	map_countgap_rowsreviewaccepted_mapsfamily_default_sourcesaccepted_appliedfamily_default_appliedfallback_applieds	            r   render_review_coverager@      sJ    )//1::g*,E1B 	

5M  )//1::g*,O1L 	J'-2. 
 ~2H^H^^!$$j($j!j^H^^}-!"q).>">?.$'(>$? 0%; 0,<?U,U '
s   =D0$AD5c                   | j                         D cg c]  }|j                  d      dk(  s| }}| j                         D cg c]  }|j                  d      dk(  s| }}t        |      t        |      t        |D ch c]$  }|j                  d      |j                  d      f& c}      dS c c}w c c}w c c}w )Nr   	confirmedrejectedsourcetarget)rB   rC   confirmedEdges)r2   r!   r5   )transition_reviewsr:   rB   rC   s       r   transition_review_countsrH   8   s    &8&?&?&AhFVZZPWEX\gEghIh%7%>%>%@f6FJJwDW[eDefHf^MZcdPV

8 4fjj6JKde  if es   B4B4B9B9)B>c                    | ||||dS )N)idtitlestatusevidencegaps )
identifierrK   rL   rM   rN   s        r   	criterionrQ   B   s         c                    | ||||dS )NrequirementrL   	artifactsrM   rN   rO   rT   s        r   checklist_itemrW   L   s     # rR   c                    | sg S d| v r| j                  dd      d   dz   gS | j                  d      r| d d }dD cg c]  }||z   	 c}S | gS c c}w )Nz/*r   r   /z.*)z.htmlz.jsonz.mdz.js)splitendswith)r   stemexts      r   artifact_candidatesr_   \   sh    	t|

4#A&,--}}TCRy&FGss
GG6M Hs   Ac                    t        |       D ]A  }t        |z  j                         s|j                  d      r|t	        d      d  c S d| c S  y)Nzout/z../ )r_   ROOTexists
startswithr5   )r   	candidates     r   artifact_hrefrf   g   sX    (. %	9$$&##F+ V..$$	%
 rR   c                @    | syt        |       }|sd|  dS d|  d| dS )N-`z` (not generated)z[`z`]())rf   )r   hrefs     r   markdown_artifact_linkrl   p   s:    D4&)**vSa  rR   c                B    dj                  d | xs g D              xs dS )N<br>c              3  2   K   | ]  }t        |        y wN)rl   r#   r   s     r   r%   z*markdown_artifact_links.<locals>.<genexpr>z   s     L-d3L   rh   r3   pathss    r   markdown_artifact_linksrv   y   s!    ;;LLLSPSSrR   c                    | syt        j                  |       }t        |       }|sd| dS t        j                  |d      }d| d| dS )	Nrh   z<code>z2</code> <span class="muted">(not generated)</span>T)quotez	<a href="z"><code>z</code></a>)htmlescaperf   )r   escaped_pathrk   escaped_hrefs       r   html_artifact_linkr}   }   sX    ;;t$LD~%WXX;;t40L|nH\N+FFrR   c                B    dj                  d | xs g D              xs dS )Nrn   c              3  2   K   | ]  }t        |        y wrp   )r}   rq   s     r   r%   z&html_artifact_links.<locals>.<genexpr>   s     HD)$/Hrr   rh   rs   rt   s    r   html_artifact_linksr      s     ;;HEKRHHOCOrR   c                    dddddgg dg dt         dd	d
gd	dddddgg dg dt         dg dd	dddddgg dg dt         dg dd	gS )Nzreal-selector-2-0-savemissingjCaptured gameplay savedat with selector 2:0 and selected pointer 0x00540714 covering map1_01a -> map2_02d.realSelector20SavedataselectedRootExecution)z currentSelectorRealSaveCount > 0z selectedPointerRealSaveCount > 0zroutePairRealSaveCount > 0zrouteEvidenceProofFound == true)SAVEDATA/README.mdSaveData/README.mdzout/savedata_slot_scan.htmlz1out/save_selector_real_savedata_evidence_gap.htmlz/out/route_promotion_external_proof_handoff.htmlz(constructed selector 2:0 diagnostic savezCpublic save that does not contain selector 2:0 / pointer 0x00540714)	rJ   rL   requiredInputunblocksGatesacceptedSignalsintakeArtifactsrefreshCommandsourceArtifactstillNotAcceptedznormal-route-runtime-tracezblocked-by-environmentqStable selected-root runtime trace or equivalent proof for selected pointer 0x0059de30 executing root 0x00540714.runtimeTraceOrEquivalent)zEselected pointer 0x0059de30 becomes 0x00540714 on a normal route pathzAtrace reaches 0x00542b0c frontier reader on a non-diagnostic pathzDtrace captures 0x0059e348 producer or equivalent selected-root proof)z"out/runtime_trace_feasibility.htmlz&out/runtime_trace_execution_probe.jsonz6out/selected_root_execution_external_proof_packet.html)z diagnostic patched selector pollz1idle memory snapshot without route-path executionz:green verifier output that only confirms the blocked statezstrict-source-hotspotKStrict map1_01a source coordinate or tile-hotspot proof linked to map2_02d.strictSourceHotspottileHotspotConfirmation)z%strictSourceHotspotProofFound == trueztileHotspotConfirmed == truez;candidate row links map1_01a source tile to map2_02d target)z5out/strict_source_hotspot_external_review_packet.htmlz/out/map1_01a_strict_source_hotspot_context.jsonz.out/map1_01a_strict_hotspot_review_matrix.html)zselector-only scene-list edgez6geometry/tile similarity without source tile executionzrouteAssist trial transition)ROUTE_PROOF_REFRESH_COMMANDroute_promotion_gates    r   external_input_checklistr      s     +< 78OP   :O:U!-	
8 /.8 9:QR 
 
 :O!)	
6 *]35NO 
 
 :O!'	
mO OrR   c                   g }t        | xs i j                  d      xs i j                               D ];  \  }}dj                  d |xs g D              }|j	                  | d|xs d        = dj                  |      xs dS )NobservedWatchValuesr   c              3     K   | ]:  }|j                  d       '|j                  d        d|j                  d        < ywvalueHexNxcountr    r"   s     r   r%   z&watch_value_summary.<locals>.<genexpr>   sF      
wwz". wwz"#1SWWW%5$67
   A A=rh   ; )sortedr!   itemsr3   append)pollpartsnamerowsr2   s        r   watch_value_summaryr      s    Etzr../DEKRRTU 0
d 
zr
 

 	vQv}o./0 99U"s"rR   c                    | xs i j                  d      xs i j                  |      xs g }dj                  d |D              }| d|xs d S )Nr   r   c              3     K   | ]:  }|j                  d       '|j                  d        d|j                  d        < ywr   r    r"   s     r   r%   z&watch_field_summary.<locals>.<genexpr>   sF      77:* 77:
q!1 23r   r   rh   r!   r3   )r   r   r   r2   s       r   watch_field_summaryr      s^    ZR239r>>tDJDXX  F
 V1V]sO$$rR   c                Z     dj                   fdt         xs i       D              xs dS )Nr   c              3  2   K   | ]  }| d |      yw:NrO   )r#   keycountss     r   r%   z count_summary.<locals>.<genexpr>   s      Ksse1VC[M*K   rh   )r3   r   )r   s   `r   count_summaryr      s&    88KfV\r6JKKRsRrR   c                B    dj                  d | xs g D              xs dS )Nr   c              3  f   K   | ])  }|j                  d        d|j                  d        + yw)valuer   r   Nr    r"   s     r   r%   z)string_histogram_brief.<locals>.<genexpr>   s/     Sswww'(#'''*:);<S   /1rh   rs   )r   s    r   string_histogram_briefr      s"    88S
PRSSZWZZrR   c                    g }| xs g D ]@  }|j                  d      }|j                  d      }|(|+|j                  | d|        B dj                  |      xs dS )Nownerr   r   r   rh   )r!   r   r3   )pairsr   r$   r   r   s        r   owner_pair_summaryr      sm    E{ -  !2LLE7!E7+,	-
 88E?!c!rR   c                ^   g }| xs g D ]   }g }|j                  d      xs g D ]F  }|j                  d      }|s|j                  |t        |j                  d      xs g       d       H |sg|j                  |j                  d      |j                  d      |j                  d      |j                  d      t        |j                  d	      xs g       t        |j                  d
      xs g       t        |j                  d      xs g       |j                  d      |d	       # |S )NevidenceRefsr   fields)r   r   priorityrL   taskwhyrelatedFailedGateIdsrelatedMissingEvidencenextInputClassesnextInputSummary)	r   rL   r   r   r   r   r   r   r   )r!   r   list)next_actionsr   actionrefsrefr   s         r   route_next_action_evidence_refsr     s   D$" ::n-3 	C776?DKKswwx06B7 		 KK"JJz2 **X.

6*zz%((,VZZ8N-O-USU(V*.vzz:R/S/YWY*Z$(4F)G)M2$N$*JJ/A$B $
 
, KrR   c                l   t        |       D ci c]  }|j                  d      | }}g }| xs g D ]  }|j                  d      }|j                  |      xs i }t        |j                  d      xs g       }|j                  ||j                  d      |j                  d      |j                  d      t        |j                  d      xs g       t        |j                  d      xs g       t        |j                  d      xs g       |j                  d	      t	        |      |d

        |S c c}w )Nr   r   rL   r   r   r   r   r   r   )
r   rL   r   r   r   r   r   r   evidenceRefCountr   )r   r!   r   r   r5   )r   r$   ref_rowsr   r   r   ref_rowevidence_refss           r   route_next_action_summary_rowsr   "  s*    3<@ 	
S H  D$" ::j),,x(.BW[[8>B? jj*JJv&::e$$(4J)K)Qr$R&*6::6N+O+USU&V $VZZ0B%C%Ir J &

+= > #M 2)
 		  K+s   D1c                   g }| xs g D ]  }dj                  d |j                  d      xs g D              }dj                  |j                  d      xs g       xs d}|j                  d|j                  d       d| d	|j                  d
       d|j                  d      xs d d|j                  d      xs d d| ddj                  |j                  d      xs g       xs d         dj                  |      xs dS )Nr   c              3  @   K   | ]  }|j                  d d        yw)r   rh   Nr    )r#   r   s     r   r%   z/route_next_action_refs_brief.<locals>.<genexpr>>  s     W#-W   r   r   rh   pr   r   z status=rL   z task=r   z why=r   z gates=z inputs=r   r   )r3   r!   r   )r   r   r$   ru   gatess        r   route_next_action_refs_briefr   ;  s   Ezr 

W9P9VTVWW!78>B?F3
#$AeW -ggh'( )GGFO*s+ ,775>(S) *G hhsww'9:@bAHSIK	


 99U"s"rR   c                
   i d| j                  d      d| j                  d      d| j                  d      d| j                  d      xs i d| j                  d      d| j                  d      xs g d	| j                  d
      xs g d| j                  d      d| j                  d      xs g d| 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      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                  d0      d1| j                  d2      d3| j                  d4      d5| j                  d6      d7| j                  d8      d9| j                  d:      d;| j                  d<      d=| j                  d>      d?| j                  d@      i dA| j                  dB      dC| j                  dD      dE| j                  dF      dG| j                  dH      dI| j                  dJ      dK| j                  dL      dM| j                  dN      dO| j                  dP      dQ| j                  dR      dS| j                  dT      dU| j                  dV      dW| j                  dX      dY| j                  dZ      d[| j                  d\      d]| j                  d^      d_| j                  d`      da| j                  db      i dc| j                  dd      de| j                  df      dg| j                  dh      di| j                  dj      dk| j                  dl      dm| j                  dn      do| j                  dp      dq| j                  dr      ds| j                  dt      xs g du| j                  dv      dw| j                  dx      dy| j                  dz      d{| j                  d|      d}| j                  d~      d| j                  d      d| j                  d      d| j                  d      | j                  d      | j                  d      dS )NstrictSourceHotspotFoundtileHotspotConfirmed*strictSourceHotspotRejectionClassificationstrictSourceHotspotRejectioncontextEvidenceRowCount*strictSourceHotspotContextEvidenceRowCountcontextEvidenceRows&strictSourceHotspotContextEvidenceRowscontextRemainingProofs)strictSourceHotspotContextRemainingProofsreviewCandidateRowCount*strictHotspotReviewMatrixCandidateRowCountreviewCandidateRows&strictHotspotReviewMatrixCandidateRowsreviewRemainingProofs(strictHotspotReviewMatrixRemainingProofscandidateCount(strictSourceHotspotContextCandidateCounttransitionReviewRowCount2strictSourceHotspotContextTransitionReviewRowCounteventTransitionCount.strictSourceHotspotContextEventTransitionCountstrictSourceCoordinateFound5strictSourceHotspotContextStrictSourceCoordinateFound(targetSpawnCoordinateCurrentRootHitCountBstrictSourceHotspotContextTargetSpawnCoordinateCurrentRootHitCount0targetSpawnCoordinateCharacterDescriptorHitCountJstrictSourceHotspotContextTargetSpawnCoordinateCharacterDescriptorHitCount4targetSpawnCoordinateCurrentRootClassificationCountsNstrictSourceHotspotContextTargetSpawnCoordinateCurrentRootClassificationCounts<targetSpawnCoordinateCharacterDescriptorClassificationCountsVstrictSourceHotspotContextTargetSpawnCoordinateCharacterDescriptorClassificationCounts'targetSpawnCoordinatePromotableHitCountAstrictSourceHotspotContextTargetSpawnCoordinatePromotableHitCount4targetSpawnCoordinateAllInterestingHitsNonPromotableNstrictSourceHotspotContextTargetSpawnCoordinateAllInterestingHitsNonPromotable)targetSpawnTargetMapStrictEventPointCountCstrictSourceHotspotContextTargetSpawnTargetMapStrictEventPointCount*targetSpawnCenterPairStrictEventMatchCountDstrictSourceHotspotContextTargetSpawnCenterPairStrictEventMatchCount&targetSpawnLow3x3StrictEventMatchCount@strictSourceHotspotContextTargetSpawnLow3x3StrictEventMatchCount'targetSpawnPair3x3StrictEventMatchCountAstrictSourceHotspotContextTargetSpawnPair3x3StrictEventMatchCount(targetSpawnCenterPairTargetMapMatchCountBstrictSourceHotspotContextTargetSpawnCenterPairTargetMapMatchCount$targetSpawnLow3x3TargetMapMatchCount>strictSourceHotspotContextTargetSpawnLow3x3TargetMapMatchCount%targetSpawnPair3x3TargetMapMatchCount?strictSourceHotspotContextTargetSpawnPair3x3TargetMapMatchCount'targetSpawnLow3x3TargetLinkedMatchCountAstrictSourceHotspotContextTargetSpawnLow3x3TargetLinkedMatchCount*targetSpawnLow3x3ConfirmedReviewMatchCountDstrictSourceHotspotContextTargetSpawnLow3x3ConfirmedReviewMatchCount)targetSpawnLow3x3RejectedReviewMatchCountCstrictSourceHotspotContextTargetSpawnLow3x3RejectedReviewMatchCounttargetSpawnLow3x3OwnerPairs5strictSourceHotspotContextTargetSpawnLow3x3OwnerPairstargetSpawnLow3x3GenericOnly6strictSourceHotspotContextTargetSpawnLow3x3GenericOnly#allTargetSpawnCenterPairMatchesZero=strictSourceHotspotContextAllTargetSpawnCenterPairMatchesZero allTargetSpawnPair3x3MatchesZero:strictSourceHotspotContextAllTargetSpawnPair3x3MatchesZero'allTargetSpawnTargetMapStrictEventsZeroAstrictSourceHotspotContextAllTargetSpawnTargetMapStrictEventsZero"centerPairRejectedReviewMatchCount<strictSourceHotspotContextCenterPairRejectedReviewMatchCount"allCenterPairMatchesRejectedReview<strictSourceHotspotContextAllCenterPairMatchesRejectedReview!targetLinkedStrictEventMatchCount;strictSourceHotspotContextTargetLinkedStrictEventMatchCount'directSourceTargetStrictEventMatchCountAstrictSourceHotspotContextDirectSourceTargetStrictEventMatchCountrouteExitPointCandidateCount6strictSourceHotspotContextRouteExitPointCandidateCount currentPairSelectorAdjacencyOnly:strictSourceHotspotContextCurrentPairSelectorAdjacencyOnlyedgeTriggerPromotionAllowed5strictSourceHotspotContextEdgeTriggerPromotionAllowededgeTriggerPromotionStatus4strictSourceHotspotContextEdgeTriggerPromotionStatussourceSaveLoadClassification#runtimeSourceSaveLoadClassificationsourceSaveLoadSummary#runtimeSourceSaveLoadVariantSummary+sourceSaveLoadStrictSourceHotspotProofFound2runtimeSourceSaveLoadStrictSourceHotspotProofFound)sourceSaveLoadRoutePromotionEvidenceFound0runtimeSourceSaveLoadRoutePromotionEvidenceFound!sourceSaveLoadExitPathSampleCount(runtimeSourceSaveLoadExitPathSampleCount(sourceSaveLoadExitPathSourceSaveObserved/runtimeSourceSaveLoadExitPathSourceSaveObserved'sourceSaveLoadExitPathCandidateObserved.runtimeSourceSaveLoadExitPathCandidateObserved%sourceSaveLoadExitPathOutsideObserved,runtimeSourceSaveLoadExitPathOutsideObserved*sourceSaveLoadExitPathReachedRouteSelector1runtimeSourceSaveLoadExitPathReachedRouteSelector.sourceSaveLoadReadyPathDiversionClassification5runtimeSourceSaveLoadReadyPathDiversionClassificationsourceSaveLoadReadyPathCount#runtimeSourceSaveLoadReadyPathCount*sourceSaveLoadReadyPathRouteOrCurrentCount1runtimeSourceSaveLoadReadyPathRouteOrCurrentCount.sourceSaveLoadReadyPathCandidateOrOutsideCount5runtimeSourceSaveLoadReadyPathCandidateOrOutsideCount/sourceSaveLoadReadyPathDominantNonRouteSelector6runtimeSourceSaveLoadReadyPathDominantNonRouteSelector-sourceSaveLoadDiversionSelectorClassification4runtimeSourceSaveLoadDiversionSelectorClassificationsourceSaveLoadDiversionSelector&runtimeSourceSaveLoadDiversionSelector(sourceSaveLoadDiversionSelectorFieldMaps/runtimeSourceSaveLoadDiversionSelectorFieldMaps*sourceSaveLoadDiversionSelectorInRoutePair1runtimeSourceSaveLoadDiversionSelectorInRoutePair0sourceSaveLoadDiversionSelectorContainsSourceMap7runtimeSourceSaveLoadDiversionSelectorContainsSourceMap0sourceSaveLoadDiversionSelectorContainsTargetMap7runtimeSourceSaveLoadDiversionSelectorContainsTargetMap5sourceSaveLoadDiversionSelectorSceneAdjacencyRowCount<runtimeSourceSaveLoadDiversionSelectorSceneAdjacencyRowCountBsourceSaveLoadDiversionSelectorSceneAdjacencySelectorOnlyPairCountIruntimeSourceSaveLoadDiversionSelectorSceneAdjacencySelectorOnlyPairCountCsourceSaveLoadDiversionSelectorSceneAdjacencyStrictEventBackedCountJruntimeSourceSaveLoadDiversionSelectorSceneAdjacencyStrictEventBackedCountGsourceSaveLoadDiversionSelectorSceneAdjacencyConfirmedReviewBackedCountNruntimeSourceSaveLoadDiversionSelectorSceneAdjacencyConfirmedReviewBackedCount5sourceSaveLoadDiversionSelectorSelectedPointerRootHex<runtimeSourceSaveLoadDiversionSelectorSelectedPointerRootHexFruntimeSourceSaveLoadDiversionSelectorSelectedPointerCurrentProofCountAruntimeSourceSaveLoadDiversionSelectorRoutePromotionEvidenceFound)?sourceSaveLoadDiversionSelectorSelectedPointerCurrentProofCount:sourceSaveLoadDiversionSelectorRoutePromotionEvidenceFoundr    r   s    r   "route_strict_hotspot_gate_evidencerd  K  sS   O"$8$<$<=W$XO 4 8 89O PO 	56J6N6N87
O 	'(<(@(@*)
 )O 	"#7#;#;8$
O 	3774 
  O 	!"6":":7#
 ##O$ 	"#7#;#;8$
%O* 	3774 
  /O0 	 !5!9!96"
 "5O6 	.223]^7O8 	#$8$<$<@%
9O> 	 4 8 8<!
?OD 	&';'?'?C(
EOJ 	34H4L4LP5
KOP 	;<P<T<TX=
QOV 	?@T@X@X\A
WO\ 	GH\H`H`dI
]Ob 	23G3K3KO4
cOh 	?@T@X@X\A
iOn 	45I5M5MQ6
oOt 	56J6N6NR7
uOz 	12F2J2JN3
{O@ 	23G3K3KO4
AOF 	34H4L4LP5
GOL 	/0D0H0HL1
MOR 	01E1I1IM2
SOX 	23G3K3KO4
YO^ 	56J6N6NR7
_Od 	45I5M5MQ6
eOj 	&';'?'?C(
kOp 	'(<(@(@D)
qOv 	./C/G/GK0
wO| 	+,@,D,DH-
}OB 	23G3K3KO4
COH 	-.B.F.FJ/
ION 	-.B.F.FJ/
OOT 	,-A-E-EI.
UOZ 	23G3K3KO4
[O` 	'(<(@(@D)
aOf 	+,@,D,DH-
gOl 	&';'?'?C(
mOr 	%&:&>&>B'
sOx 	'(<(@(@1)
yO~ 	 !5!9!91"
OD 	67K7O7O@8
EOJ 	45I5M5M>6
KOP 	,-A-E-E6.
QOV 	34H4L4L=5
WO\ 	23G3K3K<4
]Ob 	01E1I1I:2
cOh 	56J6N6N?7
iOn 	9:N:R:RC;
oOt 	'(<(@(@1)
uOz 	56J6N6N?7
{O@ 	9:N:R:RC;
AOF 	:;O;S;SD<
GOL 	89M9Q9QB:
MOR 	*+?+C+C4,
SOX 	34H4L4L=5
 5]O^ 	56J6N6N?7
_Od 	;<P<T<TE=
eOj 	;<P<T<TE=
kOp 	@AUAYAYJB
qOv 	MNbNfNfWO
wO| 	NOcOgOgXP
}OB 	R $$`EOL 	@AUAYAYJB
MOR L`KcKcTL
 G[F^F^OG
YO OrR   c                	   i d| j                  d      d| j                  d      d| j                  d      xs g d| j                  d      xs g d| j                  d      d	| j                  d	      xs i d
| j                  d      d| j                  d      xs g d| j                  d      d| j                  d      xs g d| j                  d      d| j                  d      xs g 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/      d0| j                  d1      d2| j                  d3      d4| j                  d5      d6| j                  d7      d8| j                  d9      d:| j                  d;      d<| j                  d=      d>| j                  d?      d@| j                  dA      i dB| j                  dC      dD| j                  dE      dF| j                  dG      dH| j                  dI      xs g dJ| j                  dK      xs g dL| j                  dM      dN| j                  dO      dP| j                  dQ      xs g dR| j                  dS      dT| j                  dU      xs g dV| j                  dW      xs g dX| j                  dY      dZ| j                  d[      xs g d\| j                  d]      xs g d^| j                  d_      d`| j                  da      xs g db| j                  dc      i dd| j                  de      df| j                  dg      dh| j                  di      dj| j                  dk      dl| j                  dm      dn| j                  do      dp| j                  dq      dr| j                  ds      dt| j                  du      dv| j                  dw      dx| j                  dy      dz| j                  d{      d|| j                  d}      d~| j                  d      d| j                  d      d| j                  d      S )NselectedRootExecutionRefFound
proofFoundselectedRootTopLevelProofFoundfailedSelectedRootGateIds%selectedRootFailedSelectedRootGateIdsmissingEvidenceselectedRootMissingEvidence,selectedRootExecutionRejectionClassificationselectedRootExecutionRejectiongateRowCountselectedRootGateRowCountgateRowsselectedRootGateRowsremainingProofCountselectedRootRemainingProofCountremainingProofsselectedRootRemainingProofsr   selectedRootEvidenceRefCountr   selectedRootEvidenceRefssaveLoaderGateStatus selectedRootSaveLoaderGateStatusstaticReferenceGateStatus%selectedRootStaticReferenceGateStatushookPrerequisiteGateStatus&selectedRootHookPrerequisiteGateStatusdispatchTableGateStatus#selectedRootDispatchTableGateStatusopcodeSelectedPointerGateStatus+selectedRootOpcodeSelectedPointerGateStatuscurrentWriterPathGateStatus'selectedRootCurrentWriterPathGateStatusruntimeProbeGateStatus"selectedRootRuntimeProbeGateStatusdiagnosticExclusionGateStatus)selectedRootDiagnosticExclusionGateStatushookTraceHookPointCount#selectedRootHookTraceHookPointCounthookPrerequisiteUnprovenCount)selectedRootHookPrerequisiteUnprovenCounthookSelfProvingCount selectedRootHookSelfProvingCounthookPromotingCountselectedRootHookPromotingCounthookWindowScannedRefCount%selectedRootHookWindowScannedRefCounthookWindowRouteSpecificHitCount+selectedRootHookWindowRouteSpecificHitCounthookWindowAllRouteSpecificZero*selectedRootHookWindowAllRouteSpecificZerohookPrerequisitesAllUnproven(selectedRootHookPrerequisitesAllUnprovenhookEncodedClassification2selectedRootHookHandlerEncodedTargetClassification"hookEncodedRawScalarCandidateCount;selectedRootHookHandlerEncodedTargetRawScalarCandidateCount,hookEncodedRouteProofRawScalarCandidateCountEselectedRootHookHandlerEncodedTargetRouteProofRawScalarCandidateCount.hookEncodedRouteContextRawScalarCandidateCountGselectedRootHookHandlerEncodedTargetRouteContextRawScalarCandidateCount"hookEncodedPromotingCandidateCount;selectedRootHookHandlerEncodedTargetPromotingCandidateCountruntimeProbeAnyPollRoute$selectedRootRuntimeProbeAnyPollRoute&runtimeProbeConstructedDiagnosticRoute2selectedRootRuntimeProbeConstructedDiagnosticRoutediagnosticExcludedFromProof'selectedRootDiagnosticExcludedFromProofroutePairEvidenceRowCount'routePairEntryExecutionEvidenceRowCountroutePairEvidenceRows#routePairEntryExecutionEvidenceRowsroutePairEvidenceRefs#routePairEntryExecutionEvidenceRefsroutePairEvidenceRefCount'routePairEntryExecutionEvidenceRefCountroutePairEntryRowCount-routePairEntryExecutionRoutePairEntryRowCountroutePairEntryRows)routePairEntryExecutionRoutePairEntryRowsroutePairNegativeReaderRowCount-routePairEntryExecutionNegativeReaderRowCountroutePairNegativeReaderRows)routePairEntryExecutionNegativeReaderRowsroutePairRemainingProofs&routePairEntryExecutionRemainingProofswrapperEvidenceRowCount#wrapperExecutionGapEvidenceRowCountwrapperEvidenceRowswrapperExecutionGapEvidenceRowswrapperEvidenceRefswrapperExecutionGapEvidenceRefswrapperEvidenceRefCount#wrapperExecutionGapEvidenceRefCountwrapperRemainingProofs"wrapperExecutionGapRemainingProofsr.  r/  -sourceSaveLoadSelectedRootExecutionProofFound4runtimeSourceSaveLoadSelectedRootExecutionProofFoundr4  r5  r8  r9  r>  r?  (sourceSaveLoadExitPathReachedCurrentRoot/runtimeSourceSaveLoadExitPathReachedCurrentRootr@  rA  rB  rC  rD  rE  rF  rG  rJ  rK  rL  rM  rP  rQ  rR  rS  rT  rU  rb  r`  rc  ra  r    r   s    r   !route_selected_root_gate_evidencer    s   P')=)A)ABa)bP*../OPP 	$%9%=%=3&
 &P 	/334QRXVXP 	78L8P8P:9
P 	)*>*B*B,+
 +P 	,001KLP 	(,,-CDJP 	3778YZP  	/334QRXVX!P" 	0445ST#P$ 	,001KLRPR%P& 	 4 8 89[ \'P( 	$%9%=%=>e%f)P* 	%&:&>&>?g&h+P, 	"#7#;#;<a#b-P. 	*+?+C+CDq+r/P0 	&';'?'?@i'j1P2 	!"6":":;_"`3P4 	()=)A)ABm)n5P6 	"#7#;#;<a#b7P8 	()=)A)ABm)n9P: 	 4 8 89[ \;P< 	2667WX=P> 	$%9%=%=>e%f?P@ 	*+?+C+C9,
APF 	)*>*B*B8+
GPL 	'(<(@(@Ak(lMPN 	$%9%=%=@&
OPT 	-.B.F.FI/
UPZ 	78L8P8PS9
[P` 	9:N:R:RU;
aPf 	-.B.F.FI/
gPl 	#$8$<$<=c$dmPn 	12F2J2J@3
oPt 	&';'?'?@i'juPv 	$%9%=%=5&
wP| 	 !5!9!91"
 "APB 	 !5!9!91"
 "GPH 	$%9%=%=5&
IPN 	!"6":":;#
OPT 	2667
 YPZ 	*+?+C+C;,
[P` 	&';'?'?7(
 (ePf 	#$8$<$<4%
 %kPl 	"#7#;#;<a#bmPn 	3778YZ`^`oPp 	3778YZ`^`qPr 	"#7#;#;<a#bsPt 	!"6":":0#
 #yPz 	'(<(@(@1)
{P@ 	89M9Q9QB:
APF 	45I5M5M>6
GPL 	34H4L4L=5
MPR 	56J6N6N?7
SPX 	34H4L4L=5
YP^ 	9:N:R:RC;
_Pd 	'(<(@(@1)
ePj 	56J6N6N?7
kPp 	9:N:R:RC;
qPv 	89M9Q9QB:
wP| 	*+?+C+C4,
}PB 	56J6N6N?7
CPH 	;<P<T<TE=
IPN 	;<P<T<TE=
OPT 	JK_KcKcTL
UPZ 	EFZF^F^OG
[P PrR   c                   | j                  d      xs i }i d| j                  d      d| j                  d|j                  d            d| j                  d|j                  d      xs g       xs g d| j                  d|j                  d      xs g       xs g 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      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$      xs g d%| j                  d&      d'| j                  d(      d)| j                  d*      d+| j                  d,      | j                  d-      | j                  d.      | j                  d/      | j                  d0      | j                  d1      | j                  d2      | j                  d3      | j                  d4      xs g | j                  d5      | j                  d6      | j                  d7      | j                  d8      d9S ):NruntimeTraceEquivalentRejectionruntimeTraceCanRunNowrg  runtimeTraceProofFoundfailedRuntimeTraceGateIds%runtimeTraceFailedRuntimeTraceGateIdsrk  runtimeTraceMissingEvidence-runtimeTraceEquivalentRejectionClassificationruntimePollReachedRouteruntimeTraceBlockerCount"runtimeTraceExecutionCanCaptureNow!runtimeTraceExecutionBlockerCountruntimeTraceExecutionProbeCount#runtimeTraceSummaryBinfmtRegistered runtimeTraceSummaryBinfmtEnabled%runtimeTraceExecutionBinfmtRegisteredruntimeTraceExecutionWinePrefix%runtimeTraceExecutionGdbMultiarchPath7runtimeTraceExecutionVirtualDesktopGdbstubConnectStatus9runtimeTraceExecutionVirtualDesktopGdbstubConnectTimedOut8runtimeTraceExecutionVirtualDesktopGdbstubConnectCrashedDruntimeTraceExecutionVirtualDesktopRelocatedSoftwareBreakpointStatusFruntimeTraceExecutionVirtualDesktopRelocatedSoftwareBreakpointTimedOutEruntimeTraceExecutionVirtualDesktopRelocatedSoftwareBreakpointCrashed<runtimeTraceExecutionVirtualDesktopRelocatedWatchpointStatus>runtimeTraceExecutionVirtualDesktopRelocatedWatchpointTimedOut=runtimeTraceExecutionVirtualDesktopRelocatedWatchpointCrashed runtimeRouteWatchPollSampleCount)runtimeRouteWatchPollReachedRouteSelectorr.  r/  r6  r7  'sourceSaveLoadExitPathObservedSelectors.runtimeSourceSaveLoadExitPathObservedSelectorsr8  r9  r:  r;  r<  r=  r>  r?  r  rA  rC  rE  rG  rK  rM  rO  rW  rY  r`  ra  )r  r@  rB  rD  rF  rJ  rL  rN  rV  rX  rb  rc  r    )r   runtime_trace_rejections     r   !route_runtime_trace_gate_evidencer    sC   2667XY_]_z!5!9!9:Q!Rz*..$#''5
z 	$%9%=%=3#''(CDJ&
 & z 	/33)#''(9:@b
  z  	89M9Q9Q;:
!z& 	*+B'z( 	"#7#;#;<U#V)z* 	#$8$<$<=W$X+z, 	-.B.F.FGk.l-z. 	,-A-E-EFi-j/z0 	*+?+C+CDe+f1z2 	./C/G/GHm/n3z4 	+,@,D,DEg,h5z6 	01E1I1I32
7z< 	*+?+C+CDe+f=z> 	01E1I1I32
?zD 	BCWC[C[ED
EzJ 	DEYE]E]GF
KzP 	CDXD\D\FE
QzV 	OPdPhPhRQ
Wz\ 	QRfRjRjTS
]zb 	PQeQiQiSR
czh 	GH\H`H`JI
izn 	IJ^JbJbLK
ozt 	HI]IaIaKJ
uzz 	+,@,D,DEg,h{z| 	45I5M5M76
}zB 	'(<(@(@1)
CzH 	,-A-E-E6.
IzN 	23G3K3K<4
 4SzT 	34H4L4L=5
UzZ 	23G3K3K<4
[z` 	01E1I1I:2
azf 	56J6N6N?7
gzl 5I4L4L=5
 ;O:R:RC;
 )=(@(@1)
 7K6N6N?7
 ;O:R:RC;
 :N9Q9QB:
 ,@+C+C4,
 5I4L4L=5
 5AUAYAYJB
 OcNfNfWO
 L`KcKcTL
 G[F^F^OG
oz zrR   c                b     sydj                   fddD              }dj                  g d j                  d       d j                  d	       d
dj                   j                  d      xs g       xs d dt         j                  d      xs g        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, j                  d-       d. j                  d/       d j                  d0       d j                  d1       d2 j                  d3       d j                  d4       d j                  d5       d j                  d6             S )7Nrh   rY   c              3  R   K   | ]  }t        j                  |               y wrp   )strr!   )r#   r   rM   s     r   r%   z1route_selected_root_gate_brief.<locals>.<genexpr>4  s'       	HLLs   $')ry  r{  r}  r  r  r  r  r  ra   zselectedRootExecution=rf  ; proofFound=rg  z; failedSelectedRootGates=r   ri  ; missingEvidenceCount=rk  z; subgates=z; rowCounts=ro  r  r  z; hookPrereq=r  r  r  r  z; hookAllUnproven=r  z; hookEncoded=r  r  r  r  z; hookEncodedClass=r  z; anyPollRoute=r  z; constructedDiagnostic=r  z; diagnosticExcluded=r  ; sourceSaveLoad=r.  z; sourceSaveSelectedProof=r  ; sourceSaveRouteEvidence=r4  ; sourceSaveExit=r8  r>  r  ; sourceSaveReady=r@  rB  rD  rF  r3   r!   r5   )rM   subgatess   ` r   route_selected_root_gate_briefr  1  s   xx 	
 H$	L $	L
  $	L.M!N O $	L P $	Lll<01$	L2#$	L 88HLL!<=CDK
L$	LM $	L !$HLL1B$C$Ir JK	$	LL	$	L
 :$	L
$	L <<'
($	L )*$	L <<34
5$	L 67$	L <<12
3$	L4$	L <<12
3$	L 45$	L <<78
9$	L :;$	L <<./
0$	L 12$	L <<,-
.$	L/$	L $<<(FGH$	LI$	L" <<<=
>#$	L" ?@#$	L$ <<FG
H%$	L$ IJ%$	L& <<HI
J'$	L& KL'$	L( <<<=
>)$	L(?)$	L* %LL)DEF+$	L*G+$	L, !%?@A-$	L,B!-$	L. "*.V!W X/$	L.Y/$	L0 'll+HIJ1$	L0K1$	L2 #,,'EFG3$	L2H#3$	L4 $,<<0_#`"a5$	L4b#5$	L6 $,<<0[#\"]7$	L6^7$	L: <<BC
D;$	L: EF;$	L< <<DE
F=$	L< GH=$	L> <<BC
D?$	L>E?$	LB <<HI
JC$	LB KLC$	LD <<67
8E$	LD 9:E$	LF <<DE
FG$	LF GHG$	LH <<HI
JI$	L&rR   c                   | sydj                  g d| j                  d       d| j                  d       d| j                  d       d	| j                  d
       d| j                  d       dt        j                  | j                  d      xs i d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                  | j                  d      xs i dd       dt        j                  | j                  d      xs i 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,       d| j                  d-       d.| j                  d/       d0| j                  d1       d2| j                  d3       d| j                  d4       d5| j                  d6       d7| j                  d8       d9| j                  d:       d| j                  d;       d<| j                  d=       d>| j                  d?       d| j                  d@       d| j                  dA       d| j                  dB       d| j                  dC       dD| j                  dE       d| j                  dF       d| j                  dG       d| j                  dH       d| j                  dI       dJ| j                  dK       dL| j                  dM             S )NNrh   ra   zstrict=r   z; tile=r   	; reject=r   z; candidates=r   z; candidateAllBlocked=&strictSourceHotspotCandidateAllBlockedz; candidateBlocks=-strictSourceHotspotCandidateBlockReasonCountsTr   r   	sort_keys
separatorsz; reviews/events=r   rY   r   z; coord=r   z; targetSpawn=r   r   r   r   z; targetSpawnClasses=r   r   z; targetSpawnSig=points:r   	,matches:r  r  r  ,targetMap:r  r
  r  ,zero:r  r  r  z; centerRejected=r  z; allCenterRejected=r   z; target/direct=r"  r$  z; routePoints=r&  z; selectorOnly=r(  z; edge=r*  r,  r  r.  r  r6  r8  r:  r<  r>  r  r@  rB  rD  rF  rH  z; sourceSaveStrictProof=r2  r  r4  )r3   r!   r   dumpsrM   s    r   route_strict_hotspot_gate_briefr  j  s0   6	_ 6	_' 6	_(,,9:; 6	_ < 6	_3456	_66	_,,KLM6	_N6	_ ll#3456	_66	_  (||,TUV	6	_W	6	_ ::hll#RSYWYei  wA  B  C6	_C6	_ <<23
46	_ 566	_ <<./
06	_16	_ ;<=6	_>6	_ <<BC
D6	_ EF6	_ <<JK
L6	_ MN6	_ <<AB
C6	_ DE6	_ <<NO
P6	_Q6	_" ::hll#YZ`^`lp  ~H  I  J#6	_" JK#6	_$ ::hll#abhfhtx  FP  Q  R%6	_$R%6	_( ,,JKL)6	_(M)6	_* << LMN+6	_* OP+6	_, <<@A
B-6	_, CD-6	_. <<AB
C/6	_.D/6	_0 \\"LMN16	_0 OP16	_2 <<>?
@36	_2 AB36	_4 <<?@
A56	_4B56	_6 BCD76	_6 EF76	_8 <<:;
<96	_8 =>96	_: <<AB
C;6	_:D;6	_< #,,'KLM=6	_<N=6	_> &\\*NOP?6	_>Q?6	_B <<;<
=C6	_B >?C6	_D <<AB
CE6	_DDE6	_F  ||$BCDG6	_FEG6	_H !%GHII6	_HJI6	_L <<56
7M6	_L 89M6	_N <<45
6O6	_N7O6	_P #,,'EFGQ6	_PHQ6	_T <<;<
=U6	_T >?U6	_V <<BC
DW6	_V EFW6	_X <<AB
CY6	_X DEY6	_Z <<?@
A[6	_Z BC[6	_\ <<DE
F]6	_\G]6	_` <<HI
Ja6	_` KLa6	_b <<67
8c6	_b 9:c6	_d <<DE
Fe6	_d GHe6	_f <<HI
Jg6	_f KLg6	_h <<IJ
Ki6	_hL!i6	_j "*.[!\ ]k6	_j^#k6	_l $,<<0[#\"]m6	_8rR   c                @   | sydj                  g d| j                  d       d| j                  d       ddj                  | j                  d	      xs g       xs 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| 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                  d0       d1dj                  | j                  d2      xs g       xs d d| j                  d3       d| j                  d4       d| j                  d5       d| j                  d6       d| j                  d7       d8| j                  d9       d| j                  d:       d| j                  d;       d| j                  d<             S )=Nrh   ra   zcanRun=r  r  rg  z; failedRuntimeTraceGates=r   r  r  rk  r  r  z; pollRoute=r  z; blockers=r  z; execCanCapture=r  z; execBlockers=r  z; execProbeCount=r  z; virtualDesktopGdbstub=r  rY   r  r  z; virtualDesktopRelocated=r  r  r  r  r  r  z	; binfmt=r  r  z; execBinfmt=r  z; watchSamples=r  z; watchRoute=r  r  r.  r  r6  r   r  r8  r:  r<  r>  r  r  r@  rB  rD  rF  r  r  s    r   route_runtime_trace_gate_briefr    sz   )	L )	L' )	L(,,678 )	L 9 )	Lll<01)	L2#)	L 88HLL!<=CDK
L)	LM )	L !$HLL1B$C$Ir JK	)	LL	)	L
 ,,NOP)	L
Q)	L \\";<=)	L>)	L LL!;<=)	L>)	L #,,'KLM)	LN)	L !%HIJ)	LK)	L #,,'HIJ)	LK!)	L <<QR
S)	L TU)	L <<ST
U)	L VW)	L <<RS
T)	LU#)	L  <<^_
`!)	L  ab!)	L" <<`a
b#)	L" cd#)	L$ <<_`
a%)	L$ bc%)	L& <<VW
X')	L& YZ')	L( <<XY
Z))	L( [\))	L* <<WX
Y+)	L*Z+)	L. <<=>
?/)	L. @A/)	L0 <<:;
<1)	L0=1)	L2 ll#JKL3)	L2M3)	L4 !%GHI5)	L4J5)	L6 ll#NOP7)	L6Q7)	L8 #,,'EFG9)	L8H9)	L< <<;<
==)	L< >?=)	L> 88HLL!JKQrRYVY
Z?)	L> [\?)	L@ <<BC
DA)	L@ EFA)	LB <<AB
CC)	LB DEC)	LD <<?@
AE)	LD BCE)	LF <<DE
FG)	LF GHG)	LH <<BC
DI)	LHEI)	LL <<HI
JM)	LL KLM)	LN <<67
8O)	LN 9:O)	LP <<DE
FQ)	LP GHQ)	LR <<HI
JS)	L+rR   c           	     0   | j                  d      xs i }| j                  d      xs g }| j                  d      xs$ | j                  d      xs |j                  d      | j                  d      }|st        fd|D        d       }i d| j                  d      xs |j                  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      xs g d| j                  d      d | j                  d!      d"| j                  d#      d$| j                  d%      d&| j                  d'      | j                  d(      | j                  d)      || j                  d*      xs g | j                  d+      xs g | j                  d,      xs g d-S ).Nroute%exitTargetRankingSelectorOutgoingRowsexitTargetRankingBlockedTarget	targetMaprE   exitTargetRankingReturnTargetc              3     K   | ]:  }|j                  d       r'|j                  d       k7  r|j                  d        < yw)rE   Nr    )r#   r$   blocked_targets     r   r%   z5route_exit_target_ranking_evidence.<locals>.<genexpr>  s>      778$):n)L !s   A A	sourceMaprD   blockedTargetreturnTarget	exitCountexitTargetRankingExitCountblockedTargetExitCount'exitTargetRankingBlockedTargetExitCountautoBlockedTargetExitCount+exitTargetRankingAutoBlockedTargetExitCount#blockedTargetReturnOverlapExitCount4exitTargetRankingBlockedTargetReturnOverlapExitCount blockedTargetReciprocalExitCount1exitTargetRankingBlockedTargetReciprocalExitCount#blockedTargetCoordinateLikeHitCount4exitTargetRankingBlockedTargetCoordinateLikeHitCountcoordinatePromotableCount*exitTargetRankingCoordinatePromotableCountselectorOutgoingCandidateCount/exitTargetRankingSelectorOutgoingCandidateCountselectorOutgoingTargets(exitTargetRankingSelectorOutgoingTargets!selectorOutgoingStrictBackedCount2exitTargetRankingSelectorOutgoingStrictBackedCount$selectorOutgoingConfirmedBackedCount5exitTargetRankingSelectorOutgoingConfirmedBackedCountselectorOutgoingOnlyCount*exitTargetRankingSelectorOutgoingOnlyCount$blockedTargetSelectorOccurrenceCount5exitTargetRankingBlockedTargetSelectorOccurrenceCount#returnTargetSelectorOccurrenceCount4exitTargetRankingReturnTargetSelectorOccurrenceCount'exitTargetRankingConfirmedIncomingCount exitTargetRankingPromotionStatus"exitTargetRankingBlockedTargetRows&exitTargetRankingConfirmedIncomingRows exitTargetRankingRemainingProofs)confirmedIncomingCountpromotionStatusselectorOutgoingRowsblockedTargetRowsconfirmedIncomingRowsru  )r!   next)r   r  selector_rowsreturn_targetr  s       @r   "route_exit_target_ranking_evidencer;    s    $$W-3E(,,-TU[Y[M  !AB 	##K0	99X 
 ),,-LMM(
 
4)--k:Qeii>Q44 	4 	)--.JK	4
 	!"6":":5#
4 	%&:&>&>9'
4 	./C/G/GB0
4 	+,@,D,D?-
4" 	./C/G/GB0
#4( 	$%9%=%=8&
)4. 	)*>*B*B=+
/44 	"#7#;#;6$
 $94: 	,-A-E-E@.
;4@ 	/0D0H0HC1
A4F 	$%9%=%=8&
G4L 	/0D0H0HC1
M4R 	./C/G/GB0
S4X #7":":5#
 0334VW -1556Z[a_a!5!9!9:b!c!igi/334VW][]g4 4rR   c                L   | sydj                  g | 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j                  | j                  d      xs g       xs d d| j                  d       d
| j                  d       d| j                  d       d| j                  d             S ) Nrh   ra   r   -> r  z	; return=r  z; exits=r  rY   r  r  r  r  r  r  z; selectorOutgoing=r   r$  r&  r(  z
; targets=r   r"  z; selectorOccurrences=r*  r,  z; incoming=r3  z	; status=r4  )r3   r!   r  s    r   route_exit_target_ranking_briefr>  "  s   	4 	48<<$
% 	4T 	4(,,*G)H 	4 I 	4,,~./	40	4 <<$
%	4 &'	4 <<01
2		4 34		4
 <<45
6	4
 78	4 <<=>
?	4 @A	4 <<:;
<	4 =>	4 <<=>
?	4 @A	4 <<34
5	46	4 <<89
:	4 ;<	4 <<;<
=	4 >?	4 <<>?
@	4 AB	4 <<34
5	46	4 88HLL)BCIrJQcR	4S	4" <<>?
@#	4" AB#	4$ <<=>
?%	4$@%	4& LL!9:;'	4&<'	4( ,,012)	4rR   c                    | j                  d      }| j                  d      }| j                  d      xs g }|sy| d|xs d ddj                  |      xs d S )N%routePromotionExternalProofHandoffUrl3routePromotionExternalProofHandoffRegenerateCommand4routePromotionExternalProofHandoffExpectedPackageIdsrh    via z
 packages r   r   )r$   urlcommandpackagess       r   "route_external_proof_handoff_briefrG  >  sf    
''9
:CggKLGwwMNTRTHU%3'z#((82D2K1LMMrR   c                   | sg S |j                  d      xs i }|j                  d      }|j                  d      }|j                  d      xs g }|j                  d      xs g }g }| D ]	  }t        |      }	|	j                  d      xs g }
|	j                  d      xs g }|xr. |xr* |	j                  d      |k(  xr |	j                  d      |k(  }|rJ|
|	d<   ||	d<   ||	d<   ||	d<   |j                  d      |	d	<   |j                  d
      |	d<   |j                  d      xs g |	d<   ||	d<   ||	d<   |D cg c]	  }||
vs| c}|	d<   ||	d<   ||	d<   |D cg c]	  }||vs| c}|	d<   t        |j                  d      xs g       |	d<   |j                  d      xs g |	d<   t        |      |	d<   t	        |      |	d<   t        |      |	d<   t        |      |	d<   |j                  d      |	d<   |j                  d      xs g |	d<   |j                  d       |	d!<   nAg |	d<   g |	d<   g |	d<   g |	d<   g |	d<   g |	d<   i |	d<   i |	d<   i |	d<   i |	d<   d |	d<   g |	d<   d |	d!<   |j                  |	        |S c c}w c c}w )"Nr  rD   rE   rk  nonPromotingEvidencefrontierMissingEvidencefrontierNonPromotingEvidencer4  routePromotionGateStatuspromotionAllowedroutePromotionAllowedfailedGateIdsroutePromotionFailedGateIdsroutePromotionMissingEvidencehardMissingEvidencehardMissingEvidenceExtra"routePromotionNonPromotingEvidencehardNonPromotingEvidencehardNonPromotingEvidenceExtranextActions$routePromotionNextActionEvidenceRefs strictSourceHotspotCandidateRows.routePromotionStrictSourceHotspotCandidateRows'routePromotionStrictHotspotGateEvidence&routePromotionSelectedRootGateEvidence&routePromotionRuntimeTraceGateEvidence'routePromotionExitTargetRankingEvidenceexternalProofHandoffUrlr@  &externalProofHandoffExpectedPackageIdsrB  %externalProofHandoffRegenerateCommandrA  )r!   dictr   rd  r  r  r;  r   )route_blockersr   r  gate_sourcegate_targetgate_missinggate_non_promoting	augmentedr$   copiedrow_missingrow_non_promotingis_gate_routeitems                 r   &route_blockers_with_hard_gate_evidencern  G  s   	 $$W-3E))H%K))H%K'++,=>D"L-112HIORI E!cjj!239r"JJ'=>D" 44

8$34 

8$3	 	 0;F,-5FF12(4F$%-?F)*1E1I1IJ[1\F-..B.F.FGY.ZF*+4H4L4L_4]4cacF016BF23,8F()!-2[1H2F-. <NF781CF-.!37tCT7T7F23 >]$((7=2>F9: %(()KLRPR CD Ac$AF<= @a$@F;< @a$@F;< 33GH <= %(()BC :; %(()QRXVX IJ %(()PQ HI -/F()13F-.13F-.68F23=?F9:GIFCD@BF<=?AF;<?AF;<@BF<=>BF:;MOFIJLPFHI KE!L e2
7s   :	I9I9	I>&I>c           #     b 123 |xs | j                  dd      }|6	 t        t        j                  t        dz  j                  d                  }|=	 t        j                  t        dz  j                  d            j                  dd      }t        |||      }|d   |k(  xr d	   dk(  xr d
   dk(  }|xs i }t        ||      }|xs i }|j                  d      xs i }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }xs i }|j                  d      dk(  }|j                  d      xs i }|j                  d      xs i }|xs |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                  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 }|xs i }|j                  d      dk(  rdn|j                  d      }t        |      }| j                  d      xs g }| j                  d       xs g }| j                  d!      xs g }| j                  d"      xs g }t        |j                  d#      xs g       }|D cg c]  }|j                  d      d$k(  rˑ }}D cg c]  }|j                  d      d%k(  rˑ }}|xs i }xs i }xs i }xs i }xs i }xs i }xs i }|j                  d&      xs i }|j                  d'      xs$ j                  d(      xs j                  d)      }rad*j                  d+      xs j                  d,       d-j                  d.       d/|j                  d0       d1|j                  d2       d3ϛ d4nd5}xs i }|j                  d6      xs i j                  d7      xs i }|j                  d8      rd9j                  d:       d;j                  d<       d=|j                  d>       d?|j                  d@       dAdBj                  |j                  dC      xs g        dDj                  dE       dF|j                  dG       dH|j                  dI       dJ|j                  dK       dL|j                  d8       d4ndM}xs i }|j                  dN      xs i }j                  dO      xs i }j                  dP      xs i }|j                  dQ      xs i }j                  dR      xs i j                  dS      xs i }j                  dT      xs i }|j                  dU      xs i }|j                  dV      xs i }|j                  dW      xs i }j                  dX      xs i }|j                  dU      xs i }|j                  dV      xs i }|j                  dW      xs i }j                  dY      xs i }|j                  dU      xs i }|j                  dV      xs i }|j                  dW      xs i }j                  dZ      xs i }j                  d[      xs i }|j                  d\      xs i }j                  dP      xs i }j                  d]      xs i j                  d^      xs i }j                  d_      xs i }|j                  d`      xs i }j                  dP      xs i }j                  d\      xs i }j                  da      xs i }j                  db      xs i }j                  dc      xs i }|j                  d`      xs i }j                  dP      xs i }j                  d\      xs i }j                  da      xs i }j                  db      xs i }j                  dd      xs i }|j                  d`      xs i }j                  d\      xs i }j                  da      xs i }j                  db      xs i }j                  de      xs i }|j                  d`      xs i }j                  d\      xs i }j                  da      xs i }j                  db      xs i }j                  df      xs i }|j                  dg      xs i } | j                  da      xs i } j                  d\      xs i }j                  dh      xs i }|j                  di      xs i }j                  dj      xs i }j                  dk      xs i }j                  dl      xs i }|j                  dg      xs i }|j                  da      xs i }	j                  d\      xs i }
j                  dm      xs i }|j                  di      xs i }j                  dj      xs i }j                  dk      xs i }j                  dn      xs i }|j                  dg      xs i }|j                  da      xs i }j                  d\      xs i }j                  do      xs i }|j                  di      xs i }j                  dj      xs i }j                  dk      xs i }j                  d      dpk(  rHdqj                  g drj                  ds       dt|j                  du       dvj                  dw       dx|j                  dy       dz|j                  d{       d|j                  d}       dx|j                  d~       dzj                  d       dB|j                  d       d|j                  d       d|j                  d       d|j                  d       dj                  d       d|j                  d       dj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       dj                  dw       dj                  d       d|j                  d       d|j                  d       dj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       dj                  dw       dj                  d       d|j                  d       d|j                  d       dj                  d       d|j                  d}       dx|j                  d~       d|j                  d       dj                  d       dj                  dw       d|j                  d       dj                  d       d|j                  d       dj                  d       d|j                  d       d|j                  d       dj                  d}       dx|j                  d~       dj                  d       d|j                  d       d|j                  d       dt        |j                  d      xs g        dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dj                  d~       dz|j                  d       dz|j                  d       dz|j                  d       d|j                  d       dj                  d       dt        |j                  d      xs g        dj                  d       d|j                  d       dj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       dj                  d       dB|j                  d       dj                  d       d|j                  d       dj                  d~       dz|j                  d       dz|j                  d       dz|j                  d       dj                  d       d|j                  d       d|j                  d       d|j                  d       dj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       d|j                  d«      xs i j                  d       dBj                  d«      xs i j                  d       dj                  d       dB|j                  d       dj                  d       dj                  d~       dz|j                  d       dz|j                  d       dz|j                  d       dj                  d       d|j                  d       d|j                  d       dj                  d       dÑj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       dj                  d       dB|j                  d       dj                  d       dj                  d       d|j                  d       d|j                  d       dđj                  d       d|j                  d}       dx|j                  d~       d|j                  d       d|j                  d       dj                  d       dB|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       dB|j                  d       dɑj                  d       dʑj                  d       dj                  dw       dˑ|j                  dy       dj                  d       d|j                  d       d|j                  d       d̑j                  d       d|j                  d       d͑j                  dƫ       dǑ|j                  dȫ       d	j                  d       dB|	j                  d       dɑ
j                  d       dΑj                  d       dj                  dw       dˑ|j                  dy       dj                  d       d|j                  d       d|j                  d       d̑j                  d       d|j                  d       dϑj                  dƫ       dǑ|j                  dȫ       dj                  d       dB|j                  d       dɑj                  d       dБj                  d       dj                  dw       dˑ|j                  dy       dj                  d       d|j                  d       d|j                  d       d̑j                  d       d|j                  d       d4      ndѐ}xs i }|j                  d      dk(  r9dj                  dӫ       d|j                  d<       d|j                  d֫       dםndؐ}xs i }|j                  d      dk(  r9dj                  dګ       d|j                  dܫ       d|j                  dޫ       dߝnd}xs i }|j                  d<      xs i }|j                  da      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                  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 }'t        d |'j                  d      xs g D        dq      }(j                  d      xs i })|)j                  da      xs i }*)j                  d      xs i j                  d      xs i }+j                  d      xs i },t        d |,j                  d      xs g D        i       }-t        d ,j                  d      xs g D              }.t        d )j                  d      xs g D        i       }/t        d )j                  d      xs g D              }0j                  d      xs i }1t        d |1j                  d      xs g D        i       }2t        d 1j                  d      xs g D              }31j                  d      xs i }4t        d |4j                  d      xs g D        i       }5t        d  4j                  d      xs g D              }61j                  d      xs i }7t        d |7j                  d      xs g D        i       }8t        d 7j                  d      xs g D              }91j                  d      xs i }:1j                  d      xs i };1j                  d      xs i }<|<j                  d      xs i }=1j                  d      xs i }>1j                  d	      xs i }?j                  d
      xs i }@|@j                  d      xs i }A@j                  d      xs i }B@j                  d      xs i }C|Cj                  d      xs i }Dj                  d      xs i j                  d      xs i }Ej                  d      xs i }F|Fj                  d      xs i }Gj                  d      xs i }H|Hj                  da      xs i }IHj                  d      xs i }JHj                  d      xs i }K|Kj                  d      xs i }Lj                  d      xs i }M|Mj                  d      xs i }N|Nj                  d      xs i }Oj                  d      xs i }Pj                  d      xs i }Qt        d |Qj                  d      xs g D        dq      }RPj                  da      xs i }SPj                  d      xs i }T|Tj                  d      xs i }Uj                  d      xs i }V|Vj                  da      xs i }WVj                  d      xs i }XVj                  d      xs i }Yj                  d      xs i }Z|Zj                  da      xs i }[Zj                  d      xs i }\Zj                  d      xs i }]j                  d      xs i }^j                  d      xs i }_t        d |_j                  d      xs g D        dq      }`^j                  da      xs i }a^j                  d      xs i }bj                  d      xs i }c|cj                  da      xs i }dcj                  d      xs i }ecj                  d      xs i }fj                  d      xs i }g|gj                  da      xs i }hgj                  d      xs i }igj                  d      xs i }jj                  d       xs i }k|kj                  da      xs i }lkj                  d      xs i }mkj                  d      xs i }n|nj                  d!      xs i }oj                  d"      xs i }pj                  d#      xs i }qt        d$ |qj                  d      xs g D        dq      }rpj                  da      xs i }spj                  d      xs i }tj                  d%      xs i }u|uj                  da      xs i }vuj                  d&      xs i }wuj                  d'      xs i }x|xj                  d      xs i }yj                  d(      xs i }zj                  d)      xs i }{t        d* |{j                  d      xs g D        dq      }|zj                  da      xs i }}j                  d+      xs i }~|~j                  d      xs i }|j                  da      xs i }~j                  d,      xs i }|j                  da      xs i }~j                  d-      xs i }t        d. ~j                  d/      xs g D        i       }t        d0 ~j                  d1      xs g D              }j                  d2      xs i }|j                  d      xs i }|j                  da      xs i }j                  d,      xs i }|j                  da      xs i }j                  d3      xs i }d4}d5| 3t        3fd6j                  d/      xs g D        i       }t        d7 j                  d1      xs g D              }j                  d8      xs i }j                  d9      xs i }t        d: |j                  d      xs g D        dq      }j                  da      xs i }j                  d;      xs i }|j                  da      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 }t        d? j                  d@      xs g D              }j                  dA      xs i }j                  dB      xs }j                  d      xs i }j                  d&      xs i }j                  dC      xs j                  dC      xs i j                  dD      xs i }j                  d@      xs j                  d@      xs g }t        dE |D              }j                  dF      xs i }j                  dG      xs i }t        dH |j                  d      xs g D        dq      }j                  da      xs i }j                  d      xs i }j                  dI      xs i }|j                  dJ      xs i }j                  dK      xs i }|j                  d=      xs i }j                  d=      xs i }t        dL j                  d@      xs g D              }j                  dM      xs i }j                  dN      xs i }t        dO |j                  d      xs g D        dq      }j                  da      xs i }j                  d      xs i }j                  dP      xs i }|j                  da      xs i }j                  dQ      xs i }|j                  da      xs i }j                  dR      xs i }|j                  da      xs i }j                  d      xs i }j                  dS      xs i }j                  dT      xs i }t        dU |j                  d      xs g D        dq      }j                  da      xs i }j                  d      dpk(  rdqj                  g dVj                  dW       dX|j                  dY       dZj                  dw       d[j                  d       dB|j                  d       d\j                  d]       dxj                  d]       dx j                  d^       d_!j                  d]       dx"j                  d]       dx#j                  d^       d`$j                  d]       dx%j                  d]       dx&j                  d^       daj                  db       dc|j                  dd       de|j                  df       dg|j                  dh       diEj                  d       dj|Ej                  dk       dlGj                  dm       dn|Gj                  do       dpFj                  dq       drJj                  ds       dxHj                  dw       d[Ij                  d       dB|Ij                  d       dtKj                  du       dvLj                  dw       dx|Lj                  dy       dz|Jj                  dw       d{Nj                  du       d[|Nj                  d       dB|Nj                  d       d|Oj                  dw       d}Tj                  du       dxPj                  dw       d[Sj                  d       dB|Sj                  d       d~Uj                  dw       dR dVj                  d       dx|Vj                  dw       d[Wj                  d       dB|Wj                  d       d=Yj                  d       dXj                  d       dJ|Xj                  dƫ       d|Yj                  d       dx|Yj                  d       dZj                  d       dx|Zj                  dw       d[[j                  d       dB|[j                  d       d\j                  d       dJ|\j                  dƫ       d]j                  d       dx|]j                  d       d|]j                  d       d^j                  d       dx|^j                  dw       d[aj                  d       dB|aj                  d       d` dbj                  d       dJ|bj                  dƫ       dcj                  d       dx|cj                  dw       d[dj                  d       dB|dj                  d       dfj                  d       dej                  d       dJ|ej                  dƫ       dgj                  d       dx|gj                  dw       d[hj                  d       dB|hj                  d       djj                  d       dij                  d       dJ|ij                  dƫ       dkj                  d       dx|kj                  dw       d[lj                  d       dB|lj                  d       dnj                  d       d|nj                  d       d|nj                  d       doj                  d       d|oj                  d       dmj                  d       dJ|mj                  dƫ       dpj                  d       dx|pj                  dw       d[sj                  d       dB|sj                  d       dr dtj                  d       dJ|tj                  dƫ       duj                  dw       d[vj                  d       dB|vj                  d       d|uj                  d       dJwj                  d       dx|wj                  d       dyj                  d       dzj                  dw       d[}j                  d       dB|}j                  d       d| d~j                  d       dJj                  dw       d[j                  d       dB|j                  d       dxj                  dw       d[j                  d       dB|j                  d       dj                  d       dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d dj                  d       dJj                  dw       d[j                  d       dB|j                  d       dxj                  dw       d[j                  d       dB|j                  d       dj                  d       dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d dj                  d       dx|j                  dw       d[j                  d       dB|j                  d       d d)j                  dw       d[*j                  d       dB|*j                  d       d( d:j                  dӫ       dJ|:j                  d       d2j                  d       d|2j                  d       d3 d|2j                  d       d|2j                  d       d|2j                  d       d>j                  d       d|>j                  d       d?j                  d       d|>j                  d       d|>j                  d       d|>j                  d       d5j                  d       d|5j                  d       d6 d8j                  d       d|8j                  d       d9 d1j                  d      xs i j                  d      xs i j                  d       d;j                  d       d|;j                  d«       dÑ<j                  dī       dő=j                  dƫ       d|=j                  dǫ       dx|=j                  dȫ       dɑ)j                  dʫ       dJ|)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ב0 dؑ|/j                  dӫ       d|/j                  dԫ       d|/j                  dի       dّAj                  dӫ       dJ|Aj                  d       dBj                  d       d|Bj                  d«       dÑCj                  dī       dőDj                  dƫ       d|Dj                  dګ       dx|Dj                  d۫       dܑj                  dw       d[j                  d       dB|j                  d       dj                  d       dJ|j                  dƫ       dݑj                  d       dޑj                  d       d|j                  d       dߑj                  d       d|j                  d       d dj                  d       d|j                  d       dJj                  d       dx|j                  d       dj                  d       d|j                  d       d d|j                  d       d|j                  d       d|j                  d       dj                  d       dJ|j                  dƫ       dj                  dw       d[j                  d       dB|j                  d       d dj                  d       dJ|j                  dƫ       dj                  d       dj                  d       d|j                  d       dj                  d       d|j                  d       d dj                  dw       d[j                  d       dB|j                  d       d dj                  d       dJ|j                  dƫ       dj                  dw       d[j                  d       dB|j                  d       dj                  d       dxj                  dw       d[j                  d       dB|j                  d       dj                  d       dx|j                  dw       d[j                  d       dB|j                  d       d dj                  dw       d[j                  d       dB|j                  d       d|j                  d       d4      nd}|xs i }|xs i }|xs i }|xs i }|xs i }g }r2j                  d      xs g D ci c]  }|j                  d      |˓ }}ː|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                  d      xs i }Ɛj                  d       xs i }j                  d      xs i }Ȑj                  dqj                  g dj                  d       d|j                  d      xs i j                  d       dj                  d       d	|j                  d
       dj                  d       d|j                  d       dt        |j                  d      xs g        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       dJ|j                  d       dJ|j                  d       dj                  d       dJ|j                  d       dJ|j                  d       d4             g }|j                  d      xs i }ʐ|j                  d      xs i }ːr}j                  dj                  d       d j                  d!       d"|j                  d#       d$|j                  d%       d&|j                  d'       d(       g }|rYj                  dqj                  g d)|j                  d*       d+|j                  d,       d-|j                  d.       d/|j                  d0       d1|j                  d2       d3|j                  d4       d5|j                  d6       d7|j                  d8       d9|j                  d       dJ|j                  d:       d;ě dJ|j                  d:       d<|j                  d=       d>|j                  d       d?|j                  d@       d4             g }|j                  dA      xs i }ΐ|ΐr6j                  dBj                  d       dC|j                  dD       dE|j                  dF      xs i j                  du       dGj                  dH      xs i j                  dI       dJj                  dK      xs i j                  dI       dLj                  dM      xs i j                  du       dNj                  dO       dP|j                  dQ       dR|j                  dS       dT|j                  dU       dV       |j                  dW      xs i }ϐ|rhj                  dXj                  dY       dZ|j                  d[       d\|j                  d]       d^|j                  d_       dV	       |j                  d`      xs i }А|rg }ѐj                  da      xs g D ]:  }Ґ|j                  db      xs g D ]  }Ӑ|Ӑvsj                  ӫ        < j                  dcj                  dY       dd|j                  de       dfdBj                  ѫ      xs dg d\j                  d]       d^|j                  d_       dh       |j                  di      xs i }Ԑ|rj                  djj                  dY       dk|j                  dl       dm|j                  dn       dfdBj                  |j                  do      xs g       xs dg d\j                  d]       d^|j                  d_       dp       |j                  dq      xs i }Ր|rj                  drj                  dY       dk|j                  dl       dd|j                  de       dm|j                  dn       dfdBj                  |j                  do      xs g       xs dg d\j                  d]       d^|j                  d_       ds       |j                  dt      xs i }֐|rj                  duj                  dY       dk|j                  dl       dd|j                  de       dm|j                  dn       dfdBj                  |j                  do      xs g       xs dg d\j                  d]       d^|j                  d_       dv       |j                  dw      xs i }א|rԐj                  dxj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       dfdBj                  |j                  do      xs g       xs dg d\j                  d]       d^|j                  d_       dy       |j                  dz      xs i }ؐ|r͐j                  d{j                  dY       dk|j                  dl       dZ|j                  d[       dm|j                  dn       dfdBj                  |j                  do      xs g       xs dg d|t!        ث       d\|j                  d]       d^|j                  d_       d}       |j                  d~      xs i }|j                  d      xs i }ڐِr5j                  dj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       dfdBj                  |j                  do      xs g       xs dg d|t!        ٫       d\|j                  d]       d^|j                  d_       d       |j                  d      xs i }|j                  d      xs i }ܐېrԐj                  dqj                  g dj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  |j                  d      xs g       xs dg dfdBj                  j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d       d|t!        |۫       d\|j                  d]       d^|j                  d_       d             |j                  d      xs i }|j                  d      xs i }ސݐrBj                  dqj                  g dj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       d|j                  d      xs i j                  d       ddBj                  j                  d      xs i j                  d      xs g       xs dg dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  j                  d      xs g       xs dg dfdBj                  j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d       d|t!        |ݫ       d\|j                  d]       d^|j                  d_       d             |j                  d      xs i }|j                  d      xs i }ߐrj                  dqj                  g dj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       d|j                  d      xs i j                  d       dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  j                  d      xs g       xs dg dfdBj                  j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d       d|t!        |߫       d\|j                  d]       d^|j                  d_       d             |j                  d      xs i }|j                  d      xs i }rj                  dqj                  g dj                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       d|j                  d      xs i j                  d       dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  j                  d      xs g       xs dg dfdBj                  j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d       d|t!        |       d\|j                  d]       d^|j                  d_       d             |j                  d      xs i }|j                  d      xs i }rj                  dqj                  g dj                  d       d|j                  dY       dk|j                  dl       dZ|j                  d[       dd|j                  de       dm|j                  dn       d|j                  d      xs i j                  d       dj                  d       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  j                  d      xs g       xs dg dfdBj                  j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d       d|t!        |       d\|j                  d]       d^|j                  d_       d             rXt#        d j                  d      xs g D              }t#        d j                  d      xs g D              }g }j                  d      xs g D ]  }dBj                  d |j                  db      xs g D              xs dg}j                  j                  d       d|j                  dl       d| d|j                  d               j                  dj                  dY       dk|j                  dl       dfdBj                  |j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg ddj                        xs dg d|t!               d^|j                  d_       dj                  dl       ddBj                  |j                  do      xs g       xs dg d dj                  dl       ddBj                  |j                  do      xs g       xs dg dt%        d       d d       dD ]  \  }}|j                  |      xs i }|s$dk(  rj                  d      du rdnBdk(  rj                  d      du rdn"dk(  rj                  d      du rdndŐ}j                   dƐj                  dǫ      xs i j                  d       dȐj                  dɫ       d|j                  dY       dʐ|j                  d˫       d̐|j                  dͫ       dΐ|j                  d       dϐ|j                  dЫ       d|j                  d      xs i j                  d       ddBj                  j                  d      xs i j                  d      xs g       xs dg dѐj                  dҫ       d         g }rQj                  dӫ      xs g }j                  dԫ      xs g }j                  dի      xs i }dBj                  dք |j                  d׫      xs g D              xs dؐ}j                  dqj                  g dّj                  dI       dڑ|j                  d۫       dܑ|j                  dݫ       dޑ|j                  d߫       d|j                  d       d|j                  d       d|j                  d       dj                  d       dx|j                  d       d|j                  d       d|j                  d       d|j                  d      r&dBj                  j                  d      xs g       nd؛ d dj                  d       drdBj                        nd؛ drdBj                        nd؛ dj                  d       d>|j                  d       d4             g }|rzj                  d|j                  dd       d|j                  dd       d|j                  dd       d|j                  d       d|j                  d       d4       g }|r |j                  d      xs i }j                  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       d4       g }|r|j                  d      xs i }|j                  d      xs i }|j                  d      xs i }j                  dqj                  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-       d.|j                  d/       d0|j                  d1       d2|j                  d3       d>|j                  d       d4             g }|r"|j                  d4      xs i }j                  d5|j                  dݫ       d6|j                  d7       d8|j                  d9       d:|j                  d;       d<|j                  d=       d>|j                  d?       d@|j                  dA       dB|j                  dC       dD|j                  dE       dFdBj                  |j                  dG      xs g       xs d؛ d>|j                  d       d4       g }|r)|j                  dH      xs i }|j                  dI      xs i }j                  dJ|j                  dK       dLj                  dMd       dN|j                  dOd       dP|j                  dQd       dR|j                  d       dx|j                  d       dS|j                  dMd       dT|j                  dUd       dV|j                  dd       dW|j                  dXd       dY|j                  dZ       d4       g }|ra|j                  d[      xs i }j                  dqj                  g d\t        |j                  d]      xs g        d^t        |j                  d_      xs g        d`t        |j                  da      xs g        dbt        |j                  dc      xs g        dd|j                  de       d|j                  d	       df|j                  dg       dh|j                  di       dj|j                  dk       dl|j                  dm       dn|j                  do       dp|j                  dq       dr|j                  ds       dt|j                  du       dv|j                  dw       d0j                  dx       dy|j                  dz       d{|j                  d|       d}dBj                  |j                  d~      xs g       xs dg dt        |j                  d      xs g        d>|j                  d       d4             g } |rڐ j                  d|j                  d       d|j                  d       d|j                  d       d|j                  d       dl|j                  dm       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d>|j                  d       d4       g }|rvj                  d|j                  d       d|j                  d       d|j                  d       d|j                  d       d>|j                  d       d4       g }|r|j                  d      xs i }|j                  d      xs i }|j                  d      xs i }|j                  d      xs i }j                  dj                  du       d|j                  d       dj                  du       d|j                  d       dj                  d       d|j                  d       d|j                  d       d4       g }|rt#        d |j                  d      xs g D              }t#        d |j                  d      xs g D              }j                  dt        |j                  d      xs g        d d|j                  d       d d|j                  d       d4       g }| rj                  d| j                  du       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d| j                  d       d4       g }	}r}j                  d      xs g }
t#        d |
D              }t#        d |
D              }t#        d |
D              }	j                  dt        |
       d}j                  d«       d|}j                  dī       dŐ| dƐ| dǐ| d|}j                  d       d4       g }~r~j                  dɫ      xs i }|j                  dʫ      xs i gd   }j                  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|       dא|j                  dث       ddBj                  |j                  dګ      xs g       xs dg dt        j                  d      xs g        ddj                  de      xs ~j                  de       dȐj                  d      xs ~j                  d       d4       rj                  d۫      xs i }j                  dܫ      xs i }j                  dj                  dޫ       dJ|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|       ddBj                  |j                  d      xs g       xs dg dt        j                  d      xs g        ddj                  de       d>|j                  d       d4       rj                  dj                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       d{|j                  d|       ddBj                  |j                  d      xs g       xs dg dt        j                  d      xs g        ddj                  de       d>|j                  d       d4       g }rcj                  dj                  d*       d|j                  d       d|j                  dX       d>|j                  d       d	       g }rӐj                  dqj                  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       d|j                  d       d{|j                  d|       dّdBj                  |j                  d      xs g       xs dg dt        j                  d      xs g        ddj                  de       d>|j                  d       d4             g }r j                  dj                  d       dd|j                  de       d|j                  d       d|j                  d       d{|j                  d|       ddBj                  |j                  d       xs g       xs dg dt        j                  d      xs g        dj                  d       d!|j                  d"       d#|j                  d$       d4       g }rj                  dqj                  g d%j                  d&       dd|j                  de       d'|j                  d(       d)|j                  d*       d+|j                  d,       d-|j                  d.       d/|j                  d0       d1|j                  d2       d3|j                  d4       d5|j                  d6       d7|j                  d8       d9|j                  d:       d;|j                  d<       d|j                  d       d{|j                  d|       d=dBj                  |j                  d>      xs g       xs dg dt        j                  d      xs g        d4             g }rj                  d?j                  d@       dd|j                  de       dA|j                  dB       dC|j                  dD       dE|j                  dF       dG|j                  dH       dI|j                  dJ       d>|j                  d       d4       g }rj                  dqj                  g dKj                  dL       dM|j                  dN       dO|j                  dP       d1|j                  d2       dQ|j                  dR       dS|j                  dT       dU|j                  dV       dW|j                  dX       d;|j                  d<       d-|j                  d.       d/|j                  d0       dY|j                  dZ       d{|j                  d|       d[dBj                  |j                  d\      xs g        dt        j                  d      xs g        ddj                  de       d>|j                  d       d4             rIj                  d]j                  d^      xs i j                  d_       d`j                  da       db|j                  dc       dJ|j                  d߫       dd|j                  d^      xs i j                  de       dj                  d       d|j                  d       d{|j                  d|       dfdBj                  |j                  dg      xs g        dt        j                  d      xs g        ddj                  de       d>|j                  d       d4       g }rj                  dhj                  d*       di|j                  dj       dk|j                  dl       dm|j                  dn       do|j                  dp       dq|j                  dr       ds|j                  dt       d|j                  d       d4       g }rj                  du      xs g }|rd   ni }j                  dvj                  dw       dx|j                  dy       dz|j                  d{       d||j                  d}       d~|j                  d       d|j                  d       d|j                  d       d4       g }rwj                  dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d4       g }r+j                  d      xs g }t#        d |D              }j                  dj                  d       d| d|j                  d       d|j                  d       d|j                  d       d|j                  d       d{|j                  d|       ddBj                  |j                  d      xs g        dt        j                  d      xs g        ddj                  de       d>|j                  d       d4       g }|!r+|!j                  d      xs i } j                  dqj                  g d| j                  d|!j                  dd             d| j                  dd       d| j                  dd       d| j                  dd       dJ| j                  dd       dt        j&                  | j                  d      xs i dd       dJt        j&                   j                  d      xs i dd       d j                  dd       dJ| j                  dd       dJ| j                  d       d| j                  dd       d| j                  dd       d| j                  d|!j                  d             d{|!j                  d|       ddBj                  |!j                  d      xs g       xs dg dt        |!j                  d      xs g        d4             g }!|"r|"j                  d      xs i } !j                  dqj                  g d| j                  d|"j                  dd             d| j                  d       d| j                  d      xs d j                  d      xs dz    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ѫ       d4             g }"|#r|#j                  d      xs i } |#j                  d>      xs i }#"j                  dqj                  g dґ j                  d|#j                  dd             dӑ|#j                  dԫ       d|#j                  dի       dJ|#j                  d֫       dב| j                  d       dؑ| j                  d٫       dڑ| j                  d۫       d| j                  dܫ      xs d j                  dݫ      xs dz    d j                  d       dޑ| j                  d߫       d| j                  d       d| j                  d      xs d j                  d      xs dz    d j                  d       d| j                  d       d| j                  d       d| j                  d       d4             g }$|$rk|$j                  dQ      xs i }%$j                  dqj                  g d|$j                  d       d|%j                  d       dB|%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dBj                  |$j                  d       xs g        ddBj                  |$j                  d      xs g       xs d؛ d|$j                  d       d|$j                  d       d|$j                  d       d{|$j                  d|       ddBj                  |$j                  d	      xs g       xs dg dt        |$j                  d      xs g        dd|$j                  de       d
|$j                  d       d>|$j                  d       d4             g }&g }'|%r['j                  d|%j                  d       d|%j                  d       d|%j                  d       d|%j                  d       d|%j                  d       d|%j                  d       d[dBj                  |%j                  d      xs g       xs dg d|%j                  d       d|%j                  d       ddBj                  |%j                  d      xs g       xs dg d|%j                  d        d!|%j                  d"       d#|%j                  d$       d%|%j                  d&       d4       g }(|&r|&j                  d'      xs i })|&j                  d(      xs i }*(j                  d)|&j                  d*       d+|&j                  d,       d-|&j                  d.       d/|&j                  d0       d1)j                  d2       d3|)j                  d4       d5|)j                  d6       d7|*j                  d8       d>|&j                  d       d4       g }+|'r@t        d9 |'D        i       },|,r',j                  d:      xs i }-|-j                  d;      xs i gd   }.+j                  d<t        ,j                  d=      xs g        d>-j                  d*       d?|-j                  d@       dA|-j                  dB       dC|-j                  dD       d+,j                  dE       dF|,j                  dG       d-|,j                  dH       dI.j                  dJ       dK|.j                  dL       dM       g }/|(r</j                  dN|(j                  dO       dP|(j                  dQ       dR|(j                  dS       dT|(j                  dU       dV|(j                  dW       dx|(j                  dX       dY|(j                  dZ       d[|(j                  d\       d]|(j                  d^       d_dBj                  |(j                  d`      xs g        da|(j                  db       d!|(j                  d"       d#|(j                  d$       d>|(j                  d       d4       g }0|)rn|)j                  dc      xs g D 1ci c]  }1|1j                  dH      |1 }2}1|2j                  dd      xs i }32j                  de      xs i }40j                  dfdBj                  |)j                  dg      xs g        dh|)j                  di       dj|)j                  dk       dl|)j                  dm       dn|)j                  do       dp3j                  dq       dJ|3j                  dr       dJ|3j                  ds       dt4j                  dq       dJ|4j                  dr       dJ|4j                  ds       d4       g }5|*rv5j                  du|*j                  dv       dw|*j                  dx       dy|*j                  dz       d{|*j                  d|       d>|*j                  d       d4       g }6|+r6j                  d}|+j                  d       d~|+j                  d       d|+j                  d       d|+j                  d       ddBj                  |+j                  dg      xs g        d4       g }7|,r`|,j                  d      xs i }8|,j                  d      xs i }9|,j                  d      xs i }:|,j                  d      xs i };7j                  dqj                  g dt        |,j                  d      xs g        dt        |,j                  d      xs g        dt        |,j                  d      xs g        d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       dJ|,j                  d       dJ|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       d|,j                  d       dJ|,j                  d       dJ|,j                  d       d|,j                  d       d|,j                  d       d{|,j                  d|       d|,j                  d       d|,j                  d       d|,j                  d       ddBj                  |,j                  d      xs g       xs dg dt        |,j                  d      xs g        d|,j                  d       d|,j                  d       d8j                  d       dJdBj                  |8j                  d      xs g       xs dg d8j                  d       d|8j                  d       dJ|8j                  d       d|8j                  d«       dÑ|8j                  dī       dő|8j                  dƫ       dǑ9j                  d       dJ|9j                  dȫ       dJ|9j                  dɫ       dʑ|9j                  d˫       d̑|9j                  dͫ       dΑ:j                  d       dJdBj                  |:j                  d      xs g       xs dg dϑ:j                  d       dБ|:j                  dl       dJ|:j                  dѫ       dґ|:j                  dӫ      r:j                  dԫ       nd՛ d֑:j                  d׫       dؑ|:j                  d       dJ|:j                  d       dّ|:j                  dƫ       dڑ;j                  dl       dJ|;j                  dѫ       dۑ|;j                  dӫ      r;j                  dԫ       nd՛ dܑ;j                  d׫       dݑ|;j                  dƫ       dޑ|,j                  d߫       dd|,j                  de       d>|,j                  d       d4             g }<|-r<j                  d|-j                  dl       ddBj                  |-j                  d      xs g        d|-j                  d       d|-j                  d       d|-j                  d       dJ|-j                  d       ddBj                  |-j                  d      xs g        d|-j                  d       dJ|-j                  d       d4       g }=|.rr|.j                  d      xs i }>|.j                  d      xs i }?=j                  ddBj                  |.j                  d      xs g        d|.j                  d       d|.j                  d       d|.j                  d       d?j                  d       dJ|?j                  d       d|?j                  d       d|?j                  d       d|?j                  d        d>j                  d       d|>j                  d       dx|>j                  d       d|>j                  d       d|>j                  d       d4       g }@|/ru|/j                  d      xs g }A|ArAd	   ndg}B@j                  dqj                  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        d!|/j                  d"       d#|/j                  d$       d%|/j                  d&       d{|/j                  d|       d'|/j                  d(       d)|/j                  d*       d+|/j                  d,       d-|/j                  d.|/j                  d/      xs i j                  d.             d0|/j                  d1      xs i j                  d2       dJ|/j                  d1      xs i j                  d3       dJ|/j                  d1      xs i j                  d4       d5|/j                  d6       d7dBj                  |/j                  d8      xs g       xs dg dt        |/j                  d      xs g        d9|/j                  d:       d;|/j                  d<       d=t        A       d>B dd|/j                  de       d>|/j                  d       d4             g }C|0rƐCj                  d?|0j                  dӫ       d@|0j                  dA       dB|0j                  dC       dD|0j                  dE       dF|0j                  dG       dH|0j                  dI       dJ|0j                  dK       dL|0j                  dM       d>|0j                  d       d4       g }D|1rDj                  dN|1j                  d       dO|1j                  dP       dJ|1j                  dQ       dR|1j                  dS       dJ|1j                  dT       dU|1j                  dV       dW|1j                  dX       dY|1j                  dZ       d4       g }ErvEj                  d[j                  d\       d]|j                  d^       d_|j                  d`       d|j                  d       d>|j                  d       d4       |2r&j                  da|2j                  dd       db|2j                  dcd       dd|2j                  ded       df|2j                  dgd       dh|2j                  did       dj|2j                  dkd       dl       g }F|3r|3j                  dm      xs i }G|3j                  dn      xs i }HFj                  do|3j                  dp       dq|3j                  dr       dsGj                  dt       du|Hj                  dt       dv|Gj                  dw       dx|Hj                  dw       dy|Gj                  dz       d|3j                  d       d{|3j                  d|       d4       g }I|4r|4j                  d}      xs i }JdBj                  d~ |Jj                  d      xs g D              xs dg}KdBj                  d Jj                  d      xs g D              xs dg}LdBj                  d Jj                  d      xs g D              xs dg}MIj                  dqj                  g d|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       d|4j                  d       dJj                  dӫ       d|Jj                  d       d|Jj                  dѫ       d|Jj                  d       dJK dL d|M d|Jj                  d       d|Jj                  d       d4             g }N|5r|5j                  d      xs i }O|5j                  d      xs i }PNj                  d|5j                  d       d|5j                  d       d|5j                  d       dOj                  d       d|5j                  d       d|Pj                  d       d|5j                  d       d|5j                  d       d|5j                  d       d4       g }Q|6rQj                  d|6j                  d       d|6j                  d       d|6j                  d       d|6j                  d       d|6j                  d       d|6j                  d       d>|6j                  d       d4       g }R|7rRj                  dqj                  g d|7j                  dp       dt        |7j                  d      xs g        d|7j                  d       d|7j                  d       d|7j                  d       dJ|7j                  d       dJ|7j                  d       d|7j                  dë       dđ|7j                  dū       dƑ|7j                  dǫ       dȑ|7j                  dɫ       dʑt)        |7j                  d˫             d̑|7j                  dͫ       dΑ|7j                  dϫ       dБ|7j                  dѫ       dґ|7j                  dӫ       dJ|7j                  dԫ       dJ|7j                  dի       d֑|7j                  d׫       dؑ|7j                  d٫       dڑ|7j                  d۫       d|7j                  d       d4             g }S|8rSj                  d|8j                  dl       d|8j                  dޫ       d|8j                  d       d|8j                  d       dߐdj                  |8j                  d      xs g        d4       g }T|9rD|9j                  d      xs i }UTj                  dt        |9j                  d      xs g        d|9j                  d       d|9j                  d       d|9j                  d       d|9j                  d       dt        |9j                  d      xs g        d|9j                  d       dt        |9j                  d      xs g        dUj                  d       dx|Uj                  d       d|Uj                  d       d|Uj                  d       d4       g }V|:rU|:j                  d      xs i }WVj                  d|:j                  d       dP|:j                  d       d|:j                  d       d|:j                  d       d |:j                  d       d|:j                  d       d|Wj                  d       d|:j                  d       d|:j                  d	       d|:j                  d       ddBj                  |:j                  dg      xs g        d
|:j                  d       dl|:j                  dm       d>|:j                  d       d4       g }X|;r|;j                  d      xs i }Y|;j                  d      xs i }ZXj                  d|Zj                  dd       dYj                  dd       d|Yj                  dd       d|;j                  d       d|;j                  d       d4       g }[|<r[j                  dqj                  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       d.|<j                  d/       d0|<j                  d1       d2|<j                  d3       d4|<j                  d5       d6|<j                  d7       d8|<j                  d       d4             g }\|=r\j                  d9|=j                  d:       d;|=j                  d<       d=|=j                  d>       d?|=j                  d@       dA|=j                  dB       dC|=j                  dD       d>|=j                  d       d4       g }]|>ry|>j                  dE      xs i }^|^j                  dF      xs i }_|>j                  dG      xs i }`]j                  dH|`j                  d_       dI|`j                  dL       dJ|>j                  dK       dL^j                  dM       dN|^j                  dO       dP_j                  dQ       dR|_j                  dS       dT|_j                  dU       dV|_j                  dW       dX|>j                  dY       dZ|>j                  d[       d\|>j                  d]       d^|>j                  d_       d`|>j                  da       d4       g }a|?raj                  db|?j                  dcd       dd|?j                  ded       dfdj                  dg |?j                  dh      xs g D               di|?j                  dj       d4	       g }b@rbj                  dqj                  g dk@j                  d       dl|@j                  d       d|@j                  d       dm|@j                  dn       do|@j                  dp       dq|@j                  dr       ds|@j                  dt       du|@j                  dv       d|@j                  d       dw|@j                  dx       dy|@j                  dz       d{|@j                  d|       d}|@j                  d~       d|@j                  d       d|@j                  d       d>|@j                  d       d4             g }cArPcj                  dAj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d|Aj                  d       d{|Aj                  d|       ddBj                  |Aj                  d      xs g       xs dg dt        Aj                  d      xs g        ddAj                  de       d4       g }dBrwdj                  dBj                  d       d|Bj                  d       d|Bj                  d       d|Bj                  d       d|Bj                  d       d4       g }eCr%ej                  dCj                  d       d|Cj                  d       d|Cj                  d       d|Cj                  d       dJ|Cj                  d       dJ|Cj                  d       d|Cj                  d       dJ|Cj                  d       dJ|Cj                  d       d|Cj                  d       dJ|Cj                  d       d|Cj                  d       d|Cj                  d       d>|Cj                  d       d4       g }fDrYDj                  d      xs g D ci c]  }|j                  d      |˓ }g}ː|gj                  d      xs i }hgj                  d      xs i }igj                  d      xs i }jgj                  d      xs i }kgj                  d      xs i }lfj                  dqj                  g dDj                  d       d|Dj                  d       d|Dj                  d       d|Dj                  dë       dđ|Dj                  dū       dƑ|Dj                  dǫ       dȑ|Dj                  dɫ       dʑ|Dj                  d˫       d̑|Dj                  dͫ       dΑhj                  dϫ       dБij                  d       dё|ij                  dϫ       dґjj                  dӫ       dԑkj                  dӫ       dՑ|lj                  dӫ       d֑t        |Dj                  d׫      xs g        dؑDj                  d٫       d4             g }mErEj                  dګ      xs i }nEj                  d۫      xs i }oEj                  dܫ      xs i }pEj                  dݫ      xs i }qEj                  dޫ      xs i }rEj                  d߫      xs i }sEj                  d      xs i }tEj                  d      xs i }umj                  dqj                  g dEj                  d       d{|Ej                  d|       ddBj                  |Ej                  d      xs g       xs dg dt        Ej                  d      xs g        dnj                  d        d|nj                  d"       doj                  dū       dpj                  d       dJ|pj                  d       dJ|pj                  d       dJ|pj                  d       d|pj                  d       dJ|pj                  d       d|pj                  d       d|pj                  d       d|pj                  d       dJ|pj                  d       dJ|pj                  d       d|pj                  d       dJ|pj                  d       dJ|pj                  d       dJ|pj                  d       dJ|pj                  d       d|pj                  d       dJ|pj                  d        d|pj                  d       dJ|pj                  d       dJ|pj                  d       d|pj                  d       dJ|pj                  d       dJ|pj                  d       dJ|pj                  d	       d
|pj                  d       dqj                  d       d|qj                  d       d|qj                  d       dJ|qj                  d       d|qj                  d       dJ|qj                  d       dJ|qj                  d       d|qj                  d       dJ|qj                  d       d|qj                  d       d|qj                  d       drj                  d       dJ|rj                  d       dJ|rj                  d       d|rj                  d       dJ|rj                  d       dJ|rj                  d       d |rj                  d       dJ|rj                  d       d!sj                  d"       dt        Ej                  d      xs Ej                  d#      xs g        ddt        Ej                  d$      xs g        d%tj                  d&       d'dBj                  |tj                  d(      xs g       xs dg d)tj                  d*       d+dBj                  |tj                  d,      xs g       xs dg d-tj                  d.       d/|tj                  d0       d1dBj                  |tj                  d2      xs g       xs dg d3dBj                  tj                  d4      xs g       xs dg d5tj                  d6       d7|tj                  d8       d9|tj                  d:       d;dBj                  |tj                  d<      xs g       xs dg d=tj                  d>       d?|tj                  d@       dA|tj                  dB       dCdBj                  |tj                  dD      xs g       xs dg dEdBj                  tj                  dF      xs g       xs dg dGtj                  dH       dI|tj                  dJ       dK|tj                  dL       dM|tj                  dN       dOdBj                  |tj                  dP      xs g       xs dg dQdBj                  tj                  dR      xs g       xs dg dStj                  dT       dU|tj                  dV       dW|tj                  dX       dY|tj                  dZ       d[|tj                  d\       d]dBj                  |tj                  d^      xs g       xs dg d_dBj                  tj                  d`      xs g       xs dg datj                  db       dc|tj                  dd       de|tj                  df       dg|tj                  dh       didBj                  |tj                  dj      xs g       xs dg dkdBj                  tj                  dl      xs g       xs dg dmtj                  dn       do|tj                  dp       dq|tj                  dr       ds|tj                  dt       dudBj                  |tj                  dv      xs g       xs dg dwtj                  dx       dy|tj                  dz       d{uj                  d|       d}|uj                  d~       d|uj                  d       dJdBj                  |uj                  d      xs g       xs dg duj                  d      xs d gd    duj                  d       d[|uj                  d       d|uj                  d       d|uj                  d       d|uj                  d       ddBj                  |uj                  d      xs g       xs dg duj                  d       d|uj                  d       ddBj                  |uj                  d      xs g       xs dg duj                  d       d|uj                  d       d|uj                  d       d|uj                  d       ddBj                  |uj                  d      xs g       xs dg ddBj                  uj                  d      xs g       xs dg duj                  d       d|uj                  d       ddBj                  |uj                  d      xs g       xs dg ddBj                  uj                  d      xs g       xs dg duj                  d       d|uj                  d       d|uj                  d       d|uj                  d       d|uj                  d       d|uj                  d       dtj                  d       dJ|tj                  d       d|tj                  d       dJ|tj                  d       d|tj                  d       d|tj                  d       d|tj                  d       dJ|tj                  d       d|tj                  d       dJ|tj                  d       d|tj                  d       d|tj                  d«       d>Ej                  d       d4             g }vFrАvj                  dqj                  g dÑt        Fj                  dī      xs g        ddFj                  de       dőt        |Fj                  dƫ      xs g        dǑt        Fj                  dȫ      xs g        dt        Fj                  d      xs g        dɑFj                  dʫ       dˑ|Fj                  d̫       d͑|Fj                  dΫ       dϑ|Fj                  dЫ       dё|Fj                  dҫ       dJ|Fj                  dӫ       dԑ|Fj                  dի       d֑|Fj                  dޫ       dJ|Fj                  d׫       dؑ|Fj                  d٫       dڑ|Fj                  d۫       d9|Fj                  d:       d;|Fj                  d<       dܑ|Fj                  dݫ       dޑ|Fj                  d߫       dJ|Fj                  d       d|Fj                  d       d|Fj                  d       d|Fj                  d       d|Fj                  d       d|Fj                  d       d|Fj                  d       d|Fj                  d       dJ|Fj                  d       dJ|Fj                  d       d|Fj                  d       dJ|Fj                  d       dJ|Fj                  d       dJ|Fj                  d       d|Fj                  d       d|Fj                  d       dJ|Fj                  d       d|Fj                  d       dJ|Fj                  d       d|Fj                  d       	d |Fj                  	d       	d|Fj                  	d       	ddBj                  |Fj                  	d      xs g       xs dg 	dt        Fj                  	d      xs g        	dFj                  	d	       dJ|Fj                  	d
       	d|Fj                  	d       dJ|Fj                  	d       dJ|Fj                  	d       dJ|Fj                  	d       	d|Fj                  	d       	d|Fj                  	d       	d|Fj                  	d       	d|Fj                  	d       d|Fj                  d       	d|Fj                  	d       d{|Fj                  d|       	ddBj                  |Fj                  	d      xs g       xs dg dt        Fj                  d      xs g        dFj                  d       d>|Fj                  d       d4             g }wGrGD cg c]0  }|j                  	d      	dk(  rj                  dH      	dk(  rˑ2 }x}ː|xrt        	d xD        |xd	         }-g }y|xD ]:  }|j                  	d       yvsyj                  j                  	d              < xd   j                  d$      xs g }zwj                  	d!t        x       ddt        |z       	d"dBj                  	d# |xD               d>-j                  d*       d?|-j                  d@       	d$dBj                  y       	d%|-j                  d       	d&|xd   j                  d|       	d'dBj                  |xd   j                  	d(      xs g        dt        xd   j                  d      xs g        	d)       g }{Hr{j                  	d*Hj                  d       	d+|Hj                  	d,       	d-|Hj                  	d.       	d/|Hj                  	d0       	d1|Hj                  	d2       	d3|Hj                  	d4       	d5|Hj                  	d6       d4       g }|Irw|j                  	d7Ij                  	d8       	d9|Ij                  	d:       	d;|Ij                  	d<       	d=|Ij                  	d>       	d?|Ij                  	d@       d4       g }}Jr+}j                  	dAJj                  	dB       	dC|Jj                  	dD       	dE|Jj                  	dF       	dG|Jj                  	dH       	dI|Jj                  	dJ       	dK|Jj                  	dL       	dM|Jj                  	dN       	dO|Jj                  	dP       	dQ|Jj                  	dR       	dS|Jj                  	dT       	dU|Jj                  	dV       	dW|Jj                  	dX       	dY|Jj                  	dZ       	d[|Jj                  	d\       d4       g }~Kr~j                  	d]Kj                  	d^       	d_|Kj                  	d`       	da|Kj                  	db       	dc|Kj                  	dd       	de|Kj                  	df       	dg|Kj                  	dh       d4       g }LrJLj                  	di      xs g }t        |      	djkD  r$	dkdBj                  	dl d 	dj D               	dmn	dkdBj                  	dn D               	do}j                  	dpLj                  d2       	dq|Lj                  d       	dr|Lj                  	ds       	dt|Lj                  d4       	dudBj                  |Lj                  	dv      xs g        	dwLj                  	dx       d+|Lj                  	dy       	dz d5|Lj                  d6       d>|Lj                  d       d4       g }Mrj                  	d{Mj                  	d|       	d}|Mj                  	d~       d|Mj                  	d       	d|Mj                  	d       	d|Mj                  d8       	dt        |Mj                  	d      xs g        d4       g }NrNj                  	d      xs i }j                  	dNj                  	d|       	d|Nj                  	d~       	d|j                  d       	d|Nj                  	d       	d|Nj                  	d       	d|Nj                  	d       dJ|Nj                  	d       dJ|Nj                  	d       	d|Nj                  	d       d>|Nj                  d       d4       OrOj                  	d      xs i }Oj                  	d      xs i }Oj                  	d      xs g D ci c]  }|j                  dL      |˓ }}t        	d j                  	d      xs g D        i       }j                  	d      xs i }|j                  	d      r	dj                  	d      	dndg}j                  	dj                  	d       	d|j                  	d       	dt        Oj                  	d      xs g        	dj                  	d       	d|j                  	d       	dj                  	d       	d|j                  	d       	d d4       PrdBj                  	d Pj                  	d      xs g d 	dj D              }j                  	dPj                  	d       	d|Pj                  	d       	ddBj                  |Pj                  	d      xs g        	dPj                  	d       	d|Pj                  	d       	d d4       Qr
t        	d QD        i       }|rdBj                  	d j                  	d      xs g D              }j                  	dj                  dΫ       	d|j                  	d       	d|j                  	d       	d|j                  dЫ       	d|j                  	d       	d|j                  	dë       	dĐ| 	ddBj                  |j                  	dƫ      xs g       xs dg d4       Rr)t        	dǄ RD        i       }t        	dȄ |RD        i       }t        	dɄ |j                  	dʫ      xs g D        i       }t        	d˄ j                  	dʫ      xs g D        i       }j                  	dt        R       	dt        j                  	dʫ      xs g        	dΐj                  	dϫ       	dА|j                  dL       	dѐj                  dJ       	dҐ|j                  	d       	dӐ|j                  	d       d4       Srt        	dԄ SD        i       }|rj                  	ddBj                  j                  	d֫      xs g        	dt        j                  	dث      xs g        	dt        j                  	dګ      xs g        	dېj                  	dܫ       	dݐ|j                  	dޫ       dؐ|j                  d٫       d4       g }Trj                  dqj                  g 	dߑTj                  d2       d|Tj                  	ds       	dq|Tj                  d       d|Tj                  	d       	d|Tj                  	d       	d|Tj                  	d       	d|Tj                  	d       	ddBj                  |Tj                  	d      xs g       xs dg 	dTj                  	d       	d|Tj                  	d       	d|Tj                  	d       	d|Tj                  	d       	d|Tj                  	d       do|Tj                  dp       	d|Tj                  	d       d>|Tj                  d       d4             g }Ur4Uj                  	d      xs i }hUj                  	d      xs i }Uj                  	d      xs i }Uj                  	d      xs i }|j                  	d      xs i }Uj                  	d      xs i }dBj                  hj                  	d      xs g       xs dg}dBj                  j                  	d      xs g       xs dg}dBj                  j                  	d      xs g       xs dg}j                  dqj                  g 	dUj                  	d       dJ|Uj                  	d       	d|Uj                  	d       dJ|Uj                  	d       d d[hj                  	d       
d |hj                  d"       dJ|hj                  
d       
d|hj                  
d       
d d[j                  	d       
d |j                  d"       dJ|j                  
d       
d|j                  
d      xr j                  
d        	dr d[j                  	d       
d |j                  d"       dJ|j                  
d       
d|j                  
d      xr j                  
d        
d	j                  d*       d#j                  d,       
d
|j                  
d       d>Uj                  d       d4             g }VrVj                  	d      xs i }ht        
d Vj                  
d      xs g D        i       }j                  
dVj                  d|       
d|Vj                  	d^       
d|Vj                  
d       
d|Vj                  
d       
ddBj                  |Vj                  
d      xs g       xs dg 
dVj                  
d       
d|Vj                  
d       
dj                  
d       
d|Vj                  
d       
d|Vj                  
d       
d |Vj                  
d!       
d"|Vj                  
d#       
d$hj                  
d       
d%t#        
d& |hj                  
d'      xs g D               d4       WrWj                  
d(      xs i }j                  
d)Wj                  d       
d*|j                  du       
d+|j                  	d       
d,|j                  
d-       
d.|j                  
d/      xs i gd   j                  dJ       d4       XrƐj                  
d0Xj                  d       
d1|Xj                  
d2       
d3|Xj                  
d4       
d5|Xj                  
d6       
d7|Xj                  
d8       
d9|Xj                  
d:       
d;|Xj                  
d<       
d=|Xj                  
d>       
d?|Xj                  
d@       d4       Yr&j                  
dAYj                  
dB       
dC|Yj                  
dD       
dE|Yj                  
dF       
dG|Yj                  
dH       
dI|Yj                  
dJ       
dK|Yj                  
dL       
dM|Yj                  
dN       dJ|Yj                  
dO       dJ|Yj                  
dP       dJ|Yj                  
dQ       dJ|Yj                  
dR       
dS|Yj                  
dT       
dU|Yj                  
dV       d>|Yj                  d       d4       g }ZrZj                  
dW      xs i }|j                  
dX      xs i }Zj                  
dY      xs i }|j                  
dX      xs i }Zj                  
dZ      xs i }|j                  
dX      xs i }Zj                  
d[      xs i }|j                  
dX      xs i }Zj                  
d\      xs i }|j                  
dX      xs i }Zj                  
d]      xs i }|j                  
dX      xs i }Zj                  
d^      xs i }|j                  
dX      xs i }Zj                  
d_      xs i }|j                  
dX      xs i }Zj                  
d`      xs i }|j                  
dX      xs i }Zj                  
da      xs i }|j                  
dX      xs i }Zj                  
db      xs i }Zj                  
dc      xs i }Zj                  
dd      xs i }Zj                  
de      xs i }Zj                  
df      xs i }Zj                  
dg      xs i }Zj                  
dh      xs i }Zj                  
di      xs i }Zj                  
dj      xs i }Zj                  
dk      xs i }|j                  
dl      xs i }j                  dqj                  g 
dmZj                  	d       
dn|Zj                  
do       d-|Zj                  d       
dp|Zj                  d       
dq|Zj                  d       d|Zj                  d       d.|Zj                  d/       d2|Zj                  d3       
dr|Zj                  d5       	d|Zj                  	d       do|Zj                  dp       
ds|Zj                  
dt       
duj                  
dv       dx|j                  
dw       
dx|j                  
dy       
dz|j                  
d{       
d||j                  
d}       
d~|j                  
d       
d|j                  
d       
d|j                  
d       
d|j                  
d       dJ|j                  
d       dJ|j                  
d       dJ|j                  
d       
d|Zj                  
d       
dj                  
d       dJ|j                  
d       dJ|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       dJ|j                  
d       
d|j                  
d       dJ|j                  
d       
d|j                  
d       d[dBj                  |j                  
d      xs g       xs dg 
ddBj                  j                  
d      xs g       xs dg d8Zj                  d       d|Zj                  d       
dj                  dY       
d|j                  dl       
ddBj                  |j                  do      xs g       xs dg 
ddBj                  j                  d      xs g       xs dg 
dj                  d˫       dJ|j                  dY       
d|j                  dͫ       dJ|j                  dY       
d|j                  d       dJ|j                  dY       
d|j                  d       
ddBj                  
d |j                  
d      xs g D              xs dg 
dj                  d       
d|j                  d]       
d|j                  d_       
d|j                  d       
dj                  dY       
d|j                  dl       
ddBj                  |j                  do      xs g       xs dg 
ddBj                  j                  d      xs g       xs dg 
dj                  d˫       dJ|j                  dY       
d|j                  dͫ       dJ|j                  dY       
d|j                  d       dJ|j                  dY       
d|j                  d       
dÑdBj                  
dĄ |j                  
d      xs g D              xs dg 
dőj                  d       
dƑ|j                  d]       
dǑ|j                  d_       
dȑ|j                  d       
dɑj                  dY       
dʑ|j                  dl       
dˑdBj                  |j                  do      xs g       xs dg 
d̑dBj                  j                  d      xs g       xs dg 
d͑j                  d˫       dJ|j                  dY       
dΑ|j                  dͫ       dJ|j                  dY       
dϑ|j                  d       dJ|j                  dY       
dБ|j                  d       
dёdBj                  
d҄ |j                  
d      xs g D              xs dg 
dӑj                  
dԫ       
dՑdBj                  |j                  
d֫      xs g       xs dg 
dבj                  
dث       
dّ|j                  
dګ       
dۑ|j                  d_       
dܑj                  dY       
dݑ|j                  dl       
dޑ|j                  dn       
dߑdBj                  |j                  do      xs g       xs dg 
ddBj                  j                  d      xs g       xs dg 
dj                  d˫       dJ|j                  dY       
d|j                  dͫ       dJ|j                  dY       
d|j                  d       dJ|j                  dY       
d|j                  d       
ddBj                  
d |j                  
d      xs g D              xs dg 
dj                  
dԫ       
ddBj                  |j                  
d֫      xs g       xs dg 
dj                  
dث       
d|j                  
dګ       
d|j                  d_       
dj                  dY       
d|j                  dl       
ddBj                  |j                  do      xs g       xs dg 
ddBj                  j                  d      xs g       xs dg 
dj                  d˫       dJ|j                  dY       
d|j                  dͫ       dJ|j                  dY       
d|j                  d       dJ|j                  dY       
d|j                  d       
ddBj                  
d |j                  
d      xs g D              xs dg 
dj                  
dԫ       
ddBj                  |j                  
d֫      xs g       xs dg 
dj                  
dث       
d|j                  
dګ       
d|j                  d_       
dj                  dY       
d|j                  dl       
ddBj                  |j                  do      xs g       xs dg 
ddBj                  j                  d      xs g       xs dg 
dj                  d˫       dJ|j                  dY       d |j                  dͫ       dJ|j                  dY       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  d |j                  
d      xs g D              xs dg dj                  
dԫ       ddBj                  |j                  
d֫      xs g       xs dg dj                  
dث       d|j                  
dګ       d	|j                  d_       d
|j                  d       dj                  dY       d|j                  dl       ddBj                  |j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg dj                  d˫       dJ|j                  dY       d|j                  dͫ       dJ|j                  dY       d|j                  d       dJ|j                  dY       d|j                  d       ddBj                  d |j                  
d      xs g D              xs dg dj                  
dԫ       ddBj                  |j                  
d֫      xs g       xs dg dj                  
dث       d|j                  
dګ       d|j                  d_       d|j                  d       dj                  dY       d|j                  dl       ddBj                  |j                  do      xs g       xs dg ddBj                  j                  d      xs g       xs dg d j                  d˫       dJ|j                  dY       d!|j                  dͫ       dJ|j                  dY       d"|j                  d       dJ|j                  dY       d#|j                  d       d$dBj                  d% |j                  
d      xs g D              xs dg d&j                  
dԫ       d'dBj                  |j                  
d֫      xs g       xs dg d(j                  
dث       d)|j                  
dګ       d*|j                  d_       d+|j                  d,       d-|j                  d.       d/|j                  d0       d1j                  dY       d2|j                  dl       d3dBj                  |j                  do      xs g       xs dg d4dBj                  j                  d      xs g       xs dg d5j                  d˫       dJ|j                  dY       d6|j                  dͫ       dJ|j                  dY       d7|j                  d       dJ|j                  dY       d8|j                  d       d9dBj                  d: |j                  
d      xs g D              xs dg d;dBj                  j                  
d֫      xs g       xs dg d<j                  
dث       d=|j                  
dګ       d>|j                  d_       d?|j                  d@       dA|j                  dB       dC|j                  dD       dE|j                  dF       dGj                  dY       dH|j                  dl       dIdBj                  |j                  do      xs g       xs dg dJdBj                  j                  d      xs g       xs dg dKj                  d˫       dJ|j                  dY       dL|j                  dͫ       dJ|j                  dY       dM|j                  d       dJ|j                  dY       dN|j                  d       dOdBj                  dP |j                  
d      xs g D              xs dg dQdBj                  j                  
d֫      xs g       xs dg dRj                  
dث       dS|j                  
dګ       dT|j                  d_       dU|j                  dV       dW|j                  dX       dY|j                  dZ       d[j                  d       d\|j                  d]       d^|j                  d_       d`|j                  da       db|j                  dc       dJ|j                  dd       dJ|j                  de       df|j                  dg       dhj                  d       di|j                  d_       dj|j                  da       dkj                  d       dl|j                  d]       dm|j                  d_       dn|j                  da       do|j                  dg       dpj                  d       dq|j                  d]       dr|j                  d_       ds|j                  da       dt|j                  dg       duj                  d       dv|j                  d]       dw|j                  d.       dx|j                  d0       dy|j                  dg       dzj                  d       d{|j                  d]       d||j                  dB       d}|j                  dD       d~|j                  dF       d|j                  dg       dj                  d       d|j                  d]       d|j                  d       d|j                  d       d|j                  dg       dj                  d       d|j                  d]       d|j                  d_       d|j                  da       d|j                  dn       d{Zj                  d|       ddBj                  |Zj                  d      xs g       xs dg dt        Zj                  d      xs g        dt        Zj                  d      xs g        ddZj                  de       d|Zj                  d       d|Zj                  d       d>|Zj                  d       d4             g }[rTj                  dqj                  g d[j                  
dv       d|[j                  
dw       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  
dy       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{       d|[j                  
d}       d|[j                  
d       d|[j                  d       d|[j                  d       d|[j                  
d       d|[j                  
d       d|[j                  
d       dJ|[j                  
d       dJ|[j                  
d       dJ|[j                  
d       d|[j                  d      xs i j                  d       dJ[j                  d      xs i j                  d       d[j                  d       d|[j                  d      xs i j                  d       dJ[j                  d      xs i j                  d       dJ[j                  d      xs i j                  d       d[j                  d       d|[j                  d       d|[j                  d       d|[j                  dë       dđ|[j                  dū       dƑ|[j                  dǫ       dJ|[j                  dȫ       dJ|[j                  dɫ       dJ|[j                  dʫ       dˑ|[j                  d̫       dJ|[j                  dͫ       dJ|[j                  dΫ       dϑ|[j                  dЫ       dё|[j                  d      xs i j                  dҫ      xs i j                  dӫ       dJ[j                  d      xs i j                  dҫ      xs i j                  d_       dԑ[j                  dի       d֑|[j                  d׫       dؑdBj                  |[j                  d٫      xs g       xs dg 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       dJ|[j                  d       dJ|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       dJ|[j                  d       dJ|[j                  d       d|[j                  d       dJ|[j                  d       d|[j                  d       d|[j                  d       ddBj                  |[j                  d       xs g       xs dg d[j                  d       dJ|[j                  d       dJ|[j                  d       d|[j                  d       dJ|[j                  d       d|[j                  d	       dJ|[j                  d
       d|[j                  d       dJ|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       d|[j                  d       dJ|[j                  d       d|[j                  d       dJ|[j                  d       dJ|[j                  d       d|[j                  d       dJ|[j                  d       d|[j                  d       dJ|[j                  d        d!|[j                  d"       dJ|[j                  d#       dJ|[j                  d$       d%|[j                  d&       d'|[j                  d(       d)|[j                  d]       d*|[j                  d+       d,|[j                  d-       d.|[j                  
d       d/|[j                  d0       d1|[j                  d2       d3|[j                  d4       d5|[j                  d6       dJ|[j                  d7       d8|[j                  d9       dJ|[j                  d:       dJ|[j                  d;       dJ|[j                  d<       d=|[j                  d>       dJ|[j                  d?       dJ|[j                  d@       dJ|[j                  dA       dB|[j                  dC       dJ|[j                  dD       dJ|[j                  dE       dJ|[j                  dF       dG|[j                  dH       dI|[j                  dJ       dK|[j                  dc       dL|[j                  dM       dN|[j                  dO       dP|[j                  dQ       dR|[j                  dS       	d|[j                  	d       do|[j                  dp       dT|[j                  dU       dV|[j                  dW       dX|[j                  dY       dZ|[j                  d[       dJ|[j                  d\       d]|[j                  d^       d_|[j                  d`       dadBj                  |[j                  db      xs g       xs dg dcdBj                  [j                  dd      xs g       xs dg dt        [j                  d      xs g        dd[j                  de       d{|[j                  d|       d>|[j                  d       d4             g }\rj                  dqj                  g de\j                  df       dg|\j                  dh       di|\j                  dj       dk|\j                  dl       dm|\j                  dn       do|\j                  dp       dq|\j                  d       drdBj                  |\j                  ds      xs g        dtdBj                  \j                  du      xs g       xs dg dJdBj                  dv \j                  dw      xs g D              xs dg dJdBj                  \j                  dx      xs g       xs dg dy\j                  dz       dJ|\j                  d{       dJ|\j                  d|       d}|\j                  d~       d|\j                  d       d|\j                  d       d|\j                  d       dJ|\j                  dë       dJ|\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dBj                  |\j                  d      xs g       xs dg ddBj                  \j                  d      xs g       xs dg dt        \j                  d      xs g        dd\j                  de       d{|\j                  d|       d>|\j                  d       d4             g }^
r
^j                  
dl      xs i }^j                  d      xs i }Ðj                  dqj                  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       d|^j                  d       dJ|^j                  d       dJ|^j                  d       d|^j                  d       d|^j                  d       d|^j                  
d       d|^j                  
dy       d|^j                  d       d|^j                  
d{       d|^j                  
d}       d|^j                  
d       d|^j                  
d       d|^j                  
d       d|^j                  
d       dJ|^j                  
d       dJ|^j                  
d       dJ|^j                  
d       d|^j                  d       dJ|^j                  d       d|^j                  d       d|^j                  d       d|^j                  dë       dđ|^j                  dū       dƑ|^j                  dǫ       dJ|^j                  dȫ       dJ|^j                  dɫ       dJ|^j                  dʫ       dˑ|^j                  d̫       dJ|^j                  dͫ       dJ|^j                  dΫ       d|^j                  d       d|^j                  d       dJ|^j                  d       d|^j                  d       dJ|^j                  d       d|^j                  d       d|^j                  d       dJ|^j                  d       d|^j                  d       dJ|^j                  d       d|^j                  d       dJ|^j                  d       dJ|^j                  d       dJ|^j                  d«       d|^j                  dë       dđ|^j                  d׫       dődBj                  |^j                  d٫      xs g       xs dg dƑt        ^j                  d۫      xs g        dǑ^j                  dݫ       dȑ|^j                  d       d|^j                  d       dɑ|^j                  d       dJ|^j                  d       dJ|^j                  d       d%|^j                  d&       dʑ|^j                  
d       dˑ|^j                  
d       dJ|^j                  
d       d̑|^j                  
d       dJ|^j                  
d       d͑|^j                  
d       d[dBj                  |^j                  
d      xs g       xs dg dΑdBj                  ^j                  
d      xs g       xs dg dϑ^j                  dЫ       d,j                  dY       d.|j                  
d       dё|j                  dҫ       dӑ|j                  dԫ       d/|j                  dի       d1|j                  
d       d֑|j                  d׫       dؑ|j                  d٫       dڑ|j                  d۫       dܑj                  d       dݑ|j                  d7       dޑ|j                  d߫       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       	d|^j                  	d       do|^j                  dp       d|^j                  d       dJ|^j                  d       d|^j                  d       ddBj                  |^j                  d      xs g       xs dg d{^j                  d|       ddBj                  |^j                  d      xs g       xs dg dt        ^j                  d      xs g        dd^j                  de       
d|^j                  
d       d>|^j                  d       d4             g }]rM]j                  d      xs i }]j                  d      xs i }]j                  d      xs i }ǐj                  dqj                  g d]j                  d       dx|]j                  d       d|]j                  d       dx|]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       dJ|j                  d       d|j                  d       dJ|j                  d	       d|]j                  d       d|]j                  d       dJ|]j                  d       d
|]j                  d       d|]j                  d       dJ|]j                  d       dJ|]j                  d       dJ|]j                  d«       d|]j                  dë       d|]j                  d       d{|]j                  d|       ddBj                  |]j                  d      xs g       xs dg dt        ]j                  d      xs g        dd]j                  de       d>|]j                  d       d4             g }_r_j                  d      xs g D ci c]  }|j                  d      |˓ }}ː|j                  d      xs i }ʐj                  d      xs i }Z_j                  d      xs i }ːj                  d|j                  d_       dj                  d       dt        |j                  d      xs g        dt+        j                  d             dt+        |j                  d             dZj                  d       dt        |Zj                  d      xs g        dt+        Zj                  d             dt+        |Zj                  d             d       `rj`j                  d      xs i }ʐj                  d|j                  d       d|j                  d       d |j                  d!       d"       araj                  d#      xs i }aj                  d$      xs g }dBj                  d% |D              }ΐj                  d&j                  	d       d'|j                  d(       d)|Λ d*t#        d+ |D               d,t#        d- |D               d4       brbj                  d.      xs i }ϐj                  d/bj                  d       d0|bj                  d1       d2|bj                  d3       d4|bj                  d5       d|j                  d       d4       crPj                  d6cj                  d7       d8|cj                  d9       d:|cj                  d;       d<       drNj                  d=dj                  d       d>|dj                  d?       d@|dj                  dA       d4       erwj                  dBej                  dC       dD|ej                  dE       dF|ej                  dG       dH|ej                  dI       dJ|ej                  dK       d4       frNj                  dLfj                  d       dM|fj                  dN       dO|fj                  dP       d4       g }grj                  dQgj                  d2       dR|gj                  	d       dSt        |gj                  dT      xs g        dUt        gj                  dV      xs g        dogj                  dp       dW|gj                  	d       d4       g }hrSj                  dXhj                  d       dY|hj                  d2       dZ|hj                  d       d[|hj                  d\       d]|hj                  d^       d_dBj                  |hj                  d`      xs g       xs dg dahj                  db       dc|hj                  dd       de|hj                  df       d{|hj                  d|       dgdBj                  |hj                  dh      xs g       xs dg dt        hj                  d      xs g        ddhj                  de       d4       g }irij                  di      xs i }Ӑj                  djij                  dk       dl|ij                  dm       dn|ij                  do       dp|ij                  dq       dr|ij                  ds       dt|j                  d\       dut        |j                  dv      xs g        d_dBj                  j                  d`      xs g       xs dg deij                  df       d4       g }jrj                  dqj                  g dwjj                  dx       dy|jj                  d       dz|jj                  d{       d||jj                  d}       d~|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  d       d|jj                  df       d4             g }krj                  dkj                  d       d|kj                  d       ddBj                  |kj                  d      xs g        dkj                  d       d|kj                  d       ddBj                  |kj                  d      xs g       xs dg dkj                  d{       d|kj                  d       d>|kj                  d       d4       g }lr	j                  ddBj                  lj                  d      xs g        dlj                  d       ddBj                  |lj                  d      xs g       xs dg dlj                  d       ddBj                  |lj                  d      xs g       xs dg dlj                  d       d|lj                  	dx       d|lj                  	dy       d>|lj                  d       d4       g }mrlmj                  d      xs i 2dBj                  2fdt-        2      D              xs dg}mj                  d      xs i 1dBj                  1fdt-        1      D              xs dg}ِj                  dqj                  g ddBj                  mj                  d      xs g        dmj                  d       d|mj                  d       d|mj                  d       d|mj                  d       ddBj                  |mj                  d      xs g       xs dg ddBj                  mj                  dë      xs g       xs dg dđmj                  dū       dƑdBj                  |mj                  dǫ      xs g       xs dg dȑmj                  dɫ       dʑ|mj                  d˫       d̑|mj                  dͫ       dΑdBj                  |mj                  dϫ      xs g       xs dg dБdBj                  mj                  dѫ      xs g       xs dg dґdBj                  mj                  dӫ      xs g       xs dg dԑdBj                  mj                  dի      xs g       xs dg d֑dBj                  mj                  d׫      xs g       xs dg dؑmj                  d٫       dڑ|mj                  d۫       dܑ|mj                  dݫ       dޑ|mj                  d߫       ddBj                  |mj                  d      xs g       xs dg dmj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d |mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d	       d
|mj                  d       d|mj                  d       d|mj                  d       d|mj                  d       dٛ d|mj                  d       d؛ ddBj                  |mj                  d      xs g       xs dg d{mj                  d|       ddBj                  |mj                  d      xs g       xs dg dt        mj                  d      xs g        ddmj                  de       d>|mj                  d       d4             g }nrj                  dnj                  d       d|nj                  d       d|nj                  d       d|nj                  d        	d|nj                  	d       d{|nj                  d|       d!dBj                  |nj                  d"      xs g       xs dg dt        nj                  d      xs g        ddnj                  de       d>|nj                  d       d4       g }oroj                  d#      xs i }oj                  d$      xs i }ݐj                  d%j                  d&       d|j                  d&       d'oj                  d(       d)|oj                  d*       d+|oj                  d,       dW|oj                  	d       d4       g }prj                  d-pj                  d.       d/|pj                  d0       d1|pj                  d2       d3|pj                  d4       d5|pj                  d       d|pj                  d       d4       g }qrj                  dqj                  g d6qj                  d\       d7|qj                  ds       d8|qj                  d9       d:|qj                  dz       dJ|qj                  d;       d<|qj                  d       dJ|qj                  d       d5|qj                  d       d=|qj                  d>       d?|qj                  d       d|qj                  d       d|qj                  d       d|qj                  d       d@dBj                  |qj                  dA      xs g       xs dg dBdBj                  qj                  dC      xs g       xs dg dDdBj                  qj                  dE      xs g       xs dg dFdBj                  qj                  dG      xs g       xs dg dHqj                  dI       dJdBj                  |qj                  dK      xs g       xs dg dLqj                  dM       d̑|qj                  dͫ       dN|qj                  dO       dP|qj                  dQ       dR|qj                  dS       dT|qj                  dU       dV|qj                  dW       d|qj                  d       dX|qj                  dY       dZ|qj                  d[       d{|qj                  d|       d\dBj                  |qj                  d]      xs g       xs dg dt        qj                  d      xs g        ddqj                  de       do|qj                  dp       d>|qj                  d       d4             g }rrj                  dqj                  g d^rj                  d_       d`|rj                  da       d|rj                  d       d|rj                  d       d|rj                  d       dFdBj                  |rj                  dG      xs g       xs dg dHrj                  dI       dJdBj                  |rj                  dK      xs g       xs dg dLrj                  dM       d̑|rj                  dͫ       db|rj                  dc       d|rj                  d       dd|rj                  de       df|rj                  dz       dg|rj                  dh       di|rj                  dj       
dʑ|rj                  dk       dl|rj                  dm       	d|rj                  	d       dn|rj                  dޫ       do|rj                  dp       dq|rj                  dr       dT|rj                  dU       d{|rj                  d|       dsdBj                  |rj                  dt      xs g       xs dg dt        rj                  d      xs g        ddrj                  de       do|rj                  dp       d>|rj                  d       d4             g }sr'j                  dqj                  g dusj                  d\       d]|sj                  d^       dvdBj                  |sj                  d`      xs g       xs dg dwsj                  dx       dy|sj                  d_       d`|sj                  da       dz|sj                  dz       dJ|sj                  d       dJ|sj                  d       d|sj                  d       d|sj                  d       d|sj                  d       db|sj                  dc       d{|sj                  d       dJ|sj                  d>       dJ|sj                  d       d|dBj                  |sj                  dG      xs g       xs dg d}dBj                  sj                  dK      xs g       xs dg dHsj                  dI       d̑|sj                  dͫ       dT|sj                  dU       d~|sj                  d       d|sj                  d       d|sj                  d       dd|sj                  de       dg|sj                  dh       d|sj                  d       d|sj                  d       d|sj                  d       	d|sj                  	d       ds|sj                  dt       do|sj                  dp       dq|sj                  dr       dX|sj                  dY       dT|sj                  dU       dV|sj                  dW       d{|sj                  d|       ddBj                  |sj                  d      xs g       xs dg dt        sj                  d      xs g        ddsj                  de       dX|sj                  dY       d>|sj                  d       d4             g }trj                  dqj                  g dt        tj                  d      xs g        dt        tj                  d      xs g        dtj                  d       d|tj                  d       d!|tj                  d"       d#|tj                  d$       d|tj                  d       d|tj                  d       	d|tj                  	d       	d|tj                  	d       d|tj                  d       dϑ|tj                  dЫ       dё|tj                  dҫ       dJ|tj                  dӫ       dԑ|tj                  dի       d|tj                  d       d|tj                  d       dؑ|tj                  d٫       dڑ|tj                  d۫       d|tj                  d       dޑ|tj                  d߫       dJ|tj                  d       d|tj                  d       d|tj                  d       d|tj                  d       d|tj                  d       dJ|tj                  d       dJ|tj                  d       d|tj                  d       d|tj                  d       d|tj                  d       d{|tj                  d|       ddBj                  |tj                  d      xs g       xs dg dt        tj                  d      xs g        dtj                  d       	d|tj                  	d       d|tj                  d       d|tj                  d       d>|tj                  d       d4             g }urWuj                  d      xs i }j                  duj                  d       d|uj                  d       d|uj                  d       dJ|uj                  d       d|uj                  d       d|uj                  d       d|uj                  d       d|uj                  d       dJ|uj                  d       d|uj                  d       ddBj                  |j                  d      xs g        dj                  d       d|j                  dë       dĐ|j                  dū       d4       g }vrCj                  dvj                  dǫ       dt        |vj                  d      xs g        dvj                  dʫ       d|vj                  d̫       dt        |vj                  dΫ      xs g        dvj                  dЫ       dt        |vj                  dҫ      xs g        dvj                  dԫ       dt        |vj                  d֫      xs g        dvj                  dث       dt        |vj                  dګ      xs g        d>vj                  d       d4       g }wr"j                  dwj                  dܫ       d|wj                  d<       d|wj                  d*       dt        |wj                  d      xs g        dwj                  d       dt        |wj                  d      xs g        dwj                  d       dt        |wj                  d      xs g        dwj                  d       dt        |wj                  d      xs g        d>wj                  d       d4       g }xrxj                  d      xs i }xj                  d      xs i }xj                  d      xs i }Jj                  dqj                  g dxj                  dǫ       dt        |xj                  d      xs g        dt        xj                  d      xs g        d{xj                  d|       dّdBj                  |xj                  d      xs g       xs dg dt        xj                  d      xs g        dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       dxj                  d       d j                  d̫       dϑ|j                  dЫ       d|xj                  d       d|xj                  d       dJj                  d       d|Jj                  d       d|Jj                  d       d	|Jj                  d
       d|Jj                  d       d|Jj                  d       d|Jj                  d       dd|xj                  de       d>|xj                  d       d4             g }yr6yj                  d      xs i }j                  dyj                  d       d|yj                  d       dt        |yj                  d      xs g        dyj                  dy       dt        |yj                  d      xs g        dyj                  d       d|yj                  d       d||yj                  d}       d~|yj                  d       dj                  d       d|j                  d       d|yj                  d       d4       g }zrj                  dqj                  g dzj                  d       d |zj                  dO       d!|zj                  d"       d#|zj                  d$       d%|zj                  d&       d'|zj                  d(       d!|zj                  d"       d#|zj                  d$       d)|zj                  d*       d+|zj                  d,       d-|zj                  d.       d/|zj                  d0       d1|zj                  d2       d3|zj                  d4       d5|zj                  d6       d7|zj                  d8       d9|zj                  d:       d>|zj                  d       d4             g }{rƐj                  d;{j                  d<       d=|{j                  d*       d>|{j                  d?       d@|{j                  dA       dB|{j                  dC       dD|{j                  dE       dF|{j                  dG       dH|{j                  dI       d>|{j                  d       d4       g }|rƐj                  dJ|j                  dK       d||j                  d       d||j                  d       dL||j                  dM       dN||j                  dO       dP||j                  dQ       dR||j                  dS       d||j                  d       d||j                  d       d4       g }g }|xs i }dTg}|	r|	j                  dU      xs i }|	j                  dV      xs i }j                  dWj                  dX       dY|j                  dZ       d[|j                  d\       d]|j                  d^       d_|j                  d`       da|j                  db       d4       dcg}|
r+|
j                  dd      xs i }|
j                  de      xs i }|
j                  df      xs i }|
j                  dV      xs i }|
j                  dg      xs i }|
j                  dh      xs i }|j                  di      xs i }|j                  dj      xs i }j                  dk      xs i }|
j                  dl      xs i }|j                  dm      xs i }j                  dn      xs i }|j                  do      xs i }|
j                  dp      xs i } j                  dq      xs i }j                  dr      xs i }j                  ds      xs g }j                  dt      xs i }|
j                  du      xs i }j                  d      xs i }j                  d      xs i }j                  dv      xs g }j                  dw      xs i }	dBj                  dx j                  dy      xs g D              }
dBj                  dz j                  d{      xs g D              }dBj                  d| D              }dBj                  d} |D              }j                  dqj                  g d~j                  d       ddBj                  d |j                  d      xs g D               dj                  d      xs i j                  d       dj                  d       d|j                  d       dj                  d       dJ|j                  d       d|j                  d       dJ|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|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ƫ       dJj                  d      xs i j                  dǫ       dȑj                  d       dx|j                  dɫ       dʑ|j                  d˫       d[|j                  d̫       dx|j                  dͫ       dΑ|j                  dϫ       dБ|j                  dѫ       dґj                  dӫ       dԑj                  d       dՑ j                  d       d֑| j                  d׫       dx| j                  dث       dّj                  dL       d[|j                  dګ       dx|j                  d_       dۑj                  dL       d[|j                  dګ       dx|j                  d_       dܑ|j                  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       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j                  d       d|j                  d       dJ|j                  d       dj                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d
 dj                  d       d |j                  d!       dJ|j                  d"       d#j                  d$       d%|j                  d&       d't               d(	j                  d       d)|	j                  d*       d+j                  d       d,|j                  d-       d.|j                  d/       d0|j                  d1       d2|j                  d3       d4|j                  d5       d6|j                  d7       d8|j                  d9       d:|j                  d;       d<|j                  d=       d>|j                  d?       d@|j                  dA       dB|j                  dC       dD|j                  dE       dF|j                  dG       dH|j                  dI       dJ dK|j                  dL       dM|j                  dN       dO|j                  dP       dQ|j                  dR       dS|j                  dT       dU|j                  dV       d4             dWg}|rc|j                  d      xs i }j                  dqj                  g dX|j                  d       dY|j                  d       dZ|j                  d[       d\|j                  d]       d^|j                  d_       dJ|j                  d`       dJ|j                  da       db|j                  dc       dd|j                  de       df|j                  dg       dh|j                  di       dj|j                  dk       dJ|j                  dl       dm|j                  dn       do|j                  dp       dq|j                  dr       ds|j                  dt       du|j                  dv       dw|j                  dx       dy|j                  dz       d{|j                  d|       d}|j                  d~       d|j                  d       d|j                  d       d|j                  d       d4             g }|r&|j                  d      xs i }|j                  d      }|j                  d      }|j                  d      xs i }|j                        xs i }j                        xs i }j                  dqj                  g d dx d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dj                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d{|j                  d|       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        dd|j                  de       d             g }|rZ|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                  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                  d      xs i }!j                  dqj                  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       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dj                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d«       dÑj                  dī       dJ|j                  dū       dƑj                  dǫ       dJ|j                  dȫ       dJ|j                  dɫ       dJ|j                  dʫ       dJ|j                  d˫       dj                  dǫ       dJ|j                  dȫ       dJ|j                  dɫ       dJ|j                  dʫ       dJ|j                  d˫       d j                  dǫ       dJ| j                  dȫ       dJ| j                  dɫ       dJ| j                  dʫ       dJ| j                  d˫       d|!j                  dǫ       dJ|!j                  dȫ       dJ|!j                  dɫ       dJ|!j                  dʫ       dJ|!j                  d˫       d̑|j                  d       dJ|j                  d       dJ| j                  d       dJ|!j                  d       d͑j                  dΫ       dϑ|j                  dЫ       dё|j                  dҫ       dJ|j                  d       dӑj                  d       dJ|j                  dԫ       dJ|j                  dի       dJ|j                  d֫       dJ|j                  d׫       dJ|j                  dث       dJ|j                  d٫       dڑj                  d۫       dJ|j                  dܫ       dJ|j                  dݫ       dޑ|j                  d߫       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d{|j                  d|       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        d|j                  d       d             g }"|rՐ"j                  dqj                  g d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       d|j                  d       dq|j                  dr       d|j                  d       d             g }#|r%#j                  dqj                  g d |j                  d7       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d	|j                  d
       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dt/        |j                  d             d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d        d!|j                  d"       dJ|j                  d#       dJ|j                  d$       d%|j                  d&       dJ|j                  d'       dJ|j                  d(       d)t/        |j                  d*             d+|j                  d,       dJ|j                  d-       dJ|j                  d.       d/|j                  d0       d1|j                  d2       dJ|j                  d3       dJ|j                  d4       d5|j                  d6       d7|j                  d8       d9|j                  d:       d;|j                  d<       d{|j                  d|       d=dBj                  |j                  d>      xs g       xs dg dt        |j                  d      xs g        d|j                  d       d?             g }$|rr|j                  d@      xs i }1t+        |j                  dA      xs i       }%$j                  dqj                  g dBt        |j                  dC      xs g        dt        |j                  d      xs g        dD|j                  d       dE|j                  dF       dG|j                  d"       dH|j                  dI       dJ|j                  dK       dJ|j                  dL       dM% dNdBj                  |j                  dO      xs g       xs d؛ dP1j                  dQ       dR|1j                  dS       dT|1j                  dU       dV|1j                  dW       d|1j                  dX       dJ|j                  d       dY|1j                  dZ       d{|j                  d|       d[dBj                  |j                  d\      xs g       xs dg dt        |j                  d      xs g        d|j                  d       d]             g }&|r@&j                  dqj                  g d^t        |j                  d_      xs g        d`t        |j                  d      xs g        dd|j                  de       dt        |j                  d      xs g        dD|j                  d       da|j                  db       dct        j&                  |j                  dd      xs i dd       de|j                  dF       df|j                  d"       do|j                  dp       dq|j                  dr       d{|j                  d|       dgdBj                  |j                  dh      xs g       xs dg dt        |j                  d      xs g        dT|j                  dU       dV|j                  dW       di|j                  dj       dJ|j                  dk       dJ|j                  dl       dJ|j                  dm       dJ|j                  dѫ       dn|j                  do       dJ|j                  dp       dJ|j                  dq       dJ|j                  dϫ       dr|j                  ds       dJ|j                  dt       dJ|j                  du       dJ|j                  dv       dJ|j                  dw       dJ|j                  d       d|j                  dx       d|j                  dy      xs t/        |j                  d             d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  dz       d|j                  d{       d|j                  d       d!|j                  d"       dJ|j                  d#       dJ|j                  d$       d%|j                  d&       dJ|j                  d'       dJ|j                  d(       d)t/        |j                  d*             d+|j                  d,       dJ|j                  d-       dJ|j                  d.       d/|j                  d0       d1|j                  d2       dJ|j                  d3       dJ|j                  d4       d||j                  d}       d~|j                  d       d|j                  d       d(|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  do       dJ|j                  dq       d|j                  d       dJ|j                  ds       dJ|j                  du       dJ|j                  dw       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dƑ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d̑|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d«       dJ|j                  dë       dJ|j                  dī       dő|j                  dƫ       dJ|j                  dǫ       dJ|j                  dȫ       dɑ|j                  dʫ       dJ|j                  d˫       dJ|j                  d̫       dJ|j                  dͫ       dJ|j                  dΫ       dJ|j                  dϫ       dJ|j                  dЫ       dJ|j                  dѫ       dґ|j                  dӫ       dԑ|j                  dի       d֑|j                  d       dב|j                  dث       dّ|j                  dګ       d>|j                  d       d4             t1        dېd|dk\  rdnd| dddАg|dk\  rg ndg      t1        ddrdndd    d|d    dd|d    dJ|d    d|d    d|d	    d|d
    dddgrg ndg      t1        dddߐddgddj                  d      dk(  rdj                  	dʫ       dndj                  d      rdj                  d       dndj                  d       rdj                  d        dndj                  d      rdj                  d       d|j                  d       d|j                  d	       d
|j                  d       d|j                  d       d|j                  d       d|j                  d       dndj                  d      dk(  r?dj                  dN       d|j                  d&       d|j                  d       dnddddd      t1        dddސddgg       t1        d d!dg d"Őd#    d4d$| j                  d%d       d4d&t        ƫ       d'dj                  |d d(        d)d*| j                  d+d       d,d-d.j                  d      dk(  rd/nd0rd1d2j                  j                  d3      xs g        d4j                  d5       d6|j                  d7       d8|j                  d9       d:|j                  d;       d<|j                  d       d=|j                  d>       d?|j                  d@       dA|j                  dB       dC|j                  dD       dEndFdGdHdIdJdKdLdM̢dN|7r[dqj                  g dO|j                  d       dPdBj                  |j                  dQ      xs g       xs dg dRdBj                  |j                  d      xs g       xs dg dS|j                  d       dT|j                  dr       dU|j                  dV       dJ|j                  dW       dX|j                  dY       dZ|j                  d[       d\|j                  d]       d^|j                  d_       d`t/        |j                  da             db|j                  dc       dJ|j                  dd       dJ|j                  de       dJ|j                  df       dg|j                  dh       di|j                  dj       d|j                  dk       dJ|j                  dl       dJ|j                  dm       d!|j                  dn       dJ|j                  do       dJ|j                  dp       d%|j                  dq       dJ|j                  dr       dJ|j                  ds       d1|j                  dt       dJ|j                  du       dJ|j                  dv       dw|j                  dx       dy|j                  dz       dJ|j                  d{       dJ|j                  d|       d}|j                  d~       dJt        |j                  d      xs g        dJ|j                  d       dJt        |j                  d      xs g        dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dt        j&                  |j                  d      xs i dd       dJt        j&                  |j                  d      xs i dd       d|j                  d       d!|j                  d       dJ|j                  d       dJ|j                  d       d%|j                  d       dJ|j                  d       dJ|j                  d       d1|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d      xs t/        |j                  d             d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg dt        |j                  d«      xs g        dÑ|j                  dī       dő|j                  dƫ       dǑ|j                  dȫ       dJ|j                  dɫ       dʑ|j                  d˫       dJ|j                  d̫       dJ|j                  dͫ       dJ|j                  dΫ       dϑ|j                  dЫ       dJ|j                  dѫ       dJ|j                  dҫ       dJ|j                  dӫ       dԑ|j                  dի       dJ|j                  d֫       dJ|j                  d׫       dؑ|j                  d٫       dJ|j                  dګ       dJ|j                  d۫       dܑ|j                  dݫ       dޑ|j                  d߫       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       ddBj                  |j                  d      xs g       xs dg dJdBj                  |j                  d      xs g       xs dg dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJdBj                  |j                  d      xs g       xs dg dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d        dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d	       dJ|j                  d
       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dt        |j                  d      xs g        dJt        |j                  d      xs g        dJt        |j                  d      xs g        dJt        |j                  d      xs g        dJt        |j                  d      xs g        d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       ddBj                  |j                  d      xs g       xs dg d |j                  d!       d"|j                  d#       dJ|j                  d$       d%|j                  d&       d'|j                  d(       dJ|j                  d)       d*|j                  d+       d,|j                  d-       d.|j                  d/       d0|j                  d1       d2|j                  d3       d)|j                  d*       d4|j                  d       d5|j                  d6       d7|j                  d       dJ|j                  d8       d9|j                  dɫ       dJ|j                  d:       dJ|j                  d;       d<|j                  d=       d>|j                  d?       d@dBj                  |j                  dA      xs g       xs dg dBt        |j                  dC      xs g        dD|j                  dE       dF|j                  dG       dJ|j                  dH       dJ|j                  dI       dJ|j                  dK       dJ|j                  dL       dJ|j                  dM       dJ|j                  dN       dJ|j                  dO       dJ|j                  dP       dJ|j                  dQ       dJ|j                  dR       dS|j                  dT       dU|j                  dV       dW|j                  dX       dYdBj                  |j                  dZ      xs g       xs dg d[t        |j                  d\      xs g        d]|j                  d^       dJ|j                  d_       dJ|j                  d`       dJ|j                  da       db|j                  dc       dJ|j                  dd       de|j                  df       dg|j                  dh       di|j                  dj       dJ|j                  dk       dJ|j                  dl       dm|j                  dn       dJ|j                  do       dJ|j                  dp       dJ|j                  dq       dJ|j                  dr       ds|j                  dt       dJ|j                  du       dv|j                  dw       dJ|j                  dx       dJ|j                  dy       dz|j                  d{       dJ|j                  d|       dJ|j                  d}       dJ|j                  d~       d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       ddJj                  d |j                  d      xs g D               ddJj                  d |j                  d      xs g D               d|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       ddBj                  |j                  d      xs g       xs dg d|j                  d       d|j                  d       ddBj                  |j                  d      xs g        d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  dë       dđ|j                  dū       dJ|j                  dƫ       dJ|j                  dǫ       dJ|j                  dȫ       dɑ|j                  dʫ       dˑ|j                  d̫       d͑|j                  dΫ       dϑ|j                  dЫ       dё|j                  dҫ       dӑ|j                  dԫ       dՑ|j                  d֫       dJ|j                  d׫       dJ|j                  dث       dّdBj                  |j                  dګ      xs g       xs dg dۑ|j                  dܫ       dݑ|j                  dޫ       dJ|j                  d߫       d|j                  d       ddBj                  |j                  d      xs g       xs dg d|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d        d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d!|j                  d       dJ|j                  d       dJ|j                  d       d%|j                  d       d'|j                  d	       d
|j                  d       d|j                  d       dx|j                  d       dJ|j                  d       dx|j                  d       d|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d |j                  d!       dJ|j                  d"       d#dBj                  |j                  d$      xs g       xs dg d%dBj                  |j                  d&      xs g       xs dg d'dBj                  |j                  d(      xs g       xs dg dJdBj                  |j                  d)      xs g       xs dg d*|j                  d+       d,|j                  d-       dJ|j                  d.       dJ|j                  d/       d0|j                  d1       dJ|j                  d2       dJ|j                  d3       d4|j                  d5       d6|j                  d7       dJ|j                  d8       dJ|j                  d9       dJ|j                  d:       d;|j                  d<       d=|j                  d>       d?|j                  d@       dAdBj                  |j                  dB      xs g       xs dg dCt        |j                  dD      xs g        dEdBj                  |j                  dF      xs g       xs dg dGt        |j                  dH      xs g        dI|j                  dJ       dJ|j                  dK       dJ|j                  dL       dM|j                  dN       dJ|j                  dO       dJ|j                  dP       dQ|j                  dR       dJ|j                  dS       dJ|j                  dT       dU|j                  dU       dV|j                  dW       dX|j                  dY       dZ|j                  d[       dJ|j                  d\       dJ|j                  d]       d^|j                  d_       d`|j                  da       dJ|j                  db       dJ|j                  dc       dd|j                  de       dfdBj                  |j                  dg      xs g       xs dg dht        |j                  di      xs g        dj|j                  dk       dJ|j                  dl       dJ|j                  dm       dJ|j                  dn       dJ|j                  do       dJ|j                  dp       dqdBj                  dr |j                  ds      xs g D              xs dg dt|j                  du       dJ|j                  dv       dw|j                  dx       dJ|j                  dy       dJ|j                  dz       dJ|j                  d{       dJ|j                  d|       dJ|j                  d}       dJ|j                  d~       d|j                  d       dJ|j                  d       d|j                  d       dJdBj                  |j                  d      xs g       xs dg d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJt        |j                  d      xs g        d|j                  d       dJ|j                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       dJ|j                  d       d|j                  dë       dJ|j                  dī       dJ|j                  dū       dJ|j                  dƫ       dJ|j                  dǫ       dJ|j                  dȫ       dJ|j                  dɫ       dJ|j                  dʫ       dJ|j                  d˫       dJ|j                  d̫       dJ|j                  dͫ       dJ|j                  dΫ       dϑ|j                  dЫ       dJ|j                  dѫ       dJdBj                  |j                  dҫ      xs g       xs dg dJ|j                  dӫ       dJ|j                  dԫ       dՑ|j                  d֫       dJ|j                  d׫       dJdBj                  |j                  dث      xs g       xs dg dJ|j                  d٫       dJ|j                  dګ       dۑ|j                  dܫ       dJ|j                  dݫ       dJdBj                  |j                  dޫ      xs g       xs dg dJ|j                  d߫       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJt        |j                  d      xs g        dJ|j                  d       dJ|j                  d       dJt        |j                  d      xs g        dJ|j                  d       dJ|j                  d       dJt        |j                  d      xs g        dJt        |j                  d      xs g        dJ|j                  d       dJt        |j                  d      xs g        d|j                  d        dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d	       dJ|j                  d
       dJ|j                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        d|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       d|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d       dJ|j                  d        d!|j                  d"       d#dBj                  |j                  d$      xs g       xs dg d%t        |j                  d&      xs g        d'|j                  d(       dJ|j                  d)       dJ|j                  d*       dJ|j                  d+       dJ|j                  d,       d-|j                  d.       dJ|j                  d/       dJ|j                  d0       dJ|j                  d1       dJ|j                  d2       dJ|j                  d3       d4|j                  d5       dJ|j                  d6       dJ|j                  d7       dJ|j                  d8       dJ|j                  d9       d:|j                  d;       d<|j                  d=       d>|j                  d?       d@dBj                  |j                  dA      xs g       xs dg dBt        |j                  dC      xs g        dD|j                  dE       dF|j                  dG       dH|j                  dI       dJ|j                  dK       dL|j                  dM       dNdBj                  |j                  dO      xs g       xs dg 
dӑ|j                  dP       dQdBj                  |j                  dR      xs g       xs dg 
dב|j                  dS       
dّ|j                  dT       dU|j                  dV       dW|j                  dX       dY|j                  dZ       d[dBj                  |j                  d\      xs g       xs dg 
d|j                  d]       d^dBj                  |j                  d_      xs g       xs dg 
d|j                  d`       
d|j                  da       db|j                  dc       dd|j                  de       dfdBj                  |j                  dg      xs g       xs dg 
d|j                  dh       didBj                  |j                  dj      xs g       xs dg 
d|j                  dk       
d|j                  dl       dm|j                  dn       do|j                  dp       dJ|j                  dq       dJ|j                  dr       ds|j                  dt       du|j                  dv       dJ|j                  dw       dx|j                  dy       dz|j                  d{       dJ|j                  d|       dJ|j                  d}       d~|j                  d       d|j                  d       d|j                  d        d|j                  d       d|j                  d       d|j                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        d|j                  d       d|j                  d       d4      nd|r,dt3        t5        |j                  d#      xs g              d4nd"#$& 	!"$'(+/0567<=@CDE&FINQRSTVX[\]abcdefmvw{|}~ĢȢТѢҢԢբ֢עڢۢޢߢd|j                  d|       ddBj                  |j                  d      xs g       xs dg dt        |j                  d      xs g        dd|j                  de       d4	ɢ͢t        ǫ       ddd|j                  d      du r|j                  d      xs dndg      t1        dddg dddddddd|r!dqj                  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 d d d d d d|j                  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ӫ       dԑ|j                  dի       d֑|j                  d׫       dؑ|j                  d٫       dڑ|j                  d۫       dܑj                  d       dJ|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|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       d4      nd|rdqj                  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*       d+|j                  d,       d-|j                  d.       d/|j                  d0       d1|j                  d2       d3|j                  d4       d5|j                  d6       d7|j                  d8       d9|j                  d:       d;|j                  d<       d=|j                  d>       d?|j                  d@       dAdBj                  |j                  dB      xs g        dCj                  dD       dE|j                  dF       dGj                  d       dH|j                  dI       dJ|j                  dK       dL|j                  dM       dNdBj                  |j                  dO      xs g        dPj                  dQ       dR|j                  dS       dT|j                  dU       dV|j                  dW       dX|j                  dY       dZ|j                  d[       d\|j                  d]       d^|j                  d_       d`|j                  da       db|j                  dc       dd|j                  de       df|j                  dg       dh|j                  di       dj|j                  dk       dl|j                  dm       dn|j                  do       dp|j                  dq       dr|j                  ds       dt|j                  du       dv|j                  dw       dx|j                  dy       dz|j                  d{       d||j                  d}       d~j                  d       d|j                  d       dj                  d       d|j                  d       d|j                  d       ddBj                  |j                  d      xs g        dj                  d       d|j                  d       d|j                  d       d|j                  d       ddBj                  |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       dE|j                  dF       d|j                  d       d|j                  d       d|j                  d       dj                  d       d|j                  d       ddBj                  |j                  d      xs g        ddBj                  |j                  d      xs g        dj                  d       d|j                  d       d|j                  d       d|j                  d       d4      n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ΑdϑdБdёdґdӑdԑdՑd֑d| d؝d| dڝdۑdܑdݑdޑdߑddddr,dj                  d       d|j                  d       dndÐrdqj                  g dj                  d|       d|j                  d       ddBj                  |j                  d      xs g       xs dg dt        j                  d      xs g        dj                  de       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dBj                  |j                  d      xs g       xs dg dj                  d       d|j                  d       ddBj                  |j                  d      xs g       xs dg 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       d4      n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d2d3d4d5d6d7d8d9d:d;g d<      t1        d=d>dߐd?d@r@dAj                  d>       dA|j                  dB       dC|j                  dD       dBndCgg dD      g}'t7        dE |'D              }(|j                  dF      xs g })|j                  dG      xs g }*|j                  d#      xs |j                  d      xs g }+'D cg c]  }|ːdH   |d   |d   dI },}ː'D cg c]*  }|d   dk7  rːdH   |d   |d   t9        |ːdJ         dK, }-}ː)D cg c];  }|j                  dH      |j                  dL      |j                  d      dMdN= c}xsH *D cg c];  }|j                  dH      |j                  dL      |j                  d      dMdN= c}ː}.t9        t:        j=                  g dO            }/t?        dPdߐdQdRgdSdT( dUt        ƫ       d4gdVg      t?        dWdސdXdYgdZgg       t?        d[dg d\d]d^gd_g      t?        d`dg dadbgg       t?        dcdg dddeҐdfgg       t?        dgdg dhg didjg      t?        dkdg dldmj                  d      dk(  rdnndogdpg      t?        dqdg drdsgg       t?        dtdg dudvgdwg      t?        dxdg dydzt        ƫ       d{dj                  |ƫ       d4d|t        ǫ       d4d}d~dBj                  |j                  d      xs g       xs dg d|j                  d       d4|rgd|j                  d*       d9|j                  d       dJ|j                  d:       d;ě dJ|j                  d:       d>|j                  d       d4ndgdg      t?        ddg dg ddg      g}0i ddd(d|dt        ƫ      d|Ɠd dt        ȫ      dt        ɫ      dt        ʫ      dt        ̫      dt        ͫ      d|ʓd|̓d|͓d,d-d./tA        |      )*+'|0dS # t        t        j                  f$ r d}Y ̌w xY w# t        t        j                  f$ r d}Y ̌w xY wc c}w c c}w c c}w c c}1w c c}w c c}w c c}w c c}w c c}w c c}w c c}w c c}w (  Nr1   r   zbattle_backgrounds.jsonr   r   zbattle_event_candidates.jsonr   r-   r.   r/   smokeChecksrL   passedoriginalSystemCheckseventVmTextEvidenceeventVmSemanticsGapEvidencecheckssaveSelectorScriptHandlerTableeventObjectHandlerTableeventTextSourceFloweventVmOpcodeSemanticsdialogueStorageIndexsceneEventTextRefsbrowserDialogueReplaySmokeeventVmPromotionGatesavedataCoverageEvidenceoriginalBattleDataEvidencer4  znot-auto-confirmedpatchPreviewMatchesreachableFromStartconfirmedRouteBlockersnextReviewCandidatessaveSelectorCandidateFrontierrW  openblockedhomeassetSplitCnsRectHrefrecentWorkAssetWorkbenchHrefrecentWorkAssetsHrefz[out/home_landing_browser_smoke.* records the detailed review surface links: assetSplitRows=assetSplitRowsassetSplitRowCountz, mapGallery=mapGalleryHrefz
, monster=monsterHrefz, audio=	audioHrefz
, cnsRect=.zLThe detailed review surface browser smoke has not produced a current report.	mapReviewrender"browserMapSourceSummaryImplementedzeout/home_landing_browser_smoke.* records the DOM management table home and review-page WebKit sweep: summaryz; mapReview=r   z source=	sourceCnsz runtimeChunk=runtimeChunkz
 tilesets=r   r   z assembled=assembledVisualz tileIndex=tileIndexModez review=reviewStaterY   r   z$ browserMapSourceSummaryImplemented=zTThe home landing browser smoke has not produced a current map-review summary report.runtimeguiderouteWaypointtilewaypointPromptpromptwaypointEnterRuntimerouteWaypointActionrouteActionsoundwaypointMobileActionRuntimewaypointRuntimerouteControlSoundwaypointGuiderouteWaypointGuidewaypointNudgePromptactionPromptwaypointClickNudgeRuntimerouteWaypointNudgefootfieldMovementSoundwaypointNudgeRuntimewaypointToolbarNudgeRuntimewaypointMobileNudgeRuntimewaypointFollowarrivalwaypointFollowNextRuntimequickObjectivequickObjectiveSoundrouteControlActionwaypointToolbarFollow waypointToolbarFollowNextRuntimewaypointMobileFollowwaypointMobileFollowNextRuntimeokra   z~out/route_guide_browser_summary.json records a compact WebKit route-guide run for out/web_playtest_route.html: routeGoalLinks=routeGoalLinksz, savedatScanLinks=savedatScanLinksz
, runtime=mapNamez->	routeGoal trialTransitionsz, waypoint=r  r  r   yz
 rendered=renderedz' browserRouteAssistWaypointImplemented=%browserRouteAssistWaypointImplementedz# originalRoutePromotionImplemented=!originalRoutePromotionImplementedz, waypointPrompt=textz promptImplemented=1browserRouteAssistWaypointActionPromptImplementedz, waypointEnter=rD   r   z	 handled=handledz input=inputSourcez	 runtime=z sound=soundKeysoundPlayedz, waypointMobileAction=z, waypointAction=z, waypointRuntime=z routeAutoSave=routeAutoSavez, routeControl=r   
nextTargetz, waypointGuide=z direction=directionLabelz
 distance=distanceTextz	 blocker=stepBlockerTextz blockReasons=stepBlockReasonsz missingEvidence= routeBlockerMissingEvidenceCountz externalProofInputs=#routeBlockerExternalProofInputCountz	 handoff=&routeBlockerExternalProofHandoffStatusz goalChecklist=routeBlockerGoalChecklistUrlz strictHotspotChecklist='routeBlockerStrictHotspotCandidateCount/routeBlockerStrictHotspotRejectedCandidateCount0routeBlockerStrictHotspotRejectionClassificationz lineRendered=lineRenderedu    hud=길 다음 z, browserRouteAssistWaypointGuideImplemented=*browserRouteAssistWaypointGuideImplementedz, waypointNudgePrompt=0browserRouteAssistWaypointNudgePromptImplementedz, waypointClickNudge=z queued=movementQueuedz to=z, browserRouteAssistWaypointNudgeImplemented=*browserRouteAssistWaypointNudgeImplementedz, waypointNudge=z from=
playerTilez, waypointToolbarNudge=z, waypointMobileNudge=z , waypointFollow=keyboard steps=	stepCountz	 arrived=arrivedz guide=z%, waypointFollowNext=keyboard action=z routeGoal=z	 control=z6, waypointToolbarFollow=objective-action-button steps=z;, waypointToolbarFollowNext=objective-action-button action=z6, waypointMobileFollow=virtual-objective-button steps=z;, waypointMobileFollowNext=virtual-objective-button action=zEThe route guide browser summary has not produced a current ok report.z}out/runtime_music_cue_browser_smoke.* records WebKit runtime MIDDATA.MLK cue markers plus browser MIDI synth playback: title=rK   z; map=z	; battle=battlez; title/map/battle fetch the extracted .mid files and schedule WebAudio oscillator notes, while still avoiding claims about native DirectMusic playback or original music selection logic.z:No runtime music cue browser smoke has been generated yet.z[out/title_menu_sound_browser_smoke.* records WebKit title menu WLK sound markers: keyboard=titleMenuSoundz
; pointer=titleMenuPointerSoundz	; mobile=titleMenuMobileSoundz; ArrowDown/ArrowUp produce menuMove, while keyboard Enter, canvas pointer, and mobile A on the default playStart row produce menuConfirm before map start.z9No title menu sound browser smoke has been generated yet.returnTitlesubmenuCancelbefore	afterBack
afterClosemobileBeforeafterMobileBackafterMobileClosecancelBeforeafterCancelBackafterCancelClosecontinueTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywu   이어하기Nr  rd   r#   labels     r   r%   z build_summary.<locals>.<genexpr>  s)     ~X[\aXbXmXmn|X}U~   22titleMenuLabelscontinueprototypeProgressr   	quickSavec              3  h   K   | ]*  }t        |t              r|j                  d       dk(  r| , yw)rD   %title-start-smoke-quick-save-feedbackN
isinstancerb  r!   r#   entrys     r   r%   z build_summary.<locals>.<genexpr>  s4      	
%&		(#'NN 	
   02runtimeSaveFeedbackLogc              3     K   | ]?  }t        |t              xr) |j                  d       dk(  xr |j                  d      du  A yw)rD   r  %browserRuntimeSaveFeedbackImplementedTNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sW      -  	5$ 	GIIh#JJ	GII=>$F	G-   AAruntimeSaveFeedbackRenderc              3  h   K   | ]*  }t        |t              r|j                  d       dk(  r| , yw)rD   title-continue-feedbackNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  s4      	
%&		(#'@@ 	
r  c              3     K   | ]?  }t        |t              xr) |j                  d       dk(  xr |j                  d      du  A yw)rD   r	  r  TNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sW      +  	5$ 	GIIh#<<	GII=>$F	G+r  itemUsec              3     K   | ]R  }t        |t              r@|j                  d       dk(  r,|j                  d      dk(  r|j                  d      dk(  r| T yw)rD   inventory-item-useitemKeyherbr     약초 HP +12Nr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sV      	
%&		(#';;		)$.		&!_4 	
   AAitemFeedbackLogc              3     K   | ]k  }t        |t              xrU |j                  d       dk(  xr? |j                  d      dk(  xr) |j                  d      dk(  xr |j                  d      du  m yw)	rD   r  r  r  r  r  'browserInventoryItemFeedbackImplementedTNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  s      +  	5$ 	IIIh#77	IIIi F*	I IIf0	I II?@DH		I+   A1A3itemFeedbackRendernoTargetFailurec              3     K   | ]R  }t        |t              r@|j                  d       dk(  r,|j                  d      dk(  r|j                  d      dk(  r| T yw)rD   inventory-item-failed-feedbackr  r  r     약초 대상 없음Nr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sW      	
%&		(#'GG		)$.		&!%;; 	
r  c              3     K   | ]k  }t        |t              xrU |j                  d       dk(  xr? |j                  d      dk(  xr) |j                  d      dk(  xr |j                  d      du  m yw)	rD   r  r  r  r  r  r  TNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  s      3  	5$ 	IIIh#CC	IIIi F*	I IIf!77	I II?@DH		I3r  noStatusFailurec              3     K   | ]R  }t        |t              r@|j                  d       dk(  r,|j                  d      dk(  r|j                  d      dk(  r| T yw)rD   r  r  item_2r     해독초 회복 대상 없음Nr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sW      	
%&		(#'GG		)$0		&!%EE 	
r  c              3     K   | ]k  }t        |t              xrU |j                  d       dk(  xr? |j                  d      dk(  xr) |j                  d      dk(  xr |j                  d      du  m yw)	rD   r  r  r  r  r  r  TNr  r   s     r   r%   z build_summary.<locals>.<genexpr>#  s      :  	5$ 	IIIh#CC	IIIi H,	I IIf!AA	I II?@DH		I:r  objectiveBeforeobjectiveActionobjectiveCompletionNotice
completionobjectiveItemFeedbackLastobjectiveItemFeedbackLastRenderitemUseTitleObjectivetitleSavedatRequestrequesttitleSavedatScantitleSampleSavedattitlePublicSavedatloadedSaveSummaryrouteEvidencetitleSampleSavedatQuickSavecontinueSampleSavedatcontinueSampleSavedatTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>D  s7       	Ngjkpgqg|g|  ~L  hMU  	Nr  	queryPlayfieldEncountertitleRouteGoal	playStartcontinuePlayStartcontinuePlayStartTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>U  7       	Jcfglcmcxcx  zH  dIU  	Jr  playStartRouteNextrouteAssistAutoSaveplayStartRouteFocusplayStartRouteTargetrouteProgressFeedbackcontinuePlayStartRouteTarget!continuePlayStartRouteTargetTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>j  s7       	Qjmnsjtjj  AO  kPU  	Qr  playStartTargetEncountermovementprogress continuePlayStartTargetEncounter%continuePlayStartTargetEncounterTitlec              3  f   K   | ])  }t        |      j                  d       rt        |       + ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>w  .      	
5z$$^4 J	
r   playStartConfirmedInputaftermapTransitionAutoSavec              3     K   | ]>  }t        |t              r,|j                  d       dk(  r|j                  d      dk(  r| @ yw)rD   map-transition-feedbackr  u   맵 이동 map1_02b -> map1_01aNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sF      	
%&		(#'@@		&!%FF	 	
s   AAmapTransitionFeedbackLogc              3     K   | ]=  }t        |t              r+|j                  d       du xr |j                  d      dk(   ? yw)'browserMapTransitionFeedbackImplementedTrD   rN  Nr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sO      = eT" 			;<D 	=IIh#<<	==   AAmapTransitionFeedbackRenderplayStartCandidateInputrouteCandidateAutoSavez:trial-only: no map1_01a->map2_02d transition-review row +4u&   후보 이동 map1_01a -> map2_02d · c              3     K   | ]>  }t        |t              r,|j                  d       dk(  r|j                  d      k(  r| @ yw)rD   route-candidate-feedbackr  Nr  )r#   r  %title_trial_candidate_transition_texts     r   r%   z build_summary.<locals>.<genexpr>  sG      	
%&		(#'AA		&!%JJ	 	
s   AAc              3     K   | ]=  }t        |t              r+|j                  d       du xr |j                  d      dk(   ? yw)rQ  TrD   rW  Nr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sO      = eT" 			;<D 	>IIh#==	>=rR  continuePlayStartInputcontinuePlayStartInputTitlec              3  f   K   | ])  }t        |      j                  d       rt        |       + ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>  rI  r   encounterStartfieldEncounterModemodeFeedbackfieldEncounterModeAutoSavec              3     K   | ]=  }t        |t              r+|j                  d       du xr |j                  d      dk(   ? yw)(browserFieldEncounterFeedbackImplementedTrD   zfield-encounter-enable-feedbackNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sQ      1 eT" 			<=E 	EIIh#DD	E1rR  encounterFeedbackRenderencounterQuickSaveencounterStepAutoSavestepfeedbackc              3  b   K   | ]'  }t        |t              r|j                  d       du  ) yw)rb  TNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  s1      ,eT" 			<=E,s   -/continueEncountercontinueEncounterTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>  s7       	Ibefkblbwbw  yG  cHU  	Ir  encounterDisableautoSavemodec              3     K   | ]=  }t        |t              r+|j                  d       du xr |j                  d      dk(   ? yw)rb  TrD   z field-encounter-disable-feedbackNr  r   s     r   r%   z build_summary.<locals>.<genexpr>  sQ      4 eT" 			<=E 	FIIh#EE	F4rR  continueDisabledEncountercontinueDisabledEncounterTitlec              3  f   K   | ])  }t        |      j                  d       rt        |       + ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>  rI  r   routeAssistrouteAssistMenurouteGoalTitlecontinueRouteGoalcontinueRouteGoalTitlec              3  h   K   | ]*  }t        |      j                  d       st        |       , ywr  r  r  s     r   r%   z build_summary.<locals>.<genexpr>  r:  r  z]out/title_start_browser_summary.* records a compact WebKit title-screen start: titleChecksum=titleChecksumz, mapChecksum=mapChecksumz
, started=@z, submenuCancel=menuModemenuOpenz, mobileMenuCancel=z, mobileBCancel=z, returnTitle=scenez menu=titleMenuKeysz	 visible=visibleLabelsz pointerHit=pointerHitIndexz, titleSavedatRequest=z parser=originalSavedataParserAvailablez, titleSavedatScan=found
foundCountz/loadedloadedz search=searchz, titlePublicSavedat=r   z
 selector=selectorz sampleSavedatRouteMissing=missingEvidenceCountz! sampleSavedatRouteExternalInput=externalProofInputIdz sampleSavedatMarkerMissing=z, savedTitlePublicSavedat=z quickRouteMissing=z, continueTitlePublicSavedat=z continueRouteMissing=z label=z, queryPlay=selectedRouteGoalz fieldEncounter=enabledz autoSaved=	autoSavedautoSavedMapz, playStart=z autoRoute=autoSavedRouteGoalz, continuePlayStart=z, playStartNext=savedz, playStartFocus=z, playStartTarget=z routeTargetBlockReasons=blockReasonCountz routeTargetTrialOnly=routeBlockerShortTextz routeTargetFeedback=z, continuePlayStartTarget=z, playStartTargetEncounter=z targetEncounterInput=movementInput
beforeFoot	afterFootz fieldEncounterVictoryCount=zfield-encounter-victoryz" continuePlayStartTargetEncounter=z, playStartConfirmedInput=	inputCodez autoSource=z transitionFeedback=z confirmedTransitionSound=transitionSoundtransitionSoundSrctransitionSoundPlayedz transitionFeedbackRender=z, playStartCandidateInput=z candidateTransitionSound=z, continuePlayStartInput=z, continue=z, itemUseObjective=
nextActionz! itemFeedback=inventory-item-use:r  z itemFeedbackRender=z itemFeedbackSound=inventoryItemSoundz itemFeedbackSoundSrc=inventoryItemSoundSrcz itemFeedbackSoundPlayed=inventoryItemSoundPlayedz itemNoticeFeedback=z itemNoticeFeedbackRender=activez itemNoticeSound=z1 itemFailFeedback=inventory-item-failed-feedback:z itemFailFeedbackRender=z3 statusFailFeedback=inventory-item-failed-feedback:z statusFailFeedbackRender=z itemSoundItemCount=
soundStaterm  z action=z active=activeIdz notice=blockIdz completion=itemNamehpBeforehpAfterz, itemUseContinue=hpatahoHp
atahoHpMaxz/herb	herbCountz	/progresszitem-use-prototypez quickSaveFeedback=z quickSaveFeedbackRender=z quickSaveFeedbackSound=runtimeSaveSoundruntimeSaveSoundSrcruntimeSaveSoundPlayedz quickLoadFeedback=z quickLoadFeedbackRender=z quickLoadFeedbackSound=z objective=countBefore
countAfterz, encounterStart=z modeAutoSource=z modeFeedback=z modeAutoFeedback=z modeFeedbackRender=z stepAutoSource=z stepInput=z encounterFeedback=z encounterFeedbackRender=z encounterFeedbackSound=fieldEncounterSoundfieldEncounterSoundSrcfieldEncounterSoundPlayedz savedFieldEncounter=z, continueEncounter=z, disableAutoSource=z disableFeedback=z disableAutoFeedback=z disableFeedbackRender=z continueDisabledEncounter=z, routeAssistMenu=z, titleRouteGoal=rE   z, continueRouteGoal=z, routeAssist=z goal=zEThe title start browser summary has not produced a current ok report.probesr   zqemu gdbstub connect controlz(qemu gdbstub hardware watchpoint startupz(qemu gdbstub software breakpoint startupz2qemu gdbstub relocated software breakpoint startupz)qemu gdbstub relocated watchpoint startupz,qemu gdbstub virtual desktop connect controlzBqemu gdbstub virtual desktop relocated software breakpoint startupz9qemu gdbstub virtual desktop relocated watchpoint startuprelocationContextzkout/runtime_trace_execution_probe.* records the bounded runtime trace capture attempts; canCaptureTraceNow=canCaptureTraceNowz, qemuI386BinfmtRegistered=qemuI386Binfmt
registeredz, winePrefix=
winePrefixz, gdbMultiarch=gdbMultiarchPathz, relocatedTraceBase=loadedBaseHexz, relocatedDelta=deltaHexz, probeCount=z, blockerCount=blockersz, qemuGdbstubConnectStatus=z, hardwareWatchpointCrashed=crashedz, softwareBreakpointCrashed=z%, relocatedSoftwareBreakpointCrashed=z, relocatedWatchpointCrashed=z%, virtualDesktopGdbstubConnectStatus=z&, virtualDesktopGdbstubConnectCrashed=z,, virtualDesktopRelocatedSoftwareBreakpoint=timedOutz$, virtualDesktopRelocatedWatchpoint=memorySnapshotmemoryzbout/runtime_memory_snapshot.* samples a live Wine Hwanse2.exe process without WineDbg: loadedBase=z, canReadProcessMemory=canReadProcessMemoryz, selectedPointerStatic=selectedPointerStaticValueHexz#, selectedPointerEqualsCurrentRoot= selectedPointerEqualsCurrentRootz", currentRootRelocationLooksValid=currentRootRelocationLooksValidz*; this is not route-path watchpoint proof.zgout/transition_review_shortlist_audit.* keeps the next active-nearest review queue non-promoting: rows=rowCountz
, sources=sourceCountz
, targets=targetCountz, recordGroups=recordGroupCountz, strictRows=strictEventLinkedRowsz, zeroRenderRows=zeroRenderMismatchRowsz, activeZeroRows=activeDistanceZeroRowsz#, duplicateSourceTargetPointGroups=$duplicateSourceTargetPointGroupCountz, patchPreviewFileMatches=patchPreviewCheckCountz$, normalRoutePatchPreviewPromotions=z, reviewMode=
reviewModez, promotionStatus=z, normalRouteImpact=normalRouteImpact
inputProbezMout/runtime_input_path_probe.* probes original EXE input driving: loadedBase=z, baselineSelectedPointer= baselineSelectedPointerStaticHexz, baselineSelector=baselineSelectedPointerContextz, initialSelectedPointer=initialSampleselectedPointerStaticHexz, finalSelectedPointer=finalSamplez, finalSelector=finalSelectedPointerContextz, heldKeyPressedDetected=heldKeyPressedDetectedz , heldKeyChangedSelectedPointer=heldKeyChangedSelectedPointerz, xEventChangedSelectedPointer=xEventChangedSelectedPointerz&, keyBufferPokeChangedSelectedPointer=#keyBufferPokeChangedSelectedPointerz9; this is diagnostic-only and does not promote the route.keySequenceProbezgout/runtime_key_sequence_probe.* tries bounded original-EXE direct key-buffer sequences: sequenceCount=sequenceCountz, startupWait=startupWaitSecondsz, anyReachedCurrentRoot=anyReachedCurrentRootz, anyReachedRouteSelector2_0=anyReachedRouteSelectorContextkeySequencePreludeProbe	sequencesuniqueSelectorContextszout/runtime_key_sequence_prelude_probe.* retries selected direct key-buffer sequences after the input-path prelude: sequenceCount=z
, prelude=preludez, observedSelectors=rh   zQ; this explains the non-route 50:0 movement but still does not promote the route.selectedPointerPollzout/runtime_selected_pointer_poll.* polls selected-pointer global 0x0059de30 during original-EXE direct key-buffer input: sequenceCount=z, sampleCount=sampleCountz, pollInterval=pollIntervalSecondsobservedSelectorszG; this is a non-debugger fallback and still does not promote the route.selectedPointerPreludePollzout/runtime_selected_pointer_prelude_poll.* repeats selected-pointer global 0x0059de30 polling after the input-path prelude: sequenceCount=z^; this confirms the prelude path remains diagnostic-only and still does not promote the route.selectedPointerLongPollzout/runtime_selected_pointer_long_poll.* extends selected-pointer global 0x0059de30 polling to longer custom key-buffer sequences: sequenceCount=z`; this keeps the longer title/menu probing diagnostic-only and still does not promote the route.selectedPointerLatePollzout/runtime_selected_pointer_late_poll.* repeats selected-pointer global 0x0059de30 polling after a longer title/start wait: sequenceCount=zo; this reduces the early-input timing concern but remains diagnostic-only and still does not promote the route.routeWatchValuesPollzout/runtime_route_watch_values_poll.* samples selected-pointer and opcode24 route watch values during original-EXE key-buffer input: sequenceCount=z, watchValues=z; opcode24 mode1 source and current object index stayed zero in this poll, so this is diagnostic-only and still does not promote the route.selectedPointerSavedataLoadPoll'selectedPointerSavedataLoadInputQualityzout/runtime_selected_pointer_savedata_load_poll.* places a public captured save under SaveData/savedat1.dat and polls selected-pointer during load-menu candidate input: sequenceCount=z, inputObserved=inputObservedInAllSequencesz, pressedSeq=!sequenceWithObservedKeyPressCountz, pressedEvents=pressedEventCountzd; the save file placement alone did not prove original load-menu reachability or route selector 2:0.(selectedPointerMultislotSavedataLoadPoll0selectedPointerMultislotSavedataLoadInputQualityzout/runtime_selected_pointer_multislot_savedata_load_poll.* stages public captured saves under SaveData/savedat1.dat..savedat3.dat and polls selected-pointer during load-menu candidate input: sequenceCount=z, publicSelectors=publicSaveSelectorsz, observedPublicSelectors=observedPublicSaveSelectorsz, anyReachedPublicSaveSelector=anyReachedPublicSaveSelectorzp; even staged public saves in several slots did not prove original load-menu reachability or route selector 2:0.1selectedPointerMultislotSavedataLoadCaseAliasPoll9selectedPointerMultislotSavedataLoadCaseAliasInputQualitya  out/runtime_selected_pointer_multislot_savedata_load_case_alias_poll.* stages public captured saves under SaveData/savedat1.dat..savedat3.dat with temporary original archive case aliases and polls selected-pointer during load-menu candidate input: sequenceCount=z, caseAliasesEnabled=caseAliasesz, caseAliasesRemoved=caseAliasCleanupremovedAliasesz`; temporary resource case aliases did not make the staged saves or route selector 2:0 reachable.:selectedPointerMultislotSavedataLoadInputPathCaseAliasPollBselectedPointerMultislotSavedataLoadInputPathCaseAliasInputQualitya&  out/runtime_selected_pointer_multislot_savedata_load_input_path_case_alias_poll.* stages public captured saves under SaveData/savedat1.dat..savedat3.dat with temporary archive case aliases, runs the input-path prelude, and polls selected-pointer during load-menu candidate input: sequenceCount=zw; this proves a staged public save selector can be reached through the current prelude, but not the route selector 2:0.8selectedPointerSyntheticSelector20InputPathCaseAliasPoll@selectedPointerSyntheticSelector20InputPathCaseAliasInputQualitya6  out/runtime_selected_pointer_synthetic_selector_2_0_input_path_case_alias_poll.* stages a standalone synthetic selector 2:0 save-shaped file under SaveData/savedat1.dat with temporary archive case aliases, runs the input-path prelude, and polls selected-pointer during load-menu candidate input: sequenceCount=z, stagedSelectors=z, observedStagedSelectors=z, anyReachedStagedSelector=zp; standalone synthetic selector 2:0 remains non-promoting and contrasts with the patched public-base diagnostic.<selectedPointerPatchedPublicSelector20InputPathCaseAliasPollDselectedPointerPatchedPublicSelector20InputPathCaseAliasInputQualitya1  out/runtime_selected_pointer_patched_public_selector_2_0_input_path_case_alias_poll.* stages a patched public-base selector 2:0 diagnostic under SaveData/savedat1.dat with temporary archive case aliases, runs the input-path prelude, and polls selected-pointer during load-menu candidate input: stagedKind=stagedSaveKindz, sequenceCount=z; this proves the current load path can select a constructed 2:0 save-shaped diagnostic, but it is not a captured gameplay save or strict route trigger.c              3  X   K   | ]"  }t        |j                  d       xs d       $ ywrouteSelectorHitCountr   Nintr!   r"   s     r   r%   z build_summary.<locals>.<genexpr>	  s,      !
 /05A6!
   (*r   c              3  X   K   | ]"  }t        |j                  d       xs d       $ ywr  r   r"   s     r   r%   z build_summary.<locals>.<genexpr>	  s,      &
 /05A6&
r  c              3  f   K   | ])  }|j                  d        d|j                  d        + yw)r  r   r   Nr    )r#   contexts     r   r%   z build_summary.<locals>.<genexpr>	  s7      ' ;;z*+1W[[-A,BC'r   z:routeHits=r  zout/runtime_patched_selector_left_stability_poll.* reruns the constructed left-exit public-base selector 2:0 save under load-only/load-left/load-right variants: sequenceCount=z, sequenceSelectors=r   z ; selector-only recheck samples=z
 observed=z routeHits=z; active-order recheck samples=z activeOrderCount=activeOrderCountzR; the initial route hit is not reproduced by rechecks and remains diagnostic-only.))saveFileIoProbez out/runtime_save_file_io_probe.*)saveFileIoStraceProbez'out/runtime_save_file_io_strace_probe.*)saveFileIoStraceAttachProbez.out/runtime_save_file_io_strace_attach_probe.*))saveFileIoStraceAttachLoadCandidatesProbez>out/runtime_save_file_io_strace_attach_load_candidates_probe.*)2saveFileIoStraceAttachLoadCandidatesCaseAliasProbezIout/runtime_save_file_io_strace_attach_load_candidates_case_alias_probe.*r  inputTraceUsableTzthis case-alias attached trace had a usable bounded input window and no savedat lines; aliases reduce archive lookup noise but still do not prove the full load-menu path.r
  zthis usable attached trace saw no savedat lines across the covered bounded load-menu candidate windows, but it is still not full load-menu proof.r	  zthis usable attached trace saw no savedat lines in the bounded load-menu candidate window, but it is still not full load-menu proof.zNabsent savedat lines remain backend-feasibility evidence, not load-menu proof.z% places a public captured save under temporarySavez? and traces file I/O during load-menu candidate input: backend=backendz, sequenceWithPid=sequenceWithPidCountz, sequenceWithKeyWrites=sequenceWithKeyWritesCountz, inputTraceUsable=z, matchedFileIoLines=matchedLineCountz, anySavedat1Access=anySavedat1DatAccess#webConfirmedOverlapWithTitleContext,saveSelectorCandidateOverlapWithTitleContextinputTransitionContextc           
   3     K   | ]M  }|j                  d        d|j                  d       d|j                  d       d|j                  d        O yw)r   r   kindwidthr   heightNr    r"   s     r   r%   z build_summary.<locals>.<genexpr>*
  sU      '
 wwvq 137773C2DAcgghFWEXY'
s   AAtoResourcePayloadsnonez}out/runtime_title_start_context.* separates original EXE title/start diagnostics from the current web start: selectedPointer=z, selector=selectedPointerSelectorz, fieldMapCount=fieldMapCountz, titleResourceNearby=hasTitleResourceNearbyz, livePointerClassification=livePointerClassificationz, selector8FieldRecordSpan=selector8FieldRecordSpanHexz, titleResourceTailSpan=titleResourceTailSpanHexz, inputTransition=fromSelector
toSelectorz , inputTransitionClassification=classificationz, inputTransitionFieldMapCount=toFieldMapCountz, inputTransitionCns=toReferencedCnsz, inputTransitionPayloads=z, webConfirmedStart=webConfirmedStartMapz, confirmedOverlap=z, candidateOverlap=z%, keySequenceReachedRouteSelector2_0=&keySequenceReachedRouteSelectorContextz'out/map1_01a_resource_ref_scan.* scans resourceReferenceCountz3 direct map1_01a/map2_02d CNS references and finds r&  z! route-exit point candidates and  strictSourceTargetCandidateCountzA strict source-target candidates; current frontier point classes=(currentFrontierPointCandidateClassCounts%currentFrontierRouteExitPointHitCountallEventShapeScanzout/map1_01a_event_shape_scan.* checks direct source/target scene references against the strict event-record shape: sourceReferences=sourceReferenceCountz, targetReferences=targetReferenceCountz, sourceEventShapeRecords=sourceEventShapeRecordCountz, targetEventShapeRecords=targetEventShapeRecordCountz#, directStrictEventTransitionCount= directStrictEventTransitionCountz!, currentFrontierEventShapeFound=currentFrontierEventShapeFoundz!; allStrictEventShapeRecordCount=allStrictEventShapeRecordCountz+, allStrictEventShapesMatchExtractedEvents=(allStrictEventShapesMatchExtractedEventsz , allStrictEventSourceMap1Count=allStrictEventSourceMap1Countz$, allStrictEventTargetMap2_02dCount=!allStrictEventTargetMap2_02dCountz(, relaxedNonStrictSmallEventRecordCount=%relaxedNonStrictSmallEventRecordCountz), relaxedRowsTouchingSourceOrTargetCount=&relaxedRowsTouchingSourceOrTargetCountresourceRefScantargetContextcurrentFrontierContextz=out/map1_01a_hotspot_gap.* fixes strict hotspot absence; map=z	, target=z, strictHotspotFound=strictHotspotFoundz, coordinateCandidates=coordinateCandidateCountz, eventTransitions=r   z, manifestIncoming=manifestPointIncomingCountz, promotableSourcePoints="manifestPointPromotableSourceCountz, resourceRefs=z, routeExitPointCandidates=z, strictSourceTargetCandidates=z, targetContexts=contextCountz, targetStrictContexts=strictEventContextCountz, targetSelectorOnlyContexts=selectorOnlyContextCountz, currentFrontierCluster=clusterStartHexz..clusterEndHexrouteStatuszeout/strict_event_source_coverage.* summarizes global strict event source-map coverage: fieldMapCount=z, strictEventRecordCount=strictEventRecordCountz, strictEventSourceMapCount=strictEventSourceMapCountz#, strictEventSourceCoveragePercent= strictEventSourceCoveragePercentz, directStrictPairCount=directStrictPairCountz, sourceStrictEventCount=sourceStrictEventCountz, targetStrictIncomingCount=targetStrictIncomingCountz(, sourceAsEventSourceStrictClusterCount=%sourceAsEventSourceStrictClusterCountz(, sourceAsEventTargetStrictClusterCount=%sourceAsEventTargetStrictClusterCountz!, reachableStrictSourceUncovered=reachableStrictSourceUncoveredconfirmedPatternfrontierPatternz>out/map1_01a_record_pattern_contrast.* compares the confirmed confirmedReferenceRoutez strict event pattern (eventRecordCountz event record, eventPointCountz raw points, transitionReviewConfirmedz- confirmed review tiles) against the current z frontier (z event records, saveSelectorRefCountz selector refs, z7 route-exit point candidates, geometryExitWordHitCount=geometryExitWordHitCountz); confirmedLikePatternFound=confirmedLikePatternFoundcurrentFrontierClusterzoout/map1_01a_strict_target_link_gap.* fixes the strict source/target link gap: directStrictEventTransitionRows=directStrictEventTransitionsz, sourceStrictClusterRows=sourceStrictClustersz, targetStrictClusterRows=targetStrictClustersz , targetSelectorOnlyClusterRows=targetSelectorOnlyClustersz, evidenceRefs=r   z, sourceStrictClusterCount=sourceStrictClusterCountz', sourceIncomingOnlyStrictClusterCount=$sourceIncomingOnlyStrictClusterCountz, targetStrictClusterCount=targetStrictClusterCountz!, targetSelectorOnlyClusterCount=targetSelectorOnlyClusterCountz', targetSelectorOnlySourceOverlapCount=$targetSelectorOnlySourceOverlapCountz6, targetSelectorOnlySourceTargetRoutePairClusterCount=3targetSelectorOnlySourceTargetRoutePairClusterCountz , currentFrontierRoutePairCount=currentFrontierRoutePairCountz., currentFrontierSourceOutgoingRoutePairCount=+currentFrontierSourceOutgoingRoutePairCountz., currentFrontierTargetIncomingRoutePairCount=+currentFrontierTargetIncomingRoutePairCountclusterRangeHexz, strictTargetLinkFound=strictTargetLinkFoundz, proofFound=rg  z, failedStrictTargetLinkGates=failedStrictTargetLinkGateIdsz, missingEvidenceCount=rk  zout/map1_01a_scene_record_cluster_context.* compares every map1_01a scene record against source/target clusters: sourceSceneRecordCount=sourceSceneRecordCountz!, sourceSceneRecordUnlinkedCount=sourceSceneRecordUnlinkedCountz#, sourceStrictIncomingClusterCount= sourceStrictIncomingClusterCountz#, sourceStrictOutgoingClusterCount= sourceStrictOutgoingClusterCountz', sourceTargetSharedStrictClusterCount=$sourceTargetSharedStrictClusterCountz-, sourceTargetSharedSelectorOnlyClusterCount=*sourceTargetSharedSelectorOnlyClusterCountz", currentFrontierEventRecordCount=currentFrontierEventRecordCountz&, currentFrontierSaveSelectorRefCount=#currentFrontierSaveSelectorRefCountzqout/map1_01a_entry_context.* separates the confirmed entry context from the selector frontier: confirmedPrevious=confirmedPreviousz, confirmedEntryRecord=confirmedEntryRecordHexz, frontierRecord=frontierRecordHexz#, frontierProvenFromConfirmedEntry= frontierProvenFromConfirmedEntryconfirmedContextfrontierContextconfirmedToFrontierfrontierToConfirmedzzout/map1_01a_selector_bridge_refs.* scans direct dword bridges between confirmed and frontier contexts: confirmedSelector=z root=	rootVaHexz, frontierSelector=z, confirmedToFrontierHitCount=dwordHitCountz, frontierToConfirmedHitCount=z, bridgeFound=bridgeFoundc              3  @   K   | ]  }|j                  d d        yw)pointLikePointerCountr   Nr    r#   records     r   r%   z build_summary.<locals>.<genexpr>
  s$      
 JJ.2
r   recordsc              3  @   K   | ]  }|j                  d d        yw)promotableSourcePointCountr   Nr    r  s     r   r%   z build_summary.<locals>.<genexpr>
  s$      
 JJ3Q7
r   zjout/map1_01a_manifest_point_scan.* scans map1_01a manifest neighborhoods for strict point tables: records=z, pointLikePointerCount=z, incomingPointTableCount=incomingPointTableCountz, promotableSourcePointCount=z, strictSourceHotspotFound=r   zfout/map1_01a_root_point_scan.* scans the full current selector root for hidden point tables: selector=z, root=z, pointerLikeCount=pointerLikeCountz, reportedCandidateCount=reportedCandidateCountz , frontierClusterCandidateCount=frontierClusterCandidateCountz, exactExitCandidateCount=exactExitCandidateCountz, scriptLikeCandidateCount=scriptLikeCandidateCountpayloadsc              3  f   K   | ])  }|j                  d       xs i j                  dd       + yw)	pointScaninBoundsPointCountr   Nr    r#   payloads     r   r%   z build_summary.<locals>.<genexpr>
  s.     uahK 8 >BCCDXZ[\ur   c              3  @   K   | ]  }|j                  d d        yw)rangeTextRefCountr   Nr    r  s     r   r%   z build_summary.<locals>.<genexpr>   s     T$7;Tr   c              3  D   K   | ]  }|j                  d       sd  yw)promotionEvidencer   Nr    r  s     r   r%   z build_summary.<locals>.<genexpr>  s      _wgkkJ]>^ _     z,out/map1_01a_scene_payload_context.* checks z4 scene-local payload pointers between source record sourceRecordVaHexz and target record targetRecordVaHexz; in-bounds point payloads=z, text refs=z, promotion payloads=z, and promotionStatus=currentFrontierbranchStepsz`out/save_selector_scene_list_context.* classifies the current frontier as selectorOnlySceneList=selectorOnlySceneListz	; branch streamVaHexz	 targets branchTargetKindz with classification=z, nearest source record=nearestSourceRecordAfterBranchrecordVaHexz, nearest target record=nearestTargetRecordAfterBranchz", sceneListResourceGateProofFound=sceneListResourceGateProofFoundz, failedGates=failedSceneListGateIdspassOutcomefailOutcomezzout/save_selector_frontier_reader_branch_context.* classifies the 0x00542b0c reader outcomes; correctedTraceReachesReader=)routePairCorrectedTraceReachesReaderCountroutePairDescriptorCountz, predecessorOutcome=predecessorHypothesisOutcomez, passValue=r   z, passPayloadClass=payloadClassificationz, passPayloadPromotion=payloadPromotionEvidencez, failTarget=targetVaHexz, failTargetResource=targetIsResourcez, siblingFieldMapTargetCount=siblingFieldMapTargetCountfailedFrontierReaderGateIdszout/save_selector_frontier_payload_shape.* classifies the reader pass payload and sibling payloads as paired image source-rectangle tables; rectLikePayloadGateCount=rectLikePayloadGateCount	gateCountz, allPayloadsFitPairedImages=allPayloadsFitPairedImagesz, sourceInBoundsPointCount=sourceInBoundsPointCountz, payloadTextRefCount=payloadTextRefCountfailedFrontierPayloadGateIdszout/save_selector_scene_record_sequence.* segments the current selector 2:0 leaf streams into field-map scene records; rowCount=z, adjacentSceneRecordCount=adjacentSceneRecordCountz, geometryExitWordHitCount=zL, so map1_01a->map2_02d remains scene-list adjacency without strict hotspot.zout/save_selector_scene_adjacency_index.* compares all save-selector field-map scene-record adjacencies against strict event transitions and confirmed reviews; selectorLeafCount=selectorLeafCountz, fieldMapReferenceCount=fieldMapReferenceCountz, adjacentOccurrenceCount=adjacentOccurrenceCountz", uniqueDirectedAdjacentPairCount=uniqueDirectedAdjacentPairCountz, strictEventEdgeCount=strictEventEdgeCountz, confirmedReviewEdgeCount=confirmedReviewEdgeCountz$, adjacentPairsWithStrictEventCount=!adjacentPairsWithStrictEventCountz(, adjacentPairsWithConfirmedReviewCount=%adjacentPairsWithConfirmedReviewCountz, selectorAdjacencyOnlyPairs=*adjacentPairsWithoutStrictOrConfirmedCountz, currentPairOccurrenceCount=currentPairOccurrenceCountz, currentPairStrictEventBacked=currentPairStrictEventBackedz#, currentPairConfirmedReviewBacked= currentPairConfirmedReviewBackedz#, currentPairSelectorAdjacencyOnly=r(  failedSceneAdjacencyGateIdszdout/save_selector_leaf_table_context.* keeps current selector leaf selection unproven; leafRefCount=leafRefCountz(, frontierLeafRefIsDirectRootTableEntry=%frontierLeafRefIsDirectRootTableEntryz, runtimeSelectionProven=runtimeSelectionProvenz, failedLeafTableGates=failedLeafTableGateIdsz, frontierLeaf=frontierLeafHexz, frontierReader=frontierReaderHexz|out/save_selector_leaf_index_space.* indexes the current selector leaf table relative to the root table pointer; entryCount=
entryCountz, negativeIndexCount=negativeIndexCountz, currentRootEntryCount=currentRootEntryCountz', routePairDescriptorCurrentEntryCount=$routePairDescriptorCurrentEntryCountz!, readerBearingCurrentEntryCount=readerBearingCurrentEntryCountz", readerBearingNegativeEntryCount=readerBearingNegativeEntryCountz, opcode2cCorrectionApplied=opcode2cCorrectionAppliedz*, correctedReaderBearingCurrentEntryCount='correctedReaderBearingCurrentEntryCountz,, correctedRoutePairTraceReachesReaderCount=)correctedRoutePairTraceReachesReaderCountz , frontierLeafChildEntryIndices=frontierLeafChildEntryIndicesz-, frontierReaderSelectableByNonNegativeIndex=*frontierReaderSelectableByNonNegativeIndexz5, frontierReaderReachableByCorrectedNonNegativeIndex=2frontierReaderReachableByCorrectedNonNegativeIndexz, failedLeafIndexGates=failedLeafIndexGateIdszsout/save_selector_leaf_table_global_context.* compares leaf-table windows across selector rows; selectorTableCount=selectorTableCountz, fieldEntryRowCount=fieldEntryRowCountz, negativeFieldEntryRowCount=negativeFieldEntryRowCountz , nonNegativeFieldEntryRowCount=nonNegativeFieldEntryRowCountz", currentSelectorRoutePairIndices=currentSelectorRoutePairIndicesz", currentFrontierLeafOnlyNegative=currentFrontierLeafOnlyNegativezout/save_selector_route_pair_descriptor_context.* compares current-root route-pair descriptors with the reader-bearing frontier descriptor; currentRoutePairDescriptorCount=currentRoutePairDescriptorCountz$, currentRoutePairDescriptorIndices=!currentRoutePairDescriptorIndicesz%, currentRoutePairSceneAdjacentCount="currentRoutePairSceneAdjacentCountz-, currentRoutePairRawTraceReachesReaderCount=*currentRoutePairRawTraceReachesReaderCountz3, currentRoutePairCorrectedTraceReachesReaderCount=0currentRoutePairCorrectedTraceReachesReaderCountz*, currentRoutePairTraceReachesReaderCount='currentRoutePairTraceReachesReaderCountz', currentRoutePairGeometryExitHitCount=$currentRoutePairGeometryExitHitCountz, readerBearingNegativeIndices=readerBearingNegativeIndicesz!, failedRoutePairDescriptorGates= failedRoutePairDescriptorGateIdszcout/save_selector_opcode2c_route_pair_context.* corrects the local opcode 0x2c trace stop: handler=opcode2cHandlerhandlerVaHexz, oldNoFixedAdvanceStopCount=oldNoFixedAdvanceStopCountz#, correctedTraceReachesReaderCount= correctedTraceReachesReaderCountz%, oldNoFixedAdvanceIsScannerArtifact="oldNoFixedAdvanceIsScannerArtifactz, failedOpcode2cRoutePairGates=failedOpcode2cRoutePairGateIdsznout/save_selector_opcode07_indexed_pointers.* closes the direct opcode 0x07 frontier-selection path; rowCount=z, validTableRowCount=validTableRowCountz, indexMode=opcode07IndexModez#, selectedLeafTableWindowSlotCount= selectedLeafTableWindowSlotCountz%, selectedNegativeRootEntrySlotCount="selectedNegativeRootEntrySlotCountz , selectedWrapperEntrySlotCount=selectedWrapperEntrySlotCountz, directFrontierTargetCount=directFrontierTargetCountbranchCapableRowszdout/save_selector_object61_stream_operands.* blocks object+0x61 promotion; objectHandlerOpcodeCount=objectHandlerOpcodeCountz, routeOperandRowCount=routeOperandRowCountz, branchCapableRowCount=branchCapableRowCountz, directFrontierOperandCount=directFrontierOperandCountz, branchFrontierOperandCount=branchFrontierOperandCountz, branchNextDword=nextDwordHexz, branchMeaning=valueMeaningzpout/save_selector_context58_consumers.* closes context+0x58 as standalone promotion evidence; context58RefCount=context58RefCountz, currentOpcode24ModeHex=currentOpcode24ModeHexz&, currentOpcode24ModeTouchesContext58=#currentOpcode24ModeTouchesContext58z , opcode20Context58HandlerCount=opcode20Context58HandlerCountz, context58PromotionStatus=context58PromotionStatusleafRowsc              3  D   K   | ]  }|j                  d       sd  yw)traceContainsFrontierReaderr   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s     ac#''B_:`ar  zpout/save_selector_current_root_frontier_paths.* separates current-root leaf adjacency from promotion; leafCount=	leafCountz, readerLeafCount=z, frontierClusterClass=frontierClusterClassz, frontierClusterEventCount=frontierClusterEventCountz", frontierClusterSelectorRefCount=frontierClusterSelectorRefCountz!, failedCurrentRootFrontierGates= failedCurrentRootFrontierGateIdsfalsePositiveSummaryz2out/map1_01a_exit_coordinate_variant_scan.* scans z map1_01a exit candidates, variantScanCountz coordinate encodings, targetSpawnVariantScanCountz: target-spawn encodings, targetSpawnCurrentRoot/Character=targetSpawnCurrentRootHitCount&targetSpawnCharacterDescriptorHitCountz, targetSpawnClasses=*targetSpawnCurrentRootClassificationCountsr  r  2targetSpawnCharacterDescriptorClassificationCountsz, targetSpawnPromotable=targetSpawnPromotableHitCount(targetSpawnInterestingPromotableHitCount*targetSpawnAllInterestingHitsNonPromotable, spanBoundScanCountz span/bounds encodings, and spanSequenceScanCountzv span sequences; all current-root/descriptor hits are classified as VM script words and strictCoordinateEvidenceFound=strictCoordinateEvidenceFoundz#, failedExitCoordinateVariantGates="failedExitCoordinateVariantGateIdszSout/map1_01a_exit_byte_coordinate_scan.* scans byte-sized coordinate encodings for z) map1_01a exit candidates; bytePairScans=bytePairScanCountz, sequenceScans=axisSequenceScanCountz, bytePairHits=bytePairHitCountz, sequenceHits=sequenceHitCountz, strictSourceTargetByteHits=strictSourceTargetByteHitCountz, strictEventOtherByteHits=strictEventOtherByteHitCountz, currentSelectorRootByteHits=currentSelectorRootByteHitCountz, textCodeByteHits=textCodeByteHitCountz, targetSpawnBytePairScans=targetSpawnBytePairScanCountz, targetSpawnByteHits=targetSpawnBytePairHitCountz(, targetSpawnStrictSourceTargetByteHits=)targetSpawnStrictSourceTargetByteHitCountz), targetSpawnCurrentSelectorRootByteHits=*targetSpawnCurrentSelectorRootByteHitCountz/, targetSpawnStrictByteCoordinateEvidenceFound=,targetSpawnStrictByteCoordinateEvidenceFoundz$, strictByteCoordinateEvidenceFound=!strictByteCoordinateEvidenceFoundzVout/map1_01a_exit_cns_payload_scan.* scans the decoded source CNS tilemap payload for z% map1_01a exit candidates; sourceCns=r  r  decodedSizez bytes, bytePairScans=z, wordPairScans=wordPairScanCountz, packedU32Scans=packedU32ScanCountbyteSequenceScanCountwordSequenceScanCountz, wordPairHits=wordPairHitCountz, packedU32Hits=packedU32HitCountbyteSequenceHitCountwordSequenceHitCountz, headerHits=headerHitCountz, layerHits=layerHitCountz, outsideStructuredHits=outsideStructuredHitCountz#, strictCnsCoordinateEvidenceFound= strictCnsCoordinateEvidenceFoundzzout/map1_01a_exit_coordinate_context.* classifies the right-exit packed-coordinate hit as non-promoting script data; side=sidez, tile=z, xyPacked=xyPackedHexz, xyHitCount=
xyHitCountz, xyAlignedHitCount=xyAlignedHitCountz, hit=hitVaHexz, hitSection=
hitSectionz, hitLowOpcode=hitLowOpcodeHexz, ownerSelector=ownerSelectorz, ownerRoot=ownerRootHexz, ownerLinkedCns=ownerLinkedCnsz, ownerFieldMaps=ownerFieldMapsz, hitDataRefCount=hitDataRefCountz, hitHasTextRefs=hitHasTextRefsz, classification=z#, failedExitCoordinateContextGates="failedExitCoordinateContextGateIdsz, promotable=
promotablezgout/save_selector_branch_gate_consistency.* keeps the current gate state inherited; sameTableAndOffset=sameTableAndOffsetz, sameSelectionBufferOffset=sameSelectionBufferOffsetHexz, selectionOpcodeRowsBetween=selectionOpcodeRowsBetweenCountz, postWriterSameOffsetWrites=postWriterSameOffsetWriteCountz, postWriterSameOffsetReads=postWriterSameOffsetReadCountz, postWriterOtherOffsetWrites=postWriterOtherOffsetWriteCount$postWriterOtherOffsetWriteOffsetsHexz, validSecondaryFillsBetween=validSecondaryFillBetweenCountz, invalidSecondaryFillsBetween= invalidSecondaryFillBetweenCountz, invalidSecondaryFillOffsets=invalidSecondaryFillOffsetsHexz%, knownOpcodeStatePreservationStatus="knownOpcodeStatePreservationStatusz, statePreservedByKnownOpcodes=statePreservedByKnownOpcodesz(, branchStateValueStillRuntimeDependent=%branchStateValueStillRuntimeDependentz, controlPathStillUnproven=controlPathStillUnprovenpredecessorFillHypothesisactiveFlagEffectz}out/save_selector_branch_selector_equation.* narrows the secondaryBranchState value side without proving route order; writer=writerVaHexz	, reader=readerVaHexz, selectionOffset=selectionOffsetHexz*, equationNarrowedByPredecessorHypothesis='equationNarrowedByPredecessorHypothesisz, predecessor=predecessorSelectorz, predecessorFill=fillValueHexz, allStartsPassReader=allStartsPassReaderz*, priorSelectionBufferStillPrimaryBlocker=ApriorSelectionBufferStillPrimaryBlockerUnderPredecessorHypothesisc              3  t   K   | ]0  }|j                  d       dk(  s|j                  d      dk(  s-| 2 ywrD   r   rE   r   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  5     pSCGGH,=,KPSPWPWX`PaeoPoSp   888nearestLinearWriterfollowingGatesBeforeReaderzzout/save_selector_writer_chain.* narrows the selectionBuffer[0x20] writer chain without proving control flow; writerCount=writerChainz
, nearest=z, nearestValue=writerValueHexz, nearestTable=tableChoicez, distanceToReader=distanceToReaderBytesfrontierReaderVaHexz, readerValue=frontierReaderValueHexselectionBufferOffsetHexz, followingGate=vaHexz, followingGateOpcode=	opcodeHexz%, controlFlowProofStillRequired=True.zpout/save_selector_dispatch_stop_context.* classifies the naive dispatch stop as descriptor data, not code; stop=dispatchStopVaHexz, value=dispatchStopValueHexz	, opcode=dispatchStopOpcodeHexz, handlerTable=handlerTableVaHexz, entry=handlerTableEntryVaHexhandlerTableEntryValueHexz, entrySection=entryValueSectionz, entryIsCodeHandler=entryValueIsCodeHandlerz, targetPointerRefs=targetPointerRefCountz, targetPointerRefSections=targetPointerRefSectionsz, descriptorContext=dispatchStopIsDescriptorContextr   0xe80xeazpout/save_selector_gate_offset_sources.* classifies current gate offsets as inherited runtime state; gateOffsets=gateOffsetsHexz , anyScriptLocalSelectionWriter=anyScriptLocalSelectionWriterz!, anyGlobalScriptSelectionWriter=anyGlobalScriptSelectionWriterz, controlPathGateStatus=controlPathGateStatusz, controlPathProofStatus=controlPathProofStatusz, 0xe8 rows/writers/current=globalRowCountglobalWriterCountcurrentRootRowCountz, 0xea rows/writers/current=zqout/save_selector_gate_offset_patterns.* shows gate offsets are reader-only across selector roots; totalRowCount=totalRowCountz, totalReaderCount=totalReaderCountz, totalWriterCount=totalWriterCountz, rootCount=	rootCountz{out/save_selector_gate_base_candidates.* maps possible gate bases without proving the runtime pointer mode; candidateCount=z", partySlotStatByteCandidateCount=partySlotStatByteCandidateCountz, directRefCandidateCount=directRefCandidateCountz", runtimePointerModeStillRequired=runtimePointerModeStillRequiredz, gateOffsets=diagnosticActiveOrderEvidence$diagnosticActiveOrderRecheckEvidence$publicPredecessorActiveOrderEvidence/publicPredecessorLeftOverrunActiveOrderEvidencez_out/save_selector_gate_base_proof_gap.* keeps opcode 0x20 gate-base proof open; gateWindowRows=gateWindowRowsz, localBaseRows= localBaseAffectingRowsBeforeGatez, remainingProofs=ru  z, windowOnlyOpcode20=#gateWindowOnlyOpcode20BaseCandidatez, baseSetterCandidates="gateWindowBaseSetterCandidateCountz, descriptorFieldRecords=!descriptorScript4FieldRecordCountz, descriptorFrontierRefs=.descriptorScript4CurrentFrontierDirectRefCountz, descriptorEncodedTargets=5descriptorScript4EncodedTargetRawScalarCandidateCount?descriptorScript4EncodedTargetRouteProofRawScalarCandidateCount5descriptorScript4EncodedTargetPromotingCandidateCountz, descriptorEncodedClass=,descriptorScript4EncodedTargetClassificationz, descriptorGateWriters= descriptorScript4GateWriterCountz, descriptorGateReaders= descriptorScript4GateReaderCountz!, descriptorAllScriptGateWriters="descriptorAllScriptGateWriterCountz!, descriptorAllScriptGateReaders="descriptorAllScriptGateReaderCountz#, descriptorAllScriptSelectionRows='descriptorAllScriptSelectionOpcodeCountz$, descriptorAllScriptEncodedTargets=7descriptorAllScriptEncodedTargetRawScalarCandidateCountAdescriptorAllScriptEncodedTargetRouteProofRawScalarCandidateCount7descriptorAllScriptEncodedTargetPromotingCandidateCountz", descriptorAllScriptEncodedClass=.descriptorAllScriptEncodedTargetClassificationz", descriptorAllScriptSpecificBase=)descriptorAllScriptSpecificGateBaseProvenz, gateBaseProofFound=gateBaseProofFoundz, activeOrderProofFound=activeOrderProofFoundz, gateTimeBaseProofFound=gateTimeBaseProofFoundz, failedGateBaseGates=failedGateBaseGateIdsz, activeOrderAloneSufficient=&activeOrderAloneSufficientForGateProofz, activeOrderOnlyEliminated=activeOrderOnlyProofEliminatedz, diagnosticOrder=activeOrderCountHexactiveOrderHexesz, diagnosticDescriptor=firstDescriptorHexz, diagnosticGateRows=z, diagnosticNonPointerA8=2descriptorScript4ContextA8NonPointerSetterRowCountz, diagnosticPointerCollision=,descriptorScript4LastContextA8IsPointerDwordz, diagnosticGateBaseProven=gateBaseProvenz, diagnosticRecheckRouteHits=recheckRouteSelectorHitCount'activeOrderRecheckRouteSelectorHitCountz$, diagnosticRecheckActiveOrderCount=(activeOrderRecheckActiveOrderCountValuesz), diagnosticRecheckGateBaseStillUnproven=gateBaseStillUnprovenz, publicPredOrder=z, publicPredDescriptor=z, publicPredSamples=totalSampleCountz, publicPredRoute=	availablenotRouteProofFz, publicPredStable=allPublicWatchedValuesStablez, publicPredGateRows=z, publicPredGateBaseProven=z, publicPredLeftSamples=z, publicPredLeftRoute=z, publicPredLeftStable=z, publicPredLeftGateBaseProven=z, sampleCurrentFrontierCovered=sampleCurrentFrontierCoveredzjout/save_selector_gate_sample_values.* applies public savedat samples to the gate hypotheses; sampleCount=z, sampleSelectors=sampleSelectorsz, currentFrontierSelector=currentFrontierSelectorz, currentFrontierSampleCovered=currentFrontierSampleCoveredz, saveRuntimeGateInRange=&saveRuntimeGateInRangeSampleValueCountsaveRuntimeGateSampleValueCountz , saveRuntimeGateDistinctValues= saveRuntimeGateDistinctValuesHexz, partySlotStatInRange=$partySlotStatInRangeSampleValueCountpartySlotStatSampleValueCountclosestPublicSourceTargetPairsemanticCoveragezout/savedata_sample_deltas.* compares the 6 public savedat samples byte-by-byte around route-critical offsets; sampleSelectors=z#, currentSelectorPublicSampleCount= currentSelectorPublicSampleCountz, routePairPublicSampleCount=routePairPublicSampleCountz$, selectorDistinguishingOffsetCount=!selectorDistinguishingOffsetCountz, semanticKnownBytes=knownSemanticByteCountexpectedSaveSizez, unknownBytes=unknownByteCountz, unknownVaryingBytes=unknownVaryingByteCountz#, equipmentStatusStoryOffsetStatus= equipmentStatusStoryOffsetStatusz, closestPublicPair=sourceSamplesourceSelectortargetSampletargetSelectorz differingBytes=differingByteCountpublicSearchNoteszmout/save_selector_real_savedata_evidence_gap.* confirms no captured selector 2:0 save is present; candidates=z, real=realCandidateCountz, valid=validRealCandidateCountz, uniqueSha256=validRealUniqueSha256Countz, validRowsBlocked=validRealCandidatesAllBlockedz, realCandidateBlocks=#validRealCandidateBlockReasonCountsz, workspaceDat=workspaceDatFileCountz, workspaceExpected=!workspaceExpectedSizeDatFileCountz, workspaceZipMembers=workspaceZipDatMemberCountz, workspaceHidden='workspaceHiddenExpectedSizeDatFileCountz, currentSelector=currentSelectorz, currentSelectorReal=currentSelectorRealSaveCountz, selectedPointerReal=selectedPointerRealSaveCountz, routePairReal=routePairRealSaveCountz, routePromotionReal=routePromotionRealSaveCountz, routeEvidenceProof=routeEvidenceProofFoundz, realSelector20Save=realSelector20SaveFoundz, routeEvidenceReject=$routeEvidenceRejectionClassificationz, requiredBytePair=%requiredSelectorBytePairRealSaveCountrequiredByteCoveragez, capturedSplit=capturedRoutePairGapsourceOnlyCounttargetOnlyCountroutePairCountz, syntheticExcluded=syntheticDiagnosticExcludedz, failedSavedataGates=failedSavedataGateIdsz, publicCurrentCovered=publicCurrentFrontierCoveredz, publicRoutePairCovered=publicRoutePairCoveredz, publicSearchNoteCount=z, latestPublicSearchNote=zsout/legacy_hwanedit_editor_gap.* classifies the public legacy hwanedit executable as non-route evidence; available=z, size=sizez	, sha256=sha256z, saveFilterPresent=saveFilterPresentz, statControlCount=statControlCountz, routeKeywordCount=routeKeywordCountz, selectorEvidenceFound=selectorEvidenceFoundz, routePromotionEvidenceFound=routePromotionEvidenceFoundzout/save_selector_gate_pass_matrix.* keeps the predecessor gate pass as a hypothesis, not promotion; currentFrontierSampleCovered=z/, saveRuntimePredecessorAllGatePassSampleCount=,saveRuntimePredecessorAllGatePassSampleCount!saveRuntimePredecessorSampleCountz-, saveRuntimeZeroTableAllGatePassSampleCount=*saveRuntimeZeroTableAllGatePassSampleCountsaveRuntimeZeroTableSampleCountz, runtimeBaseProofRequired=runtimeBaseProofRequiredz&, predecessorPersistenceProofRequired=#predecessorPersistenceProofRequiredz, strictHotspotProofRequired=strictHotspotProofRequiredzlout/save_selector_selection_buffer_bases.* shows context+0xa8 is not a fixed base; immediateAssignmentCount=immediateAssignmentCountz, registerAssignmentCount=registerAssignmentCountz&, knownStaticGateOffsetDirectRefCount=#knownStaticGateOffsetDirectRefCountz?out/save_selector_opcode20_object_base_candidates.* classifies z2 non-pointer descriptor+4 object-base candidates; contextF2ObjectSelectorCountz select context+0xf2, "immediateObjectIndexCandidateCountz+ select a fixed stream+2 object index, and $gateSelectionRowsAfterCandidateCountz gate 0xe8/0xea rows, fieldMapRowsAfterCandidateCountz field-map rows, and &currentFrontierRowsAfterCandidateCountz/ current-frontier refs follow those candidates.uniqueOrderSpacerepeatAllowedOrderSpacezmout/save_selector_opcode20_order_space.* exhausts opcode 0x20 descriptor active-order shapes; descriptorRows=descriptorRowCountz, slotCapacity=slotCapacityz, uniqueOrders=
orderCountz, repeatAllowedOrders=z, uniqueDirectProofOrders=directProofOrderCountz, repeatDirectProofOrders=z , uniqueNonPointerContextOrders=nonPointerContextOrderCountz , activeOrderAlonePromotesRoute=activeOrderAlonePromotesRoute$diagnosticRuntimeObjectTableEvidencec              3  &   K   | ]	  }|s|  y wrp   rO   r#   r   s     r   r%   z build_summary.<locals>.<genexpr>  s      $
5E$
   c              3  &   K   | ]	  }|s|  y wrp   rO   r   s     r   r%   z build_summary.<locals>.<genexpr>  s      )
Z_E)
r  runtimeSlotBaseTableStaticHexesc              3  &   K   | ]	  }|s|  y wrp   rO   r   s     r   r%   z build_summary.<locals>.<genexpr>  s      +
X]E+
r  runtimeObjectTableStaticHexeszlout/save_selector_opcode20_context_f2_sources.* traces context+0xf2 as a runtime object-slot selector; refs=referenceCountz, reads=readReferenceCountz	, writes=writeReferenceCountz, runtimeObjectTableReaders=runtimeObjectTableReaderCountz, directInitializers=directInitializerCountz, constantWrites=constantWriteCountz%, specificRuntimeObjectPointerProven="specificRuntimeObjectPointerProvenz!; diagnosticObjectTableAvailable=z, diagnosticRouteSamples=routeSampleCountz, diagnosticTotalSamples=z, diagnosticActiveOrder=z, diagnosticSlotBaseStatic=z, diagnosticObjectTableStatic=z, diagnosticStatus=z, normalRouteProof=normalRouteProofcountSaveSourceslotSaveSourcez{out/save_selector_opcode20_slot_sources.* ties opcode 0x20 slot count/source to save-backed runtime state; currentOpcode20=currentOpcode20VaHexz, currentMode=currentModeHexz, countRuntime=countRuntimeVaHexz saveOffset=saveOffsetHexz, slotBase=slotBaseHexz, loadedCompleteSlotCapacity=loadedCompleteSlotCapacityz, staticFirstDwordNonzeroCount=staticFirstDwordNonzeroCountz(, runtimeSlotDescriptorPointersRequired=%runtimeSlotDescriptorPointersRequiredzxout/save_selector_opcode20_slot_descriptor_writers.* fixes opcode 0x20 slot descriptor materialization; descriptorTable=descriptorTableVaHexz, descriptorWriteCount=descriptorWriteCountz, slotFirstDwordSource=slotFirstDwordSourcez, opcode20Mode0ScriptSource=opcode20Mode0ScriptSourcez, runtimeActiveOrderRequired=runtimeActiveOrderRequiredzvout/save_selector_opcode20_descriptor_scripts.* keeps descriptor+4 scripts from proving the route; descriptorRowCount=z, scriptSlotAggregateRows=scriptSlotAggregateRowsz, script4FieldRecordCount=script4FieldRecordCountz', script4CurrentFrontierDirectRefCount=$script4CurrentFrontierDirectRefCountz, script4EncodedTargets=+script4EncodedTargetRawScalarCandidateCount5script4EncodedTargetRouteProofRawScalarCandidateCount+script4EncodedTargetPromotingCandidateCountz, script4EncodedClass="script4EncodedTargetClassificationz, script4GateReaderCount=script4GateReaderCountz, script4GateWriterCount=script4GateWriterCountz, script4SelectionOpcodeCount=script4SelectionOpcodeCountz$, script4NonPointerContextA8Sources=0script4ContextA8NonPointerOperandSourceHistogramz, allScriptGateReaderCount=allScriptGateReaderCountz, allScriptGateWriterCount=allScriptGateWriterCountz , allScriptSelectionOpcodeCount=allScriptSelectionOpcodeCountz, allScriptEncodedTargets=-allScriptEncodedTargetRawScalarCandidateCount7allScriptEncodedTargetRouteProofRawScalarCandidateCount-allScriptEncodedTargetPromotingCandidateCountz, allScriptEncodedClass=$allScriptEncodedTargetClassificationz , script4SpecificGateBaseProven=script4SpecificGateBaseProvenz#, allScriptsSpecificGateBaseProven= allScriptsSpecificGateBaseProvenzout/save_selector_opcode20_sample_order_effects.* calibrates active order from public samples without covering current selector; sampleCount=z, uniqueSampleStateCount=uniqueSampleStateCountz, signatures=;uniqueSampleSignaturesloadRebuildEvidencezout/save_selector_opcode20_runtime_materializers.* separates active-order materialization from selector streams; materializers=materializersz#, currentFrontierActiveOrderProven= currentFrontierActiveOrderProvenz%, opcode20SelfMutationPathEliminated="opcode20SelfMutationPathEliminatedz+, currentRouteGeneralMutationEvidenceCount=(currentRouteGeneralMutationEvidenceCountz", currentRouteSameLowByteRowCount=currentRouteSameLowByteRowCountz, currentRouteSameLowByteRows=currentRouteSameLowByteRowsz#, descriptorScriptMutationRowCount= descriptorScriptMutationRowCountz, descriptorScriptMutationRows=descriptorScriptMutationRowsz, loadRebuild=rebuildCallVaHexrebuildFunctionVaHexz, rebuildAfterSaveReadBlocks=rebuildAfterSaveReadBlocksz(, rebuildBeforeSelectorPointerSelection=%rebuildBeforeSelectorPointerSelectionnestedRunnerzout/save_selector_opcode20_nested_base_modes.* proves current opcode 0x20 uses a nested object+4 general-handler path; opcode20=currentOpcode20ValueHexz, mode=z, nestedObjectPlus4=currentModeIsNestedObjectPlus4z, saveSelectorHandler= saveSelectorOpcode20HandlerVaHexz, handlerExpected=*saveSelectorOpcode20HandlerMatchesExpectedz, nestedRunner=nestedRunnerVaHexz, generalTable=generalHandlerTableVaHexz, contextA8Setters=directContextA8SetterCountz!, staticGateOffsetDirectRefCount=staticGateOffsetDirectRefCount
routeScopesecondaryBranchStatez0out/save_selector_secondary_reset_scope.* finds directIndexedWriterCountz. direct secondaryBranchState indexed writers, 'currentRootValidBeforeFrontierFillCountz5 current-root valid before-frontier secondary fills, &predecessorTailValidSecondaryFillCountzO predecessor-tail secondary fills, and noKnownPreFrontierResetInScopedEvidence='noKnownPreFrontierResetInScopedEvidencez while globalResetRuledOut=globalResetRuledOutzuout/save_selector_secondary_global_reset_gap.* closes the static reset scope while keeping runtime order open; class=globalResetCandidateClassz	, direct= directGlobalSecondaryWriterCountz, unresolved=!unresolvedGlobalSecondaryRefCountz, helperOpcode10Only=%helperOnlyCalledInsideOpcode10Handlerz, blockScan=secondaryBlockWriteScanRangeHexz, blockTouch=&secondaryTouchBlockWriteCandidateCountz, blockFull=*secondaryFullCoverBlockWriteCandidateCountz, blockClosed=secondaryBlockWriteShapeClosedz, currentBefore=z, currentAfter=&currentRootValidAfterFrontierFillCountz, predecessorFills=predecessorFillCountz, tailValid=z, closedStaticResetScope=closedStaticResetScopez, staticResetShapeRuledOut=staticResetShapeRuledOutz, selectorOrderResetGapClosed=selectorOrderResetGapClosedz , openRuntimeOrderOrBytecodeGap=openRuntimeOrderOrBytecodeGapz, runtimeResetRiskClass=runtimeResetRiskClassz, globalResetRuledOut=zeout/save_selector_secondary_block_writes.* checks broad secondaryBranchState reset shapes; secondary=secondaryRangeHexz, scan=scanRangeHexz, addressLike=addressLikeTouchingBaseCountz, directOverlap=directOverlapWriteCountz, touchBlock=touchBlockWriteCandidateCountz, fullCoverBlock=!fullCoverBlockWriteCandidateCountopcode4fDataScanrootSelfWritePatternruntimeSelectorHandlerzout/save_selector_runtime_selector_byte_writes.* identifies the runtime selector-byte writer without promoting route order; handler=z, generalOpcode=z, mechanism=$selectorByteWriteMechanismIdentifiedz, currentWriter=mode1CurrentSelectorWriterCountz, outsideCurrent=1mode1CurrentSelectorWriterOutsideCurrentRootCountz, rootSelfPattern selfRows=mode1SelfWriteCountz, crossRows=mode1CrossWriteCountz, routeCommon= routeContextCommonSignatureCountz, crossToCurrent= crossWriteToCurrentSelectorCountz, sourcePredCurrent=-sourceOrPredecessorCurrentSelectorWriterCountz, leafHits=leafStreamOpcode4fHitCountz, selfWrite=+currentSelectorWriterIsCurrentRootSelfWritez, rootPatternPromotes=!rootSelfWritePatternPromotesRoutez, promotes=selectorByteWritePromotesRoutez:out/save_selector_post_gate_reset_candidates.* classifies postGateOpcode10RowCountz post-gate opcode 0x10 rows;  validPostGateSecondaryResetCountz- are valid secondary resets, helper args are c              3  @   K   | ]  }|j                  d d        yw)helperArgumentHexrh   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>w  s"       Ds!4c:  Dr   postGateOpcode10Rowsz, and postGateRowsPromoteRoute=postGateRowsPromoteRoutezNout/save_selector_merge_gap.* keeps selector merge unresolved; sourceSelector=z, targetSelector=z , samePreviousContainsRoutePair=samePreviousContainsRoutePairz, selectorMergeGapOpen=selectorMergeGapOpenz", predecessorPersistenceWouldPass=predecessorPersistenceWouldPassz, predecessorPersistenceProven=predecessorPersistenceProvenz, predecessorRouteOrderProven=predecessorRouteOrderProvenz, routePairSampleCovered=routePairSampleCoveredz , sourceToCurrentBridgeHitCount=sourceToCurrentBridgeHitCountz , targetToCurrentBridgeHitCount=targetToCurrentBridgeHitCountz , currentToTargetBridgeHitCount=currentToTargetBridgeHitCountz", targetReverseHitsOnlyBeforeFill=targetReverseHitsOnlyBeforeFillz#, targetReverseHitsToFillSiteCount= targetReverseHitsToFillSiteCountzout/save_selector_merge_bridge_matrix.* checks direct/encoded-anchor bridges among selector 0:0, 1:0, and 2:0; forwardMergeBridgeHitCount=forwardMergeBridgeHitCountz, sourceToPredecessor=sourceToPredecessorHitCountz, sourceToCurrent=sourceToCurrentHitCountz, predecessorToCurrent=predecessorToCurrentHitCountz, currentToPredecessor=currentToPredecessorHitCountz with fill-site hits=$currentToPredecessorFillSiteHitCountz", directMergeExecutionBridgeFound=directMergeExecutionBridgeFoundz., forwardEncodedAnchorRawScalarCandidateCount=+forwardEncodedAnchorRawScalarCandidateCountz., forwardEncodedAnchorPromotingCandidateCount=+forwardEncodedAnchorPromotingCandidateCountz#, encodedMergeExecutionBridgeFound= encodedMergeExecutionBridgeFoundz, failedMergeBridgeGates=failedMergeBridgeGateIdszout/save_selector_selected_pointer_opcode_paths.* scans selected-pointer opcode 0x07/0x08/0x09 rows in selector roots 0:0, 1:0, and 2:0; source/predecessor opcode 0x08 activators=)sourceOrPredecessorOpcode08ActivatorCountz, current-root writers=)sourceOrPredecessorCurrentRootWriterCountz, current-range writers=*sourceOrPredecessorCurrentRangeWriterCountz&, current internal opcode 0x09 stores=!currentInternalOpcode09StoreCountz-, and selectedPointerOpcodePathPromotesRoute=&selectedPointerOpcodePathPromotesRoutezout/save_selector_global_selected_pointer_paths.* extends selected-pointer opcode 0x07/0x08/0x09 scanning to every save-selector root; selectorRows=selectorRowCountz, selectorRoots=selectorRootCountz, scannedRoots=scannedRootCountz+, nonCurrentCurrentRootSelectStoreProducer=(nonCurrentOpcode07CurrentRootSelectCount'nonCurrentOpcode09CurrentRootStoreCount1nonCurrentOpcode08NearestCurrentRootProducerCountz,, nonCurrentCurrentRangeSelectStoreProducer=)nonCurrentOpcode07CurrentRangeSelectCount(nonCurrentOpcode09CurrentRangeStoreCount2nonCurrentOpcode08NearestCurrentRangeProducerCountz, currentInternalStoreProducer=-currentInternalOpcode09CurrentRangeStoreCount7currentInternalOpcode08NearestCurrentRangeProducerCountz , selectedRootExecutionRefFound=rf  z$, promotingSelectedPointerPathCount=!promotingSelectedPointerPathCountwatchValueszcurrent-selector-root-2:0zcurrent-second-level-table-2:0zcurrent-frontier-reader-2:0zcurrent-source-record-map1_01azcurrent-target-record-map2_02dzout/save_selector_selected_pointer_usage.* fixes selected pointer 0x0059de30 as the runtime choke point; selectedPointerGlobal=selectedPointerGlobalHexz, selectorGroupTable=selectorGroupTableHexz, currentRoot=currentSelectorRootHexz, currentCodeRefCount=currentCodeRefCountz', noStaticDirectCurrentSelectorCodeRef=$noStaticDirectCurrentSelectorCodeRefz$, selectedPointerGlobalTextRefCount=!selectedPointerGlobalTextRefCountz!, selectedPointerWriterHookCount=selectedPointerWriterHookCountz!, selectedPointerReaderHookCount=selectedPointerReaderHookCountz, currentRootTextRefCount=textRefCountz, secondLevel=z, secondLevelTextRefCount=z, frontierReaderRefCount=refCountz, sourceRecordRefCount=z, targetRecordRefCount=z, runtimeTraceHookPointCount=runtimeTraceHookPointsz, routePromotionStatus=routePromotionStatussaveLoaderGatestaticReferenceGatehookPrerequisiteGatedispatchTableGateopcodeSelectedPointerGatecurrentWriterPathGateruntimeProbeGatediagnosticExclusionGatez}out/save_selector_selected_root_execution_gap.* consolidates selected-root execution evidence; selectedRootExecutionRefFound=z, failedSelectedRootGates=ri  z#, saveCurrentSelectorRealSaveCount=z#, saveSelectedPointerRealSaveCount=z, staticCurrentCodeRefCount=z, hookPrereq=traceHookPointCountroutePrerequisiteUnprovenCountr  r  z, hookWindow=r  r  z, hookAllUnproven=r  z, hookGraph="hookHandlerCallGraphClassificationz, hookGraphRoots/Fns/Calls=hookHandlerCallGraphRootCount*hookHandlerCallGraphReachableFunctionCount'hookHandlerCallGraphDirectCallEdgeCountz0, hookGraphRoute/current/record/selector/branch=*hookHandlerCallGraphRouteImmediateHitCount,hookHandlerCallGraphCurrentImmediateHitCount0hookHandlerCallGraphRouteRecordImmediateHitCount2hookHandlerCallGraphRouteSelectorImmediateHitCount0hookHandlerCallGraphBranchStateImmediateHitCountz, hookGraphGeneric=4hookHandlerCallGraphSelectedPointerImmediateHitCount2hookHandlerCallGraphSelectorTableImmediateHitCountz, hookGraphDepth=3hookHandlerCallGraphDepthSensitivityMaxDepthCheckedBhookHandlerCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsGhookHandlerCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepthz, hookEncoded=/hookHandlerEncodedTargetRawScalarCandidateCount9hookHandlerEncodedTargetRouteProofRawScalarCandidateCount;hookHandlerEncodedTargetRouteContextRawScalarCandidateCount/hookHandlerEncodedTargetPromotingCandidateCountz, hookEncodedClass=&hookHandlerEncodedTargetClassificationz, dispatchTable=saveSelectorHandlerTableHexz, dispatchSlice=saveSelectorSliceOffsetHexz, dispatchSaveRefs=saveSelectorDirectDwordRefCount saveSelectorIndexedDispatchCountz, dispatchDynamic=dynamicIndexedDispatchRowCountdynamicScopeTableCallbackCount*dynamicSaveSelectorTableImmediateNearCountz, dispatchTableBaseSwitch=.routeRelevantSliceRequiresTableBaseSwitchCount9routeRelevantSliceDataDescriptorGenericByteReachableCountz, dispatchHandlersVerified='selectedPointerRelativeHandlersVerifiedz, dispatchExecRef=%selectedRootExecutionDispatchRefFoundz, globalNonCurrentRootProducer=z , globalNonCurrentRangeProducer=z, currentInternalProducer=z, currentWriterCount=writerCountnextRequiredEvidencer   z, runtimePollSamples=pollSampleCountz, runtimePollObservedSelectors=pollObservedSelectorsz, saveLoadPollSamples=savedataLoadPollSampleCountz , saveLoadPollObservedSelectors=!savedataLoadPollObservedSelectorsz, saveLoadPollRoute=$savedataLoadPollReachedRouteSelectorz, multiSaveLoadPollSamples=$multislotSavedataLoadPollSampleCountz#, multiSaveLoadPollPublicSelectors=,multislotSavedataLoadPollPublicSaveSelectorsz%, multiSaveLoadPollObservedSelectors=*multislotSavedataLoadPollObservedSelectorsz, multiSaveLoadPollPublicHit=2multislotSavedataLoadPollReachedPublicSaveSelectorz, multiSaveLoadPollRoute=-multislotSavedataLoadPollReachedRouteSelectorz$, caseAliasMultiSaveLoadPollSamples=-caseAliasMultislotSavedataLoadPollSampleCountz., caseAliasMultiSaveLoadPollObservedSelectors=3caseAliasMultislotSavedataLoadPollObservedSelectorsz&, caseAliasMultiSaveLoadPollPublicHit=;caseAliasMultislotSavedataLoadPollReachedPublicSaveSelectorz", caseAliasMultiSaveLoadPollRoute=6caseAliasMultislotSavedataLoadPollReachedRouteSelectorz-, inputPathCaseAliasMultiSaveLoadPollSamples=6inputPathCaseAliasMultislotSavedataLoadPollSampleCountz7, inputPathCaseAliasMultiSaveLoadPollObservedSelectors=<inputPathCaseAliasMultislotSavedataLoadPollObservedSelectorsz=, inputPathCaseAliasMultiSaveLoadPollObservedPublicSelectors=FinputPathCaseAliasMultislotSavedataLoadPollObservedPublicSaveSelectorsz/, inputPathCaseAliasMultiSaveLoadPollPublicHit=DinputPathCaseAliasMultislotSavedataLoadPollReachedPublicSaveSelectorz+, inputPathCaseAliasMultiSaveLoadPollRoute=?inputPathCaseAliasMultislotSavedataLoadPollReachedRouteSelectorz', predecessorDirectionSweepPollSamples=(predecessorDirectionSweepPollSampleCountz$, predecessorDirectionSweepPollKind=+predecessorDirectionSweepPollStagedSaveKindz1, predecessorDirectionSweepPollObservedSelectors=.predecessorDirectionSweepPollObservedSelectorsz., predecessorDirectionSweepPollObservedPublic=8predecessorDirectionSweepPollObservedPublicSaveSelectorsz), predecessorDirectionSweepPollPublicHit=6predecessorDirectionSweepPollReachedPublicSaveSelectorz%, predecessorDirectionSweepPollRoute=1predecessorDirectionSweepPollReachedRouteSelectorz&, predecessorDirectionSweepPollValues=#predecessorDirectionSweepPollValuesz3, predecessorLeftOverrunActivationSweepPollSamples=4predecessorLeftOverrunActivationSweepPollSampleCountz0, predecessorLeftOverrunActivationSweepPollKind=7predecessorLeftOverrunActivationSweepPollStagedSaveKindz=, predecessorLeftOverrunActivationSweepPollObservedSelectors=:predecessorLeftOverrunActivationSweepPollObservedSelectorsz:, predecessorLeftOverrunActivationSweepPollObservedPublic=DpredecessorLeftOverrunActivationSweepPollObservedPublicSaveSelectorsz5, predecessorLeftOverrunActivationSweepPollPublicHit=BpredecessorLeftOverrunActivationSweepPollReachedPublicSaveSelectorz1, predecessorLeftOverrunActivationSweepPollRoute==predecessorLeftOverrunActivationSweepPollReachedRouteSelectorz2, predecessorLeftOverrunActivationSweepPollValues=/predecessorLeftOverrunActivationSweepPollValuesz!, syntheticSelector20PollSamples=4syntheticSelector20InputPathCaseAliasPollSampleCountz+, syntheticSelector20PollObservedSelectors=:syntheticSelector20InputPathCaseAliasPollObservedSelectorsz1, syntheticSelector20PollObservedStagedSelectors=@syntheticSelector20InputPathCaseAliasPollObservedStagedSelectorsz#, syntheticSelector20PollStagedHit=>syntheticSelector20InputPathCaseAliasPollReachedStagedSelectorz, syntheticSelector20PollRoute==syntheticSelector20InputPathCaseAliasPollReachedRouteSelectorz%, patchedPublicSelector20PollSamples=8patchedPublicSelector20InputPathCaseAliasPollSampleCountz", patchedPublicSelector20PollKind=;patchedPublicSelector20InputPathCaseAliasPollStagedSaveKindz/, patchedPublicSelector20PollObservedSelectors=>patchedPublicSelector20InputPathCaseAliasPollObservedSelectorsz#, patchedPublicSelector20PollRoute=ApatchedPublicSelector20InputPathCaseAliasPollReachedRouteSelectorz, constructedDiagnosticRoute=-constructedDiagnosticPollReachedRouteSelectorz, diagnosticExcluded=&excludedFromSelectedRootExecutionProofz, diagnosticNotRouteProof=notRoutePromotionProofactiveSlotFirstDwordsStaticHexz, diagnosticFollowup=followupSelectorfollowupRootHexz, diagnosticFollowupSource=followupAliasContainsSourcez, diagnosticFollowupTarget=followupAliasContainsTargetz, diagnosticBridgeExec=&aliasToCurrentExecutionLikeBridgeFoundz, diagnosticTraceStops=exactTraceStopReasonsz, diagnosticBranchStateSamples=branchStateTotalSampleCountz$, diagnosticBranchStateRouteSamples=branchStateRouteSampleCountz , diagnosticBranchStateObserved=branchStateObservedSelectorsz, diagnosticBranchStateActive=!branchStateActiveSelectionFlagHexz, diagnosticBranchStateAllZero=branchStateSecondaryAllZeroz#, diagnosticBranchStateMatchesFill=+branchStateMatchesPredecessorFillHypothesisz, diagnosticExitCandidates=exitCandidateCountz, diagnosticExitRouteSides=exitCandidateRouteSelectorSidesz, diagnosticExitBranchNonzero=$exitCandidateBranchStateNonzeroSidesz, diagnosticExitStatus=exitCandidatePromotionStatusz!, diagnosticLeftStabilitySamples=leftStabilitySampleCountz", diagnosticLeftStabilityRouteSeq=leftStabilityRouteSequenceNamesz", diagnosticLeftStabilityObserved=leftStabilityObservedSelectorsz#, diagnosticLeftStabilityRouteHits="leftStabilityRouteSelectorHitCountz), diagnosticLeftStabilityOpcode24AllZero=leftStabilityOpcode24AllZeroz, diagnosticLeftStabilityRepro=$leftStabilityRouteHitReproducibilityz*, diagnosticLeftStabilityRecheckRouteHits=)leftStabilityRecheckRouteSelectorHitCountz,, diagnosticLeftActiveOrderRecheckRouteHits=+leftActiveOrderRecheckRouteSelectorHitCountz!, diagnosticLeftActiveOrderCount=,leftActiveOrderRecheckActiveOrderCountValuesz, fileIoAttachLoadPidRuns=$fileIoAttachLoadSequenceWithPidCountfileIoAttachLoadSequenceCountz, fileIoAttachLoadKeyWrites=*fileIoAttachLoadSequenceWithKeyWritesCountz, fileIoAttachLoadUsable= fileIoAttachLoadInputTraceUsablez, fileIoAttachLoadSavedat1=!fileIoAttachLoadAnySavedat1Accessz#, fileIoAttachCaseAliasLoadPidRuns=-fileIoAttachCaseAliasLoadSequenceWithPidCount&fileIoAttachCaseAliasLoadSequenceCountz%, fileIoAttachCaseAliasLoadKeyWrites=3fileIoAttachCaseAliasLoadSequenceWithKeyWritesCountz", fileIoAttachCaseAliasLoadUsable=)fileIoAttachCaseAliasLoadInputTraceUsablez$, fileIoAttachCaseAliasLoadSavedat1=*fileIoAttachCaseAliasLoadAnySavedat1Accesszrout/save_selector_route_pair_entry_execution_gap.* consolidates route-pair entry execution evidence; evidenceRows=evidenceRowsz, routePairEntryRows=r  z, negativeReaderRows=negativeReaderRowsz, routePairEntryIndices=routePairEntryIndicesz, correctedTraceEntryIndices=#routePairCorrectedTraceEntryIndicesz, negativeReaderEntryIndices=negativeReaderEntryIndicesz(, globalCurrentSelectorRoutePairIndices=%globalCurrentSelectorRoutePairIndicesz+, globalCurrentSelectorNegativeNonNegative=.globalCurrentSelectorNegativeRoutePairRowCount1globalCurrentSelectorNonNegativeRoutePairRowCountz(, globalCurrentFrontierLeafOnlyNegative=%globalCurrentFrontierLeafOnlyNegativez, correctedReaderHits=routePairCurrentEntryCountz), correctedTraceNormalSelectionGapStatus=&correctedTraceNormalSelectionGapStatusz(, correctedTraceNormalSelectionGapFound=%correctedTraceNormalSelectionGapFoundz%, opcode07DirectEntrySelectionAbsent="opcode07DirectEntrySelectionAbsentz., opcode08SourceOrPredecessorCurrentRootRange=3opcode08SourceOrPredecessorCurrentRootProducerCount4opcode08SourceOrPredecessorCurrentRangeProducerCountz#, opcode08SourcePredecessorBuckets=&opcode08SourcePredecessorBucketSummaryz", opcode08CurrentSelectorContrast=&opcode08CurrentSelectorContrastSummaryz0, opcode09SourceOrPredecessorCurrentRangeStores=1opcode09SourceOrPredecessorCurrentRangeStoreCountz., opcode09SourceOrPredecessorUnsupportedModes=.opcode09SourceOrPredecessorUnsupportedModesHexz), opcode09SourcePredecessorCollisionRows=0opcode09SourcePredecessorPointerCollisionSummaryz*, sourceOrPredecessorCurrentProducerCount='sourceOrPredecessorCurrentProducerCountz , routePairIndexSourceEntryRefs=(routePairIndexSourceEntryPointerRefCount,routePairIndexSourceEntryPointerTextRefCount1routePairIndexSourceEntryPointerPromotingRefCountz, routePairIndexSourceEncoded==routePairIndexSourceEncodedEntryAnchorRawScalarCandidateCountEroutePairIndexSourceEncodedEntryAnchorBranchAttachedEncodedFieldCountFroutePairIndexSourceEncodedEntryAnchorModeledControlFlowCandidateCount=routePairIndexSourceEncodedEntryAnchorPromotingCandidateCountz#, routePairIndexSourceEncodedClass=4routePairIndexSourceEncodedEntryAnchorClassificationz&, routePairIndexSourceFallthroughRefs=;routePairIndexSourceEntryPointerOpcode5aFallthroughRefCount:routePairIndexSourceEntryPointerFallthroughNonCodeRefCountz$, routePairIndexSourcePromotingRefs=<routePairIndexSourceNonNegativeEntryPointerPromotingRefCount?routePairIndexSourceNegativeReaderEntryPointerPromotingRefCountz, routePairIndexSourceHandlers=;routePairIndexSourceEntryPointerFallthroughHandlerSummariesz, routePairIndexSourceProven=0routePairIndexSourceHigherLevelIndexSourceProvenz!, routePairIndexSourceProofFound=routePairIndexSourceProofFoundz", routePairIndexSourceFailedGates=!routePairIndexSourceFailedGateIdsz+, routePairIndexSourceMissingEvidenceCount=#routePairIndexSourceMissingEvidencez, rootTableRefs=rootTableWindowDirectRefCount!rootTableWindowDirectTextRefCountz', rootTableEntryLeafFrontierReaderText=&rootTableRouteEntryAddressTextRefCount#rootTableRouteLeafValueTextRefCount&rootTableFrontierLeafValueTextRefCount(rootTableFrontierReaderValueTextRefCountz, rootTableFrontierReaderRefs=$rootTableFrontierReaderValueRefCountz*, wrapperEntryCurrentRootEntryRunRefCount='wrapperEntryCurrentRootEntryRunRefCountz*, wrapperEntryOpcode5aFallthroughRefCount='wrapperEntryOpcode5aFallthroughRefCountz, wrapperExecutionProofFound=wrapperExecutionProofFoundz , routePairEntryExecutionProven=routePairEntryExecutionProvenz, failedRoutePairEntryGates=failedRoutePairEntryGateIdsrootHex
0x005407140x20c              3  J   K   | ]  }|j                  d       dk(  s|  yw)rL  
0x005428bcNr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s!     cCCGGM<RVb<bCcr'   streamStartHexzout/save_selector_current_writer_paths.* keeps current-root writer paths internal to selector 2:0; root=2:0@0x00540714, localWriterCount=z
, writers=c              3  @   K   | ]  }|j                  d d        yw)rL  rh   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s     #YCCGGM3$?#Yr   z, streamStarts=z, nearestClassification=zL, selectionOffset=0x20, selectedRootExecutionStillUnproven=True, proofFound=z, failedCurrentWriterGates=failedCurrentWriterPathGateIdsz0, promotionStatus=blocked-current-internal-only.z;out/save_selector_opcode08_activation_windows.* classifies z, source/predecessor opcode 0x08 activators; ,sourceOrPredecessorCurrentRangeProducerCountz% have local current-range producers, (sourceOrPredecessorOwnRangeProducerCountz use own-range producers, ,sourceOrPredecessorScriptScalarProducerCountz use script-scalar producers, *sourceOrPredecessorUnreadableProducerCountzD use unreadable producers, current internal current-range producers=(currentInternalCurrentRangeProducerCountz&, and opcode08ActivationPromotesRoute=opcode08ActivationPromotesRoutez;out/save_selector_opcode08_unreadable_producers.* explains ,sourceOrPredecessorUnreadableActivationCountz= unreadable source/predecessor opcode 0x08 producer windows; +opcode07UnmappedSelectedSlotActivationCountz1 opcode 0x07 cases have unmapped selected slots, &opcode09UnsupportedModeActivationCountzL opcode 0x09 cases use unsupported modes, staticCurrentPointerEvidenceCount=!staticCurrentPointerEvidenceCountz., and opcode08UnreadableProducerPromotesRoute='opcode08UnreadableProducerPromotesRoutezwout/save_selector_opcode09_pointer_collisions.* separates opcode 0x09 stores from low-byte pointer collisions; handler=opcode09HandlerHexz, modeSource=opcode09ModeSourcez, supportedModes=opcode09SupportedModesHexz&, source/predecessor opcode 0x09 rows=#sourceOrPredecessorOpcode09RowCountz, supported rows=,sourceOrPredecessorSupportedOpcode09RowCountz, unsupported-mode rows=2sourceOrPredecessorUnsupportedModeOpcode09RowCountz, pointer-collision rows=+sourceOrPredecessorPointerCollisionRowCountz#, unsupportedModePointerCollisions=7sourceOrPredecessorUnsupportedModePointerCollisionCountz, unsupportedModes=&sourceOrPredecessorUnsupportedModesHexz*, allUnsupportedModesArePointerCollisions=7sourceOrPredecessorUnsupportedModesAllPointerCollisionsz%, unsupportedModeReturnsWithoutStore="unsupportedModeReturnsWithoutStorez, current-range stores=)sourceOrPredecessorCurrentRangeStoreCountz', activation-linked pointer collisions=%activationLinkedPointerCollisionCountz,, and opcode09PointerCollisionPromotesRoute=%opcode09PointerCollisionPromotesRoutez@out/save_selector_secondary_route_overlap_candidates.* compares routeOverlapRootCountz* route-overlap secondary fill roots; only #preCurrentRouteOverlapFillRootCountz, is pre-current, source-side previous fills=$sourceSidePreviousSecondaryFillCountz, current after-frontier fills=!currentRootAfterFrontierFillCountz#, post-current route-overlap roots= postCurrentRouteOverlapRootCountz), and secondaryRouteOverlapPromotesRoute="secondaryRouteOverlapPromotesRoutesecondaryBranchStateAfterFill   [c              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr><  s     AUArr   z,...]c              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>>  s     BUc%jBrr   ]z_out/save_selector_predecessor_state_effect.* models predecessor branch-state fill; predecessor=z
, current=z, predecessorRoot=predecessorRootHexz, fill=z, fillSites=predecessorFillVasz	, writer=currentWriterVaHexcurrentReaderVaHexz, table=z;out/save_selector_active_flag_effect.* resolves activeFlag activeFlagVaHexz	 default=activeFlagStaticInitialByteHexactiveFlagSaveOffsetHexz; allPredecessorStartsPass=allPredecessorStartsPasszD, priorSelectionBufferStillPrimaryBlockerUnderPredecessorHypothesis=z$, counterexamplesWithoutPredecessor=arbitraryStateCounterexamplesactiveFlagSaveSourcezdout/save_selector_active_flag_sources.* pins the opcode 0x12 active flag source/default; activeFlag=z, staticDefault=z, saveOffset=z, startupInit=startupInitVaHexz, startupInitCallCount=startupInitCallCountz, refs/read/write=activeFlagRefCountactiveFlagReadCountactiveFlagWriteCountz, resolvedStaticDefault=resolvedStaticDefaultselectionBufferhelperJumpTablehandlersc              3  J   K   | ]  }|j                  d       dk(  s|  yw)caseHex0x00Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>l  s!     _c#'')BTX^B^c_r'   cases0x13	handlerVa0x08xzdout/save_selector_selection_state.* documents save-selector branch-state semantics; selectionBuffer=contextFieldHexz, stateSlots=
stateSlotsz, handlerCount=z, helperTable=
tableVaHexz, helperCaseRange=validCaseRangeHexz, case0StateValues=stateValuesz, case0Risk=persistenceRiskz, opcode13Handler=c              3  @   K   | ]  }|j                  d d        yw)ra  rh   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>{  s#      !
 GGGS!!
r   +currentFrontierRootWritersBeforeFirstReaderzout/save_selector_selection_writers.* preserves global and current-root selectionBuffer[0x20] readers/writers; writerCountFor0x20=writerCountFor0x20z, readerCountFor0x20=readerCountFor0x20z, currentFrontierRootHexes=currentFrontierRootHexesz, currentRootWriterCount=%currentFrontierRootWriterCountFor0x20z, currentRootReaderCount=%currentFrontierRootReaderCountFor0x20z, writersBeforeFirstReader=c              3  t   K   | ]0  }|j                  d       dk(  s|j                  d      dk(  s-| 2 ywrU  r    r"   s     r   r%   z build_summary.<locals>.<genexpr>  rV  rW  c              3  @   K   | ]  }|j                  d d        yw)r   rh   Nr    r  s     r   r%   z build_summary.<locals>.<genexpr>  s       (+1

5#&(r   fallthroughFieldRecordszPout/save_selector_branch_paths.* scans the current frontier branch path; stream=z, fallthrough=fallthroughVaHexz, branchTarget=branchTargetHexz, branchTargetKind=z, fallthroughContainsSource=fallthroughContainsSourcez, fallthroughContainsTarget=fallthroughContainsTargetz, fallthroughMaps=z, branchTargetCns=branchTargetLinkedCnsc              3  J   K   | ]  }|j                  d       dk(  s|  yw)r  
0x00542ac0Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  !     dSSWW]=SWc=cSdr'   c              3  J   K   | ]  }|j                  d       dk(  s|  yw)r  
0x00542ae8Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  r  r'   c              3  D   K   | ]  }|j                  d       s|  yw)
stopReasonNr    r#   rf  s     r   r%   z build_summary.<locals>.<genexpr>  s     gTPTPXPXYePfDgr  tracec              3  J   K   | ]  }|j                  d       dk(  s|  yw)rb  0x11Nr    r  s     r   r%   z build_summary.<locals>.<genexpr>  s%     pTPTPXPXYdPeioPoDpr'   zQout/save_selector_stream_traces.* keeps leaf bytecode traces bounded; traceCount=z, trace542ac0Steps=z, trace542ac0Stop=r  z, trace542ac0StopOpcode=z, trace542ae8BranchVa=z, trace542ae8BranchTarget=z, trace542ae8Fallthrough=c              3  t   K   | ]0  }|j                  d       dk(  s|j                  d      dk(  s-| 2 ywrU  r    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s5     rScggh.?:.MRURYRYZbRcgqRqSrrW  z_out/save_selector_xrefs.* separates selector path metadata refs from execution refs; selectors=	selectorsz, selectorPathCount=selectorPathsz, scenePairCount=
scenePairsz#, currentRootRefIsSelectorRowEntry= currentRootRefIsSelectorRowEntryz!, currentRootNonMetadataRefCount=currentRootNonMetadataRefCountzout/save_selector_predecessor_persistence_gap.* narrows predecessor branch-state persistence without promoting it; predecessor=currentRootHexz, adjacent=selectorAdjacentz, intermediateSelectors=intermediateSelectorCountz, sourcePrevious=sourceRoutePreviousSelectorz, sourceOverlap=#sourceRoutePreviousConfirmedOverlapz, predecessorTargetOnly=predecessorIsTargetSideOnlyz, wouldPassCurrentReader=%predecessorFillWouldPassCurrentReaderz!, noKnownBeforeFrontierOverwrite=,currentRootHasNoKnownBeforeFrontierOverwritez, directSecondaryWriters=%directSecondaryBranchStateWriterCountz, routeOrderProven=routeOrderProvenz, persistenceProven=persistenceProvencurrentRootsourceSideRootpredecessorRootcurrentLocalWritersnearestCurrentWriterfrontierReaderlabelszjout/save_selector_selection_buffer20_provenance.* summarizes selectionBuffer[0x20] roots; writers/readers=z, rootCounts=writerRootCountreaderRootCountz w/r=readerCountz routePair=containsRoutePairz, sourceRoot=z sourceOnly=hasSourceMaphasTargetMapz targetOnly=z, nearestCurrentWriter=z, frontierStateTable=
stateTablec              3  J   K   | ]  }|j                  d       dk(  s|  yw)r]  
0x00478364Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s%     vSSVSZSZ[dSeiuSuSvr'   routeOverlapRootszYout/save_selector_secondary_fill_roots.* finds inherited-state producer roots; rootCount=z, routeOverlapRootCount=z, fillEntryReferenceRootCount=fillEntryReferenceRootCountz*, routeOverlapFillEntryReferenceRootCount='routeOverlapFillEntryReferenceRootCountz, fillEntryReferenceSelectors=fillEntryReferenceSelectorsz!, fillEntryReferenceNonRouteOnly=fillEntryReferenceNonRouteOnlyz$, fillEntryReferenceExclusionStatus=!fillEntryReferenceExclusionStatusz, predecessorRootFillCount=	fillCountz%, predecessorFillEntryCandidateFound="predecessorFillEntryCandidateFoundz$, predecessorFillEntryDwordRefCount=!predecessorFillEntryDwordRefCountz-, predecessorFillEntryRootRangeDwordRefCount=*predecessorFillEntryRootRangeDwordRefCountz,, predecessorFillEntryRootBranchTargetCount=)predecessorFillEntryRootBranchTargetCountz, currentRootFillCount=z$, currentRootAfterFrontierFillCount=c              3  D   K   | ]  }|j                  d       sd  yw)afterCurrentFrontierReaderr   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s-       5L3ehelel  nJ  fKQ  5Lr  fillsbestPreviouszmout/save_selector_inherited_state_candidates.* ranks the strongest inherited-state producer; currentSelector=z, bestPrevious=z, bestPreviousRoot=z!, bestPreviousSecondaryFillCount=secondaryFillCountz, bestPreviousFirstFill=
firstFillsz]out/save_selector_current_state_sources.* keeps current root state inherited; candidateCount=z&, validBeforeFirstFrontierReaderCount=#validBeforeFirstFrontierReaderCountz;, validBeforeFirstFrontierReaderWithExecutionEvidenceCount=8validBeforeFirstFrontierReaderWithExecutionEvidenceCountz3, validBeforeFirstFrontierReaderPromotingFillCount=0validBeforeFirstFrontierReaderPromotingFillCountz, branchOperand=branchOperandVaHexz owner=branchOperandOwnerVaHexz smallScalarBranchOperandCount=branchOperandSmallScalarCountz , validActivationCandidateCount=validActivationCandidateCountz%, outOfRangeActivationCandidateCount="outOfRangeActivationCandidateCountzeout/save_selector_predecessor_tail_reset.* narrows persistence inside predecessor root 1:0; lastFill=lastFillVaHexz, tailRange=tailRangeHexz, tailOpcode10RowCount=tailOpcode10RowCountz, tailValidSecondaryFillCount=tailValidSecondaryFillCountz, localTailResetFound=localTailResetFoundz#, tailCurrentRootRangePointerCount= tailCurrentRootRangePointerCountz, tailRouteRefs=tailCurrentRootExactRefCounttailFrontierLeafRefCounttailCurrentReaderRefCounttailSourceRecordRefCounttailTargetRecordRefCountz , tailBranchToCurrentRouteCount=tailBranchToCurrentRouteCountz$, tailDirectCurrentRouteBridgeFound=!tailDirectCurrentRouteBridgeFoundpredecessorProgressPollinputQualitypredecessorDirectionSweepPollpredecessorBranchStatePoll'predecessorHighFrequencyBranchStatePoll/predecessorLeftOverrunActivationBranchStatePoll%predecessorNearestExitBranchStatePoll(predecessorReciprocalExitBranchStatePoll$predecessorCoordinateBranchStatePoll$predecessorTrailStartBranchStatePoll*predecessorTrailLeftOverrunBranchStatePollruntimeBranchStateSplit,leftOverrunActivationRuntimeBranchStateSplit"nearestExitRuntimeBranchStateSplit%reciprocalExitRuntimeBranchStateSplit!coordinateRuntimeBranchStateSplit!trailStartRuntimeBranchStateSplit'trailLeftOverrunRuntimeBranchStateSplit$highFrequencyRuntimeBranchStateSplit predecessorFillExecutionOrderGap#predecessorFillSiteExecutionContextfieldEntrySequenceContextzout/save_selector_predecessor_branch_state_execution_gap.* consolidates predecessor branch-state execution/persistence; fillWouldPass=z, tailReset=predecessorLocalTailResetFoundz, directGlobalSecondaryWriters=z , unresolvedGlobalSecondaryRefs=z, runtimeOrderGapOpen=z, fillExecutionOrderProofFound=fillExecutionOrderProofFoundz, fillOrderTrace=localFillTraceStartHexlocalFillTraceStopHexz, fillOrderRootEntryReach=)rootEntryFixedTraversalFillSitesReachablez, fillOrderEncoded=encodedFillEntryClassificationz, fillOrderRaw='encodedFillEntryRawScalarCandidateCountz, fillOrderRootTailRaw=/encodedFillEntryRootTailRawScalarCandidateCountz, fillOrderPromoting='encodedFillEntryPromotingCandidateCountz, fillOrderRawScalarReject='encodedRawScalarRejectionClassificationz?, fillOrderRawScalarNoFixed/noBranch/branchAttached/scalarOnly=#encodedRawScalarNoFixedAdvanceCount!encodedRawScalarNoBranchJumpCount#encodedRawScalarBranchAttachedCountencodedRawScalarScalarOnlyCountz!, fillSiteExecutionContextProven=fillSiteExecutionContextProvenz, fillContextPolls=branchStatePollCountbranchStatePollSequenceCountbranchStatePollSampleCountz, fillContextPublic=(branchStatePollPublicPredecessorHitCountz, fillContextCurrentRoot="branchStatePollCurrentRootHitCountz, fillContextRoute2_0=$branchStatePollRouteSelectorHitCountz, fillContextMatches=branchStatePollFillMatchCountz, fillContextAllZero=branchStatePollAllZeroCountz, fillContextTargetStatus=&branchStatePollTargetObservationStatusz", fillContextFieldEntryCandidates=fieldEntryCandidateCountz%, fillContextSnapshotRouteCandidates=snapshotRouteCandidateCountz , fillContextBranchGatePreserve=,branchGateKnownOpcodeStatePreservationStatusz", fillContextBranchGateSameOffset=branchGateSameTableAndOffset&branchGateSameSelectionBufferOffsetHexz!, fillContextBranchGateWriteRead=(branchGatePostWriterSameOffsetWriteCount'branchGatePostWriterSameOffsetReadCountz, fillContextBranchGateOther=)branchGatePostWriterOtherOffsetWriteCount.branchGatePostWriterOtherOffsetWriteOffsetsHexz, fillContextBranchGateInvalid=(branchGateInvalidSecondaryFillOffsetsHexz, predecessorProgressPollSeq=z!, predecessorProgressPollSamples=z', predecessorProgressObservedSelectors=z$, predecessorProgressObservedPublic=z, predecessorProgressInputPid=z$, predecessorProgressInputKeyWrites=z%, predecessorProgressInputPressedSeq=z(, predecessorProgressInputPressedEvents=z", predecessorProgressInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  r#   offsets     r   r%   z build_summary.<locals>.<genexpr>  s     tFtrr   observedPressedKeyOffsetsz, predecessorProgressPublicHit=z!, predecessorProgressCurrentRoot=z, predecessorProgressRoute2_0=z, predecessorProgressWatch=z, predecessorDirectionSweepSeq=z#, predecessorDirectionSweepSamples=z-, predecessorDirectionSweepObservedSelectors=z*, predecessorDirectionSweepObservedPublic=z$, predecessorDirectionSweepInputPid=z*, predecessorDirectionSweepInputKeyWrites=z+, predecessorDirectionSweepInputPressedSeq=z., predecessorDirectionSweepInputPressedEvents=z(, predecessorDirectionSweepInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>       {F{rr   z%, predecessorDirectionSweepPublicHit=z', predecessorDirectionSweepCurrentRoot=z$, predecessorDirectionSweepRoute2_0=z!, predecessorDirectionSweepWatch=z , predecessorBranchStatePollSeq=z$, predecessorBranchStatePollSamples=z*, predecessorBranchStateObservedSelectors=z', predecessorBranchStateObservedPublic=z!, predecessorBranchStateInputPid=z', predecessorBranchStateInputKeyWrites=z(, predecessorBranchStateInputPressedSeq=z+, predecessorBranchStateInputPressedEvents=z%, predecessorBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>       xFxrr   z#, predecessorBranchStateActiveFlag=activeSelectionFlagHexz, predecessorBranchState=secondaryBranchStateHexesz$, predecessorBranchStateMatchesFill= matchesPredecessorFillHypothesisz , predecessorBranchStateAllZero=secondaryBranchStateAllZeroz!, predecessorBranchStateRoute2_0=z-, predecessorHighFrequencyBranchStatePollSeq=z1, predecessorHighFrequencyBranchStatePollSamples=z2, predecessorHighFrequencyBranchStatePollInterval=z7, predecessorHighFrequencyBranchStateObservedSelectors=z4, predecessorHighFrequencyBranchStateObservedPublic=z., predecessorHighFrequencyBranchStateInputPid=z4, predecessorHighFrequencyBranchStateInputKeyWrites=z5, predecessorHighFrequencyBranchStateInputPressedSeq=z8, predecessorHighFrequencyBranchStateInputPressedEvents=z2, predecessorHighFrequencyBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>  s       BF  Brr   z0, predecessorHighFrequencyBranchStateActiveFlag=z&, predecessorHighFrequencyBranchState=z1, predecessorHighFrequencyBranchStateMatchesFill=z-, predecessorHighFrequencyBranchStateAllZero=z., predecessorHighFrequencyBranchStateRoute2_0=z5, predecessorLeftOverrunActivationBranchStatePollSeq=z9, predecessorLeftOverrunActivationBranchStatePollSamples=z?, predecessorLeftOverrunActivationBranchStateObservedSelectors=z<, predecessorLeftOverrunActivationBranchStateObservedPublic=z6, predecessorLeftOverrunActivationBranchStateInputPid=z<, predecessorLeftOverrunActivationBranchStateInputKeyWrites=z=, predecessorLeftOverrunActivationBranchStateInputPressedSeq=z@, predecessorLeftOverrunActivationBranchStateInputPressedEvents=z:, predecessorLeftOverrunActivationBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>;  s       DF  Drr   z8, predecessorLeftOverrunActivationBranchStateActiveFlag=z., predecessorLeftOverrunActivationBranchState=z9, predecessorLeftOverrunActivationBranchStateMatchesFill=z5, predecessorLeftOverrunActivationBranchStateAllZero=z6, predecessorLeftOverrunActivationBranchStateRoute2_0=z+, predecessorNearestExitBranchStatePollSeq=z/, predecessorNearestExitBranchStatePollSamples=z5, predecessorNearestExitBranchStateObservedSelectors=z2, predecessorNearestExitBranchStateObservedPublic=z,, predecessorNearestExitBranchStateInputPid=z2, predecessorNearestExitBranchStateInputKeyWrites=z3, predecessorNearestExitBranchStateInputPressedSeq=z6, predecessorNearestExitBranchStateInputPressedEvents=z0, predecessorNearestExitBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>W  rL  rr   z., predecessorNearestExitBranchStateActiveFlag=z$, predecessorNearestExitBranchState=z/, predecessorNearestExitBranchStateMatchesFill=z+, predecessorNearestExitBranchStateAllZero=z,, predecessorNearestExitBranchStateRoute2_0=z , predecessorNearestExitTargets=targetedExitCandidatesz., predecessorReciprocalExitBranchStatePollSeq=z2, predecessorReciprocalExitBranchStatePollSamples=z8, predecessorReciprocalExitBranchStateObservedSelectors=z5, predecessorReciprocalExitBranchStateObservedPublic=z/, predecessorReciprocalExitBranchStateInputPid=z5, predecessorReciprocalExitBranchStateInputKeyWrites=z6, predecessorReciprocalExitBranchStateInputPressedSeq=z9, predecessorReciprocalExitBranchStateInputPressedEvents=z3, predecessorReciprocalExitBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>w  rJ  rr   z1, predecessorReciprocalExitBranchStateActiveFlag=z', predecessorReciprocalExitBranchState=z2, predecessorReciprocalExitBranchStateMatchesFill=z., predecessorReciprocalExitBranchStateAllZero=z/, predecessorReciprocalExitBranchStateRoute2_0=z#, predecessorReciprocalExitTargets=z*, predecessorCoordinateBranchStatePollSeq=z., predecessorCoordinateBranchStatePollSamples=z4, predecessorCoordinateBranchStateObservedSelectors=z1, predecessorCoordinateBranchStateObservedPublic=z+, predecessorCoordinateBranchStateInputPid=z1, predecessorCoordinateBranchStateInputKeyWrites=z2, predecessorCoordinateBranchStateInputPressedSeq=z5, predecessorCoordinateBranchStateInputPressedEvents=z/, predecessorCoordinateBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>  s     vFvrr   z-, predecessorCoordinateBranchStateActiveFlag=z#, predecessorCoordinateBranchState=z., predecessorCoordinateBranchStateMatchesFill=z*, predecessorCoordinateBranchStateAllZero=z+, predecessorCoordinateBranchStateRoute2_0=z, predecessorCoordinateClass= coordinateAnalysisClassificationz%, predecessorCoordinateStartObserved=coordinateAnyStartTileObservedz&, predecessorCoordinateTargetObserved=coordinateAnyTargetTileObservedz*, predecessorTrailStartBranchStatePollSeq=z., predecessorTrailStartBranchStatePollSamples=z4, predecessorTrailStartBranchStateObservedSelectors=z1, predecessorTrailStartBranchStateObservedPublic=z+, predecessorTrailStartBranchStateInputPid=z1, predecessorTrailStartBranchStateInputKeyWrites=z2, predecessorTrailStartBranchStateInputPressedSeq=z5, predecessorTrailStartBranchStateInputPressedEvents=z/, predecessorTrailStartBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>  s     wFwrr   z#, predecessorTrailStartBranchState=z., predecessorTrailStartBranchStateMatchesFill=z*, predecessorTrailStartBranchStateAllZero=z+, predecessorTrailStartBranchStateRoute2_0=z, predecessorTrailStartClass=trailStartClassificationz , predecessorTrailStartObserved=trailAnyStartTileObservedz&, predecessorTrailStartTargetObserved=trailAnyTargetTileObservedz!, predecessorTrailStartTrailMove=trailAnyTrailMovementObservedz0, predecessorTrailLeftOverrunBranchStatePollSeq=z4, predecessorTrailLeftOverrunBranchStatePollSamples=z:, predecessorTrailLeftOverrunBranchStateObservedSelectors=z7, predecessorTrailLeftOverrunBranchStateObservedPublic=z1, predecessorTrailLeftOverrunBranchStateInputPid=z7, predecessorTrailLeftOverrunBranchStateInputKeyWrites=z8, predecessorTrailLeftOverrunBranchStateInputPressedSeq=z;, predecessorTrailLeftOverrunBranchStateInputPressedEvents=z5, predecessorTrailLeftOverrunBranchStateInputOffsets=c              3  2   K   | ]  }t        |        y wrp   r  rF  s     r   r%   z build_summary.<locals>.<genexpr>  s     ~F~rr   z), predecessorTrailLeftOverrunBranchState=z4, predecessorTrailLeftOverrunBranchStateMatchesFill=z0, predecessorTrailLeftOverrunBranchStateAllZero=z1, predecessorTrailLeftOverrunBranchStateRoute2_0=z#, predecessorTrailLeftOverrunClass=trailLeftOverrunClassificationz*, predecessorTrailLeftOverrunCameraTarget='trailLeftOverrunAnyCameraTargetObservedz+, predecessorTrailLeftOverrunCameraOutside=(trailLeftOverrunAnyCameraOutsideObservedz, runtimeBranchStateSplit=z$, runtimeBranchStateSplitPublicPred=publicPredecessorReachedz&, runtimeBranchStateSplitObservedFill=observedMatchesFillz!, runtimeBranchStateSplitAllZero=observedAllZeroz', runtimeBranchStateSplitStaticNoReset=staticNoLocalTailReset#staticNoDirectGlobalSecondaryWriterstaticHelperOpcode10Onlyz, runtimeBranchStateSplitNext=nextProofFocusz/, leftOverrunActivationRuntimeBranchStateSplit=z;, leftOverrunActivationRuntimeBranchStateSplitObservedFill=z6, leftOverrunActivationRuntimeBranchStateSplitAllZero=z%, nearestExitRuntimeBranchStateSplit=z/, nearestExitRuntimeBranchStateSplitPublicPred=z1, nearestExitRuntimeBranchStateSplitObservedFill=z,, nearestExitRuntimeBranchStateSplitAllZero=z), nearestExitRuntimeBranchStateSplitNext=z(, reciprocalExitRuntimeBranchStateSplit=z2, reciprocalExitRuntimeBranchStateSplitPublicPred=z4, reciprocalExitRuntimeBranchStateSplitObservedFill=z/, reciprocalExitRuntimeBranchStateSplitAllZero=z,, reciprocalExitRuntimeBranchStateSplitNext=z$, coordinateRuntimeBranchStateSplit=z., coordinateRuntimeBranchStateSplitPublicPred=z1, coordinateRuntimeBranchStateSplitStartObserved=z2, coordinateRuntimeBranchStateSplitTargetObserved=z(, coordinateRuntimeBranchStateSplitNext=z$, trailStartRuntimeBranchStateSplit=z., trailStartRuntimeBranchStateSplitPublicPred=z1, trailStartRuntimeBranchStateSplitStartObserved=z2, trailStartRuntimeBranchStateSplitTargetObserved=z-, trailStartRuntimeBranchStateSplitTrailMove=z(, trailStartRuntimeBranchStateSplitNext=z*, trailLeftOverrunRuntimeBranchStateSplit=z4, trailLeftOverrunRuntimeBranchStateSplitPublicPred=z6, trailLeftOverrunRuntimeBranchStateSplitCameraTarget=cameraTargetObservedz7, trailLeftOverrunRuntimeBranchStateSplitCameraOutside=cameraOutsideObservedz., trailLeftOverrunRuntimeBranchStateSplitNext=z', highFrequencyRuntimeBranchStateSplit=z1, highFrequencyRuntimeBranchStateSplitPublicPred=z3, highFrequencyRuntimeBranchStateSplitObservedFill=z., highFrequencyRuntimeBranchStateSplitAllZero=z/, highFrequencyRuntimeBranchStateSplitInterval=z", failedBranchStateExecutionGates=!failedBranchStateExecutionGateIdsz!, branchStateExecutionProofFound=branchStateExecutionProofFoundz, persistencePromotable=persistencePromotablez}out/save_selector_predecessor_fill_execution_order_gap.* isolates predecessor fill-site execution/order; localFillTraceStart=z, localFillTraceStop=z, localFillTraceStopReason=localFillTraceStopReasonz, localFillTraceStopHandler=localFillTraceStopHandlerHexz%, localFillTraceContainsAllFillSites="localFillTraceContainsAllFillSitesz, localFillTraceReachesReader="localFillTraceReachesCurrentReaderz,, rootEntryFixedTraversalFillSitesReachable=z, directFillSiteRefCounts=directFillSiteRefCountsz, fillEntryFragmentRange=fillEntryCandidateScanfillFragmentRangeHexz, fillEntryDwordRefs=allDwordRefCountz, fillEntryRootRangeDwordRefs=!predecessorRootRangeDwordRefCountz, fillEntryRootBranchTargets=rootBranchTargetCandidateCountz, encodedFillEntry=z, encodedFillEntryRawScalars=z%, encodedFillEntryRootTailRawScalars=z!, encodedFillEntryBranchAttached=/encodedFillEntryBranchAttachedEncodedFieldCountz%, encodedFillEntryModeledControlFlow=0encodedFillEntryModeledControlFlowCandidateCountz, encodedFillEntryPromoting=z, encodedRawScalarReject=z=, encodedRawScalarNoFixed/noBranch/branchAttached/scalarOnly=z, rootTail=rootTailIsolationScandistanceHex
dwordCountz, rootTailDescriptorIsolated=rootTailDescriptorIsolatedz, rootTailHandlers=textHandlerRowCountdataHandlerRowCountotherHandlerRowCountz, rootTailBranchClasses=rootTailBranchTargetClassCountsz, rootTailBranchSections=!rootTailBranchTargetSectionCountsz, rootTailBranchToFill=!rootTailBranchToFillFragmentCountz, rootTailBranchToReader="rootTailBranchToCurrentReaderCountz, rootTailFixedToFill=#rootTailFixedFallthroughToFillCountz, rootTailClosure=$rootTailBranchClosureBranchSeedCountrootTailBranchClosureEdgeCount-rootTailBranchClosureBranchSeedReachFillCount6rootTailBranchClosureBranchSeedReachCurrentReaderCountz, rootTailClosureOutside=*rootTailBranchClosureOutsideSuccessorCount0rootTailBranchClosureOutsideSuccessorClassCounts2rootTailBranchClosureOutsideSuccessorSectionCountsz, rootTailClosureClass=#rootTailBranchClosureClassificationz, rootTailBeforeFill=immediatePredecessorRowhandlerSectionz,, predecessorDispatchSliceRuntimeProofFound=)predecessorDispatchSliceRuntimeProofFoundz%, predecessorDispatchTableProofFound="predecessorDispatchTableProofFoundz!, predecessorDispatchFailedGates=%predecessorDispatchTableFailedGateIdsz*, predecessorDispatchMissingEvidenceCount='predecessorDispatchTableMissingEvidencez", predecessorDispatchEvidenceRefs=(predecessorDispatchTableEvidenceRefCountz&, predecessorDescriptorDependsOnSlice=4predecessorDescriptorDependsOnSaveSelectorSliceModelz(, predecessorRawGeneralDiffersFromSlice=2predecessorDispatchRawGeneralDiffersFromSliceCountz , predecessorSliceByteReachable=1predecessorDispatchSliceGenericByteReachableCountz$, predecessorSliceRequiresTableBase=4predecessorDispatchSliceRequiresTableBaseSwitchCountz, predecessorSliceDynamic=1predecessorDispatchDynamicIndexedDispatchRowCount1predecessorDispatchDynamicScopeTableCallbackCount=predecessorDispatchDynamicSaveSelectorTableImmediateNearCountz-, predecessorSliceDynamicTableBaseCandidates==predecessorDispatchDynamicSaveSelectorTableBaseCandidateCountz#, predecessorSliceDynamicTableBase=IpredecessorDispatchDynamicSaveSelectorTableBaseSwitchStaticCandidateFoundz%, predecessorDispatchTableBaseReject=3predecessorDispatchTableBaseRejectionClassificationz, rawGeneric=rawGenericClassificationz, rawGenericHandlers=rawGenericHandlerCountz", rawGenericRoute/fill/currentImm= rawGenericRouteImmediateHitCountrawGenericFillImmediateHitCount"rawGenericCurrentImmediateHitCountz, rawGenericSelected/branchImm=*rawGenericSelectedPointerImmediateHitCount&rawGenericBranchStateImmediateHitCountz, rawGenericCalls=rawGenericDirectCallCountz, rawGenericMappedCalls=rawGenericMappedDirectCallCountz, rawGenericMappedTargets=!rawGenericMappedDirectCallTargetsz(, rawGenericOneHopRoute/fill/currentImm=&rawGenericOneHopRouteImmediateHitCount%rawGenericOneHopFillImmediateHitCount(rawGenericOneHopCurrentImmediateHitCountz%, rawGenericOneHopSelected/branchImm=0rawGenericOneHopSelectedPointerImmediateHitCount,rawGenericOneHopBranchStateImmediateHitCountz , rawGenericRoute/fillTransfers=%rawGenericRouteDirectTransferHitCount$rawGenericFillDirectTransferHitCountz&, rawGenericOneHopRoute/fillTransfers=+rawGenericOneHopRouteDirectTransferHitCount*rawGenericOneHopFillDirectTransferHitCountz, rawGenericOneHopRouteProof=rawGenericOneHopRouteProofFoundz, rawGenericCallGraph=!rawGenericCallGraphClassificationz, rawGenericCallGraphDepth=rawGenericCallGraphMaxDepthz%, rawGenericCallGraphFunctions/Edges=)rawGenericCallGraphReachableFunctionCount&rawGenericCallGraphDirectCallEdgeCountz+, rawGenericCallGraphRoute/fill/currentImm=)rawGenericCallGraphRouteImmediateHitCount(rawGenericCallGraphFillImmediateHitCount+rawGenericCallGraphCurrentImmediateHitCountz(, rawGenericCallGraphSelected/branchImm=3rawGenericCallGraphSelectedPointerImmediateHitCount/rawGenericCallGraphBranchStateImmediateHitCountz), rawGenericCallGraphRoute/fillTransfers=.rawGenericCallGraphRouteDirectTransferHitCount-rawGenericCallGraphFillDirectTransferHitCountz&, rawGenericCallGraphDepthSensitivity=2rawGenericCallGraphDepthSensitivityMaxDepthCheckedArawGenericCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsFrawGenericCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepthz, rawGenericCallGraphProof=rawGenericCallGraphProofFoundz, rawGenericRouteProof=rawGenericRouteProofFoundz, publicPredecessorReached=z, runtimeObservedFill=runtimeObservedFillz, fieldEntrySeq=fieldEntrySequenceCountz, fieldEntryCandidates=z, fieldEntrySnapshots=fieldEntrySnapshotCountz$, fieldEntrySnapshotRouteCandidates=%fieldEntrySnapshotRouteCandidateCountz, fieldEntryStatus=fieldEntryInputStatusz, coordinateSource=coordinateSourceClassification'coordinateSourceRejectionClassificationz%, coordinateStartPtrStaticTrailImage=3coordinateSourcePublicStartPointerTableTileHitCount-coordinateSourcePublicStartStaticBaseHitCount,coordinateSourcePublicStartTrailRingHitCount(coordinateSourcePublicStartImageHitCountz%, coordinateTrailPtrStaticTrailImage=5coordinateSourceObservedTrailPointerTableTileHitCount/coordinateSourceObservedTrailStaticBaseHitCount.coordinateSourceObservedTrailTrailRingHitCount*coordinateSourceObservedTrailImageHitCountz*, coordinateReciprocalPtrStaticTrailImage=2coordinateSourceReciprocalPointerTableTileHitCount,coordinateSourceReciprocalStaticBaseHitCount+coordinateSourceReciprocalTrailRingHitCount'coordinateSourceReciprocalImageHitCountz, coordinateSourcePromotion=coordinateSourcePromotionStatusz, runtimeBranchStateAllZero=runtimeBranchStateAllZeroz, staticNoLocalTailReset=z, staticResetScopeClosed=staticResetScopeClosedz), predecessorToCurrentForwardBridgeFound=&predecessorToCurrentForwardBridgeFoundz, reverseReuseBeforeFill=reverseReuseBeforeFillCountz, reverseReuseFillSite=reverseReuseFillSiteHitCountz!, selectorMergeRuntimeProofFound=selectorMergeRuntimeProofFoundz!, selectorMergeClosureProofFound=selectorMergeClosureProofFoundz), predecessorPersistenceUsableForCurrent=&predecessorPersistenceUsableForCurrentz, proofGates=$predecessorFillProofGateBlockedCountpredecessorFillProofGateCountz, proofGatePass=!predecessorFillProofGatePassCountz, proofGateAllBlocked=#predecessorFillAllProofGatesBlockedz, proofGateBlockedIds="predecessorFillProofGateBlockedIdsz", failedPredecessorFillOrderGates=!failedPredecessorFillOrderGateIdszout/save_selector_predecessor_fill_opcode10_context.* ties the predecessor fill fragment to opcode 0x10 handler scope without promoting execution/order; opcodeHandler=opcodeHandlerHexz, opcodeEffect=opcodeHandlerStreamEffectTextz, scriptHandlerRefs= scriptHandlerTableReferenceCountz	, helper=helperVaHexz, helperDirectCalls=helperDirectCallCountz, helperOnlyOpcode10=)helperOnlyDirectCallInsideOpcode10Handlerz, fillFragment=z, fillFragmentOpcodes=fillFragmentOpcodesz, decodedFill=decodedOpcode10FillTargetTablesc              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>#  s     uE
rr   decodedOpcode10HelperFillCounts decodedOpcode10ExpectedFillHexesz", fillOpcode10/default/descriptor=fillOpcode10RowCountfillDefaultAdvanceRowCountfillDescriptorStopRowCountz, directFillSiteTextRefs=directFillSiteTextRefCountz, directCurrentReaderTextRefs=directCurrentReaderTextRefCountz , opcode10HandlerRouteImmediate="opcode10HandlerRouteImmediateCountz$, rootTailBranchToFill/Reader/Fixed=z, runtimePublicPredecessor=z, runtimeAllZero=runtimeObservedAllZeroz, runtimeMatchesFill=runtimeMatchesExpectedFillz, branchStatePollSamples=z, branchStatePollFillMatches=z, requiredProofGatePasses=requiredProofGatePassCountz, requiredProofGateFailures=requiredProofGateFailCountz, requiredProofGateAllBlocked=requiredProofGateAllBlockedz, requiredProofGateFailIds=requiredProofGateFailIdsz, failedOpcode10Gates=$failedPredecessorFillOpcode10GateIdscoordinateSourceContextzout/save_selector_predecessor_fill_site_execution_context.* consolidates predecessor fill-site execution context; branchStatePolls=z, branchStatePollSequences=z, branchStatePollPublicHits=z, branchStatePollCurrentHits=z, branchStatePollRouteHits=z, branchStatePollAllZero=z", branchStatePollMovementOrTarget=$branchStatePollMovementOrTargetCount*branchStatePollMovementOrTargetSampleCountz#, branchStatePollTargetObservation=%branchStatePollTargetObservationCount+branchStatePollTargetObservationSampleCountz(, branchStatePollTargetFillCurrentRoute=.branchStatePollTargetObservationFillMatchCount3branchStatePollTargetObservationCurrentRootHitCount5branchStatePollTargetObservationRouteSelectorHitCountz", branchStatePollCameraOnlyTarget=$branchStatePollCameraOnlyTargetCountz$, branchStatePollActorOrTrailTarget=&branchStatePollActorOrTrailTargetCountz), branchStatePollTargetObservationStatus=z*, rootEntryFixedTraversalVisitedNodeCount='rootEntryFixedTraversalVisitedNodeCountrootTailDistanceHexrootTailDwordCountz, descriptorBridgeProofFound=descriptorBridgeProofFoundz, descriptorClosureNodes=%descriptorRootClosureVisitedNodeCount%descriptorFillClosureVisitedNodeCountz, descriptorFillEdges=)descriptorRootClosureFillSiteEdgeHitCount.descriptorFillClosureCurrentReaderEdgeHitCountz, descriptorEdgeReject=%descriptorEdgeRejectionClassificationz, descriptorRouteEdges=/descriptorEdgeRootRouteExecutionTargetEdgeCount/descriptorEdgeFillRouteExecutionTargetEdgeCountz, descriptorEdgeCounts='descriptorEdgeDescriptorTargetEdgeCount+descriptorEdgeRouteExecutionTargetEdgeCount.descriptorEncodedTargetRawScalarCandidateCount2descriptorEncodedTargetRootRawScalarCandidateCount2descriptorEncodedTargetFillRawScalarCandidateCount.descriptorEncodedTargetPromotingCandidateCount%descriptorEncodedTargetClassificationz, dispatchTableProof=z, dispatchFailedGates=z, dispatchMissingEvidenceCount=z, dispatchEvidenceRefs=z, dispatchTableBaseReject=z+, rawGenericCallGraphDepth/Functions/Edges=z, branchGatePreserve=z, branchGateSameOffset=z, branchGateWriteRead=z, branchGateOther=z, branchGateInvalid=z, runtimeFillObserved=runtimeFillObservedz, fieldEntrySelectors=finalSelectorCountsz, fieldEntryCameras=finalCameraTileCountssnapshotCountz, fieldEntrySnapshotSelectors=snapshotSelectorCountsz, fieldEntrySnapshotCameras=snapshotCameraTileCountsz, fieldEntryClasses=classificationCountsz, coordinateSourceClass=z, coordinateSourceReject=z+, coordinateSourceStartPtrStaticTrailImage='publicSaveStartPointerTableTileHitCount!publicSaveStartStaticBaseHitCount publicSaveStartTrailRingHitCountpublicSaveStartImageHitCountz0, coordinateSourceReciprocalPtrStaticTrailImage="reciprocalPointerTableTileHitCountreciprocalStaticBaseHitCountreciprocalTrailRingHitCountreciprocalImageHitCountz, requiredProofGates=z, failedPredecessorFillGates=failedPredecessorFillGateIdsrootStopDescriptorClosurefillStopDescriptorClosuredescriptorTargetEdgeSummaryzout/save_selector_predecessor_descriptor_bridge_gap.* checks descriptor-boundary pointer bridges after the predecessor fill-order stops; rootStop=predecessorRootStopSiteHex predecessorRootStopDescriptorHexz, fillStop=predecessorFillStopSiteHex predecessorFillStopDescriptorHexz, rootClosureNodes=visitedNodeCountz, rootClosureEdges=	edgeCountz+, rootStopClosureReachesFillStopDescriptor=(rootStopClosureReachesFillStopDescriptorz, rootStopToFillBridgeFound=rootStopToFillBridgeFoundz, fillClosureNodes=z, fillClosureEdges=z, fillStopClosureSelfLoopFound=fillStopClosureSelfLoopFoundz, fillStopToCurrentBridgeFound=fillStopToCurrentBridgeFoundz, sharedDescriptorOnly=sharedDescriptorOnlyz, descriptorTargetEdges=rootDescriptorTargetEdgeCountfillDescriptorTargetEdgeCountz, routeExecutionTargetEdges=!rootRouteExecutionTargetEdgeCount!fillRouteExecutionTargetEdgeCountz, descriptorEdgeAllData=#descriptorEdgeAllTargetSectionsDataz, failedDescriptorBridgeGates=failedDescriptorBridgeGateIdstablesprimaryBranchStateopcode11zTout/save_selector_branch_state.* documents opcode 0x11 branch-state tables; handler=z
, primary=rangeHexz refs=r   z
 refKinds=refKindCountsz writeValues=writeValueCountsz, secondary=z(, condition=value1FallthroughElseBranch.zRout/save_selector_branch_state_writers.* keeps primaryBranchState inherited; base=	baseVaHexz, directWriterCount=directWriterCountz, clusterCount=clusterCountzL, writer clusters are earlier runtime object/party/list evaluation routines.eventHandlerTableclustersc              3  f   K   | ])  }|j                  d       xs i j                  dd       + yw)rG	  rb  rh   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>*  s4      
 WW()/R44[#F
r   zcout/save_selector_branch_state_dispatch.* maps writer clusters through event/object dispatch table z; dispatcher=dispatcherVaHexz
, opcodes=z, directRelativeCallRefs=c              3  @   K   | ]  }|j                  d d        yw)directRelativeCallRefCountr   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>3  s     )gWZ#''2NPQ*R)gr   z, pointerRefs=c              3  @   K   | ]  }|j                  d d        yw)pointerRefCountr   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>4  s     Qsww'8!<Qr   secondaryDirectWriteszaout/save_selector_secondary_state_sources.* keeps secondaryBranchState inherited; candidateCount=z, beforeFrontierCount=beforeFrontierCountz, validBeforeFrontierCount=validBeforeFrontierCountz, validAfterFrontierCount=validAfterFrontierCountzout/save_selector_branch_state_opcode_overlap.* rejects current save-selector opcode overlap as event/object proof; overlapCount=overlapCountz*, overlapBeforeCurrentFrontierReaderCount='overlapBeforeCurrentFrontierReaderCountz, currentFrontierReader=currentFrontierReaderHexzB, saveSelectorDispatch=0x00440720, eventObjectDispatch=0x0047f1d8.zout/event_object_branch_state_stream_candidates.* keeps raw event/object branch-state byte pairs as candidates only; candidateCount=z
, byIndex=candidateCountsByIndexz, byConfidence=candidateCountsByConfidencezout/event_object_branch_state_candidate_links.* does not link medium event/object branch-state candidates to current route indexes or ranges; mediumCandidateCount=mediumCandidateCountz, currentRouteLinkedCount=currentRouteLinkedCountz, currentRouteRangeHitCount=currentRouteRangeHitCountz", routeMapContainerCandidateCount=routeMapContainerCandidateCountz', emptySelectorContainerCandidateCount=$emptySelectorContainerCandidateCountzout/event_object_branch_state_block_context.* classifies medium event/object branch-state candidates as non-promotion evidence; candidateCount=z, nearbyCnsCandidateCount=nearbyCnsCandidateCountz, menuLikeCandidateCount=menuLikeCandidateCountzGout/save_selector_predecessor_route_order.* keeps predecessor selector z/ target-side only; sourceRoutePreviousSelector=z, predecessorConfirmedOverlap=predecessorConfirmedOverlapz, routePairPreviousSelectors=routePairPreviousSelectorsz, and routeOrderProven=zBout/save_selector_set_decomposition.* decomposes current selector z as predecessor z plus z%; currentEqualsPredecessorPlusSource="currentEqualsPredecessorPlusSourcez&, sourcePredecessorUnionCoversCurrent=#sourcePredecessorUnionCoversCurrentz", sourcePredecessorUnionExtraMaps=sourcePredecessorUnionExtraMapsz", exactPreviousSelectorUnionCount=exactPreviousSelectorUnionCountz , listRecompositionPatternFound=listRecompositionPatternFoundz, executionOrderProven=executionOrderProvenz&, failedSelectorSetDecompositionGates=%failedSelectorSetDecompositionGateIdscurrentzlout/save_selector_recomposition_lattice.* scans all save-scene selector map sets; selectorWithFieldMapCount=selectorWithFieldMapCountz, oneMapAugmentationCount=oneMapAugmentationCountz, exactPairUnionCount=exactPairUnionCountz, routePairSelectorCount=routePairSelectorCountz, routePairOnlyCurrentSelector=routePairOnlyCurrentSelectorz%, currentEqualsPredecessorPlusSource=z, currentExactPairUnionCount=currentExactPairUnionsz_out/save_selector_address_predecessor_context.* isolates the address-adjacent target-side root addressPredecessorSelectorz before current selector z3; addressPredecessorEqualsLogicalPredecessorMapSet=0addressPredecessorEqualsLogicalPredecessorMapSetz,, currentEqualsAddressPredecessorPlusSource=)currentEqualsAddressPredecessorPlusSourcez*, addressPredecessorToCurrentRootRefCount='addressPredecessorToCurrentRootRefCountz>, addressPredecessorToCurrentRootRefIsCurrentSelectorRowEntry=;addressPredecessorToCurrentRootRefIsCurrentSelectorRowEntryz1, addressPredecessorCurrentRootRefClassification=.addressPredecessorCurrentRootRefClassificationz7, addressPredecessorLastFillAllStartsPassCurrentReader=4addressPredecessorLastFillAllStartsPassCurrentReaderz;, addressPredecessorTailHasKnownSecondaryFillAfterLastFill=8addressPredecessorTailHasKnownSecondaryFillAfterLastFillz6, addressPredecessorPassingFillStillNotExecutionProof=3addressPredecessorPassingFillStillNotExecutionProofz5, addressPredecessorTailCurrentRootRangePointerCount=2addressPredecessorTailCurrentRootRangePointerCountz1, addressPredecessorTailCurrentRootExactRefCount=.addressPredecessorTailCurrentRootExactRefCountz/, addressPredecessorTailFrontierReaderRefCount=,addressPredecessorTailFrontierReaderRefCountz-, addressPredecessorTailSourceRecordRefCount=*addressPredecessorTailSourceRecordRefCountz-, addressPredecessorTailTargetRecordRefCount=*addressPredecessorTailTargetRecordRefCountz0, addressPredecessorTailLooksLikeDescriptorData=-addressPredecessorTailLooksLikeDescriptorDataz#, addressContiguityProvesExecution= addressContiguityProvesExecutionz, and executionOrderProven=zpout/save_selector_mapset_aliases.* separates duplicate target-side selector map sets; duplicateMapSetGroupCount=duplicateMapSetGroupCountz, duplicateMapSetSelectorCount=duplicateMapSetSelectorCountz, targetAliasSelectors=targetAliasSelectorsz, targetAliasPublicSampleCount=targetAliasPublicSampleCountz%, currentEqualsTargetAliasPlusSource="currentEqualsTargetAliasPlusSourcez, sourceTargetUnionExtraMaps=sourceTargetUnionExtraMapsz3, addressPredecessorEqualsLogicalPredecessorMapSet=zout/save_selector_target_alias_state_effects.* applies the current-reader branch-state equation to target-side aliases; targetAliasSelectors=z, aliasPassCount=aliasPassCountz-, aliasesThatWouldPassIfExecutedAndPersisted=*aliasesThatWouldPassIfExecutedAndPersistedz, aliasNoFillProofCount=aliasNoFillProofCountz, aliasesWithoutFillProof=aliasesWithoutFillProofz , allTargetAliasesHaveFillProof=allTargetAliasesHaveFillProofz, currentWriterVaHex=z, currentReaderVaHex=aliasToCurrentTargetClassCountsc              3  2   K   | ]  }| d |      ywr   rO   )r#   r    target_alias_bridge_class_countss     r   r%   z build_summary.<locals>.<genexpr>  s+      2
 e15c:;<2
r   ,aliasToCurrentAfterLastFillTargetClassCountsc              3  2   K   | ]  }| d |      ywr   rO   )r#   r   0target_alias_bridge_after_last_fill_class_countss     r   r%   z build_summary.<locals>.<genexpr>  s-      B
 e1EcJKLB
r   zout/save_selector_target_alias_bridges.* scans direct alias-root dword links into the bounded current root; targetAliasSelectors=z, currentRootRangeHex=currentRootRangeHexz, aliasToCurrentHitCount=aliasToCurrentHitCountz!, aliasToCurrentMetadataHitCount=aliasToCurrentMetadataHitCountz, aliasToCurrentDataHitCount=aliasToCurrentDataHitCountz, publicCoveredAliasSelectors=publicCoveredAliasSelectorsz#, publicCoveredForwardHitSelectors= publicCoveredForwardHitSelectorsz, forwardHitPublicSampleCount=forwardHitPublicSampleCountz%, addressAdjacentForwardHitSelectors="addressAdjacentForwardHitSelectorsz!, forwardHitsAddressAdjacentOnly=forwardHitsAddressAdjacentOnlyz!, publicForwardHitCoverageStatus=publicForwardHitCoverageStatusz&, targetAliasExecutionExclusionStatus=#targetAliasExecutionExclusionStatusz, aliasesWithForwardHits=aliasesWithForwardHitsz, aliasesWithForwardDataHits=aliasesWithForwardDataHitsz#, aliasesWithAfterLastFillDataHits= aliasesWithAfterLastFillDataHitsz, dominantForwardDataAliases=dominantForwardDataAliasesz#, dominantAfterLastFillDataAliases= dominantAfterLastFillDataAliasesz', aliasToCurrentPromotingExactHitCount=$aliasToCurrentPromotingExactHitCountz*, aliasToCurrentPromotingMetadataHitCount='aliasToCurrentPromotingMetadataHitCountz&, aliasToCurrentPromotingDataHitCount=#aliasToCurrentPromotingDataHitCountz+, aliasToCurrentPromotingExactMetadataOnly=(aliasToCurrentPromotingExactMetadataOnlyz-, aliasToCurrentPromotingMetadataSourceRoles=*aliasToCurrentPromotingMetadataSourceRolesz,, aliasToCurrentReaderOrSceneRecordHitCount=)aliasToCurrentReaderOrSceneRecordHitCountz", aliasToCurrentLeafTableHitCount=aliasToCurrentLeafTableHitCountz+, aliasToCurrentLeafTableRoutePairHitCount=(aliasToCurrentLeafTableRoutePairHitCountz(, aliasToCurrentLeafTableReaderHitCount=%aliasToCurrentLeafTableReaderHitCountz1, aliasToCurrentLeafTableCorrectedReaderHitCount=.aliasToCurrentLeafTableCorrectedReaderHitCountz1, aliasToCurrentLeafTableEffectiveReaderHitCount=.aliasToCurrentLeafTableEffectiveReaderHitCountz., aliasToCurrentLeafTableFrontierLeafHitCount=+aliasToCurrentLeafTableFrontierLeafHitCountz+, aliasToCurrentPreWriterUniqueTargetCount=(aliasToCurrentPreWriterUniqueTargetCountz4, aliasToCurrentPreWriterTraceCurrentWriterHitCount=1aliasToCurrentPreWriterTraceCurrentWriterHitCountz4, aliasToCurrentPreWriterTraceCurrentReaderHitCount=1aliasToCurrentPreWriterTraceCurrentReaderHitCountz7, aliasToCurrentPreWriterTraceRouteSceneRecordHitCount=4aliasToCurrentPreWriterTraceRouteSceneRecordHitCountz&, aliasToCurrentAfterLastFillHitCount=#aliasToCurrentAfterLastFillHitCountz*, aliasToCurrentAfterLastFillDataHitCount='aliasToCurrentAfterLastFillDataHitCountz., aliasToCurrentAfterLastFillMetadataHitCount=+aliasToCurrentAfterLastFillMetadataHitCountz/, aliasToCurrentAfterLastFillPreWriterHitCount=,aliasToCurrentAfterLastFillPreWriterHitCountz/, aliasToCurrentAfterLastFillLeafTableHitCount=,aliasToCurrentAfterLastFillLeafTableHitCountz>, aliasToCurrentAfterLastFillLeafTableCorrectedReaderHitCount=;aliasToCurrentAfterLastFillLeafTableCorrectedReaderHitCountz>, aliasToCurrentAfterLastFillLeafTableEffectiveReaderHitCount=;aliasToCurrentAfterLastFillLeafTableEffectiveReaderHitCountz9, aliasToCurrentAfterLastFillReaderOrSceneRecordHitCount=6aliasToCurrentAfterLastFillReaderOrSceneRecordHitCountz8, aliasToCurrentAfterLastFillPreWriterUniqueTargetCount=5aliasToCurrentAfterLastFillPreWriterUniqueTargetCountz8, aliasToCurrentAfterLastFillTraceCurrentWriterHitCount=5aliasToCurrentAfterLastFillTraceCurrentWriterHitCountz8, aliasToCurrentAfterLastFillTraceCurrentReaderHitCount=5aliasToCurrentAfterLastFillTraceCurrentReaderHitCountz;, aliasToCurrentAfterLastFillTraceRouteSceneRecordHitCount=8aliasToCurrentAfterLastFillTraceRouteSceneRecordHitCountz6, aliasToCurrentAfterLastFillExecutionLikeBridgeFound=3aliasToCurrentAfterLastFillExecutionLikeBridgeFoundz+, aliasToCurrentAfterLastFillTargetClasses=z), aliasToCurrentExecutionLikeBridgeFound=z, aliasToCurrentTargetClasses=z, aliasesWithoutForwardHits=aliasesWithoutForwardHitsz, failedTargetAliasBridgeGates=failedTargetAliasBridgeGateIdszqout/save_selector_route_root_ref_context.* checks selector root reference chains; allRouteSelectorRootsTableOnly=allRouteSelectorRootsTableOnlyz, anyRouteSelectorRootTextRefs=anyRouteSelectorRootTextRefsz+, sourceTargetSplitAcrossPreviousSelectors=(sourceTargetSplitAcrossPreviousSelectorsz#, predecessorToCurrentRootRefFound= predecessorToCurrentRootRefFoundz, failedRouteRootRefGates=failedRouteRootRefGateIdspredecessorToCurrentcurrentToPredecessorzout/save_selector_predecessor_bridge_refs.* scans direct dword bridges between predecessor/current roots; predecessorToCurrent=hitCountz, forwardExecutionBridgeFound=forwardExecutionBridgeFoundz, reverseHitsBeforeFill=reverseHitsBeforeFillCountz, reverseHitsToFillSite=reverseHitsToFillSiteCountzout/save_selector_reverse_reuse_context.* classifies current->predecessor reverse hits as reuse, not execution; reverseHitCount=reverseHitCountz , beforePredecessorFillHitCount=beforePredecessorFillHitCountz, fillSiteHitCount=fillSiteHitCountz, unalignedTargetCount=unalignedTargetCountz, forwardMergeBridgeHitCount=zout/save_selector_merge_execution_gap.* consolidates selector merge shape versus execution proof; currentEqualsPredecessorPlusSource=z, routePairOnlyCurrent=z, currentExactPairUnions=currentExactPairUnionCountz, sourceCurrentBridge=currentToSourceBridgeHitCountz, predecessorCurrentBridge=z, reverseBeforeFill=&currentToPredecessorBeforeFillHitCountz, reverseFillSite=z!, targetAliasForwardHitSelectors=targetAliasForwardHitSelectorsz", targetAliasForwardDataSelectors=targetAliasForwardDataSelectorsz(, targetAliasAfterLastFillDataSelectors=%targetAliasAfterLastFillDataSelectorsz., targetAliasPublicCoveredForwardHitSelectors=+targetAliasPublicCoveredForwardHitSelectorsz), targetAliasForwardHitPublicSampleCount=&targetAliasForwardHitPublicSampleCountz0, targetAliasAddressAdjacentForwardHitSelectors=-targetAliasAddressAdjacentForwardHitSelectorsz,, targetAliasPublicForwardHitCoverageStatus=)targetAliasPublicForwardHitCoverageStatusz0, targetAliasToCurrentPromotingMetadataHitCount=-targetAliasToCurrentPromotingMetadataHitCountz,, targetAliasToCurrentPromotingDataHitCount=)targetAliasToCurrentPromotingDataHitCountz1, targetAliasToCurrentPromotingExactMetadataOnly=.targetAliasToCurrentPromotingExactMetadataOnlyz, targetAliasExecutionLike=,targetAliasToCurrentExecutionLikeBridgeFoundz, routeRootExecutionRef=routeRootExecutionRefFoundz#, selectorMergeExecutionProofFound= selectorMergeExecutionProofFoundz!, runtimeOrControlFlowProofFound=runtimeOrControlFlowProofFoundz$, failedSelectorMergeExecutionGates=#failedSelectorMergeExecutionGateIdszkout/save_selector_merge_runtime_context.* ties selector merge shape to runtime proof gates; mergeShapeOnly=mergeShapeOnlyz, forwardBridgeAbsent=forwardBridgeAbsentz, reverseReuseBeforeFillOnly=reverseReuseBeforeFillOnlyz%, anyRuntimePollReachedRouteSelector="anyRuntimePollReachedRouteSelectorz0, constructedDiagnosticPollReachedRouteSelector=z), constructedDiagnosticExcludedFromProof=&constructedDiagnosticExcludedFromProofz,, predecessorFillSiteExecutionContextProven=)predecessorFillSiteExecutionContextProven%predecessorBranchStatePollSampleCountz(, predecessorBranchStatePollFillMatches=(predecessorBranchStatePollFillMatchCountz,, routePairCorrectedTraceReachesReaderCount=z, strictSourceCoordinateFound=r   z, tileHotspotConfirmed=r   z", failedSelectorMergeRuntimeGates=!failedSelectorMergeRuntimeGateIdszout/save_selector_merge_closure_context.* closes selector merge as shape-only, not execution proof; currentEqualsPredecessorPlusSource=z, extraMaps=z, shapeOverIncludesExtraMaps=shapeOverIncludesExtraMapsz, mergeShapeOnly=z!, sourcePredecessorForwardBridge=z, reverseHits=z, targetAliasPublicForward=z$, targetAliasAddressAdjacentForward=z, routeRootsTableOnly=routeRootsTableOnlyz, routeRootPredToCurrentRef=-routeRootRefsPredecessorToCurrentRootRefFoundz$, predecessorFillOpcode10ProofFound=!predecessorFillOpcode10ProofFoundz0, predecessorFillOpcode10RuntimeObservedAllZero=-predecessorFillOpcode10RuntimeObservedAllZeroz7, predecessorFillOpcode10BranchStatePollFillMatchCount=4predecessorFillOpcode10BranchStatePollFillMatchCountz, failedSelectorMergeGates=failedSelectorMergeGateIdszout/save_selector_wrapper_execution_gap.* consolidates current selector leaf selection and wrapper execution proof gaps; evidenceRows=rM   z, wrapperEntry=wrapperEntryHexz, wrapperDescriptor=wrapperDescriptorHexz, wrapperRefBeforeCurrentRoot=wrapperRefBeforeCurrentRootz, currentRootReferencesWrapper=currentRootReferencesWrapperz , wrapperEntryPromotingRefCount=wrapperEntryPromotingRefCountz, routePairReaderTraceGrounded=routePairReaderTraceGroundedz, readerBearingNegativeOnly=readerBearingNegativeOnlyz, opcode07LeafSelectionAbsent=opcode07LeafSelectionAbsentz*, constructedDiagnosticWrapperProofStatus='constructedDiagnosticWrapperProofStatusz,, constructedDiagnosticLeftRecheckRouteHits=7constructedDiagnosticLeftStabilityRouteSelectorHitCount>constructedDiagnosticLeftStabilityRecheckRouteSelectorHitCount@constructedDiagnosticLeftActiveOrderRecheckRouteSelectorHitCountz,, constructedDiagnosticLeftActiveOrderCount=AconstructedDiagnosticLeftActiveOrderRecheckActiveOrderCountValuesz0, constructedDiagnosticExcludedFromWrapperProof=-constructedDiagnosticExcludedFromWrapperProofz, failedWrapperGates=failedWrapperGateIdsz!, currentLeafSelectionProofFound=currentLeafSelectionProofFoundz), currentSelectorLeafExecutionProofFound=&currentSelectorLeafExecutionProofFoundmode2WriterContextzUout/save_selector_opcode24_globals.* keeps opcode 0x24 mode1 source unwritten; range=neighborhoodRangeHexcurrentOpcode24Modez, mode1Reads/Writes= mode1NeighborhoodDirectReadCount!mode1NeighborhoodDirectWriteCountz, mode1DirectWriteCount=mode1DirectWriteCountz$, mode1UnwrittenRuntimeGlobalSource=!mode1UnwrittenRuntimeGlobalSourcez, mode1DirectWriteHole=)mode1DirectWriteHoleBetweenNeighborWritesz, mode1NearestWrites=mode1NearestLowerDirectWriteHex mode1NearestHigherDirectWriteHexz, mode2DirectWriteCount=mode2DirectWriteCountz, mode2Writer=writerInstructionVaHexesz', mode2CopiesCurrentRuntimeObjectIndex=copiesCurrentRuntimeObjectIndexz, mode2Source=sourceGlobalVaHexz, mode2Target=targetGlobalVaHexzzout/save_selector_opcode24_mode1_source_writes.* rules out direct/static writes for opcode 0x24 mode1 source; mode1Source=mode1SourceHexz, rows=z, exactMode1RefCount=exactMode1RefCountz, coveringWriteCount=coveringWriteCountz, coveringWrites=coveringWritesz, indexedWriteCandidateCount=indexedWriteCandidateCountz, indexedWriteCandidates=indexedWriteCandidatesz , addressProducerCandidateCount=addressProducerCandidateCountz, addressProducerCandidates=addressProducerCandidatesz, staticProducerCandidateCount=staticProducerCandidateCountz, staticProducerCandidates=staticProducerCandidateszout/save_selector_opcode24_runtime_enabled_block_writes.* rules out broad static block writes for opcode 0x24 runtime flag; runtimeFlag=runtimeEnabledFlagHexz, scanRange=z, rowDetails=z, addressLikeBases=addressLikeCoveringBaseCountz, addressLikeBaseRows=addressLikeCoveringBasesz, directCoveringWrites=directCoveringWriteCountz, directCoveringWriteRows=directCoveringWritesz, blockWriteCandidates=blockWriteCandidateCountz, blockWriteCandidateRows=blockWriteCandidatesstoragedirectProducerSummarydiagnosticRuntimeWatchzout/save_selector_opcode24_mode1_runtime_context.* fixes opcode 0x24 mode1 source as zero-filled non-save runtime state; mode1Source=z, saveReadBlocks=saveReadBlocks$failedOpcode24RuntimeProducerGateIdsz
, section=sectionNamez	, rawEnd=sectionRawEndVaHexz, virtualEnd=sectionVirtualEndVaHexz, hasRawByte=mode1SourceHasRawBytez, staticInitialValue=staticInitialValueHexz, staticInitialKind=staticInitialValueKindz#, saveReadBlockContainsMode1Source= saveReadBlockContainsMode1Sourcez, directCoveringWriteCount=z, notSavedataBacked=notSavedataBackedz, noStaticProducer=noStaticProducerz, diagnosticMode1Source=mode1SourceValueHexz, diagnosticRuntimeFlag=runtimeFlagValueHexz, diagnosticCurrentObjectIndex=currentObjectIndexValueHexz, diagnosticWatchStable=allWatchedValuesStablez, diagnosticNormalRouteProof=branchOperandzvout/save_selector_opcode24_mode1_default_effect.* ties opcode 0x24 mode1's static default to object+0x61; sourceValue= mode1SourceStaticInitialValueHexz, defaultObject61=defaultObject61ValueHexz, object61Groups=object61ConsumerGroupsz, routeOperandRows=z, saveBacked=mode1SourceSaveBackedz, staticProducer=mode1SourceHasStaticProducerz, branchCns=cnsz, staticDefaultPromotesRoute=staticDefaultPromotesRoutezgout/save_selector_opcode24_payload_table.* keeps the opcode 0x24 payload table pointer-local; opcode24=opcode24VaHexz, dispatchStop=z, payloadWindow=payloadWindowHexz, leafTableWindowStart=leafTableWindowStartHexz, rootTablePointer=rootTablePointerHexz, wrapperLeaf=wrapperLeafHexz, payloadPointerCount=payloadPointerCountz, leafTablePointerCount=leafTablePointerCountz, payloadGraphEdgeCount=payloadGraphEdgeCountz, payloadGraphComponentCount=payloadGraphComponentCountz , payloadGraphExternalEdgeCount=payloadGraphExternalEdgeCountz, payloadGraphAllEdgesLocal=payloadGraphAllEdgesLocalz$, payloadGraphReachesFrontierTarget=!payloadGraphReachesFrontierTargetz, closureReachesFrontierTarget=closureReachesFrontierTargetz", payloadDirectlyTargetsLeafTable=payloadDirectlyTargetsLeafTablezrout/save_selector_opcode24_current_root_modes.* scans current selector 2:0 root opcode 0x24 candidates; rootRange=rootRangeHexz, rowCount=z, opcodeCandidateCount=opcodeCandidateCountz, pointerCollisionCount=pointerCollisionCountz, mode1CandidateCount=mode1CandidateCountz, frontierOperandCount=frontierOperandCountz, routeCnsOperandCount=routeCnsOperandCountz, gateBoundary=gateBoundaryVaHexzout/save_selector_wrapper_descriptor_context.* separates the frontier wrapper from the current root entry run; currentRootDescriptorCount=currentRootDescriptorCountz#, frontierLeafDirectCurrentRootRef= frontierLeafDirectCurrentRootRefz, wrapperChildIsFrontierLeaf=wrapperChildIsFrontierLeafz, wrapperEntryRefCount=wrapperEntryRefCountz', wrapperEntryCurrentRootRangeRefCount=$wrapperEntryCurrentRootRangeRefCountzVMovement is tuned from observation, not from confirmed original frame timing metadata.loop
webMappingzZout/runtime_timing.* identifies the original GetTickCount main-loop tick: frameIntervalMs=frameIntervalMsz, frameCap=frameCapz, nominalFps=
nominalFpsz, updateTarget=updateTargetVaHexz, webDefaultTileStepMs=currentWebDefaultTileStepMsz", exactActorConsumerStillInferred=exactActorConsumerStillInferredzOriginal main-loop frame timing is now identified, but exact actor movement consumer/tile-step mapping is still inferred from sprite frame layout.
mainUpdateinputPollingtileProjectionwebImplementationactorMotionactorControllerpartyTrailHistorypartyActorScreenProjectionspriteFrameSelectorscriptFrameTimerpartyActorFrameScriptsobjectDescriptorTabledescriptorActivationOrderframePointerInitializer!animationStatePointerTableCommand
characterscollisionHelpermapCollisionLoaderdirectionCasesobjectOverlapResponsec              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>  s     .oes5z.orr   initialCursorsc              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>  s      3
 CJ3
rr   webPartyTrailInitialCursorsc              3  h   K   | ]*  }|j                  d       r|j                  d       xs d , yw)resourcera   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s5      )
wwz" GGJ%2%)
r  c              3     K   | ]:  }|j                  d       r'|j                  d        d|j                  d        < yw)rv
  r   baseSurfaceIndexHexNr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  sD      (
wwz" wwz"#1SWW-B%C$DE(
r   zuout/runtime_movement.* identifies the original per-frame movement/input consumer and tile projection: updateFunction=functionVaHexz, perFrameCalls=c              3  F   K   | ]  }|j                  d       xs d  yw)r  ra   Nr    r"   s     r   r%   z build_summary.<locals>.<genexpr>  s!     %pscggm&<&B&B%p   !perFrameCallsz, actionPacker=actionPackerCallz, continuousInputMask=currentInputMaskVaHexz, pressedEdgeMask=pressedEdgeMaskVaHexz, cameraTileGlobals=cameraTileXGlobalHexcameraTileYGlobalHexz, objectTileFields=objectTileXFieldHexobjectTileYFieldHexz, tileSizePixels=tileSizePixelsz$, tileGridAndCameraConsumerGrounded=!tileGridAndCameraConsumerGroundedz%, originalDrawPrepProjectionGrounded="originalDrawPrepProjectionGroundedz#, partyActorDrawProjectionGrounded= partyActorDrawProjectionGroundedz), partyActorAnimationStateValuesGrounded=&partyActorAnimationStateValuesGroundedz&, originalSpriteFrameSelectorGrounded=#originalSpriteFrameSelectorGroundedz,, originalFrameSelectorToSourceRectGrounded=)originalFrameSelectorToSourceRectGroundedz), originalSpriteFrameScriptTimerGrounded=&originalSpriteFrameScriptTimerGroundedz2, actorAnimationStateDirectFrameMappingEliminated=/actorAnimationStateDirectFrameMappingEliminatedz=, actorAnimationStateToFrameSelectorPartyDescriptorsGrounded=:actorAnimationStateToFrameSelectorPartyDescriptorsGroundedz", objectDescriptorTableClassified=objectDescriptorTableClassifiedz, objectDescriptorTableRows=objectDescriptorTableRowCountz&, objectDescriptorPartyStateTableRows=#objectDescriptorPartyStateTableRowsz/, nonPartyDescriptorAnimationStateTablesAbsent=,nonPartyDescriptorAnimationStateTablesAbsentz', nonPartyDescriptorFieldMapRefsAbsent=$nonPartyDescriptorFieldMapRefsAbsentz(, descriptorActivationOrderPathGrounded=%descriptorActivationOrderPathGroundedz*, descriptorActivationOrderCountRuntimeVa='descriptorActivationOrderCountRuntimeVaz#, descriptorActivationOrderBytesVa= descriptorActivationOrderBytesVaz!, descriptorActivationSlotBaseVa=descriptorActivationSlotBaseVaz*, descriptorActivationLoadRebuildGrounded='descriptorActivationLoadRebuildGroundedz5, descriptorActivationOpcode20SelfMutationEliminated=2descriptorActivationOpcode20SelfMutationEliminatedz>, descriptorActivationCurrentSelectorActiveOrderStillUnproven=;descriptorActivationCurrentSelectorActiveOrderStillUnprovenz4, actorAnimationStateToFrameSelectorStillUnresolved=1actorAnimationStateToFrameSelectorStillUnresolvedz1, actorAnimationStateToFrameSelectorRemainingGap=.actorAnimationStateToFrameSelectorRemainingGapz, spriteFrameSelector=selectorFieldHexrC  boundsFunctionHexz surfaceTable=surfaceTableHexz, spriteFrameSelectorCounts=&actorControllerFrameSelectorWriteCount#boundsHelperAnimationStateReadCountz, spriteFrameScriptTimer=generalScriptRunnerHexz, spriteFrameOpcode=frameSelectorOpcodeHexframeSelectorHandlerEntryHexframeSelectorHandlerVaHexz, spriteFrameTimerField=frameTimerFieldHexz, spriteFrameScriptPointer=frameScriptPointerFieldHexz, partyFrameDescriptorTable=descriptorTableHexz&, objectDescriptorTableClassification=z, descriptorActivationOrder=z", descriptorActivationLoadRebuild=loadRebuildCallVaHexloadRebuildFunctionVaHexz, partyFramePointerOpcode=handlerEntryHexz, partyFrameStateTableOpcode=z, partyFrameStateCommand=commandBytesz, partyFrameResources=z, partyFrameSurfaces=webDefaultTileStepMsz$, webFrameQuantizedTileStepGrounded=!webFrameQuantizedTileStepGroundedz', webSourceRectSelectorMappingGrounded=$webSourceRectSelectorMappingGroundedz', webSourceRectSelectorCadenceGrounded=$webSourceRectSelectorCadenceGroundedz", webSourceRectPhaseStillInferred=webSourceRectPhaseStillInferredz, webWalkFrames=walkFramesPerDirectionz, webIdleFrame=	idleFramez, webFirstWalkFrame=firstWalkFramez, webFrameSize=
frameWidthframeHeightz, webWallSlideFallbackPresent=wallSlideFallbackPresentz, webDefaultCollisionMode=defaultCollisionModez$, webCollisionFallbackStillInferred=!webCollisionFallbackStillInferredz1, webDefaultCollisionModeUsesOriginalLayer1Flags=.webDefaultCollisionModeUsesOriginalLayer1Flagsz+, exactActorWalkInterpolationStillInferred=(exactActorWalkInterpolationStillInferredz3, webPositionInterpolationStillVisualApproximation=0webPositionInterpolationStillVisualApproximationz, originalActorPositionModel=originalActorPositionModelz1, originalActorSubTileInterpolationEvidenceFound=.originalActorSubTileInterpolationEvidenceFoundz1, originalActorSubTileInterpolationEvidenceScope=.originalActorSubTileInterpolationEvidenceScopez%, browserInterpolationClassification="browserInterpolationClassificationz&, browserInterpolationOverlayDetected=#browserInterpolationOverlayDetectedz*, browserInterpolationFixedPointPreserved='browserInterpolationFixedPointPreservedz", browserInterpolationOffsetField=browserInterpolationOffsetFieldz2, browserInterpolationOverlayNotPromotingOriginal=/browserInterpolationOverlayNotPromotingOriginalz*, exactActorSpriteFramePhaseStillInferred='exactActorSpriteFramePhaseStillInferredz, actorController=z, collisionHelper=z, actorInputMaskRefs=currentInputMaskRefCountz, actorTileFieldWrites=objectTileXSeedWriteCountobjectTileYSeedWriteCountz, actorTrailRing=indexTableHextileXTableHextileYTableHexdirectionTableHexz, actorTrailSlots=	slotCountz, actorTrailInitialCursors=z, partyActorProjection=z, collisionFlagTable=collisionFlagTableHexcollisionEdgeFlagTableHexz, collisionFlagReads=collisionFlagTableReadCountz, directionBlockBits=directionBlockFlagBitsz, directionCaseCount=z, objectOverlapResponse=z$, objectOverlapClearsDirectionLatch=clearsDirectionLatchOnOverlapz, mapCollisionLoader=z, cnsLayer0Grid=tileWordGridHexz, cnsLayer1CollisionGrid=collisionFlagGridHexz", inputDrivenTileMutationGrounded=inputDrivenTileMutationGroundedz%, originalCollisionFlagTestsGrounded="originalCollisionFlagTestsGroundedz0, originalCollisionFlagTableNotMappedToCnsTiles=-originalCollisionFlagTableNotMappedToCnsTilesz-, originalCollisionFlagGridMappedToCnsLayer1=*originalCollisionFlagGridMappedToCnsLayer1z,, webOriginalLayer1FlagCollisionModePresent=)webOriginalLayer1FlagCollisionModePresentz&, webActorOverlapCollisionModePresent=#webActorOverlapCollisionModePresentz), webActorOverlapCollisionDefaultEnabled=&webActorOverlapCollisionDefaultEnabledz$, webActorOverlapCollisionModeQuery=!webActorOverlapCollisionModeQueryz%, webActorOverlapCollisionStillOptIn="webActorOverlapCollisionStillOptInz, webPartyTrailHistoryPresent=webPartyTrailHistoryPresentz, webPartyTrailRingSlotCount=webPartyTrailRingSlotCountz,, webPartyTrailRingMatchesOriginalSlotCount=)webPartyTrailRingMatchesOriginalSlotCountz, webPartyTrailActorSlotCount=webPartyTrailActorSlotCountz, webPartyTrailInitialCursors=z", webPartyTrailCursorModelPresent=webPartyTrailCursorModelPresentz+, webPartyTrailInitialCursorsMatchOriginal=(webPartyTrailInitialCursorsMatchOriginalz), webPartyTrailRecordsAcceptedMoveTarget=&webPartyTrailRecordsAcceptedMoveTargetz5, webPartyTrailCallTimingMatchesOriginalTileMutation=2webPartyTrailCallTimingMatchesOriginalTileMutationz , webPartyTrailStillApproximate=webPartyTrailStillApproximatez', webDefaultCollisionModeStillFallback=$webDefaultCollisionModeStillFallbacka<  Original frame timing, input masks, 16px tile/camera projection, draw-prep/projected-coordinate consumption, input-driven actor tile mutation, party actor draw projection from tile/trail entries, +0x28 sprite frame selector/source-rect/offset consumer, opcode 0x21 script/timer frame selector path, party actor +0x68-to-+0x64 frame-script descriptor tables for cara_at1/cara_rs1/cara_sm1, descriptor table rows 0..2 vs 3..11 classification, save-load active descriptor materialization through 0x00432323, web source-rect selector mapping, exact 8-command selector cadence, browser 48ms sub-tile interpolation, original collision flag tests, directional latch fallback cases, actor-overlap collision response, CNS layer1 collision flag grid, default web original layer1 collision mode, original companion tile/direction trail ring with initial cursors 0,4,1 and post-mutation leader-tile write timing, default web party actor-overlap collision, and 7-slot web party-trail cursor history are now identified. The original actor position model is tile-field snap plus fixed-point draw projection, while browser interpolation is classified as a visual overlay and not original proof; original actor interpolation timing remains unproven, and current selector 2:0 active order plus scripted behavior for non-player descriptors are still inferred.zout/non_party_descriptor_asset_links.* links non-party descriptor rows 3..11 to decoded/runtime assets without behavior promotion: promotionStatus=z, descriptorTable=z, nonPartyRows=nonPartyDescriptorRowCountz, linkedCns=linkedCnsCountz, decoded/listed/resourceRefs=decodedLinkedAssetCountdetailReviewLinkedAssetCount"resourceDescriptorLinkedAssetCountz, directBattlePartySprites=$webDirectBattlePartySpriteAssetCountz, battleSpriteCandidates= battleEnemyAssetTableLinkedCountz, fieldObjectOverlayCandidates="objectOverlayAssetTableLinkedCountz, sceneLinkedZAssets=sceneLinkedZAssetCountz$, descriptorZAssetsWithSceneAnchors=&descriptorZAssetSceneAnchorLinkedCountdescriptorLinkedZAssetCountz&, descriptorZAssetsWithoutSceneAnchor=#descriptorZAssetsWithoutSceneAnchorz%, fieldObjectOverlaySceneAnchorCount="fieldObjectOverlaySceneAnchorCountz, detailReviewOnly=detailReviewOnlyLinkedCountz, rowsWithoutFrameInitializer=rowsWithoutFrameInitializerz, noAnimationStateTables=-nonPartyDescriptorsHaveNoAnimationStateTablesz, noFieldMapRefs=%nonPartyDescriptorsHaveNoFieldMapRefsz/, fieldObjectOverlaySceneAnchorLimitedToZsaIwa=,fieldObjectOverlaySceneAnchorLimitedToZsaIwaz5, descriptorZAssetsWithoutSceneAnchorsStayBattleOnly=2descriptorZAssetsWithoutSceneAnchorsStayBattleOnlyz#, currentSelectorActiveOrderProven= currentSelectorActiveOrderProvenz1, originalNonPartyDescriptorScriptBehaviorProven=.originalNonPartyDescriptorScriptBehaviorProvenz", originalFieldObjectRuntimeBound=originalFieldObjectRuntimeBoundz, originalBattleEntryProven=originalBattleEntryProvenr  originalLayer1MapStatszyout/original_collision_route_audit.* rechecks the current geometry-only route candidates with originalLayer1Flags: route=z, routeCandidateCount=routeCandidateCountz, sourceOriginalStandable=%sourceOriginalStandableCandidateCountz , targetSpawnsOriginalStandable=!targetOriginalStandableSpawnCountz, sourceLayer1Passable=tileLevelPassableCountz, sourceFootprintStandable=footprintStandableTileCountz, targetLayer1Passable=z, targetFootprintStandable=z, promotionAllowed=rM  z	, status=z$, failedOriginalCollisionRouteGates=#failedOriginalCollisionRouteGateIdsz; this is collision diagnostics only and still does not replace strict hotspot, savedata, selected-root execution, or runtime trace proof.collisionHelperEvidenceactorControllerEvidencedirectionLatchReferenceEvidence!globalTransitionReferenceEvidencedirectReferencesscriptRunnerCallContextEvidence'selectedPointerImmediateContextEvidencedirectCallGraphEvidencedirectCallGraphDepthSensitivityedgeHandlerEncodedTargetScan edgeLocalWindowEncodedTargetScanedgeCallGraphEncodedTargetScan)edgeGlobalContrastWindowEncodedTargetScanzout/map1_01a_edge_trigger_gap.* checks whether the current edge candidates can be generic original boundary transitions: sourceBoundaryCandidates=sourceBoundaryCandidateCountz, autoBoundaryCandidates=autoBoundaryCandidateCountz, boundarySnippets= allBoundarySnippetsMatchExpectedz, fallToOverlap=-allBoundaryCasesFallThroughToActorOverlapLoopz, collisionHelperCalls=collisionHelperCallCountz, transitionRelHits=3transitionLikeDirectRelHitCountInHelperOrControllerz, routeImmediateHits=-directRouteImmediateCountInHelperOrControllerz, globalRelHits=mapLoaderDirectRelHitCountscriptRunnerDirectRelHitCountselectorTableDirectRelHitCountz, globalRouteImms=#selectedPointerGlobalImmediateCount!currentSelectorRootImmediateCountsourceMapStringImmediateCounttargetMapStringImmediateCountz, scriptRunnerWindows=callerCountrouteImmediateWindowHitCountmapLoaderWindowRelHitCountselectorTableWindowRelHitCountz, selectedPointerWindows=immediateRefCountrouteSpecificWindowHitCountz, edgeEncoded=rawScalarCandidateCount!transitionRawScalarCandidateCount!routeProofRawScalarCandidateCount&selectedPointerRawScalarCandidateCountpromotingCandidateCountz, edgeEncodedClass=z, directionLatchRefs=directRefCountz, directionLatchOtherTextRefs=otherTextRefCountz, directionLatchWindowHits=transitionLikeWindowRelHitCountz, callGraph=reachableFunctionCountdirectCallEdgeCounttransitionTargetReachableCounttransitionTargetHitCountrouteImmediateHitCountindirectCallLikeByteCountz, callGraphSensitivity=maxDepthCheckedproofAbsentAcrossCheckedDepths#countsStableAtAndBeyondDefaultDepthz, indirectGraph=(indirectCallGraphRejectionClassification/indirectCallGraphIndexedJumpTableCandidateCount+indirectCallGraphIndexedJumpTableEntryCount)indirectCallGraphTransitionTargetHitCount'indirectCallGraphRouteImmediateHitCountz, failedEdgeTriggerGates=failedEdgeTriggerGateIdszR; top/bottom edge candidates are still boundary diagnostics, not transition proof.zxout/map1_01a_tile_hotspot_pattern_contrast.* compares confirmed hotspot tiles with current candidates: confirmedReviews=confirmedReviewCountz, rejected=confirmedRejectedCountz, confirmedRecord=confirmedEventRecordHexz, currentCandidates=currentCandidateCountz, sourceStandable=&currentOriginalStandableCandidateCountz, targetSpawns=(currentTargetSpawnOriginalStandableCountz, lowNibbleMatches=0currentCandidatesMatchingConfirmedLowNibbleCountz, centerPairMatches=1currentCandidatesMatchingConfirmedCenterPairCountz, low3x3Matches=-currentCandidatesMatchingConfirmedLow3x3Countz, pair3x3Matches=.currentCandidatesMatchingConfirmedPair3x3Countz, currentReviewRows="currentStrictTransitionReviewCountz, currentStrictEventPoints=currentStrictEventPointCountz;; tile signatures do not replace event record/review proof.zout/map1_01a_strict_event_tile_signature_scan.* compares current candidates against all strict-event tile signatures: strictEventRecords=z, strictEventPoints=strictEventPointCountz, reviewedPoints=reviewedStrictEventPointCountz, confirmedPoints=confirmedStrictEventPointCountz, targetLinkedRecords="targetLinkedStrictEventRecordCountz, directSourceTargetRecords=(directSourceTargetStrictEventRecordCountz, candidateMatches=center:"candidatesWithCenterPairMatchCountz,low3x3:candidatesWithLow3x3MatchCountz	,pair3x3:candidatesWithPair3x3MatchCountcenterPairMatchCountz, centerPairOwners=centerPairOwnerPairsz+, centerPairSame/Target/Confirmed/Rejected=centerPairSameSourceMatchCount centerPairTargetLinkedMatchCount#centerPairConfirmedReviewMatchCountr  z, allCenterRejected=r   z, targetSpawnSig=points:r   z,candidates:-candidatesWithTargetSpawnCenterPairMatchCount)candidatesWithTargetSpawnLow3x3MatchCount*candidatesWithTargetSpawnPair3x3MatchCountr  r  r  r  r   r  r
  r  z,low3x3Owners=r  z!,low3x3Target/Confirmed/Rejected=r  r  r  z,low3x3GenericOnly=r  r  r  r  r  z, targetMatchesZero=%allTargetLinkedStrictEventMatchesZeroz, directMatchesZero=+allDirectSourceTargetStrictEventMatchesZeroz, confirmedPair3x3Zero=$allConfirmedReviewPair3x3MatchesZeroz, tileSignaturePromotes=tileSignaturePromotesz&, failedStrictEventTileSignatureGates=%failedStrictEventTileSignatureGateIdszM; strict event tile signatures do not confirm a map1_01a -> map2_02d hotspot.candidateGateSummaryincomingReviewStateCountszout/map1_01a_strict_hotspot_review_matrix.* cross-checks all geometry candidates against transition reviews, event rows, coordinate refs, and coordinate variants: candidateRows=candidateRowsz, candidates=z, routeReviewRows=r   z, routeEventTransitions=z, sourceReviewRows=sourceReviewRowCountz, incomingReviews=confirmedIncomingReviewCountincomingReviewCountz, incomingStates=z, incomingRecords=confirmedIncomingRecordHexesz, allNoRouteReviews="allCandidatesHaveNoRouteReviewRowsz, allNoStrictEvents="allCandidatesHaveNoStrictEventRowsz, coordRefsBlocked=allCoordinateRefsNonPromotablez, variantsBlocked=allVariantScansNonPromotablelowNibbleMatchCountz, tileSignatureOnly=tileSignatureOnlyz!, failedStrictHotspotReviewGates= failedStrictHotspotReviewGateIdszA; review/event absence keeps the candidate tiles diagnostic-only.zhout/map1_01a_strict_source_hotspot_context.* consolidates strict source/hotspot blockers; candidateRows=candidateSummariesz, evidenceRows=z, candidateAllBlocked=candidateAllBlockedz, candidateBlocks=candidateBlockReasonCountsz
, reviews=z	, events=z, failedStrictHotspotGates=failedStrictHotspotGateIdsz, byteCoord=byteCoordinateScanCountbyteCoordinateSequenceHitCount(byteCoordinateStrictSourceTargetHitCount)byteCoordinateCurrentSelectorRootHitCountz, targetByteCoord="targetSpawnByteCoordinateScanCount3targetSpawnByteCoordinateStrictSourceTargetHitCount4targetSpawnByteCoordinateCurrentSelectorRootHitCountz, cnsPayload=cnsPayloadBytePairScanCountcnsPayloadSequenceHitCountcnsPayloadHeaderHitCountcnsPayloadLayerHitCount#cnsPayloadOutsideStructuredHitCountcenterPairStrictEventMatchCountcenterPairOwnerTextlow3x3StrictEventMatchCountpair3x3StrictEventMatchCountz, targetLinkedMatches=r"  z, directSourceTargetMatches=r$  z, resourcePointCandidates=resourcePointCandidateCountz, frontierPointClasses=z, frontierRouteHits=z, readerBranch=readerBranchClassificationz, selectorOverlap=z, frontierBreadth=currentFrontierManifestMapCountz, edgeTrigger='edgeTriggerSourceBoundaryCandidateCount%edgeTriggerAutoBoundaryCandidateCount*edgeTriggerTransitionLikeDirectRelHitCount!edgeTriggerRouteImmediateHitCountz, edgeLatchWindow=%edgeTriggerDirectionLatchTextRefCount/edgeTriggerDirectionLatchRouteWindowRelHitCount5edgeTriggerDirectionLatchRouteWindowImmediateHitCountz, edgeGlobal=%edgeTriggerGlobalMapLoaderRelHitCount(edgeTriggerGlobalScriptRunnerRelHitCount)edgeTriggerGlobalSelectorTableRelHitCountz, edgeScriptRunnerWindows="edgeTriggerScriptRunnerCallerCount3edgeTriggerScriptRunnerRouteWindowImmediateHitCount1edgeTriggerScriptRunnerMapLoaderWindowRelHitCount5edgeTriggerScriptRunnerSelectorTableWindowRelHitCountz, edgeSelectedPointerWindows=+edgeTriggerSelectedPointerImmediateRefCount5edgeTriggerSelectedPointerRouteSpecificWindowHitCount6edgeTriggerHandlerEncodedTargetRawScalarCandidateCount@edgeTriggerHandlerEncodedTargetTransitionRawScalarCandidateCount@edgeTriggerHandlerEncodedTargetRouteProofRawScalarCandidateCountEedgeTriggerHandlerEncodedTargetSelectedPointerRawScalarCandidateCount6edgeTriggerHandlerEncodedTargetPromotingCandidateCount:edgeTriggerLocalWindowEncodedTargetRawScalarCandidateCountDedgeTriggerLocalWindowEncodedTargetTransitionRawScalarCandidateCountDedgeTriggerLocalWindowEncodedTargetRouteProofRawScalarCandidateCountIedgeTriggerLocalWindowEncodedTargetSelectedPointerRawScalarCandidateCount:edgeTriggerLocalWindowEncodedTargetPromotingCandidateCount8edgeTriggerCallGraphEncodedTargetRawScalarCandidateCountBedgeTriggerCallGraphEncodedTargetTransitionRawScalarCandidateCountBedgeTriggerCallGraphEncodedTargetRouteProofRawScalarCandidateCountGedgeTriggerCallGraphEncodedTargetSelectedPointerRawScalarCandidateCount8edgeTriggerCallGraphEncodedTargetPromotingCandidateCount=edgeTriggerGlobalContrastEncodedTargetRawScalarCandidateCountGedgeTriggerGlobalContrastEncodedTargetTransitionRawScalarCandidateCountGedgeTriggerGlobalContrastEncodedTargetRouteProofRawScalarCandidateCountLedgeTriggerGlobalContrastEncodedTargetSelectedPointerRawScalarCandidateCount=edgeTriggerGlobalContrastEncodedTargetPromotingCandidateCount-edgeTriggerHandlerEncodedTargetClassification1edgeTriggerLocalWindowEncodedTargetClassification/edgeTriggerCallGraphEncodedTargetClassification4edgeTriggerGlobalContrastEncodedTargetClassificationz, edgeCallerWindows=%edgeTriggerActorControllerCallerCount6edgeTriggerActorControllerCallerRouteWindowRelHitCount<edgeTriggerActorControllerCallerRouteWindowImmediateHitCount%edgeTriggerCollisionHelperCallerCount6edgeTriggerCollisionHelperCallerRouteWindowRelHitCount<edgeTriggerCollisionHelperCallerRouteWindowImmediateHitCountz, edgeCallGraph=1edgeTriggerDirectCallGraphRejectionClassification0edgeTriggerDirectCallGraphReachableFunctionCount-edgeTriggerDirectCallGraphDirectCallEdgeCount8edgeTriggerDirectCallGraphTransitionTargetReachableCount2edgeTriggerDirectCallGraphTransitionTargetHitCount0edgeTriggerDirectCallGraphRouteImmediateHitCount3edgeTriggerDirectCallGraphIndirectCallLikeByteCountz, edgeCallGraphSensitivity=9edgeTriggerDirectCallGraphDepthSensitivityMaxDepthCheckedHedgeTriggerDirectCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsMedgeTriggerDirectCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepthz, edgeIndirectGraph=9edgeTriggerDirectCallGraphIndirectRejectionClassification@edgeTriggerDirectCallGraphIndirectIndexedJumpTableCandidateCount<edgeTriggerDirectCallGraphIndirectIndexedJumpTableEntryCount=edgeTriggerDirectCallGraphIndirectIndexedJumpTableTargetCountCedgeTriggerDirectCallGraphIndirectIndexedJumpTableUniqueTargetCountOedgeTriggerDirectCallGraphIndirectIndexedJumpTableOutsideEdgeHandlerTargetCount:edgeTriggerDirectCallGraphIndirectTransitionTargetHitCount8edgeTriggerDirectCallGraphIndirectRouteImmediateHitCountz, edgeIndirectLocal=OedgeTriggerDirectCallGraphIndirectIndexedJumpTableAllTargetsLocalToEdgeHandlersz, edgeStatus=r,  z, selectorOnly=z , strictSourceHotspotProofFound=strictSourceHotspotProofFoundz, strictHotspotReject=$strictHotspotRejectionClassificationzresource-extractionz?Original resources are extracted into browser-consumable assets   completepartialz3 field maps are present in the generated map index.zUThe verifier checks image, WAV sound, map, save selector, and DirectX import outputs.zThe web runtime wires extracted WLK effects into movement, dialogue, runtime menu, map-transition, and candidate battle feedback, including runtime-menu-sound markers for menu open/move/close.z3Expected all 174 field maps in the generated index.zmap-renderingzKField maps render without the previously broken tile layout/candidate modesr+   z* maps have direct accepted render reviews.r,   z5 tileset families can provide default render reviews.z(Runtime render selection is covered for r0   z	 maps by z direct accepted rows and z family-default rows, with z fallback rows.zDirect accepted render reviews cover every field map; old family-default/proxy render audits are no longer part of the active review surface.zQThe map review/gallery browser checks catch map preview scale/layout regressions.zmExpected all field maps to be covered by direct accepted rows with no family-default or fallback render rows.zmovement-inputzPBrowser runtime supports walking, camera follow, desktop input, and mobile inputzThe runtime has tile-step walking, camera follow, keyboard input, wall-slide movement, a touch virtual joystick, and mobile transition-review controls.zTSprite frame extraction and web verification cover the current character frame data.ztools/verify_mobile_runtime_controls.py guards the mobile joystick, A button, touch-action suppression, non-control document touch starts, direction mapping, and pointer-event wiring in source and HTTP responses.a  The web movement loop uses tile-target stepping and wall-slide fallback: vertical input falls back to left/right, horizontal input falls back to up/down, and wallSlidePreference flips when the preferred side is blocked so held input can snake through narrow two-tile passages.z_out/movement_candidate_review_summary.* records a deterministic WebKit movement cadence trace: a  ; it verifies 48ms frame ticks, 48ms tile steps, 1 step command, 8-command original selector cadence, 5 walk frames, frame-quantized positions, right-facing selector/source-rect mapping, sourceMatches=True, original projection bias 24/8, fixed-point shift 16, browser projection-to-draw coordinate matches, browser tile snap at the original-frame step is verified through movementDeltas/stepFractions/interpolationOffsets, and footTile changes only at the completed target step without promoting original actor interpolation timing.z;No candidate movement browser smoke has been generated yet.movementStepSoundzSThe movement smoke also verifies actual keyboard field movement WLK step feedback: z; the ArrowRight input starts a real tile step, records field-movement-sound with extract_wlk/00.wav, and keeps original actor movement/timing/story flag proof flags false.zHNo candidate field movement WLK step sound smoke has been generated yet.movementBumpz]The movement smoke also verifies blocked movement bump feedback from a real collision input: a	  ; the player remains on the same footTile, no step is started, the canvas renders a short bump marker on the blocked target tile, WLK menuMove feedback is recorded as movement-bump-sound, and the evidence keeps originalObjectScriptCollisionRuntimeImplemented=False.z@No candidate blocked movement bump smoke has been generated yet.fieldPoisonzJThe same movement smoke verifies prototype field status movement effects: zj; title continue restores partial counters, labels the saved status, and exposes the status-menu counter: fieldPoisonPartialContinuezR; antidote cure resets the field counter and clears title/HUD/status-menu status: fieldPoisonCureContinuezd; antidote cure resets the paralysis field counter and clears stale movement HUD/status-menu state: fieldParalysisCureContinuezp; title continue after actual poison damage restores the saved HP/status and field status completion objective: fieldPoisonEffectContinuezx; paralysis blocks a deterministic field movement attempt and restores the completion objective through title continue: fieldParalysisMovementzb; title continue restores partial paralysis movement counters and status-menu field counter text: fieldParalysisPartialContinuead  ; it keeps poison/paralysis in runtimeState, applies field-status-effect-prototype after the configured movement interval, blocks prototype paralysis movement through field-status-movement-block-prototype, auto-saves intermediate field-status-step-prototype and field-status-movement-step-prototype counters, renders intermediate field-status-feedback overlays for poison/paralysis counters, records WLK status sound markers for actual poison damage and paralysis movement blocking, renders field-status-completion-notice-feedback overlays with WLK menuConfirm sound for field status completion notices, shows the party status name and latest field status damage/movement block in the play HUD, auto-saves the HP/status result, and exposes a field-status-completion-notice objective for the latest field status damage, and keeps originalStatusFormulaImplemented=False.z@No candidate field poison movement smoke has been generated yet.ziout/map3_runtime_browser_smoke.* records a focused WebKit run for the original goal's third map surface: bumpad  . It verifies the map3_09a chunk, accepted layer1UnderSceneTilesets/row40_zero render review, accepted planar layout review, originalLayer1Flags collision, a real right-tile movement from 76,18 to 77,18 with WLK step feedback, and a hard-blocked left movement bump at 75,18 with WLK menuMove feedback, while keeping originalRoutePromotionImplemented=False.zANo map3_09a focused runtime browser smoke has been generated yet.ztools/verify_mobile_browser_controls.py runs the runtime in WebKitGTK and dispatches touch PointerEvents against the canvas and non-control document area to verify joystick activation, release, rendered movement, and current map/startTile URL persistence.zThe WebKit mobile browser smoke also verifies that party=rinshan,smash survives touch movement, that the runtime menu party command persists a party query, and that quick save/load restores manual party selection when no savedat is loaded.zThe debug map dropdown has a search filter, and the WebKit smoke verifies it narrows the 174-map list while preserving the current map selection.a  out/mobile_browser_controls_summary.json records the compact WebKit browser run summary for canvas/document joystick activation, URL-synced movement, overviewButton URL sync, map filtering, runtime menu open/move/close WLK markers, menu party selection, manual party quick save/load, and mobile A-button routing; the checked-in raw mobile_browser_controls_smoke.json was removed, and the verifier regenerates it locally as an ignored output when needed.zruntime-resource-loadingzKThe web runtime loads only the needed startup resources and lazy map chunksz`The runtime uses out/maps_runtime.js plus per-map chunks instead of eagerly loading out/maps.js.ztools/verify_runtime_http.py smoke-checks /web/index.html, startup PNG/JS assets, key map chunks, and the save-selector trial URL through the local HTTP server.znormal-progressionz>Normal gameplay can progress through confirmed map transitionszConfirmed transition points: rB   zConfirmed map edges: confirmedEdgeCountzReachable from title start: z maps (   z).zMap-exit trial mode reaches mapExitTrialReachableCountzG maps using geometry-only exits, kept separate from confirmed gameplay.zThe WebKit mobile browser smoke verifies the confirmed A-button transition from map1_02b to map1_01a and confirms the URL follows the current map/startTile after the transition.aY  The web runtime has a routeAssist trial mode that combines selector-only links and map-exit candidates, and the WebKit mobile browser smoke verifies a touch joystick transition from map1_01a to the map2_02d candidate route with routeAssist preserved in the URL, then activates the next candidate frontier and continues from map2_02d to map2_18d.u  out/completion_candidate_review_summary.* verifies routeAssist progress overlay feedback in the normal progression path: recordedRoute carries routeProgressFeedback=route-progress-feedback:후보 진행 1/2 map2_02d with routeProgressFeedbackRender=True, blockReasons=5, and trialOnly=trial-only: no map1_01a->map2_02d transition-review row +4, chainedRoute carries routeProgressFeedback=route-progress-feedback:후보 완료 2/2 map2_18d, and continuation entries carry routeProgressFeedback=route-progress-feedback:후보 진행 1/2 map2_09g through routeProgressFeedback=route-progress-feedback:후보 진행 4/5 map2_14j with routeProgressSound=menuConfirm, routeProgressSoundSrc=../extract_wlk/04.wav, and routeProgressSoundPlayed=True while keeping originalRoutePromotionImplemented=False.zANo candidate route progress overlay smoke has been generated yet.zuout/completion_candidate_review_summary.* verifies the browser-local routeNext chain from map1_02b to map5_40f: path=r=  r   z
, actions=actionCountz, candidateEntries=candidateEntryCountz, final=finalz, titleContinue=titleContinuez, fieldEncounter=z, completionNotice=completionNoticez, completionTitleContinue=completionTitleContinuez, routeClearGate=routeClearGatez, routeClearTitleContinue=routeClearTitleContinuez8, while keeping originalRoutePromotionImplemented=False.z=No candidate deep route browser smoke has been generated yet.um  The WebKit mobile browser smoke also opens a routeGoal=map2_18d path from map1_02b and verifies the compact 다음/후보/진입 button flow follows the confirmed map1_02b->map1_01a edge, focuses the trial-only map1_01a->map2_02d blocker candidate, enters its routeAssist target, and click-throughs the post-blocker candidate to map2_18d while preserving routeGoal.a  The WebKit mobile browser smoke also loads a captured-save URL via savedatUrl=../data/public_savedata/flack3r/savedat2.dat and verifies it takes the same savedat parser/route-evidence path as file upload; the browser publishes the latest parsed route verdict to window.HWANSE_LAST_SAVEDAT_ROUTE_EVIDENCE for uploaded/URL/scanned saves, including missingEvidence/missingEvidenceCount/externalProofInputId checklist fields.a  The runtime can scan SAVEDATA/savedat1.dat through savedat9.dat, SAVEDATA/savedat1.zip through savedat9.zip, and matching original-case SaveData aliases with savedatScan=1 or the tool-panel scan SAVEDATA savedat1-9 dat/zip option, prioritizes a real selector 2:0 route-evidence candidate when a captured save is present, and labels known constructed selector probes as synthetic diagnostics rather than real route proof.a+  web/index.html also accepts captured .dat/.zip saves by drag/drop onto the playfield; this uses the same loadSavedatFile parser and publishes window.HWANSE_LAST_SAVEDAT_DROP with selector, route-evidence status, missingEvidence/missingEvidenceCount/externalProofInputId, and route-missing HUD lines.a$  tools/scan_savedata_slots.py writes out/savedata_slot_scan.* from the same local savedat1-9 dat/zip range so uploaded captured saves can be checked from the terminal as well as the browser, and it fingerprints the synthetic selector probe separately so it never counts as real route evidence.a'  The same WebKit smoke loads the synthetic selector 2:0 diagnostic through the savedat File/loadSavedatFile path and the browser drag/drop loadDroppedSavedatFile path, verifies that both expose map1_01a/map2_02d route evidence, turns on routeAssist, and still labels the strict hotspot as needed.a#  out/mobile_browser_controls_summary.json records the compact WebKit route proof summary through confirmed map1_02b->map1_01a, routeGoalNext, routeGoalBlocker, routeGoalClickThrough, savedatUrl, savedatScan with a synthetic local scan probe explicitly labeled, synthetic selector 2:0, synthetic quick save/load metadata preservation, routeAssist map1_01a->map2_02d, and routeAssist continuation to map2_18d; the checked-in raw mobile_browser_controls_smoke.json was removed, and the verifier regenerates it locally as an ignored output when needed.zpout/route_investigation_queue.* keeps the current route blocker tied to concrete next reverse-engineering tasks.ztout/route_promotion_gate.* keeps map1_01a -> map2_02d promotion blocked behind hard prerequisites: promotionAllowed=z, failedPromotionGates=rO  z, hardMissingEvidence=z, strictSourceHotspot=z, tileHotspot=z, strictEventTileSignature=#strictEventTileSignatureRecordCount"strictEventTileSignaturePointCountz', strictEventTileSignatureTargetLinked=/strictEventTileSignatureTargetLinkedRecordCountz!, strictEventTileSignatureDirect=5strictEventTileSignatureDirectSourceTargetRecordCountz", strictEventTileSignaturePair3x3=7strictEventTileSignatureCandidatesWithPair3x3MatchCountz&, strictEventTileSignatureCenterPairs=,strictEventTileSignatureCenterPairMatchCountz', strictEventTileSignatureCenterOwners=,strictEventTileSignatureCenterPairOwnerPairsz<, strictEventTileSignatureCenterSameTargetConfirmedRejected=6strictEventTileSignatureCenterPairSameSourceMatchCount8strictEventTileSignatureCenterPairTargetLinkedMatchCount;strictEventTileSignatureCenterPairConfirmedReviewMatchCount:strictEventTileSignatureCenterPairRejectedReviewMatchCountz,, strictEventTileSignatureAllCenterRejected=:strictEventTileSignatureAllCenterPairMatchesRejectedReviewz0, strictEventTileSignatureTargetSpawnSig=points:AstrictEventTileSignatureTargetSpawnTargetMapStrictEventPointCountEstrictEventTileSignatureCandidatesWithTargetSpawnCenterPairMatchCountAstrictEventTileSignatureCandidatesWithTargetSpawnLow3x3MatchCountBstrictEventTileSignatureCandidatesWithTargetSpawnPair3x3MatchCountBstrictEventTileSignatureTargetSpawnCenterPairStrictEventMatchCount>strictEventTileSignatureTargetSpawnLow3x3StrictEventMatchCount?strictEventTileSignatureTargetSpawnPair3x3StrictEventMatchCount@strictEventTileSignatureTargetSpawnCenterPairTargetMapMatchCount<strictEventTileSignatureTargetSpawnLow3x3TargetMapMatchCount=strictEventTileSignatureTargetSpawnPair3x3TargetMapMatchCount;strictEventTileSignatureAllTargetSpawnCenterPairMatchesZero8strictEventTileSignatureAllTargetSpawnPair3x3MatchesZero?strictEventTileSignatureAllTargetSpawnTargetMapStrictEventsZeroz#, strictEventTileSignaturePromotes= strictEventTileSignaturePromotesz, strictSourceHotspotContext=r   r   r   z!, strictSourceHotspotContextRows=r   r   r   r   edgeTriggerCandidateRowCountz), strictSourceHotspotContextEvidenceRefs=*strictSourceHotspotContextEvidenceRefCountz , strictSourceHotspotCandidates=#strictSourceHotspotCandidateSummaryz-, strictSourceHotspotContextTargetSpawnCoord=8strictSourceHotspotContextTargetSpawnCoordinateScanCountr   r   r   r   z/, strictSourceHotspotContextTargetSpawnClasses=r   r   z2, strictSourceHotspotContextTargetSpawnSig=points:r  r  r  r  r	  r  r  r  r  r  z&, strictSourceHotspotContextByteCoord=1strictSourceHotspotContextByteCoordinateScanCount8strictSourceHotspotContextByteCoordinateSequenceHitCountBstrictSourceHotspotContextByteCoordinateStrictSourceTargetHitCountCstrictSourceHotspotContextByteCoordinateCurrentSelectorRootHitCount;strictSourceHotspotContextStrictByteCoordinateEvidenceFoundz,, strictSourceHotspotContextTargetByteCoord=<strictSourceHotspotContextTargetSpawnByteCoordinateScanCountMstrictSourceHotspotContextTargetSpawnByteCoordinateStrictSourceTargetHitCountNstrictSourceHotspotContextTargetSpawnByteCoordinateCurrentSelectorRootHitCountFstrictSourceHotspotContextTargetSpawnStrictByteCoordinateEvidenceFoundz', strictSourceHotspotContextCnsPayload=5strictSourceHotspotContextCnsPayloadBytePairScanCount4strictSourceHotspotContextCnsPayloadSequenceHitCount2strictSourceHotspotContextCnsPayloadHeaderHitCount1strictSourceHotspotContextCnsPayloadLayerHitCount=strictSourceHotspotContextCnsPayloadOutsideStructuredHitCount:strictSourceHotspotContextStrictCnsCoordinateEvidenceFoundz), strictSourceHotspotContextCenterOwners=-strictSourceHotspotContextCenterPairOwnerText.strictSourceHotspotContextCenterPairOwnerPairsz>, strictSourceHotspotContextCenterSameTargetConfirmedRejected=8strictSourceHotspotContextCenterPairSameSourceMatchCount:strictSourceHotspotContextCenterPairTargetLinkedMatchCount=strictSourceHotspotContextCenterPairConfirmedReviewMatchCountr  z., strictSourceHotspotContextAllCenterRejected=r!  z1, strictSourceHotspotContextFrontierPointClasses=BstrictSourceHotspotContextCurrentFrontierPointCandidateClassCountsz., strictSourceHotspotContextFrontierRouteHits=?strictSourceHotspotContextCurrentFrontierRouteExitPointHitCountz", strictSourceHotspotContextProof=$strictSourceHotspotContextProofFoundz%, strictSourceHotspotContextTopProof=,strictSourceHotspotContextTopLevelProofFoundz(, strictSourceHotspotContextFailedGates=4strictSourceHotspotContextFailedStrictHotspotGateIdsz1, strictSourceHotspotContextMissingEvidenceCount=)strictSourceHotspotContextMissingEvidencez#, strictSourceHotspotContextReject=1strictSourceHotspotContextRejectionClassificationz#, strictSourceHotspotContextBranch=4strictSourceHotspotContextReaderBranchClassificationz,, strictSourceHotspotContextSelectorOverlap=>strictSourceHotspotContextTargetSelectorOnlySourceOverlapCountMstrictSourceHotspotContextTargetSelectorOnlySourceTargetRoutePairClusterCountz,, strictSourceHotspotContextFrontierBreadth=9strictSourceHotspotContextCurrentFrontierManifestMapCount7strictSourceHotspotContextCurrentFrontierRoutePairCountEstrictSourceHotspotContextCurrentFrontierSourceOutgoingRoutePairCountEstrictSourceHotspotContextCurrentFrontierTargetIncomingRoutePairCountz(, strictSourceHotspotContextEdgeTrigger=AstrictSourceHotspotContextEdgeTriggerSourceBoundaryCandidateCount?strictSourceHotspotContextEdgeTriggerAutoBoundaryCandidateCountDstrictSourceHotspotContextEdgeTriggerTransitionLikeDirectRelHitCount;strictSourceHotspotContextEdgeTriggerRouteImmediateHitCountz,, strictSourceHotspotContextEdgeLatchWindow=?strictSourceHotspotContextEdgeTriggerDirectionLatchTextRefCountIstrictSourceHotspotContextEdgeTriggerDirectionLatchRouteWindowRelHitCountOstrictSourceHotspotContextEdgeTriggerDirectionLatchRouteWindowImmediateHitCountz', strictSourceHotspotContextEdgeGlobal=?strictSourceHotspotContextEdgeTriggerGlobalMapLoaderRelHitCountBstrictSourceHotspotContextEdgeTriggerGlobalScriptRunnerRelHitCountCstrictSourceHotspotContextEdgeTriggerGlobalSelectorTableRelHitCountz', strictSourceHotspotContextEdgeStatus=r-  z, sourceSaveLoad=r/  z, sourceSaveLoadSamples=$runtimeSourceSaveLoadLoadSampleCount*runtimeSourceSaveLoadCoordinateSampleCountr7  (runtimeSourceSaveLoadAdaptiveSampleCount-runtimeSourceSaveLoadAdaptiveTrailSampleCountz, sourceSaveLoadExit=r  8runtimeSourceSaveLoadExitPathObservedPublicSaveSelectorsr9  r;  r=  r?  r  z, sourceSaveLoadReady=rA  rC  rE  rG  rI  z, sourceSaveLoadDiversion=rK  rM  rO  rQ  rS  rU  rW  rY  r[  r]  r_  r`  ra  z, sourceSaveLoadProofs=r3  r  r5  z, exitTargetRanking=r  r  r  r  r  r  r  z, exitTargetBlockedReturn=r
  r  r+  r-  z, exitTargetRows=exitTargetRankingRowsr0  r	  r1  r2  z, exitTargetOutgoing=r!  r%  r'  r)  z, exitTargetOutgoingTargets=r#  z, exitTargetIncomingConfirmed=r.  z, realSavedata=realSavedataCandidateCountrealSavedataValidCandidateCountz, realSavedataUniqueSha256="realSavedataValidUniqueSha256Countz, realSavedataWorkspace=!realSavedataWorkspaceDatFileCount-realSavedataWorkspaceExpectedSizeDatFileCountz, realSavedataRoutePromotion='realSavedataRoutePromotionRealSaveCountz, realSavedataRequiredBytePair=1realSavedataRequiredSelectorBytePairRealSaveCountz", realSavedataRouteEvidenceReject=0realSavedataRouteEvidenceRejectionClassificationz , realSavedataSyntheticExcluded='realSavedataSyntheticDiagnosticExcludedz, realSavedataEvidenceRefs=realSavedataEvidenceRefCountz, selectedRootExecution=z, selectedRootReject=rm  z, selectedPointerUsage=selectedPointerCurrentRootHexz, selectedPointerUsageRefs=&selectedPointerCurrentRootTextRefCount+selectedPointerSecondLevelTableTextRefCountz, selectedPointerProof=selectedPointerProofFoundz, selectedPointerUsageProof=selectedPointerUsageProofFoundz, selectedPointerFailedGates=0selectedPointerFailedSelectedPointerUsageGateIdsz&, selectedPointerMissingEvidenceCount=selectedPointerMissingEvidencez, selectedPointerEvidenceRefs=selectedPointerEvidenceRefCountz, routeRootRefs=+routeRootRefsAllRouteSelectorRootsTableOnly)routeRootRefsAnyRouteSelectorRootTextRefsrouteRootRefsRouteOrderProvenz, selectedRootSubgates=rz  r|  r~  r  r  r  r  r  z, selectedRootRemainingProofs=rt  z, selectedRootEvidenceRefs=rw  z, selectedRootTopProof=rh  z, selectedRootFailedGates=rj  z#, selectedRootMissingEvidenceCount=rl  z, selectedRootHookPrereq=r  r  r  r  z, selectedRootHookWindow=r  r  z, selectedRootHookAllUnproven=r  z, selectedRootHookGraph=.selectedRootHookHandlerCallGraphClassificationz', selectedRootHookGraphRoots/Fns/Calls=)selectedRootHookHandlerCallGraphRootCount6selectedRootHookHandlerCallGraphReachableFunctionCount3selectedRootHookHandlerCallGraphDirectCallEdgeCountz<, selectedRootHookGraphRoute/current/record/selector/branch=6selectedRootHookHandlerCallGraphRouteImmediateHitCount8selectedRootHookHandlerCallGraphCurrentImmediateHitCount<selectedRootHookHandlerCallGraphRouteRecordImmediateHitCount>selectedRootHookHandlerCallGraphRouteSelectorImmediateHitCount<selectedRootHookHandlerCallGraphBranchStateImmediateHitCountz, selectedRootHookGraphGeneric=@selectedRootHookHandlerCallGraphSelectedPointerImmediateHitCount>selectedRootHookHandlerCallGraphSelectorTableImmediateHitCountz, selectedRootHookGraphDepth=?selectedRootHookHandlerCallGraphDepthSensitivityMaxDepthCheckedNselectedRootHookHandlerCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsSselectedRootHookHandlerCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepthz, selectedRootHookEncoded=r  r  r  r  z, selectedRootHookEncodedClass=r  z, selectedRootDispatchRefs=3selectedRootDispatchSaveSelectorDirectDwordRefCount4selectedRootDispatchSaveSelectorIndexedDispatchCountz, selectedRootDispatchDynamic=2selectedRootDispatchDynamicIndexedDispatchRowCount>selectedRootDispatchDynamicSaveSelectorTableImmediateNearCountz!, selectedRootDispatchArithmetic=;selectedRootDispatchSaveSelectorTableBaseArithmeticRowCountAselectedRootDispatchSaveSelectorTableBaseArithmeticCandidateCountz&, selectedRootDispatchTableBaseSwitch=BselectedRootDispatchRouteRelevantSliceRequiresTableBaseSwitchCountMselectedRootDispatchRouteRelevantSliceDataDescriptorGenericByteReachableCountz, selectedRootNonCurrentRoot=c              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>  s        JuE
   Jrr   .selectedRootOpcodeNonCurrentRootProducerCountsz, selectedRootNonCurrentRange=c              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>          KuE
   Krr   /selectedRootOpcodeNonCurrentRangeProducerCountsz, selectedRootAnyPollRoute=r  z), selectedRootConstructedDiagnosticRoute=r  z!, selectedRootDiagnosticExcluded=r  z, diagnosticBranchState=1selectedRootDiagnosticBranchStateTotalSampleCount1selectedRootDiagnosticBranchStateRouteSampleCount2selectedRootDiagnosticBranchStateObservedSelectorsz, diagnosticBranchAllZero=1selectedRootDiagnosticBranchStateSecondaryAllZeroz, diagnosticBranchMatchesFill=7selectedRootDiagnosticBranchStateMatchesPredecessorFillz, predecessorFillOrder=predecessorFillOrderFillSitesz, predecessorFillOrderProof=predecessorFillOrderProofFoundz, predecessorFillOrderStops=%predecessorFillOrderLocalTraceStopHex(predecessorFillOrderLocalTraceStopReasonz , predecessorFillOrderRootEntry=-predecessorFillOrderRootEntryReachesFillSitesz, predecessorFillOrderEncoded=)predecessorFillOrderEncodedClassification2predecessorFillOrderEncodedRawScalarCandidateCount2predecessorFillOrderEncodedPromotingCandidateCountz&, predecessorFillOrderRawScalarReject=;predecessorFillOrderEncodedRawScalarRejectionClassificationzJ, predecessorFillOrderRawScalarNoFixed/noBranch/branchAttached/scalarOnly=7predecessorFillOrderEncodedRawScalarNoFixedAdvanceCount5predecessorFillOrderEncodedRawScalarNoBranchJumpCount7predecessorFillOrderEncodedRawScalarBranchAttachedCount3predecessorFillOrderEncodedRawScalarScalarOnlyCountz, predecessorFillOrderRootTail='predecessorFillOrderRootTailDistanceHex&predecessorFillOrderRootTailDwordCountz', predecessorFillOrderRootTailIsolated=.predecessorFillOrderRootTailDescriptorIsolatedz,, predecessorFillOrderRootTailBranchClasses=3predecessorFillOrderRootTailBranchTargetClassCountsz-, predecessorFillOrderRootTailBranchSections=5predecessorFillOrderRootTailBranchTargetSectionCountsz+, predecessorFillOrderRootTailBranchToFill=5predecessorFillOrderRootTailBranchToFillFragmentCountz-, predecessorFillOrderRootTailBranchToReader=6predecessorFillOrderRootTailBranchToCurrentReaderCountz*, predecessorFillOrderRootTailFixedToFill=7predecessorFillOrderRootTailFixedFallthroughToFillCountz&, predecessorFillOrderRootTailClosure=8predecessorFillOrderRootTailBranchClosureBranchSeedCount2predecessorFillOrderRootTailBranchClosureEdgeCountApredecessorFillOrderRootTailBranchClosureBranchSeedReachFillCountJpredecessorFillOrderRootTailBranchClosureBranchSeedReachCurrentReaderCountz+, predecessorFillOrderRootTailClosureClass=7predecessorFillOrderRootTailBranchClosureClassificationz, sliceRuntimeProof=2predecessorFillOrderDispatchSliceRuntimeProofFoundz, descriptorDependsOnSlice=,predecessorFillOrderDescriptorDependsOnSlicez, rawGeneralDiffers=3predecessorFillOrderRawGeneralDiffersFromSliceCountz, sliceByteReachable=2predecessorFillOrderSliceGenericByteReachableCountz, sliceRequiresTableBase=5predecessorFillOrderSliceRequiresTableBaseSwitchCountz, sliceDynamic=2predecessorFillOrderDynamicIndexedDispatchRowCount2predecessorFillOrderDynamicScopeTableCallbackCount>predecessorFillOrderDynamicSaveSelectorTableImmediateNearCountz, sliceDynamicScopeSites=2predecessorFillOrderDynamicScopeTableCallbackSitesz", sliceDynamicTableBaseCandidates=>predecessorFillOrderDynamicSaveSelectorTableBaseCandidateCountz, sliceTableBaseArithmetic=;predecessorFillOrderSaveSelectorTableBaseArithmeticRowCountApredecessorFillOrderSaveSelectorTableBaseArithmeticCandidateCountz, sliceDynamicTableBase=JpredecessorFillOrderDynamicSaveSelectorTableBaseSwitchStaticCandidateFoundz&, sliceDynamicTableBaseCandidateSites=>predecessorFillOrderDynamicSaveSelectorTableBaseCandidateSitesz, tableBaseReject=<predecessorFillOrderDispatchTableBaseRejectionClassification,predecessorFillOrderRawGenericClassification*predecessorFillOrderRawGenericHandlerCount4predecessorFillOrderRawGenericRouteImmediateHitCount3predecessorFillOrderRawGenericFillImmediateHitCount6predecessorFillOrderRawGenericCurrentImmediateHitCount>predecessorFillOrderRawGenericSelectedPointerImmediateHitCount:predecessorFillOrderRawGenericBranchStateImmediateHitCount-predecessorFillOrderRawGenericDirectCallCount3predecessorFillOrderRawGenericMappedDirectCallCount5predecessorFillOrderRawGenericMappedDirectCallTargets:predecessorFillOrderRawGenericOneHopRouteImmediateHitCount9predecessorFillOrderRawGenericOneHopFillImmediateHitCount<predecessorFillOrderRawGenericOneHopCurrentImmediateHitCountDpredecessorFillOrderRawGenericOneHopSelectedPointerImmediateHitCount@predecessorFillOrderRawGenericOneHopBranchStateImmediateHitCount9predecessorFillOrderRawGenericRouteDirectTransferHitCount8predecessorFillOrderRawGenericFillDirectTransferHitCount?predecessorFillOrderRawGenericOneHopRouteDirectTransferHitCount>predecessorFillOrderRawGenericOneHopFillDirectTransferHitCount3predecessorFillOrderRawGenericOneHopRouteProofFound5predecessorFillOrderRawGenericCallGraphClassification/predecessorFillOrderRawGenericCallGraphMaxDepth=predecessorFillOrderRawGenericCallGraphReachableFunctionCount:predecessorFillOrderRawGenericCallGraphDirectCallEdgeCount=predecessorFillOrderRawGenericCallGraphRouteImmediateHitCount<predecessorFillOrderRawGenericCallGraphFillImmediateHitCount?predecessorFillOrderRawGenericCallGraphCurrentImmediateHitCountGpredecessorFillOrderRawGenericCallGraphSelectedPointerImmediateHitCountCpredecessorFillOrderRawGenericCallGraphBranchStateImmediateHitCountBpredecessorFillOrderRawGenericCallGraphRouteDirectTransferHitCountApredecessorFillOrderRawGenericCallGraphFillDirectTransferHitCountFpredecessorFillOrderRawGenericCallGraphDepthSensitivityMaxDepthCheckedUpredecessorFillOrderRawGenericCallGraphDepthSensitivityProofAbsentAcrossCheckedDepthsZpredecessorFillOrderRawGenericCallGraphDepthSensitivityCountsStableAtAndBeyondDefaultDepth1predecessorFillOrderRawGenericCallGraphProofFound-predecessorFillOrderRawGenericRouteProofFoundz#, predecessorDescriptorBridgeProof=%predecessorDescriptorBridgeProofFoundz#, predecessorDescriptorBridgeStops=*predecessorDescriptorBridgeRootStopSiteHex0predecessorDescriptorBridgeRootStopDescriptorHex*predecessorDescriptorBridgeFillStopSiteHex0predecessorDescriptorBridgeFillStopDescriptorHexz(, predecessorDescriptorBridgeSharedOnly=/predecessorDescriptorBridgeSharedDescriptorOnlyz#, predecessorDescriptorBridgeEdges=8predecessorDescriptorBridgeRootDescriptorTargetEdgeCount8predecessorDescriptorBridgeFillDescriptorTargetEdgeCountz(, predecessorDescriptorBridgeRouteEdges=<predecessorDescriptorBridgeRootRouteExecutionTargetEdgeCount<predecessorDescriptorBridgeFillRouteExecutionTargetEdgeCountz%, predecessorDescriptorBridgeEncoded=?predecessorDescriptorBridgeEncodedTargetRawScalarCandidateCountCpredecessorDescriptorBridgeEncodedTargetRootRawScalarCandidateCountCpredecessorDescriptorBridgeEncodedTargetFillRawScalarCandidateCount?predecessorDescriptorBridgeEncodedTargetPromotingCandidateCountz*, predecessorDescriptorBridgeEncodedClass=6predecessorDescriptorBridgeEncodedTargetClassificationz, dataDescriptorStops=1dataDescriptorPredecessorRootStopIsDataDescriptor1dataDescriptorPredecessorFillStopIsDataDescriptorz, dataDescriptorD0Ops=$dataDescriptorD0SharedHandlerOpcodesz, dataDescriptorC0Ops=$dataDescriptorC0SharedHandlerOpcodesz, dataDescriptorRefs="dataDescriptorD0PointerRefSections"dataDescriptorC0PointerRefSectionsz , dataDescriptorPayloadFrontier=/dataDescriptorPayloadGraphReachesFrontierTargetz, predecessorFillContext=0predecessorFillContextBranchStatePollSampleCount>predecessorFillContextBranchStatePollPublicPredecessorHitCount3predecessorFillContextBranchStatePollFillMatchCountz , predecessorFillContextEncoded=+predecessorFillContextEncodedClassification4predecessorFillContextEncodedRawScalarCandidateCount4predecessorFillContextEncodedPromotingCandidateCountz(, predecessorFillContextRawScalarReject==predecessorFillContextEncodedRawScalarRejectionClassificationzL, predecessorFillContextRawScalarNoFixed/noBranch/branchAttached/scalarOnly=9predecessorFillContextEncodedRawScalarNoFixedAdvanceCount7predecessorFillContextEncodedRawScalarNoBranchJumpCount9predecessorFillContextEncodedRawScalarBranchAttachedCount5predecessorFillContextEncodedRawScalarScalarOnlyCountz0, predecessorFillContextDispatchTableBaseReject=>predecessorFillContextDispatchTableBaseRejectionClassificationz, predecessorFillContextProven=predecessorFillContextProvenz#, predecessorFillContextProofFound= predecessorFillContextProofFoundz$, predecessorFillContextFailedGates=2predecessorFillContextFailedPredecessorFillGateIdsz-, predecessorFillContextMissingEvidenceCount=%predecessorFillContextMissingEvidencez", predecessorFillOrderFailedGates=!predecessorFillOrderFailedGateIdsz+, predecessorFillOrderMissingEvidenceCount=#predecessorFillOrderMissingEvidencez, selectorMergeRuntime="selectorMergeRuntimeMergeShapeOnly'selectorMergeRuntimeForwardBridgeAbsent.selectorMergeRuntimeReverseReuseBeforeFillOnlyz, selectorMergeRuntimeForward=1selectorMergeRuntimeSourceToCurrentBridgeHitCount0selectorMergeRuntimePredecessorToCurrentHitCount.selectorMergeRuntimeForwardMergeBridgeHitCountz, selectorMergeRuntimeReverse=0selectorMergeRuntimeCurrentToPredecessorHitCount:selectorMergeRuntimeCurrentToPredecessorBeforeFillHitCount8selectorMergeRuntimeCurrentToPredecessorFillSiteHitCountz, selectorMergeRuntimeProof=z, selectorMergeRuntimeGapOpen=selectorMergeRuntimeGapOpenz, routePairEvidenceRefs=r  z, wrapperExecutionGap="wrapperExecutionGapWrapperEntryHex'wrapperExecutionGapWrapperDescriptorHex)wrapperExecutionGapWrapperChildPointerHexz", wrapperExecutionGapEvidenceRefs=r  z, wrapperExecutionGapProofs=1wrapperExecutionGapCurrentLeafSelectionProofFound-wrapperExecutionGapWrapperExecutionProofFound9wrapperExecutionGapCurrentSelectorLeafExecutionProofFoundz , wrapperExecutionGapProofFound=wrapperExecutionGapProofFoundz!, wrapperExecutionGapFailedGates='wrapperExecutionGapFailedWrapperGateIdsz*, wrapperExecutionGapMissingEvidenceCount="wrapperExecutionGapMissingEvidencez, wrapperExecutionGapOpcode07=#wrapperExecutionGapOpcode07RowCount0wrapperExecutionGapSelectedWrapperEntrySlotCount3wrapperExecutionGapSelectedLeafTableWindowSlotCount4wrapperExecutionGapSelectedCurrentRootEntrySlotCount5wrapperExecutionGapSelectedNegativeRootEntrySlotCount,wrapperExecutionGapDirectFrontierTargetCountz$, wrapperExecutionGapReaderNegative=c              3  2   K   | ]  }t        |        y wrp   r  r   s     r   r%   z build_summary.<locals>.<genexpr>  r\  rr   /wrapperExecutionGapReaderBearingNegativeIndicesz%, wrapperExecutionGapNormalSelection=9wrapperExecutionGapCorrectedTraceNormalSelectionGapStatus8wrapperExecutionGapCorrectedTraceNormalSelectionGapFoundz, wrapperExecutionGapRootTable=0wrapperExecutionGapRootTableWindowDirectRefCount4wrapperExecutionGapRootTableWindowDirectTextRefCount9wrapperExecutionGapRootTableRouteEntryAddressTextRefCount6wrapperExecutionGapRootTableRouteLeafValueTextRefCount9wrapperExecutionGapRootTableFrontierLeafValueTextRefCount;wrapperExecutionGapRootTableFrontierReaderValueTextRefCount+wrapperExecutionGapRootTableDirectRefStatusz, wrapperExecutionGapRoutePair=+wrapperExecutionGapRoutePairDescriptorCount3wrapperExecutionGapCorrectedTraceReachesReaderCountz!, wrapperExecutionGapFallthrough=9wrapperExecutionGapWrapperEntryFallthroughNonCodeRefCount:wrapperExecutionGapWrapperEntryFallthroughHandlerSummariesz , wrapperExecutionGapDiagnostic=:wrapperExecutionGapConstructedDiagnosticWrapperProofStatusJwrapperExecutionGapConstructedDiagnosticLeftStabilityRouteSelectorHitCountQwrapperExecutionGapConstructedDiagnosticLeftStabilityRecheckRouteSelectorHitCountSwrapperExecutionGapConstructedDiagnosticLeftActiveOrderRecheckRouteSelectorHitCountTwrapperExecutionGapConstructedDiagnosticLeftActiveOrderRecheckActiveOrderCountValuesz, gateBaseProof=gateBaseProofCurrentWriterVaHex#gateBaseProofOpcode20CandidateVaHex gateBaseProofOpcode20CurrentModez, gateBaseProofRows=gateBaseProofGateWindowRowCount-gateBaseProofLocalBaseAffectingRowDetailCountgateBaseProofRemainingProofsz, gateBaseProofGates=gateBaseProofFirstGateVaHexgateBaseProofSecondGateVaHexz, gateBaseProofProofFound=gateBaseProofProofFoundz, gateBaseProofFailedGates="gateBaseProofFailedGateBaseGateIdsz$, gateBaseProofMissingEvidenceCount=gateBaseProofMissingEvidencez, gateBaseProofProofs="gateBaseProofActiveOrderProofFound#gateBaseProofGateTimeBaseProofFound-gateBaseProofPredecessorPersistenceProofFound$gateBaseProofStrictHotspotProofFoundz, gateBaseProofLocal='gateBaseProofLocalDirectBaseSetterCount'gateBaseProofLocalBaseAffectingRowCount/gateBaseProofGateWindowBaseSetterCandidateCount0gateBaseProofGateWindowOnlyOpcode20BaseCandidatez, gateBaseProofScript4=.gateBaseProofDescriptorScript4FieldRecordCount;gateBaseProofDescriptorScript4CurrentFrontierDirectRefCount-gateBaseProofDescriptorScript4GateWriterCount-gateBaseProofDescriptorScript4GateReaderCount?gateBaseProofDescriptorScript4ContextA8NonPointerSetterRowCountz, gateBaseProofScript4Encoded=BgateBaseProofDescriptorScript4EncodedTargetRawScalarCandidateCountLgateBaseProofDescriptorScript4EncodedTargetRouteProofRawScalarCandidateCountBgateBaseProofDescriptorScript4EncodedTargetPromotingCandidateCountz#, gateBaseProofScript4EncodedClass=9gateBaseProofDescriptorScript4EncodedTargetClassificationz, gateBaseProofAllScripts=0gateBaseProofDescriptorAllScriptFieldRecordCount=gateBaseProofDescriptorAllScriptCurrentFrontierDirectRefCount4gateBaseProofDescriptorAllScriptSelectionOpcodeCount/gateBaseProofDescriptorAllScriptGateWriterCount/gateBaseProofDescriptorAllScriptGateReaderCount6gateBaseProofDescriptorAllScriptSpecificGateBaseProvenz!, gateBaseProofAllScriptsEncoded=DgateBaseProofDescriptorAllScriptEncodedTargetRawScalarCandidateCountNgateBaseProofDescriptorAllScriptEncodedTargetRouteProofRawScalarCandidateCountDgateBaseProofDescriptorAllScriptEncodedTargetPromotingCandidateCountz&, gateBaseProofAllScriptsEncodedClass=;gateBaseProofDescriptorAllScriptEncodedTargetClassificationz, gateBaseProofActiveOrder=3gateBaseProofActiveOrderAloneSufficientForGateProof+gateBaseProofActiveOrderOnlyProofEliminatedz, gateBaseProofContextF2=,gateBaseProofOpcode20ContextF2ReferenceCount0gateBaseProofOpcode20ContextF2ReadReferenceCount1gateBaseProofOpcode20ContextF2WriteReferenceCount;gateBaseProofOpcode20ContextF2RuntimeObjectTableReaderCount4gateBaseProofOpcode20ContextF2DirectInitializerCount-gateBaseProofOpcode20ContextF2CopyWriterCount0gateBaseProofOpcode20ContextF2ConstantWriteCount1gateBaseProofOpcode20ContextF2ObjectSelectorCount=gateBaseProofOpcode20ContextF2FixedStream2ObjectSelectorCount@gateBaseProofOpcode20ContextF2SpecificRuntimeObjectPointerProven=gateBaseProofOpcode20ContextF2RuntimeObjectTableStateRequired-gateBaseProofOpcode20ContextF2PromotionStatusz, gateBaseProofPublic=)gateBaseProofPublicPredecessorSampleCount1gateBaseProofPublicPredecessorActiveOrderCountHex.gateBaseProofPublicPredecessorActiveOrderHexes2gateBaseProofPublicPredecessorReachedRouteSelector,gateBaseProofPublicPredecessorGateBaseProvenz, gateBaseProofPublicLeft=4gateBaseProofPublicPredecessorLeftOverrunSampleCount<gateBaseProofPublicPredecessorLeftOverrunActiveOrderCountHex9gateBaseProofPublicPredecessorLeftOverrunActiveOrderHexes=gateBaseProofPublicPredecessorLeftOverrunReachedRouteSelector7gateBaseProofPublicPredecessorLeftOverrunGateBaseProvenz, gateBaseProofDiagnostic="gateBaseProofDiagnosticSampleCount*gateBaseProofDiagnosticActiveOrderCountHex'gateBaseProofDiagnosticActiveOrderHexes%gateBaseProofDiagnosticGateBaseProven&gateBaseProofDiagnosticPromotionStatusz!, gateBaseProofDiagnosticRecheck=3gateBaseProofDiagnosticRecheckRouteSelectorHitCount;gateBaseProofDiagnosticRecheckSelectorRouteSelectorHitCount>gateBaseProofDiagnosticRecheckActiveOrderRouteSelectorHitCount4gateBaseProofDiagnosticRecheckActiveOrderCountValues3gateBaseProofDiagnosticRecheckGateBaseStillUnprovenz, gateBaseProofEvidenceRefs=gateBaseProofEvidenceRefCountz, gateBaseProofStatus=gateBaseProofPromotionStatusz, opcode24Mode1=opcode24Mode1SourceHexopcode24Mode1ExactRefCountopcode24Mode1CoveringWriteCount'opcode24Mode1IndexedWriteCandidateCount*opcode24Mode1AddressProducerCandidateCount)opcode24Mode1StaticProducerCandidateCountz, opcode24Mode1Rows= opcode24Mode1SourceWriteRowCount+opcode24Mode1IndirectBasePlusOffsetRowCount*opcode24Mode1FileReadGlobalDestinationRowsopcode24Mode1BlockRowCount&opcode24Mode1RuntimeSaveReadBlockCount#opcode24Mode1RuntimeRemainingProofsopcode24RuntimeEnabledRefCount(opcode24RuntimeEnabledSaveReadBlockCount%opcode24RuntimeEnabledRemainingProofsopcode24RuntimeEnabledBlockRows.opcode24Mode1DefaultObject61ConsumerGroupCount#opcode24Mode1DefaultRemainingProofsz, opcode24Mode1Runtime="opcode24Mode1StaticInitialValueHexopcode24Mode1SourceHasRawByteopcode24Mode1NotSavedataBackedopcode24Mode1NoStaticProducerz, opcode24Mode1Diagnostic='opcode24Mode1DiagnosticRouteSampleCount'opcode24Mode1DiagnosticTotalSampleCount*opcode24Mode1DiagnosticMode1SourceValueHex*opcode24Mode1DiagnosticRuntimeFlagValueHex1opcode24Mode1DiagnosticCurrentObjectIndexValueHex'opcode24Mode1DiagnosticNormalRouteProof&opcode24Mode1DiagnosticPromotionStatusz!, opcode24Mode1RuntimeProofFound=opcode24Mode1RuntimeProofFoundz", opcode24Mode1RuntimeFailedGates=!opcode24Mode1RuntimeFailedGateIdsz+, opcode24Mode1RuntimeMissingEvidenceCount=#opcode24Mode1RuntimeMissingEvidencez#, opcode24Mode1RuntimeEvidenceRefs=$opcode24Mode1RuntimeEvidenceRefCountz, opcode24Mode1IndirectBlock=1opcode24Mode1IndirectBasePlusOffsetCandidateCount2opcode24Mode1IndirectBaseWindowWriteCandidateCount8opcode24Mode1IndirectNearbyBaseWindowWriteCandidateCount*opcode24Mode1BlockDirectCoveringWriteCount%opcode24Mode1BlockWriteCandidateCount.opcode24Mode1BlockAddressLikeCoveringBaseCountz, opcode24RuntimeEnabled=opcode24RuntimeEnabledFlagHex%opcode24RuntimeEnabledDirectReadCount&opcode24RuntimeEnabledDirectWriteCount%opcode24RuntimeEnabledRequiresFlagOne/opcode24RuntimeEnabledFlagUnwrittenStaticSourcez#, opcode24RuntimeEnabledProofFound= opcode24RuntimeEnabledProofFoundz$, opcode24RuntimeEnabledFailedGates=#opcode24RuntimeEnabledFailedGateIdsz-, opcode24RuntimeEnabledMissingEvidenceCount=%opcode24RuntimeEnabledMissingEvidencez, opcode24RuntimeEnabledBlock='opcode24RuntimeEnabledBlockScanRangeHex#opcode24RuntimeEnabledBlockRowCount7opcode24RuntimeEnabledBlockAddressLikeCoveringBaseCount3opcode24RuntimeEnabledBlockDirectCoveringWriteCount.opcode24RuntimeEnabledBlockWriteCandidateCountz, opcode24CurrentRootModes=opcode24CurrentRootModeRowCount'opcode24CurrentRootOpcodeCandidateCount(opcode24CurrentRootPointerCollisionCount&opcode24CurrentRootMode1CandidateCount'opcode24CurrentRootFrontierOperandCount'opcode24CurrentRootRouteCnsOperandCountz, opcode24Default=$opcode24Mode1DefaultObject61ValueHex.opcode24Mode1DefaultDirectFrontierOperandCount.opcode24Mode1DefaultBranchFrontierOperandCount'opcode24Mode1DefaultStaticPromotesRoute+opcode24Mode1DefaultRuntimeProducerRequiredz, opcode24Status=*opcode24Mode1RuntimeContextPromotionStatusz, runtimeTraceCanRunNow=r  z, runtimeTraceProof=r  z, runtimeTraceFailedGates=r  z#, runtimeTraceMissingEvidenceCount=r  z, runtimeTraceEquivalentReject=r  z, runtimeRouteWatchSamples=r  z, runtimeRouteWatchValues=runtimeRouteWatchPollValuesz , runtimeRouteWatchReachedRoute=r  z , predecessorBranchStateSamples=,runtimePredecessorBranchStatePollSampleCountz!, predecessorBranchStateObserved=2runtimePredecessorBranchStatePollObservedSelectors.runtimePredecessorBranchStatePollActiveFlagHexz, predecessorBranchStateValues=*runtimePredecessorBranchStatePollValuesHex,runtimePredecessorBranchStatePollMatchesFill(runtimePredecessorBranchStatePollAllZeroz%, predecessorBranchStateReachedRoute=5runtimePredecessorBranchStatePollReachedRouteSelectorz-, predecessorHighFrequencyBranchStateSamples=9runtimePredecessorHighFrequencyBranchStatePollSampleCountz., predecessorHighFrequencyBranchStateInterval==runtimePredecessorHighFrequencyBranchStatePollIntervalSecondsz., predecessorHighFrequencyBranchStateObserved=?runtimePredecessorHighFrequencyBranchStatePollObservedSelectors;runtimePredecessorHighFrequencyBranchStatePollActiveFlagHexz,, predecessorHighFrequencyBranchStateValues=7runtimePredecessorHighFrequencyBranchStatePollValuesHex9runtimePredecessorHighFrequencyBranchStatePollMatchesFill5runtimePredecessorHighFrequencyBranchStatePollAllZeroz2, predecessorHighFrequencyBranchStateReachedRoute=BruntimePredecessorHighFrequencyBranchStatePollReachedRouteSelectorz5, predecessorLeftOverrunActivationBranchStateSamples=AruntimePredecessorLeftOverrunActivationBranchStatePollSampleCountz6, predecessorLeftOverrunActivationBranchStateObserved=GruntimePredecessorLeftOverrunActivationBranchStatePollObservedSelectorsCruntimePredecessorLeftOverrunActivationBranchStatePollActiveFlagHexz4, predecessorLeftOverrunActivationBranchStateValues=?runtimePredecessorLeftOverrunActivationBranchStatePollValuesHexAruntimePredecessorLeftOverrunActivationBranchStatePollMatchesFill=runtimePredecessorLeftOverrunActivationBranchStatePollAllZeroz:, predecessorLeftOverrunActivationBranchStateReachedRoute=JruntimePredecessorLeftOverrunActivationBranchStatePollReachedRouteSelectorz, predecessorRouteAttempt=-runtimePredecessorRouteAttemptSourceFileCount0runtimePredecessorRouteAttemptTotalSequenceCount.runtimePredecessorRouteAttemptTotalSampleCountz%, predecessorRouteAttemptPublicFiles=5runtimePredecessorRouteAttemptPublicObservedFileCountz*, predecessorRouteAttemptRouteCurrentHits=3runtimePredecessorRouteAttemptRouteSelectorHitCount1runtimePredecessorRouteAttemptCurrentRootHitCountz+, predecessorRouteAttemptDominantDiversion=7runtimePredecessorRouteAttemptDominantDiversionSelectorz+, predecessorRouteAttemptDiversionContexts=;runtimePredecessorRouteAttemptDiversionSelectorContextCount<runtimePredecessorRouteAttemptFieldMapDiversionSelectorCount@runtimePredecessorRouteAttemptResourceOnlyDiversionSelectorCountz', predecessorRouteAttemptRouteEvidence=BruntimePredecessorRouteAttemptDiversionRoutePromotionEvidenceFoundz , predecessorRouteAttemptStatus=-runtimePredecessorRouteAttemptPromotionStatusz, coordinateEncodings=coordinateEncodingCountz , strictCoordinateEvidenceFound=z, localSavedata=localSavedataStatusz, localSavedataProof=localSavedataProofFoundz, localSavedataFailedGates=*localSavedataFailedSavedataSlotScanGateIdsz$, localSavedataMissingEvidenceCount=localSavedataMissingEvidencez, localSavedataEvidenceRefs=localSavedataEvidenceRefCountz5No route promotion gate audit has been generated yet.z0route_promotion_gate next action evidence refs: z@No route promotion gate next-action evidence refs are available.zoout/runtime_trace_feasibility.* records the exact watchpoints needed for the current runtime proof; proofFound=z, failedRuntimeTraceGates=r  z# confirmed-route blocker(s) remain.zpThe current route stops at map1_01a because no strict source coordinate has been found for map1_01a -> map2_02d.zUrouteAssist is a trial/debug route continuation, not confirmed normal-route evidence.canRunRuntimeTraceNowauditGapzEThe current VM cannot run the required Hwanse2.exe runtime trace yet.zTThe runtime trace environment is available, but the trace has not been captured yet.zevent-dialogue-battlezQEvent, dialogue, battle, and story-state systems are playable, not only inspectedzkScene events, save selectors, branch state candidates, and object assets are extracted into review reports.zrCP949 Korean text candidates are indexed with executable VA and pointer references for the next text-handler pass.z|Decompressed CNS payload text scan found no plain CP949 dialogue candidates after excluding image pixels and tilemap bodies.zrScene event condition/payload windows have no direct Korean text or text-table pointers in the current extraction.zKnown Korean text routine callers use instruction-aligned direct-call scanning and classify as system UI, item/menu, or battle-action contexts; no story-dialogue caller class is identified yet.zEvent/object VM handler scan finds opcode 0x0b calling text routine candidate 0x0041b579 without local static Korean text refs; other matched handlers reference item/action text tables.zEvent text source flow identifies opcode 0x0d as a context+0x28 producer and finds story-like CP949 text near many 0x0d/0x0b streams, but current route-linked 0x0c hits are pointer-byte overlaps.zEvent dialogue block indexing groups opcode 0x0d source commands with nearby CP949 text, 0x0b render commands, and 0x35 literal text payload markers, but this is still storage evidence rather than event-driven playback.zdout/event_battle_gap_audit.* separates prototype coverage from original-system gaps: dialogueBlocks=eventDialogueBlockCountz, battleBackgrounds=battleBackgroundCountz, battleCandidates=battleEventCandidateCountz, dialogueSmoke=dialogueSmokeVerifiedz, battleSmoke=battleSmokeVerifiedz, savedatItemSmoke=savedatBattleItemSmokeVerifiedz, menuItemSmoke=savedatMenuItemSmokeVerifiedz, savePointCandidateSmoke=savePointCandidateSmokeVerifiedz, candidateSavePointSmoke=z, candidateStatusMenuSmoke=z, candidateSkillMenuSmoke=z, candidateEquipmentMenuSmoke=z, candidateShopMenuSmoke=z, candidatePartyJoinSmoke=z, candidateBattleSmoke=z, candidateEventObjectSmoke=z, candidateProgressSmoke=z!, candidateDialogueProgressSmoke=z, candidateRouteProgressSmoke=z#, candidateTransitionProgressSmoke=z, eventObjectPreviewSmoke=eventObjectPreviewSmokeVerifiedz, originalEventVm=routeLinkedEventVmExecutionz, eventDrivenBattleEntry=eventDrivenBattleEntryz, originalEnemyData=originalEnemyDataz$, battleEnemySpriteCandidatesMapped=!battleEnemySpriteCandidatesMappedz, equipmentOffsets=$equipmentOwnershipAndEquippedOffsetsz%, eventTextHandlerAndStorageGrounded="eventTextHandlerAndStorageGroundedz, opcode0bTextRoutineGrounded=opcode0bTextRoutineGroundedz", opcode0dContextProducerGrounded=opcode0dContextProducerGroundedz, routeLinkedTextCommands=routeLinkedCommandCountz', routeLinkedCommandsArePointerOverlap=$routeLinkedCommandsArePointerOverlapz, sceneEventDirectTextRefs=sceneEventDirectTextRefCountz , routeLinkedStoryDialogueProof=routeLinkedStoryDialogueProofz, savedataKnownBytes=z, savedataUnknownBytes=z, savedataUnknownVaryingBytes=z, savedataCoverageStatus=z, enemySprites=enemyObjectSpriteImageCountz", battleResourceDescriptorsMapped=battleResourceDescriptorsMappedz, battleResourceDescriptorRows= battleResourceDescriptorRowCountz!, battleBackgroundDescriptorRefs=(battleBackgroundDescriptorReferenceCountz, enemySpriteDescriptorRefs=#enemySpriteDescriptorReferenceCountz, battleEnemySpriteCandidates=battleEnemySpriteCandidateCountz!, battleEnemySpriteUniqueSprites=+battleEnemySpriteCandidateUniqueSpriteCountz+, battleEnemySpriteRuntimeSelectableAssets=,battleEnemySpriteRuntimeSelectableAssetCountz*, battleEnemySpriteAllExtractedSelectable=-battleEnemySpriteAllExtractedAssetsSelectablez#, battleEnemySpriteCandidateStatus= battleEnemySpriteCandidateStatusz, battleNumericContextStatus=battleNumericContextStatusz", battleNumericDescriptorContexts=#battleNumericDescriptorContextCountz, battleNumericCandidatePairs=&battleNumericCandidatePairContextCountz, battleNumericClosePairs=+battleNumericCloseCandidatePairContextCountz+, battleNumericCandidatePairsWithLocalRuns=+battleNumericCandidateContextsWithLocalRunsz', battleNumericClosePairsWithLocalRuns=0battleNumericCloseCandidateContextsWithLocalRunsz, battleNumericEnemyRunPairs=+battleNumericCandidateContextsWithEnemyRunsz", battleNumericBackgroundRunPairs=0battleNumericCandidateContextsWithBackgroundRunsz, battleNumericPlainRuns=battleNumericPlainRunCountz#, battleNumericPromotableEnemyRows=$battleNumericPromotableEnemyRowCountz', battleNumericRunsPromotedToEnemyRows=$battleNumericRunsPromotedToEnemyRowsz%, battleEnemySpriteOriginalRowsBound=,battleEnemySpriteCandidatesOriginalRowsBoundz", resourceDescriptorsAreEnemyRows=resourceDescriptorsAreEnemyRowsz, battleTextEntries=battleTextEntryCountz, enemyRowsBound=enemyRowsBoundToSpritesz, rewardTable=rewardTableIdentifiedz, combatFormula=combatFormulaIdentifiedz, battleDataStatus=z;No event/battle prototype gap audit has been generated yet.z}out/event_vm_semantics_gap.* consolidates event/script VM semantic evidence without promoting route execution: scriptOpcodes=opcodeCountz, scriptCodeHandlers=codeHandlerCountz, scriptDefaultHandlers=defaultHandlerCountz, eventTableEntries=z, eventUniqueHandlers=uniqueCodeHandlerCountz, eventHandlerScanCount=handlerScanCountz, directTextRoutineHandlers=directTextRoutineHandlerCountz, textCommands=commandCountz, opcode0dMediumCommands=opcode0dMediumCommandCountz!, textSourceOpcodeLengthsDecoded=textSourceOpcodeLengthsDecodedz%, textSourceOperandSemanticsGrounded="textSourceOperandSemanticsGroundedz!, decodedTextSourceOpcodeLengths=decodedTextSourceOpcodeLengthsz, displayCursorOpcodeGrounded=displayCursorOpcodeGroundedz$, decodedDisplayCursorOpcodeLengths=!decodedDisplayCursorOpcodeLengthsz, displayCursorCommandCount=displayCursorCommandCountz!, controlOpcodeSemanticsGrounded=controlOpcodeSemanticsGroundedz, groundedControlOpcodeCount=groundedControlOpcodeCountz, decodedControlOpcodeLengths=decodedControlOpcodeLengthsz, variableLengthControlOpcodes=variableLengthControlOpcodesz, groundedControlCommandCount=groundedControlCommandCountz, groundedControlEventCount=groundedControlEventCountz , groundedControlEventOpcodeSet=groundedControlEventOpcodeSetz,, groundedControlSampleEffectExecutionCount=)groundedControlSampleEffectExecutionCountz(, browserGroundedControlEventsPreserved=%browserGroundedControlEventsPreservedz, browserReplayStatus=z*, browserGroundedControlReplayImplemented='browserGroundedControlReplayImplementedz(, browserGroundedControlEffectsExecuted=groundedControlEffectsExecutedz+, browserGroundedControlExecutedEventCount=!groundedControlExecutedEventCountz*, browserGroundedControlExecutedOpcodeSet= groundedControlExecutedOpcodeSetz, browserBranchExecutionSteps=branchExecutionStepCountz , browserBranchExecutionRenders=branchExecutionRenderCountz%, browserBranchExecutionLineAdvances=branchExecutionLineAdvanceCountz, browserBranchExecutionWaits=branchExecutionWaitCountz, browserRenderStateSnapshots=renderStateSnapshotCountz, browserBranchTextOrigin=branchTextOriginz, browserBranchGlobalTimer=branchGlobalTimerz., browserEventVmControlFlowSummaryImplemented=+browserEventVmControlFlowSummaryImplementedz , browserEventVmBranchExecution=(browserEventVmBranchExecutionImplementedz!, browserEventVmBranchTextOrigin=)browserEventVmBranchTextOriginImplementedz", browserEventVmBranchGlobalTimer=*browserEventVmBranchGlobalTimerImplementedz$, browserEventVmRenderStateSnapshot=,browserEventVmRenderStateSnapshotImplementedz, browserEventVmDisplayStyle=%browserEventVmDisplayStyleImplementedz", browserEventVmDisplayTimerState=*browserEventVmDisplayTimerStateImplementedz#, browserEventVmBranchDisplayStyle=+browserEventVmBranchDisplayStyleImplementedz%, browserEventVmBranchObjectPosition=-browserEventVmBranchObjectPositionImplementedz#, browserEventVmBranchDisplayTimer=+browserEventVmBranchDisplayTimerImplementedz%, browserEventVmCursorRelativeLayout=-browserEventVmCursorRelativeLayoutImplementedz%, browserEventVmBranchCursorRelative=-browserEventVmBranchCursorRelativeImplementedz, browserEventVmBranchDataBank='browserEventVmBranchDataBankImplementedz#, browserEventVmLiteralPayloadLine=/browserEventVmLiteralTextPayloadLineImplementedz$, browserEventVmObjectPositionFocus=,browserEventVmObjectPositionFocusImplementedz , browserDialogueInputWaitLatch=(browserDialogueInputWaitLatchImplementedz, literalStorageOpcodeObserved=literalStorageOpcodeObservedz$, opcode0cPointerOverlapNotPromoted=!opcode0cPointerOverlapNotPromotedz, dialogueBlocks=
blockCountz, routeLinkedDialogueBlocks=routeLinkedBlockCountz, partialVmReplayBlocks=partialVmReplayBlockCountz, partialVmReplayOpcodes=partialVmReplayOpcodeSetz, literalVmReplayBlocks=literalVmReplayBlockCountz, literalVmReplayEvents=literalVmReplayEventCountz, groundedControlReplayBlocks=groundedControlReplayBlockCountz, groundedControlReplayEvents=groundedControlReplayEventCountz, groundedControlReplayOpcodes=groundedControlReplayOpcodeSetdirectTextRefCountz, scriptHandlerTableMapped=scriptHandlerTableMappedz , eventObjectHandlerTableMapped=eventObjectHandlerTableMappedz , instructionLengthFullyDecoded=instructionLengthFullyDecodedz, operandLayoutFullyDecoded=operandLayoutFullyDecodedz, routeLinkedEventVmExecution=z, browserEventVmPartialReplay=browserEventVmPartialReplayz, browserReplayClassification=browserReplayClassificationz', browserReplayPromotesOriginalEventVm=$browserReplayPromotesOriginalEventVmz, browserReplayScope=browserReplayScopez, eventVmPromotionGatePassed=allRequiredGatesPassedz#, eventVmPromotionMissingGateCount=missingGateCountz, eventVmPromotionMissingGates=missingGateIdsz&, remainingOriginalEventVmProofInputs=#remainingOriginalEventVmProofInputsz, browserEventVmImplementation=browserEventVmImplementationz, eventVmPromotionGateCheck=eventVmPromotionGatePassedz, storyDialogueRouteProof=storyDialogueRouteProofz7No event VM semantics gap audit has been generated yet.un  The web runtime can lazy-load the compact dialogue block index, partially replay the indexed opcode 0x02/0x0d/0x0b/0x35 trace into window.HWANSE_LAST_EVENT_VM_REPLAY, expose VM-driven render lines, cursor/separator events, source context, and grounded control/display effect state in the dialogue box snapshot/progress records, apply the grounded text-origin layout, cursor-relative layout, and display style/timer state for rendered dialogue, and show candidate dialogue in a dialogue box; exact map-linked candidates can be opened with Enter/mobile A or the compact dialogueButton without going through the debug menu, and the WebKit smoke verifies map4_08n opens event-dialogue-block-005, records vmPartial=True/vmFull=False with vmOpcodes containing 0x0d and 0x0b plus vmDriven=2/13, vmCoverage=partial-render-prefix, vmSource=0x00030000, and advances it; dialogue open and line advances now record dialogue-open-sound/dialogue-advance-sound markers tied to ../extract_wlk/01.wav, verify dialogueOpenSoundCount=2 and dialogueAdvanceSoundCount=13, and keep repeat keydown at soundRepeat=2. out/dialogue_candidate_review_summary.* verifies dialogue chrome internal-id hiding by showing the play-facing header 대화 1/13 while hiding the internal event-dialogue-block-005 id, records grounded control/display effect execution for event-dialogue-block-005 with groundedControlEffects=True, groundedControlEvents=15, groundedControlOpcodes=0x03,0x06,0x07,0x08,0x09,0x0a,0x15,0x1b,0x37, groundedControlWaits=4, groundedControlBranches=4, controlFlow=4/1, underflow=1, dataBank=0, browserEventVmControlFlowSummaryImplemented=True, branchExecution=62/6, branchLineAdvance=8, branchWait=4, literalPayload=7/7/10, branchExecutionDepth=1/0, browserEventVmBranchExecutionImplemented=True, branchTextOrigin=5:0x0045ee44:16,16, branchGlobalTimer=5:0x0045ee4c:0, browserEventVmBranchTextOriginImplemented=True, browserEventVmBranchGlobalTimerImplemented=True, renderStateSnapshots=2, browserEventVmRenderStateSnapshotImplemented=True, branchRenderSelection=True, groundedControlObjects=1, displayStyle=default, displayStyleProbe=event-dialogue-block-029/emphasis, branchFontRow=12:0x004ec78a:2, branchDisplayStyle=12:0x004ec78e:1:emphasis, branchObjectPosition=12:0x004ec79a:144,248, branchDisplayTimer=12:0x004ec7a2:2880, cursorRelative=37/20, branchCursorRelative=37:0x004e8054:24,96, branchDisplayTimer028=5:0x004e7ffc:1856, branchStyle028=6:0x004e7ff0:0, branchObject028=5:0x004e8000:0,352, branchDataBank028=4:0x004e8088:0, browserEventVmDisplayStyleImplemented=True, browserEventVmDisplayTimerStateImplemented=True, browserEventVmBranchDisplayStyleImplemented=True, browserEventVmBranchObjectPositionImplemented=True, browserEventVmBranchDisplayTimerImplemented=True, browserEventVmCursorRelativeLayoutImplemented=True, browserEventVmBranchCursorRelativeImplemented=True, browserEventVmBranchDataBankImplemented=True, objectFocus=144,248, and browserEventVmObjectPositionFocusImplemented=True, verifies the grounded opcode 0x06 input-release latch in canvas and keyboard play with canvas releaseCleared=True, firstAdvanced=True, repeatBlocked=True, releaseCleared=True, secondAdvancedAfterRelease=True, and browserDialogueInputWaitLatchImplemented=True while keeping originalEventVmRuntimeImplemented=False, records mobile B dialogue cancel by closing the same candidate once by mobile B without completing, reopens it, advances once by a canvas PointerEvent, then to completion, auto-saves it with autoSaved=True and autoSource=dialogue-complete, records browser-local prototypeStoryFlags=1/savedStoryFlags=1/storyFlagSource=prototype-progress-derived-story-flags/storyFlagKeys=story:dialogue-complete:map4_08n:event-dialogue-block-005 with browserPrototypeStoryFlagImplemented=True, restores it as 대사 완료 1/2, then targets next=event-dialogue-block-026 with dialogueCompleteCount=1, dialogueFeedback=dialogue-completion-feedback:대사 완료 1/2, dialogueFeedbackRender=True, and dialogueFeedbackSound=dialogue:../extract_wlk/01.wav:True; it then completes event-dialogue-block-026, restores the all-complete UI as 대사 완료 2, confirms the completed action opens dialogue-complete:map4_08n with completedActionResult=True and dialogueCompleteCount=2 instead of replaying a candidate dialogue, verifies prototypeStoryFlags=2/savedStoryFlags=2/storyFlagKeys=story:dialogue-complete:map4_08n:event-dialogue-block-005,story:dialogue-complete:map4_08n:event-dialogue-block-026, verifies the current objective becomes objective=후보 대사 완료 map4_08n / objectiveNext=완료 알림 확인 and objectiveAction=dialogue-completion-notice opens objectiveActiveId=dialogue-complete:map4_08n with noticeFeedback=dialogue-completion-notice-feedback:대사 완료 2/2, noticeFeedbackRender=True, and noticeFeedbackSound=menuConfirm:../extract_wlk/04.wav:True, verifies the runtime menu opens 대사 선택 2 with directMenuIndex=-1 and menuMode=dialogue-candidate instead of exposing a duplicate direct completion row, and restores the same all-complete state through title `이어하기 map4_08n 11,11` with quickLoadText=임시 불러오기 and prototypeStoryFlags=2, while keeping originalStoryFlagRuntimeImplemented=False.u   Dialogue completion notice feedback marker summary: noticeFeedback=dialogue-completion-notice-feedback:대사 완료 2/2; noticeFeedbackRender=True; noticeFeedbackSound=menuConfirm:../extract_wlk/04.wav:True.uK  Runtime dialogue candidate menu marker summary: the map menu exposes `대사 선택 N`, opens a `dialogue-candidate` submenu, and the WebKit smoke selects event-dialogue-block-026 on map4_08n to open a dialogue with firstLine=스마슈, lineCount=14, source=prototype-dialogue-candidate-menu, dialogueOpenSound=dialogue-open-sound:../extract_wlk/01.wav, vmPartial=True, vmFull=False, originalEventVmRuntimeImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is a browser-local gameplay selection surface, not proof of original event VM dispatch or story flag mutation.u  The web runtime records routeAssist candidate map-exit movement as route-candidate prototype progress without promoting original route proof; out/completion_candidate_review_summary.* verifies the map runtime menu starts routeAssist from map1_02b with `후보 진행 map2_02d`, exposes `후보 다음 map1_01a`, and opens `후보 목표 25` to select `map2_18d` from the same in-game menu while the play HUD shows `후보 map2_18d  다음 map1_01a`. The same smoke verifies map1_01a -> map2_02d through the routeAssist top auto exit, auto-saves/restores map2_02d with routeCandidateCount=1, autoSaved=True, autoSource=route-candidate, pathProgress=후보 진행 1/2, and routeProgressFeedback=route-progress-feedback:후보 진행 1/2 map2_02d with routeProgressFeedbackRender=True, blockReasons=5, and trialOnly=trial-only: no map1_01a->map2_02d transition-review row +4, then reopens the source tile with saved prototypeProgress and verifies the action prompt `Move/Enter -> 후보 완료 map2_02d` plus pathProgress=후보 완료 1/1 before continuing map2_02d -> map2_18d and auto-saving/restoring the completed chained route with routeCandidateCount=2, autoSaved=True, autoSource=route-candidate, pathProgress=후보 완료 2/2, and routeProgressFeedback=route-progress-feedback:후보 완료 2/2 map2_18d. It also restores the completed chain through title `이어하기 map2_18d 47,47` with quickLoadText=임시 불러오기, routeGoal=map2_18d, and routeCandidateCount=2. The same smoke verifies the runtime objective action now executes active route goals, with objectiveAction action=route-next for map1_02b -> map1_01a, objectiveAction action=route-continuation preparing map2_02d -> map2_09g with routeNextText=진입, and objectiveAction action=field-encounter-enable on map2_14j with autoSource=field-encounter-enable, modeSource=objective-action, and fieldEnabled=True. It also verifies quick play controls for the same objective path: keyboard `G` records quickObjectiveKeyboard=True, source=keyboard, action=route-next, beforeButtonTitle=목표 실행: 후보 목표 map2_02d, routeAutoSave=1, savedPayloadMap=map1_01a, quickObjectiveSound=quick-objective-sound:keyboard:route-next, quickObjectiveSoundSrc=../extract_wlk/04.wav, and quickObjectiveSoundPlayed=True; the mobile `목` virtualObjectiveButton records quickObjectiveButton=True, source=virtual-objective-button, action=field-encounter-enable, buttonTitle=목표 실행: 후보 목표 map2_14j / 걸어서 필드 전투 0/6, autoSource=field-encounter-enable, modeSource=objective-action, quickObjectiveSound=quick-objective-sound:virtual-objective-button:field-encounter-enable, quickObjectiveSoundSrc=../extract_wlk/04.wav, and quickObjectiveSoundPlayed=True; the desktop toolbar `목표` button records quickObjectiveToolbar=True, source=objective-action-button, action=route-continuation, beforeObjectiveButtonTitle=목표 실행: 후보 목표 map2_02d / map2_09g 이어가기, objectiveButtonTitle=목표 실행: 후보 목표 map2_09g / map2_09g 이동, routeNextText=후보, quickObjectiveSound=quick-objective-sound:objective-action-button:route-continuation, quickObjectiveSoundSrc=../extract_wlk/04.wav, and quickObjectiveSoundPlayed=True. The direct routeNext continuation button also records routeControlAction=route-continuation and routeControlSound=route-control-sound:route-next-button:route-continuation with routeControlSoundSrc=../extract_wlk/04.wav and routeControlSoundPlayed=True. The continuation smoke also verifies routeAutoSave entries show routeProgressFeedback=route-progress-feedback:후보 진행 1/2 map2_09g, routeProgressFeedback=route-progress-feedback:후보 진행 2/3 map2_10g, routeProgressFeedback=route-progress-feedback:후보 진행 3/4 map2_12h, and routeProgressFeedback=route-progress-feedback:후보 진행 4/5 map2_14j. The deep continuation smoke now carries that browser-local path to map2_14j, wins a prototype field encounter, and verifies completionCompleted=True with completionSource=prototype-route-assist-completion, completionRouteCandidateCount=4, completionFieldEncounterVictoryCount=1, the title label suffix `완료 map2_14j`, and the visible HUD text `완료 map2_14j` both immediately after victory and after title `이어하기` restore. It also verifies the completed routeNext button, objective action, and runtime menu completion command open route-complete:map2_14j with activeId=route-complete:map2_14j, objectiveAction=route-completion-notice, objectiveActiveId=route-complete:map2_14j, menuCommand=후보 완료 map2_14j, routeCompleted=1, routeCompleteProgress=route-complete, routeCompleteAutoSource=route-complete, routeCompleteSavedPayloadMap=map2_14j, routeCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j, playableGate=prototype-playable-route-gate, playableGateStatus=open, playableGateOpen=True, playableGateLabel=웹 후보 루트 완료 map2_14j, routeGateFeedback=route-completion-feedback:후보 완료 map2_14j, routeGateSound=victory, routeGateSoundSrc=../extract_wlk/12.wav, routeGateSoundPlayed=True, originalFullGameCompletionImplemented=False, progressReviewRouteComplete=True with 진행 리뷰 `후보 완료 1`, HUD objective `목표 후보 루트 완료 map2_14j` / `다음 완료 버튼으로 결과 확인`, lines `후보 루트 완료 map2_14j`/`필드 전투 승리 1`, and runtimeRouteCompletionNotice=True, while keeping originalRoutePromotionImplemented=False and originalEncounterRuntimeImplemented=False.u  out/completion_candidate_review_summary.* also records the visible desktop toolbar objective button for the first routeAssist objective move: quickObjectiveToolbarNext=True, source=objective-action-button, action=route-next, beforeObjectiveButtonText=목표, routeAutoSave=1, savedPayloadMap=map1_01a, quickObjectiveSound=quick-objective-sound:objective-action-button:route-next, quickObjectiveSoundSrc=../extract_wlk/04.wav, and quickObjectiveSoundPlayed=True.u  out/completion_candidate_review_summary.* also records the mobile virtual objective button for the first routeAssist objective move: quickObjectiveButtonNext=True/source=virtual-objective-button/action=route-next, beforeButtonTitle=목표 실행: 후보 목표 map2_02d, routeAutoSave=1, savedPayloadMap=map1_01a, quickObjectiveSound=quick-objective-sound:virtual-objective-button:route-next, quickObjectiveSoundSrc=../extract_wlk/04.wav, and quickObjectiveSoundPlayed=True.uH  The web runtime records confirmed map-transition gameplay as map-transition prototype progress; out/transition_progress_candidate_review_summary.* verifies the default non-routeAssist action path for map1_02b -> map1_01a by clicking the `Move/Enter -> map1_01a...confirmed` canvas prompt with canvasPointer=True, auto-saves payloadMap=map1_01a with mapTransitionCount=1, autoSaved=True, autoSource=map-transition, transitionReviewState=confirmed, originalSceneRecordBacked=True, and routeAssistActive=False, then restores the same payload through the title-screen `이어하기 map1_01a` row as prototype-progress:map1_01a with titleContinue=True, progressRestored=True, label=맵 전환, quickLoadText=임시 불러오기, and also direct quick-loads it before returning to the source prompt `Move/Enter -> 전환 완료 map1_01a...confirmed`. The completed transition objective becomes objective=후보 전환 완료 map1_01a / objectiveNext=완료 알림 확인, and objectiveAction=map-transition-completion-notice opens objectiveActiveId=transition-complete:map1_01a from both the direct confirmed-transition state and title-continue restored state while showing transitionCompletionFeedback=map-transition-completion-feedback:맵 전환 완료 map1_01a, transitionCompletionFeedbackRender=True, and transitionCompletionSound=menuConfirm:../extract_wlk/04.wav:True. The same smoke verifies browser-local transition fade evidence via window.HWANSE_LAST_TRANSITION_EFFECT, transitionEffect=map1_02b->map1_01a, fadeMs=420, browserFade=True, effectTrigger=action/movement, and the movement-triggered confirmed transition path with trigger=movement, autoSaved=True, autoSource=map-transition, and direction metadata while keeping originalStoryFlagRuntimeImplemented=False, originalTransitionFadeTimingImplemented=False, and originalRoutePromotionImplemented=False.u   Map transition completion feedback marker summary: transitionCompletionFeedback=map-transition-completion-feedback:맵 전환 완료 map1_01a; transitionCompletionFeedbackRender=True; transitionCompletionSound=menuConfirm:../extract_wlk/04.wav:True.u	  The web runtime can lazy-load the compact save-point candidate subset and show it from the map menu as a read-only review dialogue; the WebKit smoke verifies map1_01a opens save-point-candidates:map1_01a with global-review scope and keeps originalSavePointRuntimeImplemented=False. A separate candidate save-point browser smoke verifies global-review candidates stay read-only while current-map candidate map2_07e applies prototype HP/MP/status recovery before saving, recovered=True, recoveredCount=1, curedStatusCount=2, and confirms map2_07e saves the current location/state after recovery into the prototype temporary save slot through both the menu command and the normal Enter/A action prompt `Enter -> 세이브 후보 1`, using event-dialogue-block-033 with candidateEvidence=event-dialogue-block-033/candidateCategories=statue-shrine-context/candidateStrengths=weak-location-only, autoSaved=True, and autoSource=save-point-candidate plus saveFeedback=save-point-feedback:세이브 완료 1/saveFeedbackRender=True and savePointSound=menuConfirm/savePointSoundSrc=../extract_wlk/04.wav/savePointSoundPlayed=True. The save-point runtime save, auto-save payload, prototype progress detail, feedback log/render, and Enter/A action save now carry both the candidate evidence row and the partial VM replay summary vmBlocks=event-dialogue-block-033/vmPartial=True/vmFull=False/vmRender=2/vmLiteral=2/vmSource=0x00030000 while keeping original event VM/full save-point proof unpromoted. The same smoke verifies that the displayed current-map save-point prompt now matches the Enter/A activation path instead of opening the overlapping dialogue candidate, while broad tileset-family save candidates are not promoted above direct dialogue/shop prompts, then restores save-point completion and the saved state through the title-screen `이어하기 map2_07e 11,11` row with titleContinue=True, restoredHp=36, restoredMp=8, restoredStatuses=none, quickLoadText=임시 불러오기, and source action prompt `Enter -> 세이브 완료 1`. The completed save-point objective becomes objective=후보 세이브 완료 map2_07e / objectiveNext=완료 알림 확인, and objectiveAction=save-point-completion-notice opens objectiveActiveId=save-point-complete:map2_07e with saveNoticeFeedback=save-point-completion-notice-feedback:세이브 완료 1, saveNoticeFeedbackRender=True, and saveNoticeSound=menuConfirm:../extract_wlk/04.wav:True without recording another save-point-candidate event, while keeping originalRecoveryEventImplemented=False.u   Save-point completion notice feedback marker summary: saveNoticeFeedback=save-point-completion-notice-feedback:세이브 완료 1; saveNoticeFeedbackRender=True; saveNoticeSound=menuConfirm:../extract_wlk/04.wav:True.u  Runtime save-point candidate menu marker summary: the map menu exposes `세이브 선택 N`, opens a `save-point-candidate` submenu, and the WebKit smoke selects event-dialogue-block-033 on map2_07e with menuCount=1, selected=event-dialogue-block-033, scope=current-map, saved=True, eligible=True, selectionSource=prototype-save-point-candidate-menu, commandResult=True, selectResult=True, directMenuIndex=-1, afterMenuOpen=False, saveFeedback=save-point-feedback:세이브 완료 1, savePointSound=menuConfirm:../extract_wlk/04.wav:True, vmBlocks=event-dialogue-block-033, vmPartial=True, vmFull=False, vmRender=2, vmLiteral=2, vmSource=0x00030000, originalSavePointRuntimeImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is a browser-local save-point selection surface, not proof of original save-point event VM dispatch, recovery event execution, or story flag mutation.u  The web runtime can render linked z*.cns object sprite candidates directly in the normal map view and hit-test the visible sprites as canvas pointer targets with hover cursor/highlight feedback; out/event_object_candidate_review_summary.* verifies map2_03l first-load passive rendering with passiveVisible=True, prototype=False, annotated=False, candidates=3, loaded=3, rendered=3 for zm_2, zg_kni, and zs_rg at the shared active point, then opens event-object-candidates:map2_03l by clicking the visible sprite with scope=pointer-object, hoverCursor=pointer, hoverAsset=zs_rg, hit=zs_rg, assets=zs_rg,zg_kni,zm_2, canvasPointer=True, dialogueLinks=3, and linkedDialogueCount=3. The same smoke verifies visible object anchors now block movement in the web runtime with objectCollision=map2_03l blocked=True anchors=3 target=11,11 primary=None directCanMove=False prompt=Enter -> 조사 zg_kni 3개 objectCollisionEnabled=True renderAnchors=3 originalEventObjectRuntimeImplemented=False, verifies the collision overlay renders the same block as collisionOverlay=map2_03l enabled=True objectTiles=1 objectAnchors=3 visible=1 tile=11,11 assets=zg_kni,zm_2,zs_rg, and verifies the objectCollision=0 opt-out allows the same movement with objectCollisionDisabled=map2_03l enabled=False directCanMove=True primaryTile=11,11 anchors=0 blocked=False while keeping the 조사 prompt. This keeps the collision/overlay gameplay-visible without promoting original NPC/object VM proof.u}
  The web runtime can inspect nearby linked z*.cns object sprite candidates from the normal map action path and includes a linked dialogue candidate summary in the same 조사 result; out/event_object_candidate_review_summary.* verifies map2_03l opens event-object-candidates:map2_03l through the visible sprite canvas pointer, the 조사 button, a facing-object Enter/A prompt from one tile below (`Enter -> 조사 zg_kni 3개`, actionHighlight=zg_kni), and the existing near-foot Enter/A hotspot action. It renders zg_kni, zm_2, and zs_rg as prototype object sprites, reports dialogueLinks=3 dialogueBlocks=event-dialogue-block-004,event-dialogue-block-032,event-dialogue-block-041, records linkedDialogueCount=3, and shows the immediate map overlay inspectFeedback=event-object-inspect-feedback:조사 완료 3 with inspectFeedbackRender=True plus inspectSound=menuConfirm/inspectSoundSrc=../extract_wlk/04.wav/inspectSoundPlayed=True, then advances the 조사 result into a linked dialogue follow-up event-object-candidates:map2_03l -> event-dialogue-block-004 with dialogueCandidateCount=1 and partial VM replay vmBlocks=event-dialogue-block-004/vmPartial=True/vmFull=False/vmRender=6/vmLiteral=9/vmSource=0x00030000. The same smoke completes that linked dialogue as button=대사 완료 1/3, next=event-dialogue-block-032, dialogueCompleteCount=1, savedDialogueCompleteCount=1, autoSaved=True, autoSource=dialogue-complete, carrying the same block004 replay into progress and autosave; it then completes the remaining linked dialogue all-complete sequence completed=event-dialogue-block-032,event-dialogue-block-041 with button=대사 완료 3, notice=dialogue-complete:map2_03l, dialogueCandidateCount=3, dialogueCompleteCount=3, savedDialogueCompleteCount=3, autoSaved=True, autoSource=dialogue-complete, vmBlocks=event-dialogue-block-004,event-dialogue-block-032,event-dialogue-block-041, vmPartial=True,True,True, vmFull=False,False,False, vmRender=6,3,5, vmLiteral=9,4,8, and vmSource=0x00030000,0x00030000,0x00030000. It also performs a linked dialogue quick-load restore from a fresh page as loaded=True, button=대사 완료 3, objectButton=조사 완료 3, notice=dialogue-complete:map2_03l, dialogueButtonResult=True, menuObject=조사 선택 3, directMenuIndex=-1, menuMode=object-candidate, menuCandidateCount=3, dialogueCompleteCount=3, objectInspectCount=1, then restores the same completed object/dialogue state through title `이어하기 map2_03l 11,11` with quickLoadText=임시 불러오기 while keeping originalLinkedDialogueRuntimeImplemented=False plus originalEventObjectRuntimeImplemented=False and without promoting original NPC/object VM execution proof.u  The same event-object smoke separately browser-verifies the only descriptor-row z*.cns asset with a field scene anchor: map8_32q descriptorTable=0x00442d95 descriptorRow=10 asset=zsa_iwa.cns runtimeSurface=field-object-overlay-candidate active=event-object-candidates:map8_32q button=조사 완료 1 passiveVisible=True candidates=1 loaded=1 rendered=1 anchors=1 scope=near-foot assets=zsa_iwa sceneIds=0xac18 inspectFeedback=event-object-inspect-feedback:조사 완료 1 inspectSound=menuConfirm:../extract_wlk/04.wav:True, while originalEventObjectRuntimeImplemented=False and originalStoryFlagRuntimeImplemented=False. This ties the descriptor-row scene anchor to a visible field object only for zsa_iwa; zsa_saru, zsl_yoi, zsa_mi, and zsa_kika remain battle-sprite-only candidates.a  The same event-object smoke now browser-verifies all 7 scene-event linked z*.cns object sprites as visible/inspectable field object candidates: verified=7/7 maps=map1_02b:zjk_suz@0x0618;map2_03l:zg_kni,zm_2,zs_rg@0x0918;map8_18o:zs_dd@0x9e18;map8_32q:zsa_iwa@0xac18;map9_01e:zi_ana@0xad18 with loaded=7 rendered=7 inspected=7 anchors=7 scope=near-foot, inspectSound=menuConfirm, and originalLinkedDialogueRuntimeImplemented=False/originalEventObjectRuntimeImplemented=False/originalStoryFlagRuntimeImplemented=False. This is browser-local object-candidate coverage for extracted scene links, not proof of original NPC/object VM dispatch, field-object script behavior, or story flag mutation.uW	  The same event-object smoke now verifies the completed object/dialogue path does not dead-end at the 조사-complete notice: after the first linked dialogue completion the field prompt advances to prompt=Enter -> 대사 2/3, and after all three linked dialogues it quick-loads and title-continues map2_03l with prompt=Enter -> 대사 전투 btl_l1. Pressing Enter/A on that restored field state starts linked dialogue battle action event-dialogue-block-041:btl_l1 with actionResult=True, linkAction=dialogue-battle-action, scene=battle, battleBackground=btl_l1, enemyName=백호 괴수, enemySprite=zjk_byk.cns, enemyDropItemTextRef=0x0048b98c, enemyDropItemTextVa=0x0048ba8e, battleStartFeedback=battle-start-feedback:전투 시작 btl_l1, battleStartFeedbackRender=True, battleStartFeedbackSound=battleStart:../extract_wlk/08.wav:True, dialogueBattleLinkCount=3, and battleStartCount=1. The same smoke then wins that linked dialogue battle and returns to the map with linked dialogue battle victory event-dialogue-block-041, attackResult=True, finishResult=True, rewardGranted=True, autoSaved=True, autoSource=battle-victory, battleVictoryCount=1, drop=해독초, dropCount=1, dropItemTextRef=0x0048b98c, dropItemTextVa=0x0048ba8e, rewardEffect=battle-victory:백호 괴수, rewardDropItemTextRef=0x0048b98c, rewardRenderDropItemTextRef=0x0048b98c, rewardEffectRender=True, rewardEffectSound=victory:../extract_wlk/12.wav:True, and the next play-facing objective/prompt advances to objective=후보 대사 전투 btl_l2, prompt=Enter -> 대사 전투 btl_l2, nextLink=event-dialogue-block-032:btl_l2. It then completes the remaining linked dialogue battle chain with steps=2, order=event-dialogue-block-032:btl_l2,event-dialogue-block-004:btl_l1, battleStartCount=3, battleVictoryCount=3, pendingLink=None, objective=후보 전투 완료 btl_l1, prompt=Enter -> 전투 완료 btl_l1, dropCount=3, stepDropItemTextRefs=0x0048b98c,0x0048b98c, rewardDropItemTextRefs=0x0048b98c,0x0048b98c, rewardRenderDropItemTextRefs=0x0048b98c,0x0048b98c, rewardEffectSounds=victory,victory, rewardEffectSoundSrcs=../extract_wlk/12.wav,../extract_wlk/12.wav, rewardEffectSoundsPlayed=True,True, autoSource=battle-victory, noticeResult=True, notice=battle-complete:event-dialogue-block-004, and duplicateProgress=True while keeping the proof browser-local rather than original event-driven battle execution.u   Linked dialogue battle completion feedback marker summary: completionFeedback=battle-completion-feedback:전투 완료 btl_l1; completionFeedbackRender=True; completionFeedbackSound=menuConfirm:../extract_wlk/04.wav:True.u  Runtime object candidate menu marker summary: the map menu exposes `조사 선택 N`, opens an `object-candidate` submenu, and the WebKit smoke selects zs_rg on map2_03l to open event-object-candidates:map2_03l with selected=zs_rg, scope=menu-object, assets=zs_rg, selectionSource=prototype-object-candidate-menu, source=prototype-object-candidate-menu, inspectFeedback=event-object-inspect-feedback:조사 완료 1, inspectSound=menuConfirm:../extract_wlk/04.wav:True, linkedDialogueCount=3, originalLinkedDialogueRuntimeImplemented=False, originalEventObjectRuntimeImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is a browser-local object selection surface, not proof of original NPC/object VM dispatch or story flag mutation.u  The web runtime records candidate dialogue/object/save/battle prototype interactions into a browser-local progress log that is preserved by temporary save/load and reviewed from the map menu as showPrototypeProgress; the same surface now carries a play-facing objective summary, objective action, and browser-local prototypeStoryFlags derived from progress records. out/menu_candidate_review_summary.* verifies event-object-candidates:map2_03l is opened by the visible desktop toolbar 목표 button with quickObjectiveSource=objective-action-button, beforeObjectiveButtonHidden=False, beforeObjectiveButtonText=목표, objectiveAction=hotspot-action, and quickObjectiveSound=quick-objective-sound:objective-action-button:hotspot-action with quickObjectiveSoundSrc=../extract_wlk/04.wav/quickObjectiveSoundPlayed=True, saved into prototypeProgress with autoSaved=True and autoSource=object-inspect, records storyFlags=1/progressStoryFlags=1/savedStoryFlags=1/storyFlagSource=prototype-progress-derived-story-flags/storyFlagKeys=story:object-inspect:map2_03l:event-object-candidates:map2_03l with browserPrototypeStoryFlagImplemented=True, keeps the completed field prompt as prompt=Enter -> 조사 완료 zg_kni 3개, verifies completedHotspotResult=True/completedHotspotNotice=event-object-complete:map2_03l from the normal Enter/A hotspot path, restored as prototype-progress:map2_03l with progressRestored=True, objective=후보 조사 완료 map2_03l, next=완료 알림 확인, runtime menu label 진행 목표 1, objectiveMenu=목표 실행, and objectiveAction=object-completion-notice opens objectiveActiveId=event-object-complete:map2_03l while showing objectNoticeFeedback=event-object-completion-notice-feedback:조사 완료 3, objectNoticeFeedbackRender=True, and objectNoticeSound=menuConfirm:../extract_wlk/04.wav:True; progressReview=prototype-progress:map2_03l remains available for the log review and now shows progressReviewStoryStatus=True/progressReviewStoryRecent=True for `스토리 상태 1개` and `최근 스토리 조사 map2_03l event-object-candidates:map2_03l`; storyFlagReview=prototype-story-flags:map2_03l is also available from storyFlagMenuCommand=showPrototypeStoryFlags and verifies storyFlagReviewStatus=True/storyFlagReviewCounts=True for `스토리 상태 map2_03l: 1개` and `종류 조사 1`, updates the objectButton=조사 완료 3 completion state and the runtime menu object selector objectMenu=조사 선택 3, renders completed object candidates with renderDone=True, and opens event-object-complete:map2_03l from both Enter/A completed action and the objectButton with completedActionResult=True and buttonCompletedActionResult=True while keeping progressAfterAction=1 and progressAfterButton=1 instead of duplicating object-inspect progress, and keeps originalStoryFlagRuntimeImplemented=False.u   Object completion notice feedback marker summary: objectNoticeFeedback=event-object-completion-notice-feedback:조사 완료 3; objectNoticeFeedbackRender=True; objectNoticeSound=menuConfirm:../extract_wlk/04.wav:True.u  The web runtime keeps prototype party-join execution separate from the old manual party cycle while the map main menu now exposes only `동료 선택 N` for direct player selection: out/menu_candidate_review_summary.* verifies menuCommands=동료 선택 2 directJoinRows=False on map1_02b, records two party-join-prototype events with source=prototype-party-join, auto-saves members=rinshan,smash as label=린샹+스마슈 with autoSaved=True and autoSource=prototype-party-join, shows joinFeedback=party-join-feedback:동료 합류 스마슈 with joinFeedbackRender=True plus partyJoinSound=menuConfirm/partyJoinSoundSrc=../extract_wlk/04.wav/partyJoinSoundPlayed=True, and verifies the joined party renders on the map through drawParty with party-follower-render source=prototype-party-trail-render, followers=party_rinshan,party_smash, stepCount=7, trailFilledCount=7, visibleFollowers=2, separateFromPlayer=True, actorCollisionEnabled=True, and actorCollisionBlocked=1. It restores the same joined party through the title-screen `이어하기 map1_02b 11,12` row with titleContinue=True, progressRestored=2, menuProgress=진행 목표 2, and quickLoadText=임시 불러오기, also direct quick-loads the same state, and the completed party objective becomes objective=후보 동료 완료 map1_02b / objectiveNext=완료 알림 확인 with objectiveAction=party-completion-notice opening objectiveActiveId=party-complete:map1_02b while showing partyNoticeFeedback=party-join-completion-notice-feedback:동료 합류 완료 2/2, partyNoticeFeedbackRender=True, and partyNoticeSound=menuConfirm:../extract_wlk/04.wav:True. It keeps originalPartyJoinEventImplemented=False plus originalPartyTrailRuntimeImplemented=False plus originalStoryFlagRuntimeImplemented=False. The same smoke verifies dialogue-party-join for event-dialogue-block-003: completing that candidate dialogue records dialogueCompleteCount=1 and partyJoinCount=1 with source=prototype-dialogue-party-join, joins Rinshan, shows joinFeedback=party-join-feedback:동료 합류 린샹 with joinFeedbackRender=True plus partyJoinSound=menuConfirm/partyJoinSoundSrc=../extract_wlk/04.wav/partyJoinSoundPlayed=True, carries the event VM replay summary through the join marker/autosave/progress as vmPartial=True, vmRender=7, vmLiteral=7, vmSource=0x00030000, auto-saves the state with autoSaved=True and autoSource=dialogue-party-join, exposes the completed dialogue-join objective as objective=후보 대사 합류 완료 map1_02b / objectiveAction=dialogue-party-join-completion-notice / objectiveActiveId=dialogue-party-join-complete:map1_02b:event-dialogue-block-003 with dialoguePartyNoticeFeedback=dialogue-party-join-completion-notice-feedback:대사 동료 합류 완료 1/1, dialoguePartyNoticeFeedbackRender=True, and dialoguePartyNoticeSound=menuConfirm:../extract_wlk/04.wav:True, and restores dialogueCompleteRestored=1/partyJoinRestored=1 with menuProgress=진행 목표 3 and the same dialogue-join completion notice while keeping originalEventVmRuntimeImplemented=False.uu  Runtime party join candidate menu marker summary: the map menu exposes `동료 선택 N`, opens a `party-candidate` submenu, and the WebKit smoke selects Smashu on map1_02b with menuCount=2, selected=smash, memberName=스마슈, selectionSource=prototype-party-candidate-menu, commandResult=True, selectResult=True, afterOpenMenuMode=party-candidate, afterMenuMode=main, joined=True, manualLabel=스마슈, members=smash, progressCount=1, autoSaved=True, autoSource=prototype-party-candidate-menu, joinFeedback=party-join-feedback:동료 합류 스마슈, joinFeedbackRender=True, partyJoinSound=menuConfirm, partyJoinSoundSrc=../extract_wlk/04.wav, partyJoinSoundPlayed=True, originalPartyJoinEventImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is a browser-local party selection surface, not proof of original party join event dispatch or story flag mutation.zThe runtime has a status/item menu overlay using extracted save-data fields and Korean item names; loaded savedat menus now show level, HP/MP, EXP, ATK, DEF, and learned skill counts from documented character stat/skill offsets.uC  The savedat status menu exposes parsed character stat fields as a gameplay menu dialogue; out/menu_candidate_review_summary.* verifies public savedat flack3r-savedat2 opens status-menu:map2_02d with label=상태 3, source=savedat-character-stat-fields, Ataho/Rinshan/Smashu HP/MP/ATK/DEF rows, originalEquipmentOffsetsMapped=False, and originalStoryFlagRuntimeImplemented=False. The same smoke verifies a new-game no-loaded-savedat status menu, specifically a new-game no-loaded-savedat prototype status menu, on map1_02b opens as status-menu:map1_02b with label=상태 1, source=prototype-party-defaults, Ataho Lv1 HP 36/36 MP 8/8, EXP 0/100 상태 정상 기술 0/0, ATK 0 DEF 0 TECH 0 QUICK 0 LUCK 0, records status-menu-prototype progress with autoSource=status-menu-prototype, exposes objective=후보 상태 완료 map1_02b/objectiveAction=menu-review-completion-notice/objectiveActiveId=status-review-complete:map1_02b, and restores the same completed objective through titleContinue=True/quickLoadText=임시 불러오기/statusProgressCount=1 while keeping loadedSaveSummary absent.u  The savedat skill menu now reuses the battle skill command decoder to show learned skill names, levels, MP costs, decoded slot/index/value metadata, and EXE text-table source from the map menu; out/menu_candidate_review_summary.* verifies public savedat flack3r-savedat2 opens skill-menu:map2_02d with label=기술, names=돌려차기,던지기, source=savedat-skill-bytes-and-exe-text-tables, originalEquipmentOffsetsMapped=False, and originalStoryFlagRuntimeImplemented=False. The same smoke verifies a new-game no-loaded-savedat skill menu, specifically a new-game no-loaded-savedat prototype skill menu, on map1_02b opens as skill-menu:map1_02b with label=기술 0, 기술 prototype: 0/0, source=prototype-party-defaults-and-exe-text-tables, Ataho Lv1 기술 0/0, 배운 기술 없음, records skill-menu-prototype progress with autoSource=skill-menu-prototype, exposes objective=후보 기술 완료 map1_02b/objectiveAction=menu-review-completion-notice/objectiveActiveId=skill-review-complete:map1_02b, and restores the same completed objective through titleContinue=True/quickLoadText=임시 불러오기/skillProgressCount=1 while keeping loadedSaveSummary absent.u  Status/skill menu review feedback marker summary: statusFeedback=status-menu-review-feedback:status-menu-prototype:status-menu:map1_02b:상태 확인 1명/statusFeedbackRender=True/statusSound=menuConfirm/statusSoundSrc=../extract_wlk/04.wav/statusSoundPlayed=True; skillFeedback=skill-menu-review-feedback:skill-menu-prototype:skill-menu:map1_02b:기술 확인 0/0/skillFeedbackRender=True/skillSound=menuConfirm/skillSoundSrc=../extract_wlk/04.wav/skillSoundPlayed=True.u  Status/skill completion notice feedback marker summary: statusNoticeFeedback=status-menu-completion-notice-feedback:상태 확인 완료 1/1; statusNoticeFeedbackRender=True; statusNoticeSound=menuConfirm:../extract_wlk/04.wav:True; skillNoticeFeedback=skill-menu-completion-notice-feedback:기술 확인 완료 1/1; skillNoticeFeedbackRender=True; skillNoticeSound=menuConfirm:../extract_wlk/04.wav:True; originalEquipmentOffsetsMapped=False; originalStoryFlagRuntimeImplemented=False.u  The runtime menu now keeps the equipment candidate review inside the prototype equip surface without pretending savedat equipment offsets are mapped; out/menu_candidate_review_summary.* verifies public savedat flack3r-savedat2 opens equipment-menu:map2_02d through `장비 변경 18 -> 장비 후보 설명`, with label=장비 후보 설명 via=장비 변경 18 directEquipmentReviewRows=False, source=exe-text-table-equipment-candidates, table=0x0048b244, equipmentTextTable=equipment, equipmentTextRef=0x0048b244, equipmentTextVa=0x0048b52c, names=고양이 발톱,팬톰크로우 *,호랑이발톱 2,드레스, prototypeEquipmentEffectsImplemented=True, originalEquipmentOffsetsMapped=False, originalEquipmentEffectsImplemented=False, and originalStoryFlagRuntimeImplemented=False. The same smoke equips 고양이 발톱 as Ataho weapon through the prototype 장비 변경 menu, verifies ATK increases by the prototype +4 bonus, auto-saves/quick-loads the equipped weapon and restored ATK with autoSaved=True and autoSource=equipment-prototype, records equipment-prototype progressCount=1 with equipmentNameSource=exe-text-table-equipment/equipmentTextTable=equipment/equipmentTextRef=0x0048b244/equipmentTextVa=0x0048b52c in result, autosave, progress detail, and feedback, and verifies equipmentFeedback=equipment-change-feedback:Ataho:weapon:고양이 발톱:고양이 발톱 장착 / ATK+4 QUICK+1 plus equipmentFeedbackRender=True and equipmentSoundItemCount=1. It then restores the equipped state and verifies pressing the same row performs equipmentUnequip action=unequip with weaponAfter=None, QUICK decreasing by 1, autoSaved=True, autoSource=equipment-prototype, equipmentFeedback=equipment-change-feedback:Ataho:weapon:고양이 발톱:고양이 발톱 해제 / ATK-4 QUICK-1, equipmentFeedbackRender=True, and equipmentSoundItemCount=1 while keeping source=prototype-equipment-effects and original equipment offsets/effects unmapped. It also verifies 장비 변경 in a new-game no-loaded-savedat map1_02b state: Ataho equips 고양이 발톱, ATK 0->4, direct quick-load restores restoredAtk=4 from the automatic equipment save, carries the same equipmentFeedback=equipment-change-feedback:Ataho:weapon:고양이 발톱:고양이 발톱 장착 / ATK+4 QUICK+1/equipmentFeedbackRender=True/equipmentSoundItemCount=1, and title-screen `이어하기 map1_02b 11,12` restores titleContinue=True, restoredAtk=4, equipment-prototype progressCount=1, quickLoadText=임시 불러오기, loadedSaveSummary absent, and originalStoryFlagRuntimeImplemented=False. The completed equipment objective becomes objective=후보 장비 완료 map1_02b / objectiveNext=완료 알림 확인, and objectiveAction=equipment-completion-notice opens objectiveActiveId=equipment-complete:map1_02b while showing equipmentNoticeFeedback=equipment-completion-notice-feedback:장비 변경 완료 1/1, equipmentNoticeFeedbackRender=True, and equipmentNoticeSound=menuConfirm:../extract_wlk/04.wav:True, while keeping originalEquipmentOffsetsMapped=False and originalEquipmentEffectsImplemented=False.u8  Runtime equipment target menu marker summary: the map menu exposes `장비 대상 N`, opens an `equipment-target` submenu, and the WebKit smoke selects Ataho on map2_02d with menuCount=3, selected=Ataho, targetItems=5, targetCounts=Ataho:5,Rinshan:6,Smashu:7, selectionSource=prototype-equipment-target-menu, commandResult=True, selectResult=True, afterOpenMenuMode=equipment-target, afterMenuMode=equipment-equip, filteredItems=고양이 발톱,팬톰크로우 *,호랑이발톱 2,가죽 갑옷,흑장속, prototypeEquipmentEffectsImplemented=True, originalEquipmentOffsetsMapped=False, originalEquipmentEffectsImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is browser-local equipment target filtering, not proof of original equipment ownership, equipped-slot offsets, or original equipment effects.u   The runtime now keeps the shop candidate review inside the prototype purchase surface without pretending original shop inventory/prices are mapped; out/menu_candidate_review_summary.* verifies map4_08n opens shop-candidates:map4_08n through `상점 구매 6 -> 상점 후보 설명`, with label=상점 후보 설명 via=상점 구매 6 directShopReviewRows=False, source=exe-text-table-items-and-event-dialogue-shop-candidates, table=0x0048b984, itemTextTable=items, itemTextRef=0x0048b984, itemTextVa=0x0048ba7c, scope=tileset-family, items=약초,해독초,리프레시 워터,마법의 물약, context blocks event-dialogue-block-032/event-dialogue-block-038, prototypeShopPurchaseImplemented=True, prototypeShopSellImplemented=True, and originalShopRuntimeImplemented=False/originalShopPriceTableMapped=False/originalShopInventoryMapped=False. The same smoke verifies direct dialogue gate precedence before the shop prompt with dialogueGateBeforeShop=True, firstPrompt=Enter -> 대사 1/2, firstBlock=event-dialogue-block-005, completedDialogue=event-dialogue-block-005,event-dialogue-block-026, vmBlocks=event-dialogue-block-005,event-dialogue-block-026, vmPartial=True,True, vmRender=2,1, vmLiteral=0,8, vmSource=0x00030000,0x00030000, and confirms broad tileset-family save candidates do not mask the shop prompt, then verifies the normal shop action prompt `Enter -> 상점 6` opens the prototype buy menu through a canvas PointerEvent with kind=shop-candidate/opensMenuMode=shop-buy/canvasPointer=True, then loads public flack3r-savedat2, buys 약초 with prototype price 12, verifies money 983062->983050 and count 3->4, auto-saves/quick-loads restoredMoney=983050/restoredCount=4 with autoSaved=True and autoSource=shop-buy-prototype, enters 상점 판매, sells 약초 with prototype price 6, verifies money 983050->983056 and count 4->3, auto-saves/quick-loads restoredMoney=983056/restoredCount=3 with autoSaved=True and autoSource=shop-sell-prototype, and records shop-buy-prototype/shop-sell-prototype progressCount=1 with itemNameSource=exe-text-table-items/itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c in purchase/sale results, autosaves, progress details, and feedback plus buyFeedback=shop-buy-feedback:buy:herb:약초 +1 / -12/buyFeedbackRender=True/buySoundItemCount=1 and sellFeedback=shop-sell-feedback:sell:herb:약초 -1 / +6/sellFeedbackRender=True/sellSoundItemCount=1 while keeping source=prototype-shop-prices and originalMoneyMutationImplemented=False. The public shop smoke also verifies failed buy/sell attempts stay non-mutating and visible on the menu canvas: buyFailFeedback=shop-buy-failed-feedback:buy:herb:약초 돈 부족 5/12/buyFailFeedbackRender=True for insufficient money, buyFullFeedback=shop-buy-failed-feedback:buy:herb:약초 소지수 가득/buyFullFeedbackRender=True for a full inventory, and sellFailFeedback=shop-sell-failed-feedback:sell:herb:약초 판매 없음/sellFailFeedbackRender=True for empty stock, without adding shop progress, autosave, or item WLK sound. It also verifies the same dialogue-gated shop flow without loaded savedat from the prototype-new-game runtime state: money 60->48 and herb count 1->2 after buying 약초, direct quick-load restores restoredMoney=48/restoredCount=2 from buyAutoSource=shop-buy-prototype, then sale money 48->54 and herb count 2->1, direct quick-load restores restoredSellMoney=54/restoredSellCount=1 from sellAutoSource=shop-sell-prototype, with the same buyFeedback=shop-buy-feedback:buy:herb:약초 +1 / -12/buyFeedbackRender=True/buySoundItemCount=1 and sellFeedback=shop-sell-feedback:sell:herb:약초 -1 / +6/sellFeedbackRender=True/sellSoundItemCount=1, and title-screen `이어하기 map4_08n 18,42` restores titleContinue=True, restoredMoney=54, restoredCount=1, buyProgressCount=1, sellProgressCount=1, quickLoadText=임시 불러오기, and loadedSaveSummary absent. The completed shop objective becomes objective=후보 상점 완료 map4_08n / objectiveNext=완료 알림 확인, and objectiveAction=shop-completion-notice opens objectiveActiveId=shop-complete:map4_08n from both the direct quick-load and title-continue restored states while keeping originalShopRuntimeImplemented=False, originalShopPriceTableMapped=False, originalShopInventoryMapped=False, originalMoneyMutationImplemented=False, and originalStoryFlagRuntimeImplemented=False.u  Runtime shop candidate menu marker summary: the map menu exposes `상점 선택 N`, opens a `shop-candidate` submenu, and the WebKit smoke selects event-dialogue-block-032 on map4_08n with menuCount=2, selected=event-dialogue-block-032, scope=tileset-family, itemCount=6, contextCount=1, selectionSource=prototype-shop-candidate-menu, commandResult=True, selectResult=True, afterMenuMode=shop-buy, opensMenuMode=shop-buy, buyMenuSource=prototype-shop-prices, shopCandidateSource=exe-text-table-items-and-event-dialogue-shop-candidates, originalShopRuntimeImplemented=False, originalShopPriceTableMapped=False, originalShopInventoryMapped=False, originalMoneyMutationImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is a browser-local shop candidate selection surface, not proof of original shop runtime, inventory/price table mapping, money mutation, or story flag mutation.u  Shop completion notice feedback marker summary: shopNoticeFeedback=shop-completion-notice-feedback:상점 거래 완료 2/2; shopNoticeFeedbackRender=True; shopNoticeSound=menuConfirm:../extract_wlk/04.wav:True; originalShopRuntimeImplemented=False; originalShopPriceTableMapped=False; originalShopInventoryMapped=False; originalMoneyMutationImplemented=False; originalStoryFlagRuntimeImplemented=False.ux  Equipment battle-effect marker summary: equipmentBattleEffect source=prototype-equipment-battle-effect; item=고양이 발톱; atkDelta=4; damageBaseline<damageEquipped; equipmentBonusAtk=4; hitMarker=prototypeEquipmentBattleEffectImplemented=True; turnMarker=prototypeEquipmentBattleEffectImplemented=True; armor=흑장속; defDelta=4; incomingDamageBaseline>incomingDamageEquipped; equipmentBonusDef=4; defenseHitMarker=prototypeEquipmentBattleDefenseEffectImplemented=True; defenseTurnMarker=prototypeEquipmentBattleDefenseEffectImplemented=True; originalEquipmentEffectsImplemented=False; originalCombatFormulaImplemented=False.a  Equipment/shop feedback-level WLK sound marker summary: equipmentSound=item equipmentSoundSrc=../extract_wlk/11.wav equipmentSoundPlayed=True; buySound=item buySoundSrc=../extract_wlk/11.wav buySoundPlayed=True; sellSound=item sellSoundSrc=../extract_wlk/11.wav sellSoundPlayed=True.z!out/battle_backgrounds.* indexes z; btl_* battle background tilemaps for lazy web runtime use.z&out/battle_event_candidates.* indexes z` event dialogue blocks/resources with btl_* adjacency for source-backed battle review selection.u~  Runtime battle candidate menu marker summary: the map menu exposes `전투 선택 N`, opens a `battle-candidate` submenu from current-map/family candidates, and the WebKit smoke selects event-dialogue-block-010:btl_j1 on map2_14j to start btl_j1 with enemyName=황야 괴수, enemySprite=zkb_hyr.cns, source=prototype-battle-candidate-menu, battleStartFeedback=battle-start-feedback:전투 시작 btl_j1, battleStartFeedbackRender=True, originalEventDrivenBattleEntry=False, and originalEnemyRowBound=False. This is a browser-local gameplay selection surface, not proof of original event-driven battle entry or original enemy row binding.u#  out/candidate_battle_browser_smoke.* records that the battleButton, canvas pointer command selection, normal Enter/A action path, completed dialogue battle-link action prompt, and prototype field encounter mode expose and start source-backed candidate battle selection: the candidate battle browser smoke verifies map1_02b source-backed btl_b1 from event-dialogue-block-015 through both the button and `Enter -> 전투 btl_b1` action prompt with battleStartCount=1 plus battleStartFeedback=battle-start-feedback:전투 시작 btl_b1, battleStartFeedbackRender=True, battleStartFeedbackDuration=1000, battleStartFeedbackSound=battleStart:../extract_wlk/08.wav:True, and battleStartSound=battleStart/battleStartSoundSrc=../extract_wlk/08.wav, renders EXE-proximity enemySprite=zky_ao.cns enemyAsset=zky_ao, and applies the web prototype enemy profile enemyName=푸른 마수 enemyHp=42 enemyAtk=4 enemyDef=0 enemyAction=할퀴기 enemyActionSource=prototype-enemy-action enemyActionNameSource=exe-text-table-battleCommands enemyActionTextTable=battleCommands enemyActionTextRef=0x004d29a4 enemyActionTextVa=0x004d438c enemyDrop=약초 enemyDropCount=1 enemyDropItemTextRef=0x0048b984 enemyDropItemTextVa=0x0048ba7c enemyProfileSource=prototype-enemy-profile while keeping originalEnemyRowBound=False/originalStatsOrRewardsBound=False/originalDropTableMapped=False/originalEnemyAiImplemented=False/originalCombatFormulaImplemented=False. It also verifies completing event-dialogue-block-015 records dialogueBattleLink=event-dialogue-block-015 btl_b1 with linkSource=prototype-dialogue-battle-link, objective=후보 대사 전투 btl_b1, prompt=Enter -> 대사 전투 btl_b1, actionResult=True, linkAction=dialogue-battle-action, dialogueBattleLinkCount=1, autoSource=dialogue-battle-link, autoSaved=True, prototypeDialogueBattleLinkImplemented=True, and then starts the same btl_b1 battle with the same battle-start feedback, battleStartFeedbackSound=battleStart:../extract_wlk/08.wav:True, battleStartSound=battleStart/battleStartSoundSrc=../extract_wlk/08.wav, and partial VM replay evidence without promoting original event-driven battle entry. It verifies clicking the battle HUD attack row through a canvas PointerEvent hits the same command index, reduces enemy HP, and records browser-local hit feedback via HWANSE_BATTLE_HIT_EFFECT_LOG/HWANSE_LAST_BATTLE_HIT_EFFECT with hitEffectTargets=enemy,party, hitEffectDuration=260, hitEffectShake=4, browserHitEffect=True, hitEffectSprite=battle_effects, hitEffectSpriteSource=btl_etc.cns, spriteDrawn=True, browserHitSprite=True, battleHitSoundCount=2, battleHitSoundSrc=../extract_wlk/09.wav, renderTarget=party, damageTextTargets=enemy,party, damageTextDuration=620, damageTextRender=enemy,party, and browserDamageText=True, so battle commands, hit feedback, hit WLK audio events, extracted btl_etc sprite burst, and floating damage numbers are directly visible/observable on the canvas without promoting original combat formula or battle-effect timing proof. It verifies `encounter=1`/전투 탐색 reaches the same btl_b1 after movementInput=True with movementSteps=6, movementCodes=ArrowRight,ArrowLeft,ArrowRight,ArrowLeft,ArrowRight,ArrowLeft, steps=6/6, fieldEncounterCount=1, battleStartFeedback=battle-start-feedback:전투 시작 btl_b1, battleStartFeedbackRender=True, battleStartFeedbackSound=battleStart:../extract_wlk/08.wav:True, battleStartSound=battleStart/battleStartSoundSrc=../extract_wlk/08.wav, battleMusicCue=battle/battleMusicSrc=../extract_mlk/08.mid, source=prototype-field-encounter, originalEncounterTableMapped=False, and originalEncounterRuntimeImplemented=False. Field encounter victory records fieldEncounterVictoryCount=1 with battleVictoryCount=0, button=전투 btl_b1, completionCompleted=False for the source event battle candidate, fieldCompletionCompleted=True for the repeatable field encounter result, repeatable=True, runtimeMoney=75, victorySound=victory/victorySoundSrc=../extract_wlk/12.wav, mapMusicCue=map/mapMusicSrc=../extract_mlk/01.mid with battleEndMusicReason=battle-end-map-return and musicStop=battle->map/musicStopReason=cue-change/musicStopImplemented=True, and prototype enemy drop drop=약초 dropSource=prototype-enemy-drop dropCount=2 dropItemTextRef=0x0048b984 dropItemTextVa=0x0048ba7c in runtimeState.items so automatic field battles grant inventory rewards and restore map BGM without overlap or source event completion. The completed field encounter objective becomes objective=후보 필드 전투 완료 btl_b1 / objectiveNext=완료 알림 확인, and objectiveAction=field-encounter-completion-notice opens objectiveActiveId=field-encounter-complete:map1_02b from both the direct field encounter victory state and title-continue restored state while keeping originalEncounterTableMapped=False, originalEncounterRuntimeImplemented=False, originalRewardTableMapped=False, originalDropTableMapped=False, and originalStoryFlagRuntimeImplemented=False. It also verifies requested map2_07e btl_e1 from event-dialogue-block-041 renders enemySprite=zjk_byk.cns enemyAsset=zjk_byk with enemyName=백호 괴수 enemyHp=50 enemyAtk=5 enemyDef=1 enemyAction=돌진 enemyActionTextRef=0x004d29e4 enemyActionTextVa=0x004d447c enemyDrop=해독초 enemyDropItemTextRef=0x0048b98c enemyDropItemTextVa=0x0048ba8e and originalEnemyRowBound=False. The status cure smoke requests event-dialogue-block-038:btl_n2, confirms 철갑 코뿔 uses enemyAction=독액 enemyActionTextRef=0x004d2a0c enemyActionTextVa=0x004d4512 status=독 to set Ataho poisonBefore=True, then uses the battle item command item=해독초 to clear poisonAfter=False with itemCountAfter=0 while keeping originalStatusFormulaImplemented=False and originalEnemyAiImplemented=False. It then verifies normal candidate battle completion is saved/restored as 전투 완료 btl_b1 with battleVictoryCount=1, battleVictoryFlagKeys=story:battle-victory:map1_02b:event-dialogue-block-015, rewardExp=7, rewardEffectSource=battle-victory, rewardEffectDuration=1400, rewardEffectRender=True, rewardEffectSound=victory:../extract_wlk/12.wav:True, rewardDropItemTextRef=0x0048b984, rewardRenderDropItemTextRef=0x0048b984, rewardEffectLines including 소지금/경험치/약초/Ataho Lv2, drop=약초 dropCount=2 dropSource=prototype-enemy-drop dropItemTextRef=0x0048b984 dropItemTextVa=0x0048ba7c, victorySound=victory/victorySoundSrc=../extract_wlk/12.wav, runtimeMoney=75, and the restored source action prompt `Enter -> 전투 완료 btl_b1`; the same saved completion also restores through the title-screen `이어하기 map1_02b 11,12` row with titleContinue=True, quickLoadText=임시 불러오기, dropCount=2, expTotal=3, levelAfter=2, nextExp=3/125, and titleBattleVictoryFlagKeys=story:battle-victory:map1_02b:event-dialogue-block-015. Activating the completed prompt stays on the map and opens battle-complete:event-dialogue-block-015 with completedActionResult=True instead of replaying the battle; the current objective also becomes objective=후보 전투 완료 btl_b1 / objectiveNext=완료 알림 확인, and objectiveAction=battle-completion-notice opens objectiveActiveId=battle-complete:event-dialogue-block-015. The runtime menu shows 전투 완료 btl_b1 with menuNotice=battle-complete:event-dialogue-block-015 on selection. The completion notice and progress review now also expose 전투 보상 소지금 75 / 경험치 +7, 전투 드롭 약초 2, 전투 레벨 Ataho Lv2 3/125, and 최근 스토리 전투 승리 map1_02b event-dialogue-block-015 while keeping originalEventDrivenBattleEntry=False, originalRewardTableMapped=False/originalDropTableMapped=False/originalEnemyAiImplemented=False, and originalStoryFlagRuntimeImplemented=False. The same smoke verifies non-victory candidate battle outcomes: 도주 records battle-run with battleRunCount=1, autoSource=battle-run, runTextRef=0x004d2974, and runTextVa=0x004d42f6, run title continue restores battleRunCount=1 with runtimeMoney=60/runtimeExp=0, 패배 records battle-defeat with battleDefeatCount=1, autoSource=battle-defeat, defendTextRef=0x004d297c, defendTextVa=0x004d4314, defendFeedback=battle-defend-feedback:방어 피해 2, defendFeedbackRender=True, and defendFeedbackDuration=900 after the 방어 command, and defeat title continue restores battleDefeatCount=1 with recoveredHp=1. Both keep battleVictoryCount=0, rewardGranted=False, and completionCompleted=False for the source event battle candidate, while the separate battleOutcome snapshot has outcomeCompleted=True. The non-victory objective becomes objective=후보 전투 도주 btl_b1 or objective=후보 전투 패배 btl_b1 / objectiveNext=완료 알림 확인, and objectiveAction=battle-outcome-completion-notice opens objectiveActiveId=battle-outcome-complete:map1_02b:battle-run or objectiveActiveId=battle-outcome-complete:map1_02b:battle-defeat from both direct and title-continue restored states. The defeat path also records prototype-battle-defeat-recovery with recovered=True target=Ataho hp=0->1 and saves the recovered HP 1 payload so play can continue on the map without granting rewards, mutating original story flags, or promoting original reward/event VM proof.u   Battle completion feedback marker summary: completionFeedback=battle-completion-feedback:전투 완료 btl_b1; completionFeedbackRender=True; completionFeedbackSound=menuConfirm:../extract_wlk/04.wav:True.u  The same candidate battle smoke now verifies battle item feedback for status cure plus HP/status-missing failures: before the successful cure, a full-HP Ataho tries 약초 and statusCure records hpFailFeedback=battle-item-failed-feedback:herb:약초 대상 없음 with hpFailFeedbackRender=True and no item WLK sound or item-use-prototype progress; Ataho then tries 해독초 while no status can be cured and statusCure records itemFailFeedback=battle-item-failed-feedback:item_2:해독초 회복 대상 없음 with itemFailFeedbackRender=True and no item WLK sound or item-use-prototype progress; after 독액 applies poison, the successful cure records itemFeedback=battle-item-use:item_2:독 회복, itemFeedbackRender=True, itemFeedbackDuration=900, and the snapshot carries itemFeedbackLog/itemFeedbackRender entries with browserBattleItemFeedbackImplemented=True while keeping originalItemEffectFormulaImplemented=False and originalStatusFormulaImplemented=False.uY  The same candidate battle smoke also verifies battle item target selection with itemTargetSelection item=약초 target=Rinshan hp=8->28 count=2->1, targetMenuOpen=open, selectedPhase=selected, targetCount=3, choices=Ataho,Rinshan,Smashu, itemAutoSource=item-use-prototype, turnAutoSource=battle-turn-prototype, battleTurnCount=1, itemUseCount=1, savedHp=28, savedHerb=1, prototypeTargetSelection=True, then opens objective=후보 전투 도구 완료 btl_b1 with objectiveDetail=Ataho / 약초 / Rinshan / 2->1, objectiveAction=battle-item-completion-notice, objectiveActiveId=battle-item-complete:map1_02b, itemTargetNoticeFeedback=battle-item-completion-notice-feedback:전투 도구 완료 1/1, itemTargetNoticeFeedbackRender=True, and itemTargetNoticeSound=menuConfirm:../extract_wlk/04.wav:True while keeping originalItemEffectFormulaImplemented=False.u  The same candidate battle smoke now carries a saved battle-turn-prototype status turn back through title continue: map2_07e restores poisonRestored=True/statusLineHasPoison=True with battleTurnCount=1 and battleVictoryCount=0, then the current objective becomes objective=후보 전투 턴 완료 btl_n2 / objectiveNext=완료 알림 확인 and objectiveAction=battle-turn-completion-notice opens objectiveActiveId=battle-turn-complete:map2_07e. The completion notice records 전투 턴 완료 1/1, btl_n2, 독액, 상태 독, Ataho HP progress, and turnNoticeFeedback=battle-turn-completion-notice-feedback:전투 턴 완료 1/1 with turnNoticeSound=menuConfirm:../extract_wlk/04.wav:True while keeping prototypeBattleTurnImplemented=True and originalEnemyAiImplemented=False/originalStatusFormulaImplemented=False/originalCombatFormulaImplemented=False/originalStoryFlagRuntimeImplemented=False.us  The same candidate battle smoke now verifies prototype status-effect turn resolution: a second btl_n2 turn starts with Ataho still poisoned, records battle-status-effect-prototype with effectSource=prototype-battle-status-effect, effectKind=poison, poisonDamage=3, poisonHp=28->25, shows browser status feedback via statusFeedbackSources=enemy-status-apply:poison,battle-status-poison-damage:poison, statusFeedbackTexts=독,독 -3, statusFeedbackSound=battle-status-poison-damage:battleHit:../extract_wlk/09.wav:True, statusFeedbackRender=True, and statusFeedbackDuration=760, then records the normal battle-turn-prototype enemy response with turnHp=25->17, statusEffectDamage=3, battleStatusCount=1, battleTurnCount=2, autoSource=battle-turn-prototype, savedHp=17, and savedPoison=True while keeping originalStatusFormulaImplemented=False and originalCombatFormulaImplemented=False.u  The same status-effect smoke also verifies paralysis as a turn-skip gameplay effect: requested event-dialogue-block-041:btl_a1 uses the boss_2 prototype profile to apply status=마비, the next Ataho turn records effectKind=paralysis/skipped=True through battle-status-effect-prototype, shows browser status feedback via statusFeedbackSources=enemy-status-apply:paralysis,battle-status-skip-turn:paralysis, statusFeedbackTexts=마비,마비 행동불가, statusFeedbackSound=battle-status-skip-turn:menuMove:../extract_wlk/03.wav:True, statusFeedbackRender=True, and statusFeedbackDuration=760, keeps enemyHp=90->90 because Ataho's command was skipped, records the enemy response as turnHp=27->18 with commandKey=status:skip-turn and statusEffectSkipped=True, then auto-saves battleTurnCount=2, battleStatusCount=1, savedHp=18, and savedParalysis=True while keeping originalStatusFormulaImplemented=False and originalCombatFormulaImplemented=False.aj  out/battle_enemy_candidates.* maps 21 battle review candidates to 8 EXE-nearest z*/boss_* enemy/object sprite visual candidates, including event-dialogue-block-015:btl_b1 -> zky_ao.cns, and the web battle scene can render that original sprite asset instead of the placeholder shape while keeping originalEnemyRowBound=False and originalStatsOrRewardsBound=False.zThe battle candidate menu also exposes all extracted boss*/z* sprite PNGs as sprite-only prototype battle choices: runtimeSelectableAssets=z, allExtractedSelectable=zR, while keeping originalEnemyRowBound=False and originalStatsOrRewardsBound=False.zENo extracted sprite-only battle menu evidence has been generated yet.zgout/original_battle_data_gap.* separates extracted battle assets from original battle data: proofFound=z, originalBattleDataProofFound=originalBattleDataProofFoundz", failedOriginalBattleDataGateIds=failedOriginalBattleDataGateIdsz$, originalBattleDataMissingEvidence=z!, originalBattleDataEvidenceRefs=z, battleActionHandlerStatus=battleActionHandlerStatusz, battleActionHandlerGrounded=battleActionHandlerGroundedz, battleActionOpcode=battleActionOpcodeHexz, battleActionHandler=battleActionHandlerVaHexz, battleActionTable=battleActionTableVaHexz, battleActionTableKey=battleActionTableKeyz, battleActionTableEntries=battleActionTableEntryCountz&, battleActionOpcodeInDialogueStorage=#battleActionOpcodeInDialogueStoragez!, battleActionEntryDispatchProof=0battleActionHandlerBattleEntryDispatchProofFoundz$, battleActionOriginalCombatFormula=2battleActionHandlerOriginalCombatFormulaIdentifiedz, bossSprites=bossSpriteImageCountz, battleSprites=battleSpriteImageCountz!, battleResourceDescriptorStatus=battleResourceDescriptorStatusz/, battleBackgroundDescriptorReferencedPayloads=0battleBackgroundDescriptorReferencedPayloadCountz+, battleBackgroundDescriptorMissingExeRefs=(battleBackgroundDescriptorMissingExeRefsz*, enemySpriteDescriptorReferencedPayloads=+enemySpriteDescriptorReferencedPayloadCountz&, enemySpriteDescriptorMissingExeRefs=#enemySpriteDescriptorMissingExeRefsz+, resourceDescriptorsContainStatsOrRewards=(resourceDescriptorsContainStatsOrRewardsz&, resourceDescriptorsProveBattleEntry=#resourceDescriptorsProveBattleEntryz, formationTable=formationTableIdentifiedz, encounterTable=encounterTableIdentifiedz9No original battle data gap audit has been generated yet.zThe web runtime has a battle review scene started from the menu or battle=1 query, using extracted battle backgrounds, battle character sprite sheets, battle/action text tables, and keyboard/mobile command selection.zSavedat battle party rows now preserve parsed base/enhance stat blocks; candidate battle damage/mitigation uses ATK/DEF, and the WebKit smoke verifies public savedat Ataho ATK/DEF reaches battle state.u	  Savedat learned skill counts now add extracted skill/action text table commands to the battle command list and preserve decoded slot/index/level entries; the WebKit smoke verifies player command text provenance with attackTextRef=0x004d24ac/attackTextVa=0x004d2d8c for Ataho 정권, skillTextRef=0x004d24b4/skillTextVa=0x004d2daa for Ataho 돌려차기, and partySkillTextRefs=Rinshan:0x004d2c5c->0x004d4ee2,Smashu:0x004d2c2c->0x004d4e1e for Rinshan 장궁 and Smashu 투구쪼개기. The WebKit smoke verifies Ataho 돌려차기 consumes MP, damages the enemy, syncs the savedat-backed MP row, and battle skill auto-saves with skillAutoSource=battle-skill-prototype, scope=battle-skill, plus a payload containing MP/enemy HP progress. The same skill action now renders immediate browser feedback with skillFeedback=battle-skill-use:Ataho:돌려차기:돌려차기 -112 / MP -2, skillFeedbackRender=True, and skillFeedbackSound=battleHit:../extract_wlk/09.wav:True; the insufficient-MP guard renders noMPFeedback=battle-skill-no-mp:Ataho:돌려차기:돌려차기 MP 부족, noMPFeedbackRender=True, and noMPFeedbackSound=menuConfirm:../extract_wlk/04.wav:True while keeping originalSkillFormulaImplemented=False, originalCombatFormulaImplemented=False, and originalStoryFlagRuntimeImplemented=False. That saved skill action now restores as objective=후보 전투 기술 완료 btl_a1 with objectiveAction=battle-skill-completion-notice and objectiveActiveId=battle-skill-complete:map1_01a, whose notice records 전투 기술 완료 1/1, Ataho 돌려차기, MP 999->997, 보스 후보 HP 700->588, and 피해 112; the same notice also renders skillNoticeFeedback=battle-skill-completion-notice-feedback:전투 기술 완료 1/1, skillNoticeFeedbackRender=True, and skillNoticeSound=menuConfirm:../extract_wlk/04.wav:True. The same completed skill objective is restored again through titleContinue=True/quickLoadText=임시 불러오기 after the title row `이어하기 map1_01a 1,2`, with skillTitleContinue=후보 전투 기술 완료 btl_a1/battle-skill-completion-notice/battle-skill-complete:map1_01a. The same battle action then records the enemy response and battle turn auto-saves with turnAutoSource=battle-turn-prototype, scope=battle-turn, plus target HP/status progress. It rejects Ataho 돌려차기 when MP is insufficient without enemy damage, source-row mutation, or turn advance, exposes Rinshan/Smashu learned skill commands, and executes Rinshan 장궁 plus Smashu 투구쪼개기 with MP/source-row sync.a  When no savedat is loaded, manual party selection flows into battle party rows; the WebKit browser smoke opens map1_02b with party=rinshan,smash, clicks battleButton, verifies Ataho, Rinshan, and Smashu, and confirms that the mobile A button changes the battle scene.zThe battle prototype tracks an active actor index and advances commands through living party members instead of always using the first character.u  Battle command labels use extracted character action text tables, so the WebKit smoke checks Ataho 정권 changes to Rinshan 유미쌍조 after the first party turn, records normalTextRef=0x004d24ac/normalTextVa=0x004d2d8c for the Ataho command and nextCommandTextRef=0x004d2c04/nextCommandTextVa=0x004d4d68 for Rinshan 유미쌍조, and the normal attack turn auto-saves with normalTurnAutoSource=battle-turn-prototype plus a payload containing Ataho's post-response HP.a2  The battle prototype grants a small candidate battle reward with money/EXP on victory, and the WebKit smoke drives attacks until victory to verify rewardGranted, rewardExp, expTotal, levelUpCount=1, levelAfter=2, nextExp=3/125, and a reward/level-up log while keeping originalLevelFormulaImplemented=False.u`  Non-victory candidate battle outcomes are now playable prototype outcomes rather than implicit exits: 도주 returns to the map with notice=도주했다., battle-run progress, autoSource=battle-run, runTextRef=0x004d2974/runTextVa=0x004d42f6 from battleCommands[0], outcomeCompleted=True, outcomeFeedback=battle-outcome-feedback:전투 도주 btl_b1, outcomeFeedbackRender=True, outcomeFeedbackDuration=1100, outcomeSound=transition, outcomeSoundSrc=../extract_wlk/07.wav, outcomeSoundPlayed=True, browserOutcomeFeedback=True, objective=후보 전투 도주 btl_b1, objectiveAction=battle-outcome-completion-notice, objectiveActiveId=battle-outcome-complete:map1_02b:battle-run, outcomeNoticeFeedback=battle-outcome-completion-notice-feedback:전투 도주 완료 1/1, outcomeNoticeFeedbackRender=True, and outcomeNoticeSound=menuConfirm:../extract_wlk/04.wav:True; party defeat closes after the 방어 command with notice=패배했다., battle-defeat progress, autoSource=battle-defeat, defendTextRef=0x004d297c/defendTextVa=0x004d4314 from battleCommands[1], defendFeedback=battle-defend-feedback:방어 피해 2, defendFeedbackRender=True, defendFeedbackDuration=900, defendSound=battleHit, defendSoundSrc=../extract_wlk/09.wav, defendSoundPlayed=True, outcomeCompleted=True, outcomeFeedback=battle-outcome-feedback:전투 패배 btl_b1, outcomeFeedbackRender=True, outcomeFeedbackDuration=1100, outcomeSound=battleHit, outcomeSoundSrc=../extract_wlk/09.wav, outcomeSoundPlayed=True, browserOutcomeFeedback=True, objective=후보 전투 패배 btl_b1, objectiveActiveId=battle-outcome-complete:map1_02b:battle-defeat, outcomeNoticeFeedback=battle-outcome-completion-notice-feedback:전투 패배 완료 1/1, outcomeNoticeFeedbackRender=True, outcomeNoticeSound=menuConfirm:../extract_wlk/04.wav:True, and prototype-battle-defeat-recovery that revives Ataho to HP 1 if the whole party fell. The run title continue and defeat title continue paths restore the saved non-victory progress, and the defeat title continue report records recoveredHp=1. Neither outcome grants rewards, marks source battle completion, or mutates original story flags.a  Finished candidate battles can create runtime state for manual parties; the WebKit smoke verifies the battle-victory auto-save marker, closes the finished battle with the mobile A button, and quick-loads the rewarded money/EXP plus manual party selection back on the map.u3  The web runtime maps the known savedat recovery item effects and status item effects for 약초, 리프레시 워터, 마법의 물약, 고급한방약, 마수석, and a web-local 해독초 status cure for modeled poison/paralysis states; original poison/paralysis save/runtime flag offsets remain unmapped.u  The WebKit smoke also starts battle=1 from a public savedat sample and verifies the savedat 약초 command consumes an item, applies the mapped HP recovery, advances to Rinshan, and battle item auto-saves with itemAutoSource=item-use-prototype, scope=battle-item, plus a payload containing healed HP and item count progress. That saved battle item action now restores as objective=후보 전투 도구 완료 btl_a1 with objectiveAction=battle-item-completion-notice and objectiveActiveId=battle-item-complete:map1_01a, whose notice records 전투 도구 완료 1/1, Ataho 약초, 약초 3->2, and Ataho HP 979->999 before the separate enemy response turn save. The same completed battle item objective restores again through titleContinue=True/quickLoadText=임시 불러오기 after the title row `이어하기 map1_01a 1,2`, with itemTitleContinue=후보 전투 도구 완료 btl_a1/battle-item-completion-notice/battle-item-complete:map1_01a. Its feedback now carries itemFeedbackSound=item:../extract_wlk/11.wav:True.u  When multiple battle items are available, the battle prototype opens an item-selection sub-menu; the WebKit smoke injects 마법의 물약, selects it after 도구, verifies MP +50, consumes the item, closes the item menu, advances to Smashu, and battle item menu auto-saves with menuAutoSource=item-use-prototype, scope=battle-item, plus a payload containing recovered MP and potion count progress. The same sub-menu item use also restores as objective=후보 전투 도구 완료 btl_a1 with objectiveAction=battle-item-completion-notice and objectiveActiveId=battle-item-complete:map1_01a, whose notice records Rinshan 마법의 물약, 마법의 물약 1->0, and Rinshan MP 939->989, and its feedback carries menuItemFeedbackSound=item:../extract_wlk/11.wav:True.u  The WebKit smoke injects modeled poison/paralysis status states and verifies 해독초 cures them in both the battle item menu and the map item menu. That status item use also restores as objective=후보 전투 도구 완료 btl_a1 with objectiveAction=battle-item-completion-notice and objectiveActiveId=battle-item-complete:map1_01a, whose notice records Smashu 해독초, 해독초 1->0, and 상태 poison->정상, and its feedback carries statusItemFeedbackSound=item:../extract_wlk/11.wav:True.ub  The item targeter now respects revive-only effects: ordinary HP recovery does not select a fallen party member, while the WebKit smoke injects 마수석 and verifies it revives fallen Smashu to full HP/MP and syncs the savedat-backed source row. That revive item use also restores as objective=후보 전투 도구 완료 btl_a1 with objectiveAction=battle-item-completion-notice and objectiveActiveId=battle-item-complete:map1_01a, whose notice records Ataho 마수석, 마수석 1->0, Smashu HP 0->999, and Smashu MP 0->999, and whose feedback carries reviveItemFeedbackSound=item:../extract_wlk/11.wav:True.u  The same WebKit battle item smoke now verifies canvas item feedback for all modeled battle item classes: itemFeedback=battle-item-use:herb:HP +20 with itemFeedbackRender=True and itemFeedbackSound=item:../extract_wlk/11.wav:True, menuItemFeedback=battle-item-use:mp_recovery:MP +50 with menuItemFeedbackRender=True and menuItemFeedbackSound=item:../extract_wlk/11.wav:True, statusItemFeedback=battle-item-use:item_2:독 회복 with statusItemFeedbackRender=True and statusItemFeedbackSound=item:../extract_wlk/11.wav:True, and reviveItemFeedback=battle-item-use:item_6:부활 with reviveItemFeedbackRender=True and reviveItemFeedbackSound=item:../extract_wlk/11.wav:True while keeping originalItemEffectFormulaImplemented=False and originalStatusFormulaImplemented=False.u  The map menu can use savedat recovery items and status items through the same item-effect path; the WebKit smoke opens a public savedat menu and verifies savedat menu item/status item flows, 약초 consumption/healing outside battle, and 해독초 status cure outside battle, then uses the in-game menu 저장/불러오기 commands and quick-saves and quick-loads the changed HP/item count plus modeled poison status while preserving savedat selector map candidates. The savedat 약초 map item action now restores as objective=후보 도구 완료 map1_01a and now renders inventoryFeedback=inventory-item-use:herb:약초 HP +30 with inventoryFeedbackRender=True and inventoryFeedbackSound=item:../extract_wlk/11.wav:True, objectiveAction=item-use-completion-notice, and objectiveActiveId=item-use-complete:map1_01a, whose notice records 도구 사용 완료 1/1, Ataho 약초, HP 969 -> 999, and 약초 3 -> 2. The saved menu item state restores again through titleContinue=True after the title row `이어하기 map1_01a ... 세이브 0:0`, with titleCount=2, titleHp=999, titleStatus=['poison'], field maps map1_01a/map1_02b, routeStatus=not-current-selector, and the latest completed map item objective notice for Ataho 해독초, HP 999 -> 999, and 해독초 1 -> 0 under item-use-complete:map1_01a.u  The title/new-game smoke now also verifies field inventory target selection in the map runtime menu: with Ataho and Rinshan both damaged, the map menu exposes `도구 선택 1`, opens prototype-inventory-item-menu with 약초 x2, selecting 약초 opens inventory-item-target-selection through opensMenuMode=item-target, then selecting Rinshan applies HP 8->38 while Ataho stays 24, consumes 약초 2->1, auto-saves item-use-prototype, records inventoryFeedback=inventory-item-use:herb:약초 HP +30 and inventoryFeedbackSound=item:../extract_wlk/11.wav:True, then opens the completed objective notice as objective=후보 도구 완료 map1_02b with objectiveDetail=Rinshan 약초, objectiveAction=item-use-completion-notice, objectiveActiveId=item-use-complete:map1_02b, itemNoticeFeedback=inventory-item-completion-notice-feedback:도구 사용 완료 1/1, itemNoticeFeedbackRender=True, and itemNoticeSound=menuConfirm:../extract_wlk/04.wav:True, while keeping prototypeInventoryItemMenuImplemented=True, prototypeInventoryItemTargetSelectionImplemented=True, originalInventoryMenuRuntimeImplemented=False, originalItemEffectFormulaImplemented=False, and originalStoryFlagRuntimeImplemented=False.u  New-game equipment/shop marker summary: new-game no-loaded-savedat equipment equip; map=map1_02b/atkBefore=0/atkAfter=4/restoredAtk=4/autoSource=equipment-prototype; equipmentTextTable=equipment/equipmentTextRef=0x0048b244/equipmentTextVa=0x0048b52c; equipmentSoundItemCount=1; titleContinue=True/quickLoadText=임시 불러오기/loadedSaveSummary=False; new-game no-loaded-savedat shop flow; moneyBefore=60/moneyAfter=48; countBefore=1/countAfter=2; restoredMoney=48/restoredCount=2; restoredSellMoney=54/restoredSellCount=1; buyAutoSource=shop-buy-prototype; sellAutoSource=shop-sell-prototype; buySoundItemCount=1; sellSoundItemCount=1; itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c; 이어하기 map4_08n 18,42; loadedSaveSummary=False.u  Public shop marker summary: dialogueGateBeforeShop=True; firstPrompt=Enter -> 대사 1/2; completedDialogue=event-dialogue-block-005,event-dialogue-block-026; vmBlocks=event-dialogue-block-005,event-dialogue-block-026; normal shop action prompt; Enter -> 상점 6; opens the prototype buy menu through a canvas PointerEvent; canvasPointer=True; prototype 약초 purchase; buys 약초 with prototype price 12; itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c; moneyBefore=983062/moneyAfter=983050; autoSource=shop-buy-prototype; buyFeedback=shop-buy-feedback:buy:herb:약초 +1 / -12/buyFeedbackRender=True; buyFailFeedback=shop-buy-failed-feedback:buy:herb:약초 돈 부족 5/12/buyFailFeedbackRender=True; buyFullFeedback=shop-buy-failed-feedback:buy:herb:약초 소지수 가득/buyFullFeedbackRender=True; buySoundItemCount=1; prototype 약초 sale; sells 약초 with prototype price 6; moneyBefore=983050/moneyAfter=983056; autoSource=shop-sell-prototype; sellFeedback=shop-sell-feedback:sell:herb:약초 -1 / +6/sellFeedbackRender=True; sellFailFeedback=shop-sell-failed-feedback:sell:herb:약초 판매 없음/sellFailFeedbackRender=True; sellSoundItemCount=1; shop-sell-prototype; progressCount=1; source=prototype-shop-prices.u  Battle outcome marker summary: candidate battle browser smoke verifies map1_02b source-backed btl_b1; battleStartFeedback=battle-start-feedback:전투 시작 btl_b1; battleStartFeedbackRender=True; battleStartFeedbackDuration=1000; battleStartFeedbackSound=battleStart:../extract_wlk/08.wav:True; battleStartSound=battleStart; battleStartSoundSrc=../extract_wlk/08.wav; dialogueBattleLink=event-dialogue-block-015 btl_b1; linkSource=prototype-dialogue-battle-link; objective=후보 대사 전투 btl_b1; prompt=Enter -> 대사 전투 btl_b1; actionResult=True; linkAction=dialogue-battle-action; dialogueBattleLinkCount=1; autoSource=dialogue-battle-link; prototypeDialogueBattleLinkImplemented=True; requested map2_07e btl_e1; 전투 완료 btl_b1; Enter -> 전투 완료 btl_b1; battle-complete:event-dialogue-block-015; completedActionResult=True; runtime menu shows 전투 완료 btl_b1; menuNotice=battle-complete:event-dialogue-block-015; battleVictoryCount=1; battle completion; victorySound=victory; victorySoundSrc=../extract_wlk/12.wav; candidate_battle_browser_smoke; HWANSE_BATTLE_HIT_EFFECT_LOG; HWANSE_LAST_BATTLE_HIT_EFFECT; hitEffectTargets=enemy,party; hitEffectDuration=260; hitEffectShake=4; browserHitEffect=True; hitEffectSprite=battle_effects; hitEffectSpriteSource=btl_etc.cns; spriteDrawn=True; browserHitSprite=True; battleHitSoundCount=2; battleHitSoundSrc=../extract_wlk/09.wav; renderTarget=party; damageTextTargets=enemy,party; damageTextDuration=620; damageTextRender=enemy,party; browserDamageText=True; non-victory battle-run/battle-defeat outcomes; autoSource=battle-run; runTextRef=0x004d2974; runTextVa=0x004d42f6; outcomeSound=transition; outcomeSoundSrc=../extract_wlk/07.wav; outcomeSoundPlayed=True; autoSource=battle-defeat; defendTextRef=0x004d297c; defendTextVa=0x004d4314; defendFeedback=battle-defend-feedback:방어 피해 2; defendFeedbackRender=True; defendFeedbackDuration=900; defendSound=battleHit; defendSoundSrc=../extract_wlk/09.wav; defendSoundPlayed=True; outcomeCompleted=True; outcomeFeedback=battle-outcome-feedback:전투 도주 btl_b1; outcomeFeedback=battle-outcome-feedback:전투 패배 btl_b1; outcomeFeedbackRender=True; outcomeFeedbackDuration=1100; outcomeSound=battleHit; outcomeSoundSrc=../extract_wlk/09.wav; outcomeSoundPlayed=True; browserOutcomeFeedback=True; objective=후보 전투 도주 btl_b1; objectiveAction=battle-outcome-completion-notice; objectiveActiveId=battle-outcome-complete:map1_02b:battle-run; outcomeNoticeFeedback=battle-outcome-completion-notice-feedback:전투 도주 완료 1/1; outcomeNoticeFeedbackRender=True; outcomeNoticeSound=menuConfirm:../extract_wlk/04.wav:True; objective=후보 전투 패배 btl_b1; objectiveActiveId=battle-outcome-complete:map1_02b:battle-defeat; outcomeNoticeFeedback=battle-outcome-completion-notice-feedback:전투 패배 완료 1/1; outcomeNoticeFeedbackRender=True; outcomeNoticeSound=menuConfirm:../extract_wlk/04.wav:True; run title continue; defeat title continue; recoveredHp=1; battleVictoryCount=0; rewardGranted=False; completionCompleted=False; objective=후보 전투 턴 완료 btl_n2; objectiveAction=battle-turn-completion-notice; objectiveActiveId=battle-turn-complete:map2_07e; turnNoticeFeedback=battle-turn-completion-notice-feedback:전투 턴 완료 1/1; turnNoticeSound=menuConfirm:../extract_wlk/04.wav:True; encounterFeedback=field-encounter-trigger-feedback:전투 발생 btl_b1; encounterFeedbackRender=True; encounterFeedbackSound=step:../extract_wlk/00.wav:True; battleMusicCue=battle; mapMusicCue=map; battleEndMusicReason=battle-end-map-return; musicStop=battle->map; musicStopReason=cue-change; musicStopImplemented=True; fieldCompletionCompleted=True; objective=후보 필드 전투 완료 btl_b1; objectiveAction=field-encounter-completion-notice; objectiveActiveId=field-encounter-complete:map1_02b; fieldNoticeFeedback=field-encounter-completion-notice-feedback:필드 전투 완료 1/1; fieldNoticeFeedbackRender=True; fieldNoticeSound=menuConfirm:../extract_wlk/04.wav:True.u]  Object/progress marker summary: hit-test the visible sprites as canvas pointer targets; hover cursor/highlight feedback; scope=pointer-object; hoverCursor=pointer; hoverAsset=zs_rg; hit=zs_rg; inspect nearby linked z*.cns object sprite candidates from the normal map action path; visible sprite canvas pointer; facing-object Enter/A prompt; Enter -> 조사 zg_kni 3개; near-foot Enter/A hotspot action; all scene-linked z object coverage verified=7/7; map1_02b:zjk_suz@0x0618; map2_03l:zg_kni,zm_2,zs_rg@0x0918; map8_18o:zs_dd@0x9e18; map8_32q:zsa_iwa@0xac18; map9_01e:zi_ana@0xad18; loaded=7 rendered=7 inspected=7 anchors=7; linked dialogue candidate summary; dialogueLinks=3; linkedDialogueCount=3; linked dialogue follow-up; dialogueCandidateCount=1; prompt=Enter -> 대사 2/3; linked dialogue all-complete; linked dialogue quick-load restore; loaded=True; prompt=Enter -> 대사 전투 btl_l1; linked dialogue battle action; event-dialogue-block-041:btl_l1; actionResult=True; linkAction=dialogue-battle-action; scene=battle; battleBackground=btl_l1; enemyName=백호 괴수; enemySprite=zjk_byk.cns; enemyDropItemTextRef=0x0048b98c; enemyDropItemTextVa=0x0048ba8e; battleStartFeedback=battle-start-feedback:전투 시작 btl_l1; battleStartFeedbackRender=True; dialogueBattleLinkCount=3; battleStartCount=1; linked dialogue battle victory; attackResult=True; finishResult=True; scene=map; rewardGranted=True; autoSaved=True; autoSource=battle-victory; battleVictoryCount=1; objective=후보 대사 전투 btl_l2; prompt=Enter -> 대사 전투 btl_l2; nextLink=event-dialogue-block-032:btl_l2; drop=해독초; dropCount=1; dropItemTextRef=0x0048b98c; dropItemTextVa=0x0048ba8e; rewardEffect=battle-victory:백호 괴수; rewardDropItemTextRef=0x0048b98c; rewardRenderDropItemTextRef=0x0048b98c; rewardEffectRender=True; linked dialogue battle chain; steps=2; order=event-dialogue-block-032:btl_l2,event-dialogue-block-004:btl_l1; battleStartCount=3; battleVictoryCount=3; pendingLink=None; objective=후보 전투 완료 btl_l1; prompt=Enter -> 전투 완료 btl_l1; dropCount=3; stepDropItemTextRefs=0x0048b98c,0x0048b98c; rewardDropItemTextRefs=0x0048b98c,0x0048b98c; rewardRenderDropItemTextRefs=0x0048b98c,0x0048b98c; noticeResult=True; notice=battle-complete:event-dialogue-block-004; duplicateProgress=True; dialogueButtonResult=True; menuObject=조사 선택 3; directMenuIndex=-1; menuMode=object-candidate; menuCandidateCount=3; objectInspectCount=1; event_object_candidate_review_summary; event-object-candidates:map2_03l; actionHighlight=zg_kni; candidate_progress_browser_smoke; prototype-progress:map2_03l; progressRestored=True; objective=후보 조사 완료 map2_03l; next=완료 알림 확인; 진행 목표 1; objectButton=조사 완료 3; runtime menu object command; objectMenu=조사 선택 3; storyFlags=1; progressStoryFlags=1; savedStoryFlags=1; progressReviewStoryStatus=True; progressReviewStoryRecent=True; storyFlagReview=prototype-story-flags:map2_03l; storyFlagReviewStatus=True; storyFlagReviewCounts=True; storyFlagMenuCommand=showPrototypeStoryFlags; event-object-complete:map2_03l; objectiveAction=object-completion-notice; objectiveActiveId=event-object-complete:map2_03l; progressReview=prototype-progress:map2_03l; buttonCompletedActionResult=True; progressAfterAction=1; progressAfterButton=1; renderDone=True; showPrototypeProgress; originalStoryFlagRuntimeImplemented=False.u  Battle skill/item marker summary: party=rinshan,smash; battleButton; Ataho, Rinshan, and Smashu; active actor index; living party members; extracted character action text tables; normalTextRef=0x004d24ac; nextCommandTextRef=0x004d2c04; Ataho 정권 changes to Rinshan 유미쌍조; normal attack turn auto-saves with normalTurnAutoSource=battle-turn-prototype; preserve decoded slot/index/level entries; learned skill counts now add extracted skill/action text table commands; attackTextRef=0x004d24ac; skillTextRef=0x004d24b4; partySkillTextRefs=Rinshan:0x004d2c5c->0x004d4ee2,Smashu:0x004d2c2c->0x004d4e1e; Ataho 돌려차기 consumes MP; syncs the savedat-backed MP row; battle skill auto-saves with skillAutoSource=battle-skill-prototype; objective=후보 전투 기술 완료 btl_a1; objectiveAction=battle-skill-completion-notice; objectiveActiveId=battle-skill-complete:map1_01a; skillNoticeFeedback=battle-skill-completion-notice-feedback:전투 기술 완료 1/1; skillNoticeFeedbackRender=True; skillNoticeSound=menuConfirm:../extract_wlk/04.wav:True; 전투 기술 완료 1/1; Ataho 돌려차기; MP 999->997; 보스 후보 HP 700->588; 피해 112; 이어하기 map1_01a 1,2; skillTitleContinue=후보 전투 기술 완료 btl_a1/battle-skill-completion-notice/battle-skill-complete:map1_01a; battle turn auto-saves with turnAutoSource=battle-turn-prototype; battle-turn-completion-notice; rejects Ataho 돌려차기 when MP is insufficient; without enemy damage, source-row mutation, or turn advance; Rinshan/Smashu learned skill commands; executes Rinshan 장궁 plus Smashu 투구쪼개기; candidate battle reward; rewardGranted; battle-victory auto-save marker; closes the finished battle with the mobile A button; quick-loads the rewarded money/EXP plus manual party selection back on the map; known savedat recovery item effects; web-local 해독초 status cure; hpFailFeedback=battle-item-failed-feedback:herb:약초 대상 없음; hpFailFeedbackRender=True; itemFailFeedback=battle-item-failed-feedback:item_2:해독초 회복 대상 없음; itemFailFeedbackRender=True; poison/paralysis save/runtime flag offsets remain unmapped; public savedat sample; savedat 약초 command consumes an item; mapped HP recovery; itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c; battle item auto-saves with itemAutoSource=item-use-prototype; objective=후보 전투 도구 완료 btl_a1; objectiveAction=battle-item-completion-notice; objectiveActiveId=battle-item-complete:map1_01a; 전투 도구 완료 1/1; Ataho 약초; 약초 3->2; Ataho HP 979->999; restores again through titleContinue=True/quickLoadText=임시 불러오기; itemTitleContinue=후보 전투 도구 완료 btl_a1/battle-item-completion-notice/battle-item-complete:map1_01a; battle prototype opens an item-selection sub-menu; 마법의 물약; MP +50; menuItemTextRef=0x0048b99c; advances to Smashu; battle item menu auto-saves with menuAutoSource=item-use-prototype; Rinshan 마법의 물약; 마법의 물약 1->0; Rinshan MP 939->989; 해독초 cures them in both the battle item menu and the map item menu; statusItemTextRef=0x0048b98c; status item use also restores as objective=후보 전투 도구 완료 btl_a1; Smashu 해독초; 해독초 1->0; 상태 poison->정상; ordinary HP recovery does not select a fallen party member; revives fallen Smashu to full HP/MP; reviveItemTextRef=0x0048b9ac; revive item use also restores as objective=후보 전투 도구 완료 btl_a1; Ataho 마수석; 마수석 1->0; Smashu HP 0->999; Smashu MP 0->999.uA  Battle item target selection marker summary: itemTargetSelection item=약초 target=Rinshan hp=8->28 count=2->1; targetMenuOpen=open; selectedPhase=selected; targetCount=3; choices=Ataho,Rinshan,Smashu; itemAutoSource=item-use-prototype; turnAutoSource=battle-turn-prototype; battleTurnCount=1; itemUseCount=1; savedHp=28; savedHerb=1; prototypeTargetSelection=True; objective=후보 전투 도구 완료 btl_b1; objectiveDetail=Ataho / 약초 / Rinshan / 2->1; objectiveAction=battle-item-completion-notice; objectiveActiveId=battle-item-complete:map1_02b; itemTargetNoticeFeedback=battle-item-completion-notice-feedback:전투 도구 완료 1/1; itemTargetNoticeFeedbackRender=True; itemTargetNoticeSound=menuConfirm:../extract_wlk/04.wav:True; originalItemEffectFormulaImplemented=False; originalStoryFlagRuntimeImplemented=False.u  Field item target selection marker summary: fieldItemTarget selected=Rinshan; inventoryMenu=prototype-inventory-item-menu count=1 item=약초 x2; inventorySelection=herb opensMenuMode=item-target targetCount=3; hp=8->38 count=2->1 targetMenuOpen=open; selectedPhase=selected; autoSource=item-use-prototype; itemUseCount=1; savedHp=38; savedHerb=1; inventoryFeedback=inventory-item-use:herb:약초 HP +30; inventoryFeedbackSound=item:../extract_wlk/11.wav:True; objective=후보 도구 완료 map1_02b; objectiveDetail=Rinshan 약초; objectiveAction=item-use-completion-notice; objectiveActiveId=item-use-complete:map1_02b; itemNoticeFeedback=inventory-item-completion-notice-feedback:도구 사용 완료 1/1; itemNoticeFeedbackRender=True; itemNoticeSound=menuConfirm:../extract_wlk/04.wav:True; prototypeInventoryItemMenuImplemented=True; prototypeInventoryItemTargetSelectionImplemented=True; originalInventoryMenuRuntimeImplemented=False; originalItemEffectFormulaImplemented=False; originalStoryFlagRuntimeImplemented=False.u  Map item marker summary: map menu can use savedat recovery items; same item-effect path; 약초 consumption/healing outside battle; itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c; inventoryFeedbackSound=item:../extract_wlk/11.wav:True; savedat 약초 map item action now restores as objective=후보 도구 완료 map1_01a; 도구 사용 완료 1/1; HP 969 -> 999; 약초 3 -> 2; objective=후보 도구 완료 map1_02b; objectiveAction=item-use-completion-notice; objectiveActiveId=item-use-complete:map1_02b; 해독초 status cure outside battle; quick-saves and quick-loads the changed HP/item count; autoSource=item-use-prototype; modeled poison status; preserving savedat selector map candidates; restores again through titleContinue=True after the title row; titleCount=2; titleHp=999; titleStatus=['poison']; routeStatus=not-current-selector; latest completed map item objective notice; Ataho 해독초; HP 999 -> 999; 해독초 1 -> 0; under item-use-complete:map1_01a; equipment evidence gap explicitly; disabled equipment UI labels; ownership/equipped-slot offsets; equipment ownership/equipped offsets/effects; battle_backgrounds; savedat battle item menu; savedat status item; savedat revive item.u  Cross-smoke marker summary: mobile_browser_controls_summary covers save-point candidate review, event object preview, savedat battle item, savedat battle item menu, savedat status item, and savedat revive item. save_point_candidate_review_summary covers save-point candidate review. candidate_battle_browser_smoke covers vmBlocks=event-dialogue-block-015, vmRender=5, vmBlocks=event-dialogue-block-041, vmLiteral=8, prototype enemy profile rows enemyName=푸른 마수/enemyHp=42, enemyName=백호 괴수/enemyHp=50, runtime enemySprite=zky_ao.cns/originalEnemyRowBound=False, and requested map2_07e btl_e1 enemySprite=zjk_byk.cns/originalEnemyRowBound=False. event_object_candidate_review_summary covers descriptor field object map8_32q/zsa_iwa.cns row10, all scene-linked z object coverage verified=7/7 for map1_02b:zjk_suz@0x0618;map2_03l:zg_kni,zm_2,zs_rg@0x0918;map8_18o:zs_dd@0x9e18;map8_32q:zsa_iwa@0xac18;map9_01e:zi_ana@0xad18, linked dialogue completion, linked dialogue battle action event-dialogue-block-041:btl_l1 with enemyDropItemTextRef=0x0048b98c, linked dialogue battle victory event-dialogue-block-041 -> nextLink=event-dialogue-block-032:btl_l2 with dropItemTextRef=0x0048b98c/rewardDropItemTextRef=0x0048b98c, and linked dialogue battle chain steps=2/order=event-dialogue-block-032:btl_l2,event-dialogue-block-004:btl_l1/battleVictoryCount=3/pendingLink=None/notice=battle-complete:event-dialogue-block-004/duplicateProgress=True/rewardRenderDropItemTextRefs=0x0048b98c,0x0048b98c. candidate_route_progress_browser_smoke covers quickObjectiveKeyboard=True/source=keyboard/action=route-next, quickObjectiveButtonNext=True/source=virtual-objective-button/action=route-next, quickObjectiveButton=True/source=virtual-objective-button/action=field-encounter-enable, quickObjectiveToolbar=True/source=objective-action-button/action=route-continuation/routeNextText=후보, quickObjectiveSound=quick-objective-sound markers, and routeControlSound=route-control-sound:route-next-button:route-continuation markers with ../extract_wlk/04.wav/Played=True.u	  The title/new-game smoke also verifies browser-local item use without a loaded savedat: before the successful use, a full-HP Ataho tries 약초 x1 and the runtime renders itemFailFeedback=inventory-item-failed-feedback:herb:약초 대상 없음 with itemFailFeedbackRender=True without item-use progress, autosave, or item WLK sound; an Ataho with no active status then tries 해독초 x1 and renders statusFailFeedback=inventory-item-failed-feedback:item_2:해독초 회복 대상 없음 with statusFailFeedbackRender=True without item-use progress, autosave, or item WLK sound; then the default prototype-new-game Ataho state is damaged to HP 24, the runtime menu opens `도구 선택 1`, selects 약초 x1 through prototype-inventory-item-menu, records inventorySelection=herb with originalInventoryMenuRuntimeImplemented=False, then useSelectedMenuItem records item-use-prototype with source=prototype-item-effect, itemTextTable=items/itemTextRef=0x0048b984/itemTextVa=0x0048ba7c, count 1->0 and HP 24->36, renders itemFeedback=inventory-item-use:herb:약초 HP +12 with itemFeedbackRender=True, itemFeedbackSound=item, itemFeedbackSoundSrc=../extract_wlk/11.wav, itemFeedbackSoundPlayed=True, and itemSoundItemCount=1, auto-saves that runtimeState with autoSaved=True and autoSource=item-use-prototype, renders quickSaveFeedbackSound=menuConfirm:../extract_wlk/04.wav:True for the explicit quick save, mutates it, quick-loads restored HP 36 plus herb count 0, and then restores the same HP 36/herb 0/progress 1 state through title `이어하기 map1_02b 11,12` with quickLoadText=임시 불러오기 and quickLoadFeedbackSound=menuConfirm:../extract_wlk/04.wav:True. The same title smoke renders the field encounter step overlay with encounterFeedback=field-encounter-step-feedback:전투 탐색 1/6, encounterFeedbackRender=True, and encounterFeedbackSound=step:../extract_wlk/00.wav:True while keeping originalEncounterTableMapped=False, originalEncounterRuntimeImplemented=False, and originalStoryFlagRuntimeImplemented=False. The completed item-use objective becomes objective=후보 도구 완료 map1_02b / objectiveNext=완료 알림 확인, and objectiveAction=item-use-completion-notice opens objectiveActiveId=item-use-complete:map1_02b from both the direct quick-load and title-continue restored states, while keeping loadedSaveSummary absent, originalItemEffectFormulaImplemented=False, and originalStoryFlagRuntimeImplemented=False.u8  Item-use completion notice feedback marker summary: itemNoticeFeedback=inventory-item-completion-notice-feedback:도구 사용 완료 1/1; itemNoticeFeedbackRender=True; itemNoticeSound=menuConfirm:../extract_wlk/04.wav:True; originalItemEffectFormulaImplemented=False; originalStoryFlagRuntimeImplemented=False.a  The savedat parser and browser summary now expose the equipment evidence gap explicitly: HandyHwanseEditor documents money/items/stats/skills, while its disabled equipment UI labels and out/text_tables.* equipment-name candidates are not savedat ownership/equipped-slot offsets.u  out/menu_candidate_review_summary.* now also records menu review progress, auto-save, completed objective actions, and title continue restore for new-game menu checks: status-menu:map1_02b/label=상태 1/source=prototype-party-defaults/stats=Ataho:1/36/8/ATK0/DEF0/loadedSaveSummary=False, status autoSource=status-menu-prototype/objective=후보 상태 완료 map1_02b/objectiveAction=menu-review-completion-notice/objectiveActiveId=status-review-complete:map1_02b/titleContinue=True/quickLoadText=임시 불러오기/statusProgressCount=1, skill-menu:map1_02b/label=기술 0/learned=0/0/source=prototype-party-defaults-and-exe-text-tables/loadedSaveSummary=False, and skill autoSource=skill-menu-prototype/objective=후보 기술 완료 map1_02b/objectiveAction=menu-review-completion-notice/objectiveActiveId=skill-review-complete:map1_02b/titleContinue=True/quickLoadText=임시 불러오기/skillProgressCount=1.u  Runtime status member menu marker summary: the map menu exposes `상태 선택 N`, opens a `status-member` submenu, and the WebKit smoke selects Rinshan on map2_02d with menuCount=3, selected=Rinshan, selectionSource=prototype-status-member-menu, commandResult=True, selectResult=True, afterOpenMenuMode=status-member, afterMenuMode=main, active=status-member:map2_02d:Rinshan, progressCount=1, autoSaved=True, autoSource=status-member-menu-prototype, statusFeedback=status-member-menu-review-feedback:status-member-menu-prototype:status-member:map2_02d:Rinshan:상태 선택 Rinshan, statusFeedbackRender=True, statusSound=menuConfirm, statusSoundSrc=../extract_wlk/04.wav, statusSoundPlayed=True, objective=후보 상태 선택 완료 map2_02d, objectiveAction=menu-review-completion-notice, objectiveActiveId=status-member-review-complete:map2_02d, statusNoticeFeedback=status-member-menu-completion-notice-feedback:상태 선택 확인 완료 1/1, statusNoticeFeedbackRender=True, statusNoticeSound=menuConfirm:../extract_wlk/04.wav:True, originalEquipmentOffsetsMapped=False, and originalStoryFlagRuntimeImplemented=False. This is browser-local member status selection, not proof of original status flag or equipment offset runtime.u  Runtime skill member menu marker summary: the map menu exposes `기술 선택 N`, opens a `skill-member` submenu, and the WebKit smoke selects Ataho on map2_02d with menuCount=3, selected=Ataho, learned=2/10, names=돌려차기,던지기, selectionSource=prototype-skill-member-menu, commandResult=True, selectResult=True, afterOpenMenuMode=skill-member, afterMenuMode=main, active=skill-member:map2_02d:Ataho, progressCount=1, autoSaved=True, autoSource=skill-member-menu-prototype, skillFeedback=skill-member-menu-review-feedback:skill-member-menu-prototype:skill-member:map2_02d:Ataho:기술 선택 Ataho 2/10, skillFeedbackRender=True, skillSound=menuConfirm, skillSoundSrc=../extract_wlk/04.wav, skillSoundPlayed=True, objective=후보 기술 선택 완료 map2_02d, objectiveAction=menu-review-completion-notice, objectiveActiveId=skill-member-review-complete:map2_02d, skillNoticeFeedback=skill-member-menu-completion-notice-feedback:기술 선택 확인 완료 1/1, skillNoticeFeedbackRender=True, skillNoticeSound=menuConfirm:../extract_wlk/04.wav:True, originalEquipmentOffsetsMapped=False, originalCombatFormulaImplemented=False, and originalStoryFlagRuntimeImplemented=False. This is browser-local member skill selection, not proof of original skill formula, combat formula, or story flag runtime.u  Status/skill completion notice feedback marker summary: statusNoticeFeedback=status-menu-completion-notice-feedback:상태 확인 완료 1/1; statusNoticeFeedbackRender=True; statusNoticeSound=menuConfirm:../extract_wlk/04.wav:True; skillNoticeFeedback=skill-menu-completion-notice-feedback:기술 확인 완료 1/1; skillNoticeFeedbackRender=True; skillNoticeSound=menuConfirm:../extract_wlk/04.wav:True.u"  out/menu_candidate_review_summary.* specifically records the visible desktop toolbar objective button path for the same object interaction: quickObjectiveSource=objective-action-button, beforeObjectiveButtonHidden=False, beforeObjectiveButtonText=목표, and objectiveAction=hotspot-action.)z]Dialogue playback is still candidate/debug playback rather than confirmed event VM execution.zSave-point candidate review is still candidate/debug playback rather than original inn/statue/recovery NPC save-point event execution.zyLinked event object previews are still candidate/prototype surfaces rather than original object/NPC descriptor execution.a  out/event_vm_semantics_gap.* keeps instruction-length decoding, operand layout, route-linked event VM execution, full browser event VM implementation, and story dialogue route proof outside the completed surface; browser opcode trace replay is partial and non-promoting.a  out/event_vm_semantics_gap.* promotion gate keeps browserReplayPromotesOriginalEventVm=False until route-linked dispatch, full instruction/operand decode, scene dialogue binding, original story flag mutation, full browser VM execution, and event-driven battle entry are proven.zout/event_battle_gap_audit.* keeps route-linked event VM execution, event-driven battle entry, original enemy data/formulas/rewards, equipment offsets, status flag offsets, and story flag mutation outside the completed surface.zEXE battle resource descriptors are grounded resource-load rows, not enemy rows, formations, encounter dispatch, reward tables, combat formulas, or battle-entry event execution.z{Battle enemy sprite candidate visuals are EXE-proximity visual evidence, not enemy row/stat/formation/reward/formula proof.zPrototype progress records are browser-local save/load state and are not original story flag offsets or event-script branch-state mutation.zPrototype party join records and manual party battle rows are browser-local gameplay state and do not prove original party join/story state logic.zOriginal event-driven battle entry, enemy data, combat formulas, rewards, equipment ownership/equipped offsets/effects, status flag offsets, and story flag mutation are not implemented as gameplay systems.zcompletion-gatezEThe project can be called a playable web version of Hwanse ChwihojeonzmThe browser prototype is useful for map walking, resource review, transition review, and route investigation.u  out/completion_candidate_review_summary.* now verifies a browser-local playable route completion gate: after routeAssist continuation to map2_14j, walking into the prototype field encounter, winning, restoring from title, and opening the completion notice, the runtime records routeCompleteProgress=route-complete, routeCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j, opens playableGate=prototype-playable-route-gate with playableGateStatus=open/playableGateOpen=True/playableGateLabel=웹 후보 루트 완료 map2_14j, shows routeGateFeedback=route-completion-feedback:후보 완료 map2_14j with routeGateFeedbackRender=True plus routeGateSound=victory/routeGateSoundSrc=../extract_wlk/12.wav/routeGateSoundPlayed=True, auto-saves that gate, then restores it through title `이어하기 map2_14j ... 완료 map2_14j` with savedRouteCompleteCount=1, savedRouteCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j, completionRouteCompleteCount=1, completionItem=후보 완료 map2_14j, and runtimeRouteCompletionGateTitleRestore=True. The same restored menu command reopens the completion notice with duplicateProgress=True, savedRouteCompleteCount=1, and runtimeRestoredRouteCompletionMenuNotice=True. A completed save now also exposes the title menu item titleItem=후보 완료 map2_14j; selecting it loads the save and opens route-complete:map2_14j with title-route-completion-gate, payloadRouteCompleteCount=1, payloadRouteCompleteFlagKeys=story:route-complete:map2_14j:route-complete:map2_14j, playableGateOpen=True, duplicateProgress=True, and runtimeTitleRouteCompletionGate=True. The same completed save exposes titleItem=후보 클리어 저장 map2_14j before the first clear; selecting it loads the save, opens route-clear:map2_14j with title-route-clear-gate, records routeClearProgress=route-clear, auto-saves routeClearAutoSource=route-clear with payloadRouteClearCount=1 and payloadRouteClearFlagKeys=story:route-clear:map2_14j:route-clear:map2_14j,story:route-complete:map2_14j:route-complete:map2_14j, shows routeGateFeedback=route-clear-feedback:후보 클리어 map2_14j with routeGateFeedbackRender=True plus routeGateSound=victory/routeGateSoundSrc=../extract_wlk/12.wav/routeGateSoundPlayed=True, updates the post-save title payload to titlePayloadLabel=후보 클리어 map2_14j/titlePayloadClearCount=1, shows the title label suffix 클리어 map2_14j, and leaves runtimeTitleRouteClearGate=True. The clear summary now reports 진행 기록 9 and 결과 소지금 80 / 보상 약초 2, and the progress review also reports 클리어 목표 map2_14j, 클리어 진행 기록 9, and 클리어 결과 소지금 80 / 보상 약초 2. The smoke then restores that clear save through title `이어하기 ... 클리어 map2_14j` with runtimeRouteClearGateTitleRestore=True, savedRouteClearFlagKeys=story:route-clear:map2_14j:route-clear:map2_14j,story:route-complete:map2_14j:route-complete:map2_14j, titleRouteCompletionLabelHidden=True, titleRouteCompletionHidden=True, titleRouteClearVisible=True, completionItem=-, clearLabelCount=1, routeNextText=클리어, HUD objective `목표 후보 루트 클리어 map2_14j` / `다음 클리어 요약 확인`, verifies the objective action and route button both reopen route-clear:map2_14j with runtimeRouteClearObjectiveAndButton=True and duplicateProgress=True, and reopens the runtime menu clear summary with duplicateProgress=True while keeping savedRouteClearCount=1 and runtimeRestoredRouteClearMenuSummary=True, all while keeping originalFullGameCompletionImplemented=False.zout/completion_candidate_review_summary.* now verifies the same playable completion gate on the longer map5_40f routeAssist chain: completionNotice=zh, while keeping originalFullGameCompletionImplemented=False and originalRoutePromotionImplemented=False.zFNo candidate deep route completion/clear smoke has been generated yet.)zCConfirmed normal route coverage is far below full-game progression.zThe playable completion gate is browser-local routeAssist completion, not the original full-game ending, normal-route promotion, or story flag completion.zMajor original game systems beyond map walking, reviewed map transitions, and candidate/prototype gameplay surfaces are not implemented.c              3  ,   K   | ]  }|d    dk(    yw)rL   r  NrO   r"   s     r   r%   z build_summary.<locals>.<genexpr>  s     C33x=J.Cs   failedGateshardBlockersrJ   )rJ   rK   rL   rN   )rJ   rK   rL   rN   requiredzout/route_promotion_gate.json)gateIdrQ  rk  r   )r   r   r   zIdocs/GOAL.md exists and remains the running project goal/status document.zdocs/GOAL.mdout/completion_audit.*zqdocs/GOAL.md records the original work order, current generated artifacts, and the latest route blocker evidence.z)out/completion_audit.* restates achieved=z and reachableCount=zgThe goal is not complete because the completion gate and normal progression criteria remain incomplete.z1. File inventory analysis.zdocs/INVENTORY.mddocs/FORMATS.mdzBThe resource containers and extracted file classes are documented.z<2. Binary format estimation for containers and CNS variants.)rT  zdocs/CNS_FORMAT.mdtools/decode_cns.pyout/event_vm_semantics_gap.*zlContainer formats, CNS decoding, image payloads, and field map payload layout are documented and executable.zout/event_vm_semantics_gap.* records grounded handler/text-storage evidence while keeping event/script VM execution semantics partial.z}Some event/script/save-selector behavior is still inferred from static/runtime probes rather than fully decoded VM semantics.z+3. Resource extractors for FLD/WLK/MLK/CNS.)ztools/extract_fld.pyztools/extract_wlk.pyztools/extract_mlk.pyrU  ztools/build_web_assets.pyzrGenerated web assets cover field maps, images, audio, battle backgrounds, text candidates, and runtime chunk data.z&4. Image/palette/sound viewer surface.)zweb/cns_rect_review.htmlzweb/audio_review.htmlzweb/monster_review.htmlweb/index.htmlzweb/map_review.htmlzweb/map_gallery.htmlz out/home_landing_browser_smoke.*zout/character_sprite_frames.*zLegacy aggregate asset workbench is removed; role-specific detailed review pages expose CNS rects, maps, monsters, and audio instead.zBrowser review pages and the runtime can display maps, sprites, extracted audio-backed effects, battle backgrounds, and dialogue/battle candidates.z05. Original Hwanse2.exe execution-flow analysis.)zout/directdraw_flow.*zdocs/DIRECTINPUT_NOTES.mdout/runtime_movement.*rV  out/route_promotion_gate.*zout/runtime_trace_feasibility.*out/savedata_slot_scan.*z
.gitignorer   r   %tools/refresh_savedata_route_proof.py)zDirectDraw, DirectInput, timing, movement, collision, sprite frame, save path, selected-pointer, route gate, and many opcode contexts are documented.a  SAVEDATA/README.md and SaveData/README.md document the captured save intake names, drag/drop browser path, required selector/pointer bytes, --search-root checks, route proof handoff link, one-command refresh wrapper, and synthetic diagnostic exclusion for the current blocker.ztools/refresh_savedata_route_proof.py refreshes out/savedata_slot_scan.* before the real savedata evidence gap, so local SAVEDATA/SaveData slot uploads and arbitrary --search-root scans stay in the same proof chain.zw.gitignore ignores captured SAVEDATA/SaveData slot contents while allowing the intake README files to remain versioned.zRuntime trace/watchpoint capture is blocked here, selected-root execution is unproven, and original event/battle VM execution remains incomplete.z%6. Web Canvas runtime implementation.)rW  zout/maps_runtime.jszout/maps_runtime_chunks/*.jsztools/verify_runtime_http.pyz out/map3_runtime_browser_smoke.*zThe runtime supports chunked map loading, walking, camera follow, mobile controls, routeAssist, savedat parsing, dialogue candidates, and prototype battle flows.zmap3_09a focused runtime smoke verifies chunk load, accepted render/layout, originalLayer1Flags collision, right-step movement, and hard-blocked bump feedback.z4map3_09a focused runtime smoke is not yet generated.z^Normal progression is blocked and major original gameplay systems are still partial/prototype.z/7. First screen or at least one map reproduced.)rW  zextract_fld/title.cnsz$out/title_start_browser_summary.jsonz#out/maps_runtime_chunks/map1_02b.jsz#out/maps_runtime_chunks/map1_01a.jszlThe browser runtime starts on a confirmed field-map route and renders accepted map reviews for all 174 maps.zE8. Input, movement, dialogue, battle, and related gameplay expansion.)rX  z$out/event_dialogue_blocks_runtime.jszout/event_battle_gap_audit.*z'tools/verify_mobile_runtime_controls.pyz'tools/verify_mobile_browser_controls.pyz|Movement/input, candidate dialogue playback, and prototype battle/item/status/reward flows are implemented and smoke-tested.zDialogue is candidate/debug playback, battle entry/enemy/formula/reward/story flags are not original-system complete, and full non-party object/script behavior remains unresolved.ziPrimary route deliverable: identify non-graphic map-progression data and promote only proven transitions.)zout/playable_progress.*z$out/route_guide_browser_summary.jsonzout/transition_reviews.*z'out/transition_review_shortlist_audit.*z#out/route_blocker_evidence_matrix.*rY  z.Confirmed reachable maps from title start are z: zConfirmed route blockers: zWmap1_02b -> map1_01a is confirmed; map1_01a -> map2_02d remains routeAssist/debug-only.z,route_promotion_gate hard missing evidence: z; promotionStatus=zQtransition_review_shortlist_audit keeps next review candidates manual-only: rows=z<No transition review shortlist audit has been generated yet.zmap1_01a -> map2_02d lacks strict source coordinate/tile hotspot, real selector 2:0 save, selected-root execution proof, runtime trace/equivalent proof, and selector-merge/control-flow proof.z#Required validation commands/gates.)ztools/verify_web_assets.pyztools/scan_savedata_slots.pyr[  rZ  rY  rS  )zstools/verify_web_assets.py verifies the generated web assets and explicitly checks completion_audit achieved=false.ztools/verify_web_assets.py also checks the savedata intake README markers, refresh wrapper, slot-scan refresh command, and .gitignore slot guardrails so the local captured-save handoff path remains documented without tracking uploaded saves.z`out/route_promotion_gate.* keeps every hard route-promotion gate failed for the current blocker.zvA green verifier is not treated as completion because it confirms the known blocked state instead of full playability.	objectivez+Make Hwanse Chwihojeon playable on the web.achievedreachableCountnextReviewCandidateCountsaveSelectorFrontierCountrouteNextActionCountopenNextActionCountblockedNextActionCountrouteNextActionsopenNextActionsblockedNextActionssuccessCriteriamissingRequirementsblockingRequirements)nextRequiredInputsexternalInputChecklistroutePromotionFailedGatesroutePromotionHardBlockers"routePromotionNextRequiredEvidencecriteriapromptToArtifactChecklist)!r!   r5   r   r   OUTr   r   r   r@   rn  rH   r   r3   r8  anyr   r   r4   r   r  r   r   r   r   rQ   r   r   allr   rb  fromkeysrW   r   (4  playable_progressrc  rG   r7   map_render_gap_rowsr   !transition_review_shortlist_auditr8   runtime_trace_feasibilityruntime_timingruntime_movement non_party_descriptor_asset_linksoriginal_collision_route_auditedge_trigger_gaptile_hotspot_pattern_contrast strict_event_tile_signature_scanstrict_hotspot_review_matrixstrict_source_hotspot_contextbattle_background_countbattle_candidate_countevent_battle_gap_auditevent_vm_semantics_gapmap1_resource_ref_scanevent_shape_scanmap1_hotspot_gapstrict_event_source_coveragerecord_pattern_contraststrict_target_link_gapscene_record_cluster_contextentry_contextselector_bridge_refsmanifest_point_scanroot_point_scanmap1_exit_variant_scanmap1_exit_byte_coordinate_scanmap1_exit_cns_payload_scanmap1_exit_coordinate_contextbranch_gate_consistencybranch_selector_equationwriter_chaindispatch_stop_contextgate_offset_sourcesgate_offset_patternsgate_base_candidatesgate_base_proof_gapgate_sample_valuessavedata_sample_deltasreal_savedata_evidence_gaplegacy_hwanedit_editor_gapgate_pass_matrixopcode20_object_base_candidatesopcode20_order_spaceopcode20_context_f2_sourcesopcode20_slot_sources opcode20_slot_descriptor_writersopcode20_descriptor_scriptsopcode20_sample_order_effectsopcode20_runtime_materializersopcode20_nested_base_modessecondary_reset_scopesecondary_global_reset_gapsecondary_block_writesruntime_selector_byte_writespost_gate_reset_candidates	merge_gapmerge_bridge_matrixselected_pointer_opcode_pathsglobal_selected_pointer_pathsselected_pointer_usageselected_root_execution_gaproute_pair_entry_execution_gapcurrent_writer_pathsopcode08_activation_windowsopcode08_unreadable_producersopcode09_pointer_collisions"secondary_route_overlap_candidatespredecessor_state_effectactive_flag_effectactive_flag_sourcesselection_stateselection_writersbranch_pathsstream_tracesselector_xrefspredecessor_persistence_gapselection_buffer20_provenancesecondary_fill_rootsinherited_state_candidatescurrent_state_sourcespredecessor_tail_reset&predecessor_branch_state_execution_gap$predecessor_fill_execution_order_gap!predecessor_fill_opcode10_context!predecessor_descriptor_bridge_gap'predecessor_fill_site_execution_contextbranch_statebranch_state_writersbranch_state_dispatchsecondary_state_sourcesbranch_state_opcode_overlap+event_object_branch_state_stream_candidates)event_object_branch_state_candidate_links'event_object_branch_state_block_contextpredecessor_route_orderselector_set_decompositionselector_recomposition_latticeaddress_predecessor_contextmapset_aliasestarget_alias_state_effectstarget_alias_bridgesroute_root_ref_contextpredecessor_bridge_refsreverse_reuse_contextmerge_execution_gapmerge_runtime_contextmerge_closure_contextwrapper_execution_gapopcode24_globalsopcode24_mode1_source_writes%opcode24_runtime_enabled_block_writesopcode24_mode1_runtime_contextopcode24_mode1_default_effectopcode24_payload_tableopcode24_current_root_modeswrapper_descriptor_contextscene_payload_contextscene_list_contextfrontier_reader_branch_contextfrontier_payload_shape_contextscene_record_sequencescene_adjacency_indexleaf_table_contextleaf_index_spaceleaf_table_global_contextroute_pair_descriptor_contextopcode2c_route_pair_contextopcode07_indexed_pointersobject61_stream_operandscontext58_consumerscurrent_root_frontier_pathsselection_buffer_basesruntime_title_start_contextruntime_trace_execution_probe,runtime_patched_selector_left_stability_poll4runtime_patched_selector_left_stability_recheck_poll/runtime_patched_selector_left_active_order_pollmobile_browser_smoke candidate_movement_browser_smokemap3_runtime_browser_smoke#save_point_candidate_review_summary#candidate_status_menu_browser_smoke"candidate_skill_menu_browser_smoke&candidate_equipment_menu_browser_smoke!candidate_shop_menu_browser_smoke"candidate_party_join_browser_smoke%event_object_candidate_review_summary candidate_progress_browser_smoke)candidate_dialogue_progress_browser_smoke&candidate_route_progress_browser_smoke"candidate_deep_route_browser_smoke,transition_progress_candidate_review_summaryreview_surface_smokehome_landing_smokeroute_guide_smokeruntime_music_cue_smoketitle_menu_sound_smoketitle_start_smokerender_coveragemap_render_completeaugmented_route_blockersevent_battle_smoke!candidate_save_point_smoke_passed"candidate_status_menu_smoke_passed!candidate_skill_menu_smoke_passed%candidate_equipment_menu_smoke_passed candidate_shop_menu_smoke_passed!candidate_party_join_smoke_passed#candidate_event_object_smoke_passedcandidate_progress_smoke_passed(candidate_dialogue_progress_smoke_passed%candidate_route_progress_smoke_passed!candidate_deep_route_smoke_passed*candidate_transition_progress_smoke_passedevent_battle_original_checksevent_vm_text_evidenceevent_vm_semantics_checksevent_vm_script_tableevent_vm_event_tableevent_vm_text_flowevent_vm_opcode_semanticsevent_vm_dialogue_storageevent_vm_scene_refsevent_vm_browser_replayevent_vm_promotion_gateevent_battle_savedata_coverageevent_battle_original_data-transition_normal_route_patch_preview_matchestransition_counts	reachabler  next_reviewssave_selector_frontierroute_next_actionsr$   open_next_actionsblocked_next_actionsreview_surface_homecns_rect_hrefreview_surface_smoke_texthome_map_reviewhome_landing_smoke_textroute_guide_runtimeroute_guide_guideroute_guide_waypointroute_guide_waypoint_tileroute_guide_waypoint_prompt"route_guide_waypoint_enter_runtime!route_guide_waypoint_enter_action'route_guide_waypoint_enter_route_action&route_guide_waypoint_enter_route_sound*route_guide_waypoint_mobile_action_runtime"route_guide_waypoint_mobile_action(route_guide_waypoint_mobile_route_action'route_guide_waypoint_mobile_route_soundroute_guide_waypoint_runtimeroute_guide_waypoint_action!route_guide_waypoint_route_action route_guide_waypoint_route_soundroute_guide_control_sound"route_guide_waypoint_guide_runtimeroute_guide_waypoint_guide!route_guide_waypoint_guide_marker!route_guide_waypoint_nudge_prompt(route_guide_waypoint_click_nudge_runtime route_guide_waypoint_click_nudge'route_guide_waypoint_click_nudge_marker&route_guide_waypoint_click_nudge_guide%route_guide_waypoint_click_nudge_foot&route_guide_waypoint_click_nudge_sound"route_guide_waypoint_nudge_runtimeroute_guide_waypoint_nudge!route_guide_waypoint_nudge_marker route_guide_waypoint_nudge_guideroute_guide_waypoint_nudge_foot route_guide_waypoint_nudge_sound*route_guide_waypoint_toolbar_nudge_runtime"route_guide_waypoint_toolbar_nudge(route_guide_waypoint_toolbar_nudge_guide'route_guide_waypoint_toolbar_nudge_foot(route_guide_waypoint_toolbar_nudge_sound)route_guide_waypoint_mobile_nudge_runtime!route_guide_waypoint_mobile_nudge'route_guide_waypoint_mobile_nudge_guide&route_guide_waypoint_mobile_nudge_foot'route_guide_waypoint_mobile_nudge_soundroute_guide_waypoint_follow#route_guide_waypoint_follow_arrival(route_guide_waypoint_follow_arrival_foot)route_guide_waypoint_follow_arrival_guide(route_guide_waypoint_follow_next_runtime&route_guide_waypoint_follow_next_quick,route_guide_waypoint_follow_next_quick_sound(route_guide_waypoint_follow_next_control#route_guide_waypoint_toolbar_follow+route_guide_waypoint_toolbar_follow_arrival0route_guide_waypoint_toolbar_follow_arrival_foot1route_guide_waypoint_toolbar_follow_arrival_guide0route_guide_waypoint_toolbar_follow_next_runtime.route_guide_waypoint_toolbar_follow_next_quick4route_guide_waypoint_toolbar_follow_next_quick_sound0route_guide_waypoint_toolbar_follow_next_control"route_guide_waypoint_mobile_follow*route_guide_waypoint_mobile_follow_arrival/route_guide_waypoint_mobile_follow_arrival_foot0route_guide_waypoint_mobile_follow_arrival_guide/route_guide_waypoint_mobile_follow_next_runtime-route_guide_waypoint_mobile_follow_next_quick3route_guide_waypoint_mobile_follow_next_quick_sound/route_guide_waypoint_mobile_follow_next_controlroute_guide_smoke_textruntime_music_cue_smoke_texttitle_menu_sound_smoke_texttitle_start_maptitle_start_foottitle_returntitle_submenu_canceltitle_submenu_cancel_beforetitle_submenu_cancel_after_back title_submenu_cancel_after_close"title_submenu_cancel_mobile_before&title_submenu_cancel_after_mobile_back'title_submenu_cancel_after_mobile_close"title_submenu_cancel_button_before&title_submenu_cancel_after_button_back'title_submenu_cancel_after_button_closetitle_continue_titletitle_continue_labeltitle_continuetitle_continue_foottitle_item_continue_countstitle_quick_savetitle_quick_save_feedback"title_quick_save_feedback_renderedtitle_continue_feedback title_continue_feedback_renderedtitle_item_usetitle_item_use_feedback title_item_use_feedback_renderedtitle_item_use_failuretitle_item_use_failure_feedback(title_item_use_failure_feedback_renderedtitle_item_use_status_failure&title_item_use_status_failure_feedback/title_item_use_status_failure_feedback_renderedtitle_item_use_objectivetitle_item_use_actiontitle_item_use_notice title_item_use_notice_completiontitle_item_use_notice_feedback%title_item_use_notice_feedback_rendertitle_item_use_title_objective%title_item_use_title_objective_beforetitle_item_use_title_actiontitle_item_use_title_notice&title_item_use_title_notice_completiontitle_savedat_requesttitle_savedat_scantitle_savedat_scan_markertitle_sample_savedattitle_sample_savedat_foottitle_sample_savedat_markertitle_sample_savedat_summarytitle_sample_savedat_routetitle_sample_savedat_quick_save"title_sample_savedat_quick_summary title_sample_savedat_quick_routetitle_continue_sample_savedat#title_continue_sample_savedat_title#title_continue_sample_savedat_label"title_continue_sample_savedat_foot%title_continue_sample_savedat_summary#title_continue_sample_savedat_routetitle_query_playtitle_query_play_foottitle_query_play_fieldtitle_query_play_markertitle_play_starttitle_play_start_foottitle_play_start_fieldtitle_play_start_markertitle_continue_play_starttitle_continue_play_start_titletitle_continue_play_start_labeltitle_continue_play_start_foottitle_continue_play_start_fieldtitle_play_start_nexttitle_play_start_next_foottitle_play_start_next_fieldtitle_play_start_next_auto_savetitle_play_start_focustitle_play_start_focus_foottitle_play_start_focus_field title_play_start_focus_auto_savetitle_play_start_targettitle_play_start_target_foottitle_play_start_target_field!title_play_start_target_auto_save%title_play_start_target_auto_feedback title_continue_play_start_target&title_continue_play_start_target_title&title_continue_play_start_target_label%title_continue_play_start_target_foot&title_continue_play_start_target_field!title_play_start_target_encounter&title_play_start_target_encounter_foot*title_play_start_target_encounter_movement*title_play_start_target_encounter_progress(title_play_start_target_encounter_counts*title_continue_play_start_target_encounter0title_continue_play_start_target_encounter_title0title_continue_play_start_target_encounter_label/title_continue_play_start_target_encounter_foot title_play_start_confirmed_input'title_play_start_confirmed_input_before,title_play_start_confirmed_input_before_foot&title_play_start_confirmed_input_after+title_play_start_confirmed_input_after_foot%title_play_start_confirmed_input_auto)title_play_start_confirmed_input_feedback2title_play_start_confirmed_input_feedback_rendered title_play_start_candidate_input'title_play_start_candidate_input_before,title_play_start_candidate_input_before_foot&title_play_start_candidate_input_after+title_play_start_candidate_input_after_foot%title_play_start_candidate_input_autotitle_trial_blocker_short)title_play_start_candidate_input_feedback2title_play_start_candidate_input_feedback_renderedtitle_continue_play_start_input%title_continue_play_start_input_title%title_continue_play_start_input_label$title_continue_play_start_input_foottitle_encountertitle_encounter_foottitle_encounter_statetitle_encounter_modetitle_encounter_mode_feedbacktitle_encounter_mode_auto_save"title_encounter_mode_auto_feedback&title_encounter_mode_feedback_renderedtitle_encounter_quick_savetitle_encounter_step_detailtitle_encounter_saved_statetitle_encounter_step_movementtitle_encounter_step_feedback#title_encounter_feedback_render_log!title_encounter_feedback_renderedtitle_continue_encountertitle_continue_encounter_titletitle_continue_encounter_labeltitle_continue_encounter_foottitle_continue_encounter_statetitle_encounter_disable!title_encounter_disable_auto_savetitle_encounter_disable_mode title_encounter_disable_feedback%title_encounter_disable_auto_feedback)title_encounter_disable_feedback_rendered!title_continue_disabled_encounter'title_continue_disabled_encounter_title'title_continue_disabled_encounter_label&title_continue_disabled_encounter_foot'title_continue_disabled_encounter_statetitle_route_assisttitle_route_assist_foottitle_route_assist_menutitle_route_assist_menu_foottitle_route_goaltitle_route_goal_foottitle_route_goal_markertitle_continue_route_goaltitle_continue_route_goal_titletitle_continue_route_goal_labeltitle_continue_route_goal_foottitle_start_smoke_textruntime_trace_probe_evidencer  qemu_connecthardware_watchsoftware_breakrelocated_softwarerelocated_watchvirtual_desktop_connect"virtual_desktop_relocated_softwarevirtual_desktop_relocated_watch
relocationruntime_memory_evidenceruntime_memory_snapshotruntime_memorytransition_shortlist_evidenceruntime_input_evidenceruntime_input_proberuntime_key_sequence_probe"runtime_key_sequence_prelude_probeobservedsequencer  runtime_selected_pointer_poll%runtime_selected_pointer_prelude_poll"runtime_selected_pointer_long_poll"runtime_selected_pointer_late_pollruntime_route_watch_values_poll+runtime_selected_pointer_savedata_load_poll4runtime_selected_pointer_savedata_load_input_quality5runtime_selected_pointer_multislot_savedata_load_poll>runtime_selected_pointer_multislot_savedata_load_input_quality@runtime_selected_pointer_multislot_savedata_load_case_alias_pollIruntime_selected_pointer_multislot_savedata_load_case_alias_input_qualityKruntime_selected_pointer_multislot_savedata_load_input_path_case_alias_pollTruntime_selected_pointer_multislot_savedata_load_input_path_case_alias_input_qualityJruntime_selected_pointer_synthetic_selector_2_0_input_path_case_alias_pollSruntime_selected_pointer_synthetic_selector_2_0_input_path_case_alias_input_qualityOruntime_selected_pointer_patched_public_selector_2_0_input_path_case_alias_pollXruntime_selected_pointer_patched_public_selector_2_0_input_path_case_alias_input_qualityrecheck_route_hitsactive_order_route_hitssequence_summariesselector_countsr   r  runtime_save_file_io_probe
proof_noteruntime_title_start_evidenceoverlapcandidate_overlapinput_transitiontransition_payloadsresource_ref_evidenceevent_shape_evidenceall_event_shape_scanhotspot_gap_evidenceresource_scantarget_contextcurrent_frontier%strict_event_source_coverage_evidenceroute_statusrecord_pattern_evidencerB   frontierstrict_target_link_evidencerh	  scene_record_cluster_evidenceentry_context_evidenceselector_bridge_evidenceconfirmed_to_frontierfrontier_to_confirmedmanifest_point_evidencepoint_like_countpromotable_countroot_point_evidencescene_payload_evidencer  in_bounds_points	text_refspromotion_payloadsscene_list_evidencebranchpass_outcomefail_outcomescene_record_sequence_evidencescene_adjacency_evidenceleaf_table_evidenceleaf_index_evidenceleaf_global_evidenceroute_pair_descriptor_evidenceopcode07_evidenceobject61_evidencebranch_rowscontext58_evidencecurrent_root_frontier_evidence	leaf_rowsreader_leaf_countexit_variant_evidencefalse_positiveexit_byte_coordinate_evidenceexit_cns_payload_evidence
source_cns exit_coordinate_context_evidencer  opcode20_object_base_evidencebranch_gate_evidence!branch_selector_equation_evidencepredecessoractive_flagwriter_chain_evidence	chain_rownearestfollowing_gatedispatch_stop_evidencegate_offset_source_evidencegater   e8eagate_offset_pattern_evidencegate_base_candidate_evidencegate_base_proof_gap_evidencediagnostic_active_orderdiagnostic_recheckpublic_predecessor_active_order$public_predecessor_left_active_ordergate_sample_value_evidencesavedata_sample_delta_evidenceclosest_pairsemantic_coveragereal_savedata_evidencepublic_noteslatest_public_notelegacy_hwanedit_evidencegate_pass_matrix_evidenceselection_buffer_base_evidenceopcode20_order_space_evidenceuniquerepeatopcode20_context_f2_evidence
diagnosticdiagnostic_orderdiagnostic_slot_basesdiagnostic_object_tableopcode20_slot_source_evidencecount_sourceslot_source(opcode20_slot_descriptor_writer_evidence#opcode20_descriptor_script_evidenceopcode20_sample_order_evidence&opcode20_runtime_materializer_evidenceloadopcode20_nested_base_evidencenestedsecondary_reset_evidenceroute_scope	secondarysecondary_global_reset_evidencesecondary_block_write_evidence$runtime_selector_byte_write_evidencescanroot_patternhandlerpost_gate_reset_evidencemerge_gap_evidencemerge_bridge_evidence selected_pointer_opcode_evidence global_selected_pointer_evidenceselected_pointer_usage_evidencewatch_valuescurrent_rootsecond_levelreadersource_recordtarget_record$selected_root_execution_gap_evidence	save_gatestatic_gate	hook_gatedispatch_gateopcode_gatewriter_gateruntime_gatediagnostic_gate'route_pair_entry_execution_gap_evidencecurrent_writer_path_evidenceroute_writersstream_startsr   opcode08_activation_evidenceopcode08_unreadable_evidenceopcode09_collision_evidence secondary_route_overlap_evidence!predecessor_state_effect_evidencestate_tablecompact_tableactive_flag_evidenceselection_vm_evidencesave_sourceselection_bufferhelperr  case0opcode13opcode13_handlerfirst_writers
branch_rowfallthrough_mapstrace_542ac0trace_542ae8stop_542ac0branch_stepxref predecessor_persistence_evidenceselection_buffer20_evidencesource_rootpredecessor_rootcurrent_writersnearest_writerfrontier_readercurrent_labelsource_labelpredecessor_labelinherited_state_evidencebest+predecessor_branch_state_execution_evidencepredecessor_progress_pollpredecessor_progress_input predecessor_direction_sweep_poll!predecessor_direction_sweep_inputpredecessor_branch_state_pollpredecessor_branch_state_input&predecessor_highfreq_branch_state_poll'predecessor_highfreq_branch_state_input(predecessor_left_overrun_activation_poll)predecessor_left_overrun_activation_inputpredecessor_nearest_exit_pollpredecessor_nearest_exit_input predecessor_reciprocal_exit_poll!predecessor_reciprocal_exit_inputpredecessor_coordinate_pollpredecessor_coordinate_inputpredecessor_trail_start_pollpredecessor_trail_start_input#predecessor_trail_left_overrun_poll$predecessor_trail_left_overrun_inputruntime_branch_state_split%left_overrun_activation_runtime_splitnearest_exit_runtime_splitreciprocal_exit_runtime_splitcoordinate_runtime_splittrail_start_runtime_split trail_left_overrun_runtime_splithighfreq_runtime_split"predecessor_fill_order_from_branch$predecessor_fill_context_from_branch$predecessor_fill_context_field_entry)predecessor_fill_execution_order_evidence"predecessor_fill_opcode10_evidence0predecessor_fill_site_execution_context_evidencefield_entry_contextcoordinate_context&predecessor_descriptor_bridge_evidenceroot_closurefill_closureedge_summarybranch_state_evidencer>	  primaryr@	  tablerH	  opcodessecondary_direct predecessor_route_order_evidence#selector_set_decomposition_evidenceselector_recomposition_evidencecurrent_recompositionaddress_predecessor_evidencemapset_alias_evidencetarget_alias_state_evidencetarget_alias_bridge_evidencetarget_alias_bridge_class_text.target_alias_bridge_after_last_fill_class_textroute_root_ref_evidencepredecessor_bridge_evidencepredecessor_to_currentcurrent_to_predecessorreverse_reuse_evidencemerge_execution_gap_evidencemerge_runtime_context_evidencemerge_closure_context_evidencewrapper_execution_gap_evidenceopcode24_global_evidencemode2opcode24_source_write_evidence'opcode24_runtime_enabled_block_evidence!opcode24_runtime_context_evidencer!
  directopcode24_default_evidenceopcode24_payload_table_evidence#opcode24_current_root_mode_evidencewrapper_descriptor_evidenceruntime_timing_evidenceruntime_movement_evidencemovement_gapsrU
  mappingupdateinput_polling
projectionweb_mappingweb_implementationactor_motionactor_controllerparty_trailparty_projectionsprite_framescript_frame_timerparty_frame_scriptsobject_descriptor_tabledescriptor_activationparty_frame_pointerparty_state_table_commandparty_frame_characterscollision_helper
map_loadercontroller_countscollision_countsdirection_casesobject_overlapparty_trail_initial_cursorsweb_party_trail_initial_cursorsparty_frame_resourcesparty_frame_surfacesru  !original_collision_route_evidencer  rD   rE   statssource_statstarget_statsedge_trigger_gap_evidence
controllerlatchglobal_refsscript_runner_contextselected_pointer_contextdirect_call_graphcall_graph_sensitivityedge_handler_encodededge_local_window_encodededge_call_graph_encodededge_global_contrast_encodedtile_hotspot_pattern_evidence$strict_event_tile_signature_evidence%strict_hotspot_review_matrix_evidencestates&strict_source_hotspot_context_evidencero  r]  route_failed_gatesroute_hard_blockersroute_next_required_evidencesuccess_criteriamissing_requirementsblocking_requirementsnext_required_inputsprompt_to_artifact_checklistr	  r	  rX  s4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   @@@r   build_summaryr    s   R A.22:qAI&	(&)$**c<U6U5`5`jq5`5r*s&t# %	'%)ZZ55@@'@R&c"A& #
 --?L_`O./9< 	978A=	923q8 
 052E  49r/33MBHb*M*SQS'(K(O(OPX(Y]e(e%*M*SQS')L)P)PQY)Z^f)f&)K)Qr&(J(N(Nx(X\d(d%-S-YWY*,R,V,VW_,`dl,l)(I(OR%'H'L'LX'VZb'b$)K)Qr&(J(N(Nx(X\d(d%'G'M2$,Q,WUW)*O*S*ST\*]ai*i''G'M2$&F&J&J8&TX`&`#0Y0_]_-/X/\/\]e/fjr/r,-S-YWY*,R,V,VW_,`dl,l))K)Qr&(J(N(Nx(X\d(d%3_3ece0488BhN / $:#=#=>T#U#[Y[ 3778MNTRT3v7M7Q7QRo7pvtv 6 : :8 D J2667WX^\^1556OPVTV/334IJPb 6 : :;S T ZXZ 6 : :;Q R XVX0445IJPb4889UV\Z\4889OPVTV%;%?%?@Z%[%a_a"!7!;!;<X!Y!_]_(I(OR% -001BCG[[ 	
.223HI 2
 11CD!%%&:;ArI $$%=>D"H$(()?@FBL.223RSYWY78L8P8PQ^8_8ecef)778& 	 
 *778	) 	  !: ?R3_3ece0;o;usu86e6kik3/52!;!Ar/52.226:@b 78 	;""#AB	;""#9:  
	.223CDuH[H_H_`tHuv w)--.>?@ A&**=9: ;$((56 7 /	$ $r  ,1r)--k:@bEEhOUSUO 
		A	B 	p!!),
- .$((/0 1!%%k23 4'++N;< =HH_00<BCD E$(():;< =$((9: ;!%%m45Q7J7J>7Z6[ \..=.A.ABf.g-hhi		k I_  */R+//	:@b)--g6<".22?CIr 4 8 8 @ FB#4#8#89I#J#Pb"U"UV^"_"ece):)>)>?U)V)\Z\&(J(N(NOd(e(kik%.O.S.STa.b.hfh+-T-X-XY`-a-geg*1B1F1FGd1e1kik.)S)W)WXm)n)trt&/Q/U/UVc/d/jhj,.V.Z.Z[b.c.igi+#4#8#89J#K#Qr ">"B"BCX"Y"_]_(C(G(G(V(\Z\%'H'L'LW'U'[Y[$ < @ @AT U [Y[):)>)>)O)USU&!C!G!GH\!]!cac(J(N(N(_(ece%):)>)>?T)U)[Y[(`(`ao(p(vtv%/@/D/DE`/a/geg,'O'S'STh'i'omo$.V.Z.Z[j.k.qoq+-U-Y-YZn-o-usu*,T,X,XY_,`,fdf)-U-Y-YZn-o-usu*):)>)>?U)V)\Z\&!C!G!GH\!]!cac(J(N(N(_(ece%'I'M'MNb'c'igi$&H&L&LV&T&ZXZ#'I'M'MNb'c'igi$1B1F1FGd1e1kik.)S)W)WXl)m)sqs&/Y/]/]^r/s/ywy,.X.\.\]c.d.jhj+/Y/]/]^r/s/ywy,0A0E0EFb0c0igi-(Q(U(UVj(k(qoq%.W.[.[\p.q.wuw+-V-Z-Z[a-b-hfh*.W.[.[\p.q.wuw+"3"7"78H"I"OR*E*I*I)*T*ZXZ'/R/V/VW]/^/dbd,0S0W0WXl0m0sqs-/@/D/DE`/a/geg,-U-Y-YZj-k-qoq*3[3_3_`u3v3|z|0/W/[/[\p/q/wuw,*;*?*?@W*X*^\^'2U2Y2YZc2d2jhj/7b7f7fgm7n7trt48c8g8gh|8}  9D  BD57H7L7LMo7p7vtv45e5i5ijz5{  6B  @B2;k;o;o  qF  <G  <M  KM87g7k7k  mA  8B  8H  FH4):)>)>?U)V)\Z\&1S1W1WXa1b1hfh.6`6d6dek6l6rpr37a7e7efz7{  8B  @B46G6K6KLm6n6trt34c4g4ghx4y4}1:i:m:m  oD  ;E  ;K  IK76e6i6ij~6  7F  DF3R 
		x	(D	0Of	P f	P 	 f	P+//0@ABf	PCf	P-112DEFf	PGf	P '**956f	P 79f	P :M9P9PQ\9]8^f	P _`f	P ""#56
7	f	P8	f	P
 ),,[9:f	P
 ;=f	P
 >R=U=UVa=b<cf	P
 def	P %((-
.f	P /0f	P 1J0M0Mc0R/Sf	PTf	P ),,Z89f	P:1f	P 2F1I1IJq1r0sf	Pt-f	P .B-E-EFi-j,kf	Plf	P 699&ABf	PCf	P 9<<=pqrf	Psf	P ;>>xHIf	P JKf	P -00=
>f	P ?Af	P BcAfAfgrAs@tf	Puf	P 588CDf	PEf	P 366}EFf	PGf	P  699)DE!f	P F!f	P" 8;;JGH#f	P" IJ#f	P$ 255mD
E%f	P$ FG%f	P& 255mD
E'f	P&F 'f	P( !C F Fx PQ)f	P( RS)f	P* .11+>
?+f	P* @B+f	P, .11+>
?-f	P,@-f	P. 699)DE/f	P.F/f	P0 477FG1f	P0H1f	P2 >AA)LM3f	P2N3f	P4 9<<ZHI5f	P4 JK5f	P6 366}E
F7f	P6 GH7f	P8 366}E
F9f	P8G9f	P: 699(CD;f	P: EF;f	P< '**;7
8=f	P< 9;=f	P< <W;Z;Z[f;g:h=f	P<i=f	P> /229=>?f	P>??f	P@ +..}=>Af	P@?Af	PB 8;;IFGCf	PBHCf	PD 699/JKEf	PDLEf	PF :==hGHGf	PF IJGf	PH -00>
?If	PH@If	PJ 255jABKf	PJ CDKf	PL ,//>
?Mf	PL @AMf	PN ,//>
?Of	PN@Of	PP ;>>{KLQf	PP MOQf	PR -00=
>Sf	PR?Sf	PT 0334DEFUf	PTGUf	PV /22>BCWf	PVDWf	PX .112CDEYf	PXFYf	PZ 6::;MNTRTUV[f	PZW[f	P\ 699:\]^]f	P\_]f	P^  :==>cde_f	P^f_f	P` .112Z[\af	P`]af	Pb 4778VWXcf	PbY"cf	Pd #="@"@Aj"k!lef	Pd mnef	Pf &))*[\
]gf	Pf ^_gf	Ph &))*\]
^if	Ph_if	Pj 366~FGkf	PjHkf	Pl <??LMmf	Pl NOmf	Pn &))*:;
<of	Pn =>of	Pp &)).9
:qf	Pp ;<qf	Pr &))*;<
=sf	Pr>6sf	Pv &))*VW
Xwf	PvYwf	Px  ADDVLMyf	PxNyf	Pz =AABTU[Y[\]{f	Pz^{f	P| =@@Acde}f	P|f}f	P@ -001cd
eAf	P@fAf	PB ?BB8LMCf	PB NOCf	PD ,//<
=Ef	PD >@Ef	PF ,//<
=Gf	PF>Gf	PH 255mDEIf	PHFIf	PJ 3667GHIKf	PJJKf	PL 477<=Mf	PL >?Mf	PN 144S9
:Of	PN;Of	PP ;>>~NOQf	PPPQf	PR  @CCDijkSf	PRlSf	PT BEEkRSUf	PT TUUf	PV 2556FG
HWf	PV IJWf	PX 255nE
FYf	PX GHYf	PZ 2556GH
I[f	PZJ[f	P\ 8;;JGH]f	P\ IJ]f	P^ 255mD
E_f	P^ FG_f	P` 255mD
Eaf	P`F6af	Pd ,//0\]
^ef	Pd_ef	Pf 477ABgf	Pf CDgf	Ph &))+6
7if	Ph 8:if	Ph ;U:X:XYd:e9fif	Phgif	Pj ,//>?kf	Pj@kf	Pl -001ABCmf	PlDmf	Pn -00>D"II#NPof	Pn QRof	Pp (++L9?RDDSI
Kqf	PpLqf	Pr .11#67sf	Pr 89sf	Pr :Y9\9\]`9a8bsf	Prcsf	Pt 588HIuf	PtJuf	Pv <??LMwf	Pv NOwf	Px ,//0@A
Byf	Px CDyf	Pz ,//?
@{f	Pz AB{f	P| ,//0AB
C}f	P|D}f	P~ 255jABf	P~ CDf	P@ ,//>
?Af	P@ @AAf	PB ,//>
?Cf	PB@6Cf	PF &))*VW
XGf	PFY Gf	PH !C F Fx PQIf	PH RSIf	PJ .11+>
?Kf	PJ @BKf	PL .11+>
?Mf	PL@Mf	PN 477FGOf	PNHOf	PP 5889IJKQf	PPLQf	PR 699#>?Sf	PR @ASf	PT 366s;
<Uf	PT=Uf	PV =@@PQWf	PVRWf	PX :==jIJYf	PX KLYf	PZ 477F
G[f	PZ HI[f	P\ 477F
G]f	P\H]f	P^  ADDXNO_f	P^ PQ_f	P` -00=
>af	P` ?Aaf	Pb -00=
>cf	Pb?cf	Pd 366}EFef	PdGef	Pf 4778HIJgf	PfKgf	Ph 588=>if	Ph ?@if	Pj 255c:
;kf	Pj<kf	Pl <??OPmf	PlQmf	Pn 9<<ZHIof	Pn JKof	Pp 366}E
Fqf	Pp GHqf	Pr 366}E
Fsf	PrG6sf	Pv -001]^
_wf	Pv`)wf	Px *E)H)H)U(Vyf	PxWyf	Pz /229=>{f	Pz?{f	P| 7::3?@}f	P| AB}f	P~ 477<
=f	P~>f	P@ ;>>~NOAf	P@P.Af	PB /U.X.XYa.b-cCf	PBdCf	PD <??	JKEf	PDLEf	PF >AA+NOGf	PFPGf	PH >AA*MNIf	PH OPIf	PJ 8;;MJ
KKf	PJ LMKf	PL 8;;MJ
KMf	PLLMf	PN <??IJOf	PN KLOf	PP 477E
FQf	PPG?Qf	PT /22;?
@Uf	PTAUf	PV 7::9EFWf	PVGWf	PX ?BB3GHYf	PX IJYf	PZ <??D
E[f	PZF[f	P\ CFF~VW]f	P\XD]f	P` :==hG
Haf	P`Iaf	Pb DGG	RScf	PbTcf	Pd FII+VWef	PdXef	Pf FII*UVgf	Pf WXgf	Ph @CCMR
Sif	Ph TUif	Pj @CCMR
Skf	PjTkf	Pl DGGQRmf	Pl STmf	Pn <??M
Nof	PnO?of	Pr .11+>
?sf	Pr@sf	Pt 699)DEuf	PtFuf	Pv >AA#FGwf	Pv HIwf	Px ;>>sC
Dyf	PxEyf	Pz BEEnUV{f	PzWD{f	P~ 9<<XF
Gf	P~Hf	P@ CFFyQRAf	P@SAf	PB EHHUVCf	PBWCf	PD EHHTUEf	PD VWEf	PF ?BB=Q
RGf	PF STGf	PH ?BB=Q
RIf	PHSIf	PJ CFFxPQKf	PJ RSKf	PL ;>>|L
MMf	PL NOMf	PN 7~Q R 6; 
!	$	$X	.(	:	(,,W56 7&**512 3)--h78 9C	C
 A} ! 49r 
 	#	#H	-	9	*../?@A B)--.EFG H(,,-CDE Fd	d
 @{   */R'++E28bO&**628b$((7=2L,00AGR"6":":8"D"J&:&>&>{&K&Qr#';'?'?'M'SQS$)=)A)A.)Q)WUW&-A-E-EFW-X-^\^*.B.F.FGY.Z.`^`+)=)A)A.)Q)WUW&-A-E-EFW-X-^\^*.B.F.FGY.Z.`^`+,00AGR~"6":":;L"M"SQS~
 '**:6<"N(,,V4:#1#5#56I#J#Pb"U"UV^"_"ece(,,[9?R $	
*../GHNB	
 	! *- - '**+FGM2	- *& #	
(,,-EFL"	
 	 (+ + %(()DEK	+ ($ '**95;N"	
(,,->?E2	
 	
 (+ + %(()=>D"+ ($ ,//0ABHb&*	
0445FGM2	
 	
'# 03 3 -001EFL"3 0, %3$6$67H$I$OR!-1	
7;;<MNTRT	
 	
.* 7: : 4778LMSQS: 73  .112CDJ*../@AGR*../JKQr'<'@'@'N'TRT$%3%7%78S%T%ZXZ",:,>,>?`,a,geg)%6%:%:;R%S%YWY",J,N,NO`,a,geg)"@"D"DEV"W"][]"@"D"DE`"a"geg-H-L-L\-Z-`^`*.223HIORTTU^_ece*../ABHb 2 6 67I J Pb,001EFL" 4 8 8 @ FB"6":":;O"P"VTV#7#;#;<O#P#VTV !=!A!A/!R!XVX&7&;&;<Y&Z&`^`#)H)L)LM`)a)geg&'I'M'Mo'^'dbd$$5$9$9:Q$R$XVX!*;*?*?@\*]*cac'*. 	N"E"I"IJ["\"b`b  	N
+' *G)J)J6)R)XVX&,I,M,MNa,b,hfh)*O*S*STc*d*jhj'(,,[9?R,008>B-112BCIr.223CDJ(,,[9?R,008>B-112BCIr.223CDJ 1 5 56I J Pb&7&;&;<T&U&[Y[#&* 	J"A"E"EFW"X"^\^  	J
'# &?%B%B6%J%Pb"&?&C&CDT&U&[Y[#-112FGM2!6!:!:6!B!Hb"7";";<L"M"SQS&;&?&?@U&V&\Z\#.223HIOR"8"<"<V"D"J#9#=#=>N#O#USU '='A'ABW'X'^\^$/334JKQr#:#>#>v#F#L" $;$?$?@P$Q$WUW!(?(C(CDY(Z(`^`%,M,Q,QRi,j,pnp)'8'<'<=['\'b`b$->-B-BCf-g-mkm*-1 	Q"H"L"LM^"_"ece  	Q
.* -M,P,PQW,X,^\^)-M-Q-QRb-c-igi*(9(=(=>X(Y(_]_%-N-R-RSY-Z-`^`*1R1V1VWa1b1hfh.1R1V1VWa1b1hfh./Y/]/]^f/g/mkm,1B1F1FGi1j1pnp.7H7L7LMt7u7{y{47;	
JNNO`ageg	

 	84 7a6d6dek6l6rpr3'8'<'<=V'W'][]$.N.R.RS[.\.b`b+3Z3^3^_e3f3ljl0-M-Q-QRY-Z-`^`*2X2\2\]c2d2jhj/,L,P,PQh,i,omo)04	
:>>?YZ`^`	
 		1- := = 7::;XY_]_= :6 (9'<'<=V'W'][]$.N.R.RS[.\.b`b+3Z3^3^_e3f3ljl0-M-Q-QRY-Z-`^`*2X2\2\]c2d2jhj/,L,P,PQi,j,pnp) \.TUnTo,p)04	
:>>?YZ`^`	
 		1- := = 7::;XY_]_= :6 '8&;&;<T&U&[Y[#,=,A,AB_,`,fdf),0	
?CCDUV\Z\	

 	-) ,K+N+Nv+V+\Z\('++,<=CO*..v6<"+//0@AGR*../CDJ$8$<$<^$L$RPR!%4%8%89U%V%\Z\")G)K)KN)[)a_a&-0 1 &))*CDJ1 .* "3!6!67K!L!RPR"3"7"78O"P"nTn"<"@"@AQ"R"XVX$>$B$B:$N$TRT!	#	'	'	/	Z3N3R3RSY3Za_a	c*o% " 	#&&'@A 	&**+DE	 (
 ), ,8, )%
  1445HIOR%6%:%:;S%T%ZXZ"%) 	I"@"D"DEV"W"][]  	I
&" %=$@$@$H$NB!%=%A%ABR%S%YWY"/334FGM2(?(C(CJ(O(USU%#:#>#>v#F#L" 'C'G'G'W'][]$,M,Q,QR`,a,geg)03 4 .112KLRPR4 1- ):(=(=>Y(Z(`^`%.?.C.CDd.e.kik+.2	
AEEFWX^\^	

 	/+ .O-R-RSY-Z-`^`*.O.S.STd.e.kik+*..}=C044V<B/334EFL"#:#>#>v#F#L" (,,-=>D",008>B.223CDJ 1 5 56I J Pb&7&;&;<T&U&[Y[#&* 	J"A"E"EFW"X"^\^  	J
'# &?%B%B6%J%Pb"` 
		x	(D	0]m	? m	? 	 m	?*..?@m	?Am	?(,,];<m	?=m	? #&&y12m	? 34m	? 5E4H4H4M3Nm	? OPm	? QaPdPdehPiOjm	?km	? 588DE	m	? FH	m	? IhHkHklvHwGx	m	? y{	m	? |\  |`  |`  ak  |l  {m	m	?m	m	?
 ?BB:NOm	?
 PRm	?
 SyR|R|  ~H  SI  RJm	?
 JLm	?
 Mt  Mx  Mx  yC  MD  LEm	?
Em	? <??
KLm	? MOm	? PvOyOy  {E  PF  OGm	? GIm	? Jq  Ju  Ju  v@  JA  IBm	?Bm	? $''01m	? 28m	? 9E8H8H8Y7Zm	? [dm	? eqdtdt  vE  eF  dGm	? GSm	? T`  Td  Td  ev  Tw  Sxm	?xm	?  588BCm	? DLm	? MbLeLe  gH  MI  LJm	?J!m	? ";!>!>|!L Mm	? NUm	? VoUrUrs{U|T}m	? ~Fm	? GY  G]  G]  ^f  Gg  Fhm	?hm	? :==eDEm	? FHm	? I]H`H`ajHkGlm	? mnm	? oH  oL  oL  MP  oQ  nRm	? RSm	? Tm  Tq  Tq  ru  Tv  Swm	?wm	? 144Z@Am	?B%m	? &@%C%CDZ%[$\m	?]+m	? ,F+I+IJ`+a*bm	?c&m	? 'B&E&EF\&]%^m	?_#m	? $F#I#I*#U"Vm	? WXm	? Y{X~X~  @C  YD  XEm	? EFm	? Gi  Gm  Gm  nq  Gr  Fsm	?sm	?  >AABXYZ!m	? [&!m	?" 'L&O&OPZ&[%\#m	?" ]_#m	?" `}  `A  `A  BK  `L  _M#m	?" MN#m	?" Oq  Ou  Ou  vy  Oz  N{#m	?" {|#m	?" }_  }c  }c  dg  }h  |i#m	?"i #m	?$ !D G GH^ _`%m	?$a%m	?& 55'm	?&6'm	?( &))*=>?)m	?( @B)m	?( CSBVBVW`BaAb)m	?( cd)m	?( ezd}d}  B  eC  dD)m	?( DE)m	?( F[  F_  F_  `c  Fd  Ee)m	?(e)m	?* *--h78+m	?* 9I+m	?* J`IcIcdmInHo+m	?* pq+m	?* rH  rL  rL  MX  rY  qZ+m	?*Z+m	?, -00=>-m	?, ?A-m	?, BYA\A\]kAl@m-m	?,n-m	?. &))*=>?/m	?. @B/m	?. CSBVBVW`BaAb/m	?. cd/m	?. ezd}d}  B  eC  dD/m	?. DE/m	?. F[  F_  F_  `c  Fd  Ee/m	?.e/m	?0 144Y?@1m	?0 AB1m	?0 CYB\B\]hBiAj1m	?0k1m	?2 -00=>3m	?2 ?A3m	?2 BYA\A\]kAl@m3m	?2n3m	?4 -001EFG5m	?4H5m	?6 7::;NOP7m	?6 QS7m	?6 TmSpSpqzS{R|7m	?6 }~7m	?6 ]  a  a  be  f  ~g7m	?6 gh7m	?6 iG  iK  iK  LO  iP  hQ7m	?6Q7m	?8 119m	?8 2B9m	?8 CbBeBefoBpAq9m	?8 rs9m	?8 tS  tW  tW  Xc  td  se9m	?8e9m	?: /223FGH;m	?: IK;m	?: LaKdKdenKoJp;m	?: qr;m	?: sM  sQ  sQ  RU  sV  rW;m	?: WX;m	?: Ys  Yw  Yw  x{  Y|  X};m	?:};m	?< 588AB=m	?< CS=m	?< ToSrSrs|S}R~=m	?< @=m	?< A\  A`  A`  al  Am  @n=m	?<n=m	?> 1445HIJ?m	?> KM?m	?> NdMgMghqMrLs?m	?> tu?m	?> vQ  vU  vU  VY  vZ  u[?m	?> [\?m	?> ]x  ]|  ]|  }@  ]A  \B?m	?>B?m	?@ 699'BCAm	?@ DTAm	?@ UqTtTtu~T  TAAm	?@ ABAm	?@ C_  Cc  Cc  do  Cp  BqAm	?@qAm	?B 3667JKLCm	?B MOCm	?B PgOjOjktOuNvCm	?B wxCm	?B yU  yY  yY  Z]  y^  x_Cm	?B _`Cm	?B a}  aA  aA  BE  aF  `GCm	?BGCm	?D 7::7CDEm	?DE#Em	?F $E#H#HI[#\"]Gm	?F^ Gm	?H !B E EF] ^_Im	?H`Im	?J  EHHRSKm	?J TUKm	?J V{U~U~  @F  VG  UHKm	?JHKm	?L 8;;IFGMm	?L HIMm	?L JgIjIjkvIwHxMm	?Ly#Mm	?N $D#G#GH[#\"]Om	?N ^`Om	?N aA  aE  aE  FO  aP  `QOm	?N QROm	?N Sx  S|  S|  }@  SA  RBOm	?N BCOm	?N Di  Dm  Dm  nq  Dr  CsOm	?NsOm	?P 88Qm	?P 9IQm	?P JpIsIst}I~HQm	?P @AQm	?P Bh  Bl  Bl  mx  By  AzQm	?Pz$Qm	?R %F$I$I)$T#USm	?R VWSm	?R X~  XB  XB  CF  XG  WHSm	?R HISm	?R Jp  Jt  Jt  ux  Jy  IzSm	?Rz Sm	?T !B E Eo VWUm	?T XYUm	?T ZD  ZH  ZH  IU  ZV  YWUm	?T WYUm	?T ZD  ZH  ZH  IT  ZU  YVUm	?TV&Um	?V 'O&R&RSl&m%nWm	?Vo,Wm	?X -W,Z,Z[d,e+fYm	?X ghYm	?X iX  i\  i\  ]`  ia  hbYm	?X bcYm	?X dS  dW  dW  X[  d\  c]Ym	?X]Ym	?Z BB[m	?ZC#[m	?\ $D#G#G#T"U]m	?\ VW]m	?\ X  XC  XC  DM  XN  WO]m	?\ OP]m	?\ Q}  QA  QA  BE  QF  PG]m	?\ GH]m	?\ Iu  Iy  Iy  z}  I~  H]m	?\ A]m	?\ Bh  Bl  Bl  mv  Bw  Ax]m	?\ xy]m	?\ ze  zi  zi  jm  zn  yo]m	?\ op]m	?\ q\  q`  q`  ad  qe  pf]m	?\f]m	?^ <??IJ_m	?^K_m	?` HKKHUVam	?` WXam	?` YB  YF  YF  GM  YN  XOam	?`O$am	?b %N$Q$QRc$d#ecm	?b fgcm	?b hQ  hU  hU  Vj  hk  glcm	?b lmcm	?b nW  n[  n[  \s  nt  mucm	?bu$cm	?d %W#Wem	?dX#em	?f $D#G#G#T"Ugm	?f VWgm	?f X  XC  XC  DM  XN  WOgm	?f OPgm	?f Q}  QA  QA  BE  QF  PGgm	?f GHgm	?f Iu  Iy  Iy  z}  I~  Hgm	?f Agm	?f Bh  Bl  Bl  mv  Bw  Axgm	?f xygm	?f ze  zi  zi  jm  zn  yogm	?f opgm	?f q\  q`  q`  ad  qe  pfgm	?ffgm	?h <??IJim	?hKim	?j HKKHUVkm	?j WXkm	?j YB  YF  YF  GM  YN  XOkm	?jO$km	?l %N$Q$QRc$d#emm	?l fgmm	?l hQ  hU  hU  Vj  hk  glmm	?l lmmm	?l nW  n[  n[  \s  nt  mumm	?lu$mm	?n %W#Wom	?nX"om	?p #B"E"EFY"Z![qm	?p \^qm	?p _~  _B  _B  CL  _M  ^Nqm	?p NOqm	?p Pt  Px  Px  y|  P}  O~qm	?p ~qm	?p @d  @h  @h  il  @m  nqm	?p nuqm	?p v[  u\qm	?p\qm	?r #&&y12sm	?r 34sm	?r 5H4K4KC4P3Qsm	?r RSsm	?r TgSjSjknSoRpsm	?r qxsm	?r yM  xNsm	?rNsm	?t 588ABum	?t CDum	?t E]D`D`amDnCoum	?tp+um	?v ,C+F+Fy+Q*Rwm	?v STwm	?v UlToTopvTwSxwm	?vywm	?x ??ym	?x@ym	?z 5889MNO{m	?zP {m	?| !8 ; ;<S TU}m	?|V#}m	?~ $;#>#>?Y#Z"[m	?~\m	?@ =@@JKAm	?@ LMAm	?@ NlMoMopvMwLxAm	?@y$Am	?B %J$M$Mh$W#XCm	?BYCm	?D :==>RSTEm	?D UVEm	?D WuVxVx  zQ  WR  VSEm	?D STEm	?D Us  Uw  Uw  xR  US  TTEm	?DT;Em	?F <[;^;^_h;i:jGm	?F klGm	?F mL  mP  mP  QW  mX  lYGm	?FY"Gm	?H #K!KIm	?HL=Im	?J >d=g=ghq=r<sKm	?J tuKm	?J v\  v`  v`  ag  vh  uiKm	?Ji$Km	?L %T#TMm	?LUMm	?N !/ 2 2< @ FBKKHU[Y[``aghiOm	?NjOm	?P (++H56Qm	?P 7?Qm	?P @U?X?XYc?d>eQm	?PfQm	?R (++I67Sm	?R 8DSm	?R EeDhDhisDtCuSm	?R vwSm	?R xX  x\  x\  ]g  xh  wiSm	?R ikSm	?R lL  lP  lP  QZ  l[  k\Sm	?R\Sm	?T ,//	:;Um	?T <=Um	?T >L=O=OP\=]<^Um	?T _dUm	?T esdvdv  xC  eD  dEUm	?T ENUm	?T Oi  Om  Om  nB  OC  NDUm	?TDUm	?V 7::8DEWm	?V FGWm	?V HaGdGdekGlFmWm	?Vn#Wm	?X $F"FYm	?XG"Ym	?Z #<"?"?@R"S!T[m	?Z UV[m	?Z WpVsVs  uJ  WK  VL[m	?Z LM[m	?Z Ng  Nk  Nk  lD  NE  MF[m	?ZF[m	?\ 588BC]m	?\ DE]m	?\ F]E`E`agEhDi]m	?\j#]m	?^ $D"D_m	?^E"_m	?` #:"="=>P"Q!Ram	?` STam	?` UlToTo  qF  UG  THam	?` HIam	?` Ja  Je  Je  f~  J  I@am	?`@am	?b ;>>wGHcm	?b IJcm	?b KpJsJs  uA  KB  JCcm	?bCcm	?d .11(;<em	?d =Eem	?d FaEdEdeoEpDqem	?drem	?f .11)<=gm	?f >Jgm	?f KqJtJtu  KA  JBgm	?f BCgm	?f Dj  Dn  Dn  o|  D}  C~gm	?f ~@gm	?f Ag  Ak  Ak  lx  Ay  @zgm	?fzgm	?h *--i89im	?h :;im	?h <P;S;STW;X:Yim	?h Z[im	?h \p[s[stw[xZyim	?hzim	?j 033I>?km	?j @Akm	?j BWAZAZ[fAg@hkm	?jikm	?l 9<<XFGmm	?lHmm	?n 699(CDom	?n EFom	?n GdFgFghnFoEpom	?nqom	?p ?BB8LMqm	?p NOqm	?p PrOuOuv|O}N~qm	?pqm	?r EEsm	?rFsm	?t 588BCum	?tDum	?v 033ODEwm	?v FGwm	?v HeGhGhiuGvFwwm	?v xzwm	?v {X  {\  {\  ]h  {i  zjwm	?vjwm	?x ;>>xHIym	?x JKym	?x LiKlKlmsKtJuym	?xv#ym	?z $E"E{m	?zF"{m	?| #@"C"CDY"Z![}m	?| \]}m	?| ^{]~]~  @X  ^Y  ]Z}m	?| Z[}m	?| \y  \}  \}  ~Y  \Z  [[}m	?|[}m	?~  ;>>yIJm	?~ KLm	?~ MhLkLklwLxKym	?~zm	?@ 699)DEAm	?@ FGAm	?@ HeGhGhilGmFnAm	?@ opAm	?@ qN  qR  qR  SV  qW  pXAm	?@ X_Am	?@ `~  _Am	?@Am	?B 9<<YGHCm	?B IJCm	?B KiJlJlmxJyIzCm	?B{Cm	?D ?BB8LMEm	?DNEm	?F <??IJGm	?F KLGm	?F MmLpLpqwLxKyGm	?FzGm	?H  EHHRSIm	?H TUIm	?H V{U~U~  @F  VG  UHIm	?HH!Im	?J "K KKm	?JL%Km	?L &G%J%J9%U$VMm	?L WXMm	?L Y  YC  YC  DG  YH  XIMm	?L IJMm	?L Kq  Ku  Ku  vy  Kz  J{Mm	?L{Mm	?N 99Om	?N :JOm	?N KrJuJuv  KA  JBOm	?N BCOm	?N Dk  Do  Do  p{  D|  C}Om	?N}Om	?P 366yABQm	?P CDQm	?P EaDdDdehDiCjQm	?P klQm	?P mI  mM  mM  NQ  mR  lSQm	?PSQm	?R 255h?@Sm	?R ACSm	?R DTCWCWXaCbBcSm	?R deSm	?R f{e~e~  @C  fD  eESm	?R EFSm	?R G\  G`  G`  ad  Ge  FfSm	?RfSm	?T 7::;NOPUm	?T QSUm	?T TmSpSpqzS{R|Um	?T }~Um	?T ]  a  a  be  f  ~gUm	?T ghUm	?T iG  iK  iK  LO  iP  hQUm	?TQUm	?V 11Wm	?V2Wm	?X *--i89Ym	?X :;Ym	?X <S;V;VWZ;[:\Ym	?X ]^Ym	?X _v^y^yz}^~]Ym	?X@Ym	?Z #&&':;<[m	?Z =>[m	?\ 7~_ ` &D%Ir"'-2$A$GR!'G'M2$#?#E2 #% $2O2S2ST\2]2cacd3#''&/3&ddzz"@AGR$NOUSU$NOUSU#ZZ(\]cac **%PQWUW"(**-["\"b`bJJ[\b`b 	+ JJRSYWY 	( 3667JKQr
$++A A " A"?"C"CDX"Y!ZA[(A)F)J)JK[)\)b`b(g(ght(u'vAwA 8;;LIJAKA :==>PQR	AS"	A
 #-.."A!BA
CA )nnZ89A:A ;??IORPQARA   = A A* M SQSTUAV(A )5(8(8(B'CAD)A *8););I)F(GAH)A *8););I)F(GAH2A 3E2H2H2S1TAU*A +:*=*=i*H)IAJ2A 3J2M2Mh2W1XAY3A 4K3N3Ny3Y2ZA[9A" 255h?@#A" AB#A$ 255jAB%A$ CD%A& 255i@A'A&B1'A* /228<=+A* >?+A, /22:>?-A, @A-A. /229=>/A. ?@/A	
4 !7;;<LMSQS,00:@bN&&155oFG H$$2$6$67M$N#O P%%3%7%78W%X$Y Z00>0B0BCe0f/g h//=/A/ABc/d.e f77	
 %'!(%,,_ _  _599*EF_G_8<<]KL_M_ 9<<]KL_M_ >AABTUV	_W	_
 <??@WXY_
Z_ @CCD\]^___ @CCD\]^__0_ 1R0U0UV|0}/~_'_ (I'L'LMb'c&d_ ef_ 1445MNO_P1_ 2_0__ `a_ 1445MNO_P_ <??MN_O_  ADDEVWX_Y!_ "C!F!FGZ![ \_ ]^_	
$  377EK%%-11/BC D'':'>'>?a'b&c d !4!8!89Y!Z!`^` e efp qr s&':'>'>'O'USU&Z&Z[u&v%w x$%8%<%<]%K%Qr$V$VWq$r#s t1556STZXZ__`jkl m&&9&=&=>V&W%X Y--@-D-DEd-e,f g,,?,C,CDb,c+d e33F3J3JKp3q2r sFF	
 ";!>!>?Q!R!XVX!%%7;;OLM N599:NOP Q%%?%C%CD[%\$] ^**D*H*HIi*j)k lF	F	
 *C)F)FG`)a)geg&):>>{KQr 	.H$LL)ABHb .8+OOH-.	. 	%%?CCOTU V9==iHI J!!$(!3!:s ; <%%G%K%KLc%d$e f**L*P*PQq*r)s t^^	
 %>$A$ABW$X$^\^!$%%:>>OP Q8<<]KL M9==>STU V!!$*G*K*KL_*`*fdf!g!nkn o p%%B%F%FG^%_$` a**G*K*KLl*m)n oTT		
 -F,I,IJf,g,mkm),%%BFFWX Y@DD]ST U<@@KL MAEEF[\] ^!!$*O*S*STg*h*nln!o!vsv w x%%J%N%NOf%g$h i**O*S*STt*u)v wkk
	
 *C)F)FG`)a)geg&)%%?CCOTU V=AA-PQ R9==iHI J>BBCXYZ [!!$*L*P*PQd*e*kik!l!sps t u%%G%K%KLc%d$e f**L*P*PQq*r)s tmm
	
 *C)F)FG`)a)geg&)%%?CCOTU V=AA-PQ R=AABVWX Y9==iHI J>BBCXYZ [!!$*L*P*PQd*e*kik!l!sps t u%%G%K%KLc%d$e f**L*P*PQq*r)s t|	|	
 '@&C&CDZ&[&a_a#&%%<@@QR S:>>}MN O:>>?STU V;??@UVW X!!$*I*M*MNa*b*hfh!i!pmp q r./NOP Q%%D%H%HI`%a$b c**I*M*MNn*o)p qX	X	
 3L2O2OPq2r2xvx/!%%&OPVTV 9 3%%HLL_]^ _FJJ=YZ [FJJK_`a bBFFyQR SGKKLabc dQUUVstu vNRRSvwxxy  {o  {s  {s  tC  {D  zE EQUUVijk l!!$*U*Y*YZm*n*trt!u!|y| } ~./Z[\ ]%%P%T%TUl%m$n o**U*Y*YZz*{)| }qq	
" 	"%%&PQWUW : 	"%%&XY_]_ C =%%} }  }RVVWfgh}i}PTTUbcd}e} QTTUijk}l} MPPQZ[\	}]	}
 RUUVklm}
n} \__`}~}@} Y\\  ^A  B  C} CD} EC  EG  EG  HW  EX  DY}Y} \__`stu}v} xxMQQRghnlnovsvw}x!} "%*_*c*cdw*x*~|~!  "G  DG  !H}H'} xxMQQRopvtvw~{~}@,} -b,e,e  gE  -F  ,G}G} //def}g%}  &[%^%^_v%w$x!} y*!}" +`*c*c  eE  +F  *G#}"G}#}	
, 	"%%&YZ`^` E 	"%%&abhfh N H%%m m  m]aabqrsmtm[__`mnompm \__`tuvmwm X[[\efg	mh	m
 ]``avwxm
y"m $d#g#ghu#v#|z|  #B  #B  CL  #M  "NmN"m xxY]]^pqwuw||  ~N  O  U  SU  V  ]  Z]  ^m^m gjj  lI  J  KmKm dgg  iL  M  Nm NOm PY  P]  P]  ^m  Pn  Oomom gjjk~  AmAm xxX\\]rsywyz  B  B  CmC!m "%*j*n*n  pC  +D  +J  HJ  "K  "R  OR  !SmS'm  xxX\\]z{  B  @B  C  J  GJ  K!m K,!m" -m,p,p  rP  -Q  ,R#m"R#m$ //opq%m$r%%m& &f%i%i  kB  &C  %D'm&D*'m( +k*n*n  pP  +Q  *R)m(Rm)m	
2 	"%%&bcigi P 	"%%&jkqoq Y S%%D D  Dhllm|}~DDfjjkxyzD{D gjjk  A  BDBD cffgpqr	Ds	D
 hkk  mB  C  DD
D"D $o#r#r  tA  $B  $H  FH  #M  #M  NW  #X  "YDYD ruu  wT  U  VDVD orr  tW  X  YD YZD [o  [s  [s  tC  [D  ZEDED ruu  wJ  K  LDLD xxcggh}~  E  CE  F  M  JM  NDN!D "%*u*y*y  {N  +O  +U  SU  "V  "]  Z]  !^D^'D xxcgg  iF  G  M  KM  N  U  RU  VDV,D -x,{,{  }[  -\  ,]D]D  //z{|!D }%!D" &q%t%t  vM  &N  %O#D"O*#D$ +v*y*y  {[  +\  *]%D$]D%D	
. 	"%%&`ageg O 	"%%&hiomo X R%%} }  }gkkl{|}}~}eiijwxy}z} fiij~  A}A} beefopq	}r	}
 gjj  lA  B  C}
C"} $n#q#qr  $A  $G  EG  #L  #L  MV  #W  "X}X} qtt  vS  T  U}U} nqq  sV  W  X} XY} Zm  Zq  Zq  rA  ZB  YC}C} qtt  vI  J  K}K} xxbffg|}  D  BD  E  L  IL  M}M!} "%*t*x*x  zM  +N  +T  RT  "U  "\  Y\  !]}]'} xxbff  hE  F  L  JL  M  T  QT  U}U(} )s(v(v  xV  )W  (X}X}  //yz{!} |%!}" &p%s%s  uL  &M  %N#}"N*#}$ +u*x*x  zZ  +[  *\%}$\}%}	
. 	"%%&dekik T 	"%%&lmsqs ] W%%e e  eimmn~  AeAelpp  rA  B  CeCe knno|}~ee knn  pD  E  F	eF	e
 gjjktuve
we loo  qF  G  HeH"e $s#v#v  xE  $F  $L  JL  #Q  #Q  R[  #\  "]e]e vyy  {X  Y  ZeZe svv  x[  \  ]e ]^e _w  _{  _{  |K  _L  ^MeMe vyy  {N  O  PePe xxgkk  mB  C  I  GI  J  Q  NQ  ReR!e "%*y*}*}  R  +S  +Y  WY  "Z  "a  ^a  !beb'e xxgkk  mJ  K  Q  OQ  R  Y  VY  ZeZ(e  )x({({  }[  )\  (]!e ]!e" //~  A#e"A%#e$ &u%x%x  zQ  &R  %S%e$S*%e& +z*}*}  _  +`  *a'e&ae'e	
. 4  !
KOOPVW][]!
 
 #& &
FJJ6RXVX&
 #
  ?CCFKQr 	C!hh '"ww'?@FB'     %%776?#1SWW]%;$<Ao=N O WW%<=>@	 	%%IMMo^_ `GKKMZ[ \!!$*V*Z*Z[n*o*usu!v!}z} ~ ''*xx0\0`0`a~0  1F  DF  (G  (N  KN  'O O!!%+=!>!E# F G./[\] ^**V*Z*Z[{*|)} ~--a-e-efs-t,u v!U!Y!YZm!n!trtu|y|} ~+, -,,[,_,_`m,n+o p!P!T!TUh!i!omopwtwx y  34cew xy z01 2__	
$	 '
U &?%B%B3%G%M2"% NN.223EF$N }
 EE.223EF$N d 77.223EF$N \ f  #))'>.22?CIrNNxXY Z599)DE F!!;!?!?!P Q R##=#A#ABX#Y"Z [))C)G)GHd)e(f g$$>$B$BCU$V#W X&&@&D&DEW&X%Y Z&'A'E'Em'T'ZXZ&_&_`i&j%k l&887;;<NOUSUZZ[klrprszwz{ |%%?%C%CDZ%[$\\^, 3'P $& "-112WX^\^7;;<jkqoq6::;STZXZ!hh '
'++,@AGR'
 
   	 	%++U U  U:>>?YZ[U\U3778QRSUTU 9<<_MNUO#U $?#B#BC[#\"]	U^)	U
 *E)H)HId)e(fU
g(U )D(G(GHe(f'gUh%U &A%D%DE_%`$aUbU  033NCDU EGU HXG[G[\hGiFjUk-U .>-A-ABR-S,TUU,U -=,@,@AR,S+TUU"U ^n]q]q  sD  ^E#((+;+?+?@Q+R+XVX"Y  KQ  "RUR'U (;&;U<!U "=!@!@AW!X YUZ U 6= 1&IUJ U @Q): ;V\]U^2U  3N2Q2QRz2{1|!U }!U"  ;>>?PQR#U" ST#U	
( $$5%))*BAFG H/334RTUVW X)--.PRSTU V.%))*TUV W/334[\]]^`	
 /334GHNB##  0 4 45K LM N  0 4 45K LM N''7';';<Y'Z&[ \''7';';<Y'Z&[ \00@0D0DEg0h/i j..>.B.BCc.d-e f..B.F.FGg.h-i j88L8P8PQ{8|7} ~--A-E-EFe-f,g h11E1I1IJm1n0o p55I5M5MNu5v4w x66J6N6NOw6x5yyz|	
 (,,->?E2)--o>D")--.FGM2##J J  J#''./J0J&**845J6"J #3"6"67K"L!MJN$J %5$8$89S$T#U	JV 	J
 !1 4 45K LMJ
N J !1 4 45Q RSJT&J '7&:&:;_&`%aJbJ *--.FGHJI(J )6(9(9:X(Y'ZJ[,J -:,=,=>`,a+bJcJ -00@AJB$J %3$6$67P$Q#RJS*J +9*<*<=W*X)YJZ&J  ##$567J 8:J ;K:N:N:_9`JaJ   0334EFG!J  HI!J	
& -/)#377FL"-449==oNO P&&B&F&FG_&`%a b))E)I)IJe)f(g h00L0P0PQs0t/u v%%1%5%56M%N$O P&&2&6&67O&P%Q R))5)9)9:U)V(W X55A5E5EFm5n4o p55A5E5EFm5n4o p..1hh7S7W7WXx7y7}  /A  /K  EK  .L L;??@QRSSTV	
 !+//0BCIr	*../@AGR&&L&**+DEF G0!45_Y]]SdfgEhDiiv}}8!<==j&**845R8O8S8ST\8]7^ _/344DX\\RhjkElDmm}||:A>? @((05OQR(S'T U))@)D)DE`)a(bbce
	
 #%(,,-EFL"#**P P / P/23I3M3MNl3m3sqs/t.uPv'P'*+A+E+EF\+]+cac'd&ePf'P (++A+E+EF\+]+cac'd&ePf-P .11G1K1KLh1i1omo-p,q	Pr	P
 3667IJKP
L0P 1G0J0JKm0n/oPp(P )?(B(BC](^'_P`4P 5K4N4NOu4v3wPx(P )?(B(BC](^'_P`.P /E.H.HIi.j-kPl4P 5K4N4NOu4v3wPxCP &))*_`aPb-P .D-G-GHg-h,iPj;P  &))*WXY!P Z;!P$ &))*WXY%P$Z&%P& '.kk2C&D%E'P&F%'P( &<%?%?@W%X$Y)P(Z)P* 144\BC+P*D++P. xx.223RSYWYZa^ab/P.c$/P0 %((>(B(BCT(U([Y[$\#]1P0^1P2  699:KLM3P2 NO3P	
8 %'!#%,,&&B&F&FG_&`%a b..J.N.NOo.p-q r00L0P0PQs0t/u v00L0P0PQs0t/u v..J.N.NOo.p-q r44P4T4TU{4|3} ~::V:Z:Z  \H  ;I  :J J//K/O/OPq/r.s t33O3S3STy3z2{ |;??@QRSSTV	
  %%!!.!2!23F!G H I$$1$5$56O$P#Q R+//0CDE F00=0A0ABd0e/f g,001BCDAG	
  "(,,-?@FB	'++,=>D" 4 8 89N O USU 4 8 89N O USU ''!!*z!: ;6)--P[B\A] ^  (Z 89[@Y?Z [++@+D+D_+U*V W++@+D+D_+U*V W/33MBC1F	
 ! 
-11)<B
 
  
-11)<B
 
 	 &&.229=CDE F%%5$6 7'':'>'>?X'Y&Z [**:); <((;(?(?@Z(['\\]_	
 ""'++J78@S@ST_@`?a b  / 3 34F GH I&&5&9&9:R&S%T U--<-@-@A`-a,b c''6':':;T'U&V W((7(;(;<V(W'X Y((7(;(;<V(W'XXY[		
  (,,Z8>BultuuT8TT	  _( __%%:8}oQ$(()<=>>Q$(()<=> ?((8'9i[ Q""4!5 64889JKLAO	
 $(():;Ar++m,4a8""%%,[[1H%I$J)zz-()6::>P3Q2R S##)::.>#?"@@X

;<BGGVW X%&,jj1Q&R&XVX%]%]^k%l$m n!++l34 5//6{{;\/].^ _xx$<=CDKL M$$'4E(F(L"$M#N O#KK(:;i?Q?U?UVh?ij k##*;;/@#A#nEWE[E[\mEn"oopr	
 &599-HNB599-HNB""++I+M+MNy+z*{{|-112LMN O""@"D"DEc"d!e f%))*56 7  , 0 01H IJ K$$0$4$45O$P#Q R&**=9: ;""."2"23E"F!G H**H*L*LMi*j)k l8<<\JK Lxx6::;XY_]_`gdgh i$$'(F(J(JK\(](cac$d#e f:>>?QRS T=AABSTUUVX	
$ &""((F(J(JKe(f'ggh-11+>? @**H*L*LMi*j)k l((F(J(JKe(f'g h##A#E#EF[#\"] ^8<<\JK Lxx6::;YZ`^`ahehi j$$'(F(J(JK\(](cac$d#e f:>>?QRS T=AABSTUUVX	
 &("&---11*=> ?((=(A(AB\(]'^ _((=(A(AB\(]'^ _4889JKL MYY	
  " ''O O ! O!6!:!:;N!O POQ&O '<&?&?@X&Y%ZO['O (='@'@AZ'[&\	O]/	O
 0E/H/HIj/k.lO
m$O %:$=$=>T$U#VOW(O )>(A(AB\(]'^O_1O 2G1J1JKn1o0pOq5O 6K5N5NOv5w4xOy*O +@*C*CDp*q)rOs*O +@*C*CD`*a)bOc,O -B,E,EFd,e+fOg0O 1F0I0IJl0m/nOo0O 1F0I0IJl0m/nOoO 033LABOCO" xx-112OPVTVW^[^_#O"`$#O$ %((=(A(ABS(T(ZXZ$[#\%O$]%O& 2556HIJ'O&K'O(  5889JKL)O( MN)O	
. "".22>BC D.223EFG H55G5K5KLs5t4u v&&8&<&<=U&V%W X,00>? @$$'HH-?-C-CD\-]-cac$d$khk#l m$$'(:(>(>?P(Q(WUW$X#Y Z""4"8"89M"N!O P.223DEF G0445HIJ!
M	
 ""Z Z  Z*..|<=Z>Z,001CDEZF"Z #3"6"67K"L!MZN%Z &6%9%9:Q%R$S	ZT4	Z
 5E4H4HIo4p3qZ
r.Z /?.B.BCc.d-eZf/Z 0@/C/CDe/f.gZh)Z *:)=)=>Y)Z([Z\7Z 8H7K7KLu7v6wZx9Z :J9M9MNy9z8{Z|-Z .>-A-ABa-b,cZd:Z ;K:N:NO{:|9}Z~BZ CSBVBV  XL  CM  BNZN&Z '7&:&:;S&T%UZVZ +..|<=Z>$Z  %(HH-=-A-ABZ-[-a_a$b$ifi#j!Z k$!Z" %((8(<(<=N(O(USU$V#W#Z" XY#Z	
(  ##"";"?"?@T"U!V W599:LMN O"";"?"?@T"U!V W**C*G*GHd*e)f g--F-J-JKj-k,l m//H/L/LMn/o.p q//H/L/LMn/o.p q8<<=NOPPQS
	
 &("$&--W W / W/L/P/PQr/s.tWu1W 2O1R1RSv1w0xWy2W 3P2S2STx2y1z	W{)	W
 *G)J)JKf)g(hW
i:W ;X:[:[  ]I  ;J  :KWK@W A^@a@a  cU  AV  @WWW7W 8U7X7X  ZC  8D  7EWE4W 5R4U4UV|4}3~WBW C`BcBc  eY  CZ  B[W[.W /L.O.OPp.q-rWs/W 0M/P/PQr/s.tWu,W -J,M,MNl,m+nWoW 8;;LIJWK.W /2hh7T7X7XY{7|  8C  AC  /D  .EWE$W  %((E(I(IJ[(\(b`b$c#d!W e!W" :==>PQR#W"S#W$  =@@ARST%W$ UV%W	
* #&--4889JKQrVVWefh i**E*I*IJf*g)h i00K0O0OPr0s/ttu*../IJK L24O4S4STe4f4ljl3q3q  sW  4X  2Z Z""="A"ABV"W!X Y&&A&E&EF^&_%` a599,GH I,,/HH5P5T5TUu5v5|z|,}+~ $$'(C(G(GHY(Z(`^`$a#b c7;;<NOP Q:>>?PQRRSU	
    155jAB C"";"?"?@T"U!V W2667JKL M00I0M0MNp0q/r s22K2O2OPt2u1v w--F-J-JKj-k,l m))B)F)FGb)c(d e##<#@#@AR#S"TTUW
	
 .223FGM2#.QB  ((@(D(DE_(`'a b$$<$@$@AW$X#Y Z%%=%A%ABY%Z$[ \**B*F*FGc*d)e f**B*F*FGc*d)e f%zz.9: ;#ZZ78;		
 !!!!4!8!89L!M N O&&9&=&=>V&W%X Y33F3J3JKp3q2r s--@-D-DEd-e,f g((;(?(?@Z(['\\]_	
 &(""/33J?E2	aYaa&--488EF G01 2$$?$C$CDZ$[#\ ]))D)H)HId)e(f g//J/N/NOp/q.r s""="A"ABV"W!X Y599,GH I..1hh7R7V7VWy7z  8A  A  /B  .C C$$'(C(G(GHY(Z(`^`$a#b c7;;<NOP Q:>>?PQRRSU	
 /334JKQr$$` `@ `!!"24J4N4NO_ab4cde` fA`!!"4a89`9P` !!"?CD`E0`
 !!"BAFG`
 HI` !!"JANO`P"` zz.,,-YZ`^`lp  ~H  I  J` JK` zz.,,-abhfhtx  FP  Q  R`R%` !!"A1EF` GH` !!"LaPQ` RS` !!"NOP` QS` !!"6:;` <X` !!"91=>`?-`" .<-?-?@_awa{a{  }\  b]  .^  -_#`"_#`$ 144\BC%`$D0%`( xx.223WX^\^_fcfg)`(h$)`* %((>(B(BCT(U([Y[$\#]+`* ^_+`	
0 %'!%7;;<RSYWY%,,l la l!!"24R4V4VWgij4klmlnl+//0CDElFl ""#:;@q^EWEWXoEpEutuvw	lx	l
 +../ABCl
Dl +../ABClD*l +9*<*<=]*^)_l`(l )7(:(:;Y(Z'[l\+l ,:+=+=>_+`*alb l !/ 2 23I JKlL(l )7(:(:;Y(Z'[l\#l $2#5#56S#T"UlV5l 6D5G5GHs5t4ulv6l 7E6H6HIu6v5wlx<l =K<N<NO}<~;l@1l  2@1C1CDg1h0i!l  jk!l	
& !#!3778NOUSU/33K@FB
!((j jd j!!"24N4R4RScef4ghijjj#01j12j3=>>(3K2LjLMjNXnn]jNkMljmj ,//0CDEjFj ,//0CDE	jF	j
 -001EFGj
Hj ""#:;@q^EWEWXoEpEutuvwjxj +../ABCjDj +../ABCjDj ,//0CDEjFj ""#9:?aNDVDVWmDnDsrstujvj ),,-=>?j@j (++O<=j>%j &4%7%78S%T$UjV0j  1?0B0BCe0f/g!j  hi!j	
& (*$#+//7=2(//V V  V044V<=V>VHHSM?V"#V$(HHSM?V3V 588GHVIV 7::<HI	VJ!	V
 ">!A!ABU!V WV
XV 033J?@VAV 7::<HIVJV 9<<=NOPVQV :==oNOVPV 699.IJVKV "hh'C'G'GHX'Y'_]_`aVbV "hh'C'G'GHX'Y'_]_`jdjkVlV  <??@QRSVTV ;>>?OPQVRV ;>>?OPQVRV  7::<HI!V J0!V$ xx4889]^dbdelilm%V$n$%V& %((D(H(HIZ([(a_a$b#c'V&d'V( 9<<=OPQ)V(R)V* 7::<HI+V*J+V,  <??@QRS-V, TU-V	
2 %'!##""9"="=>R"S!T U))@)D)DEc)d(e f**A*E*EFg*h)i j**A*E*EFf*g)h i))@)D)DEd)e(f g++B+F+FGh+i*j0445[\b`bcjgjk l**A*E*EFf*g)h i,,C,G,GHj,k+l m++.884K4O4OPp4q4wuw+x+|  +A A22I2M2MNr2s1t u,,C,G,GHf,g+h i55L5P5PQx5y4z {((?(C(CD^(_'``ac	
" )+%.223NOUSU.223EFL")00.22=AB C.22=AB C7;;<PQR S77O7S7ST}7~6 @&??+@AB C*~>? @##.??3H#I"J K77B  HK  8L  7M M7;;<MNOq	R	
 pLp
	 mm$9:@bG%kk*FGOB4QRSN!(("9==#?#E2FG H";;}56 7  ',< => ?  'M :; <$$+KK0G$H#I J#--(=>? @(}}-EFG H##,==1K#L"M N!!/!3!3G!< = >''5'9'9+'F&G H67  %%)--.ABC D*../EFG H+//0GHI J1556IJK L*../GHILaLeLe  gB  MC  LD D1556IJK L""7";";<U"V!W X!!6!:!:;R!S T U((+1F1J1JKe1f1ljl(m'n o!!6!:!:;\!] ^ _1556GHI J3778KLM N4889JKLAO	
  #% ,//8>B
 HH/0$6
 
 YYv$"YYv$"#**88$7$;$;<L$M$SQSTU V--@-D-DEd-e,f g..A.E.EFf.g-h i%%8%<%<=T%U$V W&&9&=&=>V&W%X Y))+0@)A(B!BFFK^D_C``abdbhbhi~b  bA A))+0@)A(B!BFFK^D_C``abdbhbhi~b  bA  ABC		
 $& $++155oFG H  4 8 89K LM N  4 8 89K LM N-11+>? @3778IJK1N	
 $& $++2667GHI J//C/G/GHi/j.k l'';'?'?@Y'Z&[ \//C/G/GHi/j.k l88$8$<$<=M$N$TRTUVVWY	
 $& "5"9"9:Y"Z"`^`0445[\b`b*=*A*ABh*i*omo'##$UV\Z\ 	- 	%++BM BM  BM!"5"9"9:J"K"QrRSBMTBM !4!8!89[!\!b`bcdBMeBM  ##6#:#:;L#M#SQSTUBMV"BM #6"9"9:_"`!a	BMb$	BM
 %8$;$;<`$a#bBM
c&BM ':&=&=>a&b%cBMd&BM ':&=&=>n&o%pBMq(BM #&&'^_`BM abBM #&&'hijBM klBM #&&'^_`BMa&BM ':&=&=>l&m%nBMo%BM &9%<%<=_%`$aBMb%BM &9%<%<=_%`$aBMb.BM /B.E.EFj.k-lBMm.BM  /B.E.EFj.k-l!BM m0!BM" 1D0G0GHq0r/s#BM"t1#BM& #&&'`ab'BM& cd'BM( #&&'jkl)BM( mn)BM* #&&'`ab+BM*c/+BM, 0C/F/FGw/x.y-BM,z/-BM. 0C/F/FGr/s.t/BM.u/BM0 .11,?@1BM0A"1BM2 #6"9"9:N"O!P3BM2Q%3BM4 &9%<%<=T%U$V5BM4W&5BM6 ':&=&=>V&W%X7BM6Y#7BM8 $'88,?,C,CD[,\,b`b#c#jgj"k9BM8l$9BM: %((;(?(?@Q(R(XVX$Y#Z;BM:[*;BM< +>*A*ABj*k)l=BM<m)=BM> *=)@)@Aa)b(c?BM>d?BM@  7::;PQRABM@ STABMB xx/334FGM2NURUVCBMBW$CBMD %<$?$?@T$U#VEBMDW"EBMF #:"="=>`"a!bGBMF cdGBMH '**+MNOIBMHP&IBMJ '>&A&ABv&w%xKBMJy*KBML +B*E*EFt*u)vMBMLw(MBMN )@(C(CDT(U'VOBMNW*OBMR "%%&=>?SBMR @ASBMT "%%&DEFUBMT GHUBMV "%%&OPQWBMVR1WBMZ "%%&PQR[BMZS6[BM\ 7I6L6LMd6e5f]BM\g]BM^  ?BBCXYZ_BM^ [\_BM` xx7;;<NOUSUV]Z]^aBM`_$aBMb %D$G$GH\$]#^cBMb_!cBMd "A!D!D]!S TeBMd UVeBMf /223EFGgBMfHgBMj LkKnKnozK{266GG  BG  HkBMjH kBMl !@ C CDb cdmBMle"mBMn #B"E"EFh"i!joBMn kloBMp /223UVWqBMpX(qBMr )H(K(KL\(]'^sBMr_%sBMt &J%M%Mm%\$]uBMt ^_uBMv 4778JKLwBMvM#wBMz QuPxPx  zE  QF7;;OLL  LQ  R{BMzR${BM| %I$L$LMk$l#m}BM|n,}BM~ -Q,T,TUe,f+gBM~h,BM@ -@,C,CDb,c+dABM@eABMB 0334FGHCBMBICBMD  3667HIJEBMD KLEBMD	
J "$"))-11-@A B"xx(:(>(>?P(Q(WUWXY Z''9'='=>W'X&Y Z,,>,B,BCa,b+c d&&8&<&<=e&f%ggh!%%&GHI J--0XX6H6L6LMo6p6vtv-w,x y$$6$:$:;a$b#ccd!%%&EFGq	J	
 &("-112QRXVX2667IJPb&--"xx(>(B(BCT(U([Y[\] ^00F0J0JKm0n/o p**@*D*DEa*b)c d11G1K1KLo1p0q r""3"7"78P"Q!RRS $$%789 :-112DEF G##4#8#89R#S"T U00A0E0EFh0i/j k!!-!1!1.!A B!LDTDTUeDfCggi/0,2B2BCS2T1U V*../CDEQH	
  !1556IJPb1=\"-3%%#T #T  #T4889IJK#TL#T.223GHI#TJ#T 0334MNO#TP#T 7::;WXY	#TZ 	#T
 !; > >?^ _`#T
a##T $>#A#ABg#h"i#Tj#T 7::;RST#TU!#T "<!?!?@c!d e#Tf##T $>#A#AB^#_"`#Ta#T  :==>ghi#Tj#T  :==>OPQ#TR##T $>#A#AB`#a"b#Tc##T $>#A#AB`#a"b#Tc#T 8;;<TUV#TW"#T #="@"@A^"_!`#Ta#T  588FG!#T H"!#T" #="@"@AZ"[!\##T"]"##T$ #="@"@AZ"[!\%#T$]#%#T& $>#A#ABh#i"j'#T&k '#T* *--.UXrXvXv  xN  YO  YU  SU  XZ  XZ  [B  XC  D  E+#T*E+#T. +../EFL"QQRcde/#T. fg/#T0 +../EFL"QQRcde1#T0 fg1#T2 +../EFL"QQRbcd3#T2e!3#T4 "<!?!?@]!^ _5#T4`#5#T8 xx2667NOUSUV]Z]^9#T8_$9#T: %((B(F(FGX(Y(_]_$`#a;#T:b$;#T< %?$B$BCa$b#c=#T<d&=#T> 'A&D&DE]&^%_?#T>`%?#T@ &)%6$7A#T@8&A#TB '9%9C#TB:C#TD 7::;MNOE#TDPE#TF  :==>OPQG#TF RSG#T%	
L  "! ''377DE F.226:; <044X>? @!!;!?!?@S!T U V  : > >?Q RS T!!;!?!?@S!T U V%%?%C%CD[%\$] ^++E+I+IJg+h*i j9==>OPQQR
T	
 !#!((,,<,@,@A_,`+a b<<L<P<PQ  =A  <B  BC##$GHI J::J:N:NO{:|9}}~##$EFG H((8(<(<=W(X'Y Z33C3G3GHm3n2o p**:*>*>?[*\)]]^`
	
 &("&--((>(B(BC](^'_ `''='A'AB['\&] ^33I3M3MNs3t2u v//E/I/IJk/l.m n599:KLMQP	
 '%,,M.223CQGHHz.223QSTUVVl.223WYZ[\ ]2667]_`abbx.223TVWXYYn.223[]^_`  aPQ	
 %'!%))*<=C%))*CDJ%,,2667KLM N044^DE F"JJ|45 6##)::l#;"< =''-zz2I'J&K L''-zz2I'J&K L--3ZZ8U-V,W X,,@,D,DEc,d+e f--A-E-EFe-f,ggh	j	
 $& "0445[\b`b
88 $
)~~.@AGR$
 
  	 !$ )
)~~.OPVTV)
 !
 ! 	 #&(( +
)~~.MNTRT+
 #
 # 	  	%++F F  F/334DEFFGF0445IJKFLF 2556KLMFN)F *E)H)HIh)i(j	Fk"	F
 #>"A"ABZ"[!\F
]F :==>RSTFU2F 3N2Q2QRv2w1xFy.F /9nn[.I-JFK&F '1nn5G&H%IFJ&F '1nn5G&H%IFJ%F &0^^4I%J$KF LMF N^L^F_(F )>'>F?+F ,C*CFD F !+/@ ABFC F !+/A BCF DEF	
$ %'!,001BCIr+//0@AGR%,,4889OPQ R0445EFG H1556IJK<XdXhXhixXyWz {-11-@Akoo^mNnMo p**?*C*CD`*a)b c,,A,E,EFd,e+f g55J5N5NOv5w4xxy{		
 02,'077?CCDZ[\ ]8<<]KL M$$D$H$HI_$`#a b$$D$H$HI_$`#a b))I)M)MNi)j(k l**J*N*NOk*l)m n?CCDUVWWXZ		
 +-'"+22k k " k"="A"ABV"W!XkY'k'*+F+J+JKd+e+kik'l&mkn'k (C'F'FG`'a&bkc4k 5P4S4STz4{3|	k}%	k +../\]^k _`k +../fghk ijk +../\]^k_#k $?#B#BCg#h"ikj&k 'B&E&EF^&_%`ka&k 'B&E&EF^&_%`ka+k ,G+J+JKh+i*jkk1k &&A&E&EFx&yz{k|(k )D(G(GHb(c'dke(k  )D(G(GHb(c'd!k e-!k" .I-L-LMl-m,n#k"o'#k& +../^_`'k& ab'k( +../hij)k( kl)k* +../^_`+k*a%+k, &A%D%DEk%l$m-k,n--k. .I-L-LMl-m,n/k.o0/k0 1L0O0OPr0s/t1k0u*1k2 +F*I*IJf*g)h3k2 ij3k	
8 &("$&--8<<]KL M&&C&G&GH`&a%b c''D'H'HIb'c&d e,,I,M,MNl,m+n o((#@#D#DE]#^#dbdeffgi	
 .0*%-112GHNB.55 !?!C!CO!T!ZXZ[\ ]00N0R0RSu0v/w x22P2T2TUy2z1{ |88V8Z8Z  \F  9G  8H H//M/Q/QRs/t.u v++./M/Q/QRo/p/vtv+w*x y00N0R0RSu0v/w x,,/0N0R0RSq0r0xvx,y+z {88$678488DZ;[:\ ]**.((3O*P)Q R559XX>e5f4gghj	
 %'!!+//?E2%,,2667MNO P/334MNO P.223CDE F!!;!?!?@`!a b c##=#A#ABd#e"f g9==>jkl m"JJ':;< =6::;UVW X  : > >?[ \] ^//I/M/MNo/p.q r88$>$B$BCS$T$ZXZ[\ ]..H.L.LMm.n-o p%%?%C%CD[%\$] ^9==>OPQQRT	
"  "+//=C)--.DEK	 ''>}}7;<<jH!LM  NCGKL M77L7P7PQz7{6| }##8#<#<=R#S"TTUW	
 ')#!'..\ \  \/334OPQ\R\0445WXY\Z\ 5889\]^\_"\ #="@"@Ah"i!j	\k	\
 4778YZ[\
\\ 5889abc\d\ 4778def\g\ 699:Z[\\]\ 8;;<efg\h\ 7::;cde\f \ !; > >?U VW\X\ 4778`ab\c&\ 'A&D&DE]&^%_\`(\ )C(F(FGa(b'c\d+\ ,F+I+IJg+h*i\j-\  .H-K-KLk-l,m!\ n%!\" &@%C%CD[%\$]#\"^##\$ $>#A#ABW#X"Y%\$ Z[%\	
* &("&--/334GHI J*..~>? @1556TUV W3778QRS T0445TUV W4889\]^ _599:KLMQP		
 ,.(#+//0BCIrxx 67=2.223KLRPR,33{{>23 4$[[56 7599:`ab c!XX&GHI J"hh'Z[\ ]((4(8(89N(O'P Q%))*@AB C'++,NOP Q*../QRS T!!=!A!ABq!r s t4889UVW X599:ghi j##?#C#CDg#h"i j4889YZ[[\^	
"  "! ''H)--.H!LMMj)--.PRSTU Vyy  DF`FdFde{F|  GC  AC  D  D  E E,,F,J,JKe,f+gghj	
 !!C C  C'mm,<=>C?C'mm,<=>C?C  )}}->?@CA-C .7]];Z-[,\	C]$	C
 %.MM2H$I#JC
K/C 09}}=^/_.`Ca,C -6MM:X,Y+ZC[+C ,5==9V+W*XCY,C -6MM:X,Y+ZC[&C '0mm4L&M%NCO-C .7]];Z-[,\C]-C .7]];Z-[,\C]-C .7]];Z-[,\C]/C 09}}=^/_.`Ca0C 1:>`0a/bCcC   )}}->?@!C  AB!C	
& $$**=*A*AB^*_)` a##6#:#:;X#Y"Z [2667PQR S$$7$;$;<Z$[#\ ]$$7$;$;<Z$[#\ ]##6#:#:;a#b"c d//B/F/FGh/i.j k;;N;R;R  TA  <B  ;C C;;N;R;R  TA  <B  ;C C00C0G0GHj0k/l m-11,?@ A&&)hh/B/F/FGa/b/hfh&i&pmp%q r$$'(;(?(?@Q(R(XVX$Y#Z [/334FGHK	
" (*$$(//99V9Z9Z  \G  :H  9I I$$A$E$EFq$r#s t%%B%F%FGs%t$u v33P3T3TUx3y2z {::W:[:[  ]E  ;F  :G  GHI	
 (*$$(//9==>PQR S:>>?RST U9==>PQR S8,001[\]]^,001Z[\\],001def g9,001\]^^_,001[\]]^,001efg h,,001`abbc,001jkl m--J-N-NOn-o,p q11N1R1RSv1w0x y<@@ARSTTU%W	
* ')# .11-@FB
 GGFOS 
 
 $''(CDJ#''(HIOR!!"?@FB$(()IJPb$(()IJPb'..Z Z % Z%;%?%?@Z%[$\Z]"Z"8"<"<=T"U!VZWZ  699:KLMZNZ 2556NOP	ZQ#	Z
 $:#=#=>S#T"UZ
V4Z 5K4N4NOu4v3wZx1Z 2H1K1KLo1p0qZr.Z /E.H.HIi.j-kZl.Z /E.H.HIi.j-kZl'Z (4'7'7'G&HZIZ (++J78Z9'Z (4'7'7'G&HZI&Z '-jj&<%=Z>$Z %2$5$5j$A#BZC$Z %2$5$5j$A#BZC*Z  +..D.H.HIa.b.hfh*i)j!Z k$!Z" %;$>$>?U$V#W#Z" XY#Z	
( ,.("/334DEK	1556KLRPR/334JKQr	3778KLRPR1556QRXVX1556MNTRT2667IJPb599:STZXZ,33mU mU - mU-H-L-LMl-m,nmUomU599,GHmUI'mU xx3778STZXZ[b_bc	mUd$	mU
 %((C(G(GHY(Z(`^`$a#bmU
c0mU 1:>\0]/^mU_0mU 1:>\0]/^mU_)mU *59N)O(PmUQmU $--(=>?mU @AmU }}=>?mU @AmU }}345mU 67mU }}123mU4mU $--(CDEmU FGmU }}>?@mUAmU  )}}-KLMmUNmU  #'KLM!mU N(!mU$ }}<=>%mU$ ?@%mU& }}IJK'mU& LM'mU( }}FGH)mU(I=)mU, }}IJK-mU, LM-mU. }}KLM/mU. NO/mU0 }}OPQ1mU0 RS1mU2 }}QRS3mU2 TU3mU4 }}OPQ5mU4R 5mU8 }}STU9mU8 VW9mU: }}QRS;mU:T;mU> }}RST?mU> UV?mU@ }}abcAmU@ deAmUB }}fghCmUBiCmUF }}NOPGmUF QRGmUH }}XYZImUH [\ImUJ }}Z[\KmUJ ]^KmUL }}NOPMmULQ MmUN !*.V WXOmUNYOmUP +../LMNQmUPOQmUR +../KLMSmURN SmUT !. 1 12S TUUmUT VWUmUV   !CDEWmUVFWmUX  -001QRSYmUX TUYmUZ   !ABC[mUZ DE[mU\   !MNO]mU\P']mU^ (5'8'89i'j&k_mU^ lm_mU`   !\]^amU`_(amUb )6(9(9:c(d'ecmUbfcmUd  -001XYZemUd[,emUh IJKimUh LMimUj HIJkmUj KLkmUl RSTmmUlU-mmUp JKLqmUp MNqmUr IJKsmUr LMsmUt STUumUtV'umUv (37f'g&hwmUv ijwmUx XYZymUx["ymUz #.//-"@!A{mUzB{mU|  ##>#B#BCT#U  $WYtYxYx  zP  ZQ  $W  UW   X  Y}mU|Y}mU~   ; ? ? O USUVWmU~X"mU@ #/"2"23D"E!FAmU@G,AmUB -0HH\5E5EF]5^5dbd,e,lil+mCmUBn#CmUD $0#3#34Q#R"SEmUDT-EmUF .1XXl6F6FGj6k6qoq-r-yvy,zGmUF{!GmUH ".!1!12X!Y ZImUH[(ImUJ )5(8(89_(`'aKmUJb0KmUN xx(()WX^\^_fcfgOmUNh2OmUR xx(()UV\Z\]dadeSmURf*SmUT +7*:*:;o*p)qUmUTr&UmUV '3&6&67f&g%hWmUVi1WmUX 2>1A1ABq1r0sYmUXt;YmU\ xx(()^_ecefmjmn]mU\o3]mU^ 4@3C3C  EB  4C  3D_mU^D/_mU` 0</?/?@x/y.zamU`{:amUb ;G:J:J  LD  ;E  :FcmUbFDcmUf xx(()ghnlnovsvwgmUfxJgmUj xx(()qrxvxy  A  ~A  BkmUjB<kmUl =I<L<L  NT  =U  <VmmUlV8mmUn 9E8H8H  JK  9L  8MomUnM4omUp 5A4D4DEo4p3qqmUpr1qmUr 2>1A1ABo1p0qsmUrr>smUv xx(()YZ`^`ahehiwmUvj;wmUz xx(()cdjhjkrors{mUzt6{mU| 7C6F6FG  7A  6B}mU|B2}mU~ 3?2B2BCv2w1xmU~y3mU@ 4@3C3CDi3j2kAmU@l@AmUB AM@P@P  RH  AI  @JCmUBJ=CmUF  YZ[GmUF\JGmUJ xx(()efljlmtqtuKmUJvGKmUN xx(()opvtvw~{~OmUN@BOmUR  defSmURg>SmUV  _`aWmUVb?WmUZ  QRS[mUZT.[mU\ /;.>.>?u.v-w]mU\x8]mU^ 9<AQAQ  SO  BP  BV  TV  9W  9^  [^  8__mU^_>_mU` ?Bhh|GWGW  Y[  H\  Hb  `b  ?c  ?j  gj  >kamU`k0amUb 1=0@0@  BB  1C  0DcmUbD,cmUd -9,<,<=|,}+~emUd2emUf 3?2B2BC}2~1gmUf@/gmUh 0</?/?@}/~.imUh@<imUj =@HH\EUEU  WW  FX  F^  \^  =_  =f  cf  <gkmUjg0kmUl 1=0@0@  BE  1F  0GmmUlG*mmUn +7*:*:;j*k)lomUnm"omUp #2"5"56^"_!`qmUpa'qmUr (7':':;S'T&UsmUrV%smUt &5%8%89N%O$PumUt QRumUv xx++,>?E2FM#NwmUvO$wmUx &5%8%89Y%Z%d_c^dfg$h#iymUxj"ymUz #2"5"56H"I!J{mUz KL{mU| ""#456}mU|7(}mU~ )8(;(;<Y(Z'[mU~\(mU@ )8(;(;<Y(Z'[AmU@\$AmUB %4$7$78`$a#bCmUBc$CmUD %(HH_-@-@AX-Y-_]_$`$gdg#hEmUDi,EmUF -<,?,?@],^+_GmUF`1GmUH 2A1D1DEb1c0dImUHe-ImUL xx++,JKQrRYVYZMmUL[+MmUN ,;+>+>?b+c*dOmUNe,OmUP -<,?,?@],^+_QmUP`0QmUT ""#PQRUmUTS(UmUV )8(;(;<P(Q'RWmUVS(WmUZ xx++,MNTRTU\Y\][mUZ^+[mU^ xx++,RSYWYZa^ab_mU^c$_mU` %4$7$78V$W#XamU`Y.amUb />.A.AB\.]-^cmUb_/cmUf xx++,MNTRTU\Y\]gmUf^/gmUj xx++,LMSQST[X[\kmUj]0kmUl 1@0C0CDh0i/jmmUlk6mmUn 7F6I6IJh6i5jomUnk,omUp -<,?,?@f,g+hqmUpi7qmUr 8G7J7JKv7w6xsmUry9smUv ""#PQRwmUvS.wmUx />.A.ABp.q-rymUxs'ymU|  FGH}mU| IJ}mU~  ?@AmU~B)mUB  LMNCmUB OPCmUD  ?@AEmUDB&EmUF '3&6&67Y&Z%[GmUF\(GmUH )5(8(89\(]'^ImUH_0ImUL  OPQMmUL RSMmUN  HIJOmUNK2OmUR  UVWSmUR XYSmUT  HIJUmUTK/UmUV 0</?/?@k/l.mWmUVn1WmUX 2>1A1ABn1o0pYmUXqYmUZ  ;>>?PQR[mUZ ST[mUo	
` /1+%/66DX DX  DX > B B> R XVXYZDX[DX:>>?QRSDXT"DX #&&D&H&HI]&^&dbd"e!fDXg"DX #&&D&H&HI]&^&dbd"e!f	DXg	DX
  ##A#E#EFW#X#^\^_`DX
a%DX &D%G%GH_%`$aDXb*DX +I*L*LMr*s)tDXu*DX +I*L*LMi*j)kDXl5DX 6T5W5WX  6A  5BDXB8DX .112bcdDX efDX .112efgDXh5DX 6T5W5WX  6A  5BDXB#DX .112]^_DX `aDX  .112NOP!DX Q6!DX" 7U6X6X  ZB  7C  6D#DX"D5#DX$ 6T5W5WX  6A  5B%DX$B:%DX& ;Y:\:\  ^J  ;K  :L'DX&LB'DX( CaBdBd  fZ  C[  B\)DX(\2)DX* 3Q2T2TUy2z1{+DX*|;+DX. .112ghi/DX. jk/DX0 .112hij1DX0k01DX2 1O0R0RS{0|/}3DX2~/3DX4 0N/Q/QRz/{.|5DX4}=5DX6 >\=_=_  aT  >U  =V7DX6V;7DX8 <Z;];]  _O  <P  ;Q9DX8Q69DX: 7U6X6X  ZL  7M  6N;DX:N7;DX< 8V7Y7Y  [D  8E  7F=DX<F-=DX> .L-O-OPz-{,|?DX> }~?DX@ .112`abADX@ cdADXB .112efgCDXBh+CDXD ,J+M+M  ON  ,O  +PEDXD PQEDXF .112yz{GDXF |}GDXH .112z{|IDXH }~IDXJ .112qrsKDXJt0KDXL 1O0R0R  TJ  1K  0LMDXLL3MDXN 4R3U3U  WT  4U  3VODXN VWODXP .112nopQDXPq1QDXR 2P1S1S  US  2T  1USDXR UVSDXT .112stuUDXTv,UDXV -K,N,N  PM  -N  ,OWDXVO*WDXX +I*L*LM  +A  *BYDXXB.YDXZ /M.P.PQq.r-s[DXZt/[DX^ xx6::;^_ecefmjmn_DX^o8_DXb 1556[\b`bcdcDXbecDXd <??@_`aeDXd bceDXf .112UVWgDXfX4gDXj .112Z[\kDXj ]^kDXl .112WXYmDXl Z[mDXn .112Z[\oDXn ]^oDXp .112\]^qDXp_+qDXr ,J+M+MNt+u*vsDXrw7sDXt 8V7Y7Y  [D  8E  7FuDXtF7uDXv 8V7Y7Y  [D  8E  7FwDXvF*wDXx +I*L*LMi*j)kyDXxl-yDXz .L-O-OPo-p,q{DXzr-{DX| .L-O-OPo-p,q}DX|r}DX~ 9<<\JKDX~L)DXB xx6::;XY_]_`gdghCDXBi$CDXD %((F(J(JK\(](cac$d#eEDXDf"EDXF #A"D"DEY"Z![GDXF\GDXH  >AABSTUIDXH VWIDXF	
N $& /
wwy!\1cgg>X6Y]c6c 
 
 c=cersuevwGM$ D77+,MA!((1A)BCD *!,00@FBM(//$$'$6#7 8  #M 23 488#Y=#YYZ [";;}56 7  ',< => ?  # 78 9))05E)F(G H ,A.22<@A B,,/HH]15E5I5IJj5k5qoq,r+s t((+M!,<,@,@AR,S,YWY(Z'[ \AB" $& "$++I*../Z[\  ]I*../]^_  `E*../YZ[[u*../]^__}*../[\] ^88S8W8W  YC  9D  8E E33N3R3RSt3u2vvwy		
 $& $$++I,001_`a  b_,001^_`  aR,001YZ[ \11N1R1RSv1w0x y;;X;\;\  ^G  <H  ;I  IJK	
 #%"#**2667KLM N599:NOP Q9==>YZ[ \33N3R3RSx3y2z {9==>lmn o%%@%D%DEy%z${ |&&A&E&EFs&t%u v00K0O0O  QJ  1K  0L L  ; ? ?@h ij k77R7V7V  XQ  8R  7S S22M2Q2QRv2w1x y$$?$C$CDo$p#q r44O4S4ST{4|3} ~99T9X9X  ZA  :B  9C  CDE	
" (*$)(//N1556MNO P6::;`ab c**L*P*PQw*x)y z,,N,R,RSv,w+x y00R0V0VWy0z/{ |66X6\6\  ^B  7C  6D  DEF	
 )+%.223RSYWY ;!# ARaAAB%HSXXBkBBC1E 	
 	*003778MNO P/334EFG H7;;<PQR S,00@A B":">">?S"T"ZXZ[\ ].223GHI J.223GHI J"O $##;#?#?@U#V"W X7;;<MNOq
R	
 ##I!%%&789CUCYCYZzC{B| },001JKL M((:(>(>?Y(Z'[ \Q!%%&ijk l1145G5K5KLk5l5rpr1s0ttuw	
 )--.DEK$$-112CDE F0445UVW X%///:; <.223EFG H$$7$;$;<R$S#T U2667KLMQ"&&'<=>a"&&'=>? @%%8%<%<=T%U$V W2667HIJ!
M	
 *../@AGR $$%67=29H9L9LZ9X9^\^_#CGGK(#-___VZZ%8%>B_acd<<'-2CK<<P[C\R[ 9#>?be$$/334EFG H*..|<= > 3 3J ? E2FG H!::l34 5%zz*=>? @  %		- 89 :#456 7/03
	
  !
)--.[\b`bdfefg!
 
 	$$""3"7"78L"M!N O""3"7"78L"M!N O((+1B1F1FGa1b1hfh(i'j k&&7&;&;<c&d%e f&&7&;&;<c&d%e f((5a9	
 pLp

 "xx (5?^^D]5^5dbd(   "(($..78 9)~~.@AB C  */@ AB C$$.NN3E$F#G H--7^^<W-X,Y Z--7^^<W-X,Y Z##3"4 5##&88JNN;R,S,YWY#Z#a^a"bbce
 dMdfhidMdfhig\-=-=g-F-L"giklp\-=-=g-F-L"prtu$$m,- .  #L$4$4W$=$C DE F*|<= >%%0__[%A$B C##.??7#;"< =''27H'I&J K&&1oo6H&I%J!M		
 rNr
 !(( XXdhh{&;&ArBC D%%(/)B)Hb%I$J K""%dhh|&<&B"C!D E448HH=_4`3a b226((;[2\1] ^((,1G(H'IL (*$"(//U U  U6::;PQRUSU/334HIJUKU 3667HIJUKU 0334DEF	UG	U
 4778JKLU
M%U &A%D%DE`%a$bUcU :==>[\]U^U !XX&A&E&EFk&l&rprszwz{U|%U &A%D%DEb%c$dUe&U 'B&E&EFm&n%oUp.U +../]^_U`&U 'B&E&EFm&n%oUp U !< ? ?@R STUU$U %@$C$CDZ$[#\U]!U  "=!@!@AT!U V!U W!U"  ;>>?PQR#U" ST#U	
( #%$488GM23778HIOR8<<=NOUSU7;;<QRXVX(,,-CDJ7;;<LMSQS!1!1(!;!ArBIcxx 9 ?R@GCHH%5%9%9(%C%IrJQc#**W W  W<@@AUVWWWXW,001EFGWHW 8;;<MNOW PQW -001BCD	WE	W
 )/W
 *+W
 ,8+;+;I+F*GW
HW  ##M23W 45W 6B5E5Em5T4UWVW &))*=>?W@W 'W ()W *5)C(DWEW ??=12W 34W 5@OOM4R3SWTW &//.9a+//R`Ba>abWcW  11W 23W 4D3G3G	3R2SWTW $''67W 89W :J9M9Mm9\8]W^W +..~>kGWG[G[\jGkCklWm$W %3$6$6}$E#FWGW .11-@AWB"W  #2"5"5l"C!D!W E!W"  =@@ARST#W" UV#W	
(  "+//>D"v0445HIORv
 	!''-11+>? @%%9%=%=>U%V$W X++?+C+CDa+b*c d7#''(QRS T+xx,001NOUSUV]Z]^ _.#''(HIJ K1#''(KLM N((8(<(<[(I'J K2#''(LMN O11E1I1IJm1n0o p:#''(TUV W9#''(STU V$$0$4$4[$A#B C114  5L,BRBRSZB[Ba_a  5L  2L  1M  MN+O	
0 ")--n=C ''9==>OPQ R HHZ01 2  $ 34 5..2hh7K.L-M N%'+xx'='E"q&I%N%Nw%W$XXY[	
  ''3778HIJ K33H3L3LMr3s2t uH$(()cde f@$(()[\] ^2667KLM N*../HIJ K--B-F-FGf-g,h i--B-F-FGf-g,h i22G2K2KLp2q1rrsu	
  ''.22?CD E/33NCD E$$:$>$>?U$V#W X++A+E+EFc+d*e f##9#=#=>S#T"U V00F0J0JKm0n/o p3778VWXXY%))*DEFa%))*EFGq%))*DEFa%))*DEF G--C-G-GHg-h,i j11G1K1KLo1p0q r599:KLMQP	
" 35/-$J$N$NOh$i$omo!%>%B%B>%R%XVX"+Q+U+UVu+v+|z|(,L,P,PQ_,`,fdf)(N(R(RSo(p(vtv%)F)J)J>)Z)`^`&2667`ageg 	/ 366~FL" 	0 3667hiomo 	1 588HNB 	2 3667^_ece 	& *G)J)J>)Z)`^`&2667abhfh 	) -M,P,PQ_,`,fdf)2667]^dbd 	$ (C'F'F~'V'\Z\$2667]^dbd 	% )E(H(H(X(^\^%2667cdjhj 	, 0S/V/VWe/f/ljl,%K%O%OPi%j%pnp"2667efljl 	. 3667[\b`b 	# 3667^_ece 	& 3667Z[a_a 	! 3667Z[a_a 	" 3667`ageg 	) 3667]^dbd 	 3667YZ`^` 	+ 3667\]cac 	- 1445PQWUW 	- 	4::@` @`  @`CGGHopq@`r@` @CCDdef@`g@` @CCDlmn	@`o,	@` 699:\]^@`_-@` 699:]^_@``"@` 699:abc@`d&@` 'M&P&PQi&j%k@`l+@` 699:WXY@`Z#@` 699:YZ[@`\ @`  !G J JK] ^_!@` `$!@`" %K$N$NOe$f#g#@`"h,#@`& 699:XYZ'@`&['@`( ADDE]^_)@`( `b)@`* 2556MNO+@`*P'+@`. 2556abc/@`.d /@`0 !C F FGg hi1@`0j 1@`2 !C F FGp qr3@`2s(3@`6 699:klm7@`6n&7@`: 699:cde;@`:f,;@`> 699:cde?@`>fP?@`B 699:_`aC@`B bcC@`D 699:]^_E@`D `aE@`F 699:_`aG@`F bcG@`H 699:[\]I@`H^2I@`L :==>^_`M@`La M@`N !E H HI_ `aO@`N bcO@`P 4778VWXQ@`P YZQ@`R 4778TUVS@`RW!S@`V 4778bcdW@`Ve&W@`Z 4778\]^[@`Z_#[@`^ 4778^_`_@`^a"_@`b 4778WXYc@`bZ"c@`f 4778UVWg@`fX'g@`j 4778`abk@`jc/k@`n 4778RSTo@`nU2o@`r 4778UVWs@`rX-s@`v 4778fghw@`vi/w@`z 4778VWX{@`z YZ{@`| 4778`ab}@`|c.}@`@ 4778bcdA@`@ efA@`B 4778abcC@`Bd*C@`F 4778cdeG@`F fgG@`H xx<@@Aqrxvxy  A  ~A  BI@`HB,I@`L xx<@@Aklrprszwz{M@`L|#M@`N $J#M#MNc#d"eO@`Nf"O@`P #I"L"LMa"b!cQ@`Pd*Q@`R +D*G*G*X)YS@`RZ.S@`T /H.K.KM.Z-[U@`T\4U@`V 58HH=V=Z=Z[n=o=usu4v4}z}3~W@`V1W@`X 25:S:W:WXu:v:|z|1}  2E  BE  1FY@`XF+Y@`Z ,F+I+IJ`+a*b[@`Z cd[@`\ *--o>?]@`\@1]@`^ 2L1O1OPl1m0n_@`^ op_@`` *--o>?a@``@2a@`b 3M2P2PQt2u1vc@`b wxc@`d *--o>?e@`d@5e@`f 6P5S5STg5h4ig@`fj/g@`j xxt2L2P2PQl2m2sqstt{x{|k@`j},k@`l -F,I,IJh,i+jm@`lk.m@`n /H.K.KLc.d-eo@`nf+o@`p ,E+H+HIi+j*kq@`pl(q@`r )B(E(Em(T'Us@`rV,s@`t -M,P,PQ`,a+bu@`tc0u@`v 1Q0T0TUb0c/dw@`ve:w@`z xx8<<=PQWUWX_\_`{@`za7{@`~ xx8<<=Z[a_abifij@`~k1@`@ 2S1V1VWm1n0oA@`@ pqA@`B 144_EFC@`BG7C@`D 8Y7\7\]y7z6{E@`D |}E@`F 144_EFG@`FG8G@`J 1445XYZK@`J [\K@`L 144_EFM@`LG;M@`N <];`;`at;u:vO@`Nw5O@`R xx{2S2W2WXs2t2zxz{{  C  @C  DS@`RD2S@`T 3S2V2VWu2v1wU@`Tx4U@`V 5U4X4XYp4q3rW@`Vs1W@`X 2R1U1UVv1w0xY@`Xy.Y@`Z /O.R.RS`.a-b[@`Zc-[@`\ .K-N-N-_,`]@`\a1]@`^ 2O1R1RS`1a0b_@`^c7_@`` 8;xx@]@a@abu@v@|z|7}  8E  BE  7Fa@``F4a@`d xx599:WX^\^_fcfge@`dh.e@`f /M.P.PQg.h-ig@`f jkg@`h .11/BCi@`hD4i@`j 5S4V4VWs4t3uk@`j vwk@`l .11/BCm@`lD5m@`p .112UVWq@`p XYq@`r .11/BCs@`rD8s@`t 9W8Z8Z[n8o7pu@`tq2u@`x xxx2P2T2TUp2q2wuwxx|  Ay@`xA0y@`z 1N0Q0QRj0k/l{@`zm&{@`~ xx599:UV\Z\]dade@`~f1@`B -001STUC@`BV-C@`D .K-N-NOl-m,nE@`Do.E@`H -001QRSI@`HT:I@`L 699/JKM@`LL>M@`P 699-HIQ@`PJ?Q@`T 699:OPQU@`TRDU@`X xx>BBCVW][]^ebefY@`XgAY@`\ xx>BBC`agegholop]@`\q;]@`` 7::;QRSa@`` TUa@`b 7::?KLc@`bMAc@`f 7::;WXYg@`f Z[g@`h 7::?KLi@`hMBi@`l 7::;^_`m@`l abm@`n 7::?KLo@`nMEo@`r 7::;NOPs@`rQ?s@`v xx  B2Y2]2]^y2z  3A  A  B  B  I  FI  Jw@`vJ=w@`z 699:RST{@`zU3{@`~ xx>BBC^_ecefmjmn@`~o>@`B 699:\]^C@`B_:C@`F 699:WXYG@`FZ;G@`J 699:Z[\K@`J]BK@`N 8;;OLMO@`NNFO@`R 8;;MJKS@`RLLS@`V xx@DDEXY_]_`gdghW@`ViIW@`Z xx@DDEbcigijqnqr[@`ZsC[@`^ 9<<=STU_@`^ VW_@`` 9<<_MNa@``OIa@`d 9<<=YZ[e@`d \]e@`f 9<<_MNg@`fOJg@`j 9<<=`abk@`j cdk@`l 9<<_MNm@`lOMm@`p 9<<=PQRq@`pSGq@`t xx  D2[2_2_`{2|  3C  AC  D  D  K  HK  Lu@`tLEu@`x 8;;<TUVy@`xW;y@`| xx@DDE`agegholop}@`|qF}@`@ 8;;<^_`A@`@aBA@`D 8;;<YZ[E@`D\CE@`H 8;;<\]^I@`H_8I@`J 9V8Y8YZi8j7kK@`Jl<K@`L =Z<]<]^k<l;mM@`LnBM@`P xx599:MNTRTU\Y\]Q@`P^?Q@`T xx599:WX^\^_fcfgU@`Th9U@`V :X9[9[\r9s8tW@`V uvW@`X .11/BCY@`XD?Y@`\ .112NOP]@`\ QR]@`^ .11/BC_@`^D@_@`b .112UVWc@`b XYc@`d .11/BCe@`dDCe@`h .112EFGi@`hH=i@`l xxx2P2T2TUp2q2wuwxx|  Am@`lA;m@`p -001IJKq@`pL1q@`t xx599:UV\Z\]dadeu@`tf<u@`x -001STUy@`xV8y@`| -001NOP}@`|Q9}@`@ -001QRSA@`@T-A@`D -001IJKE@`DL;E@`F <\;_;_`o;p:qG@`Fr?G@`J 033MBCK@`JDEK@`N xx8<<=PQWUWX_\_`O@`NaBO@`R xx8<<=Z[a_abifijS@`Rk<S@`V 1445KLMW@`V NOW@`X 144_EFY@`XGBY@`\ 1445QRS]@`\ TU]@`^ 144_EF_@`^GC_@`b 1445XYZc@`b [\c@`d 144_EFe@`dGFe@`h 1445HIJi@`hK@i@`l xx{2S2W2WXs2t2zxz{{  C  @C  Dm@`lD>m@`p 0334LMNq@`pO4q@`t xx8<<=XY_]_`gdghu@`ti?u@`x 0334VWXy@`xY;y@`| 0334QRS}@`|T<}@`@ 0334TUVA@`@W0A@`D 0334LMNE@`DO7E@`F 8S7V7VWf7g6hG@`Fi;G@`J +..}=>K@`J?AK@`N xx3778KLRPRSZWZ[O@`N\>O@`R xx3778UV\Z\]dadeS@`Rf8S@`V ,//0FGHW@`V IJW@`X ,//@AY@`XB>Y@`\ ,//0LMN]@`\ OP]@`^ ,//@A_@`^B?_@`b ,//0STUc@`b VWc@`d ,//@Ae@`dBBe@`h ,//0CDEi@`hF<i@`l xxv2N2R2RSn2o2usuvv}z}~m@`l:m@`p +../GHIq@`pJ0q@`t xx3778STZXZ[b_bcu@`td;u@`x +../QRSy@`xT7y@`| +../LMN}@`|O8}@`@	 +../OPQA	@`@	R*A	@`D	 +../QRSE	@`D	T2E	@`H	 +../OPQI	@`H	R3I	@`L	 +../PQRM	@`L	S7M	@`N	 8T7W7WXg7h6iO	@`N	j;O	@`R	 ,//>?S	@`R	@AS	@`V	 xx4889LMSQST[X[\W	@`V	]>W	@`Z	 xx4889VW][]^ebef[	@`Z	g8[	@`^	 -001GHI_	@`^	 JK_	@``	 -00ABa	@``	C>a	@`d	 -001MNOe	@`d	 PQe	@`f	 -00ABg	@`f	C?g	@`j	 -001TUVk	@`j	 WXk	@`l	 -00ABm	@`l	CBm	@`p	 -001DEFq	@`p	G<q	@`t	 xxw2O2S2STo2p2vtvww~{~u	@`t	@0u	@`x	 xx4889TU[Y[\c`cdy	@`x	e;y	@`|	 ,//0RST}	@`|	U7}	@`@
 ,//0MNOA
@`@
P8A
@`D
 ,//0PQRE
@`D
S*E
@`H
 ,//0JKLI
@`H
M-I
@`L
 ,//0KLMM
@`L
N3M
@`P
 ,//0LMNQ
@`P
O.Q
@`T
 ,//0OPQU
@`T
R=U
@`X
 366GHY
@`X
IAY
@`\
 366}EF]
@`\
GG]
@``
 xx;??@STZXZ[b_bca
@``
dDa
@`d
 xx;??@]^dbdelilme
@`d
n>e
@`h
 4778NOPi
@`h
 QRi
@`j
 477HIk
@`j
JDk
@`n
 4778TUVo
@`n
 WXo
@`p
 477HIq
@`p
JEq
@`t
 4778[\]u
@`t
 ^_u
@`v
 477HIw
@`v
JHw
@`z
 4778KLM{
@`z
NB{
@`~
 xx~2V2Z2Z[v2w2}{}~~  F  CF  G
@`~
G6
@`B xx;??@[\b`bcjgjkC@`BlAC@`F 3667YZ[G@`F\=G@`J 3667TUVK@`JW>K@`N 3667WXYO@`NZ0O@`R 3667WXYS@`RZ7S@`V 3667`abW@`Vc8W@`Z 3667abc[@`Zd'[@`\ (B'E'EFV'W&X]@`\Y1]@`^ 2L1O1OPj1k0l_@`^m3_@`` 4N3Q3QRg3h2ia@``j.a@`b /I.L.LM^._-`c@`ba4c@`f *--.FGHg@`f IJg@`h *--.STUi@`h VWi@`j *--.HIJk@`jK+k@`l ,F+I+IJZ+[*\m@`l]<m@`p 5889IJKq@`pLHq@`t 5889NOPu@`tQCu@`x 5889JKLy@`xM2y@`z 3M2P2PQa2b1c{@`zd<{@`~ *--.HIJ@`~K>@`B *--.CDEC@`BF9C@`F *--.?@AG@`FB6G@`J *--.>?@K@`JA5K@`L 6S5V5VWg5h4iM@`Lj?M@`P -001KLMQ@`PNAQ@`T -001FGHU@`TI<U@`X -001BCDY@`XE9Y@`\ -001ABC]@`\D1]@`^ 2J1M1MN^1_0`_@`^a;_@`b (++,FGHc@`bI>c@`f (++,LMNg@`fO?g@`j (++,MNOk@`jP5k@`n (++,<=>o@`n?1o@`p 2K1N1NO_1`0aq@`pb;q@`t ),,-GHIu@`tJ>u@`x ),,-HIJy@`xK?y@`| ),,-IJK}@`|L:}@`@ ),,-LMNA@`@O5A@`D ),,-=>?E@`D@7E@`H 0334DEFI@`HGAI@`L 0334NOPM@`LQCM@`P 0334JKLQ@`PMDQ@`T 0334KLMU@`TN;U@`X 0334DEFY@`XG4Y@`Z 5K4N4NO_4`3a[@`Zb>[@`^ &))*DEF_@`^G@_@`b &))*?@Ac@`bB;c@`f &))*;<=g@`f><g@`j &))*?@Ak@`jBk@`l ADD\RSm@`lT/m@`p xx>BBCfgmkmnuruvq@`pw$q@`t 9==>OPVTVWXu@`tYu@`v  ##I#M#MN_#`#fdfghw@`viw@`x CFFGYZ[y@`x\.y@`| 699:Z[\}@`|]%}@`~ &L%O%OPg%h$i@`~j@`@  FIIJ[\]A@`@ ^_A@`B	
F 13-+188K^ K^ # K^#G#K#KLd#e"fK^g"K^ #G"J"JKb"c!dK^e(K^ )M(P(PQk(l'm	K^n)	K^
 *N)Q)QRp)q(rK^
s2K^ 4778\]^K^_+K^ 4778\]^K^_9K^ 4778cdeK^f'K^ (L'O'OPi'j&kK^l&K^ 5889QRXVX]]^tuvK^w"K^  5889QRXVX]]^pqr!K^ s+!K^$ 5889QRXVX]]  _B  C  D%K^$D*%K^( 5889QRXVX]]^~  A)K^(A )K^* !E H HIi jk+K^*l.+K^, /S.V.V  XA  /B  .C-K^,C6-K^0 8;;<mno1K^0p.1K^4 4778ijk5K^4l25K^8 4778jkl9K^8m-9K^< 8;;<efg=K^<h*=K^@ 8;;<efgAK^@hNAK^D 8;;<abcEK^D deEK^F 8;;<_`aGK^F bcGK^H 8;;<abcIK^H deIK^J 8;;<]^_KK^J`KK^N 5889PQWUW\\]jklOK^N mnOK^P 5889PQWUW\\]ijkQK^Pl*QK^R +O*R*RSo*p)qSK^Rr SK^V 5889PQWUW\\]rstWK^V uvWK^X 5889PQWUW\\]rstYK^X uvYK^Z 5889PQWUW\\]stu[K^Zv%[K^^ 4778YZ[_K^^\&_K^b 4778[\]cK^b^$cK^d %I$L$LMp$q#reK^ds&eK^f 'K&N&NOs&t%ugK^fv#gK^h $H#K#KLq#r"siK^htiK^l 4778^_`mK^l abmK^n 4778XYZoK^n [\oK^p 4778ghiqK^p jkqK^r 4778pqrsK^rs&sK^v 4778defwK^v ghwK^x 4778jklyK^x mnyK^z 4778lmn{K^zo${K^| %I$L$LMr$s#t}K^|u"}K^@ 699:QRXVX]]^wx~|~  D  D  EU  V  WAK^@ WXAK^B 699:QRXVX]]^wx~|~  D  D  ES  T  UCK^BU9CK^F 4778cdeGK^Ff2GK^J 4778\]^KK^J_.KK^N xx<@@AhiomopwtwxOK^Ny7OK^R 7;;<efljlmnSK^Ro/SK^V 4778bcdWK^Ve3WK^Z 4778nop[K^Zq5[K^^ 4778lmn_K^^o-_K^b 4778klmcK^bn1cK^f 4778nopgK^fq'gK^j 4778klmkK^j nokK^l 4778klmmK^l nomK^n 4778wxyoK^nz:oK^r 4778wxysK^rz0sK^v 477  9D  E  FwK^vF2wK^z 4778mno{K^zp{K^~ 4778RSTK^~U"K^B 4778PQRCK^BS/CK^F 4778Z[\GK^F ]^GK^H 4778YZ[IK^H \]IK^J 4778\]^KK^J_,KK^N 4778defOK^N ghOK^P 4778`abQK^PcQK^T 4778STUUK^TV%UK^X 4778YZ[YK^X\'YK^\ xx<@@Adekiklspst]K^\u5]K^` 4778`abaK^` cdaK^b 4778_`acK^b bccK^d 4778bcdeK^de2eK^h 4778jkliK^h mniK^j 4778fghkK^ji-kK^n 4778_`aoK^n bcoK^p 4778^_`qK^pa3qK^t 4778efguK^t hiuK^v 4778defwK^vg*wK^z 4778YZ[{K^z\#{K^~ 4778[\]K^~^(K^B 4778UVWCK^BX2CK^F 4778cdeGK^F fgGK^H 4778`abIK^Hc8IK^L 4778cdeMK^L fgMK^N 4778bcdOK^N efOK^P 4778efgQK^Ph5QK^T 4778mnoUK^T pqUK^V 4778ijkWK^Vl6WK^Z 4778hij[K^Z kl[K^\ 4778ghi]K^\j3]K^` 4778lmnaK^` opaK^b 4778{|}cK^b ~cK^d 477  9A  B  CeK^dC(eK^h 4778WXYiK^hZ$iK^l 4778STUmK^lV(mK^n )M(P(PQk(l'moK^nn#oK^p $H#K#KLa#b"cqK^pdqK^r BEEF_`asK^rb$sK^t %I$L$LMg$h#iuK^tj#uK^v $H#K#KLe#f"gwK^vh1wK^x 2V1Y1Y  [B  2C  1DyK^xD yK^z !E H HI` ab{K^zc {K^~ 4778XYZK^~ [\K^@ 4778abcAK^@d2AK^D 4778mnoEK^D pqEK^F 4778ghiGK^F jkGK^H 4778fghIK^H ijIK^J 4778bcdKK^Je2KK^N 4778opqOK^N rsOK^P 4778ijkQK^P lmQK^R 4778hijSK^R klSK^T 4778defUK^Tg7UK^X 4778lmnYK^X opYK^Z 4778fgh[K^Z ij[K^\ 4778efg]K^\ hi]K^^ 4778abc_K^^d)_K^b 4778YZ[cK^b\)cK^d *N)Q)QRm)n(oeK^dp&eK^f 'K&N&NOg&h%igK^fj&gK^h 'K&N&NOg&h%iiK^hj6iK^l 4778`abmK^lc&mK^n 'K&N&NOl&m%noK^no$oK^p %I$L$LMk$l#mqK^pn qK^r !E H HI[ \]sK^r^$sK^t %I$L$LMc$d#euK^tf.uK^v /S.V.VWw.x-ywK^vz.wK^x /S.V.VWw.x-yyK^xz6yK^z 7[6^6^  `H  7I  6J{K^zJ{K^~ 4778^_`K^~ abK^@ 4778WXYAK^@ZAK^B BEEFijkCK^Bl#CK^D $H#K#KLq#r"sEK^Dt#EK^H xx<@@AefljlmtqtuIK^Hv/IK^L xx<@@AdekiklspstMK^Lu$MK^P 7;;<MNTRTUVQK^PWQK^R ADDEWXYSK^RZSK^T ?BB<PQUK^TRUK^V  DGGHYZ[WK^V \]WK^M	
\ *,&(*11)[ )[  )[>BBCUVW)[X)[ >AABabc)[d!)[ "C!F!FGi!j k	)[l	)[
 8;;MJK)[
L!)[ "C!F!FG^!_ `)[a")[ 1445`ab)[c)[ >AABXYZ)[[#)[ $'88,M,Q,QRg,h,nln#o"p)[q)[ xx9==>_`fdfgnkno)[ pq)[ xx0Q0U0UVw0x0~|~  G  DG  H)[ HI)[ xx9==>`agegholop)[q/)[  1445KLM!)[  NO!)[" 1445QRS#)[" TU#)[$ 1445QRS%)[$T&%)[& 'H&K&KLh&i%j')[&k+')[( ,M+P+PQr+s*t))[(u-))[* .O-R-RSw-x,y+)[*z1+)[. 1445XYZ/)[. [\/)[0 1445YZ[1)[0 \]1)[2 1445Z[\3)[2](3)[4 )J(M(MNh(i'j5)[4k5)[6 @CCD\]^7)[6_"7)[8 #D"G"GHd"e!f9)[8g&9)[: 'H&K&KLh&i%j;)[:k*;)[< +L*O*OPo*p)q=)[<r'=)[> (I'L'LMi'j&k?)[>l)?)[@ *K)N)NOk)l(mA)[@n+A)[B ,M+P+PQn+o*pC)[Bq(C)[F xx9==>XY_]_`gdghG)[Fi#G)[J xx9==>dekiklspstK)[Ju$K)[L %((I(M(MN_(`(fdf$g#hM)[LiM)[N >AABTUVO)[NWO)[P <??MNQ)[POQ)[R  ADDEVWXS)[R YZS)[+	
X 8:4.EIIJefljlDHHIbcigi8??Wa Wa   Wa G K KLb cdWae(Wa )P(S(STr(s'tWau&Wa 'N&Q&QRn&o%p	Waq)	Wa 7::;efgWah*Wa 7::;_`aWab(Wa 7::;abcWad&Wa 'N&Q&QRo&p%qWar*Wa 7::;Z[\Wa]/Wa 7::;abcWa deWa  7::;ghi!Wa j0!Wa$ 7::;bcd%Wa$ ef%Wa& 7::;hij'Wa&k5'Wa* 7::;klm+Wa* no+Wa, 7::;pqr-Wa, st-Wa. 7::;rst/Wa.u//Wa2 7::;abc3Wa2d13Wa6 7::;cde7Wa6f67Wa: 7::;cde;Wa:f9;Wa> 7::;fgh?Wa>i7?WaB 7::;defCWaBg CWaD !H K KLl mnEWaDo.EWaF /V.Y.Y  [D  /E  .FGWaFF6GWaJ ;>>?pqrKWaJs-KWaN ;>>?hijOWaNk*OWaR ;>>?hijSWaRkNSWaV ;>>?defWWaV ghWWaX ;>>?bcdYWaX efYWaZ ;>>?def[WaZ gh[Wa\ ;>>?`ab]Wa\c]Wa` 7::;PQRaWa` STaWab 7::;OPQcWabR*cWad +R*U*UVr*s)teWadu$eWaf %L$O$OPs$t#ugWafv&gWah 'N&Q&QRv&w%xiWahy#iWaj $K#N#NOt#u"vkWajwkWan 7::;abcoWan deoWap 7::;[\]qWap ^_qWar 7::;jklsWar mnsWat 7::;stuuWatv&uWax 7::;ghiyWax jkyWaz 7::;mno{Waz pq{Wa| 7::;opq}Wa|r*}Wa~ +R*U*UVr*s)tWa~u&WaB 7::;bcdCWaB efCWaD 7::;bcdEWaDe#EWaH 7::;fghIWaH ijIWaJ 7::;klmKWaJn$KWaL %L$O$OPw$x#yMWaLz$MWaP 7::;lmnQWaP opQWaR 7::;lmnSWaRo$SWaV 7::;defWWaV ghWWaX 7::;hijYWaXk(YWa\ 7::;klm]Wa\ no]Wa^ 7::;opq_Wa^ rs_Wa` 7::;opqaWa` rsaWab 7::;klmcWabn&cWad 'N&Q&QRy&z%{eWad|"eWah 7::;_`aiWahb#iWal xx?CCDklrprszwz{mWal|,mWap :>>?hiomopqqWapr$qWat 7::;efguWath'uWax 7::;pqryWaxs#yWa| 7::;^_`}Wa|a8}Wa@ 7::;XYZAWa@ [\AWaB 7::;fghCWaB ijCWaD 7::;cdeEWaDf(EWaH 7::;Z[\IWaH]"IWaL 7::;ijkMWaLl$MWaP 7::;YZ[QWaP \]QWaR 7::;cdeSWaRf#SWaV 7::;efgWWaV hiWWaX 7::;defYWaXgYWa\ 7::;fgh]Wa\ ij]Wa^ xx?CCDtu{y{|  D  AD  E_Wa^E!_Wab xx?CCDnousuv}z}~cWab#cWad $K#N#NOd#e"feWadgeWaf 144_EFgWafG$gWah %8$;$;<V$W#XiWahY#iWaj $7#:#:;P#Q"RkWajS!kWal "5!8!89P!Q RmWalS#mWan $7#:#:?#K"LoWanM1oWap 2E1H1HIf1g0hqWapi+qWar ,?+B+BC[+\*]sWar^)sWat *=)@)@A[)\(]uWat^!uWav "5!8!89O!P QwWavR%wWax &8%;%;<L%M$NyWaxO&yWaz '9&<&<=f&g%h{Wazi8{Wa~ "%%&OPQWa~ RSWa@ "%%&IJKAWa@ LMAWaB "%%&HIJCWaB KLCWaD "%%&DEFEWaDG=EWaH "%%&JKLIWaH MNIWaJ "%%&DEFKWaJ GHKWaL "%%&CDEMWaL FGMWaN "%%&?@AOWaNB OWaP !H K KL^ _`QWaPa$QWaR %L$O$OPf$g#hSWaRi"SWaV 7::;WXYWWaV Z[WWaX 7::;WXYYWaXZ+YWaZ ,S+V+VWt+u*v[WaZw([Wa^ xx?CCD^_ecefmjmn_Wa^o_Wa` BEElSTaWa`U*aWad xx?CCDbcigijqnqreWads$eWaf %((O(S(STe(f(ljl$m#ngWafogWah DGGHZ[\iWah].iWal 7::;[\]mWal^mWan  GJJK\]^oWan _`oWaY	
t .0*(8<<=XY_]_8<<=XY_]_8<<=Z[a_a.55&[ &[  &[9==>Z[\&[\^&[ 1445WXY&[Z&[ :==>Z[\	&[ ]_	&[
 1445WXY&[
Z &[ !- 0 01C DE&[F &[ !- 0 0 =>&[?8&[ 1445_`a&[b)&[ *K)N)NOj)k(l&[m &[ !- 0 01C DE&[F &[ !- 0 0 =>&[?,&[ -N,Q,QRp,q+r&[s,&[ -N,Q,QRp,q+r&[s$&[ %1$4$45K$L#M&[N%&[  &2%5%56U%V$W!&[  XY!&["  ?@A#&["B)#&[$ *6)9)9:])^(_%&[$ `a%&[&  CDE'&[&F$'&[( %F$I$IJq$r#s)&[(t$)&[, 1445^_`-&[, ab-&[. 1445bcd/&[.e%/&[2 1445Z[\3&[2](3&[6 1445efg7&[6 hi7&[8 1445ijk9&[8 lm9&[: 1445ijk;&[: lm;&[< 1445efg=&[<h&=&[> 'H&K&KLs&t%u?&[>v*?&[@ +L*O*OPl*m)nA&[@oA&[B <??MNC&[BO+C&[F xx9==>]^dbdelilmG&[Fn$G&[H %((I(M(MN_(`(fdf$g#hI&[HiI&[J >AABTUVK&[JWK&[L  ADDEVWXM&[L YZM&[(	
R 2>2B2B82L2RPRS3#''&/3&SS**128bJJ56<"	##J/52$$||N34 5{{:./vc'++f:M:SQS6T5U V%gkk/&BCD E(5G)HIJ K"z236#immF>S>YWY:Z9[ \%immO&DEF G(7I)JKL M55
	
 &**+?@FB$$KK,- .!!(-@!A B C#KK78 9YY	
 %))*=>D"(,,Z8>B(( 

 
 	$$qyy&' ())$567 8i  &&))g^f)g&g%h iQQQRRSU	
 2667NOUSU$$599:JKL M##:#>#>?T#U"V W((?(C(CD^(_'` a''>'B'BC\']&^ _!!1!5!56I!J K1N	
 #$$7;;NKL M77R7V7V  XA  8B  7C C%%@%D%DE_%`$a bOO	
 3$$IMMN^_` aBFFG_`a bGKKLijkkln	
 1$$$$M$Q$QRh$i#j k''P'T'TUn'o&p q))R)V)VWr)s(t u//X/\/\]~/  /A A44]4a4a  cI  5J  4K  KLM	
 /$$EIIJZ[\ ]''N'R'RSl'm&n o&&M&Q&QRj&k%llmo	
 (*$(//U&**+@AB C++B+F+FGd+e*f g++./F/J/JKh/i/omo+p*q r**-.E.I.IJf.g.mkm*n)o p$$;$?$?@V$W#X Y$$;$?$?@R$S#TTUW	
 +-'!+22P)--.?@AAQ)--.CDEV)--h78 922L2P2PQu2v1w x33M3Q3QRw3x2y z//2xx8R8V8VWx8y8}  0A  0H  EH  /I I//I/M/MNo/p.q r--G-K-KLk-l,m n$$>$B$BCY$Z#[ \488FG H3xx2667^_ecefmjmn o$$'(B(F(FGX(Y(_]_$`#a b6::;MNOqR	
" ')#% > B B9 M SQS'..))G)K)KLg)h(i j''E'I'IJc'd&e f##A#E#EF[#\"] ^&&D&H&HIa&b%c d,,J,N,NOm,n+o p22G2K2KLp2q1r s**-.C.G.GH`.a.geg*h)i j//2xx8M8Q8QRs8t8zxz/{  0C  @C  /D D$$B$F$FG]$^#__`	b	
 $& "$++c cm c*../KLMcMfc*../@ABcC@c A\@_@_  aS  AT  @UcU9c :U9X9X  ZE  :F  9G	cG7	c
 8S7V7V  XA  8B  7Cc
CKc LgKjKj  li  Lj  Kkck>c ?Z>]>]  _O  ?P  >QcQDc E`DcDc  e[  E\  D]c]Hc IdHgHg  ic  Id  HeceCc D_CbCb  dY  DZ  C[c[Bc C^BaBa  cW  CX  BYcY>c ?Z>]>]  _O  ?P  >QcQ<c =X<[<[  ]K  =L  <McM:c ;V:Y:Y  [G  ;H  :IcI:c ;V:Y:Y  [G  ;H  :IcI=c  >Y=\=\  ^M  >N  =O!c O0!c" 1L0O0OPr0s/t#c"u(#c$ )D(G(GH^(_'`%c$ ab%c	
* $$))7););<W)X(Y Z,,:,>,>?],^+_ `$$'HH^-?-?@V-W-][]$^#_ `,,:,>,>?],^+_ `22@2D2DEi2j1k l**-((>3E3EFb3c3igi*j*qnq)r s@@N@R@R  TF  AG  @H H00>0B0BCe0f/g h-112CDEQ	H	
 #%!#**$$'HH-G-K-KLb-c-igi$j#k l8<<=MNO P::=((C]CaCa  cO  DP  DV  TV  ;W  ;^  [^  :_ _%%?%C%CD[%\$] ^''*xx0J0N0NOh0i0omo'p'wtw&x y--G-K-KLk-l,m n""<"@"@AU"V!W X""<"@"@AU"V!W X9==>OPQQR
T	
 $& +?+C+CDe+f+ljl(), 2
>?2
 *
 *  	'
 !$$%STZXZ 	9 := B
NOB
 :
 :  	7 	%++8N 8N $ 8N$'HH-A-E-EF\-]-cac$d#e8Nf#8N#7#;#;<Q#R"S8NT&8N ';&>&>?W&X%Y8NZ.8N /C.F.FGg.h-i	8Nj*	8N
 +?*B*BC_*`)a8N
b+8N ,/884H4L4LMj4k4qoq+r+yvy*z8N{08N 149M9Q9QRt9u9{y{0|  1D  AD  0E8NE+8N ,@+C+CDa+b*c8Nd28N 36((;O;S;STx;y;}  3A  3H  EH  2I8NI.8N /C.F.FGg.h-i8Nj.8N /C.F.FGg.h-i8Nj38N 4H3K3KLq3r2s8Nt&8N '*hh/C/G/GH`/a/geg&h&olo%p8Nq*8N +.((3G3K3KLh3i3omo*p*wtw)x8Ny08N 149M9Q9QRt9u9{y{0|  1D  AD  0E8NE*8N  +.((3G3K3KLh3i3omo*p*wtw)x!8N y0!8N" 149M9Q9QRt9u9{y{0|  1D  AD  0E#8N"E4#8N$ 5I4L4LMs4t3u%8N$v7%8N& 8L7O7OPy7z6{'8N&|3'8N( 4H3K3KLq3r2s)8N(t8)8N* 9M8P8PQ{8|7}+8N*~:+8N, ;>((CWC[C[  ]I  DJ  DP  NP  ;Q  ;X  UX  :Y-8N,Y9-8N. :N9Q9QR}9~8/8N.@//8N0 0D/G/GHi/j.k18N0l818N2 9M8P8PQ{8|7}38N2~538N4 6J5M5MNu5v4w58N4x>58N6 ?S>V>V  XH  ?I  >J78N6J>78N8 ?S>V>V  XH  ?I  >J98N8J;98N: <P;S;S  UB  <C  ;D;8N:D8;8N< 9M8P8PQ{8|7}=8N<~A=8N> BVAYAY  [N  BO  AP?8N>PA?8N@ BVAYAY  [N  BO  APA8N@PDA8NB EYD\D\  ^T  EU  DVC8NBV3C8ND 4H3K3KLq3r2sE8NDt7E8NF 8L7O7OPy7z6{G8NF|;G8NH <P;S;S  UB  <C  ;DI8NHD<I8NJ =Q<T<T  VD  =E  <FK8NJF<K8NL =Q<T<T  VD  =E  <FM8NLFKM8NN L`KcKc  eb  Lc  KdO8NNdKO8NP L`KcKc  eb  Lc  KdQ8NPdFQ8NR G[F^F^  `X  GY  FZS8NRZES8NT FZE]E]  _V  FW  EXU8NTXEU8NV FZE]E]  _V  FW  EXW8NVXEW8NX FZE]E]  _V  FW  EXY8NXXHY8NZ I]H`H`  b\  I]  H^[8NZ^C[8N\ DXC[C[  ]R  DS  CT]8N\T8]8N^ 9g7g_8N^h6_8N` 7K6N6NOw6x5ya8N`z+a8Nb ,J*Jc8NbK)c8Nd *-2F2J2JKf2g2mkm)n)uru(ve8Ndwe8Nf /22<@Ag8NfB,g8Nj xx,001QRXVXY`]`ak8Njb$k8Nl %((<(@(@AR(S(YWY$Z#[m8Nl\m8Nn 1445GHIo8NnJo8Np  4778IJKq8Np LMq8N:	
v !&&..D.H.HIi.j-k l,,B,F,FGe,f+g h88N8R8RS}8~7 @00F0J0JKm0n/o p  6 : :;M NO P044\BC D'xx.223NOUSUV]Z]^ _$$'(>(B(BCT(U([Y[$\#] ^2667IJK L599:KLMQP	
 #%!8!<!<=S!T!ZXZ!8!<!<=S!T!ZXZ#**$$:$>$>z$J#K L$$:$>$>z$J#K L++B+F+FGd+e*f g%%<%@%@A]%^$_ `%%<%@%@A]%^$_ `$$;$?$?@R$S#TTUW	
  %%4889JKL M--B-F-FGf-g,h i  5 9 9:L MN O$$9$=$=>T$U#V W**?*C*CD`*a)b c//D/H/HIj/k.llmo	
 $& $++$M $M 2 $M2E2I2IJn2o1p$Mq$$M$7$;$;<Z$[#\$M]&$M ':&=&=>Z&[%\$M]#$M $7#:#:;Z#["\	$M ]^	$M
 #&&'FGH$M
I($M )<(?(?@^(_'`$M ab$M #&&'EFG$MH*$M +>*A*AB^*_)`$Ma!$M "5!8!89a!b c$Md$M  3667]^_$M`;$M <O;R;R  TA  <B  ;C$MC;$M <O;R;R  TA  <B  ;C$MC0$M 1D0G0GHj0k/l$Mm.$M /2hh7J7N7NOo7p7vtv.w.~{~-$M@/$M 03xx8K8O8OPq8r8xvx/y  0A  ~A  /B$MB5$M  69XX>Q>U>UV}>~  ?E  CE  6F  6M  JM  5N!$M N;!$M" <?88DWD[D[  ]J  EK  EQ  OQ  <R  <Y  VY  ;Z#$M"Z6#$M$ 7J6M6MNv6w5x%$M$y=%$M& >AXXFYF]F]  _N  GO  GU  SU  >V  >]  Z]  =^'$M&^9'$M( :M9P9PQ|9}8~)$M(3)$M* 4G3J3JKp3q2r+$M*s=+$M, >Q=T=T  VE  >F  =G-$M,G9-$M. :M9P9PQ|9}8~/$M.>/$M0 ?R>U>U  WG  ?H  >I1$M0I(1$M2 )<(?(?@n(o'p3$M2q%3$M4 &9%<%<=Y%Z$[5$M4\.5$M6 /B.E.EFf.g-h7$M6i07$M8 1D0G0GHj0k/l9$M8m.9$M: /B.E.EFf.g-h;$M:i;$M< .11,?@=$M<A1=$M@ xx+//0UV\Z\]dadeA$M@f$A$MB %((;(?(?@Q(R(XVX$Y#ZC$MB[C$MD 0334FGHE$MDI$E$MF %8$;$;<R$S#TG$MFUG$MH  3667HIJI$MH KLI$M&	
N &("&--&O &O  &O3778HIJ&OK#&O#8#<#<=R#S"T&OU;&O <Q;T;T  VC  <D  ;E&OE;&O <Q;T;T  VC  <D  ;E	&OE0	&O
 1F0I0IJl0m/n&O
o;&O xx-112_`fdfgnkno&Op6&O %(()QRS&OT=&O xx-112abhfhipmpq&Or9&O %(()TUV&OW3&O %(()NOP&OQ*&O  +@*C*CD`*a)b!&O c-!&O" .C-F-FGf-g,h#&O"i2#&O$ 3H2K2KLp2q1r%&O$s=%&O( %(()XYZ)&O([6)&O* 7L6O6OPx6y5z+&O*{9+&O. %(()TUV/&O.W1/&O0 2G1J1JKr1s0t1&O0u51&O2 6K5N5NOy5z4{3&O2|-3&O4 .C-F-FGf-g,h5&O4i95&O8 %(()TUV9&O8W+9&O: ,A+D+DEb+c*d;&O:e$;&O< %:$=$=>T$U#V=&O<W.=&O> /D.G.GHh.i-j?&O>k?&O@ 033LABA&O@C/A&OD xx-112UV\Z\]dadeE&ODf$E&OF %((=(A(ABS(T(ZXZ$[#\G&OF]G&OH 2556HIJI&OHK$I&OJ %:$=$=>T$U#VK&OJWK&OL  5889JKLM&OL MNM&O(	
R &("&--+O +O 2 +O2G2K2KLp2q1r+Os3+O3H3L3LMr3s2t+Ou+O "7";";<]"^"dbdelilm+On*+O +@*C*CD`*a)b	+Oc	+O
 4778HIJ+O
K#+O $9#<#<=R#S"T+OU.+O /D.G.GHg.h-i+O jk+O %(()GHI+O JK+O %(()EFG+OH;+O <Q;T;T  VC  <D  ;E+OE;+O <Q;T;T  VC  <D  ;E+OE0+O 1F0I0IJl0m/n+Oo*+O +@*C*CD`*a)b+Oc+O 1445STU+O VW+O %(()QRS+O TU+O  %(()OPQ!+O R(!+O" ),1F1J1JKx1y1}  )A  )H  EH  (I#+O"I1#+O$ 25:O:S:S  UD  ;E  ;K  IK  2L  2S  PS  1T%+O$T6%+O& 7L6O6OPx6y5z'+O&{3'+O( 4I3L3LMr3s2t)+O(u()+O* )>(A(ABp(q'r++O*s#++O, $9#<#<=R#S"T-+O,U)-+O. *?)B)BCr)s(t/+O.u-/+O0 .C-F-FGf-g,h1+O0i21+O2 3H2K2KLp2q1r3+O2s63+O4 7L6O6OPx6y5z5+O4{15+O6 2G1J1JKn1o0p7+O6q=7+O8 >S=V=V  XG  >H  =I9+O8ID9+O< %(()_`a=+O<b =+O> !6 9 9:L MN?+O>O,?+O@ -B,E,EFd,e+fA+O@g+A+OB ,A+D+DEb+c*dC+OBe$C+OD %:$=$=>T$U#VE+ODW0E+OF 1F0I0IJl0m/nG+OFo.G+OH /D.G.GHh.i-jI+OHk.I+OJ /D.G.GHh.i-jK+OJkK+OL 033LABM+OLC(M+ON ),1F1J1JKg1h1nln(o(vsv'wO+ONx$O+OP %((=(A(ABS(T(ZXZ$[#\Q+OP]Q+OR 2556HIJS+ORK6S+OT 7L6O6OPx6y5zU+OT{U+OV  5889JKLW+OV MNW+O-	
\ &("&--.O .O  .O 5 9 9* E KLM.ON.O  ##8#<#<=N#O#USUVW.OX.O 2556GHI	.OJ!	.O
 "7!:!:;Q!R S.O
T.O 2556GHI.OJ.O 4778KLM.ON+.O ,A+D+DEb+c*d.Oe,.O -B,E,EFd,e+f.Og7.O 8M7P7PQz7{6|.O}7.O 8M7P7PQz7{6|.O}-.O .C-F-FGf-g,h.Oi5.O 6K5N5NOv5w4x.Oy8.O %(()YZ[.O \].O  %(()\]^!.O _5!.O" 6K5N5NOv5w4x#.O"y,#.O$ -B,E,EFd,e+f%.O$g)%.O& *?)B)BC^)_(`'.O&a6'.O( 7L6O6OPx6y5z).O({5).O* 6K5N5NOv5w4x+.O*y++.O, ,A+D+DEb+c*d-.O,e;-.O0 %(()^_`1.O0 ab1.O2 %(()_`a3.O2b=3.O4 >S=V=V  XK  >L  =M5.O4M75.O6 8M7P7PQz7{6|7.O6}77.O8 8M7P7PQz7{6|9.O8}99.O< %(()bcd=.O< ef=.O> %(()ijk?.O> lm?.O@ %(()klmA.O@n9A.OD %(()lmnE.ODo=E.OH %(()XYZI.OH[-I.OJ .C-F-FGf-g,hK.OJiK.OL 033LABM.OLC"M.ON #&((+@+D+DE[+\+b`b"c"jgj!kO.ONl$O.OP %((=(A(ABS(T(ZXZ$[#\Q.OP].Q.OR /D.G.GHh.i-jS.ORk*S.OT +@*C*CD`*a)bU.OTc6U.OX %(()QRSY.OXT"Y.OZ #8";";<P"Q!R[.OZS[.O\  5889JKL].O\ MN].O0	
b  " $$%9:@b ''%))*@AB C+//0EFG H!!1!5!56X!Y ZZ[##$GHI J%%5%9%9:Q%R$S T11A1E1EFi1j0k l$$4$8$89d$e#f g"##$EFGq##$FGH I%%5%9%9:Q%R$S T88EII.H$I$ORPQ R449II>_4`3a b 99%89: ; 99%89:!=	
$ &("#&--7;;<LMN O488@FBGH I"">"B"BCW"X!Y Z"">"B"BCW"X!Y Z!">"B"BCS"T"ZXZ[\ ]**F*J*JKg*h)i j&&)*F*J*JKc*d*jhj&k%l m--I-M-MNm-n,o p)),-I-M-MNi-j-pnp)q(r s,,H,L,LMk,l+m n((+,H,L,LMg,h,nln(o'p q;??@QRSSTV	
 /1+,/66@DDE\]^ _>BB>RS T9==jIJ KCGGOUSUVW X  E I IJh ij k##&'L'P'PQk'l'rpr#s"t u$$I$M$MNh$i#j k''*+P+T+TUk+l+rpr's&t u$$I$M$MNh$i#j k''*+P+T+TUk+l+rpr's&t uDHHIZ[\\]_	
 )+%%044Y?E2/334KLRPR3778PQWUW
)00X X  X9==>NOPXQX!"@"D"DEU"V"\Z\]^X_X  ##A#E#EFW#X#^\^_`XaX 9<<\JK	XL	X xx6::;abhfhipmpqXr$X 1556GHNBOPXQX {{=12X3X kk"678X9X "++&>?@XAX "++&=>?X@"X #*++.E"F!GXH!X ")-E!F GXH0X 1O0R0RSu0v/wXx(X  )/

3G(H'I!X J*!X" +1**5Q*R)S#X"T!#X$ "@!C!CDW!X Y%X$Z %X& !? B BCU VW'X&X&'X( '1nn5G&H%I)X(J%)X* &0^^4I%J$K+X*L%+X, &0^^4I%J$K-X,L,-X. -7NN;W,X+Y/X.Z%/X0 &0^^4L%M$N1X0O 1X2 !+/@ AB3X2C*3X4 +5..9K*L)M5X4N5X6 ;>>?QRS7X6T7X8  >AABSTU9X8 VW9X	
> !#$.22?CIr!((8<<=_`a b<@@AZ[\ ]!"?"C"CD\"]"cacde f  = A ABX YZ ["#@#D#DEV#W#][]^_ `7;;<STU V;??@^_` a**G*K*KLh*i)j k**G*K*KLh*i)j k%zz.9: ;E*+ ,**G*K*KLh*i)jjkm	
 ')#'..P P  P.22?CDPEP2667JKLPMP 4778JKLPM$P %;$>$>?X$Y#Z	P[ 	P
 !7 : :;P QRP
SP 2556FGHPIP 3667HIJPKP 5889LMNPO#P $:#=#=>S#T"UPV%P &<%?%?@W%X$YPZ%P &<%?%?@W%X$YPZ*P +A*D*DEa*b)cPd-P .D-G-GHg-h,iPj)P *@)C)CD_)`(aPb1P 2H1K1KLo1p0qPr,P  -C,F,FGe,f+g!P h/!P" 0F/I/IJk/l.m#P"n#P$  699:KLM%P$ NO%P	
* +-'"+22488HI J377
CD E$$?$C$CDZ$[#\ ]%%@%D%DE\%]$^ _##>#B#BCX#Y"Z [$$?$C$CDZ$[#\ ]$$?$C$CDZ$[#\ ]7;;<OPQ R:>>?PQRRS	U	
 #%!#****D*H*HIe*f)g h++E+I+IJg+h*i j,,F,J,JKi,j+k l00J0N0NOq0r/s t**D*H*HIe*f)g h$$>$B$BCY$Z#[ \44N4R4RSy4z3{ |--G-K-KLk-l,m n##=#A#ABS#T"UUV	X	
 ! "'G'M2$`M !!&)/R $$\28b&&#xx(9:; <,- .((<01 2 HH%89: ;$$+KK0M$N#O P//6{{;\/].^^_a	
 a
 !%%l39r(,,^<B%))*:;Ar
&**<8>B-112EFL"'++M:@b'++,=>D"&**+>?E2+//0LMSQS'++,ABHb)--.@AGR*../GHNB"5"9"9:Q"R"XVX 0 4 45P Q WUW1556OPVTV$7$;$;<_$`$fdf!!4!8!8!F!L"'++,=>D"%))*>?E2
,00:@b+//9?R*../?@FB)--.EFL"&)hh.o{WgGhGnln.o&o#*-(( 3
$/OO4Q$R$XVX3
 +
' !$ )
-)
 !

  #xx (
-(
  

 	"((ko ko  ko$jj9:ko;ko XX%pfjjYhNiNomo%ppqkorko ,//0BCIrNN}]_ko`#ko $1#4#45L#M"N	koO	ko
  -001GHIko
J!ko ",0F!G Hko IJko KU..YoJpIqkor ko !+/D EFko GHko ISWlHmGnkooko )nn-=>?ko@1ko 2=Ad1e0fkog2ko 3>//Bf2g1hkoi0ko 1<@b0c/dkoe6ko 7BooFn6o5pkoq3ko 4???Ch3i2jkok9ko :EIt9u8vkow6ko 7BooFn6o5pkoq?ko  @K  PA  @B  ?C!ko CJ!ko" KV//  [W  KX  JY#ko"Y/#ko$ 0;?`/a.b%ko$c)%ko& *59X)Y(Z'ko&[3'ko( 4???Ch3i2j)ko(k<)ko* =HOOLz<{;|+ko*}4+ko, 5@OODj4k3l-ko,m5-ko. 6A__El5m4n/ko.o7/ko0 8CGp7q6r1ko0s01ko2 1<@b0c/d3ko2e.3ko4 /:oo>^._-`5ko4a75ko6 8CGp7q6r7ko6sB7ko8 CN//  SG  CH  BI9ko8IK9ko: LW??  \Y  LZ  K[;ko:[A;ko< BM  RE  BF  AG=ko<G>=ko> ?JooN~>  >A?ko>A#?ko@ $0#3#34F#G"HAko@ INAko@ O[N^N^_rNsMtAko@ uCAko@ DP  DT  DT  Uf  Dg  ChAko@h)AkoB ,8+;+;H+E+K*P*PQy*z(|CkoB }~CkoB AM  AQ  AQ  RZ  A[  Aa  _a  @f  @f  gL  @M  ~OCkoBO&CkoD '9&<&<_&M%NEkoD OQEkoD RdQgQg  iA  RB  QCEkoDC!EkoF "4!7!78P!Q RGkoF STGkoF UgTjTj  lJ  UK  TLGkoF LNGkoF Oa  Oe  Oe  fA  OB  NCGkoFC%GkoH &8%;%;<P%Q$RIkoHS(IkoJ );(>(>?[(\']KkoJ^)KkoL *=)@)@AU)V(WMkoLX3MkoN 4K3N3NO_3`2aOkoNb)OkoP *?)B)BCS)T(UQkoPV/QkoR 0E/H/HI_/`.aSkoR bdSkoR ezd}d}  Y  eZ  d[SkoR['SkoT (;'>'>{'K&LUkoT MNUkoT ObNeNefwNxMyUkoT z|UkoT }P  }T  }T  Uc  }d  |eUkoTe*UkoV +D*G*G*T)UWkoV VWWkoV XqWtWt  vG  XH  WIWkoV IKWkoV Le  Li  Li  jx  Ly  KzWkoVz&WkoX '@&C&CN&S%TYkoXU#YkoZ $9"9[koZ:"[ko\ #7!7]ko\8$]ko^ %0OO4J$K#L_ko^M1_ko` 2=Ad1e0fako`g4akob 5@OODj4k3lckobm4ckod 5@OODj4k3lekodm/ekof 0;?`/a.bgkofcgkoh 0334LMNikohOikoj /22;?@kkojA!kkol "4!7!78H!I JmkolKmkon /22<@Aokon BCokon DVCYCYZgChBiokonj+okop ,>+A+AB\+]*^qkop_'qkor (:'='=>T'U&VskorW1skot 2=Ad1e0fukotg>ukov ?JooN~>  >AwkovA8wkox 9DHr8s7tykoxu@ykoz AL  QC  AD  @E{kozE*{ko| +6//:V*W)X}ko|Y>}ko~ ?JooN~>  >Ako~A>ko@ ?JooN~>  >AAko@A2AkoB 3>//Bf2g1hCkoBi3CkoD 4???Ch3i2jEkoDk7EkoF 8CGp7q6rGkoFs/GkoH 0;?`/a.bIkoHc?IkoJ @K  PA  @B  ?CKkoJC7KkoL 8CGp7q6rMkoLsMkoN  033ODEOkoNFOkoP  033ODEQkoPF"QkoR #4"7"78R"S!TSkoRU$SkoT %6$9$9:U$V#WUkoT XYUkoT ZkYnYn  pK  ZL  YMUkoTMUkoV *ooo>?WkoV @AWkoV BMQ`Aa@bWkoV cdWkoV epdsds  uD  eE  dFWkoV FGWkoV HS  HW  HW  Xk  Hl  GmWkoVmWkoX  +{;<YkoX=(YkoZ )D'D[koZE$[ko\ %5$8$89I$J#K]ko\L"]ko^ #3"6"67N"O!P_ko^ QR_ko^ ScRfRf  hC  SD  RE_ko^E"_ko` #3"6"67T"U!Vako`W"akob #3"6"67O"P!QckobR"ckod #&o"6!7ekod8%ekof &4%7%78H%I$JgkofK1gkoh 2@1C1CDc1d0eikohf"ikoj #-.."A!BkkojCkkol (^^,=>?mkol@&mkon '1nn5K&L%MokonN/okop 0;?`/a.bqkopc2qkor 3>//Bf2g1hskori=skot >I__M|=}<~ukot:ukov ;F//Jv:w9xwkovy9wkox :EIt9u8vykoxw3ykoz 4???Ch3i2j{kozk6{ko| 7BooFn6o5p}ko|q1}ko~ 2=Ad1e0fko~g2ko@ 3>//Bf2g1hAko@i+AkoB ,7??;X+Y*ZCkoB[*CkoD +6//:V*W)XEkoDY9EkoF :EIt9u8vGkoFw+GkoH ,7??;X+Y*ZIkoH[+IkoJ ,K*KKkoJL/KkoL 0;?`/a.bMkoLc8MkoN 9DHr8s7tOkoNu6OkoP 7BooFn6o5pQkoPqBQkoR CN//  SG  CH  BISkoRI-SkoT .9__=\-],^UkoT_4UkoV 5@OODj4k3lWkoV mnWkom	
^ K
 (155h?E2!((T T  T?CCDUVWTXT?CCDZ[\T]T =@@A]^_T`T :==>NOP	TQ+	T
 ,L+O+OPi+j*kT
 lmT 0334RSTT UVT 0334XYZT[(T )I(L(LMs(t'uTv&T 'G&J&JKm&n%oTp,T -M,P,PQu,v+wTx"T #C"F"FG_"`!aTb1T 2R1U1UV~1  1AT ABT 0334QRSTT3T 4T3W3WX}3~2T@2T 3S2V2VW{2|1}T~ T  !A D DEb cd!T e+!T" ,L+O+OPm+n*o#T"p&#T$ '-jj1`&a%b%T$c%T& %jj)PQR'T&S<'T( =CJJGu<v;w)T(xB)T* CI**  NB  CC  BD+T*D0+T, 17

;]0^/_-T,`>-T. ?EjjIy>z={/T.|//T0 06zz:[/\.]1T0^)1T2 *04O)P(Q3T2 RS3T	
8 )+%%.227;Ar8$8$.223KLRPRyy(.Byy(.B)00W W  WHWW%hW'#W#A#E#EF[#\"]W^'W (F'I'IJq'r&sW tuW .112GHI	WJ-	W
 .L-O-OPs-t,uW
 vwW .112GHIWJ$W %1$4$45M$N#OWP(W )5(8(89V(W'XWY$W %1$4$45M$N#OWP(W )5(8(89V(W'XWY W !? B BCU VWWXW 5889JKLWMW 9<<\JKWL1W xx6::;`agegholopWq$W  %((F(J(JK\(](cac$d#e!W f!W" ;>>?QRS#W"TW#W	
* !#!%%&?@FB%))*CDJ
 $$%FGM2'++,OPVTV[[
  	 !1 4 45V W ][]  !JKQr 	! -001JKQr!1!5!56W!X!^\^/334RSYWY$4$8$89[$\$b`b!"2"6"67W"X"^\^  !LMSQS 	% 	"((O_ O_ ( O_(8(<(<=[(\']O_^&O_&6&:&:;W&X%YO_Z O_ !'

+M NOO_PO_ $ZZ(WXY	O_Z$	O_
 %/NN3M$N#OO_
P!O_ "2!5!56k!l mO_n"O_ #3"6"67f"g!hO_iO_ ;<=O_ >?O_ >?@O_ ABO_ ?@AO_BO_ DEFO_ GHO_ BCDO_ EFO_ >?@O_ ABO_  >?@!O_ A#!O_$ %((78%O_$ 9:%O_& %(()GHI'O_& JK'O_( %(()EFG)O_( HI)O_* %(()IJK+O_*L&+O_. (++,?@A/O_. BC/O_0 (++,IJK1O_0L1O_4 $''(ABC5O_4 DE5O_6 $''(KLM7O_6 NO7O_8 $''(KLM9O_8 NO9O_: $''(PQR;O_: ST;O_< $''(ABC=O_< DE=O_> ),,-FGH?O_> IJ?O_@ ),,-PQRAO_@ STAO_B ),,-PQRCO_B STCO_D ),,-UVWEO_D XYEO_F ),,-FGHGO_F IJGO_H '**+DEFIO_H GHIO_J '**+NOPKO_J QRKO_L '**+NOPMO_L QRMO_N '**+STUOO_N VWOO_P '**+DEFQO_P GHQO_R ,//0IJKSO_R LMSO_T ,//0STUUO_T VWUO_V ,//0STUWO_V VWWO_X ,//0XYZYO_X [\YO_Z ,//0IJK[O_ZL [O_^ $''(89:_O_^ ;<_O_` ),,-=>?aO_` @AaO_b '**+;<=cO_b >?cO_d ,//0@ABeO_dC"eO_f #()),<"=!>gO_f?+gO_h ,1995H+I*JiO_hK(iO_j ).		2S(T'UkO_j VWkO_l yy789mO_l:mO_p !$$%567qO_p 89qO_r !$$%=>?sO_r @AsO_t !$$%:;<uO_t =>uO_v !$$%EFGwO_v HIwO_x !$$%?@AyO_x BCyO_z !$$%=>?{O_z @A{O_| !$$%@AB}O_|C$}O_@ &))*;<=AO_@ >?AO_B &))*JKLCO_B MNCO_D &))*OPQEO_DREO_H !$$%OPQIO_H RSIO_J !$$%VWXKO_J YZKO_L !$$%RSTMO_L UVMO_N !$$%PQROO_N STOO_P !$$%NOPQO_PQ QO_R !1 4 45G HISO_RJSO_T +..|<=UO_T>&UO_X xx(,,-GHNBOVSVWYO_XX$YO_Z %((8(<(<=N(O(USU$V#W[O_ZX[O_\ '**+<=>]O_\?_]O_Q	
d %'!$%,,H H   H = A ABX YZH[H599:RSTHUH  =@@AZ[\H]!H "?!B!BCZ![ \	H]	H
  =@@AijkH
 lmH -001HIJHKH :==>hijH klH -001HIJHK H !> A ABt uvH wxH -001HIJHK!H "?!B!BCv!w xH yzH -001HIJHKH ;>>?nopH qrH -001HIJHKH <??@pqrH stH  -001HIJ!H K!!H" "?!B!BCg!h i#H"j(#H$ )F(I(IJh(i'j%H$k$%H& %B$E$EF\$]#^'H&_'H( 4778IJK)H(LH)H	
0 ,.(',332Z 2Z " 2Z"B"F"FG_"`!a2Zb!2Z!A!E!EF]!^ _2Z`2Z ?BBCbcd2Ze2Z  @CCDdef	2Zg#	2Z
 $D#G#GHl#m"n2Z
o)2Z *J)M)MNx)y(z2Z{'2Z (H'K'KLp'q&r2Z st2Z 0334DEF2ZG2Z 7::;[\]2Z ^_2Z 0334DEF2ZG2Z 8;;<]^_2Z `a2Z 0334DEF2ZG!2Z "B!E!EF\!] ^2Z_ 2Z !33S3W3WXn3o pq2Zr82Z  0334TUV!2Z  WX!2Z" 0334VWX#2Z" YZ#2Z$ 0334YZ[%2Z$ \]%2Z& 0334XYZ'2Z&[!'2Z( "B!E!EFj!k l)2Z(m)2Z, 7::;fgh-2Z,i-2Z. ;>>?nop/2Z. qr/2Z0 0334_`a12Z0 bc12Z2 0334`ab32Z2c32Z4 8;;<hij52Z4 kl52Z6 0334\]^72Z6 _`72Z8 0334]^_92Z8`92Z: :==>hij;2Z: kl;2Z< 0334Z[\=2Z< ]^=2Z> 0334[\]?2Z>^?2Z@ //O/S/STq/rstA2Z@u/A2ZD 0334]^_E2ZD `aE2ZF 0334`abG2ZF cdG2ZH 0334_`aI2ZHb!I2ZJ "B!E!EFd!e fK2ZJgK2ZL 5889^_`M2ZL abM2ZN 0334VWXO2ZN YZO2ZP 0334]^_Q2ZP`!Q2ZR "B!E!EFm!n oS2ZRp!S2ZT "B!E!EFs!t uU2ZTv$U2ZV %E$H$HIo$p#qW2ZVr%W2ZX &F%I%IJa%b$cY2ZXdY2ZZ ;>>|LM[2ZZN3[2Z^ xx8<<=dekiklspst_2Z^u$_2Z` %((H(L(LM^(_(ece$f#ga2Z`ha2Zb 7::;LMNc2ZbOZc2Z4	
j -/)#+//0FGM2;??@[\b`bc-44N N  N !=!A!A/!R!XVXYZN[N  ##?#C#CDU#V#\Z\]^N_N 7::;KLM	NN	N
  <??@Z[\N
]%N &B%E%EF\%]$^N_ N != @ @AW XYNZN  <??@^_`N abN ,//0EFGNHN %XN&N  #xx(D(H(HIg(h(nlnoysyzN{!N "&*N!O PNQ!N "&*N!O PNQ N !%)I JKNLN  $xx(FGHNI N  !%)> ?@!N  AB!N" ,//0@AB#N"C!#N$ "&*=!> ?%N$@%N& 7::<HI'N&J.'N* xx4889[\b`bcjgjk+N*l$+N, %((D(H(HIZ([(a_a$b#c-N,d-N. 3667HIJ/N.KN/N	
6 .0*$.55bW bW  bW !>!B!BCW!X!^\^_`bWabW = A A* M SQSTUbWVbW :==>PQRbWSbW  ##@#D#DEV#W#][]^_	bW`	bW
 8;;<LMNbW
O#bW $A#D#DEZ#["\bW]bW zz7;;<XY_]_ko  }G  H  IbWIbW 5889STUbWVbW 4778NOPbWQ+bW ,I+L+LMj+k*lbWm$bW %B$E$EF\$]#^bW_bW 8;;LIJbWK(bW xx599:VW][]^ebefbWg$bW  %((E(I(IJ[(\(b`b$c#d!bW e !bW" !> A ABb cd#bW"e#bW$  =@@A_`a%bW$b%bW( -001JKL)bW( MN)bW* -001QRS+bW* TU+bW, -001[\]-bW, ^_-bW. -001\]^/bW. _`/bW0 -001TUV1bW0W1bW4 -001UVW5bW4 XY5bW6 -001fgh7bW6 ij7bW8 -001ghi9bW8 jk9bW: -001_`a;bW:b;bW> -001NOP?bW> QR?bW@ -001MNOAbW@ PQAbWB -001KLMCbWB NOCbWD -001JKLEbWD MNEbWF -001VWXGbWF YZGbWH -001STUIbWHV!IbWJ "?!B!BCd!e fKbWJg KbWN -001FG  YK]^{^^  AW  _X  LY  ZObWNZ8ObWR -001QRSSbWR TUSbWT -001STUUbWT VWUbWV -001VWXWbWV YZWbWX -001UVWYbWXX!YbWZ "?!B!BCg!h i[bWZj[bW\ ;>>?\]^]bW\_]bW^ <??@^_`_bW^a_bWb 4778cdecbWbfcbWd 5889efgebWd hiebWf -001YZ[gbWf \]gbWh -001Z[\ibWh]ibWj 7::;efgkbWj hikbWl -001WXYmbWl Z[mbWn -001XYZobWn[obWp //L/P/PQn/opqqbWpr/qbWt -001Z[\ubWt ]^ubWv -001]^_wbWv `awbWx -001\]^ybWx_!ybWz "?!B!BCa!b c{bWzd{bW| 2556[\]}bW| ^_}bW~ -001STUbW~ VWbW@ -001Z[\AbW@]#AbWB $A#D#DEh#i"jCbWBk)CbWD *G)J)JKt)u(vEbWDw'EbWF (E'H'HIf'g&hGbWFi(GbWH )F(I(IJh(i'jIbWHk$IbWL -001[\]MbWL^!MbWP -001XYZQbWP[QbWR :==>Z[\SbWR]SbWV -001WXYWbWV Z[WbWX -001fghYbWXiYbW\ -001RST]bW\ UV]bW^ -001PQR_bW^ ST_bW` -001^_`abW` ababWb -001^_`cbWbacbWf -001Z[\gbWf ]^gbWh -001XYZibWh [\ibWj -001]^_kbWj `akbWl -001TUVmbWlWmbWp -001XYZqbWp [\qbWr -001bcdsbWr efsbWt -001hijubWtkubWx -001XYZybWx [\ybWz -001[\]{bWz ^_{bW| -001\]^}bW|_'}bW@ -001UVWAbW@ XYAbWB -001fghCbWB ijCbWD -001defEbWD ghEbWF -001hijGbWFk*GbWJ -001^_`KbWJ abKbWL -001hijMbWLkMbWP -001ijkQbWP lmQbWR -001stuSbWR vwSbWT -001stuUbWT vwUbWV -001xyzWbWV {|WbWX -001ijkYbWX lmYbWZ -001mno[bWZ pq[bW\ -001wxy]bW\ z{]bW^ -001wxy_bW^ z{_bW` -001|}~abW` @abWb -001mnocbWb pqcbWd -001klmebWd noebWf -001uvwgbWf xygbWh -001uvwibWh xyibWj -001z{|kbWj }~kbWl -001klmmbWl nombWn -001pqrobWn stobWp -001z{|qbWp }~qbWr -001z{|sbWr }~sbWt -001  A  BubWt BCubWv -001pqrwbWvs wbWz -001`ab{bWz cd{bW| -001def}bW| gh}bW~ -001bcdbW~ efbW@ -001ghiAbW@j!AbWD -001XYZEbWD [\EbWF -001ijkGbWF lmGbWH -001opqIbWH rsIbWJ -001XYZKbWJ [\KbWL -001ijkMbWL lmMbWN -001opqObWNrObWR -001defSbWR ghSbWT -001cdeUbWT fgUbWV -001`abWbWV cdWbWX -001klmYbWX noYbWZ -001efg[bWZ hi[bW\ -001cde]bW\ fg]bW^ -001fgh_bW^i(_bWb -001lmncbWb opcbWd -001{|}ebWd ~ebWf -00  2A  B  CgbWfC!gbWj -001lmnkbWj opkbWl -001stumbWl vwmbWn -001opqobWn rsobWp -001pqrqbWp stqbWr -001vwxsbWr yzsbWt -00  2C  D  EubWt EFubWv -001mnowbWv pqwbWx -001klmybWxn!ybWz "?!B!B  DU  "V  !W{bWzW{bW| 8;;<XYZ}bW|[}bW~ :==>`abbW~c-bW@ .K-N-NOn-o,pAbW@q#AbWB $A#D#DEk#l"mCbWBnCbWD  =@@ARSTEbWD UVEbWd	
N 	!M#s*J	+PQg S), s"B)^(_	
 	Y-J9"#5677ab"#=>??tu>Oq?r>sst  vE  FP  vQ  uR R)*@ABB\&'BCDD_&'=>?P
 `c' &B,#	
* 	^ jf5 )5 +	5
 g5 g5 699(CxO v7;;GDE FDD VS5( 699:MN j7;;<OPQ RAA U_)54 699.I	 t7;;NKL Mdd PR55P 699-H a7;;MJK L @`  @d  @d  eA  @B  C Cg hH  hL  hL  Mf  hg  gh hy zZ  z^  z^  _{  z|  y} }E Ff  Fj  Fj  kF  FG  EH HM Nn  Nr  Nr  sK  NL  MM Mw xX  x\  x\  ]|  x}  w~ ~HH OQQ5` 033H=I @155i@A155jAB"155f=> ?~~ PSa5b Rc5d Be5f dg5h Xi5l u;	
x 	&Yr s,
 
	
 	 Lh/0A+0N/OqQh'(9(=(=>RTU(V'WWXYh /s9~.>gdiiPYZ\[\P]F^E__abh '	h
 ,h //@/D/DEacd/e.f  gn  oh Dh lh  <??IXU} \_!h< 7"KK(J(N(Nv(V(\Z\]^ _AEEmTU V((J(N(NOd(e'f g?CCGLM N%%G%K%KO%\$] ^&&H&L&LM]&^%_ `((J(N(NOa(b'c d//Q/U/UVo/p.q r&&H&L&LM]&^%_ `//Q/U/UVo/p.q rMM =|=h> @?h@ 'AhB xChD wEhF ~GhH wIhJ zKhL vMhN /OhP CQhX *EAM AM ( AM(<(@(@AS(T'UAMV,AM xx 4 8 8 I ORPWTWXAMY+AM
 xx 4 8 89J K QrRYVYZAM
[+AM ,@+C+CD^+_*`AMa#AM $8#;#;<R#S"TAMU0AM ,//0UVWAM XYAM ,//0TUVAMW<AM ,//0abcAMd6AM ,//0ghiAMj7AM  ,//0ijk!AM l;!AM$ ,//0^_`%AM$a<%AM( **>*B*BCq*rst)AM(uQ)AM, ,//0hij-AM, kl-AM. ,//0jkl/AM. mn/AM0 ,//0mno1AM0 pq1AM2 ,//0lmn3AM2oA3AM6 ,//0lmn7AM6o7AM: 3667z{|;AM:}";AM< #7":":  <C  #D  "E=AM< EF=AM> ,//0stu?AM> vw?AM@ ,//0tuvAAM@wAAMB  4778|}~CAMB @CAMD ,//0pqrEAMD stEAMF ,//0qrsGAMFt!GAMH "6!9!9:|!} ~IAMH @IAMJ ,//0nopKAMJ qrKAML ,//0opqMAMLrMAMN 1445rstOAMN uvOAMP ,//0jklQAMP mnQAMR ,//0qrsSAMRt8SAMV ,//0RSTWAMVU2WAMZ ,//0Z[\[AMZ ]^[AM\ ,//0def]AM\ gh]AM^ ,//0`ab_AM^c6_AMb ,//0\]^cAMb _`cAMd /334_`fdfgheAMd ijeAMf ,//0\]^gAMf _`gAMh /334^_ecefgiAMh hiiAMj ,//0NOPkAMjQ>kAMn ,//0\]^oAMn_5oAMr ,//0UVWsAMrXBsAMv ,//0jklwAMv mnwAMx ,//0tuvyAMx wxyAMz ,//0|}~{AMz @{AM| ,//0stu}AM| vw}AM~ ,//  1A  B  CAM~CDAMB zz"6":":  <L  #M  #S  QS  _c  pz  {  |CAMB |}CAMD zz"6":":  <T  #U  #[  Y[  gk  xB  C  DEAMDDEAMH 3667|}~IAMHIAMJ  4778~  AKAMJ ABKAML ,//0rstMAML uvMAMN ,//0stuOAMNv!OAMP "6!9!9:~!  !AQAMP ABQAMR ,//0pqrSAMR stSAMT ,//0qrsUAMTtUAMV 1445tuvWAMV wxWAMX ,//0lmnYAMX opYAMZ ,//0stu[AMZv;[AM^ ,//0cde_AM^ fg_AM` ,//0jklaAM` mnaAMb ,//0tuvcAMb wxcAMd ,//0uvweAMd xyeAMf ,//0mnogAMfpAgAMj ,//0nopkAMj qrkAMl ,//0  A  BmAMl BCmAMn ,//  1A  B  CoAMn CDoAMp ,//0xyzqAMp{<qAMt ,//0ghiuAMt jkuAMv ,//0fghwAMv ijwAMx ,//0defyAMx ghyAMz ,//0cde{AMz fg{AM| ,//0opq}AM| rs}AM~ ,//0lmnAM~o>AMB ,//0_`  Cdv  xL  xP  xP  QA  xB  eC  DCAMBDSCAMF ,//0jklGAMF mnGAMH ,//0lmnIAMH opIAMJ ,//0opqKAMJ rsKAML ,//0nopMAMLqCMAMP ,//0nopQAMPqFQAMT ,//0tuvUAMTwCUAMX ,//0qrsYAMXt7YAM\ ,//0VWX]AM\Y:]AM` ,//0^_`aAM`a=aAMd xx 4 8 89o p vtvw~{~eAMd@FeAMh /334_`fdfghiAMhi8iAMl ,//0cdemAMlf8mAMp ,//0fghqAMpiAqAMt ,//0pqruAMt stuAMv ,//0  A  BwAMvBAwAMz ,//0klm{AMz no{AM| ,//0ijk}AM| lm}AM~ ,//0wxyAM~ z{AM@ ,//0wxyAAM@z=AAMD ,//0stuEAMD vwEAMF ,//0qrsGAMF tuGAMH ,//0vwxIAMH yzIAMJ ,//0mnoKAMJpAKAMN ,//0qrsOAMN tuOAMP ,//0{|}QAMP ~QAMR ,//  1B  C  DSAMRD<SAMV ,//0qrsWAMV tuWAMX ,//0tuvYAMX wxYAMZ ,//0uvw[AMZx<[AM^ ,//0fgh_AM^i&_AMb ,//0UVWcAMbX-cAMf ,//0VWXgAMf YZgAMh ,//0\]^iAMh _`iAMj ,//0Z[\kAMj ]^kAMl ,//0Z[\mAMl ]^mAMn ,//0_`aoAMnb*oAMr xx 4 8 89i j pnpqxuxysAMr z{sAMt xx 4 8 89s t zxz{  C  @C  DuAMt DEuAMv ,//0abcwAMv dewAMx ,//0`abyAMx cdyAMz ,//0^_`{AMz ab{AM| ,//0cde}AM| fg}AM~ ,//0abcAM~d+AMB ,//0ghiCAMB jkCAMD ,//0UVWEAMD XYEAMF ,//0cdeGAMF fgGAMH ,//0ghiIAMH jkIAMJ ,//0hijKAMJk/KAMN ,//0fghOAMN ijOAMP ,//0XYZQAMP [\QAMR xx 4 8 89j k qoqryvyzSAMR {|SAMT ,//0cdeUAMT fgUAMV ,//0ijkWAMV lmWAMX ,//0ijkYAMX lmYAMZ ,//0nop[AMZ qr[AM\ ,//0{|}]AM\ ~]AM^ ,//0|}~_AM^ @_AM` ,//  1A  B  CaAM` CDaAMb ,//0nopcAMb qrcAMd ,//0xyzeAMd {|eAMf ,//0stugAMfv,gAMj ,//0defkAMj ghkAMl ,//0fghmAMl ijmAMn ,//0bcdoAMne)oAMr ,//0LMNsAMr OPsAMt ,//0YZ[uAMt \]uAMv ,//0]^_wAMv `awAMx ,//0fghyAMx ijyAMz ,//0cde{AMz fg{AM| ,//0fgh}AM| ij}AM~ ,//0\]^AM~_/AMB ,//0PQRCAMB STCAMD ,//0OPQEAMD RSEAMF ,//0ghiGAMF jkGAMH ,//0fghIAMHi&IAML /334KLRPRSTMAML UVMAMN /334XY_]_`aOAMN bcOAMP /334[\b`bcdQAMP efQAMR /334\]cacdeSAMR fgSAMT /334VW][]^_UAMT`*UAMX ,//0abcYAMX deYAMZ ,//0def[AMZ gh[AM\ ,//0ghi]AM\ jk]AM^ ,//0\]^_AM^_1_AMb xx 4 8 89c d jhjkrorscAMbt3cAMf ,//0YZ[gAMf\$gAMj ,//0LMNkAMj OPkAMl ,//0QRSmAMlT0mAMp ,//0TUVqAMpW-qAMt ,//0STUuAMt VWuAMv ,//0_`awAMvb2wAMz ,//0YZ[{AMz\4{AM~ ,//0cdeAM~f7AMB ,//0bcdCAMBe5CAMF ,//0YZ[GAMF\0GAMJ ,//0NOPKAMJQ*KAML +?*B*BC\*])^MAML_-MAMN .B-E-EFe-f,gOAMNh*OAMR ,//0^_`SAMRa,SAMV ,//0JKLWAMV MNWAMX ,//0OPQYAMXR0YAM\ ,//0STU]AM\ VW]AM^ ,//0XYZ_AM^ [\_AM` ,//0]^_aAM``,aAMb -A,D,DE`,a+bcAMbc1cAMd 2F1I1IJj1k0leAMdm2eAMh xx 4 8 89k l rprszwz{iAMh|;iAMl /334TU[Y[\]mAMl^3mAMn 4H3K3KLm3n2ooAMnp%oAMr ,//0]^_sAMr `asAMt ,//0[\]uAMt ^_uAMv ,//0OPQwAMvR,wAMz ,//0RST{AMz UV{AM| ,//0WXY}AM| Z[}AM~ ,//0XYZAM~ [\AM@ ,//0UVWAAM@ XYAAMB ,//0]^_CAMB `aCAMD ,//0YZ[EAMD \]EAMF ,//0TUVGAMF WXGAMH ,//0[\]IAMH^3IAML ,//0QRSMAMLT0MAMP ,//0NOPQAMPQ,QAMT ,//0PQRUAMTS/UAMX xx 4 8 89` a gegholopYAMXq8YAM\ /334QRXVXYZ]AM\[.]AM` ,//0UVWaAM` XYaAMb ,//0[\]cAMb ^_cAMd ,//0RSTeAMd UVeAMf ,//0PQRgAMfS.gAMj ,//0WXYkAMj Z[kAMl ,//0]^_mAMl`3mAMp ,//0Z[\qAMp]-qAMt ,//0`abuAMtc<uAMx ,//0[\]yAMx ^_yAMz ,//0hij{AMz kl{AM| ,//0efg}AM|hQ}AM@	 ,//0hijA	AM@	 klA	AMB	 ,//0jklC	AMB	 mnC	AMD	 ,//0nopE	AMD	 qrE	AMF	 ,//0pqrG	AMF	 stG	AMH	 ,//0nopI	AMH	q4I	AML	 ,//0rstM	AML	 uvM	AMN	 ,//0pqrO	AMN	s2O	AMR	 ,//0qrsS	AMR	 tuS	AMT	 ,//  1A  B  CU	AMT	 CDU	AMV	 ,//  1F  G  HW	AMV	H/W	AMZ	 ,//0mno[	AMZ	 pq[	AM\	 ,//0wxy]	AM\	 z{]	AM^	 ,//0yz{_	AM^	 |}_	AM`	 ,//0mnoa	AM`	p4a	AMd	 ,//0defe	AMd	g0e	AMh	 ,//0efgi	AMh	 hii	AMj	 ,//0fghk	AMj	i3k	AMn	 ,//0defo	AMn	 gho	AMp	 ,//0pqrq	AMp	s6q	AMt	 ,//0mnou	AMt	 pqu	AMv	 ,//0stuw	AMv	v;w	AMz	 ,//0tuv{	AMz	 wx{	AM|	 ,//0  A  B}	AM|	B2}	AM@
 xx   J8L8P8P  RB  9C  9I  GI   J  J  KA
AM@
K3A
AMD
 xx   K8L8P8P  RC  9D  9J  HJ   K  K  LE
AMD
L0E
AMF
 1E0H0HIo0p/qG
AMF
r>G
AMH
 ?S>V>V  XL  ?M  >NI
AMH
N6I
AMJ
 7K6N6NOx6y5zK
AMJ
{-K
AMN
 ,//0cdeO
AMN
 fgO
AMP
 ,//0cdeQ
AMP
 fgQ
AMR
 xx 4 8 89m n trtu|y|}S
AMR
~/S
AMT
 0D/G/GH{/|.}U
AMT
~3U
AMX
 ,//0ijkY
AMX
l,Y
AM\
 xx 4 8 89X Y _]_`a]
AM\
b1]
AM^
 2F1I1IJj1k0l_
AM^
m1_
AMb
 ,//0WXYc
AMb
 Z[c
AMd
 ,//0Z[\e
AMd
]5e
AMh
 ,//0_`ai
AMh
b7i
AMl
 0334_`am
AMl
 bcm
AMn
 0334hijo
AMn
 klo
AMp
 0334hijq
AMp
k?q
AMt
 0334qrsu
AMt
tcu
AMx
 0334mnoy
AMx
 pqy
AMz
 0334klm{
AMz
 no{
AM|
 0334mno}
AM|
 pq}
AM~
 0334ijk
AM~
l8
AMB ,//0YZ[CAMB \]CAMD ,//0XYZEAMD[<EAMH ,//0`abIAMHcAIAML ,//0efgMAMLhBMAMP ,//0ghiQAMPj@QAMT ,//0ghiUAMTjBUAMX ,//0hijYAMXk?YAM\ ,//0ijk]AM\l;]AM` ,//0jklaAM` mnaAMb ,//0defcAMb ghcAMd ,//0stueAMd vweAMf ,//0|}~gAMf@gAMj ,//0ijkkAMjl)kAMn ,//0defoAMng0oAMr ,//0^_`sAMra)sAMv ,//0efgwAMvh*wAMz ,//0def{AMzg.{AM~ ,//0ghiAM~j$AMB ,//0defCAMB ghCAMD ,//0defEAMD ghEAMF ,//0pqrGAMFs.GAMJ xx 4 8 89m n trtu|y|}KAMJ~7KAMN ,//0pqrOAMNs0OAMR ,//0mnoSAMR pqSAMT ,//0stuUAMTv-UAMX ,//0|}~YAMX;YAM\ xx 4 8 89y z  !A  A  B  I  FI  J]AM\J']AM` ,//0nopaAM`q"aAMd ,//0^_`eAMda*eAMh ,//0\]^iAMh_7iAMl ,//0fghmAMl ijmAMn ,//0efgoAMn hioAMp ,//0hijqAMpk4qAMt ,//0pqruAMt stuAMv ,//0lmnwAMvo'wAMz ,//0_`a{AMzb-{AM~ ,//0efgAM~h/AMB xx 4 8 89p q wuwx|  ACAMBA=CAMF ,//0lmnGAMF opGAMH ,//0klmIAMH noIAMJ ,//0nopKAMJq:KAMN ,//0vwxOAMN yzOAMP ,//0rstQAMPu5QAMT ,//0klmUAMT noUAMV ,//0jklWAMVm;WAMZ ,//0qrs[AMZ tu[AM\ ,//0pqr]AM\s2]AM` ,//0efgaAM`h+aAMd ,//0ghieAMdj0eAMh ,//0abciAMhd:iAMl ,//0opqmAMl rsmAMn ,//0lmnoAMno@oAMr ,//0opqsAMr rssAMt ,//0nopuAMt qruAMv ,//0qrswAMvt=wAMz ,//0yz{{AMz |}{AM| ,//0uvw}AM|x>}AM@ ,//0tuvAAM@ wxAAMB ,//0stuCAMBv;CAMF ,//0xyzGAMF {|GAMH ,//  1H  I  JIAMH JKIAMJ ,//  1M  N  OKAMJO0KAMN ,//0cdeOAMNf,OAMR ,//0_`aSAMRb8SAMV ,//0WXYWAMVZ8WAMZ ,//0\]^[AMZ _a[AM\ ,//0bcd]AM\ ef]AM^ ,//0\]^_AM^ _a_AM` ,//0bcdaAM`e=aAMd ,//0abceAMdd8eAMh ,//0jkliAMh mniAMj ,//0jklkAMjm=kAMn ,//0nopoAMn qroAMp ,//0nopqAMpq:qAMt ,//0qrsuAMt tuuAMv ,//0uvwwAMv xywAMx ,//0uvwyAMx xyyAMz ,//0qrs{AMzt?{AM~ ,//0hijAM~k+AMB ,//0cdeCAMB fgCAMD ,//0cdeEAMDf+EAMH xx 4 8 89_ ` fdfgnknoIAMHp+IAML xx 4 8 89_ ` fdfgnknoMAMLp*MAMP xx 4 8 89] ^ dbdelilmQAMP noQAMR xx 4 8 89] ^ dbdelilmSAMRn5SAMV ,//0abcWAMVd.WAMZ ,//0bcd[AMZ ef[AM\ ,//0pqr]AM\ st]AM^ ,//0efg_AM^h9_AMb 0334abccAMb decAMd 0334jkleAMd mneAMf 0334jklgAMfmAgAMj 0334stukAMjvekAMn 0334opqoAMn rsoAMp 0334mnoqAMp pqqAMr 0334opqsAMr rssAMt 0334klmuAMtnIuAMx 0334tuvyAMxw8yAMz 9M8P8PQo8p7q{AMzr<{AM~ 0334VWXAM~Y=AMB 88$8$<$<=q$r$xvxy  A  ~A  BCAMBBFCAMF 3778_`fdfghGAMFi7GAMJ xx 4 8 89\ ] cacdkhklKAMJm@KAMN /334YZ`^`abOAMNc,OAMR ,//0TUVSAMR WXSAMT ,//0YZ[UAMT \]UAMV ,//0`abWAMVc3WAMZ ,//0cde[AMZ fg[AM\ ,//0bcd]AM\ ef]AM^ ,//0`ab_AM^c3_AMb ,//0bcdcAMb efcAMd ,//0lmneAMd opeAMf ,//0jklgAMfm1gAMh 2F1I1IJj1k0liAMhm3iAMj 4H3K3KLi3j2kkAMjl-kAMl .B-E-EFo-p,qmAMlr+mAMp ,//0TUVqAMp WXqAMr ,//0YZ[sAMr \]sAMt ,//0[\]uAMt^7uAMv 8L7O7OPu7v6wwAMvx1wAMz ,//0cde{AMz fg{AM| ,//0_`a}AM| bc}AM~ ,//0klmAM~n5AM@ 6J5M5MNm5n4oAAM@p6AAMD xx 4 8 89b c igijqnqrEAMDs?EAMH /334XY_]_`aIAMHb3IAML ,//0UVWMAML XYMAMN ,//0bcdOAMN efOAMP ,//0efgQAMP hiQAMR ,//0fghSAMR ijSAMT ,//0ghiUAMT jkUAMV ,//0^_`WAMVa9WAMZ xx   K8L8P8P  RC  9D  9J  HJ   K  K  R  OR  S[AMZS:[AM^ ,//0klm_AM^ no_AM` ,//0jklaAM`m4aAMd ,//0bcdeAMd efeAMf ,//0fghgAMf ijgAMh ,//0klmiAMh noiAMj ,//0hijkAMj klkAMl ,//0klmmAMl nomAMn ,//0mnooAMn pqoAMp ,//0]^_qAMp`4qAMt ,//0]^_uAMt `auAMv ,//0efgwAMvh6wAMz ,//0klm{AMz no{AM| xx 4 8 89u v |z|}  E  BE  F}AM|F5}AM@ ,//0lmnAAM@ opAAMB ,//0|}~CAMB @CAMD ,//  1D  E  FEAMD FGEAMF ,//  1F  G  HGAMF HIGAMH ,//  1G  H  IIAMHI%IAML ,//0QRSMAML TUMAMN ,//0UVWOAMN XYOAMP ,//0RSTQAMPU)QAMT ,//0QRSUAMT TUUAMV ,//0_`aWAMV bcWAMX /334RSYWYZ[YAMX\*YAM\ ,//0MNO]AM\ PQ]AM^ ,//0NOP_AM^Q/_AM` 0D/G/GHa/b.caAM`d0aAMd xx 4 8 89] ^ dbdelilmeAMdn9eAMh /334RSYWYZ[iAMh\+iAMl ,//0TUVmAMl WXmAMn ,//0UVWoAMn XYoAMp ,//0_`aqAMp bcqAMr ,//0VWXsAMrY*sAMv ,//0YZ[wAMv \]wAMx ,//0YZ[yAMx \]yAMz ,//0abc{AMz de{AM| ,//0bcd}AM|e,}AM@ ,//0`abAAM@ cdAAMB ,//0mnoCAMB pqCAMD ,//0_`aEAMD bcEAMF ,//0_`aGAMF bcGAMH ,//0qrsIAMHt3IAML ,//0tuvMAML wxMAMN ,//0~  AOAMN ABOAMP ,//0tuvQAMPw8QAMR 9M8P8P  RM  9N  8OSAMRO/SAMV ,//0bcdWAMV efWAMX ,//0opqYAMX rsYAMZ ,//0fgh[AMZ ij[AM\ ,//0abc]AM\ de]AM^ ,//0abc_AM^ de_AM` ,//0hijaAM`k6aAMd ,//0vwxeAMd yzeAMf ,//  1A  B  CgAMf CDgAMh ,//0vwxiAMhy;iAMj <P;S;S  UR  <S  ;TkAMjT0kAMn ,//0efgoAMn hioAMp ,//0]^_qAMp`.qAMt ,//0^_`uAMt abuAMv ,//0bcdwAMv efwAMx ,//0cdeyAMx fgyAMz ,//0mno{AMz pq{AM| ,//0fgh}AM| ij}AM~ ,//0_`aAM~ bcAM@ ,//0bcdAAM@ efAAMB ,//0cdeCAMB fgCAMD ,//0opqEAMD rsEAMF ,//0rstGAMF uvGAMH ,//0opqIAMH rsIAMJ ,//0_`aKAMJb+KAMN ,//0[\]OAMN ^_OAMP ,//0cdeQAMP fgQAMR xx 4 8 89i j pnpqxuxySAMR z{SAMT ,//0defUAMT ghUAMV ,//0^_`WAMVa/WAMZ ,//0fgh[AMZ ij[AM\ ,//0nop]AM\ qr]AM^ xx 4 8 89t u {y{|  D  AD  E_AM^ EF_AM` ,//0opqaAM` rsaAMb ,//0ijkcAMbl/cAMf ,//0TUVgAMf WXgAMh ,//0\]^iAMh _`iAMj xx 4 8 89b c igijqnqrkAMj stkAMl ,//0WXYmAMl Z[mAMn ,//0XYZoAMn[6oAMr ,//0efgsAMr hisAMt ,//0mnouAMt pquAMv ,//0pqrwAMv stwAMx ,//0fghyAMx ijyAMz ,//0efg{AMzh1{AM| 2F1I1IJi1j0k}AM|l+}AM~ ,@+C+CDb+c*dAM~e%AMB ,//0HIJCAMB KLCAMD ,//0LMNEAMD OPEAMF ,//0QRSGAMF TUGAMH ,//0YZ[IAMH \]IAMJ ,//0\]^KAMJ _`KAML ,//0[\]MAML^)MAMP ,//0RSTQAMP UVQAMR ,//0]^_SAMR `aSAMT /334`ageghiUAMT jkUAMV ,//0LMNWAMV OPWAMX ,//0XYZYAMX [\YAMZ /334YZ`^`ab[AMZ cd[AM\ ,//0PQR]AM\ ST]AM^ ,//0Z[\_AM^ ]^_AM` /334[\b`bcdaAM` efaAMb /334UV\Z\]^cAMb _`cAMd ,//0`abeAMd cdeAMf /334YZ`^`abgAMfc,gAMj ,//0TUVkAMj WXkAMl ,//0OPQmAMl RSmAMn ,//0PQRoAMn SToAMp ,//0OPQqAMpR/qAMt ,//0YZ[uAMt \]uAMv ,//0YZ[wAMv \]wAMx ,//0\]^yAMx _`yAMz ,//0\]^{AMz _`{AM| ,//0cde}AM| fg}AM~ ,//0YZ[AM~ \]AM@ ,//0XYZAAM@[6AAMB 7K6N6NOo6p5qCAMBr7CAMF xx 4 8 89\ ] cacdkhklGAMFm@GAMJ /334YZ`^`abKAMJc8KAML 9M8P8PQw8x7yMAMLz2MAMP ,//0cdeQAMP fgQAMR ,//0defSAMR ghSAMT ,//0jklUAMT mnUAMV ,//0\]^WAMV _`WAMX ,//0WXYYAMX Z[YAMZ ,//0`ab[AMZc.[AM^ ,//0OPQ_AM^ RS_AM` ,//0WXYaAM` Z[aAMb ,//0XYZcAMb [\cAMd ,//0WXYeAMd Z[eAMf ,//0abcgAMfd8gAMh 9M8P8PQs8t7uiAMhv9iAMl xx 4 8 89^ _ ecefmjmnmAMloBmAMp /334[\b`bcdqAMpe3qAMt ,//0YZ[uAMt \]uAMv ,//0UVWwAMv XYwAMx ,//0ijkyAMx lmyAMz ,//0efg{AMz hi{AM| ,//0`ab}AM|c0}AM@ ,//0QRSAAM@ TUAAMB ,//0YZ[CAMB \]CAMD ,//0Z[\EAMD ]^EAMF ,//0XYZGAMF [\GAMH ,//0YZ[IAMH \]IAMJ ,//0YZ[KAMJ\'KAMN ,//0VWXOAMN YZOAMP ,//0`abQAMP cdQAMR ,//0`abSAMR cdSAMT ,//0YZ[UAMT \]UAMV ,//0]^_WAMV`&WAMX ';&>&>?k&l%mYAMXn-YAMZ .B-E-EF]-^,_[AMZ`)[AM\ *>)A)ABZ)[(\]AM\]/]AM` xx 4 8 89` a gegholopaAM`q8aAMd /334QRXVXYZeAMd[4eAMh ,//0_`aiAMhb0iAMj 1E0H0HIk0l/mkAMjn/kAMl 0D/G/GHe/f.gmAMlh5mAMn 6J5M5MNy5z4{oAMn|5oAMr ,//0^_`sAMra6sAMv xx 4 8 89m n trtu|y|}wAMv~8wAMz ,//0`ab{AMzc4{AM~ xx 4 8 89e f ljlmtqtuAM~v9AMB ,//0^_`CAMBa5CAMF ,//0Z[\GAMF]:GAMJ ,//0ghiKAMJjBKAMN ,//0klmOAMNnCOAMR ,//0opqSAMRrCSAMV xx 4 8 89z {  !B  @B  C  J  GJ  KWAMVKEWAMZ ,//0mno[AMZpA[AM^ xx 4 8 89r s ywyz  B  B  C_AM^CF_AMb ,//0klmcAMbnBcAMf ,//0ghigAMfjGgAMj ,//0tuvkAMjwJkAMn ,//0stuoAMnvKoAMr xx 4 8 8  :C  !D  !J  HJ  K  R  OR  SsAMrSMsAMv ,//0uvwwAMvxIwAMz xx 4 8 89z {  !B  @B  C  J  GJ  K{AMzKN{AM~ ,//0stuAM~vJAMB ,//0opqCAMBrOCAMF ,//0|}~GAMF/GAMJ ,//0_`aKAMJ bcKAML ,//0bcdMAML efMAMN ,//0`abOAMNc:OAMR ,//0ghiSAMRj?SAMV ,//0efgWAMV hiWAMX ,//0cdeYAMXf@YAM\ ,//0ijk]AM\l@]AM` ,//0mnoaAM` pqaAMb ,//0nopcAMb qrcAMd ,//0rsteAMdu<eAMh ,//0tuviAMhw5iAMl ,//0_`amAMlb,mAMn -A,D,DE_,`+aoAMnb+oAMp ,@+C+CD]+^*_qAMp`5qAMr 6J5M5MNm5n4osAMrp%sAMt &:%=%=>S%T$UuAMtV*uAMv +?*B*BC\*])^wAMv_0wAMz xx 4 8 89e f ljlmtqtu{AMzv9{AM~ /334RSYWYZ[AM~\1AM@ 2F1I1IJi1j0kAAM@lAAMB 3667HIJCAMB KLCAMD 0gYh` * G34SThTlTlmzT{  UB  @B  5C  D  E  EFG/qahb 3chd +ehf /ghh 6ihj 7khl 8mhn 'ohp &qhr &sht 7uhv )whx -yhz /{h| (}h~ *h@ )AhB %ChD (EhF %GhH 0IhJ *KhL 'MhN /OhP +QhR 2ShT &UhV 3WhX 'YhZ ([h\ -]h^ ._h` .ahb .chd ,ehf 0ghh (ihj *khl +mhn 0ohp /qhr /sht .uhv /whx :yhz 5{h| 0}h~ 8h@ /AhB *ChD 1EhF 0GhH 6IhJ *KhL $MhN 'OhP 2QhR 2ShT 1UhV 6WhX 9YhZ .[h\ .]h^ ._h` -ahb 2chd 3ehf &ghh 'ihj 2khl -mhn *ohp =qhr ;sht 4uhv Bwhx 8yhz '{h| 2}h~ 5h@ 1AhB .ChD 'EhF -GhH .IhJ )KhL -MhN (OhP .QhR 0ShT 0UhV 0WhX *YhZ 0[h\ 9]h^ 3_h` +ahb 1chd 5ehf -ghh %ihj %khl &mhn 0ohp #qhr #sht $uhv 0whz"";"?"?"M!N O/xx 9 = =>Y Z `^`ahehi j,,/0I0M0MN_0`0fdf,g+h i$$=$A$ABT$U#VVWY{hH .IhJ )KhL (MhN .OhT x=/!DE Cg 1445LMQVV 255jA cb p[z	
v 	#_g}g Eg Og E	g
 Tg Lg Vg ng\ ,ICO CO & CO&<&@&@AZ&[%\CO])CO)?)C)CD[)\(]CO^(CO )?(B(BC^(_'`COa%CO &8%;%;<S%T$U	COV#	CO
 $6#9#9:O#P"QCO
R(CO );(>(>?_(`'aCOb%CO &8%;%;<Z%[$\CO]/CO 0B/E/EFg/h.iCOj/CO 0Q.QCOR0CO 1S/SCOT/CO 0Q.QCOR3CO 4Y2YCOZ.CO /O-OCOP/CO 0Q.QCOR,CO -?,B,BCX,Y+ZCO[1CO  2U0U!CO V.!CO" /N-N#CO"O6#CO$ 7_5_%CO$`3%CO& 4Y2Y'CO&Z8'CO( 9c7c)CO(d/)CO* 0B/E/EFg/h.i+CO*j'+CO, (D'G'GHe'f&g-CO,h.-CO. /K.N.NOg.h-i/CO.j)/CO0 *F)I)IJ])^(_1CO0`91CO2 :V9Y9YZ}9~83CO2@(3CO4 )E(H(HIo(p'q5CO4r:5CO6 ;W:Z:Z[  ;A  :B7CO6B37CO8 4J3M3MNk3l2m9CO8n79CO: 8N7Q7QRs7t6u;CO:v/;CO< 0F/I/IJc/d.e=CO<f<=CO> =S<V<VW}<~;?CO>@0?CO@ 1G0J0JKi0j/kACO@l5ACOB 6L5O5OPo5p4qCCOBr*CCOD +I*L*LMe*f)gECOD hiECOF 699:LMNGCOFO,GCOH -K,N,NOa,b+cICOHd3ICOJ 4R3U3UVo3p2qKCOJr.KCOL /M.P.PQY.Z-[MCOL\$MCON %?$B$BC`$a#bOCONc7OCOP 8R7U7UVw7x6yQCOPz4QCOR 5O4R4RSu4v3wSCORx6SCOT 7Q6T6TU  7A  6BUCOTB1UCOV 2L1O1OPu1v0wWCOVx3WCOX 4N3Q3QRs3t2uYCOXv6YCOZ 7Q6T6T  VC  7D  6E[COZE@[CO\ A[@^@^  `N  AO  @P]CO\P?]CO^ @Z?]?]  _N  @O  ?P_CO^P8_CO` 9S8V8VWy8z7{aCO`|2aCOb 3M2P2PQm2n1ocCObp7cCOd 8R7U7UV{7|6}eCOd~3eCOf 4N3Q3QRz3{2|gCOf}/gCOh 0J/M/MN{/|.}iCOh~@iCOj A[@^@^  `M  AN  @OkCOjO<kCOl =W<Z<Z  \N  =O  <PmCOlP2mCOn 3M2P2PQ~2  2AoCOnA7oCOp 8R7U7U  WI  8J  7KqCOpK.qCOr /I.L.LMi.j-ksCOrl8sCOt 9S8V8VW}8~7uCOt@<uCOv =W<Z<Z  \B  =C  <DwCOvD:wCOx ;U:X:X  ZH  ;I  :JyCOxJ7yCOz 8R7U7UVw7x6y{COzz){CO| *D)G)GH^)_(`}CO|a&}CO~ 'A&D&DE^&_%`CO~a#CO@ $>#A#ABY#Z"[ACO@\%ACOB &@%C%CD]%^$_CCOB`(CCOD )C(F(Fx(P'QECODRECOF 5889JKLGCOF MNGCOH 2o]gJ ,kTO TO % TO%:%>%>}%M$NTOO*TO*?*C*CDV*W)XTOY-TO .C-F-FG\-],^TO_)TO *>)A)A,)O(P	TOQ+	TO
 ,@+C+CD\+]*^TO
_-TO .B-E-EFX-Y,ZTO[1TO 2F1I1IJi1j0kTOl$TO %7$:$:>$J#KTOL.TO /A.D.DEa.b-cTOd/TO 0B/E/EF_/`.aTOb<TO =O<R<RSy<z;{TO|6TO 7P6S6STt6u5vTOw:TO ;T:W:WX|:}9~TO6TO 7P6S6STt6u5vTOw3TO 4M3P3PQn3o2pTOq9TO  :S9V9VWz9{8|!TO }1!TO" 2K1N1NOj1k0l#TO"m6#TO$ 7P6S6STt6u5v%TO$w2%TO& 3L2O2OPl2m1n'TO&o3'TO( 4M3P3PQn3o2p)TO(q4)TO* 5N4Q4QRp4q3r+TO*s3+TO, 4M3P3PQn3o2p-TO,q1-TO. 2K1N1NOj1k0l/TO.m5/TO0 69XX>W>[>[\{>|  ?C  AC  6D  5E1TO0EA1TO2 B[A^A^  `K  BL  AM3TO2M=3TO4 >W=Z=Z  \C  >D  =E5TO4E+5TO6 ,C+F+Fx+P*Q7TO6R?7TO8 @W?Z?Z  \E  @F  ?G9TO8G=9TO: >U=X=XYy=z<{;TO:|@;TO< AX@[@[\  AA  @B=TO<B?=TO> @CxxH_HcHc  eG  IH  IN  LN  @O  ?P?TO>P3?TO@ 4K3N3NOi3j2kATO@l5ATOB 6M5P5PQm5n4oCTOBp:CTOD ;R:U:UVw:x9yETODz3ETOF 4K3N3NOi3j2kGTOFl3GTOH 4K3N3NOi3j2kITOHl/ITOJ 0G/J/JK]/^._KTOJ`0KTOL 1H0K0KL_0`/aMTOLbCMTON D[C^C^  `M  DN  COOTONO5OTOP 6M5P5PQ{5|4}QTOP~6QTOR 7N6Q6QR}6~5STOR@7STOT 8O7R7RS  8A  7BUTOTB9UTOV :Q9T9T  VD  :E  9FWTOVF2WTOX 3J2M2MNu2v1wYTOXx7YTOZ 8O7R7RS  8A  7B[TOZB8[TO\ 9P8S8S  UB  9C  8D]TO\D:]TO^ ;R:U:U  WF  ;G  :H_TO^H8_TO` 9P8S8S  UB  9C  8DaTO`D:aTOb ;R:U:U  WF  ;G  :HcTObH:cTOd ;R:U:U  WF  ;G  :HeTOdH4eTOf 5L4O4OPy4z3{gTOf|8gTOh 9P8S8S  UF  9G  8HiTOhH9iTOj :Q9T9T  VD  :E  9FkTOjF5kTOl 6M5P5PQ{5|4}mTOl~4mTOn 5N4Q4QRp4q3roTOns9oTOp :S9V9VWz9{8|qTOp}&qTOr '@&C&CL&Q%RsTOrS1sTOt 2K1N1NOf1g0huTOti-uTOv .G-J-JKf-g,hwTOvi.wTOx /2hh7P7T7TUo7p7vtv.w-xyTOxy-yTOz .G-J-JKf-g,h{TOzi-{TO| .G-J-JKf-g,h}TO|i3}TO~ 4M3P3PQr3s2tTO~u3TO@ 4M3P3PQr3s2tATO@u4ATOB 58HH=V=Z=Z[{=|  >C  AC  5D  4ECTOBE0CTOD 1D0G0GH\0]/^ETOD_0ETOF 1J0M0MNh0i/jGTOFk5GTOH 6O5R5RSr5s4tITOHu5ITOJ 6O5R5RSr5s4tKTOJu1KTOL 2K1N1NOj1k0lMTOLm3MTON 4M3P3PQn3o2pOTONq3OTOP 4M3P3PQn3o2pQTOPq=QTOR >W=Z=Z  \C  >D  =ESTORE3STOT 4J3M3MNk3l2mUTOTn<UTOV =S<V<VW}<~;WTOV@*WTOX +A*D*DEY*Z)[YTOX\2YTOZ 3J2M2MNf2g1h[TOZi8[TO\ 9P8S8STf8g7h]TO\i4]TO^ 58HH=T=X=XYi=j=pnp4q3r_TO^s;_TO` <?88DZD^D^  `E  EF  EL  JL  <M  ;NaTO`N4aTOb 5N4Q4QRp4q3rcTObs1cTOd 2K1N1NOk1l0meTOdn/eTOf 0I/L/LMf/g.hgTOfigTOh 5889JKLiTOh MNiTOj 2kKgL ARMgN cOgP ^	QgR UVSgT `UgV mWgX [YgZ L[g\ ']g^ l_g` Ragb Rcgd P*egf dggh Figj j%kgl pmgn Bogp n,qgr msgt |/ugv Hwgx wygz V{g| h}g~ kg@ yAgB b0CgD KEgF sDGgH SIgJ fKgL K
MgN nOgP 44K3L  MH  IQgR 99O8P  Qq  rSgT Q
UgV wOWgX `YgZ \[g\ l]g^ T_g` Fagb Gcgd }egp 0	//I/M/MN|/}.~ ..H.L.LM|.}-~ gg 6}qgH 0U)b )b " )b"<"@"@"N!O)bP4)b4N4R4RSq4r3s)bt7)b 8;xx@Z@^@^  `A  AB  AH  FH  8I  8P  MP  7Q)bQ9)b :==W=[=[\m=n=trt9u8v	)bw6	)b
 7Q6T6TUg6h5i)b
j1)b 2L1O1OPk1l0m)bn3)b 4N3Q3QRo3p2q)br*)b +E*H*HI`*a)b)bc+)b ,F+I+IJd+e*f)bg))b *D)G)GH`)a(b)bc,)b -G,J,JKa,b+c)bd0)b 1K0N0NOl0m/n)bo;)b <V;Y;YZ  <A  ;B)bB6)b 7Q6T6T  VH  7I  6J)bJ9)b :T9W9W  YM  :N  9O)bO$)b  %?$B$BC`$a#b!)b c#!)b" $>#A#ABX#Y"Z#)b"[%#)b$ &@%C%CD\%]$^%)b$_)%)b& *D)G)GH^)_(`')b&a6')b( 7Q6T6TUu6v5w))b(x4))b* 5O4R4RSu4v3w+)b*x6+)b, 7Q6T6TU  7A  6B-)b,BD-)b. E_DbDb  dV  EW  DX/)b.X@/)b0 ADIcIgIg  iS  JT  JZ  XZ  A[  Ab  _b  @c1)b0c11)b2 2L1O1OPu1v0w3)b2x?3)b4 @Z?]?]  _L  @M  ?N5)b4N;5)b6 <?88D^DbDb  dI  EJ  EP  NP  <Q  <X  UX  ;Y7)b6Y37)b8 4N3Q3QRs3t2u9)b8v69)b: 7Q6T6T  VC  7D  6E;)b:E@;)b< A[@^@^  `N  AO  @P=)b<P?=)b> @Z?]?]  _N  @O  ?P?)b>P8?)b@ 9S8V8VWy8z7{A)b@|:A)bB ;U:X:X  ZH  ;I  :JC)bBJ7C)bD 8R7U7UVw7x6yE)bDz@E)bF A[@^@^  `J  AK  @LG)bFL;G)bH <V;Y;YZ  <A  ;BI)bHB&I)bJ 'A&D&DE^&_%`K)bJa&K)bL 'A&D&DE_&`%aM)bLb&M)bN 'A&D&DE_&`%aO)bNb#O)bP $>#A#ABY#Z"[Q)bP\%Q)bR &@%C%CD]%^$_S)bR `aS)bT 6qIgJ kKgL \MgN p'OgP ^QgR dSgT jUgV EWgX s!YgZ b[g\ F]g^ Q_g` Ragb Gcgd u	egf Vggh ligj Bkgl Kmgn vogp Z?qgr p5sgt l7ugv Twgx Yygz ^{g| d }g~ e&g@	 KA	gB	 iC	gD	 hE	gF	 hG	gH	 pI	gJ	 hK	gL	 uM	gP	Y	y	
t	 	S V8 7((J(N(NOa(b'c d&&H&L&LM]&^%_ `//Q/U/UVo/p.q r}}
 =E
	
,tHj- C(CCH-11-@FB.22>BHb  !78 	##$56	 !  	 d)\(m	
  	 x=J& d)\(mV%		
	 	" &  ggdm
+"ww'89=		
  '
  ggdm
+"ww'89=		

 "   / !  	W56 D;H:EYZ]^gZhYiijk
 z	
 	) "34T 	
 	Jl~ Y
 P	
 	9 E 	
 	4	 X)' f	 '	
* 	> d-	
4 	3 t 033H=I v PF	 q!	
( 	= '~ 	
  	S O F	
" 	w AY@PPRSWS\S\]fSgRhhij,S]O1=iBxx 4 8 89J K QrRYVYZ ['';'?'?@Q'R&SSTV 7=AA*MN O//P/T/TUj/k.llm8<<=UVW X99f8ggh8<<=UVW X''H'L'LM^'_&``ac ={&%* R?"	
F 	1 I!	
qL$ ZBH 	I 	#i.	
 	i 	!": 	#C$5 	$S)?%@ 	$6 7 	s#45 	!#&:"; 	. 	, 	2 	+  	3!" 	 5#$ 3":;O"P%7&9.J%A1 qZ "4#7#78 	(&'#	( "4#7#78 	'%&"	'HJ e`!
x
D	
F `H% TtT	
s   5\t. <\u  \u4#\u9A\u>h'\v|\v	[,5\vz4\vl#\ve>\vf/\v"gA \v'hA \v,t.\uu\uu\u1u0\u1c                   ddd| d    dd| d   rdnd dd	dd
dg
}| j                  d      xs g D ]8  }|j                  d|j                  d       d|j                  d       d       : |j                  g d       | j                  d      xs g D ]c  }dj                  |j                  d      xs g       xs d}|j                  d|j                  d       d|j                  d       d| d       e |j                  g d       | j                  d      xs g D ]J  }|j                  d|j                  d       d|j                  d       d|j                  d       d       L |j                  g d       | j                  d      xs g D ]  }|j                  d|         |j                  g d       | j                  d       xs g D ]  }|j                  d!|j                  d       d"|j                  d       d|j                  d#       ddj                  |j                  d$      xs g       xs d ddj                  |j                  d%      xs g       xs d dt	        |j                  d&      xs g        d'|j                  d(      xs d d"t        |j                  d             ddj                  |j                  d)      xs g       xs d d        |j                  g d*       | d+   D ]V  }dj                  |d,         xs d}dj                  |d         xs d}|j                  d|d    d|d    d| d| d	       X |j                  g d-       | j                  d.      xs g D ]  }t	        |j                  d/      xs g       }dj                  |j                  d,      xs g       xs d}dj                  |j                  d      xs g       xs d}|j                  d|j                  d0       d|j                  d       d| d| d| d        |j                  dd1dd2| d3    d4d5j                  | d6          d7d8t        | d9          d:| d;    d<| d=    d>| d?    d@| dA    dB| dC    d7dg	       |j                  g dD       | j                  dE      xs g D ]  }|j                  d|j                  dF       d|j                  dG      xs d dd5j                  |j                  dH      xs g       xs d dd5j                  |j                  dI      xs g       xs d dd5j                  |j                  dJ      xs g       xs d d|j                  dK       d        |j                  g dL       | j                  dM      xs g D ]  }|j                  d|j                  dF       d|j                  dG      xs d dd5j                  |j                  dH      xs g       xs d dd5j                  |j                  dI      xs g       xs d dd5j                  |j                  dJ      xs g       xs d d|j                  dK       d        |j                  d       | j                  d9      xs g D ]  }|j                  dN|j                  dO       dP|j                  dQ       ddRd5j                  |j                  d      xs g       xs d dSd5j                  |j                  dT      xs g       xs d dUd5j                  |j                  dV      xs g       xs d dWd5j                  |j                  dX      xs g       xs d dY|j                  dZ      xs |j                  d       d[t        |       d\t        |j                  d]      xs g        d^t        |j                  d_      xs g        d`t        |j                  da             dbt        |j                  dc             ddt        |j                  de             dft        |j                  dg             dg        dhj                  |      S )iNz# Completion Auditra   zObjective: r\  z
Achieved: r]  yesnoz## Completion Summaryz| criterion | status |z| --- | --- |rg  z| rJ   z | rL   z |)ra   z## Missing Requirementsra   z| requirement | status | gaps || --- | --- | --- |rh  rn   rN   rh   )ra   z## Blocking Requirementsra   z$| gate | missing evidence | source |r  ri  rR  rk  r   )ra   z## Next Required Inputsra   rj  z- )ra   z## External Input Checklistra   z| id | status | required input | unblocks gates | accepted signals | intake artifacts | refresh command | source artifact | not accepted |z7| --- | --- | --- | --- | --- | --- | --- | --- | --- |rk  z| `z` | r   r   r   r   z | `r   r   )ra   z## Criteriara   z!| id | status | evidence | gaps |z| --- | --- | --- | --- |ro  rM   )ra   z## Prompt-To-Artifact Checklistra   z6| requirement | status | artifacts | evidence | gaps |z| --- | --- | --- | --- | --- |rp  rV   rU   z## Current Routez#- reachable maps from title start: r^   (r  r  rj   z- confirmed route blockers: r  z- next review candidates: r_  z%- save-selector frontier candidates: r`  z- route next actions: ra   (open rb  
, blocked rc  )z## Open Route Next Actionsra   Z| priority | task | failed gates | missing evidence | next input classes | evidence refs |%| --- | --- | --- | --- | --- | --- |re  r   r   r   r   r   r   )ra   z## Blocked Route Next Actionsra   r  r  rf  z### Blocker: rD   r=  rE   z- missing evidence: z- failed promotion gates: rP  z- hard missing evidence: rR  z- hard missing evidence extra: rS  z- route promotion status: rL  z- external proof handoff: z- next action evidence refs: rX  z$- strict source hotspot candidates: rZ  z- exit-target ranking: r^  z- strict-hotspot gate: r[  z- selected-root gate: r\  z- runtime-trace gate: r]  
)r!   r   extendr3   rv   rl   r5   rG  r   r>  r  r  r  )r  linesr$   rN   rm  rM   rV   s          r   markdownr     s	   

gk*+,

gj1Ut<=

 E {{,-3 Cr#''$-CGGH,=+>bABC	LL   {{017R L{{3776?0b18Sr#''$-CGGH,=+>c$rJKL 
LL   {{128b 
"#3sww/@'A&B#cggN^F_E``bc	

 
LL  
 017R "r$[!"	LL   {{34: 	
#''$-SWWX%6$7s377?;S:TTW{{377?39r:AcB#{{377#45;<CDC&sww/@'A'GRHI J()0S1%cgg.>&?@A{{377#56<"=DERI	
	
 
LL   z" Q;;s:/63{{3v;'.3r#d)CHc(3tfBOPQ 
LL   {{67=2 
+CGGK,@,FBG	;;swwz28b9@S{{3776?0b18S'(CGGH,=+>c)CPXzY\]a\bbde	
	
 
LL


-g6F.G-H499U\]qUrKsJttuv
&s73K+L'M&NO
$W-G%H$IJ
/8S0T/UV$W-C%D$E F234JwG_?`>aabd 	  
LL   {{,-3 
$%S)?C(@yy!78>B?F3Gsyy!9:@bAHSIyy!34:;BsC3ww)*+2	/	

 
LL   {{/06B 
$%S)?C(@yy!78>B?F3Gsyy!9:@bAHSIyy!34:;BsC3ww)*+2	/	

 
LL{{34: CGGH-.d37783D2EF"499SWW5F-G-M2#N#URU"VW(377;X3Y3_]_)`)gdg(hi'		#'':O2P2VTV(W(^[^'_`-dii@Z8[8a_a.b.ifi-jk(1K)L)aPSPWPWX`Pa(bc()KC)P(QR+,HQwIxI~|~,  ,A  B23sww?o7p7vtv3w2xy%&EcggNwFx&y%z{%&EcggNwFx&y%z{$%CCGGLtDu%v$wx$%CCGGLtDu%v$wx
 	$ 99UrR   c           %     8   g }| j                  d      xs g D ]  }|j                  dt        j                  t	        |j                  d                   dt        j                  t	        |j                  d      xs d             dt        j                  t	        |j                  d                   d	        g }| j                  d
      xs g D ]  }dj                  d |j                  d      xs g D              xs d}|j                  dt        j                  t	        |j                  d                   dt        j                  t	        |j                  d      xs d             dt        j                  t	        |j                  d                   d| d		        g }| j                  d      xs g D ]  }|j                  dt        j                  t	        |j                  d                   dt        j                  t	        |j                  d      xs d             dt        j                  t	        |j                  d      xs d             d        dj                  d | j                  d      xs g D              }g }| j                  d      xs g D ]  }|j                  dt        j                  t	        |j                  d                   dt        j                  t	        |j                  d      xs d             dt        j                  t	        |j                  d      xs d             ddj                  d |j                  d      xs g D              xs d ddj                  d |j                  d      xs g D              xs d dt        |j                  d      xs g        dt        j                  t	        |j                  d      xs d             dt        |j                  d             ddj                  d  |j                  d!      xs g D              xs d d	        g }| d"   D ]  }dj                  d# |d$   D              xs d}	dj                  d% |d   D              xs d}|j                  dt        j                  |d          dt        j                  |d          dt        j                  |d          d|	 d| d	        g }
| j                  d&      xs g D ]  }t        |j                  d'      xs g       }dj                  d( |j                  d$      xs g D              xs d}	dj                  d) |j                  d      xs g D              xs d}|
j                  d*t        j                  t	        |j                  d+                   dt        j                  t	        |j                  d                   d| d|	 d| d	        g }| j                  d,      xs g D ]W  }|j                  d*t        j                  t	        |j                  d-                   dt        j                  t	        |j                  d.      xs d             dt        j                  d/j                  |j                  d0      xs g       xs d       dt        j                  d/j                  |j                  d1      xs g       xs d       dt        j                  d/j                  |j                  d2      xs g       xs d       dt        j                  t	        |j                  d3                   d	       Z g }| j                  d4      xs g D ]W  }|j                  d*t        j                  t	        |j                  d-                   dt        j                  t	        |j                  d.      xs d             dt        j                  d/j                  |j                  d0      xs g       xs d       dt        j                  d/j                  |j                  d1      xs g       xs d       dt        j                  d/j                  |j                  d2      xs g       xs d       dt        j                  t	        |j                  d3                   d	       Z g }| j                  d5      xs g D ]  }|j                  d*t        j                  t	        |j                  d6                   d7t        j                  t	        |j                  d8                   dt        j                  d/j                  |j                  d      xs g       xs d       dt        j                  d/j                  |j                  d9      xs g       xs d       dt        j                  d/j                  |j                  d:      xs g       xs d       dt        j                  d/j                  |j                  d;      xs g       xs d       dt        j                  t        |             dt        j                  t        |j                  d<      xs g              d=t        j                  t	        t        |j                  d>      xs g                    d?t        j                  t        |j                  d@                   dAt        j                  t        |j                  dB                   dCt        j                  t        |j                  dD                   dEt        j                  t        |j                  dF                   dt        j                  t	        |j                  dG      xs |j                  d                   d	        dHj                  g dIdJdKdLdMdNdOdPdQdRdSt        j                  | dT          dUdV| dW   rdXndY dUdZd[d\dj                  |       d]d^d_d\dj                  |       d]d`dad\dj                  |       d]dbdc| dddedfd\dj                  |       d]dgdhd\dj                  |       d]didjd\dj                  |
       d]dkdl| dm    dnt        j                  d/j                  | do                dpdqt        | d5          dUdr| ds    dUdt| du    dUdv| dw    dx| dy    dz| d{    dpd|d}d\dj                  |       d]d~d}d\dj                  |       d]dd\dj                  |       d]ddd      S )Nrg  z<tr><td><code>rJ   z</code><br>rK   rh   z	</td><td>rL   z
</td></tr>rh  rn   c              3  F   K   | ]  }t        j                  |        y wrp   ry   rz   r#   rm  s     r   r%   zhtml_page.<locals>.<genexpr>[!       O4;;t,Or{
  rN   ri  rR  z</code></td><td>rk  z</td><td><code>r   z</code></td></tr>ra   c              3  `   K   | ]&  }d t        j                  t        |             d ( yw)z<li>z</li>N)ry   rz   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>l!  s/       t{{3t9%&e,s   ,.rj  rk  r   c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>w!  s     \Tt{{40\r{
  r   c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>x!  s     ^Tt{{40^r{
  r   r   r   c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>|!  s     _Tt{{40_r{
  r   ro  c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>!  s     MTt{{40Mr{
  rM   c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>!  s     E4;;t,Er{
  rp  rV   c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>!  s     WTt{{40Wr{
  c              3  F   K   | ]  }t        j                  |        y wrp   r  r  s     r   r%   zhtml_page.<locals>.<genexpr>!  r  r{
  z<tr><td>rU   re  r   r   r  r   r   r   r   rf  r  rD   z -&gt; rE   rP  rR  rS  rX  z+</td><td>strict source hotspot candidates: rZ  z<br>exit-target ranking: r^  z<br>strict-hotspot gate: r[  z<br>selected-root gate: r\  z<br>runtime-trace gate: r]  rL  r  z<!doctype html>z<html lang="en">z<head>z  <meta charset="utf-8">zF  <meta name="viewport" content="width=device-width, initial-scale=1">z!  <title>Completion Audit</title>a    <style>body{font-family:system-ui,sans-serif;background:#101010;color:#eee;margin:24px}table{border-collapse:collapse;width:100%}td,th{border:1px solid #333;padding:8px;vertical-align:top}th{background:#1d1d1d}code{color:#f5d76e}.missing{color:#ffb3b3}.muted{color:#aaa}</style>z</head>z<body>z  <h1>Completion Audit</h1>z  <p>Objective: r\  z</p>z  <p class="missing">Achieved: r]  r  r  z  <h2>Completion Summary</h2>zB  <table><thead><tr><th>criterion</th><th>status</th></tr></thead>z	  <tbody>z</tbody></table>z  <h2>Missing Requirements</h2>zQ  <table><thead><tr><th>requirement</th><th>status</th><th>gaps</th></tr></thead>z   <h2>Blocking Requirements</h2>zV  <table><thead><tr><th>gate</th><th>missing evidence</th><th>source</th></tr></thead>z  <h2>Next Required Inputs</h2>z  <ul>z</ul>z#  <h2>External Input Checklist</h2>z  <table><thead><tr><th>id</th><th>status</th><th>required input</th><th>unblocks gates</th><th>accepted signals</th><th>intake artifacts</th><th>refresh command</th><th>source artifact</th><th>not accepted</th></tr></thead>z  <h2>Criteria</h2>z`  <table><thead><tr><th>criterion</th><th>status</th><th>evidence</th><th>gaps</th></tr></thead>z'  <h2>Prompt-To-Artifact Checklist</h2>zt  <table><thead><tr><th>requirement</th><th>status</th><th>artifacts</th><th>evidence</th><th>gaps</th></tr></thead>z  <h2>Current Route</h2>z&  <p>Reachable maps from title start: r^  r  r  z)</p>z  <p>Confirmed route blockers: z  <p>Next review candidates: r_  z(  <p>Save-selector frontier candidates: r`  z  <p>route next actions: ra  r  rb  r  rc  z"  <h2>Open Route Next Actions</h2>z  <table><thead><tr><th>priority</th><th>task</th><th>failed gates</th><th>missing evidence</th><th>next input classes</th><th>evidence refs</th></tr></thead>z%  <h2>Blocked Route Next Actions</h2>z  <table><thead><tr><th>blocker</th><th>missing evidence</th><th>failed promotion gates</th><th>hard missing evidence</th><th>hard extra</th><th>external proof handoff</th><th>next action refs</th><th>strict candidates</th><th>status</th></tr></thead>z</body>z</html>)r!   r   ry   rz   r  r3   r   r}   rG  r   r5   r>  r  r  r  )r  success_rowsr$   missing_rowsrN   blocking_rowsnext_input_itemsexternal_input_rowsr   rM   checklist_rowsrV   open_action_rowsblocked_action_rowsblocker_rowss                  r   	html_pager  P!  s   L{{,-3 
S%789T[[QTUXU\U\]dUeUlilQmEnDo p;;s3778#4567 8	

 L{{017R 
{{O9NBOOVSVS%789T[[QTUXU\U\]dUeUlilQmEnDo p;;s3778#4567 8& 	

 M{{128b 
S):%;<= >;;s377+<#=#DEFG HS1A)B)Ic%JKL M	

 ww KK 45;  {{34: 
""S%789 :;;s3778#4#;<=> ?;;s377?#;#BsCDE F;;\SWW_=U=[Y[\\c`cd e;;^SWWEV=W=][]^^ebef g&sww/@'A'GRHI JS1A)B)Ic%JKL M%cgg.>&?@A B;;_SWWEW=X=^\^__fcfg h
	

 Dz" 

;;MS_MMTQT{{EVEELSY/0DKKG<U;V W;;s8}-. /* & 		


 N{{67=2 
'(<(BC	;;WSWWZ=P=VTVWW^[^{{O9NBOOVSV;;s377=#9:;< =;;s3778#4567 8+ * & 	
	
 {{,-3 

;;s377:#6789 :;;s3776?#9c:;< =;;tyy1G)H)NBOVSVWX Y;;tyy1I)J)PbQXUXYZ [;;tyy1C)D)JKRsST U;;s377+=#>?@A B		


 {{/06B 

"";;s377:#6789 :;;s3776?#9c:;< =;;tyy1G)H)NBOVSVWX Y;;tyy1I)J)PbQXUXYZ [;;tyy1C)D)JKRsST U;;s377+=#>?@A B		


 L{{34: 
;;s3778#4567wt{{3swwW_O`Ka?b>c d;;tyy1B)C)IrJQcRS T;;tyy1N)O)USUV]Z]^_ `;;tyy1F)G)M2NURUVW X;;tyy1K)L)RPRSZWZ[\ ];;A#FGH I;;;CGGDj<k<qoqrst u5{{3s377+[#\#b`bcdef g${{:377Cl;mnop q${{:377Cl;mnop q#{{9#''Bj:klmn o#{{9#''Bj:klmn o;;s377+E#F#[#''RZJ[\]^ _%	

. 99 555 	5 	#	5
 	Q5 	,5 	c5 	5 	5 	&5 4;;w{';<=TB5 ,WZ5HEd+SSWX5 	(5 	M5 BGGL)**:;5  	*!5" 	\#5$ BGGL)**:;%5& 	+'5( 	a)5* BGGM*++;<+5, 	*-5. !"%(/50 	.152 	k354 BGG/011AB556 	758 	k95: BGGDM?"23;5< 	2=5> 	?5@ BGGN+,,<=A5B 	#C5D 19I1J0K2dkkZ^ZcZcdk  mA  eB  [C  OD  NE  EJ  	KE5F *#g6N.O*P)QQUVG5H (0J(K'LDQI5J 37;V3W2XX\]K5N (0F(G'H I234JwG_?`>aafhO5T 	-U5V 	iW5X BGG,-..>?Y5Z 	0[5\ 	i]5^ BGG/011AB_5` 	Fa5b BGGL)**:;c5d 	e5f 	g5h 	i5 5 5rR   c                    |j                  dd       |dz  j                  t        j                  | dd      d       |d	z  j                  t	        |       d       y )
NT)parentsexist_okzcompletion_audit.jsonFr  )ensure_asciir  r   r   zcompletion_audit.html)mkdir
write_textr   r  r  )r  out_dirs     r   write_outputsr  "  s_    MM$M.&&22

7:F 3  &&229W3EPW2XrR   c            
     c   t        j                         } | j                  dt        t               | j                         dRfd} |d      }|j                  d      xs i } |d      } |d      } |d      } |d	      } |d
      } |d      }	t        t        j                  j                  dz  j                  d            t        j                  j                  dz  j                  d            t        j                  j                  dz  j                  d            t        j                  dz  i       fi dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d j                  d!z  j                         r2t        j                  j                  d!z  j                  d            nd d"j                  d#z  j                         r2t        j                  j                  d#z  j                  d            nd d$j                  d%z  j                         r2t        j                  j                  d%z  j                  d            nd d&j                  d'z  j                         r2t        j                  j                  d'z  j                  d            nd d(j                  d)z  j                         r2t        j                  j                  d)z  j                  d            nd d*j                  d+z  j                         r2t        j                  j                  d+z  j                  d            nd d,j                  d-z  j                         r2t        j                  j                  d-z  j                  d            nd d.j                  d/z  j                         r2t        j                  j                  d/z  j                  d            nd d0j                  d1z  j                         r2t        j                  j                  d1z  j                  d            nd d2j                  d3z  j                         r2t        j                  j                  d3z  j                  d            nd d4j                  d5z  j                         r2t        j                  j                  d5z  j                  d            nd d6j                  d7z  j                         r2t        j                  j                  d7z  j                  d            nd d8j                  d9z  j                         r2t        j                  j                  d9z  j                  d            nd d:j                  d;z  j                         r2t        j                  j                  d;z  j                  d            nd d<j                  d=z  j                         r2t        j                  j                  d=z  j                  d            nd d>j                  d?z  j                         r2t        j                  j                  d?z  j                  d            nd d@j                  dAz  j                         r2t        j                  j                  dAz  j                  d            nd dBj                  dCz  j                         r2t        j                  j                  dCz  j                  d            nd dDj                  dEz  j                         r2t        j                  j                  dEz  j                  d            nd dFj                  dGz  j                         r2t        j                  j                  dGz  j                  d            nd dHj                  dIz  j                         r2t        j                  j                  dIz  j                  d            nd dJj                  dKz  j                         r2t        j                  j                  dKz  j                  d            nd dLj                  dMz  j                         r2t        j                  j                  dMz  j                  d            nd dNj                  dOz  j                         r2t        j                  j                  dOz  j                  d            nd dPj                  dQz  j                         r2t        j                  j                  dQz  j                  d            nd dRj                  dSz  j                         r2t        j                  j                  dSz  j                  d            nd dTj                  dUz  j                         r2t        j                  j                  dUz  j                  d            nd dVj                  dWz  j                         r2t        j                  j                  dWz  j                  d            nd dXj                  dYz  j                         r2t        j                  j                  dYz  j                  d            nd dZj                  d[z  j                         r2t        j                  j                  d[z  j                  d            nd d\j                  d]z  j                         r2t        j                  j                  d]z  j                  d            nd d^j                  d_z  j                         r2t        j                  j                  d_z  j                  d            nd d`j                  daz  j                         r2t        j                  j                  daz  j                  d            nd dbj                  dcz  j                         r2t        j                  j                  dcz  j                  d            nd ddj                  dez  j                         r2t        j                  j                  dez  j                  d            nd dfj                  dgz  j                         r2t        j                  j                  dgz  j                  d            nd dhj                  diz  j                         r2t        j                  j                  diz  j                  d            nd djj                  dkz  j                         r2t        j                  j                  dkz  j                  d            nd dlj                  dmz  j                         r2t        j                  j                  dmz  j                  d            nd dnj                  doz  j                         r2t        j                  j                  doz  j                  d            nd dpj                  dqz  j                         r2t        j                  j                  dqz  j                  d            nd drj                  dsz  j                         r2t        j                  j                  dsz  j                  d            nd dtj                  duz  j                         r2t        j                  j                  duz  j                  d            nd dvj                  dwz  j                         r2t        j                  j                  dwz  j                  d            nd dxj                  dyz  j                         r2t        j                  j                  dyz  j                  d            nd dzj                  d{z  j                         r2t        j                  j                  d{z  j                  d            nd d|j                  d}z  j                         r2t        j                  j                  d}z  j                  d            nd d~j                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dĉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dƉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dȉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dʉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d̉j                  dz  j                         r2t        j                  j                  dz  j                  d            nd dΉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dЉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d҉j                  dz  j                         r2t        j                  j                  dz  j                  d            nd dԉj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d։j                  dz  j                         r2t        j                  j                  dz  j                  d            nd d؉j                  dz  j                         r2t        j                  j                  dz  j                  d            nd dډj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d܉j                  dz  j                         r2t        j                  j                  dz  j                  d            nd dމj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd dj                  dz  j                         r2t        j                  j                  dz  j                  d            nd d j                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  d	z  j                         r3t        j                  j                  d	z  j                  d            nd d
j                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd dj                  dz  j                         r3t        j                  j                  dz  j                  d            nd d j                  d!z  j                         r3t        j                  j                  d!z  j                  d            nd d"j                  d#z  j                         r3t        j                  j                  d#z  j                  d            nd d$j                  d%z  j                         r3t        j                  j                  d%z  j                  d            nd d&j                  d'z  j                         rCt        j                  j                  d'z  j                  d            j                  d(      nd d)|j                  d*      xs d d+j                  d,z  j                         r3t        j                  j                  d,z  j                  d            nd d-|j                  d.      xs d d/|j                  d0      xs d d1|j                  d2      xs d d3|j                  d4      xs d d5|j                  d6      xs d d7|j                  d8      xs d d9|j                  d:      xs d d;|j                  d<      xs d d=|j                  d>      xs d d?|	j                  d@      xs d dA|	j                  dB      xs d dC|j                  dD      xs d dEj                  dFz  j                         r3t        j                  j                  dFz  j                  d            nd dGj                  dFz  j                         r3t        j                  j                  dFz  j                  d            nd dHj                  dIz  j                         rCt        j                  j                  dIz  j                  d            j                  dJ      nd dKj                  dLz  j                         r3t        j                  j                  dLz  j                  d            nd dMj                  dNz  j                         r3t        j                  j                  dNz  j                  d            nd dOj                  dPz  j                         rCt        j                  j                  dPz  j                  d            j                  dQ      nd }
t        |
j                         y (S  Nz	--out-dir)typer   c                    j                   | z  }|j                         r%t        j                  |j	                  d            S i S r
   )r  rc   r   r   r   )r   r   argss     r   load_out_jsonzmain.<locals>.load_out_json"  s9    ||d"?C{{}tzz$..'.:;TRTTrR   z"menu_candidate_review_summary.jsonmenusz&movement_candidate_review_summary.jsonz&dialogue_candidate_review_summary.jsonz*event_object_candidate_review_summary.jsonz(save_point_candidate_review_summary.jsonz1transition_progress_candidate_review_summary.jsonz(completion_candidate_review_summary.jsonzplayable_progress.jsonr   r   zconfirmed_route_blockers.jsonztransition_reviews.jsonzmap_render_reviews.jsonr   zroute_promotion_gate.jsonrw  z&transition_review_shortlist_audit.jsonrx  zruntime_trace_feasibility.jsonr  z"runtime_trace_execution_probe.jsonr  z1runtime_patched_selector_left_stability_poll.jsonr   z9runtime_patched_selector_left_stability_recheck_poll.jsonr  z4runtime_patched_selector_left_active_order_poll.jsonry  zruntime_timing.jsonrz  zruntime_movement.jsonr{  z%non_party_descriptor_asset_links.jsonr|  z#original_collision_route_audit.jsonr}  zmap1_01a_edge_trigger_gap.jsonr~  z+map1_01a_tile_hotspot_pattern_contrast.jsonr  z.map1_01a_strict_event_tile_signature_scan.jsonr  z*map1_01a_strict_hotspot_review_matrix.jsonr  z+map1_01a_strict_source_hotspot_context.jsonr  zevent_battle_gap_audit.jsonr  zevent_vm_semantics_gap.jsonr  zmap1_01a_resource_ref_scan.jsonr  zmap1_01a_event_shape_scan.jsonr  zmap1_01a_hotspot_gap.jsonr  z!strict_event_source_coverage.jsonr  z%map1_01a_record_pattern_contrast.jsonr  z$map1_01a_strict_target_link_gap.jsonr  z*map1_01a_scene_record_cluster_context.jsonr  zmap1_01a_entry_context.jsonr  z"map1_01a_selector_bridge_refs.jsonr  z!map1_01a_manifest_point_scan.jsonr  zmap1_01a_root_point_scan.jsonr  z*map1_01a_exit_coordinate_variant_scan.jsonr  z'map1_01a_exit_byte_coordinate_scan.jsonr  z#map1_01a_exit_cns_payload_scan.jsonr  z%map1_01a_exit_coordinate_context.jsonr  z*save_selector_branch_gate_consistency.jsonr  z+save_selector_branch_selector_equation.jsonr  zsave_selector_writer_chain.jsonr  z(save_selector_dispatch_stop_context.jsonr  z&save_selector_gate_offset_sources.jsonr  z'save_selector_gate_offset_patterns.jsonr  z'save_selector_gate_base_candidates.jsonr  z&save_selector_gate_base_proof_gap.jsonr  z%save_selector_gate_sample_values.jsonr  zsavedata_sample_deltas.jsonr  z-save_selector_real_savedata_evidence_gap.jsonr  zlegacy_hwanedit_editor_gap.jsonr  z#save_selector_gate_pass_matrix.jsonr  z2save_selector_opcode20_object_base_candidates.jsonr  z'save_selector_opcode20_order_space.jsonr  z.save_selector_opcode20_context_f2_sources.jsonr  z(save_selector_opcode20_slot_sources.jsonr  z3save_selector_opcode20_slot_descriptor_writers.jsonr  z.save_selector_opcode20_descriptor_scripts.jsonr  z0save_selector_opcode20_sample_order_effects.jsonr  z1save_selector_opcode20_runtime_materializers.jsonr  z-save_selector_opcode20_nested_base_modes.jsonr  z(save_selector_secondary_reset_scope.jsonr  z-save_selector_secondary_global_reset_gap.jsonr  z)save_selector_secondary_block_writes.jsonr  z/save_selector_runtime_selector_byte_writes.jsonr  z-save_selector_post_gate_reset_candidates.jsonr  zsave_selector_merge_gap.jsonr  z&save_selector_merge_bridge_matrix.jsonr  z0save_selector_selected_pointer_opcode_paths.jsonr  z0save_selector_global_selected_pointer_paths.jsonr  z)save_selector_selected_pointer_usage.jsonr  z.save_selector_selected_root_execution_gap.jsonr  z1save_selector_route_pair_entry_execution_gap.jsonr  z'save_selector_current_writer_paths.jsonr  z.save_selector_opcode08_activation_windows.jsonr  z0save_selector_opcode08_unreadable_producers.jsonr  z.save_selector_opcode09_pointer_collisions.jsonr  z5save_selector_secondary_route_overlap_candidates.jsonr  z+save_selector_predecessor_state_effect.jsonr  z%save_selector_active_flag_effect.jsonr  z&save_selector_active_flag_sources.jsonr  z"save_selector_selection_state.jsonr  z$save_selector_selection_writers.jsonr  zsave_selector_branch_paths.jsonr  z save_selector_stream_traces.jsonr  zsave_selector_xrefs.jsonr  z.save_selector_predecessor_persistence_gap.jsonr  z0save_selector_selection_buffer20_provenance.jsonr  z'save_selector_secondary_fill_roots.jsonr  z-save_selector_inherited_state_candidates.jsonr  z(save_selector_current_state_sources.jsonr  z)save_selector_predecessor_tail_reset.jsonr  z9save_selector_predecessor_branch_state_execution_gap.jsonr  z7save_selector_predecessor_fill_execution_order_gap.jsonr  z4save_selector_predecessor_fill_opcode10_context.jsonr  z4save_selector_predecessor_descriptor_bridge_gap.jsonr  z:save_selector_predecessor_fill_site_execution_context.jsonr  zsave_selector_branch_state.jsonr  z'save_selector_branch_state_writers.jsonr  z(save_selector_branch_state_dispatch.jsonr  z*save_selector_secondary_state_sources.jsonr  z.save_selector_branch_state_opcode_overlap.jsonr  z0event_object_branch_state_stream_candidates.jsonr  z.event_object_branch_state_candidate_links.jsonr  z,event_object_branch_state_block_context.jsonr  z*save_selector_predecessor_route_order.jsonr  z$save_selector_set_decomposition.jsonr  z(save_selector_recomposition_lattice.jsonr  z.save_selector_address_predecessor_context.jsonr  z!save_selector_mapset_aliases.jsonr  z-save_selector_target_alias_state_effects.jsonr  z'save_selector_target_alias_bridges.jsonr  z)save_selector_route_root_ref_context.jsonr  z*save_selector_predecessor_bridge_refs.jsonr  z(save_selector_reverse_reuse_context.jsonr  z&save_selector_merge_execution_gap.jsonr  z(save_selector_merge_runtime_context.jsonr  z(save_selector_merge_closure_context.jsonr  z(save_selector_wrapper_execution_gap.jsonr  z#save_selector_opcode24_globals.jsonr  z/save_selector_opcode24_mode1_source_writes.jsonr  z8save_selector_opcode24_runtime_enabled_block_writes.jsonr  z1save_selector_opcode24_mode1_runtime_context.jsonr  z0save_selector_opcode24_mode1_default_effect.jsonr  z)save_selector_opcode24_payload_table.jsonr  z.save_selector_opcode24_current_root_modes.jsonr  z-save_selector_wrapper_descriptor_context.jsonr  z#map1_01a_scene_payload_context.jsonr  z%save_selector_scene_list_context.jsonr  z1save_selector_frontier_reader_branch_context.jsonr  z)save_selector_frontier_payload_shape.jsonr  z(save_selector_scene_record_sequence.jsonr  z(save_selector_scene_adjacency_index.jsonr  z%save_selector_leaf_table_context.jsonr  z#save_selector_leaf_index_space.jsonr  z,save_selector_leaf_table_global_context.jsonr  z0save_selector_route_pair_descriptor_context.jsonr  z.save_selector_opcode2c_route_pair_context.jsonr  z,save_selector_opcode07_indexed_pointers.jsonr  z+save_selector_object61_stream_operands.jsonr  z&save_selector_context58_consumers.jsonr  z.save_selector_current_root_frontier_paths.jsonr  z)save_selector_selection_buffer_bases.jsonr  z runtime_title_start_context.jsonr  z$mobile_browser_controls_summary.jsoncontrolsr  rD  r  zmap3_runtime_browser_smoke.jsonr  	savePointr  rL   r  skillr  	equipmentr	  shopr
  partyr  eventObjectr  rE  r  dialoguer  r  r  deepr  
transitionr  zhome_landing_browser_smoke.jsonr  r  z route_guide_browser_summary.json
routeGuider  z$runtime_music_cue_browser_smoke.jsonr  z#title_menu_sound_browser_smoke.jsonr  z title_start_browser_summary.json
titleStart)r   r  returnrb  )argparseArgumentParseradd_argumentr   rq  
parse_argsr!   r  r   r   r  r   r   rc   r  )parserr  menu_candidate_review_summarymenu_candidate_reviews!movement_candidate_review_summary!dialogue_candidate_review_summaryr  r  r  #completion_candidate_review_summaryr  r  s              @r   mainr  
"  s/   $$&F
$<DU %22V$W!:>>wGM2(56^(_%(56^(_%,9:f,g)*78b*c'3@At3u0*78b*c'

DLL#;;FFPWFXY

DLL#BBMMW^M_`

DLL#<<GGQXGYZ4<<*CCRH	Q
 LL66>>@ "ZZ8S)S(^(^ho(^(pqQ
 LLCCKKM +/**\\DDOOY`Oa+
 Q
 LL;;CCE #'**dll=].]-h-hry-h-z"{Q
& LL??GGI '+jj\\@@KKU\K]'
 )Q
0 LLNNVVX 6:ZZ\\OOZZdkZl6
 3Q
: LLVV^^` >BZZ\\WWbblsbt>
 =Q
D LLQQYY[ 9=

\\RR]]gn]o9
 GQ
J LL0088: zz4<<2G#G"R"R\c"R"deMQ
P LL22::< T\\4K%K$V$V`g$V$hiSQ
Z LLBBJJL *.\\CCNNX_N`*
 ]Q
d LL@@HHJ (,zz\\AALLV]L^(
 gQ
j LL;;CCE T\\4T%T$_$_ip$_$qrmQ
t LLHHPPR '+jj\\IITT^eTf'
 wQ
~ LLKKSSU *.\\LLWWahWi*
 AQ
H LLGGOOQ &*ZZ\\HHSS]dSe&
 KQ
R LLHHPPR '+jj\\IITT^eTf'
 UQ
X LL88@@B  $zz4<<:W+W*b*bls*b*tu[Q
^ LL88@@B  $zz4<<:W+W*b*bls*b*tuaQ
d LL<<DDF  $zz4<<:[+[*f*fpw*f*xygQ
j LL;;CCE T\\4T%T$_$_ip$_$qrmQ
p LL66>>@ T\\4O%O$Z$Zdk$Z$lmsQ
v LL>>FFH &*ZZ@c1c0n0nx0n  1A  &ByQ
| LLBBJJL !%

DLL;b,b+m+mw~+m+  !AQ
B LLAAIIK  $zz4<<:`+`*k*ku|*k*}~EQ
L LLGGOOQ &*ZZ\\HHSS]dSe&
 OQ
R LL88@@B jj$,,1N"N!Y!Ycj!Y!klUQ
X LL??GGI "ZZ8\)\(g(gqx(g(yz[Q
^ LL>>FFH !JJ7Z(Z'e'eov'e'wxaQ
d LL::BBD 

DLL3R$R#]#]gn#]#opgQ
j LLGGOOQ  $zz4<<:f+f*q*q  |C*q  +D   EmQ
p LLDDLLN (,zz4<<Bk3k2v2v  AH2v  3I  (JsQ
v LL@@HHJ $(::t||>c/c.n.nx.n  /A  $ByQ
@ LLBBJJL &*ZZ\\CCNNX_N`&
 CQ
J LLGGOOQ !%

\\HHSS]dSe!
 MQ
T LLHHPPR "&\\IITT^eTf"
 WQ
Z LL<<DDF ZZ0Q!Q \ \fm \ no]Q
d LLEEMMO #jj\\FFQQ[bQc
 gQ
j LLCCKKM !JJ7_(_'j'jt{'j'|}mQ
p LLDDLLN "ZZ8a)a(l(lv}(l(~sQ
v LLDDLLN "ZZ8a)a(l(lv}(l(~yQ
| LLCCKKM !JJ7_(_'j'jt{'j'|}Q
B LLBBJJL  ::t||6]']&h&hry&h&z{EQ
H LL88@@B  $zz4<<:W+W*b*bls*b*tuKQ
R LLJJRRT $(::\\KKVV`gVh$
 UQ
\ LL<<DDF $(::\\==HHRYHZ$
 _Q
b LL@@HHJ T\\4Y%Y$d$dnu$d$vweQ
l LLOOWWY )-

\\PP[[el[m)
 oQ
v LLDDLLN "ZZ\\EEPPZaPb
 yQ
@ LLKKSSU %)JJ\\LLWWahWi%
 CQ
J LLEEMMO #jj\\FFQQ[bQc
 MQ
T LLPPXXZ *.\\QQ\\fm\n*
 WQ
^ LLKKSSU %)JJ\\LLWWahWi%
 aQ
h LLMMUUW '+jj\\NNYYcjYk'
 kQ
r LLNNVVX (,zz\\OOZZdkZl(
 uQ
| LLJJRRT $(::\\KKVV`gVh$
 Q
B LLEEMMO #jj$,,9c*c)n)nx)n  *A  BEQ
L LLJJRRT $(::\\KKVV`gVh$
 OQ
V LLFFNNP  $zz\\GGRR\cRd 
 YQ
` LLLLTTV &*ZZ\\MMXXbiXj&
 cQ
j LLJJRRT $(::\\KKVV`gVh$
 mQ
p LL99AAC **dll-KKVV`gVhisQ
v LLCCKKM !JJ7_(_'j'jt{'j'|}yQ
@ LLMMUUW '+jj\\NNYYcjYk'
 CQ
J LLMMUUW '+jj\\NNYYcjYk'
 MQ
T LLFFNNP  $zz\\GGRR\cRd 
 WQ
^ LLKKSSU %)JJ\\LLWWahWi%
 aQ
h LLNNVVX (,zz\\OOZZdkZl(
 kQ
n LLDDLLN "ZZ8a)a(l(lv}(l(~qQ
x LLKKSSU %)JJ\\LLWWahWi%
 {Q
B	 LLMMUUW '+jj\\NNYYcjYk'
 E	Q
L	 LLKKSSU %)JJ\\LLWWahWi%
 O	Q
V	 LLRRZZ\ ,0::\\SS^^ho^p,
 Y	Q
`	 LLHHPPR "&\\IITT^eTf"
 c	Q
f	 LLBBJJL  ::t||6]']&h&hry&h&z{i	Q
p	 LLCCKKM !JJ\\DDOOY`Oa
 s	Q
v	 LL??GGI 

DLL3W$W#b#bls#b#tuy	Q
|	 LLAAIIK **dll5[&[%f%fpw%f%xy	Q
B
 LL<<DDF ZZ0Q!Q \ \fm \ noE
Q
H
 LL==EEG jj$,,1S"S!^!^ho!^!pqK
Q
N
 LL55==? zz4<<2L#L"W"Wah"W"ijQ
Q
X
 LLKKSSU %)JJ\\LLWWahWi%
 [
Q
b
 LLMMUUW '+jj\\NNYYcjYk'
 e
Q
h
 LLDDLLN "ZZ8a)a(l(lv}(l(~k
Q
r
 LLJJRRT $(::\\KKVV`gVh$
 u
Q
x
 LLEEMMO #jj$,,9c*c)n)nx)n  *A  B{
Q
B LLFFNNP  $zz\\GGRR\cRd 
 EQ
L LLVV^^` 04zz\\WWbblsbt0
 OQ
V LLTT\\^ .2ZZ\\UU``jq`r.
 YQ
` LLQQYY[ +/**\\RR]]gn]o+
 cQ
j LLQQYY[ +/**\\RR]]gn]o+
 mQ
t LLWW__a 15

\\XXccmtcu1
 wQ
z LL<<DDF ZZ0Q!Q \ \fm \ no}Q
D LLDDLLN "ZZ\\EEPPZaPb
 GQ
N LLEEMMO #jj\\FFQQ[bQc
 QQ
X LLGGOOQ !%

\\HHSS]dSe!
 [Q
b LLKKSSU %)JJ\\LLWWahWi%
 eQ
l LLMMUUW 59JJ\\NNYYcjYk5
 oQ
v LLKKSSU 37**\\LLWWahWi3
 yQ
@ LLIIQQS 15

\\JJUU_fUg1
 CQ
J LLGGOOQ !%

\\HHSS]dSe!
 MQ
T LLAAIIK $(::\\BBMMW^M_$
 WQ
^ LLEEMMO (,zz\\FFQQ[bQc(
 aQ
h LLKKSSU %)JJ\\LLWWahWi%
 kQ
n LL>>FFH zz4<<2U#U"`"`jq"`"rsqQ
x LLJJRRT $(::\\KKVV`gVh$
 {Q
B LLDDLLN "ZZ\\EEPPZaPb
 EQ
L LLFFNNP  $zz\\GGRR\cRd 
 OQ
V LLGGOOQ !%

\\HHSS]dSe!
 YQ
` LLEEMMO #jj\\FFQQ[bQc
 cQ
j LLCCKKM !JJ\\DDOOY`Oa
 mQ
t LLEEMMO #jj\\FFQQ[bQc
 wQ
~ LLEEMMO #jj\\FFQQ[bQc
 AQ
H LLEEMMO #jj\\FFQQ[bQc
 KQ
N LL@@HHJ T\\4Y%Y$d$dnu$d$vwQQ
X LLLLTTV &*ZZ\\MMXXbiXj&
 [Q
f LLUU]]_ /3jj\\VVaa  b /
 iQ
p LLNNVVX (,zz\\OOZZdkZl(
 sQ
z LLMMUUW '+jj\\NNYYcjYk'
 }Q
D LLFFNNP  $zz\\GGRR\cRd 
 GQ
N LLKKSSU %)JJ\\LLWWahWi%
 QQ
X LLJJRRT $(::\\KKVV`gVh$
 [Q
b LL@@HHJ #jj\\AALLV]L^
 eQ
h LLBBJJL  ::t||6]']&h&hry&h&z{kQ
r LLNNVVX (,zz\\OOZZdkZl(
 uQ
| LLFFNNP (,zz\\GGRR\cRd(
 Q
F LLEEMMO #jj\\FFQQ[bQc
 IQ
P LLEEMMO #jj\\FFQQ[bQc
 SQ
V LLBBJJL  ::t||6]']&h&hry&h&z{YQ
\ LL@@HHJ T\\4Y%Y$d$dnu$d$vw_Q
f LLIIQQS #'**\\JJUU_fUg#
 iQ
p LLMMUUW '+jj\\NNYYcjYk'
 sQ
z LLKKSSU %)JJ\\LLWWahWi%
 }Q
D LLIIQQS #'**\\JJUU_fUg#
 GQ
N LLHHPPR "&\\IITT^eTf"
 QQ
X LLCCKKM !JJ\\DDOOY`Oa
 [Q
b LLKKSSU %)JJ\\LLWWahWi%
 eQ
l LLFFNNP  $zz\\GGRR\cRd 
 oQ
r LL==EEG %)JJ?a0a/l/lv}/l/~$uQ
~ LLAAIIK JJ'MMXXbiXjkS_ AQ
B *K)N)Nz)Z)b^bCQ
J LL<<DDF $(::\\==HHRYHZ$
 MQ
N -P,S,ST_,`,hdhOQ
P -C,F,Fx,P,XTXQQ
R ,B+E+Eg+N+VRVSQ
T 0F/I/I+/V/^Z^UQ
V +A*D*DV*L*TPTWQ
X ,B+E+Eg+N+VRVYQ
Z /T.W.WXe.f.njn[Q
\ *@)C)CJ)O)WSW]Q
^ 3T2W2WXb2c2kgk_Q
` 0S/V/VW^/_/gcgaQ
b ,O+R+RSY+Z+b^bcQ
f 9<<\JRdgQ
l LL<<DDF "ZZ8Y)Y(d(dnu(d(vwoQ
r LL<<DDF  ::t||6W'W&b&bls&b&tuuQ
~ LL==EEG JJ'IITT^eTfgS AQ
H LLAAIIK !%

\\BBMMW^M_!
 KQ
R LL@@HHJ  $zz\\AALLV]L^ 
 UQ
^ LL==EEG JJ'IITT^eTfgS aQ
Gd '4<<(rR   __main__)r   r   rp   )r7   rb  r8   r  r9   list[dict] | Noner  rb  )rG   rb  r  rb  )rP   r  rK   r  rL   r  rM   	list[str]rN   r  r  rb  )rU   r  rL   r  rV   r  rM   r  rN   r  r  rb  )r   
str | Noner  r  )r   r  r  r  )ru   zlist[str] | Noner  r  )r   rb  r  
list[dict])r   dict | Noner  r  )r   r  r   r  r  r  )r   r  r  r  )r   r  r  r  )r   r  r  r  )r   r  r  r  )r   rb  r  rb  )rM   r  r  r  )r$   rb  r  r  )rc  r  r   rb  r  r  )NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN(P  ru  rb  rc  r  rG   rb  r7   rb  rv  r  r   r  rw  r  r8   
int | Nonerx  r  ry  r  rz  r  r{  r  r|  r  r}  r  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r	  r  r
  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rb  )r  rb  r  r  )r  rb  r  r   r  None)r  r  )4__doc__
__future__r   r  ry   r   pathlibr   __file__resolver  rb   rq  ROUTE_BLOCKER_SOURCEROUTE_BLOCKER_TARGETr   r   r@   rH   rQ   rW   r_   rf   rl   rv   r}   r   r   r   r   r   r   r   r   r   r   rd  r  r  r  r  r  r;  r>  rG  rn  r  r  r  r  r  __name__rO   rR   r   <module>r     sM   B "     H~''*
Ul! ! p >  	
  
 !TGPPf	#%S["62# PfQh|~6r;|.bFR8NOn .2(,59 -1"&$(4826$(15480415*.)-*.*.*.$($(04+/*.04!%(,'+#'*.26.204+/,0&*)-'+(,(,'+&**..2.2$(37(,/3)-48/31526.2)-.2*.04.2!'+1515*./326.2/315/36:,0&*'+#'%)&*'+(,/315(,.2)-*.:>8<5959;? $(,)-+//3?C=A;?+/.226/3"&.2(,*.+/)-'+)-)-)-$(049=2615*./3.2)-&*2626)-)-&*$(-115/3-1,0'+/3*./315@DHLCG(,48.27;7;6::>596:9=48=A:>6:@D(,&*%)+/*.%)O^p^p^p ^p 	^p
 +^p &^p (3^p ^p  +^p  ^p "^p '2^p %0^p "^p $/^p  '2!^p" #.#^p$ $/%^p& ('^p( ')^p* (+^p, (-^p. (/^p0 "1^p2 "3^p4 #.5^p6 )7^p8 (9^p: #.;^p< =^p> &?^p@ %A^pB !C^pD (E^pF %0G^pH !,I^pJ #.K^pL )M^pN *O^pP $Q^pR 'S^pT %U^pV &W^pX &Y^pZ %[^p\ $]^p^ (_^p` !,a^pb !,c^pd "e^pf &1g^ph &i^pj "-k^pl 'm^pn '2o^pp "-q^pr $/s^pt %0u^pv !,w^px 'y^pz !,{^p| (}^p~ #.^p@ !,A^pB C^pD %E^pF $/G^pH $/I^pJ (K^pL "-M^pN %0O^pP ,Q^pR "-S^pT $/U^pV "-W^pX )4Y^pZ *[^p\ $]^p^ %_^p` !a^pb #c^pd $e^pf %g^ph &i^pj "-k^pl $/m^pn &o^pp !,q^pr 's^pt (u^pv -8w^px +6y^pz (3{^p| (3}^p~ .9^p@ A^pB &C^pD 'E^pF )G^pH "-I^pJ 2=K^pL 0;M^pN .9O^pP )Q^pR !,S^pT %0U^pV "-W^pX  Y^pZ !,[^p\ &]^p^ (_^p` )a^pb 'c^pd %e^pf 'g^ph 'i^pj 'k^pl "m^pn #.o^pp ,7q^pr %0s^pt $/u^pv (w^px "-y^pz !,{^p| '}^p~ $^p@ %0A^pB %0C^pD 'E^pF 'G^pH $I^pJ "K^pL  +M^pN $/O^pP "-Q^pR  +S^pT *U^pV %W^pX "-Y^pZ ([^p\ "-]^p^ $/_^p` 3>a^pb ;Fc^pd 6Ae^pf &g^ph '2i^pj !,k^pl *5m^pn *5o^pp )4q^pr -8s^pt (3u^pv )4w^px ,7y^pz '2{^p| 0;}^p~ -8^p@ )4A^pB 3>C^pD &E^pF $G^pH #I^pJ )K^pL (M^pN #O^pP 
Q^pBaSlnb 25 Yd
)N zF rR   