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

/* Begin PBXAggregateTarget section */
		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 /* UIScriptController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F18E6DF1D6B9AAF0027E547 /* UIScriptController.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 */; };
		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 */; };
		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 */; };
		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 */; };
		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 */; };
		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 */; };
		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 */; };
		8034C6621487636400AC32E9 /* AccessibilityControllerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8034C6611487636400AC32E9 /* AccessibilityControllerMac.mm */; };
		8097338A14874A5A008156D9 /* AccessibilityNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8097338914874A5A008156D9 /* AccessibilityNotificationHandler.mm */; };
		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 */; };
		E1C642C317CBCC7300D66A3C /* PoseAsClass.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */; };
		E1C642C617CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm in Sources */ = {isa = PBXBuildFile; fileRef = E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.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 /* UIScriptController.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UIScriptController.cpp; path = ../TestRunnerShared/UIScriptContext/UIScriptController.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; name = TestRunnerWKWebView.h; path = cocoa/TestRunnerWKWebView.h; sourceTree = "<group>"; };
		0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = TestRunnerWKWebView.mm; path = cocoa/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; name = CrashReporterInfo.h; path = cocoa/CrashReporterInfo.h; sourceTree = "<group>"; };
		0FEB90A31905BC6A000FDBF3 /* CrashReporterInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = CrashReporterInfo.mm; path = cocoa/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>"; };
		0FEBF85B1BB62A370028722D /* IOKitSPI.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = IOKitSPI.h; path = ../TestRunnerShared/spi/IOKitSPI.h; 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>"; };
		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>"; };
		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; name = TestControllerCocoa.mm; path = cocoa/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>"; };
		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>"; };
		31268EB91EF06A3B001963E2 /* UIKitTestSPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UIKitTestSPI.h; path = ../TestRunnerShared/spi/UIKitTestSPI.h; 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; };
		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>"; };
		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>"; };
		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>"; };
		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; };
		9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.entitlements; path = "WebKitTestRunnerApp-iOS.entitlements"; 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>"; };
		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; };
		E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PoseAsClass.mm; sourceTree = "<group>"; };
		E1C642C217CBCC7300D66A3C /* PoseAsClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PoseAsClass.h; sourceTree = "<group>"; };
		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>"; };
/* End PBXFileReference section */

/* Begin PBXFrameworksBuildPhase section */
		2EE52CDD1890A9A80010ED21 /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F9B0486AA7600D96B5E /* Frameworks */ = {
			isa = PBXFrameworksBuildPhase;
			buildActionMask = 2147483647;
			files = (
				51058AD51D678820009A538C /* libWebCoreTestSupport.dylib 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 = (
				0F18E71A1D6BC4BC0027E547 /* TestRunnerShared */,
				BC952EC511F3C10F003398B4 /* DerivedSources.make */,
				2EE52CEA1890A9A80010ED21 /* WebKitTestRunnerApp-Info.plist */,
				BC99CBF11207642D00FDEE76 /* Shared */,
				08FB7795FE84155DC02AAC07 /* TestRunner */,
				BC25183511D1571D002EBC01 /* InjectedBundle */,
				BC793401118F7C8A005EA8E2 /* Configurations */,
				08FB779DFE84155DC02AAC07 /* External Frameworks and Libraries */,
				BC25194411D15DBE002EBC01 /* Resources */,
				2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */,
				2EE52CE11890A9A80010ED21 /* Frameworks */,
				1AB674ADFE9D54B511CA2CBB /* Products */,
			);
			name = WebKitTestRunner;
			sourceTree = "<group>";
		};
		08FB7795FE84155DC02AAC07 /* TestRunner */ = {
			isa = PBXGroup;
			children = (
				BC9192021333E4CD003011DC /* cg */,
				0FEB90A11905BC4A000FDBF3 /* cocoa */,
				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 */,
				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 */,
				0F73B5471BA782FE004B3EF4 /* UIScriptContext */,
				3148A0531E6F85B600D3B316 /* IOSLayoutTestCommunication.cpp */,
				3148A0541E6F85B600D3B316 /* IOSLayoutTestCommunication.h */,
			);
			name = TestRunnerShared;
			sourceTree = "<group>";
		};
		0F18E71B1D6BC4E60027E547 /* Bindings */ = {
			isa = PBXGroup;
			children = (
				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 */,
				0F18E6DF1D6B9AAF0027E547 /* UIScriptController.cpp */,
				0F18E6E01D6B9AAF0027E547 /* UIScriptController.h */,
			);
			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 */,
				2DCE2CD11B84524500C7F832 /* TestControllerCocoa.mm */,
				0F87B6141BACC4B9004EC572 /* TestRunnerWKWebView.h */,
				0F87B6151BACC4B9004EC572 /* TestRunnerWKWebView.mm */,
			);
			name = 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 */,
				0FEBF85B1BB62A370028722D /* IOKitSPI.h */,
				31268EB91EF06A3B001963E2 /* UIKitTestSPI.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 */,
			);
			name = Frameworks;
			sourceTree = "<group>";
		};
		2EE52CE81890A9A80010ED21 /* WebKitTestRunnerApp */ = {
			isa = PBXGroup;
			children = (
				0F4B08721D5BE88D00EC1B78 /* Launch.storyboard */,
				2EE52D161890A9FB0010ED21 /* mainIOS.mm */,
			);
			path = WebKitTestRunnerApp;
			sourceTree = "<group>";
		};
		2EE52D121890A9FB0010ED21 /* ios */ = {
			isa = PBXGroup;
			children = (
				4430AE181F82C4EF0099915A /* GeneratedTouchesDebugWindow.h */,
				4430AE171F82C4EE0099915A /* GeneratedTouchesDebugWindow.mm */,
				0FEBF8581BB61DF20028722D /* HIDEventGenerator.h */,
				0FEBF8591BB61DF20028722D /* HIDEventGenerator.mm */,
				2EE52D131890A9FB0010ED21 /* PlatformWebViewIOS.mm */,
				2EE52D141890A9FB0010ED21 /* TestControllerIOS.mm */,
				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>";
		};
		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 */,
				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 */,
				E1C642C217CBCC7300D66A3C /* PoseAsClass.h */,
				E1C642C117CBCC7300D66A3C /* PoseAsClass.mm */,
				BC8C795B11D2785D004535A1 /* TestControllerMac.mm */,
				0F87B6111BACAD6F004EC572 /* UIScriptControllerMac.mm */,
				E132AA3917CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.h */,
				E132AA3817CD5F1000611DF0 /* WebKitTestRunnerDraggingInfo.mm */,
				E132AA3C17CE776F00611DF0 /* WebKitTestRunnerEvent.h */,
				E132AA3B17CE776F00611DF0 /* WebKitTestRunnerEvent.mm */,
				E1C642C517CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.h */,
				E1C642C417CBCD4C00D66A3C /* WebKitTestRunnerPasteboard.mm */,
			);
			path = mac;
			sourceTree = "<group>";
		};
		BC793401118F7C8A005EA8E2 /* Configurations */ = {
			isa = PBXGroup;
			children = (
				BC793426118F7D3C005EA8E2 /* Base.xcconfig */,
				0F2109C7189C650D00F879A3 /* BaseTarget.xcconfig */,
				BC793427118F7DAF005EA8E2 /* DebugRelease.xcconfig */,
				BC25197111D15E61002EBC01 /* InjectedBundle.xcconfig */,
				A18510381B9ADF2200744AEB /* WebKitTestRunner.xcconfig */,
				9B0D132E2036D346008FC8FB /* WebKitTestRunnerApp-iOS.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 */,
				BC99A4841208901A007E9F08 /* StringFunctions.h */,
			);
			name = Shared;
			sourceTree = "<group>";
		};
