| // Package msguid provides functions to convert UUIDs/GUIDs to and from | 
 | // Microsoft's idiosyncratic "mixed-endian" format. | 
 | // See https://uefi.org/specs/UEFI/2.10/Apx_A_GUID_and_Time_Formats.html#text-representation-relationships-apxa-guid-and-time-formats | 
 | // for an explanation of the format. | 
 | package msguid | 
 |  | 
 | import "github.com/google/uuid" | 
 |  | 
 | var mixedEndianTranspose = []int{3, 2, 1, 0, 5, 4, 7, 6, 8, 9, 10, 11, 12, 13, 14, 15} | 
 |  | 
 | // From converts from a standard UUID into its mixed-endian encoding. | 
 | func From(u uuid.UUID) (o [16]byte) { | 
 | 	for dest, from := range mixedEndianTranspose { | 
 | 		o[dest] = u[from] | 
 | 	} | 
 | 	return | 
 | } | 
 |  | 
 | // To converts a mixed-endian-encoded UUID to its standard format. | 
 | func To(i [16]byte) (o uuid.UUID) { | 
 | 	for from, dest := range mixedEndianTranspose { | 
 | 		o[dest] = i[from] | 
 | 	} | 
 | 	return | 
 | } |