§
    €Ûg™Ÿ  ã                   ól  — d Z ddlZddlZddlZddlZddlmZ ddlZddl	m
Z
mZmZmZmZmZmZ ddlmZ ddlmZ ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej        ej         e!gZ"g Z#e"D ]ÔZ$dD ]ÏZ% ej&        e$¦  «         '                    e%¦  «        Z& ej(        d¦  «         )                    e&¦  «        Z*e# +                     ej,        g e&¬	¦  «         ej,        d
e&¬	¦  «        e*e* -                    d¦  «        e* -                    d¦  «        j.        e* -                    d¦  «        ddd…ddd…f         g¦  «         ŒÐŒÕg d¢Z/ddgddgddggdfddgddgddggdfgZ0dddddg d¢fddgfdd d!d"gfd#d$gZ1ddgd%dd&d%d'gddgd(dgfd)d*fd+d,ddgddggdfddgd-dd.d-d/gddgdd(gfd0d1fd2d3ddgddggdfgZ2 ej,        e0 ej&        e/¦  «         '                    d4¦  «        ¬	¦  «         ej,        e2 ej&        e1¦  «         '                    d4¦  «        ¬	¦  «         ej,        e0 ej&        e/¦  «         '                    d5¦  «        ¬	¦  «         ej,        e2 ej&        e1¦  «         '                    d5¦  «        ¬	¦  «         ej3        d(d6g¬	¦  «        gZ4 G d7„ d8e¦  «        Z5d9„ Z6d:„ Z7d;„ Z8d<„ Z9d=„ Z:d>„ Z;d?„ Z<d@„ Z=ej>         ?                    edA¬B¦  «        ej>        j@        dC„ ¦   «         ¦   «         ZAdD„ ZB ej&        dEd*¬F¦  «        ZC ej&        dGdHgdIdIgd(dJgdKœ¦  «        ZD ej&        dLdMgdIeDgdNœ¦  «        ZE ej&        g dO¢dIgdz  dNœ¦  «        ZF ej&        dGdHgdIdIgd(dJgdPdQgdRœ¦  «        ZG ej&        g g ddSœ¦  «        ZHej>         I                    dTeCeDeEeFeGeHg¦  «        dU„ ¦   «         ZJej>         K                    edV¬B¦  «        dW„ ¦   «         ZLdX„ ZMdY„ ZNej>         I                    dT ej&         ej&        dGej        fdHej        fdLej        fgd*¬F¦  «        dZ¦  «         ej&        d[ ej&        dGdHgd\d\gddgdd]œdZ¦  «        d^fg¦  «         ej&        d_g¦  «         ej&        d[ ej&         ej&         ej&        dGdHgd\d\gddgdd]œ¦  «        dZf¦  «        d^f¦  «        fg¦  «         ej&        dG ej&         ej&         ej&         ej&        dGeOfdH ej&        dGdHgd\d\gddgdd]œ¦  «        fg¦  «        dZf¦  «        d^f¦  «        d`f¦  «        fg¦  «        g¦  «        da„ ¦   «         ZPdb„ ZQej>         ?                    edA¬B¦  «        dc„ ¦   «         ZRej>         I                    dddedg¦  «        df„ ¦   «         ZSdg„ ZTdh„ ZUg di¢ZVg dj¢ZWdk„ ZXdl„ ZYdm„ ZZdn„ Z[do„ Z\dp„ Z]dq„ Z^dr„ Z_ds„ Z`ej>         ?                    edt¬B¦  «        ej>         ?                     ej&        eja        ¦  «        jb        dk     du¬B¦  «        ej>        j@         edv¬w¦  «        dx„ ¦   «         ¦   «         ¦   «         ¦   «         Zcdy„ Zddz„ Zed{„ Zfej>         I                    d| ej&        dGdHgeg ej&        d}d~di¬€¦  «        gdNœ¦  «        d*f ej&        eOd~di¬€¦  «        d1f ej&        d�eOd‚ffgd~di¬€¦  «        d1f ej&        dGdHgeg ej&        dLg ej&        eOi ¬€¦  «        gdNœ¦  «        gdNœ¦  «        d1fg¦  «        ej>         ?                    eoejh        ji        dƒk    d„¬B¦  «        d…„ ¦   «         ¦   «         ZjdS )†a¹D   Test the .npy file format.