/* End PBXGroup section */

/* Begin PBXHeadersBuildPhase section */
		A18510251B9ADE4800744AEB /* Headers */ = {
			isa = PBXHeadersBuildPhase;
			buildActionMask = 2147483647;
			files = (
				2DB6187E1D7D58D400978D19 /* CoreGraphicsTestSPI.h in Headers */,
				2DD4C49A1D6E7D3B0007379C /* EventSerializerMac.h in Headers */,
				0F73B5521BA78968004B3EF4 /* JSUIScriptController.h in Headers */,
				2DFA98481D7F70CF00AFF2C9 /* SharedEventStreamsMac.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 */,
			);
			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;
				TargetAttributes = {
					A115CCB41B9D769D00E89159 = {
						CreatedOnToolsVersion = 7.0;
					};
					A18510261B9ADE4800744AEB = {
						CreatedOnToolsVersion = 7.0;
					};
				};
			};
			buildConfigurationList = 1DEB927808733DD40010E9CD /* Build configuration list for PBXProject "WebKitTestRunner" */;
			compatibilityVersion = "Xcode 3.1";
			developmentRegion = English;
			hasScannedForEncodings = 1;
			knownRegions = (
				English,
				Japanese,
				French,
				German,
				en,
			);
			mainGroup = 08FB7794FE84155DC02AAC07 /* WebKitTestRunner */;
			projectDirPath = "";
			projectRoot = "";
			targets = (
				A115CCB41B9D769D00E89159 /* All */,
				8DD76F960486AA7600D96B5E /* WebKitTestRunner */,
				2EE52CDF1890A9A80010ED21 /* WebKitTestRunnerApp */,
				BC25186111D15D54002EBC01 /* WebKitTestRunnerInjectedBundle */,
				BC952D7711F3BF5D003398B4 /* Derived Sources */,
				A18510261B9ADE4800744AEB /* WebKitTestRunner (Library) */,
			);
		};
