@datorama/core 22.12.5 → 22.12.7-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2ljb24vaWNvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSWNvbklucHV0cyA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2l6ZT86ICdsZycgfCAnbWQnIHwgJ3NtJztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHdpZHRoPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvSWNvbnMgPVxuICB8ICdhY2NvdW50J1xuICB8ICdhY3Rpb24tY2VudGVyJ1xuICB8ICdhY3Rpb24nXG4gIHwgJ2FkZC1jb2xsZWN0aW9uJ1xuICB8ICdhZGQtcGFnZSdcbiAgfCAnYWRkLXdpZGdldCdcbiAgfCAnYWR2aXNvcidcbiAgfCAnYWxsLWNvbGxlY3Rpb25zJ1xuICB8ICdhbHRlcm5hdGl2ZXMnXG4gIHwgJ2FueW9uZSdcbiAgfCAnYXBwLXBhZ2UnXG4gIHwgJ2FwcHMtdGFiJ1xuICB8ICdhcHBzJ1xuICB8ICdhcnJvdy1kb3duJ1xuICB8ICdhcnJvdy1sZWZ0J1xuICB8ICdhcnJvdy1yaWdodCdcbiAgfCAnYXJyb3ctdXAnXG4gIHwgJ2FydGljbGUnXG4gIHwgJ2F1dGhlbnRpY2F0aW9uLWVuYWJsZSdcbiAgfCAnYXV0aGVudGljYXRpb24nXG4gIHwgJ2F1dG8tZm9ybWF0J1xuICB8ICdhdXRvbWF0ZSdcbiAgfCAnYmFja2dyb3VuZCdcbiAgfCAnYnJhbmRpbmcnXG4gIHwgJ2J1aWxkZXInXG4gIHwgJ2NhbGVuZGFyJ1xuICB8ICdjZXJ0aWZpY2F0ZSdcbiAgfCAnY2VydGlmaWNhdGlvbidcbiAgfCAnY2hhcnRzJ1xuICB8ICdjaGV2cm9uLWRvd24tZG91YmxlJ1xuICB8ICdjaGV2cm9uLWRvd24nXG4gIHwgJ2NoZXZyb24tbGVmdC1kb3VibGUnXG4gIHwgJ2NoZXZyb24tbGVmdCdcbiAgfCAnY2hldnJvbi1yaWdodC1kb3VibGUnXG4gIHwgJ2NoZXZyb24tcmlnaHQnXG4gIHwgJ2NoZXZyb24tdXAtZG91YmxlJ1xuICB8ICdjaGV2cm9uLXVwJ1xuICB8ICdjbGFzc2lmaWNhdGlvbidcbiAgfCAnY2xvc2UnXG4gIHwgJ2NvbGxhYm9yYXRlJ1xuICB8ICdjb2xsYXBzZSdcbiAgfCAnY29tbWVudC1jb2RlJ1xuICB8ICdjb21wYXJyaXNvbidcbiAgfCAnY29ubmVjdCdcbiAgfCAnY29ubmVjdGVkJ1xuICB8ICdjb3B5LXRvJ1xuICB8ICdjb3B5J1xuICB8ICdjb3N0LWNlbnRlcidcbiAgfCAnY3VycmVudCdcbiAgfCAnZGF0YS10cmFuc2Zvcm1lZCdcbiAgfCAnZGF0YS1jbGFzc2lmaWNhdGlvbidcbiAgfCAnZGF0YS1mdXNpb24nXG4gIHwgJ2RhdGEtbGFrZXMnXG4gIHwgJ2RhdGEtbW9kZWwnXG4gIHwgJ2RhdGEtcHJldmlldydcbiAgfCAnZGF0YS1zY2llbmNlJ1xuICB8ICdkYXRhLXN0cmVhbSdcbiAgfCAnZGVwbG95J1xuICB8ICdkZXNjcmlwdGlvbidcbiAgfCAnZGVzaWduJ1xuICB8ICdkZXYtcG9ydGFsJ1xuICB8ICdkaWFtb25kJ1xuICB8ICdkaW1lbnNpb24tdHlwZS0yJ1xuICB8ICdkaW1lbnNpb24nXG4gIHwgJ2RpcnR5J1xuICB8ICdkaXNtaXNzJ1xuICB8ICdkb3R0aWUnXG4gIHwgJ2Rvd25sb2FkJ1xuICB8ICdkcmFnLXdpbmRvdydcbiAgfCAnZHJhZydcbiAgfCAnZWRpdC1wYWdlJ1xuICB8ICdlZGl0LXdpZGdldCdcbiAgfCAnZWRpdCdcbiAgfCAnZWluc3RlaW4taW5zaWdodHMnXG4gIHwgJ2VsZW1lbnRzJ1xuICB8ICdlbWJlZCdcbiAgfCAnZXZhbHVhdGUnXG4gIHwgJ2V4cGFuZCdcbiAgfCAnZXhwbG9yZSdcbiAgfCAnZXhwb3J0LXN0YXRzJ1xuICB8ICdleHBvcnQnXG4gIHwgJ2V4dGVuZGVkLWxvZydcbiAgfCAnZXh0ZXJuYWwtZGF0YSdcbiAgfCAnZXh0ZXJuYWwtcGFnZSdcbiAgfCAnZXh0ZXJuYWwnXG4gIHwgJ2ZhaWxlZC1mdWxsJ1xuICB8ICdmYWlsZWQtbGluZSdcbiAgfCAnZmFpbGVkJ1xuICB8ICdmaWx0ZXInXG4gIHwgJ2ZpbHRlcnMtcGFnZSdcbiAgfCAnZmlsdGVycy13aWRnZXQnXG4gIHwgJ2ZpbmQtYW5kLXJlcGxhY2UnXG4gIHwgJ2ZvY3VzJ1xuICB8ICdmb2xkZXItY2xvc2VkJ1xuICB8ICdmb2xkZXItb3BlbidcbiAgfCAnZm9ybXVsYSdcbiAgfCAnZnJlZS10ZXh0J1xuICB8ICdmdWxsLWVudGl0eSdcbiAgfCAnZnVsbHNjcmVlbi1lbnRlcidcbiAgfCAnZnVsbHNjcmVlbi1leGl0J1xuICB8ICdnZW5lcmljLWJ1Y2tldCdcbiAgfCAnZ29hbHMnXG4gIHwgJ2dyaWQtaGlkZSdcbiAgfCAnZ3JvdXAnXG4gIHwgJ2hhbWJ1cmdlcidcbiAgfCAnaGFybW9uaXplZC1kaW1lbnNpb24nXG4gIHwgJ2hlYXJ0LWVtcHR5J1xuICB8ICdoZWFydC1mdWxsJ1xuICB8ICdoaWRlJ1xuICB8ICdoaWdobGlnaHQnXG4gIHwgJ2hpc3RvcnknXG4gIHwgJ2hvbWUnXG4gIHwgJ2hvdXItZ2xhc3MnXG4gIHwgJ2lkbGUnXG4gIHwgJ2ltcGVyc29uYXRlJ1xuICB8ICdpbmZvLWZ1bGwnXG4gIHwgJ2luZm8tbGluZSdcbiAgfCAnaW5mbydcbiAgfCAnaW5zdGFudCdcbiAgfCAnaW50ZXJhY3RpdmUtZmlsdGVyJ1xuICB8ICdpbnRlcmFjdGl2ZS1maWx0ZXJzZXQnXG4gIHwgJ2tleSdcbiAgfCAna25vd2xlZGdlLWJhc2UnXG4gIHwgJ2xhYmVsJ1xuICB8ICdsYXlvdXQtZmlsdGVyZWQnXG4gIHwgJ2xheW91dCdcbiAgfCAnbGlua2VkJ1xuICB8ICdsaXZlJ1xuICB8ICdsb2NhbGl6YXRpb24tMTY0J1xuICB8ICdsb2dpY2FsLXZpZXcnXG4gIHwgJ21hZ2ljLXdhbmQnXG4gIHwgJ21haW4tZW50aXR5J1xuICB8ICdtYW5hZ2UtY29sbGVjdGlvbnMnXG4gIHwgJ21hcC1yaWdodCdcbiAgfCAnbWFwLWxlZnQnXG4gIHwgJ21hcHBpbmcnXG4gIHwgJ21hcmtldCdcbiAgfCAnbWF4aW1pemUtaG9yaXpvbnRhbCdcbiAgfCAnbWF4aW1pemUnXG4gIHwgJ21lYXN1cmVtZW50LW5hdidcbiAgfCAnbWVhc3VyZW1lbnQnXG4gIHwgJ21pbmltaXplLWhvcml6b250YWwnXG4gIHwgJ21pbmltaXplJ1xuICB8ICdtb3JlLWhvcml6b250YWwnXG4gIHwgJ21vcmUtdmVydGljYWwnXG4gIHwgJ21vdmUtdG8tZm9sZGVyJ1xuICB8ICdteS1wcm9maWxlJ1xuICB8ICduYW1pbmctY29udmVudGlvbnMtcGF0dGVybnMnXG4gIHwgJ25ldy10YWInXG4gIHwgJ25vLWF1dGVudGljYXRpb24nXG4gIHwgJ25vLWVudHJ5J1xuICB8ICduby1maWxlJ1xuICB8ICduby1vbmUnXG4gIHwgJ25vdGVzLXJvdWRlZCdcbiAgfCAnbm90ZXMnXG4gIHwgJ25vdGlmaWNhdGlvbnMnXG4gIHwgJ3BhZ2UnXG4gIHwgJ3BhbmVsLWNsb3NlJ1xuICB8ICdwYW5lbC1vcGVuJ1xuICB8ICdwZW5kaW5nJ1xuICB8ICdwZW9wbGUnXG4gIHwgJ3BpbidcbiAgfCAncGl2b3QtdGFibGUnXG4gIHwgJ3BsYXknXG4gIHwgJ3BsdXMtYnRuJ1xuICB8ICdwbHVzLXNpbXBsZSdcbiAgfCAncHJlc2VudCdcbiAgfCAncHJvY2Vzcy10ZWNoLWFib3J0J1xuICB8ICdwcm9jZXNzLXRlY2gnXG4gIHwgJ3Byb2Nlc3MtZXJyb3InXG4gIHwgJ3Byb2Nlc3MnXG4gIHwgJ3B1Ymxpc2gnXG4gIHwgJ3B1c2gtZW50aXR5J1xuICB8ICdxdWVyeS1hcGknXG4gIHwgJ3JlLXJ1bidcbiAgfCAncmVjZW50J1xuICB8ICdyZWRvJ1xuICB8ICdyZWZyZXNoJ1xuICB8ICdyZW9mZmVyJ1xuICB8ICdyZW9yZGVyJ1xuICB8ICdyZXNldC1maWx0ZXJzJ1xuICB8ICdyZXNldC10YWJsZSdcbiAgfCAncmVzdG9yZSdcbiAgfCAncmV0cml2ZS1kYXRhJ1xuICB8ICdyb2NrZXQnXG4gIHwgJ3J1bi1sYXRlcidcbiAgfCAnc2FuZGJveC1jb2xvcidcbiAgfCAnc2FuZGJveC1taWQnXG4gIHwgJ3NhbmRib3gnXG4gIHwgJ3NhdmUtYXMnXG4gIHwgJ3NhdmUnXG4gIHwgJ3NjaGVkdWxlLWV4cG9ydCdcbiAgfCAnc2NyZWVuLWd1aWRlJ1xuICB8ICdzZWFyY2gnXG4gIHwgJ3NlbmQnXG4gIHwgJ3NlcnZlcidcbiAgfCAnc2hhcmUtZGFzaGJvYXJkJ1xuICB8ICdzaGFyZS10bydcbiAgfCAnc2hhcmUnXG4gIHwgJ3NoYXJpbmctYWRkLW91dGxpbmUnXG4gIHwgJ3NoYXJpbmctb3V0bGluZSdcbiAgfCAnc2hhcmluZydcbiAgfCAnc2hvdy1ncmlkJ1xuICB8ICdzaWduLW91dCdcbiAgfCAnc25pcHBldHMnXG4gIHwgJ3NvcnQtYXNjZW5kaW5nJ1xuICB8ICdzb3J0LWRlc2NlbmRpbmcnXG4gIHwgJ3NvcnQnXG4gIHwgJ3N0YXItZW1wdHknXG4gIHwgJ3N0YXItZnVsbC1jb2xvcidcbiAgfCAnc3Rhci1mdWxsJ1xuICB8ICdzdGF0dXMnXG4gIHwgJ3N1Y2Nlc3MtZnVsbCdcbiAgfCAnc3VjY2Vzcy1saW5lJ1xuICB8ICdzdWNjZXNzLXNpbXBsZSdcbiAgfCAnc3dpdGNoJ1xuICB8ICd0YWJsZS1yZWd1bGFyJ1xuICB8ICd0YWJsZSdcbiAgfCAndGFibGVhdSdcbiAgfCAndGVtcGxhdGUtZnVsbCdcbiAgfCAndGVtcGxhdGVzJ1xuICB8ICd0ZXN0J1xuICB8ICd0aHVtYnMtZG93bidcbiAgfCAndGh1bWJzLXVwJ1xuICB8ICd0aW1lJ1xuICB8ICd0aXAtZnVsbCdcbiAgfCAndGlwLWxpbmUnXG4gIHwgJ3RpcC1zaW1wbGUnXG4gIHwgJ3Rvb2wnXG4gIHwgJ3RyYW5zcG9zZWQtdGFibGUnXG4gIHwgJ3RyYXNoJ1xuICB8ICd0cmVuZCdcbiAgfCAndHlwZWZhY2UnXG4gIHwgJ3VuY29tbWVudC1jb2RlJ1xuICB8ICd1bmRvJ1xuICB8ICd1bmdyb3VwJ1xuICB8ICd1bml2ZXJzaXR5J1xuICB8ICd1bmxpbmsnXG4gIHwgJ3VucHVibGlzaCdcbiAgfCAndXBsb2FkJ1xuICB8ICd1c2VyJ1xuICB8ICd2YWxpZGF0ZS1jb2RlJ1xuICB8ICd2aWV3cy1saW5lJ1xuICB8ICd2aWV3cydcbiAgfCAndmlzdWFsaXplJ1xuICB8ICd3YXJuaW5nLWZ1bGwnXG4gIHwgJ3dhcm5pbmctbGluZSdcbiAgfCAnd2FybmluZy1zaW1wbGUnXG4gIHwgJ3dlYmluYXInXG4gIHwgJ3dpZGdldHMnXG4gIHwgJ3dvcmtmbG93J1xuICB8ICd3b3Jrc3BhY2UnXG4gIHwgJ3pvb20taW4nO1xuIl19
1
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2ljb24vaWNvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgSWNvbklucHV0cyA9IHtcbiAgbmFtZT86IHN0cmluZztcbiAgc2l6ZT86ICdsZycgfCAnbWQnIHwgJ3NtJztcbiAgY29sb3I/OiBzdHJpbmc7XG4gIHdpZHRoPzogc3RyaW5nO1xuICBoZWlnaHQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvSWNvbnMgPSAnYWNjb3VudCcgfCAnYWN0aW9uLWNlbnRlcicgfCAnYWN0aW9uJyB8ICdhZGQtY29sbGVjdGlvbicgfCAnYWRkLXBhZ2UnIHwgJ2FkZC13aWRnZXQnIHwgJ2Fkdmlzb3InIHwgJ2FsbC1jb2xsZWN0aW9ucycgfCAnYWx0ZXJuYXRpdmVzJyB8ICdhbnlvbmUnIHwgJ2FwcC1wYWdlJyB8ICdhcHBzLXRhYicgfCAnYXBwcycgfCAnYXJyb3ctZG93bicgfCAnYXJyb3ctbGVmdCcgfCAnYXJyb3ctcmlnaHQnIHwgJ2Fycm93LXVwJyB8ICdhcnRpY2xlJyB8ICdhdXRoZW50aWNhdGlvbi1lbmFibGUnIHwgJ2F1dGhlbnRpY2F0aW9uJyB8ICdhdXRvLWZvcm1hdCcgfCAnYXV0b21hdGUnIHwgJ2JhY2tncm91bmQnIHwgJ2JyYW5kaW5nJyB8ICdidWlsZGVyJyB8ICdjYWxlbmRhcicgfCAnY2VydGlmaWNhdGUnIHwgJ2NlcnRpZmljYXRpb24nIHwgJ2NoYXJ0cycgfCAnY2hldnJvbi1kb3duLWRvdWJsZScgfCAnY2hldnJvbi1kb3duJyB8ICdjaGV2cm9uLWxlZnQtZG91YmxlJyB8ICdjaGV2cm9uLWxlZnQnIHwgJ2NoZXZyb24tcmlnaHQtZG91YmxlJyB8ICdjaGV2cm9uLXJpZ2h0JyB8ICdjaGV2cm9uLXVwLWRvdWJsZScgfCAnY2hldnJvbi11cCcgfCAnY2xhc3NpZmljYXRpb24nIHwgJ2Nsb3NlJyB8ICdjb2xsYWJvcmF0ZScgfCAnY29sbGFwc2UnIHwgJ2NvbW1lbnQtY29kZScgfCAnY29tcGFycmlzb24nIHwgJ2Nvbm5lY3QnIHwgJ2Nvbm5lY3RlZCcgfCAnY29weS10bycgfCAnY29weScgfCAnY29zdC1jZW50ZXInIHwgJ2N1cnJlbnQnIHwgJ2RhdGEtdHJhbnNmb3JtZWQnIHwgJ2RhdGEtY2xhc3NpZmljYXRpb24nIHwgJ2RhdGEtZnVzaW9uJyB8ICdkYXRhLWxha2VzJyB8ICdkYXRhLW1vZGVsJyB8ICdkYXRhLXByZXZpZXcnIHwgJ2RhdGEtc2NpZW5jZScgfCAnZGF0YS1zdHJlYW0nIHwgJ2RlcGxveScgfCAnZGVzY3JpcHRpb24nIHwgJ2Rlc2lnbicgfCAnZGV2LXBvcnRhbCcgfCAnZGlhbW9uZCcgfCAnZGltZW5zaW9uLXR5cGUtMicgfCAnZGltZW5zaW9uJyB8ICdkaXJ0eScgfCAnZGlzbWlzcycgfCAnZG90dGllJyB8ICdkb3dubG9hZCcgfCAnZHJhZy13aW5kb3cnIHwgJ2RyYWcnIHwgJ2VkaXQtcGFnZScgfCAnZWRpdC13aWRnZXQnIHwgJ2VkaXQnIHwgJ2VpbnN0ZWluLWluc2lnaHRzJyB8ICdlbGVtZW50cycgfCAnZW1iZWQnIHwgJ2V2YWx1YXRlJyB8ICdleHBhbmQnIHwgJ2V4cGxvcmUnIHwgJ2V4cG9ydC1zdGF0cycgfCAnZXhwb3J0JyB8ICdleHRlbmRlZC1sb2cnIHwgJ2V4dGVybmFsLWRhdGEnIHwgJ2V4dGVybmFsLXBhZ2UnIHwgJ2V4dGVybmFsJyB8ICdmYWlsZWQtZnVsbCcgfCAnZmFpbGVkLWxpbmUnIHwgJ2ZhaWxlZCcgfCAnZmlsdGVyJyB8ICdmaWx0ZXJzLXBhZ2UnIHwgJ2ZpbHRlcnMtd2lkZ2V0JyB8ICdmaW5kLWFuZC1yZXBsYWNlJyB8ICdmb2N1cycgfCAnZm9sZGVyLWNsb3NlZCcgfCAnZm9sZGVyLW9wZW4nIHwgJ2Zvcm11bGEnIHwgJ2ZyZWUtdGV4dCcgfCAnZnVsbC1lbnRpdHknIHwgJ2Z1bGxzY3JlZW4tZW50ZXInIHwgJ2Z1bGxzY3JlZW4tZXhpdCcgfCAnZ2VuZXJpYy1idWNrZXQnIHwgJ2dvYWxzJyB8ICdncmlkLWhpZGUnIHwgJ2dyb3VwJyB8ICdoYW1idXJnZXInIHwgJ2hhcm1vbml6ZWQtZGltZW5zaW9uJyB8ICdoZWFydC1lbXB0eScgfCAnaGVhcnQtZnVsbCcgfCAnaGlkZScgfCAnaGlnaGxpZ2h0JyB8ICdoaXN0b3J5JyB8ICdob21lJyB8ICdob3VyLWdsYXNzJyB8ICdpZGxlJyB8ICdpbXBlcnNvbmF0ZScgfCAnaW5mby1mdWxsJyB8ICdpbmZvLWxpbmUnIHwgJ2luZm8nIHwgJ2luc3RhbnQnIHwgJ2ludGVyYWN0aXZlLWZpbHRlcicgfCAnaW50ZXJhY3RpdmUtZmlsdGVyc2V0JyB8ICdrZXknIHwgJ2tub3dsZWRnZS1iYXNlJyB8ICdsYWJlbCcgfCAnbGF5b3V0LWZpbHRlcmVkJyB8ICdsYXlvdXQnIHwgJ2xpbmtlZCcgfCAnbGl2ZScgfCAnbG9jYWxpemF0aW9uLTE2NCcgfCAnbG9naWNhbC12aWV3JyB8ICdtYWdpYy13YW5kJyB8ICdtYWluLWVudGl0eScgfCAnbWFuYWdlLWNvbGxlY3Rpb25zJyB8ICdtYXAtcmlnaHQnIHwgJ21hcC1sZWZ0JyB8ICdtYXBwaW5nJyB8ICdtYXJrZXQnIHwgJ21heGltaXplLWhvcml6b250YWwnIHwgJ21heGltaXplJyB8ICdtZWFzdXJlbWVudC1uYXYnIHwgJ21lYXN1cmVtZW50JyB8ICdtaW5pbWl6ZS1ob3Jpem9udGFsJyB8ICdtaW5pbWl6ZScgfCAnbW9yZS1ob3Jpem9udGFsJyB8ICdtb3JlLXZlcnRpY2FsJyB8ICdtb3ZlLXRvLWZvbGRlcicgfCAnbXktcHJvZmlsZScgfCAnbmFtaW5nLWNvbnZlbnRpb25zLXBhdHRlcm5zJyB8ICduZXctdGFiJyB8ICduby1hdXRlbnRpY2F0aW9uJyB8ICduby1lbnRyeScgfCAnbm8tZmlsZScgfCAnbm8tb25lJyB8ICdub3Rlcy1yb3VkZWQnIHwgJ25vdGVzJyB8ICdub3RpZmljYXRpb25zJyB8ICdwYWdlJyB8ICdwYW5lbC1jbG9zZScgfCAncGFuZWwtb3BlbicgfCAncGVuZGluZycgfCAncGVvcGxlJyB8ICdwaW4nIHwgJ3Bpdm90LXRhYmxlJyB8ICdwbGF5JyB8ICdwbHVzLWJ0bicgfCAncGx1cy1zaW1wbGUnIHwgJ3ByZXNlbnQnIHwgJ3Byb2Nlc3MtdGVjaC1hYm9ydCcgfCAncHJvY2Vzcy10ZWNoJyB8ICdwcm9jZXNzLWVycm9yJyB8ICdwcm9jZXNzJyB8ICdwdWJsaXNoJyB8ICdwdXNoLWVudGl0eScgfCAncXVlcnktYXBpJyB8ICdyZS1ydW4nIHwgJ3JlY2VudCcgfCAncmVkbycgfCAncmVmcmVzaCcgfCAncmVvZmZlcicgfCAncmVvcmRlcicgfCAncmVzZXQtZmlsdGVycycgfCAncmVzZXQtdGFibGUnIHwgJ3Jlc3RvcmUnIHwgJ3JldHJpdmUtZGF0YScgfCAncm9ja2V0JyB8ICdydW4tbGF0ZXInIHwgJ3NhbmRib3gtY29sb3InIHwgJ3NhbmRib3gtbWlkJyB8ICdzYW5kYm94JyB8ICdzYXZlLWFzJyB8ICdzYXZlJyB8ICdzY2hlZHVsZS1leHBvcnQnIHwgJ3NjcmVlbi1ndWlkZScgfCAnc2VhcmNoJyB8ICdzZW5kJyB8ICdzZXJ2ZXInIHwgJ3NoYXJlLWRhc2hib2FyZCcgfCAnc2hhcmUtdG8nIHwgJ3NoYXJlJyB8ICdzaGFyaW5nLWFkZC1vdXRsaW5lJyB8ICdzaGFyaW5nLW91dGxpbmUnIHwgJ3NoYXJpbmcnIHwgJ3Nob3ctZ3JpZCcgfCAnc2lnbi1vdXQnIHwgJ3NuaXBwZXRzJyB8ICdzb3J0LWFzY2VuZGluZycgfCAnc29ydC1kZXNjZW5kaW5nJyB8ICdzb3J0JyB8ICdzdGFyLWVtcHR5JyB8ICdzdGFyLWZ1bGwtY29sb3InIHwgJ3N0YXItZnVsbCcgfCAnc3RhdHVzJyB8ICdzdWNjZXNzLWZ1bGwnIHwgJ3N1Y2Nlc3MtbGluZScgfCAnc3VjY2Vzcy1zaW1wbGUnIHwgJ3N3aXRjaCcgfCAndGFibGUtcmVndWxhcicgfCAndGFibGUnIHwgJ3RhYmxlYXUnIHwgJ3RlbXBsYXRlLWZ1bGwnIHwgJ3RlbXBsYXRlcycgfCAndGVzdCcgfCAndGh1bWJzLWRvd24nIHwgJ3RodW1icy11cCcgfCAndGltZScgfCAndGlwLWZ1bGwnIHwgJ3RpcC1saW5lJyB8ICd0aXAtc2ltcGxlJyB8ICd0b29sJyB8ICd0cmFuc3Bvc2VkLXRhYmxlJyB8ICd0cmFzaCcgfCAndHJlbmQnIHwgJ3R5cGVmYWNlJyB8ICd1bmNvbW1lbnQtY29kZScgfCAndW5kbycgfCAndW5ncm91cCcgfCAndW5pdmVyc2l0eScgfCAndW5saW5rJyB8ICd1bnB1Ymxpc2gnIHwgJ3VwbG9hZCcgfCAndXNlcicgfCAndmFsaWRhdGUtY29kZScgfCAndmlld3MtbGluZScgfCAndmlld3MnIHwgJ3Zpc3VhbGl6ZScgfCAnd2FybmluZy1mdWxsJyB8ICd3YXJuaW5nLWxpbmUnIHwgJ3dhcm5pbmctc2ltcGxlJyB8ICd3ZWJpbmFyJyB8ICd3aWRnZXRzJyB8ICd3b3JrZmxvdycgfCAnd29ya3NwYWNlJyB8ICd6b29tLWluJztcbiJdfQ==
@@ -120,7 +120,7 @@ __decorate([
120
120
  DatoProgressBarComponent = __decorate([
121
121
  Component({
122
122
  selector: 'dato-progress-bar',
123
- template: "<div class=\"bar d-flex width-100 overflow-hidden\"\n [style.width]=\"width\"\n [class]=\"barColor + '-background-color'\">\n <div *ngFor=\"let part of parts; index as i\"\n class=\"part height-100\"\n [ngClass]=\"part.color ? part.color + '-background-color' : ''\"\n [style.width]=\"i > 0 ? 'calc(' + part.percent + '% + 8px)' : part.percent + '%'\"\n [style.z-index]=\"100 - i\"\n [datoTooltipV2]=\"part.tooltip\">\n </div>\n</div>\n\n<ng-content></ng-content>\n\n<div *ngIf=\"showLegend\" class=\"d-flex mt-12\">\n <div *ngFor=\"let part of parts; index as i\" class=\"d-flex mr-16\">\n <div class=\"d-flex items-center dato-note primary-400-color\">\n <div class=\"legend-color mr-4\" [ngClass]=\"part.color ? part.color + '-background-color' : ''\"></div>\n <div>{{ part.legendLabel || part.tooltip }}</div>\n <div class=\"primary-300-color ml-3\" *ngIf=\"part.legendSecondaryLabel\">{{ part.legendSecondaryLabel }}</div>\n </div>\n </div>\n</div>\n",
123
+ template: "<div class=\"bar d-flex width-100 overflow-hidden\"\n [style.width]=\"width\"\n [class]=\"barColor + '-background-color'\">\n <div *ngFor=\"let part of parts; index as i\"\n class=\"part height-100\"\n [ngClass]=\"part.color ? part.color + '-background-color' : ''\"\n [style.width]=\"i > 0 ? 'calc(' + part.percent + '% + 8px)' : part.percent + '%'\"\n [style.z-index]=\"100 - i\"\n [datoTooltipV2]=\"part.tooltip\">\n </div>\n</div>\n\n<ng-content></ng-content>\n\n<div *ngIf=\"showLegend\" class=\"d-flex mt-12\">\n <div *ngFor=\"let part of parts; index as i\" class=\"d-flex mr-16\">\n <div *ngIf=\"part.legendLabel || part.tooltip\" class=\"d-flex items-center dato-note primary-400-color\">\n <div class=\"legend-color mr-4\" [ngClass]=\"part.color ? part.color + '-background-color' : ''\"></div>\n <div>{{ part.legendLabel || part.tooltip }}</div>\n <div class=\"primary-300-color ml-3\" *ngIf=\"part.legendSecondaryLabel\">{{ part.legendSecondaryLabel }}</div>\n </div>\n </div>\n</div>\n",
124
124
  changeDetection: ChangeDetectionStrategy.OnPush,
125
125
  encapsulation: ViewEncapsulation.None,
126
126
  styles: ["dato-progress-bar .bar{height:8px;border-radius:4px}dato-progress-bar .part{border-radius:0 4px 4px 0}dato-progress-bar .part:not(:first-child){margin-left:-8px}dato-progress-bar .legend-color{width:8px;height:8px;min-width:8px;border-radius:50%}"]
@@ -128,4 +128,4 @@ DatoProgressBarComponent = __decorate([
128
128
  __metadata("design:paramtypes", [ChangeDetectorRef])
129
129
  ], DatoProgressBarComponent);
130
130
  export { DatoProgressBarComponent };
131
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUzlDLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBWW5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTmpDLGFBQVEsR0FBdUQsYUFBYSxDQUFDO1FBQzdFLGVBQVUsR0FBc0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFLTCxDQUFDO0lBRTlDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUNMLElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUM3RCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFDNUQ7WUFDQSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFDRSxJQUFJLENBQUMsV0FBVztZQUNoQixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDO2dCQUNoRCxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQztnQkFDN0MsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUNwRDtZQUNBLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVPLGNBQWM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNsQjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUc7WUFDWDtnQkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ3JCLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSztnQkFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxTQUFTO1FBQ2YsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDO1NBQzNCO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDaEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDO1NBQzNFO2FBQU07WUFDTCxJQUFJLENBQUMsS0FBSztnQkFDUixJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxDQUFDLENBQUMsU0FBUztvQkFDWCxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQzt3QkFDcEMsQ0FBQyxDQUFDLFlBQVk7d0JBQ2QsQ0FBQyxDQUFDLFdBQVcsQ0FBQztTQUNuQjtJQUNILENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsSUFBcUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xHLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELDRDQUE0QztJQUNwQyxpQkFBaUI7UUFDdkIsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFXLEVBQUUsSUFBcUIsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEcsSUFBSSxZQUFZLEtBQUssR0FBRyxFQUFFO1lBQ3hCLElBQUksS0FBSyxHQUFHLEdBQUcsR0FBRyxZQUFZLEVBQzVCLEtBQUssR0FBRyxDQUFDLEVBQ1QsU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNoQixPQUFPLEtBQUssS0FBSyxDQUFDLElBQUksU0FBUyxHQUFHLEdBQUcsRUFBRTtnQkFDckMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDL0IsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO2dCQUN4QyxTQUFTLEVBQUUsQ0FBQyxDQUFDLHdFQUF3RTtnQkFDckYsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsRUFBRTtvQkFDMUMsU0FBUztpQkFDVjtnQkFDRCxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ25DLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzdCO1NBQ0Y7SUFDSCxDQUFDO0NBQ0YsQ0FBQTs7WUFyRjBCLGlCQUFpQjs7QUFYakM7SUFBUixLQUFLLEVBQUU7O3VEQUFlO0FBQ2Q7SUFBUixLQUFLLEVBQUU7O3VEQUEwQjtBQUN6QjtJQUFSLEtBQUssRUFBRTs7eURBQWlCO0FBQ2hCO0lBQVIsS0FBSyxFQUFFOzt1REFBNkI7QUFDNUI7SUFBUixLQUFLLEVBQUU7O3lEQUFvQztBQUNuQztJQUFSLEtBQUssRUFBRTs7MERBQThFO0FBQzdFO0lBQVIsS0FBSyxFQUFFOzs0REFBMEM7QUFDekM7SUFBUixLQUFLLEVBQUU7OzREQUFxQjtBQVJsQix3QkFBd0I7SUFQcEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3QixrakNBQTRDO1FBRTVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztLQUN0QyxDQUFDO3FDQWF5QixpQkFBaUI7R0FaL0Isd0JBQXdCLENBaUdwQztTQWpHWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcnRzOiBQcm9ncmVzc0JhclBhcnRbXTtcbiAgQElucHV0KCkgcGVyY2VudDogbnVtYmVyO1xuICBASW5wdXQoKSBjb2xvcjogUHJvZ3Jlc3NCYXJQYXJ0Q29sb3I7XG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGJhckNvbG9yOiBQcm9ncmVzc0JhclBhcnRDb2xvciB8ICdwcmltYXJ5LTEwMCcgfCAncHJpbWFyeS0wJyA9ICdwcmltYXJ5LTEwMCc7XG4gIEBJbnB1dCgpIHRocmVzaG9sZHM6IFtudW1iZXIsIG51bWJlcj9dID0gWzMzLCA2Nl07XG4gIEBJbnB1dCgpIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNCeVBlcmNlbnQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaGFzSW5pdGlhbENvbG9yOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFydHMpIHtcbiAgICAgIHRoaXMucGVyY2VudCA9IHRoaXMucGVyY2VudCB8fCAwO1xuICAgICAgdGhpcy5pc0J5UGVyY2VudCA9IHRydWU7XG4gICAgICB0aGlzLmhhc0luaXRpYWxDb2xvciA9ICEhdGhpcy5jb2xvcjtcbiAgICAgIHRoaXMuaW5pdFNpbmdsZVBhcnQoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5wYXJ0cyAmJlxuICAgICAgdGhpcy5wYXJ0cy5ldmVyeSgocGFydDogUHJvZ3Jlc3NCYXJQYXJ0KSA9PiBwYXJ0LndlaWdodCA+PSAwKSAmJlxuICAgICAgIXRoaXMucGFydHMuZXZlcnkoKHBhcnQ6IFByb2dyZXNzQmFyUGFydCkgPT4gISFwYXJ0LnBlcmNlbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmluaXRQYXJ0c1BlcmNlbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pc0J5UGVyY2VudCAmJlxuICAgICAgKChjaGFuZ2VzLnBlcmNlbnQgJiYgIWNoYW5nZXMucGVyY2VudC5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgKGNoYW5nZXMuY29sb3IgJiYgIWNoYW5nZXMuY29sb3IuZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgIChjaGFuZ2VzLnRvb2x0aXAgJiYgIWNoYW5nZXMudG9vbHRpcC5maXJzdENoYW5nZSkpXG4gICAgKSB7XG4gICAgICB0aGlzLmluaXRTaW5nbGVQYXJ0KCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0U2luZ2xlUGFydCgpIHtcbiAgICBpZiAoIXRoaXMuY29sb3IgfHwgIXRoaXMuaGFzSW5pdGlhbENvbG9yKSB7XG4gICAgICB0aGlzLmluaXRDb2xvcigpO1xuICAgIH1cbiAgICB0aGlzLnBhcnRzID0gW1xuICAgICAge1xuICAgICAgICBwZXJjZW50OiB0aGlzLnBlcmNlbnQsXG4gICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXBcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29sb3IoKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHkodGhpcy50aHJlc2hvbGRzKSkge1xuICAgICAgdGhpcy5jb2xvciA9ICdhY2NlbnQtNDAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMudGhyZXNob2xkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuY29sb3IgPSB0aGlzLnBlcmNlbnQgPD0gdGhpcy50aHJlc2hvbGRzWzBdID8gJ3JlZC00MDAnIDogJ2dyZWVuLTQwMCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29sb3IgPVxuICAgICAgICB0aGlzLnBlcmNlbnQgPD0gdGhpcy50aHJlc2hvbGRzWzBdXG4gICAgICAgICAgPyAncmVkLTQwMCdcbiAgICAgICAgICA6IHRoaXMucGVyY2VudCA8PSB0aGlzLnRocmVzaG9sZHNbMV1cbiAgICAgICAgICA/ICd5ZWxsb3ctNDAwJ1xuICAgICAgICAgIDogJ2dyZWVuLTQwMCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFydHNQZXJjZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHBhcnRzV2VpZ2h0ID0gdGhpcy5wYXJ0cy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBwYXJ0OiBQcm9ncmVzc0JhclBhcnQpID0+IGFjYyArIHBhcnQud2VpZ2h0LCAwKTtcbiAgICB0aGlzLnBhcnRzLmZvckVhY2goKHBhcnQ6IFByb2dyZXNzQmFyUGFydCkgPT4ge1xuICAgICAgcGFydC5wZXJjZW50ID0gcGFydC53ZWlnaHQgPiAwID8gTWF0aC5tYXgoTWF0aC5yb3VuZCgocGFydC53ZWlnaHQgLyBwYXJ0c1dlaWdodCkgKiAxMDApLCAxKSA6IDA7XG4gICAgfSk7XG4gICAgdGhpcy5yb3VuZFBhcnRzUGVyY2VudCgpO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoZSBzdW0gb2YgcGFydHMgcGVyY2VudCBpcyAxMDBcbiAgcHJpdmF0ZSByb3VuZFBhcnRzUGVyY2VudCgpOiB2b2lkIHtcbiAgICBsZXQgcGFydHNQZXJjZW50ID0gdGhpcy5wYXJ0cy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBwYXJ0OiBQcm9ncmVzc0JhclBhcnQpID0+IGFjYyArIHBhcnQucGVyY2VudCwgMCk7XG4gICAgaWYgKHBhcnRzUGVyY2VudCAhPT0gMTAwKSB7XG4gICAgICBsZXQgZGVsdGEgPSAxMDAgLSBwYXJ0c1BlcmNlbnQsXG4gICAgICAgIGluZGV4ID0gMCxcbiAgICAgICAgaXRlcmF0aW9uID0gMDtcbiAgICAgIHdoaWxlIChkZWx0YSAhPT0gMCAmJiBpdGVyYXRpb24gPCAxMDApIHtcbiAgICAgICAgY29uc3QgcGFydCA9IHRoaXMucGFydHNbaW5kZXhdO1xuICAgICAgICBpbmRleCA9IChpbmRleCArIDEpICUgdGhpcy5wYXJ0cy5sZW5ndGg7XG4gICAgICAgIGl0ZXJhdGlvbisrOyAvLyBVc2VkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcCBpbiBlZGdlIGNhc2VzIHN1Y2ggYXMgYWxsIHdlaWdodHMgYXJlIDBcbiAgICAgICAgaWYgKHBhcnQud2VpZ2h0ID09PSAwIHx8IHBhcnQucGVyY2VudCA8PSAxKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcGFydC5wZXJjZW50ICs9IGRlbHRhID4gMCA/IDEgOiAtMTtcbiAgICAgICAgZGVsdGEgLT0gZGVsdGEgPiAwID8gMSA6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQcm9ncmVzc0JhclBhcnRDb2xvciA9XG4gIHwgJ3ByaW1hcnktNTAnXG4gIHwgJ3ByaW1hcnktMjAwJ1xuICB8ICdhY2NlbnQtMjAwJ1xuICB8ICdhY2NlbnQtNDAwJ1xuICB8ICdhY2NlbnQtNTAwJ1xuICB8ICdncmVlbi00MDAnXG4gIHwgJ3JlZC00MDAnXG4gIHwgJ3llbGxvdy00MDAnO1xuXG5leHBvcnQgdHlwZSBQcm9ncmVzc0JhclBhcnQgPSB7XG4gIHdlaWdodD86IG51bWJlcjtcbiAgcGVyY2VudD86IG51bWJlcjtcbiAgY29sb3I/OiBQcm9ncmVzc0JhclBhcnRDb2xvcjtcbiAgdG9vbHRpcD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIGxlZ2VuZExhYmVsPzogc3RyaW5nO1xuICBsZWdlbmRTZWNvbmRhcnlMYWJlbD86IHN0cmluZztcbn07XG4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixhQUFhLEVBQ2IsV0FBVyxFQUNYLGlCQUFpQixFQUNqQixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBUzlDLElBQWEsd0JBQXdCLEdBQXJDLE1BQWEsd0JBQXdCO0lBWW5DLFlBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBTmpDLGFBQVEsR0FBdUQsYUFBYSxDQUFDO1FBQzdFLGVBQVUsR0FBc0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFLTCxDQUFDO0lBRTlDLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNmLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUNwQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkI7YUFBTSxJQUNMLElBQUksQ0FBQyxLQUFLO1lBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFxQixFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUM3RCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBcUIs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QUFxQjtBQVJsQix3QkFBd0I7SUFQcEMsU0FBUyxDQUFDO1FBQ1QsUUFBUSxFQUFFLG1CQUFtQjtRQUM3Qiw2bENBQTRDO1FBRTVDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztLQUN0QyxDQUFDO3FDQWF5QixpQkFBaUI7R0FaL0Isd0JBQXdCLENBaUdwQztTQWpHWSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdG8tcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBEYXRvUHJvZ3Jlc3NCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHdpZHRoOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcnRzOiBQcm9ncmVzc0JhclBhcnRbXTtcbiAgQElucHV0KCkgcGVyY2VudDogbnVtYmVyO1xuICBASW5wdXQoKSBjb2xvcjogUHJvZ3Jlc3NCYXJQYXJ0Q29sb3I7XG4gIEBJbnB1dCgpIHRvb2x0aXA6IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIEBJbnB1dCgpIGJhckNvbG9yOiBQcm9ncmVzc0JhclBhcnRDb2xvciB8ICdwcmltYXJ5LTEwMCcgfCAncHJpbWFyeS0wJyA9ICdwcmltYXJ5LTEwMCc7XG4gIEBJbnB1dCgpIHRocmVzaG9sZHM6IFtudW1iZXIsIG51bWJlcj9dID0gWzMzLCA2Nl07XG4gIEBJbnB1dCgpIHNob3dMZWdlbmQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaXNCeVBlcmNlbnQ6IGJvb2xlYW47XG4gIHByaXZhdGUgaGFzSW5pdGlhbENvbG9yOiBib29sZWFuO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGFydHMpIHtcbiAgICAgIHRoaXMucGVyY2VudCA9IHRoaXMucGVyY2VudCB8fCAwO1xuICAgICAgdGhpcy5pc0J5UGVyY2VudCA9IHRydWU7XG4gICAgICB0aGlzLmhhc0luaXRpYWxDb2xvciA9ICEhdGhpcy5jb2xvcjtcbiAgICAgIHRoaXMuaW5pdFNpbmdsZVBhcnQoKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgdGhpcy5wYXJ0cyAmJlxuICAgICAgdGhpcy5wYXJ0cy5ldmVyeSgocGFydDogUHJvZ3Jlc3NCYXJQYXJ0KSA9PiBwYXJ0LndlaWdodCA+PSAwKSAmJlxuICAgICAgIXRoaXMucGFydHMuZXZlcnkoKHBhcnQ6IFByb2dyZXNzQmFyUGFydCkgPT4gISFwYXJ0LnBlcmNlbnQpXG4gICAgKSB7XG4gICAgICB0aGlzLmluaXRQYXJ0c1BlcmNlbnQoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5pc0J5UGVyY2VudCAmJlxuICAgICAgKChjaGFuZ2VzLnBlcmNlbnQgJiYgIWNoYW5nZXMucGVyY2VudC5maXJzdENoYW5nZSkgfHxcbiAgICAgICAgKGNoYW5nZXMuY29sb3IgJiYgIWNoYW5nZXMuY29sb3IuZmlyc3RDaGFuZ2UpIHx8XG4gICAgICAgIChjaGFuZ2VzLnRvb2x0aXAgJiYgIWNoYW5nZXMudG9vbHRpcC5maXJzdENoYW5nZSkpXG4gICAgKSB7XG4gICAgICB0aGlzLmluaXRTaW5nbGVQYXJ0KCk7XG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0U2luZ2xlUGFydCgpIHtcbiAgICBpZiAoIXRoaXMuY29sb3IgfHwgIXRoaXMuaGFzSW5pdGlhbENvbG9yKSB7XG4gICAgICB0aGlzLmluaXRDb2xvcigpO1xuICAgIH1cbiAgICB0aGlzLnBhcnRzID0gW1xuICAgICAge1xuICAgICAgICBwZXJjZW50OiB0aGlzLnBlcmNlbnQsXG4gICAgICAgIGNvbG9yOiB0aGlzLmNvbG9yLFxuICAgICAgICB0b29sdGlwOiB0aGlzLnRvb2x0aXBcbiAgICAgIH1cbiAgICBdO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0Q29sb3IoKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHkodGhpcy50aHJlc2hvbGRzKSkge1xuICAgICAgdGhpcy5jb2xvciA9ICdhY2NlbnQtNDAwJztcbiAgICB9XG4gICAgaWYgKHRoaXMudGhyZXNob2xkcy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHRoaXMuY29sb3IgPSB0aGlzLnBlcmNlbnQgPD0gdGhpcy50aHJlc2hvbGRzWzBdID8gJ3JlZC00MDAnIDogJ2dyZWVuLTQwMCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuY29sb3IgPVxuICAgICAgICB0aGlzLnBlcmNlbnQgPD0gdGhpcy50aHJlc2hvbGRzWzBdXG4gICAgICAgICAgPyAncmVkLTQwMCdcbiAgICAgICAgICA6IHRoaXMucGVyY2VudCA8PSB0aGlzLnRocmVzaG9sZHNbMV1cbiAgICAgICAgICA/ICd5ZWxsb3ctNDAwJ1xuICAgICAgICAgIDogJ2dyZWVuLTQwMCc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpbml0UGFydHNQZXJjZW50KCk6IHZvaWQge1xuICAgIGNvbnN0IHBhcnRzV2VpZ2h0ID0gdGhpcy5wYXJ0cy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBwYXJ0OiBQcm9ncmVzc0JhclBhcnQpID0+IGFjYyArIHBhcnQud2VpZ2h0LCAwKTtcbiAgICB0aGlzLnBhcnRzLmZvckVhY2goKHBhcnQ6IFByb2dyZXNzQmFyUGFydCkgPT4ge1xuICAgICAgcGFydC5wZXJjZW50ID0gcGFydC53ZWlnaHQgPiAwID8gTWF0aC5tYXgoTWF0aC5yb3VuZCgocGFydC53ZWlnaHQgLyBwYXJ0c1dlaWdodCkgKiAxMDApLCAxKSA6IDA7XG4gICAgfSk7XG4gICAgdGhpcy5yb3VuZFBhcnRzUGVyY2VudCgpO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRoZSBzdW0gb2YgcGFydHMgcGVyY2VudCBpcyAxMDBcbiAgcHJpdmF0ZSByb3VuZFBhcnRzUGVyY2VudCgpOiB2b2lkIHtcbiAgICBsZXQgcGFydHNQZXJjZW50ID0gdGhpcy5wYXJ0cy5yZWR1Y2UoKGFjYzogbnVtYmVyLCBwYXJ0OiBQcm9ncmVzc0JhclBhcnQpID0+IGFjYyArIHBhcnQucGVyY2VudCwgMCk7XG4gICAgaWYgKHBhcnRzUGVyY2VudCAhPT0gMTAwKSB7XG4gICAgICBsZXQgZGVsdGEgPSAxMDAgLSBwYXJ0c1BlcmNlbnQsXG4gICAgICAgIGluZGV4ID0gMCxcbiAgICAgICAgaXRlcmF0aW9uID0gMDtcbiAgICAgIHdoaWxlIChkZWx0YSAhPT0gMCAmJiBpdGVyYXRpb24gPCAxMDApIHtcbiAgICAgICAgY29uc3QgcGFydCA9IHRoaXMucGFydHNbaW5kZXhdO1xuICAgICAgICBpbmRleCA9IChpbmRleCArIDEpICUgdGhpcy5wYXJ0cy5sZW5ndGg7XG4gICAgICAgIGl0ZXJhdGlvbisrOyAvLyBVc2VkIHRvIHByZXZlbnQgaW5maW5pdGUgbG9vcCBpbiBlZGdlIGNhc2VzIHN1Y2ggYXMgYWxsIHdlaWdodHMgYXJlIDBcbiAgICAgICAgaWYgKHBhcnQud2VpZ2h0ID09PSAwIHx8IHBhcnQucGVyY2VudCA8PSAxKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgcGFydC5wZXJjZW50ICs9IGRlbHRhID4gMCA/IDEgOiAtMTtcbiAgICAgICAgZGVsdGEgLT0gZGVsdGEgPiAwID8gMSA6IC0xO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgdHlwZSBQcm9ncmVzc0JhclBhcnRDb2xvciA9XG4gIHwgJ3ByaW1hcnktNTAnXG4gIHwgJ3ByaW1hcnktMjAwJ1xuICB8ICdhY2NlbnQtMjAwJ1xuICB8ICdhY2NlbnQtNDAwJ1xuICB8ICdhY2NlbnQtNTAwJ1xuICB8ICdncmVlbi00MDAnXG4gIHwgJ3JlZC00MDAnXG4gIHwgJ3llbGxvdy00MDAnO1xuXG5leHBvcnQgdHlwZSBQcm9ncmVzc0JhclBhcnQgPSB7XG4gIHdlaWdodD86IG51bWJlcjtcbiAgcGVyY2VudD86IG51bWJlcjtcbiAgY29sb3I/OiBQcm9ncmVzc0JhclBhcnRDb2xvcjtcbiAgdG9vbHRpcD86IHN0cmluZyB8IFRlbXBsYXRlUmVmPGFueT47XG4gIGxlZ2VuZExhYmVsPzogc3RyaW5nO1xuICBsZWdlbmRTZWNvbmRhcnlMYWJlbD86IHN0cmluZztcbn07XG4iXX0=
@@ -1,2 +1,2 @@
1
- window.coreVersion = '22.12.5';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsTUFBYyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIod2luZG93IGFzIGFueSkuY29yZVZlcnNpb24gPSAnMjIuMTIuNSc7XG4iXX0=
1
+ window.coreVersion = '22.12.7';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUMsTUFBYyxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIod2luZG93IGFzIGFueSkuY29yZVZlcnNpb24gPSAnMjIuMTIuNyc7Il19
@@ -69,7 +69,7 @@ export var defaultGridOptions = __assign({
69
69
  type: DatoGridColumnTypes.String,
70
70
  menuTabs: ['filterMenuTab'],
71
71
  headerComponentFramework: DatoGridColumnHeaderComponent
72
- }, suppressCellSelection: true, suppressPropertyNamesCheck: true, rowHeight: 35, headerHeight: 30, rowSelection: GridRowSelectionType.MULTIPLE, rowDeselection: true, unSortIcon: true, animateRows: true, rememberGroupStateWhenNewData: true, groupMultiAutoColumn: true, groupDefaultExpanded: -1, usePivotGridStyle: false }, (isTestEnv() ? { suppressColumnVirtualisation: true, rowBuffer: 99999 } : {}));
72
+ }, suppressCellSelection: true, suppressPropertyNamesCheck: true, rowHeight: 35, headerHeight: 30, rowSelection: GridRowSelectionType.MULTIPLE, rowDeselection: true, unSortIcon: true, animateRows: true, rememberGroupStateWhenNewData: true, groupMultiAutoColumn: true, groupDefaultExpanded: -1, usePivotGridStyle: false, disabledHTMLRenderingFields: [] }, (isTestEnv() ? { suppressColumnVirtualisation: true, rowBuffer: 99999 } : {}));
73
73
  export var DEFAULT_GRID_SEARCH_DEBOUNCE_TIME = {
74
74
  CLIENT: 200,
75
75
  SERVER: 250
@@ -417,4 +417,4 @@ function rowGroupOpened(_a) {
417
417
  this.api.refreshCells({ force: true, rowNodes: [node] });
418
418
  }
419
419
  export { ɵ0, ɵ1 };
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBRUwsbUJBQW1CLEVBR25CLGFBQWEsRUFDYixvQkFBb0IsRUFDckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJakQsSUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsSUFBTSxvQkFBb0IsR0FBVyxpQkFBaUIsQ0FBQztBQUV2RCxTQUFTLE9BQU8sQ0FBQyxHQUFjO0lBQzdCLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7U0FHNUIsVUFBQSxJQUFJLElB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TSxRQUFRLEdBQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ2hDLDZCQUNLLEdBQUcsZ0JBQ0wsY0FBYyxDQUFDLFdBQVcsSUFBRyxRQUFRLE9BQ3RDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsY0FBYyxDQUFDLEVBQVE7UUFBTixjQUFJO0lBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBEYXRvcmFtYS4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBBcGFjaGUgTGljZW5zZSAyLjAgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vZGF0b3JhbWEvY2xpZW50LWNvcmUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICovXG5pbXBvcnQgeyBEYXRvR3JpZFYyTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1sb2FkZXIvZ3JpZC12Mi1sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7XG4gIEFnR3JpZFJvd0ljb24sXG4gIERhdG9HcmlkQ29sdW1uVHlwZXMsXG4gIERhdG9HcmlkT3B0aW9ucyxcbiAgRGF0b0dyaWRUcmVlQ29uZmlnLFxuICBHcmlkTWluV2lkdGhzLFxuICBHcmlkUm93U2VsZWN0aW9uVHlwZVxufSBmcm9tICcuL2dyaWQtdjIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRWMk5vRGF0YU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLW5vLWRhdGEtb3ZlcmxheS9ncmlkLXYyLW5vLWRhdGEtb3ZlcmxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0b0dyaWRGaWx0ZXJUeXBlcyB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkQ29sdW1uSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vZ3JpZC1jb2x1bW4taGVhZGVyL2dyaWQtY29sdW1uLWhlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgaXNUZXN0RW52IH0gZnJvbSAnLi4vLi4vaXN0ZXN0LWVudic7XG5pbXBvcnQgeyBJRCB9IGZyb20gJ0BkYXRvcmFtYS9ha2l0YSc7XG5pbXBvcnQgeyBnZXRJbml0aWFscyB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZyc7XG5pbXBvcnQgeyBzaXplIH0gZnJvbSAnLi4vLi4vdXRpbHMvY29sbGVjdGlvbic7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnLi4vLi4vdXRpbHMvdmFsaWRhdG9ycyc7XG5cbnR5cGUgRGF0ZVR5cGVzID0gbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZTtcblxuY29uc3QgYWdSb3dMZXZlbFByZWZpeDogc3RyaW5nID0gJ2FnLXJvdy1sZXZlbC0nO1xuY29uc3QgZW1wdHlGb2xkZXJDbGFzc05hbWU6IHN0cmluZyA9ICdhZy1lbXB0eS1mb2xkZXInO1xuXG5mdW5jdGlvbiBnZXRUaW1lKHZhbDogRGF0ZVR5cGVzKSB7XG4gIGxldCB0aW1lID0gbmV3IERhdGUodmFsIHx8IG51bGwpLmdldFRpbWUoKTtcbiAgcmV0dXJuIGlzTmFOKHRpbWUpID8gMCA6IHRpbWU7XG59XG5cbmV4cG9ydCBjb25zdCBST09UX05PREVfSUQgPSAnUk9PVF9OT0RFX0lEJztcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRUcmVlT3B0aW9uczogUGFydGlhbDxEYXRvR3JpZE9wdGlvbnM+ID0ge1xuICBnZXREYXRhUGF0aDogaXRlbSA9PiBpdGVtW2dyaWRUcmVlRmlsZVBhdGhLZXldLFxuICBjb21wb25lbnRzOiB7XG4gICAgZmlsZUNlbGxSZW5kZXJlcjogZ2V0R3JpZFRyZWVDZWxsUmVuZGVyZXIoKVxuICB9LFxuICBvblJvd0RyYWdNb3ZlOiBvblJvd0RyYWdNb3ZlLFxuICBvblJvd0RyYWdFbmQ6IG9uUm93RHJhZ0VuZCxcbiAgb25Sb3dTZWxlY3RlZDogb25Sb3dTZWxlY3RlZCxcbiAgb25Sb3dHcm91cE9wZW5lZDogcm93R3JvdXBPcGVuZWQsXG4gIHN1cHByZXNzUm93Q2xpY2tTZWxlY3Rpb246IHRydWUsXG4gIGdyb3VwU2VsZWN0c0NoaWxkcmVuOiB0cnVlLFxuICBpY29uczoge1xuICAgIHJvd0RyYWc6ICc8ZGF0by1pY29uIGljb249XCJkcmFnXCIgY2xhc3M9XCJkYXRvLWljb24tZm9udC1kcmFnIHByaW1hcnktNDAwLWNvbG9yXCI+PC9kYXRvLWljb24+J1xuICB9XG59O1xuXG5jb25zdCBzdHJpbmdDb2xEZWYgPSB7XG4gIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5TdHJpbmcsXG4gIGNvbXBhcmF0b3I6IChhOiBzdHJpbmcsIGI6IHN0cmluZykgPT4gKGEgfHwgJycpLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZSgoYiB8fCAnJykudG9Mb3dlckNhc2UoKSlcbn07XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0R3JpZE9wdGlvbnM6IFBhcnRpYWw8RGF0b0dyaWRPcHRpb25zPiA9IHtcbiAgLy8gQ29yZVxuICBob3ZlckNvbmZpZzogeyBlbmFibGVkOiB0cnVlLCBtYXhEaXNwbGF5ZWRJdGVtczogMyB9LFxuICBlbmFibGVWMl8xOiBmYWxzZSxcbiAgZW5hYmxlU2VhcmNoOiBmYWxzZSxcbiAgZW5hYmxlU2VhcmNoSGlnaGxpZ2h0OiB0cnVlLFxuICBjb2x1bW5zSW5jbHVkZWRJblNlYXJjaEJ5RGVmYXVsdDogdHJ1ZSxcbiAgaW5jbHVkZUhpZGRlbkNvbHVtbnNJblNlYXJjaDogZmFsc2UsXG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uOiB0cnVlLFxuICBpZENvbHVtbktleTogJ2lkJyxcbiAgZW5hYmxlQmFja2dyb3VuZDogdHJ1ZSxcbiAgLy8gQWcgZ3JpZFxuICBjb2x1bW5UeXBlczoge1xuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkRhdGVdOiB7XG4gICAgICBmaWx0ZXI6IERhdG9HcmlkRmlsdGVyVHlwZXMuRGF0ZSxcbiAgICAgIGNvbXBhcmF0b3I6IChhOiBEYXRlVHlwZXMsIGI6IERhdGVUeXBlcykgPT4gZ2V0VGltZShhKSAtIGdldFRpbWUoYilcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLk51bWJlcl06IHtcbiAgICAgIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5OdW1iZXJcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLlN0cmluZ106IHN0cmluZ0NvbERlZixcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5TdGF0dXNdOiB7XG4gICAgICAuLi5zdHJpbmdDb2xEZWYsXG4gICAgICBjZWxsUmVuZGVyZXI6ICdEYXRvR3JpZFN0YXR1c0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5JdGVtc106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSXRlbXNDZWxsQ29tcG9uZW50J1xuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuSXRlbXNDb3VudF06IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSXRlbXNDb3VudENlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5Jbml0aWFsc106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkSW5pdGlhbHNDZWxsQ29tcG9uZW50J1xuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuQXZhdGFyXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRBdmF0YXJDZWxsQ29tcG9uZW50J1xuICAgIH1cbiAgfSxcbiAgbXVsdGlTb3J0S2V5OiAnY3RybCcsXG4gIHN1cHByZXNzUGFnaW5hdGlvblBhbmVsOiB0cnVlLFxuICBwYWdpbmF0aW9uOiB0cnVlLFxuICBkZWx0YUNvbHVtbk1vZGU6IHRydWUsXG4gIGxvYWRpbmdPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrOiBEYXRvR3JpZFYyTG9hZGVyQ29tcG9uZW50LFxuICBub1Jvd3NPdmVybGF5Q29tcG9uZW50RnJhbWV3b3JrOiBEYXRvR3JpZFYyTm9EYXRhT3ZlcmxheUNvbXBvbmVudCxcbiAgZGVmYXVsdENvbERlZjoge1xuICAgIG1pbldpZHRoOiBHcmlkTWluV2lkdGhzLkRlZmF1bHQsXG4gICAgc29ydGFibGU6IHRydWUsXG4gICAgcmVzaXphYmxlOiB0cnVlLFxuICAgIHR5cGU6IERhdG9HcmlkQ29sdW1uVHlwZXMuU3RyaW5nLFxuICAgIG1lbnVUYWJzOiBbJ2ZpbHRlck1lbnVUYWInXSxcbiAgICBoZWFkZXJDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkQ29sdW1uSGVhZGVyQ29tcG9uZW50XG4gIH0sXG4gIHN1cHByZXNzQ2VsbFNlbGVjdGlvbjogdHJ1ZSxcbiAgc3VwcHJlc3NQcm9wZXJ0eU5hbWVzQ2hlY2s6IHRydWUsXG4gIHJvd0hlaWdodDogMzUsXG4gIGhlYWRlckhlaWdodDogMzAsXG4gIHJvd1NlbGVjdGlvbjogR3JpZFJvd1NlbGVjdGlvblR5cGUuTVVMVElQTEUsXG4gIHJvd0Rlc2VsZWN0aW9uOiB0cnVlLFxuICB1blNvcnRJY29uOiB0cnVlLFxuICBhbmltYXRlUm93czogdHJ1ZSxcbiAgcmVtZW1iZXJHcm91cFN0YXRlV2hlbk5ld0RhdGE6IHRydWUsXG4gIGdyb3VwTXVsdGlBdXRvQ29sdW1uOiB0cnVlLFxuICBncm91cERlZmF1bHRFeHBhbmRlZDogLTEsXG4gIHVzZVBpdm90R3JpZFN0eWxlOiBmYWxzZSxcbiAgLi4uKGlzVGVzdEVudigpID8geyBzdXBwcmVzc0NvbHVtblZpcnR1YWxpc2F0aW9uOiB0cnVlLCByb3dCdWZmZXI6IDk5OTk5IH0gOiB7fSlcbn07XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0dSSURfU0VBUkNIX0RFQk9VTkNFX1RJTUUgPSB7XG4gIENMSUVOVDogMjAwLFxuICBTRVJWRVI6IDI1MFxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcmlkVHJlZUxhYmVsOiBEYXRvR3JpZFRyZWVDb25maWcgPSB7XG4gIGlkS2V5OiAnaWQnLFxuICBwYXJlbnRJREtleTogJ3BhcmVudElEJ1xufTtcblxuZXhwb3J0IGNvbnN0IGdyaWRUcmVlRmlsZVBhdGhLZXkgPSAnYWdHcmlkRmlsZVBhdGgnO1xuXG4vKipcbiAqIENlbGwgcmVuZGVyZXIgZm9yIHRyZWUgc3RydWN0dXJlLlxuICovXG5mdW5jdGlvbiBnZXRHcmlkVHJlZUNlbGxSZW5kZXJlcigpIHtcbiAgcmV0dXJuIGl0ZW0gPT4ge1xuICAgIGNvbnN0IHsgZGF0YSwgZUdyaWRDZWxsLCBjb2xEZWYgfSA9IGl0ZW07XG4gICAgY29uc3QgeyBpY29uOiBpdGVtSWNvbiwgaXNGb2xkZXIsIGluaXRpYWxzID0gdHJ1ZSB9ID0gZGF0YTtcbiAgICBjb25zdCBpY29uID0gZ2V0Um93SWNvbihpdGVtSWNvbiwgZUdyaWRDZWxsLCBpc0ZvbGRlcik7XG4gICAgY29uc3QgZGlzcGxheU5hbWUgPSBkYXRhW2NvbERlZlsnZmllbGQnXV07XG4gICAgY29uc3QgZW50aXR5Q2xhc3NOYW1lID0gJ2VudGl0eS1kaXNwbGF5LW5hbWUnO1xuICAgIGNvbnN0IHsgc3ZnUmVnaXN0cnkgfSA9IGNvbERlZi5ncmlkU2VydmljZTtcblxuICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgc2V0RW1wdHlGb2xkZXJDbGFzcyhpdGVtLm5vZGUpO1xuICAgIH1cblxuICAgIGlmIChpY29uKSB7XG4gICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiZGF0by1zaW1wbGUtYm9sZFwiPiA8c3BhbiBjbGFzcz1cImRhLWdyaWQtaWNvbiBmb2xkZXIgZC1mbGV4XCI+JHtzdmdSZWdpc3RyeS5nZXRTdmcoXG4gICAgICAgIGljb25cbiAgICAgICl9PC9zcGFuPjxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9XCI+PC9zcGFuPiAke2Rpc3BsYXlOYW1lfTwvc3Bhbj5gO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaXNGb2xkZXIpIHtcbiAgICAgICAgc2V0RW1wdHlGb2xkZXJDbGFzcyhpdGVtKTtcbiAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChpbml0aWFscykge1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxWYWx1ZSA9IGdldEluaXRpYWxzKGRpc3BsYXlOYW1lKTtcbiAgICAgICAgICBpZiAoaW5pdGlhbFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9IGRhdG8tc2ltcGxlLWJvbGRcIj48c3BhbiBjbGFzcz1cImluaXRpYWxzXCI+JHtpbml0aWFsVmFsdWV9PC9zcGFuPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPiR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcm93J3MgaWNvbi5cbiAqIElmIGljb24gaXMgb2YgdHlwZSBzdHJpbmcsIFJldHVybiBpdC5cbiAqIElmIGl0IGFuIG9iamVjdCwgUmV0dXJuIGJhc2VkIG9uIHRoZSBleHBhbmQgLyBjb2xsYXBzZSBzdGF0ZS5cbiAqIEBwYXJhbSBpY29uXG4gKiBAcGFyYW0gZUdyaWRDZWxsXG4gKiBAcGFyYW0gaXNGb2xkZXJcbiAqL1xuZnVuY3Rpb24gZ2V0Um93SWNvbihpY29uOiBBZ0dyaWRSb3dJY29uLCBlR3JpZENlbGw6IGFueSwgaXNGb2xkZXI6IGJvb2xlYW4pOiBzdHJpbmcge1xuICBpZiAoaWNvbiA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgY29uc3QgZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZSA9IChlR3JpZENlbGwsIHsgZXhwYW5kZWQsIGNvbGxhcHNlZCB9KSA9PiB7XG4gICAgY29uc3QgYWdHcmlkUm93RXhwYW5kZWRDbGFzcyA9ICdhZy1yb3ctZ3JvdXAtZXhwYW5kZWQnO1xuICAgIHJldHVybiBlR3JpZENlbGwucGFyZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoYWdHcmlkUm93RXhwYW5kZWRDbGFzcykgPyBleHBhbmRlZCA6IGNvbGxhcHNlZDtcbiAgfTtcblxuICAvKipcbiAgICogSWYgaWNvbiB3YXNuJ3Qgb3ZlcnJpZGUgYnkgdGhlIHVzZXIgYW5kIHRoZSByb3cgaXMgb2YgdHlwZSBmb2xkZXIsXG4gICAqIFNldCBkZWZhdWx0IGZvbGRlciBpY29ucy5cbiAgICovXG4gIGlmIChpY29uID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoaXNGb2xkZXIpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRGb2xkZXJJY29uczogQWdHcmlkUm93SWNvbiA9IHtcbiAgICAgICAgZXhwYW5kZWQ6ICdmb2xkZXItb3BlbicsXG4gICAgICAgIGNvbGxhcHNlZDogJ2ZvbGRlci1jbG9zZWQnXG4gICAgICB9O1xuICAgICAgcmV0dXJuIGdldEljb25CYXNlZE9uUm93U3RhdGUoZUdyaWRDZWxsLCBkZWZhdWx0Rm9sZGVySWNvbnMpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiB0eXBlb2YgaWNvbiA9PT0gJ3N0cmluZycgPyBpY29uIDogZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZShlR3JpZENlbGwsIGljb24pO1xufVxuXG5sZXQgcG90ZW50aWFsUGFyZW50ID0gbnVsbDtcbmNvbnN0IGFnUm93SG92ZXJDbGFzc05hbWUgPSAnYWctcm93LWhvdmVyJztcblxubGV0IHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkgPSBmYWxzZTtcblxuZnVuY3Rpb24gZ2V0Q2VsbEJ5Um93SUQocm93SUQ6IHN0cmluZykge1xuICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW3Jvdy1pZD1cIiR7cm93SUR9XCJdID4gLmFnLWNlbGxgKTtcbn1cblxuLyoqXG4gKiBNYXJrIHBhcmVudCBmb2xkZXIgb2YgdGhlIG92ZXJOb2RlIGFzIGhvdmVyZWQgaW4gb3JkZXIgdG8gYXBwbHlcbiAqIHJlbGV2YW50IGNzcyBzdHlsZSB0byBpdC5cbiAqIEBwYXJhbSBvdmVyTm9kZVxuICovXG5mdW5jdGlvbiBvblJvd0RyYWdNb3ZlKHsgb3Zlck5vZGUsIG5vZGUgfSkge1xuICBsZXQgZm9sZGVyVG9Ecm9wSW50bztcblxuICBpZiAob3Zlck5vZGUpIHtcbiAgICAvLyBmb2xkZXIgdG8gZHJvcCBpbnRvIGlzIHdoZXJlIHdlIGFyZSBnb2luZyB0byBtb3ZlIHRoZSBmaWxlL2ZvbGRlciB0b1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBvdmVyTm9kZS5kYXRhLmlzRm9sZGVyXG4gICAgICA/IC8vIGlmIG92ZXIgYSBmb2xkZXIsIHdlIHRha2UgdGhlIGltbWVkaWF0ZSByb3dcbiAgICAgICAgb3Zlck5vZGVcbiAgICAgIDogLy8gaWYgb3ZlciBhIGZpbGUsIHdlIHRha2UgdGhlIHBhcmVudCByb3cgKHdoaWNoIHdpbGwgYmUgYSBmb2xkZXIpXG4gICAgICAgIG92ZXJOb2RlLnBhcmVudDtcbiAgfSBlbHNlIHtcbiAgICBmb2xkZXJUb0Ryb3BJbnRvID0gbm9kZS5yb3dNb2RlbC5yb290Tm9kZTtcbiAgfVxuXG4gIGlmIChwb3RlbnRpYWxQYXJlbnQpIHtcbiAgICBpZiAocG90ZW50aWFsUGFyZW50LmlkID09PSBmb2xkZXJUb0Ryb3BJbnRvLmlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHByZXZpb3VzUG90ZW50aWFsUGFyZW50ID0gZ2V0Q2VsbEJ5Um93SUQocG90ZW50aWFsUGFyZW50LmlkKTtcbiAgICAgIHByZXZpb3VzUG90ZW50aWFsUGFyZW50ICYmIHByZXZpb3VzUG90ZW50aWFsUGFyZW50LmNsYXNzTGlzdC5yZW1vdmUoYWdSb3dIb3ZlckNsYXNzTmFtZSk7XG4gICAgICBwb3RlbnRpYWxQYXJlbnQgPSBudWxsO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBwb3RlbnRpYWxQYXJlbnQgPSBmb2xkZXJUb0Ryb3BJbnRvO1xuICB9XG4gIGlmIChmb2xkZXJUb0Ryb3BJbnRvKSB7XG4gICAgY29uc3QgZm9sZGVySUQ6IHN0cmluZyA9IGZvbGRlclRvRHJvcEludG8uaWQ7XG4gICAgY29uc3QgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQgPSBnZXRDZWxsQnlSb3dJRChmb2xkZXJJRCk7XG4gICAgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQgJiYgZm9sZGVyVG9Ecm9wSW50b0VsZW1lbnQuY2xhc3NMaXN0LmFkZChhZ1Jvd0hvdmVyQ2xhc3NOYW1lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBvblJvd0RyYWdFbmQoeyBvdmVyTm9kZSwgbm9kZSB9KSB7XG4gIGxldCBub2RlUGFyZW50O1xuICBsZXQgZm9sZGVyVG9Ecm9wSW50bztcbiAgaWYgKG92ZXJOb2RlKSB7XG4gICAgbm9kZVBhcmVudCA9IG5vZGUucGFyZW50O1xuICAgIC8vIGZvbGRlciB0byBkcm9wIGludG8gaXMgd2hlcmUgd2UgYXJlIGdvaW5nIHRvIG1vdmUgdGhlIGZpbGUvZm9sZGVyIHRvXG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG92ZXJOb2RlLmRhdGEuaXNGb2xkZXJcbiAgICAgID8gLy8gaWYgb3ZlciBhIGZvbGRlciwgd2UgdGFrZSB0aGUgaW1tZWRpYXRlIHJvd1xuICAgICAgICBvdmVyTm9kZVxuICAgICAgOiAvLyBpZiBvdmVyIGEgZmlsZSwgd2UgdGFrZSB0aGUgcGFyZW50IHJvdyAod2hpY2ggd2lsbCBiZSBhIGZvbGRlcilcbiAgICAgICAgb3Zlck5vZGUucGFyZW50O1xuICB9IGVsc2Uge1xuICAgIG5vZGVQYXJlbnQgPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICB9XG5cbiAgLy8gdGhlIGRhdGEgd2Ugd2FudCB0byBtb3ZlXG4gIGNvbnN0IG1vdmluZ0RhdGEgPSBub2RlLmRhdGE7XG5cbiAgY29uc3QgdHJlZU1heERlcHRoOiBudW1iZXIgPSBub2RlLmdyaWRPcHRpb25zV3JhcHBlci5ncmlkT3B0aW9ucy5tYXhEZXB0aCB8fCAtMTtcbiAgLy8gRGlzYWJsZSBuZXN0ZWQgZHJhZyB3aGVuIHRyZWUgZGVwdGggaXMgYWJvdmUgdGhlIGxpbWl0XG4gIGlmIChcbiAgICBtb3ZpbmdEYXRhLmlzRm9sZGVyICYmXG4gICAgdHJlZU1heERlcHRoICE9PSAtMSAmJlxuICAgIG5vZGVQYXJlbnQuaWQgIT09IFJPT1RfTk9ERV9JRCAmJlxuICAgIG92ZXJOb2RlLmRhdGEuYWdHcmlkRmlsZVBhdGgubGVuZ3RoID4gdHJlZU1heERlcHRoXG4gICkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIHRha2UgbmV3IHBhcmVudCBwYXRoIGZyb20gcGFyZW50LCBpZiBkYXRhIGlzIG1pc3NpbmcsIG1lYW5zIGl0J3MgdGhlIHJvb3Qgbm9kZSxcbiAgLy8gd2hpY2ggaGFzIG5vIGRhdGEuXG4gIGNvbnN0IG5ld1BhcmVudFBhdGggPSBmb2xkZXJUb0Ryb3BJbnRvLmRhdGEgPyBmb2xkZXJUb0Ryb3BJbnRvLmRhdGFbZ3JpZFRyZWVGaWxlUGF0aEtleV0gOiBbXTtcbiAgY29uc3QgbmVlZFRvQ2hhbmdlUGFyZW50ID0gIWlzRXF1YWwobmV3UGFyZW50UGF0aCwgbW92aW5nRGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XSk7XG5cbiAgLy8gY2hlY2sgd2UgYXJlIG5vdCBtb3ZpbmcgYSBmb2xkZXIgaW50byBhIGNoaWxkIGZvbGRlclxuICBjb25zdCBpbnZhbGlkTW9kZSA9IGlzU2VsZWN0aW9uUGFyZW50T2ZUYXJnZXQobm9kZSwgZm9sZGVyVG9Ecm9wSW50byk7XG4gIGlmIChpbnZhbGlkTW9kZSkge1xuICAgIGNvbnNvbGUubG9nKCdpbnZhbGlkIG1vdmUnKTtcbiAgfVxuXG4gIGlmIChuZWVkVG9DaGFuZ2VQYXJlbnQgJiYgIWludmFsaWRNb2RlKSB7XG4gICAgY29uc3QgdXBkYXRlZFJvd3MgPSBbXTtcbiAgICBjb25zdCB7IGlkS2V5IH06IERhdG9HcmlkVHJlZUNvbmZpZyA9IHRoaXMuYXV0b0dyb3VwQ29sdW1uRGVmLmdyaWRTZXJ2aWNlLnRyZWVDb25maWc7XG4gICAgbW92ZVRvUGF0aChuZXdQYXJlbnRQYXRoLCBub2RlLCB1cGRhdGVkUm93cywgaWRLZXkpO1xuXG4gICAgY29uc3QgYWZmZWN0ZWRSb3dzID0gdGhpcy5hdXRvR3JvdXBDb2x1bW5EZWYuZ3JpZFNlcnZpY2UudXBkYXRlUm93cyh1cGRhdGVkUm93cyk7XG5cbiAgICBzZXRSb3dDbGFzc2VzKFsuLi5hZmZlY3RlZFJvd3MudXBkYXRlLCBvdmVyTm9kZSwgbm9kZVBhcmVudF0pO1xuXG4gICAgLyoqXG4gICAgICogQ2xlYXIgcHJldmlvdXMgbWFya2VkIHBhcmVudCBmcm9tIGhvdmVyIHN0eWxlLlxuICAgICAqL1xuICAgIGNvbnN0IGhvdmVyZWRQYXJlbnRFbGVtZW50ID0gZ2V0Q2VsbEJ5Um93SUQocG90ZW50aWFsUGFyZW50LmlkKTtcbiAgICBob3ZlcmVkUGFyZW50RWxlbWVudCAmJiBob3ZlcmVkUGFyZW50RWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGFnUm93SG92ZXJDbGFzc05hbWUpO1xuICAgIHBvdGVudGlhbFBhcmVudCA9IG51bGw7XG5cbiAgICB0aGlzLmFwaS5jbGVhckZvY3VzZWRDZWxsKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0Um93Q2xhc3Nlcyhyb3dzKSB7XG4gIGNvbnN0IGNsYXNzTGlzdCA9IFtgJHthZ1Jvd0xldmVsUHJlZml4fTFgLCBgJHthZ1Jvd0xldmVsUHJlZml4fTJgLCBgJHthZ1Jvd0xldmVsUHJlZml4fTNgXTtcbiAgcm93cy5mb3JFYWNoKHJvdyA9PiB7XG4gICAgY29uc3Qgbm9kZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFtyb3ctaWQ9XCIke3Jvdy5pZH1cIl1gKVsxXTtcbiAgICBpZiAobm9kZSkge1xuICAgICAgZm9yIChjb25zdCBjbGFzc05hbWUgb2YgY2xhc3NMaXN0KSB7XG4gICAgICAgIGlmIChub2RlLmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpKSB7XG4gICAgICAgICAgbm9kZS5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG5vZGUuY2xhc3NMaXN0LmFkZChgJHthZ1Jvd0xldmVsUHJlZml4fSR7cm93LmxldmVsfWApO1xuXG4gICAgICBpZiAocm93LmRhdGEuaXNGb2xkZXIpIHtcbiAgICAgICAgc2V0RW1wdHlGb2xkZXJDbGFzcyhyb3csIG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRFbXB0eUZvbGRlckNsYXNzKHJvdywgbm9kZT8pIHtcbiAgY29uc3QgY3VycmVudE5vZGUgPSBub2RlIHx8IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFtyb3ctaWQ9XCIke3Jvdy5pZH1cIl1gKVswXTtcbiAgaWYgKCFjdXJyZW50Tm9kZSkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoc2l6ZShyb3cuY2hpbGRyZW5BZnRlckdyb3VwKSA9PT0gMCkge1xuICAgIGN1cnJlbnROb2RlLmNsYXNzTGlzdC5hZGQoZW1wdHlGb2xkZXJDbGFzc05hbWUpO1xuICB9IGVsc2Uge1xuICAgIGN1cnJlbnROb2RlLmNsYXNzTGlzdC5yZW1vdmUoZW1wdHlGb2xkZXJDbGFzc05hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uUm93U2VsZWN0ZWQocGFyYW1zKSB7XG4gIGlmICh1cGRhdGluZ0NoZWNrYm94ZXNQcm9ncmFtbWF0aWNhbGx5KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkgPSB0cnVlO1xuXG4gIHNldENoaWxkcmVuU2VsZWN0aW9uU3RhdHVzKHBhcmFtcy5ub2RlLCBwYXJhbXMubm9kZS5zZWxlY3RlZCk7XG4gIHJlZnJlc2hQYXJlbnRzU2VsZWN0aW9uU3RhdHVzUmVjdXJzaXZlbHkocGFyYW1zLm5vZGUpO1xuXG4gIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgIHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkgPSBmYWxzZTtcbiAgfSwgMCk7XG59XG5cbmZ1bmN0aW9uIHNldENoaWxkcmVuU2VsZWN0aW9uU3RhdHVzKG5vZGUsIHNlbGVjdGVkKSB7XG4gIGxldCBoYXNDaGlsZHJlbiA9IG5vZGUuYWxsQ2hpbGRyZW5Db3VudCA+IDA7XG4gIGlmIChoYXNDaGlsZHJlbikge1xuICAgIG5vZGUuYWxsTGVhZkNoaWxkcmVuLmZvckVhY2goY2hpbGQgPT4ge1xuICAgICAgY2hpbGQuc2V0U2VsZWN0ZWQoc2VsZWN0ZWQpO1xuICAgIH0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZnJlc2hQYXJlbnRzU2VsZWN0aW9uU3RhdHVzUmVjdXJzaXZlbHkobm9kZSkge1xuICBsZXQgcGFyZW50Tm9kZSA9IG5vZGUucGFyZW50O1xuICB3aGlsZSAocGFyZW50Tm9kZSkge1xuICAgIGlmIChwYXJlbnROb2RlLmlkID09PSBST09UX05PREVfSUQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHJlZnJlc2hTZWxlY3Rpb25TdGF0dXMocGFyZW50Tm9kZSk7XG4gICAgcGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50O1xuICB9XG59XG5cbmZ1bmN0aW9uIHJlZnJlc2hTZWxlY3Rpb25TdGF0dXMobm9kZSkge1xuICBsZXQgY2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMgPSBub2RlLmFsbExlYWZDaGlsZHJlbi5tYXAobm9kZSA9PiBub2RlLnNlbGVjdGVkKTtcblxuICBpZiAoY2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMuZXZlcnkoc2VsZWN0ZWRWYWx1ZSA9PiBzZWxlY3RlZFZhbHVlID09PSB0cnVlIHx8IHNlbGVjdGVkVmFsdWUgPT09IHVuZGVmaW5lZCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMuc2hpZnQoKTtcblxuICBsZXQgbm9kZVNlbGVjdGlvblN0YXR1cyA9IGNoaWxkcmVuU2VsZWN0aW9uU3RhdHVzLnJlZHVjZSgoYSwgYikgPT4ge1xuICAgIGlmIChhID09PSBiKSB7XG4gICAgICByZXR1cm4gYTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfSk7XG5cbiAgbm9kZS5zZWxlY3RUaGlzTm9kZShub2RlU2VsZWN0aW9uU3RhdHVzKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIHNlbGVjdGVkIG5vZGUgaXMgYSBjaGlsZCBvZiB0aGUgdGFyZ2V0IHBvc2l0aW9uLlxuICogQHBhcmFtIHNlbGVjdGVkTm9kZVxuICogQHBhcmFtIHRhcmdldE5vZGVcbiAqL1xuZnVuY3Rpb24gaXNTZWxlY3Rpb25QYXJlbnRPZlRhcmdldChzZWxlY3RlZE5vZGUsIHRhcmdldE5vZGUpOiBib29sZWFuIHtcbiAgY29uc3QgY2hpbGRyZW4gPSBzZWxlY3RlZE5vZGUuY2hpbGRyZW5BZnRlckdyb3VwO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHRhcmdldE5vZGUgJiYgY2hpbGRyZW5baV0ua2V5ID09PSB0YXJnZXROb2RlLmtleSkgcmV0dXJuIHRydWU7XG4gICAgaXNTZWxlY3Rpb25QYXJlbnRPZlRhcmdldChjaGlsZHJlbltpXSwgdGFyZ2V0Tm9kZSk7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKiogdGhpcyB1cGRhdGVzIHRoZSBmaWxlUGF0aCBsb2NhdGlvbnMgaW4gb3VyIGRhdGEsIHdlIHVwZGF0ZSB0aGUgZGF0YVxuIGJlZm9yZSB3ZSBzZW5kIGl0IHRvIGFnLUdyaWRcbiAqL1xuZnVuY3Rpb24gbW92ZVRvUGF0aChuZXdQYXJlbnRQYXRoLCB7IGRhdGEsIGNoaWxkcmVuQWZ0ZXJHcm91cCB9LCBhbGxVcGRhdGVkTm9kZXMsIGlkS2V5OiBzdHJpbmcpIHtcbiAgLy8gbGFzdCBwYXJ0IG9mIHRoZSBmaWxlIHBhdGggaXMgdGhlIGZpbGUgbmFtZVxuICBjb25zdCBuZXdDaGlsZFBhdGggPSBuZXdQYXJlbnRQYXRoLnNsaWNlKCk7XG5cbiAgZGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XSA9IG5ld0NoaWxkUGF0aDtcblxuICBhbGxVcGRhdGVkTm9kZXMucHVzaChkYXRhKTtcblxuICBpZiAoc2l6ZShjaGlsZHJlbkFmdGVyR3JvdXApID4gMCkge1xuICAgIGNoaWxkcmVuQWZ0ZXJHcm91cC5mb3JFYWNoKGZ1bmN0aW9uKGNoaWxkTm9kZSkge1xuICAgICAgbW92ZVRvUGF0aChbLi4ubmV3Q2hpbGRQYXRoLCBkYXRhW2lkS2V5XV0sIGNoaWxkTm9kZSwgYWxsVXBkYXRlZE5vZGVzLCBpZEtleSk7XG4gICAgfSk7XG4gIH1cblxuICBkYXRhW2dyaWRUcmVlRmlsZVBhdGhLZXldLnB1c2goZGF0YVtpZEtleV0pO1xufVxuXG4vKipcbiAqIENvbnZlcnQgZGF0YSBpbnRvIHRyZWUgc2hhcGVkIHN0cnVjdHVyZS5cbiAqIEBwYXJhbSBkYXRhXG4gKiBAcGFyYW0gZ3JpZFRyZWVDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUb1RyZWVEYXRhPFQ+KGRhdGE6IFRbXSwgZ3JpZFRyZWVDb25maWc6IERhdG9HcmlkVHJlZUNvbmZpZyk6IFRbXSB7XG4gIGNvbnN0IHsgcGFyZW50SURLZXksIGlkS2V5IH0gPSBncmlkVHJlZUNvbmZpZztcbiAgY29uc3QgZ2VuZXJhdGVGaWxlUGF0aCA9IChpdGVtLCBpbml0Q2hpbGQgPSBmYWxzZSk6IElEW10gPT4ge1xuICAgIGNvbnN0IHBhdGg6IElEW10gPSBpbml0Q2hpbGQgPyBbaXRlbVtpZEtleV1dIDogW107XG4gICAgY29uc3QgcGFyZW50RW50aXR5ID0gZGF0YS5maW5kKGVudGl0eSA9PiBlbnRpdHlbaWRLZXldID09PSBpdGVtW3BhcmVudElES2V5XSk7XG4gICAgcGF0aC51bnNoaWZ0KHBhcmVudEVudGl0eVtpZEtleV0pO1xuXG4gICAgaWYgKHBhcmVudEVudGl0eVtwYXJlbnRJREtleV0pIHtcbiAgICAgIGNvbnN0IGVudGl0eVBhdGggPSBnZW5lcmF0ZUZpbGVQYXRoKHBhcmVudEVudGl0eSk7XG4gICAgICBwYXRoLnVuc2hpZnQoLi4uZW50aXR5UGF0aCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHBhdGg7XG4gIH07XG5cbiAgLyoqXG4gICAqIFdoZW4gdGhlcmUncyBubyBwYXJlbnRJRCwgU2V0IHRoZSBpdGVtIGluIHRvIHJvb3Qgb2YgdGhlIHRyZWUuXG4gICAqIEVsc2UsIFJlY3Vyc2l2ZWx5IGNyZWF0ZSB0aGUgcGF0aC5cbiAgICovXG4gIHJldHVybiBkYXRhLm1hcChpdGVtID0+IHtcbiAgICBpZiAoaXRlbVtwYXJlbnRJREtleV0pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLml0ZW0sXG4gICAgICAgIFtncmlkVHJlZUZpbGVQYXRoS2V5XTogZ2VuZXJhdGVGaWxlUGF0aChpdGVtLCB0cnVlKVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgW2dyaWRUcmVlRmlsZVBhdGhLZXldOiBbaXRlbVtpZEtleV1dXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogQ29udmVydCB0aGUgZ3JpZHMgZGF0YSBmcm9tIHRyZWUgc2hhcGUgdG8gb3JpZ2luYWwgc2hhcGUuXG4gKiBAcGFyYW0gZGF0YVxuICogQHBhcmFtIGdyaWRUcmVlQ29uZmlnXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0RnJvbVRyZWVEYXRhPFQ+KGRhdGE6IFRbXSwgZ3JpZFRyZWVDb25maWc6IERhdG9HcmlkVHJlZUNvbmZpZyk6IFRbXSB7XG4gIHJldHVybiBkYXRhLm1hcCgoeyAuLi5yb3cgfSkgPT4ge1xuICAgIGNvbnN0IHBhdGg6IElEW10gPSByb3dbZ3JpZFRyZWVGaWxlUGF0aEtleV07XG4gICAgY29uc3QgcGFyZW50SUQ6IElEID0gc2l6ZShwYXRoKSA+IDEgPyBwYXRoW3BhdGgubGVuZ3RoIC0gMl0gOiAwO1xuICAgIGRlbGV0ZSByb3dbZ3JpZFRyZWVGaWxlUGF0aEtleV07XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJvdyxcbiAgICAgIFtncmlkVHJlZUNvbmZpZy5wYXJlbnRJREtleV06IHBhcmVudElEXG4gICAgfTtcbiAgfSk7XG59XG5cbi8qKlxuICogUmVmcmVzaCBleHBhbmRlZCAvIGNvbGxhcHNlZCByb3cgZm9yIHRoZSBncmlkIHRvIGRldGVjdFxuICogdGhlIGNoYW5nZS5cbiAqIEBwYXJhbSBub2RlXG4gKi9cbmZ1bmN0aW9uIHJvd0dyb3VwT3BlbmVkKHsgbm9kZSB9KSB7XG4gIHRoaXMuYXBpLnJlZnJlc2hDZWxscyh7IGZvcmNlOiB0cnVlLCByb3dOb2RlczogW25vZGVdIH0pO1xufVxuIl19
420
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AZGF0b3JhbWEvY29yZS8iLCJzb3VyY2VzIjpbImxpYi9ncmlkLXYyL2dyaWQvZ3JpZC12Mi5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNwRixPQUFPLEVBRUwsbUJBQW1CLEVBR25CLGFBQWEsRUFDYixvQkFBb0IsRUFDckIsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUM3RyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUNuRyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFN0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFJakQsSUFBTSxnQkFBZ0IsR0FBVyxlQUFlLENBQUM7QUFDakQsSUFBTSxvQkFBb0IsR0FBVyxpQkFBaUIsQ0FBQztBQUV2RCxTQUFTLE9BQU8sQ0FBQyxHQUFjO0lBQzdCLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7QUFDaEMsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLFlBQVksR0FBRyxjQUFjLENBQUM7U0FHNUIsVUFBQSxJQUFJLElB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QW1CLENBQUMsQ0FBQztRQUM1QyxJQUFNLFFBQVEsR0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLE9BQU8sR0FBRyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEMsNkJBQ0ssR0FBRyxnQkFDTCxjQUFjLENBQUMsV0FBVyxJQUFHLFFBQVEsT0FDdEM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBUyxjQUFjLENBQUMsRUFBUTtRQUFOLGNBQUk7SUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUMzRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IERhdG9yYW1hLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIEFwYWNoZSBMaWNlbnNlIDIuMCBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRvcmFtYS9jbGllbnQtY29yZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKi9cbmltcG9ydCB7IERhdG9HcmlkVjJMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWxvYWRlci9ncmlkLXYyLWxvYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgQWdHcmlkUm93SWNvbixcbiAgRGF0b0dyaWRDb2x1bW5UeXBlcyxcbiAgRGF0b0dyaWRPcHRpb25zLFxuICBEYXRvR3JpZFRyZWVDb25maWcsXG4gIEdyaWRNaW5XaWR0aHMsXG4gIEdyaWRSb3dTZWxlY3Rpb25UeXBlXG59IGZyb20gJy4vZ3JpZC12Mi50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZFYyTm9EYXRhT3ZlcmxheUNvbXBvbmVudCB9IGZyb20gJy4uL2dyaWQtbm8tZGF0YS1vdmVybGF5L2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRvR3JpZEZpbHRlclR5cGVzIH0gZnJvbSAnLi4vZ3JpZC1maWx0ZXIvZ3JpZC1maWx0ZXIudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRDb2x1bW5IZWFkZXJDb21wb25lbnQgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXIvZ3JpZC1jb2x1bW4taGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBpc1Rlc3RFbnYgfSBmcm9tICcuLi8uLi9pc3Rlc3QtZW52JztcbmltcG9ydCB7IElEIH0gZnJvbSAnQGRhdG9yYW1hL2FraXRhJztcbmltcG9ydCB7IGdldEluaXRpYWxzIH0gZnJvbSAnLi4vLi4vdXRpbHMvc3RyaW5nJztcbmltcG9ydCB7IHNpemUgfSBmcm9tICcuLi8uLi91dGlscy9jb2xsZWN0aW9uJztcbmltcG9ydCB7IGlzRXF1YWwgfSBmcm9tICcuLi8uLi91dGlscy92YWxpZGF0b3JzJztcblxudHlwZSBEYXRlVHlwZXMgPSBudW1iZXIgfCBzdHJpbmcgfCBEYXRlO1xuXG5jb25zdCBhZ1Jvd0xldmVsUHJlZml4OiBzdHJpbmcgPSAnYWctcm93LWxldmVsLSc7XG5jb25zdCBlbXB0eUZvbGRlckNsYXNzTmFtZTogc3RyaW5nID0gJ2FnLWVtcHR5LWZvbGRlcic7XG5cbmZ1bmN0aW9uIGdldFRpbWUodmFsOiBEYXRlVHlwZXMpIHtcbiAgbGV0IHRpbWUgPSBuZXcgRGF0ZSh2YWwgfHwgbnVsbCkuZ2V0VGltZSgpO1xuICByZXR1cm4gaXNOYU4odGltZSkgPyAwIDogdGltZTtcbn1cblxuZXhwb3J0IGNvbnN0IFJPT1RfTk9ERV9JRCA9ICdST09UX05PREVfSUQnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFRyZWVPcHRpb25zOiBQYXJ0aWFsPERhdG9HcmlkT3B0aW9ucz4gPSB7XG4gIGdldERhdGFQYXRoOiBpdGVtID0+IGl0ZW1bZ3JpZFRyZWVGaWxlUGF0aEtleV0sXG4gIGNvbXBvbmVudHM6IHtcbiAgICBmaWxlQ2VsbFJlbmRlcmVyOiBnZXRHcmlkVHJlZUNlbGxSZW5kZXJlcigpXG4gIH0sXG4gIG9uUm93RHJhZ01vdmU6IG9uUm93RHJhZ01vdmUsXG4gIG9uUm93RHJhZ0VuZDogb25Sb3dEcmFnRW5kLFxuICBvblJvd1NlbGVjdGVkOiBvblJvd1NlbGVjdGVkLFxuICBvblJvd0dyb3VwT3BlbmVkOiByb3dHcm91cE9wZW5lZCxcbiAgc3VwcHJlc3NSb3dDbGlja1NlbGVjdGlvbjogdHJ1ZSxcbiAgZ3JvdXBTZWxlY3RzQ2hpbGRyZW46IHRydWUsXG4gIGljb25zOiB7XG4gICAgcm93RHJhZzogJzxkYXRvLWljb24gaWNvbj1cImRyYWdcIiBjbGFzcz1cImRhdG8taWNvbi1mb250LWRyYWcgcHJpbWFyeS00MDAtY29sb3JcIj48L2RhdG8taWNvbj4nXG4gIH1cbn07XG5cbmNvbnN0IHN0cmluZ0NvbERlZiA9IHtcbiAgZmlsdGVyOiBEYXRvR3JpZEZpbHRlclR5cGVzLlN0cmluZyxcbiAgY29tcGFyYXRvcjogKGE6IHN0cmluZywgYjogc3RyaW5nKSA9PiAoYSB8fCAnJykudG9Mb3dlckNhc2UoKS5sb2NhbGVDb21wYXJlKChiIHx8ICcnKS50b0xvd2VyQ2FzZSgpKVxufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRHcmlkT3B0aW9uczogUGFydGlhbDxEYXRvR3JpZE9wdGlvbnM+ID0ge1xuICAvLyBDb3JlXG4gIGhvdmVyQ29uZmlnOiB7IGVuYWJsZWQ6IHRydWUsIG1heERpc3BsYXllZEl0ZW1zOiAzIH0sXG4gIGVuYWJsZVYyXzE6IGZhbHNlLFxuICBlbmFibGVTZWFyY2g6IGZhbHNlLFxuICBlbmFibGVTZWFyY2hIaWdobGlnaHQ6IHRydWUsXG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0OiB0cnVlLFxuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoOiBmYWxzZSxcbiAgZW5hYmxlQWxsUGFnZXNTZWxlY3Rpb246IHRydWUsXG4gIGlkQ29sdW1uS2V5OiAnaWQnLFxuICBlbmFibGVCYWNrZ3JvdW5kOiB0cnVlLFxuICAvLyBBZyBncmlkXG4gIGNvbHVtblR5cGVzOiB7XG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuRGF0ZV06IHtcbiAgICAgIGZpbHRlcjogRGF0b0dyaWRGaWx0ZXJUeXBlcy5EYXRlLFxuICAgICAgY29tcGFyYXRvcjogKGE6IERhdGVUeXBlcywgYjogRGF0ZVR5cGVzKSA9PiBnZXRUaW1lKGEpIC0gZ2V0VGltZShiKVxuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuTnVtYmVyXToge1xuICAgICAgZmlsdGVyOiBEYXRvR3JpZEZpbHRlclR5cGVzLk51bWJlclxuICAgIH0sXG4gICAgW0RhdG9HcmlkQ29sdW1uVHlwZXMuU3RyaW5nXTogc3RyaW5nQ29sRGVmLFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLlN0YXR1c106IHtcbiAgICAgIC4uLnN0cmluZ0NvbERlZixcbiAgICAgIGNlbGxSZW5kZXJlcjogJ0RhdG9HcmlkU3RhdHVzQ2VsbENvbXBvbmVudCdcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkl0ZW1zXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJdGVtc0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5JdGVtc0NvdW50XToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJdGVtc0NvdW50Q2VsbENvbXBvbmVudCdcbiAgICB9LFxuICAgIFtEYXRvR3JpZENvbHVtblR5cGVzLkluaXRpYWxzXToge1xuICAgICAgLi4uc3RyaW5nQ29sRGVmLFxuICAgICAgY2VsbFJlbmRlcmVyOiAnRGF0b0dyaWRJbml0aWFsc0NlbGxDb21wb25lbnQnXG4gICAgfSxcbiAgICBbRGF0b0dyaWRDb2x1bW5UeXBlcy5BdmF0YXJdOiB7XG4gICAgICAuLi5zdHJpbmdDb2xEZWYsXG4gICAgICBjZWxsUmVuZGVyZXI6ICdEYXRvR3JpZEF2YXRhckNlbGxDb21wb25lbnQnXG4gICAgfVxuICB9LFxuICBtdWx0aVNvcnRLZXk6ICdjdHJsJyxcbiAgc3VwcHJlc3NQYWdpbmF0aW9uUGFuZWw6IHRydWUsXG4gIHBhZ2luYXRpb246IHRydWUsXG4gIGRlbHRhQ29sdW1uTW9kZTogdHJ1ZSxcbiAgbG9hZGluZ092ZXJsYXlDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkVjJMb2FkZXJDb21wb25lbnQsXG4gIG5vUm93c092ZXJsYXlDb21wb25lbnRGcmFtZXdvcms6IERhdG9HcmlkVjJOb0RhdGFPdmVybGF5Q29tcG9uZW50LFxuICBkZWZhdWx0Q29sRGVmOiB7XG4gICAgbWluV2lkdGg6IEdyaWRNaW5XaWR0aHMuRGVmYXVsdCxcbiAgICBzb3J0YWJsZTogdHJ1ZSxcbiAgICByZXNpemFibGU6IHRydWUsXG4gICAgdHlwZTogRGF0b0dyaWRDb2x1bW5UeXBlcy5TdHJpbmcsXG4gICAgbWVudVRhYnM6IFsnZmlsdGVyTWVudVRhYiddLFxuICAgIGhlYWRlckNvbXBvbmVudEZyYW1ld29yazogRGF0b0dyaWRDb2x1bW5IZWFkZXJDb21wb25lbnRcbiAgfSxcbiAgc3VwcHJlc3NDZWxsU2VsZWN0aW9uOiB0cnVlLFxuICBzdXBwcmVzc1Byb3BlcnR5TmFtZXNDaGVjazogdHJ1ZSxcbiAgcm93SGVpZ2h0OiAzNSxcbiAgaGVhZGVySGVpZ2h0OiAzMCxcbiAgcm93U2VsZWN0aW9uOiBHcmlkUm93U2VsZWN0aW9uVHlwZS5NVUxUSVBMRSxcbiAgcm93RGVzZWxlY3Rpb246IHRydWUsXG4gIHVuU29ydEljb246IHRydWUsXG4gIGFuaW1hdGVSb3dzOiB0cnVlLFxuICByZW1lbWJlckdyb3VwU3RhdGVXaGVuTmV3RGF0YTogdHJ1ZSxcbiAgZ3JvdXBNdWx0aUF1dG9Db2x1bW46IHRydWUsXG4gIGdyb3VwRGVmYXVsdEV4cGFuZGVkOiAtMSxcbiAgdXNlUGl2b3RHcmlkU3R5bGU6IGZhbHNlLFxuICBkaXNhYmxlZEhUTUxSZW5kZXJpbmdGaWVsZHM6IFtdLFxuICAuLi4oaXNUZXN0RW52KCkgPyB7IHN1cHByZXNzQ29sdW1uVmlydHVhbGlzYXRpb246IHRydWUsIHJvd0J1ZmZlcjogOTk5OTkgfSA6IHt9KVxufTtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfR1JJRF9TRUFSQ0hfREVCT1VOQ0VfVElNRSA9IHtcbiAgQ0xJRU5UOiAyMDAsXG4gIFNFUlZFUjogMjUwXG59O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEdyaWRUcmVlTGFiZWw6IERhdG9HcmlkVHJlZUNvbmZpZyA9IHtcbiAgaWRLZXk6ICdpZCcsXG4gIHBhcmVudElES2V5OiAncGFyZW50SUQnXG59O1xuXG5leHBvcnQgY29uc3QgZ3JpZFRyZWVGaWxlUGF0aEtleSA9ICdhZ0dyaWRGaWxlUGF0aCc7XG5cbi8qKlxuICogQ2VsbCByZW5kZXJlciBmb3IgdHJlZSBzdHJ1Y3R1cmUuXG4gKi9cbmZ1bmN0aW9uIGdldEdyaWRUcmVlQ2VsbFJlbmRlcmVyKCkge1xuICByZXR1cm4gaXRlbSA9PiB7XG4gICAgY29uc3QgeyBkYXRhLCBlR3JpZENlbGwsIGNvbERlZiB9ID0gaXRlbTtcbiAgICBjb25zdCB7IGljb246IGl0ZW1JY29uLCBpc0ZvbGRlciwgaW5pdGlhbHMgPSB0cnVlIH0gPSBkYXRhO1xuICAgIGNvbnN0IGljb24gPSBnZXRSb3dJY29uKGl0ZW1JY29uLCBlR3JpZENlbGwsIGlzRm9sZGVyKTtcbiAgICBjb25zdCBkaXNwbGF5TmFtZSA9IGRhdGFbY29sRGVmWydmaWVsZCddXTtcbiAgICBjb25zdCBlbnRpdHlDbGFzc05hbWUgPSAnZW50aXR5LWRpc3BsYXktbmFtZSc7XG4gICAgY29uc3QgeyBzdmdSZWdpc3RyeSB9ID0gY29sRGVmLmdyaWRTZXJ2aWNlO1xuXG4gICAgaWYgKGlzRm9sZGVyKSB7XG4gICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKGl0ZW0ubm9kZSk7XG4gICAgfVxuXG4gICAgaWYgKGljb24pIHtcbiAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCJkYXRvLXNpbXBsZS1ib2xkXCI+IDxzcGFuIGNsYXNzPVwiZGEtZ3JpZC1pY29uIGZvbGRlciBkLWZsZXhcIj4ke3N2Z1JlZ2lzdHJ5LmdldFN2ZyhcbiAgICAgICAgaWNvblxuICAgICAgKX08L3NwYW4+PHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX1cIj48L3NwYW4+ICR7ZGlzcGxheU5hbWV9PC9zcGFuPmA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKGl0ZW0pO1xuICAgICAgICByZXR1cm4gYDxzcGFuIGNsYXNzPVwiJHtlbnRpdHlDbGFzc05hbWV9IGRhdG8tc2ltcGxlLWJvbGRcIj4ke2Rpc3BsYXlOYW1lfTwvc3Bhbj5gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGluaXRpYWxzKSB7XG4gICAgICAgICAgY29uc3QgaW5pdGlhbFZhbHVlID0gZ2V0SW5pdGlhbHMoZGlzcGxheU5hbWUpO1xuICAgICAgICAgIGlmIChpbml0aWFsVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiBgPHNwYW4gY2xhc3M9XCIke2VudGl0eUNsYXNzTmFtZX0gZGF0by1zaW1wbGUtYm9sZFwiPjxzcGFuIGNsYXNzPVwiaW5pdGlhbHNcIj4ke2luaXRpYWxWYWx1ZX08L3NwYW4+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIGA8c3BhbiBjbGFzcz1cIiR7ZW50aXR5Q2xhc3NOYW1lfSBkYXRvLXNpbXBsZS1ib2xkXCI+JHtkaXNwbGF5TmFtZX08L3NwYW4+YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSByb3cncyBpY29uLlxuICogSWYgaWNvbiBpcyBvZiB0eXBlIHN0cmluZywgUmV0dXJuIGl0LlxuICogSWYgaXQgYW4gb2JqZWN0LCBSZXR1cm4gYmFzZWQgb24gdGhlIGV4cGFuZCAvIGNvbGxhcHNlIHN0YXRlLlxuICogQHBhcmFtIGljb25cbiAqIEBwYXJhbSBlR3JpZENlbGxcbiAqIEBwYXJhbSBpc0ZvbGRlclxuICovXG5mdW5jdGlvbiBnZXRSb3dJY29uKGljb246IEFnR3JpZFJvd0ljb24sIGVHcmlkQ2VsbDogYW55LCBpc0ZvbGRlcjogYm9vbGVhbik6IHN0cmluZyB7XG4gIGlmIChpY29uID09PSBudWxsKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBnZXRJY29uQmFzZWRPblJvd1N0YXRlID0gKGVHcmlkQ2VsbCwgeyBleHBhbmRlZCwgY29sbGFwc2VkIH0pID0+IHtcbiAgICBjb25zdCBhZ0dyaWRSb3dFeHBhbmRlZENsYXNzID0gJ2FnLXJvdy1ncm91cC1leHBhbmRlZCc7XG4gICAgcmV0dXJuIGVHcmlkQ2VsbC5wYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhhZ0dyaWRSb3dFeHBhbmRlZENsYXNzKSA/IGV4cGFuZGVkIDogY29sbGFwc2VkO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJZiBpY29uIHdhc24ndCBvdmVycmlkZSBieSB0aGUgdXNlciBhbmQgdGhlIHJvdyBpcyBvZiB0eXBlIGZvbGRlcixcbiAgICogU2V0IGRlZmF1bHQgZm9sZGVyIGljb25zLlxuICAgKi9cbiAgaWYgKGljb24gPT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChpc0ZvbGRlcikge1xuICAgICAgY29uc3QgZGVmYXVsdEZvbGRlckljb25zOiBBZ0dyaWRSb3dJY29uID0ge1xuICAgICAgICBleHBhbmRlZDogJ2ZvbGRlci1vcGVuJyxcbiAgICAgICAgY29sbGFwc2VkOiAnZm9sZGVyLWNsb3NlZCdcbiAgICAgIH07XG4gICAgICByZXR1cm4gZ2V0SWNvbkJhc2VkT25Sb3dTdGF0ZShlR3JpZENlbGwsIGRlZmF1bHRGb2xkZXJJY29ucyk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVvZiBpY29uID09PSAnc3RyaW5nJyA/IGljb24gOiBnZXRJY29uQmFzZWRPblJvd1N0YXRlKGVHcmlkQ2VsbCwgaWNvbik7XG59XG5cbmxldCBwb3RlbnRpYWxQYXJlbnQgPSBudWxsO1xuY29uc3QgYWdSb3dIb3ZlckNsYXNzTmFtZSA9ICdhZy1yb3ctaG92ZXInO1xuXG5sZXQgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IGZhbHNlO1xuXG5mdW5jdGlvbiBnZXRDZWxsQnlSb3dJRChyb3dJRDogc3RyaW5nKSB7XG4gIHJldHVybiBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBbcm93LWlkPVwiJHtyb3dJRH1cIl0gPiAuYWctY2VsbGApO1xufVxuXG4vKipcbiAqIE1hcmsgcGFyZW50IGZvbGRlciBvZiB0aGUgb3Zlck5vZGUgYXMgaG92ZXJlZCBpbiBvcmRlciB0byBhcHBseVxuICogcmVsZXZhbnQgY3NzIHN0eWxlIHRvIGl0LlxuICogQHBhcmFtIG92ZXJOb2RlXG4gKi9cbmZ1bmN0aW9uIG9uUm93RHJhZ01vdmUoeyBvdmVyTm9kZSwgbm9kZSB9KSB7XG4gIGxldCBmb2xkZXJUb0Ryb3BJbnRvO1xuXG4gIGlmIChvdmVyTm9kZSkge1xuICAgIC8vIGZvbGRlciB0byBkcm9wIGludG8gaXMgd2hlcmUgd2UgYXJlIGdvaW5nIHRvIG1vdmUgdGhlIGZpbGUvZm9sZGVyIHRvXG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG92ZXJOb2RlLmRhdGEuaXNGb2xkZXJcbiAgICAgID8gLy8gaWYgb3ZlciBhIGZvbGRlciwgd2UgdGFrZSB0aGUgaW1tZWRpYXRlIHJvd1xuICAgICAgICBvdmVyTm9kZVxuICAgICAgOiAvLyBpZiBvdmVyIGEgZmlsZSwgd2UgdGFrZSB0aGUgcGFyZW50IHJvdyAod2hpY2ggd2lsbCBiZSBhIGZvbGRlcilcbiAgICAgICAgb3Zlck5vZGUucGFyZW50O1xuICB9IGVsc2Uge1xuICAgIGZvbGRlclRvRHJvcEludG8gPSBub2RlLnJvd01vZGVsLnJvb3ROb2RlO1xuICB9XG5cbiAgaWYgKHBvdGVudGlhbFBhcmVudCkge1xuICAgIGlmIChwb3RlbnRpYWxQYXJlbnQuaWQgPT09IGZvbGRlclRvRHJvcEludG8uaWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQgPSBnZXRDZWxsQnlSb3dJRChwb3RlbnRpYWxQYXJlbnQuaWQpO1xuICAgICAgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQgJiYgcHJldmlvdXNQb3RlbnRpYWxQYXJlbnQuY2xhc3NMaXN0LnJlbW92ZShhZ1Jvd0hvdmVyQ2xhc3NOYW1lKTtcbiAgICAgIHBvdGVudGlhbFBhcmVudCA9IG51bGw7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIHBvdGVudGlhbFBhcmVudCA9IGZvbGRlclRvRHJvcEludG87XG4gIH1cbiAgaWYgKGZvbGRlclRvRHJvcEludG8pIHtcbiAgICBjb25zdCBmb2xkZXJJRDogc3RyaW5nID0gZm9sZGVyVG9Ecm9wSW50by5pZDtcbiAgICBjb25zdCBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudCA9IGdldENlbGxCeVJvd0lEKGZvbGRlcklEKTtcbiAgICBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudCAmJiBmb2xkZXJUb0Ryb3BJbnRvRWxlbWVudC5jbGFzc0xpc3QuYWRkKGFnUm93SG92ZXJDbGFzc05hbWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIG9uUm93RHJhZ0VuZCh7IG92ZXJOb2RlLCBub2RlIH0pIHtcbiAgbGV0IG5vZGVQYXJlbnQ7XG4gIGxldCBmb2xkZXJUb0Ryb3BJbnRvO1xuICBpZiAob3Zlck5vZGUpIHtcbiAgICBub2RlUGFyZW50ID0gbm9kZS5wYXJlbnQ7XG4gICAgLy8gZm9sZGVyIHRvIGRyb3AgaW50byBpcyB3aGVyZSB3ZSBhcmUgZ29pbmcgdG8gbW92ZSB0aGUgZmlsZS9mb2xkZXIgdG9cbiAgICBmb2xkZXJUb0Ryb3BJbnRvID0gb3Zlck5vZGUuZGF0YS5pc0ZvbGRlclxuICAgICAgPyAvLyBpZiBvdmVyIGEgZm9sZGVyLCB3ZSB0YWtlIHRoZSBpbW1lZGlhdGUgcm93XG4gICAgICAgIG92ZXJOb2RlXG4gICAgICA6IC8vIGlmIG92ZXIgYSBmaWxlLCB3ZSB0YWtlIHRoZSBwYXJlbnQgcm93ICh3aGljaCB3aWxsIGJlIGEgZm9sZGVyKVxuICAgICAgICBvdmVyTm9kZS5wYXJlbnQ7XG4gIH0gZWxzZSB7XG4gICAgbm9kZVBhcmVudCA9IG5vZGUucm93TW9kZWwucm9vdE5vZGU7XG4gICAgZm9sZGVyVG9Ecm9wSW50byA9IG5vZGUucm93TW9kZWwucm9vdE5vZGU7XG4gIH1cblxuICAvLyB0aGUgZGF0YSB3ZSB3YW50IHRvIG1vdmVcbiAgY29uc3QgbW92aW5nRGF0YSA9IG5vZGUuZGF0YTtcblxuICBjb25zdCB0cmVlTWF4RGVwdGg6IG51bWJlciA9IG5vZGUuZ3JpZE9wdGlvbnNXcmFwcGVyLmdyaWRPcHRpb25zLm1heERlcHRoIHx8IC0xO1xuICAvLyBEaXNhYmxlIG5lc3RlZCBkcmFnIHdoZW4gdHJlZSBkZXB0aCBpcyBhYm92ZSB0aGUgbGltaXRcbiAgaWYgKFxuICAgIG1vdmluZ0RhdGEuaXNGb2xkZXIgJiZcbiAgICB0cmVlTWF4RGVwdGggIT09IC0xICYmXG4gICAgbm9kZVBhcmVudC5pZCAhPT0gUk9PVF9OT0RFX0lEICYmXG4gICAgb3Zlck5vZGUuZGF0YS5hZ0dyaWRGaWxlUGF0aC5sZW5ndGggPiB0cmVlTWF4RGVwdGhcbiAgKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gdGFrZSBuZXcgcGFyZW50IHBhdGggZnJvbSBwYXJlbnQsIGlmIGRhdGEgaXMgbWlzc2luZywgbWVhbnMgaXQncyB0aGUgcm9vdCBub2RlLFxuICAvLyB3aGljaCBoYXMgbm8gZGF0YS5cbiAgY29uc3QgbmV3UGFyZW50UGF0aCA9IGZvbGRlclRvRHJvcEludG8uZGF0YSA/IGZvbGRlclRvRHJvcEludG8uZGF0YVtncmlkVHJlZUZpbGVQYXRoS2V5XSA6IFtdO1xuICBjb25zdCBuZWVkVG9DaGFuZ2VQYXJlbnQgPSAhaXNFcXVhbChuZXdQYXJlbnRQYXRoLCBtb3ZpbmdEYXRhW2dyaWRUcmVlRmlsZVBhdGhLZXldKTtcblxuICAvLyBjaGVjayB3ZSBhcmUgbm90IG1vdmluZyBhIGZvbGRlciBpbnRvIGEgY2hpbGQgZm9sZGVyXG4gIGNvbnN0IGludmFsaWRNb2RlID0gaXNTZWxlY3Rpb25QYXJlbnRPZlRhcmdldChub2RlLCBmb2xkZXJUb0Ryb3BJbnRvKTtcbiAgaWYgKGludmFsaWRNb2RlKSB7XG4gICAgY29uc29sZS5sb2coJ2ludmFsaWQgbW92ZScpO1xuICB9XG5cbiAgaWYgKG5lZWRUb0NoYW5nZVBhcmVudCAmJiAhaW52YWxpZE1vZGUpIHtcbiAgICBjb25zdCB1cGRhdGVkUm93cyA9IFtdO1xuICAgIGNvbnN0IHsgaWRLZXkgfTogRGF0b0dyaWRUcmVlQ29uZmlnID0gdGhpcy5hdXRvR3JvdXBDb2x1bW5EZWYuZ3JpZFNlcnZpY2UudHJlZUNvbmZpZztcbiAgICBtb3ZlVG9QYXRoKG5ld1BhcmVudFBhdGgsIG5vZGUsIHVwZGF0ZWRSb3dzLCBpZEtleSk7XG5cbiAgICBjb25zdCBhZmZlY3RlZFJvd3MgPSB0aGlzLmF1dG9Hcm91cENvbHVtbkRlZi5ncmlkU2VydmljZS51cGRhdGVSb3dzKHVwZGF0ZWRSb3dzKTtcblxuICAgIHNldFJvd0NsYXNzZXMoWy4uLmFmZmVjdGVkUm93cy51cGRhdGUsIG92ZXJOb2RlLCBub2RlUGFyZW50XSk7XG5cbiAgICAvKipcbiAgICAgKiBDbGVhciBwcmV2aW91cyBtYXJrZWQgcGFyZW50IGZyb20gaG92ZXIgc3R5bGUuXG4gICAgICovXG4gICAgY29uc3QgaG92ZXJlZFBhcmVudEVsZW1lbnQgPSBnZXRDZWxsQnlSb3dJRChwb3RlbnRpYWxQYXJlbnQuaWQpO1xuICAgIGhvdmVyZWRQYXJlbnRFbGVtZW50ICYmIGhvdmVyZWRQYXJlbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoYWdSb3dIb3ZlckNsYXNzTmFtZSk7XG4gICAgcG90ZW50aWFsUGFyZW50ID0gbnVsbDtcblxuICAgIHRoaXMuYXBpLmNsZWFyRm9jdXNlZENlbGwoKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBzZXRSb3dDbGFzc2VzKHJvd3MpIHtcbiAgY29uc3QgY2xhc3NMaXN0ID0gW2Ake2FnUm93TGV2ZWxQcmVmaXh9MWAsIGAke2FnUm93TGV2ZWxQcmVmaXh9MmAsIGAke2FnUm93TGV2ZWxQcmVmaXh9M2BdO1xuICByb3dzLmZvckVhY2gocm93ID0+IHtcbiAgICBjb25zdCBub2RlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3Jvdy1pZD1cIiR7cm93LmlkfVwiXWApWzFdO1xuICAgIGlmIChub2RlKSB7XG4gICAgICBmb3IgKGNvbnN0IGNsYXNzTmFtZSBvZiBjbGFzc0xpc3QpIHtcbiAgICAgICAgaWYgKG5vZGUuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSkpIHtcbiAgICAgICAgICBub2RlLmNsYXNzTGlzdC5yZW1vdmUoY2xhc3NOYW1lKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbm9kZS5jbGFzc0xpc3QuYWRkKGAke2FnUm93TGV2ZWxQcmVmaXh9JHtyb3cubGV2ZWx9YCk7XG5cbiAgICAgIGlmIChyb3cuZGF0YS5pc0ZvbGRlcikge1xuICAgICAgICBzZXRFbXB0eUZvbGRlckNsYXNzKHJvdywgbm9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldEVtcHR5Rm9sZGVyQ2xhc3Mocm93LCBub2RlPykge1xuICBjb25zdCBjdXJyZW50Tm9kZSA9IG5vZGUgfHwgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW3Jvdy1pZD1cIiR7cm93LmlkfVwiXWApWzBdO1xuICBpZiAoIWN1cnJlbnROb2RlKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmIChzaXplKHJvdy5jaGlsZHJlbkFmdGVyR3JvdXApID09PSAwKSB7XG4gICAgY3VycmVudE5vZGUuY2xhc3NMaXN0LmFkZChlbXB0eUZvbGRlckNsYXNzTmFtZSk7XG4gIH0gZWxzZSB7XG4gICAgY3VycmVudE5vZGUuY2xhc3NMaXN0LnJlbW92ZShlbXB0eUZvbGRlckNsYXNzTmFtZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gb25Sb3dTZWxlY3RlZChwYXJhbXMpIHtcbiAgaWYgKHVwZGF0aW5nQ2hlY2tib3hlc1Byb2dyYW1tYXRpY2FsbHkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IHRydWU7XG5cbiAgc2V0Q2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMocGFyYW1zLm5vZGUsIHBhcmFtcy5ub2RlLnNlbGVjdGVkKTtcbiAgcmVmcmVzaFBhcmVudHNTZWxlY3Rpb25TdGF0dXNSZWN1cnNpdmVseShwYXJhbXMubm9kZSk7XG5cbiAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgdXBkYXRpbmdDaGVja2JveGVzUHJvZ3JhbW1hdGljYWxseSA9IGZhbHNlO1xuICB9LCAwKTtcbn1cblxuZnVuY3Rpb24gc2V0Q2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMobm9kZSwgc2VsZWN0ZWQpIHtcbiAgbGV0IGhhc0NoaWxkcmVuID0gbm9kZS5hbGxDaGlsZHJlbkNvdW50ID4gMDtcbiAgaWYgKGhhc0NoaWxkcmVuKSB7XG4gICAgbm9kZS5hbGxMZWFmQ2hpbGRyZW4uZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICBjaGlsZC5zZXRTZWxlY3RlZChzZWxlY3RlZCk7XG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVmcmVzaFBhcmVudHNTZWxlY3Rpb25TdGF0dXNSZWN1cnNpdmVseShub2RlKSB7XG4gIGxldCBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnQ7XG4gIHdoaWxlIChwYXJlbnROb2RlKSB7XG4gICAgaWYgKHBhcmVudE5vZGUuaWQgPT09IFJPT1RfTk9ERV9JRCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmVmcmVzaFNlbGVjdGlvblN0YXR1cyhwYXJlbnROb2RlKTtcbiAgICBwYXJlbnROb2RlID0gcGFyZW50Tm9kZS5wYXJlbnQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gcmVmcmVzaFNlbGVjdGlvblN0YXR1cyhub2RlKSB7XG4gIGxldCBjaGlsZHJlblNlbGVjdGlvblN0YXR1cyA9IG5vZGUuYWxsTGVhZkNoaWxkcmVuLm1hcChub2RlID0+IG5vZGUuc2VsZWN0ZWQpO1xuXG4gIGlmIChjaGlsZHJlblNlbGVjdGlvblN0YXR1cy5ldmVyeShzZWxlY3RlZFZhbHVlID0+IHNlbGVjdGVkVmFsdWUgPT09IHRydWUgfHwgc2VsZWN0ZWRWYWx1ZSA9PT0gdW5kZWZpbmVkKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjaGlsZHJlblNlbGVjdGlvblN0YXR1cy5zaGlmdCgpO1xuXG4gIGxldCBub2RlU2VsZWN0aW9uU3RhdHVzID0gY2hpbGRyZW5TZWxlY3Rpb25TdGF0dXMucmVkdWNlKChhLCBiKSA9PiB7XG4gICAgaWYgKGEgPT09IGIpIHtcbiAgICAgIHJldHVybiBhO1xuICAgIH1cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9KTtcblxuICBub2RlLnNlbGVjdFRoaXNOb2RlKG5vZGVTZWxlY3Rpb25TdGF0dXMpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgc2VsZWN0ZWQgbm9kZSBpcyBhIGNoaWxkIG9mIHRoZSB0YXJnZXQgcG9zaXRpb24uXG4gKiBAcGFyYW0gc2VsZWN0ZWROb2RlXG4gKiBAcGFyYW0gdGFyZ2V0Tm9kZVxuICovXG5mdW5jdGlvbiBpc1NlbGVjdGlvblBhcmVudE9mVGFyZ2V0KHNlbGVjdGVkTm9kZSwgdGFyZ2V0Tm9kZSk6IGJvb2xlYW4ge1xuICBjb25zdCBjaGlsZHJlbiA9IHNlbGVjdGVkTm9kZS5jaGlsZHJlbkFmdGVyR3JvdXA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAodGFyZ2V0Tm9kZSAmJiBjaGlsZHJlbltpXS5rZXkgPT09IHRhcmdldE5vZGUua2V5KSByZXR1cm4gdHJ1ZTtcbiAgICBpc1NlbGVjdGlvblBhcmVudE9mVGFyZ2V0KGNoaWxkcmVuW2ldLCB0YXJnZXROb2RlKTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKiB0aGlzIHVwZGF0ZXMgdGhlIGZpbGVQYXRoIGxvY2F0aW9ucyBpbiBvdXIgZGF0YSwgd2UgdXBkYXRlIHRoZSBkYXRhXG4gYmVmb3JlIHdlIHNlbmQgaXQgdG8gYWctR3JpZFxuICovXG5mdW5jdGlvbiBtb3ZlVG9QYXRoKG5ld1BhcmVudFBhdGgsIHsgZGF0YSwgY2hpbGRyZW5BZnRlckdyb3VwIH0sIGFsbFVwZGF0ZWROb2RlcywgaWRLZXk6IHN0cmluZykge1xuICAvLyBsYXN0IHBhcnQgb2YgdGhlIGZpbGUgcGF0aCBpcyB0aGUgZmlsZSBuYW1lXG4gIGNvbnN0IG5ld0NoaWxkUGF0aCA9IG5ld1BhcmVudFBhdGguc2xpY2UoKTtcblxuICBkYXRhW2dyaWRUcmVlRmlsZVBhdGhLZXldID0gbmV3Q2hpbGRQYXRoO1xuXG4gIGFsbFVwZGF0ZWROb2Rlcy5wdXNoKGRhdGEpO1xuXG4gIGlmIChzaXplKGNoaWxkcmVuQWZ0ZXJHcm91cCkgPiAwKSB7XG4gICAgY2hpbGRyZW5BZnRlckdyb3VwLmZvckVhY2goZnVuY3Rpb24oY2hpbGROb2RlKSB7XG4gICAgICBtb3ZlVG9QYXRoKFsuLi5uZXdDaGlsZFBhdGgsIGRhdGFbaWRLZXldXSwgY2hpbGROb2RlLCBhbGxVcGRhdGVkTm9kZXMsIGlkS2V5KTtcbiAgICB9KTtcbiAgfVxuXG4gIGRhdGFbZ3JpZFRyZWVGaWxlUGF0aEtleV0ucHVzaChkYXRhW2lkS2V5XSk7XG59XG5cbi8qKlxuICogQ29udmVydCBkYXRhIGludG8gdHJlZSBzaGFwZWQgc3RydWN0dXJlLlxuICogQHBhcmFtIGRhdGFcbiAqIEBwYXJhbSBncmlkVHJlZUNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFRvVHJlZURhdGE8VD4oZGF0YTogVFtdLCBncmlkVHJlZUNvbmZpZzogRGF0b0dyaWRUcmVlQ29uZmlnKTogVFtdIHtcbiAgY29uc3QgeyBwYXJlbnRJREtleSwgaWRLZXkgfSA9IGdyaWRUcmVlQ29uZmlnO1xuICBjb25zdCBnZW5lcmF0ZUZpbGVQYXRoID0gKGl0ZW0sIGluaXRDaGlsZCA9IGZhbHNlKTogSURbXSA9PiB7XG4gICAgY29uc3QgcGF0aDogSURbXSA9IGluaXRDaGlsZCA/IFtpdGVtW2lkS2V5XV0gOiBbXTtcbiAgICBjb25zdCBwYXJlbnRFbnRpdHkgPSBkYXRhLmZpbmQoZW50aXR5ID0+IGVudGl0eVtpZEtleV0gPT09IGl0ZW1bcGFyZW50SURLZXldKTtcbiAgICBwYXRoLnVuc2hpZnQocGFyZW50RW50aXR5W2lkS2V5XSk7XG5cbiAgICBpZiAocGFyZW50RW50aXR5W3BhcmVudElES2V5XSkge1xuICAgICAgY29uc3QgZW50aXR5UGF0aCA9IGdlbmVyYXRlRmlsZVBhdGgocGFyZW50RW50aXR5KTtcbiAgICAgIHBhdGgudW5zaGlmdCguLi5lbnRpdHlQYXRoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aDtcbiAgfTtcblxuICAvKipcbiAgICogV2hlbiB0aGVyZSdzIG5vIHBhcmVudElELCBTZXQgdGhlIGl0ZW0gaW4gdG8gcm9vdCBvZiB0aGUgdHJlZS5cbiAgICogRWxzZSwgUmVjdXJzaXZlbHkgY3JlYXRlIHRoZSBwYXRoLlxuICAgKi9cbiAgcmV0dXJuIGRhdGEubWFwKGl0ZW0gPT4ge1xuICAgIGlmIChpdGVtW3BhcmVudElES2V5XSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uaXRlbSxcbiAgICAgICAgW2dyaWRUcmVlRmlsZVBhdGhLZXldOiBnZW5lcmF0ZUZpbGVQYXRoKGl0ZW0sIHRydWUpXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pdGVtLFxuICAgICAgICBbZ3JpZFRyZWVGaWxlUGF0aEtleV06IFtpdGVtW2lkS2V5XV1cbiAgICAgIH07XG4gICAgfVxuICB9KTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0IHRoZSBncmlkcyBkYXRhIGZyb20gdHJlZSBzaGFwZSB0byBvcmlnaW5hbCBzaGFwZS5cbiAqIEBwYXJhbSBkYXRhXG4gKiBAcGFyYW0gZ3JpZFRyZWVDb25maWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRGcm9tVHJlZURhdGE8VD4oZGF0YTogVFtdLCBncmlkVHJlZUNvbmZpZzogRGF0b0dyaWRUcmVlQ29uZmlnKTogVFtdIHtcbiAgcmV0dXJuIGRhdGEubWFwKCh7IC4uLnJvdyB9KSA9PiB7XG4gICAgY29uc3QgcGF0aDogSURbXSA9IHJvd1tncmlkVHJlZUZpbGVQYXRoS2V5XTtcbiAgICBjb25zdCBwYXJlbnRJRDogSUQgPSBzaXplKHBhdGgpID4gMSA/IHBhdGhbcGF0aC5sZW5ndGggLSAyXSA6IDA7XG4gICAgZGVsZXRlIHJvd1tncmlkVHJlZUZpbGVQYXRoS2V5XTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ucm93LFxuICAgICAgW2dyaWRUcmVlQ29uZmlnLnBhcmVudElES2V5XTogcGFyZW50SURcbiAgICB9O1xuICB9KTtcbn1cblxuLyoqXG4gKiBSZWZyZXNoIGV4cGFuZGVkIC8gY29sbGFwc2VkIHJvdyBmb3IgdGhlIGdyaWQgdG8gZGV0ZWN0XG4gKiB0aGUgY2hhbmdlLlxuICogQHBhcmFtIG5vZGVcbiAqL1xuZnVuY3Rpb24gcm93R3JvdXBPcGVuZWQoeyBub2RlIH0pIHtcbiAgdGhpcy5hcGkucmVmcmVzaENlbGxzKHsgZm9yY2U6IHRydWUsIHJvd05vZGVzOiBbbm9kZV0gfSk7XG59XG4iXX0=
@@ -1,18 +1,27 @@
1
+ import { escape } from '../../utils/string';
2
+ import DOMPurify from 'dompurify';
1
3
  export var defaultEditableColumnRenderer = function (params) {
2
4
  return params && params.value ? "<div class=\"value-wrapper ellipsis\">" + params.value + "</div>" : null;
3
5
  };
4
- export var editableCellRendererWithSearchHighlight = function (params, searchTerm) {
6
+ export var editableCellRendererWithSearchHighlight = function (params, searchTerm, allowHTML) {
5
7
  if (!params || !params.value) {
6
8
  return null;
7
9
  }
8
- return "<div class=\"value-wrapper ellipsis\">" + searchHighlightCellRenderer(params, searchTerm) + "</div>";
10
+ return "<div class=\"value-wrapper ellipsis\">" + searchHighlightCellRenderer(params, searchTerm, allowHTML) + "</div>";
9
11
  };
10
- export var searchHighlightCellRenderer = function (params, searchTerm) {
12
+ export var searchHighlightCellRenderer = function (params, searchTerm, allowHTML) {
13
+ if (allowHTML === void 0) { allowHTML = true; }
14
+ var cellValue = (params.valueFormatted || params.value || '').toString();
15
+ if (!allowHTML) {
16
+ cellValue = escape(cellValue);
17
+ }
18
+ else {
19
+ cellValue = DOMPurify.sanitize(cellValue);
20
+ }
11
21
  searchTerm = (searchTerm || '').trim();
12
- var value = (params.valueFormatted || params.value || '').toString();
13
- return searchTerm
14
- ? value.replace(new RegExp(searchTerm, 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; })
15
- : value;
22
+ return searchTerm ?
23
+ cellValue.replace(new RegExp(searchTerm, 'gi'), function (str) { return "<span class=\"search-highlight\">" + str + "</span>"; }) :
24
+ cellValue;
16
25
  };
17
26
  export var GridMinWidths;
18
27
  (function (GridMinWidths) {
@@ -43,4 +52,4 @@ export var GridStatusColumnTypes;
43
52
  GridStatusColumnTypes["PENDING"] = "PENDING";
44
53
  GridStatusColumnTypes["WAITING"] = "WAITING";
45
54
  })(GridStatusColumnTypes || (GridStatusColumnTypes = {}));
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLE1BQU0sQ0FBQyxJQUFNLDZCQUE2QixHQUFHLFVBQUEsTUFBTTtJQUNqRCxPQUFBLE1BQU0sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywyQ0FBdUMsTUFBTSxDQUFDLEtBQUssV0FBUSxDQUFDLENBQUMsQ0FBQyxJQUFJO0FBQTNGLENBQTJGLENBQUM7QUFFOUYsTUFBTSxDQUFDLElBQU0sdUNBQXVDLEdBQUcsVUFBQyxNQUEyQixFQUFFLFVBQWtCO0lBQ3JHLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0tBQ2I7SUFDRCxPQUFPLDJDQUF1QywyQkFBMkIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLFdBQVEsQ0FBQztBQUN4RyxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBRyxVQUFDLE1BQTJCLEVBQUUsVUFBa0I7SUFDekYsVUFBVSxHQUFHLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLElBQU0sS0FBSyxHQUFHLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZFLE9BQU8sVUFBVTtRQUNmLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsRUFBRSxVQUFDLEdBQVcsSUFBSyxPQUFBLHNDQUFrQyxHQUFHLFlBQVMsRUFBOUMsQ0FBOEMsQ0FBQztRQUM5RyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBMEhGLE1BQU0sQ0FBTixJQUFZLGFBR1g7QUFIRCxXQUFZLGFBQWE7SUFDdkIseURBQWEsQ0FBQTtJQUNiLDZEQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLGFBQWEsS0FBYixhQUFhLFFBR3hCO0FBRUQsTUFBTSxDQUFOLElBQVksbUJBU1g7QUFURCxXQUFZLG1CQUFtQjtJQUM3Qix3Q0FBaUIsQ0FBQTtJQUNqQix3Q0FBaUIsQ0FBQTtJQUNqQixvQ0FBYSxDQUFBO0lBQ2Isd0NBQWlCLENBQUE7SUFDakIsc0NBQWUsQ0FBQTtJQUNmLGdEQUF5QixDQUFBO0lBQ3pCLDRDQUFxQixDQUFBO0lBQ3JCLHdDQUFpQixDQUFBO0FBQ25CLENBQUMsRUFUVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBUzlCO0FBY0QsTUFBTSxDQUFOLElBQVksb0JBR1g7QUFIRCxXQUFZLG9CQUFvQjtJQUM5Qix5Q0FBaUIsQ0FBQTtJQUNqQiw2Q0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSFcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQUcvQjtBQWdCRCxNQUFNLENBQU4sSUFBWSxxQkFNWDtBQU5ELFdBQVkscUJBQXFCO0lBQy9CLDRDQUFtQixDQUFBO0lBQ25CLDRDQUFtQixDQUFBO0lBQ25CLG9EQUEyQixDQUFBO0lBQzNCLDRDQUFtQixDQUFBO0lBQ25CLDRDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxxQkFBcUIsS0FBckIscUJBQXFCLFFBTWhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sRGVmLCBHcmlkT3B0aW9ucywgSUNlbGxSZW5kZXJlclBhcmFtcywgSUdldFJvd3NQYXJhbXMsIE1lbnVJdGVtRGVmLCBSb3dOb2RlIH0gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IHsgRGF0b0dyaWRFeHRlcm5hbEZpbHRlciwgRGF0b0dyaWRGaWx0ZXJTZWN0aW9ucywgTGlzdEl0ZW0gfSBmcm9tICcuLi9ncmlkLWZpbHRlci9ncmlkLWZpbHRlci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvU2VydmVyUGFnaW5hdGlvbkNvbmZpZyB9IGZyb20gJy4uL2dyaWQtcGFnaW5hdGlvbi9ncmlkLXBhZ2luYXRpb24udHlwZXMnO1xuaW1wb3J0IHsgQWdHcmlkRXZlbnQgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eS9kaXN0L2xpYi9ldmVudHMnO1xuaW1wb3J0IHsgUm93QWN0aW9uIH0gZnJvbSAnLi4vZ3JpZC10b29sYmFyL2dyaWQtdG9vbGJhci50eXBlcyc7XG5pbXBvcnQgeyBJY29uUmVnaXN0cnkgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9pY29uLXJlZ2lzdHJ5JztcbmltcG9ydCB7IERhdG9HcmlkQXBpIH0gZnJvbSAnLi4vZ3JpZC1jb250cm9sbGVyL2dyaWQtY29udHJvbGxlci50eXBlcyc7XG5pbXBvcnQgeyBEYXRvR3JpZFNldHRpbmdzIH0gZnJvbSAnLi4vZ3JpZC1zdG9yZS9ncmlkLnN0b3JlLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zIH0gZnJvbSAnLi4vZ3JpZC1jb2x1bW4taGVhZGVyLW1vcmUtbWVudS9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51LnR5cGVzJztcbmltcG9ydCB7IEhhc2hNYXAgfSBmcm9tICcuLi8uLi91dGlscy90eXBlcyc7XG5pbXBvcnQgeyBDb3JlRXZlbnRUeXBlcyB9IGZyb20gJy4uLy4uL2V2ZW50LWxvZ2dlcic7XG5pbXBvcnQgeyBEYXRvR3JpZE92ZXJsYXlJbnB1dCB9IGZyb20gJy4uL2dyaWQtbm8tZGF0YS1vdmVybGF5L2dyaWQtdjItbm8tZGF0YS1vdmVybGF5LnR5cGVzJztcbmltcG9ydCB7IE9wZXJhdG9yVHlwZXMgfSBmcm9tICcuLi8uLi9vcGVyYXRvci10b2dnbGVyL29wZXJhdG9yLXRvZ2dsZXIudHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nKSA9PiB7XG4gIGlmICghcGFyYW1zIHx8ICFwYXJhbXMudmFsdWUpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gYDxkaXYgY2xhc3M9XCJ2YWx1ZS13cmFwcGVyIGVsbGlwc2lzXCI+JHtzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIocGFyYW1zLCBzZWFyY2hUZXJtKX08L2Rpdj5gO1xufTtcblxuZXhwb3J0IGNvbnN0IHNlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlciA9IChwYXJhbXM6IElDZWxsUmVuZGVyZXJQYXJhbXMsIHNlYXJjaFRlcm06IHN0cmluZykgPT4ge1xuICBzZWFyY2hUZXJtID0gKHNlYXJjaFRlcm0gfHwgJycpLnRyaW0oKTtcbiAgY29uc3QgdmFsdWUgPSAocGFyYW1zLnZhbHVlRm9ybWF0dGVkIHx8IHBhcmFtcy52YWx1ZSB8fCAnJykudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHNlYXJjaFRlcm1cbiAgICA/IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChzZWFyY2hUZXJtLCAnZ2knKSwgKHN0cjogc3RyaW5nKSA9PiBgPHNwYW4gY2xhc3M9XCJzZWFyY2gtaGlnaGxpZ2h0XCI+JHtzdHJ9PC9zcGFuPmApXG4gICAgOiB2YWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xuICBjdXN0b21IZWFkZXJUb29sdGlwPzogc3RyaW5nO1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICB0ZXh0Q3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGljb25Dc3NDbGFzcz86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBudW1iZXI7XG4gIHNob3dTcGlubmVyPzogYm9vbGVhbjtcbiAgbWF4TGFiZWxzPzogbnVtYmVyO1xuICBnZXRBZGRpdGlvbmFsVGV4dD86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgYWRkaXRpb25hbFRleHRDc3NDbGFzcz86IHN0cmluZztcbiAgZ2V0SW1hZ2VVcmw/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGluaXRpYWxzQ29uZmlnPzogRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWc7XG4gIGdldElzVmlzaWJsZT86IChkYXRhOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldEl0ZW1zPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nW107XG4gIHN0YXR1cz86IEdyaWRTdGF0dXNDb2x1bW5UeXBlcztcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnID0ge1xuICBmaXJzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgbGFzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgZnVsbE5hbWVGaWVsZD86IHN0cmluZztcbiAgZ2V0RnVsbE5hbWU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGlzQm9sZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZEZpbHRlckNvbmZpZyA9IHtcbiAgc2VjdGlvbnM/OiBEYXRvR3JpZEZpbHRlclNlY3Rpb25zO1xuICBwcmVkZWZpbmVkTGlzdFZhbHVlcz86IChzdHJpbmcgfCBMaXN0SXRlbSlbXTtcbiAga2VlcFByZWRlZmluZWRMaXN0T3JpZ2luYWxPcmRlcj86IGJvb2xlYW47XG4gIHNob3dFbXB0eUNvbmRpdGlvbnM/OiBib29sZWFuO1xuICBzaG93Q2xlYXJGaWx0ZXJzQnV0dG9uPzogYm9vbGVhbjtcbiAgaW5wdXRDb25kaXRpb25zT3BlcmF0b3I/OiBPcGVyYXRvclR5cGVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgZXhwb3J0R3JpZD8ocGFyYW1zOiBEYXRvR3JpZEV4cG9ydFBhcmFtcyk6IHZvaWQ7XG4gIGRlZmF1bHRDb2xEZWY/OiBEYXRvR3JpZENvbHVtbkRlZjtcbiAgZGF0YXNvdXJjZT86IHtcbiAgICBnZXRSb3dzKHBhcmFtczogRGF0b0dyaWRHZXRSb3dzUGFyYW1zKTogdm9pZDtcbiAgICAvLyBvcHRpb25hbCBkZXN0cm95IG1ldGhvZCwgaWYgeW91ciBkYXRhc291cmNlIGhhcyBzdGF0ZSBpdCBuZWVkcyB0byBjbGVhbiB1cFxuICAgIGRlc3Ryb3k/KCk6IHZvaWQ7XG4gIH07XG4gIGN1c3RvbUNvbnRleHRNZW51Pyhyb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSk6IFJvd0FjdGlvbltdO1xuICBob3ZlckNvbmZpZz86IERhdG9HcmlkT25Ib3ZlckNvbmZpZztcbiAgb3ZlcmxheXNDb25maWc/OiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcbiAgZGlzdGluY3RSZXN1bHRzPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIGVuYWJsZVNlYXJjaD86IGJvb2xlYW47XG4gIGVuYWJsZVNlYXJjaEhpZ2hsaWdodD86IGJvb2xlYW47XG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0PzogYm9vbGVhbjtcbiAgc2VhcmNoRGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd011bHRpU2VsZWN0aW9uQ2hlY2tib3hlcz86IGJvb2xlYW47XG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaWRDb2x1bW5LZXk/OiBzdHJpbmc7XG4gIGVuYWJsZUJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Qm90dG9tQ29udHJvbHM/OiBib29sZWFuO1xuICBzb3J0QnlTdG9yZT86IGJvb2xlYW47XG4gIHVzZVBpdm90R3JpZFN0eWxlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnVJdGVtID0gc3RyaW5nIHwgTWVudUl0ZW1EZWY7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udmVydGVyUGFyYW1zIHtcbiAgbm9kZTogUm93Tm9kZTtcbiAgdG9vbGJhckFjdGlvbnM6IFJvd0FjdGlvbltdO1xuICBzZWxlY3RlZFJvd3M6IFJvd05vZGVbXTtcbiAgaWNvblJlZ2lzdHJ5OiBJY29uUmVnaXN0cnk7XG4gIGxvZ2dlcj86IHtcbiAgICBsb2coZXZlbnRUeXBlOiBDb3JlRXZlbnRUeXBlcy5HUklEX1RBQkxFX0FDVElPTiwgZXZlbnRQcm9wZXJ0aWVzPzogSGFzaE1hcDxhbnk+KTogdm9pZDtcbiAgICBldmVudE9yaWdpbj86IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRTb3J0RGlyZWN0aW9uID0gJ2FzYycgfCAnZGVzYyc7XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNvcnQgPSB7XG4gIGNvbElkOiBzdHJpbmc7XG4gIHNvcnQ6IERhdG9HcmlkU29ydERpcmVjdGlvbjtcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIHNvcnRJbmRleD86IG51bWJlcjtcbn07XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNlcnZlclNvcnREaXJlY3Rpb24gPSAnQVNDJyB8ICdERVNDJztcbmV4cG9ydCB0eXBlIERhdG9HcmlkU2VydmVyU29ydCA9IHsgY29sdW1uOiBzdHJpbmc7IHNvcnRPcmRlcjogRGF0b0dyaWRTZXJ2ZXJTb3J0RGlyZWN0aW9uIH07XG5cbmV4cG9ydCBjb25zdCBlbnVtIERhdG9HcmlkQWxpZ25tZW50IHtcbiAgRklUX1RPX0NPTlRBSU5FUixcbiAgRklUX1RPX0NPTlRFTlQsXG4gIENVU1RPTVxufVxuXG5leHBvcnQgZW51bSBHcmlkTWluV2lkdGhzIHtcbiAgRGVmYXVsdCA9IDEwNyxcbiAgV2l0aF9JbmZvID0gMTMxXG59XG5cbmV4cG9ydCBlbnVtIERhdG9HcmlkQ29sdW1uVHlwZXMge1xuICBTdHJpbmcgPSAnU3RyaW5nJyxcbiAgTnVtYmVyID0gJ051bWJlcicsXG4gIERhdGUgPSAnRGF0ZScsXG4gIFN0YXR1cyA9ICdTdGF0dXMnLFxuICBJdGVtcyA9ICdJdGVtcycsXG4gIEl0ZW1zQ291bnQgPSAnSXRlbXNDb3VudCcsXG4gIEluaXRpYWxzID0gJ0luaXRpYWxzJyxcbiAgQXZhdGFyID0gJ0F2YXRhcidcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZFRyZWVDb25maWcge1xuICBpZEtleTogc3RyaW5nO1xuICBwYXJlbnRJREtleTogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBBZ0dyaWRSb3dJY29uID1cbiAgfCBzdHJpbmdcbiAgfCB7XG4gICAgICBleHBhbmRlZDogc3RyaW5nO1xuICAgICAgY29sbGFwc2VkOiBzdHJpbmc7XG4gICAgfTtcblxuZXhwb3J0IGVudW0gR3JpZFJvd1NlbGVjdGlvblR5cGUge1xuICBTSU5HTEUgPSAnc2luZ2xlJyxcbiAgTVVMVElQTEUgPSAnbXVsdGlwbGUnXG59XG5cbmV4cG9ydCB0eXBlIEdyaWRSb3dzU2VsZWN0aW9uRGF0YSA9IHtcbiAgdG90YWxSb3dzQ291bnQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRSb3dzQ291bnQ6IG51bWJlcjtcbiAgc2VsZWN0ZWRQYWdlUm93c0NvdW50OiBudW1iZXI7XG4gIGlzQWxsUGFnZVJvd3NTZWxlY3RlZDogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIEdyaWRDaGFuZ2VFdmVudCA9IHtcbiAgdHlwZTogc3RyaW5nO1xuICBkYXRhOiBSb3dOb2RlW107XG4gIGZpbHRlcjogRGF0b0dyaWRFeHRlcm5hbEZpbHRlcltdO1xuICBzb3J0OiBEYXRvR3JpZFNvcnQ7XG59O1xuXG5leHBvcnQgZW51bSBHcmlkU3RhdHVzQ29sdW1uVHlwZXMge1xuICBTVUNDRVNTID0gJ1NVQ0NFU1MnLFxuICBGQUlMVVJFID0gJ0ZBSUxVUkUnLFxuICBJTl9QUk9HUkVTUyA9ICdJTl9QUk9HUkVTUycsXG4gIFBFTkRJTkcgPSAnUEVORElORycsXG4gIFdBSVRJTkcgPSAnV0FJVElORydcbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC12Mi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BkYXRvcmFtYS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2dyaWQtdjIvZ3JpZC9ncmlkLXYyLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLFNBQVMsTUFBTSxXQUFXLENBQUM7QUFFbEMsTUFBTSxDQUFDLElBQU0sNkJBQTZCLEdBQUcsVUFBQSxNQUFNO0lBQ2pELE9BQUEsTUFBTSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDJDQUF1QyxNQUFNLENBQUMsS0FBSyxXQUFRLENBQUMsQ0FBQyxDQUFDLElBQUk7QUFBM0YsQ0FBMkYsQ0FBQztBQUU5RixNQUFNLENBQUMsSUFBTSx1Q0FBdUMsR0FBRyxVQUFDLE1BQTJCLEVBQUUsVUFBa0IsRUFBRSxTQUFrQjtJQUN6SCxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRTtRQUM1QixPQUFPLElBQUksQ0FBQztLQUNiO0lBQ0QsT0FBTywyQ0FBdUMsMkJBQTJCLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsV0FBUSxDQUFDO0FBQ25ILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDJCQUEyQixHQUFHLFVBQUMsTUFBMkIsRUFBRSxVQUFrQixFQUFFLFNBQWdCO0lBQWhCLDBCQUFBLEVBQUEsZ0JBQWdCO0lBQzNHLElBQUksU0FBUyxHQUFHLENBQUMsTUFBTSxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBRXpFLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQy9CO1NBQU07UUFDTCxTQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQztJQUVELFVBQVUsR0FBRyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUV2QyxPQUFPLFVBQVUsQ0FBQyxDQUFDO1FBQ2pCLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxFQUFFLFVBQUMsR0FBVyxJQUFLLE9BQUEsc0NBQWtDLEdBQUcsWUFBUyxFQUE5QyxDQUE4QyxDQUFDLENBQUMsQ0FBQztRQUNsSCxTQUFTLENBQUM7QUFDZCxDQUFDLENBQUM7QUEySEYsTUFBTSxDQUFOLElBQVksYUFHWDtBQUhELFdBQVksYUFBYTtJQUN2Qix5REFBYSxDQUFBO0lBQ2IsNkRBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSFcsYUFBYSxLQUFiLGFBQWEsUUFHeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFTWDtBQVRELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHdDQUFpQixDQUFBO0lBQ2pCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0lBQ2YsZ0RBQXlCLENBQUE7SUFDekIsNENBQXFCLENBQUE7SUFDckIsd0NBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQVRXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFTOUI7QUFjRCxNQUFNLENBQU4sSUFBWSxvQkFHWDtBQUhELFdBQVksb0JBQW9CO0lBQzlCLHlDQUFpQixDQUFBO0lBQ2pCLDZDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFIVyxvQkFBb0IsS0FBcEIsb0JBQW9CLFFBRy9CO0FBZ0JELE1BQU0sQ0FBTixJQUFZLHFCQU1YO0FBTkQsV0FBWSxxQkFBcUI7SUFDL0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7SUFDbkIsb0RBQTJCLENBQUE7SUFDM0IsNENBQW1CLENBQUE7SUFDbkIsNENBQW1CLENBQUE7QUFDckIsQ0FBQyxFQU5XLHFCQUFxQixLQUFyQixxQkFBcUIsUUFNaEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb2xEZWYsIEdyaWRPcHRpb25zLCBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBJR2V0Um93c1BhcmFtcywgTWVudUl0ZW1EZWYsIFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgeyBEYXRvR3JpZEV4dGVybmFsRmlsdGVyLCBEYXRvR3JpZEZpbHRlclNlY3Rpb25zLCBMaXN0SXRlbSB9IGZyb20gJy4uL2dyaWQtZmlsdGVyL2dyaWQtZmlsdGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9TZXJ2ZXJQYWdpbmF0aW9uQ29uZmlnIH0gZnJvbSAnLi4vZ3JpZC1wYWdpbmF0aW9uL2dyaWQtcGFnaW5hdGlvbi50eXBlcyc7XG5pbXBvcnQgeyBBZ0dyaWRFdmVudCB9IGZyb20gJ2FnLWdyaWQtY29tbXVuaXR5L2Rpc3QvbGliL2V2ZW50cyc7XG5pbXBvcnQgeyBSb3dBY3Rpb24gfSBmcm9tICcuLi9ncmlkLXRvb2xiYXIvZ3JpZC10b29sYmFyLnR5cGVzJztcbmltcG9ydCB7IEljb25SZWdpc3RyeSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2ljb24tcmVnaXN0cnknO1xuaW1wb3J0IHsgRGF0b0dyaWRBcGkgfSBmcm9tICcuLi9ncmlkLWNvbnRyb2xsZXIvZ3JpZC1jb250cm9sbGVyLnR5cGVzJztcbmltcG9ydCB7IERhdG9HcmlkU2V0dGluZ3MgfSBmcm9tICcuLi9ncmlkLXN0b3JlL2dyaWQuc3RvcmUudHlwZXMnO1xuaW1wb3J0IHsgRGF0b0dyaWRNb3JlTWVudUFjdGlvbnMgfSBmcm9tICcuLi9ncmlkLWNvbHVtbi1oZWFkZXItbW9yZS1tZW51L2dyaWQtY29sdW1uLWhlYWRlci1tb3JlLW1lbnUudHlwZXMnO1xuaW1wb3J0IHsgSGFzaE1hcCB9IGZyb20gJy4uLy4uL3V0aWxzL3R5cGVzJztcbmltcG9ydCB7IENvcmVFdmVudFR5cGVzIH0gZnJvbSAnLi4vLi4vZXZlbnQtbG9nZ2VyJztcbmltcG9ydCB7IERhdG9HcmlkT3ZlcmxheUlucHV0IH0gZnJvbSAnLi4vZ3JpZC1uby1kYXRhLW92ZXJsYXkvZ3JpZC12Mi1uby1kYXRhLW92ZXJsYXkudHlwZXMnO1xuaW1wb3J0IHsgT3BlcmF0b3JUeXBlcyB9IGZyb20gJy4uLy4uL29wZXJhdG9yLXRvZ2dsZXIvb3BlcmF0b3ItdG9nZ2xlci50eXBlcyc7XG5pbXBvcnQgeyBlc2NhcGUgfSBmcm9tICcuLi8uLi91dGlscy9zdHJpbmcnO1xuaW1wb3J0IERPTVB1cmlmeSBmcm9tICdkb21wdXJpZnknO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRhYmxlQ29sdW1uUmVuZGVyZXIgPSBwYXJhbXMgPT5cbiAgcGFyYW1zICYmIHBhcmFtcy52YWx1ZSA/IGA8ZGl2IGNsYXNzPVwidmFsdWUtd3JhcHBlciBlbGxpcHNpc1wiPiR7cGFyYW1zLnZhbHVlfTwvZGl2PmAgOiBudWxsO1xuXG5leHBvcnQgY29uc3QgZWRpdGFibGVDZWxsUmVuZGVyZXJXaXRoU2VhcmNoSGlnaGxpZ2h0ID0gKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcywgc2VhcmNoVGVybTogc3RyaW5nLCBhbGxvd0hUTUw6IGJvb2xlYW4pID0+IHtcbiAgaWYgKCFwYXJhbXMgfHwgIXBhcmFtcy52YWx1ZSkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBgPGRpdiBjbGFzcz1cInZhbHVlLXdyYXBwZXIgZWxsaXBzaXNcIj4ke3NlYXJjaEhpZ2hsaWdodENlbGxSZW5kZXJlcihwYXJhbXMsIHNlYXJjaFRlcm0sIGFsbG93SFRNTCl9PC9kaXY+YDtcbn07XG5cbmV4cG9ydCBjb25zdCBzZWFyY2hIaWdobGlnaHRDZWxsUmVuZGVyZXIgPSAocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zLCBzZWFyY2hUZXJtOiBzdHJpbmcsIGFsbG93SFRNTCA9IHRydWUpOiBzdHJpbmcgPT4ge1xuICBsZXQgY2VsbFZhbHVlID0gKHBhcmFtcy52YWx1ZUZvcm1hdHRlZCB8fCBwYXJhbXMudmFsdWUgfHwgJycpLnRvU3RyaW5nKCk7XG5cbiAgaWYgKCFhbGxvd0hUTUwpIHtcbiAgICBjZWxsVmFsdWUgPSBlc2NhcGUoY2VsbFZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICBjZWxsVmFsdWUgPSBET01QdXJpZnkuc2FuaXRpemUoY2VsbFZhbHVlKTtcbiAgfVxuXG4gIHNlYXJjaFRlcm0gPSAoc2VhcmNoVGVybSB8fCAnJykudHJpbSgpO1xuXG4gIHJldHVybiBzZWFyY2hUZXJtID9cbiAgICBjZWxsVmFsdWUucmVwbGFjZShuZXcgUmVnRXhwKHNlYXJjaFRlcm0sICdnaScpLCAoc3RyOiBzdHJpbmcpID0+IGA8c3BhbiBjbGFzcz1cInNlYXJjaC1oaWdobGlnaHRcIj4ke3N0cn08L3NwYW4+YCkgOlxuICAgIGNlbGxWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkQ29sdW1uRGVmID0ge1xuICBmaWx0ZXJzQ29uZmlnPzogRGF0b0dyaWRGaWx0ZXJDb25maWc7XG4gIG1vcmVNZW51QWN0aW9ucz86IERhdG9HcmlkTW9yZU1lbnVBY3Rpb25zW107XG4gIGluZm8/OiBzdHJpbmc7XG4gIG9yaWdpbmFsV2lkdGg/OiBudW1iZXI7XG4gIGluY2x1ZGVJblNlYXJjaD86IGJvb2xlYW47XG4gIGN1c3RvbUNlbGxDb25maWc/OiBEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc7XG4gIHZhbHVlVG9DdXN0b21DZWxsQ29uZmlnPzogSGFzaE1hcDxEYXRvR3JpZEN1c3RvbUNlbGxDb25maWc+O1xuICBjdXN0b21IZWFkZXJUb29sdGlwPzogc3RyaW5nO1xufSAmIENvbERlZjtcblxuZXhwb3J0IHR5cGUgRGF0b0dyaWRDdXN0b21DZWxsQ29uZmlnID0ge1xuICB0ZXh0Q3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGljb25Dc3NDbGFzcz86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBudW1iZXI7XG4gIHNob3dTcGlubmVyPzogYm9vbGVhbjtcbiAgbWF4TGFiZWxzPzogbnVtYmVyO1xuICBnZXRBZGRpdGlvbmFsVGV4dD86IChkYXRhOiBhbnkpID0+IHN0cmluZztcbiAgYWRkaXRpb25hbFRleHRDc3NDbGFzcz86IHN0cmluZztcbiAgZ2V0SW1hZ2VVcmw/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGluaXRpYWxzQ29uZmlnPzogRGF0b0dyaWRJbml0aWFsc0NlbGxDb25maWc7XG4gIGdldElzVmlzaWJsZT86IChkYXRhOiBhbnkpID0+IGJvb2xlYW47XG4gIGdldEl0ZW1zPzogKGRhdGE6IGFueSkgPT4gc3RyaW5nW107XG4gIHN0YXR1cz86IEdyaWRTdGF0dXNDb2x1bW5UeXBlcztcbn07XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkSW5pdGlhbHNDZWxsQ29uZmlnID0ge1xuICBmaXJzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgbGFzdE5hbWVGaWVsZD86IHN0cmluZztcbiAgZnVsbE5hbWVGaWVsZD86IHN0cmluZztcbiAgZ2V0RnVsbE5hbWU/OiAoZGF0YTogYW55KSA9PiBzdHJpbmc7XG4gIGlzQm9sZD86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZEZpbHRlckNvbmZpZyA9IHtcbiAgc2VjdGlvbnM/OiBEYXRvR3JpZEZpbHRlclNlY3Rpb25zO1xuICBwcmVkZWZpbmVkTGlzdFZhbHVlcz86IChzdHJpbmcgfCBMaXN0SXRlbSlbXTtcbiAga2VlcFByZWRlZmluZWRMaXN0T3JpZ2luYWxPcmRlcj86IGJvb2xlYW47XG4gIHNob3dFbXB0eUNvbmRpdGlvbnM/OiBib29sZWFuO1xuICBzaG93Q2xlYXJGaWx0ZXJzQnV0dG9uPzogYm9vbGVhbjtcbiAgaW5wdXRDb25kaXRpb25zT3BlcmF0b3I/OiBPcGVyYXRvclR5cGVzO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZERhdGFDaGFuZ2VkRXZlbnQgZXh0ZW5kcyBBZ0dyaWRFdmVudCB7XG4gIHR5cGU6ICdTZXJ2ZXJEYXRhTG9hZGVkJyB8ICdyb3dEYXRhQ2hhbmdlZCcgfCAncm93RGF0YVVwZGF0ZWQnO1xuICBwYWdpbmF0aW9uUGFnZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRvR3JpZEdldFJvd3NQYXJhbXMgZXh0ZW5kcyBJR2V0Um93c1BhcmFtcyB7XG4gIHNlcnZlckNvbmZpZzogRGF0b1NlcnZlclBhZ2luYXRpb25Db25maWc7XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkRXhwb3J0UGFyYW1zID0gRGF0b0dyaWRBcGkgJiBEYXRvR3JpZFNldHRpbmdzO1xuXG5leHBvcnQgdHlwZSBEYXRvR3JpZE9uSG92ZXJDb25maWcgPSB7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBtYXhEaXNwbGF5ZWRJdGVtcz86IG51bWJlcjtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRPcHRpb25zIGV4dGVuZHMgR3JpZE9wdGlvbnMge1xuICBncmlkTmFtZTogc3RyaW5nO1xuICBjb2x1bW5EZWZzOiBEYXRvR3JpZENvbHVtbkRlZltdO1xuICBzYXZlU2V0dGluZ3M/OiBib29sZWFuO1xuICBlbmFibGVWMl8xPzogYm9vbGVhbjtcbiAgZXhwb3J0R3JpZD8ocGFyYW1zOiBEYXRvR3JpZEV4cG9ydFBhcmFtcyk6IHZvaWQ7XG4gIGRlZmF1bHRDb2xEZWY/OiBEYXRvR3JpZENvbHVtbkRlZjtcbiAgZGF0YXNvdXJjZT86IHtcbiAgICBnZXRSb3dzKHBhcmFtczogRGF0b0dyaWRHZXRSb3dzUGFyYW1zKTogdm9pZDtcbiAgICAvLyBvcHRpb25hbCBkZXN0cm95IG1ldGhvZCwgaWYgeW91ciBkYXRhc291cmNlIGhhcyBzdGF0ZSBpdCBuZWVkcyB0byBjbGVhbiB1cFxuICAgIGRlc3Ryb3k/KCk6IHZvaWQ7XG4gIH07XG4gIGN1c3RvbUNvbnRleHRNZW51Pyhyb3dBY3Rpb25zOiBSb3dBY3Rpb25bXSk6IFJvd0FjdGlvbltdO1xuICBob3ZlckNvbmZpZz86IERhdG9HcmlkT25Ib3ZlckNvbmZpZztcbiAgb3ZlcmxheXNDb25maWc/OiBEYXRvR3JpZE92ZXJsYXlJbnB1dDtcbiAgZGlzdGluY3RSZXN1bHRzPzogYm9vbGVhbjtcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG4gIGVuYWJsZVNlYXJjaD86IGJvb2xlYW47XG4gIGVuYWJsZVNlYXJjaEhpZ2hsaWdodD86IGJvb2xlYW47XG4gIGNvbHVtbnNJbmNsdWRlZEluU2VhcmNoQnlEZWZhdWx0PzogYm9vbGVhbjtcbiAgc2VhcmNoRGVib3VuY2VUaW1lPzogbnVtYmVyO1xuICBpbmNsdWRlSGlkZGVuQ29sdW1uc0luU2VhcmNoPzogYm9vbGVhbjtcbiAgc2hvd011bHRpU2VsZWN0aW9uQ2hlY2tib3hlcz86IGJvb2xlYW47XG4gIGVuYWJsZUFsbFBhZ2VzU2VsZWN0aW9uPzogYm9vbGVhbjtcbiAgaWRDb2x1bW5LZXk/OiBzdHJpbmc7XG4gIGVuYWJsZUJhY2tncm91bmQ/OiBib29sZWFuO1xuICBzaG93Qm90dG9tQ29udHJvbHM/OiBib29sZWFuO1xuICBzb3J0QnlTdG9yZT86IGJvb2xlYW47XG4gIHVzZVBpdm90R3JpZFN0eWxlPzogYm9vbGVhbjtcbiAgZGlzYWJsZWRIVE1MUmVuZGVyaW5nRmllbGRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW51SXRlbSA9IHN0cmluZyB8IE1lbnVJdGVtRGVmO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbkNvbnZlcnRlclBhcmFtcyB7XG4gIG5vZGU6IFJvd05vZGU7XG4gIHRvb2xiYXJBY3Rpb25zOiBSb3dBY3Rpb25bXTtcbiAgc2VsZWN0ZWRSb3dzOiBSb3dOb2RlW107XG4gIGljb25SZWdpc3RyeTogSWNvblJlZ2lzdHJ5O1xuICBsb2dnZXI/OiB7XG4gICAgbG9nKGV2ZW50VHlwZTogQ29yZUV2ZW50VHlwZXMuR1JJRF9UQUJMRV9BQ1RJT04sIGV2ZW50UHJvcGVydGllcz86IEhhc2hNYXA8YW55Pik6IHZvaWQ7XG4gICAgZXZlbnRPcmlnaW4/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIERhdG9HcmlkU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnO1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTb3J0ID0ge1xuICBjb2xJZDogc3RyaW5nO1xuICBzb3J0OiBEYXRvR3JpZFNvcnREaXJlY3Rpb247XG4gIGZpZWxkPzogc3RyaW5nO1xuICBzb3J0SW5kZXg/OiBudW1iZXI7XG59O1xuZXhwb3J0IHR5cGUgRGF0b0dyaWRTZXJ2ZXJTb3J0RGlyZWN0aW9uID0gJ0FTQycgfCAnREVTQyc7XG5leHBvcnQgdHlwZSBEYXRvR3JpZFNlcnZlclNvcnQgPSB7IGNvbHVtbjogc3RyaW5nOyBzb3J0T3JkZXI6IERhdG9HcmlkU2VydmVyU29ydERpcmVjdGlvbiB9O1xuXG5leHBvcnQgY29uc3QgZW51bSBEYXRvR3JpZEFsaWdubWVudCB7XG4gIEZJVF9UT19DT05UQUlORVIsXG4gIEZJVF9UT19DT05URU5ULFxuICBDVVNUT01cbn1cblxuZXhwb3J0IGVudW0gR3JpZE1pbldpZHRocyB7XG4gIERlZmF1bHQgPSAxMDcsXG4gIFdpdGhfSW5mbyA9IDEzMVxufVxuXG5leHBvcnQgZW51bSBEYXRvR3JpZENvbHVtblR5cGVzIHtcbiAgU3RyaW5nID0gJ1N0cmluZycsXG4gIE51bWJlciA9ICdOdW1iZXInLFxuICBEYXRlID0gJ0RhdGUnLFxuICBTdGF0dXMgPSAnU3RhdHVzJyxcbiAgSXRlbXMgPSAnSXRlbXMnLFxuICBJdGVtc0NvdW50ID0gJ0l0ZW1zQ291bnQnLFxuICBJbml0aWFscyA9ICdJbml0aWFscycsXG4gIEF2YXRhciA9ICdBdmF0YXInXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0b0dyaWRUcmVlQ29uZmlnIHtcbiAgaWRLZXk6IHN0cmluZztcbiAgcGFyZW50SURLZXk6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgQWdHcmlkUm93SWNvbiA9XG4gIHwgc3RyaW5nXG4gIHwge1xuICAgICAgZXhwYW5kZWQ6IHN0cmluZztcbiAgICAgIGNvbGxhcHNlZDogc3RyaW5nO1xuICAgIH07XG5cbmV4cG9ydCBlbnVtIEdyaWRSb3dTZWxlY3Rpb25UeXBlIHtcbiAgU0lOR0xFID0gJ3NpbmdsZScsXG4gIE1VTFRJUExFID0gJ211bHRpcGxlJ1xufVxuXG5leHBvcnQgdHlwZSBHcmlkUm93c1NlbGVjdGlvbkRhdGEgPSB7XG4gIHRvdGFsUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUm93c0NvdW50OiBudW1iZXI7XG4gIHNlbGVjdGVkUGFnZVJvd3NDb3VudDogbnVtYmVyO1xuICBpc0FsbFBhZ2VSb3dzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuXG5leHBvcnQgdHlwZSBHcmlkQ2hhbmdlRXZlbnQgPSB7XG4gIHR5cGU6IHN0cmluZztcbiAgZGF0YTogUm93Tm9kZVtdO1xuICBmaWx0ZXI6IERhdG9HcmlkRXh0ZXJuYWxGaWx0ZXJbXTtcbiAgc29ydDogRGF0b0dyaWRTb3J0O1xufTtcblxuZXhwb3J0IGVudW0gR3JpZFN0YXR1c0NvbHVtblR5cGVzIHtcbiAgU1VDQ0VTUyA9ICdTVUNDRVNTJyxcbiAgRkFJTFVSRSA9ICdGQUlMVVJFJyxcbiAgSU5fUFJPR1JFU1MgPSAnSU5fUFJPR1JFU1MnLFxuICBQRU5ESU5HID0gJ1BFTkRJTkcnLFxuICBXQUlUSU5HID0gJ1dBSVRJTkcnXG59XG4iXX0=