{"remainingRequest":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js??ref--0-0!D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\EquipmentManage.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\src\\views\\Device\\deviceManage\\EquipmentManage.vue","mtime":1731062408628},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\babel.config.js","mtime":1725536844935},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\bzzgj-fvue\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0IF9vYmplY3RTcHJlYWQgZnJvbSAiRDovamVua2lucy93b3Jrc3BhY2UvYnp6Z2otZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vb2JqZWN0U3ByZWFkMi5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmNvbmNhdC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LnB1c2guanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5uYW1lLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuaXRlcmF0b3IuY29uc3RydWN0b3IuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5pdGVyYXRvci5mb3ItZWFjaC5qcyI7CmltcG9ydCAiY29yZS1qcy9tb2R1bGVzL2VzLmpzb24uc3RyaW5naWZ5LmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMub2JqZWN0LmtleXMuanMiOwppbXBvcnQgImNvcmUtanMvbW9kdWxlcy9lcy5vYmplY3QudG8tc3RyaW5nLmpzIjsKaW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvd2ViLmRvbS1jb2xsZWN0aW9ucy5mb3ItZWFjaC5qcyI7Ci8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCi8vCgppbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnOwppbXBvcnQgeyBUYWJsZU1peGluIH0gZnJvbSAnQC9taXhpbnMvdGFibGVNaXhpbic7CmltcG9ydCBFcXVpcG1lbnRNYW5hZ2VEaWFsb2cgZnJvbSAnQC92aWV3cy9EZXZpY2UvZGV2aWNlTWFuYWdlL2NvbXBvbmVudHMvRXF1aXBtZW50TWFuYWdlRGlhbG9nJzsKaW1wb3J0IEVxdWlwbWVudEV4dGVuZERpYWxvZyBmcm9tICdAL3ZpZXdzL0RldmljZS9kZXZpY2VNYW5hZ2UvY29tcG9uZW50cy9FcXVpcG1lbnRFeHRlbmREaWFsb2cnOwppbXBvcnQgcmVzb3VyY2VNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL3Jlc291cmNlTWFuYWdlLmpzJzsKaW1wb3J0IHVzZXJNYW5hZ2UgZnJvbSAnQC9hcGkvZGV2aWNlL3VzZXJNYW5hZ2UuanMnOwppbXBvcnQgZXF1aXBtZW50TWFuYWdlIGZyb20gJ0AvYXBpL2RldmljZS9lcXVpcG1lbnRNYW5hZ2UuanMnOwppbXBvcnQgZGljdFV0aWxzIGZyb20gJ0AvY29tcG9uZW50cy9kaWN0L0RpY3RTZWxlY3RVdGlscy5qcyc7CmltcG9ydCB1dGlscyBmcm9tICdAL3V0aWxzLmpzJzsKaW1wb3J0IHV0aWxzSFQgZnJvbSAnQC9ob3RlbnQtdWktdXRpbC5qcyc7CmV4cG9ydCBkZWZhdWx0IHsKICBuYW1lOiAnRXF1aXBtZW50TWFuYWdlJywKICBjb21wb25lbnRzOiB7CiAgICBFcXVpcG1lbnRNYW5hZ2VEaWFsb2c6IEVxdWlwbWVudE1hbmFnZURpYWxvZywKICAgIEVxdWlwbWVudEV4dGVuZERpYWxvZzogRXF1aXBtZW50RXh0ZW5kRGlhbG9nCiAgfSwKICBtaXhpbnM6IFtUYWJsZU1peGluXSwKICBkYXRhOiBmdW5jdGlvbiBkYXRhKCkgewogICAgcmV0dXJuIHsKICAgICAgaW1wb3J0VmlzaWJsZTogZmFsc2UsCiAgICAgIHVwbG9hZGluZzogZmFsc2UsCiAgICAgIHJldmlzZURhdDogJycsCiAgICAgIHJldmlzZVZpc2libGU6IGZhbHNlLAogICAgICByZXZpc2VTdGFydDogJycsCiAgICAgIGV4cG9ydFBhcmFtOiB7fSwKICAgICAgLy/mkLrluKblj4LmlbAKICAgICAgdXBsb2FkRGF0YTogewogICAgICAgIHByb2R1Y3RJZDogJycKICAgICAgfSwKICAgICAgdXJsOiB7CiAgICAgICAgZGVsZXRlOiAnL2RldmljZS9pbmZvLycKICAgICAgfSwKICAgICAgdHJlZURhdGE6IFtdLAogICAgICBwcm9kdWN0VmFsdWU6IFtdLAogICAgICByZWdpb25WYWx1ZTogW10sCiAgICAgIHNob3dNb3JlOiBmYWxzZSwKICAgICAgcGFyYW1ldGVyczoge30sCiAgICAgIHNob3dFeHRlbmQ6IGZhbHNlLAogICAgICBwYXJhbXM6IHsKICAgICAgICBuYW1lOiAnJywKICAgICAgICBwcm9kdWN0SWQ6ICcnLAogICAgICAgIC8v5Lqn5ZOBCiAgICAgICAgc3RhdHVzOiAnJywKICAgICAgICAvL+eKtuaAgQogICAgICAgIGltcG9ydGFudDogJycsCiAgICAgICAgLy/ph43ngrnorr7lpIcKICAgICAgICBhcmVhSWQ6ICcnIC8v5Yy65Z+fCiAgICAgIH0sCiAgICAgIHF1ZXJ5czogW3sKICAgICAgICBncm91cDogJ21haW4nLAogICAgICAgIG9wZXJhdGlvbjogJ0xJS0UnLAogICAgICAgIHBhcmVudEdyb3VwOiAnJywKICAgICAgICBwcm9wZXJ0eTogJ2QubmFtZV8nLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfSwgewogICAgICAgIGdyb3VwOiAnbWFpbicsCiAgICAgICAgb3BlcmF0aW9uOiAnRVFVQUwnLAogICAgICAgIHBhcmVudEdyb3VwOiAnJywKICAgICAgICBwcm9wZXJ0eTogJ3Byb2R1Y3RfaWRfJywKICAgICAgICByZWxhdGlvbjogJ0FORCcsCiAgICAgICAgdmFsdWU6ICcnCiAgICAgIH0sIHsKICAgICAgICBncm91cDogJ21haW4nLAogICAgICAgIG9wZXJhdGlvbjogJ0VRVUFMJywKICAgICAgICBwYXJlbnRHcm91cDogJycsCiAgICAgICAgcHJvcGVydHk6ICdzdGF0dXMnLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfSwgewogICAgICAgIGdyb3VwOiAnbWFpbicsCiAgICAgICAgb3BlcmF0aW9uOiAnRVFVQUwnLAogICAgICAgIHBhcmVudEdyb3VwOiAnJywKICAgICAgICBwcm9wZXJ0eTogJ2QuY29kZV8nLAogICAgICAgIHJlbGF0aW9uOiAnQU5EJywKICAgICAgICB2YWx1ZTogJycKICAgICAgfSwgewogICAgICAgIGdyb3VwOiAnbWFpbicsCiAgICAgICAgb3BlcmF0aW9uOiAnRVFVQUwnLAogICAgICAgIHBhcmVudEdyb3VwOiAnJywKICAgICAgICBwcm9wZXJ0eTogJ2ltcG9ydGFudCcsCiAgICAgICAgcmVsYXRpb246ICdBTkQnLAogICAgICAgIHZhbHVlOiAnJwogICAgICB9LCB7CiAgICAgICAgZ3JvdXA6ICdtYWluJywKICAgICAgICBvcGVyYXRpb246ICdFUVVBTCcsCiAgICAgICAgcGFyZW50R3JvdXA6ICcnLAogICAgICAgIHByb3BlcnR5OiAnYXJlYUlkJywKICAgICAgICByZWxhdGlvbjogJ0FORCcsCiAgICAgICAgdmFsdWU6ICcnCiAgICAgIH1dLAogICAgICBkZXZpY2VTdGF0dXM6IFtdLAogICAgICAvLyDorr7lpIfnirbmgIEKICAgICAgcHJvZHVjdERhdGE6IFtdLAogICAgICAvLyDkuqflk4HmlbDmja4KICAgICAgZmxhZ0xpc3Q6IFtdLAogICAgICAvL+emgeeUqOagh+ivhuWtl+auteWIl+ihqAogICAgICBhZGRyZXNzVHlwZUxpc3Q6IFtdLAogICAgICAvL+WuieijheWcsOeCueexu+Wei+Wtl+auteWIl+ihqAogICAgICBwcm9kdWN0SWRJbmZvOiAnJywKICAgICAgZGV2aWNlSW5mbzogewogICAgICAgIDA6ICcnLAogICAgICAgIDE6ICcnLAogICAgICAgIDI6ICcnLAogICAgICAgIDM6ICcnLAogICAgICAgIDk6ICcnLAogICAgICAgIDEwOiAnJwogICAgICB9IC8v6K6+5aSH54q25oCB5pWw6YePCiAgICB9OwogIH0sCiAgLy/ojrflj5Z0b2tlbgogIGNvbXB1dGVkOiBtYXBTdGF0ZSh7CiAgICBoZWFkZXI6IGZ1bmN0aW9uIGhlYWRlcihzdGF0ZSkgewogICAgICByZXR1cm4gewogICAgICAgIEF1dGhvcml6YXRpb246ICJCZWFyZXIgIi5jb25jYXQoc3RhdGUubG9naW4uY3VycmVudFVzZXIudG9rZW4pCiAgICAgIH07CiAgICB9CiAgfSksCiAgY3JlYXRlZDogZnVuY3Rpb24gY3JlYXRlZCgpIHsKICAgIC8v5ZyoY3JlYXRlZOmHjOmdouWMuuiOt+WPlmFjdGlvblVybAogICAgLy8g5L+d55WZ5p+l6K+i5Y+C5pWwCiAgICBpZiAodGhpcy4kcm91dGUucXVlcnkgJiYgdGhpcy4kcm91dGUucXVlcnkuc2VhcmNoUGFyYW1zKSB7CiAgICAgIHZhciB0ZW1wUGFyYW1zID0gdGhpcy4kcm91dGUucXVlcnkuc2VhcmNoUGFyYW1zOwogICAgICB2YXIgcGFyYW1zID0gSlNPTi5wYXJzZSh0ZW1wUGFyYW1zKTsKICAgICAgcGFyYW1zLnJlZ2lvblZhbHVlID8gdGhpcy5yZWdpb25WYWx1ZSA9IHBhcmFtcy5yZWdpb25WYWx1ZSA6IG51bGw7CiAgICAgIHBhcmFtcy5wcm9kdWN0VmFsdWUgPyB0aGlzLnByb2R1Y3RWYWx1ZSA9IHBhcmFtcy5wcm9kdWN0VmFsdWUgOiBudWxsOwogICAgICB0aGlzLnBhcmFtcyA9IHV0aWxzSFQuZGVlcENsb25lKHBhcmFtcyk7CiAgICAgIGRlbGV0ZSB0aGlzLnBhcmFtcy5yZWdpb25WYWx1ZTsKICAgICAgZGVsZXRlIHRoaXMucGFyYW1zLnByb2R1Y3RWYWx1ZTsKICAgICAgdXRpbHMucmVtb3ZlVXJsUGFyYW1zKCdzZWFyY2hQYXJhbXMnKTsKICAgIH0KCiAgICAvLyDliIbnsbvorr7lpIfnu7TmiqTkvb/nlKjlkIzkuIDnu4Tku7bpobXpnaLvvIzpu5jorqTluKblj4LmlbDmn6Xor6Lor6XnsbvlnovkuIvorr7lpIcKICAgIGlmICh0aGlzLiRyb3V0ZS5uYW1lID09PSAnZGFuZ2Vyb3VzRGV2aWNlTWFpbnRlbmFuY2UnKSB7CiAgICAgIC8vIOWNsemZqea6kOiuvuWkhwogICAgICB0aGlzLnByb2R1Y3RWYWx1ZSA9IFsnMTU1MjkxMTQ3ODMwMTAwMzc3NicsICcxNjUxODM3NzU5MTI1NDYzMDQwJywgJzE2NTE4Mzg1NDgwOTA4MjI2NTYnXTsKICAgICAgdGhpcy51cGxvYWREYXRhLnByb2R1Y3RJZCA9ICcxNjUxODM4NTQ4MDkwODIyNjU2JzsKICAgIH0gZWxzZSBpZiAodGhpcy4kcm91dGUubmFtZSA9PT0gJ2h5ZHJvcHNEZXZpY2VNYWludGVuYW5jZScpIHsKICAgICAgLy8g56ev5rC06K6+5aSHCiAgICAgIHRoaXMucHJvZHVjdFZhbHVlID0gWycxNTUyOTExNDc4MzAxMDAzNzc2JywgJzE2NTE4Mzc3NTkxMjU0NjMwNDAnLCAnMTY1MTgzODI5Mzc1MjQyMjQwMCddOwogICAgICB0aGlzLnVwbG9hZERhdGEucHJvZHVjdElkID0gJzE2NTE4MzgyOTM3NTI0MjI0MDAnOwogICAgfSBlbHNlIGlmICh0aGlzLiRyb3V0ZS5uYW1lID09PSAnc2lnbmJvYXJkRGV2aWNlTWFpbnRlbmFuY2UnKSB7CiAgICAgIC8vIOagh+ivhueJjOiuvuWkhwogICAgICB0aGlzLnByb2R1Y3RWYWx1ZSA9IFsnMTU1MjkxMTQ3ODMwMTAwMzc3NicsICcxNjUxODM3NzU5MTI1NDYzMDQwJywgJzE2NTE4Mzg2Nzc3MjgzNzA2ODgnXTsKICAgICAgdGhpcy51cGxvYWREYXRhLnByb2R1Y3RJZCA9ICcxNjUxODM4Njc3NzI4MzcwNjg4JzsKICAgIH0gZWxzZSBpZiAodGhpcy4kcm91dGUubmFtZSA9PT0gJ3Jpb3RCYXJyaWNhZGVNYWludGVuYW5jZScpIHsKICAgICAgLy8g6Ziy54iG6Lev6ZqcCiAgICAgIHRoaXMucHJvZHVjdFZhbHVlID0gWycxNTUyOTExNDc4MzAxMDAzNzc2JywgJzE2NTE4Mzc3NTkxMjU0NjMwNDAnLCAnMTY1MTgzODc3OTg5NzQyMTgyNCddOwogICAgICB0aGlzLnVwbG9hZERhdGEucHJvZHVjdElkID0gJzE2NTE4Mzg3Nzk4OTc0MjE4MjQnOwogICAgfQogICAgdGhpcy5hY3Rpb25VcmwgPSB3aW5kb3cuY29udGV4dC5wb3J0YWw7CiAgICB0aGlzLmxvYWRQcm9kdWN0KCk7CiAgICB0aGlzLmdldEFyZWFUcmVlKCk7CiAgfSwKICBtb3VudGVkOiBmdW5jdGlvbiBtb3VudGVkKCkgewogICAgdGhpcy5kZXZpY2VTdGF0dXMgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdzYnp0Jyk7CiAgICB0aGlzLmZsYWdMaXN0ID0gZGljdFV0aWxzLmdldERpY3RJdGVtc0Zyb21DYWNoZSgnanlicycpOwogICAgdGhpcy5hZGRyZXNzVHlwZUxpc3QgPSBkaWN0VXRpbHMuZ2V0RGljdEl0ZW1zRnJvbUNhY2hlKCdhemRkbHgnKTsKICB9LAogIG1ldGhvZHM6IHsKICAgIG9wZW5VcGxvYWQ6IGZ1bmN0aW9uIG9wZW5VcGxvYWQoKSB7CiAgICAgIGlmICh0aGlzLnByb2R1Y3RWYWx1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgdmFyIGFyciA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5wcm9kdWN0VmFsdWUpKTsKICAgICAgICB0aGlzLnVwbG9hZERhdGEucHJvZHVjdElkID0gYXJyLnBvcCgpOwogICAgICB9CiAgICAgIHRoaXMuaW1wb3J0VmlzaWJsZSA9IHRydWU7CiAgICB9LAogICAgZGVsUmVnaW9uOiBmdW5jdGlvbiBkZWxSZWdpb24oKSB7CiAgICAgIGlmICh0aGlzLnJlZ2lvblZhbHVlLmxlbmd0aCA9PSAwKSB7CiAgICAgICAgdGhpcy5wYXJhbXMuYXJlYUlkID0gJyc7CiAgICAgIH0KICAgIH0sCiAgICBkZWxQcm9kdWN0OiBmdW5jdGlvbiBkZWxQcm9kdWN0KCkgewogICAgICBpZiAodGhpcy5wcm9kdWN0VmFsdWUubGVuZ3RoID09IDApIHsKICAgICAgICB0aGlzLnBhcmFtcy5wcm9kdWN0SWQgPSAnJzsKICAgICAgfSBlbHNlIHsKICAgICAgICB2YXIgYXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByb2R1Y3RWYWx1ZSkpOwogICAgICAgIHRoaXMudXBsb2FkRGF0YS5wcm9kdWN0SWQgPSBhcnIucG9wKCk7CiAgICAgIH0KICAgIH0sCiAgICBvcGVuTW9yZTogZnVuY3Rpb24gb3Blbk1vcmUoKSB7CiAgICAgIHRoaXMuc2hvd01vcmUgPSAhdGhpcy5zaG93TW9yZTsKICAgIH0sCiAgICByZXZpc2U6IGZ1bmN0aW9uIHJldmlzZSh2YWwpIHsKICAgICAgdGhpcy5yZXZpc2VWaXNpYmxlID0gdHJ1ZTsKICAgICAgdGhpcy5yZXZpc2VTdGFydCA9IHZhbC5zdGF0dXM7CiAgICAgIHRoaXMucmV2aXNlRGF0ID0gdmFsOwogICAgfSwKICAgIHJldmlzZUJ0bjogZnVuY3Rpb24gcmV2aXNlQnRuKCkgewogICAgICB2YXIgX3RoaXMgPSB0aGlzOwogICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLnJldmlzZURhdCkKICAgICAgZXF1aXBtZW50TWFuYWdlLnVwZGF0ZVN0YXR1cyh7CiAgICAgICAgaWQ6IHRoaXMucmV2aXNlRGF0LmlkLAogICAgICAgIHByb2R1Y3RDb2RlOiB0aGlzLnJldmlzZURhdC5wcm9kdWN0Q29kZSwKICAgICAgICBzdGF0dXM6IHRoaXMucmV2aXNlU3RhcnQKICAgICAgfSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIC8vIGNvbnNvbGUubG9nKHJlcykKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpcy4kbWVzc2FnZSh7CiAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tZXNzYWdlLAogICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXMubG9hZERhdGEoKTsKICAgICAgICAgIF90aGlzLnJldmlzZVZpc2libGUgPSBmYWxzZTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfSwKICAgIGdldEFyZWFUcmVlOiBmdW5jdGlvbiBnZXRBcmVhVHJlZSgpIHsKICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgIGVxdWlwbWVudE1hbmFnZS5sb2FkQXJlYVRyZWUoewogICAgICAgIGlkOiAnMCcKICAgICAgfSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgIF90aGlzMi50cmVlRGF0YSA9IHJlcy52YWx1ZTsgLy8gdGhpcy5mb3JtYXREYXRhKHJlcy5yb3dzKQogICAgICAgIF90aGlzMi4kc2V0KF90aGlzMi50cmVlRGF0YSk7CiAgICAgIH0pOwogICAgfSwKICAgIGVxdWlwbWVudDogZnVuY3Rpb24gZXF1aXBtZW50KHZhbCkgewogICAgICB2YXIgX3RoaXMzID0gdGhpczsKICAgICAgdmFyIGltcG9ydGFudERhdGEgPSAnMCc7CiAgICAgIGlmICh2YWwuaW1wb3J0YW50ID09ICcxJyAmJiB2YWwuaW1wb3J0YW50KSB7CiAgICAgICAgaW1wb3J0YW50RGF0YSA9IDA7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgaW1wb3J0YW50RGF0YSA9IDE7CiAgICAgIH0KICAgICAgdmFyIG1zZyA9IGltcG9ydGFudERhdGEgPiAwID8gJ+mHjeeCueiuvuWkhycgOiAn5LiA6Iis6K6+5aSHJzsKICAgICAgdGhpcy4kY29uZmlybSgiXHU2QjY0XHU2NENEXHU0RjVDXHU1QzA2XHU4QkJFXHU1OTA3Ii5jb25jYXQodmFsLm5hbWUsICJcdThCQkVcdTRFM0EiKS5jb25jYXQobXNnLCAiPyIpLCAn5o+Q56S6JywgewogICAgICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu5a6aJywKICAgICAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJywKICAgICAgICB0eXBlOiAnd2FybmluZycKICAgICAgfSkudGhlbihmdW5jdGlvbiAoKSB7CiAgICAgICAgZXF1aXBtZW50TWFuYWdlLnVwZGF0ZUltcG9ydGFudCh7CiAgICAgICAgICBpZDogdmFsLmlkLAogICAgICAgICAgaW1wb3J0YW50OiBpbXBvcnRhbnREYXRhCiAgICAgICAgfSwgZnVuY3Rpb24gKHJlcykgewogICAgICAgICAgLy8gY29uc29sZS5sb2cocmVzKQogICAgICAgICAgaWYgKHJlcy5zdGF0ZSkgewogICAgICAgICAgICBfdGhpczMuJG1lc3NhZ2UoewogICAgICAgICAgICAgIG1lc3NhZ2U6IHJlcy5tZXNzYWdlLAogICAgICAgICAgICAgIHR5cGU6ICdzdWNjZXNzJwogICAgICAgICAgICB9KTsKICAgICAgICAgICAgX3RoaXMzLmxvYWREYXRhKCk7CiAgICAgICAgICAgIC8vIHRoaXMucmV2aXNlVmlzaWJsZSA9IGZhbHNlCiAgICAgICAgICB9CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgfSwKICAgIC8vCiAgICBoYW5kbGVDbG9zZTogZnVuY3Rpb24gaGFuZGxlQ2xvc2UoKSB7CiAgICAgIHRoaXMuaW1wb3J0VmlzaWJsZSA9IGZhbHNlOwogICAgICB0aGlzLnJldmlzZVZpc2libGUgPSBmYWxzZTsKICAgIH0sCiAgICAvL+WvvOWFpQogICAgaW1wb3J0S1BMOiBmdW5jdGlvbiBpbXBvcnRLUEwoKSB7fSwKICAgIC8v5LiL6L295qih54mICiAgICBkb3dubG9hZDogZnVuY3Rpb24gZG93bmxvYWQoKSB7CiAgICAgIHZhciBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpOwogICAgICBhLmhyZWYgPSAiL2RldmljZURhdGEueGxzeCI7CiAgICAgIGEuZG93bmxvYWQgPSAn6K6+5aSH6KGo5qC8Lnhsc3gnOwogICAgICBhLmNsaWNrKCk7CiAgICB9LAogICAgLy/lr7zlh7oKICAgIGV4cG9ydEtQTDogZnVuY3Rpb24gZXhwb3J0S1BMKCkgewogICAgICB0aGlzLmV4cG9ydFBhcmFtID0gX29iamVjdFNwcmVhZCh7fSwgdGhpcy5xdWVyeVBhcmFtKTsKICAgICAgdGhpcy5leHBvcnRQYXJhbS5wYWdlQmVhbiA9IHsKICAgICAgICBwYWdlOiAxLAogICAgICAgIHBhZ2VTaXplOiAtMQogICAgICB9OwogICAgICAvL+WvvOWHuuebtOaOpeiwg+eUqOaOpeWPowogICAgICByZXNvdXJjZU1hbmFnZS5pbmZvRXhwb3J0RXhjZWwodGhpcy5leHBvcnRQYXJhbSwgZnVuY3Rpb24gKHJlcykge30pOwogICAgfSwKICAgIGhhbmRsZUF2YXRhclByb2dyZXNzOiBmdW5jdGlvbiBoYW5kbGVBdmF0YXJQcm9ncmVzcygpIHsKICAgICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlOwogICAgfSwKICAgIC8v5LiK5Lyg5oiQ5YqfCiAgICBoYW5kbGVBdmF0YXJTdWNjZXNzOiBmdW5jdGlvbiBoYW5kbGVBdmF0YXJTdWNjZXNzKHJlcywgZmlsZSkgewogICAgICAvL+aPkOekugogICAgICB0aGlzLiRtZXNzYWdlLnN1Y2Nlc3MoJ+WvvOWFpeaIkOWKnycpOwogICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlOwogICAgICB0aGlzLmxvYWREYXRhKDEpOyAvL+iwg+eUqOeUqOmhtemdouafpeivouaOpeWPo++8jOWIt+aWsOaVsOaNrgogICAgfSwKICAgIC8v5LiK5Lyg5aSx6LSlCiAgICBoYW5kbGVBdmF0YXJFcnJvcjogZnVuY3Rpb24gaGFuZGxlQXZhdGFyRXJyb3IoZXJyLCBmaWxlLCBmaWxlTGlzdCkgewogICAgICB2YXIgZGF0YSA9IEpTT04ucGFyc2UoZXJyLm1lc3NhZ2UpOwogICAgICB2YXIgbXNnID0gZGF0YS5tZXNzYWdlID8gZGF0YS5tZXNzYWdlIDogJ+WvvOWFpeWksei0pe+8gSc7CiAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7CiAgICAgIHRoaXMubG9hZERhdGEoMSk7IC8v6LCD55So55So6aG16Z2i5p+l6K+i5o6l5Y+j77yM5Yi35paw5pWw5o2uCiAgICAgIHRoaXMuJG1lc3NhZ2UuZXJyb3IobXNnKTsKICAgIH0sCiAgICB0b0VxdWlwbWVudERldGFpbHM6IGZ1bmN0aW9uIHRvRXF1aXBtZW50RGV0YWlscyh2YWwpIHsKICAgICAgdmFyIHBhdGggPSB0aGlzLiRyb3V0ZS5wYXRoOwogICAgICB2YXIgdGVtcFBhcmFtcyA9IHV0aWxzSFQuZGVlcENsb25lKHRoaXMucGFyYW1zKTsgLy9yZWdpb25WYWx1ZQogICAgICB0ZW1wUGFyYW1zLnJlZ2lvblZhbHVlID0gdGhpcy5yZWdpb25WYWx1ZTsKICAgICAgdGVtcFBhcmFtcy5wcm9kdWN0VmFsdWUgPSB0aGlzLnByb2R1Y3RWYWx1ZTsKICAgICAgY29uc29sZS5sb2codGVtcFBhcmFtcyk7CiAgICAgIGlmIChwYXRoLmluZGV4T2YoJ2Zyb250UGxhdCcpICE9PSAtMSkgewogICAgICAgIHRoaXMuJHJvdXRlci5wdXNoKHsKICAgICAgICAgIG5hbWU6ICdFcXVpcG1lbnREZXRhaWxzJywKICAgICAgICAgIHF1ZXJ5OiB7CiAgICAgICAgICAgIGlkOiB2YWwuaWQsCiAgICAgICAgICAgIG5hbWU6IHZhbC5uYW1lLAogICAgICAgICAgICBzdGF0dXM6IHRydWUsCiAgICAgICAgICAgIGNvZGU6IHZhbC5jb2RlLAogICAgICAgICAgICBwcm9kdWN0SWQ6IHZhbC5wcm9kdWN0SWQsCiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogSlNPTi5zdHJpbmdpZnkodGVtcFBhcmFtcykKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICB0aGlzLiRyb3V0ZXIucHVzaCh7CiAgICAgICAgICBuYW1lOiAnRXF1aXBtZW50RGV0YWlsc0xpbmsnLAogICAgICAgICAgcXVlcnk6IHsKICAgICAgICAgICAgaWQ6IHZhbC5pZCwKICAgICAgICAgICAgbmFtZTogdmFsLm5hbWUsCiAgICAgICAgICAgIHN0YXR1czogdHJ1ZSwKICAgICAgICAgICAgY29kZTogdmFsLmNvZGUsCiAgICAgICAgICAgIHByb2R1Y3RJZDogdmFsLnByb2R1Y3RJZCwKICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiBKU09OLnN0cmluZ2lmeSh0ZW1wUGFyYW1zKQogICAgICAgICAgfQogICAgICAgIH0pOwogICAgICB9CiAgICB9LAogICAgbG9hZFByb2R1Y3Q6IGZ1bmN0aW9uIGxvYWRQcm9kdWN0KCkgewogICAgICB2YXIgX3RoaXM0ID0gdGhpczsKICAgICAgcmVzb3VyY2VNYW5hZ2UuZ2V0UHJvZHVjdFRyZWUoe30sIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczQucHJvZHVjdERhdGEgPSByZXMudmFsdWU7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBjbGVhclF1ZXJ5czogZnVuY3Rpb24gY2xlYXJRdWVyeXMoKSB7CiAgICAgIHRoaXMucXVlcnlzLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0pIHsKICAgICAgICBpdGVtLnZhbHVlID0gJyc7CiAgICAgIH0pOwogICAgICB0aGlzLnBhcmFtcyA9IHsKICAgICAgICBuYW1lOiAnJywKICAgICAgICBwcm9kdWN0SWQ6ICcnLAogICAgICAgIC8v5Lqn5ZOBCiAgICAgICAgc3RhdHVzOiAnJywKICAgICAgICAvL+eKtuaAgQogICAgICAgIGltcG9ydGFudDogJycsCiAgICAgICAgLy/ph43ngrnorr7lpIcKICAgICAgICBhcmVhSWQ6ICcnIC8v5Yy65Z+fCiAgICAgIH07CiAgICAgIHRoaXMucHJvZHVjdFZhbHVlID0gW107CiAgICAgIHRoaXMucmVnaW9uVmFsdWUgPSBbXTsKICAgIH0sCiAgICByZWxvYWQ6IGZ1bmN0aW9uIHJlbG9hZCgpIHsKICAgICAgdGhpcy5sb2FkRGF0YSgpOwogICAgfSwKICAgIC8vIOeCueWHu+WIt+aWsOiuvuWkh+aVsOmHjwogICAgcmVmcmVzaEluZm86IGZ1bmN0aW9uIHJlZnJlc2hJbmZvKCkgewogICAgICB0aGlzLmdldERldmljZUluZm8oKTsKICAgIH0sCiAgICAvLyDpgInmi6nkuqflk4HmkJzntKLlr7nlupTorr7lpIcKICAgIGhhbmRsZUNoYW5nZTogZnVuY3Rpb24gaGFuZGxlQ2hhbmdlKHZhbCkgewogICAgICB0aGlzLnByb2R1Y3RJZEluZm8gPSB2YWw7CiAgICAgIHRoaXMudXBsb2FkRGF0YS5wcm9kdWN0X2lkXyA9IHZhbDsKICAgICAgdGhpcy5sb2FkRGF0YSgpOwogICAgfSwKICAgIC8vIOagueaNruS6p+WTgWlk6I635Y+W6K6+5aSH5pWw6YePCiAgICBnZXREZXZpY2VJbmZvOiBmdW5jdGlvbiBnZXREZXZpY2VJbmZvKCkgewogICAgICB2YXIgX3RoaXM1ID0gdGhpczsKICAgICAgdmFyIGRhdGEgPSB7CiAgICAgICAgcHJvZHVjdElkOiAnJwogICAgICB9OwogICAgICBpZiAodGhpcy5wcm9kdWN0VmFsdWUubGVuZ3RoID4gMCkgewogICAgICAgIHZhciBhcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucHJvZHVjdFZhbHVlKSk7CiAgICAgICAgZGF0YS5wcm9kdWN0SWQgPSBhcnIucG9wKCk7CiAgICAgIH0KICAgICAgZXF1aXBtZW50TWFuYWdlLmdldERldmljZUluZm8odGhpcy5xcy5zdHJpbmdpZnkoZGF0YSksIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBfdGhpczUuZGV2aWNlSW5mbyA9IHJlcy52YWx1ZTsKICAgICAgfSk7CiAgICB9LAogICAgbG9hZERhdGE6IGZ1bmN0aW9uIGxvYWREYXRhKHBhZ2UpIHsKICAgICAgdmFyIF90aGlzNiA9IHRoaXM7CiAgICAgIHRoaXMubG9hZFByb2R1Y3QoKTsKICAgICAgaWYgKHBhZ2UpIHsKICAgICAgICB0aGlzLnF1ZXJ5UGFyYW0ucGFnZUJlYW4ucGFnZSA9IHBhZ2U7CiAgICAgIH0KICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTsKICAgICAgaWYgKHRoaXMucHJvZHVjdFZhbHVlLmxlbmd0aCA+IDApIHsKICAgICAgICB2YXIgYXJyID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLnByb2R1Y3RWYWx1ZSkpOwogICAgICAgIHRoaXMucGFyYW1zLnByb2R1Y3RJZCA9IGFyci5wb3AoKTsKICAgICAgfQogICAgICBpZiAodGhpcy5yZWdpb25WYWx1ZS5sZW5ndGggPiAwKSB7CiAgICAgICAgdmFyIF9hcnIgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMucmVnaW9uVmFsdWUpKTsKICAgICAgICB0aGlzLnBhcmFtcy5hcmVhSWQgPSBfYXJyLnBvcCgpOwogICAgICB9CiAgICAgIHRoaXMucXVlcnlQYXJhbS5wYXJhbXMgPSB0aGlzLnBhcmFtczsKICAgICAgdGhpcy50YWJsZURhdGEgPSBbXTsKICAgICAgLy8gdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cyA9IFtdCiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1swXS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzBdKQogICAgICAvLyB9CiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1sxXS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzFdKQogICAgICAvLyB9CiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1syXS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzJdKQogICAgICAvLyB9CiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1szXS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzNdKQogICAgICAvLyB9CiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1s0XS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzRdKQogICAgICAvLyB9CiAgICAgIC8vIGlmICh0aGlzLnF1ZXJ5c1s1XS52YWx1ZSkgewogICAgICAvLyAJdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5cy5wdXNoKHRoaXMucXVlcnlzWzVdKQogICAgICAvLyB9CiAgICAgIHJlc291cmNlTWFuYWdlLmxvYWREZXZpY2UodGhpcy5xdWVyeVBhcmFtLCBmdW5jdGlvbiAocmVzKSB7CiAgICAgICAgX3RoaXM2LnRvdGFsID0gcmVzLnRvdGFsOwogICAgICAgIF90aGlzNi50YWJsZURhdGEgPSByZXMucm93czsKICAgICAgICBfdGhpczYuJHNldChfdGhpczYudGFibGVEYXRhKTsKICAgICAgICBfdGhpczYubG9hZGluZyA9IGZhbHNlOwogICAgICAgIF90aGlzNi5nZXREZXZpY2VJbmZvKCk7CiAgICAgICAgX3RoaXM2LnRhYmxlRGF0YS5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7CiAgICAgICAgICBfdGhpczYuZGV2aWNlU3RhdHVzLmZvckVhY2goZnVuY3Rpb24gKHZhbCkgewogICAgICAgICAgICBpZiAoaXRlbS5zdGF0dXMgPT0gdmFsLnZhbHVlKSB7CiAgICAgICAgICAgICAgaXRlbVsnc3RhdHVzTmFtZSddID0gdmFsLm5hbWU7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgICAgX3RoaXM2LmFkZHJlc3NUeXBlTGlzdC5mb3JFYWNoKGZ1bmN0aW9uICh2YWwpIHsKICAgICAgICAgICAgaWYgKGl0ZW0uYWRkcmVzc1R5cGUgPT0gdmFsLnZhbHVlKSB7CiAgICAgICAgICAgICAgaXRlbVsnYWRkcmVzc1R5cGVOYW1lJ10gPSB2YWwubmFtZTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICAgIH0pOwogICAgICBpZiAodGhpcy5xdWVyeXNbMV0udmFsdWUgPT0gJycpIHt9CiAgICB9LAogICAgLy8g6K6+5aSH6LW356aB55SoCiAgICBoYW5kbGVGbGFnOiBmdW5jdGlvbiBoYW5kbGVGbGFnKHZhbCkgewogICAgICB2YXIgX3RoaXM3ID0gdGhpczsKICAgICAgdmFyIHRpdGxlOwogICAgICB0aXRsZSA9IHZhbC5mbGFnID09IDEgPyAn5ZCv55SoJyA6ICfnpoHnlKgnOwogICAgICB2YXIgZGF0YSA9IHsKICAgICAgICBpZDogdmFsLmlkCiAgICAgIH07CiAgICAgIGVxdWlwbWVudE1hbmFnZS5kZXZpY2VmbGFnKGRhdGEsIGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXRlKSB7CiAgICAgICAgICBfdGhpczcuJG1lc3NhZ2UoewogICAgICAgICAgICBtZXNzYWdlOiB0aXRsZSArICfmiJDlip8nLAogICAgICAgICAgICB0eXBlOiAnc3VjY2VzcycKICAgICAgICAgIH0pOwogICAgICAgICAgLy8gdGhpcy5sb2FkRGF0YSgpCiAgICAgICAgfQogICAgICB9KTsKICAgIH0sCiAgICBoYW5kbGVFeHRlbmQ6IGZ1bmN0aW9uIGhhbmRsZUV4dGVuZChyb3cpIHsKICAgICAgdGhpcy5zaG93RXh0ZW5kID0gdHJ1ZTsKICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcm93OwogICAgfSwKICAgIGNsb3NlRXh0ZW5kOiBmdW5jdGlvbiBjbG9zZUV4dGVuZCgpIHsKICAgICAgdGhpcy5zaG93RXh0ZW5kID0gZmFsc2U7CiAgICB9CiAgfQp9Ow=="},null]}