|  | // Copyright 2021 The PDFium Authors | 
|  | // Use of this source code is governed by a BSD-style license that can be | 
|  | // found in the LICENSE file. | 
|  |  | 
|  | // File for holding strings representing PDF templates that are used by fuzzers. | 
|  |  | 
|  | #ifndef TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ | 
|  | #define TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ | 
|  |  | 
|  | constexpr char kSimplePdfTemplate[] = R"(%PDF-1.7 | 
|  | 1 0 obj | 
|  | <</Type /Catalog /Pages 2 0 R /AcroForm <</XFA 30 0 R>> /NeedsRendering true>> | 
|  | endobj | 
|  | 2 0 obj | 
|  | <</Type /Pages /Kids [3 0 R] /Count 1>> | 
|  | endobj | 
|  | 3 0 obj | 
|  | <</Type /Page /Parent 2 0 R /MediaBox [0 0 3 3]>> | 
|  | endobj | 
|  | 30 0 obj | 
|  | <</Length $1>> | 
|  | stream | 
|  | $2 | 
|  | endstream | 
|  | endobj | 
|  | trailer | 
|  | <</Root 1 0 R /Size 31>> | 
|  | %%EOF)"; | 
|  |  | 
|  | // We define the bytes of the header explicitly to make the values more readable | 
|  | constexpr uint8_t kSimplePdfHeader[] = {0x25, 0x50, 0x44, 0x46, 0x2d, | 
|  | 0x31, 0x2e, 0x37, 0x0a, 0x25, | 
|  | 0xa0, 0xf2, 0xa4, 0xf4, 0x0a}; | 
|  |  | 
|  | constexpr char kCatalog[] = R""(<</AcroForm 2 0 R /Extensions | 
|  | <</ADBE <</BaseVersion /1.7 /ExtensionLevel 8>>>> /NeedsRendering true | 
|  | /Pages 3 0 R /Type /Catalog>>)""; | 
|  |  | 
|  | constexpr char kSimpleXfaObjWrapper[] = R""(<</XFA | 
|  | [(preamble) 5 0 R ($1) 6 0 R ($2) 7 0 R ($3) 8 0 R | 
|  | (postamble) 9 0 R]>>)""; | 
|  |  | 
|  | constexpr char kSimplePagesObj[] = "<</Count 1 /Kids [4 0 R] /Type /Pages>>"; | 
|  | constexpr char kSimplePageObj[] = | 
|  | "<</MediaBox [0 0 612 792] /Parent 3 0 R /Type /Page>>"; | 
|  | constexpr char kSimplePreamble[] = | 
|  | R""(<xdp:xdp xmlns:xdp="http://ns.adobe.com/xdp/" | 
|  | timeStamp="2021-12-14T14:14:14Z" | 
|  | uuid="11111111-1ab1-11b1-aa1a-1aaaaaaa11a1">)""; | 
|  | constexpr char kSimplePostamble[] = "</xdp:xdp>"; | 
|  |  | 
|  | #endif  // TESTING_FUZZERS_PDF_FUZZER_TEMPLATES_H_ |