import { isAbstractType, isInterfaceType, isListType, isNonNullType, isObjectType, } from "/_nuxt/node_modules/graphql/type/definition.mjs?v=e4f18c29"; /** * Provided two types, return true if the types are equal (invariant). */ export function isEqualType(typeA, typeB) { // Equivalent types are equal. if (typeA === typeB) { return true; } // If either type is non-null, the other must also be non-null. if (isNonNullType(typeA) && isNonNullType(typeB)) { return isEqualType(typeA.ofType, typeB.ofType); } // If either type is a list, the other must also be a list. if (isListType(typeA) && isListType(typeB)) { return isEqualType(typeA.ofType, typeB.ofType); } // Otherwise the types are not equal. return false; } /** * Provided a type and a super type, return true if the first type is either * equal or a subset of the second super type (covariant). */ export function isTypeSubTypeOf(schema, maybeSubType, superType) { // Equivalent type is a valid subtype if (maybeSubType === superType) { return true; } // If superType is non-null, maybeSubType must also be non-null. if (isNonNullType(superType)) { if (isNonNullType(maybeSubType)) { return isTypeSubTypeOf(schema, maybeSubType.ofType, superType.ofType); } return false; } if (isNonNullType(maybeSubType)) { // If superType is nullable, maybeSubType may be non-null or nullable. return isTypeSubTypeOf(schema, maybeSubType.ofType, superType); } // If superType type is a list, maybeSubType type must also be a list. if (isListType(superType)) { if (isListType(maybeSubType)) { return isTypeSubTypeOf(schema, maybeSubType.ofType, superType.ofType); } return false; } if (isListType(maybeSubType)) { // If superType is not a list, maybeSubType must also be not a list. return false; } // If superType type is an abstract type, check if it is super type of maybeSubType. // Otherwise, the child type is not a valid subtype of the parent type. return ( isAbstractType(superType) && (isInterfaceType(maybeSubType) || isObjectType(maybeSubType)) && schema.isSubType(superType, maybeSubType) ); } /** * Provided two composite types, determine if they "overlap". Two composite * types overlap when the Sets of possible concrete types for each intersect. * * This is often used to determine if a fragment of a given type could possibly * be visited in a context of another type. * * This function is commutative. */ export function doTypesOverlap(schema, typeA, typeB) { // Equivalent types overlap if (typeA === typeB) { return true; } if (isAbstractType(typeA)) { if (isAbstractType(typeB)) { // If both types are abstract, then determine if there is any intersection // between possible concrete types of each. return schema .getPossibleTypes(typeA) .some((type) => schema.isSubType(typeB, type)); } // Determine if the latter type is a possible concrete type of the former. return schema.isSubType(typeA, typeB); } if (isAbstractType(typeB)) { // Determine if the former type is a possible concrete type of the latter. return schema.isSubType(typeB, typeA); } // Otherwise the types do not overlap. return false; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR5cGVDb21wYXJhdG9ycy5tanM/dj1lNGYxOGMyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc0Fic3RyYWN0VHlwZSxcbiAgaXNJbnRlcmZhY2VUeXBlLFxuICBpc0xpc3RUeXBlLFxuICBpc05vbk51bGxUeXBlLFxuICBpc09iamVjdFR5cGUsXG59IGZyb20gXCIvX251eHQvbm9kZV9tb2R1bGVzL2dyYXBocWwvdHlwZS9kZWZpbml0aW9uLm1qcz92PWU0ZjE4YzI5XCI7XG5cbi8qKlxuICogUHJvdmlkZWQgdHdvIHR5cGVzLCByZXR1cm4gdHJ1ZSBpZiB0aGUgdHlwZXMgYXJlIGVxdWFsIChpbnZhcmlhbnQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNFcXVhbFR5cGUodHlwZUEsIHR5cGVCKSB7XG4gIC8vIEVxdWl2YWxlbnQgdHlwZXMgYXJlIGVxdWFsLlxuICBpZiAodHlwZUEgPT09IHR5cGVCKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gSWYgZWl0aGVyIHR5cGUgaXMgbm9uLW51bGwsIHRoZSBvdGhlciBtdXN0IGFsc28gYmUgbm9uLW51bGwuXG5cbiAgaWYgKGlzTm9uTnVsbFR5cGUodHlwZUEpICYmIGlzTm9uTnVsbFR5cGUodHlwZUIpKSB7XG4gICAgcmV0dXJuIGlzRXF1YWxUeXBlKHR5cGVBLm9mVHlwZSwgdHlwZUIub2ZUeXBlKTtcbiAgfSAvLyBJZiBlaXRoZXIgdHlwZSBpcyBhIGxpc3QsIHRoZSBvdGhlciBtdXN0IGFsc28gYmUgYSBsaXN0LlxuXG4gIGlmIChpc0xpc3RUeXBlKHR5cGVBKSAmJiBpc0xpc3RUeXBlKHR5cGVCKSkge1xuICAgIHJldHVybiBpc0VxdWFsVHlwZSh0eXBlQS5vZlR5cGUsIHR5cGVCLm9mVHlwZSk7XG4gIH0gLy8gT3RoZXJ3aXNlIHRoZSB0eXBlcyBhcmUgbm90IGVxdWFsLlxuXG4gIHJldHVybiBmYWxzZTtcbn1cbi8qKlxuICogUHJvdmlkZWQgYSB0eXBlIGFuZCBhIHN1cGVyIHR5cGUsIHJldHVybiB0cnVlIGlmIHRoZSBmaXJzdCB0eXBlIGlzIGVpdGhlclxuICogZXF1YWwgb3IgYSBzdWJzZXQgb2YgdGhlIHNlY29uZCBzdXBlciB0eXBlIChjb3ZhcmlhbnQpLlxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBpc1R5cGVTdWJUeXBlT2Yoc2NoZW1hLCBtYXliZVN1YlR5cGUsIHN1cGVyVHlwZSkge1xuICAvLyBFcXVpdmFsZW50IHR5cGUgaXMgYSB2YWxpZCBzdWJ0eXBlXG4gIGlmIChtYXliZVN1YlR5cGUgPT09IHN1cGVyVHlwZSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9IC8vIElmIHN1cGVyVHlwZSBpcyBub24tbnVsbCwgbWF5YmVTdWJUeXBlIG11c3QgYWxzbyBiZSBub24tbnVsbC5cblxuICBpZiAoaXNOb25OdWxsVHlwZShzdXBlclR5cGUpKSB7XG4gICAgaWYgKGlzTm9uTnVsbFR5cGUobWF5YmVTdWJUeXBlKSkge1xuICAgICAgcmV0dXJuIGlzVHlwZVN1YlR5cGVPZihzY2hlbWEsIG1heWJlU3ViVHlwZS5vZlR5cGUsIHN1cGVyVHlwZS5vZlR5cGUpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChpc05vbk51bGxUeXBlKG1heWJlU3ViVHlwZSkpIHtcbiAgICAvLyBJZiBzdXBlclR5cGUgaXMgbnVsbGFibGUsIG1heWJlU3ViVHlwZSBtYXkgYmUgbm9uLW51bGwgb3IgbnVsbGFibGUuXG4gICAgcmV0dXJuIGlzVHlwZVN1YlR5cGVPZihzY2hlbWEsIG1heWJlU3ViVHlwZS5vZlR5cGUsIHN1cGVyVHlwZSk7XG4gIH0gLy8gSWYgc3VwZXJUeXBlIHR5cGUgaXMgYSBsaXN0LCBtYXliZVN1YlR5cGUgdHlwZSBtdXN0IGFsc28gYmUgYSBsaXN0LlxuXG4gIGlmIChpc0xpc3RUeXBlKHN1cGVyVHlwZSkpIHtcbiAgICBpZiAoaXNMaXN0VHlwZShtYXliZVN1YlR5cGUpKSB7XG4gICAgICByZXR1cm4gaXNUeXBlU3ViVHlwZU9mKHNjaGVtYSwgbWF5YmVTdWJUeXBlLm9mVHlwZSwgc3VwZXJUeXBlLm9mVHlwZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKGlzTGlzdFR5cGUobWF5YmVTdWJUeXBlKSkge1xuICAgIC8vIElmIHN1cGVyVHlwZSBpcyBub3QgYSBsaXN0LCBtYXliZVN1YlR5cGUgbXVzdCBhbHNvIGJlIG5vdCBhIGxpc3QuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IC8vIElmIHN1cGVyVHlwZSB0eXBlIGlzIGFuIGFic3RyYWN0IHR5cGUsIGNoZWNrIGlmIGl0IGlzIHN1cGVyIHR5cGUgb2YgbWF5YmVTdWJUeXBlLlxuICAvLyBPdGhlcndpc2UsIHRoZSBjaGlsZCB0eXBlIGlzIG5vdCBhIHZhbGlkIHN1YnR5cGUgb2YgdGhlIHBhcmVudCB0eXBlLlxuXG4gIHJldHVybiAoXG4gICAgaXNBYnN0cmFjdFR5cGUoc3VwZXJUeXBlKSAmJlxuICAgIChpc0ludGVyZmFjZVR5cGUobWF5YmVTdWJUeXBlKSB8fCBpc09iamVjdFR5cGUobWF5YmVTdWJUeXBlKSkgJiZcbiAgICBzY2hlbWEuaXNTdWJUeXBlKHN1cGVyVHlwZSwgbWF5YmVTdWJUeXBlKVxuICApO1xufVxuLyoqXG4gKiBQcm92aWRlZCB0d28gY29tcG9zaXRlIHR5cGVzLCBkZXRlcm1pbmUgaWYgdGhleSBcIm92ZXJsYXBcIi4gVHdvIGNvbXBvc2l0ZVxuICogdHlwZXMgb3ZlcmxhcCB3aGVuIHRoZSBTZXRzIG9mIHBvc3NpYmxlIGNvbmNyZXRlIHR5cGVzIGZvciBlYWNoIGludGVyc2VjdC5cbiAqXG4gKiBUaGlzIGlzIG9mdGVuIHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgZnJhZ21lbnQgb2YgYSBnaXZlbiB0eXBlIGNvdWxkIHBvc3NpYmx5XG4gKiBiZSB2aXNpdGVkIGluIGEgY29udGV4dCBvZiBhbm90aGVyIHR5cGUuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBpcyBjb21tdXRhdGl2ZS5cbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gZG9UeXBlc092ZXJsYXAoc2NoZW1hLCB0eXBlQSwgdHlwZUIpIHtcbiAgLy8gRXF1aXZhbGVudCB0eXBlcyBvdmVybGFwXG4gIGlmICh0eXBlQSA9PT0gdHlwZUIpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChpc0Fic3RyYWN0VHlwZSh0eXBlQSkpIHtcbiAgICBpZiAoaXNBYnN0cmFjdFR5cGUodHlwZUIpKSB7XG4gICAgICAvLyBJZiBib3RoIHR5cGVzIGFyZSBhYnN0cmFjdCwgdGhlbiBkZXRlcm1pbmUgaWYgdGhlcmUgaXMgYW55IGludGVyc2VjdGlvblxuICAgICAgLy8gYmV0d2VlbiBwb3NzaWJsZSBjb25jcmV0ZSB0eXBlcyBvZiBlYWNoLlxuICAgICAgcmV0dXJuIHNjaGVtYVxuICAgICAgICAuZ2V0UG9zc2libGVUeXBlcyh0eXBlQSlcbiAgICAgICAgLnNvbWUoKHR5cGUpID0+IHNjaGVtYS5pc1N1YlR5cGUodHlwZUIsIHR5cGUpKTtcbiAgICB9IC8vIERldGVybWluZSBpZiB0aGUgbGF0dGVyIHR5cGUgaXMgYSBwb3NzaWJsZSBjb25jcmV0ZSB0eXBlIG9mIHRoZSBmb3JtZXIuXG5cbiAgICByZXR1cm4gc2NoZW1hLmlzU3ViVHlwZSh0eXBlQSwgdHlwZUIpO1xuICB9XG5cbiAgaWYgKGlzQWJzdHJhY3RUeXBlKHR5cGVCKSkge1xuICAgIC8vIERldGVybWluZSBpZiB0aGUgZm9ybWVyIHR5cGUgaXMgYSBwb3NzaWJsZSBjb25jcmV0ZSB0eXBlIG9mIHRoZSBsYXR0ZXIuXG4gICAgcmV0dXJuIHNjaGVtYS5pc1N1YlR5cGUodHlwZUIsIHR5cGVBKTtcbiAgfSAvLyBPdGhlcndpc2UgdGhlIHR5cGVzIGRvIG5vdCBvdmVybGFwLlxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUM7QUFDUCxDQUFDLENBQUMsY0FBYztBQUNoQixDQUFDLENBQUMsZUFBZTtBQUNqQixDQUFDLENBQUMsVUFBVTtBQUNaLENBQUMsQ0FBQyxhQUFhO0FBQ2YsQ0FBQyxDQUFDLFlBQVk7QUFDZCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDOztBQUVuRSxDQUFDLENBQUM7QUFDRixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUNyRSxDQUFDLENBQUM7QUFDRixNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSztBQUMvQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJOztBQUVsRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3BELENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUNsRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSTs7QUFFOUQsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7QUFDbEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUs7O0FBRXhDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNkO0FBQ0EsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ3RFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3pELENBQUMsQ0FBQzs7QUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUNqRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUNoQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDbEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTtBQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSTs7QUFFbkUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDckMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQztBQUMzRSxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUVKLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDaEIsQ0FBQyxDQUFDOztBQUVGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVE7QUFDekUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDbEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUk7O0FBRXpFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUM7QUFDM0UsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFFSixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLO0FBQ2hCLENBQUMsQ0FBQzs7QUFFRixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFDdkUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSztBQUNoQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZO0FBQ3ZGLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUk7O0FBRXhFLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDVCxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNuRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWTtBQUM1QyxDQUFDLENBQUMsQ0FBQztBQUNIO0FBQ0EsQ0FBQyxDQUFDO0FBQ0YsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztBQUNsRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVM7QUFDNUUsQ0FBQztBQUNELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDdkUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUk7QUFDMUMsQ0FBQztBQUNELENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFdBQVc7QUFDL0IsQ0FBQyxDQUFDOztBQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0FBQ2YsQ0FBQyxDQUFDOztBQUVGLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUM3QixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztBQUNwRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUk7QUFDaEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQ2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsS0FBSztBQUMvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU07O0FBRS9FLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3pDLENBQUMsQ0FBQzs7QUFFRixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDN0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNO0FBQzdFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPOztBQUV6QyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUs7QUFDZDsifQ==