Return-Path: <awaresystems.be+caf_=filtered=awaresystems.be@gmail.com>
Delivered-To: filtered@awaresystems.be
Received: from mx-q.one.com (mx-q.one.com [91.198.169.248])
	by mail6.local (Postfix) with ESMTP id 270C38014FAE4
	for <filtered@awaresystems.be>; Thu, 13 Jun 2013 18:07:09 +0200 (CEST)
X-Virus-Scanned: by one.com
X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "MIME-Version"
Received-SPF: pass (mx-q: domain of awaresystems.be+caf_=filtered=awaresystems.be@gmail.com designates 209.85.217.177 as permitted sender)
X-Greylist: whitelisted by SQLgrey-1.8.0-rc2
Received: from mail-lb0-f177.google.com (mail-lb0-f177.google.com [209.85.217.177])
	by mx-q.one.com (Postfix) with ESMTP id CBC34778BF9
	for <filtered@awaresystems.be>; Thu, 13 Jun 2013 16:07:08 +0000 (UTC)
Received: by mail-lb0-f177.google.com with SMTP id 10so9430335lbf.36
        for <filtered@awaresystems.be>; Thu, 13 Jun 2013 09:07:08 -0700 (PDT)
X-Received: by 10.112.181.2 with SMTP id ds2mr1673123lbc.0.1371139628314;
        Thu, 13 Jun 2013 09:07:08 -0700 (PDT)
X-Forwarded-To: filtered@awaresystems.be
X-Forwarded-For: awaresystems.be@gmail.com filtered@awaresystems.be
Delivered-To: awaresystems.be@gmail.com
Received: by 10.114.62.81 with SMTP id w17csp33254ldr;
        Thu, 13 Jun 2013 09:07:07 -0700 (PDT)
X-Received: by 10.152.87.81 with SMTP id v17mr825679laz.1.1371139626852;
        Thu, 13 Jun 2013 09:07:06 -0700 (PDT)
DomainKey-Status: bad format
Received-SPF: neutral (google.com: 91.198.169.55 is neither permitted nor denied by best guess record for domain of tiff-bounces@lists.maptools.org) client-ip=91.198.169.55;
Received: by 10.112.31.101 with POP3 id z5mf5102473lbh.1;
        Thu, 13 Jun 2013 09:07:06 -0700 (PDT)
X-Gmail-Fetch-Info: info@awaresystems.be 1 pop.awaresystems.be 110 info@awaresystems.be
Delivered-To: info@awaresystems.be
Received: from mx-h.one.com (mx-h.one.com [91.198.169.55])
	by mail6.local (Postfix) with ESMTP id 171DD8014FAE4
	for <info@awaresystems.be>; Thu, 13 Jun 2013 17:55:06 +0200 (CEST)
X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "MIME-Version"
X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0-rc2
Received: from lists.maptools.org (ks365428.kimsufi.com [94.23.4.142])
	by mx-h.one.com (Postfix) with ESMTP id CF4AA4FE397
	for <info@awaresystems.be>; Thu, 13 Jun 2013 15:55:05 +0000 (UTC)
Received: from [10.1.0.241] (localhost.localdomain [127.0.0.1])
	by lists.maptools.org (Postfix) with ESMTP id CA86835C051;
	Thu, 13 Jun 2013 10:54:22 -0500 (EST)
Received: from mail-ie0-f175.google.com (mail-ie0-f175.google.com
	[209.85.223.175])
	by lists.maptools.org (Postfix) with ESMTPS id DEB8735C02C
	for <tiff@lists.maptools.org>; Thu, 13 Jun 2013 10:52:47 -0500 (EST)
