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

/* Begin PBXBuildFile section */
		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 */; };
		E992F7A320E99A7C0008154D /* libpicotls-openssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1059008C1DC8E1A300FB4085 /* libpicotls-openssl.a */; };
		E992F7A420E99A7C0008154D /* libpicotls-core.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 106530DA1D9B3E6F005B2C60 /* libpicotls-core.a */; };
		E992F7AA20E99AA10008154D /* esni.c in Sources */ = {isa = PBXBuildFile; fileRef = E992F79A20E99A6B0008154D /* esni.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";
		};
		E992F79D20E99A7C0008154D /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 106530AA1D9985E0005B2C60 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 106530D91D9B3E6F005B2C60;
			remoteInfo = "picotls-core";
		};
		E992F79F20E99A7C0008154D /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 106530AA1D9985E0005B2C60 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 105900701DC8E1A300FB4085;
			remoteInfo = "picotls-openssl";
		};
/* 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;
		};
		E992F7A520E99A7C0008154D /* 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 */
		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>"; };
		E992F79A20E99A6B0008154D /* esni.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = esni.c; sourceTree = "<group>"; };
		E992F7A920E99A7C0008154D /* picotls-esni */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "picotls-esni"; sourceTree = BUILT_PRODUCTS_DIR; };
		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;
		};
		E992F7A220E99A7C0008154D /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E992F7A320E99A7C0008154D /* libpicotls-openssl.a in Frameworks */,
				E992F7A420E99A7C0008154D /* libpicotls-core.a in Frameworks */,
			);
			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 */,
				E992F79920E99A080008154D /* src */,
				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 */,
				E992F7A920E99A7C0008154D /* picotls-esni */,
				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 */,
				E97577022212405D00D1EF74 /* ffx.c */,
				E9B43DBF24619D1700824E51 /* fusion.c */,
				E99B75DF1F5CDDB500CF503E /* pembase64.c */,
				E9F20BDF22E34B210018D260 /* cifra */,
				1059003F1DC8D53200FB4085 /* cifra.c */,
				106530C21D9B004B005B2C60 /* openssl.c */,
				106530BF1D998641005B2C60 /* picotls.c */,
				105900C51DC9798800FB4085 /* uecc.c */,
				E949EF272073629300511ECA /* minicrypto-pem.c */,
				E9E4B12A2180530400514B47 /* certificate_compression.c */,
			);
			path = lib;
			sourceTree = "<group>";
		};
		106530C41D9B1A0E005B2C60 /* t */ = {
			isa = PBXGroup;
			children = (
				106530FE1DAD8A3C005B2C60 /* cli.c */,
				E97577072213148800D1EF74 /* e2e.t */,
				E9B43DE224619D7E00824E51 /* fusion.c */,
				106530E91D9B7C13005B2C60 /* picotls.c */,
				1059003D1DC8D4E300FB4085 /* minicrypto.c */,
				106530C51D9B1A98005B2C60 /* openssl.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 = (
				E97577002212405300D1EF74 /* ffx.h */,
				1059004F1DC8D64E00FB4085 /* minicrypto.h */,
				106530ED1D9CEFF7005B2C60 /* openssl.h */,
				E9E4B1292180514000514B47 /* certificate_compression.h */,
				E9B43DE62461A06800824E51 /* fusion.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 = (
				E95EBCCA227EA0180022C32D /* dtrace-utils.cmake */,
			);
			path = cmake;
			sourceTree = "<group>";
		};
		E973651D246E37300039AA49 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		E992F79920E99A080008154D /* src */ = {
			isa = PBXGroup;
			children = (
				E992F79A20E99A6B0008154D /* esni.c */,
			);
			path = src;
			sourceTree = "<group>";
		};
		E9F20BDF22E34B210018D260 /* cifra */ = {
			isa = PBXGroup;
			children = (
				E9F20BE322E34B340018D260 /* aes-common.h */,
				E9F20BE222E34B340018D260 /* aes128.c */,
				E9F20BE022E34B340018D260 /* aes256.c */,
				E9F20BE422E34B340018D260 /* chacha20.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 */,
			);
			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 */,
				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";
		};
		E992F79B20E99A7C0008154D /* picotls-esni */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = E992F7A620E99A7C0008154D /* Build configuration list for PBXNativeTarget "picotls-esni" */;
			buildPhases = (
				E992F7A020E99A7C0008154D /* Sources */,
				E992F7A220E99A7C0008154D /* Frameworks */,
				E992F7A520E99A7C0008154D /* CopyFiles */,
			);
			buildRules = (
			);
			dependencies = (
				E992F79C20E99A7C0008154D /* PBXTargetDependency */,
				E992F79E20E99A7C0008154D /* PBXTargetDependency */,
			);
			name = "picotls-esni";
			productName = "test-crypto-openssl";
			productReference = E992F7A920E99A7C0008154D /* picotls-esni */;
			productType = "com.apple.product-type.tool";
		};
		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 = 0830;
				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 */,
				E992F79B20E99A7C0008154D /* picotls-esni */,
				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 */,
				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 */,
				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;
		};
		E992F7A020E99A7C0008154D /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				E992F7AA20E99AA10008154D /* esni.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 */;
		};
		E992F79C20E99A7C0008154D /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 106530D91D9B3E6F005B2C60 /* picotls-core */;
			targetProxy = E992F79D20E99A7C0008154D /* PBXContainerItemProxy */;
		};
		E992F79E20E99A7C0008154D /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 105900701DC8E1A300FB4085 /* picotls-openssl */;
			targetProxy = E992F79F20E99A7C0008154D /* 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 = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/opt/openssl/lib;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		1059008B1DC8E1A300FB4085 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				EXECUTABLE_PREFIX = lib;
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/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,
				);
				LIBRARY_SEARCH_PATHS = "";
				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,
				);
				LIBRARY_SEARCH_PATHS = "";
				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 = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/opt/openssl/lib;
				OTHER_LDFLAGS = "-lcrypto";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		106530D21D9B3D45005B2C60 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/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 = (
					include,
					/usr/local/opt/openssl/include,
					/usr/local/include,
				);
				LIBRARY_SEARCH_PATHS = (
					/usr/local/opt/openssl/lib,
					/usr/local/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 = (
					include,
					/usr/local/opt/openssl/include,
					/usr/local/include,
				);
				LIBRARY_SEARCH_PATHS = (
					/usr/local/opt/openssl/lib,
					/usr/local/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;
		};
		E992F7A720E99A7C0008154D /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/opt/openssl/lib;
				OTHER_LDFLAGS = "-lcrypto";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		E992F7A820E99A7C0008154D /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				HEADER_SEARCH_PATHS = (
					/usr/local/opt/openssl/include,
					include,
				);
				LIBRARY_SEARCH_PATHS = /usr/local/opt/openssl/lib;
				OTHER_LDFLAGS = "-lcrypto";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		E9B43DDF24619D5100824E51 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_CFLAGS = "-march=native";
				OTHER_LDFLAGS = "";
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		E9B43DE024619D5100824E51 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
				OTHER_CFLAGS = "-march=native";
				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;
		};
		E992F7A620E99A7C0008154D /* Build configuration list for PBXNativeTarget "picotls-esni" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				E992F7A720E99A7C0008154D /* Debug */,
				E992F7A820E99A7C0008154D /* 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 */;
}