Set up:

    >>> import sys
    >>> from io import BytesIO
    >>> from numpy.lib import format
    >>>
    >>> scalars = [
    ...     np.uint8,
    ...     np.int8,
    ...     np.uint16,
    ...     np.int16,
    ...     np.uint32,
    ...     np.int32,
    ...     np.uint64,
    ...     np.int64,
    ...     np.float32,
    ...     np.float64,
    ...     np.complex64,
    ...     np.complex128,
    ...     object,
    ... ]
    >>>
    >>> basic_arrays = []
    >>>
    >>> for scalar in scalars:
    ...     for endian in '<>':
    ...         dtype = np.dtype(scalar).newbyteorder(endian)
    ...         basic = np.arange(15).astype(dtype)
    ...         basic_arrays.extend([
    ...             np.array([], dtype=dtype),
    ...             np.array(10, dtype=dtype),
    ...             basic,
    ...             basic.reshape((3,5)),
    ...             basic.reshape((3,5)).T,
    ...             basic.reshape((3,5))[::-1,::2],
    ...         ])
    ...
    >>>
    >>> Pdescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> PbufferT = [
    ...     ([3,2], [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> Ndescr = [
    ...     ('x', 'i4', (2,)),
    ...     ('Info', [
    ...         ('value', 'c16'),
    ...         ('y2', 'f8'),
    ...         ('Info2', [
    ...             ('name', 'S2'),
    ...             ('value', 'c16', (2,)),
    ...             ('y3', 'f8', (2,)),
    ...             ('z3', 'u4', (2,))]),
    ...         ('name', 'S2'),
    ...         ('z2', 'b1')]),
    ...     ('color', 'S2'),
    ...     ('info', [
    ...         ('Name', 'U8'),
    ...         ('Value', 'c16')]),
    ...     ('y', 'f8', (2, 2)),
    ...     ('z', 'u1')]
    >>>
    >>>
    >>> NbufferT = [
    ...     ([3,2], (6j, 6., ('nn', [6j,4j], [6.,4.], [1,2]), 'NN', True), 'cc', ('NN', 6j), [[6.,4.],[6.,4.]], 8),
    ...     ([4,3], (7j, 7., ('oo', [7j,5j], [7.,5.], [2,1]), 'OO', False), 'dd', ('OO', 7j), [[7.,5.],[7.,5.]], 9),
    ...     ]
    >>>
    >>>
    >>> record_arrays = [
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('<')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('<')),
    ...     np.array(PbufferT, dtype=np.dtype(Pdescr).newbyteorder('>')),
    ...     np.array(NbufferT, dtype=np.dtype(Ndescr).newbyteorder('>')),
    ... ]

Test the magic string writing.

    >>> format.magic(1, 0)
    '\x93NUMPY\x01\x00'
    >>> format.magic(0, 0)
    '\x93NUMPY\x00\x00'
    >>> format.magic(255, 255)
    '\x93NUMPY\xff\xff'
    >>> format.magic(2, 5)
    '\x93NUMPY\x02\x05'

Test the magic string reading.

    >>> format.read_magic(BytesIO(format.magic(1, 0)))
    (1, 0)
    >>> format.read_magic(BytesIO(format.magic(0, 0)))
    (0, 0)
    >>> format.read_magic(BytesIO(format.magic(255, 255)))
    (255, 255)
    >>> format.read_magic(BytesIO(format.magic(2, 5)))
    (2, 5)

Test the header writing.

    >>> for arr in basic_arrays + record_arrays:
    ...     f = BytesIO()
    ...     format.write_array_header_1_0(f, arr)   # XXX: arr is not a dict, items gets called on it
    ...     print(repr(f.getvalue()))
    ...
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|u1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|u1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '|i1', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '|i1', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i2', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i2', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>u8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>u8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>i8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>i8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f4', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f4', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>f8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>f8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '<c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '<c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': '>c8', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': '>c8', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '<c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '<c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (0,)}             \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': ()}               \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (15,)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 5)}           \n"
    "F\x00{'descr': '>c16', 'fortran_order': True, 'shape': (5, 3)}            \n"
    "F\x00{'descr': '>c16', 'fortran_order': False, 'shape': (3, 3)}           \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (0,)}              \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': ()}                \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (15,)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 5)}            \n"
    "F\x00{'descr': 'O', 'fortran_order': True, 'shape': (5, 3)}             \n"
    "F\x00{'descr': 'O', 'fortran_order': False, 'shape': (3, 3)}            \n"
    "v\x00{'descr': [('x', '<i4', (2,)), ('y', '<f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '<i4', (2,)),\n           ('Info',\n            [('value', '<c16'),\n             ('y2', '<f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '<c16', (2,)),\n               ('y3', '<f8', (2,)),\n               ('z3', '<u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '<U8'), ('Value', '<c16')]),\n           ('y', '<f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
    "v\x00{'descr': [('x', '>i4', (2,)), ('y', '>f8', (2, 2)), ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}         \n"
    "\x16\x02{'descr': [('x', '>i4', (2,)),\n           ('Info',\n            [('value', '>c16'),\n             ('y2', '>f8'),\n             ('Info2',\n              [('name', '|S2'),\n               ('value', '>c16', (2,)),\n               ('y3', '>f8', (2,)),\n               ('z3', '>u4', (2,))]),\n             ('name', '|S2'),\n             ('z2', '|b1')]),\n           ('color', '|S2'),\n           ('info', [('Name', '>U8'), ('Value', '>c16')]),\n           ('y', '>f8', (2, 2)),\n           ('z', '|u1')],\n 'fortran_order': False,\n 'shape': (2,)}      \n"
é    N)ÚBytesIO)Úassert_Úassert_array_equalÚassert_raisesÚassert_raises_regexÚassert_warnsÚIS_PYPYÚIS_WASM)Úrequires_memory)Úformatz<>iÜ  ©Údtypeé
   )é   é2   éÿÿÿÿé   )©ÚxÚi4©r   ©ÚyÚf8©r   r   ©ÚzÚu1é   g      @g      @é   é   g      @g      @é	   r   ÚInfo)ÚvalueÚc16)Úy2r   ÚInfo2)©ÚnameÚS2)r$   r%   r   )Úy3r   r   )Úz3Úu4r   r(   )Úz2Úb1)Úcolorr*   Úinfo)ÚNameÚU8)ÚValuer%   r   r   ù              @Únny              @é   ÚNNTÚcc)r8   r5   ù              @Úooy              @ÚOOFÚdd)r<   r:   ú<ú>)Úc©z<f8©é   r   c                   ó    ‡ — e Zd Zdˆ fd„	Zˆ xZS )ÚBytesIOSRandomSizeNc                 óz   •— dd l }|                     d|¦  «        }t          ¦   «                              |¦  «        S )Nr   r7   )ÚrandomÚrandintÚsuperÚread)ÚselfÚsizerG   Ú	__class__s      €úQ/granary/edev/quantum/lib/python3.11/site-packages/numpy/lib/tests/test_format.pyrJ   zBytesIOSRandomSize.read‘  s5   ø€ ØˆˆˆØ�~Š~˜a Ñ&Ô&ˆÝ‰wŒw�|Š|˜DÑ!Ô!Ð!ó    ©N)Ú__name__Ú
__module__Ú__qualname__rJ   Ú__classcell__)rM   s   @rN   rE   rE   �  s=   ø€ € € € € ð"ð "ð "ð "ð "ð "ð "ð "ð "ð "rO   rE   c                 óº   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |d¬¦  «        }|S )NT©Úallow_pickle©r   r   Úwrite_arrayÚgetvalueÚ
read_array©ÚarrÚfÚf2Úarr2s       rN   Ú	roundtripra   —  sM   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	�—’‘”Ñ	Ô	€BÝÔ˜R¨dÐ3Ñ3Ô3€DØ€KrO   c                 ó¶   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         ¦  «        }t          j        |¦  «        }|S rP   )r   r   rY   rE   rZ   r[   r\   s       rN   Úroundtrip_randsizerc   Ÿ  sH   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐÝ	˜AŸJšJ™LœLÑ	)Ô	)€BÝÔ˜RÑ Ô €DØ€KrO   c                 óÆ   — t          ¦   «         }t          j        || ¦  «         t          |                     ¦   «         dd…         ¦  «        }t          j        |¦  «        }|S )Nr   r   rX   r\   s       rN   Úroundtrip_truncatedre   §  sQ   € Ý‰	Œ	€AÝ
Ô�q˜#ÑÔÐå	�—’‘”˜a ˜dÔ#Ñ	$Ô	$€BÝÔ˜RÑ Ô €DØ€KrO   c                 ó,   — t          | |k    ¦  «         d S rP   )r   )Úo1Úo2s     rN   Úassert_equal_ri   °  s   € ÝˆB�"ŠHÑÔÐÐÐrO   c                  óh   — t           t          z   D ]!} t          | ¦  «        }t          | |¦  «         Œ"d S rP   )Úbasic_arraysÚrecord_arraysra   r   ©r]   r`   s     rN   Útest_roundtriprn   ´  s>   € Ý�mÑ+ð &ð &ˆÝ˜‰~Œ~ˆÝ˜3 Ñ%Ô%Ð%Ð%ð&ð &rO   c                  óˆ   — t           t          z   D ]1} | j        t          k    rt	          | ¦  «        }t          | |¦  «         Œ2d S rP   )rk   rl   r   Úobjectrc   r   rm   s     rN   Útest_roundtrip_randsizerq   º  sK   € Ý�mÑ+ð *ð *ˆØŒ9�ÒÐÝ% cÑ*Ô*ˆDÝ˜s DÑ)Ô)Ð)øð*ð *rO   c                  óp   — t           D ]-} | j        t          k    rt          t          t
          | ¦  «         Œ.d S rP   )rk   r   rp   r   Ú