Received: by mail-ie0-f175.google.com with SMTP id a13so13781708iee.34
	for <tiff@lists.maptools.org>; Thu, 13 Jun 2013 08:52:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=google.com; s=20120113;
	h=mime-version:sender:x-originating-ip:date:x-google-sender-auth
	:message-id:subject:from:to:cc:content-type:x-gm-message-state;
	bh=a8fc00GYZpggccDb8RZLvkjOmOBWPsz7SUEPAvDotx0=;
	b=XEp5NUztjg7CU2qKm7dU3AZLdCuJZhcufThNcMxpvFntng7mU6AALQYtKShXowjRGz
	a9FXXidLFqB9DUHFhR628fHwrQuoWj1IWGbDssI2BB6t2OLOt85/+8igrARERnfVY3Um
	zHTmQUC1L0MhsJlw4xLJ8ZGbvnkkreTT5mGCkkCMHuxCxBPhvx+30hhYZccNXWgFaMKR
	h5WsfS/b3dmHBH3S5WnGwSw85iBryX3+aDb3WZV7OFNT6SIjeXx0iGmlkTZtF1x79vmI
	zySL/J+F1rpZ3xLTr88NGhy3K3aB5hSLbH2HJbPhLbDG7J3Sli8FFTqbS4fYmwGDEs5O
	Egpw==
MIME-Version: 1.0
X-Received: by 10.50.25.102 with SMTP id b6mr5853774igg.27.1371138765991; Thu,
	13 Jun 2013 08:52:45 -0700 (PDT)
Received: by 10.64.51.134 with HTTP; Thu, 13 Jun 2013 08:52:45 -0700 (PDT)
X-Originating-IP: [65.215.8.99]
Date: Thu, 13 Jun 2013 11:52:45 -0400
X-Google-Sender-Auth: DnUoxa3knnX2kJfONasuIcSc1Tc
Message-ID: <CA+JK5sqSc6zn5vSGc9egNVTePfQ=mDrCJfSOkJb2CYBJ55rrzw@mail.gmail.com>
From: Douglas Peterson <dep@digitaltransitions.com>
To: tiff@lists.maptools.org
X-Gm-Message-State: ALoCoQlForNfivs0lEUzTVZE7/zwyCAYPs9OdomxlaqIxWba2kV9jfkLY/jqOmBgZeUA+Fu1svBw
Cc: Peter Siegel <pes@digitaltransitions.com>
Subject: [Tiff] TIFF Specification Allowance for Multi-Page vs. Reduced Res
	2nd IFD
X-BeenThere: tiff@lists.maptools.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: TIFF and libtiff discussion <tiff.lists.maptools.org>
List-Unsubscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=unsubscribe>
List-Archive: <http://lists.maptools.org/mailman/private/tiff>
List-Post: <mailto:tiff@lists.maptools.org>
List-Help: <mailto:tiff-request@lists.maptools.org?subject=help>
List-Subscribe: <http://lists.maptools.org/mailman/listinfo/tiff>,
	<mailto:tiff-request@lists.maptools.org?subject=subscribe>
Content-Type: multipart/mixed; boundary="===============0959600680=="
Mime-version: 1.0
Sender: tiff-bounces@lists.maptools.org
Errors-To: tiff-bounces@lists.maptools.org

--===============0959600680==
Content-Type: multipart/alternative; boundary=047d7bd768bc15cbfa04df0b1fe9

--047d7bd768bc15cbfa04df0b1fe9
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

*Background About Me*
I have put considerable effort into understanding the proper structure for
TIFFs. I've read an Intro to TIFF
Creation<http://paulbourke.net/dataformats/tiff/> and
the NewSubFileType<http://www.awaresystems.be/imaging/tiff/tifftags/newsubf=
iletype.html>spec
and learned to read hex (at an intro level). I have JHOVE and MAC OSX
TiffUtil at my disposal. I say all this not to brag (as I'm sure I'm one of
the least knowledgable members of this mailing list) but only to explain
that I have tried very hard to resolve this issue on my own before
appealing for help from this community.


*The Problem*
Our company is having a problem with several software packages reading our
TIFFs as multi-page documents. That is, upon import/ingestion the software
treats the two image IFDs in the TIFF as separate images that should both
be imported.

Using JHOVE and TiffUtil I see our TIFFs create two IFDs (plus an EXIF IFD
which is presumably not important to this discussion). IFD#0 is the primary
image at full resolution. IFD#1 is a thumbnail of the primary image.

We want to continue to provide TIFFs with the IFD that contains a thumbnail
as some users may have incorporated the thumbnails into their workflows.
But we do not want these other programs to see the TIFFs as multi-page
documents.

