ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     ÿØÿà JFIF      ÿÛ C      

!"$"$ÿÛ C  ÿÂ p " ÿÄ              ÿÄ             ÿÚ    ÕÔË®
(%	aA*‚XYD¡(J„¡E¢RE,P€XYae )(E¤²€B¤R¥	BQ¤¢ X«)X…€¤   @  

  ..............................................................................................................................................................................
.............................................................................                                                  
                                                                                                                                                                                     
        "use strict";

        const conversions = require("webidl-conversions");
        const utils = require("./utils.js");
        
      const Node = require("./Node.js");
const ceReactionsPreSteps_helpers_custom_elements = require("../helpers/custom-elements.js").ceReactionsPreSteps;
const ceReactionsPostSteps_helpers_custom_elements = require("../helpers/custom-elements.js").ceReactionsPostSteps;
const implSymbol = utils.implSymbol;
const ctorRegistrySymbol = utils.ctorRegistrySymbol;

      
      const interfaceName = "DocumentType";
    
      exports.is = function is(obj) {
        return utils.isObject(obj) && utils.hasOwn(obj, implSymbol) && obj[implSymbol] instanceof Impl.implementation;
      };
      exports.isImpl = function isImpl(obj) {
        return utils.isObject(obj) && obj instanceof Impl.implementation;
      };
      exports.convert = function convert(obj, { context = "The provided value" } = {}) {
        if (exports.is(obj)) {
          return utils.implForWrapper(obj);
        }
        throw new TypeError(`${context} is not of type 'DocumentType'.`);
      };
    
      exports.create = function create(globalObject, constructorArgs, privateData) {
        if (globalObject[ctorRegistrySymbol] === undefined) {
          throw new Error('Internal error: invalid global object');
        }

        const ctor = globalObject[ctorRegistrySymbol]["DocumentType"];
        if (ctor === undefined) {
          throw new Error('Internal error: constructor DocumentType is not installed on the passed global object');
        }

        let obj = Object.create(ctor.prototype);
        obj = exports.setup(obj, globalObject, constructorArgs, privateData);
        return obj;
      };
      exports.createImpl = function createImpl(globalObject, constructorArgs, privateData) {
        const obj = exports.create(globalObject, constructorArgs, privateData);
        return utils.implForWrapper(obj);
      };
      exports._internalSetup = function _internalSetup(obj, globalObject) {
    
        Node._internalSetup(obj, globalObject);
      
      };
      exports.setup = function setup(obj, globalObject, constructorArgs = [], privateData = {}) {
        privateData.wrapper = obj;

        exports._internalSetup(obj, globalObject);
        Object.defineProperty(obj, implSymbol, {
          value: new Impl.implementation(globalObject, constructorArgs, privateData),
          configurable: true
        });
    
        obj[implSymbol][utils.wrapperSymbol] = obj;
        if (Impl.init) {
          Impl.init(obj[implSymbol], privateData);
        }
        return obj;
      };
    
      exports.install = function install(globalObject) {
    
        if (globalObject.Node === undefined) {
          throw new Error('Internal error: attempting to evaluate DocumentType before Node');
        }
      class DocumentType extends globalObject.Node {
        constructor() {
        throw new TypeError("Illegal constructor");
      }
      
        before() {
        const esValue = this !== null && this !== undefined ? this : globalObject;
        if (!exports.is(esValue)) {
          throw new TypeError("Illegal invocation");
        }
      const args = [];for (let i = 0; i < arguments.length; i++){ let curArg = arguments[i];
        if (Node.is(curArg)) {
          curArg = utils.implForWrapper(curArg);
        }
       else {
        curArg = conversions["DOMString"](curArg, { context: "Failed to execute 'before' on 'DocumentType': parameter " + (i + 1), });
      }args.push(curArg);}
      ceReactionsPreSteps_helpers_custom_elements(globalObject);
      try {
        
        return esValue[implSymbol].before(...args);
      
      } finally {
        ceReactionsPostSteps_helpers_custom_elements(globalObject);
      }
    }
      
        after() {
        const esValue = this !== null && this !== undefined ? this : globalObject;
        if (!exports.is(esValue)) {
          throw new TypeError("Illegal invocation");
        }
      const args = [];for (let i = 0; i < arguments.length; i++){ let curArg = arguments[i];
        if (Node.is(curArg)) {
          curArg = utils.implForWrapper(curArg);
        }
       else {
        curArg = conversions["DOMString"](curArg, { context: "Failed to execute 'after' on 'DocumentType': parameter " + (i + 1), });
      }args.push(curArg);}
      ceReactionsPreSteps_helpers_custom_elements(globalObject);
      try {
        
        return esValue[implSymbol].after(...args);
      
      } finally {
        ceReactionsPostSteps_helpers_custom_elements(globalObject);
      }
    }
      
        replaceWith() {
        const esValue = this !== null && this !== undefined ? this : globalObject;
        if (!exports.is(esValue)) {
          throw new TypeError("Illegal invocation");
        }
      const args = [];for (let i = 0; i < arguments.length; i++){ let curArg = arguments[i];
        if (Node.is(curArg)) {
          curArg = utils.implForWrapper(curArg);
        }
       else {
        curArg = conversions["DOMString"](curArg, { context: "Failed to execute 'replaceWith' on 'DocumentType': parameter " + (i + 1), });
      }args.push(curArg);}
      ceReactionsPreSteps_helpers_custom_elements(globalObject);
      try {
        
        return esValue[implSymbol].replaceWith(...args);
      
      } finally {
        ceReactionsPostSteps_helpers_custom_elements(globalObject);
      }
    }
      
        remove() {
        const esValue = this !== null && this !== undefined ? this : globalObject;
        if (!exports.is(esValue)) {
          throw new TypeError("Illegal invocation");
        }
      
      ceReactionsPreSteps_helpers_custom_elements(globalObject);
      try {
        
        return esValue[implSymbol].remove();
      
      } finally {
        ceReactionsPostSteps_helpers_custom_elements(globalObject);
      }
    }
      
        get name() {
      const esValue = this !== null && this !== undefined ? this : globalObject;
      
      if (!exports.is(esValue)) {
        throw new TypeError("Illegal invocation");
      }
    
      return esValue[implSymbol]["name"];
    }
      
        get publicId() {
      const esValue = this !== null && this !== undefined ? this : globalObject;
      
      if (!exports.is(esValue)) {
        throw new TypeError("Illegal invocation");
      }
    
      return esValue[implSymbol]["publicId"];
    }
      
        get systemId() {
      const esValue = this !== null && this !== undefined ? this : globalObject;
      
      if (!exports.is(esValue)) {
        throw new TypeError("Illegal invocation");
      }
    
      return esValue[implSymbol]["systemId"];
    }
      }Object.defineProperties(DocumentType.prototype, { before: { enumerable: true }, after: { enumerable: true }, replaceWith: { enumerable: true }, remove: { enumerable: true }, name: { enumerable: true }, publicId: { enumerable: true }, systemId: { enumerable: true }, [Symbol.toStringTag]: { value: "DocumentType", configurable: true }, [Symbol.unscopables]: { value: {"before":true,"after":true,"replaceWith":true,"remove":true,"__proto__":null}, configurable: true } });
        if (globalObject[ctorRegistrySymbol] === undefined) {
          globalObject[ctorRegistrySymbol] = Object.create(null);
        }
        globalObject[ctorRegistrySymbol][interfaceName] = DocumentType;

        Object.defineProperty(globalObject, interfaceName, {
          configurable: true,
          writable: true,
          value: DocumentType
        });
      };
    
    
        const Impl = require("../nodes/DocumentType-impl.js");
      