ValueErrorre   ©r]   s    rN   Útest_roundtrip_truncatedru   Á  s@   € Ýð @ð @ˆØŒ9�ÒÐÝ�*Õ&9¸3Ñ?Ô?Ð?øð@ð @rO   c                  ó¼   — t          j        dt          j        t          t          j        dz   f¦  «        ¬¦  «        } t          | ¦  «        }t          | |¦  «         d S )Nr7   r   )ÚnpÚonesr   Ústrr   ÚBUFFER_SIZEra   r   )Úlong_str_arrÚlong_str_arr2s     rN   Útest_long_strr}   Ç  sP   € å”7˜1¥B¤H­cµ6Ô3EÈÑ3IÐ-JÑ$KÔ$KÐLÑLÔL€LÝ˜lÑ+Ô+€MÝ�| ]Ñ3Ô3Ð3Ð3Ð3rO   zmemmap doesn't work correctly)Úreasonc                 ó€  — t          t          t          z   ¦  «        D �]Ÿ\  }}|j        j        rŒt
          j                             | d|› d�¦  «        }t
          j                             | d|› d�¦  «        }t          |d¦  «        5 }t          j
        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |j        j        o|j        j         }t          j        |d|j        |j        |¬¦  «        }||d<   |                     ¦   «          t          |d¦  «        5 }|                     ¦   «         }d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     ¦   «         }	d d d ¦  «         n# 1 swxY w Y   t%          ||	¦  «         t          j        |d	¬