Exploring the structure of the TIFFs we are creating I cannot see anything
wrong. IFD#1 is, as far as I can see, set to [Bit 0 =3D True][Bit 1 =3D
False][Bit 2 =3D False][all other bits =3D False]. Which according to the s=
pec
should mean this IFD should be considered [reduced-resolution version of
another image in this TIFF file] and not [single page of a multi-page
image].


*My Questions for the Community*
1) Can you please verify that our TIFF is following the specification
regarding tagging IFDs representing thumbnails of the primary image?
2) Can anyone clarify what the resulting JHOVE/TiffUtil/Hex would be in the
following cases:
--- Bit 0 is set to 1 and bit 1 is set to 1
--- Bit 0 is set to 0 and bit 1 is set to 1
--- Bit 0 is set to 1 and bit 1 is set to 0
--- Bit 0 is set to 0 and bit 1 is set to 0
3) Is there any consensus on why the specification is written as a series
of bit flags (which allows in theory for a given IFD to be flagged as both
a multipage document and a reduced resolution version of the primary image?
4) What programs/workflows, that might be in use by our customers, require
the IFD with the thumbnail? Put differently, what might "break" if we elect
to not include this thumbnail IFD, resulting in a file with only one image
IFD (the primary image)?

The second question is to further my understanding of how the flag bits
work and to add additional verification that we are "doing it right"
already.


*Download of small TIFF (referenced in rest of email):*
https://www.dropbox.com/s/x00zamfho852s04/smalltiff.tif
This file is produced by cropping the on screen image before processing.
The thumbnail IFD therefore is the same pixel dimensions as the primary
image.


*Download of full sized TIF*
https://www.dropbox.com/s/waoi7kz3bpfo24s/1_120ASPH_f8_2871ppi_99eff.tif
This is a normal (very large) output from our system. The thumbnail IFD is
160px long by 107px wide.


*Relevant Section from a hexdump:*
0039130 01 00 00 00 69 87 04 00 0b 00 fe 00 04 00 01 00
0039140 00 00 01 00 00 00 00 01 03 00 01 00 00 00 3b 00
0039150 00 00 01 01 03 00 01 00 00 00 3b 00 00 00 02 01
0039160 03 00 03 00 00 00 8e ba 03 00 03 01 03 00 01 00

*My notes*
00 fe =3D 254 =3D Tag for SubFileType
00 04 =3D 4 =3D Long Int Data Type
00 01 =3D 1 =3D One Value
00 00 00 01 =3D 1 =3D bit 0 set to 1 =3D Reduced Resolution Image


*Relevant Section of Directory 1 in TiffUtil - dump:*
Directory 1: offset 233784 (0x39138) next 0 (0)
*SubFileType (254) LONG (4) 1<1>*
ImageWidth (256) SHORT (3) 1<59>
ImageLength (257) SHORT (3) 1<59>
BitsPerSample (258) SHORT (3) 3<8 8 8>
Compression (259) SHORT (3) 1<1>
Photometric (262) SHORT (3) 1<2>
StripOffsets (273) LONG (4) 1<233922>
SamplesPerPixel (277) SHORT (3) 1<3>
RowsPerStrip (278) SHORT (3) 1<59>
StripByteCounts (279) LONG (4) 1<10443>
PlanarConfig (284) SHORT (3) 1<1>


*Relevant Section of TiffUtil -verboseinfo:*
Directory at 0x39138
*  Subfile Type: reduced-resolution image (1 =3D 0x1)*
  Image Width: 59 Image Length: 59
  Bits/Sample: 8
  Compression Scheme: none
  Photometric Interpretation: RGB color
  Samples/Pixel: 3
  Rows/Strip: 46
  Number of Strips: 2
  Strips (Offset, ByteCount):
     233922, 8142
     242064, 2301
  Planar Configuration: Not planar

*Relevant Section of JHOVE:*
Download screen grab (125kb) here:
https://www.dropbox.com/s/5xa9biufpdhj1eg/JHOVE-smalltif.tif

Text Summary: "IFD: Offset 233784, Type TIFF, Entries...
NewSubfileType... *Reduced-Resolution
Image of Another Image in this File*"




