@ -99,8 +99,6 @@ func (p *Printer) Print(raw bool, out io.Writer) error {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						} 
 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						imageconfigs  :=  res . Configs ( ) 
 
					 
					 
					 
						imageconfigs  :=  res . Configs ( ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						provenances  :=  res . Provenance ( ) 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						sboms  :=  res . SBOM ( ) 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						format  :=  tpl . Root . String ( ) 
 
					 
					 
					 
						format  :=  tpl . Root . String ( ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						var  mfst  interface { } 
 
					 
					 
					 
						var  mfst  interface { } 
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -142,44 +140,22 @@ func (p *Printer) Print(raw bool, out io.Writer) error {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							} 
 
					 
					 
					 
							} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						default : 
 
					 
					 
					 
						default : 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							if  len ( res . platforms )  >  1  { 
 
					 
					 
					 
							if  len ( res . platforms )  >  1  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								return  tpl . Execute ( out ,  struct  { 
 
					 
					 
					 
								return  tpl . Execute ( out ,  tplInputs { 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
									Name        string                      ` json:"name,omitempty" ` 
 
					 
					 
					 
									Name :      p . name , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
									Manifest    interface { }                 ` json:"manifest,omitempty" ` 
 
					 
					 
					 
									Manifest :  mfst , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
									Image       map [ string ] * ocispecs . Image  ` json:"image,omitempty" ` 
 
					 
					 
					 
									Image :     imageconfigs , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
									Provenance  map [ string ] provenanceStub   ` json:"Provenance,omitempty" ` 
 
					 
					 
					 
									result :    res , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
									SBOM        map [ string ] sbomStub         ` json:"SBOM,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								} { 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									Name :        p . name , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									Manifest :    mfst , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									Image :       imageconfigs , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									Provenance :  provenances , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
									SBOM :        sboms , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
								} ) 
 
					 
					 
					 
								} ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							} 
 
					 
					 
					 
							} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							var  ic  * ocispecs . Image 
 
					 
					 
					 
							var  ic  * ocispecs . Image 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							for  _ ,  v  :=  range  imageconfigs  { 
 
					 
					 
					 
							for  _ ,  v  :=  range  imageconfigs  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								ic  =  v 
 
					 
					 
					 
								ic  =  v 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							} 
 
					 
					 
					 
							} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							var  provenance  provenanceStub 
 
					 
					 
					 
							return  tpl . Execute ( out ,  tplInput { 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
							for  _ ,  v  :=  range  provenances  { 
 
					 
					 
					 
								Name :      p . name , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
								provenance  =  v 
 
					 
					 
					 
								Manifest :  mfst , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
							} 
 
					 
					 
					 
								Image :     ic , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
							var  sbom  sbomStub 
 
					 
					 
					 
								result :    res , 
 
				
			 
			
				
				
			
		
	
		
		
			
				
					
					 
					 
					 
							for  _ ,  v  :=  range  sboms  { 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								sbom  =  v 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							} 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							return  tpl . Execute ( out ,  struct  { 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Name        string           ` json:"name,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Manifest    interface { }      ` json:"manifest,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Image       * ocispecs . Image  ` json:"image,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Provenance  provenanceStub   ` json:"Provenance,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								SBOM        sbomStub         ` json:"SBOM,omitempty" ` 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
							} { 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Name :        p . name , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Manifest :    mfst , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Image :       ic , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								Provenance :  provenance , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
								SBOM :        sbom , 
 
					 
					 
					 
					 
				
			 
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 
					 
					 
							} ) 
 
					 
					 
					 
							} ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						} 
 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					
 
					 
					 
					 
					
 
				
			 
			
		
	
	
		
		
			
				
					
						
							
								 
							 
						
						
							
								 
							 
						
						
					 
					 
					@ -227,3 +203,43 @@ func (p *Printer) printManifestList(out io.Writer) error {
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						} 
 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
						return  w . Flush ( ) 
 
					 
					 
					 
						return  w . Flush ( ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					} 
 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					type  tplInput  struct  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Name      string           ` json:"name,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Manifest  interface { }      ` json:"manifest,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Image     * ocispecs . Image  ` json:"image,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						result  * result 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					func  ( inp  tplInput )  SBOM ( )  ( sbomStub ,  error )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						sbom  :=  inp . result . SBOM ( ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						for  _ ,  v  :=  range  sbom  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
							return  v ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						return  sbomStub { } ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					func  ( inp  tplInput )  Provenance ( )  ( provenanceStub ,  error )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						provenance  :=  inp . result . Provenance ( ) 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						for  _ ,  v  :=  range  provenance  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
							return  v ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						return  provenanceStub { } ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					type  tplInputs  struct  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Name      string                      ` json:"name,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Manifest  interface { }                 ` json:"manifest,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						Image     map [ string ] * ocispecs . Image  ` json:"image,omitempty" ` 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						result  * result 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					func  ( inp  tplInputs )  SBOM ( )  ( map [ string ] sbomStub ,  error )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						return  inp . result . SBOM ( ) ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					} 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					func  ( inp  tplInputs )  Provenance ( )  ( map [ string ] provenanceStub ,  error )  { 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
						return  inp . result . Provenance ( ) ,  nil 
 
				
			 
			
		
	
		
		
			
				
					
					 
					 
					 
					 
					 
					 
					 
					}