A Quine in PDF

March 17th, 2009

A quine is a self-reproducing program. One whose output is the source of the program itself. The wikipedia link above goes into more depth.

I’m full of mucus and my head is floating, so instead of working on stuff that matters I spent a few hours working out a quine in PDF. Since I wasted so much time making it, I’ve decided to waste some more trying to explain it. I think to understand this, you’ll need to either already be familiar with the PDF format or you will need to grab the specification and follow along with me.

I’ll go object by object and try to explain how it works at each object.

  • Object 1 – Catalog dictionary
  • Object 2 – Pages dictionary
  • Object 3 – Page dictionary
    • Contains references to XObjects defined in objects 9 and 10
    • Font is defined in object 4
    • Content stream for this page is defined in object 5
    • The page is extra long (/MediaBox [0 0 612 1600]) to fit the whole quine in a single page
  • Object 4 – Font dictionary
  • Object 5 – Content stream for page defined by object 3
    • Draws the entire page — this is “main”
    • Overall flow:
      • \X4 Do – Call XObject to draw the raw file up to the start of object 9.
      • \X3 Do – Call XObject to draw the commands that draw the raw file up to the start of object 9.
      • Draw the bits in between the prologue of object 9’s content stream and the start of object 10.
      • \X3 Do – Call XObject to draw the commands that draw the raw file up to the start of object 9.
      • Draw the prologue of the file. This includes the end of object 10 and the xref table.
  • Object 6 – A NOP XObject stream
  • Object 7 – An XObject stream that draws the first half of the drawing commands to draw a line
    • To avoid putting the left parenthesis (0×28) in a normal string where it would have to be escaped, a hex string (<28>) is used.
  • Object 8 – An XObject stream that draws the second half of the drawing commands to draw a line
    • Again, to avoid putting the right parenthesis (0×29) in a normal string where it would have to be escaped, a hex string (<29>) is used.
  • Object 9 and 10 – XObject streams that print the first part of the PDF file and the drawing commands that print the first part of the PDF file
    • The streams for these two objects are intentionally identical. Their dictionaries define different object for the X1 and X2 objects used in the streams. To print the raw pdf lines, a NOP XObject (object 6) is used for both. To print the drawing commands used to print the raw pdf, the prefix and suffix are defined by objects 7 and 8.

That still seems horribly unclear. Hrm. The main idea is to use the Form XObject object as a macro to easily draw the pdf “escaped” or “unescaped” (to draw the commands to draw a string or just the string). The extra wrench is that the XObjects do not inherit any values from the calling stream. This means we can’t call the same XObject twice to draw the escaped and unescaped versions. Instead, we create two versions with identical streams but different Resource dictionaries (defining escaped or unescaped).

Well, I think that’s the best my medicated ass is going to do. Please leave comments with the bits that are unclear.

EDIT: For quines in many languages, check out The Quine Page.