--=20

Doug Peterson
Digital Transitions

*Sales **=95** Rentals **=95** Training **=95** Support*
Phase One | Mamiya Leaf | Profoto | Eizo | Arca Swiss | Cambo

*Website <http://www.digitaltransitions.com/> **=95**
Blog<http://www.digitaltransitions.com/blog/dt-blog>
 =95 RSS <http://www.digitaltransitions.com/rss.php> **=95**
FaceBook<http://www.facebook.com/pages/Digital-Transitions/45031551988>
** **=95** **Rental
Request<http://www.digitaltransitions.com/contact/rental-request>
**

*
Cell     740.707.2183
Office  212.529.6825 x235
Fax     212.504.2713

--047d7bd768bc15cbfa04df0b1fe9
Content-Type: text/html; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div style><b><font size=3D"4">Background About Me</font><=
/b></div><div>I have put considerable effort into understanding the proper =
structure for TIFFs. I&#39;ve read an Intro to <a href=3D"http://paulbourke=
.net/dataformats/tiff/">TIFF Creation</a>=A0and the <a href=3D"http://www.a=
waresystems.be/imaging/tiff/tifftags/newsubfiletype.html">NewSubFileType</a=
> spec and learned to read hex (at an intro level). I have JHOVE and MAC OS=
X TiffUtil at my disposal. I say all this not to brag (as I&#39;m sure I&#3=
9;m one of the least knowledgable members of this mailing list) but only to=
 explain that I have tried very hard to resolve this issue on my own before=
 appealing for help from this community.</div>
<div><br></div><div><br></div><div style><b><font size=3D"4">The Problem</f=
ont></b></div><div>Our company is having a problem with several software pa=
ckages reading our TIFFs as multi-page documents. That is, upon import/inge=
stion the software treats the two image IFDs in the TIFF as separate images=
 that should both be imported.</div>
<div><br></div><div style>Using JHOVE and TiffUtil I see our TIFFs create t=
wo IFDs (plus an EXIF IFD which is presumably not important to this discuss=
ion). IFD#0 is the primary image at full resolution. IFD#1 is a thumbnail o=
f the primary image.</div>
<div><br></div><div>We want to continue to provide TIFFs with the IFD that =
contains a thumbnail as some users may have incorporated the thumbnails int=
o their workflows. But we do not want these other programs to see the TIFFs=
 as multi-page documents.=A0</div>
<div><br></div><div style>Exploring the structure of the TIFFs we are creat=
ing I cannot see anything wrong. IFD#1 is, as far as I can see, set to [Bit=
 0 =3D True][Bit 1 =3D False][Bit 2 =3D False][all other bits =3D False]. W=
hich according to the spec should mean this IFD should be considered [reduc=
ed-resolution version of another image in this TIFF file] and not [single p=
age of a multi-page image].</div>
<div style><br></div><div style><br></div><div style><font size=3D"4"><b>My=
 Questions for the Community</b></font></div><div style>1) Can you please v=
