ó J¡Vc@sõddlZddlZddlZddlZejdejƒZejdejƒZejdejejBƒZ ejdejƒZ ejdejƒZ ejdƒZ dd „Z d „Zd „Zd „Zd „Zd„Zd„Zd„Zd„Zi defejdƒ6defejdƒ6defejdƒ6defejdƒ6defejdƒ6defejdƒ6defejdƒ6defejd ƒ6d!efejd"ƒ6defejd#ƒ6Zd$d%„ZdS(&iÿÿÿÿNs2^\#define\s*\S*\s*(\d+)\s*\n\#define\s*\S*\s*(\d+)s("\s*(\d+)\s+(\d+)(\s+\d+\s+\d+){1,2}\s*"s^\#.*s^(P[1-6])\s+(\d+)\s+(\d+)sIMGINFO:(\d+)x(\d+)s II\x2a\x00icCs,|dkr|j|dƒn|j|ƒS(Ni(tseektread(tstreamtlengthtoffset((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytreadin(s cCsfd\}}tjt|dƒƒ}y.t|jdƒƒ}t|jdƒƒ}WnnX||fS(Niÿÿÿÿiii(iÿÿÿÿiÿÿÿÿ(txbm_pattmatchRtinttgroup(RtwidththeightR((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytxbmsize/s cCsid\}}tjtt|dƒƒ}y.t|jdƒƒ}t|jdƒƒ}WnnX||fS(Niÿÿÿÿiii(iÿÿÿÿiÿÿÿÿ(tretsearchtxpm_patRRR (RR R R((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytxpmsize<s cCsRd\}}t|ddƒd krHtjd|jdƒƒ\}}n||fS( Niÿÿÿÿii tIHDRtMHDRs!IIi(iÿÿÿÿiÿÿÿÿ(RR(RtstructtunpackR(RR R ((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytpngsizeHs $cCsÜd \}}|jdƒx¶trÑd}t||ƒ}ytjd|ƒ\}}}WnPnX|dkrqPndt|ƒkoŽdknr½d}tjd t||ƒƒ\}}qt||dƒqW||fS( Niÿÿÿÿiis!c c hsÿiÀiÃis!xhh(iÿÿÿÿiÿÿÿÿ(RtTrueRRRtord(RR R Rtbuffertmarkertcode((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytjpegsizeQs     "$cCsæd\}}tjtdt|dƒƒ}tj|ƒ}d}y=|jdƒ}t|jdƒƒ}t|jdƒƒ}WnnX|dkrÜtj|ƒ}y.t|jdƒƒ}t|jdƒƒ}WqÜqÜXn||fS( NiÿÿÿÿtiiiitP7(iÿÿÿÿiÿÿÿÿ( R tsubtppm_pat1Rtppm_pat2RR Rtppm_pat3(RR R theaderRttyp((s^/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/base/imagesize.pytppmsizeis$  c Cs t|dƒ}d}tj|ƒ}|dk r9d}nt|ddƒ}tjd||ƒd}tjd|t|d|ƒƒd}|d7}||d}d\}}xätr•t|d|ƒ} | d ksâ||kræPn|d7}tjd|| dd!ƒd} tjd|| dd!ƒd} | d krbtjd|| d d!ƒd}q²| d kr²tjd|| d d!ƒd}q²q²W||fS(Nit>ts:        "