Cambodia’s Garment Industry: GIZ-Backed Traceability Pilots in Phnom Penh Factories
How international development partners and local factory groups are launching supply chain tracing programs in Cambodia's capital.
Cambodia’s Garment Industry: GIZ-Backed Traceability Pilots in Phnom Penh Factories
Pillar Introduction
The global sustainable fashion movement, commanding over 200,000 monthly searches, represents far more than consumer preference—it is the visible tip of a regulatory iceberg that is reshaping the entire textile supply chain. While consumers increasingly demand sustainable clothing brands and ethical fashion certifications, the infrastructure required to verify claims such as organic cotton origin remains fragmented, opaque, and vulnerable to greenwashing. The fashion industry generates an estimated 92 million tonnes of textile waste annually and accounts for approximately 10% of global carbon emissions, yet fewer than 1% of garments are recycled into new clothing. This disconnect between consumer intent and supply chain reality is precisely where Digital Product Passports (DPPs) enter as the technical enforcement mechanism.
Cambodia, the world’s sixth-largest garment exporter with over 700 factories employing approximately 800,000 workers, finds itself at a critical inflection point. The Garment Manufacturers Association in Cambodia (GMAC), in partnership with GIZ Cambodia, has launched targeted traceability pilots in Phnom Penh factories that directly address the EU’s Ecodesign for Sustainable Products Regulation (ESPR) and the French AGEC Law. These pilots are not theoretical exercises—they represent the first systematic attempt to integrate worker-voice credentials, environmental impact data, and production traceability into a unified digital framework within the Cambodian manufacturing context. For brands importing from Cambodia, validated worker-voice credentials and environmental data are no longer optional; they are becoming prerequisites for market access and regulatory compliance.
The Regulatory Framework & Macroeconomic Landscape
The regulatory pressure on Cambodia’s garment sector is multi-jurisdictional and accelerating. The European Union’s ESPR, adopted in March 2022 and entering full force by 2025-2027, mandates that all products placed on the EU market must have a Digital Product Passport containing data on durability, reparability, recycled content, and supply chain traceability. Annexes I and II of the ESPR specifically address textiles, requiring disclosure of manufacturing location, fiber composition, and environmental footprint data calculated according to Product Environmental Footprint Category Rules (PEFCR).
France’s AGEC Law (Anti-Waste for a Circular Economy), particularly Article 13, already requires textile importers to demonstrate traceability of waste streams and recycling pathways. The German Supply Chain Due Diligence Act (LkSG), effective January 2023, imposes civil liability on companies for human rights and environmental violations in their supply chains, with penalties of up to 2% of annual global turnover. The United States’ Uyghur Forced Labor Prevention Act (UFLPA) creates a presumption of forced labor for goods originating from certain regions, placing the burden of proof on importers to demonstrate clean supply chains through traceability documentation.
For Cambodia specifically, the EU’s Generalized Scheme of Preferences (GSP) withdrawal in August 2020 over human rights concerns has already demonstrated the economic consequences of non-compliance. The EU remains Cambodia’s largest export market for garments, accounting for approximately 30% of total garment exports valued at over $3 billion annually. The European Commission’s proposed Corporate Sustainability Due Diligence Directive (CSDDD) will extend liability to parent companies for environmental and human rights impacts throughout their value chains.
The timeline is unforgiving: by 2025, DPP requirements for textiles will be mandatory in the EU. By 2026, the ESPR’s digital passport requirements will extend to all textile products. By 2027, full enforcement with market surveillance and penalties will be operational. Cambodian manufacturers who fail to implement traceability systems by these deadlines face exclusion from the EU market, while early adopters gain preferential access and premium pricing.
Deep Supply Chain Execution & Exporter Challenges
The GIZ-backed pilots in Phnom Penh factories represent a pragmatic response to these regulatory pressures, but the execution challenges are formidable. Cambodia’s garment manufacturing ecosystem is characterized by high labor intensity, limited automation, and significant infrastructure constraints. The pilots, conducted in partnership with GMAC and selected factories in the Phnom Penh Special Economic Zone, focus on three critical integration points: worker-voice data collection, environmental monitoring, and production traceability.
Factory Floor Adjustments and Technological Setup
The pilots deploy a layered technology stack that integrates with existing Manufacturing Execution Systems (MES) rather than requiring wholesale replacement. Factories are retrofitting production lines with RFID readers at critical control points—fabric receipt, cutting, sewing, finishing, and packing. Each garment receives a passive UHF RFID tag encoded with a GS1 Digital Link URI that resolves to a DPP hosted on a decentralized data platform. The tag printing and encoding process uses industrial-grade RFID printers (Zebra ZT600 series) that can encode and verify tags at rates exceeding 1,000 units per hour.
The worker-voice component is arguably the most innovative and challenging. Rather than relying solely on management-reported data, the pilots integrate anonymous worker feedback collected through mobile-based surveys deployed via QR codes on factory notice boards and break room screens. Workers scan QR codes using their personal smartphones, responding to standardized questions about working hours, wage timeliness, safety conditions, and freedom of association. This data is hashed and stored on a permissioned blockchain (Hyperledger Fabric) with zero-knowledge proofs that verify authenticity without exposing individual worker identities.
Environmental Data Collection Constraints
Cambodia’s energy grid reliability poses significant challenges for environmental footprint calculations. The national grid experiences an average of 15-20 outages per month, forcing factories to rely on diesel generators that dramatically increase carbon intensity. The pilots address this by installing IoT-enabled energy meters (Siemens 7KM PAC3200) that measure actual energy consumption at the machine level, distinguishing between grid electricity and generator power. Wastewater testing follows ISO 17025 standards, with samples collected at treatment plant outflows and tested for pH, BOD, COD, heavy metals, and azo dyes.
The informal labor sector, particularly in subcontracting and home-based work, remains a blind spot. Cambodia’s garment industry includes an estimated 15-20% of production that flows through informal channels, where traceability is virtually nonexistent. The pilots are testing a subcontractor registration system that requires all downstream partners to register with GMAC and submit to random audits, with non-compliance resulting in exclusion from the traceability program.
Regional Comparison and Local Specificity
Unlike Bangladesh’s BGMEA, which has focused on factory safety post-Rana Plaza, or Vietnam’s VITAS, which emphasizes chemical management under ZDHC, Cambodia’s approach under GMAC prioritizes labor rights verification as the primary differentiator. This reflects the country’s unique position: Cambodia has the highest unionization rate in Southeast Asia’s garment sector (approximately 30% of workers), and the EU’s GSP withdrawal was explicitly linked to labor rights violations. The pilots therefore integrate International Labour Organization (ILO) Better Work Cambodia data as a validation layer, cross-referencing factory-level audit results with worker-voice data.
Sri Lanka’s JAAF has pioneered blockchain-based cotton traceability for the EU market, while Turkey’s ITHIB has developed a national DPP platform for textile exports. Cambodia’s approach is more modest but potentially more scalable: rather than building a national platform from scratch, GMAC is creating an interoperability layer that allows existing factory MES systems to export standardized DPP data through API gateways.
Data Specifications & Testing Benchmarks
The following table maps the critical data fields required for DPP compliance, their corresponding test methods, and the validation roles within the Cambodian context:
| Data Field | Test Method / Standard | Validation Role | Cambodian Implementation |
|---|---|---|---|
| Fiber composition | ISO 1833:2020 (Textiles - Quantitative chemical analysis) | Accredited third-party lab (e.g., Intertek Phnom Penh) | Monthly batch testing from fabric receipt |
| Country of origin | Customs documentation + factory production records | GMAC verification + blockchain timestamp | GS1 Digital Link embedded at cutting stage |
| Manufacturing location (GPS coordinates) | ISO 6709:2022 (Standard representation of geographic point location) | Factory registration + satellite imagery verification | RFID tag encodes factory ID linked to GMAC registry |
| Worker hours per garment | ILO Time Recording Standards + factory MES data | Worker-voice survey verification (zero-knowledge proofs) | QR code surveys deployed weekly; data hashed on Hyperledger |
| Energy consumption per unit | ISO 50001:2018 (Energy management systems) + ISO 14040 (LCA) | IoT meter data (Siemens PAC3200) + grid/generator split | Machine-level energy monitoring in pilot factories |
| Water consumption per unit | ISO 14046:2014 (Water footprint) + ISO 17025 for testing | Flow meters at each production stage | Sub-metering installed at dyeing and finishing stations |
| Wastewater quality | ISO 4484:2023 (Textiles - Microplastics) + national effluent standards | ISO 17025 accredited lab testing | Weekly sampling at treatment plant outflow |
| Chemical management | ZDHC MRSL v3.0 + ISO 17025 for testing | Third-party audit + supplier declarations | Restricted substance list compliance verified quarterly |
| Recycled content | ISO 14021:2016 (Environmental labels and declarations) + GRS certification | Certification body audit (e.g., Textile Exchange) | Mass balance documentation from yarn suppliers |
| Worker freedom of association | ILO Convention 87 + 98 | Worker-voice surveys + union registration verification | Anonymous mobile surveys with zero-knowledge proofs |
| Waste management | EU Waste Framework Directive + national regulations | Waste manifest tracking + recycling partner certification | Digital waste tracking from factory to recycler |
| Carbon footprint | ISO 14067:2018 (Carbon footprint of products) + PEFCR | Lifecycle assessment by accredited consultant | Cradle-to-gate calculation using actual factory data |
Detailed Technical Architecture Block
Physical-Digital Scanning Loop Flowchart
+-------------------+ +-------------------+ +-------------------+
| FABRIC RECEIPT | | CUTTING FLOOR | | SEWING LINE |
| | | | | |
| RFID Tag applied |-----> | Tag read at cut |-----> | Tag read at seam |
| to fabric roll | | station | | station |
| | | | | |
| Data: Supplier, | | Data: Cut plan, | | Data: Operator ID,|
| fiber type, | | waste % | | stitch type, time |
| lot number | | | | |
+-------------------+ +-------------------+ +-------------------+
| | |
v v v
+-------------------+ +-------------------+ +-------------------+
| FINISHING LINE | | QUALITY CONTROL | | PACKING STATION |
| | | | | |
| Tag read at |-----> | Tag read at |-----> | Final tag read |
| finishing station | | inspection point | | + DPP URL encode |
| | | | | |
| Data: Chemical | | Data: Defect rate,| | Data: Packing |
| treatments, | | rework % | | list, destination,|
| energy use | | | | shipping date |
+-------------------+ +-------------------+ +-------------------+
| | |
+---------------------------+---------------------------+
|
v
+-------------------------------------------------------------------+
| DATA AGGREGATION LAYER |
| |
| Factory MES (SAP/Infor) <---> API Gateway <---> GMAC DPP Hub |
| |
| Worker-Voice Data (Hyperledger) <---> Zero-Knowledge Proofs |
| |
| Environmental Sensors (IoT) <---> MQTT Broker <---> Time-Series |
| |
+-------------------------------------------------------------------+
|
v
+-------------------------------------------------------------------+
| DPP RESOLUTION LAYER |
| |
| GS1 Digital Link URI --> DNS Resolution --> DPP Hosting |
| |
| QR Code on Garment Label --> Consumer/Regulator Scan |
| |
| Returns: Verifiable Credential (VC) in JSON-LD format |
| |
+-------------------------------------------------------------------+
Technical Payload: Verifiable Credential JSON-LD
The following represents a realistic DPP Verifiable Credential payload for a garment produced in a Phnom Penh pilot factory, compliant with W3C Verifiable Credentials Data Model v2.0 and the EU DPP technical specification:
{
"@context": [
"https://www.w3.org/ns/credentials/v2",
"https://w3id.org/traceability/v1",
"https://schema.org/"
],
"id": "urn:uuid:3a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"type": ["VerifiableCredential", "DigitalProductPassport"],
"issuer": {
"id": "did:web:gmac-cambodia.org:factories:factory-042",
"name": "Phnom Penh Garment Manufacturing Co., Ltd.",
"location": {
"type": "Place",
"address": {
"streetAddress": "123 National Road 4",
"addressLocality": "Phnom Penh Special Economic Zone",
"addressCountry": "KH"
},
"geo": {
"latitude": 11.5564,
"longitude": 104.9282
}
}
},
"validFrom": "2024-11-01T00:00:00Z",
"validUntil": "2027-11-01T00:00:00Z",
"credentialSubject": {
"id": "urn:uuid:5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
"type": "Product",
"productId": {
"type": "Gtin",
"value": "08500012345678"
},
"productName": "Men's Cotton T-Shirt - Style MCT-2024",
"category": "Apparel",
"description": "Short-sleeve crew neck t-shirt, 100% organic cotton",
"manufacturingDetails": {
"manufacturer": {
"id": "did:web:gmac-cambodia.org:factories:factory-042",
"name": "Phnom Penh Garment Manufacturing Co., Ltd."
},
"manufacturingDate": "2024-10-15",
"productionBatch": "BATCH-PP-2024-10-15-042",
"factoryFloorData": {
"cuttingStationId": "CUT-03",
"sewingLineId": "LINE-07",
"operatorIds": ["OP-1024", "OP-1025", "OP-1026"],
"qualityControlId": "QC-015"
}
},
"materialComposition": [
{
"material": "Organic Cotton",
"percentage": 100,
"certification": {
"type": "GOTS",
"certificateId": "GOTS-2024-KH-0042",
"issuer": "Control Union Certifications"
},
"origin": {
"country": "KH",
"region": "Kampong Cham Province",
"supplier": "Cambodia Organic Cotton Cooperative"
}
}
],
"environmentalFootprint": {
"carbonFootprint": {
"value": 2.45,
"unit": "kg CO2e",
"methodology": "ISO 14067:2018",
"scope": "Cradle-to-gate",
"verification": {
"verifier": "SGS Cambodia",
"verificationDate": "2024-10-20",
"certificateId": "SGS-CF-2024-042"
}
},
"waterFootprint": {
"value": 1250,
"unit": "liters",
"methodology": "ISO 14046:2014"
},
"energyConsumption": {
"value": 3.8,
"unit": "kWh",
"gridPercentage": 72,
"generatorPercentage": 28
}
},
"socialCompliance": {
"workerVoiceData": {
"surveyPeriod": "2024-10-01 to 2024-10-31",
"responseCount": 245,
"satisfactionScore": 4.2,
"maxScore": 5,
"zeroKnowledgeProof": "zkp:sha256:7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e"
},
"iloBetterWorkAudit": {
"auditDate": "2024-09-15",
"complianceScore": 88,
"maxScore": 100,
"nonComplianceItems": [
{
"category": "Occupational Safety",
"severity": "Minor",
"status": "Remediated"
}
]
}
},
"circularity": {
"recycledContent": 0,
"recyclability": {
"percentage": 95,
"notes": "Mono-material construction enables mechanical recycling"
},
"durability": {
"expectedLifespan": "3 years",
"careInstructions": "Machine wash cold, tumble dry low"
},
"endOfLifeOptions": [
"Mechanical recycling",
"Downcycling to insulation",
"Take-back program available"
]
},
"traceability": {
"supplyChainEvents": [
{
"eventType": "FabricReceipt",
"timestamp": "2024-10-01T08:30:00Z",
"location": "Factory-042 Warehouse",
"supplier": "Cambodia Organic Cotton Cooperative"
},
{
"eventType": "Cutting",
"timestamp": "2024-10-05T09:15:00Z",
"location": "Cutting Station CUT-03",
"operator": "OP-1024"
},
{
"eventType": "Sewing",
"timestamp": "2024-10-08T10:00:00Z",
"location": "Sewing Line LINE-07",
"operators": ["OP-1025", "OP-1026"]
},
{
"eventType": "Finishing",
"timestamp": "2024-10-12T14:30:00Z",
"location": "Finishing Station FIN-02"
},
{
"eventType": "QualityControl",
"timestamp": "2024-10-13T11:00:00Z",
"location": "QC Station QC-015",
"result": "Passed"
},
{
"eventType": "Packing",
"timestamp": "2024-10-15T16:00:00Z",
"location": "Packing Station PKG-08",
"destination": "Rotterdam, Netherlands"
}
]
}
},
"proof": {
"type": "DataIntegrityProof",
"cryptosuite": "eddsa-2022",
"created": "2024-11-01T00:00:00Z",
"verificationMethod": "did:web:gmac-cambodia.org:factories:factory-042#key-1",
"proofPurpose": "assertionMethod",
"proofValue": "z3e2f1a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8