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

/* Begin PBXAggregateTarget section */
		5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = 5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */;
			buildPhases = (
				5325BDDE21DFF4F800A0DEE1 /* ShellScript */,
			);
			dependencies = (
			);
			name = "Apply Configuration to XCFileLists";
			productName = "Apply Configuration to XCFileLists";
		};
		A115CCB41B9D769D00E89159 /* All */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */;
			buildPhases = (
			);
			dependencies = (
				A115CCBC1B9D76C400E89159 /* PBXTargetDependency */,
				A115CCBA1B9D76BF00E89159 /* PBXTargetDependency */,
			);
			name = All;
			productName = All;
		};
		BC952D7711F3BF5D003398B4 /* Derived Sources */ = {
			isa = PBXAggregateTarget;
			buildConfigurationList = BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */;
			buildPhases = (
				BC952D8211F3BF78003398B4 /* Generate Derived Sources */,
			);
			dependencies = (
			);
			name = "Derived Sources";
			productName = "Derived Sources";
		};
/* End PBXAggregateTarget section */

/* Begin PBXBuildFile section */
		0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */; };
		0F18E6E61D6B9BA20027E547 /* UIScriptControllerShared.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E6DF1D6B9AAF0027E547 /* UIScriptControllerShared.cpp */; };
		0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E7151D6BC4560027E547 /* JSWrapper.cpp */; };
		0F4B08731D5BE88D00EC1B78 /* Launch.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */; };
		0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
		0F622CE91BBB3A1A00838AD3 /* TestOptions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */; };
		0F6E89031D6BC5A2008ED0FA /* JSWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E7151D6BC4560027E547 /* JSWrapper.cpp */; };
		0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */; };
		0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */; };
		0F73B55C1BA89042004B3EF4 /* UIScriptControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */; };
		0F87B6131BACAD82004EC572 /* UIScriptControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */; };
		0F87B6171BACC4C0004EC572 /* TestRunnerWKWebView.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */; };
		0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */; };
		0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
		0FEBF85A1BB61DF20028722D /* HIDEventGenerator.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */; };
		1CA211C91BCA107300B2101F /* FontWithFeatures.otf in Resources */ = {isa = PBXBuildFile; fileRef = 1CA211C71BCA107300B2101F /* FontWithFeatures.otf */; };
		1CA211CA1BCA107300B2101F /* FontWithFeatures.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */; };
		1CBA02961FD87DEC00179C7D /* FakeHelvetica-Helvetica2-500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */; };
		1CBA02971FD87DEE00179C7D /* FakeHelvetica-Helvetica2-400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */; };
		1CBA02981FD87DF000179C7D /* FakeHelvetica-Helvetica-500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */; };
		1CBA02991FD87DF300179C7D /* FakeHelvetica-Helvetica-400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */; };
		1CEA84DD203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf */; };
		277CCEDD250F300A0050C572 /* UIScriptControllerCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 27A71969250F0CE10093A1E2 /* UIScriptControllerCommon.cpp */; };
		2904FA1E265CC5D900A7EBC9 /* StringFunctionsCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 2904FA1D265CC5D900A7EBC9 /* StringFunctionsCocoa.h */; };
		29210EAE144CACB700835BB5 /* AccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */; };
		29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */; };
		29210EB4144CACD500835BB5 /* AccessibilityTextMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */; };
		29210EB5144CACD500835BB5 /* AccessibilityTextMarkerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */; };
		29210EDA144CC3EA00835BB5 /* AccessibilityUIElementMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */; };
		29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */; };
		29210EDB144CD47900835BB5 /* JSAccessibilityController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 583913D014335E95008307E5 /* JSAccessibilityController.cpp */; };
		29210EE1144CDB2600835BB5 /* JSAccessibilityUIElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */; };
		29A8FCCB145EF02E009045A6 /* JSAccessibilityTextMarker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */; };
		29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */; };
		29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */; };
		29A8FCE5145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */; };
		2D058E0922E2EE2200E4C145 /* UIScriptControllerCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */; };
		2D058E0B22E2EF6D00E4C145 /* UIScriptControllerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */; };
		2DB6187E1D7D58D400978D19 /* CoreGraphicsTestSPI.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */; };
		2DD4C49A1D6E7D3B0007379C /* EventSerializerMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */; };
		2DD4C49B1D6E7D3B0007379C /* EventSerializerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */; };
		2DFA98481D7F70CF00AFF2C9 /* SharedEventStreamsMac.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */; };
		2DFA98491D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm */; };
		2E2A765D2370C8D1008F9FFE /* PlatformViewHelpers.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E2A765C2370C8A0008F9FFE /* PlatformViewHelpers.mm */; };
		2E34C90018B68808000067BB /* WebKitTestRunnerInjectedBundle.bundle in Copy Plug-Ins */ = {isa = PBXBuildFile; fileRef = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
		2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */; };
		2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */; };
		2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
		2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */; };
		2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */; };
		2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */; };
		2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2EE52D161890A9FB0010ED21 /* mainIOS.mm */; };
		2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */; };
		2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */; };
		2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */; };
		31DA8A3D1E7205CC00E1DF2F /* IOSLayoutTestCommunication.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */; };
		41C5378E21F13414008B1FAD /* TestWebsiteDataStoreDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */; };
		41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */; };
		4430AE191F82C4FD0099915A /* GeneratedTouchesDebugWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */; };
		51058AD51D678820009A538C /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */; };
		51058AD61D678825009A538C /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0F5169CA1445222D00E0A9D7 /* WebKit.framework */; };
		51998A082810FBD1009D68EB /* WebNotificationProviderCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51998A072810FBD1009D68EB /* WebNotificationProviderCocoa.mm */; };
		5641E2D014335E95008307E5 /* JSTextInputController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5641E2CE14335E95008307E5 /* JSTextInputController.cpp */; };
		5664A49A14326384008881BE /* TextInputController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5664A49814326384008881BE /* TextInputController.cpp */; };
		5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */ = {isa = PBXBuildFile; fileRef = 5670B8271386FCA5002EB355 /* EventSenderProxy.mm */; };
		57A0062E22976EEB00AD08BD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570E75A42152DA2C00324B6E /* Security.framework */; };
		57A0062F22976EF800AD08BD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 570E75A42152DA2C00324B6E /* Security.framework */; };
		6510A78211EC643800410867 /* AHEM____.TTF in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77711EC643800410867 /* AHEM____.TTF */; };
		6510A78411EC643800410867 /* WebKitWeightWatcher100.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */; };
		6510A78511EC643800410867 /* WebKitWeightWatcher200.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */; };
		6510A78611EC643800410867 /* WebKitWeightWatcher300.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */; };
		6510A78711EC643800410867 /* WebKitWeightWatcher400.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */; };
		6510A78811EC643800410867 /* WebKitWeightWatcher500.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */; };
		6510A78911EC643800410867 /* WebKitWeightWatcher600.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */; };
		6510A78A11EC643800410867 /* WebKitWeightWatcher700.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */; };
		6510A78B11EC643800410867 /* WebKitWeightWatcher800.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */; };
		6510A78C11EC643800410867 /* WebKitWeightWatcher900.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */; };
		65EB85A011EC67CC0034D300 /* ActivateFontsCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */; };
		7CFF9BCA2534AF1D0008009F /* TestFeatures.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CFF9BC62534AF1D0008009F /* TestFeatures.cpp */; };
		7CFF9BCB2534AF1D0008009F /* TestCommand.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7CFF9BC72534AF1D0008009F /* TestCommand.cpp */; };
		8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */; };
		8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */; };
		932BB9C0270E27000094CC33 /* ModifierKeys.mm in Sources */ = {isa = PBXBuildFile; fileRef = 932BB9BE270E27000094CC33 /* ModifierKeys.mm */; };
		9376417A210D737200A3DAAE /* WebKitTestRunnerWindow.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93764176210D736000A3DAAE /* WebKitTestRunnerWindow.mm */; };
		93C78823250C6C2E00C0AA24 /* ReftestFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93C7881F250C69E400C0AA24 /* ReftestFunctions.cpp */; };
		93C78831250C719F00C0AA24 /* JSBasics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93C78830250C719900C0AA24 /* JSBasics.cpp */; };
		93C78832250C71B700C0AA24 /* JSBasics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 93C78830250C719900C0AA24 /* JSBasics.cpp */; };
		A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */; };
		A185103B1B9AE0E200744AEB /* TestControllerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */; };
		A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 841CC00D181185BF0042E9B6 /* Options.cpp */; };
		A185103D1B9AE10600744AEB /* TestInvocationCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC9192041333E4F8003011DC /* TestInvocationCG.cpp */; };
		A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */; };
		A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */; };
		A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */; };
		A18510411B9AE13800744AEB /* TestController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC793430118F7F19005EA8E2 /* TestController.cpp */; };
		A18510421B9AE13E00744AEB /* TestInvocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD7D2F711921278006DB7EE /* TestInvocation.cpp */; };
		A18510431B9AE14500744AEB /* WebNotificationProvider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */; };
		A18510441B9AE14A00744AEB /* WorkQueueManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */; };
		A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */; };
		BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4D9120E02D000826C0C /* GCController.cpp */; };
		BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC14E4E8120E03D800826C0C /* JSGCController.cpp */; };
		BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */; };
		BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */; };
		BC793400118F7C84005EA8E2 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7933FF118F7C84005EA8E2 /* main.mm */; };
		BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */; };
		BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8C795B11D2785D004535A1 /* TestControllerMac.mm */; };
		BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */; };
		BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */; };
		BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */; };
		BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */; };
		BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */; };
		BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */; };
		C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */; };
		E132AA3A17CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */; };
		E132AA3D17CE776F00611DF0 /* WebKitTestRunnerEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */; };
		E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */; };
		F4010B7E24DA205300A876E2 /* PoseAsClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4010B7C24DA204800A876E2 /* PoseAsClass.mm */; };
		F415C22C27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.h in Headers */ = {isa = PBXBuildFile; fileRef = F415C22A27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.h */; };
		F415C23527AF5B390028F505 /* UIPasteboardConsistencyEnforcer.mm in Sources */ = {isa = PBXBuildFile; fileRef = F415C22B27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.mm */; };
		F44A531721B899E200DBB99C /* ClassMethodSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */; };
		F44A531821B899E500DBB99C /* InstanceMethodSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */; };
		F46240B1217013E500917B16 /* UIScriptControllerCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */; };
		F47A0ED2285FB1C1001D0ECE /* EditMenuInteractionSwizzler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F47A0ECF285FB1B3001D0ECE /* EditMenuInteractionSwizzler.mm */; };
		F47A0ED3285FB2AE001D0ECE /* EditMenuInteractionSwizzler.h in Headers */ = {isa = PBXBuildFile; fileRef = F47A0ECE285FB1B3001D0ECE /* EditMenuInteractionSwizzler.h */; };
		F4C3578C20E8444600FA0748 /* LayoutTestSpellChecker.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */; };
		F4FED324235823A3003C139C /* NSPasteboardAdditions.mm in Sources */ = {isa = PBXBuildFile; fileRef = F4FED3222358215E003C139C /* NSPasteboardAdditions.mm */; };