erify that our TIFF is following the specification regarding tagging IFDs r=
epresenting thumbnails of the primary image?</div>
<div style>2) Can anyone clarify what the resulting JHOVE/TiffUtil/Hex woul=
d be in the following cases:</div><div style>--- Bit 0 is set to 1 and bit =
1 is set to 1</div><div style>--- Bit 0 is set to 0 and bit 1 is set to 1</=
div>
<div style>--- Bit 0 is set to 1 and bit 1 is set to 0</div><div style><div=
>--- Bit 0 is set to 0 and bit 1 is set to 0</div><div style>3) Is there an=
y consensus on why the specification is written as a series of bit flags (w=
hich allows in theory for a given IFD to be flagged as both a multipage doc=
ument and a reduced resolution version of the primary image?</div>
<div style>4) What programs/workflows, that might be in use by our customer=
s, require the IFD with the thumbnail? Put differently, what might &quot;br=
eak&quot; if we elect to not include this thumbnail IFD, resulting in a fil=
e with only one image IFD (the primary image)?</div>
<div><br></div><div style>The second question is to further my understandin=
g of how the flag bits work and to add=A0additional=A0verification that we =
are &quot;doing it right&quot; already.</div></div><div><br></div><div><br>
</div><div style><font size=3D"4"><b>Download of small TIFF (referenced in =
rest of email):</b></font></div><div style><a href=3D"https://www.dropbox.c=
om/s/x00zamfho852s04/smalltiff.tif">https://www.dropbox.com/s/x00zamfho852s=
04/smalltiff.tif</a><br>
</div><div style>This file is produced by cropping the on screen image befo=
re processing. The thumbnail IFD therefore is the same pixel dimensions as =
the primary image.</div><div style><br></div><div style><br></div><div styl=
e>
<font size=3D"4"><b>Download of full sized TIF</b></font></div><div style><=
a href=3D"https://www.dropbox.com/s/waoi7kz3bpfo24s/1_120ASPH_f8_2871ppi_99=
eff.tif">https://www.dropbox.com/s/waoi7kz3bpfo24s/1_120ASPH_f8_2871ppi_99e=
ff.tif</a></div>
<div>This is a normal (very large) output from our system. The thumbnail IF=
D is 160px long by 107px wide.<br></div><div><br></div><div><br></div><div =
style><b><font size=3D"4">Relevant Section from a hexdump:</font></b></div>
<div><div>0039130 01 00 00 00 69 87 04 00 0b <span style=3D"background-colo=
r:rgb(234,153,153)">00 fe</span>=A0<span style=3D"background-color:rgb(249,=
203,156)">00 04</span> <span style=3D"background-color:rgb(217,234,211)">00=
 01</span> <span style=3D"background-color:rgb(159,197,232)">00</span></div=
>
<div>0039140 <span style=3D"background-color:rgb(159,197,232)">00 00 01</sp=
an> 00 00 00 00 01 03 00 01 00 00 00 3b 00</div><div>0039150 00 00 01 01 03=
 00 01 00 00 00 3b 00 00 00 02 01</div><div>0039160 03 00 03 00 00 00 8e ba=
 03 00 03 01 03 00 01 00</div>
<div><br></div><div style><i>My notes</i></div><div><span style=3D"backgrou=
nd-color:rgb(234,153,153)">00 fe =3D 254 =3D Tag for SubFileType</span><br>=
</div><div style><span style=3D"background-color:rgb(249,203,156)">00 04 =
=3D 4 =3D Long Int Data Type</span></div>
<div style><span style=3D"background-color:rgb(182,215,168)">00 01 =3D 1 =
=3D One Value</span></div><div style><span style=3D"background-color:rgb(15=
9,197,232)">00 00 00 01 =3D 1 =3D bit 0 set to 1 =3D Reduced Resolution Ima=
ge</span></div>
<div><br></div><div><br></div><div style><b><font size=3D"4">Relevant Secti=
on of Directory 1 in TiffUtil - dump:</font></b></div><div style><div>Direc=
tory 1: offset 233784 (0x39138) next 0 (0)</div><div><b>SubFileType (254) L=
ONG (4) 1&lt;1&gt;</b></div>
<div>ImageWidth (256) SHORT (3) 1&lt;59&gt;</div><div>ImageLength (257) SHO=
RT (3) 1&lt;59&gt;</div><div>BitsPerSample (258) SHORT (3) 3&lt;8 8 8&gt;</=
div><div>Compression (259) SHORT (3) 1&lt;1&gt;</div><div>Photometric (262)=
 SHORT (3) 1&lt;2&gt;</div>
<div>StripOffsets (273) LONG (4) 1&lt;233922&gt;</div><div>SamplesPerPixel =
(277) SHORT (3) 1&lt;3&gt;</div><div>RowsPerStrip (278) SHORT (3) 1&lt;59&g=
t;</div><div>StripByteCounts (279) LONG (4) 1&lt;10443&gt;</div><div>Planar=
Config (284) SHORT (3) 1&lt;1&gt;</div>
</div><div><br></div><div><br></div><div style><font size=3D"4"><b>Relevant=
 Section of TiffUtil -verboseinfo:</b></font></div><div style><div>Director=
y at 0x39138</div><div><b>=A0 Subfile Type: reduced-resolution image (1 =3D=
 0x1)</b></div>
