ó
    �œ‘h¨  ã                   ó  • S r SSKrSSKrSSKrSSKJr  SSKrSSKrSSK	J
r
  SSKJrJrJrJrJrJrJrJr  SSKJr  \R,                  \R.                  \R0                  \R2                  \R4                  \R6                  \R8                  \R:                  \R<                  \R>                  \R@                  \RB                  \"/r#/ r$\# HÅ  r%S H¼  r&\RN                  " \%5      RQ                  \&5      r'\RR                  " S5      RU                  \'5      r+\$RY                  \RZ                  " / \'S	9\RZ                  " S
\'S	9\+\+R]                  S5      \+R]                  S5      R^                  \+R]                  S5      SSS2SSS24   /5        M¾     MÇ     / SQr0SS/SS/SS//S4SS/SS/SS//S4/r1SSSSS/ SQ4SS/4SS S!S"/4S#S$/r2SS/S%SS&S%S'/SS/S(S/4S)S*4S+S,SS/SS//S4SS/S-SS.S-S//SS/SS(/4S0S14S2S3SS/SS//S4/r3\RZ                  " \1\RN                  " \05      RQ                  S45      S	9\RZ                  " \3\RN                  " \25      RQ                  S45      S	9\RZ                  " \1\RN                  " \05      RQ                  S55      S	9\RZ                  " \3\RN                  " \25      RQ                  S55      S	9\Rh                  " S(S6/S	9/r5 " S7 S8\5      r6S9 r7S: r8S; r9S< r:S= r;S> r<S? r=S@ r>SA r?\R€                  Rƒ                  \SBSC9\R€                  R„                  SD 5       5       rCSE rD\RN                  " SFS*SG9rE\RN                  " SHSI/SJSJ/S(SK/SL.5      rF\RN                  " SMSN/SJ\F/SO.5      rG\RN                  " / SPQSJ/S-  SO.5      rH\RN                  " SHSI/SJSJ/S(SK/SQSR/SS.5      rI\RN                  " / / SST.5      rJ\R€                  R—                  SU\E\F\G\H\I\J/5      SV 5       rL\R€                  Rƒ                  \Rš                  SW:¬  SXSC9\R€                  R�                  \SYSC9SZ 5       5       rOS[ rPS\ rQ\R€                  R—                  SU\RN                  " \RN                  " SH\R.                  4SI\R2                  4SM\R6                  4/S*SG9S]5      \RN                  " S^\RN                  " SHSI/S_S_/SS/SS`.S]5      Sa4/5      \RN                  " Sb/5      \RN                  " S^\RN                  " \RN                  " \RN                  " SHSI/S_S_/SS/SS`.5      S]45      Sa45      4/5      \RN                  " SH\RN                  " \RN                  " \RN                  " \RN                  " SH\R4SI\RN                  " SHSI/S_S_/SS/SS`.5      4/5      S]45      Sa45      Sc45      4/5      /5      Sd 5       rSSe rT\R€                  Rƒ                  \SBSC9Sf 5       rU\R€                  R—                  SgShS/5      Si 5       rVSj rWSk rX/ SlQrY/ SmQrZSn r[So r\Sp r]Sq r^Sr r_Ss r`St raSu rbSv rc\R€                  Rƒ                  \SwSC9\R€                  Rƒ                  \(       + SxSC9\R€                  R„                  \" SySz9S{ 5       5       5       5       rdS| reS} rfS~ rg\R€                  R—                  SU\RN                  " SHSI/\h\RN                  " SS€S�0S‚9/SO.5      \RN                  " \RS€S�0S‚9\RN                  " Sƒ\RS„44/S€S�0S‚9\RN                  " SHSI/\h\RN                  " SM/\RN                  " \R0 S‚9/SO.5      /SO.5      /5      \R€                  Rƒ                  \=(       a    \RÒ                  RÔ                  S…:*  S†SC9S‡ 5       5       rkg)ˆ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)Úformat)ÚIS_64BITÚIS_PYPYÚIS_WASMÚassert_Úassert_array_equalÚassert_raisesÚassert_raises_regexÚassert_warns)Úrequires_memoryz<>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)r9   r6   ù              @Úooy              @ÚOOFÚdd)r=   r;   Ú<Ú>)Úc©z<f8©é   r   c                   ó,   ^ • \ rS rSrSU 4S jjrSrU =r$ )ÚBytesIOSRandomSizei–  c                 óN   >• SS K nUR                  SU5      n[        TU ]  U5      $ )Nr   r8   )ÚrandomÚrandintÚsuperÚread)ÚselfÚsizerH   Ú	__class__s      €Ú_C:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/lib/tests/test_format.pyrK   ÚBytesIOSRandomSize.read—  s%   ø€ ÛØ�~‰~˜a Ó&ˆÜ‰w‰|˜DÓ!Ð!ó    © ©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rK   Ú__static_attributes__Ú__classcell__)rN   s   @rO   rF   rF   –  s   ø† ÷"õ "rQ   rF   c                 ó¢   • [        5       n[        R                  " X5        [        UR                  5       5      n[        R                  " USS9nU$ )NT©Úallow_pickle©r   r   Úwrite_arrayÚgetvalueÚ
read_array©ÚarrÚfÚf2Úarr2s       rO   Ú	roundtriprf   �  s>   € Ü‹	€AÜ
×Ò�qÔÜ	�—‘“Ó	€BÜ×Ò˜R¨dÑ3€DØ€KrQ   c                 ó¤   • [        5       n[        R                  " X5        [        UR	                  5       5      n[        R
                  " U5      nU$ rS   )r   r   r^   rF   r_   r`   ra   s       rO   Úroundtrip_randsizerh   ¥  s<   € Ü‹	€AÜ
×Ò�qÔÜ	˜AŸJ™J›LÓ	)€BÜ×Ò˜RÓ €DØ€KrQ   c                 óª   • [        5       n[        R                  " X5        [        UR                  5       SS 5      n[        R                  " U5      nU$ )Nr   r   r]   ra   s       rO   Úroundtrip_truncatedrj   ­  sC   € Ü‹	€AÜ
×Ò�qÔä	�—‘“˜a Ð#Ó	$€BÜ×Ò˜RÓ €DØ€KrQ   c                 ó   • [        X:H  5        g rS   )r   )Úo1Úo2s     rO   Úassert_equal_rn   µ  s   € ÜˆB‰HÕrQ   c                  óX   • [         [        -    H  n [        U 5      n[        X5        M     g rS   )Úbasic_arraysÚrecord_arraysrf   r	   ©rb   re   s     rO   Útest_roundtriprs   ¹  s"   € ÜœmÔ+ˆÜ˜‹~ˆÜ˜3Ö%ò ,rQ   c                  ó„   • [         [        -    H/  n U R                  [        :w  d  M  [	        U 5      n[        X5        M1     g rS   )rp   rq   r   Úobjectrh   r	   rr   s     rO   Útest_roundtrip_randsizerv   ¿  s/   € ÜœmÔ+ˆØ�9‰9œÕÜ% cÓ*ˆDÜ˜sÖ)ò ,rQ   c                  ót   • [          H.  n U R                  [        :w  d  M  [        [        [
        U 5        M0     g rS   )rp   r   ru   r
   Ú