/* End PBXBuildFile section */

/* Begin PBXContainerItemProxy section */
		A115CCB91B9D76BF00E89159 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 8DD76F960486AA7600D96B5E;
			remoteInfo = WebKitTestRunner;
		};
		A115CCBB1B9D76C400E89159 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = 2EE52CDF1890A9A80010ED21;
			remoteInfo = WebKitTestRunnerApp;
		};
		A18510311B9ADE5B00744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BC25186111D15D54002EBC01;
			remoteInfo = WebKitTestRunnerInjectedBundle;
		};
		A18510331B9ADE6200744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A18510261B9ADE4800744AEB;
			remoteInfo = "WebKitTestRunner (Library)";
		};
		A18510351B9ADE6D00744AEB /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = A18510261B9ADE4800744AEB;
			remoteInfo = "WebKitTestRunner (Library)";
		};
		BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */ = {
			isa = PBXContainerItemProxy;
			containerPortal = 08FB7793FE84155DC02AAC07 /* Project object */;
			proxyType = 1;
			remoteGlobalIDString = BC952D7711F3BF5D003398B4;
			remoteInfo = "Derived Sources";
		};
/* End PBXContainerItemProxy section */

/* Begin PBXCopyFilesBuildPhase section */
		CEC209031D36E36A00261596 /* Copy Plug-Ins */ = {
			isa = PBXCopyFilesBuildPhase;
			buildActionMask = 2147483647;
			dstPath = "";
			dstSubfolderSpec = 13;
			files = (
				2E34C90018B68808000067BB /* WebKitTestRunnerInjectedBundle.bundle in Copy Plug-Ins */,
			);
			name = "Copy Plug-Ins";
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXCopyFilesBuildPhase section */

/* Begin PBXFileReference section */
		0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UIScriptContext.cpp; path = ../TestRunnerShared/UIScriptContext/UIScriptContext.cpp; sourceTree = "<group>"; };
		0F18E6DE1D6B9AAF0027E547 /* UIScriptContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIScriptContext.h; path = ../TestRunnerShared/UIScriptContext/UIScriptContext.h; sourceTree = "<group>"; };
		0F18E6DF1D6B9AAF0027E547 /* UIScriptControllerShared.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UIScriptControllerShared.cpp; path = ../TestRunnerShared/UIScriptContext/UIScriptControllerShared.cpp; sourceTree = "<group>"; };
		0F18E6E01D6B9AAF0027E547 /* UIScriptController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIScriptController.h; path = ../TestRunnerShared/UIScriptContext/UIScriptController.h; sourceTree = "<group>"; };
		0F18E6E31D6B9ABF0027E547 /* UIScriptController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = UIScriptController.idl; path = ../TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl; sourceTree = "<group>"; };
		0F18E7141D6BC4560027E547 /* JSWrappable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWrappable.h; path = ../TestRunnerShared/Bindings/JSWrappable.h; sourceTree = "<group>"; };
		0F18E7151D6BC4560027E547 /* JSWrapper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSWrapper.cpp; path = ../TestRunnerShared/Bindings/JSWrapper.cpp; sourceTree = "<group>"; };
		0F18E7161D6BC4560027E547 /* JSWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSWrapper.h; path = ../TestRunnerShared/Bindings/JSWrapper.h; sourceTree = "<group>"; };
		0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = BaseTarget.xcconfig; sourceTree = "<group>"; };
		0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Launch.storyboard; path = ios/Launch.storyboard; sourceTree = SOURCE_ROOT; };
		0F5169CA1445222D00E0A9D7 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = WebKit.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestOptions.cpp; sourceTree = "<group>"; };
		0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSUIScriptController.cpp; sourceTree = "<group>"; };
		0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSUIScriptController.h; sourceTree = "<group>"; };
		0F73B5571BA7929E004B3EF4 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
		0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerIOS.mm; sourceTree = "<group>"; };
		0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerMac.mm; sourceTree = "<group>"; };
		0F87B6141BACC4B9004EC572 /* TestRunnerWKWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestRunnerWKWebView.h; sourceTree = "<group>"; };
		0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestRunnerWKWebView.mm; sourceTree = "<group>"; };
		0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundlePageCocoa.mm; sourceTree = "<group>"; };
		0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CrashReporterInfo.h; sourceTree = "<group>"; };
		0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = CrashReporterInfo.mm; sourceTree = "<group>"; };
		0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HIDEventGenerator.h; sourceTree = "<group>"; };
		0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HIDEventGenerator.mm; sourceTree = "<group>"; };
		1A3326051B75396500F89F62 /* TestOptions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestOptions.h; sourceTree = "<group>"; };
		1CA211C71BCA107300B2101F /* FontWithFeatures.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontWithFeatures.otf; sourceTree = "<group>"; };
		1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = FontWithFeatures.ttf; sourceTree = "<group>"; };
		1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica2-400.ttf"; path = "fonts/FakeHelvetica-Helvetica2-400.ttf"; sourceTree = "<group>"; };
		1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica-500.ttf"; path = "fonts/FakeHelvetica-Helvetica-500.ttf"; sourceTree = "<group>"; };
		1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica-400.ttf"; path = "fonts/FakeHelvetica-Helvetica-400.ttf"; sourceTree = "<group>"; };
		1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-Helvetica2-500.ttf"; path = "fonts/FakeHelvetica-Helvetica2-500.ttf"; sourceTree = "<group>"; };
		1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "FakeHelvetica-ArmenianCharacter.ttf"; sourceTree = "<group>"; };
		26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeolocationProviderMock.cpp; sourceTree = "<group>"; };
		26D758E6160BECDD00268472 /* GeolocationProviderMock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GeolocationProviderMock.h; sourceTree = "<group>"; };
		27A71969250F0CE10093A1E2 /* UIScriptControllerCommon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UIScriptControllerCommon.cpp; sourceTree = "<group>"; };
		27A7196A250F0CFF0093A1E2 /* UIScriptControllerCommon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerCommon.h; sourceTree = "<group>"; };
		2904FA1D265CC5D900A7EBC9 /* StringFunctionsCocoa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = StringFunctionsCocoa.h; sourceTree = "<group>"; };
		29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityController.cpp; sourceTree = "<group>"; };
		29210EA3144CAAA500835BB5 /* AccessibilityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityController.h; sourceTree = "<group>"; };
		29210EA8144CAB8800835BB5 /* AccessibilityController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityController.idl; sourceTree = "<group>"; };
		29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityUIElement.cpp; sourceTree = "<group>"; };
		29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityUIElement.h; sourceTree = "<group>"; };
		29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementMac.mm; sourceTree = "<group>"; };
		29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityCommonMac.mm; sourceTree = "<group>"; };
		29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarker.cpp; sourceTree = "<group>"; };
		29210EB2144CACD400835BB5 /* AccessibilityTextMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityTextMarker.h; sourceTree = "<group>"; };
		29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityTextMarkerMac.mm; path = mac/AccessibilityTextMarkerMac.mm; sourceTree = "<group>"; };
		29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityUIElement.cpp; sourceTree = "<group>"; };
		29210EDB146727E811835BB5 /* JSAccessibilityUIElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityUIElement.h; sourceTree = "<group>"; };
		29210EDC144CD56E00835BB5 /* AccessibilityUIElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityUIElement.idl; sourceTree = "<group>"; };
		29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityTextMarker.cpp; sourceTree = "<group>"; };
		29210EE1145CDE6789815EE5 /* JSAccessibilityTextMarker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityTextMarker.h; sourceTree = "<group>"; };
		299E2AA41E3DEE140065DC30 /* AccessibilityCommonMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityCommonMac.h; sourceTree = "<group>"; };
		29A8FCC5145B93C6009045A6 /* AccessibilityTextMarker.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AccessibilityTextMarker.idl; sourceTree = "<group>"; };
		29A8FCD2145EF8F2009045A6 /* AccessibilityTextMarkerRange.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = AccessibilityTextMarkerRange.idl; sourceTree = "<group>"; };
		29A8FCDF145F0358009045A6 /* AccessibilityTextMarkerRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityTextMarkerRange.h; sourceTree = "<group>"; };
		29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityTextMarkerRange.cpp; sourceTree = "<group>"; };
		29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityTextMarkerRange.cpp; sourceTree = "<group>"; };
		29A8FCE1345E7021006AA5A7 /* JSAccessibilityTextMarkerRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityTextMarkerRange.h; sourceTree = "<group>"; };
		29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerRangeMac.mm; sourceTree = "<group>"; };
		2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerCocoa.h; sourceTree = "<group>"; };
		2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerMac.h; sourceTree = "<group>"; };
		2D0BEE1722EAD1360092B738 /* UIScriptControllerIOS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIScriptControllerIOS.h; sourceTree = "<group>"; };
		2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CoreGraphicsTestSPI.h; path = ../TestRunnerShared/spi/CoreGraphicsTestSPI.h; sourceTree = "<group>"; };
		2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerCocoa.mm; sourceTree = "<group>"; };
		2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = EventSerializerMac.h; path = mac/EventSerializerMac.h; sourceTree = "<group>"; };
		2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = EventSerializerMac.mm; path = mac/EventSerializerMac.mm; sourceTree = "<group>"; };
		2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SharedEventStreamsMac.h; path = mac/SharedEventStreamsMac.h; sourceTree = "<group>"; };
		2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SharedEventStreamsMac.mm; path = mac/SharedEventStreamsMac.mm; sourceTree = "<group>"; };
		2E2A765B2370C8A0008F9FFE /* PlatformViewHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PlatformViewHelpers.h; path = ../TestRunnerShared/cocoa/PlatformViewHelpers.h; sourceTree = "<group>"; };
		2E2A765C2370C8A0008F9FFE /* PlatformViewHelpers.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PlatformViewHelpers.mm; path = ../TestRunnerShared/cocoa/PlatformViewHelpers.mm; sourceTree = "<group>"; };
		2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerIOS.mm; sourceTree = "<group>"; };
		2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityNotificationHandler.h; sourceTree = "<group>"; };
		2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityTextMarkerIOS.mm; sourceTree = "<group>"; };
		2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityUIElementIOS.mm; sourceTree = "<group>"; };
		2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxyIOS.mm; sourceTree = "<group>"; };
		2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleIOS.mm; sourceTree = "<group>"; };
		2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = WebKitTestRunnerApp.app; sourceTree = BUILT_PRODUCTS_DIR; };
		2EE52CE21890A9A80010ED21 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
		2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
		2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "WebKitTestRunnerApp-Info.plist"; path = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist"; sourceTree = "<group>"; };
		2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewIOS.mm; sourceTree = "<group>"; };
		2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerIOS.mm; sourceTree = "<group>"; };
		2EE52D161890A9FB0010ED21 /* mainIOS.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = mainIOS.mm; path = ../ios/mainIOS.mm; sourceTree = "<group>"; };
		3110BE0F15BA011400D216AC /* WebNotificationProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WebNotificationProvider.h; sourceTree = "<group>"; };
		311183AA212B1AC70077BCE0 /* WebKitTestRunnerApp-watchOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebKitTestRunnerApp-watchOS.entitlements"; sourceTree = "<group>"; };
		3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IOSLayoutTestCommunication.cpp; path = ../TestRunnerShared/IOSLayoutTestCommunication.cpp; sourceTree = "<group>"; };
		3148A0541E6F85B600D3B316 /* IOSLayoutTestCommunication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IOSLayoutTestCommunication.h; path = ../TestRunnerShared/IOSLayoutTestCommunication.h; sourceTree = "<group>"; };
		3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebNotificationProvider.cpp; sourceTree = "<group>"; };
		378D442213346D00006A777B /* config.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
		41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; path = libWebCoreTestSupport.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
		4181731B138AD39D0057AAA4 /* WebCoreTestSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebCoreTestSupport.h; path = WebCoreTestSupport/WebCoreTestSupport.h; sourceTree = BUILT_PRODUCTS_DIR; };
		41C5378C21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestWebsiteDataStoreDelegate.h; sourceTree = "<group>"; };
		41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestWebsiteDataStoreDelegate.mm; sourceTree = "<group>"; };
		41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = "FakeHelvetica-SingleExtendedCharacter.ttf"; path = "fonts/FakeHelvetica-SingleExtendedCharacter.ttf"; sourceTree = "<group>"; };
		4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WorkQueueManager.cpp; sourceTree = "<group>"; };
		4429FC611627089600F66D8B /* WorkQueueManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WorkQueueManager.h; sourceTree = "<group>"; };
		4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = GeneratedTouchesDebugWindow.mm; sourceTree = "<group>"; };
		4430AE181F82C4EF0099915A /* GeneratedTouchesDebugWindow.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedTouchesDebugWindow.h; sourceTree = "<group>"; };
		49AEEF692407278200C87E4C /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
		510E2F3827741F8300809333 /* DataFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DataFunctions.h; sourceTree = "<group>"; };
		51998A072810FBD1009D68EB /* WebNotificationProviderCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebNotificationProviderCocoa.mm; sourceTree = "<group>"; };
		5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CyclicRedundancyCheck.cpp; sourceTree = "<group>"; };
		5322FB4213FDA0CD0041ABCC /* CyclicRedundancyCheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CyclicRedundancyCheck.h; sourceTree = "<group>"; };
		5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PixelDumpSupport.cpp; sourceTree = "<group>"; };
		5322FB4513FDA0EA0041ABCC /* PixelDumpSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PixelDumpSupport.h; sourceTree = "<group>"; };
		5641E2CE14335E95008307E5 /* JSTextInputController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTextInputController.cpp; sourceTree = "<group>"; };
		5641E2CF14335E95008307E5 /* JSTextInputController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTextInputController.h; sourceTree = "<group>"; };
		5664A49614326377008881BE /* TextInputController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TextInputController.idl; sourceTree = "<group>"; };
		5664A49814326384008881BE /* TextInputController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextInputController.cpp; sourceTree = "<group>"; };
		5664A49914326384008881BE /* TextInputController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextInputController.h; sourceTree = "<group>"; };
		5670B8261386FC13002EB355 /* EventSenderProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSenderProxy.h; sourceTree = "<group>"; };
		5670B8271386FCA5002EB355 /* EventSenderProxy.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = EventSenderProxy.mm; sourceTree = "<group>"; };
		570E75A42152DA2C00324B6E /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; };
		57A0062C22976E4D00AD08BD /* WebKitTestRunner.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = WebKitTestRunner.entitlements; sourceTree = "<group>"; };
		583913D014335E95008307E5 /* JSAccessibilityController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAccessibilityController.cpp; sourceTree = "<group>"; };
		583913D114335E95008307E5 /* JSAccessibilityController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAccessibilityController.h; sourceTree = "<group>"; };
		6510A77711EC643800410867 /* AHEM____.TTF */ = {isa = PBXFileReference; lastKnownFileType = file; name = "AHEM____.TTF"; path = "fonts/AHEM____.TTF"; sourceTree = "<group>"; };
		6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher100.ttf; path = fonts/WebKitWeightWatcher100.ttf; sourceTree = "<group>"; };
		6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher200.ttf; path = fonts/WebKitWeightWatcher200.ttf; sourceTree = "<group>"; };
		6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher300.ttf; path = fonts/WebKitWeightWatcher300.ttf; sourceTree = "<group>"; };
		6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher400.ttf; path = fonts/WebKitWeightWatcher400.ttf; sourceTree = "<group>"; };
		6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher500.ttf; path = fonts/WebKitWeightWatcher500.ttf; sourceTree = "<group>"; };
		6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher600.ttf; path = fonts/WebKitWeightWatcher600.ttf; sourceTree = "<group>"; };
		6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher700.ttf; path = fonts/WebKitWeightWatcher700.ttf; sourceTree = "<group>"; };
		6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher800.ttf; path = fonts/WebKitWeightWatcher800.ttf; sourceTree = "<group>"; };
		6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; name = WebKitWeightWatcher900.ttf; path = fonts/WebKitWeightWatcher900.ttf; sourceTree = "<group>"; };
		65EB859D11EC67CC0034D300 /* ActivateFonts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ActivateFonts.h; sourceTree = "<group>"; };
		65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ActivateFontsCocoa.mm; sourceTree = "<group>"; };
		7C8A1F5625351EC600C5291E /* TestOptionsGeneratedKeys.h.erb */ = {isa = PBXFileReference; lastKnownFileType = text; path = TestOptionsGeneratedKeys.h.erb; sourceTree = "<group>"; };
		7C8A1F5725351EC600C5291E /* check-xcfilelists.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "check-xcfilelists.sh"; sourceTree = "<group>"; };
		7C8A1F5825351EC600C5291E /* generate-derived-sources.sh */ = {isa = PBXFileReference; lastKnownFileType = text.script.sh; path = "generate-derived-sources.sh"; sourceTree = "<group>"; };
		7CAA0E7625353BF500C519E5 /* TestOptionsGeneratedKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestOptionsGeneratedKeys.h; sourceTree = "<group>"; };
		7CFF9BC52534AF1D0008009F /* TestFeatures.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestFeatures.h; path = ../TestRunnerShared/TestFeatures.h; sourceTree = "<group>"; };
		7CFF9BC62534AF1D0008009F /* TestFeatures.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TestFeatures.cpp; path = ../TestRunnerShared/TestFeatures.cpp; sourceTree = "<group>"; };
		7CFF9BC72534AF1D0008009F /* TestCommand.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TestCommand.cpp; path = ../TestRunnerShared/TestCommand.cpp; sourceTree = "<group>"; };
		7CFF9BC82534AF1D0008009F /* TestCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TestCommand.h; path = ../TestRunnerShared/TestCommand.h; sourceTree = "<group>"; };
		8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccessibilityControllerMac.mm; sourceTree = "<group>"; };
		8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AccessibilityNotificationHandler.h; path = mac/AccessibilityNotificationHandler.h; sourceTree = "<group>"; };
		8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccessibilityNotificationHandler.mm; path = mac/AccessibilityNotificationHandler.mm; sourceTree = "<group>"; };
		841CC00D181185BF0042E9B6 /* Options.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Options.cpp; sourceTree = "<group>"; };
		841CC00E181185BF0042E9B6 /* Options.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Options.h; sourceTree = "<group>"; };
		8DD76FA10486AA7600D96B5E /* WebKitTestRunner */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = WebKitTestRunner; sourceTree = BUILT_PRODUCTS_DIR; };
		932BB9BD270E27000094CC33 /* ModifierKeys.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ModifierKeys.h; path = ../TestRunnerShared/cocoa/ModifierKeys.h; sourceTree = "<group>"; };
		932BB9BE270E27000094CC33 /* ModifierKeys.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ModifierKeys.mm; path = ../TestRunnerShared/cocoa/ModifierKeys.mm; sourceTree = "<group>"; };
		9338D1BE250BD9DD00E827F6 /* DictionaryFunctions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DictionaryFunctions.h; sourceTree = "<group>"; };
		93764176210D736000A3DAAE /* WebKitTestRunnerWindow.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerWindow.mm; sourceTree = "<group>"; };
		93764177210D736100A3DAAE /* WebKitTestRunnerWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerWindow.h; sourceTree = "<group>"; };
		93C7881F250C69E400C0AA24 /* ReftestFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ReftestFunctions.cpp; path = ../TestRunnerShared/ReftestFunctions.cpp; sourceTree = "<group>"; };
		93C78820250C69E400C0AA24 /* ReftestFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ReftestFunctions.h; path = ../TestRunnerShared/ReftestFunctions.h; sourceTree = "<group>"; };
		93C7882F250C719900C0AA24 /* JSBasics.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = JSBasics.h; path = ../TestRunnerShared/Bindings/JSBasics.h; sourceTree = "<group>"; };
		93C78830250C719900C0AA24 /* JSBasics.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = JSBasics.cpp; path = ../TestRunnerShared/Bindings/JSBasics.cpp; sourceTree = "<group>"; };
		9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebKitTestRunnerApp-iOS.entitlements"; sourceTree = "<group>"; };
		9B36A270209453A0003E0651 /* WhatToDump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WhatToDump.h; sourceTree = "<group>"; };
		A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libWebKitTestRunner.a; sourceTree = BUILT_PRODUCTS_DIR; };
		A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKitTestRunner.xcconfig; sourceTree = "<group>"; };
		A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = WebKitTestRunnerApp.xcconfig; sourceTree = "<group>"; };
		A1B89B94221E026B00EB4CEA /* SDKVariant.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = SDKVariant.xcconfig; sourceTree = "<group>"; };
		BC14E4D8120E02D000826C0C /* GCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GCController.h; sourceTree = "<group>"; };
		BC14E4D9120E02D000826C0C /* GCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GCController.cpp; sourceTree = "<group>"; };
		BC14E4E1120E032000826C0C /* GCController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = GCController.idl; sourceTree = "<group>"; };
		BC14E4E8120E03D800826C0C /* JSGCController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSGCController.cpp; sourceTree = "<group>"; };
		BC14E4E9120E03D800826C0C /* JSGCController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSGCController.h; sourceTree = "<group>"; };
		BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundleMain.cpp; sourceTree = "<group>"; };
		BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WebKitTestRunnerInjectedBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
		BC25186311D15D54002EBC01 /* InjectedBundle-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "InjectedBundle-Info.plist"; sourceTree = "<group>"; };
		BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = InjectedBundle.xcconfig; sourceTree = "<group>"; };
		BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerPrefix.h; sourceTree = "<group>"; };
		BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = WebKitTestRunnerLibrary.xcconfig; sourceTree = "<group>"; };
		BC7933FF118F7C84005EA8E2 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = main.mm; sourceTree = "<group>"; };
		BC793426118F7D3C005EA8E2 /* Base.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = Base.xcconfig; sourceTree = "<group>"; };
		BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; path = DebugRelease.xcconfig; sourceTree = "<group>"; };
		BC79342F118F7F19005EA8E2 /* TestController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestController.h; sourceTree = "<group>"; };
		BC793430118F7F19005EA8E2 /* TestController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestController.cpp; sourceTree = "<group>"; };
		BC7934A411906584005EA8E2 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
		BC7934DD119066EC005EA8E2 /* PlatformWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformWebView.h; sourceTree = "<group>"; };
		BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PlatformWebViewMac.mm; sourceTree = "<group>"; };
		BC8C795B11D2785D004535A1 /* TestControllerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = TestControllerMac.mm; sourceTree = "<group>"; };
		BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = InjectedBundleMac.mm; sourceTree = "<group>"; };
		BC8FD8C8120E527F00F3E71A /* EventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EventSendingController.h; sourceTree = "<group>"; };
		BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EventSendingController.cpp; sourceTree = "<group>"; };
		BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = EventSendingController.idl; sourceTree = "<group>"; };
		BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSEventSendingController.cpp; sourceTree = "<group>"; };
		BC8FD8D1120E545B00F3E71A /* JSEventSendingController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSEventSendingController.h; sourceTree = "<group>"; };
		BC9192041333E4F8003011DC /* TestInvocationCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TestInvocationCG.cpp; path = cg/TestInvocationCG.cpp; sourceTree = "<group>"; };
		BC952EC511F3C10F003398B4 /* DerivedSources.make */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DerivedSources.make; sourceTree = "<group>"; };
		BC952ED211F3C29F003398B4 /* TestRunner.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = TestRunner.idl; sourceTree = "<group>"; };
		BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.perl; path = CodeGeneratorTestRunner.pm; sourceTree = "<group>"; };
		BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSTestRunner.cpp; sourceTree = "<group>"; };
		BC952F1E11F3C652003398B4 /* JSTestRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSTestRunner.h; sourceTree = "<group>"; };
		BC99A4841208901A007E9F08 /* StringFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringFunctions.h; sourceTree = "<group>"; };
		BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundle.cpp; sourceTree = "<group>"; };
		BCC997A111D3C8F60017BCA2 /* InjectedBundle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundle.h; sourceTree = "<group>"; };
		BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InjectedBundlePage.cpp; sourceTree = "<group>"; };
		BCC997A311D3C8F60017BCA2 /* InjectedBundlePage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundlePage.h; sourceTree = "<group>"; };
		BCC9981611D3F51E0017BCA2 /* TestRunner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestRunner.h; sourceTree = "<group>"; };
		BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestRunner.cpp; sourceTree = "<group>"; };
		BCD7D2F611921278006DB7EE /* TestInvocation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TestInvocation.h; sourceTree = "<group>"; };
		BCD7D2F711921278006DB7EE /* TestInvocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TestInvocation.cpp; sourceTree = "<group>"; };
		BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
		C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestRunnerMac.mm; path = mac/TestRunnerMac.mm; sourceTree = "<group>"; };
		E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerDraggingInfo.mm; sourceTree = "<group>"; };
		E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerDraggingInfo.h; sourceTree = "<group>"; };
		E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerEvent.mm; sourceTree = "<group>"; };
		E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerEvent.h; sourceTree = "<group>"; };
		E1BA671D1742DA5A00C20251 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = System/Library/Frameworks/Carbon.framework; sourceTree = SDKROOT; };
		E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebKitTestRunnerPasteboard.mm; sourceTree = "<group>"; };
		E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitTestRunnerPasteboard.h; sourceTree = "<group>"; };
		F4010B7C24DA204800A876E2 /* PoseAsClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PoseAsClass.mm; path = ../TestRunnerShared/cocoa/PoseAsClass.mm; sourceTree = "<group>"; };
		F4010B7D24DA204800A876E2 /* PoseAsClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PoseAsClass.h; path = ../TestRunnerShared/cocoa/PoseAsClass.h; sourceTree = "<group>"; };
		F415C22A27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UIPasteboardConsistencyEnforcer.h; sourceTree = "<group>"; };
		F415C22B27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = UIPasteboardConsistencyEnforcer.mm; sourceTree = "<group>"; };
		F44A531321B899DA00DBB99C /* InstanceMethodSwizzler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InstanceMethodSwizzler.h; path = ../TestRunnerShared/cocoa/InstanceMethodSwizzler.h; sourceTree = "<group>"; };
		F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ClassMethodSwizzler.mm; path = ../TestRunnerShared/cocoa/ClassMethodSwizzler.mm; sourceTree = "<group>"; };
		F44A531521B899DA00DBB99C /* ClassMethodSwizzler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ClassMethodSwizzler.h; path = ../TestRunnerShared/cocoa/ClassMethodSwizzler.h; sourceTree = "<group>"; };
		F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InstanceMethodSwizzler.mm; path = ../TestRunnerShared/cocoa/InstanceMethodSwizzler.mm; sourceTree = "<group>"; };
		F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = UIScriptControllerCocoa.mm; sourceTree = "<group>"; };
		F47A0ECE285FB1B3001D0ECE /* EditMenuInteractionSwizzler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EditMenuInteractionSwizzler.h; sourceTree = "<group>"; };
		F47A0ECF285FB1B3001D0ECE /* EditMenuInteractionSwizzler.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = EditMenuInteractionSwizzler.mm; sourceTree = "<group>"; };
		F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = LayoutTestSpellChecker.mm; path = ../TestRunnerShared/cocoa/LayoutTestSpellChecker.mm; sourceTree = "<group>"; };
		F4C3578B20E8444000FA0748 /* LayoutTestSpellChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LayoutTestSpellChecker.h; path = ../TestRunnerShared/cocoa/LayoutTestSpellChecker.h; sourceTree = "<group>"; };
		F4FED3212358215E003C139C /* NSPasteboardAdditions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NSPasteboardAdditions.h; path = ../TestRunnerShared/mac/NSPasteboardAdditions.h; sourceTree = "<group>"; };
		F4FED3222358215E003C139C /* NSPasteboardAdditions.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NSPasteboardAdditions.mm; path = ../TestRunnerShared/mac/NSPasteboardAdditions.mm; sourceTree = "<group>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		2EE52CDD1890A9A80010ED21 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				57A0062F22976EF800AD08BD /* Security.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				51058AD51D678820009A538C /* libWebCoreTestSupport.dylib in Frameworks */,
				57A0062E22976EEB00AD08BD /* Security.framework in Frameworks */,
				51058AD61D678825009A538C /* WebKit.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510241B9ADE4800744AEB /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25186011D15D54002EBC01 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				BC25194011D15D8B002EBC01 /* JavaScriptCore.framework in Frameworks */,
				A664BC7613A5F3A9009A7B25 /* libWebCoreTestSupport.dylib in Frameworks */,
				0F5169CC1445222D00E0A9D7 /* WebKit.framework in Frameworks */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXFrameworksBuildPhase section */

