	var doBootstrap = function() {
		element = jqLite(element);

		if (element.injector()) {
			var tag =
				element[0] === window.document ? "document" : startingTag(element);
			// Encode angle brackets to prevent input from being sanitized to empty string #8683.
			throw ngMinErr(
				"btstrpd",
				"App already bootstrapped with this element '{0}'",
				tag.replace(/</, "&lt;").replace(/>/, "&gt;")
			);
		}

		modules = modules || [];
		modules.unshift([
			"$provide",
			function($provide) {
				$provide.value("$rootElement", element);
			}
		]);

		if (config.debugInfoEnabled) {
			// Pushing so that this overrides `debugInfoEnabled` setting defined in user's `modules`.
			modules.push([
				"$compileProvider",
				function($compileProvider) {
					$compileProvider.debugInfoEnabled(true);
				}
			]);
		}

		modules.unshift("ng");
	};
The software constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.