    public function __construct($data) {

        $this->data = $data;
        $this->char = -1;
        $this->EOF  = strlen($data);
        $this->tree = new HTML5TreeConstructer;
        $this->content_model = self::PCDATA;

        $this->state = 'data';

        while($this->state !== null) {
            $this->{$this->state.'State'}();
        }
    }
The software does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.