/* Begin PBXGroup section */
		08FB7794FE84155DC02AAC07 /* WebKitTestRunner */ = {
			isa = PBXGroup;
			children = (
				49AEEF692407278200C87E4C /* Info.plist */,
				BC952EC511F3C10F003398B4 /* DerivedSources.make */,
				2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */,
				BC99CBF11207642D00FDEE76 /* Shared */,
				08FB7795FE84155DC02AAC07 /* TestRunner */,
				0F18E71A1D6BC4BC0027E547 /* TestRunnerShared */,
				BC25183511D1571D002EBC01 /* InjectedBundle */,
				BC793401118F7C8A005EA8E2 /* Configurations */,
				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
				BC25194411D15DBE002EBC01 /* Resources */,
				2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */,
				7C8A1F5425351EC600C5291E /* Scripts */,
				2EE52CE11890A9A80010ED21 /* Frameworks */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
			);
			name = WebKitTestRunner;
			sourceTree = "<group>";
		};
		08FB7795FE84155DC02AAC07 /* TestRunner */ = {
			isa = PBXGroup;
			children = (
				BC9192021333E4CD003011DC /* cg */,
				0FEB90A11905BC4A000FDBF3 /* cocoa */,
				7CAA0E7525353BC500C519E5 /* Derived Sources */,
				2EE52D121890A9FB0010ED21 /* ios */,
				BC7933FE118F7C74005EA8E2 /* mac */,
				5322FB4113FDA0CD0041ABCC /* CyclicRedundancyCheck.cpp */,
				5322FB4213FDA0CD0041ABCC /* CyclicRedundancyCheck.h */,
				5670B8261386FC13002EB355 /* EventSenderProxy.h */,
				26D758E5160BECDC00268472 /* GeolocationProviderMock.cpp */,
				26D758E6160BECDD00268472 /* GeolocationProviderMock.h */,
				841CC00D181185BF0042E9B6 /* Options.cpp */,
				841CC00E181185BF0042E9B6 /* Options.h */,
				5322FB4413FDA0EA0041ABCC /* PixelDumpSupport.cpp */,
				5322FB4513FDA0EA0041ABCC /* PixelDumpSupport.h */,
				BC7934DD119066EC005EA8E2 /* PlatformWebView.h */,
				BC793430118F7F19005EA8E2 /* TestController.cpp */,
				BC79342F118F7F19005EA8E2 /* TestController.h */,
				BCD7D2F711921278006DB7EE /* TestInvocation.cpp */,
				BCD7D2F611921278006DB7EE /* TestInvocation.h */,
				0F622CE81BBB3A1A00838AD3 /* TestOptions.cpp */,
				1A3326051B75396500F89F62 /* TestOptions.h */,
				27A71969250F0CE10093A1E2 /* UIScriptControllerCommon.cpp */,
				27A7196A250F0CFF0093A1E2 /* UIScriptControllerCommon.h */,
				BC251A1711D16774002EBC01 /* WebKitTestRunnerPrefix.h */,
				3164C8EF15D1ADA100EF1FE0 /* WebNotificationProvider.cpp */,
				3110BE0F15BA011400D216AC /* WebNotificationProvider.h */,
				4429FC5E1627089600F66D8B /* WorkQueueManager.cpp */,
				4429FC611627089600F66D8B /* WorkQueueManager.h */,
			);
			name = TestRunner;
			sourceTree = "<group>";
		};
		08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */ = {
			isa = PBXGroup;
			children = (
				E1BA671D1742DA5A00C20251 /* Carbon.framework */,
				BC7934A411906584005EA8E2 /* Cocoa.framework */,
				BCDA2B991191051F00C3BC47 /* JavaScriptCore.framework */,
				41230E16138C78BF00BCCFCA /* libWebCoreTestSupport.dylib */,
				4181731B138AD39D0057AAA4 /* WebCoreTestSupport.h */,
				0F5169CA1445222D00E0A9D7 /* WebKit.framework */,
			);
			name = "External Frameworks and Libraries";
			sourceTree = "<group>";
		};
		0F18E71A1D6BC4BC0027E547 /* TestRunnerShared */ = {
			isa = PBXGroup;
			children = (
				0F18E71B1D6BC4E60027E547 /* Bindings */,
				F4B6C31620E84369008AC225 /* cocoa */,
				F4FED31D23582120003C139C /* mac */,
				0F73B5471BA782FE004B3EF4 /* UIScriptContext */,
				3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */,
				3148A0541E6F85B600D3B316 /* IOSLayoutTestCommunication.h */,
				93C7881F250C69E400C0AA24 /* ReftestFunctions.cpp */,
				93C78820250C69E400C0AA24 /* ReftestFunctions.h */,
				7CFF9BC72534AF1D0008009F /* TestCommand.cpp */,
				7CFF9BC82534AF1D0008009F /* TestCommand.h */,
				7CFF9BC62534AF1D0008009F /* TestFeatures.cpp */,
				7CFF9BC52534AF1D0008009F /* TestFeatures.h */,
			);
			name = TestRunnerShared;
			sourceTree = "<group>";
		};
		0F18E71B1D6BC4E60027E547 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				93C78830250C719900C0AA24 /* JSBasics.cpp */,
				93C7882F250C719900C0AA24 /* JSBasics.h */,
				0F18E7141D6BC4560027E547 /* JSWrappable.h */,
				0F18E7151D6BC4560027E547 /* JSWrapper.cpp */,
				0F18E7161D6BC4560027E547 /* JSWrapper.h */,
			);
			name = Bindings;
			sourceTree = "<group>";
		};
		0F73B5471BA782FE004B3EF4 /* UIScriptContext */ = {
			isa = PBXGroup;
			children = (
				0F73B54B1BA78350004B3EF4 /* Bindings */,
				0F73B54E1BA78954004B3EF4 /* Derived Sources */,
				2DD4C4971D6E7D3B0007379C /* Event Serialization */,
				2DB6187F1D7D598800978D19 /* spi */,
				0F18E6DD1D6B9AAF0027E547 /* UIScriptContext.cpp */,
				0F18E6DE1D6B9AAF0027E547 /* UIScriptContext.h */,
				0F18E6E01D6B9AAF0027E547 /* UIScriptController.h */,
				0F18E6DF1D6B9AAF0027E547 /* UIScriptControllerShared.cpp */,
			);
			name = UIScriptContext;
			sourceTree = "<group>";
		};
		0F73B54B1BA78350004B3EF4 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				0F18E6E31D6B9ABF0027E547 /* UIScriptController.idl */,
			);
			name = Bindings;
			sourceTree = "<group>";
		};
		0F73B54E1BA78954004B3EF4 /* Derived Sources */ = {
			isa = PBXGroup;
			children = (
				0F73B54F1BA78968004B3EF4 /* JSUIScriptController.cpp */,
				0F73B5501BA78968004B3EF4 /* JSUIScriptController.h */,
			);
			name = "Derived Sources";
			path = DerivedSources/WebKitTestRunner;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		0FEB909D1905A75D000FDBF3 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				65EB859F11EC67CC0034D300 /* ActivateFontsCocoa.mm */,
				0FEB909E1905A776000FDBF3 /* InjectedBundlePageCocoa.mm */,
			);
			path = cocoa;
			sourceTree = "<group>";
		};
		0FEB90A11905BC4A000FDBF3 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				0FEB90A21905BC6A000FDBF3 /* CrashReporterInfo.h */,
				0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */,
				2904FA1D265CC5D900A7EBC9 /* StringFunctionsCocoa.h */,
				2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */,
				0F87B6141BACC4B9004EC572 /* TestRunnerWKWebView.h */,
				0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */,
				41C5378C21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.h */,
				41C5378D21F1333C008B1FAD /* TestWebsiteDataStoreDelegate.mm */,
				2D058E0822E2EE2200E4C145 /* UIScriptControllerCocoa.h */,
				F46240AF2170128300917B16 /* UIScriptControllerCocoa.mm */,
				51998A072810FBD1009D68EB /* WebNotificationProviderCocoa.mm */,
			);
			path = cocoa;
			sourceTree = "<group>";
		};
		1AB674ADFE9D54B511CA2CBB /* Products */ = {
			isa = PBXGroup;
			children = (
				8DD76FA10486AA7600D96B5E /* WebKitTestRunner */,
				A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */,
				2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */,
				BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */,
			);
			name = Products;
			sourceTree = "<group>";
		};
		29A8FCE0145F035D009045A6 /* Accessibility */ = {
			isa = PBXGroup;
			children = (
				29210EA2144CAAA500835BB5 /* AccessibilityController.cpp */,
				29210EA3144CAAA500835BB5 /* AccessibilityController.h */,
				8097338814874A5A008156D9 /* AccessibilityNotificationHandler.h */,
				8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */,
				29210EB1144CACD400835BB5 /* AccessibilityTextMarker.cpp */,
				29210EB2144CACD400835BB5 /* AccessibilityTextMarker.h */,
				29210EB3144CACD400835BB5 /* AccessibilityTextMarkerMac.mm */,
				29A8FCE1145F037B009045A6 /* AccessibilityTextMarkerRange.cpp */,
				29A8FCDF145F0358009045A6 /* AccessibilityTextMarkerRange.h */,
				29210EA9144CACB200835BB5 /* AccessibilityUIElement.cpp */,
				29210EAA144CACB200835BB5 /* AccessibilityUIElement.h */,
			);
			name = Accessibility;
			sourceTree = "<group>";
		};
		2DB6187F1D7D598800978D19 /* spi */ = {
			isa = PBXGroup;
			children = (
				2DB6187D1D7D58D400978D19 /* CoreGraphicsTestSPI.h */,
			);
			name = spi;
			sourceTree = "<group>";
		};
		2DD4C4971D6E7D3B0007379C /* Event Serialization */ = {
			isa = PBXGroup;
			children = (
				2DFA984A1D7F79E000AFF2C9 /* mac */,
			);
			name = "Event Serialization";
			path = ../TestRunnerShared/EventSerialization;
			sourceTree = "<group>";
		};
		2DFA984A1D7F79E000AFF2C9 /* mac */ = {
			isa = PBXGroup;
			children = (
				2DD4C4981D6E7D3B0007379C /* EventSerializerMac.h */,
				2DD4C4991D6E7D3B0007379C /* EventSerializerMac.mm */,
				2DFA98461D7F70CF00AFF2C9 /* SharedEventStreamsMac.h */,
				2DFA98471D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm */,
			);
			name = mac;
			sourceTree = "<group>";
		};
		2E63ED741891ACE9002A7AFC /* ios */ = {
			isa = PBXGroup;
			children = (
				2E63ED751891ACE9002A7AFC /* AccessibilityControllerIOS.mm */,
				2E63ED761891ACE9002A7AFC /* AccessibilityNotificationHandler.h */,
				2E63ED771891ACE9002A7AFC /* AccessibilityTextMarkerIOS.mm */,
				2E63ED781891ACE9002A7AFC /* AccessibilityUIElementIOS.mm */,
				2E63ED7A1891ACE9002A7AFC /* EventSenderProxyIOS.mm */,
				2E63ED7B1891ACE9002A7AFC /* InjectedBundleIOS.mm */,
			);
			path = ios;
			sourceTree = "<group>";
		};
		2EE52CE11890A9A80010ED21 /* Frameworks */ = {
			isa = PBXGroup;
			children = (
				2EE52CE41890A9A80010ED21 /* CoreGraphics.framework */,
				2EE52CE21890A9A80010ED21 /* Foundation.framework */,
				0F73B5571BA7929E004B3EF4 /* JavaScriptCore.framework */,
				570E75A42152DA2C00324B6E /* Security.framework */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */ = {
			isa = PBXGroup;
			children = (
				0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */,
				2EE52D161890A9FB0010ED21 /* mainIOS.mm */,
			);
			path = WebKitTestRunnerApp;
			sourceTree = "<group>";
		};
		2EE52D121890A9FB0010ED21 /* ios */ = {
			isa = PBXGroup;
			children = (
				F47A0ECE285FB1B3001D0ECE /* EditMenuInteractionSwizzler.h */,
				F47A0ECF285FB1B3001D0ECE /* EditMenuInteractionSwizzler.mm */,
				4430AE181F82C4EF0099915A /* GeneratedTouchesDebugWindow.h */,
				4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */,
				0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */,
				0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */,
				2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */,
				2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */,
				F415C22A27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.h */,
				F415C22B27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.mm */,
				2D0BEE1722EAD1360092B738 /* UIScriptControllerIOS.h */,
				0F73B55B1BA89042004B3EF4 /* UIScriptControllerIOS.mm */,
			);
			path = ios;
			sourceTree = "<group>";
		};
		65EB859E11EC67CC0034D300 /* mac */ = {
			isa = PBXGroup;
			children = (
				299E2AA41E3DEE140065DC30 /* AccessibilityCommonMac.h */,
				29210EAB144CACB200835BB6 /* AccessibilityCommonMac.mm */,
				8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */,
				29A8FCE4145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm */,
				29210EAB144CACB200835BB5 /* AccessibilityUIElementMac.mm */,
				BC8DAD771316D7B900EC96FC /* InjectedBundleMac.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		7C8A1F5425351EC600C5291E /* Scripts */ = {
			isa = PBXGroup;
			children = (
				7C8A1F5525351EC600C5291E /* PreferencesTemplates */,
				7C8A1F5725351EC600C5291E /* check-xcfilelists.sh */,
				7C8A1F5825351EC600C5291E /* generate-derived-sources.sh */,
			);
			path = Scripts;
			sourceTree = "<group>";
		};
		7C8A1F5525351EC600C5291E /* PreferencesTemplates */ = {
			isa = PBXGroup;
			children = (
				7C8A1F5625351EC600C5291E /* TestOptionsGeneratedKeys.h.erb */,
			);
			path = PreferencesTemplates;
			sourceTree = "<group>";
		};
		7CAA0E7525353BC500C519E5 /* Derived Sources */ = {
			isa = PBXGroup;
			children = (
				7CAA0E7625353BF500C519E5 /* TestOptionsGeneratedKeys.h */,
			);
			name = "Derived Sources";
			path = DerivedSources/WebKitTestRunner;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		BC14E4E0120E02F900826C0C /* Controllers */ = {
			isa = PBXGroup;
			children = (
				29A8FCE0145F035D009045A6 /* Accessibility */,
				BC8FD8C9120E527F00F3E71A /* EventSendingController.cpp */,
				BC8FD8C8120E527F00F3E71A /* EventSendingController.h */,
				BC14E4D9120E02D000826C0C /* GCController.cpp */,
				BC14E4D8120E02D000826C0C /* GCController.h */,
				BCC9981711D3F51E0017BCA2 /* TestRunner.cpp */,
				BCC9981611D3F51E0017BCA2 /* TestRunner.h */,
				C0CE720A1247C93300BC0EC4 /* TestRunnerMac.mm */,
				5664A49814326384008881BE /* TextInputController.cpp */,
				5664A49914326384008881BE /* TextInputController.h */,
			);
			name = Controllers;
			sourceTree = "<group>";
		};
		BC25183511D1571D002EBC01 /* InjectedBundle */ = {
			isa = PBXGroup;
			children = (
				BC952C0A11F3B939003398B4 /* Bindings */,
				0FEB909D1905A75D000FDBF3 /* cocoa */,
				BC14E4E0120E02F900826C0C /* Controllers */,
				BC952D3A11F3BF1F003398B4 /* Derived Sources */,
				2E63ED741891ACE9002A7AFC /* ios */,
				65EB859E11EC67CC0034D300 /* mac */,
				65EB859D11EC67CC0034D300 /* ActivateFonts.h */,
				BCC997A011D3C8F60017BCA2 /* InjectedBundle.cpp */,
				BCC997A111D3C8F60017BCA2 /* InjectedBundle.h */,
				BC25184611D15767002EBC01 /* InjectedBundleMain.cpp */,
				BCC997A211D3C8F60017BCA2 /* InjectedBundlePage.cpp */,
				BCC997A311D3C8F60017BCA2 /* InjectedBundlePage.h */,
			);
			path = InjectedBundle;
			sourceTree = "<group>";
		};
		BC25194411D15DBE002EBC01 /* Resources */ = {
			isa = PBXGroup;
			children = (
				6510A77711EC643800410867 /* AHEM____.TTF */,
				1CEA84DC203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf */,
				1CBA02941FD86EA100179C7D /* FakeHelvetica-Helvetica-400.ttf */,
				1CBA02931FD86EA100179C7D /* FakeHelvetica-Helvetica-500.ttf */,
				1CBA02921FD86EA100179C7D /* FakeHelvetica-Helvetica2-400.ttf */,
				1CBA02951FD86EA100179C7D /* FakeHelvetica-Helvetica2-500.ttf */,
				41D5B62522DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf */,
				1CA211C71BCA107300B2101F /* FontWithFeatures.otf */,
				1CA211C81BCA107300B2101F /* FontWithFeatures.ttf */,
				BC25186311D15D54002EBC01 /* InjectedBundle-Info.plist */,
				6510A77911EC643800410867 /* WebKitWeightWatcher100.ttf */,
				6510A77A11EC643800410867 /* WebKitWeightWatcher200.ttf */,
				6510A77B11EC643800410867 /* WebKitWeightWatcher300.ttf */,
				6510A77C11EC643800410867 /* WebKitWeightWatcher400.ttf */,
				6510A77D11EC643800410867 /* WebKitWeightWatcher500.ttf */,
				6510A77E11EC643800410867 /* WebKitWeightWatcher600.ttf */,
				6510A77F11EC643800410867 /* WebKitWeightWatcher700.ttf */,
				6510A78011EC643800410867 /* WebKitWeightWatcher800.ttf */,
				6510A78111EC643800410867 /* WebKitWeightWatcher900.ttf */,
			);
			name = Resources;
			sourceTree = "<group>";
		};
		BC7933FE118F7C74005EA8E2 /* mac */ = {
			isa = PBXGroup;
			children = (
				5670B8271386FCA5002EB355 /* EventSenderProxy.mm */,
				BC7933FF118F7C84005EA8E2 /* main.mm */,
				BC7934E711906846005EA8E2 /* PlatformWebViewMac.mm */,
				BC8C795B11D2785D004535A1 /* TestControllerMac.mm */,
				2D058E0A22E2EF6D00E4C145 /* UIScriptControllerMac.h */,
				0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */,
				E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */,
				E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */,
				E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */,
				E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */,
				E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */,
				E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */,
				93764177210D736100A3DAAE /* WebKitTestRunnerWindow.h */,
				93764176210D736000A3DAAE /* WebKitTestRunnerWindow.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		BC793401118F7C8A005EA8E2 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				BC793426118F7D3C005EA8E2 /* Base.xcconfig */,
				0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */,
				BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */,
				BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */,
				A1B89B94221E026B00EB4CEA /* SDKVariant.xcconfig */,
				57A0062C22976E4D00AD08BD /* WebKitTestRunner.entitlements */,
				A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */,
				9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.entitlements */,
				311183AA212B1AC70077BCE0 /* WebKitTestRunnerApp-watchOS.entitlements */,
				A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */,
				BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */,
			);
			path = Configurations;
			sourceTree = "<group>";
		};
		BC9192021333E4CD003011DC /* cg */ = {
			isa = PBXGroup;
			children = (
				BC9192041333E4F8003011DC /* TestInvocationCG.cpp */,
			);
			name = cg;
			sourceTree = "<group>";
		};
		BC952C0A11F3B939003398B4 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				29210EA8144CAB8800835BB5 /* AccessibilityController.idl */,
				29A8FCC5145B93C6009045A6 /* AccessibilityTextMarker.idl */,
				29A8FCD2145EF8F2009045A6 /* AccessibilityTextMarkerRange.idl */,
				29210EDC144CD56E00835BB5 /* AccessibilityUIElement.idl */,
				BC952ED311F3C318003398B4 /* CodeGeneratorTestRunner.pm */,
				BC8FD8CB120E52B000F3E71A /* EventSendingController.idl */,
				BC14E4E1120E032000826C0C /* GCController.idl */,
				BC952ED211F3C29F003398B4 /* TestRunner.idl */,
				5664A49614326377008881BE /* TextInputController.idl */,
			);
			path = Bindings;
			sourceTree = "<group>";
		};
		BC952D3A11F3BF1F003398B4 /* Derived Sources */ = {
			isa = PBXGroup;
			children = (
				583913D014335E95008307E5 /* JSAccessibilityController.cpp */,
				583913D114335E95008307E5 /* JSAccessibilityController.h */,
				29210EE1144CDE6789815EE5 /* JSAccessibilityTextMarker.cpp */,
				29210EE1145CDE6789815EE5 /* JSAccessibilityTextMarker.h */,
				29A8FCE1345E7021006AA5A6 /* JSAccessibilityTextMarkerRange.cpp */,
				29A8FCE1345E7021006AA5A7 /* JSAccessibilityTextMarkerRange.h */,
				29210EDB146727E711835BB5 /* JSAccessibilityUIElement.cpp */,
				29210EDB146727E811835BB5 /* JSAccessibilityUIElement.h */,
				BC8FD8D0120E545B00F3E71A /* JSEventSendingController.cpp */,
				BC8FD8D1120E545B00F3E71A /* JSEventSendingController.h */,
				BC14E4E8120E03D800826C0C /* JSGCController.cpp */,
				BC14E4E9120E03D800826C0C /* JSGCController.h */,
				BC952F1D11F3C652003398B4 /* JSTestRunner.cpp */,
				BC952F1E11F3C652003398B4 /* JSTestRunner.h */,
				5641E2CE14335E95008307E5 /* JSTextInputController.cpp */,
				5641E2CF14335E95008307E5 /* JSTextInputController.h */,
			);
			name = "Derived Sources";
			path = DerivedSources/WebKitTestRunner;
			sourceTree = BUILT_PRODUCTS_DIR;
		};
		BC99CBF11207642D00FDEE76 /* Shared */ = {
			isa = PBXGroup;
			children = (
				378D442213346D00006A777B /* config.h */,
				510E2F3827741F8300809333 /* DataFunctions.h */,
				9338D1BE250BD9DD00E827F6 /* DictionaryFunctions.h */,
				BC99A4841208901A007E9F08 /* StringFunctions.h */,
				9B36A270209453A0003E0651 /* WhatToDump.h */,
			);
			name = Shared;
			sourceTree = "<group>";
		};
		F4B6C31620E84369008AC225 /* cocoa */ = {
			isa = PBXGroup;
			children = (
				F44A531521B899DA00DBB99C /* ClassMethodSwizzler.h */,
				F44A531421B899DA00DBB99C /* ClassMethodSwizzler.mm */,
				F44A531321B899DA00DBB99C /* InstanceMethodSwizzler.h */,
				F44A531621B899DA00DBB99C /* InstanceMethodSwizzler.mm */,
				F4C3578B20E8444000FA0748 /* LayoutTestSpellChecker.h */,
				F4C3578A20E8444000FA0748 /* LayoutTestSpellChecker.mm */,
				932BB9BD270E27000094CC33 /* ModifierKeys.h */,
				932BB9BE270E27000094CC33 /* ModifierKeys.mm */,
				2E2A765B2370C8A0008F9FFE /* PlatformViewHelpers.h */,
				2E2A765C2370C8A0008F9FFE /* PlatformViewHelpers.mm */,
				F4010B7D24DA204800A876E2 /* PoseAsClass.h */,
				F4010B7C24DA204800A876E2 /* PoseAsClass.mm */,
			);
			name = cocoa;
			sourceTree = "<group>";
		};
		F4FED31D23582120003C139C /* mac */ = {
			isa = PBXGroup;
			children = (
				F4FED3212358215E003C139C /* NSPasteboardAdditions.h */,
				F4FED3222358215E003C139C /* NSPasteboardAdditions.mm */,
			);
			name = mac;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		A18510251B9ADE4800744AEB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2DB6187E1D7D58D400978D19 /* CoreGraphicsTestSPI.h in Headers */,
				F47A0ED3285FB2AE001D0ECE /* EditMenuInteractionSwizzler.h in Headers */,
				2DD4C49A1D6E7D3B0007379C /* EventSerializerMac.h in Headers */,
				0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */,
				2DFA98481D7F70CF00AFF2C9 /* SharedEventStreamsMac.h in Headers */,
				2904FA1E265CC5D900A7EBC9 /* StringFunctionsCocoa.h in Headers */,
				F415C22C27AF52D30028F505 /* UIPasteboardConsistencyEnforcer.h in Headers */,
				2D058E0922E2EE2200E4C145 /* UIScriptControllerCocoa.h in Headers */,
				2D058E0B22E2EF6D00E4C145 /* UIScriptControllerMac.h in Headers */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXHeadersBuildPhase section */

/* Begin PBXNativeTarget section */
		2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerApp" */;
			buildPhases = (
				2EE52CDC1890A9A80010ED21 /* Sources */,
				2EE52CDD1890A9A80010ED21 /* Frameworks */,
				2EE52CDE1890A9A80010ED21 /* Resources */,
				CEC209031D36E36A00261596 /* Copy Plug-Ins */,
			);
			buildRules = (
			);
			dependencies = (
				A18510361B9ADE6D00744AEB /* PBXTargetDependency */,
			);
			name = WebKitTestRunnerApp;
			productName = WebKitTestRunnerApp;
			productReference = 2EE52CE01890A9A80010ED21 /* WebKitTestRunnerApp.app */;
			productType = "com.apple.product-type.application";
		};
		8DD76F960486AA7600D96B5E /* WebKitTestRunner */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = 1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "WebKitTestRunner" */;
			buildPhases = (
				8DD76F990486AA7600D96B5E /* Sources */,
				8DD76F9B0486AA7600D96B5E /* Frameworks */,
			);
			buildRules = (
			);
			dependencies = (
				A18510341B9ADE6200744AEB /* PBXTargetDependency */,
			);
			name = WebKitTestRunner;
			productInstallPath = "$(HOME)/bin";
			productName = WebKitTestRunner;
			productReference = 8DD76FA10486AA7600D96B5E /* WebKitTestRunner */;
			productType = "com.apple.product-type.tool";
		};
		A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = A185102D1B9ADE4800744AEB /* Build configuration list for PBXNativeTarget "WebKitTestRunner (Library)" */;
			buildPhases = (
				A18510231B9ADE4800744AEB /* Sources */,
				A18510241B9ADE4800744AEB /* Frameworks */,
				A18510251B9ADE4800744AEB /* Headers */,
			);
			buildRules = (
			);
			dependencies = (
				A18510321B9ADE5B00744AEB /* PBXTargetDependency */,
			);
			name = "WebKitTestRunner (Library)";
			productName = WebKitTestRunnerLibrary;
			productReference = A18510271B9ADE4800744AEB /* libWebKitTestRunner.a */;
			productType = "com.apple.product-type.library.static";
		};
		BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */ = {
			isa = PBXNativeTarget;
			buildConfigurationList = BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerInjectedBundle" */;
			buildPhases = (
				BC25185E11D15D54002EBC01 /* Resources */,
				BC25185F11D15D54002EBC01 /* Sources */,
				BC25186011D15D54002EBC01 /* Frameworks */,
				53A8193A21E52973000B93AB /* Check .xcfilelists */,
			);
			buildRules = (
			);
			dependencies = (
				BC952ED711F3C38B003398B4 /* PBXTargetDependency */,
			);
			name = WebKitTestRunnerInjectedBundle;
			productName = InjectedBundle;
			productReference = BC25186211D15D54002EBC01 /* WebKitTestRunnerInjectedBundle.bundle */;
			productType = "com.apple.product-type.bundle";
		};
/* End PBXNativeTarget section */

/* Begin PBXProject section */
		08FB7793FE84155DC02AAC07 /* Project object */ = {
			isa = PBXProject;
			attributes = {
				LastSwiftUpdateCheck = 0700;
				LastUpgradeCheck = 1140;
				TargetAttributes = {
					5325BDD921DFF4F500A0DEE1 = {
						CreatedOnToolsVersion = 10.1;
					};
					A115CCB41B9D769D00E89159 = {
						CreatedOnToolsVersion = 7.0;
					};
					A18510261B9ADE4800744AEB = {
						CreatedOnToolsVersion = 7.0;
					};
				};
			};
			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = en;
			hasScannedForEncodings = 1;
			knownRegions = (
				en,
				Base,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A115CCB41B9D769D00E89159 /* All */,
				8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
				2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
				BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
				BC952D7711F3BF5D003398B4 /* Derived Sources */,
				A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
				5325BDD921DFF4F500A0DEE1 /* Apply Configuration to XCFileLists */,
			);
		};
/* End PBXProject section */

/* Begin PBXResourcesBuildPhase section */
		2EE52CDE1890A9A80010ED21 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				0F4B08731D5BE88D00EC1B78 /* Launch.storyboard in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25185E11D15D54002EBC01 /* Resources */ = {
			isa = PBXResourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				6510A78211EC643800410867 /* AHEM____.TTF in Resources */,
				1CEA84DD203782ED00440D08 /* FakeHelvetica-ArmenianCharacter.ttf in Resources */,
				1CBA02991FD87DF300179C7D /* FakeHelvetica-Helvetica-400.ttf in Resources */,
				1CBA02981FD87DF000179C7D /* FakeHelvetica-Helvetica-500.ttf in Resources */,
				1CBA02971FD87DEE00179C7D /* FakeHelvetica-Helvetica2-400.ttf in Resources */,
				1CBA02961FD87DEC00179C7D /* FakeHelvetica-Helvetica2-500.ttf in Resources */,
				41D5B62622DD9D36000F4C4A /* FakeHelvetica-SingleExtendedCharacter.ttf in Resources */,
				1CA211C91BCA107300B2101F /* FontWithFeatures.otf in Resources */,
				1CA211CA1BCA107300B2101F /* FontWithFeatures.ttf in Resources */,
				6510A78411EC643800410867 /* WebKitWeightWatcher100.ttf in Resources */,
				6510A78511EC643800410867 /* WebKitWeightWatcher200.ttf in Resources */,
				6510A78611EC643800410867 /* WebKitWeightWatcher300.ttf in Resources */,
				6510A78711EC643800410867 /* WebKitWeightWatcher400.ttf in Resources */,
				6510A78811EC643800410867 /* WebKitWeightWatcher500.ttf in Resources */,
				6510A78911EC643800410867 /* WebKitWeightWatcher600.ttf in Resources */,
				6510A78A11EC643800410867 /* WebKitWeightWatcher700.ttf in Resources */,
				6510A78B11EC643800410867 /* WebKitWeightWatcher800.ttf in Resources */,
				6510A78C11EC643800410867 /* WebKitWeightWatcher900.ttf in Resources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXResourcesBuildPhase section */

/* Begin PBXShellScriptBuildPhase section */
		5325BDDE21DFF4F800A0DEE1 /* ShellScript */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "eval \"${WK_SUBLAUNCH_SCRIPT_PARAMETERS[@]}\"\n";
		};
		53A8193A21E52973000B93AB /* Check .xcfilelists */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
			);
			inputPaths = (
			);
			name = "Check .xcfilelists";
			outputFileListPaths = (
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "Scripts/check-xcfilelists.sh\n";
		};
		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputFileListPaths = (
				"$(SRCROOT)/DerivedSources-input.xcfilelist",
			);
			inputPaths = (
			);
			name = "Generate Derived Sources";
			outputFileListPaths = (
				"$(SRCROOT)/DerivedSources-output.xcfilelist",
			);
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "Scripts/generate-derived-sources.sh\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		2EE52CDC1890A9A80010ED21 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F47A0ED2285FB1C1001D0ECE /* EditMenuInteractionSwizzler.mm in Sources */,
				2E749BF21891EBFA007FC175 /* EventSenderProxyIOS.mm in Sources */,
				4430AE191F82C4FD0099915A /* GeneratedTouchesDebugWindow.mm in Sources */,
				0FEBF85A1BB61DF20028722D /* HIDEventGenerator.mm in Sources */,
				2E63ED941891ADAD002A7AFC /* mainIOS.mm in Sources */,
				2E63ED911891ADAD002A7AFC /* PlatformWebViewIOS.mm in Sources */,
				2E63ED921891ADAD002A7AFC /* TestControllerIOS.mm in Sources */,
				F415C23527AF5B390028F505 /* UIPasteboardConsistencyEnforcer.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F990486AA7600D96B5E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */,
				BC793400118F7C84005EA8E2 /* main.mm in Sources */,
				F4FED324235823A3003C139C /* NSPasteboardAdditions.mm in Sources */,
				BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */,
				BC8C795C11D2785D004535A1 /* TestControllerMac.mm in Sources */,
				0F87B6131BACAD82004EC572 /* UIScriptControllerMac.mm in Sources */,
				E132AA3A17CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm in Sources */,
				E132AA3D17CE776F00611DF0 /* WebKitTestRunnerEvent.mm in Sources */,
				E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */,
				9376417A210D737200A3DAAE /* WebKitTestRunnerWindow.mm in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510231B9ADE4800744AEB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				F44A531721B899E200DBB99C /* ClassMethodSwizzler.mm in Sources */,
				A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */,
				A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */,
				2DD4C49B1D6E7D3B0007379C /* EventSerializerMac.mm in Sources */,
				A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */,
				F44A531821B899E500DBB99C /* InstanceMethodSwizzler.mm in Sources */,
				31DA8A3D1E7205CC00E1DF2F /* IOSLayoutTestCommunication.cpp in Sources */,
				93C78832250C71B700C0AA24 /* JSBasics.cpp in Sources */,
				0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */,
				0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */,
				F4C3578C20E8444600FA0748 /* LayoutTestSpellChecker.mm in Sources */,
				932BB9C0270E27000094CC33 /* ModifierKeys.mm in Sources */,
				A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */,
				A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */,
				2E2A765D2370C8D1008F9FFE /* PlatformViewHelpers.mm in Sources */,
				F4010B7E24DA205300A876E2 /* PoseAsClass.mm in Sources */,
				2DFA98491D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm in Sources */,
				7CFF9BCB2534AF1D0008009F /* TestCommand.cpp in Sources */,
				A18510411B9AE13800744AEB /* TestController.cpp in Sources */,
				A185103B1B9AE0E200744AEB /* TestControllerCocoa.mm in Sources */,
				7CFF9BCA2534AF1D0008009F /* TestFeatures.cpp in Sources */,
				A18510421B9AE13E00744AEB /* TestInvocation.cpp in Sources */,
				A185103D1B9AE10600744AEB /* TestInvocationCG.cpp in Sources */,
				0F622CE91BBB3A1A00838AD3 /* TestOptions.cpp in Sources */,
				0F87B6171BACC4C0004EC572 /* TestRunnerWKWebView.mm in Sources */,
				41C5378E21F13414008B1FAD /* TestWebsiteDataStoreDelegate.mm in Sources */,
				0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */,
				F46240B1217013E500917B16 /* UIScriptControllerCocoa.mm in Sources */,
				277CCEDD250F300A0050C572 /* UIScriptControllerCommon.cpp in Sources */,
				0F73B55C1BA89042004B3EF4 /* UIScriptControllerIOS.mm in Sources */,
				0F18E6E61D6B9BA20027E547 /* UIScriptControllerShared.cpp in Sources */,
				A18510431B9AE14500744AEB /* WebNotificationProvider.cpp in Sources */,
				51998A082810FBD1009D68EB /* WebNotificationProviderCocoa.mm in Sources */,
				A18510441B9AE14A00744AEB /* WorkQueueManager.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		BC25185F11D15D54002EBC01 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				29210EDA144CC3EA00835BB6 /* AccessibilityCommonMac.mm in Sources */,
				29210EB0144CACBD00835BB5 /* AccessibilityController.cpp in Sources */,
				2E63ED8A1891AD7E002A7AFC /* AccessibilityControllerIOS.mm in Sources */,
				8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */,
				8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */,
				29210EB4144CACD500835BB5 /* AccessibilityTextMarker.cpp in Sources */,
				2E63ED8B1891AD7E002A7AFC /* AccessibilityTextMarkerIOS.mm in Sources */,
				29210EB5144CACD500835BB5 /* AccessibilityTextMarkerMac.mm in Sources */,
				29A8FCE2145F037B009045A6 /* AccessibilityTextMarkerRange.cpp in Sources */,
				29A8FCE5145F0464009045A6 /* AccessibilityTextMarkerRangeMac.mm in Sources */,
				29210EAE144CACB700835BB5 /* AccessibilityUIElement.cpp in Sources */,
				2E63EDA11891B291002A7AFC /* AccessibilityUIElementIOS.mm in Sources */,
				29210EDA144CC3EA00835BB5 /* AccessibilityUIElementMac.mm in Sources */,
				65EB85A011EC67CC0034D300 /* ActivateFontsCocoa.mm in Sources */,
				0FEB90A51905C016000FDBF3 /* CrashReporterInfo.mm in Sources */,
				2E63ED8E1891AD7E002A7AFC /* EventSenderProxyIOS.mm in Sources */,
				BC8FD8CA120E527F00F3E71A /* EventSendingController.cpp in Sources */,
				BC14E4DB120E02D000826C0C /* GCController.cpp in Sources */,
				BCC997A411D3C8F60017BCA2 /* InjectedBundle.cpp in Sources */,
				2E63ED8F1891AD7E002A7AFC /* InjectedBundleIOS.mm in Sources */,
				BC8DAD7B1316D91000EC96FC /* InjectedBundleMac.mm in Sources */,
				BC251A3E11D16831002EBC01 /* InjectedBundleMain.cpp in Sources */,
				BCC997A511D3C8F60017BCA2 /* InjectedBundlePage.cpp in Sources */,
				0FEB90A01905A834000FDBF3 /* InjectedBundlePageCocoa.mm in Sources */,
				29210EDB144CD47900835BB5 /* JSAccessibilityController.cpp in Sources */,
				29A8FCCB145EF02E009045A6 /* JSAccessibilityTextMarker.cpp in Sources */,
				29A8FCDD145F0337009045A6 /* JSAccessibilityTextMarkerRange.cpp in Sources */,
				29210EE1144CDB2600835BB5 /* JSAccessibilityUIElement.cpp in Sources */,
				93C78831250C719F00C0AA24 /* JSBasics.cpp in Sources */,
				BC8FD8D2120E545B00F3E71A /* JSEventSendingController.cpp in Sources */,
				BC14E4EA120E03D800826C0C /* JSGCController.cpp in Sources */,
				BC952F1F11F3C652003398B4 /* JSTestRunner.cpp in Sources */,
				5641E2D014335E95008307E5 /* JSTextInputController.cpp in Sources */,
				0F6E89031D6BC5A2008ED0FA /* JSWrapper.cpp in Sources */,
				93C78823250C6C2E00C0AA24 /* ReftestFunctions.cpp in Sources */,
				2E63EDA61891BDC0002A7AFC /* TestRunner.cpp in Sources */,
				C0CE720B1247C93300BC0EC4 /* TestRunnerMac.mm in Sources */,
				5664A49A14326384008881BE /* TextInputController.cpp in Sources */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