/* 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 */,
				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 */
		BC952D8211F3BF78003398B4 /* Generate Derived Sources */ = {
			isa = PBXShellScriptBuildPhase;
			buildActionMask = 2147483647;
			files = (
			);
			inputPaths = (
			);
			name = "Generate Derived Sources";
			outputPaths = (
			);
			runOnlyForDeploymentPostprocessing = 0;
			shellPath = /bin/sh;
			shellScript = "mkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/WebKitTestRunner\"\n\nexport WebKitTestRunner=\"${SRCROOT}\"\nexport WebCoreScripts=\"${WEBCORE_PRIVATE_HEADERS_DIR}\"\n\nif [ ! $CC ]; then\n    export CC=\"`xcrun -find clang`\"\nfi\n\nif [ \"${ACTION}\" = \"build\" -o \"${ACTION}\" = \"install\" -o \"${ACTION}\" = \"installhdrs\" ]; then\n    make -f \"${WebKitTestRunner}/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.activecpu`\nfi\n";
		};
/* End PBXShellScriptBuildPhase section */

/* Begin PBXSourcesBuildPhase section */
		2EE52CDC1890A9A80010ED21 /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				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 */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		8DD76F990486AA7600D96B5E /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				5670B8281386FCA5002EB355 /* EventSenderProxy.mm in Sources */,
				BC793400118F7C84005EA8E2 /* main.mm in Sources */,
				BC7934E811906846005EA8E2 /* PlatformWebViewMac.mm in Sources */,
				E1C642C317CBCC7300D66A3C /* PoseAsClass.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 */,
			);
			runOnlyForDeploymentPostprocessing = 0;
		};
		A18510231B9ADE4800744AEB /* Sources */ = {
			isa = PBXSourcesBuildPhase;
			buildActionMask = 2147483647;
			files = (
				A185103A1B9AE0DA00744AEB /* CrashReporterInfo.mm in Sources */,
				A185103E1B9AE12200744AEB /* CyclicRedundancyCheck.cpp in Sources */,
				2DD4C49B1D6E7D3B0007379C /* EventSerializerMac.mm in Sources */,
				A185103F1B9AE12900744AEB /* GeolocationProviderMock.cpp in Sources */,
				31DA8A3D1E7205CC00E1DF2F /* IOSLayoutTestCommunication.cpp in Sources */,
				0F73B5511BA78968004B3EF4 /* JSUIScriptController.cpp in Sources */,
				0F18E7181D6BC4560027E547 /* JSWrapper.cpp in Sources */,
				A185103C1B9AE0FE00744AEB /* Options.cpp in Sources */,
				A18510401B9AE13100744AEB /* PixelDumpSupport.cpp in Sources */,
				2DFA98491D7F70CF00AFF2C9 /* SharedEventStreamsMac.mm in Sources */,
				A18510411B9AE13800744AEB /* TestController.cpp in Sources */,
				A185103B1B9AE0E200744AEB /* TestControllerCocoa.mm in Sources */,
				A18510421B9AE13E00744AEB /* TestInvocation.cpp in Sources */,
				A185103D1B9AE10600744AEB /* TestInvocationCG.cpp in Sources */,
				0F622CE91BBB3A1A00838AD3 /* TestOptions.cpp in Sources */,
				0F87B6171BACC4C0004EC572 /* TestRunnerWKWebView.mm in Sources */,
				0F18E6E51D6B9B9E0027E547 /* UIScriptContext.cpp in Sources */,
				0F18E6E61D6B9BA20027E547 /* UIScriptController.cpp in Sources */,
				0F73B55C1BA89042004B3EF4 /* UIScriptControllerIOS.mm in Sources */,
				A18510431B9AE14500744AEB /* WebNotificationProvider.cpp 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 */,
				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 */,
				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 = {
				DEBUG_DEFINES = "$(DEBUG_DEFINES_debug)";
				GCC_OPTIMIZATION_LEVEL = 0;
			};
			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;
		};
		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;
		};
		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 */;
}