ValueErrorrj   ©rb   s    rO   Útest_roundtrip_truncatedrz   Æ  s%   € ßˆØ�9‰9œÕÜœ*Ô&9¸3Ö?ò rQ   c                 ó~  • U S-  n[          Hè  nUR                  [        :w  d  M  [        US5       n[        R
                  " X25        S S S 5        [        US5       nUR                  S[        R                  5        UR                  5         S S S 5        [        US5       n[        R                  " [        UR                  S:X  a  SOSS	9   [        R                  " U5      nS S S 5        S S S 5        Mê     g ! , (       d  f       N·= f! , (       d  f       Nƒ= f! , (       d  f       N== f! , (       d  f       GM0  = f)
Nza.npyÚwbzrb+r   Úrbr   z9EOF: reading array header, expected (\d+) bytes got (\d+)zŠFailed to read all data for array\. Expected \(.*?\) = (\d+) elements, could only read (\d+) elements\. \(file seems not fully written\?\)©Úmatch)rp   r   ru   Úopenr   r^   ÚseekÚosÚSEEK_ENDÚtruncateÚpytestÚraisesrx   rM   r`   )Útmp_pathÚpathrb   rc   Ú_s        rO   Útest_file_truncatedrŠ   Ë  sæ   € Ø�gÑ€DßˆØ�9‰9œÕÜ�d˜DÔ! QÜ×"Ò" 1Ô*÷ "ô �d˜EÔ" aØ—‘�rœ2Ÿ;™;Ô'Ø—
‘
”÷ #ô �d˜DÔ! QÜ—]’]Üð Ÿ™ Q›ñ:ð>óô ×)Ò)¨!Ó,�A÷÷ "Ñ!ò ç!Õ!ú÷ #Õ"ú÷õ ú÷ "×!ús;   ±C9Á1D
Â!,D,ÃDÃ$D,Ã9
D	Ä

D	Ä
D)Ä%D,Ä,
D<	c                  ó°   • [         R                  " S[         R                  " [        [        R
                  S-   45      S9n [        U 5      n[        X5        g )Nr8   r   )ÚnpÚonesr   Ústrr   ÚBUFFER_SIZErf   r	   )Úlong_str_arrÚlong_str_arr2s     rO   Útest_long_strr’   ä  s=   € ä—7’7˜1¤B§H¢H¬c´6×3EÑ3EÈÑ3IÐ-JÓ$KÑL€LÜ˜lÓ+€MÜ�|Õ3rQ   zmemmap doesn't work correctly)Úreasonc           	      ó´  • [        [        [        -   5       GH‰  u  pUR                  R                  (       a  M#  [
        R                  R                  U SU S35      n[
        R                  R                  U SU S35      n[        US5       n[        R                  " XR5        S S S 5        UR                  R                  =(       a    UR                  R                  (       + n[        R                  " USUR                  UR                  US9nX'S'   UR!                  5         [        US5       nUR#                  5       nS S S 5        [        US5       nUR#                  5       n	S S S 5        [%        WW	5        [        R                  " US	S
9nUR!                  5         GMŒ     g ! , (       d  f       GN= f! , (       d  f       N|= f! , (       d  f       Nh= f)NÚnormalz.npyÚmemmapr|   úw+)Úmoder   ÚshapeÚfortran_order.r}   Úr)r˜   )Ú	enumeraterp   rq   r   Ú	hasobjectr‚   rˆ   Újoinr€   r   r^   ÚflagsÚf_contiguousÚc_contiguousÚopen_memmapr™   ÚflushrK   rn   )
ÚtmpdirÚirb   ÚnfnÚmfnÚfprš   ÚmaÚnormal_bytesÚmemmap_bytess
             rO   Útest_memmap_roundtripr¬   ë  sQ  € ô œL¬=Ñ8×9‰ˆØ�9‰9××áä�g‰g�l‰l˜6 V¨A¨3¨dÐ#3Ó4ˆÜ�g‰g�l‰l˜6 V¨A¨3¨dÐ#3Ó4ˆÜ�#�tŒ_ Ü×Ò˜rÔ'÷ ð �I‰I×"Ñ"×A¨3¯9©9×+AÑ+AÔ'Að 	ä×Ò ¨$°c·i±iØ&)§i¡i¸}ñNˆàˆ3‰Ø
�‰Œ
ô �#�tŒ_ ØŸ7™7›9ˆL÷ ä�#�tŒ_ ØŸ7™7›9ˆL÷ ä�l LÔ1ô ×Ò ¨#Ñ.ˆØ
�‰�
ò5 :÷ Ž_ú÷ �_úç�_ús$   ÂF&Ä1F8ÅG	Æ&
F5	Æ8
G	Ç	
G	c                 ó.  • [         R                  R                  SS5      n[        R                  R                  U S5      n[         R                  " X!S9  [         R                  " U5       nUS   nS S S 5        [        UW5        g ! , (       d  f       N= f)NéÈ   zcompressed.npzry   rb   )	rŒ   rH   Úrandr‚   rˆ   rž   Úsavez_compressedÚloadr	   )r¤   rb   Únpz_fileÚnpzÚarr1s        rO   Útest_compressed_roundtriprµ     sh   € Ü
�)‰)�.‰.˜˜cÓ
"€CÜ�w‰w�|‰|˜FÐ$4Ó5€HÜ×Ò˜Ò*Ü	�Š�Ô	˜cØ�5‰zˆ÷ 
ä�s˜DÕ!÷ 
Õ	ús   Á+BÂ
Bz
i1, i4, i1)ÚalignÚaÚbr   é   )ÚnamesÚformatsÚoffsetsrA   Úd)rº   r»   )r·   Ú r¸   ÚaaÚbb)rº   r»   r¼   Útitles)rº   r»   ÚitemsizeÚdtc                 óN  • [         R                  " SU5      n[        S5       H
  nUS-   X#'   M     [        R                  R                  U S5      n[         R                  " XBS9  [         R                  " U5       nUS   nS S S 5        [        UW5        g ! , (       d  f       N= f)Nr    rD   zaligned.npzry   rb   )	rŒ   ÚzerosÚranger‚   rˆ   rž   Úsavezr±   r	   )r¤   rÃ   rb   r¥   r²   r³   r´   s          rO   Útest_load_padded_dtyperÈ   #  sy   € ä
�(Š(�1�b‹/€CÜ�1ŽXˆØ�Q‘ˆ‹ñ ä�w‰w�|‰|˜F MÓ2€HÜ‡H‚HˆXÒÜ	�Š�Ô	˜cØ�5‰zˆ÷ 
ä�s˜DÕ!÷ 
Õ	ús   Á;BÂ
B$)r    é   zsee gh-23988z!Emscripten NODEFS has a buggy dupc                  ó^  • Sn [         R                  R                  [         R                  R                  [        5      SU 5      n[
        R                  " [        SS9   [        R                  " U5      nS S S 5        [        W[        R                  " S5      5        g ! , (       d  f       N/= f)Nzwin64python2.npyÚdatazReading.*this warning\.r~   r   )r‚   rˆ   rž   ÚdirnameÚ__file__r…   ÚwarnsÚUserWarningrŒ   r±   r	   r�   )Úfnamerˆ   rË   s      rO   Ú%test_python2_python3_interoperabilityrÑ   /  sj   € ð €EÜ�7‰7�<‰<œŸ™Ÿ™¬Ó1°6¸5ÓA€DÜ	�Š”kÐ)CÓ	DÜ�wŠw�t‹}ˆ÷ 
Eä�tœRŸWšW Q›ZÕ(÷ 
EÕ	Dús   ÁBÂ
B,c            
      óÂ  • [         R                  R                  [         R                  R                  [        5      S5      n [
        R                  " S [        SS/[        S9nS GHö  n[         R                  R                  X5      nS HÛ  n[
        R                  " USUS9nUR                  S	5      (       a  US
   nUR                  5         OUnUS:X  ag  UR                  S5      (       aQ  [        [        US   [        5      5        [!        US S US S 5        [!        US   R#                  U5      US   5        M´  [        [        US   [$        5      5        [!        Xa5        MÝ     UR                  S5      (       d  GM  UR                  S	5      (       a…  [
        R                  " USS9n['        [(        UR*                  S
5        UR                  5         [
        R                  " USSSS9n['        [,        UR*                  S
5        UR                  5         GM¸  ['        [(        [
        R                  USS9  ['        [,        [
        R                  USSSS9  GMù     g )NrË   u   å„ªè‰¯s   ä¸�è‰¯r   )zpy2-np0-objarr.npyúpy2-objarr.npyúpy2-objarr.npzzpy3-objarr.npyzpy3-objarr.npz)ÚbytesÚlatin1T©r\   Úencodingz.npzr   rÖ   Úpy2r    r   r[   F)r\   Úfix_importsrØ   )r‚   rˆ   rž   rÌ   rÍ   rŒ   ÚarrayrÆ   ru   r±   ÚendswithÚcloseÚ
startswithr   Ú
isinstancerŽ   r	   ÚencoderÕ   r
   ÚUnicodeErrorÚ__getitem__ÚImportError)Údata_dirÚexpectedrÐ   rˆ   rØ   Údata_frË   s          rO   Útest_pickle_python2_python3rç   9  sÊ  € ô �w‰w�|‰|œBŸG™GŸO™O¬HÓ5°vÓ>€Hä�xŠx˜œu nØ4ð6ä$ñ&€Hô6ˆä�w‰w�|‰|˜HÓ,ˆã+ˆHÜ—W’W˜T°¸xÑHˆFØ�~‰~˜f×%Ñ%Ø˜c‘{�Ø—‘•à�à˜8Ó#¨×(8Ñ(8¸×(?Ñ(?Üœ
 4¨¡7¬CÓ0Ô1Ü" 4¨¨ 9¨h°s¸¨mÔ<ä" 4¨¡8§?¡?°8Ó#<¸hÀr¹lÖKäœ
 4¨¡7¬EÓ2Ô3Ü" 4Ö2ñ ,ð" ×Ñ˜E×"Ô"Ø�~‰~˜f×%Ñ%Ü—w’w˜t°$Ñ7�Üœl¨D×,<Ñ,<¸cÔBØ—
‘
”Ü—w’w˜t°$ÀEØ(0ñ2�äœk¨4×+;Ñ+;¸SÔAØ—
‘
—äœl¬B¯G©G°TØ+/ò1äœk¬2¯7©7°DØ+/¸UØ'/õ1òC6rQ   c           
      óˆ  • [         R                  R                  [         R                  R                  [        5      S5      n[         R                  R                  US5      n[        [        [        R                  USSS9  [         R                  R                  US5      n[        R                  " USSS9 n[        [        UR                  S5        S S S 5        [         R                  R                  U S5      n[        [        [        R                  U[        R                  " S /[        S	9SS
9  g ! , (       d  f       Nf= f)NrË   rÓ   FrÖ   r×   rÔ   r   zpickle-disabled.npyr   r[   )r‚   rˆ   rž   rÌ   rÍ   r
   rx   rŒ   r±   râ   ÚsaverÛ   ru   )r¤   rä   rˆ   rc   s       rO   Útest_pickle_disallowrê   h  sÑ   € Ü�w‰w�|‰|œBŸG™GŸO™O¬HÓ5°vÓ>€Hä�7‰7�<‰<˜Ð"2Ó3€DÜ”*œbŸg™g tØ$¨xò9ô �7‰7�<‰<˜Ð"2Ó3€DÜ	�Š� E°HÒ	=ÀÜ”j !§-¡-°Ô5÷ 
>ô �7‰7�<‰<˜Ð 5Ó6€DÜ”*œbŸg™g t¬R¯XªX°t°fÄFÑ-KØ$ó&÷	 
>Õ	=ús   Â7D3Ä3
E)r    r   Úi1)rº   r»   r¼   rÂ   )r"   )r   rB   r   rC   c                 ó´   • [         R                  " U R                  5      n[        X5        [        R
                  " SU 5      n[        U5      n[        X#5        g )Nr    )r   Údescr_to_dtypeÚdescrrn   rŒ   rÅ   rf   r	   )rÃ   Údt1r´   re   s       rO   Útest_descr_to_dtyperð   w  sA   € ôb ×
Ò
 §¡Ó
)€CÜ�#ÔÜ�8Š8�A�r‹?€DÜ�T‹?€DÜ�tÕ"rQ   c                  óô  • [        5       n [        S5       Vs/ s H  nSU-  S-  [        4PM     nn[        R                  " SUS9n[
        R                  " XSS9  [        R                  " SS	9 n[        R                  " S
S[        5        [
        R                  " X5        [        US   R                  [        L 5        S S S 5        U R                  S5        U R                  5       n[        [        U5      [
        R                   -  S:H  5        U R                  S5        [
        R"                  " U SS9n[%        X65        ['        [(        [
        R                  XS5        g s  snf ! , (       d  f       N®= f)Néô  ú%déd   éè  r   ©r   r   ©ÚversionT©ÚrecordÚalwaysr¾   r   é@ ©Úmax_header_size©r8   r   )r   rÆ   ÚfloatrŒ   r�   r   r^   ÚwarningsÚcatch_warningsÚfilterwarningsrÏ   r   Úcategoryr�   ÚreadlineÚlenÚARRAY_ALIGNr`   r	   r
   rx   )rc   r¥   rÃ   r½   ÚwÚheaderÚns          rO   Útest_version_2_0r  ®  s  € Ü‹	€Aä-2°3¬ZÓ	8ªZ¨ˆD�1‰H˜ÑœUÓ
#©Z€BÐ	8Ü
�Š�˜BÑ€Aä
×Ò�q VÒ,Ü	×	 Ò	 ¨Ò	-°Ü×Ò ¨"¬kÔ:Ü×Ò˜1Ô Ü��!‘—‘¤Ð,Ô-÷ 
.ð ‡F�Fˆ1„IØ�Z‰Z‹\€FÜŒC�‹Kœ&×,Ñ,Ñ,°Ñ1Ô2à‡F�Fˆ1„IÜ×Ò˜!¨VÑ4€AÜ�qÔô ”*œf×0Ñ0°!¸Õ?ùò' 
9÷ 
.Õ	-ús   ˜E$Á0AE)Å)
E7c           
      óÄ  • [        S5       Vs/ s H  nSU-  S-  [        4PM     nn[        R                  " SUS9n[        R
                  R                  U S5      n[        R
                  R                  U S5      n[        [        [        R                  USUR                  UR                  S	S
9  [        R                  " USUR                  UR                  SS
9nX6S'   UR                  5         [        R                  " USSS9n[        Xc5        [        R                   " SS9 n[        R"                  " SS[$        5        [        R                  " USUR                  UR                  S S
9n['        US   R(                  [$        L 5        X6S'   UR                  5         S S S 5        [        R                  " USSS9n[        Xc5        g s  snf ! , (       d  f       N5= f)Nrò   ró   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Æ   r   rŒ   r�   r‚   rˆ   rž   r
   rx   r   r¢   r   r™   r£   r	   r  r  r  rÏ   r   r  )r¤   r¥   rÃ   r½   Útf1Útf2r©   r  s           rO   Útest_version_2_0_memmapr  Ç  sw  € ô .3°3¬ZÓ	8ªZ¨ˆD�1‰H˜ÑœUÓ
#©Z€BÐ	8Ü
�Š�˜BÑ€AÜ
�'‰'�,‰,�vÐ0Ó
1€CÜ
�'‰'�,‰,�vÐ0Ó
1€Cô ”*œf×0Ñ0°#¸DÈÏÉØ"#§'¡'°6ò;ô 
×	Ò	˜C d°!·'±'Ø"#§'¡'°6ñ
;€Bà€s�GØ‡H�H„JÜ	×	Ò	˜C c¸6Ñ	B€BÜ�rÔä	×	 Ò	 ¨Ò	-°Ü×Ò ¨"¬kÔ:Ü×Ò ¨$°a·g±gØ&'§g¡g°tñ=ˆä��!‘—‘¤Ð,Ô-Øˆ3‰Ø
�‰Œ
÷ 
.ô 
×	Ò	˜C c¸6Ñ	B€Bä�rÕùò5 
9÷  
.Õ	-ús   ŽGÄ'A;GÇ
GÚ	mmap_moder›   c                 óª  • [         R                  R                  U S5      n[        R                  " SSS-  S-   S9n[
        R                  " [        SS9   [        R                  " X#5        S S S 5        [
        R                  " [        S	S9   [        R                  " X!S
9  S S S 5        [
        R                  " [        S	S9   [        R                  " X!SS9  S S S 5        [        R                  " X!SS9n[        XC5        [        R                  " X!SS9n[        XC5        g ! , (       d  f       N¼= f! , (       d  f       N—= f! , (       d  f       Nq= f)Nzlarge_header.npyr8   úi,é'  r¥   r   ú.*format 2.0r~   úHeader.*large)r  é N  )r  rþ   T)r  r\   é ¿ )r‚   rˆ   rž   rŒ   rÛ   r…   rÎ   rÏ   ré   r†   rx   r±   r	   )r¤   r  rc   rb   Úress        rO   Útest_huge_headerr  æ  sß   € ä
�‰�‰�VÐ/Ó0€AÜ
�(Š(�1˜D 5™L¨3Ñ.Ñ
/€Cä	�Š”k¨Ó	8Ü
�Š�Œ÷ 
9ô 
�Š”z¨Ó	9Ü
�Š�Ò'÷ 
:ô 
�Š”z¨Ó	9Ü
�Š�¸Ò>÷ 
:ô �'Š'�!°tÑ
<€CÜ�sÔ ä
�'Š'�!¸&Ñ
A€CÜ�sÕ ÷ 
9Õ	8ú÷ 
:Õ	9ú÷ 
:Õ	9ús$   ÁD"ÂD3ÃEÄ"
D0Ä3
EÅ
Ec                 óÂ  • [         R                  R                  U S5      n[        R                  " SSS-  S-   S9n[
        R                  " [        SS9   [        R                  " XS	9  S S S 5        [
        R                  " [        S
S9   [        R                  " U5      S     S S S 5        [
        R                  " [        S
S9   [        R                  " USS9S     S S S 5        [        R                  " USS9S   n[        X25        [        R                  " USS9S   n[        X25        g ! , (       d  f       NÊ= f! , (       d  f       N = f! , (       d  f       Nw= f)Nzlarge_header.npzr8   r  r  r¥   r   r  r~   ry   r  rb   r  rý   Tr[   r  )r‚   rˆ   rž   rŒ   rÛ   r…   rÎ   rÏ   rÇ   r†   rx   r±   r	   )r¤   rc   rb   r  s       rO   Útest_huge_header_npzr  ú  só   € Ü
�‰�‰�VÐ/Ó0€AÜ
�(Š(�1˜D 5™L¨3Ñ.Ñ
/€Cä	�Š”k¨Ó	8Ü
�Š�Ò÷ 
9ô 
�Š”z¨Ó	9Ü
�Š�‹
�5Ò÷ 
:ô 
�Š”z¨Ó	9Ü
�Š� 5Ñ)¨%Ò0÷ 
:ô �'Š'�! $Ñ
'¨Ñ
.€CÜ�sÔ ä
�'Š'�! VÑ
,¨UÑ
3€CÜ�sÕ ÷ 
9Õ	8ú÷ 
:Õ	9ú÷ 
:Õ	9ús$   ÁD.ÂD?ÃEÄ.
D<Ä?
EÅ
Ec                  óà  • [        5       n [        R                  " S5      n[        R                  " XSS9  [        R                  " X5        [        R                  " XS S9  [        R                  " X5        [        R                  " XSS9  [        R                  " X5        / SQnU H1  n[        [        S5         [        R                  " XUS9  S S S 5        M3     g ! , (       d  f       ME  = f)Nr8   rÿ   r÷   rö   ))r8   r8   )r   r   )r   r8   r   )éÿ   r  z we only support format version.*)r   rŒ   Úaranger   r^   r   rx   )rc   rb   Úbad_versionsrø   s       rO   Útest_write_versionr     sº   € Ü‹	€AÜ
�)Š)�A‹,€Cä
×Ò�q vÒ.Ü
×Ò�qÔä
×Ò�q tÒ,Ü
×Ò�qÔä
×Ò�q vÒ.Ü
×Ò�qÔò€Ló  ˆÜ ¤Ø!CõEä×Ò˜q¨wÒ7÷Eñ Eò  ÷Eö Eús   Â;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   “NUMPYrQ   c                  ó.  • [        5       n [        5       n[        R                  " S[        S9n[        R
                  " XSS9  [        R
                  " XSS9  U R                  S5        UR                  S5        [        R                  " U 5      n[        R                  " U5      n[        US:H  5        [        US:H  5        [        U R                  5       [        R                  :H  5        [        UR                  5       [        R                  :H  5        g )N©r    r¹   r   rÿ   r÷   rö   r   )r   rŒ   r�   r   r   r^   r�   Ú
read_magicr   ÚtellÚ	MAGIC_LEN)Ús1Ús2rb   Úversion1Úversion2s        rO   Útest_read_magicr*  ;  sÂ   € Ü	‹€BÜ	‹€Bä
�'Š'�&¤Ñ
&€Cä
×Ò�r¨Ò/Ü
×Ò�r¨Ò/à‡G�GˆA„JØ‡G�GˆA„Jä× Ò  Ó$€HÜ× Ò  Ó$€HäˆH˜ÑÔÜˆH˜ÑÔäˆB�G‰G‹Iœ×)Ñ)Ñ)Ô*ÜˆB�G‰G‹Iœ×)Ñ)Ñ)Õ*rQ   c                  ór   • [          H-  n [        U 5      n[        [        [        R
                  U5        M/     g rS   )Úmalformed_magicr   r
   rx   r   r`   ©Úmagicrc   s     rO   Útest_read_magic_bad_magicr/  P  s'   € ß ˆÜ�E‹NˆÜ”j¤&×"3Ñ"3°QÖ7ò !rQ   c                  ó€   • [         [        -    H-  n [        U 5      n[        [        [
        R                  U5        M/     g rS   )Úbad_version_magicr,  r   r
   rx   r   r`   r-  s     rO   Útest_read_version_1_0_bad_magicr2  V  s,   € Ü"¤_Ô4ˆÜ�E‹NˆÜ”j¤&×"3Ñ"3°QÖ7ò 5rQ   c                  ó  • [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R                  SS5        g )Nr   r8   é   )r
   rx   r   r.  rR   rQ   rO   Útest_bad_magic_argsr5  \  sJ   € Ü”*œfŸl™l¨B°Ô2Ü”*œfŸl™l¨C°Ô3Ü”*œfŸl™l¨A¨rÔ2Ü”*œfŸl™l¨A¨sÕ3rQ   c                  ó¸   • [        5       n SSSS.n[        R                  " X5        [        5       n SS-  S4/US'   [        [        [        R                  X5        g )NrR   Fz<i8©r™   rš   rî   Á   xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxr4  rî   )r   r   Úwrite_array_header_1_0r
   rx   ©Úsr½   s     rO   Útest_large_headerr<  c  sQ   € Ü‹	€AØ u°uÑ=€AÜ
×!Ò! !Ô'ä‹	€AØ˜s‘? EÐ*Ð+€A€g�JÜ”*œf×;Ñ;¸QÕBrQ   c                  ól  • [        5       n [        R                  " S[        S9n[        R
                  " XSS9  U R                  [        R                  5        [        R                  " U 5      u  p#n[        U R                  5       [        R                  -  S:H  5        [        X#U4SS[        4:H  5        g )Nr"  r   rÿ   r÷   r   F)r   rŒ   r�   r   r   r^   r�   r%  Úread_array_header_1_0r   r$  r  ©r;  rb   r™   Úfortranr   s        rO   Útest_read_array_header_1_0rA  m  ó‡   € Ü‹	€Aä
�'Š'�&¤Ñ
&€CÜ
×Ò�q vÒ.à‡F�FŒ6×ÑÔÜ"×8Ò8¸Ó;Ñ€E�EäˆA�F‰F‹H”v×)Ñ)Ñ)¨QÑ.Ô/ÜˆU˜UÐ#¨°´uÐ'=Ñ=Õ>rQ   c                  ól  • [        5       n [        R                  " S[        S9n[        R
                  " XSS9  U R                  [        R                  5        [        R                  " U 5      u  p#n[        U R                  5       [        R                  -  S:H  5        [        X#U4SS[        4:H  5        g )Nr"  r   rö   r÷   r   F)r   rŒ   r�   r   r   r^   r�   r%  Úread_array_header_2_0r   r$  r  r?  s        rO   Útest_read_array_header_2_0rE  z  rB  rQ   c                  óÞ  • [        5       n [        [        [        R                  U 5        [        S5      n [        [        [        R                  U 5        [        S5      n [        [        [        R                  U 5        [        S5      n [        [        [        R                  U 5        SSSSS.n[        5       n [        R
                  " X5        [        [        [        R                  U 5        g )	Nó   1s    s@   “NUMPY 6 {'descr': 'x', 'shape': (1, 2), }                    
©r8   r   Fr   r   )r™   rš   rî   Úextrakey)r   r
   rx   r   r>  r9  r:  s     rO   Útest_bad_headerrJ  ‡  sµ   € ä‹	€AÜ”*œf×:Ñ:¸AÔ>Ü�‹€AÜ”*œf×:Ñ:¸AÔ>ô 	�Ó€AÜ”*œf×:Ñ:¸AÔ>ô
 	ð	"ó	€Aô ”*œf×:Ñ:¸AÔ>àØØØñ	€Aô 	‹	€AÜ
×!Ò! !Ô'Ü”*œf×:Ñ:¸AÕ>rQ   c                 ó¸  • [         R                  S:X  d  [         R                  S:X  a  [        R                  " S5        [        R
                  R                  U S5      n SS KnUR                  SSSU/5        [        US
5       nUR                  S5        [        R                  " S5      n[        R                  " X45        S S S 5        [        US5       nUR                  S5        [        R                  " U5      nS S S 5        [!        WW5        g ! [         a    [        R                  " S	5         N½f = f! , (       d  f       N}= f! , (       d  f       NR= f)NÚwin32Úcygwinz)Unknown if Windows has sparse filesystemsÚsparse_filer   r„   z-sÚ
5368709120zCould not create 5GB large filer|   l        rD   r}   )ÚsysÚplatformr…   Úskipr‚   rˆ   rž   Ú
subprocessÚ
check_callÚ	Exceptionr€   r�   rŒ   r  ré   r±   r	   )r¤   Útf_nameÚsprc   r½   r›   s         rO   Útest_large_file_supportrX  ¤  sø   € Ü�‰˜Ó¤3§<¡<°8Ó#;Ü�ŠÐ?Ô@ä�g‰g�l‰l˜6 =Ó1€Gð7ó 	 Ø
�‰�z 4¨°wÐ?Ô@ô 
ˆg�tÔ	 Ø	�‰ˆzÔÜ�IŠI�a‹LˆÜ
�Š�Œ÷ 
ô
 
ˆg�tÔ	 Ø	�‰ˆzÔÜ�GŠG�A‹Jˆ÷ 
ô �q˜!Õøô ó 7Ü�ŠÐ5Ö6ð7ú÷ 
Õ	ú÷
 
Õ	ús*   Á D Â>D:Ã(EÄ D7Ä6D7Ä:
EÅ
Ezflaky on PyPyztest requires 64-bit systeml        )Ú
free_bytesc                 óö  • Sn [         R                  " U[         R                  S9n[        R                  R                  U S5      n[        US5       n[         R                  " UWS9  S S S 5        A[        US5       n[         R                  " U5      S   nS S S 5        WR                  U:X  d   eg ! [         a    [        R
                  " S5         N®f = f! , (       d  f       Nv= f! , (       d  f       NX= f)	N)i   @r   r   zCould not create large fileÚlarge_archiver|   ry   r}   rb   )rŒ   ÚemptyÚuint8ÚMemoryErrorr…   rR  r‚   rˆ   rž   r€   rÇ   r±   r™   )r¤   r™   r·   rÐ   rc   Únew_as         rO   Útest_large_archiver`  ½  sÃ   € ð €Eð3Ü�HŠH�U¤"§(¡(Ñ+ˆô �G‰G�L‰L˜ Ó1€Eä	ˆe�TÔ	˜aÜ
�Š�˜Ò÷ 
ð 	
ä	ˆe�TÔ	˜aÜ—’˜“
˜5Ñ!ˆ÷ 
ð �;‰;˜%ÓÐÑøô ó 3Ü�ŠÐ1Ö2ð3ú÷
 
Õ	ú÷
 
Õ	ús)   „#B3 ÁCÁ>C*Â3 CÃCÃ
C'Ã*
C8c                 óÒ   • [         R                  R                  U S5      n[        R                  " U5        [        R
                  " U5       n S S S 5        g ! , (       d  f       g = f)Nznothing.npz)r‚   rˆ   rž   rŒ   rÇ   r±   )r¤   rÐ   Únpss      rO   Útest_empty_npzrc  ×  s;   € ä�G‰G�L‰L˜ Ó/€EÜ‡H‚HˆU„OÜ	�Š�Œ˜3Ø÷ 
�Žús   ÁAÁ
A&c                 ó\  • [         R                  " / SQS[        4S[        4/S9n[        R                  R                  U S5      n[        US5       n[        R                  " X1SS9  S S S 5        [        US	5       n[        R                  " U5      nS S S 5        [        UW5        [        US5       n[        [        5         [        R                  " X1S S9  S S S 5        S S S 5        g ! , (       d  f       Nˆ= f! , (       d  f       Nn= f! , (       d  f       N9= f! , (       d  f       g = f)
N)©r8   r    rH  re  rH  Úintu   æ•´å½¢r   zunicode.npyr|   )r    r   r÷   r}   )rŒ   rÛ   rf  r‚   rˆ   rž   r€   r   r^   r`   r	   r   rÏ   )r¤   rb   rÐ   rc   re   s        rO   Útest_unicode_field_namesrg  ß  sâ   € ä
�(Š(ò ð 
”ˆØ	GÌÐMðñ€Cô �G‰G�L‰L˜ Ó/€EÜ	ˆe�TÔ	˜aÜ×Ò˜1¨6Ò2÷ 
ä	ˆe�TÔ	˜aÜ× Ò  Ó#ˆ÷ 
ä�s˜DÔ!ô 
ˆe�TÔ	˜aÜœ+Õ&Ü×Ò˜q¨tÒ4÷ '÷ 
Ð	÷ 
Õ	úç	Õ	ú÷ 'Õ&ú÷ 
Õ	ús<   ÁC*Á<C;Â3DÃDÃDÃ*
C8Ã;
D	Ä
D	ÄDÄ
D+c                  ó„  • / SQ/ SQ/ SQ/ SQ4 H©  u  pn[        [        R                  5       Vs/ s H  nSU-  PM
     sn Hr  n[        5       n[        R                  " UU (       a  SU4OUS4U [
        R                  " SU-  [        4/5      S.5        [        UR                  5       5      U:X  a  Mr   e   M«     g s  snf )	N)Fé   é€   )Fé   éÀ   )Trk  rj  )Té   rl  r   r   Ú r7  )
rÆ   r   ÚGROWTH_AXIS_MAX_DIGITSr   r9  rŒ   r   rf  r  r_   )Úis_fortran_arrayÚdtype_spaceÚexpected_header_lengthr¥   rM   r¨   s         rO   Útest_header_growth_axisrs  ö  s·   € âÒ*ªOº_óBÑ=ÐÐ'=ô %*¬&×*GÑ*GÔ$HÓIÒ$H˜q�R˜”UÑ$HÔIˆDÜ“ˆBÜ×)Ò)¨"Þ&6˜!˜T™¸TÀ1¸IØ!1ÜŸš C¨+Ñ$5´sÐ#;Ð"<Ó=ñ/ô ô �r—{‘{“}Ó%Ð)?Õ?Ð?Ð?ó JòBùò Js   °B=ÚS3ÚsomeÚstuff)ÚmetadataÚsubarrayr   )é   r    r!   zPyPy bug in error formattingc                 ó´  • [         R                  " SU S9n[        5       n[        [        5         [         R
                  " X!5        S S S 5        UR                  S5        [         R                  " U5      nSSKJ	n  [        X5        U" UR                  5      UR                  Ld   eU" UR                  5      UR                  L d   eg ! , (       d  f       N‰= f)Nr   r   r   )Údrop_metadata)rŒ   r�   r   r   rÏ   ré   r�   r±   Únumpy.lib._utils_implr{  r	   r   )rÃ   rb   Úbufre   r{  s        rO   Útest_metadata_dtyper~    s˜   € ô �'Š'�"˜BÑ
€CÜ
‹)€CÜ	”kÕ	"Ü
�Š�Ô÷ 
#à‡H�HˆQ„Kô �7Š7�3‹<€Då3Ü�sÔ!Ù˜Ÿ™Ó#¨3¯9©9Ò4Ð4Ð4Ù˜Ÿ™Ó$¨¯
©
Ò2Ð2Ñ2÷ 
#Õ	"ús   ¯C	Ã	
C)lÚ__doc__r‚   rP  r  Úior   r…   ÚnumpyrŒ   Ú	numpy.libr   Únumpy.testingr   r   r   r   r	   r
   r   r   Únumpy.testing._private.utilsr   r]  Úint8Úuint16Úint16Úuint32Úint32Úuint64Úint64Úfloat32Úfloat64Ú	complex64Ú
complex128ru   Úscalarsrp   ÚscalarÚendianr   Únewbyteorderr  ÚastypeÚbasicÚextendrÛ   ÚreshapeÚTÚPdescrÚPbufferTÚNdescrÚNbufferTrÅ   rq   rF   rf   rh   rj   rn   rs   rv   rz   rŠ   r’   ÚmarkÚskipifÚslowr¬   rµ   rï   Údt2Údt3Údt4Údt5Údt6ÚparametrizerÈ   Úversion_infoÚxfailrÑ   rç   rê   rf  rð   r  r  r  r  r   r1  r,  r*  r/  r2  r5  r<  rA  rE  rJ  rX  r`  rc  rg  rs  r   Úimplementationrø   r~  rR   rQ   rO   Ú<module>r©     sÛ  ðñRóf 
Û 
Û Ý ã ã Ý ÷	÷ 	ó 	õ 9ð ‡H�HØ‡G�GØ‡I�IØ‡H�HØ‡I�IØ‡H�HØ‡I�IØ‡H�HØ‡J�JØ‡J�JØ‡L�LØ‡M�MØ
ð€ð €Û€FÛˆØ—’˜Ó ×-Ñ-¨fÓ5ˆØ—	’	˜$“×&Ñ& uÓ-ˆØ×Ñà�HŠH�R˜uÑ%à�HŠH�R˜uÑ%àà�M‰M˜(Ó#à�M‰M˜(Ó#×%Ñ%à�M‰M˜(Ó#¡D b D©#¨A¨# IÑ.ð
ö 	ó ñ ò6
€ð ˆ€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ð€ð ‡H‚HˆX˜RŸXšX fÓ-×:Ñ:¸3Ó?Ñ@Ø‡H‚HˆX˜RŸXšX fÓ-×:Ñ:¸3Ó?Ñ@Ø‡H‚HˆX˜RŸXšX fÓ-×:Ñ:¸3Ó?Ñ@Ø‡H‚HˆX˜RŸXšX fÓ-×:Ñ:¸3Ó?Ñ@Ø‡H‚HˆQÐ1Ð2Ñ3ð€ô"˜ô "òòòòò&ò*ò@ò
-ò24ð ‡�×Ñ�GÐ$CÐÐDØ‡�×Ññó ó Eðò<"ð 	‡h‚hˆ| 4Ñ(€à‡h‚h˜#˜s˜°°t°Ø˜q˜6ñ#ó $€ð 	‡h‚h˜#˜s˜°°s°Ñ<Ó=€à‡h‚hš°T°F¸Q±JÑ?Ó@€à‡h‚h˜#˜s˜°°t°Ø˜q˜6¨d°D¨\ñ;ó <€ð 	‡h‚h˜¨¸Ñ:Ó;€à‡�×Ñ˜  S¨#¨s°C¸Ð=Ó>ñ"ó ?ð"ð ‡�×Ñ�C×$Ñ$¨Ñ/¸ÐÐGØ‡�×Ñ�7Ð#FÐÐGñ)ó Hó Hð)ò,1ò^&ð ‡�×Ñ˜Ø‡H‚HˆR�XŠX˜˜RŸW™W�~Ø˜RŸX™X�Ø˜RŸX™X�ðð  $ñ%ð ó	ð
 ‡H‚Hˆs�B—H’H¨¨S zØ*.°¨Ø*+¨Q¨Ø*+ñð
 óð ðð ó ð ‡H‚Hð ð ó ð ‡H‚Hˆs�B—H’HØ
�ŠØ�HŠH  S˜zØ"&¨ Ø"# Q Ø"#ñ%ó &ð ðó 	ð 	ð	
ó 	ð 	ð 

ó 
ð ‡H‚HØ	ˆb�hŠhØ�HŠHØ—’Ø—H’HØ˜c˜
Ø˜bŸhšh°#°s°Ø48¸$°<Ø45°q°6Ø45ñ(7ó 8ð 9ðó ð ð	ó 	ð ðó ð ð
ó ð 	ð
ó ð;/ ó /ñ`#óa/ð`#ò@ð2 ‡�×Ñ�GÐ$CÐÐDñó Eðð< ‡�×Ñ˜ s¨D kÓ2ñ!ó 3ð!ò&!ò(8ò6Ð ò€ò+ò*8ò8ò4òCò
?ò
?ò?ò:ð2 ‡�×Ñ�G OÐÐ4Ø‡�×Ñ˜”LÐ)FÐÐGØ‡�×ÑÙ˜IÑ&ñ ó 'ó ó Hó 5ð ò,ò5ò.@ð ‡�×Ñ˜Ø‡H‚H˜˜S�z°°r·x²xÀØ! 7Ð+ñ8-ð 0.ñ /ó 0à‡H‚HˆS˜F GÐ,Ñ-Ø‡H‚Hˆz˜C ˜;Ð'Ð(°F¸GÐ3DÑEà‡H‚H˜˜S�zØˆr�xŠx 3 %°R·X²X¸cÈBÑ5OÐ4PÑQÓRð/ñ ó ð	 ó 	ð ‡�×Ñ�G×G × 2Ñ 2× :Ñ :¸iÑ GØ-ð ð /ñ3ó/ó	ñ3rQ   