/* End PBXSourcesBuildPhase section */

/* Begin PBXTargetDependency section */
		A115CCBA1B9D76BF00E89159 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 8DD76F960486AA7600D96B5E /* WebKitTestRunner */;
			targetProxy = A115CCB91B9D76BF00E89159 /* PBXContainerItemProxy */;
		};
		A115CCBC1B9D76C400E89159 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = 2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */;
			targetProxy = A115CCBB1B9D76C400E89159 /* PBXContainerItemProxy */;
		};
		A18510321B9ADE5B00744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */;
			targetProxy = A18510311B9ADE5B00744AEB /* PBXContainerItemProxy */;
		};
		A18510341B9ADE6200744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */;
			targetProxy = A18510331B9ADE6200744AEB /* PBXContainerItemProxy */;
		};
		A18510361B9ADE6D00744AEB /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */;
			targetProxy = A18510351B9ADE6D00744AEB /* PBXContainerItemProxy */;
		};
		BC952ED711F3C38B003398B4 /* PBXTargetDependency */ = {
			isa = PBXTargetDependency;
			target = BC952D7711F3BF5D003398B4 /* Derived Sources */;
			targetProxy = BC952ED611F3C38B003398B4 /* PBXContainerItemProxy */;
		};
/* End PBXTargetDependency section */

