{"version":3,"file":"default-node_modules_ng-select_ng-select_fesm2020_ng-select-ng-select_mjs.js","mappings":"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AAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,IAAI;EACd,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,QAAQ,EAAE,GAAG;EACb,Q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","sources":["./node_modules/@ng-select/ng-select/fesm2020/ng-select-ng-select.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Directive, Input, Injectable, EventEmitter, ElementRef, Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Inject, Output, ViewChild, InjectionToken, forwardRef, TemplateRef, Attribute, HostBinding, ContentChild, ContentChildren, HostListener, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { takeUntil, auditTime, startWith, tap, debounceTime, filter, map } from 'rxjs/operators';\nimport { animationFrameScheduler, asapScheduler, Subject, fromEvent, merge } from 'rxjs';\nimport * as i3 from '@angular/common';\nimport { DOCUMENT, CommonModule } from '@angular/common';\n\nconst unescapedHTMLExp = /[&<>\"']/g;\nconst hasUnescapedHTMLExp = RegExp(unescapedHTMLExp.source);\nconst htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n};\nfunction escapeHTML(value) {\n return (value && hasUnescapedHTMLExp.test(value)) ?\n value.replace(unescapedHTMLExp, chr => htmlEscapes[chr]) :\n value;\n}\nfunction isDefined(value) {\n return value !== undefined && value !== null;\n}\nfunction isObject(value) {\n return typeof value === 'object' && isDefined(value);\n}\nfunction isPromise(value) {\n return value instanceof Promise;\n}\nfunction isFunction(value) {\n return value instanceof Function;\n}\n\nclass NgItemLabelDirective {\n constructor(element) {\n this.element = element;\n this.escape = true;\n }\n ngOnChanges(changes) {\n this.element.nativeElement.innerHTML = this.escape ?\n escapeHTML(this.ngItemLabel) :\n this.ngItemLabel;\n }\n}\nNgItemLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgItemLabelDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgItemLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: { ngItemLabel: \"ngItemLabel\", escape: \"escape\" }, usesOnChanges: true, ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgItemLabelDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ngItemLabel]' }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { ngItemLabel: [{\n type: Input\n }], escape: [{\n type: Input\n }] } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptionTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptionTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptionTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptionTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgOptionTemplateDirective, selector: \"[ng-option-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptionTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-option-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgOptgroupTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgOptgroupTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptgroupTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgOptgroupTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgOptgroupTemplateDirective, selector: \"[ng-optgroup-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptgroupTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-optgroup-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgLabelTemplateDirective, selector: \"[ng-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgMultiLabelTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgMultiLabelTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgMultiLabelTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgMultiLabelTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgMultiLabelTemplateDirective, selector: \"[ng-multi-label-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgMultiLabelTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-multi-label-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgHeaderTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgHeaderTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgHeaderTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgHeaderTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgHeaderTemplateDirective, selector: \"[ng-header-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgHeaderTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-header-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgFooterTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgFooterTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgFooterTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgFooterTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgFooterTemplateDirective, selector: \"[ng-footer-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgFooterTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-footer-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgNotFoundTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgNotFoundTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgNotFoundTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgNotFoundTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgNotFoundTemplateDirective, selector: \"[ng-notfound-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgNotFoundTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-notfound-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTypeToSearchTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTypeToSearchTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgTypeToSearchTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTypeToSearchTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgTypeToSearchTemplateDirective, selector: \"[ng-typetosearch-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgTypeToSearchTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-typetosearch-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingTextTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingTextTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLoadingTextTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingTextTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgLoadingTextTemplateDirective, selector: \"[ng-loadingtext-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLoadingTextTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingtext-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgTagTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgTagTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgTagTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgTagTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgTagTemplateDirective, selector: \"[ng-tag-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgTagTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-tag-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n// eslint-disable-next-line @angular-eslint/directive-selector\nclass NgLoadingSpinnerTemplateDirective {\n constructor(template) {\n this.template = template;\n }\n}\nNgLoadingSpinnerTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });\nNgLoadingSpinnerTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgLoadingSpinnerTemplateDirective, selector: \"[ng-loadingspinner-tmp]\", ngImport: i0 });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgLoadingSpinnerTemplateDirective, decorators: [{\n type: Directive,\n args: [{ selector: '[ng-loadingspinner-tmp]' }]\n }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });\n\nfunction newId() {\n // First character is an 'a', it's good practice to tag id to begin with a letter\n return 'axxxxxxxxxxx'.replace(/[x]/g, () => {\n // eslint-disable-next-line no-bitwise\n const val = Math.random() * 16 | 0;\n return val.toString(16);\n });\n}\n\nconst diacritics = {\n '\\u24B6': 'A',\n '\\uFF21': 'A',\n '\\u00C0': 'A',\n '\\u00C1': 'A',\n '\\u00C2': 'A',\n '\\u1EA6': 'A',\n '\\u1EA4': 'A',\n '\\u1EAA': 'A',\n '\\u1EA8': 'A',\n '\\u00C3': 'A',\n '\\u0100': 'A',\n '\\u0102': 'A',\n '\\u1EB0': 'A',\n '\\u1EAE': 'A',\n '\\u1EB4': 'A',\n '\\u1EB2': 'A',\n '\\u0226': 'A',\n '\\u01E0': 'A',\n '\\u00C4': 'A',\n '\\u01DE': 'A',\n '\\u1EA2': 'A',\n '\\u00C5': 'A',\n '\\u01FA': 'A',\n '\\u01CD': 'A',\n '\\u0200': 'A',\n '\\u0202': 'A',\n '\\u1EA0': 'A',\n '\\u1EAC': 'A',\n '\\u1EB6': 'A',\n '\\u1E00': 'A',\n '\\u0104': 'A',\n '\\u023A': 'A',\n '\\u2C6F': 'A',\n '\\uA732': 'AA',\n '\\u00C6': 'AE',\n '\\u01FC': 'AE',\n '\\u01E2': 'AE',\n '\\uA734': 'AO',\n '\\uA736': 'AU',\n '\\uA738': 'AV',\n '\\uA73A': 'AV',\n '\\uA73C': 'AY',\n '\\u24B7': 'B',\n '\\uFF22': 'B',\n '\\u1E02': 'B',\n '\\u1E04': 'B',\n '\\u1E06': 'B',\n '\\u0243': 'B',\n '\\u0182': 'B',\n '\\u0181': 'B',\n '\\u24B8': 'C',\n '\\uFF23': 'C',\n '\\u0106': 'C',\n '\\u0108': 'C',\n '\\u010A': 'C',\n '\\u010C': 'C',\n '\\u00C7': 'C',\n '\\u1E08': 'C',\n '\\u0187': 'C',\n '\\u023B': 'C',\n '\\uA73E': 'C',\n '\\u24B9': 'D',\n '\\uFF24': 'D',\n '\\u1E0A': 'D',\n '\\u010E': 'D',\n '\\u1E0C': 'D',\n '\\u1E10': 'D',\n '\\u1E12': 'D',\n '\\u1E0E': 'D',\n '\\u0110': 'D',\n '\\u018B': 'D',\n '\\u018A': 'D',\n '\\u0189': 'D',\n '\\uA779': 'D',\n '\\u01F1': 'DZ',\n '\\u01C4': 'DZ',\n '\\u01F2': 'Dz',\n '\\u01C5': 'Dz',\n '\\u24BA': 'E',\n '\\uFF25': 'E',\n '\\u00C8': 'E',\n '\\u00C9': 'E',\n '\\u00CA': 'E',\n '\\u1EC0': 'E',\n '\\u1EBE': 'E',\n '\\u1EC4': 'E',\n '\\u1EC2': 'E',\n '\\u1EBC': 'E',\n '\\u0112': 'E',\n '\\u1E14': 'E',\n '\\u1E16': 'E',\n '\\u0114': 'E',\n '\\u0116': 'E',\n '\\u00CB': 'E',\n '\\u1EBA': 'E',\n '\\u011A': 'E',\n '\\u0204': 'E',\n '\\u0206': 'E',\n '\\u1EB8': 'E',\n '\\u1EC6': 'E',\n '\\u0228': 'E',\n '\\u1E1C': 'E',\n '\\u0118': 'E',\n '\\u1E18': 'E',\n '\\u1E1A': 'E',\n '\\u0190': 'E',\n '\\u018E': 'E',\n '\\u24BB': 'F',\n '\\uFF26': 'F',\n '\\u1E1E': 'F',\n '\\u0191': 'F',\n '\\uA77B': 'F',\n '\\u24BC': 'G',\n '\\uFF27': 'G',\n '\\u01F4': 'G',\n '\\u011C': 'G',\n '\\u1E20': 'G',\n '\\u011E': 'G',\n '\\u0120': 'G',\n '\\u01E6': 'G',\n '\\u0122': 'G',\n '\\u01E4': 'G',\n '\\u0193': 'G',\n '\\uA7A0': 'G',\n '\\uA77D': 'G',\n '\\uA77E': 'G',\n '\\u24BD': 'H',\n '\\uFF28': 'H',\n '\\u0124': 'H',\n '\\u1E22': 'H',\n '\\u1E26': 'H',\n '\\u021E': 'H',\n '\\u1E24': 'H',\n '\\u1E28': 'H',\n '\\u1E2A': 'H',\n '\\u0126': 'H',\n '\\u2C67': 'H',\n '\\u2C75': 'H',\n '\\uA78D': 'H',\n '\\u24BE': 'I',\n '\\uFF29': 'I',\n '\\u00CC': 'I',\n '\\u00CD': 'I',\n '\\u00CE': 'I',\n '\\u0128': 'I',\n '\\u012A': 'I',\n '\\u012C': 'I',\n '\\u0130': 'I',\n '\\u00CF': 'I',\n '\\u1E2E': 'I',\n '\\u1EC8': 'I',\n '\\u01CF': 'I',\n '\\u0208': 'I',\n '\\u020A': 'I',\n '\\u1ECA': 'I',\n '\\u012E': 'I',\n '\\u1E2C': 'I',\n '\\u0197': 'I',\n '\\u24BF': 'J',\n '\\uFF2A': 'J',\n '\\u0134': 'J',\n '\\u0248': 'J',\n '\\u24C0': 'K',\n '\\uFF2B': 'K',\n '\\u1E30': 'K',\n '\\u01E8': 'K',\n '\\u1E32': 'K',\n '\\u0136': 'K',\n '\\u1E34': 'K',\n '\\u0198': 'K',\n '\\u2C69': 'K',\n '\\uA740': 'K',\n '\\uA742': 'K',\n '\\uA744': 'K',\n '\\uA7A2': 'K',\n '\\u24C1': 'L',\n '\\uFF2C': 'L',\n '\\u013F': 'L',\n '\\u0139': 'L',\n '\\u013D': 'L',\n '\\u1E36': 'L',\n '\\u1E38': 'L',\n '\\u013B': 'L',\n '\\u1E3C': 'L',\n '\\u1E3A': 'L',\n '\\u0141': 'L',\n '\\u023D': 'L',\n '\\u2C62': 'L',\n '\\u2C60': 'L',\n '\\uA748': 'L',\n '\\uA746': 'L',\n '\\uA780': 'L',\n '\\u01C7': 'LJ',\n '\\u01C8': 'Lj',\n '\\u24C2': 'M',\n '\\uFF2D': 'M',\n '\\u1E3E': 'M',\n '\\u1E40': 'M',\n '\\u1E42': 'M',\n '\\u2C6E': 'M',\n '\\u019C': 'M',\n '\\u24C3': 'N',\n '\\uFF2E': 'N',\n '\\u01F8': 'N',\n '\\u0143': 'N',\n '\\u00D1': 'N',\n '\\u1E44': 'N',\n '\\u0147': 'N',\n '\\u1E46': 'N',\n '\\u0145': 'N',\n '\\u1E4A': 'N',\n '\\u1E48': 'N',\n '\\u0220': 'N',\n '\\u019D': 'N',\n '\\uA790': 'N',\n '\\uA7A4': 'N',\n '\\u01CA': 'NJ',\n '\\u01CB': 'Nj',\n '\\u24C4': 'O',\n '\\uFF2F': 'O',\n '\\u00D2': 'O',\n '\\u00D3': 'O',\n '\\u00D4': 'O',\n '\\u1ED2': 'O',\n '\\u1ED0': 'O',\n '\\u1ED6': 'O',\n '\\u1ED4': 'O',\n '\\u00D5': 'O',\n '\\u1E4C': 'O',\n '\\u022C': 'O',\n '\\u1E4E': 'O',\n '\\u014C': 'O',\n '\\u1E50': 'O',\n '\\u1E52': 'O',\n '\\u014E': 'O',\n '\\u022E': 'O',\n '\\u0230': 'O',\n '\\u00D6': 'O',\n '\\u022A': 'O',\n '\\u1ECE': 'O',\n '\\u0150': 'O',\n '\\u01D1': 'O',\n '\\u020C': 'O',\n '\\u020E': 'O',\n '\\u01A0': 'O',\n '\\u1EDC': 'O',\n '\\u1EDA': 'O',\n '\\u1EE0': 'O',\n '\\u1EDE': 'O',\n '\\u1EE2': 'O',\n '\\u1ECC': 'O',\n '\\u1ED8': 'O',\n '\\u01EA': 'O',\n '\\u01EC': 'O',\n '\\u00D8': 'O',\n '\\u01FE': 'O',\n '\\u0186': 'O',\n '\\u019F': 'O',\n '\\uA74A': 'O',\n '\\uA74C': 'O',\n '\\u01A2': 'OI',\n '\\uA74E': 'OO',\n '\\u0222': 'OU',\n '\\u24C5': 'P',\n '\\uFF30': 'P',\n '\\u1E54': 'P',\n '\\u1E56': 'P',\n '\\u01A4': 'P',\n '\\u2C63': 'P',\n '\\uA750': 'P',\n '\\uA752': 'P',\n '\\uA754': 'P',\n '\\u24C6': 'Q',\n '\\uFF31': 'Q',\n '\\uA756': 'Q',\n '\\uA758': 'Q',\n '\\u024A': 'Q',\n '\\u24C7': 'R',\n '\\uFF32': 'R',\n '\\u0154': 'R',\n '\\u1E58': 'R',\n '\\u0158': 'R',\n '\\u0210': 'R',\n '\\u0212': 'R',\n '\\u1E5A': 'R',\n '\\u1E5C': 'R',\n '\\u0156': 'R',\n '\\u1E5E': 'R',\n '\\u024C': 'R',\n '\\u2C64': 'R',\n '\\uA75A': 'R',\n '\\uA7A6': 'R',\n '\\uA782': 'R',\n '\\u24C8': 'S',\n '\\uFF33': 'S',\n '\\u1E9E': 'S',\n '\\u015A': 'S',\n '\\u1E64': 'S',\n '\\u015C': 'S',\n '\\u1E60': 'S',\n '\\u0160': 'S',\n '\\u1E66': 'S',\n '\\u1E62': 'S',\n '\\u1E68': 'S',\n '\\u0218': 'S',\n '\\u015E': 'S',\n '\\u2C7E': 'S',\n '\\uA7A8': 'S',\n '\\uA784': 'S',\n '\\u24C9': 'T',\n '\\uFF34': 'T',\n '\\u1E6A': 'T',\n '\\u0164': 'T',\n '\\u1E6C': 'T',\n '\\u021A': 'T',\n '\\u0162': 'T',\n '\\u1E70': 'T',\n '\\u1E6E': 'T',\n '\\u0166': 'T',\n '\\u01AC': 'T',\n '\\u01AE': 'T',\n '\\u023E': 'T',\n '\\uA786': 'T',\n '\\uA728': 'TZ',\n '\\u24CA': 'U',\n '\\uFF35': 'U',\n '\\u00D9': 'U',\n '\\u00DA': 'U',\n '\\u00DB': 'U',\n '\\u0168': 'U',\n '\\u1E78': 'U',\n '\\u016A': 'U',\n '\\u1E7A': 'U',\n '\\u016C': 'U',\n '\\u00DC': 'U',\n '\\u01DB': 'U',\n '\\u01D7': 'U',\n '\\u01D5': 'U',\n '\\u01D9': 'U',\n '\\u1EE6': 'U',\n '\\u016E': 'U',\n '\\u0170': 'U',\n '\\u01D3': 'U',\n '\\u0214': 'U',\n '\\u0216': 'U',\n '\\u01AF': 'U',\n '\\u1EEA': 'U',\n '\\u1EE8': 'U',\n '\\u1EEE': 'U',\n '\\u1EEC': 'U',\n '\\u1EF0': 'U',\n '\\u1EE4': 'U',\n '\\u1E72': 'U',\n '\\u0172': 'U',\n '\\u1E76': 'U',\n '\\u1E74': 'U',\n '\\u0244': 'U',\n '\\u24CB': 'V',\n '\\uFF36': 'V',\n '\\u1E7C': 'V',\n '\\u1E7E': 'V',\n '\\u01B2': 'V',\n '\\uA75E': 'V',\n '\\u0245': 'V',\n '\\uA760': 'VY',\n '\\u24CC': 'W',\n '\\uFF37': 'W',\n '\\u1E80': 'W',\n '\\u1E82': 'W',\n '\\u0174': 'W',\n '\\u1E86': 'W',\n '\\u1E84': 'W',\n '\\u1E88': 'W',\n '\\u2C72': 'W',\n '\\u24CD': 'X',\n '\\uFF38': 'X',\n '\\u1E8A': 'X',\n '\\u1E8C': 'X',\n '\\u24CE': 'Y',\n '\\uFF39': 'Y',\n '\\u1EF2': 'Y',\n '\\u00DD': 'Y',\n '\\u0176': 'Y',\n '\\u1EF8': 'Y',\n '\\u0232': 'Y',\n '\\u1E8E': 'Y',\n '\\u0178': 'Y',\n '\\u1EF6': 'Y',\n '\\u1EF4': 'Y',\n '\\u01B3': 'Y',\n '\\u024E': 'Y',\n '\\u1EFE': 'Y',\n '\\u24CF': 'Z',\n '\\uFF3A': 'Z',\n '\\u0179': 'Z',\n '\\u1E90': 'Z',\n '\\u017B': 'Z',\n '\\u017D': 'Z',\n '\\u1E92': 'Z',\n '\\u1E94': 'Z',\n '\\u01B5': 'Z',\n '\\u0224': 'Z',\n '\\u2C7F': 'Z',\n '\\u2C6B': 'Z',\n '\\uA762': 'Z',\n '\\u24D0': 'a',\n '\\uFF41': 'a',\n '\\u1E9A': 'a',\n '\\u00E0': 'a',\n '\\u00E1': 'a',\n '\\u00E2': 'a',\n '\\u1EA7': 'a',\n '\\u1EA5': 'a',\n '\\u1EAB': 'a',\n '\\u1EA9': 'a',\n '\\u00E3': 'a',\n '\\u0101': 'a',\n '\\u0103': 'a',\n '\\u1EB1': 'a',\n '\\u1EAF': 'a',\n '\\u1EB5': 'a',\n '\\u1EB3': 'a',\n '\\u0227': 'a',\n '\\u01E1': 'a',\n '\\u00E4': 'a',\n '\\u01DF': 'a',\n '\\u1EA3': 'a',\n '\\u00E5': 'a',\n '\\u01FB': 'a',\n '\\u01CE': 'a',\n '\\u0201': 'a',\n '\\u0203': 'a',\n '\\u1EA1': 'a',\n '\\u1EAD': 'a',\n '\\u1EB7': 'a',\n '\\u1E01': 'a',\n '\\u0105': 'a',\n '\\u2C65': 'a',\n '\\u0250': 'a',\n '\\uA733': 'aa',\n '\\u00E6': 'ae',\n '\\u01FD': 'ae',\n '\\u01E3': 'ae',\n '\\uA735': 'ao',\n '\\uA737': 'au',\n '\\uA739': 'av',\n '\\uA73B': 'av',\n '\\uA73D': 'ay',\n '\\u24D1': 'b',\n '\\uFF42': 'b',\n '\\u1E03': 'b',\n '\\u1E05': 'b',\n '\\u1E07': 'b',\n '\\u0180': 'b',\n '\\u0183': 'b',\n '\\u0253': 'b',\n '\\u24D2': 'c',\n '\\uFF43': 'c',\n '\\u0107': 'c',\n '\\u0109': 'c',\n '\\u010B': 'c',\n '\\u010D': 'c',\n '\\u00E7': 'c',\n '\\u1E09': 'c',\n '\\u0188': 'c',\n '\\u023C': 'c',\n '\\uA73F': 'c',\n '\\u2184': 'c',\n '\\u24D3': 'd',\n '\\uFF44': 'd',\n '\\u1E0B': 'd',\n '\\u010F': 'd',\n '\\u1E0D': 'd',\n '\\u1E11': 'd',\n '\\u1E13': 'd',\n '\\u1E0F': 'd',\n '\\u0111': 'd',\n '\\u018C': 'd',\n '\\u0256': 'd',\n '\\u0257': 'd',\n '\\uA77A': 'd',\n '\\u01F3': 'dz',\n '\\u01C6': 'dz',\n '\\u24D4': 'e',\n '\\uFF45': 'e',\n '\\u00E8': 'e',\n '\\u00E9': 'e',\n '\\u00EA': 'e',\n '\\u1EC1': 'e',\n '\\u1EBF': 'e',\n '\\u1EC5': 'e',\n '\\u1EC3': 'e',\n '\\u1EBD': 'e',\n '\\u0113': 'e',\n '\\u1E15': 'e',\n '\\u1E17': 'e',\n '\\u0115': 'e',\n '\\u0117': 'e',\n '\\u00EB': 'e',\n '\\u1EBB': 'e',\n '\\u011B': 'e',\n '\\u0205': 'e',\n '\\u0207': 'e',\n '\\u1EB9': 'e',\n '\\u1EC7': 'e',\n '\\u0229': 'e',\n '\\u1E1D': 'e',\n '\\u0119': 'e',\n '\\u1E19': 'e',\n '\\u1E1B': 'e',\n '\\u0247': 'e',\n '\\u025B': 'e',\n '\\u01DD': 'e',\n '\\u24D5': 'f',\n '\\uFF46': 'f',\n '\\u1E1F': 'f',\n '\\u0192': 'f',\n '\\uA77C': 'f',\n '\\u24D6': 'g',\n '\\uFF47': 'g',\n '\\u01F5': 'g',\n '\\u011D': 'g',\n '\\u1E21': 'g',\n '\\u011F': 'g',\n '\\u0121': 'g',\n '\\u01E7': 'g',\n '\\u0123': 'g',\n '\\u01E5': 'g',\n '\\u0260': 'g',\n '\\uA7A1': 'g',\n '\\u1D79': 'g',\n '\\uA77F': 'g',\n '\\u24D7': 'h',\n '\\uFF48': 'h',\n '\\u0125': 'h',\n '\\u1E23': 'h',\n '\\u1E27': 'h',\n '\\u021F': 'h',\n '\\u1E25': 'h',\n '\\u1E29': 'h',\n '\\u1E2B': 'h',\n '\\u1E96': 'h',\n '\\u0127': 'h',\n '\\u2C68': 'h',\n '\\u2C76': 'h',\n '\\u0265': 'h',\n '\\u0195': 'hv',\n '\\u24D8': 'i',\n '\\uFF49': 'i',\n '\\u00EC': 'i',\n '\\u00ED': 'i',\n '\\u00EE': 'i',\n '\\u0129': 'i',\n '\\u012B': 'i',\n '\\u012D': 'i',\n '\\u00EF': 'i',\n '\\u1E2F': 'i',\n '\\u1EC9': 'i',\n '\\u01D0': 'i',\n '\\u0209': 'i',\n '\\u020B': 'i',\n '\\u1ECB': 'i',\n '\\u012F': 'i',\n '\\u1E2D': 'i',\n '\\u0268': 'i',\n '\\u0131': 'i',\n '\\u24D9': 'j',\n '\\uFF4A': 'j',\n '\\u0135': 'j',\n '\\u01F0': 'j',\n '\\u0249': 'j',\n '\\u24DA': 'k',\n '\\uFF4B': 'k',\n '\\u1E31': 'k',\n '\\u01E9': 'k',\n '\\u1E33': 'k',\n '\\u0137': 'k',\n '\\u1E35': 'k',\n '\\u0199': 'k',\n '\\u2C6A': 'k',\n '\\uA741': 'k',\n '\\uA743': 'k',\n '\\uA745': 'k',\n '\\uA7A3': 'k',\n '\\u24DB': 'l',\n '\\uFF4C': 'l',\n '\\u0140': 'l',\n '\\u013A': 'l',\n '\\u013E': 'l',\n '\\u1E37': 'l',\n '\\u1E39': 'l',\n '\\u013C': 'l',\n '\\u1E3D': 'l',\n '\\u1E3B': 'l',\n '\\u017F': 'l',\n '\\u0142': 'l',\n '\\u019A': 'l',\n '\\u026B': 'l',\n '\\u2C61': 'l',\n '\\uA749': 'l',\n '\\uA781': 'l',\n '\\uA747': 'l',\n '\\u01C9': 'lj',\n '\\u24DC': 'm',\n '\\uFF4D': 'm',\n '\\u1E3F': 'm',\n '\\u1E41': 'm',\n '\\u1E43': 'm',\n '\\u0271': 'm',\n '\\u026F': 'm',\n '\\u24DD': 'n',\n '\\uFF4E': 'n',\n '\\u01F9': 'n',\n '\\u0144': 'n',\n '\\u00F1': 'n',\n '\\u1E45': 'n',\n '\\u0148': 'n',\n '\\u1E47': 'n',\n '\\u0146': 'n',\n '\\u1E4B': 'n',\n '\\u1E49': 'n',\n '\\u019E': 'n',\n '\\u0272': 'n',\n '\\u0149': 'n',\n '\\uA791': 'n',\n '\\uA7A5': 'n',\n '\\u01CC': 'nj',\n '\\u24DE': 'o',\n '\\uFF4F': 'o',\n '\\u00F2': 'o',\n '\\u00F3': 'o',\n '\\u00F4': 'o',\n '\\u1ED3': 'o',\n '\\u1ED1': 'o',\n '\\u1ED7': 'o',\n '\\u1ED5': 'o',\n '\\u00F5': 'o',\n '\\u1E4D': 'o',\n '\\u022D': 'o',\n '\\u1E4F': 'o',\n '\\u014D': 'o',\n '\\u1E51': 'o',\n '\\u1E53': 'o',\n '\\u014F': 'o',\n '\\u022F': 'o',\n '\\u0231': 'o',\n '\\u00F6': 'o',\n '\\u022B': 'o',\n '\\u1ECF': 'o',\n '\\u0151': 'o',\n '\\u01D2': 'o',\n '\\u020D': 'o',\n '\\u020F': 'o',\n '\\u01A1': 'o',\n '\\u1EDD': 'o',\n '\\u1EDB': 'o',\n '\\u1EE1': 'o',\n '\\u1EDF': 'o',\n '\\u1EE3': 'o',\n '\\u1ECD': 'o',\n '\\u1ED9': 'o',\n '\\u01EB': 'o',\n '\\u01ED': 'o',\n '\\u00F8': 'o',\n '\\u01FF': 'o',\n '\\u0254': 'o',\n '\\uA74B': 'o',\n '\\uA74D': 'o',\n '\\u0275': 'o',\n '\\u01A3': 'oi',\n '\\u0223': 'ou',\n '\\uA74F': 'oo',\n '\\u24DF': 'p',\n '\\uFF50': 'p',\n '\\u1E55': 'p',\n '\\u1E57': 'p',\n '\\u01A5': 'p',\n '\\u1D7D': 'p',\n '\\uA751': 'p',\n '\\uA753': 'p',\n '\\uA755': 'p',\n '\\u24E0': 'q',\n '\\uFF51': 'q',\n '\\u024B': 'q',\n '\\uA757': 'q',\n '\\uA759': 'q',\n '\\u24E1': 'r',\n '\\uFF52': 'r',\n '\\u0155': 'r',\n '\\u1E59': 'r',\n '\\u0159': 'r',\n '\\u0211': 'r',\n '\\u0213': 'r',\n '\\u1E5B': 'r',\n '\\u1E5D': 'r',\n '\\u0157': 'r',\n '\\u1E5F': 'r',\n '\\u024D': 'r',\n '\\u027D': 'r',\n '\\uA75B': 'r',\n '\\uA7A7': 'r',\n '\\uA783': 'r',\n '\\u24E2': 's',\n '\\uFF53': 's',\n '\\u00DF': 's',\n '\\u015B': 's',\n '\\u1E65': 's',\n '\\u015D': 's',\n '\\u1E61': 's',\n '\\u0161': 's',\n '\\u1E67': 's',\n '\\u1E63': 's',\n '\\u1E69': 's',\n '\\u0219': 's',\n '\\u015F': 's',\n '\\u023F': 's',\n '\\uA7A9': 's',\n '\\uA785': 's',\n '\\u1E9B': 's',\n '\\u24E3': 't',\n '\\uFF54': 't',\n '\\u1E6B': 't',\n '\\u1E97': 't',\n '\\u0165': 't',\n '\\u1E6D': 't',\n '\\u021B': 't',\n '\\u0163': 't',\n '\\u1E71': 't',\n '\\u1E6F': 't',\n '\\u0167': 't',\n '\\u01AD': 't',\n '\\u0288': 't',\n '\\u2C66': 't',\n '\\uA787': 't',\n '\\uA729': 'tz',\n '\\u24E4': 'u',\n '\\uFF55': 'u',\n '\\u00F9': 'u',\n '\\u00FA': 'u',\n '\\u00FB': 'u',\n '\\u0169': 'u',\n '\\u1E79': 'u',\n '\\u016B': 'u',\n '\\u1E7B': 'u',\n '\\u016D': 'u',\n '\\u00FC': 'u',\n '\\u01DC': 'u',\n '\\u01D8': 'u',\n '\\u01D6': 'u',\n '\\u01DA': 'u',\n '\\u1EE7': 'u',\n '\\u016F': 'u',\n '\\u0171': 'u',\n '\\u01D4': 'u',\n '\\u0215': 'u',\n '\\u0217': 'u',\n '\\u01B0': 'u',\n '\\u1EEB': 'u',\n '\\u1EE9': 'u',\n '\\u1EEF': 'u',\n '\\u1EED': 'u',\n '\\u1EF1': 'u',\n '\\u1EE5': 'u',\n '\\u1E73': 'u',\n '\\u0173': 'u',\n '\\u1E77': 'u',\n '\\u1E75': 'u',\n '\\u0289': 'u',\n '\\u24E5': 'v',\n '\\uFF56': 'v',\n '\\u1E7D': 'v',\n '\\u1E7F': 'v',\n '\\u028B': 'v',\n '\\uA75F': 'v',\n '\\u028C': 'v',\n '\\uA761': 'vy',\n '\\u24E6': 'w',\n '\\uFF57': 'w',\n '\\u1E81': 'w',\n '\\u1E83': 'w',\n '\\u0175': 'w',\n '\\u1E87': 'w',\n '\\u1E85': 'w',\n '\\u1E98': 'w',\n '\\u1E89': 'w',\n '\\u2C73': 'w',\n '\\u24E7': 'x',\n '\\uFF58': 'x',\n '\\u1E8B': 'x',\n '\\u1E8D': 'x',\n '\\u24E8': 'y',\n '\\uFF59': 'y',\n '\\u1EF3': 'y',\n '\\u00FD': 'y',\n '\\u0177': 'y',\n '\\u1EF9': 'y',\n '\\u0233': 'y',\n '\\u1E8F': 'y',\n '\\u00FF': 'y',\n '\\u1EF7': 'y',\n '\\u1E99': 'y',\n '\\u1EF5': 'y',\n '\\u01B4': 'y',\n '\\u024F': 'y',\n '\\u1EFF': 'y',\n '\\u24E9': 'z',\n '\\uFF5A': 'z',\n '\\u017A': 'z',\n '\\u1E91': 'z',\n '\\u017C': 'z',\n '\\u017E': 'z',\n '\\u1E93': 'z',\n '\\u1E95': 'z',\n '\\u01B6': 'z',\n '\\u0225': 'z',\n '\\u0240': 'z',\n '\\u2C6C': 'z',\n '\\uA763': 'z',\n '\\u0386': '\\u0391',\n '\\u0388': '\\u0395',\n '\\u0389': '\\u0397',\n '\\u038A': '\\u0399',\n '\\u03AA': '\\u0399',\n '\\u038C': '\\u039F',\n '\\u038E': '\\u03A5',\n '\\u03AB': '\\u03A5',\n '\\u038F': '\\u03A9',\n '\\u03AC': '\\u03B1',\n '\\u03AD': '\\u03B5',\n '\\u03AE': '\\u03B7',\n '\\u03AF': '\\u03B9',\n '\\u03CA': '\\u03B9',\n '\\u0390': '\\u03B9',\n '\\u03CC': '\\u03BF',\n '\\u03CD': '\\u03C5',\n '\\u03CB': '\\u03C5',\n '\\u03B0': '\\u03C5',\n '\\u03C9': '\\u03C9',\n '\\u03C2': '\\u03C3'\n};\nfunction stripSpecialChars(text) {\n const match = (a) => diacritics[a] || a;\n return text.replace(/[^\\u0000-\\u007E]/g, match);\n}\n\nclass ItemsList {\n constructor(_ngSelect, _selectionModel) {\n this._ngSelect = _ngSelect;\n this._selectionModel = _selectionModel;\n this._items = [];\n this._filteredItems = [];\n this._markedIndex = -1;\n }\n get items() {\n return this._items;\n }\n get filteredItems() {\n return this._filteredItems;\n }\n get markedIndex() {\n return this._markedIndex;\n }\n get selectedItems() {\n return this._selectionModel.value;\n }\n get markedItem() {\n return this._filteredItems[this._markedIndex];\n }\n get noItemsToSelect() {\n return this._ngSelect.hideSelected && this._items.length === this.selectedItems.length;\n }\n get maxItemsSelected() {\n return this._ngSelect.multiple && this._ngSelect.maxSelectedItems <= this.selectedItems.length;\n }\n get lastSelectedItem() {\n let i = this.selectedItems.length - 1;\n for (; i >= 0; i--) {\n const item = this.selectedItems[i];\n if (!item.disabled) {\n return item;\n }\n }\n return null;\n }\n setItems(items) {\n this._items = items.map((item, index) => this.mapItem(item, index));\n if (this._ngSelect.groupBy) {\n this._groups = this._groupBy(this._items, this._ngSelect.groupBy);\n this._items = this._flatten(this._groups);\n }\n else {\n this._groups = new Map();\n this._groups.set(undefined, this._items);\n }\n this._filteredItems = [...this._items];\n }\n select(item) {\n if (item.selected || this.maxItemsSelected) {\n return;\n }\n const multiple = this._ngSelect.multiple;\n if (!multiple) {\n this.clearSelected();\n }\n this._selectionModel.select(item, multiple, this._ngSelect.selectableGroupAsModel);\n if (this._ngSelect.hideSelected) {\n this._hideSelected(item);\n }\n }\n unselect(item) {\n if (!item.selected) {\n return;\n }\n this._selectionModel.unselect(item, this._ngSelect.multiple);\n if (this._ngSelect.hideSelected && isDefined(item.index) && this._ngSelect.multiple) {\n this._showSelected(item);\n }\n }\n findItem(value) {\n let findBy;\n if (this._ngSelect.compareWith) {\n findBy = item => this._ngSelect.compareWith(item.value, value);\n }\n else if (this._ngSelect.bindValue) {\n findBy = item => !item.children && this.resolveNested(item.value, this._ngSelect.bindValue) === value;\n }\n else {\n findBy = item => item.value === value ||\n !item.children && item.label && item.label === this.resolveNested(value, this._ngSelect.bindLabel);\n }\n return this._items.find(item => findBy(item));\n }\n addItem(item) {\n const option = this.mapItem(item, this._items.length);\n this._items.push(option);\n this._filteredItems.push(option);\n return option;\n }\n clearSelected(keepDisabled = false) {\n this._selectionModel.clear(keepDisabled);\n this._items.forEach(item => {\n item.selected = keepDisabled && item.selected && item.disabled;\n item.marked = false;\n });\n if (this._ngSelect.hideSelected) {\n this.resetFilteredItems();\n }\n }\n findByLabel(term) {\n term = stripSpecialChars(term).toLocaleLowerCase();\n return this.filteredItems.find(item => {\n const label = stripSpecialChars(item.label).toLocaleLowerCase();\n return label.substr(0, term.length) === term;\n });\n }\n filter(term) {\n if (!term) {\n this.resetFilteredItems();\n return;\n }\n this._filteredItems = [];\n term = this._ngSelect.searchFn ? term : stripSpecialChars(term).toLocaleLowerCase();\n const match = this._ngSelect.searchFn || this._defaultSearchFn;\n const hideSelected = this._ngSelect.hideSelected;\n for (const key of Array.from(this._groups.keys())) {\n const matchedItems = [];\n for (const item of this._groups.get(key)) {\n if (hideSelected && (item.parent && item.parent.selected || item.selected)) {\n continue;\n }\n const searchItem = this._ngSelect.searchFn ? item.value : item;\n if (match(term, searchItem)) {\n matchedItems.push(item);\n }\n }\n if (matchedItems.length > 0) {\n const [last] = matchedItems.slice(-1);\n if (last.parent) {\n const head = this._items.find(x => x === last.parent);\n this._filteredItems.push(head);\n }\n this._filteredItems.push(...matchedItems);\n }\n }\n }\n resetFilteredItems() {\n if (this._filteredItems.length === this._items.length) {\n return;\n }\n if (this._ngSelect.hideSelected && this.selectedItems.length > 0) {\n this._filteredItems = this._items.filter(x => !x.selected);\n }\n else {\n this._filteredItems = this._items;\n }\n }\n unmarkItem() {\n this._markedIndex = -1;\n }\n markNextItem() {\n this._stepToItem(+1);\n }\n markPreviousItem() {\n this._stepToItem(-1);\n }\n markItem(item) {\n this._markedIndex = this._filteredItems.indexOf(item);\n }\n markSelectedOrDefault(markDefault) {\n if (this._filteredItems.length === 0) {\n return;\n }\n const lastMarkedIndex = this._getLastMarkedIndex();\n if (lastMarkedIndex > -1) {\n this._markedIndex = lastMarkedIndex;\n }\n else {\n this._markedIndex = markDefault ? this.filteredItems.findIndex(x => !x.disabled) : -1;\n }\n }\n resolveNested(option, key) {\n if (!isObject(option)) {\n return option;\n }\n if (key.indexOf('.') === -1) {\n return option[key];\n }\n else {\n const keys = key.split('.');\n let value = option;\n for (let i = 0, len = keys.length; i < len; ++i) {\n if (value == null) {\n return null;\n }\n value = value[keys[i]];\n }\n return value;\n }\n }\n mapItem(item, index) {\n const label = isDefined(item.$ngOptionLabel) ? item.$ngOptionLabel : this.resolveNested(item, this._ngSelect.bindLabel);\n const value = isDefined(item.$ngOptionValue) ? item.$ngOptionValue : item;\n return {\n index,\n label: isDefined(label) ? label.toString() : '',\n value,\n disabled: item.disabled,\n htmlId: `${this._ngSelect.dropdownId}-${index}`,\n };\n }\n mapSelectedItems() {\n const multiple = this._ngSelect.multiple;\n for (const selected of this.selectedItems) {\n const value = this._ngSelect.bindValue ? this.resolveNested(selected.value, this._ngSelect.bindValue) : selected.value;\n const item = isDefined(value) ? this.findItem(value) : null;\n this._selectionModel.unselect(selected, multiple);\n this._selectionModel.select(item || selected, multiple, this._ngSelect.selectableGroupAsModel);\n }\n if (this._ngSelect.hideSelected) {\n this._filteredItems = this.filteredItems.filter(x => this.selectedItems.indexOf(x) === -1);\n }\n }\n _showSelected(item) {\n this._filteredItems.push(item);\n if (item.parent) {\n const parent = item.parent;\n const parentExists = this._filteredItems.find(x => x === parent);\n if (!parentExists) {\n this._filteredItems.push(parent);\n }\n }\n else if (item.children) {\n for (const child of item.children) {\n child.selected = false;\n this._filteredItems.push(child);\n }\n }\n this._filteredItems = [...this._filteredItems.sort((a, b) => (a.index - b.index))];\n }\n _hideSelected(item) {\n this._filteredItems = this._filteredItems.filter(x => x !== item);\n if (item.parent) {\n const children = item.parent.children;\n if (children.every(x => x.selected)) {\n this._filteredItems = this._filteredItems.filter(x => x !== item.parent);\n }\n }\n else if (item.children) {\n this._filteredItems = this.filteredItems.filter(x => x.parent !== item);\n }\n }\n _defaultSearchFn(search, opt) {\n const label = stripSpecialChars(opt.label).toLocaleLowerCase();\n return label.indexOf(search) > -1;\n }\n _getNextItemIndex(steps) {\n if (steps > 0) {\n return (this._markedIndex >= this._filteredItems.length - 1) ? 0 : (this._markedIndex + 1);\n }\n return (this._markedIndex <= 0) ? (this._filteredItems.length - 1) : (this._markedIndex - 1);\n }\n _stepToItem(steps) {\n if (this._filteredItems.length === 0 || this._filteredItems.every(x => x.disabled)) {\n return;\n }\n this._markedIndex = this._getNextItemIndex(steps);\n if (this.markedItem.disabled) {\n this._stepToItem(steps);\n }\n }\n _getLastMarkedIndex() {\n if (this._ngSelect.hideSelected) {\n return -1;\n }\n if (this._markedIndex > -1 && this.markedItem === undefined) {\n return -1;\n }\n const selectedIndex = this._filteredItems.indexOf(this.lastSelectedItem);\n if (this.lastSelectedItem && selectedIndex < 0) {\n return -1;\n }\n return Math.max(this.markedIndex, selectedIndex);\n }\n _groupBy(items, prop) {\n const groups = new Map();\n if (items.length === 0) {\n return groups;\n }\n // Check if items are already grouped by given key.\n if (Array.isArray(items[0].value[prop])) {\n for (const item of items) {\n const children = (item.value[prop] || []).map((x, index) => this.mapItem(x, index));\n groups.set(item, children);\n }\n return groups;\n }\n const isFnKey = isFunction(this._ngSelect.groupBy);\n const keyFn = (item) => {\n const key = isFnKey ? prop(item.value) : item.value[prop];\n return isDefined(key) ? key : undefined;\n };\n // Group items by key.\n for (const item of items) {\n const key = keyFn(item);\n const group = groups.get(key);\n if (group) {\n group.push(item);\n }\n else {\n groups.set(key, [item]);\n }\n }\n return groups;\n }\n _flatten(groups) {\n const isGroupByFn = isFunction(this._ngSelect.groupBy);\n const items = [];\n for (const key of Array.from(groups.keys())) {\n let i = items.length;\n if (key === undefined) {\n const withoutGroup = groups.get(undefined) || [];\n items.push(...withoutGroup.map(x => {\n x.index = i++;\n return x;\n }));\n continue;\n }\n const isObjectKey = isObject(key);\n const parent = {\n label: isObjectKey ? '' : String(key),\n children: undefined,\n parent: null,\n index: i++,\n disabled: !this._ngSelect.selectableGroup,\n htmlId: newId(),\n };\n const groupKey = isGroupByFn ? this._ngSelect.bindLabel : this._ngSelect.groupBy;\n const groupValue = this._ngSelect.groupValue || (() => {\n if (isObjectKey) {\n return key.value;\n }\n return { [groupKey]: key };\n });\n const children = groups.get(key).map(x => {\n x.parent = parent;\n x.children = undefined;\n x.index = i++;\n return x;\n });\n parent.children = children;\n parent.value = groupValue(key, children.map(x => x.value));\n items.push(parent);\n items.push(...children);\n }\n return items;\n }\n}\n\nvar KeyCode;\n(function (KeyCode) {\n KeyCode[KeyCode[\"Tab\"] = 9] = \"Tab\";\n KeyCode[KeyCode[\"Enter\"] = 13] = \"Enter\";\n KeyCode[KeyCode[\"Esc\"] = 27] = \"Esc\";\n KeyCode[KeyCode[\"Space\"] = 32] = \"Space\";\n KeyCode[KeyCode[\"ArrowUp\"] = 38] = \"ArrowUp\";\n KeyCode[KeyCode[\"ArrowDown\"] = 40] = \"ArrowDown\";\n KeyCode[KeyCode[\"Backspace\"] = 8] = \"Backspace\";\n})(KeyCode || (KeyCode = {}));\n\nclass NgDropdownPanelService {\n constructor() {\n this._dimensions = {\n itemHeight: 0,\n panelHeight: 0,\n itemsPerViewport: 0\n };\n }\n get dimensions() {\n return this._dimensions;\n }\n calculateItems(scrollPos, itemsLength, buffer) {\n const d = this._dimensions;\n const scrollHeight = d.itemHeight * itemsLength;\n const scrollTop = Math.max(0, scrollPos);\n const indexByScrollTop = scrollTop / scrollHeight * itemsLength;\n let end = Math.min(itemsLength, Math.ceil(indexByScrollTop) + (d.itemsPerViewport + 1));\n const maxStartEnd = end;\n const maxStart = Math.max(0, maxStartEnd - d.itemsPerViewport);\n let start = Math.min(maxStart, Math.floor(indexByScrollTop));\n let topPadding = d.itemHeight * Math.ceil(start) - (d.itemHeight * Math.min(start, buffer));\n topPadding = !isNaN(topPadding) ? topPadding : 0;\n start = !isNaN(start) ? start : -1;\n end = !isNaN(end) ? end : -1;\n start -= buffer;\n start = Math.max(0, start);\n end += buffer;\n end = Math.min(itemsLength, end);\n return {\n topPadding,\n scrollHeight,\n start,\n end\n };\n }\n setDimensions(itemHeight, panelHeight) {\n const itemsPerViewport = Math.max(1, Math.floor(panelHeight / itemHeight));\n this._dimensions = {\n itemHeight,\n panelHeight,\n itemsPerViewport\n };\n }\n getScrollTo(itemTop, itemHeight, lastScroll) {\n const { panelHeight } = this.dimensions;\n const itemBottom = itemTop + itemHeight;\n const top = lastScroll;\n const bottom = top + panelHeight;\n if (panelHeight >= itemBottom && lastScroll === itemTop) {\n return null;\n }\n if (itemBottom > bottom) {\n return top + itemBottom - bottom;\n }\n else if (itemTop <= top) {\n return itemTop;\n }\n return null;\n }\n}\nNgDropdownPanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgDropdownPanelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgDropdownPanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgDropdownPanelService });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgDropdownPanelService, decorators: [{\n type: Injectable\n }] });\n\nconst CSS_POSITIONS = ['top', 'right', 'bottom', 'left'];\nconst SCROLL_SCHEDULER = typeof requestAnimationFrame !== 'undefined' ? animationFrameScheduler : asapScheduler;\nclass NgDropdownPanelComponent {\n constructor(_renderer, _zone, _panelService, _elementRef, _document) {\n this._renderer = _renderer;\n this._zone = _zone;\n this._panelService = _panelService;\n this._document = _document;\n this.items = [];\n this.position = 'auto';\n this.virtualScroll = false;\n this.filterValue = null;\n this.update = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.outsideClick = new EventEmitter();\n this._destroy$ = new Subject();\n this._scrollToEndFired = false;\n this._updateScrollHeight = false;\n this._lastScrollPosition = 0;\n this._dropdown = _elementRef.nativeElement;\n }\n get currentPosition() {\n return this._currentPosition;\n }\n get itemsLength() {\n return this._itemsLength;\n }\n set itemsLength(value) {\n if (value !== this._itemsLength) {\n this._itemsLength = value;\n this._onItemsLengthChanged();\n }\n }\n get _startOffset() {\n if (this.markedItem) {\n const { itemHeight, panelHeight } = this._panelService.dimensions;\n const offset = this.markedItem.index * itemHeight;\n return panelHeight > offset ? 0 : offset;\n }\n return 0;\n }\n ngOnInit() {\n this._select = this._dropdown.parentElement;\n this._virtualPadding = this.paddingElementRef.nativeElement;\n this._scrollablePanel = this.scrollElementRef.nativeElement;\n this._contentPanel = this.contentElementRef.nativeElement;\n this._handleScroll();\n this._handleOutsideClick();\n this._appendDropdown();\n this._setupMousedownListener();\n }\n ngOnChanges(changes) {\n if (changes.items) {\n const change = changes.items;\n this._onItemsChange(change.currentValue, change.firstChange);\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n this._destroy$.unsubscribe();\n if (this.appendTo) {\n this._renderer.removeChild(this._dropdown.parentNode, this._dropdown);\n }\n }\n scrollTo(option, startFromOption = false) {\n if (!option) {\n return;\n }\n const index = this.items.indexOf(option);\n if (index < 0 || index >= this.itemsLength) {\n return;\n }\n let scrollTo;\n if (this.virtualScroll) {\n const itemHeight = this._panelService.dimensions.itemHeight;\n scrollTo = this._panelService.getScrollTo(index * itemHeight, itemHeight, this._lastScrollPosition);\n }\n else {\n const item = this._dropdown.querySelector(`#${option.htmlId}`);\n const lastScroll = startFromOption ? item.offsetTop : this._lastScrollPosition;\n scrollTo = this._panelService.getScrollTo(item.offsetTop, item.clientHeight, lastScroll);\n }\n if (isDefined(scrollTo)) {\n this._scrollablePanel.scrollTop = scrollTo;\n }\n }\n scrollToTag() {\n const panel = this._scrollablePanel;\n panel.scrollTop = panel.scrollHeight - panel.clientHeight;\n }\n adjustPosition() {\n this._updateYPosition();\n }\n _handleDropdownPosition() {\n this._currentPosition = this._calculateCurrentPosition(this._dropdown);\n if (CSS_POSITIONS.includes(this._currentPosition)) {\n this._updateDropdownClass(this._currentPosition);\n }\n else {\n this._updateDropdownClass('bottom');\n }\n if (this.appendTo) {\n this._updateYPosition();\n }\n this._dropdown.style.opacity = '1';\n }\n _updateDropdownClass(currentPosition) {\n CSS_POSITIONS.forEach((position) => {\n const REMOVE_CSS_CLASS = `ng-select-${position}`;\n this._renderer.removeClass(this._dropdown, REMOVE_CSS_CLASS);\n this._renderer.removeClass(this._select, REMOVE_CSS_CLASS);\n });\n const ADD_CSS_CLASS = `ng-select-${currentPosition}`;\n this._renderer.addClass(this._dropdown, ADD_CSS_CLASS);\n this._renderer.addClass(this._select, ADD_CSS_CLASS);\n }\n _handleScroll() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this.scrollElementRef.nativeElement, 'scroll')\n .pipe(takeUntil(this._destroy$), auditTime(0, SCROLL_SCHEDULER))\n .subscribe((e) => {\n const path = e.path || (e.composedPath && e.composedPath());\n const scrollTop = !path || path.length === 0 ? e.target.scrollTop : path[0].scrollTop;\n this._onContentScrolled(scrollTop);\n });\n });\n }\n _handleOutsideClick() {\n if (!this._document) {\n return;\n }\n this._zone.runOutsideAngular(() => {\n merge(fromEvent(this._document, 'touchstart', { capture: true }), fromEvent(this._document, 'mousedown', { capture: true })).pipe(takeUntil(this._destroy$))\n .subscribe($event => this._checkToClose($event));\n });\n }\n _checkToClose($event) {\n if (this._select.contains($event.target) || this._dropdown.contains($event.target)) {\n return;\n }\n const path = $event.path || ($event.composedPath && $event.composedPath());\n if ($event.target && $event.target.shadowRoot && path && path[0] && this._select.contains(path[0])) {\n return;\n }\n this._zone.run(() => this.outsideClick.emit());\n }\n _onItemsChange(items, firstChange) {\n this.items = items || [];\n this._scrollToEndFired = false;\n this.itemsLength = items.length;\n if (this.virtualScroll) {\n this._updateItemsRange(firstChange);\n }\n else {\n this._setVirtualHeight();\n this._updateItems(firstChange);\n }\n }\n _updateItems(firstChange) {\n this.update.emit(this.items);\n if (firstChange === false) {\n return;\n }\n this._zone.runOutsideAngular(() => {\n Promise.resolve().then(() => {\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(0, panelHeight);\n this._handleDropdownPosition();\n this.scrollTo(this.markedItem, firstChange);\n });\n });\n }\n _updateItemsRange(firstChange) {\n this._zone.runOutsideAngular(() => {\n this._measureDimensions().then(() => {\n if (firstChange) {\n this._renderItemsRange(this._startOffset);\n this._handleDropdownPosition();\n }\n else {\n this._renderItemsRange();\n }\n });\n });\n }\n _onContentScrolled(scrollTop) {\n if (this.virtualScroll) {\n this._renderItemsRange(scrollTop);\n }\n this._lastScrollPosition = scrollTop;\n this._fireScrollToEnd(scrollTop);\n }\n _updateVirtualHeight(height) {\n if (this._updateScrollHeight) {\n this._virtualPadding.style.height = `${height}px`;\n this._updateScrollHeight = false;\n }\n }\n _setVirtualHeight() {\n if (!this._virtualPadding) {\n return;\n }\n this._virtualPadding.style.height = `0px`;\n }\n _onItemsLengthChanged() {\n this._updateScrollHeight = true;\n }\n _renderItemsRange(scrollTop = null) {\n if (scrollTop && this._lastScrollPosition === scrollTop) {\n return;\n }\n scrollTop = scrollTop || this._scrollablePanel.scrollTop;\n const range = this._panelService.calculateItems(scrollTop, this.itemsLength, this.bufferAmount);\n this._updateVirtualHeight(range.scrollHeight);\n this._contentPanel.style.transform = `translateY(${range.topPadding}px)`;\n this._zone.run(() => {\n this.update.emit(this.items.slice(range.start, range.end));\n this.scroll.emit({ start: range.start, end: range.end });\n });\n if (isDefined(scrollTop) && this._lastScrollPosition === 0) {\n this._scrollablePanel.scrollTop = scrollTop;\n this._lastScrollPosition = scrollTop;\n }\n }\n _measureDimensions() {\n if (this._panelService.dimensions.itemHeight > 0 || this.itemsLength === 0) {\n return Promise.resolve(this._panelService.dimensions);\n }\n const [first] = this.items;\n this.update.emit([first]);\n return Promise.resolve().then(() => {\n const option = this._dropdown.querySelector(`#${first.htmlId}`);\n const optionHeight = option.clientHeight;\n this._virtualPadding.style.height = `${optionHeight * this.itemsLength}px`;\n const panelHeight = this._scrollablePanel.clientHeight;\n this._panelService.setDimensions(optionHeight, panelHeight);\n return this._panelService.dimensions;\n });\n }\n _fireScrollToEnd(scrollTop) {\n if (this._scrollToEndFired || scrollTop === 0) {\n return;\n }\n const padding = this.virtualScroll ?\n this._virtualPadding :\n this._contentPanel;\n if (scrollTop + this._dropdown.clientHeight >= padding.clientHeight - 1) {\n this._zone.run(() => this.scrollToEnd.emit());\n this._scrollToEndFired = true;\n }\n }\n _calculateCurrentPosition(dropdownEl) {\n if (this.position !== 'auto') {\n return this.position;\n }\n const selectRect = this._select.getBoundingClientRect();\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const offsetTop = selectRect.top + window.pageYOffset;\n const height = selectRect.height;\n const dropdownHeight = dropdownEl.getBoundingClientRect().height;\n if (offsetTop + height + dropdownHeight > scrollTop + document.documentElement.clientHeight) {\n return 'top';\n }\n else {\n return 'bottom';\n }\n }\n _appendDropdown() {\n if (!this.appendTo) {\n return;\n }\n this._parent = document.querySelector(this.appendTo);\n if (!this._parent) {\n throw new Error(`appendTo selector ${this.appendTo} did not found any parent element`);\n }\n this._updateXPosition();\n this._parent.appendChild(this._dropdown);\n }\n _updateXPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const offsetLeft = select.left - parent.left;\n this._dropdown.style.left = offsetLeft + 'px';\n this._dropdown.style.width = select.width + 'px';\n this._dropdown.style.minWidth = select.width + 'px';\n }\n _updateYPosition() {\n const select = this._select.getBoundingClientRect();\n const parent = this._parent.getBoundingClientRect();\n const delta = select.height;\n if (this._currentPosition === 'top') {\n const offsetBottom = parent.bottom - select.bottom;\n this._dropdown.style.bottom = offsetBottom + delta + 'px';\n this._dropdown.style.top = 'auto';\n }\n else if (this._currentPosition === 'bottom') {\n const offsetTop = select.top - parent.top;\n this._dropdown.style.top = offsetTop + delta + 'px';\n this._dropdown.style.bottom = 'auto';\n }\n }\n _setupMousedownListener() {\n this._zone.runOutsideAngular(() => {\n fromEvent(this._dropdown, 'mousedown')\n .pipe(takeUntil(this._destroy$))\n .subscribe((event) => {\n const target = event.target;\n if (target.tagName === 'INPUT') {\n return;\n }\n event.preventDefault();\n });\n });\n }\n}\nNgDropdownPanelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgDropdownPanelComponent, deps: [{ token: i0.Renderer2 }, { token: i0.NgZone }, { token: NgDropdownPanelService }, { token: i0.ElementRef }, { token: DOCUMENT, optional: true }], target: i0.ɵɵFactoryTarget.Component });\nNgDropdownPanelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: { items: \"items\", markedItem: \"markedItem\", position: \"position\", appendTo: \"appendTo\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", headerTemplate: \"headerTemplate\", footerTemplate: \"footerTemplate\", filterValue: \"filterValue\" }, outputs: { update: \"update\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\", outsideClick: \"outsideClick\" }, viewQueries: [{ propertyName: \"contentElementRef\", first: true, predicate: [\"content\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"scrollElementRef\", first: true, predicate: [\"scroll\"], descendants: true, read: ElementRef, static: true }, { propertyName: \"paddingElementRef\", first: true, predicate: [\"padding\"], descendants: true, read: ElementRef, static: true }], usesOnChanges: true, ngImport: i0, template: `\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n `, isInline: true, dependencies: [{ kind: \"directive\", type: i3.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgDropdownPanelComponent, decorators: [{\n type: Component,\n args: [{\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n selector: 'ng-dropdown-panel',\n template: `\n
\n \n
\n
\n
\n
\n \n
\n
\n
\n \n
\n `\n }]\n }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.NgZone }, { type: NgDropdownPanelService }, { type: i0.ElementRef }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DOCUMENT]\n }] }]; }, propDecorators: { items: [{\n type: Input\n }], markedItem: [{\n type: Input\n }], position: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], headerTemplate: [{\n type: Input\n }], footerTemplate: [{\n type: Input\n }], filterValue: [{\n type: Input\n }], update: [{\n type: Output\n }], scroll: [{\n type: Output\n }], scrollToEnd: [{\n type: Output\n }], outsideClick: [{\n type: Output\n }], contentElementRef: [{\n type: ViewChild,\n args: ['content', { read: ElementRef, static: true }]\n }], scrollElementRef: [{\n type: ViewChild,\n args: ['scroll', { read: ElementRef, static: true }]\n }], paddingElementRef: [{\n type: ViewChild,\n args: ['padding', { read: ElementRef, static: true }]\n }] } });\n\nclass NgOptionComponent {\n constructor(elementRef) {\n this.elementRef = elementRef;\n this.stateChange$ = new Subject();\n this._disabled = false;\n }\n get disabled() { return this._disabled; }\n set disabled(value) { this._disabled = this._isDisabled(value); }\n get label() {\n return (this.elementRef.nativeElement.textContent || '').trim();\n }\n ngOnChanges(changes) {\n if (changes.disabled) {\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled\n });\n }\n }\n ngAfterViewChecked() {\n if (this.label !== this._previousLabel) {\n this._previousLabel = this.label;\n this.stateChange$.next({\n value: this.value,\n disabled: this._disabled,\n label: this.elementRef.nativeElement.innerHTML\n });\n }\n }\n ngOnDestroy() {\n this.stateChange$.complete();\n }\n _isDisabled(value) {\n return value != null && `${value}` !== 'false';\n }\n}\nNgOptionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptionComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });\nNgOptionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgOptionComponent, selector: \"ng-option\", inputs: { value: \"value\", disabled: \"disabled\" }, usesOnChanges: true, ngImport: i0, template: ``, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgOptionComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'ng-option',\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ``\n }]\n }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { value: [{\n type: Input\n }], disabled: [{\n type: Input\n }] } });\n\nclass NgSelectConfig {\n constructor() {\n this.notFoundText = 'No items found';\n this.typeToSearchText = 'Type to search';\n this.addTagText = 'Add item';\n this.loadingText = 'Loading...';\n this.clearAllText = 'Clear all';\n this.disableVirtualScroll = true;\n this.openOnEnter = true;\n this.appearance = 'underline';\n }\n}\nNgSelectConfig.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectConfig, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nNgSelectConfig.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectConfig, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectConfig, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nclass ConsoleService {\n warn(message) {\n console.warn(message);\n }\n}\nConsoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: ConsoleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\nConsoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: ConsoleService, providedIn: 'root' });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: ConsoleService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n\nconst SELECTION_MODEL_FACTORY = new InjectionToken('ng-select-selection-model');\nclass NgSelectComponent {\n constructor(classes, autoFocus, config, newSelectionModel, _elementRef, _cd, _console) {\n this.classes = classes;\n this.autoFocus = autoFocus;\n this.config = config;\n this._cd = _cd;\n this._console = _console;\n this.markFirst = true;\n this.dropdownPosition = 'auto';\n this.loading = false;\n this.closeOnSelect = true;\n this.hideSelected = false;\n this.selectOnTab = false;\n this.bufferAmount = 4;\n this.selectableGroup = false;\n this.selectableGroupAsModel = true;\n this.searchFn = null;\n this.trackByFn = null;\n this.clearOnBackspace = true;\n this.labelForId = null;\n this.inputAttrs = {};\n this.readonly = false;\n this.searchWhileComposing = true;\n this.minTermLength = 0;\n this.editableSearchTerm = false;\n this.keyDownFn = (_) => true;\n this.multiple = false;\n this.addTag = false;\n this.searchable = true;\n this.clearable = true;\n this.isOpen = false;\n // output events\n this.blurEvent = new EventEmitter();\n this.focusEvent = new EventEmitter();\n this.changeEvent = new EventEmitter();\n this.openEvent = new EventEmitter();\n this.closeEvent = new EventEmitter();\n this.searchEvent = new EventEmitter();\n this.clearEvent = new EventEmitter();\n this.addEvent = new EventEmitter();\n this.removeEvent = new EventEmitter();\n this.scroll = new EventEmitter();\n this.scrollToEnd = new EventEmitter();\n this.useDefaultClass = true;\n this.viewPortItems = [];\n this.searchTerm = null;\n this.dropdownId = newId();\n this.escapeHTML = true;\n this._items = [];\n this._defaultLabel = 'label';\n this._pressedKeys = [];\n this._isComposing = false;\n this._destroy$ = new Subject();\n this._keyPress$ = new Subject();\n this._onChange = (_) => { };\n this._onTouched = () => { };\n this.clearItem = (item) => {\n const option = this.selectedItems.find(x => x.value === item);\n this.unselect(option);\n };\n this.trackByOption = (_, item) => {\n if (this.trackByFn) {\n return this.trackByFn(item.value);\n }\n return item;\n };\n this._mergeGlobalConfig(config);\n this.itemsList = new ItemsList(this, newSelectionModel());\n this.element = _elementRef.nativeElement;\n }\n get items() { return this._items; }\n ;\n set items(value) {\n if (value === null) {\n value = [];\n }\n this._itemsAreUsed = true;\n this._items = value;\n }\n ;\n get compareWith() { return this._compareWith; }\n set compareWith(fn) {\n if (fn !== undefined && fn !== null && !isFunction(fn)) {\n throw Error('`compareWith` must be a function.');\n }\n this._compareWith = fn;\n }\n get clearSearchOnAdd() {\n if (isDefined(this._clearSearchOnAdd)) {\n return this._clearSearchOnAdd;\n }\n else if (isDefined(this.config.clearSearchOnAdd)) {\n return this.config.clearSearchOnAdd;\n }\n return this.closeOnSelect;\n }\n ;\n set clearSearchOnAdd(value) {\n this._clearSearchOnAdd = value;\n }\n ;\n get disabled() { return this.readonly || this._disabled; }\n ;\n get filtered() { return (!!this.searchTerm && this.searchable || this._isComposing); }\n ;\n get single() { return !this.multiple; }\n ;\n get _editableSearchTerm() {\n return this.editableSearchTerm && !this.multiple;\n }\n get selectedItems() {\n return this.itemsList.selectedItems;\n }\n get selectedValues() {\n return this.selectedItems.map(x => x.value);\n }\n get hasValue() {\n return this.selectedItems.length > 0;\n }\n get currentPanelPosition() {\n if (this.dropdownPanel) {\n return this.dropdownPanel.currentPosition;\n }\n return undefined;\n }\n ngOnInit() {\n this._handleKeyPresses();\n this._setInputAttributes();\n }\n ngOnChanges(changes) {\n if (changes.multiple) {\n this.itemsList.clearSelected();\n }\n if (changes.items) {\n this._setItems(changes.items.currentValue || []);\n }\n if (changes.isOpen) {\n this._manualOpen = isDefined(changes.isOpen.currentValue);\n }\n }\n ngAfterViewInit() {\n if (!this._itemsAreUsed) {\n this.escapeHTML = false;\n this._setItemsFromNgOptions();\n }\n if (isDefined(this.autoFocus)) {\n this.focus();\n }\n }\n ngOnDestroy() {\n this._destroy$.next();\n this._destroy$.complete();\n }\n handleKeyDown($event) {\n const keyCode = KeyCode[$event.which];\n if (keyCode) {\n if (this.keyDownFn($event) === false) {\n return;\n }\n this.handleKeyCode($event);\n }\n else if ($event.key && $event.key.length === 1) {\n this._keyPress$.next($event.key.toLocaleLowerCase());\n }\n }\n handleKeyCode($event) {\n switch ($event.which) {\n case KeyCode.ArrowDown:\n this._handleArrowDown($event);\n break;\n case KeyCode.ArrowUp:\n this._handleArrowUp($event);\n break;\n case KeyCode.Space:\n this._handleSpace($event);\n break;\n case KeyCode.Enter:\n this._handleEnter($event);\n break;\n case KeyCode.Tab:\n this._handleTab($event);\n break;\n case KeyCode.Esc:\n this.close();\n $event.preventDefault();\n break;\n case KeyCode.Backspace:\n this._handleBackspace();\n break;\n }\n }\n handleMousedown($event) {\n const target = $event.target;\n if (target.tagName !== 'INPUT') {\n $event.preventDefault();\n }\n if (target.classList.contains('ng-clear-wrapper')) {\n this.handleClearClick();\n return;\n }\n if (target.classList.contains('ng-arrow-wrapper')) {\n this.handleArrowClick();\n return;\n }\n if (target.classList.contains('ng-value-icon')) {\n return;\n }\n if (!this.focused) {\n this.focus();\n }\n if (this.searchable) {\n this.open();\n }\n else {\n this.toggle();\n }\n }\n handleArrowClick() {\n if (this.isOpen) {\n this.close();\n }\n else {\n this.open();\n }\n }\n handleClearClick() {\n if (this.hasValue) {\n this.itemsList.clearSelected(true);\n this._updateNgModel();\n }\n this._clearSearch();\n this.focus();\n this.clearEvent.emit();\n this._onSelectionChanged();\n }\n clearModel() {\n if (!this.clearable) {\n return;\n }\n this.itemsList.clearSelected();\n this._updateNgModel();\n }\n writeValue(value) {\n this.itemsList.clearSelected();\n this._handleWriteValue(value);\n this._cd.markForCheck();\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(state) {\n this._disabled = state;\n this._cd.markForCheck();\n }\n toggle() {\n if (!this.isOpen) {\n this.open();\n }\n else {\n this.close();\n }\n }\n open() {\n if (this.disabled || this.isOpen || this._manualOpen) {\n return;\n }\n if (!this._isTypeahead && !this.addTag && this.itemsList.noItemsToSelect) {\n return;\n }\n this.isOpen = true;\n this.itemsList.markSelectedOrDefault(this.markFirst);\n this.openEvent.emit();\n if (!this.searchTerm) {\n this.focus();\n }\n this.detectChanges();\n }\n close() {\n if (!this.isOpen || this._manualOpen) {\n return;\n }\n this.isOpen = false;\n this._isComposing = false;\n if (!this._editableSearchTerm) {\n this._clearSearch();\n }\n else {\n this.itemsList.resetFilteredItems();\n }\n this.itemsList.unmarkItem();\n this._onTouched();\n this.closeEvent.emit();\n this._cd.markForCheck();\n }\n toggleItem(item) {\n if (!item || item.disabled || this.disabled) {\n return;\n }\n if (this.multiple && item.selected) {\n this.unselect(item);\n }\n else {\n this.select(item);\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this._onSelectionChanged();\n }\n select(item) {\n if (!item.selected) {\n this.itemsList.select(item);\n if (this.clearSearchOnAdd && !this._editableSearchTerm) {\n this._clearSearch();\n }\n this._updateNgModel();\n if (this.multiple) {\n this.addEvent.emit(item.value);\n }\n }\n if (this.closeOnSelect || this.itemsList.noItemsToSelect) {\n this.close();\n }\n }\n focus() {\n if (!this.searchInput.nativeElement.readOnly) {\n this.searchInput.nativeElement.focus();\n }\n ;\n }\n blur() {\n this.searchInput.nativeElement.blur();\n }\n unselect(item) {\n if (!item) {\n return;\n }\n this.itemsList.unselect(item);\n this.focus();\n this._updateNgModel();\n this.removeEvent.emit(item);\n }\n selectTag() {\n let tag;\n if (isFunction(this.addTag)) {\n tag = this.addTag(this.searchTerm);\n }\n else {\n tag = this._primitive ? this.searchTerm : { [this.bindLabel]: this.searchTerm };\n }\n const handleTag = (item) => this._isTypeahead || !this.isOpen ? this.itemsList.mapItem(item, null) : this.itemsList.addItem(item);\n if (isPromise(tag)) {\n tag.then(item => this.select(handleTag(item))).catch(() => { });\n }\n else if (tag) {\n this.select(handleTag(tag));\n }\n }\n showClear() {\n return this.clearable && (this.hasValue || this.searchTerm) && !this.disabled;\n }\n get showAddTag() {\n if (!this._validTerm) {\n return false;\n }\n const term = this.searchTerm.toLowerCase().trim();\n return this.addTag &&\n (!this.itemsList.filteredItems.some(x => x.label.toLowerCase() === term) &&\n (!this.hideSelected && this.isOpen || !this.selectedItems.some(x => x.label.toLowerCase() === term))) &&\n !this.loading;\n }\n showNoItemsFound() {\n const empty = this.itemsList.filteredItems.length === 0;\n return ((empty && !this._isTypeahead && !this.loading) ||\n (empty && this._isTypeahead && this._validTerm && !this.loading)) &&\n !this.showAddTag;\n }\n showTypeToSearch() {\n const empty = this.itemsList.filteredItems.length === 0;\n return empty && this._isTypeahead && !this._validTerm && !this.loading;\n }\n onCompositionStart() {\n this._isComposing = true;\n }\n onCompositionEnd(term) {\n this._isComposing = false;\n if (this.searchWhileComposing) {\n return;\n }\n this.filter(term);\n }\n filter(term) {\n if (this._isComposing && !this.searchWhileComposing) {\n return;\n }\n this.searchTerm = term;\n if (this._isTypeahead && (this._validTerm || this.minTermLength === 0)) {\n this.typeahead.next(term);\n }\n if (!this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n if (this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n this.searchEvent.emit({ term, items: this.itemsList.filteredItems.map(x => x.value) });\n this.open();\n }\n onInputFocus($event) {\n if (this.focused) {\n return;\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.element.classList.add('ng-select-focused');\n this.focusEvent.emit($event);\n this.focused = true;\n }\n onInputBlur($event) {\n this.element.classList.remove('ng-select-focused');\n this.blurEvent.emit($event);\n if (!this.isOpen && !this.disabled) {\n this._onTouched();\n }\n if (this._editableSearchTerm) {\n this._setSearchTermFromItems();\n }\n this.focused = false;\n }\n onItemHover(item) {\n if (item.disabled) {\n return;\n }\n this.itemsList.markItem(item);\n }\n detectChanges() {\n if (!this._cd.destroyed) {\n this._cd.detectChanges();\n }\n }\n _setSearchTermFromItems() {\n const selected = this.selectedItems && this.selectedItems[0];\n this.searchTerm = (selected && selected.label) || null;\n }\n _setItems(items) {\n const firstItem = items[0];\n this.bindLabel = this.bindLabel || this._defaultLabel;\n this._primitive = isDefined(firstItem) ? !isObject(firstItem) : this._primitive || this.bindLabel === this._defaultLabel;\n this.itemsList.setItems(items);\n if (items.length > 0 && this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n if (this.isOpen && isDefined(this.searchTerm) && !this._isTypeahead) {\n this.itemsList.filter(this.searchTerm);\n }\n if (this._isTypeahead || this.isOpen) {\n this.itemsList.markSelectedOrDefault(this.markFirst);\n }\n }\n _setItemsFromNgOptions() {\n const mapNgOptions = (options) => {\n this.items = options.map(option => ({\n $ngOptionValue: option.value,\n $ngOptionLabel: option.elementRef.nativeElement.innerHTML,\n disabled: option.disabled\n }));\n this.itemsList.setItems(this.items);\n if (this.hasValue) {\n this.itemsList.mapSelectedItems();\n }\n this.detectChanges();\n };\n const handleOptionChange = () => {\n const changedOrDestroyed = merge(this.ngOptions.changes, this._destroy$);\n merge(...this.ngOptions.map(option => option.stateChange$))\n .pipe(takeUntil(changedOrDestroyed))\n .subscribe(option => {\n const item = this.itemsList.findItem(option.value);\n item.disabled = option.disabled;\n item.label = option.label || item.label;\n this._cd.detectChanges();\n });\n };\n this.ngOptions.changes\n .pipe(startWith(this.ngOptions), takeUntil(this._destroy$))\n .subscribe(options => {\n this.bindLabel = this._defaultLabel;\n mapNgOptions(options);\n handleOptionChange();\n });\n }\n _isValidWriteValue(value) {\n if (!isDefined(value) || (this.multiple && value === '') || Array.isArray(value) && value.length === 0) {\n return false;\n }\n const validateBinding = (item) => {\n if (!isDefined(this.compareWith) && isObject(item) && this.bindValue) {\n this._console.warn(`Setting object(${JSON.stringify(item)}) as your model with bindValue is not allowed unless [compareWith] is used.`);\n return false;\n }\n return true;\n };\n if (this.multiple) {\n if (!Array.isArray(value)) {\n this._console.warn('Multiple select ngModel should be array.');\n return false;\n }\n return value.every(item => validateBinding(item));\n }\n else {\n return validateBinding(value);\n }\n }\n _handleWriteValue(ngModel) {\n if (!this._isValidWriteValue(ngModel)) {\n return;\n }\n const select = (val) => {\n let item = this.itemsList.findItem(val);\n if (item) {\n this.itemsList.select(item);\n }\n else {\n const isValObject = isObject(val);\n const isPrimitive = !isValObject && !this.bindValue;\n if ((isValObject || isPrimitive)) {\n this.itemsList.select(this.itemsList.mapItem(val, null));\n }\n else if (this.bindValue) {\n item = {\n [this.bindLabel]: null,\n [this.bindValue]: val\n };\n this.itemsList.select(this.itemsList.mapItem(item, null));\n }\n }\n };\n if (this.multiple) {\n ngModel.forEach(item => select(item));\n }\n else {\n select(ngModel);\n }\n }\n _handleKeyPresses() {\n if (this.searchable) {\n return;\n }\n this._keyPress$\n .pipe(takeUntil(this._destroy$), tap(letter => this._pressedKeys.push(letter)), debounceTime(200), filter(() => this._pressedKeys.length > 0), map(() => this._pressedKeys.join('')))\n .subscribe(term => {\n const item = this.itemsList.findByLabel(term);\n if (item) {\n if (this.isOpen) {\n this.itemsList.markItem(item);\n this._scrollToMarked();\n this._cd.markForCheck();\n }\n else {\n this.select(item);\n }\n }\n this._pressedKeys = [];\n });\n }\n _setInputAttributes() {\n const input = this.searchInput.nativeElement;\n const attributes = {\n type: 'text',\n autocorrect: 'off',\n autocapitalize: 'off',\n autocomplete: this.labelForId ? 'off' : this.dropdownId,\n ...this.inputAttrs\n };\n for (const key of Object.keys(attributes)) {\n input.setAttribute(key, attributes[key]);\n }\n }\n _updateNgModel() {\n const model = [];\n for (const item of this.selectedItems) {\n if (this.bindValue) {\n let value = null;\n if (item.children) {\n const groupKey = this.groupValue ? this.bindValue : this.groupBy;\n value = item.value[groupKey || this.groupBy];\n }\n else {\n value = this.itemsList.resolveNested(item.value, this.bindValue);\n }\n model.push(value);\n }\n else {\n model.push(item.value);\n }\n }\n const selected = this.selectedItems.map(x => x.value);\n if (this.multiple) {\n this._onChange(model);\n this.changeEvent.emit(selected);\n }\n else {\n this._onChange(isDefined(model[0]) ? model[0] : null);\n this.changeEvent.emit(selected[0]);\n }\n this._cd.markForCheck();\n }\n _clearSearch() {\n if (!this.searchTerm) {\n return;\n }\n this._changeSearch(null);\n this.itemsList.resetFilteredItems();\n }\n _changeSearch(searchTerm) {\n this.searchTerm = searchTerm;\n if (this._isTypeahead) {\n this.typeahead.next(searchTerm);\n }\n }\n _scrollToMarked() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollTo(this.itemsList.markedItem);\n }\n _scrollToTag() {\n if (!this.isOpen || !this.dropdownPanel) {\n return;\n }\n this.dropdownPanel.scrollToTag();\n }\n _onSelectionChanged() {\n if (this.isOpen && this.multiple && this.appendTo) {\n // Make sure items are rendered.\n this._cd.detectChanges();\n this.dropdownPanel.adjustPosition();\n }\n }\n _handleTab($event) {\n if (this.isOpen === false && !this.addTag) {\n return;\n }\n if (this.selectOnTab) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n $event.preventDefault();\n }\n else if (this.showAddTag) {\n this.selectTag();\n $event.preventDefault();\n }\n else {\n this.close();\n }\n }\n else {\n this.close();\n }\n }\n _handleEnter($event) {\n if (this.isOpen || this._manualOpen) {\n if (this.itemsList.markedItem) {\n this.toggleItem(this.itemsList.markedItem);\n }\n else if (this.showAddTag) {\n this.selectTag();\n }\n }\n else if (this.openOnEnter) {\n this.open();\n }\n else {\n return;\n }\n $event.preventDefault();\n }\n _handleSpace($event) {\n if (this.isOpen || this._manualOpen) {\n return;\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowDown($event) {\n if (this._nextItemIsTag(+1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markNextItem();\n this._scrollToMarked();\n }\n this.open();\n $event.preventDefault();\n }\n _handleArrowUp($event) {\n if (!this.isOpen) {\n return;\n }\n if (this._nextItemIsTag(-1)) {\n this.itemsList.unmarkItem();\n this._scrollToTag();\n }\n else {\n this.itemsList.markPreviousItem();\n this._scrollToMarked();\n }\n $event.preventDefault();\n }\n _nextItemIsTag(nextStep) {\n const nextIndex = this.itemsList.markedIndex + nextStep;\n return this.addTag && this.searchTerm\n && this.itemsList.markedItem\n && (nextIndex < 0 || nextIndex === this.itemsList.filteredItems.length);\n }\n _handleBackspace() {\n if (this.searchTerm || !this.clearable || !this.clearOnBackspace || !this.hasValue) {\n return;\n }\n if (this.multiple) {\n this.unselect(this.itemsList.lastSelectedItem);\n }\n else {\n this.clearModel();\n }\n }\n get _isTypeahead() {\n return this.typeahead && this.typeahead.observers.length > 0;\n }\n get _validTerm() {\n const term = this.searchTerm && this.searchTerm.trim();\n return term && term.length >= this.minTermLength;\n }\n _mergeGlobalConfig(config) {\n this.placeholder = this.placeholder || config.placeholder;\n this.notFoundText = this.notFoundText || config.notFoundText;\n this.typeToSearchText = this.typeToSearchText || config.typeToSearchText;\n this.addTagText = this.addTagText || config.addTagText;\n this.loadingText = this.loadingText || config.loadingText;\n this.clearAllText = this.clearAllText || config.clearAllText;\n this.virtualScroll = isDefined(this.virtualScroll)\n ? this.virtualScroll\n : isDefined(config.disableVirtualScroll) ? !config.disableVirtualScroll : false;\n this.openOnEnter = isDefined(this.openOnEnter) ? this.openOnEnter : config.openOnEnter;\n this.appendTo = this.appendTo || config.appendTo;\n this.bindValue = this.bindValue || config.bindValue;\n this.bindLabel = this.bindLabel || config.bindLabel;\n this.appearance = this.appearance || config.appearance;\n }\n}\nNgSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectComponent, deps: [{ token: 'class', attribute: true }, { token: 'autofocus', attribute: true }, { token: NgSelectConfig }, { token: SELECTION_MODEL_FACTORY }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: ConsoleService }], target: i0.ɵɵFactoryTarget.Component });\nNgSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"15.2.4\", type: NgSelectComponent, selector: \"ng-select\", inputs: { bindLabel: \"bindLabel\", bindValue: \"bindValue\", markFirst: \"markFirst\", placeholder: \"placeholder\", notFoundText: \"notFoundText\", typeToSearchText: \"typeToSearchText\", addTagText: \"addTagText\", loadingText: \"loadingText\", clearAllText: \"clearAllText\", appearance: \"appearance\", dropdownPosition: \"dropdownPosition\", appendTo: \"appendTo\", loading: \"loading\", closeOnSelect: \"closeOnSelect\", hideSelected: \"hideSelected\", selectOnTab: \"selectOnTab\", openOnEnter: \"openOnEnter\", maxSelectedItems: \"maxSelectedItems\", groupBy: \"groupBy\", groupValue: \"groupValue\", bufferAmount: \"bufferAmount\", virtualScroll: \"virtualScroll\", selectableGroup: \"selectableGroup\", selectableGroupAsModel: \"selectableGroupAsModel\", searchFn: \"searchFn\", trackByFn: \"trackByFn\", clearOnBackspace: \"clearOnBackspace\", labelForId: \"labelForId\", inputAttrs: \"inputAttrs\", tabIndex: \"tabIndex\", readonly: \"readonly\", searchWhileComposing: \"searchWhileComposing\", minTermLength: \"minTermLength\", editableSearchTerm: \"editableSearchTerm\", keyDownFn: \"keyDownFn\", typeahead: \"typeahead\", multiple: \"multiple\", addTag: \"addTag\", searchable: \"searchable\", clearable: \"clearable\", isOpen: \"isOpen\", items: \"items\", compareWith: \"compareWith\", clearSearchOnAdd: \"clearSearchOnAdd\" }, outputs: { blurEvent: \"blur\", focusEvent: \"focus\", changeEvent: \"change\", openEvent: \"open\", closeEvent: \"close\", searchEvent: \"search\", clearEvent: \"clear\", addEvent: \"add\", removeEvent: \"remove\", scroll: \"scroll\", scrollToEnd: \"scrollToEnd\" }, host: { listeners: { \"keydown\": \"handleKeyDown($event)\" }, properties: { \"class.ng-select-typeahead\": \"this.typeahead\", \"class.ng-select-multiple\": \"this.multiple\", \"class.ng-select-taggable\": \"this.addTag\", \"class.ng-select-searchable\": \"this.searchable\", \"class.ng-select-clearable\": \"this.clearable\", \"class.ng-select-opened\": \"this.isOpen\", \"class.ng-select\": \"this.useDefaultClass\", \"class.ng-select-disabled\": \"this.disabled\", \"class.ng-select-filtered\": \"this.filtered\", \"class.ng-select-single\": \"this.single\" } }, providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], queries: [{ propertyName: \"optionTemplate\", first: true, predicate: NgOptionTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"optgroupTemplate\", first: true, predicate: NgOptgroupTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"labelTemplate\", first: true, predicate: NgLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"multiLabelTemplate\", first: true, predicate: NgMultiLabelTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"headerTemplate\", first: true, predicate: NgHeaderTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"footerTemplate\", first: true, predicate: NgFooterTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"notFoundTemplate\", first: true, predicate: NgNotFoundTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"typeToSearchTemplate\", first: true, predicate: NgTypeToSearchTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingTextTemplate\", first: true, predicate: NgLoadingTextTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"tagTemplate\", first: true, predicate: NgTagTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"loadingSpinnerTemplate\", first: true, predicate: NgLoadingSpinnerTemplateDirective, descendants: true, read: TemplateRef }, { propertyName: \"ngOptions\", predicate: NgOptionComponent, descendants: true }], viewQueries: [{ propertyName: \"dropdownPanel\", first: true, predicate: i0.forwardRef(function () { return NgDropdownPanelComponent; }), descendants: true }, { propertyName: \"searchInput\", first: true, predicate: [\"searchInput\"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: \"\\n\\n
\\n
{{placeholder}}
\\n\\n 0\\\">\\n
\\n \\n \\u00D7\\n \\n \\n\\n \\n \\n
\\n
\\n\\n 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n \\n\\n
\\n\\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n\\n \\n \\n
\\n\\n \\n \\u00D7\\n \\n\\n \\n \\n \\n\\n\\n\\n\\n \\n
\\n\\n \\n \\n \\n\\n \\n \\n
\\n\\n
\\n \\n {{addTagText}}\\\"{{searchTerm}}\\\"\\n \\n\\n \\n \\n
\\n
\\n\\n \\n \\n
{{notFoundText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{typeToSearchText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{loadingText}}
\\n
\\n\\n \\n \\n
\\n\\n
\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"], dependencies: [{ kind: \"directive\", type: i3.NgClass, selector: \"[ngClass]\", inputs: [\"class\", \"ngClass\"] }, { kind: \"directive\", type: i3.NgForOf, selector: \"[ngFor][ngForOf]\", inputs: [\"ngForOf\", \"ngForTrackBy\", \"ngForTemplate\"] }, { kind: \"directive\", type: i3.NgIf, selector: \"[ngIf]\", inputs: [\"ngIf\", \"ngIfThen\", \"ngIfElse\"] }, { kind: \"directive\", type: i3.NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: NgDropdownPanelComponent, selector: \"ng-dropdown-panel\", inputs: [\"items\", \"markedItem\", \"position\", \"appendTo\", \"bufferAmount\", \"virtualScroll\", \"headerTemplate\", \"footerTemplate\", \"filterValue\"], outputs: [\"update\", \"scroll\", \"scrollToEnd\", \"outsideClick\"] }, { kind: \"directive\", type: NgItemLabelDirective, selector: \"[ngItemLabel]\", inputs: [\"ngItemLabel\", \"escape\"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectComponent, decorators: [{\n type: Component,\n args: [{ selector: 'ng-select', providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgSelectComponent),\n multi: true\n }, NgDropdownPanelService], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: \"\\n\\n
\\n
{{placeholder}}
\\n\\n 0\\\">\\n
\\n \\n \\u00D7\\n \\n \\n\\n \\n \\n
\\n
\\n\\n 0\\\"\\n [ngTemplateOutlet]=\\\"multiLabelTemplate\\\"\\n [ngTemplateOutletContext]=\\\"{ items: selectedValues, clear: clearItem }\\\">\\n \\n\\n
\\n\\n \\n
\\n
\\n\\n \\n \\n
\\n
\\n\\n \\n \\n
\\n\\n \\n \\u00D7\\n \\n\\n \\n \\n \\n\\n\\n\\n\\n \\n
\\n\\n \\n \\n \\n\\n \\n \\n
\\n\\n
\\n \\n {{addTagText}}\\\"{{searchTerm}}\\\"\\n \\n\\n \\n \\n
\\n
\\n\\n \\n \\n
{{notFoundText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{typeToSearchText}}
\\n
\\n\\n \\n \\n
\\n\\n \\n \\n
{{loadingText}}
\\n
\\n\\n \\n \\n
\\n\\n
\\n\", styles: [\"@charset \\\"UTF-8\\\";.ng-select{position:relative;display:block;box-sizing:border-box}.ng-select div,.ng-select input,.ng-select span{box-sizing:border-box}.ng-select [hidden]{display:none}.ng-select.ng-select-searchable .ng-select-container .ng-value-container .ng-input{opacity:1}.ng-select.ng-select-opened .ng-select-container{z-index:1001}.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-placeholder,.ng-select.ng-select-disabled .ng-select-container .ng-value-container .ng-value{-webkit-user-select:none;user-select:none;cursor:default}.ng-select.ng-select-disabled .ng-arrow-wrapper{cursor:default}.ng-select.ng-select-filtered .ng-placeholder{display:none}.ng-select .ng-select-container{cursor:default;display:flex;outline:none;overflow:hidden;position:relative;width:100%}.ng-select .ng-select-container .ng-value-container{display:flex;flex:1}.ng-select .ng-select-container .ng-value-container .ng-input{opacity:0}.ng-select .ng-select-container .ng-value-container .ng-input>input{box-sizing:content-box;background:none transparent;border:0 none;box-shadow:none;outline:none;padding:0;cursor:default;width:100%}.ng-select .ng-select-container .ng-value-container .ng-input>input::-ms-clear{display:none}.ng-select .ng-select-container .ng-value-container .ng-input>input[readonly]{-webkit-user-select:none;user-select:none;width:0;padding:0}.ng-select.ng-select-single.ng-select-filtered .ng-select-container .ng-value-container .ng-value{visibility:hidden}.ng-select.ng-select-single .ng-select-container .ng-value-container,.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-single .ng-select-container .ng-value-container .ng-input{position:absolute;left:0;width:100%}.ng-select.ng-select-multiple.ng-select-disabled>.ng-select-container .ng-value-container .ng-value .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container{flex-wrap:wrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{position:absolute}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value{white-space:nowrap}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value.ng-value-disabled .ng-value-icon{display:none}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-value .ng-value-icon{cursor:pointer}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-input{flex:1;z-index:2}.ng-select.ng-select-multiple .ng-select-container .ng-value-container .ng-placeholder{z-index:1}.ng-select .ng-clear-wrapper{cursor:pointer;position:relative;width:17px;-webkit-user-select:none;user-select:none}.ng-select .ng-clear-wrapper .ng-clear{display:inline-block;font-size:18px;line-height:1;pointer-events:none}.ng-select .ng-spinner-loader{border-radius:50%;width:17px;height:17px;margin-right:5px;font-size:10px;position:relative;text-indent:-9999em;border-top:2px solid rgba(66,66,66,.2);border-right:2px solid rgba(66,66,66,.2);border-bottom:2px solid rgba(66,66,66,.2);border-left:2px solid #424242;transform:translateZ(0);animation:load8 .8s infinite linear}.ng-select .ng-spinner-loader:after{border-radius:50%;width:17px;height:17px}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ng-select .ng-arrow-wrapper{cursor:pointer;position:relative;text-align:center;-webkit-user-select:none;user-select:none}.ng-select .ng-arrow-wrapper .ng-arrow{pointer-events:none;display:inline-block;height:0;width:0;position:relative}.ng-dropdown-panel{box-sizing:border-box;position:absolute;opacity:0;width:100%;z-index:1050;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .ng-dropdown-panel-items{display:block;height:auto;box-sizing:border-box;max-height:240px;overflow-y:auto}.ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option{box-sizing:border-box;cursor:pointer;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label:empty:before{content:\\\"\\\\200b\\\"}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option .highlighted{font-weight:700;text-decoration:underline}.ng-dropdown-panel .ng-dropdown-panel-items .ng-option.disabled{cursor:default}.ng-dropdown-panel .scroll-host{overflow:hidden;overflow-y:auto;position:relative;display:block;-webkit-overflow-scrolling:touch}.ng-dropdown-panel .scrollable-content{top:0;left:0;width:100%;height:100%;position:absolute}.ng-dropdown-panel .total-padding{width:1px;opacity:0}\\n\"] }]\n }], ctorParameters: function () { return [{ type: undefined, decorators: [{\n type: Attribute,\n args: ['class']\n }] }, { type: undefined, decorators: [{\n type: Attribute,\n args: ['autofocus']\n }] }, { type: NgSelectConfig }, { type: undefined, decorators: [{\n type: Inject,\n args: [SELECTION_MODEL_FACTORY]\n }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: ConsoleService }]; }, propDecorators: { bindLabel: [{\n type: Input\n }], bindValue: [{\n type: Input\n }], markFirst: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], notFoundText: [{\n type: Input\n }], typeToSearchText: [{\n type: Input\n }], addTagText: [{\n type: Input\n }], loadingText: [{\n type: Input\n }], clearAllText: [{\n type: Input\n }], appearance: [{\n type: Input\n }], dropdownPosition: [{\n type: Input\n }], appendTo: [{\n type: Input\n }], loading: [{\n type: Input\n }], closeOnSelect: [{\n type: Input\n }], hideSelected: [{\n type: Input\n }], selectOnTab: [{\n type: Input\n }], openOnEnter: [{\n type: Input\n }], maxSelectedItems: [{\n type: Input\n }], groupBy: [{\n type: Input\n }], groupValue: [{\n type: Input\n }], bufferAmount: [{\n type: Input\n }], virtualScroll: [{\n type: Input\n }], selectableGroup: [{\n type: Input\n }], selectableGroupAsModel: [{\n type: Input\n }], searchFn: [{\n type: Input\n }], trackByFn: [{\n type: Input\n }], clearOnBackspace: [{\n type: Input\n }], labelForId: [{\n type: Input\n }], inputAttrs: [{\n type: Input\n }], tabIndex: [{\n type: Input\n }], readonly: [{\n type: Input\n }], searchWhileComposing: [{\n type: Input\n }], minTermLength: [{\n type: Input\n }], editableSearchTerm: [{\n type: Input\n }], keyDownFn: [{\n type: Input\n }], typeahead: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-typeahead']\n }], multiple: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-multiple']\n }], addTag: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-taggable']\n }], searchable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-searchable']\n }], clearable: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-clearable']\n }], isOpen: [{\n type: Input\n }, {\n type: HostBinding,\n args: ['class.ng-select-opened']\n }], items: [{\n type: Input\n }], compareWith: [{\n type: Input\n }], clearSearchOnAdd: [{\n type: Input\n }], blurEvent: [{\n type: Output,\n args: ['blur']\n }], focusEvent: [{\n type: Output,\n args: ['focus']\n }], changeEvent: [{\n type: Output,\n args: ['change']\n }], openEvent: [{\n type: Output,\n args: ['open']\n }], closeEvent: [{\n type: Output,\n args: ['close']\n }], searchEvent: [{\n type: Output,\n args: ['search']\n }], clearEvent: [{\n type: Output,\n args: ['clear']\n }], addEvent: [{\n type: Output,\n args: ['add']\n }], removeEvent: [{\n type: Output,\n args: ['remove']\n }], scroll: [{\n type: Output,\n args: ['scroll']\n }], scrollToEnd: [{\n type: Output,\n args: ['scrollToEnd']\n }], optionTemplate: [{\n type: ContentChild,\n args: [NgOptionTemplateDirective, { read: TemplateRef }]\n }], optgroupTemplate: [{\n type: ContentChild,\n args: [NgOptgroupTemplateDirective, { read: TemplateRef }]\n }], labelTemplate: [{\n type: ContentChild,\n args: [NgLabelTemplateDirective, { read: TemplateRef }]\n }], multiLabelTemplate: [{\n type: ContentChild,\n args: [NgMultiLabelTemplateDirective, { read: TemplateRef }]\n }], headerTemplate: [{\n type: ContentChild,\n args: [NgHeaderTemplateDirective, { read: TemplateRef }]\n }], footerTemplate: [{\n type: ContentChild,\n args: [NgFooterTemplateDirective, { read: TemplateRef }]\n }], notFoundTemplate: [{\n type: ContentChild,\n args: [NgNotFoundTemplateDirective, { read: TemplateRef }]\n }], typeToSearchTemplate: [{\n type: ContentChild,\n args: [NgTypeToSearchTemplateDirective, { read: TemplateRef }]\n }], loadingTextTemplate: [{\n type: ContentChild,\n args: [NgLoadingTextTemplateDirective, { read: TemplateRef }]\n }], tagTemplate: [{\n type: ContentChild,\n args: [NgTagTemplateDirective, { read: TemplateRef }]\n }], loadingSpinnerTemplate: [{\n type: ContentChild,\n args: [NgLoadingSpinnerTemplateDirective, { read: TemplateRef }]\n }], dropdownPanel: [{\n type: ViewChild,\n args: [forwardRef(() => NgDropdownPanelComponent)]\n }], searchInput: [{\n type: ViewChild,\n args: ['searchInput', { static: true }]\n }], ngOptions: [{\n type: ContentChildren,\n args: [NgOptionComponent, { descendants: true }]\n }], useDefaultClass: [{\n type: HostBinding,\n args: ['class.ng-select']\n }], disabled: [{\n type: HostBinding,\n args: ['class.ng-select-disabled']\n }], filtered: [{\n type: HostBinding,\n args: ['class.ng-select-filtered']\n }], single: [{\n type: HostBinding,\n args: ['class.ng-select-single']\n }], handleKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }] } });\n\nfunction DefaultSelectionModelFactory() {\n return new DefaultSelectionModel();\n}\nclass DefaultSelectionModel {\n constructor() {\n this._selected = [];\n }\n get value() {\n return this._selected;\n }\n select(item, multiple, groupAsModel) {\n item.selected = true;\n if (!item.children || (!multiple && groupAsModel)) {\n this._selected.push(item);\n }\n if (multiple) {\n if (item.parent) {\n const childrenCount = item.parent.children.length;\n const selectedCount = item.parent.children.filter(x => x.selected).length;\n item.parent.selected = childrenCount === selectedCount;\n }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, true);\n this._removeChildren(item);\n if (groupAsModel && this._activeChildren(item)) {\n this._selected = [...this._selected.filter(x => x.parent !== item), item];\n }\n else {\n this._selected = [...this._selected, ...item.children.filter(x => !x.disabled)];\n }\n }\n }\n }\n unselect(item, multiple) {\n this._selected = this._selected.filter(x => x !== item);\n item.selected = false;\n if (multiple) {\n if (item.parent && item.parent.selected) {\n const children = item.parent.children;\n this._removeParent(item.parent);\n this._removeChildren(item.parent);\n this._selected.push(...children.filter(x => x !== item && !x.disabled));\n item.parent.selected = false;\n }\n else if (item.children) {\n this._setChildrenSelectedState(item.children, false);\n this._removeChildren(item);\n }\n }\n }\n clear(keepDisabled) {\n this._selected = keepDisabled ? this._selected.filter(x => x.disabled) : [];\n }\n _setChildrenSelectedState(children, selected) {\n for (const child of children) {\n if (child.disabled) {\n continue;\n }\n child.selected = selected;\n }\n }\n _removeChildren(parent) {\n this._selected = [\n ...this._selected.filter(x => x.parent !== parent),\n ...parent.children.filter(x => x.parent === parent && x.disabled && x.selected)\n ];\n }\n _removeParent(parent) {\n this._selected = this._selected.filter(x => x !== parent);\n }\n _activeChildren(item) {\n return item.children.every(x => !x.disabled || x.selected);\n }\n}\n\nclass NgSelectModule {\n}\nNgSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });\nNgSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectModule, declarations: [NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective], imports: [CommonModule], exports: [NgSelectComponent,\n NgOptionComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective] });\nNgSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectModule, providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ], imports: [CommonModule] });\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"15.2.4\", ngImport: i0, type: NgSelectModule, decorators: [{\n type: NgModule,\n args: [{\n declarations: [\n NgDropdownPanelComponent,\n NgOptionComponent,\n NgSelectComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective,\n NgItemLabelDirective\n ],\n imports: [\n CommonModule\n ],\n exports: [\n NgSelectComponent,\n NgOptionComponent,\n NgOptgroupTemplateDirective,\n NgOptionTemplateDirective,\n NgLabelTemplateDirective,\n NgMultiLabelTemplateDirective,\n NgHeaderTemplateDirective,\n NgFooterTemplateDirective,\n NgNotFoundTemplateDirective,\n NgTypeToSearchTemplateDirective,\n NgLoadingTextTemplateDirective,\n NgTagTemplateDirective,\n NgLoadingSpinnerTemplateDirective\n ],\n providers: [\n { provide: SELECTION_MODEL_FACTORY, useValue: DefaultSelectionModelFactory }\n ]\n }]\n }] });\n\n/*\n * Public API Surface of ng-select\n */\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgFooterTemplateDirective, NgHeaderTemplateDirective, NgItemLabelDirective, NgLabelTemplateDirective, NgLoadingSpinnerTemplateDirective, NgLoadingTextTemplateDirective, NgMultiLabelTemplateDirective, NgNotFoundTemplateDirective, NgOptgroupTemplateDirective, NgOptionComponent, NgOptionTemplateDirective, NgSelectComponent, NgSelectConfig, NgSelectModule, NgTagTemplateDirective, NgTypeToSearchTemplateDirective, SELECTION_MODEL_FACTORY };\n"],"names":["i0","Directive","Input","Injectable","EventEmitter","ElementRef","Component","ChangeDetectionStrategy","ViewEncapsulation","Optional","Inject","Output","ViewChild","InjectionToken","forwardRef","TemplateRef","Attribute","HostBinding","ContentChild","ContentChildren","HostListener","NgModule","NG_VALUE_ACCESSOR","takeUntil","auditTime","startWith","tap","debounceTime","filter","map","animationFrameScheduler","asapScheduler","Subject","fromEvent","merge","i3","DOCUMENT","CommonModule","unescapedHTMLExp","hasUnescapedHTMLExp","RegExp","source","htmlEscapes","escapeHTML","value","test","replace","chr","isDefined","undefined","isObject","isPromise","Promise","isFunction","Function","NgItemLabelDirective","constructor","element","escape","ngOnChanges","changes","nativeElement","innerHTML","ngItemLabel","ɵfac","ɵdir","type","args","selector","NgOptionTemplateDirective","template","NgOptgroupTemplateDirective","NgLabelTemplateDirective","NgMultiLabelTemplateDirective","NgHeaderTemplateDirective","NgFooterTemplateDirective","NgNotFoundTemplateDirective","NgTypeToSearchTemplateDirective","NgLoadingTextTemplateDirective","NgTagTemplateDirective","NgLoadingSpinnerTemplateDirective","newId","val","Math","random","toString","diacritics","stripSpecialChars","text","match","a","ItemsList","_ngSelect","_selectionModel","_items","_filteredItems","_markedIndex","items","filteredItems","markedIndex","selectedItems","markedItem","noItemsToSelect","hideSelected","length","maxItemsSelected","multiple","maxSelectedItems","lastSelectedItem","i","item","disabled","setItems","index","mapItem","groupBy","_groups","_groupBy","_flatten","Map","set","select","selected","clearSelected","selectableGroupAsModel","_hideSelected","unselect","_showSelected","findItem","findBy","compareWith","bindValue","children","resolveNested","label","bindLabel","find","addItem","option","push","keepDisabled","clear","forEach","marked","resetFilteredItems","findByLabel","term","toLocaleLowerCase","substr","searchFn","_defaultSearchFn","key","Array","from","keys","matchedItems","get","parent","searchItem","last","slice","head","x","unmarkItem","markNextItem","_stepToItem","markPreviousItem","markItem","indexOf","markSelectedOrDefault","markDefault","lastMarkedIndex","_getLastMarkedIndex","findIndex","split","len","$ngOptionLabel","$ngOptionValue","htmlId","dropdownId","mapSelectedItems","parentExists","child","sort","b","every","search","opt","_getNextItemIndex","steps","selectedIndex","max","prop","groups","isArray","isFnKey","keyFn","group","isGroupByFn","withoutGroup","isObjectKey","String","selectableGroup","groupKey","groupValue","KeyCode","NgDropdownPanelService","_dimensions","itemHeight","panelHeight","itemsPerViewport","dimensions","calculateItems","scrollPos","itemsLength","buffer","d","scrollHeight","scrollTop","indexByScrollTop","end","min","ceil","maxStartEnd","maxStart","start","floor","topPadding","isNaN","setDimensions","getScrollTo","itemTop","lastScroll","itemBottom","top","bottom","ɵprov","CSS_POSITIONS","SCROLL_SCHEDULER","requestAnimationFrame","NgDropdownPanelComponent","_renderer","_zone","_panelService","_elementRef","_document","position","virtualScroll","filterValue","update","scroll","scrollToEnd","outsideClick","_destroy$","_scrollToEndFired","_updateScrollHeight","_lastScrollPosition","_dropdown","currentPosition","_currentPosition","_itemsLength","_onItemsLengthChanged","_startOffset","offset","ngOnInit","_select","parentElement","_virtualPadding","paddingElementRef","_scrollablePanel","scrollElementRef","_contentPanel","contentElementRef","_handleScroll","_handleOutsideClick","_appendDropdown","_setupMousedownListener","change","_onItemsChange","currentValue","firstChange","ngOnDestroy","next","complete","unsubscribe","appendTo","removeChild","parentNode","scrollTo","startFromOption","querySelector","offsetTop","clientHeight","scrollToTag","panel","adjustPosition","_updateYPosition","_handleDropdownPosition","_calculateCurrentPosition","includes","_updateDropdownClass","style","opacity","REMOVE_CSS_CLASS","removeClass","ADD_CSS_CLASS","addClass","runOutsideAngular","pipe","subscribe","e","path","composedPath","target","_onContentScrolled","capture","$event","_checkToClose","contains","shadowRoot","run","emit","_updateItemsRange","_setVirtualHeight","_updateItems","resolve","then","_measureDimensions","_renderItemsRange","_fireScrollToEnd","_updateVirtualHeight","height","range","bufferAmount","transform","first","optionHeight","padding","dropdownEl","selectRect","getBoundingClientRect","document","documentElement","body","window","pageYOffset","dropdownHeight","_parent","Error","_updateXPosition","appendChild","offsetLeft","left","width","minWidth","delta","offsetBottom","event","tagName","preventDefault","Renderer2","NgZone","ɵcmp","NgIf","NgTemplateOutlet","changeDetection","OnPush","encapsulation","None","decorators","headerTemplate","footerTemplate","read","static","NgOptionComponent","elementRef","stateChange$","_disabled","_isDisabled","textContent","trim","ngAfterViewChecked","_previousLabel","NgSelectConfig","notFoundText","typeToSearchText","addTagText","loadingText","clearAllText","disableVirtualScroll","openOnEnter","appearance","providedIn","ConsoleService","warn","message","console","SELECTION_MODEL_FACTORY","NgSelectComponent","classes","autoFocus","config","newSelectionModel","_cd","_console","markFirst","dropdownPosition","loading","closeOnSelect","selectOnTab","trackByFn","clearOnBackspace","labelForId","inputAttrs","readonly","searchWhileComposing","minTermLength","editableSearchTerm","keyDownFn","_","addTag","searchable","clearable","isOpen","blurEvent","focusEvent","changeEvent","openEvent","closeEvent","searchEvent","clearEvent","addEvent","removeEvent","useDefaultClass","viewPortItems","searchTerm","_defaultLabel","_pressedKeys","_isComposing","_keyPress$","_onChange","_onTouched","clearItem","trackByOption","_mergeGlobalConfig","itemsList","_itemsAreUsed","_compareWith","fn","clearSearchOnAdd","_clearSearchOnAdd","filtered","single","_editableSearchTerm","selectedValues","hasValue","currentPanelPosition","dropdownPanel","_handleKeyPresses","_setInputAttributes","_setItems","_manualOpen","ngAfterViewInit","_setItemsFromNgOptions","focus","handleKeyDown","keyCode","which","handleKeyCode","ArrowDown","_handleArrowDown","ArrowUp","_handleArrowUp","Space","_handleSpace","Enter","_handleEnter","Tab","_handleTab","Esc","close","Backspace","_handleBackspace","handleMousedown","classList","handleClearClick","handleArrowClick","focused","open","toggle","_updateNgModel","_clearSearch","_onSelectionChanged","clearModel","writeValue","_handleWriteValue","markForCheck","registerOnChange","registerOnTouched","setDisabledState","state","_isTypeahead","detectChanges","toggleItem","_setSearchTermFromItems","searchInput","readOnly","blur","selectTag","tag","_primitive","handleTag","catch","showClear","showAddTag","_validTerm","toLowerCase","some","showNoItemsFound","empty","showTypeToSearch","onCompositionStart","onCompositionEnd","typeahead","onInputFocus","add","onInputBlur","remove","onItemHover","destroyed","firstItem","mapNgOptions","options","handleOptionChange","changedOrDestroyed","ngOptions","_isValidWriteValue","validateBinding","JSON","stringify","ngModel","isValObject","isPrimitive","letter","join","_scrollToMarked","input","attributes","autocorrect","autocapitalize","autocomplete","Object","setAttribute","model","_changeSearch","_scrollToTag","_nextItemIsTag","nextStep","nextIndex","observers","placeholder","ChangeDetectorRef","provide","useExisting","multi","NgClass","NgForOf","providers","styles","tabIndex","optionTemplate","optgroupTemplate","labelTemplate","multiLabelTemplate","notFoundTemplate","typeToSearchTemplate","loadingTextTemplate","tagTemplate","loadingSpinnerTemplate","descendants","DefaultSelectionModelFactory","DefaultSelectionModel","_selected","groupAsModel","childrenCount","selectedCount","_setChildrenSelectedState","_removeChildren","_activeChildren","_removeParent","NgSelectModule","ɵmod","ɵinj","useValue","declarations","imports","exports"],"sourceRoot":"webpack:///","x_google_ignoreList":[0]}