
    g                        d Z ddlmZ ddlmZ dZddiZdZdZ	 ee      Z
 edegi       ed	egi       ed
egi      d edegez  i       ed	egez  i      d edegdgez  i       ed	egdgez  i      d edg dgedz  z  edgedz  z  i       ed	g dgedz  z  edgedz  z  i      d edg dgez  ei       ed	g dgez  ei      d edegdgez  i       ed
egdgez  i      d edg dgedz  z  edgedz  z  i       ed
g dgedz  z  edgedz  z  i      d edg dgez  ei       ed
g dgez  ei      ddZedk(  r e       Zej                  dd        ej                  dd        ej                         D ]S  \  ZZej                         D ];  \  ZZej                  e de defd       ej                  e de defd       = U yy)z
A benchmark for validation of applicators containing lots of useless schemas.

Signals a small possible optimization to remove all such schemas ahead of time.
    )Runner)Draft202012Validatori const%      anyOfallOfoneOf)r   r	   r
   )r   r	   T   F)r   r
   )zsingle subschemazredundant subschemasz)useless successful subschemas (beginning)z&useless successful subschemas (middle)z#useless successful subschemas (end)z&useless failing subschemas (beginning)z#useless failing subschemas (middle)z useless failing subschemas (end)__main__zbaseline validc                  4    t         j                  t              S N)baselineis_validvalid     e/var/www/openai/venv/lib/python3.12/site-packages/jsonschema/benchmarks/useless_applicator_schemas.py<lambda>r   ^   s    0A0A%0Hr   zbaseline invalidc                  4    t         j                  t              S r   )r   r   invalidr   r   r   r   r   _   s    (2C2CG2Lr   z: z validc                 ,    | j                  t              S r   )r   r   	validators    r   r   r   e   s    I,>,>u,Er   z invalidc                 ,    | j                  t              S r   )r   r   r   s    r   r   r   i   s    I,>,>w,Gr   N)__doc__pyperfr   
jsonschemar   	ValidatorNUM_USELESS	subschemar   r   r   by_name__name__runner
bench_funcitemsgroupapplicators
applicatorr   r   r   r   <module>r*      s    8bM	

Y Gi[12Gi[12Gi[12 Gi[;%>?@Gi[;%>?@
 Gi%G4&;2F%GHIGi%G4&;2F%GHI2
  V{a/0 V{a/0
  V{a/0 V{a/0
/* G%Gv';%GY%GHIG%Gv';%GY%GHI,
 Gi%H5'K2G%HIJGi%H5'K2G%HIJ/
  Wq 01 Wq 01
  Wq 01 Wq 01
,* G%Hw'<%Hi%HIJG%Hw'<%Hi%HIJ)}BH zXF
&(HI
(*LM%mmo{%0%6%6%8!J	'J<v.!*E 'J<x0!*G &9 . r   