/* Begin XCBuildConfiguration section */
		1DEB927508733DD40010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1DEB927608733DD40010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		1DEB927908733DD40010E9CD /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		1DEB927A08733DD40010E9CD /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		2EE52D091890A9A90010ED21 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				GCC_DYNAMIC_NO_PIC = NO;
				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Debug;
		};
		2EE52D0A1890A9A90010ED21 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Release;
		};
		2EE52D0B1890A9A90010ED21 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510391B9ADFF800744AEB /* WebKitTestRunnerApp.xcconfig */;
			buildSettings = {
				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
				INFOPLIST_FILE = "WebKitTestRunnerApp/WebKitTestRunnerApp-Info.plist";
				PRODUCT_NAME = "$(TARGET_NAME)";
				WRAPPER_EXTENSION = app;
			};
			name = Production;
		};
		5325BDDA21DFF4F500A0DEE1 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		5325BDDB21DFF4F500A0DEE1 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		5325BDDC21DFF4F500A0DEE1 /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
				CODE_SIGN_STYLE = Automatic;
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Production;
		};
		A115CCB61B9D769D00E89159 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Debug;
		};
		A115CCB71B9D769D00E89159 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Release;
		};
		A115CCB81B9D769D00E89159 /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "$(TARGET_NAME)";
			};
			name = Production;
		};
		A185102E1B9ADE4800744AEB /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		A185102F1B9ADE4800744AEB /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		A18510301B9ADE4800744AEB /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC251A1811D16795002EBC01 /* WebKitTestRunnerLibrary.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC25186411D15D55002EBC01 /* Debug */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Debug;
		};
		BC25186511D15D55002EBC01 /* Release */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Release;
		};
		BC646D6D136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC793426118F7D3C005EA8E2 /* Base.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D6E136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D6F136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			baseConfigurationReference = BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */;
			buildSettings = {
			};
			name = Production;
		};
		BC646D70136A3A8700B35DED /* Production */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Production;
		};
		BC952D7811F3BF5E003398B4 /* Debug */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Debug;
		};
		BC952D7911F3BF5E003398B4 /* Release */ = {
			isa = XCBuildConfiguration;
			buildSettings = {
				PRODUCT_NAME = "Derived Sources";
			};
			name = Release;
		};