¦  «        }|                     ¦   «          �Œ¡d S )NÚnormalz.npyÚmemmapÚwbúw+)Úmoder   ÚshapeÚfortran_order.ÚrbÚr)r„   )Ú	enumeraterk   rl   r   Ú	hasobjectÚosÚpathÚjoinÚopenr   rY   ÚflagsÚf_contiguousÚc_contiguousÚopen_memmapr…   ÚflushrJ   ri   )
ÚtmpdirÚir]   ÚnfnÚmfnÚfpr†   ÚmaÚnormal_bytesÚmemmap_bytess
             rN   Útest_memmap_roundtriprœ   Î  s`  € õ �L­=Ñ8Ñ9Ô9ð ñ ‰ˆˆ3ØŒ9Ôð 	àåŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝŒg�lŠl˜6Ð#3¨AÐ#3Ð#3Ð#3Ñ4Ô4ˆÝ�#�t‰_Œ_ð 	( ÝÔ˜r 3Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð ŒIÔ"ÐA¨3¬9Ô+AÐ'Að 	åÔ ¨$°c´iØ&)¤i¸}ðNñ Nô Nˆàˆˆ3‰Ø
�Š‰
Œ
ˆ
õ �#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�#�t‰_Œ_ð 	% ØŸ7š7™9œ9ˆLð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%å�l LÑ1Ô1Ð1õ Ô ¨#Ð.Ñ.Ô.ˆØ
�Š‰
Œ
ˆ
‰
ð5ð s6   ÂB*Â*B.	Â1B.	ÄD;Ä;D?	ÅD?	ÅE7Å7E;	Å>E;	c                 ó:  — t           j                             dd¦  «        }t          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )NéÈ   zcompressed.npzrt   r]   )	rw   rG   Úrandr‹   rŒ   r�   Úsavez_compressedÚloadr   )r”   r]   Únpz_fileÚnpzÚarr1s        rN   Útest_compressed_roundtripr¥   î  sÄ   € Ý
Œ)�.Š.˜˜cÑ
"Ô
"€CÝŒw�|Š|˜FÐ$4Ñ5Ô5€HÝÔ˜ cÐ*Ñ*Ô*Ð*Ý	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á+	B Â BÂBz
i1, i4, i1)ÚalignÚaÚbr   é   )ÚnamesÚformatsÚoffsetsr@   Úd)rª   r«   )r§   Ú r¨   ÚaaÚbb)rª   r«   r¬   Útitles)rª   r«   ÚitemsizeÚdtc                 óX  — t          j        d|¦  «        }t          d¦  «        D ]
}|dz   ||<   Œt          j                             | d¦  «        }t          j        ||¬¦  «         t          j        |¦  «        5 }|d         }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )Nr   rC   zaligned.npzrt   r]   )	rw   ÚzerosÚranger‹   rŒ   r�   Úsavezr¡   r   )r”   r³   r]   r•   r¢   r£   r¤   s          rN   Útest_load_padded_dtyper¸     sà   € å
Œ(�1�b‰/Œ/€CÝ�1‰XŒXð ð ˆØ�Q‘ˆˆA‰ˆÝŒw�|Š|˜F MÑ2Ô2€HÝ„HˆX˜3ÐÑÔÐÝ	Œ�Ñ	Ô	ð ˜cØ�5Œzˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å�s˜DÑ!Ô!Ð!Ð!Ð!s   Á:	BÂBÂBz!Emscripten NODEFS has a buggy dupc                  óü   — d} t           j                             t           j                             t          ¦  «        d| ¦  «        }t          j        |¦  «        }t          |t          j        d¦  «        ¦  «         d S )Nzwin64python2.npyÚdatar   )	r‹   rŒ   r�   ÚdirnameÚ__file__rw   r¡   r   rx   )ÚfnamerŒ   rº   s      rN   Ú%test_python2_python3_interoperabilityr¾     sW   € à€EÝŒ7�<Š<�œŸš­Ñ1Ô1°6¸5ÑAÔA€DÝŒ7�4‰=Œ=€DÝ�t�RœW Q™ZœZÑ(Ô(Ð(Ð(Ð(rO   c            	      óV  — t           j                             t           j                             t          ¦  «        d¦  «        } t          j        d t          ddgt          ¬¦  «        }dD �]>}t           j                             | |¦  «        }dD �]}t          j	        |d|¬¦  «        }| 
                    d	¦  «        r|d
         }|                     ¦   «          n|}|dk    r�|                     d¦  «        rxt          t          |d         t          ¦  «        ¦  «         t!          |d d…         |d d…         ¦  «         t!          |d                              |¦  «        |d         ¦  «         Œát          t          |d         t$          ¦  «        ¦  «         t!          ||¦  «         �Œ|                     d¦  «        ré| 
                    d	¦  «        rŽt          j	        |d¬¦  «        }t'          t(          |j        d
¦  «         |                     ¦   «          t          j	        |ddd¬¦  «        }t'          t,          |j        d
¦  «         |                     ¦   «          �Œøt'          t(          t
          j	        |d¬¦  «         t'          t,          t
          j	        |ddd¬¦  «         �Œ@d S )Nrº   u   å„ªè‰¯s   ä¸�è‰¯r   )úpy2-objarr.npyúpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1T©rW   Úencodingz.npzr   rÃ   Úpy2r   r   rV   F)rW   Úfix_importsrÅ   )r‹   rŒ   r�   r»   r¼   rw   Úarrayr¶   rp   r¡   ÚendswithÚcloseÚ
startswithr   Ú
isinstancery   r   ÚencoderÂ   r   ÚUnicodeErrorÚ__getitem__ÚImportError)Údata_dirÚexpectedr½   rŒ   rÅ   Údata_frº   s          rN   Útest_pickle_python2_python3rÔ     sr  € õ Œw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒx˜�u nØ4ð6å$ð&ñ &ô &€Hð6ð #1ñ #1ˆåŒw�|Š|˜H eÑ,Ô,ˆà+ð 	3ñ 	3ˆHÝ”W˜T°¸xÐHÑHÔHˆFØ�~Š~˜fÑ%Ô%ð Ø˜c”{�Ø—’‘”��à�à˜8Ò#Ð#¨×(8Ò(8¸Ñ(?Ô(?Ð#Ý�
 4¨¤7­CÑ0Ô0Ñ1Ô1Ð1Ý" 4¨¨¨¤9¨h°s¸°s¬mÑ<Ô<Ð<å" 4¨¤8§?¢?°8Ñ#<Ô#<¸hÀr¼lÑKÔKÐKÐKå�
 4¨¤7­EÑ2Ô2Ñ3Ô3Ð3Ý" 4¨Ñ2Ô2Ð2Ñ2à×Ò˜EÑ"Ô"ð 	1Ø�~Š~˜fÑ%Ô%ð 1Ý”w˜t°$Ð7Ñ7Ô7�Ý�l¨DÔ,<¸cÑBÔBÐBØ—
’
‘”�Ý”w˜t°$ÀEØ(0ð2ñ 2ô 2�å�k¨4Ô+;¸SÑAÔAÐAØ—
’
‘”�‘å�l­B¬G°TØ+/ð1ñ 1ô 1ð 1å�k­2¬7°DØ+/¸UØ'/ð1ñ 1ô 1ð 1ùðC#1ð #1rO   c           	      óž  — t           j                             t           j                             t          ¦  «        d¦  «        }t           j                             |d¦  «        }t          t          t          j        |dd¬¦  «         t           j                             |d¦  «        }t          j        |dd¬¦  «        5 }t          t          |j	        d¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             | d¦  «        }t          t          t          j
        |t          j        d gt          ¬	¦  «        d¬
¦  «         d S )Nrº   rÀ   FrÃ   rÄ   rÁ   r   zpickle-disabled.npyr   rV   )r‹   rŒ   r�   r»   r¼   r   rs   rw   r¡   rÏ   ÚsaverÈ   rp   )r”   rÑ   rŒ   r^   s       rN   Útest_pickle_disallowr×   H  sK  € ÝŒw�|Š|�BœGŸOšO­HÑ5Ô5°vÑ>Ô>€HåŒ7�<Š<˜Ð"2Ñ3Ô3€DÝ•*�bœg tØ$¨xð9ñ 9ô 9ð 9õ Œ7�<Š<˜Ð"2Ñ3Ô3€DÝ	Œ� E°HÐ	=Ñ	=Ô	=ð 6ÀÝ•j !¤-°Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ Œ7�<Š<˜Ð 5Ñ6Ô6€DÝ•*�bœg t­R¬X°t°fÅFÐ-KÑ-KÔ-KØ$ð&ñ &ô &ð &ð &ð &s   Â=C%Ã%C)Ã,C))r   r   Úi1)rª   r«   r¬   r²   )r!   )r   rA   r   rB   c                 óÀ   — t          j        | j        ¦  «        }t          || ¦  «         t	          j        d| ¦  «        }t          |¦  «        }t          ||¦  «         d S )Nr   )r   Údescr_to_dtypeÚdescrri   rw   rµ   ra   r   )r³   Údt1r¤   r`   s       rN   Útest_descr_to_dtyperÝ   W  sW   € õd Ô
 ¤Ñ
)Ô
)€CÝ�#�rÑÔÐÝŒ8�A�r‰?Œ?€DÝ�T‰?Œ?€DÝ�t˜TÑ"Ô"Ð"Ð"Ð"rO   c                  ó  — t          ¦   «         } d„ t          d¦  «        D ¦   «         }t          j        d|¬¦  «        }t	          j        | |d¬¦  «         t          j        d¬¦  «        5 }t          j        d	d
t          ¦  «         t	          j        | |¦  «         t          |d         j        t          u ¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «         |                      ¦   «         }t          t          |¦  «        t          j        z  dk    ¦  «         |                      d¦  «         t	          j        | d¬¦  «        }t#          ||¦  «         t%          t&          t          j        | |d¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS ©z%déd   ©Úfloat©Ú.0r•   s     rN   ú
<listcomp>z$test_version_2_0.<locals>.<listcomp>’  ó&   € Ð	8Ð	8Ð	8¨ˆD�1‰H˜Ñ�UÐ
#Ð	8Ð	8Ð	8rO   éô  éè  r   ©r   r   ©ÚversionT©ÚrecordÚalwaysr®   r   é@ ©Úmax_header_size©r7   r   )r   r¶   rw   rx   r   rY   ÚwarningsÚcatch_warningsÚfilterwarningsÚUserWarningr   ÚcategoryÚseekÚreadlineÚlenÚARRAY_ALIGNr[   r   r   rs   )r^   r³   r­   ÚwÚheaderÚns         rN   Útest_version_2_0r   �  s‹  € Ý‰	Œ	€Aà	8Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€Aå
Ô�q˜! VÐ,Ñ,Ô,Ð,Ý	Ô	 ¨Ð	-Ñ	-Ô	-ð .°ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ˜1˜aÑ Ô Ð Ý��!””¥Ð,Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð ‡F‚Fˆ1�I„I€IØ�ZŠZ‰\Œ\€FÝ�C�‰KŒK�&Ô,Ñ,°Ò1Ñ2Ô2Ð2à‡F‚Fˆ1�I„I€IÝÔ˜!¨VÐ4Ñ4Ô4€AÝ�q˜!ÑÔÐõ •*�fÔ0°!°Q¸Ñ?Ô?Ð?Ð?Ð?s   Á*ACÃCÃCc           	      ó   — d„ t          d¦  «        D ¦   «         }t          j        d|¬¦  «        }t          j                             | d¦  «        }t          j                             | d¦  «        }t          t          t          j	        |d|j
        |j        d¬	¦  «         t          j	        |d|j
        |j        d
