// !$*UTF8*$!
{
	archiveVersion = 1;
	classes = {
	};
	objectVersion = 46;
	objects = {

/* Begin PBXBuildFile section */
		081F00CA2918823200534A86 /* hpke.c in Sources */ = {isa = PBXBuildFile; fileRef = 081F00C92918823200534A86 /* hpke.c */; };
		08A835E22995E04100D872CE /* chacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 08A835E12995E04100D872CE /* chacha20poly1305.h */; };
		08A835E32995E04100D872CE /* chacha20poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = 08A835E12995E04100D872CE /* chacha20poly1305.h */; };
		08F0FDF62910F67A00EE657D /* hpke.c in Sources */ = {isa = PBXBuildFile; fileRef = 08F0FDF52910F67A00EE657D /* hpke.c */; };
		105900431DC8D57000FB4085 /* picotls.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530E91D9B7C13005B2C60 /* picotls.c */; };
		105900441DC8D57000FB4085 /* picotest.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530E31D9B4021005B2C60 /* picotest.c */; };
		1059004C1DC8D5B700FB4085 /* openssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530C51D9B1A98005B2C60 /* openssl.c */; };
		105900501DC8D64E00FB4085 /* minicrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059004F1DC8D64E00FB4085 /* minicrypto.h */; };
		105900611DC8DF8C00FB4085 /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059005F1DC8DE4400FB4085 /* sha256.c */; };
		105900641DC8DFA700FB4085 /* curve25519.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900391DC8D46A00FB4085 /* curve25519.c */; };
		105900691DC8DFDF00FB4085 /* blockwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900291DC8D39800FB4085 /* blockwise.c */; };
		1059006A1DC8DFE300FB4085 /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900651DC8DFD300FB4085 /* hmac.c */; };
		1059006F1DC8E00B00FB4085 /* chash.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059006B1DC8E00400FB4085 /* chash.c */; };
		105900761DC8E1A300FB4085 /* openssl.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530C21D9B004B005B2C60 /* openssl.c */; };
		1059008F1DC8E1FF00FB4085 /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900251DC8D37500FB4085 /* aes.h */; };
		105900911DC8E1FF00FB4085 /* bitops.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900281DC8D39800FB4085 /* bitops.h */; };
		105900921DC8E1FF00FB4085 /* blockwise.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059002A1DC8D39800FB4085 /* blockwise.h */; };
		105900941DC8E1FF00FB4085 /* chash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059006C1DC8E00400FB4085 /* chash.h */; };
		105900961DC8E1FF00FB4085 /* curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900361DC8D44E00FB4085 /* curve25519.h */; };
		105900991DC8E1FF00FB4085 /* cf_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900321DC8D41A00FB4085 /* cf_config.h */; };
		1059009A1DC8E1FF00FB4085 /* drbg.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900521DC8D79300FB4085 /* drbg.h */; };
		1059009C1DC8E1FF00FB4085 /* handy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059002B1DC8D39800FB4085 /* handy.h */; };
		1059009D1DC8E1FF00FB4085 /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900661DC8DFD300FB4085 /* hmac.h */; };
		1059009F1DC8E1FF00FB4085 /* sha2.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059005D1DC8DE3800FB4085 /* sha2.h */; };
		105900A11DC8E1FF00FB4085 /* tassert.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900301DC8D3DF00FB4085 /* tassert.h */; };
		105900A21DC8E20D00FB4085 /* openssl.h in Headers */ = {isa = PBXBuildFile; fileRef = 106530ED1D9CEFF7005B2C60 /* openssl.h */; };
		105900A41DC8E23B00FB4085 /* libpicotls-openssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1059008C1DC8E1A300FB4085 /* libpicotls-openssl.a */; };
		105900AE1DC941D700FB4085 /* gf128.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900AB1DC941D700FB4085 /* gf128.h */; };
		105900B21DC9438200FB4085 /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900B01DC9438200FB4085 /* modes.h */; };
		105900B31DC9439800FB4085 /* modes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AF1DC9438200FB4085 /* modes.c */; };
		105900B41DC943B500FB4085 /* gf128.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AA1DC941D700FB4085 /* gf128.c */; };
		105900B51DC943B900FB4085 /* gcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900A91DC941D700FB4085 /* gcm.c */; };
		105900B61DC943D400FB4085 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900241DC8D37500FB4085 /* aes.c */; };
		105900BE1DC96A3500FB4085 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BA1DC96A3500FB4085 /* types.h */; };
		105900BF1DC96A3500FB4085 /* uECC_vli.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BB1DC96A3500FB4085 /* uECC_vli.h */; };
		105900C11DC96A3500FB4085 /* uECC.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BD1DC96A3500FB4085 /* uECC.h */; };
		105900C41DC96B2200FB4085 /* uECC.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900BC1DC96A3500FB4085 /* uECC.c */; };
		105900C71DCBECD800FB4085 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900241DC8D37500FB4085 /* aes.c */; };
		105900C81DCBECDD00FB4085 /* blockwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900291DC8D39800FB4085 /* blockwise.c */; };
		105900C91DCBECE100FB4085 /* chash.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059006B1DC8E00400FB4085 /* chash.c */; };
		105900CA1DCBECE500FB4085 /* curve25519.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900391DC8D46A00FB4085 /* curve25519.c */; };
		105900CB1DCBECEA00FB4085 /* drbg.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900511DC8D79300FB4085 /* drbg.c */; };
		105900CC1DCBECF100FB4085 /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900651DC8DFD300FB4085 /* hmac.c */; };
		105900CD1DCBECF400FB4085 /* gcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900A91DC941D700FB4085 /* gcm.c */; };
		105900CE1DCBECF700FB4085 /* gf128.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AA1DC941D700FB4085 /* gf128.c */; };
		105900CF1DCBECFB00FB4085 /* modes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AF1DC9438200FB4085 /* modes.c */; };
		105900D01DCBECFE00FB4085 /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059005F1DC8DE4400FB4085 /* sha256.c */; };
		105900D11DCBED0600FB4085 /* cifra.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059003F1DC8D53200FB4085 /* cifra.c */; };
		105900D21DCBED0A00FB4085 /* uecc.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900C51DC9798800FB4085 /* uecc.c */; };
		105900D31DCBED1D00FB4085 /* uECC.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900BC1DC96A3500FB4085 /* uECC.c */; };
		106530E51D9B4021005B2C60 /* picotest.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530E31D9B4021005B2C60 /* picotest.c */; };
		106530EA1D9B7C13005B2C60 /* picotls.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530E91D9B7C13005B2C60 /* picotls.c */; };
		106530EB1D9B7C5C005B2C60 /* picotls.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530BF1D998641005B2C60 /* picotls.c */; };
		106530FF1DAD8A3C005B2C60 /* cli.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530FE1DAD8A3C005B2C60 /* cli.c */; };
		10EACAF01DCC843A00CA0341 /* drbg.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900511DC8D79300FB4085 /* drbg.c */; };
		10EACAF31DCEAF0F00CA0341 /* uECC.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900BC1DC96A3500FB4085 /* uECC.c */; };
		10EACAF41DCEAF0F00CA0341 /* uecc.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900C51DC9798800FB4085 /* uecc.c */; };
		10EACAF51DCEAF0F00CA0341 /* gf128.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AA1DC941D700FB4085 /* gf128.c */; };
		10EACAF61DCEAF0F00CA0341 /* gcm.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900A91DC941D700FB4085 /* gcm.c */; };
		10EACAF71DCEAF0F00CA0341 /* sha256.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059005F1DC8DE4400FB4085 /* sha256.c */; };
		10EACAF81DCEAF0F00CA0341 /* aes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900241DC8D37500FB4085 /* aes.c */; };
		10EACAF91DCEAF0F00CA0341 /* modes.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900AF1DC9438200FB4085 /* modes.c */; };
		10EACAFB1DCEAF0F00CA0341 /* chash.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059006B1DC8E00400FB4085 /* chash.c */; };
		10EACAFC1DCEAF0F00CA0341 /* curve25519.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900391DC8D46A00FB4085 /* curve25519.c */; };
		10EACAFD1DCEAF0F00CA0341 /* hmac.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900651DC8DFD300FB4085 /* hmac.c */; };
		10EACAFE1DCEAF0F00CA0341 /* drbg.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900511DC8D79300FB4085 /* drbg.c */; };
		10EACAFF1DCEAF0F00CA0341 /* cifra.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059003F1DC8D53200FB4085 /* cifra.c */; };
		10EACB001DCEAF0F00CA0341 /* blockwise.c in Sources */ = {isa = PBXBuildFile; fileRef = 105900291DC8D39800FB4085 /* blockwise.c */; };
		10EACB031DCEAF0F00CA0341 /* blockwise.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059002A1DC8D39800FB4085 /* blockwise.h */; };
		10EACB041DCEAF0F00CA0341 /* types.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BA1DC96A3500FB4085 /* types.h */; };
		10EACB051DCEAF0F00CA0341 /* uECC_vli.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BB1DC96A3500FB4085 /* uECC_vli.h */; };
		10EACB061DCEAF0F00CA0341 /* modes.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900B01DC9438200FB4085 /* modes.h */; };
		10EACB071DCEAF0F00CA0341 /* bitops.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900281DC8D39800FB4085 /* bitops.h */; };
		10EACB081DCEAF0F00CA0341 /* cf_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900321DC8D41A00FB4085 /* cf_config.h */; };
		10EACB091DCEAF0F00CA0341 /* handy.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059002B1DC8D39800FB4085 /* handy.h */; };
		10EACB0A1DCEAF0F00CA0341 /* uECC.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900BD1DC96A3500FB4085 /* uECC.h */; };
		10EACB0B1DCEAF0F00CA0341 /* drbg.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900521DC8D79300FB4085 /* drbg.h */; };
		10EACB0C1DCEAF0F00CA0341 /* tassert.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900301DC8D3DF00FB4085 /* tassert.h */; };
		10EACB0D1DCEAF0F00CA0341 /* hmac.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900661DC8DFD300FB4085 /* hmac.h */; };
		10EACB0E1DCEAF0F00CA0341 /* chash.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059006C1DC8E00400FB4085 /* chash.h */; };
		10EACB0F1DCEAF0F00CA0341 /* sha2.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059005D1DC8DE3800FB4085 /* sha2.h */; };
		10EACB101DCEAF0F00CA0341 /* aes.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900251DC8D37500FB4085 /* aes.h */; };
		10EACB111DCEAF0F00CA0341 /* minicrypto.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059004F1DC8D64E00FB4085 /* minicrypto.h */; };
		10EACB121DCEAF0F00CA0341 /* gf128.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900AB1DC941D700FB4085 /* gf128.h */; };
		10EACB131DCEAF0F00CA0341 /* curve25519.h in Headers */ = {isa = PBXBuildFile; fileRef = 105900361DC8D44E00FB4085 /* curve25519.h */; };
		10EACB1A1DCEC2A300CA0341 /* libpicotls-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 106530DA1D9B3E6F005B2C60 /* libpicotls-core.a */; };
		E949EF282073629300511ECA /* minicrypto-pem.c in Sources */ = {isa = PBXBuildFile; fileRef = E949EF272073629300511ECA /* minicrypto-pem.c */; };
		E95E95382290456B00215ACD /* picotls-probes.d in Sources */ = {isa = PBXBuildFile; fileRef = E95EBCC0227B71170022C32D /* picotls-probes.d */; };
		E973651E246E37300039AA49 /* libpicotls-minicrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 10EACB171DCEAF0F00CA0341 /* libpicotls-minicrypto.a */; };
		E97577012212405300D1EF74 /* ffx.h in Headers */ = {isa = PBXBuildFile; fileRef = E97577002212405300D1EF74 /* ffx.h */; };
		E97577032212405D00D1EF74 /* ffx.c in Sources */ = {isa = PBXBuildFile; fileRef = E97577022212405D00D1EF74 /* ffx.c */; };
		E97577042212407900D1EF74 /* ffx.c in Sources */ = {isa = PBXBuildFile; fileRef = E97577022212405D00D1EF74 /* ffx.c */; };
		E97577052212407900D1EF74 /* ffx.c in Sources */ = {isa = PBXBuildFile; fileRef = E97577022212405D00D1EF74 /* ffx.c */; };
		E9925A122354C37500CA2082 /* picotls-probes.d in Sources */ = {isa = PBXBuildFile; fileRef = E95EBCC0227B71170022C32D /* picotls-probes.d */; };
		E9925A132354C37600CA2082 /* picotls-probes.d in Sources */ = {isa = PBXBuildFile; fileRef = E95EBCC0227B71170022C32D /* picotls-probes.d */; };
		E9925A142354C3CF00CA2082 /* aes128.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE222E34B340018D260 /* aes128.c */; };
		E9925A152354C3DC00CA2082 /* aes256.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE022E34B340018D260 /* aes256.c */; };
		E9925A162354C3DF00CA2082 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE422E34B340018D260 /* chacha20.c */; };
		E9925A172354C3E200CA2082 /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BF922E34C110018D260 /* random.c */; };
		E9925A182354C3E500CA2082 /* x25519.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE122E34B340018D260 /* x25519.c */; };
		E99B75E01F5CDDB500CF503E /* asn1.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DE1F5CDDB500CF503E /* asn1.c */; };
		E99B75E11F5CDDB500CF503E /* pembase64.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DF1F5CDDB500CF503E /* pembase64.c */; };
		E99B75E21F5CE54D00CF503E /* asn1.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DE1F5CDDB500CF503E /* asn1.c */; };
		E99B75E31F5CE54D00CF503E /* asn1.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DE1F5CDDB500CF503E /* asn1.c */; };
		E99B75E41F5CE64E00CF503E /* pembase64.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DF1F5CDDB500CF503E /* pembase64.c */; };
		E99B75E51F5CE64E00CF503E /* pembase64.c in Sources */ = {isa = PBXBuildFile; fileRef = E99B75DF1F5CDDB500CF503E /* pembase64.c */; };
		E9B43DC224619D5100824E51 /* picotls-probes.d in Sources */ = {isa = PBXBuildFile; fileRef = E95EBCC0227B71170022C32D /* picotls-probes.d */; };
		E9B43DC824619D5100824E51 /* picotest.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530E31D9B4021005B2C60 /* picotest.c */; };
		E9B43DE424619D7E00824E51 /* fusion.c in Sources */ = {isa = PBXBuildFile; fileRef = E9B43DE224619D7E00824E51 /* fusion.c */; };
		E9B43DE524619E1600824E51 /* minicrypto.c in Sources */ = {isa = PBXBuildFile; fileRef = 1059003D1DC8D4E300FB4085 /* minicrypto.c */; };
		E9B43E1024689FE700824E51 /* picotls.c in Sources */ = {isa = PBXBuildFile; fileRef = 106530BF1D998641005B2C60 /* picotls.c */; };
		E9BC76CF1EF3A35E00EB7A09 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76C61EF3A2F700EB7A09 /* chacha20.c */; };
		E9BC76D21EF3A36A00EB7A09 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76C61EF3A2F700EB7A09 /* chacha20.c */; };
		E9BC76D41EF3A37200EB7A09 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76C61EF3A2F700EB7A09 /* chacha20.c */; };
		E9BC76DD1EF3CCD100EB7A09 /* poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76D61EF3C1C200EB7A09 /* poly1305.c */; };
		E9BC76DE1EF3CCD100EB7A09 /* poly1305.h in Headers */ = {isa = PBXBuildFile; fileRef = E9BC76D71EF3C1C200EB7A09 /* poly1305.h */; };
		E9BC76DF1EF3CCD100EB7A09 /* salsa20.h in Headers */ = {isa = PBXBuildFile; fileRef = E9BC76CC1EF3A31000EB7A09 /* salsa20.h */; };
		E9BC76E01EF3CCDD00EB7A09 /* poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76D61EF3C1C200EB7A09 /* poly1305.c */; };
		E9BC76E11EF3CCDE00EB7A09 /* poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = E9BC76D61EF3C1C200EB7A09 /* poly1305.c */; };
		E9E4B12B2180530400514B47 /* certificate_compression.c in Sources */ = {isa = PBXBuildFile; fileRef = E9E4B12A2180530400514B47 /* certificate_compression.c */; };
		E9E865EB203BD46600E2FFCD /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = E9E865E9203BD45600E2FFCD /* sha512.c */; };
		E9E865EC203BD46600E2FFCD /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = E9E865E9203BD45600E2FFCD /* sha512.c */; };
		E9E865ED203BD46700E2FFCD /* sha512.c in Sources */ = {isa = PBXBuildFile; fileRef = E9E865E9203BD45600E2FFCD /* sha512.c */; };
		E9F20BEA22E34B3E0018D260 /* aes-common.h in Headers */ = {isa = PBXBuildFile; fileRef = E9F20BE322E34B340018D260 /* aes-common.h */; };
		E9F20BEB22E34B3E0018D260 /* aes128.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE222E34B340018D260 /* aes128.c */; };
		E9F20BEC22E34B3E0018D260 /* aes256.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE022E34B340018D260 /* aes256.c */; };
		E9F20BED22E34B3E0018D260 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE422E34B340018D260 /* chacha20.c */; };
		E9F20BEE22E34B3E0018D260 /* x25519.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE122E34B340018D260 /* x25519.c */; };
		E9F20BEF22E34B480018D260 /* aes128.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE222E34B340018D260 /* aes128.c */; };
		E9F20BF022E34B480018D260 /* aes256.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE022E34B340018D260 /* aes256.c */; };
		E9F20BF122E34B480018D260 /* chacha20.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE422E34B340018D260 /* chacha20.c */; };
		E9F20BF222E34B480018D260 /* x25519.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BE122E34B340018D260 /* x25519.c */; };
		E9F20BFB22E34C1B0018D260 /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BF922E34C110018D260 /* random.c */; };
		E9F20BFC22E34C1C0018D260 /* random.c in Sources */ = {isa = PBXBuildFile; fileRef = E9F20BF922E34C110018D260 /* random.c */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		105900A71DC8E2E100FB4085 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 106530AA1D9985E0005B2C60 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 105900701DC8E1A300FB4085;
			remoteInfo = "picotls-openssl";
		};
		10EACB181DCEAF4A00CA0341 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 106530AA1D9985E0005B2C60 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 106530D91D9B3E6F005B2C60;
			remoteInfo = "picotls-core";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		105900471DC8D57000FB4085 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		106530CA1D9B3D45005B2C60 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		106530F81DAD8985005B2C60 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
		E9B43DDD24619D5100824E51 /* CopyFiles */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = /usr/share/man/man1/;
			dstSubfolderSpec = 0;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 1;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		081F00C92918823200534A86 /* hpke.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hpke.c; sourceTree = "<group>"; };
		081F00CB291A357700534A86 /* ptlsbcrypt.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ptlsbcrypt.c; sourceTree = "<group>"; };
		081F00CC291A358800534A86 /* asn1.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = asn1.h; sourceTree = "<group>"; };
		081F00CD291A358800534A86 /* pembase64.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = pembase64.h; sourceTree = "<group>"; };
		081F00CE291A358800534A86 /* ptlsbcrypt.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ptlsbcrypt.h; sourceTree = "<group>"; };
		085BDAE52B1D618E002851EA /* libaegis.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = libaegis.c; sourceTree = "<group>"; };
		085BDAE62B1D6238002851EA /* libaegis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = libaegis.h; sourceTree = "<group>"; };
		087F1A732B034AEB00E81AC1 /* FindMbedTLS.cmake */ = {isa = PBXFileReference; lastKnownFileType = text; path = FindMbedTLS.cmake; sourceTree = "<group>"; };
		0883D3272AEF8F2500B711CC /* fusion.cmake */ = {isa = PBXFileReference; lastKnownFileType = text; path = fusion.cmake; sourceTree = "<group>"; };
		0883D32A2AF601A700B711CC /* mbedtls.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mbedtls.c; sourceTree = "<group>"; };
		0883D32B2AF601B900B711CC /* mbedtls.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = mbedtls.c; sourceTree = "<group>"; };
		0883D32C2AF601CB00B711CC /* mbedtls.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = mbedtls.h; sourceTree = "<group>"; };
		0883D32D2AF6020300B711CC /* ptlsbench.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = ptlsbench.c; sourceTree = "<group>"; };
		08A835E12995E04100D872CE /* chacha20poly1305.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = chacha20poly1305.h; sourceTree = "<group>"; };
		08A835EB2996971300D872CE /* boringssl-adjust.cmake */ = {isa = PBXFileReference; lastKnownFileType = text; path = "boringssl-adjust.cmake"; sourceTree = "<group>"; };
		08B3298229419DFC009D6766 /* ech-live.t */ = {isa = PBXFileReference; lastKnownFileType = text; path = "ech-live.t"; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.perl; };
		08F0FDF52910F67A00EE657D /* hpke.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = hpke.c; sourceTree = "<group>"; };
		105900241DC8D37500FB4085 /* aes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = aes.c; path = src/aes.c; sourceTree = "<group>"; };
		105900251DC8D37500FB4085 /* aes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = aes.h; path = src/aes.h; sourceTree = "<group>"; };
		105900281DC8D39800FB4085 /* bitops.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = bitops.h; path = src/bitops.h; sourceTree = "<group>"; };
		105900291DC8D39800FB4085 /* blockwise.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = blockwise.c; path = src/blockwise.c; sourceTree = "<group>"; };
		1059002A1DC8D39800FB4085 /* blockwise.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = blockwise.h; path = src/blockwise.h; sourceTree = "<group>"; };
		1059002B1DC8D39800FB4085 /* handy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = handy.h; path = src/ext/handy.h; sourceTree = "<group>"; };
		105900301DC8D3DF00FB4085 /* tassert.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = tassert.h; path = src/tassert.h; sourceTree = "<group>"; };
		105900321DC8D41A00FB4085 /* cf_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cf_config.h; path = src/cf_config.h; sourceTree = "<group>"; };
		105900361DC8D44E00FB4085 /* curve25519.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = curve25519.h; path = src/curve25519.h; sourceTree = "<group>"; };
		105900391DC8D46A00FB4085 /* curve25519.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = curve25519.c; path = src/curve25519.c; sourceTree = "<group>"; };
		1059003B1DC8D49E00FB4085 /* curve25519.tweetnacl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = curve25519.tweetnacl.c; path = src/curve25519.tweetnacl.c; sourceTree = "<group>"; };
		1059003D1DC8D4E300FB4085 /* minicrypto.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = minicrypto.c; sourceTree = "<group>"; };
		1059003F1DC8D53200FB4085 /* cifra.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cifra.c; sourceTree = "<group>"; };
		1059004B1DC8D57000FB4085 /* test-minicrypto */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "test-minicrypto"; sourceTree = BUILT_PRODUCTS_DIR; };
		1059004F1DC8D64E00FB4085 /* minicrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = minicrypto.h; sourceTree = "<group>"; };
		105900511DC8D79300FB4085 /* drbg.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = drbg.c; path = src/drbg.c; sourceTree = "<group>"; };
		105900521DC8D79300FB4085 /* drbg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = drbg.h; path = src/drbg.h; sourceTree = "<group>"; };
		1059005D1DC8DE3800FB4085 /* sha2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = sha2.h; path = src/sha2.h; sourceTree = "<group>"; };
		1059005F1DC8DE4400FB4085 /* sha256.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sha256.c; path = src/sha256.c; sourceTree = "<group>"; };
		105900651DC8DFD300FB4085 /* hmac.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = hmac.c; path = src/hmac.c; sourceTree = "<group>"; };
		105900661DC8DFD300FB4085 /* hmac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = hmac.h; path = src/hmac.h; sourceTree = "<group>"; };
		1059006B1DC8E00400FB4085 /* chash.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chash.c; path = src/chash.c; sourceTree = "<group>"; };
		1059006C1DC8E00400FB4085 /* chash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = chash.h; path = src/chash.h; sourceTree = "<group>"; };
		1059008C1DC8E1A300FB4085 /* libpicotls-openssl.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpicotls-openssl.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		105900A91DC941D700FB4085 /* gcm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gcm.c; path = src/gcm.c; sourceTree = "<group>"; };
		105900AA1DC941D700FB4085 /* gf128.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = gf128.c; path = src/gf128.c; sourceTree = "<group>"; };
		105900AB1DC941D700FB4085 /* gf128.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = gf128.h; path = src/gf128.h; sourceTree = "<group>"; };
		105900AF1DC9438200FB4085 /* modes.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = modes.c; path = src/modes.c; sourceTree = "<group>"; };
		105900B01DC9438200FB4085 /* modes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = modes.h; path = src/modes.h; sourceTree = "<group>"; };
		105900BA1DC96A3500FB4085 /* types.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = types.h; sourceTree = "<group>"; };
		105900BB1DC96A3500FB4085 /* uECC_vli.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uECC_vli.h; sourceTree = "<group>"; };
		105900BC1DC96A3500FB4085 /* uECC.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uECC.c; sourceTree = "<group>"; };
		105900BD1DC96A3500FB4085 /* uECC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = uECC.h; sourceTree = "<group>"; };
		105900C51DC9798800FB4085 /* uecc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = uecc.c; sourceTree = "<group>"; };
		106530BE1D99863B005B2C60 /* picotls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picotls.h; sourceTree = "<group>"; };
		106530BF1D998641005B2C60 /* picotls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picotls.c; sourceTree = "<group>"; };
		106530C21D9B004B005B2C60 /* openssl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = openssl.c; sourceTree = "<group>"; };
		106530C51D9B1A98005B2C60 /* openssl.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = openssl.c; sourceTree = "<group>"; };
		106530CC1D9B3D45005B2C60 /* test-openssl */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "test-openssl"; sourceTree = BUILT_PRODUCTS_DIR; };
		106530DA1D9B3E6F005B2C60 /* libpicotls-core.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpicotls-core.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		106530E31D9B4021005B2C60 /* picotest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picotest.c; sourceTree = "<group>"; };
		106530E41D9B4021005B2C60 /* picotest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = picotest.h; sourceTree = "<group>"; };
		106530E61D9B7AF6005B2C60 /* test.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = test.h; sourceTree = "<group>"; };
		106530E91D9B7C13005B2C60 /* picotls.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = picotls.c; sourceTree = "<group>"; };
		106530ED1D9CEFF7005B2C60 /* openssl.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = openssl.h; path = include/picotls/openssl.h; sourceTree = SOURCE_ROOT; };
		106530FC1DAD8985005B2C60 /* cli */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = cli; sourceTree = BUILT_PRODUCTS_DIR; };
		106530FE1DAD8A3C005B2C60 /* cli.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = cli.c; sourceTree = "<group>"; };
		10EACB171DCEAF0F00CA0341 /* libpicotls-minicrypto.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libpicotls-minicrypto.a"; sourceTree = BUILT_PRODUCTS_DIR; };
		E949EF272073629300511ECA /* minicrypto-pem.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = "minicrypto-pem.c"; sourceTree = "<group>"; };
		E95EBCC0227B71170022C32D /* picotls-probes.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = "picotls-probes.d"; sourceTree = "<group>"; };
		E95EBCC3227E82E00022C32D /* dump-github-repository.pl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = "dump-github-repository.pl"; sourceTree = "<group>"; };
		E95EBCC5227E82FF0022C32D /* bpftrace.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = bpftrace.d; sourceTree = "<group>"; };
		E95EBCC6227E82FF0022C32D /* dtrace.d */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.dtrace; path = dtrace.d; sourceTree = "<group>"; };
		E95EBCCA227EA0180022C32D /* dtrace-utils.cmake */ = {isa = PBXFileReference; lastKnownFileType = text; path = "dtrace-utils.cmake"; sourceTree = "<group>"; };
		E97577002212405300D1EF74 /* ffx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ffx.h; sourceTree = "<group>"; };
		E97577022212405D00D1EF74 /* ffx.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ffx.c; sourceTree = "<group>"; };
		E97577072213148800D1EF74 /* e2e.t */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = e2e.t; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.perl; };
		E99B75DE1F5CDDB500CF503E /* asn1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = asn1.c; sourceTree = "<group>"; };
		E99B75DF1F5CDDB500CF503E /* pembase64.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pembase64.c; sourceTree = "<group>"; };
		E9B43DBF24619D1700824E51 /* fusion.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = fusion.c; sourceTree = "<group>"; };
		E9B43DE124619D5100824E51 /* test-fusion */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "test-fusion"; sourceTree = BUILT_PRODUCTS_DIR; };
		E9B43DE224619D7E00824E51 /* fusion.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = fusion.c; sourceTree = "<group>"; };
		E9B43DE62461A06800824E51 /* fusion.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = fusion.h; sourceTree = "<group>"; };
		E9BC76C61EF3A2F700EB7A09 /* chacha20.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = chacha20.c; path = src/chacha20.c; sourceTree = "<group>"; };
		E9BC76CC1EF3A31000EB7A09 /* salsa20.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = salsa20.h; path = src/salsa20.h; sourceTree = "<group>"; };
		E9BC76D61EF3C1C200EB7A09 /* poly1305.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = poly1305.c; path = src/poly1305.c; sourceTree = "<group>"; };
		E9BC76D71EF3C1C200EB7A09 /* poly1305.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = poly1305.h; path = src/poly1305.h; sourceTree = "<group>"; };
		E9E3849C1F0748DD00D50990 /* util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = util.h; sourceTree = "<group>"; };
		E9E4B1292180514000514B47 /* certificate_compression.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = certificate_compression.h; sourceTree = "<group>"; };
		E9E4B12A2180530400514B47 /* certificate_compression.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = certificate_compression.c; sourceTree = "<group>"; };
		E9E4B12C2181927900514B47 /* CMakeLists.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = CMakeLists.txt; sourceTree = "<group>"; };
		E9E865E9203BD45600E2FFCD /* sha512.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = sha512.c; path = src/sha512.c; sourceTree = "<group>"; };
		E9F20BE022E34B340018D260 /* aes256.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes256.c; sourceTree = "<group>"; };
		E9F20BE122E34B340018D260 /* x25519.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = x25519.c; sourceTree = "<group>"; };
		E9F20BE222E34B340018D260 /* aes128.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aes128.c; sourceTree = "<group>"; };
		E9F20BE322E34B340018D260 /* aes-common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "aes-common.h"; sourceTree = "<group>"; };
		E9F20BE422E34B340018D260 /* chacha20.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = chacha20.c; sourceTree = "<group>"; };
		E9F20BF922E34C110018D260 /* random.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = random.c; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		105900461DC8D57000FB4085 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		1059007B1DC8E1A300FB4085 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530C91D9B3D45005B2C60 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530D71D9B3E6F005B2C60 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530F71DAD8985005B2C60 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				105900A41DC8E23B00FB4085 /* libpicotls-openssl.a in Frameworks */,
				10EACB1A1DCEC2A300CA0341 /* libpicotls-core.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		10EACB011DCEAF0F00CA0341 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E9B43DDC24619D5100824E51 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E973651E246E37300039AA49 /* libpicotls-minicrypto.a in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		105900231DC8D34400FB4085 /* cifra */ = {
			isa = PBXGroup;
			children = (
				105900251DC8D37500FB4085 /* aes.h */,
				105900241DC8D37500FB4085 /* aes.c */,
				105900281DC8D39800FB4085 /* bitops.h */,
				1059002A1DC8D39800FB4085 /* blockwise.h */,
				105900291DC8D39800FB4085 /* blockwise.c */,
				E9BC76C61EF3A2F700EB7A09 /* chacha20.c */,
				1059006C1DC8E00400FB4085 /* chash.h */,
				1059006B1DC8E00400FB4085 /* chash.c */,
				105900361DC8D44E00FB4085 /* curve25519.h */,
				105900391DC8D46A00FB4085 /* curve25519.c */,
				1059003B1DC8D49E00FB4085 /* curve25519.tweetnacl.c */,
				105900321DC8D41A00FB4085 /* cf_config.h */,
				105900521DC8D79300FB4085 /* drbg.h */,
				105900511DC8D79300FB4085 /* drbg.c */,
				1059002B1DC8D39800FB4085 /* handy.h */,
				105900661DC8DFD300FB4085 /* hmac.h */,
				105900651DC8DFD300FB4085 /* hmac.c */,
				105900A91DC941D700FB4085 /* gcm.c */,
				105900AB1DC941D700FB4085 /* gf128.h */,
				105900AA1DC941D700FB4085 /* gf128.c */,
				105900B01DC9438200FB4085 /* modes.h */,
				105900AF1DC9438200FB4085 /* modes.c */,
				E9BC76D71EF3C1C200EB7A09 /* poly1305.h */,
				E9BC76D61EF3C1C200EB7A09 /* poly1305.c */,
				E9BC76CC1EF3A31000EB7A09 /* salsa20.h */,
				1059005D1DC8DE3800FB4085 /* sha2.h */,
				1059005F1DC8DE4400FB4085 /* sha256.c */,
				E9E865E9203BD45600E2FFCD /* sha512.c */,
				105900301DC8D3DF00FB4085 /* tassert.h */,
			);
			path = cifra;
			sourceTree = "<group>";
		};
		105900B91DC96A1B00FB4085 /* micro-ecc */ = {
			isa = PBXGroup;
			children = (
				105900BA1DC96A3500FB4085 /* types.h */,
				105900BD1DC96A3500FB4085 /* uECC.h */,
				105900BB1DC96A3500FB4085 /* uECC_vli.h */,
				105900BC1DC96A3500FB4085 /* uECC.c */,
			);
			path = "micro-ecc";
			sourceTree = "<group>";
		};
		106530A91D9985E0005B2C60 = {
			isa = PBXGroup;
			children = (
				E95EBCC9227E9FF30022C32D /* cmake */,
				E9E4B12C2181927900514B47 /* CMakeLists.txt */,
				106530E11D9B4000005B2C60 /* deps */,
				106530BC1D998616005B2C60 /* include */,
				106530BD1D998624005B2C60 /* lib */,
				E95EBCC2227E82BA0022C32D /* misc */,
				E95EBCC0227B71170022C32D /* picotls-probes.d */,
				106530C41D9B1A0E005B2C60 /* t */,
				106530B31D9985E0005B2C60 /* Products */,
				E973651D246E37300039AA49 /* Frameworks */,
			);
			sourceTree = "<group>";
		};
		106530B31D9985E0005B2C60 /* Products */ = {
			isa = PBXGroup;
			children = (
				106530CC1D9B3D45005B2C60 /* test-openssl */,
				106530DA1D9B3E6F005B2C60 /* libpicotls-core.a */,
				106530FC1DAD8985005B2C60 /* cli */,
				1059004B1DC8D57000FB4085 /* test-minicrypto */,
				1059008C1DC8E1A300FB4085 /* libpicotls-openssl.a */,
				10EACB171DCEAF0F00CA0341 /* libpicotls-minicrypto.a */,
				E9B43DE124619D5100824E51 /* test-fusion */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		106530BC1D998616005B2C60 /* include */ = {
			isa = PBXGroup;
			children = (
				106530EE1D9E3476005B2C60 /* picotls */,
				106530BE1D99863B005B2C60 /* picotls.h */,
			);
			path = include;
			sourceTree = "<group>";
		};
		106530BD1D998624005B2C60 /* lib */ = {
			isa = PBXGroup;
			children = (
				E99B75DE1F5CDDB500CF503E /* asn1.c */,
				E9E4B12A2180530400514B47 /* certificate_compression.c */,
				E9F20BDF22E34B210018D260 /* cifra */,
				08A835E12995E04100D872CE /* chacha20poly1305.h */,
				1059003F1DC8D53200FB4085 /* cifra.c */,
				E97577022212405D00D1EF74 /* ffx.c */,
				E9B43DBF24619D1700824E51 /* fusion.c */,
				08F0FDF52910F67A00EE657D /* hpke.c */,
				085BDAE62B1D6238002851EA /* libaegis.h */,
				0883D32B2AF601B900B711CC /* mbedtls.c */,
				E949EF272073629300511ECA /* minicrypto-pem.c */,
				106530C21D9B004B005B2C60 /* openssl.c */,
				E99B75DF1F5CDDB500CF503E /* pembase64.c */,
				106530BF1D998641005B2C60 /* picotls.c */,
				081F00CB291A357700534A86 /* ptlsbcrypt.c */,
				105900C51DC9798800FB4085 /* uecc.c */,
			);
			path = lib;
			sourceTree = "<group>";
		};
		106530C41D9B1A0E005B2C60 /* t */ = {
			isa = PBXGroup;
			children = (
				106530FE1DAD8A3C005B2C60 /* cli.c */,
				E97577072213148800D1EF74 /* e2e.t */,
				08B3298229419DFC009D6766 /* ech-live.t */,
				E9B43DE224619D7E00824E51 /* fusion.c */,
				081F00C92918823200534A86 /* hpke.c */,
				0883D32A2AF601A700B711CC /* mbedtls.c */,
				1059003D1DC8D4E300FB4085 /* minicrypto.c */,
				106530C51D9B1A98005B2C60 /* openssl.c */,
				106530E91D9B7C13005B2C60 /* picotls.c */,
				0883D32D2AF6020300B711CC /* ptlsbench.c */,
				106530E61D9B7AF6005B2C60 /* test.h */,
				E9E3849C1F0748DD00D50990 /* util.h */,
			);
			path = t;
			sourceTree = "<group>";
		};
		106530E11D9B4000005B2C60 /* deps */ = {
			isa = PBXGroup;
			children = (
				105900B91DC96A1B00FB4085 /* micro-ecc */,
				105900231DC8D34400FB4085 /* cifra */,
				106530E21D9B4005005B2C60 /* picotest */,
			);
			path = deps;
			sourceTree = "<group>";
		};
		106530E21D9B4005005B2C60 /* picotest */ = {
			isa = PBXGroup;
			children = (
				106530E41D9B4021005B2C60 /* picotest.h */,
				106530E31D9B4021005B2C60 /* picotest.c */,
			);
			path = picotest;
			sourceTree = "<group>";
		};
		106530EE1D9E3476005B2C60 /* picotls */ = {
			isa = PBXGroup;
			children = (
				081F00CC291A358800534A86 /* asn1.h */,
				E9E4B1292180514000514B47 /* certificate_compression.h */,
				E97577002212405300D1EF74 /* ffx.h */,
				E9B43DE62461A06800824E51 /* fusion.h */,
				0883D32C2AF601CB00B711CC /* mbedtls.h */,
				1059004F1DC8D64E00FB4085 /* minicrypto.h */,
				106530ED1D9CEFF7005B2C60 /* openssl.h */,
				081F00CD291A358800534A86 /* pembase64.h */,
				081F00CE291A358800534A86 /* ptlsbcrypt.h */,
			);
			path = picotls;
			sourceTree = "<group>";
		};
		E95EBCC2227E82BA0022C32D /* misc */ = {
			isa = PBXGroup;
			children = (
				E95EBCC4227E82F20022C32D /* dtrace */,
				E95EBCC3227E82E00022C32D /* dump-github-repository.pl */,
			);
			path = misc;
			sourceTree = "<group>";
		};
		E95EBCC4227E82F20022C32D /* dtrace */ = {
			isa = PBXGroup;
			children = (
				E95EBCC5227E82FF0022C32D /* bpftrace.d */,
				E95EBCC6227E82FF0022C32D /* dtrace.d */,
			);
			path = dtrace;
			sourceTree = "<group>";
		};
		E95EBCC9227E9FF30022C32D /* cmake */ = {
			isa = PBXGroup;
			children = (
				08A835EB2996971300D872CE /* boringssl-adjust.cmake */,
				E95EBCCA227EA0180022C32D /* dtrace-utils.cmake */,
				087F1A732B034AEB00E81AC1 /* FindMbedTLS.cmake */,
				0883D3272AEF8F2500B711CC /* fusion.cmake */,
			);
			path = cmake;
			sourceTree = "<group>";
		};
		E973651D246E37300039AA49 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		E9F20BDF22E34B210018D260 /* cifra */ = {
			isa = PBXGroup;
			children = (
				E9F20BE322E34B340018D260 /* aes-common.h */,
				E9F20BE222E34B340018D260 /* aes128.c */,
				E9F20BE022E34B340018D260 /* aes256.c */,
				E9F20BE422E34B340018D260 /* chacha20.c */,
				085BDAE52B1D618E002851EA /* libaegis.c */,
				E9F20BF922E34C110018D260 /* random.c */,
				E9F20BE122E34B340018D260 /* x25519.c */,
			);
			path = cifra;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		1059007C1DC8E1A300FB4085 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				105900A21DC8E20D00FB4085 /* openssl.h in Headers */,
				08A835E32995E04100D872CE /* chacha20poly1305.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530D81D9B3E6F005B2C60 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				105900921DC8E1FF00FB4085 /* blockwise.h in Headers */,
				105900BE1DC96A3500FB4085 /* types.h in Headers */,
				105900BF1DC96A3500FB4085 /* uECC_vli.h in Headers */,
				105900B21DC9438200FB4085 /* modes.h in Headers */,
				105900911DC8E1FF00FB4085 /* bitops.h in Headers */,
				105900991DC8E1FF00FB4085 /* cf_config.h in Headers */,
				1059009C1DC8E1FF00FB4085 /* handy.h in Headers */,
				105900C11DC96A3500FB4085 /* uECC.h in Headers */,
				1059009A1DC8E1FF00FB4085 /* drbg.h in Headers */,
				105900A11DC8E1FF00FB4085 /* tassert.h in Headers */,
				1059009D1DC8E1FF00FB4085 /* hmac.h in Headers */,
				105900941DC8E1FF00FB4085 /* chash.h in Headers */,
				1059009F1DC8E1FF00FB4085 /* sha2.h in Headers */,
				1059008F1DC8E1FF00FB4085 /* aes.h in Headers */,
				105900501DC8D64E00FB4085 /* minicrypto.h in Headers */,
				E97577012212405300D1EF74 /* ffx.h in Headers */,
				105900AE1DC941D700FB4085 /* gf128.h in Headers */,
				105900961DC8E1FF00FB4085 /* curve25519.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		10EACB021DCEAF0F00CA0341 /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				10EACB031DCEAF0F00CA0341 /* blockwise.h in Headers */,
				10EACB041DCEAF0F00CA0341 /* types.h in Headers */,
				10EACB051DCEAF0F00CA0341 /* uECC_vli.h in Headers */,
				10EACB061DCEAF0F00CA0341 /* modes.h in Headers */,
				E9BC76DF1EF3CCD100EB7A09 /* salsa20.h in Headers */,
				10EACB071DCEAF0F00CA0341 /* bitops.h in Headers */,
				10EACB081DCEAF0F00CA0341 /* cf_config.h in Headers */,
				10EACB091DCEAF0F00CA0341 /* handy.h in Headers */,
				10EACB0A1DCEAF0F00CA0341 /* uECC.h in Headers */,
				E9F20BEA22E34B3E0018D260 /* aes-common.h in Headers */,
				10EACB0B1DCEAF0F00CA0341 /* drbg.h in Headers */,
				10EACB0C1DCEAF0F00CA0341 /* tassert.h in Headers */,
				10EACB0D1DCEAF0F00CA0341 /* hmac.h in Headers */,
				10EACB0E1DCEAF0F00CA0341 /* chash.h in Headers */,
				10EACB0F1DCEAF0F00CA0341 /* sha2.h in Headers */,
				E9BC76DE1EF3CCD100EB7A09 /* poly1305.h in Headers */,
				08A835E22995E04100D872CE /* chacha20poly1305.h in Headers */,
				10EACB101DCEAF0F00CA0341 /* aes.h in Headers */,
				10EACB111DCEAF0F00CA0341 /* minicrypto.h in Headers */,
				10EACB121DCEAF0F00CA0341 /* gf128.h in Headers */,
				10EACB131DCEAF0F00CA0341 /* curve25519.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		105900411DC8D57000FB4085 /* test-minicrypto */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 105900481DC8D57000FB4085 /* Build configuration list for PBXNativeTarget "test-minicrypto" */;
			buildPhases = (
				105900421DC8D57000FB4085 /* Sources */,
				105900461DC8D57000FB4085 /* Frameworks */,
				105900471DC8D57000FB4085 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "test-minicrypto";
			productName = "test-crypto-openssl";
			productReference = 1059004B1DC8D57000FB4085 /* test-minicrypto */;
			productType = "com.apple.product-type.tool";
		};
		105900701DC8E1A300FB4085 /* picotls-openssl */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 105900891DC8E1A300FB4085 /* Build configuration list for PBXNativeTarget "picotls-openssl" */;
			buildPhases = (
				105900711DC8E1A300FB4085 /* Sources */,
				1059007B1DC8E1A300FB4085 /* Frameworks */,
				1059007C1DC8E1A300FB4085 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "picotls-openssl";
			productName = picotls;
			productReference = 1059008C1DC8E1A300FB4085 /* libpicotls-openssl.a */;
			productType = "com.apple.product-type.library.static";
		};
		106530CB1D9B3D45005B2C60 /* test-openssl */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 106530D01D9B3D45005B2C60 /* Build configuration list for PBXNativeTarget "test-openssl" */;
			buildPhases = (
				106530C81D9B3D45005B2C60 /* Sources */,
				106530C91D9B3D45005B2C60 /* Frameworks */,
				106530CA1D9B3D45005B2C60 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "test-openssl";
			productName = "test-crypto-openssl";
			productReference = 106530CC1D9B3D45005B2C60 /* test-openssl */;
			productType = "com.apple.product-type.tool";
		};
		106530D91D9B3E6F005B2C60 /* picotls-core */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 106530DD1D9B3E6F005B2C60 /* Build configuration list for PBXNativeTarget "picotls-core" */;
			buildPhases = (
				106530D61D9B3E6F005B2C60 /* Sources */,
				106530D71D9B3E6F005B2C60 /* Frameworks */,
				106530D81D9B3E6F005B2C60 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "picotls-core";
			productName = picotls;
			productReference = 106530DA1D9B3E6F005B2C60 /* libpicotls-core.a */;
			productType = "com.apple.product-type.library.static";
		};
		106530F11DAD8985005B2C60 /* cli */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 106530F91DAD8985005B2C60 /* Build configuration list for PBXNativeTarget "cli" */;
			buildPhases = (
				106530F21DAD8985005B2C60 /* Sources */,
				106530F71DAD8985005B2C60 /* Frameworks */,
				106530F81DAD8985005B2C60 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				10EACB191DCEAF4A00CA0341 /* PBXTargetDependency */,
				105900A81DC8E2E100FB4085 /* PBXTargetDependency */,
			);
			name = cli;
			productName = "test-crypto-openssl";
			productReference = 106530FC1DAD8985005B2C60 /* cli */;
			productType = "com.apple.product-type.tool";
		};
		10EACAF11DCEAF0F00CA0341 /* picotls-minicrypto */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 10EACB141DCEAF0F00CA0341 /* Build configuration list for PBXNativeTarget "picotls-minicrypto" */;
			buildPhases = (
				10EACAF21DCEAF0F00CA0341 /* Sources */,
				10EACB011DCEAF0F00CA0341 /* Frameworks */,
				10EACB021DCEAF0F00CA0341 /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "picotls-minicrypto";
			productName = picotls;
			productReference = 10EACB171DCEAF0F00CA0341 /* libpicotls-minicrypto.a */;
			productType = "com.apple.product-type.library.static";
		};
		E9B43DC024619D5100824E51 /* test-fusion */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E9B43DDE24619D5100824E51 /* Build configuration list for PBXNativeTarget "test-fusion" */;
			buildPhases = (
				E9B43DC124619D5100824E51 /* Sources */,
				E9B43DDC24619D5100824E51 /* Frameworks */,
				E9B43DDD24619D5100824E51 /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
			);
			name = "test-fusion";
			productName = "test-crypto-openssl";
			productReference = E9B43DE124619D5100824E51 /* test-fusion */;
			productType = "com.apple.product-type.tool";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		106530AA1D9985E0005B2C60 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastUpgradeCheck = 1320;
				ORGANIZATIONNAME = "DeNA Co., Ltd.";
				TargetAttributes = {
					106530CB1D9B3D45005B2C60 = {
						CreatedOnToolsVersion = 7.3.1;
					};
					106530D91D9B3E6F005B2C60 = {
						CreatedOnToolsVersion = 7.3.1;
					};
				};
			};
			buildConfigurationList = 106530AD1D9985E0005B2C60 /* Build configuration list for PBXProject "picotls" */;
			compatibilityVersion = "Xcode 3.2";
			developmentRegion = English;
			hasScannedForEncodings = 0;
			knownRegions = (
				English,
				en,
			);
			mainGroup = 106530A91D9985E0005B2C60;
			productRefGroup = 106530B31D9985E0005B2C60 /* Products */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				106530D91D9B3E6F005B2C60 /* picotls-core */,
				10EACAF11DCEAF0F00CA0341 /* picotls-minicrypto */,
				105900701DC8E1A300FB4085 /* picotls-openssl */,
				106530F11DAD8985005B2C60 /* cli */,
				106530CB1D9B3D45005B2C60 /* test-openssl */,
				105900411DC8D57000FB4085 /* test-minicrypto */,
				E9B43DC024619D5100824E51 /* test-fusion */,
			);
		};