/* End XCBuildConfiguration section */

/* Begin XCConfigurationList section */
		1DEB927408733DD40010E9CD /* Build configuration list for PBXNativeTarget "WebKitTestRunner" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB927508733DD40010E9CD /* Debug */,
				1DEB927608733DD40010E9CD /* Release */,
				BC646D6E136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				1DEB927908733DD40010E9CD /* Debug */,
				1DEB927A08733DD40010E9CD /* Release */,
				BC646D6D136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		2EE52D0F1890A9A90010ED21 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerApp" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				2EE52D091890A9A90010ED21 /* Debug */,
				2EE52D0A1890A9A90010ED21 /* Release */,
				2EE52D0B1890A9A90010ED21 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		5325BDDD21DFF4F500A0DEE1 /* Build configuration list for PBXAggregateTarget "Apply Configuration to XCFileLists" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				5325BDDA21DFF4F500A0DEE1 /* Debug */,
				5325BDDB21DFF4F500A0DEE1 /* Release */,
				5325BDDC21DFF4F500A0DEE1 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A115CCB51B9D769D00E89159 /* Build configuration list for PBXAggregateTarget "All" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A115CCB61B9D769D00E89159 /* Debug */,
				A115CCB71B9D769D00E89159 /* Release */,
				A115CCB81B9D769D00E89159 /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		A185102D1B9ADE4800744AEB /* Build configuration list for PBXNativeTarget "WebKitTestRunner (Library)" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				A185102E1B9ADE4800744AEB /* Debug */,
				A185102F1B9ADE4800744AEB /* Release */,
				A18510301B9ADE4800744AEB /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		BC25186611D15D55002EBC01 /* Build configuration list for PBXNativeTarget "WebKitTestRunnerInjectedBundle" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				BC25186411D15D55002EBC01 /* Debug */,
				BC25186511D15D55002EBC01 /* Release */,
				BC646D6F136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
		BC952D7D11F3BF6A003398B4 /* Build configuration list for PBXAggregateTarget "Derived Sources" */ = {
			isa = XCConfigurationList;
			buildConfigurations = (
				BC952D7811F3BF5E003398B4 /* Debug */,
				BC952D7911F3BF5E003398B4 /* Release */,
				BC646D70136A3A8700B35DED /* Production */,
			);
			defaultConfigurationIsVisible = 0;
			defaultConfigurationName = Production;
		};
/* End XCConfigurationList section */
	};
	rootObject = 08FB7793FE84155DC02AAC07 /* Project object */;
}