¬	¦  «        }||d<   |                     ¦   «          t          j	        |dd¬¦  «        }t          ||¦  «         t          j        d¬¦  «        5 }t          j        ddt"          ¦  «         t          j	        |d|j
        |j        d ¬	¦  «        }t%          |d         j        t"          u ¦  «         ||d<   |                     ¦   «          d d d ¦  «         n# 1 swxY w Y   t          j	        |dd¬¦  «        }t          ||¦  «         d S )Nc                 ó,   — g | ]}d |z  dz  t           f‘ŒS rà   râ   rä   s     rN   ræ   z+test_version_2_0_memmap.<locals>.<listcomp>«  rç   rO   rè   ré   r   zversion2_01.npyzversion2_02.npyrƒ   ró   )r„   r   r…   rì   rê   .rˆ   rð   )r„   rò   Trí   rï   r®   r   )r¶   rw   rx   r‹   rŒ   r�   r   rs   r   r’   r   r…   r“   r   rô   rõ   rö   r÷   r   rø   )r”   r³   r­   Útf1Útf2r™   rý   s          rN   Útest_version_2_0_memmapr  ¨  sð  € ð 
9Ð	8­U°3©Z¬ZÐ	8Ñ	8Ô	8€BÝ
Œ�˜BÐÑÔ€AÝ
Œ'�,Š,�vÐ1Ñ
2Ô
2€CÝ
Œ'�,Š,�vÐ1Ñ
2Ô
2€Cõ •*�fÔ0°#¸DÈÌØ"#¤'°6ð;ñ ;ô ;ð ;õ 
Ô	˜C d°!´'Ø"#¤'°6ð
;ñ 
;ô 
;€Bà€B€s�GØ‡H‚H�J„J€JÝ	Ô	˜C c¸6Ð	BÑ	BÔ	B€BÝ�r˜1ÑÔÐå	Ô	 ¨Ð	-Ñ	-Ô	-ð °ÝÔ ¨"­kÑ:Ô:Ð:ÝÔ ¨$°a´gØ&'¤g°tð=ñ =ô =ˆå��!””¥Ð,Ñ-Ô-Ð-Øˆˆ3‰Ø
�Š‰
Œ
ˆ
ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Ô	˜C c¸6Ð	BÑ	BÔ	B€Bå�r˜1ÑÔÐÐÐs   ÄA9FÆF Æ#F Ú	mmap_moderˆ   c                 óÐ  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d	¬¦  «        5  t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ||d¬¦  «        }t          ||¦  «         t          j        ||d¬¦  «        }t          ||¦  «         d S )Nzlarge_header.npyr7   úi,é'  r•   r   ú.*format 2.0©ÚmatchúHeader.*large)r  é N  )r  rò   T)r  rW   é ¿ )r‹   rŒ   r�   rw   rÈ   ÚpytestÚwarnsr÷   rÖ   Úraisesrs   r¡   r   )r”   r  r^   r]   Úress        rN   Útest_huge_headerr  Ç  s  € å
Œ�Š�VÐ0Ñ1Ô1€AÝ
Œ(�1˜D ™J s™NÐ
+Ñ
+Ô
+€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ��3‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð (ð (Ý
Œ�˜YÐ'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ?ð ?Ý
Œ�˜Y¸Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ Œ'�!˜y°tÐ
<Ñ
<Ô
<€CÝ�s˜CÑ Ô Ð å
Œ'�!˜y¸&Ð
AÑ
AÔ
A€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA:Á:A>ÂA>Â CÃCÃ
CÃ)DÄDÄDc                 óø  — t           j                             | d¦  «        }t          j        dddz  dz   ¬¦  «        }t          j        t          d¬¦  «        5  t          j        ||¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j	        t          d
¬¦  «        5  t          j        |d¬¦  «        d          d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «        d         }t          ||¦  «         t          j        |d¬¦  «        d         }t          ||¦  «         d S )Nzlarge_header.npzr7   r  r	  r•   r   r
  r  rt   r  r]   r  rñ   TrV   r  )r‹   rŒ   r�   rw   rÈ   r  r  r÷   r·   r  rs   r¡   r   )r”   r^   r]   r  s       rN   Útest_huge_header_npzr  Û  s  € Ý
Œ�Š�VÐ0Ñ1Ô1€AÝ
Œ(�1˜D ™J s™NÐ
+Ñ
+Ô
+€Cå	Œ•k¨Ð	8Ñ	8Ô	8ð ð Ý
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð ð Ý
Œ�‰
Œ
�5ÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•z¨Ð	9Ñ	9Ô	9ð 1ð 1Ý
Œ� 5Ð)Ñ)Ô)¨%Ô0Ð0ð1ð 1ð 1ñ 1ô 1ð 1ð 1ð 1ð 1ð 1ð 1øøøð 1ð 1ð 1ð 1õ Œ'�! $Ð
'Ñ
'Ô
'¨Ô
.€CÝ�s˜CÑ Ô Ð å
Œ'�! VÐ
,Ñ
,Ô
,¨UÔ
3€CÝ�s˜CÑ Ô Ð Ð Ð s6   ÁA;Á;A?ÂA?Â!CÃCÃCÃ.DÄDÄDc                  óì  — t          ¦   «         } t          j        d¦  «        }t          j        | |d¬¦  «         t          j        | |¦  «         t          j        | |d ¬¦  «         t          j        | |¦  «         t          j        | |d¬¦  «         t          j        | |¦  «         g d¢}|D ]F}t          t          d¦  «        5  t          j        | ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒGd S )Nr7   ró   rë   rê   ))r7   r7   )r   r   )r   r7   r   )éÿ   r  z we only support format version.*)r   rw   Úaranger   rY   r   rs   )r^   r]   Úbad_versionsrì   s       rN   Útest_write_versionr  ï  sJ  € Ý‰	Œ	€AÝ
Œ)�A‰,Œ,€Cå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐå
Ô�q˜# tÐ,Ñ,Ô,Ð,Ý
Ô�q˜#ÑÔÐå
Ô�q˜# vÐ.Ñ.Ô.Ð.Ý
Ô�q˜#ÑÔÐðð ð €Lð  ð 8ð 8ˆÝ ¥Ø!CñEô Eð 	8ð 	8åÔ˜q #¨wÐ7Ñ7Ô7Ð7ð	8ð 	8ð 	8ñ 	8ô 	8ð 	8ð 	8ð 	8ð 	8ð 	8ð 	8øøøð 	8ð 	8ð 	8ð 	8øð8ð 8s   ÃC(Ã(C,	Ã/C,	)s   “NUMPYs   “NUMPY  s   “NUMPY s   “NUMPY s   “NUMPYs   “NUMPYÿÿ)s   ’NUMPY s    NUMPY s   “numpy s   “MATLB s   “NUMPYs   “NUMPYrO   c                  ó|  — t          ¦   «         } t          ¦   «         }t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         t	          j        ||d¬¦  «         |                      d¦  «         |                     d¦  «         t	          j        | ¦  «        }t	          j        |¦  «        }t          |dk    ¦  «         t          |dk    ¦  «         t          |  	                    ¦   «         t          j
        k    ¦  «         t          | 	                    ¦   «         t          j
        k    ¦  «         d S )N©r   r©   r   ró   rë   rê   r   )r   rw   rx   rã   r   rY   rù   Ú
