
    MpjT                     `    S SK r S SKrS SKJr  S SKJr  S SKJrJr  S r	S r
 " S S\\5      rg)	    N)UserDict)ReprHTMLMixin)generate_link_to_param_docget_docstringc                     [         R                  " U 5      n [        R                  " 5       nSUl        SUl        SUl        [         R                  " UR                  U5      5      nX;   a  SOSnXPUS.$ )zCategorizes parameters as 'default' or 'user-set' and formats their values.
Escapes or truncates parameter values for display safety and readability.
      2   zuser-setdefault)
param_type
param_nameparam_value)htmlescapereprlibReprmaxlistmaxtuple	maxstringrepr)namevaluenon_default_paramsrcleaned_valuer   s         [/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/sklearn/utils/_repr_html/params.py_read_paramsr      s_     ;;tDAAIAJAKKKu.M#9yJ$WW    c           	         SnSnSn/ nU  H  n[        XPU   U R                  5      n[        U R                  XPR                  5      n[        U R                  SU5      nU R                  (       a#  U(       a  U(       a  UR                  UUS   US9n	OUS   n	UR                  UR                  " S
0 UDSU	0D65        M     UR                  SR                  U5      S	9$ )zGenerate HTML representation of estimator parameters.

Creates an HTML table with parameter names and values, wrapped in a
collapsible details element. Parameters are styled differently based
on whether they are default or user-set values.
a/  
        <div class="estimator-table">
            <details>
                <summary>Parameters</summary>
                <table class="parameters-table">
                  <tbody>
                    {rows}
                  </tbody>
                </table>
            </details>
        </div>
    aW  
        <tr class="{param_type}">
            <td><i class="copy-paste-icon"
                 onclick="copyToClipboard('{param_name}',
                          this.parentElement.nextElementSibling)"
            ></i></td>
            <td class="param">{param_display}</td>
            <td class="value">{param_value}</td>
        </tr>
    aY  
        <a class="param-doc-link"
            style="anchor-name: --doc-link-{param_name};"
            rel="noreferrer" target="_blank" href="{link}">
            {param_name}
            <span class="param-doc-description"
            style="position-anchor: --doc-link-{param_name};">
            {param_description}</span>
        </a>
    
Parametersr   )linkr   param_descriptionparam_display
)rows )	r   non_defaultr   estimator_classdoc_linkr   formatappendjoin)
paramsPARAMS_TABLE_TEMPLATEPARAM_ROW_TEMPLATE!PARAM_AVAILABLE_DOC_LINK_TEMPLATEr%   rowparamr!   r"   r#   s
             r   _params_html_reprr3      s    		)% DS+v/A/AB)&*@*@#W)&*@*@,PST??t(9=DD ."3 E M ",/M&--SS]ST# & !''TYYt_'==r   c                   H   ^  \ rS rSrSr\rS\" 5       SSS.U 4S jjrSr	U =r
$ )
ParamsDict`   a  Dictionary-like class to store and provide an HTML representation.

It builds an HTML structure to be used with Jupyter notebooks or similar
environments. It allows storing metadata to track non-default parameters.

Parameters
----------
params : dict, default=None
    The original dictionary of parameters and their values.

non_default : tuple, default=(,)
    The list of non-default parameters.

estimator_class : type, default=None
    The class of the estimator. It allows to find the online documentation
    link for each parameter.

doc_link : str, default=""
    The base URL to the online documentation for the estimator class.
    Used to generate parameter-specific documentation links in the HTML
    representation. If empty, documentation links will not be generated.
N )r-   r'   r(   r)   c                Z   > [         TU ]  U=(       d    0 5        X l        X0l        X@l        g )N)super__init__r'   r(   r)   )selfr-   r'   r(   r)   	__class__s        r   r:   ParamsDict.__init__z   s'     	2&&. r   )r)   r(   r'   )__name__
__module____qualname____firstlineno____doc__r3   
_html_reprtupler:   __static_attributes____classcell__)r<   s   @r   r5   r5   `   s'    . #J %'4RT! !r   r5   )r   r   collectionsr   sklearn.utils._repr_html.baser   sklearn.utils._repr_html.commonr   r   r   r3   r5   r&   r   r   <module>rJ      s2        7X >>B !  !r   