+
    ÂHàjîJ  ã                  ód	  € R t ^ RIHt R0t^ RIt^ RIt^ RIHtHt ^RI	H
t
HtHt ^RIHt ^RIHt ^RIHt R	t]'       d   ^ R
IHt Rt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t]P:                  ],          t] F4  t ] PB                  f   Q h]"! ]R] PB                   2] PF                  4       K6  	  ] F4  t$]$PB                  f   Q h]"! ]R]$PB                   2]$PF                  4       K6  	  ] F4  t%]%PB                  f   Q h]"! ]R]%PB                   2]%PF                  4       K6  	  ] F4  t&]&PB                  f   Q h]"! ]R]&PB                   2]&PF                  4       K6  	  ]PN                  t(]PR                  t*]PR                  ]PV                  ,          t,]PZ                  t.]PZ                  ]PV                  ,          t/]P`                  t1]Pd                  t3]Ph                  ]Pj                  ,          ]Pl                  ,          ]Pn                  ,          t8]Pr                  t:]Pv                  t<]Pz                  t>]P~                  t@]Pj                  tA]Pl                  tB]P†                  tD]PŠ                  ]PŒ                  ,          tG]PŠ                  tH]P’                  ]P”                  ,          tK]P’                  ]P˜                  ,          tM]P’                  ]Pœ                  ,          tO]P’                  ]P                   ,          tQ]P’                  ]P¤                  ,          tS]P’                  ]P¨                  ,          tU]P¬                  tW]P°                  tY]P´                  t[]P¸                  t]]P¼                  t_]PÀ                  ta]PÄ                  tc]PÈ                  te]PÌ                  tg]PÐ                  ti]PÔ                  tk]PØ                  tm]PÜ                  to]Pà                  tq ! R R]P                  4      tr ! R R]Pæ                  4      ttR  R! ltuR" R# ltv]
Pî                  ! ]rPð                  ]r]v4       ]
Pò                  ! R$]t4       ]
Pô                  ! ]rPð                  ]u4       ]
Pö                  ! ]rPð                  R%4       R# )&a†  
A Pillow plugin for .dds files (S3TC-compressed aka DXTC)
Jerome Leclanche <jerome@leclan.ch>

Documentation:
https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt

The contents of this file are hereby released in the public domain (CC0)
Full text of the CC0 license:
https://creativecommons.org/publicdomain/zero/1.0/
)ÚannotationsÚstructN)ÚIntEnumÚIntFlag)ÚImageÚ	ImageFileÚImagePalette)Úi32le)Úo8)Úo32leF)ÚIOiDDS c                  ó6   € ] tR t^#t^t^t^t^tRtRt	Rt
RtRtR# )ÚDDSDé   é   i   i  € © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚCAPSÚHEIGHTÚWIDTHÚPITCHÚPIXELFORMATÚMIPMAPCOUNTÚ
LINEARSIZEÚDEPTHÚ__static_attributes__r   ó    Ú”/home/ubuntu/.hermes/installs/5f0a1ff4045d044e/environments/88679baa1dc64374a0cd943b62eeefb9/venv/lib/python3.14/site-packages/PIL/DdsImagePlugin.pyr   r   #   s*   † Ø€DØ€FØ€EØ€EØ€KØ€KØ€JØ„Er   r   c                  ó"   € ] tR t^/t^tRtRtRtR# )ÚDDSCAPSr   i  @ r   N)r   r   r   r   ÚCOMPLEXÚTEXTUREÚMIPMAPr   r   r   r    r"   r"   /   s   † Ø€GØ€GØ„Fr   r"   c                  ó6   € ] tR t^5tRtRtRtRtRtRt	Rt
RtR	tR
# )ÚDDSCAPS2i   é   i   r   i    i @  i €  i    r   N)r   r   r   r   ÚCUBEMAPÚCUBEMAP_POSITIVEXÚCUBEMAP_NEGATIVEXÚCUBEMAP_POSITIVEYÚCUBEMAP_NEGATIVEYÚCUBEMAP_POSITIVEZÚCUBEMAP_NEGATIVEZÚVOLUMEr   r   r   r    r'   r'   5   s0   † Ø€GØÐØÐØÐØÐØÐØÐØ„Fr   r'   c                  ó.   € ] tR t^At^t^t^t^ t^@tRt	Rt
R# )ÚDDPFr   r   N)r   r   r   r   ÚALPHAPIXELSÚALPHAÚFOURCCÚPALETTEINDEXED8ÚRGBÚ	LUMINANCEr   r   r   r    r2   r2   A   s    † Ø€KØ€EØ€FØ€OØ
€CØ„Ir   r2   c                  óú  € ] tR t^Kt^ t^t^t^t^t^t	^t
^t^t^	t^
t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t^t ^t!^t"^t#^ t$^!t%^"t&^#t'^$t(^%t)^&t*^'t+^(t,^)t-^*t.^+t/^,t0^-t1^.t2^/t3^0t4^1t5^2t6^3t7^4t8^5t9^6t:^7t;^8t<^9t=^:t>^;t?^<t@^=tA^>tB^?tC^@tD^AtE^BtF^CtG^DtH^EtI^FtJ^GtK^HtL^ItM^JtN^KtO^LtP^MtQ^NtR^OtS^PtT^QtU^RtV^StW^TtX^UtY^VtZ^Wt[^Xt\^Yt]^Zt^^[t_^\t`^]ta^^tb^_tc^`td^ate^btf^ctg^dth^eti^ftj^gtk^htl^itm^jtn^kto^ltp^mtq^ntr^ots^ptt^qtu^rtv^stw^‚tx^ƒty^„tz^½t{^¾t|Rt}R# )ÚDXGI_FORMATr   N)~r   r   r   r   ÚUNKNOWNÚR32G32B32A32_TYPELESSÚR32G32B32A32_FLOATÚR32G32B32A32_UINTÚR32G32B32A32_SINTÚR32G32B32_TYPELESSÚR32G32B32_FLOATÚR32G32B32_UINTÚR32G32B32_SINTÚR16G16B16A16_TYPELESSÚR16G16B16A16_FLOATÚR16G16B16A16_UNORMÚR16G16B16A16_UINTÚR16G16B16A16_SNORMÚR16G16B16A16_SINTÚR32G32_TYPELESSÚR32G32_FLOATÚR32G32_UINTÚR32G32_SINTÚR32G8X24_TYPELESSÚD32_FLOAT_S8X24_UINTÚR32_FLOAT_X8X24_TYPELESSÚX32_TYPELESS_G8X24_UINTÚR10G10B10A2_TYPELESSÚR10G10B10A2_UNORMÚR10G10B10A2_UINTÚR11G11B10_FLOATÚR8G8B8A8_TYPELESSÚR8G8B8A8_UNORMÚR8G8B8A8_UNORM_SRGBÚR8G8B8A8_UINTÚR8G8B8A8_SNORMÚR8G8B8A8_SINTÚR16G16_TYPELESSÚR16G16_FLOATÚR16G16_UNORMÚR16G16_UINTÚR16G16_SNORMÚR16G16_SINTÚR32_TYPELESSÚ	D32_FLOATÚ	R32_FLOATÚR32_UINTÚR32_SINTÚR24G8_TYPELESSÚD24_UNORM_S8_UINTÚR24_UNORM_X8_TYPELESSÚX24_TYPELESS_G8_UINTÚR8G8_TYPELESSÚ
R8G8_UNORMÚ	R8G8_UINTÚ
R8G8_SNORMÚ	R8G8_SINTÚR16_TYPELESSÚ	R16_FLOATÚ	D16_UNORMÚ	R16_UNORMÚR16_UINTÚ	R16_SNORMÚR16_SINTÚR8_TYPELESSÚR8_UNORMÚR8_UINTÚR8_SNORMÚR8_SINTÚA8_UNORMÚR1_UNORMÚR9G9B9E5_SHAREDEXPÚR8G8_B8G8_UNORMÚG8R8_G8B8_UNORMÚBC1_TYPELESSÚ	BC1_UNORMÚBC1_UNORM_SRGBÚBC2_TYPELESSÚ	BC2_UNORMÚBC2_UNORM_SRGBÚBC3_TYPELESSÚ	BC3_UNORMÚBC3_UNORM_SRGBÚBC4_TYPELESSÚ	BC4_UNORMÚ	BC4_SNORMÚBC5_TYPELESSÚ	BC5_UNORMÚ	BC5_SNORMÚB5G6R5_UNORMÚB5G5R5A1_UNORMÚB8G8R8A8_UNORMÚB8G8R8X8_UNORMÚR10G10B10_XR_BIAS_A2_UNORMÚB8G8R8A8_TYPELESSÚB8G8R8A8_UNORM_SRGBÚB8G8R8X8_TYPELESSÚB8G8R8X8_UNORM_SRGBÚBC6H_TYPELESSÚ	BC6H_UF16Ú	BC6H_SF16ÚBC7_TYPELESSÚ	BC7_UNORMÚBC7_UNORM_SRGBÚAYUVÚY410ÚY416ÚNV12ÚP010ÚP016Ú
OPAQUE_420ÚYUY2ÚY210ÚY216ÚNV11ÚAI44ÚIA44ÚP8ÚA8P8ÚB4G4R4A4_UNORMÚP208ÚV208ÚV408ÚSAMPLER_FEEDBACK_MIN_MIP_OPAQUEÚ'SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUEr   r   r   r    r:   r:   K   s~  † Ø€GØÐØÐØÐØÐØÐØ€OØ€NØ€NØÐØÐØÐØÐØÐØÐØ€OØ€LØ€KØ€KØÐØÐØ!ÐØ ÐØÐØÐØÐØ€OØÐØ€NØÐØ€MØ€NØ€MØ€OØ€LØ€LØ€KØ€LØ€KØ€LØ€IØ€IØ€HØ€HØ€NØÐØÐØÐØ€MØ€JØ€IØ€JØ€IØ€LØ€IØ€IØ€IØ€HØ€IØ€HØ€KØ€HØ€GØ€HØ€GØ€HØ€HØÐØ€OØ€OØ€LØ€IØ€NØ€LØ€IØ€NØ€LØ€IØ€NØ€LØ€IØ€IØ€LØ€IØ€IØ€LØ€NØ€NØ€NØ!#ÐØÐØÐØÐØÐØ€MØ€IØ€IØ€LØ€IØ€NØ€DØ€DØ€DØ€DØ€DØ€DØ€JØ€DØ€DØ€DØ€DØ€DØ€DØ	€BØ€DØ€NØ€DØ€DØ€DØ&)Ð#Ø.1Ô+r   r:   c                  ó  € ] tR t^Çt^ t^t^t^t^t^t	^t
^t^t^t^t^t^t^ t^!t^"t^#t^$t^(t^)t^2t^3t^4t^<t^=t^>t^?t^@t^Ct ^Ft!^Gt"^It#^Kt$^Mt%^Ot&^Pt'^Rt(^St)^Tt*^Ut+^Qt,^dt-^et.^ft/^nt0^ot1^pt2^qt3^rt4^st5^tt6^ut7^vt8^wt9^Çt:];! R4      t<];! R4      t=];! R4      t>];! R4      t?];! R4      t@];! R4      tA];! R4      tB];! R4      tC];! R	4      tD];! R
4      tE];! R4      tF];! R4      tG];! R4      tH];! R4      tI];! R4      tJ];! R4      tK];! R4      tLRtMR# )ÚD3DFMTs   UYVYs   RGBGs   YUY2s   GRGBs   DXT1s   DXT2s   DXT3s   DXT4s   DXT5s   DX10s   BC4Ss   BC4Us   BC5Ss   BC5Us   ATI1s   ATI2s   MET1r   N)Nr   r   r   r   r;   ÚR8G8B8ÚA8R8G8B8ÚX8R8G8B8ÚR5G6B5ÚX1R5G5B5ÚA1R5G5B5ÚA4R4G4B4ÚR3G3B2ÚA8ÚA8R3G3B2ÚX4R4G4B4ÚA2B10G10R10ÚA8B8G8R8ÚX8B8G8R8ÚG16R16ÚA2R10G10B10ÚA16B16G16R16r­   r¬   ÚL8ÚA8L8ÚA4L4ÚV8U8ÚL6V5U5ÚX8L8V8U8ÚQ8W8V8U8ÚV16U16ÚA2W10V10U10ÚD16_LOCKABLEÚD32ÚD15S1ÚD24S8ÚD24X8ÚD24X4S4ÚD16ÚD32F_LOCKABLEÚD24FS8ÚD32_LOCKABLEÚS8_LOCKABLEÚL16Ú
VERTEXDATAÚINDEX16ÚINDEX32ÚQ16W16V16U16ÚR16FÚG16R16FÚA16B16G16R16FÚR32FÚG32R32FÚA32B32G32R32FÚCxV8U8ÚA1ÚA2B10G10R10_XR_BIASÚBINARYBUFFERÚi32ÚUYVYÚ	R8G8_B8G8r¦   Ú	G8R8_G8B8ÚDXT1ÚDXT2ÚDXT3ÚDXT4ÚDXT5ÚDX10ÚBC4SÚBC4UÚBC5SÚBC5UÚATI1ÚATI2ÚMULTI2_ARGB8r   r   r   r    rµ   rµ   Ç   s¯  † Ø€GØ€FØ€HØ€HØ€FØ€HØ€HØ€HØ€FØ	€BØ€HØ€HØ€KØ€HØ€HØ€FØ€KØ€LØ€DØ	€BØ	€BØ€DØ€DØ€DØ€FØ€HØ€HØ€FØ€KØ€LØ
€CØ€EØ€EØ€EØ€GØ
€CØ€MØ€FØ€LØ€KØ
€CØ€JØ€GØ€GØ€LØ€DØ€GØ€MØ€DØ€GØ€MØ€FØ	€BØÐØ€Láˆw‹<€DÙ�G“€IÙˆw‹<€DÙ�G“€IÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙˆw‹<€DÙ�w“<„Lr   rµ   ÚDDSD_ÚDDSCAPS_Ú	DDSCAPS2_ÚDDPF_c                  ó6   € ] tR tRtRtRtR R ltR R ltRtR	# )
ÚDdsImageFileiO  ÚDDSzDirectDraw Surfacec               ó   € V ^8„  d   QhRR/# )é   ÚreturnÚNoner   )Úformats   "r    Ú__annotate__ÚDdsImageFile.__annotate__S  s   € ÷ TSñ TS�tñ TSr   c                	ó  € V P                   f   Q h\        V P                   P                  ^4      4      '       g   Rp\        V4      h\        P
                  ! RV P                   P                  ^4      4      w  pV^|8w  d   R\        V4       2p\        V4      hV P                   P                  V^,
          4      p\        V4      ^x8w  d   R\        V4       R2p\        V4      h\        P
                  ! RVR,          4      w  rEpWe3V n	        ^ ^ .V P                  O5p\        P
                  ! RVR,          4      w  r‰p
\        P
                  ! R	VR
,          4       \        P
                  ! RVR,          4      w  r¼rÞ^ pR pV\        P                  ,          '       d€   V\        P                  ,          '       d   RV n        ^pM	RV n        ^p\        P
                  ! RV R2V^T^TV^,          ,            4      p\        P                   ! RV^ VV34      .V n        R # V\        P$                  ,          '       dQ   V^8X  d
   RV n        EMÓV^8X  d'   V\        P                  ,          '       d
   RV n        EM¦RV RV 2p\        V4      hV\        P&                  ,          '       dP   RV n        \(        P(                  ! RV P                   P                  R4      4      V n        ^V P*                  n        EM'V\        P.                  ,          '       Edú   V^,           pV\0        P2                  8X  d   RV n        RV n        ^pEMÙV\0        P6                  8X  d   RV n        RV n        ^pEM²V\0        P8                  8X  d   RV n        RV n        ^pEM‹V\0        P:                  \0        P<                  39   d   RV n        RV n        ^pEMTV\0        P>                  8X  d   RV n        RV n        ^pEM-V\0        P@                  \0        PB                  39   d   RV n        RV n        ^pEMöV\0        PD                  8X  Ed¸   V^,          p\        P
                  ! RV P                   P                  ^4      4      w  pV P                   P                  ^4       V\F        PH                  \F        PJ                  39   d   RV n        RV n        ^pEMSV\F        PL                  \F        PN                  39   d   RV n        RV n        ^pEMV\F        PP                  \F        PR                  39   d   RV n        R V n        ^pEMåV\F        PT                  \F        PV                  39   d   RV n        RV n        ^pEM®V\F        PX                  \F        PZ                  39   d   RV n        RV n        ^pEMwV\F        P\                  8X  d   RV n        RV n        ^pEMPV\F        P^                  8X  d   RV n        R!V n        ^pEM)V\F        P`                  8X  d   RV n        R"V n        ^pEMV\F        Pb                  \F        Pd                  \F        Pf                  39   d6   RV n        R#V n        ^pV\F        Pf                  8X  d   R*V Ph                  R$&   M™V\F        Pj                  \F        Pl                  \F        Pn                  39   d-   RV n        V\F        Pn                  8X  d   R*V Ph                  R$&   M9R%V 2p\q        V4      hR&\        V4       2p\q        V4      hR'V 2p\q        V4      hV'       d-   \        P                   ! R(VXWðP4                  34      .V n        R # \        P                   ! R)T^ T;'       g    V Pr                  4      .V n        R # )+Nznot a DDS filez<IzUnsupported header size zIncomplete header: z bytesz<3I:Né   N:r
  é   Nz<11I:r  éD   Nú<4I:r  éT   NÚRGBAr7   Ú<ÚIÚdds_rgbÚLÚLAzUnsupported bitcount z for ÚPr(   rî   rð   rò   ÚBC4rö   ÚBC5ÚBC1ÚBC2ÚBC3ÚBC6HÚBC6HSÚBC7ÚgammazUnimplemented DXGI format zUnimplemented pixel format zUnknown pixel format flags ÚbcnÚrawg]tÑEÝ?):ÚfpÚ_acceptÚreadÚSyntaxErrorr   ÚunpackÚreprÚOSErrorÚlenÚ_sizeÚsizer2   r7   r3   Ú_moder   Ú_TileÚtiler8   r6   r   ÚpaletteÚdirtyr5   rµ   rî   Úpixel_formatrð   rò   rõ   rø   rö   r÷   rù   ró   r:   r‚   r�   r„   r…   r‡   rˆ   rŠ   r‹   r�   rŽ   r�   rš   r›   rœ   r�   rž   ÚinforV   rW   rX   ÚNotImplementedErrorÚmode)ÚselfÚmsgÚheader_sizeÚheaderÚflagsÚheightÚwidthÚextentsÚpitchÚdepthÚmipmapsÚpfsizeÚpfflagsÚfourccÚbitcountÚnÚrawmodeÚ