read_magicr   ÚtellÚ	MAGIC_LEN)Ús1Ús2r]   Úversion1Úversion2s        rN   Útest_read_magicr%    sþ   € Ý	‰Œ€BÝ	‰Œ€Bå
Œ'�&¥Ð
&Ñ
&Ô
&€Cå
Ô�r˜3¨Ð/Ñ/Ô/Ð/Ý
Ô�r˜3¨Ð/Ñ/Ô/Ð/à‡G‚GˆA�J„J€JØ‡G‚GˆA�J„J€JåÔ  Ñ$Ô$€HÝÔ  Ñ$Ô$€HåˆH˜ÒÑÔÐÝˆH˜ÒÑÔÐåˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*ÝˆB�GŠG‰IŒI�Ô)Ò)Ñ*Ô*Ð*Ð*Ð*rO   c                  óx   — t           D ]1} t          | ¦  «        }t          t          t          j        |¦  «         Œ2d S rP   )Úmalformed_magicr   r   rs   r   r[   ©Úmagicr^   s     rN   Útest_read_magic_bad_magicr*  1  s>   € Ý ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rO   c                  óˆ   — t           t          z   D ]1} t          | ¦  «        }t          t          t
          j        |¦  «         Œ2d S rP   )Úbad_version_magicr'  r   r   rs   r   r[   r(  s     rN   Útest_read_version_1_0_bad_magicr-  7  sC   € Ý"¥_Ñ4ð 8ð 8ˆÝ�E‰NŒNˆÝ•j¥&Ô"3°QÑ7Ô7Ð7Ð7ð8ð 8rO   c                  ó  — t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         d S )Nr   r7   é   )r   rs   r   r)  © rO   rN   Útest_bad_magic_argsr1  =  s`   € Ý•*�fœl¨B°Ñ2Ô2Ð2Ý•*�fœl¨C°Ñ3Ô3Ð3Ý•*�fœl¨A¨rÑ2Ô2Ð2Ý•*�fœl¨A¨sÑ3Ô3Ð3Ð3Ð3rO   c                  óä   — t          ¦   «         } t          ¦   «         dddœ}t          j        | |¦  «         t          ¦   «         } ddz  dfg|d<   t	          t
          t          j        | |¦  «         d S )NFz<i8©r…   r†   rÛ   Á   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr/  rÛ   )r   Útupler   Úwrite_array_header_1_0r   rs   ©Úsr­   s     rN   Útest_large_headerr9  D  sl   € Ý‰	Œ	€AÝ‘'”'¨E¸EÐBÐB€AÝ
Ô! ! QÑ'Ô'Ð'å‰	Œ	€AØ˜3‘; Ð&Ð'€A€g�JÝ•*�fÔ;¸QÀÑBÔBÐBÐBÐBrO   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr  r   ró   rë   r   F)r   rw   rx   rã   r   rY   rù   r   Úread_array_header_1_0r   r  rü   ©r8  r]   r…   Úfortranr   s        rN   Útest_read_array_header_1_0r>  N  ó­   € Ý‰	Œ	€Aå
Œ'�&¥Ð
&Ñ
&Ô
&€CÝ
Ô�q˜# vÐ.Ñ.Ô.Ð.à‡F‚F�6ÔÑÔÐÝ"Ô8¸Ñ;Ô;Ñ€Eˆ7�EåˆA�FŠF‰HŒH•vÔ)Ñ)¨QÒ.Ñ/Ô/Ð/ÝˆU�G˜UÐ#¨°µuÐ'=Ò=Ñ>Ô>Ð>Ð>Ð>rO   c                  ó”  — t          ¦   «         } t          j        dt          ¬¦  «        }t	          j        | |d¬¦  «         |                      t          j        ¦  «         t	          j        | ¦  «        \  }}}t          |  
                    ¦   «         t          j        z  dk    ¦  «         t          |||fddt          fk    ¦  «         d S )Nr  r   rê   rë   r   F)r   rw   rx   rã   r   rY   rù   r   Úread_array_header_2_0r   r  rü   r<  s        rN   Útest_read_array_header_2_0rB  [  r?  rO   c                  ó  — t          ¦   «         } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         t          d¦  «        } t          t          t          j        | ¦  «         dddddœ}t          ¦   «         } t          j        | |¦  «         t          t          t          j        | ¦  «         d S )	Nó   1s    s@   “NUMPY 6 {'descr': 'x', 'shape': (1, 2), }                    
©r7   r   Fr   r   )r…   r†   rÛ   Úextrakey)r   r   rs   r   r;  r6  r7  s     rN   Útest_bad_headerrG  h  sâ   € å‰	Œ	€AÝ•*�fÔ:¸AÑ>Ô>Ð>Ý�‰Œ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ 	�ÑÔ€AÝ•*�fÔ:¸AÑ>Ô>Ð>õ
 	ð	"ñ	ô 	€Aõ •*�fÔ:¸AÑ>Ô>Ð>àØØØð	ð 	€Aõ 	‰	Œ	€AÝ
Ô! ! QÑ'Ô'Ð'Ý•*�fÔ:¸AÑ>Ô>Ð>Ð>Ð>rO   c                 óÂ  — t           j        dk    st           j        dk    rt          j        d¦  «         t          j                             | d¦  «        }	 dd l}|                     ddd|g¦  «         n$# t          $ r t          j        d	¦  «         Y nw xY wt          |d
¦  «        5 }|                     d¦  «         t          j        d¦  «        }t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¦  «        5 }|                     d¦  «         t          j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t!          ||¦  «         d S )NÚwin32Úcygwinz)Unknown if Windows has sparse filesystemsÚsparse_filer   Útruncatez-sÚ
5368709120zCould not create 5GB large filer‚   l        rC   r‡   )ÚsysÚplatformr  Úskipr‹   rŒ   r�   Ú
subprocessÚ
check_callÚ	ExceptionrŽ   rù   rw   r  rÖ   r¡   r   )r”   Útf_nameÚspr^   r­   rˆ   s         rN   Útest_large_file_supportrV  …  sÑ  € ÝŒ˜ÒÐ¥3¤<°8Ò#;Ð#;ÝŒÐ?Ñ@Ô@Ð@åŒg�lŠl˜6 =Ñ1Ô1€Gð7ð 	 ÐÐÐØ
�Š�z 4¨°wÐ?Ñ@Ô@Ð@Ð@øÝð 7ð 7ð 7ÝŒÐ5Ñ6Ô6Ð6Ð6Ð6ð7øøøõ 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒI�a‰LŒLˆÝ
Œ��1‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 
ˆg�tÑ	Ô	ð  Ø	�ŠˆzÑÔÐÝŒG�A‰JŒJˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �q˜!ÑÔÐÐÐs6   ÁA4 Á4BÂBÂ(?C3Ã3C7Ã:C7Ä*EÅEÅEzflaky on PyPyztest requires 64-bit systeml        )Ú
free_bytesc                 óò  — d}	 t          j        |t           j        ¬¦  «        }n$# t          $ r t	          j        d¦  «         Y nw xY wt          j                             | d¦  «        }t          |d¦  «        5 }t          j
        ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   ~t          |d¦  «        5 }t          j        |¦  «        d         }d d d ¦  «         n# 1 swxY w Y   |j        |k    sJ ‚d S )	N)i   @r   r   zCould not create large fileÚlarge_archiver‚   rt   r‡   r]   )rw   ÚemptyÚuint8ÚMemoryErrorr  rP  r‹   rŒ   r�   rŽ   r·   r¡   r…   )r”   r…   r§   r½   r^   Únew_as         rN   Útest_large_archiver^  ž  sz  € ð €Eð3ÝŒH�U¥"¤(Ð+Ñ+Ô+ˆˆøÝð 3ð 3ð 3ÝŒÐ1Ñ2Ô2Ð2Ð2Ð2ð3øøøõ ŒG�LŠL˜ Ñ1Ô1€Eå	ˆe�TÑ	Ô	ð ˜aÝ