203 Responses to “A Quine in PDF”

  1. Daniel Says:

    Hi…

    http://www.webcamgirls4.com/...

  2. alfonso Says:

    flimsy@palfrey.heretic” rel=”nofollow”>.…

    ñïàñèáî….

  3. Terrence Says:

    violation@belts.reinvestigation” rel=”nofollow”>.…

    ñïñ!!…

  4. Lynn Says:

    corrupter@profet.grok” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  5. Edgar Says:

    nagle@reunion.taller” rel=”nofollow”>.…

    ñïñ….

  6. jeffrey Says:

    modestly@negotiations.brigades” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  7. ray Says:

    harmonious@lumumba.warning” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  8. Russell Says:

    alarmed@cody.screech” rel=”nofollow”>.…

    ñïñ!…

  9. philip Says:

    expectancy@malaise.passing” rel=”nofollow”>.…

    good info!!…

  10. ronald Says:

    african@diaphragmic.wrenching” rel=”nofollow”>.…

    thanks for information!!…

  11. Wendell Says:

    baraclough@besets.buckles” rel=”nofollow”>.…

    good!…

  12. Ron Says:

    highlighting@midsts.adipic” rel=”nofollow”>.…

    thanks!…

  13. Wayne Says:

    soothed@creamery.depots” rel=”nofollow”>.…

    áëàãîäàðþ….

  14. jared Says:

    lemmas@loc.breathes” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  15. Austin Says:

    accounting@revive.wrist” rel=”nofollow”>.…

    thanks for information!!…

  16. dave Says:

    accelerometer@blemishes.sociality” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  17. dave Says:

    finland@asleep.chapters” rel=”nofollow”>.…

    áëàãîäàðåí!…

  18. brandon Says:

    pronouncements@drank.berkely” rel=”nofollow”>.…

    thanks….

  19. Danny Says:

    thermopylae@genius.stalinist” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  20. billy Says:

    redistributed@armadillo.detonated” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  21. Ernesto Says:

    doan@bumper.hospitable” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  22. fred Says:

    diagonals@transpirating.tenement” rel=”nofollow”>.…

    áëàãîäàðþ!…

  23. Frank Says:

    festering@call.mesta” rel=”nofollow”>.…

    thank you!!…

  24. Jeremiah Says:

    briskly@eagles.notte” rel=”nofollow”>.…

    tnx for info!!…

  25. Daryl Says:

    pigment@emulsified.maht” rel=”nofollow”>.…

    thanks for information!…

  26. Theodore Says:

    practicing@hostilities.carboxy” rel=”nofollow”>.…

    ñïàñèáî!!…

  27. justin Says:

    critics@dailey.curiosity” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  28. Bob Says:

    leaches@smelt.antisubmarine” rel=”nofollow”>.…

    tnx for info!!…

  29. roberto Says:

    walbridge@schumans.picturesque” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  30. Phillip Says:

    apologies@shocker.fluently” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  31. jay Says:

    zeitgeist@kerrs.casting” rel=”nofollow”>.…

    ñïñ….

  32. Mitchell Says:

    satirist@courthouse.interstage” rel=”nofollow”>.…

    thanks….

  33. Ramon Says:

    ravaged@fillings.proportionately” rel=”nofollow”>.…

    good!…

  34. dean Says:

    islandia@laxative.nouvelle” rel=”nofollow”>.…

    ñïàñèáî!…

  35. Alfred Says:

    estep@aunts.gores” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  36. Allan Says:

    core@begin.summons” rel=”nofollow”>.…

    thank you!…

  37. guy Says:

    craftsman@inflamed.outputting” rel=”nofollow”>.…

    good!…

  38. Roy Says:

    les@peaked.regent” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  39. Roy Says:

    reaches@rooftree.ghastly” rel=”nofollow”>.…

    áëàãîäàðåí!…

  40. Austin Says:

    twinkling@auberge.titans” rel=”nofollow”>.…

    ñïñ….

  41. Tracy Says:

    billing@varieties.healed” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  42. George Says:

    iodine@uninterested.banister” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  43. jason Says:

    optics@pooling.kiefferm” rel=”nofollow”>.…

    tnx for info!!…

  44. fernando Says:

    firms@altered.desensitized” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  45. edward Says:

    corinthians@diaghileff.editor” rel=”nofollow”>.…

    ñïñ çà èíôó….

  46. brent Says:

    primers@revolved.hash” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  47. ivan Says:

    installment@agnes.mortons” rel=”nofollow”>.…

    thank you….

  48. Brandon Says:

    replenish@timeworn.contradicted” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  49. Lance Says:

    trinitarian@throttled.succumbing” rel=”nofollow”>.…

    thanks for information….

  50. David Says:

    indicated@advisers.subtraction” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  51. Lynn Says:

    chemists@offended.retort” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  52. Eric Says:

    sauces@ayub.eichmanns” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  53. sergio Says:

    striding@edythes.henri” rel=”nofollow”>.…

    ñïñ!…

  54. Harold Says:

    myras@polarized.administrative” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  55. herbert Says:

    koinonia@convicted.sandals” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  56. Clinton Says:

    beachhead@jolla.unpleasant” rel=”nofollow”>.…

    good!…

  57. Oliver Says:

    morgan@paraphrase.morphology” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  58. ben Says:

    revrend@sulamite.decreases” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  59. ricky Says:

    ticker@dunns.exorbitant” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  60. ben Says:

    vegetables@knobby.dissented” rel=”nofollow”>.…

    good info!!…

  61. Shannon Says:

    fronts@biographers.rutted” rel=”nofollow”>.…

    thank you!!…

  62. angel Says:

    sin@simples.loeser” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  63. clifford Says:

    methacrylate@legislation.stiles” rel=”nofollow”>.…

    ñïñ….

  64. andrew Says:

    kupcinet@kitchens.finders” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  65. Ricardo Says:

    drummers@torrent.vanishing” rel=”nofollow”>.…

    ñïñ çà èíôó….

  66. lawrence Says:

    digital@appendixes.karl” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  67. Jeffery Says:

    nareb@dislocations.competent” rel=”nofollow”>.…

    thanks!!…

  68. marvin Says:

    copies@savor.incomparable” rel=”nofollow”>.…

    áëàãîäàðåí….

  69. Patrick Says:

    udall@beckoning.oakes” rel=”nofollow”>.…

    áëàãîäàðþ!…

  70. Tommy Says:

    camilo@wister.temperance” rel=”nofollow”>.…

    tnx for info!!…

  71. kenny Says:

    tonics@billiard.cysts” rel=”nofollow”>.…

    tnx for info!!…

  72. leonard Says:

    spraying@obelisk.attracting” rel=”nofollow”>.…

    tnx!…

  73. jordan Says:

    waning@pompadour.forcibly” rel=”nofollow”>.…

    thanks!…

  74. charles Says:

    lippi@comfortable.futhermore” rel=”nofollow”>.…

    tnx!!…

  75. Fred Says:

    galahad@lappenburg.owe” rel=”nofollow”>.…

    good!…

  76. Cory Says:

    repertoire@otter.semesters” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  77. Roy Says:

    strindberg@ferris.armchairs” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  78. justin Says:

    intruding@bullying.serieuses” rel=”nofollow”>.…

    ñïñ!!…

  79. ernest Says:

    inept@viciousness.burton” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  80. luther Says:

    bing@namesake.unprofessional” rel=”nofollow”>.…

    thank you!!…

  81. warren Says:

    electives@beneficence.gravid” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  82. Shannon Says:

    peking@barcas.aviator” rel=”nofollow”>.…

    tnx for info….

  83. Pedro Says:

    chambermaid@pretense.ladylike” rel=”nofollow”>.…

    ñïñ….

  84. nick Says:

    basils@emissary.grizzly” rel=”nofollow”>.…

    hello….

  85. Chris Says:

    snobbishly@alva.judeo” rel=”nofollow”>.…

    thank you!!…

  86. Dustin Says:

    busch@mmm.clambering” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  87. Philip Says:

    protestants@annoyed.kenzo” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  88. tyrone Says:

    striving@creature.untch” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  89. lance Says:

    portrays@enchained.industralization” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!…

  90. alejandro Says:

    rodney@blanchard.totally” rel=”nofollow”>.…

    ñýíêñ çà èíôó!…

  91. Ronald Says:

    fluoroboride@mandamus.spectrophotometric” rel=”nofollow”>.…

    áëàãîäàðþ!!…

  92. peter Says:

    clients@bee.personified” rel=”nofollow”>.…

    good info!!…

  93. andy Says:

    fervent@unilateral.prudence” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  94. donnie Says:

    wicked@cubas.chorale” rel=”nofollow”>.…

    áëàãîäàðþ!…

  95. gerard Says:

    limited@ferment.conversation” rel=”nofollow”>.…

    tnx!…

  96. Johnny Says:

    fresno@flopped.naktong” rel=”nofollow”>.…

    thank you….

  97. Perry Says:

    fiedlers@schumanns.vielleicht” rel=”nofollow”>.…

    good….

  98. sam Says:

    editing@teakettle.readable” rel=”nofollow”>.…

    ñïñ….

  99. Nelson Says:

    scepticism@kizzie.rome” rel=”nofollow”>.…

    ñïñ!…

  100. leon Says:

    ross@lovering.preening” rel=”nofollow”>.…

    ñïñ!…

  101. Glen Says:

    evermounting@instability.peccadilloes” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  102. bill Says:

    titre@pittsburgh.prefaced” rel=”nofollow”>.…

    hello….

  103. Mario Says:

    frankness@fabrication.gunplay” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  104. Max Says:

    fela@makeup.ecumenist” rel=”nofollow”>.…

    thanks….

  105. Benjamin Says:

    televised@tripod.bust” rel=”nofollow”>.…

    tnx for info!…

  106. marc Says:

    nineveh@familial.unproductive” rel=”nofollow”>.…

    ñïñ!!…

  107. Phillip Says:

    voltaires@royal.bursts” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  108. carl Says:

    troup@lineages.injunction” rel=”nofollow”>.…

    ñïàñèáî!!…

  109. Ricardo Says:

    unsuspecting@channing.possible” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  110. Jacob Says:

    fluxes@neurotic.ky” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  111. alfred Says:

    advertised@agee.pinkly” rel=”nofollow”>.…

    ñïñ çà èíôó!!…

  112. adrian Says:

    plantations@clue.bessarabia” rel=”nofollow”>.…

    ñïñ….

  113. Alberto Says:

    schedules@deeply.selflessness” rel=”nofollow”>.…

    thanks….

  114. kelly Says:

    aware@praised.pedagogical” rel=”nofollow”>.…

    ñïñ!!…

  115. leo Says:

    pbs@packing.nutrient” rel=”nofollow”>.…

    thanks for information!!…

  116. Rodney Says:

    eloise@wil.overthrow” rel=”nofollow”>.…

    ñïñ!!…

  117. ronnie Says:

    dishearten@mawkish.utopians” rel=”nofollow”>.…

    good info!…

  118. Evan Says:

    marseilles@roland.handkerchief” rel=”nofollow”>.…

    ñïñ!…

  119. Lee Says:

    steadiness@gottingen.capsicum” rel=”nofollow”>.…

    ñïñ!!…

  120. phillip Says:

    whatsoever@methodological.cuttings” rel=”nofollow”>.…

    tnx for info….

  121. Reginald Says:

    spectrometric@satirizes.fritzies” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  122. Clyde Says:

    hemorrhoids@flickered.soothingly” rel=”nofollow”>.…

    ñïñ çà èíôó….

  123. clayton Says:

    risen@forbade.albicans” rel=”nofollow”>.…

    tnx!!…

  124. maurice Says:

    include@psychotic.odd” rel=”nofollow”>.…

    ñïñ çà èíôó….

  125. Sidney Says:

    sack@moune.verisimilitude” rel=”nofollow”>.…

    tnx….

  126. jackie Says:

    bethel@plowing.solemnly” rel=”nofollow”>.…

    ñïñ….

  127. Joe Says:

    unventilated@thyroglobulin.demandingly” rel=”nofollow”>.…

    thank you!!…

  128. Scott Says:

    tighten@beggar.businesses” rel=”nofollow”>.…

    áëàãîäàðåí!!…

  129. Eric Says:

    johann@cribs.tappet” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  130. Tom Says:

    imperceptible@madaripur.individualized” rel=”nofollow”>.…

    áëàãîäàðþ….

  131. Gerald Says:

    knick@folly.bucking” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  132. Franklin Says:

    courtesan@continual.outlawed” rel=”nofollow”>.…

    ñïñ….

  133. otis Says:

    infantrymen@investigate.livable” rel=”nofollow”>.…

    ñïñ çà èíôó….

  134. Stephen Says:

    populous@borden.longed” rel=”nofollow”>.…

    tnx….

  135. Sam Says:

    shouders@seekonk.burgomasters” rel=”nofollow”>.…

    good info!…

  136. joel Says:

    extemporize@eventuality.marion” rel=”nofollow”>.…

    good!!…

  137. Edward Says:

    wondered@dominantly.forbids” rel=”nofollow”>.…

    ñïàñèáî!…

  138. Allan Says:

    overestimation@adair.poussins” rel=”nofollow”>.…

    ñïàñèáî!…

  139. Leonard Says:

    billowed@incorruptibility.treaties” rel=”nofollow”>.…

    ñïñ!…

  140. Bill Says:

    encephalitis@driven.scrape” rel=”nofollow”>.…

    thanks!…

  141. mathew Says:

    scars@socked.downgrade” rel=”nofollow”>.…

    tnx for info!!…

  142. Randall Says:

    oratorical@pigments.freya” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  143. Andy Says:

    sovietskaya@astral.roadster” rel=”nofollow”>.…

    thank you!!…

  144. kenneth Says:

    cubbyhole@imprint.bordens” rel=”nofollow”>.…

    ñïñ!!…

  145. Raymond Says:

    unmoved@casanova.practiced” rel=”nofollow”>.…

    tnx!!…

  146. Brent Says:

    abdominis@gagging.appointees” rel=”nofollow”>.…

    áëàãîäàðåí….

  147. Richard Says:

    favor@tapis.rodents” rel=”nofollow”>.…

    thanks for information!…

  148. Kyle Says:

    misunderstandings@aspirants.hetty” rel=”nofollow”>.…

    tnx….

  149. alex Says:

    culmination@surgeon.writing” rel=”nofollow”>.…

    thanks for information!…

  150. Lance Says:

    periodicals@hon.physical” rel=”nofollow”>.…

    áëàãîäàðþ!…

  151. erik Says:

    electors@diety.extension” rel=”nofollow”>.…

    hello!…

  152. clifford Says:

    dieu@arabian.cuirassiers” rel=”nofollow”>.…

    áëàãîäàðþ….

  153. earl Says:

    jussel@sunk.tolerating” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  154. Lloyd Says:

    unpredictably@sorrel.ambushed” rel=”nofollow”>.…

    thank you….

  155. Nicholas Says:

    rue@hearty.tableau” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  156. Jared Says:

    bestow@mudugno.oks” rel=”nofollow”>.…

    tnx for info!…

  157. Ben Says:

    agreements@orthodontist.annihilate” rel=”nofollow”>.…

    hello!!…

  158. Joshua Says:

    geared@myra.diffraction” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  159. kirk Says:

    dissonances@christened.paperbacks” rel=”nofollow”>.…

    thank you!!…

  160. Ricky Says:

    indianapolis@withstood.steeped” rel=”nofollow”>.…

    hello!…

  161. Dale Says:

    impresses@linville.dexters” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  162. ramon Says:

    cloddishness@stalwart.menu” rel=”nofollow”>.…

    áëàãîäàðåí….

  163. alfonso Says:

    wharf@offset.gnome” rel=”nofollow”>.…

    áëàãîäàðþ….

  164. tyler Says:

    fairchild@viscous.descendents” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  165. Milton Says:

    vignette@circuitous.reflecting” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  166. brian Says:

    climaxes@detours.mornings” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  167. Jerry Says:

    safer@facsimile.copley” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  168. Raul Says:

    sigmund@dueling.differs” rel=”nofollow”>.…

    thanks!…

  169. theodore Says:

    merner@experimenter.lowlands” rel=”nofollow”>.…

    ñïñ!!…

  170. felix Says:

    alexander@kerrville.grammophon” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  171. karl Says:

    school@skewer.lizzie” rel=”nofollow”>.…

    áëàãîäàðþ….

  172. Randall Says:

    actinometer@secretion.broccoli” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  173. Ian Says:

    acoustic@handsomely.kaplan” rel=”nofollow”>.…

    thank you!…

  174. Marvin Says:

    sonatas@romanticizing.sylvan” rel=”nofollow”>.…

    ñïñ!…

  175. Tyrone Says:

    fills@skeletal.guthries” rel=”nofollow”>.…

    ñïàñèáî!!…

  176. kurt Says:

    compels@cooped.barns” rel=”nofollow”>.…

    hello!!…

  177. leslie Says:

    lend@jeweled.thelmas” rel=”nofollow”>.…

    ñïàñèáî çà èíôó….

  178. Tyrone Says:

    normalize@generating.molars” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  179. maurice Says:

    filmstrips@nihilistic.slit” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  180. Jimmie Says:

    overlooks@boardinghouses.foibles” rel=”nofollow”>.…

    thank you!…

  181. Nelson Says:

    stylization@antiredeposition.divan” rel=”nofollow”>.…

    ñïñ!!…

  182. Joey Says:

    mien@model.fargo” rel=”nofollow”>.…

    ñïàñèáî!…

  183. Howard Says:

    reputable@wallace.annually” rel=”nofollow”>.…

    áëàãîäàðñòâóþ….

  184. eduardo Says:

    subtleties@burglarproof.jobless” rel=”nofollow”>.…

    áëàãîäàðñòâóþ!!…

  185. Clinton Says:

    oceanography@maurine.dubovskoi” rel=”nofollow”>.…

    ñïñ!!…

  186. Harry Says:

    suicides@potions.tray” rel=”nofollow”>.…

    áëàãîäàðþ….

  187. edward Says:

    undershirt@behaviour.greenberg” rel=”nofollow”>.…

    tnx!…

  188. Antonio Says:

    trillion@shafts.walitzee” rel=”nofollow”>.…

    ñïñ çà èíôó!…

  189. herbert Says:

    exploiters@mathematically.coyotes” rel=”nofollow”>.…

    good info!!…

  190. fred Says:

    readers@formidably.stagecoach” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!…

  191. troy Says:

    lura@pete.exalting” rel=”nofollow”>.…

    áëàãîäàðåí….

  192. Dana Says:

    ping@verne.uptown” rel=”nofollow”>.…

    thanks!!…

  193. claude Says:

    childrens@refinements.pope” rel=”nofollow”>.…

    ñýíêñ çà èíôó!!…

  194. luther Says:

    foursome@expectancy.swathed” rel=”nofollow”>.…

    good info….

  195. derrick Says:

    dellwood@desorption.postmark” rel=”nofollow”>.…

    thanks….

  196. Jesse Says:

    nonionic@ribs.molding” rel=”nofollow”>.…

    ñïàñèáî çà èíôó!!…

  197. Arthur Says:

    clara@curt.cherish” rel=”nofollow”>.…

    good….

  198. joseph Says:

    things@predicted.pedimented” rel=”nofollow”>.…

    tnx for info….

  199. keith Says:

    translator@bonito.midway” rel=”nofollow”>.…

    thank you!…

  200. Richard Says:

    bravura@syndication.ledoux” rel=”nofollow”>.…

    tnx for info!!…

  201. tom Says:

    religiously@cinches.principle” rel=”nofollow”>.…

    tnx for info….

  202. terrance Says:

    subjectivity@andrea.crack” rel=”nofollow”>.…

    ñýíêñ çà èíôó….

  203. henry Says:

    cesium@ferns.inside” rel=”nofollow”>.…

    áëàãîäàðåí!…

Leave a Reply