mask_countÚmasksÚoffsetÚdxgi_formats   &                    r    Ú_openÚDdsImageFile._openS  s  € Ø�w‰wÒ"Ð"Ð"Ü�t—w‘w—|‘| A“×'Ò'Ø"ˆCÜ˜cÓ"Ð"ÜŸš t¨T¯W©W¯\©\¸!«_Ó=‰ˆØ˜#ÔØ,¬T°+Ó->Ð,?Ð@ˆCÜ˜#“,ÐØ—‘—‘˜k¨A�oÓ.ˆÜˆv‹;˜#ÔØ'¬¨F« }°FÐ;ˆCÜ˜#“,Ðä%Ÿ}š}¨U°F¸3µKÓ@Ñˆ�uØ�_ˆŒ
Ø�aÐ$˜$Ÿ)™)Ñ$ˆä &§¢¨e°V¸Eµ]Ó CÑˆ�gÜ�Š�f˜f U�mÔ,ô -3¯MªM¸%ÀÈÅÓ,OÑ)ˆ˜ØˆØˆØ”T—X‘X×Ôàœ×)Ñ)×)Ô)Ø#�”
Ø‘
à"�”
Ø�
ä—M’M A j \°Ð"3°V¸BÀÀjÐSTÅnÕATÐ5UÓVˆEÜ"Ÿš¨°G¸QÀÈ5Ð@QÓRÐSˆDŒIÙØ”t—~‘~×%Ô%Ø˜1Œ}Ø �–
Ø˜R” G¬d×.>Ñ.>×$>Ô$>Ø!�–
à-¨h¨Z°u¸W¸IÐF�Ü˜c“lÐ"Ø”t×+Ñ+×+Ô+ØˆDŒJÜ'×4Ò4°V¸T¿W¹W¿\¹\È$Ó=OÓPˆDŒLØ!"ˆD�L‰LÖØ”t—{‘{×"Õ"Ø  1•_ˆFØœŸ™Ô$Ø#�”
Ø$*�Ô!Ø’Øœ6Ÿ;™;Ô&Ø#�”
Ø$*�Ô!Ø’Øœ6Ÿ;™;Ô&Ø#�”
Ø$*�Ô!Ø’ØœFŸK™K¬¯©Ð5Ô5Ø �”
Ø$)�Ô!Ø’Øœ6Ÿ;™;Ô&Ø"�”
Ø$*�Ô!Ø’ØœFŸK™K¬¯©Ð5Ô5Ø"�”
Ø$)�Ô!Ø’Øœ6Ÿ;™;Õ&Ø˜"•�ä!'§¢¨t°T·W±W·\±\À!³_Ó!E‘�Ø—‘—‘˜RÔ ØÜ×)Ñ)Ü×,Ñ,ð#ô ð "(�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!'�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!'�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!$�D”JØ(-�DÔ%Ø’AØ ¤[×%=Ñ%=¼{×?TÑ?TÐ$UÔUØ!&�D”JØ(-�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(.�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(.�DÔ%Ø’AØ ¤K×$9Ñ$9Ô9Ø!&�D”JØ(/�DÔ%Ø’AØ Ü×,Ñ,Ü×)Ñ)Ü×.Ñ.ð%ô ð
 "(�D”JØ(-�DÔ%Ø�AØ"¤k×&@Ñ&@Ô@Ø-4˜Ÿ	™	 'Ñ*øØ Ü×1Ñ1Ü×.Ñ.Ü×3Ñ3ð%ô ð
 "(�D”JØ"¤k×&EÑ&EÔEØ-4˜Ÿ	™	 'Ñ*øà6°{°mÐD�CÜ-¨cÓ2Ð2à3´D¸³L°>ÐB�Ü)¨#Ó.Ð.à/°¨yÐ9ˆCÜ% cÓ*Ð*çä—’  w°¸×<MÑ<MÐ8NÓOðˆDŽIô #Ÿš¨°¸¸G×<PÐ<PÀtÇyÁyÓQÐRˆDŽIr   c               ó    € V ^8„  d   QhRRRR/# )r  ÚposÚintr  r  r   )r  s   "r    r  r  é  s   € ÷ ñ ˜Sð  Tñ r   c                	ó   € R # )Nr   )r4  rL  s   &&r    Ú	load_seekÚDdsImageFile.load_seeké  s   € Ùr   )r+  r)  r.  r0  r-  N)	r   r   r   r   r  Úformat_descriptionrI  rO  r   r   r   r    r   r   O  s   † Ø€FØ-ÐõTS÷lñ r   r   c                  ó&   € ] tR tRtRtR R ltRtR# )ÚDdsRgbDecoderií  Tc               ó    € V ^8„  d   QhRRRR/# )r  ÚbufferzImage.DecoderInputr  ztuple[int, int]r   )r  s   "r    r  ÚDdsRgbDecoder.__annotate__ð  s   € ÷ &ñ &Ð/ð &°Oñ &r   c           	     	ó�  € V P                   w  r#\        4       pV^,          pV'       g   V P                  V4       R# . p. pV Fa  p^ p	V^ 8w  d.   W‰^,           ,	          V	^,           ,          V8X  d   V	^,          p	K-  VP                  V	4       VP                  W‰,	          4       Kc  	  V P                  f   Q hV P
                  P                  V P
                  P                  ,          \        V4      ,          p
\        V4      V
8  d­   V P                  P                  V4      p\        V4      V8  d   M€\        P                  VR4      p\        V4       FY  w  rØWÈ,          pT\        W},          '       d-   \        WæV,          ,	          W},          ,          ^ÿ,          4      M^ 4      ,          pK[  	  K¼  V P                  V4       R# )é   Úlittle)éÿÿÿÿé    )ÚargsÚ	bytearrayÚ
set_as_rawÚappendÚfdÚstateÚxsizeÚysizer(  r#  rM  Ú
from_bytesÚ	enumerater
   )r4  rU  rB  rF  ÚdataÚ	bytecountÚmask_offsetsÚmask_totalsÚmaskrG  Údest_lengthÚ
bytes_readÚvalueÚiÚmasked_values   &&             r    ÚdecodeÚDdsRgbDecoder.decodeð  sk  € ØŸ)™)‰ˆä‹{ˆØ •Mˆ	ßØ�O‰O˜DÔ!ØˆLð ˆàˆÛˆDØˆFØ�qŒyØ¨�zÕ*¨v¸­zÕ:¸dÔBØ˜a•K’FØ×Ñ Ô'Ø×Ñ˜t�~Ö.ñ ð �w‰wÒ"Ð"Ð"Ø—j‘j×&Ñ&¨¯©×)9Ñ)9Õ9¼CÀ»JÕFˆÜ�$‹i˜+Ô%ØŸ™Ÿ™ iÓ0ˆJÜ�:‹ Ô*ØÜ—N‘N :¨xÓ8ˆEÜ$ UÖ+‘�Ø$�|�àœà"—~”~ô ˜,°q­/Õ9¸[½^ÕKÈsÕRÔSàóõ ’ó ,ð 	�‰˜ÔØˆr   r   N)r   r   r   r   Ú	_pulls_fdrp  r   r   r   r    rS  rS  í  s   † Ø€I÷&ñ &r   rS  c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r  ÚimzImage.Imager!  z	IO[bytes]Úfilenamezstr | bytesr  r  r   )r  s   "r    r  r    s4   € ÷ ZVñ ZVˆkð ZV˜yð ZV°Kð ZVÀDñ ZVr   c                ó	  € V P                   R9  d   RV P                    R2p\        V4      h\        P                  \        P                  ,          \        P
                  ,          \        P                  ,          p\        V P                  4       4      ^,          pV P                  P                  R4      pV'       Ed(   RpV\        P                  ,          pV P                  ^,           ^,          p. ROp	\        P                  p
VR8X  d   \        P                   pRpEMVR8X  d   \        P"                  pRpEMìVR	8X  d   \        P$                  pRpEMÑ\        P&                  pVR
8X  d   Rp\(        P*                  pEM¦VR8X  d   Rp\(        P,                  pEM‹VR8X  d3   Rp\(        P.                  pV P                   R 8w  d   Rp\        V4      hEMRRV 2p\        V4      hRpV\        P0                  ,          pV P                  V,          ^,           ^,          pV P                   R,          R8H  pV P                   ^ ,          R8X  d/   \        P2                  p
V P                   pV'       d   . ROp	Mg. ROp	Mb\        P4                  p
V P                   RRR1,          p. R Op	V'       d1   V P7                  4       w  pppp\8        P:                  ! RVVVV34      p V'       d   V
\        P<                  ,          p
T	P?                  V'       d   RM^ 4       \        P@                  pVPC                  \E        \F        4      \H        PJ                  ! R^|VV PL                  V P                  V^ ^ 4      ,           \H        PJ                  ! R.R!O5!  ,           \H        PJ                  ! R^ W«V4      ,           \H        PJ                  ! R.V	O5!  ,           \H        PJ                  ! R\N        PP                  ^ ^ ^ ^ 4      ,           4       V\        P&                  8X  d+   VPC                  \H        PJ                  ! RX^^ ^ ^4      4       \R        PT                  ! W\R        PV                  ! V^ ^ .V PX                  O5^ V4      .4       R# )"r7   r  r  zcannot write mode z as DDSr0  r  rî   rð   rò   r  r  r  z#only RGB mode can be written as BC5zcannot write pixel format r   ÚAì      ~ Nz<7IÚ11Ir  z<5I)r7   r  r  r  )r[  r[  r[  r[  )é   )r  )é   )é   rZ  )éÿ   r}  r}  )rx  rx  rx  )i  ÿ i ÿ  r}  )r[  r[  r[  r[  r[  r[  r[  r[  r[  r[  r[  )-r3  r'  r   r   r   r   r   r(  ÚgetbandsÚencoderinfoÚgetr   r:  r2   r5   rµ   rî   rð   rò   ró   r:   r„   r‡   r�   r   r8   r7   Úsplitr   Úmerger3   r_  r;   ÚwriteÚo32Ú	DDS_MAGICr   Úpackr9  r"   r$   r   Ú_saver,  r*  )rt  r!  ru  r5  r8  rB  r0  Ú
codec_namer<  Ú	rgba_maskÚpixel_flagsrA  r\  rH  ÚalphaÚrÚgÚbÚas   &&&                r    r‡  r‡    ss  € Ø	‡w�wÐ0Ô0Ø" 2§7¡7 )¨7Ð3ˆÜ�c‹lÐä�I‰IœŸ™Õ#¤d§j¡jÕ0´4×3CÑ3CÕC€EÜ�2—;‘;“=Ó! AÕ%€HØ—>‘>×%Ñ% nÓ5€Lç€|Øˆ
Ø”—‘Õ ˆØ—‘˜A• Õ"ˆÚ ˆ	Ü—k‘kˆØ˜6Ô!Ü—[‘[ˆFØŠDØ˜VÔ#Ü—[‘[ˆFØŠDØ˜VÔ#Ü—[‘[ˆFØŠDä—[‘[ˆFØ˜uÔ$Ø�Ü)×6Ñ6’Ø Ô&Ø�Ü)×6Ñ6’Ø Ô&Ø�Ü)×6Ñ6�Ø—7‘7˜eÔ#Ø?�CÜ! #›,Ð&ñ $ð 3°<°.ÐA�Ü˜c“lÐ"àˆ
Ø”—‘ÕˆØ—‘˜HÕ$ qÕ(¨QÕ.ˆà—‘˜•˜sÑ"ˆØ�7‰7�1�:˜ÔÜŸ.™.ˆKØ—7‘7ˆDßÚ@‘	â@‘	äŸ(™(ˆKØ—7‘7™4˜R˜4•=ˆDÚ<ˆIçØŸX™X›Z‘
��1�a˜Ü—[’[ ¨!¨Q°°1¨Ó6�ßØœ4×+Ñ+Õ+ˆKØ×Ñ§u™°!Ô4ä—‘ˆØ‡H�HÜŒI‹Ü
�+Š+ØØØØ�I‰IØ�H‰HØØØó	
õ
	
ô �+Š+�eÐ
*˜yÓ
*õ	+ô �+Š+�e˜R °hÓ
?õ	@ô �+Š+�eÐ
(˜iÓ
(õ	)ô �+Š+�eœWŸ_™_¨a°°A°qÓ
9õ	:ôð$ ”—‘ÔØ
�‰ä�KŠK˜˜{¨A¨q°!°QÓ7ô	
ô ‡O‚O�BœYŸ_š_¨Z¸!¸QÐ9IÀÇÁÑ9IÈ1ÈdÓSÐTÖUr   c               ó    € V ^8„  d   QhRRRR/# )r  ÚprefixÚbytesr  Úboolr   )r  s   "r    r  r  v  s   € ÷ &ñ &�Eð &˜dñ &r   c                ó$   € V P                  R 4      # )s   DDS )Ú
startswith)r‘  s   &r    r"  r"  v  s   € Ø×Ñ˜WÓ%Ð%r   r  z.dds)|Ú__doc__Ú
__future__r   Ú__lazy_modules__r   ÚsysÚenumr   r   Ú r   r   r   Ú_binaryr	   rê   r
   r   r„  ÚTYPE_CHECKINGÚtypingr   r…  r   r"   r'   r2   r:   rµ   Úmodulesr   ÚmoduleÚitemÚnameÚsetattrrm  Úitem1Úitem2Úitem3r5   Ú
DDS_FOURCCr7   ÚDDS_RGBr3   ÚDDS_RGBAr8   ÚDDS_LUMINANCEÚDDS_LUMINANCEAr4   Ú	DDS_ALPHAr6   ÚDDS_PAL8r   r   r   r   ÚDDS_HEADER_FLAGS_TEXTUREr   ÚDDS_HEADER_FLAGS_MIPMAPr   ÚDDS_HEADER_FLAGS_VOLUMEr   ÚDDS_HEADER_FLAGS_PITCHr   ÚDDS_HEADER_FLAGS_LINEARSIZEÚ
DDS_HEIGHTÚ	DDS_WIDTHr$   ÚDDS_SURFACE_FLAGS_TEXTUREr#   r%   ÚDDS_SURFACE_FLAGS_MIPMAPÚDDS_SURFACE_FLAGS_CUBEMAPr)   r*   ÚDDS_CUBEMAP_POSITIVEXr+   ÚDDS_CUBEMAP_NEGATIVEXr,   ÚDDS_CUBEMAP_POSITIVEYr-   ÚDDS_CUBEMAP_NEGATIVEYr.   ÚDDS_CUBEMAP_POSITIVEZr/   ÚDDS_CUBEMAP_NEGATIVEZrî   ÚDXT1_FOURCCrð   ÚDXT3_FOURCCrò   ÚDXT5_FOURCCrV   ÚDXGI_FORMAT_R8G8B8A8_TYPELESSrW   ÚDXGI_FORMAT_R8G8B8A8_UNORMrX   ÚDXGI_FORMAT_R8G8B8A8_UNORM_SRGBr�   ÚDXGI_FORMAT_BC5_TYPELESSrŽ   ÚDXGI_FORMAT_BC5_UNORMr�   ÚDXGI_FORMAT_BC5_SNORMrš   ÚDXGI_FORMAT_BC6H_UF16r›   ÚDXGI_FORMAT_BC6H_SF16rœ   ÚDXGI_FORMAT_BC7_TYPELESSr�   ÚDXGI_FORMAT_BC7_UNORMrž   ÚDXGI_FORMAT_BC7_UNORM_SRGBr   Ú	PyDecoderrS  r‡  r"  Úregister_openr  Úregister_decoderÚregister_saveÚregister_extensionr   r   r    Ú<module>rÑ     s  ðñ
õ #à�:Ð ã Û 
ß !ç ,Ñ ,Ý !Ý Ý !à€ßÝð €	ôˆ7ô ôˆgô ôˆwô ôˆ7ô ôy2�'ô y2ôxI ˆWô I ðZ 
�‰�XÕ	€Û€DØ�9‰9Ò Ð Ð ÙˆF�e˜DŸI™I˜;Ð'¨¯©Ö4ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�h˜uŸz™z˜lÐ+¨U¯[©[Ö9ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�i §
¡
˜|Ð,¨e¯k©kÖ:ñ ó €EØ�:‰:Ò!Ð!Ð!ÙˆF�e˜EŸJ™J˜<Ð(¨%¯+©+Ö6ñ ð �[‰[€
Ø
�(‰(€Ø�8‰8�d×&Ñ&Õ&€Ø—‘€Ø—‘ $×"2Ñ"2Õ2€Ø�J‰J€	Ø×Ñ€àŸ9™9 t§{¡{Õ2°T·Z±ZÕ?À$×BRÑBRÕRÐ Ø×*Ñ*Ð ØŸ*™*Ð ØŸ™Ð Ø"Ÿo™oÐ à�[‰[€
Ø�J‰J€	à#ŸO™OÐ Ø"Ÿ?™?¨W¯^©^Õ;Ð Ø#ŸO™OÐ à ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ Ø ×(Ñ(¨8×+EÑ+EÕEÐ à�k‰k€Ø�k‰k€Ø�k‰k€à +× =Ñ =Ð Ø(×7Ñ7Ð Ø"-×"AÑ"AÐ Ø&×3Ñ3Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø#×-Ñ-Ð Ø&×3Ñ3Ð Ø#×-Ñ-Ð Ø(×7Ñ7Ð ô[�9×&Ñ&ô [ô|)�I×'Ñ'ô )õXZVõz&ð × Ò �L×'Ñ'¨°wÔ ?Ø × Ò �y -Ô 0Ø × Ò �L×'Ñ'¨Ô /Ø × Ò ˜×,Ñ,¨fÖ 5r   