Œ�˜ÐÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	
å	ˆe�TÑ	Ô	ð "˜aÝ”˜‘
”
˜5Ô!ˆð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð Œ;˜%ÒÐÐÐÐÐs3   „ % ¥AÁAÁ9BÂB Â#B Â8CÃC#Ã&C#c                 óÊ   — t           j                             | d¦  «        }t          j        |¦  «         t          j        |¦  «        5 }	 d d d ¦  «         d S # 1 swxY w Y   d S )Nznothing.npz)r‹   rŒ   r�   rw   r·   r¡   )r”   r½   Únpss      rN   Útest_empty_npzra  ¹  s–   € åŒG�LŠL˜ Ñ/Ô/€EÝ„HˆU�O„O€OÝ	Œ�‰Œð ˜3Øðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Á	AÁAÁAc                 ó„  — t          j        g d¢dt          fdt          fg¬¦  «        }t          j                             | d¦  «        }t          |d¦  «        5 }t          j        ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d	¦  «        5 }t          j	        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         t          |d¦  «        5 }t          t          ¦  «        5  t          j        ||d ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )
N)©r7   r   rE  rc  rE  Úintu   æ•´å½¢r   zunicode.npyr‚   )r   r   rë   r‡   )rw   rÈ   rd  r‹   rŒ   r�   rŽ   r   rY   r[   r   r   r÷   )r”   r]   r½   r^   r`   s        rN   Útest_unicode_field_namesre  Á  s>  € å
Œ(ð ð ð ð 
•ˆØ	GÍÐMððñ ô €Cõ ŒG�LŠL˜ Ñ/Ô/€EÝ	ˆe�TÑ	Ô	ð 3˜aÝÔ˜1˜c¨6Ð2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	ˆe�TÑ	Ô	ð $˜aÝÔ  Ñ#Ô#ˆð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $å�s˜DÑ!Ô!Ð!õ 
ˆe�TÑ	Ô	ð 5˜aÝ�+Ñ&Ô&ð 	5ð 	5ÝÔ˜q #¨tÐ4Ñ4Ô4Ð4ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5sZ   ÁA=Á=BÂBÂB9Â9B=Ã B=Ã$D5Ã9DÄD5ÄD!	Ä!D5Ä$D!	Ä%D5Ä5D9Ä<D9c                  ób  — g d¢g d¢g d¢g d¢fD ]Ÿ\  } }}d„ t          t          j        ¦  «        D ¦   «         D ]u}t          ¦   «         }t          j        || rd|fn|df| t          j        d|z  t          fg¦  «        dœ¦  «         t          | 	                    ¦   «         ¦  «        |k    sJ ‚ŒvŒ d S )	N)Fé   é€   )Fé   éÀ   )Tri  rh  )Té   rj  c                 ó   — g | ]}d |z  ‘ŒS )r   r0  rä   s     rN   ræ   z+test_header_growth_axis.<locals>.<listcomp>Ü  s   € ÐIÐIÐI˜q�R˜‘UÐIÐIÐIrO   r   ú r3  )
r¶   r   ÚGROWTH_AXIS_MAX_DIGITSr   r6  rw   r   rd  rû   rZ   )Úis_fortran_arrayÚdtype_spaceÚexpected_header_lengthrL   r˜   s        rN   Útest_header_growth_axisrr  Ø  sý   € àÐÐÐ*Ð*Ð*¨O¨O¨O¸_¸_¸_ðBð @ð @Ñ=Ð˜+Ð'=ð JÐI¥E­&Ô*GÑ$HÔ$HÐIÑIÔIð 	@ð 	@ˆDÝ‘”ˆBÝÔ)¨"Ø&6ÐE˜!˜T˜˜¸TÀ1¸IØ!1Ýœ C¨¡OµSÐ#9Ð":Ñ;Ô;ð/ð /ñ ô ð õ �r—{’{‘}”}Ñ%Ô%Ð)?Ò?Ð?Ð?Ð?Ð?ð	@ð@ð @rO   zdt, failÚS3ÚsomeÚstuff)ÚmetadataÚsubarrayr   )é   r   r    zPyPy bug in error formattingc                 ó   — t          j        d| ¬¦  «        }t          ¦   «         }t          t          ¦  «        5  t          j        ||¦  «         d d d ¦  «         n# 1 swxY w Y   |                     d¦  «         |rCt          t          ¦  «        5  t          j	        |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          j	        |¦  «        }ddl
m} t          ||¦  «          ||j        ¦  «        sJ ‚ ||j        ¦  «        rJ ‚d S )Nr   r   r   )Ú_has_metadata)rw   rx   r   r   r÷   rÖ   rù   r   rs   r¡   Únumpy.lib.formatrz  r   r   )r³   Úfailr]   Úbufr`   rz  s         rN   Útest_metadata_dtyper~  æ  s“  € õ Œ'�"˜BÐ
Ñ
Ô
€CÝ
‰)Œ)€CÝ	•kÑ	"Ô	"ð ð Ý
Œ��SÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð à‡H‚HˆQ�K„K€KØð 	-Ý�:Ñ&Ô&ð 	ð 	ÝŒG�C‰LŒLˆLð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	õ Œw�s‰|Œ|ˆà2Ð2Ð2Ð2Ð2Ð2Ý˜3 Ñ%Ô%Ð%Øˆ}˜SœYÑ'Ô'Ð'Ð'Ð'Ø �= ¤Ñ,Ô,Ð,Ð,Ð,Ð,Ð,s#   ¹AÁAÁ"AÂB3Â3B7Â:B7)kÚ__doc__rN  r‹   rô   r  Úior   Únumpyrw   Únumpy.testingr   r   r   r   r   r	   r
   Únumpy.testing._private.utilsr   Ú	numpy.libr   r[  Úint8Úuint16Úint16Úuint32Úint32Úuint64Úint64Úfloat32Úfloat64Ú	complex64Ú
complex128rp   Úscalarsrk   ÚscalarÚendianr   Únewbyteorderr  ÚastypeÚbasicÚextendrÈ   ÚreshapeÚTÚPdescrÚPbufferTÚNdescrÚNbufferTrµ   rl   rE   ra   rc   re   ri   rn   rq   ru   r}   ÚmarkÚskipifÚslowrœ   r¥   rÜ   Údt2Údt3Údt4Údt5Údt6Úparametrizer¸   Úxfailr¾   rÔ   r×   rd  rÝ   r   r  r  r  r  r,  r'  r%  r*  r-  r1  r9  r>  rB  rG  rV  Úintpr²   r^  ra  re  rr  rã   Úimplementationrì   r~  r0  rO   rN   ú<module>r©     sW  ððRð Rðf €
€
€
Ø 	€	€	€	Ø €€€Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 9Ð 8Ð 8Ð 8Ð 8Ð 8Ø Ð Ð Ð Ð Ð ð
 „HØ„GØ„IØ„HØ„IØ„HØ„IØ„HØ„JØ„JØ„LØ„MØ