<div>=A0 Image Width: 59 Image Length: 59</div><div>=A0 Bits/Sample: 8</div=
><div>=A0 Compression Scheme: none</div><div>=A0 Photometric Interpretation=
: RGB color</div><div>=A0 Samples/Pixel: 3</div><div>=A0 Rows/Strip: 46</di=
v><div>=A0 Number of Strips: 2</div>
<div>=A0 Strips (Offset, ByteCount):</div><div>=A0 =A0 =A0233922, 8142</div=
><div>=A0 =A0 =A0242064, 2301</div><div>=A0 Planar Configuration: Not plana=
r</div><div><br></div><div style><font size=3D"4"><b>Relevant Section of JH=
OVE:</b></font></div>
<div style>Download screen grab (125kb) here:</div><div style><a href=3D"ht=
tps://www.dropbox.com/s/5xa9biufpdhj1eg/JHOVE-smalltif.tif">https://www.dro=
pbox.com/s/5xa9biufpdhj1eg/JHOVE-smalltif.tif</a><br></div><div style><br>
</div><div style>Text Summary: &quot;IFD: Offset 233784, Type TIFF, Entries=
... NewSubfileType... <b>Reduced-Resolution Image of Another Image in this =
File</b>&quot;</div></div><div><div style><br></div><div style><br></div>
<div style><br></div><div><br></div>-- <br><br><div>Doug Peterson</div><div=
>Digital Transitions</div><div><font size=3D"1"><div><br></div><div><b>Sale=
s=A0</b><b><font color=3D"#999999">=95</font></b><b>=A0Rentals=A0</b><b><fo=
nt color=3D"#999999">=95</font></b><b>=A0Training=A0</b><b><font color=3D"#=
999999">=95</font></b><b>=A0Support</b></div>
<div>Phase One <font color=3D"#999999">|</font> Mamiya Leaf=A0<span style=
=3D"color:rgb(153,153,153)">|</span>=A0Profoto=A0<span style=3D"color:rgb(1=
53,153,153)">|</span>=A0Eizo=A0<span style=3D"color:rgb(153,153,153)">|</sp=
an>=A0Arca Swiss=A0<span style=3D"color:rgb(153,153,153)">|</span>=A0Cambo<=
/div>
</font></div><div><font size=3D"1"><br></font></div><div><div><font size=3D=
"1"><b><a href=3D"http://www.digitaltransitions.com/" target=3D"_blank">Web=
site</a>=A0</b></font><b style=3D"font-size:x-small"><font color=3D"#999999=
">=95</font></b><font size=3D"1"><b>=A0<a href=3D"http://www.digitaltransit=
ions.com/blog/dt-blog" target=3D"_blank">Blog</a>=A0<font color=3D"#999999"=
>=95</font>=A0<a href=3D"http://www.digitaltransitions.com/rss.php" target=
=3D"_blank">RSS</a>=A0</b></font><b style=3D"font-size:x-small"><font color=
=3D"#999999">=95</font></b><font size=3D"1"><b>=A0<a href=3D"http://www.fac=
ebook.com/pages/Digital-Transitions/45031551988" target=3D"_blank">FaceBook=
</a></b></font><font size=3D"1"><b>=A0</b></font><b style=3D"font-size:x-sm=
all"><font color=3D"#999999">=95</font></b><font size=3D"1"><b>=A0</b></fon=
t><font size=3D"1"><b><a href=3D"http://www.digitaltransitions.com/contact/=
rental-request" target=3D"_blank">Rental Request</a></b></font><font size=
=3D"1"><b><br>
<br></b></font></div></div><div><span style=3D"font-size:x-small">Cell =A0 =
=A0 740.707.2183</span></div><div><font size=3D"1">Office =A0212.529.6825 x=
235</font></div><div><font size=3D"1">Fax =A0 =A0 212.504.2713</font></div>
</div></div></div>

--047d7bd768bc15cbfa04df0b1fe9--

--===============0959600680==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Tiff mailing list: Tiff@lists.maptools.org
http://lists.maptools.org/mailman/listinfo/tiff
http://www.remotesensing.org/libtiff/
--===============0959600680==--
