{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChartEnhanced\\src\\main.vue?vue&type=script&lang=js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@jiaminghi\\data-view\\lib\\components\\flylineChartEnhanced\\src\\main.vue","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:Ly8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KLy8KCmltcG9ydCB7IGRlZXBNZXJnZSB9IGZyb20gJ0BqaWFtaW5naGkvY2hhcnRzL2xpYi91dGlsL2luZGV4JwoKaW1wb3J0IHsgZGVlcENsb25lIH0gZnJvbSAnQGppYW1pbmdoaS9jLXJlbmRlci9saWIvcGx1Z2luL3V0aWwnCgppbXBvcnQgeyByYW5kb21FeHRlbmQsIGdldFBvaW50RGlzdGFuY2UsIHV1aWQgfSBmcm9tICcuLi8uLi8uLi91dGlsL2luZGV4JwoKaW1wb3J0IGF1dG9SZXNpemUgZnJvbSAnLi4vLi4vLi4vbWl4aW4vYXV0b1Jlc2l6ZScKCmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRHZGbHlsaW5lQ2hhcnRFbmhhbmNlZCcsCiAgbWl4aW5zOiBbYXV0b1Jlc2l6ZV0sCiAgcHJvcHM6IHsKICAgIGNvbmZpZzogewogICAgICB0eXBlOiBPYmplY3QsCiAgICAgIGRlZmF1bHQ6ICgpID0+ICh7fSkKICAgIH0sCiAgICBkZXY6IHsKICAgICAgdHlwZTogQm9vbGVhbiwKICAgICAgZGVmYXVsdDogZmFsc2UKICAgIH0KICB9LAogIGRhdGEgKCkgewogICAgY29uc3QgaWQgPSB1dWlkKCkKICAgIHJldHVybiB7CiAgICAgIHJlZjogJ2R2LWZseWxpbmUtY2hhcnQtZW5oYW5jZWQnLAogICAgICB1bmlxdWU6IE1hdGgucmFuZG9tKCksCiAgICAgIGZseWxpbmVHcmFkaWVudElkOiBgZmx5bGluZS1ncmFkaWVudC1pZC0ke2lkfWAsCiAgICAgIGhhbG9HcmFkaWVudElkOiBgaGFsby1ncmFkaWVudC1pZC0ke2lkfWAsCiAgICAgIC8qKgogICAgICAgKiBAZGVzY3JpcHRpb24gVHlwZSBEZWNsYXJhdGlvbgogICAgICAgKiAKICAgICAgICogaW50ZXJmYWNlIEhhbG8gewogICAgICAgKiAgICBzaG93PzogYm9vbGVhbgogICAgICAgKiAgICBkdXJhdGlvbj86IFtudW1iZXIsIG51bWJlcl0KICAgICAgICogICAgY29sb3I/OiBzdHJpbmcKICAgICAgICogICAgcmFkaXVzPzogbnVtYmVyCiAgICAgICAqIH0KICAgICAgICogCiAgICAgICAqIGludGVyZmFjZSBUZXh0IHsKICAgICAgICogICAgc2hvdz86IGJvb2xlYW4KICAgICAgICogICAgb2Zmc2V0PzogW251bWJlciwgbnVtYmVyXQogICAgICAgKiAgICBjb2xvcj86IHN0cmluZwogICAgICAgKiAgICBmb250U2l6ZT86IG51bWJlcgogICAgICAgKiB9CiAgICAgICAqIAogICAgICAgKiBpbnRlcmZhY2UgSWNvbiB7CiAgICAgICAqICAgIHNob3c/OiBib29sZWFuCiAgICAgICAqICAgIHNyYz86IHN0cmluZwogICAgICAgKiAgICB3aWR0aD86IG51bWJlcgogICAgICAgKiAgICBoZWlnaHQ/OiBudW1iZXIKICAgICAgICogfQogICAgICAgKiAKICAgICAgICogaW50ZXJmYWNlIFBvaW50IHsKICAgICAgICogICAgbmFtZTogc3RyaW5nCiAgICAgICAqICAgIGNvb3JkaW5hdGU6IFtudW1iZXIsIG51bWJlcl0KICAgICAgICogICAgaGFsbz86IEhhbG8KICAgICAgICogICAgdGV4dD86IFRleHQKICAgICAgICogICAgaWNvbj86IEljb24KICAgICAgICogfQogICAgICAgKiAKICAgICAgICogaW50ZXJmYWNlIExpbmUgewogICAgICAgKiAgICB3aWR0aD86IG51bWJlcgogICAgICAgKiAgICBjb2xvcj86IHN0cmluZwogICAgICAgKiAgICBvcmJpdENvbG9yPzogc3RyaW5nCiAgICAgICAqICAgIGR1cmF0aW9uPzogW251bWJlciwgbnVtYmVyXQogICAgICAgKiAgICByYWRpdXM/OiBzdHJpbmcKICAgICAgICogfQogICAgICAgKiAKICAgICAgICogaW50ZXJmYWNlIEZseWxpbmUgZXh0ZW5kcyBMaW5lIHsKICAgICAgICogICAgc291cmNlOiBzdHJpbmcKICAgICAgICogICAgdGFyZ2V0OiBzdHJpbmcKICAgICAgICogfQogICAgICAgKiAKICAgICAgICogaW50ZXJmYWNlIEZseWxpbmVXaXRoUGF0aCBleHRlbmRzIEZseWxpbmUgewogICAgICAgKiAgICBkOiBzdHJpbmcKICAgICAgICogICAgcGF0aDogW1tudW1iZXIsIG51bWJlcl0sIFtudW1iZXIsIG51bWJlcl0sIFtudW1iZXIsIG51bWJlcl1dCiAgICAgICAqICAgIGtleTogc3RyaW5nCiAgICAgICAqIH0KICAgICAgICovCiAgICAgIGRlZmF1bHRDb25maWc6IHsKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSBjaGFydCBwb2ludHMKICAgICAgICAgKiBAdHlwZSB7UG9pbnRbXX0KICAgICAgICAgKiBAZGVmYXVsdCBwb2ludHMgPSBbXQogICAgICAgICAqLwogICAgICAgIHBvaW50czogW10sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIExpbmVzCiAgICAgICAgICogQHR5cGUge0ZseWxpbmVbXX0KICAgICAgICAgKiBAZGVmYXVsdCBsaW5lcyA9IFtdCiAgICAgICAgICovCiAgICAgICAgbGluZXM6IFtdLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBHbG9iYWwgaGFsbyBjb25maWd1cmF0aW9uCiAgICAgICAgICogQHR5cGUge0hhbG99CiAgICAgICAgICovCiAgICAgICAgaGFsbzogewogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0byBzaG93IGhhbG8KICAgICAgICAgICAqIEB0eXBlIHtCb29sZWFufQogICAgICAgICAgICogQGRlZmF1bHQgc2hvdyA9IGZhbHNlCiAgICAgICAgICAgKi8KICAgICAgICAgIHNob3c6IGZhbHNlLAogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gSGFsbyBhbmltYXRpb24gZHVyYXRpb24gKDFzID0gMTApCiAgICAgICAgICAgKiBAdHlwZSB7W251bWJlciwgbnVtYmVyXX0KICAgICAgICAgICAqLwogICAgICAgICAgZHVyYXRpb246IFsyMCwgMzBdLAogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gSGFsbyBjb2xvcgogICAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgICAqIEBkZWZhdWx0IGNvbG9yID0gJyNmYjcyOTMnCiAgICAgICAgICAgKi8KICAgICAgICAgIGNvbG9yOiAnI2ZiNzI5MycsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBIYWxvIHJhZGl1cwogICAgICAgICAgICogQHR5cGUge051bWJlcn0KICAgICAgICAgICAqIEBkZWZhdWx0IHJhZGl1cyA9IDEyMAogICAgICAgICAgICovCiAgICAgICAgICByYWRpdXM6IDEyMAogICAgICAgIH0sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEdsb2JhbCB0ZXh0IGNvbmZpZ3VyYXRpb24KICAgICAgICAgKiBAdHlwZSB7VGV4dH0KICAgICAgICAgKi8KICAgICAgICB0ZXh0OiB7CiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRvIHNob3cgdGV4dAogICAgICAgICAgICogQHR5cGUge0Jvb2xlYW59CiAgICAgICAgICAgKiBAZGVmYXVsdCBzaG93ID0gZmFsc2UKICAgICAgICAgICAqLwogICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBUZXh0IG9mZnNldAogICAgICAgICAgICogQHR5cGUge1tudW1iZXIsIG51bWJlcl19CiAgICAgICAgICAgKiBAZGVmYXVsdCBvZmZzZXQgPSBbMCwgMTVdCiAgICAgICAgICAgKi8KICAgICAgICAgIG9mZnNldDogWzAsIDE1XSwKICAgICAgICAgIC8qKgogICAgICAgICAgICogQGRlc2NyaXB0aW9uIFRleHQgY29sb3IKICAgICAgICAgICAqIEB0eXBlIHtTdHJpbmd9CiAgICAgICAgICAgKiBAZGVmYXVsdCBjb2xvciA9ICcjZmZkYjVjJwogICAgICAgICAgICovCiAgICAgICAgICBjb2xvcjogJyNmZmRiNWMnLAogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGV4dCBmb250IHNpemUKICAgICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9CiAgICAgICAgICAgKiBAZGVmYXVsdCBmb250U2l6ZSA9IDEyCiAgICAgICAgICAgKi8KICAgICAgICAgIGZvbnRTaXplOiAxMgogICAgICAgIH0sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEdsb2JhbCBpY29uIGNvbmZpZ3VyYXRpb24KICAgICAgICAgKiBAdHlwZSB7SWNvbn0KICAgICAgICAgKi8KICAgICAgICBpY29uOiB7CiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRvIHNob3cgaWNvbgogICAgICAgICAgICogQHR5cGUge0Jvb2xlYW59CiAgICAgICAgICAgKiBAZGVmYXVsdCBzaG93ID0gZmFsc2UKICAgICAgICAgICAqLwogICAgICAgICAgc2hvdzogZmFsc2UsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIHNyYwogICAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgICAqIEBkZWZhdWx0IHNyYyA9ICcnCiAgICAgICAgICAgKi8KICAgICAgICAgIHNyYzogJycsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIHdpZHRoCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAgICogQGRlZmF1bHQgd2lkdGggPSAxNQogICAgICAgICAgICovCiAgICAgICAgICB3aWR0aDogMTUsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBJY29uIGhlaWdodAogICAgICAgICAgICogQHR5cGUge051bWJlcn0KICAgICAgICAgICAqIEBkZWZhdWx0IHdpZHRoID0gMTUKICAgICAgICAgICAqLwogICAgICAgICAgaGVpZ2h0OiAxNQogICAgICAgIH0sCiAgICAgICAgLyoqCiAgICAgICAgICogQGRlc2NyaXB0aW9uIEdsb2JhbCBsaW5lIGNvbmZpZ3VyYXRpb24KICAgICAgICAgKiBAdHlwZSB7TGluZX0KICAgICAgICAgKi8KICAgICAgICBsaW5lOiB7CiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBMaW5lIHdpZHRoCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAgICogQGRlZmF1bHQgd2lkdGggPSAxCiAgICAgICAgICAgKi8KICAgICAgICAgIHdpZHRoOiAxLAogICAgICAgICAgLyoqCiAgICAgICAgICAgKiBAZGVzY3JpcHRpb24gRmx5bGluZSBjb2xvcgogICAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgICAqIEBkZWZhdWx0IGNvbG9yID0gJyNmZmRlOTMnCiAgICAgICAgICAgKi8KICAgICAgICAgIGNvbG9yOiAnI2ZmZGU5MycsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBPcmJpdCBjb2xvcgogICAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgICAqIEBkZWZhdWx0IG9yYml0Q29sb3IgPSAncmdiYSgxMDMsIDIyNCwgMjI3LCAuMiknCiAgICAgICAgICAgKi8KICAgICAgICAgIG9yYml0Q29sb3I6ICdyZ2JhKDEwMywgMjI0LCAyMjcsIC4yKScsCiAgICAgICAgICAvKioKICAgICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIGFuaW1hdGlvbiBkdXJhdGlvbgogICAgICAgICAgICogQHR5cGUge1tudW1iZXIsIG51bWJlcl19CiAgICAgICAgICAgKiBAZGVmYXVsdCBkdXJhdGlvbiA9IFsyMCwgMzBdCiAgICAgICAgICAgKi8KICAgICAgICAgIGR1cmF0aW9uOiBbMjAsIDMwXSwKICAgICAgICAgIC8qKgogICAgICAgICAgICogQGRlc2NyaXB0aW9uIEZseWxpbmUgcmFkaXVzCiAgICAgICAgICAgKiBAdHlwZSB7TnVtYmVyfQogICAgICAgICAgICogQGRlZmF1bHQgcmFkaXVzID0gMTAwCiAgICAgICAgICAgKi8KICAgICAgICAgIHJhZGl1czogMTAwCiAgICAgICAgfSwKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gQmFjayBncm91bmQgaW1hZ2UgdXJsCiAgICAgICAgICogQHR5cGUge1N0cmluZ30KICAgICAgICAgKiBAZGVmYXVsdCBiZ0ltZ1NyYyA9ICcnCiAgICAgICAgICovCiAgICAgICAgYmdJbWdTcmM6ICcnLAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBLIHZhbHVlCiAgICAgICAgICogQHR5cGUge051bWJlcn0KICAgICAgICAgKiBAZGVmYXVsdCBrID0gLTAuNQogICAgICAgICAqIEBleGFtcGxlIGsgPSAtMSB+IDEKICAgICAgICAgKi8KICAgICAgICBrOiAtMC41LAogICAgICAgIC8qKgogICAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHlsaW5lIGN1cnZhdHVyZQogICAgICAgICAqIEB0eXBlIHtOdW1iZXJ9CiAgICAgICAgICogQGRlZmF1bHQgY3VydmF0dXJlID0gNQogICAgICAgICAqLwogICAgICAgIGN1cnZhdHVyZTogNSwKICAgICAgICAvKioKICAgICAgICAgKiBAZGVzY3JpcHRpb24gUmVsYXRpdmUgcG9pbnRzIHBvc2l0aW9uCiAgICAgICAgICogQHR5cGUge0Jvb2xlYW59CiAgICAgICAgICogQGRlZmF1bHQgcmVsYXRpdmUgPSB0cnVlCiAgICAgICAgICovCiAgICAgICAgcmVsYXRpdmU6IHRydWUKICAgICAgfSwKICAgICAgLyoqCiAgICAgICAqIEBkZXNjcmlwdGlvbiBGbHkgbGluZSBkYXRhCiAgICAgICAqIEB0eXBlIHtGbHlsaW5lV2l0aFBhdGhbXX0KICAgICAgICogQGRlZmF1bHQgZmx5bGluZXMgPSBbXQogICAgICAgKi8KICAgICAgZmx5bGluZXM6IFtdLAogICAgICAvKioKICAgICAgICogQGRlc2NyaXB0aW9uIEZseSBsaW5lIGxlbmd0aHMKICAgICAgICogQHR5cGUge051bWJlcltdfQogICAgICAgKiBAZGVmYXVsdCBmbHlsaW5lTGVuZ3RocyA9IFtdCiAgICAgICAqLwogICAgICBmbHlsaW5lTGVuZ3RoczogW10sCiAgICAgIC8qKgogICAgICAgKiBAZGVzY3JpcHRpb24gRmx5IGxpbmUgcG9pbnRzCiAgICAgICAqIEBkZWZhdWx0IGZseWxpbmVQb2ludHMgPSBbXQogICAgICAgKi8KICAgICAgZmx5bGluZVBvaW50czogW10sCgogICAgICBtZXJnZWRDb25maWc6IG51bGwKICAgIH0KICB9LAogIHdhdGNoOiB7CiAgICBjb25maWcgKCkgewogICAgICBjb25zdCB7IGNhbGNEYXRhIH0gPSB0aGlzCgogICAgICBjYWxjRGF0YSgpCiAgICB9CiAgfSwKICBtZXRob2RzOiB7CiAgICBhZnRlckF1dG9SZXNpemVNaXhpbkluaXQgKCkgewogICAgICBjb25zdCB7IGNhbGNEYXRhIH0gPSB0aGlzCgogICAgICBjYWxjRGF0YSgpCiAgICB9LAogICAgb25SZXNpemUgKCkgewogICAgICBjb25zdCB7IGNhbGNEYXRhIH0gPSB0aGlzCgogICAgICBjYWxjRGF0YSgpCiAgICB9LAogICAgYXN5bmMgY2FsY0RhdGEgKCkgewogICAgICBjb25zdCB7IG1lcmdlQ29uZmlnLCBjYWxjZmx5bGluZVBvaW50cywgY2FsY0xpbmVQYXRocyB9ID0gdGhpcwoKICAgICAgbWVyZ2VDb25maWcoKQoKICAgICAgY2FsY2ZseWxpbmVQb2ludHMoKQoKICAgICAgY2FsY0xpbmVQYXRocygpCgogICAgICBjb25zdCB7IGNhbGNMaW5lTGVuZ3RocyB9ID0gdGhpcwoKICAgICAgYXdhaXQgY2FsY0xpbmVMZW5ndGhzKCkKICAgIH0sCiAgICBtZXJnZUNvbmZpZyAoKSB7CiAgICAgIGxldCB7IGNvbmZpZywgZGVmYXVsdENvbmZpZyB9ID0gdGhpcwoKICAgICAgY29uc3QgbWVyZ2VkQ29uZmlnID0gZGVlcE1lcmdlKGRlZXBDbG9uZShkZWZhdWx0Q29uZmlnLCB0cnVlKSwgY29uZmlnIHx8IHt9KQoKICAgICAgY29uc3QgeyBwb2ludHMsIGxpbmVzLCBoYWxvLCB0ZXh0LCBpY29uLCBsaW5lIH0gPSBtZXJnZWRDb25maWcKCiAgICAgIG1lcmdlZENvbmZpZy5wb2ludHMgPSBwb2ludHMubWFwKGl0ZW0gPT4gewogICAgICAgIGl0ZW0uaGFsbyA9IGRlZXBNZXJnZShkZWVwQ2xvbmUoaGFsbywgdHJ1ZSksIGl0ZW0uaGFsbyB8fCB7fSkKICAgICAgICBpdGVtLnRleHQgPSBkZWVwTWVyZ2UoZGVlcENsb25lKHRleHQsIHRydWUpLCBpdGVtLnRleHQgfHwge30pCiAgICAgICAgaXRlbS5pY29uID0gZGVlcE1lcmdlKGRlZXBDbG9uZShpY29uLCB0cnVlKSwgaXRlbS5pY29uIHx8IHt9KQoKICAgICAgICByZXR1cm4gaXRlbQogICAgICB9KQoKICAgICAgbWVyZ2VkQ29uZmlnLmxpbmVzID0gbGluZXMubWFwKGl0ZW0gPT4gewogICAgICAgIHJldHVybiBkZWVwTWVyZ2UoZGVlcENsb25lKGxpbmUsIHRydWUpLCBpdGVtKQogICAgICB9KQoKICAgICAgdGhpcy5tZXJnZWRDb25maWcgPSBtZXJnZWRDb25maWcKICAgIH0sCiAgICBjYWxjZmx5bGluZVBvaW50cyAoKSB7CiAgICAgIGNvbnN0IHsgbWVyZ2VkQ29uZmlnLCB3aWR0aCwgaGVpZ2h0IH0gPSB0aGlzCgogICAgICBjb25zdCB7IHJlbGF0aXZlLCBwb2ludHMgfSA9IG1lcmdlZENvbmZpZwoKICAgICAgdGhpcy5mbHlsaW5lUG9pbnRzID0gcG9pbnRzLm1hcCgoaXRlbSwgaSkgPT4gewogICAgICAgIGNvbnN0IHsgY29vcmRpbmF0ZTogW3gsIHldLCBoYWxvLCBpY29uLCB0ZXh0IH0gPSBpdGVtCgogICAgICAgIGlmIChyZWxhdGl2ZSkgaXRlbS5jb29yZGluYXRlID0gW3ggKiB3aWR0aCwgeSAqIGhlaWdodF0KCiAgICAgICAgaXRlbS5oYWxvLnRpbWUgPSByYW5kb21FeHRlbmQoLi4uaGFsby5kdXJhdGlvbikgLyAxMAoKICAgICAgICBjb25zdCB7IHdpZHRoOiBpdywgaGVpZ2h0OiBpaCB9ID0gaWNvbgogICAgICAgIGl0ZW0uaWNvbi54ID0gaXRlbS5jb29yZGluYXRlWzBdIC0gaXcgLyAyCiAgICAgICAgaXRlbS5pY29uLnkgPSBpdGVtLmNvb3JkaW5hdGVbMV0gLSBpaCAvIDIKCiAgICAgICAgY29uc3QgW294LCBveV0gPSB0ZXh0Lm9mZnNldAogICAgICAgIGl0ZW0udGV4dC54ID0gaXRlbS5jb29yZGluYXRlWzBdICsgb3gKICAgICAgICBpdGVtLnRleHQueSA9IGl0ZW0uY29vcmRpbmF0ZVsxXSArIG95CgogICAgICAgIGl0ZW0ua2V5ID0gYCR7aXRlbS5jb29yZGluYXRlLnRvU3RyaW5nKCl9JHtpfWAKCiAgICAgICAgcmV0dXJuIGl0ZW0KICAgICAgfSkKICAgIH0sCiAgICBjYWxjTGluZVBhdGhzICgpIHsKICAgICAgY29uc3QgeyBnZXRQYXRoLCBtZXJnZWRDb25maWcgfSA9IHRoaXMKCiAgICAgIGNvbnN0IHsgcG9pbnRzLCBsaW5lcyB9ID0gbWVyZ2VkQ29uZmlnCgogICAgICB0aGlzLmZseWxpbmVzID0gbGluZXMubWFwKGl0ZW0gPT4gewogICAgICAgIGNvbnN0IHsgc291cmNlLCB0YXJnZXQsIGR1cmF0aW9uIH0gPSBpdGVtCgogICAgICAgIGNvbnN0IHNvdXJjZVBvaW50ID0gcG9pbnRzLmZpbmQoKHsgbmFtZSB9KSA9PiBuYW1lID09PSBzb3VyY2UpLmNvb3JkaW5hdGUKICAgICAgICBjb25zdCB0YXJnZXRQb2ludCA9IHBvaW50cy5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZSA9PT0gdGFyZ2V0KS5jb29yZGluYXRlCgogICAgICAgIGNvbnN0IHBhdGggPSBnZXRQYXRoKHNvdXJjZVBvaW50LCB0YXJnZXRQb2ludCkubWFwKGl0ZW0gPT4gaXRlbS5tYXAodiA9PiBwYXJzZUZsb2F0KHYudG9GaXhlZCgxMCkpKSkKICAgICAgICBjb25zdCBkID0gYE0ke3BhdGhbMF0udG9TdHJpbmcoKX0gUSR7cGF0aFsxXS50b1N0cmluZygpfSAke3BhdGhbMl0udG9TdHJpbmcoKX1gCiAgICAgICAgY29uc3Qga2V5ID0gYHBhdGgke3BhdGgudG9TdHJpbmcoKX1gCiAgICAgICAgY29uc3QgdGltZSA9IHJhbmRvbUV4dGVuZCguLi5kdXJhdGlvbikgLyAxMAoKICAgICAgICByZXR1cm4geyAuLi5pdGVtLCBwYXRoLCBrZXksIGQsIHRpbWUgfQogICAgICB9KQogICAgfSwKICAgIGdldFBhdGggKHN0YXJ0LCBlbmQpIHsKICAgICAgY29uc3QgeyBnZXRDb250cm9sUG9pbnQgfSA9IHRoaXMKCiAgICAgIGNvbnN0IGNvbnRyb2xQb2ludCA9IGdldENvbnRyb2xQb2ludChzdGFydCwgZW5kKQoKICAgICAgcmV0dXJuIFtzdGFydCwgY29udHJvbFBvaW50LCBlbmRdCiAgICB9LAogICAgZ2V0Q29udHJvbFBvaW50IChbc3gsIHN5XSwgW2V4LCBleV0pIHsKICAgICAgY29uc3QgeyBnZXRLTGluZVBvaW50Qnl4LCBtZXJnZWRDb25maWcgfSA9IHRoaXMKCiAgICAgIGNvbnN0IHsgY3VydmF0dXJlLCBrIH0gPSBtZXJnZWRDb25maWcKCiAgICAgIGNvbnN0IFtteCwgbXldID0gWyhzeCArIGV4KSAvIDIsIChzeSArIGV5KSAvIDJdCgogICAgICBjb25zdCBkaXN0YW5jZSA9IGdldFBvaW50RGlzdGFuY2UoW3N4LCBzeV0sIFtleCwgZXldKQoKICAgICAgY29uc3QgdGFyZ2V0TGVuZ3RoID0gZGlzdGFuY2UgLyBjdXJ2YXR1cmUKICAgICAgY29uc3QgZGlzRGl2ZWQgPSB0YXJnZXRMZW5ndGggLyAyCgogICAgICBsZXQgW2R4LCBkeV0gPSBbbXgsIG15XQoKICAgICAgZG8gewogICAgICAgIGR4ICs9IGRpc0RpdmVkCiAgICAgICAgZHkgPSBnZXRLTGluZVBvaW50Qnl4KGssIFtteCwgbXldLCBkeClbMV0KICAgICAgfSB3aGlsZSAoZ2V0UG9pbnREaXN0YW5jZShbbXgsIG15XSwgW2R4LCBkeV0pIDwgdGFyZ2V0TGVuZ3RoKQoKICAgICAgcmV0dXJuIFtkeCwgZHldCiAgICB9LAogICAgZ2V0S0xpbmVQb2ludEJ5eCAoaywgW2x4LCBseV0sIHgpIHsKICAgICAgY29uc3QgeSA9IGx5IC0gayAqIGx4ICsgayAqIHgKCiAgICAgIHJldHVybiBbeCwgeV0KICAgIH0sCiAgICBhc3luYyBjYWxjTGluZUxlbmd0aHMgKCkgewogICAgICBjb25zdCB7ICRuZXh0VGljaywgZmx5bGluZXMsICRyZWZzIH0gPSB0aGlzCgogICAgICBhd2FpdCAkbmV4dFRpY2soKQoKICAgICAgdGhpcy5mbHlsaW5lTGVuZ3RocyA9IGZseWxpbmVzLm1hcCgoeyBrZXkgfSkgPT4gJHJlZnNba2V5XVswXS5nZXRUb3RhbExlbmd0aCgpKQogICAgfSwKICAgIGNvbnNvbGVDbGlja1BvcyAoeyBvZmZzZXRYLCBvZmZzZXRZIH0pIHsKICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0LCBkZXYgfSA9IHRoaXMKCiAgICAgIGlmICghZGV2KSByZXR1cm4KCiAgICAgIGNvbnN0IHJlbGF0aXZlWCA9IChvZmZzZXRYIC8gd2lkdGgpLnRvRml4ZWQoMikKICAgICAgY29uc3QgcmVsYXRpdmVZID0gKG9mZnNldFkgLyBoZWlnaHQpLnRvRml4ZWQoMikKCiAgICAgIGNvbnNvbGUud2FybihgZHYtZmx5bGluZS1jaGFydC1lbmhhbmNlZCBERVY6IFxuIENsaWNrIFBvc2l0aW9uIGlzIFske29mZnNldFh9LCAke29mZnNldFl9XSBcbiBSZWxhdGl2ZSBQb3NpdGlvbiBpcyBbJHtyZWxhdGl2ZVh9LCAke3JlbGF0aXZlWX1dYCkKICAgIH0KICB9Cn0K"},null]}