ð€ð €Øð ð €FØð ð ˆØ�”˜Ñ Ô ×-Ò-¨fÑ5Ô5ˆØ�”	˜$‘”×&Ò& uÑ-Ô-ˆØ×ÒàˆBŒH�R˜uÐ%Ñ%Ô%àˆBŒH�R˜uÐ%Ñ%Ô%àà�MŠM˜(Ñ#Ô#à�MŠM˜(Ñ#Ô#Ô%à�MŠM˜(Ñ#Ô# D D b D¨#¨#¨A¨# IÔ.ð
ñ 	ô 	ð 	ð 	ðð4
ð 
ð 
€ð ˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%Øˆ€Vˆr�2ˆh˜˜R˜Ð! 1Ð%ð€ð( ØØØØ	ð  ð  ð  ð 	!ð
 	Øð	ð 	ð ØØØðð ð Øð#
€ð. ˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐEØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0àˆ€Vˆb�"�t˜b "˜X¨¨B x°!°Q°Ð8¸$ÀÐFØ	ˆ:˜˜R˜ 2 r (Ð+¨Qð0ð€ð €B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆX˜X˜RœX fÑ-Ô-×:Ò:¸3Ñ?Ô?Ð@Ñ@Ô@Ø€B„HˆQÐ1Ð2Ð3Ñ3Ô3ð€ð"ð "ð "ð "ð "˜ñ "ô "ð "ðð ð ðð ð ðð ð ðð ð ð&ð &ð &ð*ð *ð *ð@ð @ð @ð4ð 4ð 4ð „×Ò�GÐ$CÐÑDÔDØ„Ôðð ñ Ôñ EÔDðð<"ð "ð "ð €b„hˆ| 4Ð(Ñ(Ô(€à€b„h˜#˜s˜°°t°Ø˜q˜6ð#ð #ñ $ô $€ð €b„h˜#˜s˜°°s°Ð<Ð<Ñ=Ô=€à€b„h˜˜˜°T°F¸1±HÐ=Ð=Ñ>Ô>€à€b„h˜#˜s˜°°t°Ø˜q˜6¨d°D¨\ð;ð ;ñ <ô <€ð €b„h˜¨¸Ð:Ð:Ñ;Ô;€à„×Ò˜  S¨#¨s°C¸Ð=Ñ>Ô>ð"ð "ñ ?Ô>ð"ð „×Ò�7Ð#FÐÑGÔGð)ð )ñ HÔGð)ð,1ð ,1ð ,1ð^&ð &ð &ð „×Ò˜Ø€B„HˆXˆRŒX˜˜RœW�~Ø˜RœX�Ø˜RœX�ðð  $ð%ñ %ô %ð ñ	ô ð
 €B„Hˆs�H�B”H s¨3 iØ)-¨d¨Ø)*¨1¨Ø)*ðð ð
 ñô ð ðð ñ ô ð €B„Hð ð ñ ô ð €B„Hˆs�H�B”HØˆŒØˆBŒH˜s 3˜iØ!% d Ø!" 1 Ø!"ð$ð $ñ %ô %ð ðñ 	ô 	ð 	ð	
ñ 	ô 	ð 	ð 

ñ 
ô 
ð €B„HØ	ˆhˆbŒhØˆBŒHØ�”Ø�B”HØ˜c˜
Ø˜h˜bœh°°S°	Ø37¸°+Ø34°Q°%Ø34ð(6ð (6ñ 7ô 7ð 8ðñ ô ð ð	ñ 	ô 	ð ðñ ô ð ð
ñ ô ð 	ð
ñ ô ð;/ ñ /ô /ðb#ð #ñc/ô /ðb#ð@ð @ð @ð2 „×Ò�GÐ$CÐÑDÔDðð ñ EÔDðð< „×Ò˜ s¨D kÑ2Ô2ð!ð !ñ 3Ô2ð!ð&!ð !ð !ð(8ð 8ð 8ð6ð ð Ð ðð ð €ð+ð +ð +ð*8ð 8ð 8ð8ð 8ð 8ð4ð 4ð 4ðCð Cð Cð
?ð 
?ð 
?ð
?ð 
?ð 
?ð?ð ?ð ?ð:ð ð ð2 „×Ò�G OÐÑ4Ô4Ø„×Ò�H�B”H˜RœWÑ%Ô%Ô.°Ò2Ø8ð ñ :ô :à„ÔØ€˜IÐ&Ñ&Ô&ð ð  ñ 'Ô&ñ Ôñ:ô :ñ 5Ô4ð
 ð,ð ð ð5ð 5ð 5ð.@ð @ð @ð „×Ò˜Ø€R„X˜˜c˜
°¸¸¼ÀØ! 7Ð+ð9-ñ 9-ô 9-ð 1.ð /ð /ñ 0ô 0Ø15ð7à€R„Xˆc˜V WÐ-Ð.Ñ.Ô.°Ð6Ø€R„X�
˜S $˜KÐ(Ð)°V¸WÐ4EÐFÑFÔFÈÐNà€R„X˜˜c˜
ØˆxˆrŒx 3 %°X°R´X¸cÈBÐ5OÑ5OÔ5OÐ4PÐQÐQÑRÔRð0ð ð ñ ô à	ðð	&ñ 	ô 	ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ-ð ñ /ô /ð-ð -ñ/ô /ñ	ô 	ð-ð -ð -rO   