{"version":3,"file":"imng-odata-client.mjs","sources":["../tmp-esm2022/lib/models/child-filter.js","../tmp-esm2022/lib/models/composite-filter.js","../tmp-esm2022/lib/models/computation-operators.js","../tmp-esm2022/lib/models/computation.js","../tmp-esm2022/lib/models/expander.js","../tmp-esm2022/lib/helpers/filter-serializers.js","../tmp-esm2022/lib/models/filter-operators.js","../tmp-esm2022/lib/models/odata-result.js","../tmp-esm2022/lib/helpers/get-filter-operator.js","../tmp-esm2022/lib/operators/map-data.js","../tmp-esm2022/lib/services/odata-client.service.js","../tmp-esm2022/lib/imng-odata-client.module.js","../tmp-esm2022/lib/helpers/create-odata-result.js","../tmp-esm2022/imng-odata-client.js"],"sourcesContent":["export function isChildFilter(source) {\n    return !!source?.childTable;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpbGQtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9jaGlsZC1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZ0JBLE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQThDO0lBRTlDLE9BQU8sQ0FBQyxDQUFFLE1BQXNCLEVBQUUsVUFBVSxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb3NpdGVGaWx0ZXIgfSBmcm9tICcuL2NvbXBvc2l0ZS1maWx0ZXInO1xuaW1wb3J0IHsgRmlsdGVyIH0gZnJvbSAnLi9maWx0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoaWxkRmlsdGVyIGV4dGVuZHMgRmlsdGVyIHtcbiAgLyoqXG4gICAqIFVzZWQgdG8gc3VwcG9ydCBjaGlsZCBlbnRpdHkgZmlsdGVyaW5nOlxuICAgKiBDaGlsZCB0YWJsZSBuYW1lL25hdmlnYXRpb24gcHJvcGVydHlcbiAgICogKi9cbiAgY2hpbGRUYWJsZTogc3RyaW5nO1xuICAvKipcbiAgICogVXNlZCB0byBzdXBwb3J0IGNoaWxkIGVudGl0eSBmaWx0ZXJpbmc6XG4gICAqIFNwZWNpZmllcyB3aGV0aGVyIGFsbCBvciBzb21lIG9mIHRoZSBjaGlsZCByZWNvcmRzIGhhdmUgdG8gbWF0Y2ggdGhlIGdpdmVuIGNyaXRlcmlhXG4gICAqICovXG4gIGxpbnFPcGVyYXRpb246ICdhbGwnIHwgJ2FueSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NoaWxkRmlsdGVyKFxuICBzb3VyY2U6IENvbXBvc2l0ZUZpbHRlciB8IEZpbHRlciB8IENoaWxkRmlsdGVyLFxuKTogc291cmNlIGlzIENoaWxkRmlsdGVyIHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBDaGlsZEZpbHRlcik/LmNoaWxkVGFibGU7XG59XG4iXX0=","export function isCompositeFilter(source) {\n    return !!source?.filters;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9zaXRlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9tb2RlbHMvY29tcG9zaXRlLWZpbHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFxQkEsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixNQUE4QztJQUU5QyxPQUFPLENBQUMsQ0FBRSxNQUEwQixFQUFFLE9BQU8sQ0FBQztBQUNoRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hpbGRGaWx0ZXIgfSBmcm9tICcuL2NoaWxkLWZpbHRlcic7XG5pbXBvcnQgeyBGaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5cbi8qKlxuICogQSBjb21wbGV4IGZpbHRlciBleHByZXNzaW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvc2l0ZUZpbHRlciB7XG4gIC8qKlxuICAgKiBUaGUgbG9naWNhbCBvcGVyYXRpb24gdG8gdXNlIHdoZW4gdGhlIGBmaWx0ZXIuZmlsdGVyc2Agb3B0aW9uIGlzIHNldC5cbiAgICpcbiAgICogVGhlIHN1cHBvcnRlZCB2YWx1ZXMgYXJlOlxuICAgKiAqIGBcImFuZFwiYFxuICAgKiAqIGBcIm9yXCJgXG4gICAqL1xuICBsb2dpYzogJ29yJyB8ICdhbmQnO1xuICAvKipcbiAgICogVGhlIG5lc3RlZCBmaWx0ZXIgZXhwcmVzc2lvbnNcbiAgICovXG4gIGZpbHRlcnM6IEFycmF5PEZpbHRlciB8IENoaWxkRmlsdGVyIHwgQ29tcG9zaXRlRmlsdGVyPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzQ29tcG9zaXRlRmlsdGVyKFxuICBzb3VyY2U6IENvbXBvc2l0ZUZpbHRlciB8IEZpbHRlciB8IENoaWxkRmlsdGVyLFxuKTogc291cmNlIGlzIENvbXBvc2l0ZUZpbHRlciB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcG9zaXRlRmlsdGVyKT8uZmlsdGVycztcbn1cbiJdfQ==","export var ComputationOperators;\n(function (ComputationOperators) {\n    ComputationOperators[\"Multiply\"] = \"mul\";\n    ComputationOperators[\"Divide\"] = \"div\";\n    ComputationOperators[\"Add\"] = \"add\";\n    ComputationOperators[\"Subtract\"] = \"sub\";\n    ComputationOperators[\"Modulus\"] = \"mod\";\n})(ComputationOperators || (ComputationOperators = {}));\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24tb3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9jb21wdXRhdGlvbi1vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksb0JBTVg7QUFORCxXQUFZLG9CQUFvQjtJQUM5Qix3Q0FBZ0IsQ0FBQTtJQUNoQixzQ0FBYyxDQUFBO0lBQ2QsbUNBQVcsQ0FBQTtJQUNYLHdDQUFnQixDQUFBO0lBQ2hCLHVDQUFlLENBQUE7QUFDakIsQ0FBQyxFQU5XLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNL0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb21wdXRhdGlvbk9wZXJhdG9ycyB7XG4gIE11bHRpcGx5ID0gJ211bCcsXG4gIERpdmlkZSA9ICdkaXYnLFxuICBBZGQgPSAnYWRkJyxcbiAgU3VidHJhY3QgPSAnc3ViJyxcbiAgTW9kdWx1cyA9ICdtb2QnLFxufVxuIl19","export function isComputation(source) {\n    return !!source?.operator;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvbW9kZWxzL2NvbXB1dGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE1BQU0sVUFBVSxhQUFhLENBQzNCLE1BQTRCO0lBRTVCLE9BQU8sQ0FBQyxDQUFFLE1BQXNCLEVBQUUsUUFBUSxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wdXRhdGlvbk9wZXJhdG9ycyB9IGZyb20gJy4vY29tcHV0YXRpb24tb3BlcmF0b3JzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21wdXRhdGlvbiB7XG4gIC8qKiBUaGlzIGlzIHRoZSBmaXJzdCB2YWx1ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wdXRhdGlvbiAqL1xuICBmaWVsZEE6IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqIFRoaXMgaXMgdGhlIHNlY29uZCB2YWx1ZSB0byBiZSB1c2VkIGluIHRoZSBjb21wdXRhdGlvbiAqL1xuICBmaWVsZEI6IHN0cmluZyB8IG51bWJlcjtcbiAgb3BlcmF0b3I6IENvbXB1dGF0aW9uT3BlcmF0b3JzIHwgc3RyaW5nOyAvL05PU09OQVJcblxuICAvKiogVGhpcyBNVVNUIGRpZmZlciBmcm9tIHRoZSBuYW1lcyBvZiBkZWNsYXJlZCBvciBkeW5hbWljIHByb3BlcnRpZXMgb2YgdGhlIGlkZW50aWZpZWQgcmVzb3VyY2VzLiAqL1xuICBhbGlhczogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNDb21wdXRhdGlvbihcbiAgc291cmNlOiBzdHJpbmcgfCBDb21wdXRhdGlvbixcbik6IHNvdXJjZSBpcyBDb21wdXRhdGlvbiB7XG4gIHJldHVybiAhIShzb3VyY2UgYXMgQ29tcHV0YXRpb24pPy5vcGVyYXRvcjtcbn1cbiJdfQ==","export function isExpander(source) {\n    return !!source?.table;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhwYW5kZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvbW9kZWxzL2V4cGFuZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBeUI7SUFDbEQsT0FBTyxDQUFDLENBQUUsTUFBbUIsRUFBRSxLQUFLLENBQUM7QUFDdkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9EYXRhUXVlcnkgfSBmcm9tICcuL29kYXRhLXF1ZXJ5JztcblxuZXhwb3J0IGludGVyZmFjZSBFeHBhbmRlciBleHRlbmRzIE9EYXRhUXVlcnkge1xuICB0YWJsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFeHBhbmRlcihzb3VyY2U6IHN0cmluZyB8IEV4cGFuZGVyKTogc291cmNlIGlzIEV4cGFuZGVyIHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBFeHBhbmRlcik/LnRhYmxlO1xufVxuIl19","export function serializeValue(value) {\n    if (typeof value === 'string') {\n        return `'${value}'`;\n    }\n    return value instanceof Date\n        ? `${value.toISOString().split('T')[0]}`\n        : `${value}`;\n}\nexport const serializeSimpleFilter = (field, operator, value) => `${field}+${operator}+${serializeValue(value)}`;\nexport const serializeArrayFilter = (field, operator, values) => values\n    ? `${field}+${operator}+(${values.map((m) => serializeValue(m)).join(',')})`\n    : '';\nexport const serializeFunctionFilter = (field, func, value) => (value ? `${func}(${field},${serializeValue(value)})` : '');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLXNlcmlhbGl6ZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL2hlbHBlcnMvZmlsdGVyLXNlcmlhbGl6ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxjQUFjLENBQUMsS0FBYztJQUMzQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sSUFBSSxLQUFLLEdBQUcsQ0FBQztJQUN0QixDQUFDO0lBQ0QsT0FBTyxLQUFLLFlBQVksSUFBSTtRQUMxQixDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQ3hDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxDQUNuQyxLQUFhLEVBQ2IsUUFBZ0IsRUFDaEIsS0FBYyxFQUNOLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxRQUFRLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7QUFFN0QsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FDbEMsS0FBYSxFQUNiLFFBQWdCLEVBQ2hCLE1BQWlCLEVBQ1QsRUFBRSxDQUNWLE1BQU07SUFDSixDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksUUFBUSxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztJQUM1RSxDQUFDLENBQUMsRUFBRSxDQUFDO0FBRVQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FDckMsS0FBYSxFQUNiLElBQVksRUFDWixLQUFjLEVBQ04sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxLQUFLLElBQUksY0FBYyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplVmFsdWUodmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBgJyR7dmFsdWV9J2A7XG4gIH1cbiAgcmV0dXJuIHZhbHVlIGluc3RhbmNlb2YgRGF0ZVxuICAgID8gYCR7dmFsdWUudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpWzBdfWBcbiAgICA6IGAke3ZhbHVlfWA7XG59XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVTaW1wbGVGaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIHZhbHVlPzogSWRUeXBlLFxuKTogc3RyaW5nID0+IGAke2ZpZWxkfSske29wZXJhdG9yfSske3NlcmlhbGl6ZVZhbHVlKHZhbHVlKX1gO1xuXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplQXJyYXlGaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIG9wZXJhdG9yOiBzdHJpbmcsXG4gIHZhbHVlcz86IElkVHlwZVtdLFxuKTogc3RyaW5nID0+XG4gIHZhbHVlc1xuICAgID8gYCR7ZmllbGR9KyR7b3BlcmF0b3J9Kygke3ZhbHVlcy5tYXAoKG0pID0+IHNlcmlhbGl6ZVZhbHVlKG0pKS5qb2luKCcsJyl9KWBcbiAgICA6ICcnO1xuXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplRnVuY3Rpb25GaWx0ZXIgPSAoXG4gIGZpZWxkOiBzdHJpbmcsXG4gIGZ1bmM6IHN0cmluZyxcbiAgdmFsdWU/OiBJZFR5cGUsXG4pOiBzdHJpbmcgPT4gKHZhbHVlID8gYCR7ZnVuY30oJHtmaWVsZH0sJHtzZXJpYWxpemVWYWx1ZSh2YWx1ZSl9KWAgOiAnJyk7XG4iXX0=","import { serializeArrayFilter, serializeFunctionFilter, serializeSimpleFilter, } from '../helpers/filter-serializers';\n/**\n * Represents the list of supported simple filter operators.\n */\nexport class FilterOperators {\n    /**\n     * The `eq` operator.\n     */\n    static { this.equals = {\n        name: 'equals',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'eq', value),\n    }; }\n    /**\n     * The `gt` operator.\n     */\n    static { this.greaterThan = {\n        name: 'greaterThan',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'gt', value),\n    }; }\n    /**\n     * The `ge` operator.\n     */\n    static { this.greaterThanOrEquals = {\n        name: 'greaterThanOrEquals',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'ge', value),\n    }; }\n    /**\n     * The `lt` operator.\n     */\n    static { this.lessThan = {\n        name: 'lessThan',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'lt', value),\n    }; }\n    /**\n     * The `le` operator.\n     */\n    static { this.lessThanOrEquals = {\n        name: 'lessThanOrEquals',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'le', value),\n    }; }\n    /**\n     * The `ne` operator.\n     */\n    static { this.notEquals = {\n        name: 'notEquals',\n        toODataString: (field, value) => serializeSimpleFilter(field, 'ne', value),\n    }; }\n    /**\n     * The `in` operator.\n     */\n    static { this.in = {\n        name: 'in',\n        toODataString: (field, values) => serializeArrayFilter(field, 'in', values),\n    }; }\n    /**\n     * The `not in` operator.\n     */\n    static { this.notIn = {\n        name: 'notIn',\n        toODataString: (field, values) => serializeArrayFilter(field, 'not+in', values),\n    }; }\n    /**\n     * The `is not null` operator.\n     */\n    static { this.notNull = {\n        name: 'notNull',\n        toODataString: (field) => `${field}+ne+null`,\n    }; }\n    /**\n     * The `is null` operator.\n     */\n    static { this.isNull = {\n        name: 'isNull',\n        toODataString: (field) => `${field}+eq+null`,\n    }; }\n    /**\n     * The `contains` operator.\n     */\n    static { this.contains = {\n        name: 'contains',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'contains', value),\n    }; }\n    /**\n     * The `not contain` operator.\n     */\n    static { this.notContains = {\n        name: 'notContains',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'not+contains', value),\n    }; }\n    /**\n     * The `ends with` operator.\n     */\n    static { this.endsWith = {\n        name: 'endswith',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'endswith', value),\n    }; }\n    /**\n     * The `not ends with` operator.\n     */\n    static { this.notEndsWith = {\n        name: 'notEndsWith',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'not+endswith', value),\n    }; }\n    /**\n     * The `startswith` operator.\n     */\n    static { this.startsWith = {\n        name: 'startsWith',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'startswith', value),\n    }; }\n    /**\n     * The `not start with` operator.\n     */\n    static { this.notStartsWith = {\n        name: 'notStartsWith',\n        toODataString: (field, value) => serializeFunctionFilter(field, 'not+startswith', value),\n    }; }\n    /**\n     * The `empty` operator.\n     */\n    static { this.isEmpty = {\n        name: 'isEmpty',\n        toODataString: (field) => serializeSimpleFilter(field, 'eq', ''),\n    }; }\n    /**\n     * The `not empty` operator.\n     */\n    static { this.notEmpty = {\n        name: 'notEmpty',\n        toODataString: (field) => serializeSimpleFilter(field, 'ne', ''),\n    }; }\n}\nexport const filterOperators = {\n    contains: FilterOperators.contains,\n    endsWith: FilterOperators.endsWith,\n    equals: FilterOperators.equals,\n    dateIs: FilterOperators.equals,\n    greaterThan: FilterOperators.greaterThan,\n    gt: FilterOperators.greaterThan,\n    dateAfter: FilterOperators.greaterThan,\n    greaterThanOrEquals: FilterOperators.greaterThanOrEquals,\n    gte: FilterOperators.greaterThanOrEquals,\n    in: FilterOperators.in,\n    isEmpty: FilterOperators.isEmpty,\n    isNull: FilterOperators.isNull,\n    lessThan: FilterOperators.lessThan,\n    lt: FilterOperators.lessThan,\n    dateBefore: FilterOperators.lessThan,\n    lessThanOrEquals: FilterOperators.lessThanOrEquals,\n    lte: FilterOperators.lessThan,\n    notContains: FilterOperators.notContains,\n    notEmpty: FilterOperators.notEmpty,\n    notEndsWith: FilterOperators.notEndsWith,\n    notEquals: FilterOperators.notEquals,\n    dateIsNot: FilterOperators.notEquals,\n    notIn: FilterOperators.notIn,\n    notNull: FilterOperators.notNull,\n    notStartsWith: FilterOperators.notStartsWith,\n    startsWith: FilterOperators.startsWith,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLW9wZXJhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9tb2RlbHMvZmlsdGVyLW9wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQU12Qzs7R0FFRztBQUNILE1BQU0sT0FBTyxlQUFlO0lBQzFCOztPQUVHO2FBQ29CLFdBQU0sR0FBb0I7UUFDL0MsSUFBSSxFQUFFLFFBQVE7UUFDZCxhQUFhLEVBQUUsQ0FBQyxLQUFhLEVBQUUsS0FBYyxFQUFFLEVBQUUsQ0FDL0MscUJBQXFCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUM7S0FDNUMsQ0FBQztJQUNGOztPQUVHO2FBQ29CLGdCQUFXLEdBQW9CO1FBQ3BELElBQUksRUFBRSxhQUFhO1FBQ25CLGFBQWEsRUFBRSxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQVUsRUFBRSxDQUN2RCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztLQUM1QyxDQUFDO0lBQ0Y7O09BRUc7YUFDb0Isd0JBQW1CLEdBQW9CO1FBQzVELElBQUksRUFBRSxxQkFBcUI7UUFDM0IsYUFBYSxFQUFFLENBQUMsS0FBYSxFQUFFLEtBQWMsRUFBVSxFQUFFLENBQ3ZELHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO0tBQzVDLENBQUM7SUFDRjs7T0FFRzthQUNvQixhQUFRLEdBQW9CO1FBQ2pELElBQUksRUFBRSxVQUFVO1FBQ2hCLGFBQWEsRUFBRSxDQUFDLEtBQWEsRUFBRSxLQUFjLEVBQVUsRUFBRSxDQUN2RCxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQztLQUM1QyxDQUFDO0lBQ0Y7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QVcsRUFBRSxlQUFlLENBQUMsV0FBVztJQUN4QyxTQUFTLEVBQUUsZUFBZSxDQUFDLFNBQVM7SUFDcEMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxTQUFTO0lBQ3BDLEtBQUssRUFBRSxlQUFlLENBQUMsS0FBSztJQUM1QixPQUFPLEVBQUUsZUFBZSxDQUFDLE9BQU87SUFDaEMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxhQUFhO0lBQzVDLFVBQVUsRUFBRSxlQUFlLENBQUMsVUFBVTtDQUN2QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuaW1wb3J0IHsgSUZpbHRlck9wZXJhdG9yIH0gZnJvbSAnLi9maWx0ZXItb3BlcmF0b3InO1xuaW1wb3J0IHtcbiAgc2VyaWFsaXplQXJyYXlGaWx0ZXIsXG4gIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyLFxuICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIsXG59IGZyb20gJy4uL2hlbHBlcnMvZmlsdGVyLXNlcmlhbGl6ZXJzJztcblxuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyT3BlcmF0b3JzIHtcbiAgW2tleTogc3RyaW5nXTogSUZpbHRlck9wZXJhdG9yO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIHNpbXBsZSBmaWx0ZXIgb3BlcmF0b3JzLlxuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyT3BlcmF0b3JzIHtcbiAgLyoqXG4gICAqIFRoZSBgZXFgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBlcXVhbHM6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnZXF1YWxzJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpID0+XG4gICAgICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIoZmllbGQsICdlcScsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgZ3RgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBncmVhdGVyVGhhbjogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdncmVhdGVyVGhhbicsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVTaW1wbGVGaWx0ZXIoZmllbGQsICdndCcsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgZ2VgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBncmVhdGVyVGhhbk9yRXF1YWxzOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2dyZWF0ZXJUaGFuT3JFcXVhbHMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnZ2UnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGx0YCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbGVzc1RoYW46IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbGVzc1RoYW4nLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbHQnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGxlYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbGVzc1RoYW5PckVxdWFsczogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdsZXNzVGhhbk9yRXF1YWxzJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZVNpbXBsZUZpbHRlcihmaWVsZCwgJ2xlJywgdmFsdWUpLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBuZWAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEVxdWFsczogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RFcXVhbHMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbmUnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGluYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaW46IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnaW4nLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZXM/OiBJZFR5cGVbXSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplQXJyYXlGaWx0ZXIoZmllbGQsICdpbicsIHZhbHVlcyksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBpbmAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEluOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ25vdEluJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWVzPzogSWRUeXBlW10pOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUFycmF5RmlsdGVyKGZpZWxkLCAnbm90K2luJywgdmFsdWVzKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgaXMgbm90IG51bGxgIG9wZXJhdG9yLlxuICAgKi9cblxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdE51bGw6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbm90TnVsbCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7ZmllbGR9K25lK251bGxgLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBpcyBudWxsYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaXNOdWxsOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2lzTnVsbCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcpOiBzdHJpbmcgPT4gYCR7ZmllbGR9K2VxK251bGxgLFxuICB9O1xuICAvKipcbiAgICogVGhlIGBjb250YWluc2Agb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGNvbnRhaW5zOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2NvbnRhaW5zJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnY29udGFpbnMnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBjb250YWluYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbm90Q29udGFpbnM6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnbm90Q29udGFpbnMnLFxuICAgIHRvT0RhdGFTdHJpbmc6IChmaWVsZDogc3RyaW5nLCB2YWx1ZT86IElkVHlwZSk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplRnVuY3Rpb25GaWx0ZXIoZmllbGQsICdub3QrY29udGFpbnMnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGVuZHMgd2l0aGAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGVuZHNXaXRoOiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ2VuZHN3aXRoJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnZW5kc3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBlbmRzIHdpdGhgIG9wZXJhdG9yLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBub3RFbmRzV2l0aDogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RFbmRzV2l0aCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVGdW5jdGlvbkZpbHRlcihmaWVsZCwgJ25vdCtlbmRzd2l0aCcsIHZhbHVlKSxcbiAgfTtcbiAgLyoqXG4gICAqIFRoZSBgc3RhcnRzd2l0aGAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHN0YXJ0c1dpdGg6IElGaWx0ZXJPcGVyYXRvciA9IHtcbiAgICBuYW1lOiAnc3RhcnRzV2l0aCcsXG4gICAgdG9PRGF0YVN0cmluZzogKGZpZWxkOiBzdHJpbmcsIHZhbHVlPzogSWRUeXBlKTogc3RyaW5nID0+XG4gICAgICBzZXJpYWxpemVGdW5jdGlvbkZpbHRlcihmaWVsZCwgJ3N0YXJ0c3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBzdGFydCB3aXRoYCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgbm90U3RhcnRzV2l0aDogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdub3RTdGFydHNXaXRoJyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZywgdmFsdWU/OiBJZFR5cGUpOiBzdHJpbmcgPT5cbiAgICAgIHNlcmlhbGl6ZUZ1bmN0aW9uRmlsdGVyKGZpZWxkLCAnbm90K3N0YXJ0c3dpdGgnLCB2YWx1ZSksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYGVtcHR5YCBvcGVyYXRvci5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgaXNFbXB0eTogSUZpbHRlck9wZXJhdG9yID0ge1xuICAgIG5hbWU6ICdpc0VtcHR5JyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnZXEnLCAnJyksXG4gIH07XG4gIC8qKlxuICAgKiBUaGUgYG5vdCBlbXB0eWAgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IG5vdEVtcHR5OiBJRmlsdGVyT3BlcmF0b3IgPSB7XG4gICAgbmFtZTogJ25vdEVtcHR5JyxcbiAgICB0b09EYXRhU3RyaW5nOiAoZmllbGQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICAgICAgc2VyaWFsaXplU2ltcGxlRmlsdGVyKGZpZWxkLCAnbmUnLCAnJyksXG4gIH07XG59XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJPcGVyYXRvcnM6IElGaWx0ZXJPcGVyYXRvcnMgPSB7XG4gIGNvbnRhaW5zOiBGaWx0ZXJPcGVyYXRvcnMuY29udGFpbnMsXG4gIGVuZHNXaXRoOiBGaWx0ZXJPcGVyYXRvcnMuZW5kc1dpdGgsXG4gIGVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmVxdWFscyxcbiAgZGF0ZUlzOiBGaWx0ZXJPcGVyYXRvcnMuZXF1YWxzLFxuICBncmVhdGVyVGhhbjogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuLFxuICBndDogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuLFxuICBkYXRlQWZ0ZXI6IEZpbHRlck9wZXJhdG9ycy5ncmVhdGVyVGhhbixcbiAgZ3JlYXRlclRoYW5PckVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGd0ZTogRmlsdGVyT3BlcmF0b3JzLmdyZWF0ZXJUaGFuT3JFcXVhbHMsXG4gIGluOiBGaWx0ZXJPcGVyYXRvcnMuaW4sXG4gIGlzRW1wdHk6IEZpbHRlck9wZXJhdG9ycy5pc0VtcHR5LFxuICBpc051bGw6IEZpbHRlck9wZXJhdG9ycy5pc051bGwsXG4gIGxlc3NUaGFuOiBGaWx0ZXJPcGVyYXRvcnMubGVzc1RoYW4sXG4gIGx0OiBGaWx0ZXJPcGVyYXRvcnMubGVzc1RoYW4sXG4gIGRhdGVCZWZvcmU6IEZpbHRlck9wZXJhdG9ycy5sZXNzVGhhbixcbiAgbGVzc1RoYW5PckVxdWFsczogRmlsdGVyT3BlcmF0b3JzLmxlc3NUaGFuT3JFcXVhbHMsXG4gIGx0ZTogRmlsdGVyT3BlcmF0b3JzLmxlc3NUaGFuLFxuICBub3RDb250YWluczogRmlsdGVyT3BlcmF0b3JzLm5vdENvbnRhaW5zLFxuICBub3RFbXB0eTogRmlsdGVyT3BlcmF0b3JzLm5vdEVtcHR5LFxuICBub3RFbmRzV2l0aDogRmlsdGVyT3BlcmF0b3JzLm5vdEVuZHNXaXRoLFxuICBub3RFcXVhbHM6IEZpbHRlck9wZXJhdG9ycy5ub3RFcXVhbHMsXG4gIGRhdGVJc05vdDogRmlsdGVyT3BlcmF0b3JzLm5vdEVxdWFscyxcbiAgbm90SW46IEZpbHRlck9wZXJhdG9ycy5ub3RJbixcbiAgbm90TnVsbDogRmlsdGVyT3BlcmF0b3JzLm5vdE51bGwsXG4gIG5vdFN0YXJ0c1dpdGg6IEZpbHRlck9wZXJhdG9ycy5ub3RTdGFydHNXaXRoLFxuICBzdGFydHNXaXRoOiBGaWx0ZXJPcGVyYXRvcnMuc3RhcnRzV2l0aCxcbn07XG4iXX0=","export function createEmptyODataResult() {\n    return { value: Array(), count: 0 };\n}\nexport function isODataResult(source) {\n    return !!source?.value;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL21vZGVscy9vZGF0YS1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsTUFBTSxVQUFVLHNCQUFzQjtJQUdwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBSyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsTUFBZTtJQUVmLE9BQU8sQ0FBQyxDQUFFLE1BQXlCLEVBQUUsS0FBSyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJZFR5cGUgfSBmcm9tICdpbW5nLW5yc3J4LWNsaWVudC11dGlscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT0RhdGFSZXN1bHQ8VCBleHRlbmRzIHsgaWQ/OiBJZFR5cGUgfSB8IHVua25vd24+IHtcbiAgdmFsdWU6IFRbXTtcbiAgY291bnQ/OiBudW1iZXI7XG4gICdAb2RhdGEuY291bnQnPzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlRW1wdHlPRGF0YVJlc3VsdDxcbiAgVCBleHRlbmRzIHsgaWQ/OiBJZFR5cGUgfSB8IHVua25vd24sXG4+KCk6IE9EYXRhUmVzdWx0PFQ+IHtcbiAgcmV0dXJuIHsgdmFsdWU6IEFycmF5PFQ+KCksIGNvdW50OiAwIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc09EYXRhUmVzdWx0PFQgZXh0ZW5kcyB7IGlkPzogSWRUeXBlIH0gfCB1bmtub3duPihcbiAgc291cmNlOiB1bmtub3duLFxuKTogc291cmNlIGlzIE9EYXRhUmVzdWx0PFQ+IHtcbiAgcmV0dXJuICEhKHNvdXJjZSBhcyBPRGF0YVJlc3VsdDxUPik/LnZhbHVlO1xufVxuIl19","import { filterOperators } from '../models';\nexport const getFilterOperator = (operatorName) => filterOperators[operatorName];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWZpbHRlci1vcGVyYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9oZWxwZXJzL2dldC1maWx0ZXItb3BlcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUc1QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFlBQW9CLEVBQW1CLEVBQUUsQ0FDekUsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyT3BlcmF0b3JzIH0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IElGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uL21vZGVscy9maWx0ZXItb3BlcmF0b3InO1xuXG5leHBvcnQgY29uc3QgZ2V0RmlsdGVyT3BlcmF0b3IgPSAob3BlcmF0b3JOYW1lOiBzdHJpbmcpOiBJRmlsdGVyT3BlcmF0b3IgPT5cbiAgZmlsdGVyT3BlcmF0b3JzW29wZXJhdG9yTmFtZV07XG4iXX0=","import { MILLI_SECS_PER_SEC } from 'imng-nrsrx-client-utils';\nimport { map } from 'rxjs/operators';\nexport const mapData = (options) => map((response) => {\n    if (!response) {\n        return { value: [], count: 0 };\n    }\n    return Array.isArray(response)\n        ? {\n            value: response,\n            count: response.length,\n        }\n        : {\n            value: parseDatesInCollection(response.value, options),\n            count: response['@odata.count'],\n        };\n});\nexport function parseDatesInCollection(collection, options) {\n    if (collection.length > 0) {\n        const utcProps = Object.keys(collection[0]).filter((x) => x.endsWith('Utc'));\n        const dateProps = Object.keys(collection[0]).filter((x) => x.endsWith('Date') || x === 'date');\n        options.utcNullableProps?.forEach((t) => {\n            if (utcProps.indexOf(t) === -1) {\n                utcProps.push(t);\n            }\n        });\n        options.dateNullableProps?.forEach((t) => {\n            if (dateProps.indexOf(t) === -1) {\n                dateProps.push(t);\n            }\n        });\n        // prettier-ignore\n        // eslint-disable-next-line @typescript-eslint/no-explicit-any\n        collection.forEach((val) => {\n            utcProps.filter((p) => val[p]).forEach((p) => (val[p] = new Date(val[p])));\n            dateProps.filter((p) => val[p]).forEach((p) => (val[p] = toLocalDate(val[p])));\n        });\n    }\n    return collection;\n}\nexport function toLocalDate(date) {\n    const dt = new Date(date);\n    return new Date(dt.getTime() + Math.abs(dt.getTimezoneOffset() * MILLI_SECS_PER_SEC));\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvb3BlcmF0b3JzL21hcC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdyQyxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBbUIsT0FBcUIsRUFBRSxFQUFFLENBQ2pFLEdBQUcsQ0FBQyxDQUFDLFFBQThCLEVBQWtCLEVBQUU7SUFDckQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2QsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQzVCLENBQUMsQ0FBQztZQUNFLEtBQUssRUFBRSxRQUFRO1lBQ2YsS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNO1NBQ3ZCO1FBQ0gsQ0FBQyxDQUFFO1lBQ0MsS0FBSyxFQUFFLHNCQUFzQixDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDO1lBQ3RELEtBQUssRUFBRSxRQUFRLENBQUMsY0FBYyxDQUFDO1NBQ2IsQ0FBQztBQUMzQixDQUFDLENBQUMsQ0FBQztBQUVMLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsVUFBb0IsRUFDcEIsT0FBcUI7SUFFckIsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzFCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdkQsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FDbEIsQ0FBQztRQUNGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUNqRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssTUFBTSxDQUMxQyxDQUFDO1FBRUYsT0FBTyxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ3RDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ25CLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUN2QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDaEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwQixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxrQkFBa0I7UUFDbEIsOERBQThEO1FBQzlELFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUM5QixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDakYsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQUNELE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWTtJQUN0QyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixPQUFPLElBQUksSUFBSSxDQUNiLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLGtCQUFrQixDQUFDLENBQ3JFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTUlMTElfU0VDU19QRVJfU0VDIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRmV0Y2hPcHRpb25zLCBPRGF0YVJlc3VsdCB9IGZyb20gJy4uL21vZGVscyc7XG5cbmV4cG9ydCBjb25zdCBtYXBEYXRhID0gPFQgZXh0ZW5kcyBvYmplY3Q+KG9wdGlvbnM6IEZldGNoT3B0aW9ucykgPT5cbiAgbWFwKChyZXNwb25zZTogT0RhdGFSZXN1bHQ8VD4gfCBUW10pOiBPRGF0YVJlc3VsdDxUPiA9PiB7XG4gICAgaWYgKCFyZXNwb25zZSkge1xuICAgICAgcmV0dXJuIHsgdmFsdWU6IFtdLCBjb3VudDogMCB9O1xuICAgIH1cbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheShyZXNwb25zZSlcbiAgICAgID8ge1xuICAgICAgICAgIHZhbHVlOiByZXNwb25zZSxcbiAgICAgICAgICBjb3VudDogcmVzcG9uc2UubGVuZ3RoLFxuICAgICAgICB9XG4gICAgICA6ICh7XG4gICAgICAgICAgdmFsdWU6IHBhcnNlRGF0ZXNJbkNvbGxlY3Rpb24ocmVzcG9uc2UudmFsdWUsIG9wdGlvbnMpLFxuICAgICAgICAgIGNvdW50OiByZXNwb25zZVsnQG9kYXRhLmNvdW50J10sXG4gICAgICAgIH0gYXMgT0RhdGFSZXN1bHQ8VD4pO1xuICB9KTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRGF0ZXNJbkNvbGxlY3Rpb248VCBleHRlbmRzIG9iamVjdD4oXG4gIGNvbGxlY3Rpb246IEFycmF5PFQ+LFxuICBvcHRpb25zOiBGZXRjaE9wdGlvbnMsXG4pOiBBcnJheTxUPiB7XG4gIGlmIChjb2xsZWN0aW9uLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCB1dGNQcm9wcyA9IE9iamVjdC5rZXlzKGNvbGxlY3Rpb25bMF0pLmZpbHRlcigoeCkgPT5cbiAgICAgIHguZW5kc1dpdGgoJ1V0YycpLFxuICAgICk7XG4gICAgY29uc3QgZGF0ZVByb3BzID0gT2JqZWN0LmtleXMoY29sbGVjdGlvblswXSkuZmlsdGVyKFxuICAgICAgKHgpID0+IHguZW5kc1dpdGgoJ0RhdGUnKSB8fCB4ID09PSAnZGF0ZScsXG4gICAgKTtcblxuICAgIG9wdGlvbnMudXRjTnVsbGFibGVQcm9wcz8uZm9yRWFjaCgodCkgPT4ge1xuICAgICAgaWYgKHV0Y1Byb3BzLmluZGV4T2YodCkgPT09IC0xKSB7XG4gICAgICAgIHV0Y1Byb3BzLnB1c2godCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvcHRpb25zLmRhdGVOdWxsYWJsZVByb3BzPy5mb3JFYWNoKCh0KSA9PiB7XG4gICAgICBpZiAoZGF0ZVByb3BzLmluZGV4T2YodCkgPT09IC0xKSB7XG4gICAgICAgIGRhdGVQcm9wcy5wdXNoKHQpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gcHJldHRpZXItaWdub3JlXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBjb2xsZWN0aW9uLmZvckVhY2goKHZhbDogYW55KSA9PiB7Ly9OT1NPTkFSXG4gICAgICB1dGNQcm9wcy5maWx0ZXIoKHApID0+IHZhbFtwXSkuZm9yRWFjaCgocCkgPT4gKHZhbFtwXSA9IG5ldyBEYXRlKHZhbFtwXSkpKTtcbiAgICAgIGRhdGVQcm9wcy5maWx0ZXIoKHApID0+IHZhbFtwXSkuZm9yRWFjaCgocCkgPT4gKHZhbFtwXSA9IHRvTG9jYWxEYXRlKHZhbFtwXSkpKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gY29sbGVjdGlvbjtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0b0xvY2FsRGF0ZShkYXRlOiBzdHJpbmcpOiBEYXRlIHtcbiAgY29uc3QgZHQgPSBuZXcgRGF0ZShkYXRlKTtcbiAgcmV0dXJuIG5ldyBEYXRlKFxuICAgIGR0LmdldFRpbWUoKSArIE1hdGguYWJzKGR0LmdldFRpbWV6b25lT2Zmc2V0KCkgKiBNSUxMSV9TRUNTX1BFUl9TRUMpLFxuICApO1xufVxuIl19","import { HttpClient } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { getFilterOperator } from '../helpers/get-filter-operator';\nimport { isChildFilter, isCompositeFilter, isExpander, } from '../models';\nimport { mapData } from '../operators/map-data';\nimport * as i0 from \"@angular/core\";\nexport class ODataClientService {\n    constructor() {\n        this.httpClient = inject(HttpClient);\n    }\n    fetch(odataEndpoint, query, options = {}) {\n        const queryStr = this.getODataString(query, options);\n        return this.httpClient\n            .get(`${odataEndpoint}?${queryStr}`)\n            .pipe(mapData(options));\n    }\n    getODataString(query, options = {}) {\n        let queryString = '';\n        queryString = this.processFilters(query, options, queryString);\n        queryString = this.processOrderBy(query, queryString);\n        queryString = this.processSelectors(query, queryString);\n        queryString = this.processExpanders(query, queryString);\n        queryString = this.processSimpleParameters('top', query, queryString);\n        queryString = this.processSimpleParameters('skip', query, queryString);\n        queryString = this.processGuids(queryString);\n        queryString = this.processDates(queryString);\n        queryString = this.processCount(query, queryString);\n        queryString = this.processCacheBusting(options, queryString);\n        queryString = queryString.substring(1); // removing first &\n        return queryString;\n    }\n    processExpanders(query, queryString) {\n        if (query.expand && query.expand.length > 0) {\n            const expansionStrings = query.expand.map((element) => this.getExpansionString(element));\n            queryString += `&$expand=${expansionStrings.join(',')}`;\n        }\n        return queryString;\n    }\n    getExpansionString(element) {\n        let result = '';\n        if (!element) {\n            return result;\n        }\n        if (typeof element === 'string') {\n            result += element;\n        }\n        else {\n            result += `${element.table}(`;\n            const query = {\n                ...element,\n                count: element.count ?? false,\n                expand: undefined,\n            };\n            result += `${this.getODataString(query).replace(/&/g, ';')};`;\n            if (element.expand) {\n                const expanders = element.expand.map((expander) => {\n                    if (isExpander(expander)) {\n                        return this.getExpansionString(expander);\n                    }\n                    return expander;\n                });\n                result += `$expand=${expanders.join(',')};`;\n            }\n            result += ')';\n            result = result\n                .replace(/\\(;\\$expand=/, '($expand=') //Replaces empty expand \"(;$expand=\" with \"($expand=\"\n                .replace(/\\$expand=;?\\)$/, ')') //Replaces empty expand \";$expand=;)\" or \";$expand=)\" with \")\"\n                .replace(/\\(;\\)$/, '') //Removes empty expansion clause \"(;)\"\n                .replace(/;\\)$/, ')'); //Replaces \";)\" with \")\"\n        }\n        return result;\n    }\n    processOrderBy(query, queryString) {\n        if (!query.orderBy?.length) {\n            return queryString;\n        }\n        const sortString = query.orderBy\n            .map((m) => `${m.field}${m.dir === 'desc' ? '+desc' : ''}`)\n            .join(',');\n        return `${queryString}&$orderby=${sortString}`;\n    }\n    processFilters(query, _options, queryString) {\n        if (!query.filter?.filters?.length) {\n            return queryString;\n        }\n        const filterString = this.serializeCompositeFilter(query.filter);\n        return `${queryString}&$filter=${filterString}`;\n    }\n    serializeCompositeFilter(filter) {\n        const filterLogicSeperator = `+${filter.logic}+`;\n        return `(${filter.filters\n            .map((m) => isCompositeFilter(m)\n            ? this.serializeCompositeFilter(m)\n            : this.serializeFilter(m))\n            .filter((m) => m && m !== '()')\n            .join(filterLogicSeperator)})`;\n    }\n    serializeFilter(filter) {\n        const odataStringFunction = filter.operator?.toODataString ||\n            getFilterOperator(filter.operator?.name || 'equals').toODataString;\n        if (isChildFilter(filter)) {\n            const childFieldName = `o/${filter.field}`;\n            return `${filter.childTable}/${filter.linqOperation}(o: ${odataStringFunction(childFieldName, filter.value)})`;\n        }\n        else {\n            return odataStringFunction(filter.field, filter.value);\n        }\n    }\n    processSimpleParameters(parameterName, query, queryString) {\n        if (query[parameterName] ||\n            (parameterName === 'top' && query[parameterName] === 0)) {\n            return `${queryString}&$${parameterName}=${query[parameterName]}`;\n        }\n        return queryString;\n    }\n    processCacheBusting(options, queryString) {\n        if (options.bustCache) {\n            const timeStamp = new Date().toISOString().replace(/[-:.TZ]/g, '');\n            return `${queryString}&timestamp=${timeStamp}`;\n        }\n        return queryString;\n    }\n    processCount(query, queryString) {\n        if (query.count === false) {\n            return queryString;\n        }\n        return `${queryString}&$count=true`;\n    }\n    processDates(queryString) {\n        const dateRegex = /Date [e-t]{2} \\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g;\n        let m;\n        const dateMatches = [];\n        while ((m = dateRegex.exec(queryString)) !== null) {\n            // This is necessary to avoid infinite loops with zero-width matches\n            if (m.index === dateRegex.lastIndex) {\n                dateRegex.lastIndex++;\n            }\n            m.forEach((match) => {\n                dateMatches.push(match);\n            });\n        }\n        dateMatches.forEach((date) => (queryString = queryString.replace(date, date.replace(/T\\d{2}:\\d{2}:\\d{2}.\\d{3}Z/g, ''))));\n        return queryString;\n    }\n    processGuids(queryString) {\n        const guidRegex = /'[\\dA-F]{8}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{4}-?[\\dA-F]{12}'/gi;\n        let m;\n        const guidMatches = [];\n        while ((m = guidRegex.exec(queryString)) !== null) {\n            // This is necessary to avoid infinite loops with zero-width matches\n            if (m.index === guidRegex.lastIndex) {\n                guidRegex.lastIndex++;\n            }\n            m.forEach((match) => {\n                guidMatches.push(match);\n            });\n        }\n        guidMatches.forEach((guid) => (queryString = queryString.replace(guid, guid.replace(/'/g, ''))));\n        return queryString;\n    }\n    processSelectors(state, queryString) {\n        if (state.select && state.select.length > 0) {\n            return `${queryString}&$select=${state.select.join()}`;\n        }\n        return queryString;\n    }\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n    static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, providedIn: 'root' }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ODataClientService, decorators: [{\n            type: Injectable,\n            args: [{\n                    providedIn: 'root',\n                }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2RhdGEtY2xpZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9saWIvc2VydmljZXMvb2RhdGEtY2xpZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFNTCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLFVBQVUsR0FHWCxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBS2hELE1BQU0sT0FBTyxrQkFBa0I7SUFIL0I7UUFJbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztLQXFNbEQ7SUFuTVEsS0FBSyxDQUNWLGFBQXFCLEVBQ3JCLEtBQWlCLEVBQ2pCLFVBQXdCLEVBQUU7UUFFMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixHQUFHLENBQXVCLEdBQUcsYUFBYSxJQUFJLFFBQVEsRUFBRSxDQUFDO2FBQ3pELElBQUksQ0FBQyxPQUFPLENBQUksT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRU0sY0FBYyxDQUFDLEtBQWlCLEVBQUUsVUFBd0IsRUFBRTtRQUNqRSxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDckIsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxXQUFX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Z0JBQWdCLENBQUMsS0FBaUIsRUFBRSxXQUFtQjtRQUM1RCxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxHQUFHLFdBQVcsWUFBWSxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7UUFDekQsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7OEdBck1VLGtCQUFrQjtrSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07OzJGQUVQLGtCQUFrQjtrQkFIOUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBnZXRGaWx0ZXJPcGVyYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvZ2V0LWZpbHRlci1vcGVyYXRvcic7XG5pbXBvcnQge1xuICBDaGlsZEZpbHRlcixcbiAgQ29tcG9zaXRlRmlsdGVyLFxuICBFeHBhbmRlcixcbiAgRmV0Y2hPcHRpb25zLFxuICBGaWx0ZXIsXG4gIGlzQ2hpbGRGaWx0ZXIsXG4gIGlzQ29tcG9zaXRlRmlsdGVyLFxuICBpc0V4cGFuZGVyLFxuICBPRGF0YVF1ZXJ5LFxuICBPRGF0YVJlc3VsdCxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IG1hcERhdGEgfSBmcm9tICcuLi9vcGVyYXRvcnMvbWFwLWRhdGEnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgT0RhdGFDbGllbnRTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBodHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gIHB1YmxpYyBmZXRjaDxUIGV4dGVuZHMgb2JqZWN0PihcbiAgICBvZGF0YUVuZHBvaW50OiBzdHJpbmcsXG4gICAgcXVlcnk6IE9EYXRhUXVlcnksXG4gICAgb3B0aW9uczogRmV0Y2hPcHRpb25zID0ge30sXG4gICk6IE9ic2VydmFibGU8T0RhdGFSZXN1bHQ8VD4+IHtcbiAgICBjb25zdCBxdWVyeVN0ciA9IHRoaXMuZ2V0T0RhdGFTdHJpbmcocXVlcnksIG9wdGlvbnMpO1xuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnRcbiAgICAgIC5nZXQ8T0RhdGFSZXN1bHQ8VD4gfCBUW10+KGAke29kYXRhRW5kcG9pbnR9PyR7cXVlcnlTdHJ9YClcbiAgICAgIC5waXBlKG1hcERhdGE8VD4ob3B0aW9ucykpO1xuICB9XG5cbiAgcHVibGljIGdldE9EYXRhU3RyaW5nKHF1ZXJ5OiBPRGF0YVF1ZXJ5LCBvcHRpb25zOiBGZXRjaE9wdGlvbnMgPSB7fSk6IHN0cmluZyB7XG4gICAgbGV0IHF1ZXJ5U3RyaW5nID0gJyc7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NGaWx0ZXJzKHF1ZXJ5LCBvcHRpb25zLCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NPcmRlckJ5KHF1ZXJ5LCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSB0aGlzLnByb2Nlc3NTZWxlY3RvcnMocXVlcnksIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0V4cGFuZGVycyhxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzU2ltcGxlUGFyYW1ldGVycygndG9wJywgcXVlcnksIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc1NpbXBsZVBhcmFtZXRlcnMoJ3NraXAnLCBxdWVyeSwgcXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzR3VpZHMocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmcpO1xuICAgIHF1ZXJ5U3RyaW5nID0gdGhpcy5wcm9jZXNzQ291bnQocXVlcnksIHF1ZXJ5U3RyaW5nKTtcbiAgICBxdWVyeVN0cmluZyA9IHRoaXMucHJvY2Vzc0NhY2hlQnVzdGluZyhvcHRpb25zLCBxdWVyeVN0cmluZyk7XG4gICAgcXVlcnlTdHJpbmcgPSBxdWVyeVN0cmluZy5zdWJzdHJpbmcoMSk7IC8vIHJlbW92aW5nIGZpcnN0ICZcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0V4cGFuZGVycyhxdWVyeTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHF1ZXJ5LmV4cGFuZCAmJiBxdWVyeS5leHBhbmQubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZXhwYW5zaW9uU3RyaW5ncyA9IHF1ZXJ5LmV4cGFuZC5tYXAoKGVsZW1lbnQpID0+XG4gICAgICAgIHRoaXMuZ2V0RXhwYW5zaW9uU3RyaW5nKGVsZW1lbnQpLFxuICAgICAgKTtcbiAgICAgIHF1ZXJ5U3RyaW5nICs9IGAmJGV4cGFuZD0ke2V4cGFuc2lvblN0cmluZ3Muam9pbignLCcpfWA7XG4gICAgfVxuICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgfVxuXG4gIHB1YmxpYyBnZXRFeHBhbnNpb25TdHJpbmcoZWxlbWVudDogRXhwYW5kZXIpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSAnJztcbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJlc3VsdCArPSBlbGVtZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgKz0gYCR7ZWxlbWVudC50YWJsZX0oYDtcbiAgICAgIGNvbnN0IHF1ZXJ5OiBPRGF0YVF1ZXJ5ID0ge1xuICAgICAgICAuLi5lbGVtZW50LFxuICAgICAgICBjb3VudDogZWxlbWVudC5jb3VudCA/PyBmYWxzZSxcbiAgICAgICAgZXhwYW5kOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgICAgcmVzdWx0ICs9IGAke3RoaXMuZ2V0T0RhdGFTdHJpbmcocXVlcnkpLnJlcGxhY2UoLyYvZywgJzsnKX07YDtcbiAgICAgIGlmIChlbGVtZW50LmV4cGFuZCkge1xuICAgICAgICBjb25zdCBleHBhbmRlcnMgPSBlbGVtZW50LmV4cGFuZC5tYXAoKGV4cGFuZGVyKSA9PiB7XG4gICAgICAgICAgaWYgKGlzRXhwYW5kZXIoZXhwYW5kZXIpKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFeHBhbnNpb25TdHJpbmcoZXhwYW5kZXIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXhwYW5kZXI7XG4gICAgICAgIH0pO1xuICAgICAgICByZXN1bHQgKz0gYCRleHBhbmQ9JHtleHBhbmRlcnMuam9pbignLCcpfTtgO1xuICAgICAgfVxuICAgICAgcmVzdWx0ICs9ICcpJztcbiAgICAgIHJlc3VsdCA9IHJlc3VsdFxuICAgICAgICAucmVwbGFjZSgvXFwoO1xcJGV4cGFuZD0vLCAnKCRleHBhbmQ9JykgLy9SZXBsYWNlcyBlbXB0eSBleHBhbmQgXCIoOyRleHBhbmQ9XCIgd2l0aCBcIigkZXhwYW5kPVwiXG4gICAgICAgIC5yZXBsYWNlKC9cXCRleHBhbmQ9Oz9cXCkkLywgJyknKSAvL1JlcGxhY2VzIGVtcHR5IGV4cGFuZCBcIjskZXhwYW5kPTspXCIgb3IgXCI7JGV4cGFuZD0pXCIgd2l0aCBcIilcIlxuICAgICAgICAucmVwbGFjZSgvXFwoO1xcKSQvLCAnJykgLy9SZW1vdmVzIGVtcHR5IGV4cGFuc2lvbiBjbGF1c2UgXCIoOylcIlxuICAgICAgICAucmVwbGFjZSgvO1xcKSQvLCAnKScpOyAvL1JlcGxhY2VzIFwiOylcIiB3aXRoIFwiKVwiXG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcm9jZXNzT3JkZXJCeShxdWVyeTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFxdWVyeS5vcmRlckJ5Py5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgICB9XG4gICAgY29uc3Qgc29ydFN0cmluZyA9IHF1ZXJ5Lm9yZGVyQnlcbiAgICAgIC5tYXAoKG0pID0+IGAke20uZmllbGR9JHttLmRpciA9PT0gJ2Rlc2MnID8gJytkZXNjJyA6ICcnfWApXG4gICAgICAuam9pbignLCcpO1xuICAgIHJldHVybiBgJHtxdWVyeVN0cmluZ30mJG9yZGVyYnk9JHtzb3J0U3RyaW5nfWA7XG4gIH1cbiAgcHJvY2Vzc0ZpbHRlcnMoXG4gICAgcXVlcnk6IE9EYXRhUXVlcnksXG4gICAgX29wdGlvbnM6IEZldGNoT3B0aW9ucyxcbiAgICBxdWVyeVN0cmluZzogc3RyaW5nLFxuICApOiBzdHJpbmcge1xuICAgIGlmICghcXVlcnkuZmlsdGVyPy5maWx0ZXJzPy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBxdWVyeVN0cmluZztcbiAgICB9XG4gICAgY29uc3QgZmlsdGVyU3RyaW5nID0gdGhpcy5zZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIocXVlcnkuZmlsdGVyKTtcbiAgICByZXR1cm4gYCR7cXVlcnlTdHJpbmd9JiRmaWx0ZXI9JHtmaWx0ZXJTdHJpbmd9YDtcbiAgfVxuICBzZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIoZmlsdGVyOiBDb21wb3NpdGVGaWx0ZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IGZpbHRlckxvZ2ljU2VwZXJhdG9yID0gYCske2ZpbHRlci5sb2dpY30rYDtcbiAgICByZXR1cm4gYCgke2ZpbHRlci5maWx0ZXJzXG4gICAgICAubWFwKChtKSA9PlxuICAgICAgICBpc0NvbXBvc2l0ZUZpbHRlcihtKVxuICAgICAgICAgID8gdGhpcy5zZXJpYWxpemVDb21wb3NpdGVGaWx0ZXIobSlcbiAgICAgICAgICA6IHRoaXMuc2VyaWFsaXplRmlsdGVyKG0pLFxuICAgICAgKVxuICAgICAgLmZpbHRlcigobSkgPT4gbSAmJiBtICE9PSAnKCknKVxuICAgICAgLmpvaW4oZmlsdGVyTG9naWNTZXBlcmF0b3IpfSlgO1xuICB9XG5cbiAgcHVibGljIHNlcmlhbGl6ZUZpbHRlcihmaWx0ZXI6IEZpbHRlciB8IENoaWxkRmlsdGVyKTogc3RyaW5nIHtcbiAgICBjb25zdCBvZGF0YVN0cmluZ0Z1bmN0aW9uID1cbiAgICAgIGZpbHRlci5vcGVyYXRvcj8udG9PRGF0YVN0cmluZyB8fFxuICAgICAgZ2V0RmlsdGVyT3BlcmF0b3IoZmlsdGVyLm9wZXJhdG9yPy5uYW1lIHx8ICdlcXVhbHMnKS50b09EYXRhU3RyaW5nO1xuICAgIGlmIChpc0NoaWxkRmlsdGVyKGZpbHRlcikpIHtcbiAgICAgIGNvbnN0IGNoaWxkRmllbGROYW1lID0gYG8vJHtmaWx0ZXIuZmllbGR9YDtcbiAgICAgIHJldHVybiBgJHtmaWx0ZXIuY2hpbGRUYWJsZX0vJHtcbiAgICAgICAgZmlsdGVyLmxpbnFPcGVyYXRpb25cbiAgICAgIH0obzogJHtvZGF0YVN0cmluZ0Z1bmN0aW9uKGNoaWxkRmllbGROYW1lLCBmaWx0ZXIudmFsdWUgYXMgbmV2ZXIpfSlgO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gb2RhdGFTdHJpbmdGdW5jdGlvbihmaWx0ZXIuZmllbGQsIGZpbHRlci52YWx1ZSBhcyBuZXZlcik7XG4gICAgfVxuICB9XG4gIHByb2Nlc3NTaW1wbGVQYXJhbWV0ZXJzKFxuICAgIHBhcmFtZXRlck5hbWU6ICdza2lwJyB8ICd0b3AnLFxuICAgIHF1ZXJ5OiBPRGF0YVF1ZXJ5LFxuICAgIHF1ZXJ5U3RyaW5nOiBzdHJpbmcsXG4gICk6IHN0cmluZyB7XG4gICAgaWYgKFxuICAgICAgcXVlcnlbcGFyYW1ldGVyTmFtZV0gfHxcbiAgICAgIChwYXJhbWV0ZXJOYW1lID09PSAndG9wJyAmJiBxdWVyeVtwYXJhbWV0ZXJOYW1lXSA9PT0gMClcbiAgICApIHtcbiAgICAgIHJldHVybiBgJHtxdWVyeVN0cmluZ30mJCR7cGFyYW1ldGVyTmFtZX09JHtxdWVyeVtwYXJhbWV0ZXJOYW1lXX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbiAgcHJvY2Vzc0NhY2hlQnVzdGluZyhvcHRpb25zOiBGZXRjaE9wdGlvbnMsIHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChvcHRpb25zLmJ1c3RDYWNoZSkge1xuICAgICAgY29uc3QgdGltZVN0YW1wID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoL1stOi5UWl0vZywgJycpO1xuICAgICAgcmV0dXJuIGAke3F1ZXJ5U3RyaW5nfSZ0aW1lc3RhbXA9JHt0aW1lU3RhbXB9YDtcbiAgICB9XG4gICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICB9XG5cbiAgcHVibGljIHByb2Nlc3NDb3VudChxdWVyeTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHF1ZXJ5LmNvdW50ID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gYCR7cXVlcnlTdHJpbmd9JiRjb3VudD10cnVlYDtcbiAgfVxuXG4gIHB1YmxpYyBwcm9jZXNzRGF0ZXMocXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgZGF0ZVJlZ2V4ID1cbiAgICAgIC9EYXRlIFtlLXRdezJ9IFxcZHs0fS1cXGR7Mn0tXFxkezJ9VFxcZHsyfTpcXGR7Mn06XFxkezJ9LlxcZHszfVovZztcbiAgICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICBjb25zdCBkYXRlTWF0Y2hlczogc3RyaW5nW10gPSBbXTtcbiAgICB3aGlsZSAoKG0gPSBkYXRlUmVnZXguZXhlYyhxdWVyeVN0cmluZykpICE9PSBudWxsKSB7XG4gICAgICAvLyBUaGlzIGlzIG5lY2Vzc2FyeSB0byBhdm9pZCBpbmZpbml0ZSBsb29wcyB3aXRoIHplcm8td2lkdGggbWF0Y2hlc1xuICAgICAgaWYgKG0uaW5kZXggPT09IGRhdGVSZWdleC5sYXN0SW5kZXgpIHtcbiAgICAgICAgZGF0ZVJlZ2V4Lmxhc3RJbmRleCsrO1xuICAgICAgfVxuICAgICAgbS5mb3JFYWNoKChtYXRjaCkgPT4ge1xuICAgICAgICBkYXRlTWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBkYXRlTWF0Y2hlcy5mb3JFYWNoKFxuICAgICAgKGRhdGUpID0+XG4gICAgICAgIChxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nLnJlcGxhY2UoXG4gICAgICAgICAgZGF0ZSxcbiAgICAgICAgICBkYXRlLnJlcGxhY2UoL1RcXGR7Mn06XFxkezJ9OlxcZHsyfS5cXGR7M31aL2csICcnKSxcbiAgICAgICAgKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc0d1aWRzKHF1ZXJ5U3RyaW5nOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGd1aWRSZWdleCA9XG4gICAgICAvJ1tcXGRBLUZdezh9LT9bXFxkQS1GXXs0fS0/W1xcZEEtRl17NH0tP1tcXGRBLUZdezR9LT9bXFxkQS1GXXsxMn0nL2dpO1xuICAgIGxldCBtOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICAgIGNvbnN0IGd1aWRNYXRjaGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIHdoaWxlICgobSA9IGd1aWRSZWdleC5leGVjKHF1ZXJ5U3RyaW5nKSkgIT09IG51bGwpIHtcbiAgICAgIC8vIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkIGluZmluaXRlIGxvb3BzIHdpdGggemVyby13aWR0aCBtYXRjaGVzXG4gICAgICBpZiAobS5pbmRleCA9PT0gZ3VpZFJlZ2V4Lmxhc3RJbmRleCkge1xuICAgICAgICBndWlkUmVnZXgubGFzdEluZGV4Kys7XG4gICAgICB9XG4gICAgICBtLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgICAgIGd1aWRNYXRjaGVzLnB1c2gobWF0Y2gpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGd1aWRNYXRjaGVzLmZvckVhY2goXG4gICAgICAoZ3VpZCkgPT5cbiAgICAgICAgKHF1ZXJ5U3RyaW5nID0gcXVlcnlTdHJpbmcucmVwbGFjZShndWlkLCBndWlkLnJlcGxhY2UoLycvZywgJycpKSksXG4gICAgKTtcbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cblxuICBwdWJsaWMgcHJvY2Vzc1NlbGVjdG9ycyhzdGF0ZTogT0RhdGFRdWVyeSwgcXVlcnlTdHJpbmc6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlLnNlbGVjdCAmJiBzdGF0ZS5zZWxlY3QubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGAke3F1ZXJ5U3RyaW5nfSYkc2VsZWN0PSR7c3RhdGUuc2VsZWN0LmpvaW4oKX1gO1xuICAgIH1cbiAgICByZXR1cm4gcXVlcnlTdHJpbmc7XG4gIH1cbn1cbiJdfQ==","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';\nimport { ODataClientService } from './services/odata-client.service';\nimport * as i0 from \"@angular/core\";\nexport class ImngODataClientModule {\n    static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngODataClientModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n    static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngODataClientModule, imports: [CommonModule] }); }\n    static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngODataClientModule, providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())], imports: [CommonModule] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: ImngODataClientModule, decorators: [{\n            type: NgModule,\n            args: [{ imports: [CommonModule], providers: [ODataClientService, provideHttpClient(withInterceptorsFromDi())] }]\n        }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1vZGF0YS1jbGllbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9pbW5nLW9kYXRhLWNsaWVudC9zcmMvbGliL2ltbmctb2RhdGEtY2xpZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFHckUsTUFBTSxPQUFPLHFCQUFxQjs4R0FBckIscUJBQXFCOytHQUFyQixxQkFBcUIsWUFEWixZQUFZOytHQUNyQixxQkFBcUIsYUFEYyxDQUFDLGtCQUFrQixFQUFFLGlCQUFpQixDQUFDLHNCQUFzQixFQUFFLENBQUMsQ0FBQyxZQUEzRixZQUFZOzsyRkFDckIscUJBQXFCO2tCQURqQyxRQUFRO21CQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsaUJBQWlCLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IHByb3ZpZGVIdHRwQ2xpZW50LCB3aXRoSW50ZXJjZXB0b3JzRnJvbURpIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgT0RhdGFDbGllbnRTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9vZGF0YS1jbGllbnQuc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7IGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLCBwcm92aWRlcnM6IFtPRGF0YUNsaWVudFNlcnZpY2UsIHByb3ZpZGVIdHRwQ2xpZW50KHdpdGhJbnRlcmNlcHRvcnNGcm9tRGkoKSldIH0pXG5leHBvcnQgY2xhc3MgSW1uZ09EYXRhQ2xpZW50TW9kdWxlIHt9XG4iXX0=","export function createODataResult(t) {\n    return {\n        value: t,\n        count: t?.length,\n    };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9kYXRhLXJlc3VsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvaW1uZy1vZGF0YS1jbGllbnQvc3JjL2xpYi9oZWxwZXJzL2NyZWF0ZS1vZGF0YS1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUMvQixDQUFNO0lBRU4sT0FBTztRQUNMLEtBQUssRUFBRSxDQUFDO1FBQ1IsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNO0tBQ2pCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRUeXBlIH0gZnJvbSAnaW1uZy1ucnNyeC1jbGllbnQtdXRpbHMnO1xuaW1wb3J0IHsgT0RhdGFSZXN1bHQgfSBmcm9tICcuLi9tb2RlbHMvb2RhdGEtcmVzdWx0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU9EYXRhUmVzdWx0PFQgZXh0ZW5kcyB7IGlkPzogSWRUeXBlIH0gfCB1bmtub3duPihcbiAgdDogVFtdLFxuKTogT0RhdGFSZXN1bHQ8VD4ge1xuICByZXR1cm4ge1xuICAgIHZhbHVlOiB0LFxuICAgIGNvdW50OiB0Py5sZW5ndGgsXG4gIH07XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1uZy1vZGF0YS1jbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2ltbmctb2RhdGEtY2xpZW50L3NyYy9pbW5nLW9kYXRhLWNsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}