/* End PBXProject section */

/* Begin PBXSourcesBuildPhase section */
		105900421DC8D57000FB4085 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E9925A132354C37600CA2082 /* picotls-probes.d in Sources */,
				105900B61DC943D400FB4085 /* aes.c in Sources */,
				E99B75E51F5CE64E00CF503E /* pembase64.c in Sources */,
				E97577052212407900D1EF74 /* ffx.c in Sources */,
				105900431DC8D57000FB4085 /* picotls.c in Sources */,
				105900C41DC96B2200FB4085 /* uECC.c in Sources */,
				105900441DC8D57000FB4085 /* picotest.c in Sources */,
				E9B43DE524619E1600824E51 /* minicrypto.c in Sources */,
				105900611DC8DF8C00FB4085 /* sha256.c in Sources */,
				E9F20BF122E34B480018D260 /* chacha20.c in Sources */,
				E9BC76D21EF3A36A00EB7A09 /* chacha20.c in Sources */,
				E99B75E31F5CE54D00CF503E /* asn1.c in Sources */,
				E9E865ED203BD46700E2FFCD /* sha512.c in Sources */,
				E9F20BF022E34B480018D260 /* aes256.c in Sources */,
				E9F20BFC22E34C1C0018D260 /* random.c in Sources */,
				E9F20BEF22E34B480018D260 /* aes128.c in Sources */,
				10EACAF01DCC843A00CA0341 /* drbg.c in Sources */,
				E9F20BF222E34B480018D260 /* x25519.c in Sources */,
				E9BC76E11EF3CCDE00EB7A09 /* poly1305.c in Sources */,
				1059006A1DC8DFE300FB4085 /* hmac.c in Sources */,
				1059006F1DC8E00B00FB4085 /* chash.c in Sources */,
				105900B41DC943B500FB4085 /* gf128.c in Sources */,
				105900641DC8DFA700FB4085 /* curve25519.c in Sources */,
				105900B51DC943B900FB4085 /* gcm.c in Sources */,
				105900B31DC9439800FB4085 /* modes.c in Sources */,
				105900691DC8DFDF00FB4085 /* blockwise.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		105900711DC8E1A300FB4085 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				105900761DC8E1A300FB4085 /* openssl.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530C81D9B3D45005B2C60 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E97577042212407900D1EF74 /* ffx.c in Sources */,
				E9BC76E01EF3CCDD00EB7A09 /* poly1305.c in Sources */,
				105900CF1DCBECFB00FB4085 /* modes.c in Sources */,
				E9925A122354C37500CA2082 /* picotls-probes.d in Sources */,
				106530EA1D9B7C13005B2C60 /* picotls.c in Sources */,
				E9925A142354C3CF00CA2082 /* aes128.c in Sources */,
				105900CD1DCBECF400FB4085 /* gcm.c in Sources */,
				E9E865EC203BD46600E2FFCD /* sha512.c in Sources */,
				105900D01DCBECFE00FB4085 /* sha256.c in Sources */,
				1059004C1DC8D5B700FB4085 /* openssl.c in Sources */,
				105900D21DCBED0A00FB4085 /* uecc.c in Sources */,
				E9925A182354C3E500CA2082 /* x25519.c in Sources */,
				E99B75E21F5CE54D00CF503E /* asn1.c in Sources */,
				105900C81DCBECDD00FB4085 /* blockwise.c in Sources */,
				E9925A172354C3E200CA2082 /* random.c in Sources */,
				105900D31DCBED1D00FB4085 /* uECC.c in Sources */,
				105900C91DCBECE100FB4085 /* chash.c in Sources */,
				E9925A152354C3DC00CA2082 /* aes256.c in Sources */,
				106530E51D9B4021005B2C60 /* picotest.c in Sources */,
				105900C71DCBECD800FB4085 /* aes.c in Sources */,
				105900D11DCBED0600FB4085 /* cifra.c in Sources */,
				E9925A162354C3DF00CA2082 /* chacha20.c in Sources */,
				105900CE1DCBECF700FB4085 /* gf128.c in Sources */,
				105900CC1DCBECF100FB4085 /* hmac.c in Sources */,
				E9BC76D41EF3A37200EB7A09 /* chacha20.c in Sources */,
				081F00CA2918823200534A86 /* hpke.c in Sources */,
				105900CB1DCBECEA00FB4085 /* drbg.c in Sources */,
				105900CA1DCBECE500FB4085 /* curve25519.c in Sources */,
				E99B75E41F5CE64E00CF503E /* pembase64.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530D61D9B3E6F005B2C60 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E99B75E01F5CDDB500CF503E /* asn1.c in Sources */,
				E99B75E11F5CDDB500CF503E /* pembase64.c in Sources */,
				08F0FDF62910F67A00EE657D /* hpke.c in Sources */,
				E95E95382290456B00215ACD /* picotls-probes.d in Sources */,
				E97577032212405D00D1EF74 /* ffx.c in Sources */,
				106530EB1D9B7C5C005B2C60 /* picotls.c in Sources */,
				E9E4B12B2180530400514B47 /* certificate_compression.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		106530F21DAD8985005B2C60 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				106530FF1DAD8A3C005B2C60 /* cli.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		10EACAF21DCEAF0F00CA0341 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				10EACAF31DCEAF0F00CA0341 /* uECC.c in Sources */,
				10EACAF41DCEAF0F00CA0341 /* uecc.c in Sources */,
				E949EF282073629300511ECA /* minicrypto-pem.c in Sources */,
				10EACAF51DCEAF0F00CA0341 /* gf128.c in Sources */,
				10EACAF61DCEAF0F00CA0341 /* gcm.c in Sources */,
				E9F20BED22E34B3E0018D260 /* chacha20.c in Sources */,
				E9F20BFB22E34C1B0018D260 /* random.c in Sources */,
				E9F20BEC22E34B3E0018D260 /* aes256.c in Sources */,
				10EACAF71DCEAF0F00CA0341 /* sha256.c in Sources */,
				10EACAF81DCEAF0F00CA0341 /* aes.c in Sources */,
				E9BC76DD1EF3CCD100EB7A09 /* poly1305.c in Sources */,
				10EACAF91DCEAF0F00CA0341 /* modes.c in Sources */,
				E9BC76CF1EF3A35E00EB7A09 /* chacha20.c in Sources */,
				10EACAFB1DCEAF0F00CA0341 /* chash.c in Sources */,
				E9F20BEB22E34B3E0018D260 /* aes128.c in Sources */,
				10EACAFC1DCEAF0F00CA0341 /* curve25519.c in Sources */,
				10EACAFD1DCEAF0F00CA0341 /* hmac.c in Sources */,
				10EACAFE1DCEAF0F00CA0341 /* drbg.c in Sources */,
				E9E865EB203BD46600E2FFCD /* sha512.c in Sources */,
				E9F20BEE22E34B3E0018D260 /* x25519.c in Sources */,
				10EACAFF1DCEAF0F00CA0341 /* cifra.c in Sources */,
				10EACB001DCEAF0F00CA0341 /* blockwise.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		E9B43DC124619D5100824E51 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E9B43DC224619D5100824E51 /* picotls-probes.d in Sources */,
				E9B43E1024689FE700824E51 /* picotls.c in Sources */,
				E9B43DE424619D7E00824E51 /* fusion.c in Sources */,
				E9B43DC824619D5100824E51 /* picotest.c in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		105900A81DC8E2E100FB4085 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 105900701DC8E1A300FB4085 /* picotls-openssl */;
			targetProxy = 105900A71DC8E2E100FB4085 /* PBXContainerItemProxy */;
		};
		10EACB191DCEAF4A00CA0341 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 106530D91D9B3E6F005B2C60 /* picotls-core */;
			targetProxy = 10EACB181DCEAF4A00CA0341 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		105900491DC8D57000FB4085 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_LDFLAGS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		1059004A1DC8D57000FB4085 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_LDFLAGS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		1059008A1DC8E1A300FB4085 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/openssl/lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		1059008B1DC8E1A300FB4085 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/openssl/lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		106530B71D9985E0005B2C60 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "-";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = dwarf;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				ENABLE_TESTABILITY = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_OPTIMIZATION_LEVEL = 0;
				GCC_PREPROCESSOR_DEFINITIONS = (
					"DEBUG=1",
					"PICOTLS_USE_DTRACE=1",
					"$(inherited)",
				);
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = (
					include,
					/usr/local/include,
					/opt/homebrew/opt/brotli/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/brotli/lib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				MTL_ENABLE_DEBUG_INFO = YES;
				ONLY_ACTIVE_ARCH = YES;
				SDKROOT = macosx;
			};
			name = Debug;
		};
		106530B81D9985E0005B2C60 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				ALWAYS_SEARCH_USER_PATHS = NO;
				CLANG_ANALYZER_NONNULL = YES;
				CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
				CLANG_CXX_LIBRARY = "libc++";
				CLANG_ENABLE_MODULES = YES;
				CLANG_ENABLE_OBJC_ARC = YES;
				CLANG_WARN_BOOL_CONVERSION = YES;
				CLANG_WARN_CONSTANT_CONVERSION = YES;
				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
				CLANG_WARN_EMPTY_BODY = YES;
				CLANG_WARN_ENUM_CONVERSION = YES;
				CLANG_WARN_INFINITE_RECURSION = YES;
				CLANG_WARN_INT_CONVERSION = YES;
				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
				CLANG_WARN_SUSPICIOUS_MOVE = YES;
				CLANG_WARN_UNREACHABLE_CODE = YES;
				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
				CODE_SIGN_IDENTITY = "-";
				COPY_PHASE_STRIP = NO;
				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
				ENABLE_NS_ASSERTIONS = NO;
				ENABLE_STRICT_OBJC_MSGSEND = YES;
				GCC_C_LANGUAGE_STANDARD = gnu99;
				GCC_NO_COMMON_BLOCKS = YES;
				GCC_PREPROCESSOR_DEFINITIONS = "PICOTLS_USE_DTRACE=1";
				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
				GCC_WARN_UNDECLARED_SELECTOR = YES;
				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
				GCC_WARN_UNUSED_FUNCTION = YES;
				GCC_WARN_UNUSED_VARIABLE = YES;
				HEADER_SEARCH_PATHS = (
					include,
					/usr/local/include,
					/opt/homebrew/opt/brotli/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/brotli/lib;
				MACOSX_DEPLOYMENT_TARGET = 10.11;
				MTL_ENABLE_DEBUG_INFO = NO;
				SDKROOT = macosx;
			};
			name = Release;
		};
		106530D11D9B3D45005B2C60 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/openssl/lib;
				OTHER_LDFLAGS = "-lcrypto";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		106530D21D9B3D45005B2C60 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = /opt/homebrew/opt/openssl/lib;
				OTHER_LDFLAGS = "-lcrypto";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		106530DB1D9B3E6F005B2C60 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		106530DC1D9B3E6F005B2C60 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		106530FA1DAD8985005B2C60 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"PICOTLS_USE_BROTLI=1",
					"$(inherited)",
				);
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/lib,
				);
				OTHER_LDFLAGS = (
					"-lcrypto",
					"-lbrotlidec",
					"-lbrotlienc",
					"-lresolv",
				);
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		106530FB1DAD8985005B2C60 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = (
					"PICOTLS_USE_BROTLI=1",
					"$(inherited)",
				);
				HEADER_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/include,
				);
				LIBRARY_SEARCH_PATHS = (
					"$(inherited)",
					/opt/homebrew/opt/openssl/lib,
				);
				OTHER_LDFLAGS = (
					"-lcrypto",
					"-lbrotlidec",
					"-lbrotlienc",
					"-lresolv",
				);
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		10EACB151DCEAF0F00CA0341 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		10EACB161DCEAF0F00CA0341 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		E9B43DDF24619D5100824E51 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_CFLAGS = (
					"-march=native",
					"-mvaes",
					"-mvpclmulqdq",
				);
				OTHER_LDFLAGS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		E9B43DE024619D5100824E51 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_CFLAGS = (
					"-march=native",
					"-mvaes",
					"-mvpclmulqdq",
				);
				OTHER_LDFLAGS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		105900481DC8D57000FB4085 /* Build configuration list for PBXNativeTarget "test-minicrypto" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				105900491DC8D57000FB4085 /* Debug */,
				1059004A1DC8D57000FB4085 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		105900891DC8E1A300FB4085 /* Build configuration list for PBXNativeTarget "picotls-openssl" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1059008A1DC8E1A300FB4085 /* Debug */,
				1059008B1DC8E1A300FB4085 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		106530AD1D9985E0005B2C60 /* Build configuration list for PBXProject "picotls" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				106530B71D9985E0005B2C60 /* Debug */,
				106530B81D9985E0005B2C60 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		106530D01D9B3D45005B2C60 /* Build configuration list for PBXNativeTarget "test-openssl" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				106530D11D9B3D45005B2C60 /* Debug */,
				106530D21D9B3D45005B2C60 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		106530DD1D9B3E6F005B2C60 /* Build configuration list for PBXNativeTarget "picotls-core" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				106530DB1D9B3E6F005B2C60 /* Debug */,
				106530DC1D9B3E6F005B2C60 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		106530F91DAD8985005B2C60 /* Build configuration list for PBXNativeTarget "cli" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				106530FA1DAD8985005B2C60 /* Debug */,
				106530FB1DAD8985005B2C60 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		10EACB141DCEAF0F00CA0341 /* Build configuration list for PBXNativeTarget "picotls-minicrypto" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				10EACB151DCEAF0F00CA0341 /* Debug */,
				10EACB161DCEAF0F00CA0341 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
		E9B43DDE24619D5100824E51 /* Build configuration list for PBXNativeTarget "test-fusion" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E9B43DDF24619D5100824E51 /* Debug */,
				E9B43DE024619D5100824E51 /* Release */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Release;
		};
/* End XCConfigurationList section */
	};
	rootObject = 106530AA1D9985E0005B2C60 /* Project object */;
}
