2bi SSKJr SSKrSSKrSSKrSSKJr SSKJr SSK J r SSK J r \R"S5S rS rS rS rSS jrg))absolute_importN)BytesIO) RequestField)six)bzutf-8c[R"[R"S55n[R (dUR S5nU$)zF Our embarrassingly-simple replacement for mimetools.choose_boundary. ascii)binasciihexlifyosurandomrPY2decode)boundarys ڎ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/urllib3/filepost.pychoose_boundaryrs6 2/H 77??7+ Oc## [U[5(a[R"U5nO [ U5nUH3n[U[ 5(aUv M[ R "U6v M5 g7f)zv Iterate over fields. Supports list of (k, v) tuples and dicts, and lists of :class:`~urllib3.fields.RequestField`. N) isinstancedictr iteritemsiterr from_tuples)fieldsifields riter_field_objectsr sX&$ MM& ! L e\ * *K**E2 2 sA2A4cx[U[5(aS[R"U55$SU5$)a .. deprecated:: 1.6 Iterate over fields. The addition of :class:`~urllib3.fields.RequestField` makes this function obsolete. Instead, use :func:`iter_field_objects`, which returns :class:`~urllib3.fields.RequestField` objects. Supports list of (k, v) tuples and dicts. c3,# UH upX4v M g7fN.0kvs r iter_fields..:s9#841#8c3,# UH upX4v M g7fr#r$r%s rr)r*<s &vtqQFvr+)rrrr)rs r iter_fieldsr--s0&$93==#899 &v &&rch[5nUc [5n[U5HnUR[ SU-55 [ U5RUR 55 URn[U[5(a [U5n[U[R5(a[ U5RU5 OURU5 URS5 M UR[ SU-55 [SU-5nUR5U4$)a5 Encode a dictionary of ``fields`` using the multipart/form-data MIME format. :param fields: Dictionary of fields or list of (key, :class:`~urllib3.fields.RequestField`). :param boundary: If not specified, then a random boundary will be generated using :func:`urllib3.filepost.choose_boundary`. z--%s s z--%s-- z multipart/form-data; boundary=%s)rrr writerwriterrender_headersdatarintstrr text_typegetvalue)rrbodyrr2 content_types rencode_multipart_formdatar9?s 9D"$#F+ 1Z8,-.t 5//12zz dC t9D dCMM * * 4L  t $ JJt  7,  JJq*+,9HDEL ==?L ((rr#) __future__rr codecsriorrrpackagesr packages.sixrlookupr0rr r-r9r$rrr@sD&   w  "3('$#)r